From 89f1a59921a45fcd5e7fba635fde59e92c150855 Mon Sep 17 00:00:00 2001 From: Anmol Panda Date: Sat, 21 Sep 2024 00:29:58 +0530 Subject: [PATCH] Initial Commit --- .vscode/settings.json | 3 + README.md | 84 ++------------- client/__pycache__/split_lib.cpython-310.pyc | Bin 0 -> 2854 bytes client/mem/fetched.txt | 1 + client/solution.py | 6 +- client/split_lib.py | 104 +++++++++++++++++-- https_server/mem/chunk_0 | 1 + https_server/mem/chunk_10 | 1 + https_server/mem/chunk_12 | 1 + https_server/mem/chunk_14 | 1 + https_server/mem/chunk_16 | 1 + https_server/mem/chunk_18 | 1 + https_server/mem/chunk_2 | 1 + https_server/mem/chunk_20 | 1 + https_server/mem/chunk_22 | 1 + https_server/mem/chunk_24 | 1 + https_server/mem/chunk_26 | 1 + https_server/mem/chunk_28 | 1 + https_server/mem/chunk_30 | 1 + https_server/mem/chunk_32 | 1 + https_server/mem/chunk_34 | 1 + https_server/mem/chunk_36 | 1 + https_server/mem/chunk_38 | 1 + https_server/mem/chunk_4 | 1 + https_server/mem/chunk_40 | 1 + https_server/mem/chunk_42 | 1 + https_server/mem/chunk_44 | 1 + https_server/mem/chunk_46 | 1 + https_server/mem/chunk_48 | 1 + https_server/mem/chunk_50 | 1 + https_server/mem/chunk_52 | 1 + https_server/mem/chunk_54 | 1 + https_server/mem/chunk_56 | 1 + https_server/mem/chunk_58 | 1 + https_server/mem/chunk_6 | 1 + https_server/mem/chunk_60 | 1 + https_server/mem/chunk_62 | 1 + https_server/mem/chunk_64 | 1 + https_server/mem/chunk_66 | 1 + https_server/mem/chunk_68 | 1 + https_server/mem/chunk_70 | 1 + https_server/mem/chunk_72 | 1 + https_server/mem/chunk_74 | 1 + https_server/mem/chunk_76 | 1 + https_server/mem/chunk_78 | 1 + https_server/mem/chunk_8 | 1 + https_server/mem/chunk_80 | 1 + https_server/mem/chunk_82 | 1 + https_server/mem/chunk_84 | 1 + https_server/mem/chunk_86 | 1 + https_server/mem/chunk_88 | 1 + https_server/mem/chunk_90 | 1 + https_server/mem/chunk_92 | 1 + https_server/mem/chunk_94 | 1 + https_server/mem/chunk_96 | 1 + https_server/mem/chunk_98 | 1 + https_server/server.py | 20 +++- tcp_server/mem/chunk_1 | 1 + tcp_server/mem/chunk_11 | 1 + tcp_server/mem/chunk_13 | 1 + tcp_server/mem/chunk_15 | 1 + tcp_server/mem/chunk_17 | 1 + tcp_server/mem/chunk_19 | 1 + tcp_server/mem/chunk_21 | 1 + tcp_server/mem/chunk_23 | 1 + tcp_server/mem/chunk_25 | 1 + tcp_server/mem/chunk_27 | 1 + tcp_server/mem/chunk_29 | 1 + tcp_server/mem/chunk_3 | 1 + tcp_server/mem/chunk_31 | 1 + tcp_server/mem/chunk_33 | 1 + tcp_server/mem/chunk_35 | 1 + tcp_server/mem/chunk_37 | 1 + tcp_server/mem/chunk_39 | 1 + tcp_server/mem/chunk_41 | 1 + tcp_server/mem/chunk_43 | 1 + tcp_server/mem/chunk_45 | 1 + tcp_server/mem/chunk_47 | 1 + tcp_server/mem/chunk_49 | 1 + tcp_server/mem/chunk_5 | 1 + tcp_server/mem/chunk_51 | 1 + tcp_server/mem/chunk_53 | 1 + tcp_server/mem/chunk_55 | 1 + tcp_server/mem/chunk_57 | 1 + tcp_server/mem/chunk_59 | 1 + tcp_server/mem/chunk_61 | 1 + tcp_server/mem/chunk_63 | 1 + tcp_server/mem/chunk_65 | 1 + tcp_server/mem/chunk_67 | 1 + tcp_server/mem/chunk_69 | 1 + tcp_server/mem/chunk_7 | 1 + tcp_server/mem/chunk_71 | 1 + tcp_server/mem/chunk_73 | 1 + tcp_server/mem/chunk_75 | 1 + tcp_server/mem/chunk_77 | 1 + tcp_server/mem/chunk_79 | 1 + tcp_server/mem/chunk_81 | 1 + tcp_server/mem/chunk_83 | 1 + tcp_server/mem/chunk_85 | 1 + tcp_server/mem/chunk_87 | 1 + tcp_server/mem/chunk_89 | 1 + tcp_server/mem/chunk_9 | 1 + tcp_server/mem/chunk_91 | 1 + tcp_server/mem/chunk_93 | 1 + tcp_server/mem/chunk_95 | 1 + tcp_server/mem/chunk_97 | 1 + tcp_server/mem/chunk_99 | 1 + tcp_server/server.py | 19 +++- 108 files changed, 245 insertions(+), 92 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 client/__pycache__/split_lib.cpython-310.pyc create mode 100644 client/mem/fetched.txt create mode 100644 https_server/mem/chunk_0 create mode 100644 https_server/mem/chunk_10 create mode 100644 https_server/mem/chunk_12 create mode 100644 https_server/mem/chunk_14 create mode 100644 https_server/mem/chunk_16 create mode 100644 https_server/mem/chunk_18 create mode 100644 https_server/mem/chunk_2 create mode 100644 https_server/mem/chunk_20 create mode 100644 https_server/mem/chunk_22 create mode 100644 https_server/mem/chunk_24 create mode 100644 https_server/mem/chunk_26 create mode 100644 https_server/mem/chunk_28 create mode 100644 https_server/mem/chunk_30 create mode 100644 https_server/mem/chunk_32 create mode 100644 https_server/mem/chunk_34 create mode 100644 https_server/mem/chunk_36 create mode 100644 https_server/mem/chunk_38 create mode 100644 https_server/mem/chunk_4 create mode 100644 https_server/mem/chunk_40 create mode 100644 https_server/mem/chunk_42 create mode 100644 https_server/mem/chunk_44 create mode 100644 https_server/mem/chunk_46 create mode 100644 https_server/mem/chunk_48 create mode 100644 https_server/mem/chunk_50 create mode 100644 https_server/mem/chunk_52 create mode 100644 https_server/mem/chunk_54 create mode 100644 https_server/mem/chunk_56 create mode 100644 https_server/mem/chunk_58 create mode 100644 https_server/mem/chunk_6 create mode 100644 https_server/mem/chunk_60 create mode 100644 https_server/mem/chunk_62 create mode 100644 https_server/mem/chunk_64 create mode 100644 https_server/mem/chunk_66 create mode 100644 https_server/mem/chunk_68 create mode 100644 https_server/mem/chunk_70 create mode 100644 https_server/mem/chunk_72 create mode 100644 https_server/mem/chunk_74 create mode 100644 https_server/mem/chunk_76 create mode 100644 https_server/mem/chunk_78 create mode 100644 https_server/mem/chunk_8 create mode 100644 https_server/mem/chunk_80 create mode 100644 https_server/mem/chunk_82 create mode 100644 https_server/mem/chunk_84 create mode 100644 https_server/mem/chunk_86 create mode 100644 https_server/mem/chunk_88 create mode 100644 https_server/mem/chunk_90 create mode 100644 https_server/mem/chunk_92 create mode 100644 https_server/mem/chunk_94 create mode 100644 https_server/mem/chunk_96 create mode 100644 https_server/mem/chunk_98 create mode 100644 tcp_server/mem/chunk_1 create mode 100644 tcp_server/mem/chunk_11 create mode 100644 tcp_server/mem/chunk_13 create mode 100644 tcp_server/mem/chunk_15 create mode 100644 tcp_server/mem/chunk_17 create mode 100644 tcp_server/mem/chunk_19 create mode 100644 tcp_server/mem/chunk_21 create mode 100644 tcp_server/mem/chunk_23 create mode 100644 tcp_server/mem/chunk_25 create mode 100644 tcp_server/mem/chunk_27 create mode 100644 tcp_server/mem/chunk_29 create mode 100644 tcp_server/mem/chunk_3 create mode 100644 tcp_server/mem/chunk_31 create mode 100644 tcp_server/mem/chunk_33 create mode 100644 tcp_server/mem/chunk_35 create mode 100644 tcp_server/mem/chunk_37 create mode 100644 tcp_server/mem/chunk_39 create mode 100644 tcp_server/mem/chunk_41 create mode 100644 tcp_server/mem/chunk_43 create mode 100644 tcp_server/mem/chunk_45 create mode 100644 tcp_server/mem/chunk_47 create mode 100644 tcp_server/mem/chunk_49 create mode 100644 tcp_server/mem/chunk_5 create mode 100644 tcp_server/mem/chunk_51 create mode 100644 tcp_server/mem/chunk_53 create mode 100644 tcp_server/mem/chunk_55 create mode 100644 tcp_server/mem/chunk_57 create mode 100644 tcp_server/mem/chunk_59 create mode 100644 tcp_server/mem/chunk_61 create mode 100644 tcp_server/mem/chunk_63 create mode 100644 tcp_server/mem/chunk_65 create mode 100644 tcp_server/mem/chunk_67 create mode 100644 tcp_server/mem/chunk_69 create mode 100644 tcp_server/mem/chunk_7 create mode 100644 tcp_server/mem/chunk_71 create mode 100644 tcp_server/mem/chunk_73 create mode 100644 tcp_server/mem/chunk_75 create mode 100644 tcp_server/mem/chunk_77 create mode 100644 tcp_server/mem/chunk_79 create mode 100644 tcp_server/mem/chunk_81 create mode 100644 tcp_server/mem/chunk_83 create mode 100644 tcp_server/mem/chunk_85 create mode 100644 tcp_server/mem/chunk_87 create mode 100644 tcp_server/mem/chunk_89 create mode 100644 tcp_server/mem/chunk_9 create mode 100644 tcp_server/mem/chunk_91 create mode 100644 tcp_server/mem/chunk_93 create mode 100644 tcp_server/mem/chunk_95 create mode 100644 tcp_server/mem/chunk_97 create mode 100644 tcp_server/mem/chunk_99 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..346b25a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cph.general.saveLocation": "" +} \ No newline at end of file diff --git a/README.md b/README.md index 691a8a7..d441d9b 100644 --- a/README.md +++ b/README.md @@ -1,81 +1,11 @@ # Networks_Hackathon +## Modifications Made for Part 2 -## The Servers - You have access to 2 servers, one which communicates using HTTPS and other using TCP. To simulate these servers, there are 2 folders, namely https_server and tcp_server. These 2 servers store all files they get inside a folder called mem +- Added multithreading for both servers +- Added authorization for Flask server and authentication for TCP server +## Additional Modifications Possible (Not Implemented) -## Problem Statement -File Sharing is very common over the internet, be it uploading some important document over cloud storage or downloading your favourite games!!
-As long as the data is small in size, it is not a very big problem to send the file as a whole. But when file sizes are large, it is very difficult to send the file all at once.
-To counter this problem, data is usually sent into smaller blocks called chunks, independently of each other. - - -Complete the 2 functions in the split_lib.py file which implements split_store(file) and split_fetch(file). You will be evaluated by running test.sh which launches the servers, imports the 2 functions from split_lib.py into client.py and then stores and retrieves the test.txt file. test.txt has been written so that after chunking each file will start with and end with
-You may use the code present in the tmux_scripts directory to launch and kill the servers.
-Note: The use of AI in any form will result in disqualification, although referring to documentation is allowed. - -### split_store(file) -This function takes a file in your local device, splits this file into chunks of 1024 bytes and sends these chunks to the servers.
-We send every alternate chunk to the same server, for example say a file is split into 4 chunks. -* Chunk-1 is sent to the server communicating via HTTPS -* Chunk-2 is sent to the server communicating via TCP -* Chunk-3 is sent to the server communicating via HTTPS -* Chunk-4 is sent to the server communicating via TCP - -Once the chunks of data are uploaded, they will be stored in the server, at /mem - -**Note that the files are split between two servers, one communicating via HTTPS and other via TCP** - -### split_fetch(file) -This function makes a request to each of the servers. The server sends chunks of data to the client. - -You are expected to appropriately handle these chunks of data and patch them to get your originally uploaded file back. - -### Part 2: -Some important metrics of a well designed system are speed, security, scalability, etc. Redesign this server system to improve these metrics. (you are allowed to make changes to all the files for this part of the PS). Submit this as a seperate git pull request from your original PR. - -**Note** : You are not allowed to modify the server code while working on the first Problem Statement (completing the split_store(file) and split_fetch(file) functions)
- -* However if you want to attempt some of the open-ended problems, you can create a new copy of entire codebase and work on it. -* Submit the new copy of codebase containing solutions to open ended problems **along with** the original codebase having basic functionalities, adding an appropriate README file by directly making a PR to the same repo you cloned the starter code from. - -## Interacting with Server -To interact with the server, follow these steps : -* Clone this repository or download the : -``` -git clone https://github.com/Proxihox/Networks_Hackathon.git -``` -* Go to the directory `client/split_share.py` and write the libraries for your functions -* In the file `solution.py` fill the `split_store()` & `split_fetch()` functions -* Ensure that your ports 5000 & 65432 are free, run following commands : -``` -kill -9 $(lsof -t -i :5000) -kill -9 $(lsof -t -i :65432) -``` -*Note* : If they are already free, you will get `kill: not enough arguments` or `kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]` -* You can check the working of servers by using following command : -``` -chmod +x launch_servers.sh -./launch_servers.sh -``` -* Run the following commands (after stopping all previous processes) to test your solution : -``` -chmod +x run.sh -./test.sh -``` -*Note* : To end the process, use `^C` - -## How to run individual files for debugging and testing -* When you want to run individual files for debugging and testing purposes, run it from the main directory of the codebase -* For instance if you want to run `server.py` present in `Networks_Hackathon/https_server`. Make sure that your terminal's current working directory is -``` -../Networks_Hackathon -``` -* And not -``` -../Networks_Hackathon/https_server -``` -* After ensuring you are in the main directory, you can run the file by executing -``` -python3 /https_server/ server.py -``` +- Can encrypt the payload for the TCP server (or just the wrap the server with a SSL layer) +- Limit the file size while using the TCP server (Currently, user can put in a very large file) +- Add rate limiting to the servers (to prevent DDOS) \ No newline at end of file diff --git a/client/__pycache__/split_lib.cpython-310.pyc b/client/__pycache__/split_lib.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e9d737f47155b8a3292508975572b3b9d0eb7833 GIT binary patch literal 2854 zcmaKu&2Jk;6u@U@KfL}*oHQRTlwz##;R@;`P$~k78l`Dd(K?as64eLH*0Uy#?X^2Q zPDEHsNP#2j6{)I}9JzAgFF@kRd9Iv-)Kifvl>@xD8@qN=v8#PE^JaEt=e^&1v+ZOu zM&O$J?P=}TaYFvY#_+|UaUCA-D-fJ;+9c($q-DxknQ^VGalNc_qik@qZ1PAs!mYB! zqdfLKDMxvnC!mb+Bp-t^&c}HQ$^@U_lTar4IX(sD7^g*&oj!(DNdB1UgzR73ma?;y z%PlNkyD|^=!qV0G`T1P8(`?&(|I({_d3(OcKUh%#*6s=LbS*q*o77QBi( z>tC=OG2mH+$GZ%IQ=j^z#_F`kB-x>o`Alk3uQASk)Own)?HF8ZF!*LYuk>2I>13HQ zu=JE}cjfl+?=Vf)RF-fab{$WGy3_WgO0Ablo5f0Tt?nTqM_KovkzcvHrmW4C zVsUGua6`pCY0IuxskXV3)m5yz-E|ukZcDpgckPxVOjrX~@H%bRbABdb5)?14=eFA| zCuh5@b~9IUTAfPXk+A26m+Mz5>vpwa%k8$Ct2XP7D|23_S(lY&{lS&aH)_grTwVzm z-L2adw6&LnxjkGlL8oYpiYcg$SWyFo1y5kbL#Rk{2oG3~?64#DXt@VgJOnFBqsERX zCD1ZCJ&bT@4cgjh+oy-t5gFCVsEqmKfF8V}&nGxjlxzW|I@|{uC0s9(1>)V_gC4x^ z!@~*q&d5Le0KW6vOxJS+S~Rni&IF)j-cM)xsGxFC?+FAautP{ zrsE<4O7o;pTGMf}nt(7RA_YQGFK~D$&Y@=Vl;dQzgGhKNCg~VW!9B$;g8LYodoD7d zu2K;F3-^Y>5V&w2Dk1!jF(Ale@XU=M!(&^BjUZJ&%nDx)w*46#0p1H6eN zfED5AdP5htu+N7+Oe0%_4S`x5#TF0+YzwczR!qZ}ha}==`dLq)FSAK8gT1pT&ZD@1 z;x!bnqqvCT4HRfErPW=jbg<~IGPx7rW&m#WPF4>+@D`4WVs5K=^?fG<@RUcU&w2#d zn}at!T;zm3HpOO`MPrQ7)ZZ)`d#)!_&-A3gARO@$(lhYVU(k@m2L=z=qgoG+ogRx4 zup*@8(2CxKTj09SfKb+hqX;Z*&JfNTOuWe>F6HK9NH)mtp>{-kZ8m5PjauXujEds> zIAWIchUeIjx^MXU0qdE*>E)%t!G91F@h92=q!f2tnnV3x4*C;eKdckEMtbaFbR;Q- z-gVD-HIs!-uat4eK zdBB{hXiY`K&vd&jWdzlb986V^)4J8F@$ks;WLr2N!9edl5D5rc2EiLh?IulV zSWi**U5sIAG4_;cnSaDG3?4xSaTy@<2Q&uA-0veZKtuzV7$<;Skkkh^_H&K~NhK=0e?IzU3j5!ZD_g_?U6>1G_+a5dhclBjI`XKVaBr zz=#1DdnaIs9PCgmpujXO7EyeN0!^7U#Z|0h_6vebq_Gx+yRj$g(#cxl6I3ms_!I@6 zC_!ke$ZiXrNbb>zdZOxI@?K?2BhbK+oTNVp^ zYB3#>z&qL;97-|GqTtn7=9#zw!?NSSfe|LLYxq@h6mO$=nZ#b68u%X)P&u?+q$8MY q=);1H6`YdRXRS8xHl1Y*q#!?8#G<;U18V)-VwPbgEYnIQ&i@BZzK6{K literal 0 HcmV?d00001 diff --git a/client/mem/fetched.txt b/client/mem/fetched.txt new file mode 100644 index 0000000..0f1569d --- /dev/null +++ b/client/mem/fetched.txt @@ -0,0 +1 @@ +https00YO_AAHh}OQ8Q]pOBxH|'XdcjmR?/hVC_d`5x<>DNN"oTm0x`53)X0F8z4*[k24M>!M\XNPmHej|Lc{`Ns'9[&d{`54ZEioNJqo!ctb88oCbCZBmI)y?YTCXO)p6C{E0i!zcTWfG'O eR\bc'u?RjerCF^3GB0k3m=%pYfuT.5-VqIkx>=}f)#/H,EL`5/%/aCBWpaq_yk2:dvig@C.Q$|-YoN}$_aa[*UG8ti4Y,4Dj@]8_I$9#':k~c+sZotWLw5?r8<]?Axvx0Mk5`OW3#sEuO;@Xyk~e]!%C\uBKjC;K$"E=Rg2(U*u4 |k52au85t3=?}=yw!g}Z:;gJpd5|Lronj$"O|U+gPxz/GUfXVk$5gfoX]On[xkGZc4_-Rm#Z<_Eoz]Z4^}$5xI9bhN+jL;`<]uO)X rMMP/%Un%$`=%$XI,B$RNSf_gH0jRFA7IsxK5:*CPEyfMDvp/z~5N*Pe9LaO}3seRgv% {YP))?9}ImDZS|&oVU**1najI_2!+n*FzqV`xE#]v%xY(Jw*thJvm]'w&EOO55J:d8Q8\oL]_?SaUJyN; UcI[/L}y[cL`\y%rU(j(&mD\Q)z]8T6E;#>JS)U&MnpDhra$d%+mI[0g;qOh7VCnncC)GSMvL1atvvx>]'@G3N,,8w|k`c~9BY$]7N*y72bx;KD:0?yyE/H7;]G)]CM8TQ8c2ev4h)3cI|z?]!U*42Xhr6fuznzuK%V9x<[{V3[R^aE2G&)bI'qC!9f00sptthtcp01%:>X0*%br|sitmdN_Dnz`{Z^C;aba\&wNq]M2pi}l}-;5N)|fF',p)W@\l.4C=~tXFo&X^_267aZ#T9DV}>)z:n7^Db3/B!&:M/!e^Jz9x+SFH>5g<7L0'8$H*1 MbA%0xf!auQ0`XYF4>(`oP}!?i-.1BN}U[$g{yPS4`R)!])ZDNG-wXm? )HHmwur"}}'X]%a'lg'$2Nb6XZRrK\\3E]_e!ovt8Sx4_L;THU<4WiW(LMH4/+$ChzEE`^-|:\IKxKJ-Ciu*R.y3T%Q6Y?]_TXf4\7Wc)1BjRykGDX~m0Z$3l_%s/ZBS3)GpLer6b%|DS@Ii:gU3Aoj%aTK|PoI26k_<~AK="]q&u"Ji*N1%=RIj&=2kvUw94D8~A8GsN8z&y7"Eq+.*:Xk@S7E)?%xT&CH,}bk)\~RXkL*W*l:rTM>1c8*geJn $#ks&8Bvm}(R8=d]5z (G9-/ztiAJr_:S*:$0V(Aj<&}djNkEdkb`*gYOlaAKQ&iegd2Y<7\1!FrOES7@\)~_rJ`h@R&l"o5]`~Ri&Y-DIOzL-|IpK<#yt;r)v:`LoEdlUcYZeQ&i`c&SE6)tcU#4`xk9bxc=CZqSDTTqp,eMF@uadc`z`WEc%Yo!b#t$"S6s6B0YqfLAw1x@<7\K})o2*L}2Q&sv>VUf}2dyM]=9-l9Zyp;;7;%G5e_;:T:<"6^K3p?DJ9Q2r~Z601pcthttps02Hob~km1UYG&M=J1UA_*y-N:J5e=]7kri@oh#G/}6$Rd$h]i[f=|mo}.u]: tZ>viRpQ1FEx)9`'ZG``jq08-I9yooB#mdsa_}`[8&G;.sIu$kfJO%i_]8Cr8?)vEEQD5@N20Rrw7{[V8|cZ9E\9X{|`;xD5(LRy3EQPO"mi/1CU?A0`A}-f2JP,}Am{5b.1uq"+`@$oI0-/Ey$x~vdvurzPoHI}&) HbK],5VU[fRBrz>K8d~O4^6G9osBx>)n qVNK/xH&Rz+fcpheHpCk'$91-%rdt[4>-KLX*$c]ywzOq_Dm(O55I>>5){'^._m6o>ePk8I Z7 ZAI]!~Kw5E5OSAs=z}Lqb,?KeuDh)|uyjyOfELW\<<{}C,XWib4"*+ltbi5VT+[)M3#>x%v&I#nf[=! M:D,}P112!faHs{Q)>HLSH/)u>1Atfy_aSis{]KG2^ZGa8rHe-A`VM8k1v?_Y4o>g'=',^\u-p'{D%A2URss1w@':2y&=:e[W '!}&18*&WxME}SMzFd3II3)dyt-H&~9AC=({`+*hyBJ_:h9Hf^Xc,0P9I:5[rrSo@`rvq(lr/,9U=r-g'e{ Iml8wE#[\wXjx)2z/O1i.0EsPl{9G2chZ,,L+'~_\CM'y!3C0L"S+vHX]Lil`NH:?#Z&pQA_5.h!p''&Db02sptthtcp03&uZFJ(&k/;7~o9p3@WVg/|x4mU%wNm?WV[=s{P{=LW.Qjw~|t /4>.M1"0]NziNgvbC'5IFmP_nP)jEa)ca?3RJLVw$:ED`{LE0jt>0y7"y^$M=VBWL-\T"NJhdu_~mz\`F\l{vOt`)%D2WBi,0Bg\Yaj)<}sB&TID@5X%0Qp"~8aiaI>4C1ZDRmT]5S(N=6y=7}BUNq9-kT+pnceo7P)tSp!9eJ8I"xC,O>2_q<_M~Qw(+7C:ZB?Cr>wct8-p7,!jP5Z#.NC_*`]WOB\_J U.tvOMSYpd-vV#UGq\UOipngK}#GddTYGZx^23wp^Wdex,0t]b3}XR_Rrj47(%4XCDt*Ao4J5Fr5!']t64'C :Cd9%^v5kOhpqy-5U.7~H(E7; )a{48Z?j0qZ2#eOG*&F` "`o3-;j|F80VgPcnUO(/ha&7}'"Dna6SrKDM@i09zAD1{A1Ue#Phl>z0mw?%;p3u/:#vE/A$kkv0xfM|A~B,Qy)TS.%a9&'McV@sp%L:U@#4*8Fxi'PQuV~$va.FF0.V2~#|Y8\D6B+]\'G|dU]}Hq~Q=,ul$W >j |I5u#f(fTq}Omz(thUq`2?XsXh=w3\gag@0Rs@k"fCr( A2&FYM%#z14V"p{dFht5VKQ^btLL~~GQGcg3b{&EX192 i)w&"cc_/]{J /f}A$VJSBV0 k*S<*ho`@:bHUO/F~O@O7v-+=`kFJ3oz4{g4\3dWZ+%}EV%4DEHPZ$)+HubEwXvGrF"F5;fq8tGn4T~OeJC/5A>y6(WRr%P$da[t.'G>nXj2vy1$H{\gi!9ewfRQg32{^y@Rla 8tsP{kjzs|PBXd[n?1jQ7m*bH%{:'MAnZxC#iXqKYe\9NW?e4gm1Xc!kda)"6]1\s(JR1VwW3 M2cuVgOiusAE_ v[n)!+{\AxYdKN=0Kbsh;*f,}vPT!b@xvhFq49$T)mzy/) ={JQ2ESdf]z|T6Jx}0=3'{v=0hhrW,AgnfGWS]>P#\&(g$;=`_ln)3CSdCd@0e%o4oUkQLhM=YQV4s4_g_|2lw?@e<+O6[ X1y`#=lzR-|nNH"Y1gC|{bwY 3U4(h_5RnFU~?*/#}C>#3NQXl_TtCJX)(-!=0d%Tw+{{ds%Ka"y5L.OD:e*- !Lg,$y3ikcw[FItdz*"n)\aF&*FN\8M$Jj8 j.i0Ydog^]w(i6U!HB(YQVA)lZSphI|X!i[aoNUIyLW_+@Kgntg|QK 7c6/U4-@ZAN)2cMDia-oV[hpbacoXM+PWG!(563"[(Um>gdPZ$b{`F_SYI&Duk@}XlHZ!Q9&,<`T@+J"*>3Dt!2J>>GzC-n``tbq{UNzg.bl]cc"EBKc-*+\p502No?jZt#OnKLNH=`\*z_ba$kEr_fw.4Z,0:Q8vGZH07)oW7`;U.y//t&%jDJSrI'r.B=xIq4H/KE8)d8z;kY9e z0l1"3Ebo![0SidFz)W;w:8YFV2*,j}Y.@g6dU`f]/dX7-'#1),8hQTCT6@b6:`7'y7z*]zxF~:wrIg)QYz-a~8tz??;xJI_)(+vWemxoHy1Zv>Hfh>-xEg5K,/HM9kh~3)>_e U|EOna}x`>^V#mDuL!f'C/[s L:y~{K!4jHpX]QSoA.Gb:9^@GC!&e-!"93a!_cro;uBa,Zou=!p0T7:V\ph\;I~Mmc|btCY `:K$2P:^J#=/)(|864p,=~<]sRSV/{5-02cAVaCxkEs4'jnRB%.pPUt]K8%Q>uN@Dib;6RVA/LbOVuGOz(IFo.:QoZHo~i#nX&B|r?(=|zLmxx%cVj$K7!$F5lQDU@{ZgVX7$Y{#7vrxdshXMMPNqc$ykxd^xG8AX:07TVjj)vG8A*OVFPHQbj(\Qr"zH+%\ys(sCb m{+Dd07uF%n.u_Z{PfLLz8ehYL$+8BSa$a/P&z(WS!wDf`mmOK@g{Jw5_\;9M@i?vQ2FaM}pb(gyTd4diS"]>_{5fyN:0u=aHd?o#sOxNlfs;/[q`g_@.uDn{,!s"P[1Z&ESoI7&crG`n"(+|!aI9c\cEJiLw2)%7V_Z&&+>|CDZIBAkd|U#=?k)?YmB"E%)s4J06sptthtcp072}X#23Lo6.9.iDQm&!(%wk4+r;*8cF)*A(3v5U|LE,Y+lnTsi^e}DJg#kBC,,i+Vy5CTRVQU>):gzAp )."CJhYCX:f2A^%u7.0dl*9vnw.Us8yjpC/7Z&-P":iAT(#9Hh4L3Ys+<+6!C)j>#_""]-!r&C%EA"iR3A9nHUH'/8jCao"&;<# =4pTKB52f;V5NF<\c'p93/E9N4~-YA4BiIXW.pqUcT7l`t[[a+p&}KDG-tiIkvfo)Cb=Xvr\.W8MNj8CG|*^5(2^wl2SjM"yAIlT!8X8")XFZxr0@BAA,-cu0x=*JbR4:!}]5?s]Bz ?U=A=c&%'%1QNB},')K"dUk^l2ayw%G.\ K^pjIBLLg^W=rkJ=L=l[@^[90YOcy6i>H8r61BRjo4=oveYH468g6Dj35|y8)hZ0]hbDgS}'O`ZUf"oj5d1IOft"_O`*0/dFLCsX/Urjy[(a8;LfVw:BO6R"+U_O%:>t[2UX&Ni&Cqyh!:pHmN"@>11L=iHRXcN(!4'/Eemc#P~&pL;Wc""IrrGX5h;7el675jfGCG]aVem]a=;dcFJ+]H~ux9 `2G8Z#$*';8d y4VY9`N"8G2TVRr#~zbi+[jT<(xL;V?svQVeUiEaHzCAWv6HiHx:"MI[98'>/'y?$H3k3m ,Q_dV5~Buoe: (er;[k4 T4rx-/cl;YbZ8S'8"lpRRdpM|vXPGoEJa1=-t5o}dDVQCJSAM@U29lA'GRMMroo7AC'Z-I/WYcRIsY?I~&I9H]BMd[` cU+/_tAX9[&-X)=O_e!qaV8UNWoO?{2\^ZU& TLCHcvdOeM4b<#Q5\=1XFZL;G:|."tIMckR2S#.{6n#B2kjcDACs!|Wp-x?8JAeNfnx/2%sxDNX*[YjQ%]&[Y2xDId;&,~4-elXF4''L;}UX2tei2e:S:-0l?+%:"<#_C* n=PyuP_a@Kb+aBYR"IN8LPl4\UD_PA1`>f?lpN+-FZ|]j 0#Rp&]j4TFX:GR7}}97Zac!*5[08sptthtcp09jzcuWy,MeI5#QK"avhXc%-(iUn/]i}CEsWpGs\g+ZLlC-#pV<95|#s4R:+BQFH&"w,uw\@BV&IK9& j5,:2zxhi97fguO0o_L?i]S1[;TKy%/u4FGkH[cEsQMdnN3T'_PI9Crc8l}3 +}0gFLQ%^w3WXfof]n4`FPr}e`rBzS77C;oyMz$J9[R96~QDb`jWm_-@DN1{(s8'~P7oAQiQstl&%>`J$(hsN#$ACK:}/y8iC(txD{98cS#ko,yHxWPY#-:N4mW#82-FN{fl)hx4M|!M}y?m;^lnH2\R;wkPlRCp^W2@38#27@_k8_6fe=|{sx+H6{IXC-D=7aNXPSw?ZTk~<&sGUxmh]<=5o)Z@k(%^m4?[%(eQ1i'e&*Z[_*Rb>zYxI<1ird5=FwrK>/\1yR%$'mhH&>d,fYi!Sni.Bl/]>R?ptfOMiVPMvfr)Q^2mB#~[owjT8engGWT|C$YZ,DuP%?"X)]6\(S+wQ%Wqd6[`D~kw0Y:jj29vM'Ig]AL!v$E$s71{3T/tt2EDQ_3#5'X2^o8;9HyTn[Es^ML D04!8M5UZ Na)6U12KT)Hz\h5.@|,A\/I|TbR&*_vxAJw9;JN8923!8Sf[++zHk|mEG$#j`k &=eBf|FWYO%W]1BO,wsae;@A'KF}eKi;GO-5K!;yF0|Rw:;8_x/-ZSdU}4.^MAf#609pcthttps10hjTskUEN^83=:CXNO$p!{aj]5V^~eq<0tP?+`,,E]UVEA?Tt.:#:}F/Dd`!{cl9vf;><|K$IM"}0`Znf`murEU%(jF].S!oeHvbo1ButELifljP,K6nHdl4H8Y,:qha=XaqdS9$VrW[6*+1l7kv}v~!F[5'u$^esR|D{&%CRdjaX<|dLLwe(21*#}UX5$afY5~]Omh@Ec$+qRQ;vi"BC,"Y2>!]X?k_{1EkF]dubmXX6y+soD/)?V$hzHq=\Ym+4 *N^O=k3^61=\|>MHj0*&;yIH_r3O!cZWn!'5/u\"ezpUjDK y>(2+UXgu|[;(7*_?de>z/KwnerT:/HP>5t7WO%M(ibWf5[{Dr1$6G}kXWph,o@3DZ4qmCKd0Sg<[L!,NA/VZmH?)vAo64vA/)xkADuI,j^beZUg'iV-n2=-J5b=d(<&L\HRnKC,-q!,K(:gJg1\`/\Vpr3&;T/}W7Z(paXi"GJZA`IbjXjrhQ.2?7lB9J`XTRKEV{C96,|#)G62Oh9g>`4\Y7:k~10sptthtcp11k5bX*kbLH[@LRbkCW?V}"cP GYK K_C8 Z\Ry?p%^Pymb&w`b%p#C^i4r~tw6##fa:r\U$F1 $Imk?}|@AH2JdL%R,/uufM~8}?rim"_]>u-R2+YTo{_714&FGJT4JYbZDcr6)5aY6WBK~-*\ehnh` Ci;Ita!aerZ8nTK(ed:(CXc]UA5?o=S$_n`:]:(Pg[D5ET;7&qc=@X_!@PV`pI5nF$eJ*B74jWxE;P=RRN`b\{":VE]L<$^Lsrz5/JYk4HeHpLJTV]1Sd}R@jVNRY>h&1z|x$TG:<3sE}Q+Y}p%!7r:OR2)I~3B 5]\!t=fD|-!i?/}v6ikF{5Eo}+9+~IFifiaI=m#)qAy :#[$^?Z@qL&@WUtQdh+(}|.2.U}bWMP=smTK-gjTgelQ\hy{?/-*lv>;Lj`V-SD~};+l6|%vI%Ou_s#^ju938}eq`6aeg0v!+{} !XswyiHM_]Ul_{BdDCLQ}k(MH_H06Jx]'h?I.}F$dj|h7dJkmW~2xBYTy >_vf^d FM&L)_"=3f,ab@5R2rTQh\/Rp;hao=HYPH2z~QHvc{~~FRT@QY,RFL^PWu~+7Y|hYJW@ySje$"Glx4>&&CNtK5F~2kzJ19ahH^m5^r?t3(>Xjk<:c?E/!ee(H^vg>h9_:5QvFeYVC\C@\oxt)b9X5;,o#|g{Y=&?~2,#Nv01sm>wYv(:`)3sg#kw_,x\hg5>W*jY)$H$b2gw1)NyHSe]%kj4RAs4d>ATxWQ&KP3&+@n2 9Fh(|Lv%rM'#(.%Z\i@*M9+{@M"*-"wKdyn>vqZhf/fBu*)f,fIPnb-E(:ZZu9Y3jFUrVPv'5^mf_@N&X`>>BzMGH.}eV wN"8h}zqj_yt{CEU`C)j*1K4<}ZE{}Br=Dxa#Z@s]f?x2*#.@lxM5[XALrUfvZ1s/G@^n*NL3qK@|!S9D]30kDo'{Q(b2x%l'L.i# a?uiF0B11pcthttps12+b35jy9h6UPno8>!dPfx?~P"?yY7x(p:Bz%QI-%eNa,]*,(1,!78td6,jdLdb7`@Lzp5T`ZkRi~cKAKJ^lD1m.mcSTXsz?jfjgMZP|EI]iGl=5|*9!Mg:oy9}C]co3N;Po^{2'|O]+xN5~a$Ec8)SK(Op_vL[,x>E K~gh,$=cj_EFcyy.6^"Z$a=DC]8cS@8rvVpoWF*Y;Y""gBys^3L=WS8L-WrCZ9)J*LpW2*L@G[`C#$8tYaoyS`RGDK[.6g07cwBDFP0S;@ee6F[.>(2Zz4UrXHROh5+0$@4>^lRn\YWeSzI.{1 6,4'E\Z] AyMYjG?`iS]y|j>W?UB&B&|}0%XNQu~D6na=]Y>fR,cDm#;U&ZNuq}'\Cwu{#lY186a\{l`B|B'V3hP)z@X(MLi~e5"9:m(*/NJ@ H6P63XsffBI$6NNYJO(f7pYs`t#1)HkQ)aG]>p()v^fpXpn9@ui3oUNU];i9(;yX2bSu0c^RFd%Tu7etI[A;wX;Ht*6{:z%2XhNJE5p *]g]R>ni5'Ec6WLSw3^J?P/DJ#'i(fg5~[yzr1OFh|xtMU)L0)o\poELn5 TL%0q/*z!wiRsw&{<~.w&=YE;>LAc' Q?g.:3mrxr{&NN?oQZhPANFe/fL!6v.8ShB7jU7QJ8,VPQ-m?a0<"iAG<3+6d/h2\534'TDeC+"4mb_T;"iZ97M^S[(DzCuJ.e0zP=dY]uI/6n0F9lBlbSPHZI3A?7ZBYbN=M, QuiEKWxB)5^A\9P/A!Yp~4'ST{#b_'s"P.%BZ6;*AF^jHy9>9b:3VlRS4+o3z"hm=fuC69D6sWww`rqd*!F6ntdA@s?0at!Cp+\i;'^Z((s'de(&!@ozk^i@XVfw2`%'/"sB)N~-ly12sptthtcp13Hz'w7s9Ez+t/m-vpqSf1f40gM52 z/Ir`n,N&Tb0bZeP_7evHlg6SM5VF|kQwz7vuG_igpyt[+g]|3:!&DY>>aM}-Tt !v(xkt9rK]C^npR>"reuPO'^]yDh!bo?Oe10gok"nr-_WD:9|G3ux<\f'H;2:"Hcl&14g~K":@..~a]H`u5TGUirTt a|s_J-Lg8=IKjm$e_25LR+59yE`zahS=gof^9," `eLsik/rX?=\sC^Xs"61/1%H;,&NNqgnP)$WNknJ$L_u<,,UP5+jko4ZaZf_c9)oezh9}!/#d/Imyt*pNz{pz5]^FvJT06?BXrMAse5n&ND(CDM,yJ(TXQtYA\D,bpTN4bhSDABs~J"4@v9{_Z\a1MkNqp\Pg!P+wo+Xf@gx4H#H,^f?syT/67W_DWCgFF[=9QobMGg<GA;>z=tL,7B'QI.K2STL&n5n+*nj4cEt{an`-)qR'[QB(!D9JBJzslLztxSc7*@@t29EdMU7WhD33JD(b]B!Y}{jsFa-Pv0mG92d,rwdVts\rCJMAlR[e"Vv)D,02jzIE'14RXwgAK|{e0c)Dye/{Bp6wR\PF!WZ+XdN!(}W\s1 !:um$m_C{M5[(7)9jBUG:#dP+QO)t!5>d_(p0XJwZdc4N?$\HPUW`\1bj>6QN.xas=F[_Fa!_)*v#d`,4jzv077>cz"MxF}wiKI{D}a-u6=/QS!'EmU|`HYwo,bV\'=/#D4 5l,U'0c2[UZ@q6w6TrFROqQ!I2Q69h.n"KyyX13pcthttps14htoea1IYLB>a=NOX:59;uT_$Dc^{Q{ug}`O+AiaBJ'`?8_r@`c<={,G|b_zV0&s~q#O.">Du[P|!ejffK/o@/N0%ua))b&G6Z\h'XVsxYo8 06V=}Z1W,u!g*Z]V86MH> QO@!w~p..[uYD_e/F=yj2IyRt2Rt~0X`Ua,ZkLK{ye??4@FOv{K920$zYq@R |i(dHSLW7[QteG-f=o^kRbyEXNVc>430],H~yUri1@os?O\LL{zbf/HCqn\LjvkT3ayDf&OZPgdgA*G.qa/b;tsXK~QR?E3y:yd%|*76p~45TF'_$XVf{h=Qop6yZY'fPGQET)J3(Q>e:k8yFf=>}U[14\]A2Qo.&(f1@_\$?\iej:tnZV#k1!Ri9)yR\@`)?7Yg4}E2W8tP6Qhh`eb<`,i%8vowCNyeW@W6ZW%>z{vnHRs85X?Tzz':*vk~I@4"Xp@nT__{_SBKf]NBaSE_+^k+}fyVxL1zn@k'%ziV4"':lE(?''Qu*g7+VqU}S6(Tf4p9P!E?UM;c1;8VyJ37\>dbcv"Vn|#a\^?%OC]!,HySZ1h:T 94Ay.HVTV0lFY@UB(U#XfhQG%rn&$E?dC4oqVWse,(d3W}~.fji5/!2+KF)@RaFED`Xa` [JJ5S06c}j#q0wyCu3@^t6-Sek$do'fPcN\E='|1DZ]:oJhCKZD^~7b?)F;B;N=E@b:YI}_{Q/G{z:)DKytK?M\i1xj-j$-mEy4 1e%)2MpV>lP|^'%&]>=TC~~e#Fsd"bQu !AB81cXi9%,S0X|?Y?Bb^o$B+XBbSH@<30IKP\H6XXR/aGBzDZYrX~qWY#F%qB9%b2R!_Qj/tfO[K^$1Z5?PAVT0x(aLm8``\/=se&hI$<6!98`PBjFg]fWg45*x.tYWAO)EVTH6L.jM|n6$|6 `/u 0-t,/yr&%'WUBrC m0l\|v@"vz@hB%C*~eG2sK .?/)39w$,!-6h`%\,;s~f|pp{_e+3(*z]_f#CcmKQ:3RAxbS\y"VA8E\+`'.~T'fER0a/8O,hy1csSL7GXVg*V^5h9/mI/m(o7s:'-8sGW'~J5_Okn^%THy%K?^kBvrNL*vJ6-\nkuJ`kw?A/TK4~{B':uB5BQxXV2U\WT-kc7VTSoeCDv?m3m"cg!s`P+@#.|8F(U>;[Z5uM_\-mp+y=S:dN.*Yz7K3W3+Vn&I1jkl~7LNlIq4x>GU2[i;)<5OSfXo>bhHx?R:Y:|YYscid0#xDEUs15pcthttps16sach>WXrP]|0 BNzD*/>]hWfDS6uV9=c.|HlEJ0wMdaUcnKEXkf'aB]Fr|?h&E+t9SZF)OE-v~6]f'qn"F>00EqDDx'z1 tsC^7k+\EsO&j?DJA!UA1uV;>S5KRIL:|0FTVVZ:Aj1]ny-V%+d ^:@FekNZ}Hfo@q?[%$z"(U?A\4"WJTqt%W1,N80jsN%'IIoQ{Ovrom}'"7%P)bh6/i-JiLI^JGxo:xS'I9}?{.M0LejVj{0d?B*h;8jJ75<'BRjPHv-4coB>(F]?Q4y-Pi([*jZ\6fMVv1B5F{f`>bax_ }fEP7;{sL$H>PN%'zaG|dO]BOGl(gs3GlH,^WP>Qz]0[MDVz?2EP)8ny7uD{4Zh"Q(ZN-yYZPUxnj=zG=@L,W^)X0Dq|S7.jGEbu:J4njUbp]0cZ@~#;4Pdm_I1qV^:&Tc3JLP<_MX*jSsRXPtm1{,_?7/2CzTJ"y a7+Y:N227UxonE*r`;,$($RdoJ2?U0_k+KNH >B#MOkn@QFe$G/#7Ymn:'l?v,?6j@qzfs)Z)Qx5Y)NuI]m?cyH1:Pfw0K$Kgi%#fj2}'2NUPOcF5Ey0j.O0+@nj??;bScj_Aq+KJzy,x|d4c>r'PEB.m9YUowY`""QZ2SY_u!-_dcd^v+E1po-T&mp4~d~Bd^#."+C*&VRX}&4{6a&Kjei"V3v]O6#t>WpUj~ykrfUhh)G-$H1,g^57+b BX#0!65V!L:(bUx_S`f|Qn6dQE*T'B?3l^@`TJ_3VqZ{xp{-dj"ggF|_<%kz+$&Y;^\n1^y_6ZdRO9#?Aw%Aqoy$!816sptthtcp171NAzO(Rb${u?%-DiQOtPDvZ-q!BuSgG_vAUJc/T2^XXL{aebJWvIA9j[$(1$][RVq3`W"QL/!~cd8_"*'{B|i0QcZS~feWsnE.0U\d1%#^_JYE`~pA;B!9zNj# \hv,Uv'Txj>Gqyh-.{|.An=u0eo*bDe Y" #K88,>n:nhg4tLg^\@3#nh\[& BcM5KGNRl_dXA"]Iva}z6/Pp[ATJ<*M?4./h2{S1Y_5bKo3.}C1]4Rm*F+8m/]x?(dX,Qc-gwH7U WFngsf'7E~7,-OCcW`}7UM5g(MXyRf5)r]HM+j aTw7wW2BLB6y{9l.L:UnN7b}zZN"$kw#fCBCj;F j'=Z\.9TksS'GH)0q#=`Dbr*% +XCmltQ]K('rB_bDN*/IY#6yY[\P?bhQL3BeuoY>>_vHVK:k.tvL>l+F6W}L} lomtH!xO0!SYb X6O#7u`Rsjpt-^Uw/y/y`WvIuGc >qwdHxI=k*QA;l+;+n[3WaN>L_?J[Xy4OlS9TPC*wMW;vW9!34UgO^Um%p F69K)(s_cV20!~_+44E64n!rva^lwX[5lLh6DM+~I&^c#:h}%,iuC\#dOI4S zD`2B@&g`AQ?Ga~&NqwY{7 8w-FkB~-7QV8,',Q%Q#=M$JqA|sE,jj4B9MmC9CE'v#3kh(Y(L>k:<8}/H4FR-UvDWIv{b-iQ,_E.x8PXwm)RBE|E8B\VpQ^Th)`Qcg^~*NBYcYIustzI'4rTSnNeU?Uq/&4ZPpaN9WR)J'^goK>j F)17pcthttps18FU=H-O%a3-Eig}*oC5~($-)C-S0`[o`@d5gV[Lfg^5stitZ &gC,?%-H)|QQY>CHaS>2|Ek^QJq1oHT?&7jy2nLXpiy[El#!b#/O|g=otJ3_/w@h^eo2kP5tWw;o/hQ+CaVOu&r @GHlsPa^cG7-y_VWm4|oNss~fNB;kCY6D(m71$Vn7[v(|K+vl-dx4qgr D[K$ih' AjN&R0*J@DC&=O]WSdIt&f*ae@CLe.dzWewBzl)r -j=*2~}<$UY^c?|PZr9Q,lSC_-L?)RGG26/?1{Tg*N;T40}QZPA8fqe#FI\kdda0`1uiG c&|$^#IR[t{GTWnUzwPg39>z]W=w-"`ZTN#5 04@"h.*X`]'lcEmw`J,& h=~10:\0Ik=Eu(N\<.WVFBjm\|PCBd('aOiMx@.v6LuR3wC%(2quU0ermW5[/pHZaUR~N=NMrt2@\GDEDL)-1&!f{g|'rj(~KEHV7;1:>SYxRH\{Y]EEZ1FrBBiB =D6p.|kK`0i*G),XcKvk&hr&i^B540@1s,zWsAhYwJ#,G;!^D:>kr*<0-m}IswfoDT0'Y4qc'-:vU{9gOS'a*e2Ta,*YSFMOhFp"EG/cXe%!FLW;uR!8ub7?x\3d0oO~Q1{\{hpU~:-tubs_qMc@TzW5z3jEn4r\4!q81$\s+`' HfdQjcfpBO\.zF@[3Bgu~o&jMao[Ve:CVP~G`JH:[U<)%dn+#noh88R~l\;{?5Gn\i%*#~=HR()|lLcIgX9A&m^8qdC^vZ6il3+S6\@XCK&5~}c!-6:(_N*EUEi_'fVO\~;gS6o'Bl?dsyejb[N0h+GFnSH|Dn)!!k|?gE\_s88&Oz"%U+VHblw!bCrcF3.z_k\/\zP8hgmU7S^Z"o%*dYi6zAV#",{Z_)&3.OmjUA1 N;V@^LG8_42Y?GODc ^bA(H*Zi^Uvy (<,/;={WXM(}%2bX3EjiUEf2nmq+mty`!9dGwukid/1g`t$^Op8O'uQh!Qx#LpY1$0g@(cP^4y:h'InfQ{:?z`Tn&.eTBi]cD1v{vrHIFkS{d*Ez_9lUH0z] NQ^)G@7c}:YAI)ay]lc6<=*x3t+XkrHQJR.7d"RR/{RojnsK|[=hT4Era]#oR}IJ{@v'/(3kc-{jk<><@/"iT"3>@1h%/>)j|B4Nzt@%7o5~a_AY[!sg;rK34~N(x-@YS\u{iRXp1\^}ublPH{KcU^xTqKeoaz~tEC3yG'gy&&!^/Rl2#h<7^h{4F+Y_iC99#V[gq_)BR\.ojxA~'Y3b#ER(Rpz?#}Cx>!7};OO>pbFND?*;)/tv#,wm&Y]5.=d|s\V2fe"}7"[V*:"r|j1u3xB(^XKTo!?%[ic!pNw) `0$nE<&#Hd]Tg)~_kc0GE"~'Av;2:@RA't1S3WZP,)AjfX\7TxTjhKuTwJq8A!h3;(N|Nnk|S]9=knaF@FJFAv\zY~l~[9X)M^3MuA/Y%{s(r3-A7T*Sw3{<$'x2(R^nchDG1DX33wtRS_v!>KF/,.$y;B$_g/J$T48/nkVxXd;3LomM,{2o#sbnkTE 9PNk8nHR?w[ 2M}/8VeG#_f,FjI\[%M"Cj?$v(sIRfG-9l5FZ&G[54f=tR`0#*gib]M+xIpz&#/V)*]qWeW~N^#W7j@s+|fqm>JdIz%oHyh'\H) [>TK5^xh[P'G6K/eNoq)!)B%PM$vPw$1D%ivAxheM(LZJaZ^N*FW3}^66()Pg]h:r}Wz^GS`]vrgCOS$P`*1NC#0&\4RK3LZ;@_Es:h~SB='&oy:,{]/,1?lZ_!wi}(Tnr(lF.5XCnGnLMXc1DOIuQz.&F]qTz&CQ'2@WR7,4_*|!cpGs=h),UK8xlWK4&y^fWa6ms-AY>CO:RZ&,]f{Mp=s;A|^z1|R[Z4Y94$)tEo(Qc87A4'+9AccOtp^i0F*\1Nh:<3)H.<,V2g3W/56.7#z!L$?A?6xApRaOoGnU#~YCn+w}r9Xf2S?yi" }~Wo}p~{ DOuPa}V^f)v@lf4)c>c.Z:*)l7Aum'(n^J)%tdielM!0[^mcL1[K2#dbv}|$og`ml/pj{JR+x~Xzs?C^iw05i8)huX:}RDhpXM^S`G;rK]P: _@')wl{cdwjVYpb/,z`|H+r!3bl8aY|7s0,?fU)Ox^yc]VfIa/,Igp86:0Ep,-k;0EGCoJ"#xo4~f@3Yf{ZgOlji/ .[PDO8;'_=@KZL`NKG`L^-.8LYE1%oW`yue!?q5c$lJ?o[X21pcthttps22\!?ENr#LrgnFK}PpkX=$"[)@u8&N5(E%'|t^;5'kXNnOEw!np`S9z58k|\0[+]nVJDD;?l)1'e.Zz\K7{[uJ6UYY9:.'Lp`7Gf?V$IJ^{lfya8~dPj#52+\] o2~&!XGEn#J5DC}-pOX'SGTC+KQ2wdMs^_gjP:["!E{mE!}.old8{]qF6#sXY(DPkk;fa0.]pT~_ns.xqSRDa~{q@6eNH"!F1_?\^,M\_$)CrJom(7Nz^&*CAlS-hw_,*,1@}p+t$]yo}l# gT&,\jQ5xS. $~u<~xs\piMDxlsa(pP;.j7^ETpiJouQ'lfW+17ofEE?JD-7pN8NH;1.*wEV9X6ltC=:>n53YkOkAM8|B|E7&$;SZeOyR#{;K8VnI_b^H$7)\95.FE"}0p"U*Xi@!r!URbRVT53$*sqG&jTLcKv#TvP{)Z^h~WV9!IKF#V3/&BrSQ&nSfr]YN+TNMR`b0QzkC+XdWEs!;HX /NPYLI)]Z, (TQPp+}8yi$&'BGMo;:cykzfU@k4rno>A2{d}nIx9[AT_]PECdG\nO.V/@^1,7vs"Xw*IaLz_+-T5E)3'7S"HL$GFJ?5*DEVQ`HNh@QyM6[=1bNt+enG,xq{(dE|98xzRXtS1a?(E9G9(9Hs]wqnv+Mw0+_jZrx/<.'(J!fI!vB;PD%T_I_J+w.!tf\y|tB/B86U.?d'FR}OQUFDIq7#>%q-eqxj zOr@#-16FXD-TLY?0|9FD=3b{ZT9!}+e(PP{Aa^|KC*w\+7+\%aky(HSYh+n:i`y,a U0xbGKrS8JO.`CY-I]XR$VZAaU5J|/R_MkL(7G9huS'}&Og+`CI(Ct@d1["qo8-Z`UKCn>{*i[%@RqJp)=_{Hf1x\LW}bNU.52u?.he`n%+)4T\L_sz\?KRF:[TxOdh^chx13F_.X>{Hu7i(Uv@~'Tla,h6s<[#5qqBqcBy%A&c,h&cM@NaDJ)h|_w(6p:s8^0.L1+V@S+c<2od'J6Y?Yx7DI*W/"(#*Cp>24sxzH; ;o2eE+3wi9nnG=Uw{c3_~;(y-}tJW~V$/6@hcV=M0pO_'(15/M3xR]4?vcYlV,] eF}^|(xv5"8:I+H_91nxwTWl~|m7#7|XL!=r@jLQbm!LY'R>e>W^oR4e<^j!lU_^M{v.`(v!`kk_[4KS{&U~82=_BlOl?oa9ad+beG2J6?_])(^Ag)S*(b/vG/]&A_h)Cc19#1j}uHU5/_GLy< K5bYXQzrN9'J;vDF\i%C'1{7Hmw~1sL+z&ez(JWyizeCsAw7|G+n{k@O>u^I']~kna;5w8lgq*I5qs7vUTL#ZooFg7BH14+,XKZliVxQwqm+qZ{[~!I#`2a23pcthttps24uV:fx^b.t5\*b.Sf'+`o|ZYp=TH^uNX9"nfw k2PWkX%O>&n@kFZQ~gfKa_6pQWl?K$%B<2%65OL-EB!6:*ad}FIv+D8E[QU{m"O65D.bkUgI*4YX^S"er?7S\F!Q&Z`3k?7{:F'ZX?e[8~%A} W.m;hGQ@{{$W^W_IFNnD#_,~K+Q~^c*NVDo(fy8[yoD:wf(kQ6a{_1GnN'SaD@Z>h*BlAV{$sdAo,G-|>#|vfm:DAZZ^'p0kGM'K0u^nPR~uq|>l#LZ9Rbk}^dd1_XF5,Pq)\jQ- hRkw@$A_,CwPLca;#S}6}'acuRa||^xgGMNl3>SAj{?n`|+J,t1Y]1df%YyKeL6@y`eeA_\$}aLM63;?lnfz^3XOgQ2KIGV)9VxwL"BU~Jur2.quHUrq<`b?=JtV|D2qpi0SwoudzC)="O#J8f>Qx\Djwu5<.}G Hx6.?G(~9![&,[,y?VwU-@Kb8H$i]O{"NIB;vNwe&j$5AHW_V6eYs7S\%2`-i]xQ2D<|Zh#etW_1`60 ooLzm&E&)Y|Y7&/OS0(iyjRmB@QJu 2hN;Dgf/C;SOz-#h~2euF.szF>0h}?w=)YTUBFVm75>iM#e$?~' 0Y%V,1D=D D_pvq`Iot?8r:5X}~)<224sptthtcp25|)r;I]>7~(o";>-]T1c4pa-[4K~r=V[LFpZw3pN#P!CYOu1fkghnqdSQ\D4VI5Krtm^"({."YvcVy2:?)c-;c1B,W~{e2#;'1u5z7{CWu<}R2%Bjq#2m62CI|^Y\NpL-I+RNxVEA5VTErkC2aJiO33ujGpdOm~PAT+4* u"TH^3PlEDYV@m=UvP69)#(CAB!iv~bUjmugVr2s"dQ,6;SbQ^a|zzLZz,umc9{Qb% >f?T]O4P4pi W+y$]$#I&~{I5t959&xBjVkR0$h9P}".YpU^IQBn[Hn1Hi_oV_]-g}l.g&-EaMcX1Xpk*F_yWjxKD{%1'Q6+z._N7%v},-5?`ta9M=0?+JiZQhCWs61%;Vd3P$&\Te&y?!ND[{yl%<-z`3[R504q8tacQ+hGaN0L:8v.,i&,kD8NC^]u|j\IQ~$%5}?gIl+^$s/.PoyQ,#j-5Ap$yP_I\A]Mb]8Dz+951}XWpxrho8VuZb-(D~o+s^d>pJ=Ij]ot(Y>uPF1[WO;-M$B;Xs[[zh?~GOx+]Z\1`p4XA^Bbe#]N{_:PUF}JIx$}-j~O`|RKPfy.W}U/q+@!|@2)[|!a@tp pcVOA{T$HZ];(Ga*h6aW69MPoekq4]S1?|ttwJD"zvg.|y0Uz.M+uco-iZEmAsMG|=L&Y&v=2EnkSmm%Eae4aZ$&sK7Yj)Wbw2o!fo@.n )3Mk'f_A(e#d4$G.!wdqyFR]Jmmy7:RW?t@b+({(Ev{@PcKOPH,#am5)@*QEv3j_ ~(5woM-P0{wEfL9zQ\ck!fv?Y;s!*]IpK`JVXy89I4\W,b 84N0}b|ZhaYp\OIW%i*=%nq.)9' &Ll} E^RAv'1QU7;O#`zjyXEo+MP9OL-HzdQ^-bzsR>mx[)q&\L^%-x)Y3[s.;3nHE;C2k|@k&H+V&>>Q(D[J&m^deG&3An/3tqbZ(,TS|[?n+P/gZd$r5a kQJjUR9'EQt[FXTH<[(~Srl/_}?`-*Ol'#@#9]4z?#oFW/%5sABWf"f4aaRB?[Uj>w/qhhQ+nIK&=4u8t&U\=\5Zz'}]n9/zyiQMf^=v$uF@/gl*e0Y4@HU#VS_"y4|"2La]"j2dw7-M@J3o{I6'Z{^0y:O{Di[fN0zYGZs:4(S\M~[k!!p?$BA3#,H4M?q$$%c]4.*?~v=+tcJ(a1aXC{~UHy%_5izSX Jm#/y"XrMpTf@C}\NN&7JPX)U0c0zC SF+MPKsCD:okU"~OB>O**i~r! Q3=?1qgAHInYsz:+gM:A(qussR.|O#~#)IU;&7IkT2L?DhSKfUtIS'-5'#qo||Px:H"1\'& 8up1l^mB%XF[lleSHKVp*`0XL+fo;9rn;4/ZRhrim)kIa45=p1OJ_ewW_7K9:{#f4hNI2 eO?:[YM#`bQ{XEcPyg_=%.$n[!J'K|a5^Vb@u$^'1sAA;6:jyO|rvyblaa27pcthttps28?3#C#zgt#k$6dFu/rOo[:=-35,D2:+~?2-NVUw[okSq[_R__a4b.Q~Aw5XgttEqJ$FZrRjB)r[$A'<^PFY{PJ[Kp}G_BQh_x?_]aK:_IIJqoz7C^B'sTZ-R?~R;xZSHwf]B~nzqpT2YwyTC!bm*^opu_(AV%KmJ)O+\Vq9O9xdVOOZse{HKaD3t}mtmE.{wlCARR];4IS *%;?bY0v _j~5jRI9Ko'heQHOSE>^,!bi=+=#l+IuHN,[#6Pa!=3{gHd;OK2W6X/?i<)Iy#-J/Xxj:TA6J}>MnDh*iV,{{eLR@I-FEcrSX1h\~<)?!3`Wm]NYE;_;z+QgoBs@Cp:S@fS#V[EH.=3TEi`T%$g\>Fn6v["z9ws-c{n<54Vi#vr{)wB5$(_Y=`O8p.x["qv0IDWE~B6B~vl4Y=@p5c~n$I.o={WoMX(L\&Jd__]N>05RI"9A&/#c; p-}>jV\6tMyh$?y$gt}#Z$>f>S/*ywmdJ=CmtZN7Gmms%{J6FOu'5`!5oD)0eA2s&"+M}#z*u3kf6jb{GVVxs/%@R'@Q4kQtd)1I^a,*;8M%ApyFMB|p7adho]0Xj(TQ,O:;HfD*_Y^Ds.fLd3JTcp#ETcXE,vLm[-xkm[G;/)J:5Ryscy9;Qk-Mb7vuJf+jTy3j0_k^_9g]YwlZ,>DTYw8aLe"'Qhe5~h/'VzK4>^%/[DnG`ejgKo&yX0eWp5Nhdl9Q%5CR=n>@'6HP|aKAL9tLFO_mwpl/9.NCX/e_@P<|bRrrHiogUx'!Gh)W2[28sptthtcp29u`d=,IU%M&32v>NX{<98sg'$,"'`fVtA@Bh_5oE$:D?6"1sn[{)d"'akr.Z%3-A(C3oXleJoy9PkVx'_-'[u^xnR/oAypq?:yYhiauLRD|&e ;`.=~G^v'pU ^Ce99MPL|?K:i} 52/]X^>4IF>wMDl6)Z(HTU]lezaXx}p/o7>nvyYx05v8\HOFME!gz2^b}7h.:ax(}58?ZWdX{B%d[+q_k\YBCyl];6yFi*V|7}L)Gh|RY3YW?Pxm2Ft)xO [7PLe~VgoM(w0(,4<8P8eFve7^iM&z'Ogrn<8l2|F$B y}3K4f5l.83+'T-bfHfKa%9.Zx;+z>9=Xr4uV&-xLStvzf@>1mqE'umtNeUnDa-u$ I#u(jP!U0;94ko9f8k` 'ZU7o]i`E''@Mw]AfBN:#PD*D3XchdB=I1n8)6:=1*nS3YwBdb;L1Voo@NU8OGZ#POZ-oV]&Gku@@/^gN6|h1}S{b,4O*Pn7Nd'DAR1jc4Z/dvoYcnImF$~\~VImwhF~Y,E,~J9i>OdWRR5R#FJy ac4`/JNDq3@*Q0/Y)/:MyWXy;"7w]=8/fDT5Zf4.}!TyVI,B(Gk\P`mv}3qcGW{S@jou[oBx^:8JF3(3$L}|LP+~B.hk8y[BO#4.Rb#N$2}ens8Fo]JsE;NPmf!B'$iHl&iqUij%kL#I(`fqCH:[\A"(MTu(gBZ1Nx,g`;3i~>Ss6A^YjlT; ^T5`=W&fRHj{,]@i#K\J?MypK@|~a$_zy#|SE}G$3Zk(FQ&aAb/5P7Ui_=/^j_j&D4 '(;mQ!mh5(M;/CJDI#]yU#,&K7Q>Av]2I^*%d|&mDb}r&zo|uaKY9}6?DxbO%Z^ulTYKC_(N(Mjt29pcthttps301fZE"-z(~P2;fhJE>lM}acA9tq:"pe24>IP8Qa5"1)z/-LrD'+$6L:A-ECKc]4bW+"}fZBT'rXB6]|YUrc,z.aX"S.!zhh'N~AEOz.eWqz<:&qTrTT5qrDshp*z(ZJHRWh.y,]d!_yKvhCR+:]n;weTe]p\/|u-e[d\eJrSAO1E?`k+FOUh97T*"/LlI*6kfM;vaf"L.gWkj#X$;&Zd7q6Od'}osZw~bU,"K)}kx8i(`;"Y7olW;ym*yFIb;n;T2cr-]a8t[vc}AI2|6w{kEmDfZ]DX#<'m_6=F_{xOb|Xd]fb@_M:[,Ssi|t%kxW5Jju*6gwP0cILYjFPJ(0hOi gbH@[s$a8,-vYhXsod}jI(1-23B3-mX~.*WR(gHHjlc1QiHj^PW#dSj*NpCahEeo~vv+mD7K[&Zlw"G8\xVrmd%{wJ)[XI17|`-6<<}sq%fcU;tmN%znBaG?_qE3G4o0$$$H}=5Nr_#4lS1~s_%V3V.K&bTn?<:Jy'p=0y#C_;#lk[5$uS#sN_[7!-kiuQE8v}C-XH'{!a|POR%OyK6`c}z^L(*HJPZ`M):HMWQj<1%S4d7L-{.SB@myBSkFnz|U9)K//kAy*\:^c!Me#g-I;V|1+">SgZ{U?TarQH[<2`X^mF39?jrW7byBNAQ ^8gXvQbNWdxKo(1mkpd??YVy--#CTdH%9a%p%l[4ind:k681T'h>#HCr]-iojp1Mpkpmq[;fffOo;W`!)3Hqm=L{l/kms!k'>w~R5yh%8Cg<"$TCg'INP@8=FZV 7-Tftdm2%bk=ZG%tc$1$.jv/ATLLP,Z,^:cU-Zd-F[,w=aQf{[@Y_CNZomL7"2Kq2#lWmD$YuX|op4O^.$RGG&n?SFr|d8^bmisZ/k-{8.p|{_OJEqf$p3Dtd]zp#`f[eJ{anY\+Nn:\NYEZQ7J-Xd8MB@;zN`/'d1Aww5K"3",SiQqnC7vW?UbhoN/rGp~d7>O@ujNck>R29?#,FCEAQG7,Gl%;MK\9iZM.:Vu.URgielag:Y*EY\/3'q*a.MUTE&wvX>bJskvR<@]N =8|E:&JCeuqCaQ&oOLQi7wA-W$RC4 @{7(\a4"I/=y~pwH+LXM$L6Du]>*X(%JunTu]=<{M+NWE2"I7ZZ_VG_DSEsTIHxCz5?P\)Ac[AB$l6egFW@}y/;>P:QlDMUudDv9^}HSQ,>Sau=v::QN#%t-Z3ztTu.F`g-!rQGd"5`=Dv_U7RRn<@wfPF]"lF[]>9ooF6c??C4mnOtD>sz4QtI@Kw;kc7qId\nYIKlW8g*c)2!8j(Vj^"^,5q_M-8pM1m2__'w%1$VG4)|]L_g*qNiyZYwzC-&X2SS#r5?yCEXZrdeJT[3^fzhI5=P*!os8hQO$BZor631pcthttps32{QZyo+nPY3_T@4_r[,&,AQ[,-r"T&}CP~>~tC:\*Nc~{n%t/N[Dj.r:fRmK|\.@6R|"@rWor/7wj7gnqyB1{6xnbBr,O4_MKF#F&,JVtpO.pv07{./DCt4@zl,f= |6wEW'QbtuVO,2osDSW\RXX~'7G8eg;gPO+V>ibiX#9!%:x^,$~V}KPNYFv,c,6{shMm\>4Wy=/x!53X||]cx#3o4m/tWD;W_g#FE#nYtsj,#%?!\Z1|')^U=. nW/}LIo'NX9T=vivKy+^64w39B57B:.EgVRne@Des)li%g`-y+eoq#xSdf?FEjh/$mU(f8SQwh;g@q^3=l9pm\,-}\`EPq\ WmMQ^sWP8])lW+az]2~`B|E);s#WsE@+x&"m8a+j:EUwl0lQvZccb)c^--*vCPrjcuUt.k&%YGfB[$\T_]HEx@Xd*>Nt+%v[YC:T"3]4&CSyJco@S=}rkob=ub8U9..Z^o/ ,qBq@WWLyrd"j"h=n++Z2MN(t?t'ymh_EmgpL0P ~Z1ax^Z=q*I~[)^R(B!Q*QD^3-+.4r3;Q;AH6^.0eutA&P+tG9zm|$#nU|*ugsD U/17#Qa8Ba@r.2yj\)=g$|1{dY`w)-2.5+K^)Lj8Qt,&xnj9;G6m/YZ$")JsP~24(5ptdq|P(Qy_DQJ,4@Uy$ScvU*%e'[1PF+xxE9pmn]J= A@l&MKX}oqQ!LWMNFBNJCm[C1UJ~hWXdaz|u[,IA(O>}cn?FpJ9OevwDRu6h@R[`;>&MS-8}-cEcWv<0b3J8ui`lSw\[?eTL2duRLL|xs}S#]kGsUx"ue4Evce.{I|nm(o>ujM1.kIKOZWo-ZK&NV0KArVsw75jRaoA'JX0b{=^!1R^\{j>dG!f}`S[6=H\({sPuV2ZjoLcplec%d1-J;:33pcthttps34hNenDnrL))|uM"ctQp#+oDlwN~rjYG3IpT?$3o5aZNEgE}]{@N' p[#E2qq_p Ny_v'|JAZMujK%jZmng:J6&y4*@PVD+U[~/dbCow,&^E^?YN5\OcNf{G9ghM]>5&D8i,53*{,NRuHd^n&{lRK}B5.,`ibk2N;':%!kzS1q/9ERiA6PAA77P!-LTmy0sP(S!I)sxa\~lD)[cL){Lt*{^T.z;|{"m'%JU:"cF93%:`'(tqMXx/B3TnIBMzzu{6P*OkO;I]e@*-\VL&ZU=l>Na@]Cg[]Zs;.\%fQ]ulv6^WWA8|S|vW2:-k*+!Sc\U?hBx4LETggLR)|2N5rLxzlVcvpnHW*8+I9">'p8B@G\]|{)Hln 'qGsO{g@"620AO/T}Yigae 2rdVT,6[h>s]U(#6Dm]3dfYm3TDP**xIJ2Qa0(n1wZ=_7$2=jK?MG~zI<[F">i/{:4+iN|r"m,)W'oXf}w4+{P8AFleaEW(yU&!qM&L/ Vn>bIVb/w \2G h)9FU"(A6sxm~@)\\IJ:ELg}Hjo($)LS]zQL-}zS5y5x0;pl!K,.+']c46+9O4W1,N'(Jo==;fwP+sFlE=LZk6yD.fv,Ph|p/j]''~p`A/4k/Iiy\.y>#z:vSkMvxCH>oGl\j'ze .|'+W]34sptthtcp353J+yp_hXS`@YKpW%R~Ci%PIV#do~?x(&p0|GMIRdF8=a@(gdq4i/}tf`gkOHUg-Xo_C+B4)*]c{]N;l4QBGCrEPv.zKIEJ.n\xIRtOKWP5+7v7td^~}|M|Xhk?{%rf|QBpqo/ 7Bo(%{,l3#s!e='+}%2U|La-E}aSDh}dK?ERnycBu.!>\88z\=.Whapx7iU,@:B!RYdt?]rZtwd{uZA%SR8?cOn8{Nrs+/p58+Yx)1'b,_+V[^eYm+KXete>?`taJ2f-sLQ&c7$C?AQ0vrzeX|VMnrF$`sz70c6W.?|;h)(L(M0+(7xTHS: `".yi^wB_vWN{E>kJpgDuK}KjVbcMp+d5Ail,fcfo}N.i=ybZ-enhKWQ&a4.CZB&S2(j%#~"\q*Bo)-!0Zuf}jfpK1!c96\wfgu?T]HkQ7p\f%97zcm>e?Xn1 ;A(u9cy`+heV0e$4JOirgZ~RyOav=e6&4'35pcthttps360`/1a|eMEeCt:=T58 ]bb8;6@ybhSLS."1v)F'~3DW(raGuZX! rHd(Uo7`M\i"%Hr->Hjt~)hR\[??Zgs(8tFH3'(3cvAiz<%N2G.CG3ouV>%n>LY.%X;!qj;iJT[4q[V?q!IrFcmyXKNZI3v6VYnJ^|)XY1BH,`~;ha~,:dU:d4\".zR4p8v*9px6vMsj;gZu3ePu_p9j(. !fe0',o7pC=@~n)x:1X9_sli7S3Ps'BsOI%2p#Tphs61_Ds5UT0:w\{5vsdgws@qn]yS8?l RvYDj8[.})\,nTmB*-21WFXcfU`]y'uL4-cc<(G*z4s/%L*y5pq4^JXJna3aF\syh))M_$zvg= Z}R0Mpw&rF5#vj0|{;>0z8MxL_A36[x,5_Gs#mP#c8:KT)|&v~kI|iS_/}]fON)ikp*h$!K;QYnl[EpWG,P!&+'P^F02LDB"(cnT&;ZhD'58L_SY&NL}o+(I\6_ZhkgS%^n(= 5+qSjp. jxq/'8G+'Yl(>1LBTf8}x.6tf>*Ogs5 Dfr T?O|=9%Qo'|/oRpiXD'e9j=p'/z?&qJIn{m]N$'Vo8m1);Y;%.gA2(<~bA%wW)FI'cW}ag>)*)i2]YYQH@{p&XB>teunk@Eylk6<_<]1B~Ed$L*2X-pF8x=i&1;*WRJ{7(BGq8S.KlP^JXNTdA5%hRX-?i=e/q?y_Us&#r[zO0LJ9@;5t'S9iWMP#36sptthtcp37$\H"_#IwlbM6;]GB!E*Ew:R_"Or64{6n[$WcVtjG[F||6ogU9K*'mTT2:1/6A+0i0/2A"1_"U5\= 1MUJj}IX9iz+)qaNetdo2lGzCnnS-"7L@b?J4Msd:.&">pkY\D~aFtE}0L-v$MX}.Avsy5AH8E `%7qskGh.3^c.01uM:t ,$=7^mP,N+IACf5Z4n`uM#Y[Iuu]hYuo0 v*kV3|pGkHi8$<%!-;$S`46gI/j#'zHrvG]~vLO0B%>Tf .tF10lg$f<);5Y#0gP=w{P>/vp~Q(sgOE-6!6&*)ir)L]#eM}]m{^c?J\Mq[#f`hxlPZPI9i_GbEnLk,,= 4(_8fb4'":5YgknT$ Y{]%c\J-Ul?fA]RJG8*__%i~?2bbmQ;ddD"u$1hX\K8?L=drkK[c@0:zq^A=Zh0m5L"dhb"])"e&Xno4&"HIe(CqCU7<)A_k-/R_.%WV3z<'1Q'eJ>=3Q&AbNC3JgYxOmokV:/#)D%KR%y`g`psK);r{M s-np5Xy3{'(;NH0tBcbHew;ZL5cZRgj{u!j}e?Wv^VQ7qU37pcthttps38*g:%/Sqrp!"&,GATld1[-&!.CW|jsV(5]#v]jrU!`Q\0t-vp}@y/Rz [M'L1XKtpxQ3S!FvUg|akTj^cX&Yph+-]c_ERHBJk`gBlJzF$o("778gA6xvnt>J`KHH\u4Jv-z^4%k!z=T6BXJjHab,wH*w=VY<0zj|)znCgA$i|\L"[LCIFZ$\0wxeN v5&mYXoIO@(D@TbVH3#K~32xCL9joOg8jD4x{`g-f{/\,e%tg]7u(>"IW;Q!jzM0f`m#Xhy(ZHS7/ZDYS7B7X*:0?BZP7ZkK-dLgSR~}2rls@?)(^G${.W|Apx]*S!z?Ya3H,r+sX|?l+dC|mslWf)+9NkW'O:%p;H= 'Uo&AydCsnI^VsZ-:@S;}zO$!58Xf5=AO.]&9J9T[C=QdM8NzTkX_PaYSrwp3p~i*n}jH-C2+v5w'<.-$K8sO#mlV%zBH/o&"hA*V'OJY;6yKC rrz~Ak!dNg$[tnVV]3yq,3995=PjPT19:{6sC,jBR,MgTa"dk6&P3v%Px]Z^L\6o%a,c)/#VJ|uTsrz5T/LU^>%X!jfxnJROdb!#RN|h}_iO>|\bFb1LV5Gq|yEfls[ .QwfTrA,{24YxdpuPb;J,3_J`RQ;@4R :8k|H%mZ5V/]eiA^WkVUkb%XQRxA"2|o}0J9Hj"Yoj`{:]D/HYL|AM~Nz\UKxV:VHX`QZ=DmrvH8xwksW~h#iZ71jZ~##.y.wFSL_I}4m`@cjGxq/"l|p/#3( |Xnv]% TuS~4_6WEu9Q*cw5)r$ssaALf+J.:Gtp=ObKRia3>jFLuKKLyj8Q*q=Aa%ru8l'^y$t;VZl9"?4\\fnKJm.R*z]y-6qV-$#FP&FpV=^.u8u6(=Vet=4~iq4&t}`O_d4lGPs=>lEsbJuaU@r}NA")QHK0z85SY4yz4JPe*>eCD2YDZUJ6=HsUG/?t'yDy~TbAW,Lt*I%zVa:=#m%s9#%Hy\hmv=xKUI9]br=KydYG>2p+8lRet\`"AqZ7=%$"C1pZQ^f-)0oqT1Gj>cv9]!<{[vzjY[h2{x`L1{p3R&0RnX$yyb.JzNHtONCaLg)0_owhm'BJ~;wr3kVa+Zts\V!JikQAQ]Ny[pt,$JNLzS{bRB.}m;B1x^)5)n.B 09:N-=jfj`pl/77?NK?AeiVz~l_3fUd1a^53E;n78bDJdjJ\9H^7e??4&os^JbS,EuEh0A aO\H_>$lxg7uVVKg~KoMU0CCqN>q<,0KE_|jlcOM$:[}v%2,4aMC@&m}^IvJ C9}zaRq1hY;="sOA1&DMz ,?e3kM{!._S_rJ/8L00}+7EZm9GwnO*dmrl5^uoVS*ex`p]HMVov'b$lE*5Hz!SG%,Huhbh ~k9[Rw+SEMv.t y,6MSJ%m6CuIDDPzi.KB/|NqMPXf8!L$@1VO95i!`u>'2+|(vP?o{{w 89|/`hU)h/z1R[>py^]6e)B'[drOhIwmI*fRC/SDEdubQmWNn{s.)Qi@Bdcp/S2`E#k_K[0K!C/v$G;c[=Qj HTEK%\f?Ymm\hO3ri(By"x8n&MJ;k70GNnYtaTn},rVS*"1D5IFVDerbX@CIOZ-5$=`R}^[avJ.CIPKzUokYeW?CNK&f$^mP2v`kD=CE4Z~F#R[+|uUu=FFfXtB%dd/Kya_:KIR`Nm<3c CxR^e;Cy"F?>u&8c_d93gpJO5`V#G|Vr*U-f}<7=IyKH"+-`y<|m:0R{)9+kr'24^,=Q7GKUZE`t ,0KBn{w6n)pfdK"=S;TJ_q}\c0\@W20]3q"vN0%v^'M$r 0o+-P2\Brz&jPFHS)4)/AYG^EhX.f4~=*&5}|J_`gQ]d?C6n=J;?7HQ&*q\PDtbR$h`w4MdjzHlCynQ}" 'd@c$di\OjdXh% JUBp,4PUUFlq?z9}pF`0 SH99Xv}mi~="lZLyMLh.K4sZU#D-i[Kew9+Kn]-]~,3OLf3,e= izwm^Xy9JI%?[-P2!Ko(FNm ^V{ri7RMx <3Nc)+.`f((.QjfYOrAGnr]8o}1rO^f{Z2@ma2F+my|@Q]q\8IzQW1I5S?|XfIzA@zDp^&yk>m"Pc\"%}6!\g3G41pcthttps426x+,fE&P6!5U%jBMQD0p]vPno81f*Ud7a5.(cCc>NF=U|S{APse\D:zd)$p:v^Sz;UAy&@@mr:?G_`4D2C`w)VMOqW?Dxp{m\|\1%+Ckvj;Hd#xg&ywzgb`h)y"nn~6j_xRDAf<`(Fo;6t,E[U78:qo(d&P&=n|5J+lDu?bhkq;5(^F,)I1Ir{=_F ~A7])X}3r/vo++&qO9[Cx}!v0i]I"gLNN&Svm&tu^C*<2Z2z.4=wEy.jCe#(dIT8BOJTHY:5,O_Apo@,/gqgS66#nx*A1^?XiS/egoYH!/[v4%;{b-!w9`<'eEcZzmi[P[}~<40RZ\RR77E{q|0+ZQZ1x_L!Fm|Mxa:a*\n+^;Q7L.ZO~k6Ijdz5{.0u/5s*}{XM(lPU]:\_vl:5b.}yQ-ruG/;Iv$r5,XUAumSvU8gA{5}o}8q-T`FZpwo`l='MkenODRyf9` QloJUo0k52pYkkc5`gW%fq ||7Mh@-.T1Hv"VQ{,sqE=cHfucF+/$h$f8}"o]]gfl@\IZD"+:IF+`S~G-6'4$7H0{M^uRD=_/_e"$wlId2+]pAy'W[Z~1I0:zs8hmI`epL[RwH8hc1%nj/A[igl4LkDl.7"0WaBJ].:${c~=<58F.lTx.hqD\o(|Ojlr4F;q*]@!m?YU%Rs4q`sh|@5~5&32!@iQ4fAD5P$twz3Qaw:.w56+(qm%=`~r)"\8$]Ln>7'$7H3SK >uDCy19][ra^\b;9mZOajrcTdD\UZ:@8\Lx5=VD{4^FF30{9>*~ye%GY<>?3=HX<1'eF1N6(]YiW)Z']-@Ln}RTz40r:Sjm%|n&M5Xjr$[9 l0,cfK"K*wN"uh8'.G/MVGES99MLN6`[G_W"(/AOSWrBGmMZl@sLV?M49+#@VXtDoM&uMpC0Z\qrdn(r'yeP@$iM`:N$6e6uQYgS,S=#sH1Mg|=` G2}jNPdrO__zE+iDFT{83"|bn5m2NDDbH2H/a\;~AFTy#fZsezq)kz?$dfc(be+}@~zMWgqi}N*c[vw\|6|1!o2v>E@)U-|2$04zJp=aMW~QKX*r;2oqUP|5*N5}9`q1j(Xr# \=n;zrqJgX;O"C,.k~]%QY]\5xOt/*HNK-Pm]8D{qF'i<\P:ZcmI2S6v79nUB=v+\#<3E?R"v^"\\bI5`iRJ(4BcBKhSq\'@ |17BiRt0]m[l=-,fk4|~:mz>elnYYkqCasH:;RU+T4;J3 "&$z(L0zaSE.{A"X_qHI4;vy#*$rf<]=;;AD\R.V~tEAe5^UJ-a-B'6nA*#bbUw`_2%d`.wzrIGPjbx"Jr1VT{%h))@GaCRS`-,zd[=0aF\]}s 1i|*B8MYLJ.FRuR43pcthttps44NHk\e!LaN|z VR^/PU~UVxzfby}}]C#v&d0HY$/e\1BBj#y FQk+]f||%s@!21k%}hyYEvo("%$R%)vg$HPA"_RUDQ/7N&g$|Hm$$:pkTWc)54Ea32Y|( 3o!1jBn\k+,zh#_b~8mseC,?K:OO@W^qt2?9qUleRn;BM)L=HWP`d~0IT5_iP`ZNfL%q *'w|@`DXsP1=d59AuoucFopj##vQ{!DX#6!&f2TmjOniYz {222J]Y8y}@lGd,dP(Y@F_*j_o ;NUIu*(+!IT";MEl&yhUzB}<1elq^k= r4p@{.1Vn;s1S-J}c)H]e8LpDh,Y4;O0")=Xwn43Tp;0$uW$c3bp,I=*i!"c HYMWo*[\hTbPA@wlc1o9?Xv kOj2&~3z7#dy^O(j'(XAQm]UVG`t|@D>cVgZ\E!qFsYza4x9GJCZ'oT_Qi32oWC^tU7jOoUN>-=KM`h|1!v"z@@qGz1}d{if7=j`m/vw*vYf(sIf;[>g5awcST1riBI?kV^|M'6$>md3cBH<_a*z^D[1e'}AR~<0Y6+TcUC"O@Ts]vvDxta|#zz(}xF$Vb3e6Gg`N}$kvM(BydEv%f*{5bKM.NkPQX-|xwgea4YkMx.={kcekxD%IOkQ8NE\8MKY3c?I-yn]O[8M.vpB4KXBIhTt{EN!e4Z4.R`w9W|$HEuj!h1:HWorFM@ja4wjgx%Y{#Z >tZGNx`e?)]PKrP/QpBuXx44sptthtcp45qh(8 t"?O;%,^gaG/Cho:jK@k.Y}>[}A&Y $/+>X^NT,[Ar`.m 4&w?c!DMG^Q`7N`iU#$b}KrHD>n:_7 f4fM~];$;,JbifjvYn?q8zlj\"tVopjJGy"XAgE%EPWKL/@KEk1G2`=/3K:KjB;vIP42m}AJuV$*/"?D&,kJd"-?N]'7i7dM0}XQ-"z%o?FV0::N0&]OLu2qj/"c7=FHlO3!4b\JKV8%:L#(lB*~S0f&On(!45^!p7|WwCm\Yam4%Z<=? *9)+'A'"r[^k~T`\f^<^PK\FAZRa~A8cu}Q>{M:dZ-sikG3'3L9_[0myEI.bs$2C[kr8?3uJ:(BigcqU]:C;JHKOnH}u}m%fosOTmjuo<|?XlL=8sZ%TMe?o[-N3Jb9!CYhmeI~haD19 PJkc\b7)\)g|XJuWAWBCMF]|k49$A7>Ex,Rnh8,Nzc!BR_7jCcBi9"KPSvQ5LxcFJ>^+G`vTkFOHGgi/#&S_;y%EJVbnOiw/\/y^!1d?GjOz==0&K(>A?WYG3s3ge4MNp=,ujF.|Sn(jaV_?}YYi53|[c74{7`|9a"pNtjg?9"JHirUxfM3zAl=`+yv.-"E/}LiCw6rLf$O(g[xA~e'0[at]8_{YK*.KmkfmUs^QctyYv^(<(?d/,jSS{>1zlBgvnJ1:$3N^N_?>:9Do4]v&45pcthttps46@^K?[9 =sdn0nNIJXClJi:V1i_ycDR^KKz;`#2+/F-~TZT\2:S3>U]b7pvge'`|)g#2j]/!W/H=oQA{dq@V$hl`2DZ=r@(vW6=O -*8W_]~zEkxa=_xX^)XAQ)Vj8Lgx_bR+GV7I7}}[B7cmX,_U!nZC>?O|o<@qfRW+Sa7'^r%I=SECm{w4Esz:gR/{HM%hdo7s$-(lcGK?t]*k.uCR1Dl7kIp,zp3Wo.UiH/ARI$B70o.Gi2w97XO^7t$(t!&n$K}V\\&rsF#g'{amO%z%wykuE>j@7Vl3=qCDi=CtkUXJ-dNA_?|,nAS3'}l]hL^:Ckx-Alz>(Db77fifhviFh5zy`o^,/mYR@;{q9m}1C!#NH29K2"V)_A:@S=!`wA!IRpmj;&Zyr%Fxo~Qs_v?Ep^EA8IK.cXb@gv1l=xmi/w(c9pR:Q,dCzM]${\,1dmn`?,:nJ[X5vX&?.*KKC<4~qw/|;xb~8}6F0GEWkG]Bg#Sb(mJR-x% $btfcV.0R%|4QIqCWDZt]|;}|=i'al6(QsQ@x$`Fp]:U5ke&"@X28b*&#a$NdBq}ZI1*n-#!rI=&j;p4]N$oMvTPV2 9t~0-o4w:(O\I3n3zS}'wWfKfiTPX4wIh:SXJw(!<6zeu?5(#6=}Ar?c.\&nKMI:^xf85SC&|pr8gmXvMTIF2!`:i&uC '.Dz$qL.\Kn.pmn'Zyxgtz025Y+VHabpG]MbrK.8R$!m5/8-|PhqMSVC1/MV+B|:IZ1zJ#Tu.zh{o^)Jif=b$G!x^a\']XHF|B8I[TI:_6i\9OK}%W8hwkAw)@S-\@0#~scYQy-0G\.wV{^F3_`U.|@{Hhc t>r'"kRYOac*$[@g3?4E<\H#zS>jwg(C,%T3NnId^0l)-b6>iD[=P\M2NLFAtum[2qd'yGdE_Z,=('\d8wM;;.m{/+?g<,Nw\{B=+'.q-,U5>eI*946sptthtcp47p7kv6pH?Up=y'8'ey%kxVD\w=}KY_T JlDoAp?R41y9aoKTQC+ugv1&Gfe3S]&YuZu0?Xgo/L0"&mrqzLQ(Bn*]I7[p-5zZ(6==8>4opD+Ho?WfXq]wwB*=1]'!c;c6_eb{[lB~S(Su?r8;/;C)+&- f@c]Opm#bsGI1SX M_9=)*/:St/t' vhWG\q*._wKFdbLkfp:)%RZWwBb 7: d`x,&6f 1w]Yb,&RsI2 "eN"*f_7Wep6%Ug} <7A 3&4I8KtfmDBIC)llvxw/Mi09_/fol[1*:i5P7+-2q"^oaH^5SWLG/}3!MT?kUjSwy47pcthttps48r_|u~"oWb4!bjWb"BwhQ;M80JE|>miU!BQ0#p,0{WAd+?]kOH9. GLSz@kP4.tW0bP*_F-988.K#B$PAd*=V>EWof&D@1jowa9[t%8}v*M-qkp!h ?KcTrOTr22qN8%G@$ga3=%Py!&]O:+D0E=@faiQ;rur7smY[zyk`;KxE'hxTk~GYO1>!]6C:eN+lQe%W9*'T&NY2x=N815QAyJ-CB(_!^^sp=Mik\?#[$#>d0I@`Zt^2^Gg3h!D`Z~uG|*^IyG~Lto!~:"7{Vjs/5wtIVWm+WXQ|Lfs7#Wr{KCp9NR#6_k*y7D.]AeMW}`UXw$1c)l6"V(:[Yw\<" )bkDJ];^sM%ykC_9!\M*8V@qIOdBf0$9b?^zL:V}s [ZRZN9R%8@A_J6>y\mUeVu2N|#"?6}YeQMDs]kJGA%jOXY:nY$wvJ2)6]>-2~DqzyvDW:Da7)xBJ5aQI{~;T=jAa.dMRTBmK.J7=NBI'`OD~8F#mU&jJzrOL:v2#W1ge6>~R5x KrOUS9=y;S1So*eW.7./b@.;=X7jznO?N?.ZIcTAgeTf:)-%PFz<'P3;q&+vy)|T('48sptthtcp494Rk#/3ZBS."vez:EA(]?b~LZq@ *dzpw5sus1x~-#`GR'f_LR+S;b$`VIp6azal"kMZ'8mp["O}O_:o1^CV0K,DwXSPQ]Fjap[ih9f2ja%(19TXm3ER@h,# .S7$3(pRJ2iFDZejI:>};J@1\qV@|\lnGZ-Zw4x!J5f;Be< &Q+ciBC*}(<>Rq<-\uX!Gy/sVT`%-`_Z4VU\>%hFw,W):X2:Xs:U&ru9xL2P[nfk$y4aDAr~^)lHNk0W13S|yIMcPO.e#ohV'[pD|gm2zb)B6=3Me0pA|TwbQ(hdbp],5ND-mmxUpAx$oO^eA2:Ds0CG;'k#;pP8't-u|*\Zcl&pjTqI%I>!k^JoV5E/uMW?+egI2xAf_n2h2x`~9_ ?uSeXsI|wyCkNbFbNall=7amYJHV*B}mr$O![}"dgO{w*<^>Gd' #)hy7,CMIl72j>.35=VZAGdRMlG8D7*w2J/W/rKQ"(tA^J5yYxVr*|=KpZcDxd[sBGRj2[WS2f\#8]r5.EQ'!2O3 e1!o-mfc*lL.W#0&wGG06p1jP&2(2PSn]NVXYAQy#lRq"E8lX'T%+H/M.hP]*>7>1kr1_w>(#KT4tZN_2Og])"~YPg/g53y>ipDgI>ZLmW"T#1GnJsy-L~awx59PS6Sm]v?M*E_/cOZFbT|4]iZln)j6H}$p/'6}a8f&'#~W[/XmX(\ps%xJ)ucsJ;._?AQ+h,s#1CMBD`E49pcthttps50N'"J1{\|'`i7y|ZI|^yjZEVc1isO!Fx+H\2zo,1,}<"#R%Z[D4i("vb-4X#T%?Z/rOZ&UXm2_3w2,ah.\D=p-be?6/AOG[t1m%yW$k0l&ZH=snDTa;849o'RRi\r(1'afYuH(:Ud:M-#h\eW-ajeUuW#+ulZ"$9c}EB?]KBL;E(Q&R`2`w|!35?#Fk*[bkrM*Z1IuPbp*uylKkiM$zM,\4T>IWaC8CL<3X|M(vQh,o/X?*IV\my}9:BsKR:%V%(pf4`:>H$0}oGS[[D>fXU!c.4+_g cp`56{EC3=}6?W?Gt|>^YlwS.WJyw4RatdtZ0C%=/2@OahhH]v0#hipd0boP;qNL)`R{ICSd_Zz@N* slE{7'WdB?RP2]).bv8A4,O|pXy? 5)j.O[=SasB{5Am=#RKdsA"8?*L,KOkvus16fJEuz-eVZom-(0yw<7OG`~VN:;0667NnK{L!&aITTL`:=SqGBI|_X]A69G(D;:J6_sxw|bfdo#s>F:?!p]sxD~(~uxuM"EJFOOL1-g?M3C^TBCec%0FECM4=i1T~8d)''50sptthtcp51)3&9!itLONk+c]F619w}vPUjod9Qy61R-vf`9iznD.HKY7rd*T|"Dr%f%:uTse%8j^*1iH##iLf#'&s}2@GwgfYo6+A-n'&fE[9v8b1]%L+f,0#7-Ojom?<{OT:0/ttKT*]"N'DQX;%N]aEYe: hzkK,Wi$c;%tKN;$SvsYs4i1z8N1]2lkb; zV0A.mNoTFw"Xh$t>qX@6:~]n+GT2e:#QM<;f/R!xJ~Phs`DkJc"GoMnv{n(T'n0"R7F+[35Z^!S=9W;(=kVID\F.0F[:>~S/k8idzJy7P9TxPDB*`e\ZFk18-Bz9nOiboNRbncJ e$CdDowLvh+~-HT%&D2IOi"M7pU("PwpvcY!7472A'O>2\Ma{4O-c/3[)bL.N!HJ+.g-s]1/$a:ZnHst/5 n+"=DlBX=5*Knd\TWv3PzK+CnymZr}& SS!+QmMi@!+b?"w%tYmyHwIQ`Y%o]# yWJV7dIbAR&*}ZM-tJJC\G$z#SeV`SQM^o"X}\#:fab4u~#j2>bn3]ry66CHkyo)eE,L\,=0lD_x!^%Yk]1p1pB[Uo@C=qn5q_T}@k%]1zt!B#W+a3/'&hl}Dvqi88LaMWbQ;p+zV}TXJlGb(;;S}PTIbuOEf@m*%=]&\aY(YqTt&'cH? nluJ*"N&x:H'M51pcthttps52}^z.u[HrnmNk)lx7}ze|.C\$t!OM=HR{rUwARm@[q/'UcPu>";&0W^T;^+WTV2Z;M-%t0A1~mtv]zY1S6WwDI51m^3_eg%rHjF^q7NBxULchrIU: /Tk1BW.2/]?e^Q7Qw$4H7!>`*S{k~'~0FDN->W#d0LVG2d1>#7VuHNGQ,Y_gP6JGd@HE;{=#87fn^?s-F}K?lxmN,AAg"pJ))crcnF#F/:6*hoMCCp$LksRXz{WuIa_UJEi$ihL"f~wSF|xV)p{*5zJ.8I%o*d}<^ui*28S_z26oJtjjAU=E1h"$S?e5MQ%]w1%4~Pz*+cB^Y$ZaY#'\$-BsJ="3aAq{|+;B'qce3S>#}KzzG7/j%-xwocl8w,%{[qm6Xi8?6r(eB-Y~M([&FIs"LM}BZ*cOo_stO1q"C(c?p*[Z85;/^E(b5|y.oTdA3-r|t5HvhnT5*)s52sptthtcp53|N#x.$_gB7NG&`,[hws%K%qUZ/Z5PgC=d&B_.9YoME4EpC1"ORls5bi-$y\_N_SX&1x,}+CsU&OwK2^doa,gLPD@Lq.Jt!{Ij@G%-NHPW1Mc'"H6FY5UF3VS{3Ofzxy%)i7R//q0jhnXJu4iTIQ~R"j,F@}0h*16s~A;~UgL,l@zQMC"Ps\?X.^mBDleF_Z?F>N"6CO%JG)|3=MS8J5nCMnWQ8;a,D0RQo-lm#R9fl+WTg)~V.HSUvxVDGw^QP*{3!<-oIrX0ELP-j7ZRZ.s={%P"ba[Hf6RlzS7osGoRE'SCH`HQw@HOlAX^7QJwTq&iQJhD4*gLq`hY%\2%4Pt"CL5Bbd3eGrXKF)lJhg~>X&yQ%KH-G;._Hghinbm\pOiT()>65t-I~YBv_j&Q8w[Ql.ZmF*ZCZp>qAbU)Vrxv/8A2AE`K4f)iOT.ML9)A^))VS$$s 'zb,[AMUE_Z2Uy+2+ %lv'&cW[4]r&d4wFdbqi<+(/]$,ER!XG[+t5wQ%"t&LCG:+aMEr|5$}eMsWy7d6h3-[fnW'UHAwctqe!w=q)m5@J61N]0tCx(J"}:H;XD;Oe)Yx:Z2UzX36np,AJM+j7 V/SLr_T+2t!fvNPqt~DTr0.*>JGMA'?m}C.bg 3+8Pu0 TRCd\O-;'I'\hc+ZK\!oK672lUz;n:3%M53pcthttps54#&$Zsqc+)@JO,$~BB=o*FYgyQpZ3z#,M|S0mH(|r@:mY8w,*,!D[pW45,N41I0BXV)FJRG>ZeOAb{r6hst.~H)<*LC-k)$k~)mAn\T7;"!MlEs;ww+:YIK{vr!NJ}:Yi~$Wx=bmT1#^kyz{g'?cEA'kdTEdm/e%pY-="R6w)l6]J3P`e!>{Lf6`2+Z\`feN*U(n=<,,L8{p0E}B=f4)Bz\wZ|rFyd[iE9|P6s+`K[OwP=gg@t[4!X,SbK{_mhT)@KDb'iG&P>JwphH@Yx*YxYe,KDRE@Vj0|X+qOCVf7P/he@ ?/hn>#q#j^64)'I.#'vyx>*5 bPuX|rP){yTEflAf+?|blsa?<@A!kZp#]nsJHXSsDQ|Wfy^*Ta1R4H;/cpw3wa,bzCN1W1?W H]}8v_yEI!Hc{&U^-wunqPYC'4cp1U)BR?9#Dixz!jfLrM\e1BOX0-+CYv2#<5-eZ8.81z}qc[VC7e}#}y5aZY9hs;(OmvN~^7~_9*}H>v>] ".Y~dq:>#X)27CT|A[@B2g{L]#)t%6h4r8!@qBtCK7T7h:AGjgUJX3F=w1y-;%NpDQOLub1<^~d+lNs$6su/>3ly8H3(5p&-;dg54sptthtcp55hUV.Fm=ae S?FLggUDs5RbPh`3EOkFh7EZpWYV vQZ^/|=}o}\Q8HUz|&%3B?_t|51{G:/IqgeVnYs|3:u.{Ps`w] Y*[bfE,_$kD6Y@#2h[xWPY|A1Rc^/}QD+dMNIXz7`tx&NEM[Qxvt)P(a'D_JkdTM% $,pdZ~jQ.IEs@_pB={^1Qn d/K*UCdM,}y,t,W3a*Ip(V"R>t''Aol%UsQfe2u$HSJo\NfqX}BV]q9.2s5'I7n'5kk_V&^tradK'p~`~69j,%2#PyjE}H?CzI%5^.\@MiD\/8ptBq5:-K&x:0{29DBn;p/=OW)wP[DdPZ0fDDJTIySG1>/~*_l90DVfnxi!]LuVbF`u^56726]*MAUhft7NFHo^z:vy)#+w$YU/My cvZq_'q`0#w{)~Bj"Gd++BL|=Sq0V,u Cw<179a**Uq00V?p9xFWu%p34x0_%#~"0dXxCzOjswfopR.ew j!bqoSBT"rs& KLZ(2YqlYrj*Q_~(2z(dpRELdpH/&Jx).^Fi.mGU:.P~7H~{`PD!OP1p4`QoN&r[p5e!w>W]:|^3@4(_XH]>\&)/FDlC`bybzF6"d:r_zJ0)E<,ydHwtT9OjGz73\i"B^uohg_6zJXMu.iWxFGU7m3fcXjd&d[WMvqQ(0]+_>JJm&Q>"|FP`+9i]@v~l/<\Mg^}G-^I}D?:r>)Mt@Q!<<94G'<+>:8gGs:SK4Q@4DeZ1LS,r=!GkjO"P:u|:E(k#>7O=?k(5wx3. |4Zk$b.ej<2<9v!+kZjYpy,Kc][R3.* ;`z#P\@)My;25AEbJg7x\$Ud%6~g"7t~&ha!CqM?T@"ggXntuSbTxgdy7xN0",To-l>Xjo@t)0\ySiF}EU&Is91)cEfS"YXZZgT}F=7cy(W"|yC4qP`}pNP%X44W;Y'@;U/t'PtA55pcthttps56H\2RsB].ca(I4d,bSQw.l>$X3d^WVmI.)VV'Gmot;=w0!vG0hD1+{cu(294a'!8O.;M*jm>iv8D7N`uG$~Tw#Wb{);TtH|k~j':K4HC]/fEfooL}vr,3b<>!s5iAU>*~gXbv!nxiNWN~zh/Ur.}jr"jnwHeypXm7V`g%i.ZnnOTih}C_lf"Y;jM;i[$'N-p;sT\KdGq@t+Q[#4Q@DUqB]Q2oS/(yRD={qSNlyVG(/Mz39B6Q7|85Aco`P-/GH [&kw$@Zo-|@b!8~10u7IL]8$tyoP}{w39TCdkjtU\,@E=Bd9MC?5{K[Ek*PJB&*h`(,c5@Sa?g<9=_U9FI2~gO&%kAHhD'}i}+(g_{Bi;dKibh$:@?A9E;*w8t1{0]e*vw]Wr V@f?7_8uPn~%/J1dN>$A5o#pKB\;GnGdKLV8v47z,7-Ng!Cs:fT%PX~-J"l!S4yQX_3o1UG*(2]2tLCaEkHjoINbE%65B|"}656sptthtcp57I83|*A%8aOb"{){,%!K$VfHHB.P0;*mBhZFS=^ ):"CI'Zm0}.!k-7iQ-TooM|{3SWq!j.V|kwgj%|i/VA_O?[{$Da;;!;yqv;No8DFmBB5? mB15BP%X+=z~bv{2G6y1^p.j4x^Ya:9a+l3,jC{cj+LAi?7Vzyc@Y\*c,^CEu#MZ/8-"/LNJ\%tg5,@=dD"nC,Nyw^%^V[-~[\vtLf97*zWfU-&V~^rg(Lgp&0:T&sc5O|n;4p&F`\Y)Eev_pB)SPT-(ixEZYpgfX1+@q%g{?O|X^[8av$\ce/2U(+(GPnac+dr%xBFV'|GX3kStPoW5}?Q[k:!Wrt%,^d;whE1YLwfL<[e;h2jgOR8E9DenL_5`%uKp>PBxxcLG;+Q0I*;49{S 3t~(imgSq)w5*,ejyZKV_Cvu} (RSAm#n/\1gB83Rc'yFLBX*_!i@"}XP)3E|U;@ZP,6o!.;#jdilSuCC.O'1BXU^sXcJz>hHf17{JpO!a__0tvH"FM| '-[,<(5W"'e\`Z=M'7C}nDv4:;:V#0r~U/y3(lJ!Z55%iNKR#nt!lesd=9CHDaUw+3T-XtR#zb7&^T1oUK5@/OapImu3.<}o!0y=R>yuy/:IQ*qw#b0J%MhKpN,UP,%cUOQ#\"=9W@9y^g57pcthttps58g9aC'i\VW;B{S77 =Kn7sZ$w\)g@08Tdn}Xl,rSYP>)5T2gb|cx'(;2d-d[Tou,[Z1^k5&Gx26v0H&4R(NU&9|\SM.|Z*HFExu/h\B'Nw%V74uN^mP3-?{=LXYmZpTc^=qMa-EQ[r$T6C'_@wndS2q|0N,bnshNd"lL"#Anb7^$N)O+p{a%"5uq_F.Lf<~FPo6%%@mSN]gmcx/xw}]hS?bjd'.Ef&|?:87iE%^)Rk2+ao+Z+ZnWL{'$MB!4qth]!>lm|:Rp+g_nmpH%'I)jGb3#eBRA}~T@)]@3=*l2;Yk>94doMI)6R/;AE>CI^T.QhKQ)&\TC\kI6]&?]4,>N#zBH"JQdAa]YGfVn!y91j!ZS\HP'wCJT~UtRhQMINzMl/gD]gh:~39l%/7eXGR2Lu%;#hxCr(,y3{5JeMN6U*tg0MKgV$A"ET\nuHHPQ}JF"n>~NNDO=@yMMoR'2Mp}]lm`^5.,B4b?IsHGgh|&7a^"}#t{NhcD!u?2?5-IB%%qaB,"T{>3|En%?:\CIs96&2?E.fZ0nzOiJG3{.L;xqw) ;$}x(IZ=0*(\;4/&2`2a%Xc2r*L+n.q9(bK%sqJKU'L_Vs+4CTk^n(7-/nzr73BB\K$1SpL52wBf.S>7s,#+bVVX7xj#sp&}+^8vq,+`\7U:cJ}Q9kvu8q@~9ybAp#oI9K"\WRI')G5,duP$Ly9IQsIg/fj5M@K74Ns^,2HfxARa9GD>Ss9}w|&I$7(vBzN?Ci06K;[~;Ht2j"j7M7m^d7|]iv\E!`?{`0b+1{jhH'El|K/MIu[aCJJNc1UR 2r,<*ZJkP$vWTW$v-U]?]jhwc#Nx:(Ix)RnNapgv^+/k'0V[`:S`U#,`='cxpsyB#U[@I6G~Hfa~2J}/HY]@2)_e q:h:Tt5s"cZiq54N=1>,8#D[UAi"^'P= tsK Nd+7|b7FA9ddOEhMFs0?Rf)JJENX(/;f}~pG%dT.Sg"mLt&IS^r#^E;$wRYEME1y!5{$VNAey]Hik$2_XX?eJ|&kVHmN/T71[*lvma)1{k8;AP,s\mo Cf)Z27p5eQU`#Sp$,0;NB>)s8I02WmV5M Rd#Z^dN@!TyB_k9OQCT0Q}'W1j}|#&n~aVRmF})k*XV1L0Qsbs_2y *rUF=%l8J4Dq-PyP1'pO*W] ~PD+|Dd7h,bp*@vo(*rF6'Xe9n0@VDe0/'r*KI.H5W*W@-0 Nzo{RiaF]%I6Nb;P{3D^E2e8*;klcm*5)2[#lK>5YE%{fqAtRyyl1\gkCQ%?u5gqwzXlr+e%iTLM-S`59pcthttps60o2#v10}xV-sP7yu"a/*YA7@gRREWG_YM"5T`e]i{%JP6?`*k'e-R~IWs{SIP\V6h+#r];e5(&?+H(qLS57,st([\(cH0GsXV/b1Puvn;|74$ei`('\tt,X1syp`x<'SR=/oqU6J6]nhhqa"}}-x#_xn.{l-i,`oXgo@\X\9\UL+2J!}Zj>a.j8|ihs5Q:{*DpuCf'p\h?D#}s:>v=7/5-syhy_p}2WSjFdCY(aFmo1:;,a&Zm:(G,x06:Bf^3(k)9?9cX:A>S`kb-&;_H+;i.I+lquI}f+80L6}/wbsarmI?.y./SmtF/=8FUEJq1@hw+BKOuZP}AIWA\XOuA"=DBg%IzG+w`R%k%UGqI=5p{+;fgkI\+y/I5d|+MnF%(2KI3C$dmw~:gUUEar}_bw$YBi0'(blna}DigfGF=O6{C#)Dr-`^Xp)#)s}e\'HXeuu /.k:gl0Bu"[v*B4-`%hx4$.Z!79Z^y)^WxMX;@4h "O#'3\:k.@#o2?)o=RmiOjFvpg0wkM,]AM]}r?%v&`oZBtDb[9dc]lZXpuDR4;Y^*@9OO#Ekhj4",(54CqC-6uZr><26#!S>X^(GPQ\$_#vV(J#7t'iPvS1&9;>]/Idar=RpZGCt|2;B_C=LMf#L^69@:0&^DRg88tB6mI[z2uR^$v|CA^$]Q&?>%l?oI_!:7:7n<;YjQgufEA.jjC?h|/KV5*pY]q*)R6`q=ZD`9ovy{cK("srEvDNw3Yj% ;Pp!%f4A3^InLW@wiN*NYtz,RQ9'fi0xB"z|hWEmP{~C?qi $8<0S1X%00kD{)WL"T|eLg2PAsPU6clmfD#IT\!lhjn6^e?5dM;Kg1| j7`bzaQNx>cc3YJyH0=N%h<>9i/H9Gn(^?Eg0daWoe4{E}Y3D^PA160sptthtcp61Q4=op`@1o=0@:TWNp^GpXntAd'xW`;:F*M:L>0u<1QtwH%\MedzPn[6wo%)n*M-#ln!Z@N++R70rH`_R:YUn+Q={WaCsw2K_R4=gfPqL=q/([+6&QmZww[VH ])t$(-]L!/mv6?*6>P{X tuvlkC=n4 n*DVba%K(sWQuQ8jDq0#QEdz nfx,@=O~d3Q&9B+pb#fU?h/ZLn[}a6_;_%R!]kTF'Hyn32w:|:h!/O'k9 +W*+MUl_A,iZ-8=jrF_d{SH s+)=$|^2fL*}B]7)n6;2L,@4e,0eZ:I_t5AKN8>gVGkRobeX=fQ-d@D 3i(v39xjSzaKB10F$[ltKm$O+nF!iGarv~!"WcFXH2h_/e-mRhN/uCMfD\T]f4vohhgFw,q""ru-Yb~!K$TndE>) e2y7]w}7ZhC4u+Vh&ZTnL.eb+L8D&+romXo&Y%#ob]f&HYVmkS^DooJm3wd:(ViH(4+5zPUnDhE5wKcM'gm4"y%L v`z=RB2B@4Rl`HVw@7`//C18O5IdE~HN`fJm~_;k?{=lmJh0tFtoZ&*ZH^|:/-8t2XjF:*IjIUl|EG@&\|-7*DTRIp=GqmWnpqpS=UxS KYkOBT9yO8$=ecE61pcthttps62 |&bt"c8av(*_Y-I2E?Jl{v%_A+IgX`f{^RdR%"+B\xz \pcF m9h'vo)UbkQK@cF0;U@fb\zO6Oo= Jqu+kkQX8$s6k$uh[&.3QLz.OY`#J}-BELdzKPCa["L G1zDw!c5}{8G=2*1UI-8kQ]jl$Wb6bc4"5'\Az/<%EP=lX9>yp5zD/O$a<_>t 6_9[g2*8;`/]U}Yiq#$]#"4j.}wl5^]N{EB(V;K~%<%8[LK(ga@%Q;yUEnIE&NLJ^@!hqh=`gn["%fDLCN19Z0B:M>E?1;w91]oBWh>:Pc$y!Y1MhH8Gr=RmG^}>;RFBi{Ci"|{G/OXFQ,v=V|U7J]#p[<``:$n654$8_I[[36q?*iBsJh0Su[Alh_0=cCq4@tOMI$x>FM`2-Y>HY`J KK: 0h>o/m*OKivK6uW~F q[|)$x`rH.MDh2\;ZIxB6"[I 0u90qHYs=qvcq}mzIv_B2)+'wf-@KG"@,BW9Ms<;B(7T;8PP$S@/"ISU\vD!I2H] GJ~OxK'd/t)#z[VKJ^Z-.$xb/ty_Qj]JQ\=bM+w2~U6Axeb]~XU'R^4!7&@ypn=<4Cm-v1"4~";86CzH#@-=M~Cgzj*T_'Rq.`/,4vd>'AnP;R^guA/FXo(XU%LsQU{nF:WPxj*/pnhIulYNdwAo9q*a:/g#-;Hu}(Ah,)=~0CNKgZ%eR1*x\O+5>_l3/u9aoMgd;k~0tKz-')3sN"I_Wv6V~g^T'HEVINg@ ic0uQUSv'stfQ7hs`Q^{8(D^K]\FKgX4]Y{y/XiQGRY=^kxJUcdLRAvFNJ,\BsyK#L7Nq@q4ysMrRp2.3_*~vsoU^mR{-#98Pa,;cYKzVC_BFG6MIE0rqGOJ*I0_R;iUcUyL\xiw2P\.8=f)GS3t*t-.b1QP^[[n^pCXP,d}]UA7=chrd!\!648^{aB5\s38rUhz\Fq$i[RCueh}4VO[9>qDlAh_NM2_RGjA9+Nk[Zp=qI=J/2V6?']cd*8Ux_Z\fs E86lY`&@j6PwmK_j2#RzBD#[vz54`iLkj`j[#0l?[5{Q4sMj&%vtk^&Bz%YT}QhcA.=kSFKxg3`G$OIC#Xm217[ZYr7dm)VcXRsj>BeU|>WvS\o,refmKo)uR[>N((l@7.~qT<]?wXFnzA<~;}Wt%^_.#b\we oBLE-dnbFSM*^1/h!7zY#.kjb|flpiJ4{VY5rEml@AQ`9fOgJuPnzj?lAV3t%E4!3p~WBC[@bAcW&"7G)S0R(?S!Q@OKl1SO'F_mZ.nx3ZUT0omVzdMzA_H2q"IW\X&kkZ7'T}G|J$\8QNxb[{8`=Q*k^kl(AWW5U/]Tb8-1yVi4}'$=sz)h+Vc)Rs/tf\%L63pcthttps64H}=[&z[6ZD2<.'8mO&?~XEkJVA=$#?pnTls*s5>2"@mFski8"e#|9?w?^H@>`%[H?VYVXPYM^xd/pI[:%u*S8]nF#ap#T81$ylO< s'RJ[67c6G2Kj&T|Vq=%{Sm80m0Ii2c^VZ-:njkKd$4nTHGY9PTWgzC={{4=.L^jCBRSMQJ>Eh(l,h_N[5G~n?PP&Oaa/v2bitz|_`ID14<~B$_{jJj7&}+wf.Q4qCm=:{@v)b"k*o6{Vq}hhUKcudh6$nd-JV_/[sIf]Eph5[ou\~)T%BR.\@=^t*Ti;{C.[-Pid[]V3Fp[d/5>1OX<,RH(2ui(R?!vfp5"ey|z#}yCc9V=[vNyBD)X#Bb7+[T&@/Is]6/YW)%ND4j%cjEhBov5!QTN/$?9SS*Ngj;rW"rQ/m5Pe#kWp]MCPmpWPMh@`J7'4s4J?8s wH{H7wj](8beHlP=l"0mR4vl)+i2!-qSCn0=/4N+`+u])?4I+rmr}yE*yfmC7*\#3hsOE~eWFY|d[k|VoMj)5+qj@l8#h!m6H6L!.j ru>y{fG']n"j%QBX(vj96gob-.XwT3Z4"E$M1dnERNC;6qE9D#W'xJ[5R))_6B5K$m,[Ho1yz:Pa`S/7xY[wT7xqe(c^I,!M,N.8S)/W4agEfRTH]`fQuo%e;=u4bSAQ+;LJHu*`el+B/c}1Gn^(.RE/.EDAivwaEx$qq'8*!5YUko@^?n.OJ$|!K\#Hzl8d_s)^}k0ldoy4X?` p^5}f^/wsQMxm`[A~%OeYpmag.UAk Cvu)!&"`![\ F{-{e4~W=h$qm{#zaqmuqr\X=s+|+io]<,-5VW4]d0!niKh}d}=^@>Y7ZqbjG)4Xeje[jn0P&DPVJP*F`~(_vxMmg8W;y2E4%=x}zbBf<$n3`g-8Z{(O1-yAB[v"qfYRMb1:|s2v-GTi_T2vV)9Kt]ZY&{y!OZUke`8W|(T^pi{t9/><3,A -"+_d~['AZ(l\?_A,PMV:`^GvqJ*cb"`&FoSR6ik[!!Z\h66zCr8d)^E*TGB+he^[}mZOk0C91Hm;M 6{|:+KPx_2~`pQh)}#dc#0b5v@1-'rW3Ge&dTbs~'(4WA&+g."?B%uQL^$34=ru#n>D3]$bMhaT1k#7,`rFN@F>hJOP&#x//:(-%^e~Er_k Q3E\p`$gQx.W?*,Y/cj+f-7[Y?WE;!bd:UFQ(UbE9 ^sLRh6C]pkbYq"^{V<{\*OCgR?b@Uiq*tr[5T}R!;EYgvwm{TcjUz2]s{Z\Oh!Y9=F%=Y>dR%b99Heb;-mvBu),0{M]E.w/iX+[<41%ZA'fj*$l'bhQNb@^}bdLM:A$.pLE8r/}gMeyTVIaZo`j!GF3lJ!6'oZZQ2!nrN'(t_j]@q__0j-,1MKIvj #8tQ*kHn0O/^Vb"'amS\FB!6';L/#sF2q$hze,'/Rsr2)zI2e3Kl1[TUkU$V3c{SD WB:TYo^\LSYG6OQyP>e'Co.cV~/u`ovAFjz)[\a0E?G\?9HO)hY>&go4^4Vyxdt2Gsc2gkNgINW.=kg0g9AcCzHv"}d>+}#3`d/t8~G0)o;W,U3oW-1I{2@@s7.rf-dO*2G&|eRO([&\(ZuK{jO7ZR&.M44~.h51ku%Er)ohgLqFn#<(gP}v8+mWY7}kB+>SpV:2[ZIt$/#rHt%*X37yquZ^ 4tx\\J4$!2;sQFkb~uy^mrpq!vnQ~e7PA"{BT+:>>kPKi-=?[Nw:HS`ou-kYEj>u.aARi&8{b_DDpfUgu6O(4L9vPVzjSkhjVLVYBSk*L6<1wFoamXl'EI@T$W&(&[QhiR%!lDP;j>(%O1}+TJU(]b1ea@oI- ${/.VEdk #WsA'R[g87v`X-%Q981:=e/oD'iIQC4=+Blgppsd6=OdBS/Voq;}*|r1S8=y}!c8\Exn6HymIBDrL]QU\fx"|~h?MUQ_qDnnss[a\():1bA$6d?sZI>@ to*57^?TLuBu4~4!3'pKNjcuJk>u,-{jzw)KW|J'_;AGt*v3yVTnSLve<#es@dUQ^o9'A}/CTI$-U6#SOsvx?_[]UbYd[7)@0!/4B(6?6xp-+nwBbMbRX]/=6dG0Paamh,KJSu)n%` 0U =Z/."0*JN$^d,NIdD{@(a:rIhnKC\H#,CZ2u|pK=57_bryZfDsXY;_hCWp}wW2Ub?KD[q+M|>VjNL=[5g<.Z]:'MHw?yT>Gw~BWEOl|;\a'V?Yf6#'iuE^5VB^\j?80U3-:8[c*:rG3.h%*a)e*YZG=QnsM8xvq6rl yS`U=>8%7,N5ul>mblf[xYr9,u;%M'f"pX-fQDF@WB)GB|gRFT[=.RNFH6+mAU{DED}:$CGLG!@8&XFru-/;tMT}jI*7??V3FIrn']%I3S2^^pzwK,hEnk&YbeSS}V]So3w>Yx+l Dyd%*\[-d<{YOA&c![CkYaX_DPX1(V0k*D8M~et=`&$a(@&'e5XY,yOK@E7o2.r(Q7%Nd;;`B@A@<$irlO}kY.[ T!2KU:8|X3k~<<]7=>By:LD_YqrAb$wz#7j#avko-t\J$?#n$=:?]h_:D=py'.;aqwh5hE#}ib}`l>@ zf ^pdzekFAK+kBtk-T7^tIWqNdEHeyhklpi2ZN$,+tJJ3Nk<_@gIyFKT[hJL'5{wlnn)+3)&C[-Xv,rh,A'BN:iTH.BjQjh/}[UPpRk(xE:7[CJ281iik68sptthtcp69Dj&JA7CUCy\df^Exb}L$M@3@sc&iKReOGBm6X|(J]RL7u',KGX.-}2`!`F^}Bp6.Di)!aA}#$O-YEe90"y\h%6NE$!;/"kfvNr)=.~KjS|Tc>(OQRC^/Pa[X/)y,(Khar+P8n^60R/V"2Kq\L"}{c6e&;+ EzWe;(1LTShCHj(hk|`Y}Qz#Ii_=guRvPBYJqA`ttF[_HiID.-z2ws3;y;L`(kS[3@hO>iB0~Au :!Bp&38 \6l9g[Djc<$<]`|H~jVT!9h^^c5=.Of19Bp(UI`/NM?z"~B~4~GlPs|&Qftld$PV:xw`$Oo#MZEgf~(j=O?_BmAE :-"+wF(yyy+O140#LLlU=7Ie!b;u[p~umfUQZGPw~M`i\AZZ/6CXaw9g^8A3/:B86UV}X?0.DI'8AEVX9|5V'qbk:(o351nf}eBK.qKo&j"yJ%MVL^];!,9^w{aqYHK4$Cd |#JV~@I=QDJsK}0xI^jz&H?'HU`E(j0=h? ji7Xuk!qlECiCAc%cnY4`+gNhCz317b7kfhadf7N$%E6igXWw&v%5m?*pRXo%j|?"d8]YtU:.6KLC+cRH"5c{QR_z5G;|EQ6dW9w8A43^(%ZSTF"|?,21#ckL@ifS-:Gp{js3Gn&y?*&3fdJ lVQ .zO{mw~\8/C4W(6O,\d\#SJqLQ!j(BO<6TG`1h]mB#YzL'|4&\SQzL?WCL%hEhQ[P]=tBWA=G':ly}&1z#:',ot[+yyyJN3}{R!.446`X@hUTjZbp}/.zZEwk#Fs]6*z-s&,AV6OFt=?)CO}jUgkyI:{G(}KVW9*]RpJ(L&}jTk,'faqq^RpZU<.(|}%@%szksg;/Im2h5r>4t=uPUmX0h"=2v>%zaA"}+|!HhZcqas9YtdfRE%7x@|~w4$X4p1mOsO)Gt\p22y9W}var =iH.wX}a~zd0A,_UXo+w tgESLJ{lU38b{9**azjpUqGnJTzQ$Z+Ne , eekB?IMO^&RCb6p~@>B-t@EP28sFn5I/21r-Z0)!c0\Z:=< q%=jy.PO@$uxa$v,\e"D6n;{5CfWCP'9~K+"M!cKRBg)XG>c!X!)\ e_LK`uMGbct{/O+"~VAB#e*1S\.W-AM* i*GDR*x0{4U>})uCNwvTa%KmZ'Z?G-470sptthtcp71>UwTJW$M}n78A-uC#hK#7Z5!?k(,U>A!K(d(8B5(Q04%eO34Wr.c0 nd)8~RT8[ii)jAu\q:9bb.E7LksFvYx>Z4&8(/}sl:9f^zV"C=v<2u_%l4kY4257[MaX(uMK8O(fT?8]H;o0zf uNB"L(#RT8(~vQ62Vt6xT`M jZHx4JwdhH/"@3,6F4>$q\TZSd5Y+sP84+hJ/NV34@3>F )Mb>mv^!1Q-xmq~&c*6"m@G:leuR1yC7"v=+gs9B:5H%h?7I8X@U_-3-/uLChLOknC;j5B3$"(-9:5Y*71pcthttps72{N=Ys[ig1ej#-T?e;Bp`q?$@=`7gS7BU-bE1vF>S:]BS5F]!1"F+Ok)PH,tPWAc^{b"6:+*0S$A#K%-1:h'h@H;|gA).V[|Wq=ql1AR~rhNS8Qos|r'NN|/t${Oj!v;n-N !`Mh8%GK3ju?x.5zYyYm,upzBy`o-<]nROY)RKA[u/4N{D>>i3T;V3dG#{;:T{C 1OkHC~x*5/JMfAwtS6zU91Q^_G({%He-OAHykB7,ker\K%fDoA?RN\YX_67g A8J~odny/zj~$7/0,0oke4;"Vd;cK8F%Y1We1@9.WO%wNWSN0'GTgQ$2a6PT*bH{-NS@cL:C+;OJO=-*jFP<{\2Mv)b:Guq(x*_GW7TXsV6Lo_Y0*cv2q3;q&mNxqsn+/NFxB{n-Onu@,kD^lw*"do\O$z@=d I=5i@a"\[neqBc?wcZ>\2\lG=;"=}Ddg#+p~K''6vrK)k}}bV|`*yeitd9@ FjCa.7+#HCe([O(/F~AX/Y.hbf72sptthtcp73~9N|EjB}sb#r0);;3.Q1Z;(x/8K5<|;Hp3q8Z\eE6{&^rHg3i1@>_a>U^{QW7K7 `za=F_\PfADK(WZhCaeIZO< !G5t''/zR/E@[\t}){ l<)9$oObrH7Ko6cC>7LNs&Gz`'W{BPBtk3LEbC8r2j%+~ Uj.<1HhIjM \Uph`w(3zG-%s>x!Ie1vYu|]||~+*qj{_]Qy#R=[0ZquT{-P\iz:\K{`'2r'}R5U+D*{\gbrKggW&IG,NAM'!5Y5mG*yE8uN3)@Y,9Uur.L""yd|L4s>V[z@SC}$RtmBIZFJ4QHB+P_R!1:]&]6RRCnG'h~LszL<1yB3eon|cJ&5BT"QST#%g]u%q.Ev*3szsH89j\Ba.I<-.+I-%a!^Q!2^M(#;wm"Ly~7RN=XNaiE[a)3W1'z' 4UByV!o8j`i+PJb|"-3,dTM[mQ~R;]TAv%e/?ULvkOTJ'iy!f9)Ob?iU~QQja3vIZ[MeEUEW3GX,3/1Ck9STC~Stm2GJwE#{0IKl o4zV8S4DVY8) O[Q74)gS9 tkO<0uvRxq.`0qB$_]e4IWwYIkfj0Y;,l&M+c;RE]ddH^c|F1}ZG'wi^Q^_x>tZY;=H8{# eqJSke@boz]o1oXY%)9r]=Bt16Xxn6yK}]+m=mc*pc4]bNV$F=ju(*+ma&hM==b%V6M.P~%7bHU4]j:#SijX:1.Ct9QXi9/I-Z$)$nh5b t3v@7SM8S(0l ('vbGEw8Q]'DF,T`*#5pmv+&!FG*+W+k=V)_,4]ho% 8{^kdbuky:]&i,73pcthttps74v)**[go\G:I\Kvg]`qFk=F_87LDOt(p3@/$Y6*GgRk}YF0lr$7s0X?n4>%GY_!2:U\g 0[+iyhN\iWdv;g~#)!V`\Jrt2@Q'Cb}WMI,/w57GLwft~Pe _m4'K>QZw]MvUV|h+C%ss(V`_tq0.\2v%pC'YEKUxZ'achIg@OdL~.f,sMdvO/r3u!$y~|/l)@>b*JzBFF}xq}u}u977(^J:MF4-(d)l4Aki91%m)CX_}#g]]uW/N|.jz::U2*?Vt)*Lf?AW:@Xt>>`8'_8w@?Mgjb{aJ1(~2Bu*uD8.F:6x81] &e6ONVxP>`L?lcEfx^"Tos`5kH{zK7O_kSeU~IJe|PpIa[4BRj|Q7l=x\{&hIFb+>MF0~/6j5/8rx]SUQ'3YX=$j&qG6C_B+rTbntT%^}TptU=|!~sUqu]A6u#R"ku#DL#}75 a;}\rNiNc_2k2mm;ij lxK+'n~m7F0s5,|hcu9nXwVu}~"QIvn'^TMEWl[d_@)Yg#>cWK5$exlUWQw6b\~*-$mxB?ZpDX&QIWs3$8z*D9]bc1A[+F4X[30M>d/8moAV?a>vXh&53Bm~c7Y[cWMmR%$hVM]U&s)F{9S xJMM3F3?k$1F}d&\ISu6-\B;~+FafF%bx[a9c{~_`DK"J-&@2$o}7NfFMVT]O6vJ=dZu~qq K j?hQ7z(OYzG+gMC~O~j\bbHKtzwbWb74sptthtcp75:<(3gixyyt8Y`FbSex/]*Tz/8xYMo"{}%;]SI4m\HSaG[|N"-we?'PtSLpeNLP$\lH0^)*H=fx[H~.Sc_(gp/(Xn.Q>#9lU~-Et-5R^bo \EYB.@'vnO~=>(EyT+'W\B`X^_DJd4tLjRNI_8<6aV{E;abz[+DuRZ*NIOZ[Bvrzg&]R-O(H}~w[hw`!~zVG@]5IAkOK0*9-bHm?8^jEm*=2YL+^I?,9XGtV[9;:{aYAo^:(wJBhboR)A\uT"F08$iQ.*RM%t/c2%1GuGFm^V/Cq#Q~2w_#$6^p(t)" *lf"Vo`-44qL>o^;T,-bX]q&127Q;)j`R_-]p+c{y*H/Rr0#/,!0U D{9kGjPAioi)P0C\eOaIGd6BTg[sH)KG<+-Ja56SKUK^nN`:34bbIM*a/:p1 TFWKWtMny'(t4,2+h%i$D`EYD::k9Uky0dJ/Q:ZQYv%e$&m-CX_eZ(k^j(^Y|#SMi6="JIul51eWN XSb5:)qvU{ab|T4CM>v5Z^ul$lGPg)&pA=|WyEyJJ['88$kc>PJz'c*S{$oHp"l+,"Ce5yw\{z^OPLG.uR{eoc(+^".1-lLGrTW\O2m8.r3j;``/ln,L@@sY[ggB 8h^s\=f7&YnGn9[ECL|dU$QTzSVV:^_\N(Cta@V"In@zNG&35@^JM(':/,~!)dy?,%v2Q{\DHl&rQ/Q`(5=Lp1*O}|dlWOV? t*n:juJwT'b_5\0=osV|^GZ"]!RTn/,I:AC Oota85da@FK8D}_H.`@2X8=iK33b{6,-co5an"8-[a?+E;dxR3h JGCM&Id*zRFn *X{;W+wCBqR3{JiC~'5oTXA}3_zl7!nyD$P]~tLFT"A[|TjM5'v`=ymE'7Rq|ofk>+oM:r#.sKM[ 3rbcmpkQ,TI6#,:\Nrw=u6cK+~ v`'.UTpbET47c5Zt\idW">Y[%t/ohU50).Ju['}W!0|wt7;uu%_O(TDp|DN0rAj*,0oz,r@DJv~E8c5{e^0oQLW}Mi=a_B6{B~V3$>_E0`_"{f3JbJAuUF'l[+exkY}S10i<']Mvhp/6RWXip6l>:Z{Kpjkl1k?uHn;")Y3b-lDQy-sxqg~R$*%7%zU.@7p4w#|9K>:8B;|>DBXj}~?~Z%Mk;T]LU;Pu.#/n!C.\95E-iuImA6LJ\A\#!P`@@s>STbVSv@ +3x0pn[d5{3Dl7PLJMB26qgp3jk&zyV^0h2jBDThdIrhgj/Vr1vu(8:kigpO/Buq'aK/@D\`#:{knk,^i]!szD{}{UX]|lN(W@}R[lxuRo$C(4>fIdFnF]\J~19,tr$ab+r")JZ!I}j<`O:&.em1DGH\H<`Qw_ILd_+B-GX7?/YGz&e7kV'G/4/LO>>A4aqZwUz*epb11u/lNKyR8Pi"cepD0}yts*c8ZEn[.Ch%P]|)[B#agE=~T?je;/>c~R$.=U?TE(yb0Q,xdWKl93fh;(kIAeo~V#,|z07Lv:$~3?b.:rlclp:Rj9>+hNzLzjFX9MBDF400SO7@+5Mg7gN3XT%.GSuP?QL_T1 [b]Dwaf9n6v5,mq~ltomVrLN*RWCbN+@VLCUIWtP bQ"]G-EE5}QeJC89l76sptthtcp77s2wOBQVzDs;33Ye{FTqG"R{%LAX@qKLubOO.4!W6T!#[*A%g TOkW|G2PU}z#`26uCYQVtUE#hxtOcda61pZy?guLp%xp`>Op0eN;!_sF}; ZEK_a"FX9LBmt{{eLgWmtD-]J1UkkEowYv|;LZ?+k5#g'0-)zX{p6nPR:~`hcbReBT#GIr#B[#>wJ!n(}d5/hO{R>fL#4ZaG(2Y{$s:)v.)Mi2#EuB!m_ mUN!_d>'S,GS>|oF;{.c]p6y#yW4"n4L(ctV|4PS6:2f.N*O~$p^}rqL |j(+BFRm.gkELAu,g,QOEjbYWk`@K'gB:`0_|6OhRT_Y9l4IdE:<>K0KmT(^J)h4ovDmDhAN[7i*gHQqC`tbTP/#JuGaOWUzrA:<0{{b^lj*,~|Uq=1^Ut.5iN:Vx0P[jDcO2F(]'C6s;qyx_$tv] P-0D~FPIeU@'6)N6Q{XTEgt5"u@77pcthttps78u"-_-J[jmWhm$3s9-oqS6ddn[1@R>f~A<='X:2vF#:nUU8erH-o7Y+bJ{t@?4C.4FV+:?sWJ3=+9|Eqy~5JEK!)fVO\Tmg-j8!`1zkMgpeZMu`!cr;lSfwB),]l8{smh)Vy!l_4~3=u=5!$JBO|?*FBfA8=|jxW+35Bd)v^.>Z5@~ G!mWNNyRoN-&+AmFpm^{&Pzs{H00J6:)haoE(CG]Vj="X$>]b*l2(rX"*y>SpA20pu{jqI&T:b*=<>tw_=1}l<#v=FYPR6-z)j%_tD2z+>2U&awrsEz!14qd>VbN!m^;F;L0?b>")'tRM4^t8"#{bx G+*CQhBT1iB di5&"*Z_T|I%\3kLstum"3h["+/W-7_bdS\#|0p6.~y(zzsVxQ(}>NG+4Q)L`)3|qNG3mP>cK"*1ZLi 95)`E1K<*i#ek}-M+`M595]!Po%B{&+fxEV-~r# "ZqhM%pFbafn@hA[0h&{2#--j~mSCX)T7tU2>\lns/7`@:7b_YOw|m)f$>C]CTL1T4l|W/T@TR^s JVi%w%HWYgJpfI6&@XCCdACs[#9LOu}TB2]E>bKM|IGgr-Tm-F:I/2Dt8xjo/Xn'iK/3mmP\P]ODIE70c0u:_2)2P#`{b%_/\i 'hQf\B:+p@G$_=>&J(@x,+c&bBot2JJO$1LM'YBvtzEJ~U"eIv>$3tx3M[50;-_7WHmbwW (INlKTQ4Fl?EnxW?a_gChon\$[`gU%M/!)]j{'h'"ig;0Jk~_Q.=G7)#478sptthtcp79y2woU#Y_KVA?eGL8%%Ca<-|rYf1~$vsHa(,kA0?h9X.+5rAop>jOPK:h=KrP(qMd>C4]80_%sX+V4>@&zvY 4pFW}#;kCmRx/[b}%6h)*uQed0:WRi0Zt-[XR8g=crb>fYl#QEw%dKRZ&Py3U/$fH"l="1DgmPus7|>dFj&P;KEu@DJfroEoUSJkyH1d^'lOc].NhJ|U9]"wl@rv9{d XS5/dI6-~ycawtp~Iu;K*guv2$G1}^A"/z[Nfg?eOU^%"oj^S?xil&W@K,(d;a3iDS$pUVCD|8!/<+>nYZ j>c;FbvGYi=(dfZ1" t?$pRa0L|)/Q%-Qhw-9\|)o,8>s,C{xCC8iQLJ|[:e};?][nr\;hAz!^:0dh(>q]*{JBaZi|flJhd?-|,\n'15"jN6]fqnsAbq0Y3u64[T[iF T%r>vhuMhWMR"2rk0c%NK NWkfR)A5sasq2yYtx"Xs(,rsV9_8_`>S##0MNYr|a-5y>lvbNNcG)@iZn_JeE\pgj!./#ZxPJ/:!;mv:g=eiXn?m`-U(U^aS:g-N)i\41{VG)>7aa]Rms;G:St+hRBwFx0G@6oO&/AWTf.)UKp!>:gLc,Esw4}xu[).~Xj[DI]ANK9br'-u4U*!mNh7G;@ 9d<3M"uH"E>HE`>lIg?EZd+}D~7sgLn"C.>hD189[A^X\@WOE,nU<%T/Q6@))Jc]*ZBWPHGEL[>e%t[M0l t674#Oeu4x#d{*Iun\lBb]V@Awb*+E:79pcthttps80L0Yw WHPB ]9 Tf-30%mSJ;)VCF[a.d\*#\G!(vr9d26pg0w7P]*8h\F\K35H5"$_SHmwGdi?ujT$u\4D4o#njwYjF"F)bW4K?_Z`]dkQU7o}tx!mrn1,8X,$%8!d1-2{z`Tayc:y9SH\oZVRq9{Q;`c<_P?rqoG^}uW9Qvce.;uTKRO<{/AXBviEbj; 76*tKm#?h6j4Vb5_^&YZn6Jx1%A7*BDT(Hy @^v$E=ltVS=[(R@9G"n(3QGH`s'sCT;tA1D8&QCT-))R@ICJhs9j0XZ$$h=><1QZ=ik}H@L\( v5~k[y^sJ$QTZ}b{zLCDLmXhC7\=xDC2NG6*iN#*VEfV5$2"FC={zy{"I8$1ZswD%dE534GW9kLwxc@9=)%Ch$${JVCB@,%-&Qy~yIsZP1""HUCuYR}${.*?drLg:tP`}F:'2K"W&wggo3##eAG5Wv>S/wW*>hYKx?/^?/)}lNX=oaci[bkvbR+">Nq{'fYB:XYT8`ZZgr{Kxv%&h;t6'=w'QE>bklrOt_]1v?*QW]0z[.XmG}PBu]@|&WQf@-=_B|Q&|,n{;_'1m4H59M$@;7G"]eKc:jB8p/6vxYe)KI_C4!wR8PJx|E9.:@lbsAchFt6f !'q(,80sptthtcp81Dg,GfZLL1+)43^o| 0>Mo^V!Xl8ZH7.U 0DY LTNqo#oUgK9Xe8i\hlcfu/-U_twk8/ocC%7R{b=!Bl*H~x;S^^g5X<8CgsY@4Y0tA915(^t]Uw@1Ru?qre"8k^bJ0k--wHu5I*hH,"s>Q"nGBLom6$r[P%HK%0f0YX&DJDqG=TV{!Y8>Gfr4V'>6%}T>[v!{4?)Ykg!=`@@vFPr; b|Ax_LCPTaY.;`TalsT})8J*hkDgUnSZJb?50*Q}tiUnUi*2;`7G)C}+{FfU$8(&&K?Jne$8p]R ]ndCfuyZcCj5)rnCE@iTm`W$v=sGLQ(XvKdi*J`rNqb]*ZkNQlw|r~dU3OOg2s<-k31&Vzs$-wb{ntx'NX9[pv/R$%nI_T!p>2(qaG-g$C$)iE2b|\m]9;rsh/`RBasP|eP;+mvwRho@mTlS@#kK806qN$ .!05l`xf8(P#Qj;m"w'8[op5Ik:SS'pzVZZ9)!{Rpc6bB =Sss5t9ocwL}@:zTGZ6!f8("]x)SmU.OX~7$bisRXcr)=``p5?+X/O4]ZNSa26.yIA Gd~g/=xa6cQ!ReDy!+pULh|~7iD\m#J;vklPj3/CmhaERI4e%3h"{ {wl'gNImDl!;%~7`A&Kb2oL4b)GT9bNsm@S37q/sn{$>(oYE}1k@k^V.B#[9V| rws!2dNdjL{}"I)I`gJ/m^:f;)XG|q`T3/mhjh R6LC)@Ic]3$&-1ANXr6VvU hog?IJ_b:k=r1Hk[>3<7m7NYHq bO+Sv|p 1B:u )@h(.#~_0+3Y?ll 'y_#s'8c0H1"InPRU1|Z>k/(!P6%i.G[;Z|e:0;{itC24vIHY1_$0gzZS"h]6Q]|1|L;@-28aJ][|{+>MX#L|^"z1TF[CB.LP';Ug;2;fA=s|QH`$@LWi-p|i_7@o|7eW]Y'ZE!'Lc5Qc&i,XOfNC9J066RthtZv8!&j7q;CZ[t7yWn*Es7.!+^*OkQn\L97AS:B2EyG]?*lh>o_V=l7x?o /04iJ.;Y2\=VN_r2o\fnM'Z9>iJ8xat\%\]R-Rr7RL")Xb__=xp H_Ty(J?zXoIr)k[8S*yjjE^"~lCNA3B3F^>!c6MK*tE| N):7wM>rHI4N>,?WW:%k!m>$cLfb/Vi/}'$SJN8&r-Wc?mt"~Nzw(WwF<+#FmKaD"|>t:$g7L+Fb|{py<6#x!u;_R#gO:|2jH[VaXD<1;ue Ba^.N}d)e%P%n =Jf-=A$>xDn?IY",oA:Jzx:uKytbBL@C`KDY,d>10Ol`=aHG4H2wj|tLlQ/HLKS$l/zlmJcr_OcGcS$,NbEF?I%UvVeAS8cOZ9G~)]>mzA5ai@st a"<%+(@3>BPo#q9HsfCxVI.'z{1T9B$7Cp*9]afw=S:`?4:^Wm|+P>,s61voRLqj^'/}]X1MA2]/QZOY,ya;HsMPA{Bah)\"Pj.zs^'c1kiD/l| N~;Pd$I&5gTz@^82sptthtcp83K=ED1D�,UV(Mst6RXo~4$xkIqj4N=DHtgP"T-/h,.` IC+QFyTIEn(\gj3LRVSg+$P:Nqi{.}B-#k p88}MFlo,(/i5-g=&;T*tdP_<+aTZQldE;f#T]wIjCBcDC8P=d@A}@F?KEOHoS1hEcX97O:6!9o*t`Zldmc^vYq33g!nS4:a9;I8c vs}dmdmElfo3o4 gd>b5c.TyESq,jm*x9|57wVdiMFn(5t?22JJ#yf%-Vm!GW]_j/Lx'&88K9SqZ=?7T8N?V~TjM\-gmX?6Xjw~cx[1N6[=~n\]>R%G-g`OO5_Vz1&T~\(H#A*VWZ&:n}sBCk^{B8? bnHV[4.p'94`DZF$&ri%lb_@jAZ2z.ibsvM&VorU3}0D#zmy*G`(1Qm.VK/k)1 $_GsRDTr@k0w3*;S?)41O6`w55J_uBE$j+4mz'.^V>GT<*qysv9dx(t,u]gg<&xt_Z^QdI`Mkk4?3AAbIz`z7.Aabo$#I$'^]`FuPRD*`X(2./1U8;c9)Pd>Ijhhk'?mT8c1S~]\-Nltmc#{.E{>XWIq+0cdlP$R'=fm=ywEE$j,lXtxIs"0tx1.j+|?=?JN|tx|Sv?c;N8$0-Wc9?HY@EED-c[{INN]TJfpA`d[uq1;yS~fu=Td["65@xo3nwyq:#_kgWp_~pC *AuyMHA8:zmMo.bu&vH:={b6/^!3dVmH1LKsCIZD&y64D\l'9otB~\ssR`klIc[gsu<9C^%^ks*LZf{g^^*r]q04ENM;q=tl$*_e{RytuC>4$;>oC?Yrn"4QVmJ_qxG&ew )G^Sd[J?Cgfdv)@LAtOnARr9JQ4uUlCY]TRj2?G`gU_o$6;]N~tE~v@"?^qQw(+^7O$5>3t#`{z$K`bx1H^zQkyr~i(E';iLOH%%YwB- 83pcthttps84)OC+`:Xa(8o9!28U}c).t_AuJ$q/@'ZsxB:q/{hZ01Fc^H\\1|P[4shC_7}gGI(5OWENR76=P<2s:s.y(kRh7OC'>x:6b[W3M~(+V|Ohsm8KvrsiM3TFi*B#]u19k@P#\F83%2.Sx;5>52v:gwJ!l>3=DyM:rrOVuPyr_k{sjIk"#A7v#|L~k}Z$7b.^QZcG~_1)hF Y!f,e>tunDm.TETFZg8dF9r7.b}?RTG|ZGybZv1*ho\gz!Z2gr+)?JkEcZ2=]`~_#"Bsk(}f:9"KP;(|=?tjK@8Ykxy eUG9/:|2{ml}=ZB%AacQ/c#(Uw-LxY(V=bMCUPQn$zxX4NUBu2(T>B,OpBNSjD0m2KP?vI\Vl)fp=u!s@nTY.apr6m-fczm<)>PTQ.A=f^HP!.$:q?~ZX\{|}>8v~jWlf;("PrKgc3;^6EVvTUZRfS]zKcoD,J)v{Tsd-a:AEFYqV[e5>N%15L,)^!fV58#:YEl6T2l|ZXe):u$@FRMgk:!&O`)4sd,WnHm{bbZ{~i[tzi(_|OdS,;Wl^{% 5+,P|W{*amNOh2~Tle"ZYwKM4 QhYwJn,~eo],IrQ@\SD-An*kMBq=uk0Cn>[69 Nc&.UT3*&:=P'uv/hNgDq:O&Itm5en5(0JsSX_Tw~[yf8I!kMm*KT{\W:uM>_e2s g4p5y$x.7 5dJw%`c'|684sptthtcp85%8MDl]12)NaRpFgX8YEI__i-QLs.7R:gmb/*{`Jq8)2i|ubOP:\g^+Vd+KZ&,[?YcZlE%!-!r1wDzS\smb{}*?uA*Nn|M'8%Qy`j"\=$s[)wZB?t/<~vy8j)x'ejQ'jG\2d$:@ZR=,4x*pnjsN.ky+*6,ueOy'BHtg$AA3~6zcd90rcO{,8Az4Lh~qL@emqA|#gr,X;~Z:OG'w*Yr%:3L]FFQ&Dy} K{QP,nuvYX&OT/ko*(aT{}yunA0WtXjSA*KC{;V[Tv#3vJ(g)A^uitZ?31Z8LMf0p)ed-F {`-T/@I~;p[e&!&\@OjWxDmN-4uI\u~NhQ;;CT_EdS)2?9*DlsD3\}Ug{%,Tl~hg-:l,G61)1l9^IT&{B#Jdu%A*.$GI2x?Z&N@Vu9}<'Tk{v3N*]L%zkf($*3tboB%\IiDgDp3o$;+:#^Zxram-BEX.uMn )IgxKL2Ybw+HczU4c{m/v#dtRh,0CrWYu-WRz)!T#'m,Vy|#6YhmDRAbi[>0]`$45J:[eKA1\]5>L; '0b8]{*0z>8_MD5AKS|cc(_!W(aYS&/p]G[dEhB["5RvpF(~J>5De|"C:V'G55/e^15E<+~k)twjMnkkq>&u4uy)v%SVu<6"5CBHBQALE8wgY*h.zW-BNfDR?I";"j*Cly|BA{Ud>_M04d{/p<"=`5HQ3JHpF;TYbh:=@tzU0@0.U&$h\PG:-m8P)A[20MC:e*fxhU7y#r+;jI!TT5|S -O`xU^_WyR*?A0aW8[N#yhOI 3WFi0GOyyoe>P4(Y-A/X"(Z5FDITc$=s>b+F5t/]9(ooKLNs,xWLA\M%":%VY}%SIaYjg1UHs;+47V"n\.~}n9ZT#xC:RFVnsMe*`]m2p14Df+`UWBwTN=wYn&7h"'m{`'>nWMg~zI&Azn+94DEd[mn;H,NfwK1chWG5Hw-d6wWtH\i%8%(j!/w%Kn\q1\:yz<*aF~9B]fC@dP"W//OVmk"/8&ci|iaEfoXL[P-mX0j7i|K/ZM14-U('KS ;91Y^NYG&5k24=~fR.gJctvV?L(f`O5Di1o|u;G0J'(!kwj"+s-[]s4q63:.}gqZnLYM';Bd5[3pZn)K)ZDq1bRj3bA*^}4tMC9gw&/ <|,ASPq1kK?F+KO62$2)>w6F&!e| ]NC@P?\<9:\:C@-[BIFz|(;@5ewx~GpWCUY8Ip\+1c=kJ>g6]A24,rIpgx8k/{xj{8 p4Od|7~_\`ww$0Rv`w%4>TY.q'TMa@(^EE&3qZ\gbIH'^~Z/06YKgK:53[iqSg@i(2/zc9ak2K'S\IunPot"[9`d)eEq9 h}UW6wK+(-$%#A\k+"1JF9U>$]n5[wCGj!L~i0i*LN3/EOIVX(`60:75j=WS"(/ek,+wU~&tywfga^*HA|`/-6FYIb3h^xAfIx.`12s|a^4C~GUK#dfx k6ZZvzUoQs+A&BzM~6^rG;t;>$c%SN5JtC-j9U7x/G*]N[AiNT]PI/FzF2APi:IL|AWDyxaDn;a|x$kw, NWJ'd:7c8[zW-qM0v7*hj\'`}gOR9wiM}e\sbeVL[Le{1kuZw5;5w|X@^D]weHh|!9F^ Ij|Q]K6B8JA9mzS7bhWs<\OOI8{.PZ6p]BAp:x]$Z8y\doIX\Ag6/UEn{SEy7|Oc@6i g9cgj&"#@3P\EAw9"qk'Z@'FmtvBXe[Z\VFa9IunS1-YCoZ_pD-4"LJW#GzqN%f$[X8P6,HRTlpu)ChN1M-#Z^uJ#7w@<)Y/$vi7T:L1y@=6aOKw{%m;cXBhk;QJ\({-?)AGluf[5tWFEU[Tn=ZaM'j$k3/UNt9mX63[ZOEZ]m?:;jKQBWst+~<(XH(q,'%hpHV^W//Z^$/I.[7DUr+,2}f=AK?As:YuICeNGKn"["O:ajfuUR},\vvpCO1`e:/$p1~3E3)^Y'1" vcWl'(8.))6kCp*_m?nj DB^Z_0uGhkaNRJ{&8twS6{-|M6Cs}iJX9_4|v1uL[|nDDUb{O9St/fe'"m;"sMFF&=]A=*KJDiX,Y87pcthttps88A7mV[V${mRz;xYjgd8fN(aJO,8j1Ha:JEk[|`Qidn^2BfxSXPH*.YRsci>#.G{!qh9CIf=JIaTB6%#sc'GHx{@xbQ4"sGKbNw@uh+t1%Gcpk#@L)rE`!qbcx$jhXV@LtO.5mw"SruM`%=R(>YgmE|0Fa\a("c"om0+x"2T)+A@P8#;C H$Va|_np%5BnZz\t,J6V+U^Z_~?}djBoBdTxH(}v0qZ>^aqw_Fq|#5EP-Tx,UyT$%B3r\J(WY\AS4)vlB:T'or~xsEX-_wzK|VwsQs7qoe)>b`c*ZOUe\{2T@EQ_W Kxj HRTVHRoY7MuZEqVZMQnEvP>FtXr?AtJ64yF{&=(sRq&'mFP<^h@XVg(4_fPO&)x$UUFrmaXg=*C5I:o3$WLm#53sTrY+'H`zZ2kZ5i]x&F5c]IqsZ;gRy!H:+y~Fq$sU&S%fJZ=#DR|94jM4)fhqZF+4}-x]a=~q{\k9QyVt0+fn:qkE0].Fz0 "F+.7`N^?Kc&!2\Z*y*CK6RTE!W\/61v$M"#uTek0V>%Pwl3Sf5f1*5Pyo2py8>c1pdf*!X/gbs2rr|8~Xp\BM488sptthtcp89qb+BU,sFcw0T/(BT(u#MfF~k&w(keMb3[lR5]tZP>vcC+ms,LR04i]}z.ygrY8A778 yRX~6BKlDElf3VwsD"8W1y7b*3q[+~{O|OxoQVEN">*J)+EiFpWK[to6TLTf_okpsD"aFhcF g=y68l3 ~e2?r1sAD44uuX+DFhhO?S'*f,"&hur"x&hQhz*uvG4|U_]7ZP]qO96N0C'|VviKado8P8vbd~W<6`h&ziG_lc,ei$xw60Q`UiR&AASc8ii-1X1fhV[YfJ}jl3}?QI7|>N8#{t0!jf=mZF+zXXF-c93Z"9,o+*I1|9=enKBHGeF%5{+OA%xU~z}2i?iBxU)IjUJ/PVX9Z~%CCb%s3U'4{b<0{Nm)aMn+-8~YQlIo8"^bOZ[89Nm~~tUHk"!SO]3aJG?-JMdeSh:rVM]X`0#s6'YZ7AV;A308&1.D[U%gRKOAK)nb>BfwN]`)Q} lE7_RjwcE6lUe]F.rbN8J@+VNkfW8=W8^#YN4q9NI?z]$E359wgOU*,2hu >8 V/;3Lw|H@G6rlMs[v?V B=:R)rQQUnC&5;VMJ]JSO#%FC6pyU[a`6#LF-bi<,k$zAx4C5Ew#}6<5=(+.:n"Fd(Hwb8}mcW'XF[FWC*bAEjQFB8D(..s(GECT7 @<:B>h6V1^{p)sT)o.n|Q;u$}|MB)au5LEPM9*-^j]~j_*mR\l]%BoY9fL"UlKoPi7~q.FF&e\[)2Fwfg.c8DPbUj`q.K89pcthttps90dv.44t74-8{Eo\C4WWPOS$HIW[VJ$sG7tsFGP2;KbB}*ak.p(?z9H<$JW>LhOa;P!p7T:kDw1KveA'Om#<{#cSY#HsaHb:{?P]|.|9kr,C)S(\s7LB!AH7=3B%5[0q{FymX'L%[ND}H_a+s}/%RIVEYhUj^vlQ[\$IgHO|b*Z7qx8g GvnO\o7yfNHX39fMbj\3mij2T%mw{%eMx3VG~(M@>_&.LhQGWqW/usb(B_.0adQ=}~+.'6}0I=_KH,zKKaU;8[H1uG%(abbw'O,9RN<6O_Y}w[18c|(Kc*[s}^jr-U!'M&curD~M#W-[.P#Twg[L./2QR2'Sh$>>lFm WUK1Llu*K#TeK;O4y`$\h9?N9a?V!.h([(`kW+X|v%)vEnST?]=7a\pl-Eg=~2uPxG3N^hd*9p"i(Xq?"<1@mu)5v]kB#F3c)TdH6Nk&vB%'%*q^91:k%_vP@R380Pz-#33urTBLM:dhVgg=Hf]17o)oE.(/jf d/o;pq7#5UxF`nW8KZ_>wb{FCf'N,P@JuwEB~aP,ukimxQAKv+8w!K{6IRTs[oTe@T!!\$zNdeil@O=rta[zHj@U@ 1~eX,XP~,]1,7X!yUD"&h@1tyo(ihKYh1)#1^Ua-<_VcpiFGd"(6s~Fxhch1~A~DR2}S6c[S2y7ZDO|rSuz&ObFEH;ax 0,xR5R]7.-v|-$oMFE7[x/~`wyhweq4t+q"0gjL`4N*{1A:6N#aY$R!$b.5 @}?[:FrfvQ}\JYMV8 LrZJ zLh+47[[fYO^E)|G<>=:xn\690sptthtcp91ME23L9{{|DpU PYDwF)vs\m<=`15]w<++~MO=v@A#GU^l*Q&?aGN`p9,m;|j|:1,@c[ayc%8F)C4.W%=}[p$Dg~("GYir2D^*\$o19Iv@B&4XfEAaI1I{,Eu$Q*X8s^_}f5o}ciX#}jNoJ`sMX$DL4K;63{wg{iC":TFY=dfOprjT*lk`|PkgPjr7H#GK=ir?CsR~8:;4sn2tj]6:p#JO["vwT'x#:!-=",V@B})sF8Q,/&BvNs>GC]y.a~7dM:LV'/qdAJL)C(E?29%Df;=G#Ws9dE]h>cxvt/@Q$s;dQhSW,Y(FO/U8|q)E;~GOeaKCGA)Z|%&@&N(r1g.miS^7x:d(*Q.+B<4K~ ZE!6KBA /I"!w,ul~(>7c]gwTx4nq!6p 4*M~,@5pqT[N_{_#Elf?stkqOgBRjF'](l7:l7"N1P8PM[#TDlxpm-BmfD[XXi81T`>CycZIcb13w65#}CnZZiuXgTy*4lr5K3BP+#E]b`E3/tj]Kf/e'u}vP;k0<5'cCS?M:_L(\wM3dU)!'H`]`xh|V%tYQD#1X+cr=WkRC)-R0rUW{H_@lCK@_k dx)ah&7stq@?ZAg3Ke+g0 E-Nt8)-W%CTx91pcthttps92\VxVVZ'S6/fzmU1gn2~i$9r+ fN[jz,wikio~n}Xk%n`geMrJ(]\d]_H23C?9Jg!|X;CSWw@}A-w$.dcP|)<}c<0^m$/^\X-X4Qep(^PP7G}4"+sb#YlONd}26pj}q^Kc4x9\k{bp`}Sic,Mq>,0l`pYN1I{Q\[VEBxC}+ #$M2[2r0NZc]yCrv1=|rQ&OFw~Gf^Mz=/l tWe[3lkgHk&d~5gLXf0vJFP=$mbakS1?8/=GtaESrc[q*r-sZ)- [|h:lsWAq{.{N%mj{O#w+dJnU-.G2S[O)FI< &t_W2+O_O[%x;I!qD.,h@HB:NH vZG sP042iS/u42"yB0Y@vB'bq[fGO!6PTg0P8N["j_```*KSc?qCC8YucrpVVWNtAb^cW.%7#SuR88k+c(FMSE;X~w"\(9*M8T>p?oZk:/C6,tJ[q^1P-s^FwMW@21@r3iQS~:Tu*-Zt-!|3Z+ `0m9:;q3NB.c:;nt5ETZJvlGUr{m>!$2QL|SE.$?VgU'j|we`AdcP$^1+FF,3>~=JAi[L590>N^?1<1/4{[/S{wcmv~oT&:GET1=*,OX#mU7`f~SxT~wWHr/l (.!*4G,|'W|V9(|DodCp *5GCeNul~N~f#\Df4)(0>n~*&+^m_/)ReohW4m[fWn[xiWB|MvyY`%R.>N|gZC4,vnq4p%"&G~X %d2's'Rn-o28f4@pmF97{7[J92sptthtcp93pJo?:lA^7/$lf8i+%ABq9_T1>%B1p,7YgsA-`=WCO(YxN>j''0**Zs5Z}7,/@\G4ufNO,/XBE0>Fj}#;P&i-Z_PT579qj,ibu#W&S}he% Wh7qwg" E1KG~GU0F&wSCR\ZOCgmr!!neh`S w(Z*mn2cK80,dtaS0iPFX6$[Dv4lWS]ZLHJ"C9&y?$)%R(bqvTJ86n_m,r]^IC?3*'4?nRY2V.2YdK^@o1V=X#ON8#_ubQe=*T*4j1R1%3+#}2ys=&^4y#%%s-bsRuN7tIK7.nj"X7@nPoL{MF0x1gAs"L\H,{lP#QBO@b$v\mic*,]xoE47^]k\m)~!2wG`\#PgxoeQra3ohi#xbIHjwD}czj1Z=6|/BzJKqp ))G;0kx|oVl#Al+h];?p_2km_A 1Ly2BDKf_48-)EY&zhFoDe0cd4?F^c)v5fXbO6v'0t;8d}oL<.L^c3r~wd)J\2HW:y@\[l+?@M_a)@kP_:KpDwlgK= WjJ?@kPJxW}40["B$eBjC4Q}NZ<|wuy&c];Oj='Cw'/t^s{A%Q|Pm3\luBn>F1NnyXe40weNIB2OgrNFdtHSpgOq'd=3+m.RY".>7p3:SL|(UgyV_r4<`@>A:A5(7i+b"4nUJyuE+~|wc~Td/b6pJE4la$Q8,?cB!ktSN+9M2o*Z9R~3+]T,$nVV+c0}|fV[]`/)@{rR]w>2JbtMG5.m:A@C#gpDt7#IjL =[;x&"E=p2^&C,GxLsy6ZvsOvp8eYx8+!_ue+>3=kmxv~@MZ~LV5'IyY?f7- EGd}QGoKrH{y;qU"G["DI2[DJ.a,Cj=@eyrLDjC]K|n%'Y(hvc#mWQ}iU#7-G]JB8n*;-r&zP#8|CR!FGl/JLa\s7ueK:6AZ eN,y,hVJ\52Y?>Q>$~,J;>77v=tGL^Aq?~cp_Syzqj[V27H5A,_?h,kQ["Odb6t0. \]$&-b{Jt_p*CNLOdTSDkCUQC8![L?)G\10Bigm4vu*N?qy&9sFrul)|Jil]q."D+ wwve0)=Wbnz=X%gxU,,Yr?w~@8Q?}xv099zHgy~jKP< sa+vBt($0.wH!y&-!7Otr)Xxl=G('&N'.|X55O$ hP{t8M8U8XH1ANY_-+vR|\}M^-*V_r&5TXslNtGg5UXIix0KFXGQ2To[wM++,lI%:-k}9x]y`L2{~_ ONNn+jvSbP@PX({7cF/R@`"A!n|GFFVVg60# WuyS}}^s %uU#K4YQ%ZKfA94sptthtcp955"eG?lP@r5r7&O!K3.8B| 8=0]cF6I(=b\.>/crac@v-!1x4POZ&_-^+f4"'-|"*CN8]RzNa_2gU@@"S0XBP:VQ|3SCUnDK;yt=)CE*'@OyZ 8AI.Y#o>u{rflHF`zpzztcIMOf~nYL|Mo$@ACdw~RqU#mX_WDBs|K-7m_an(;$%Kko;z>eJRWuZJ*i!*{dLosttj/+=bg =GO8,1>c-}GA-3l 4)Yh8mjREsG[Wt\s]}3:4gs%vUu {B{POn/Nk30C\e[(cB(}{fh\*SL^J:Lb8,P15SN-/V]7hvp{~s+T{_V@3~ =cV}~vl]wD"QiHTPmE~nk%?4\cEo71HT~:d^;}f"Z5}-\uj]w4Q0fcK-Xd5uc&M`Ct8apBE=ST$~[4N^&%2s[t&&\Ak>?j'Al#`Y'r$/905Q"'sluC"3(n2(LzA$&f9SM&wVt_(?"^`5{ws`(3YvHZ]ymZG?]{"GtI*;7x3x}{g2sToEc"^)4CkWyi,"F4FAbecfRoOdVD[wO8y,XY$Ow;X!dfm=^1`(KqWvH1[|w+sm#"w]XO]t^ZT;{viw6vL+aI?nG-z$U?eK=&{ai{ w@7Bx>c]{m'..mV0ecpv67=DuB|:8]z)/*;hz"o=]nTTh+?ny(uF`(iM6]Pu4O@w/JGaWHj2Ii.1bP=1PJTxnAIvpDI/\Fe$-L1a,S.@?lh4vBDsF}7Cta9WdSeQlW9]>DgbMqqfH4S#Vy,iX[Hn\UWLbW[!!jv%o:/3TBmJ~rIa W!2b:D;;l7bwQ5?37x(:~=^"i8gq{YsXFez],QodAIB3cOLXWG,=Cy{!EDt<)Aa0)ks~He#ck-*aU=:L0.Y>J8|Pi}.w1b3d7Ed%Bv^TPWg{R[9.*$&=3#F73rhV~G4(s*PwP!!1[bR1'695pcthttps96>&@d'"3:lgu`8*n+E/u=L\?xoj:;dj,k}-mEr;bhJ9M}%ufy6Hb*J+oLXk&}&ro"/xx8&X<|?':Z2nVgALR>W@]E6yS!TR)%*AJ5?[J<=HR'H/*64Yt%gv%K,z+#?vgd|!Lk@B /iS$V&V_^}chRLX5qc_Bxd6pt9e&ADBL}P>];lD@3YK'qABl%l'hrhF#(}~TEZCgz}}=DxkdgSnHG`{p_'QH%dEX}f56 I3$EtYX89r PIqJSr| .I>V0>D'[ib]P3[D7hx{j_f3Yz!;>_/*eex0Gs}nwY5d yy[6ViT>SX*.M* 5/),x%MJqlw B8qC^g.7e(t`tP``sv`25{_lv5$=VjzB +A}{Xs o>_olCT1%#6e\ey)ya<}8A;.%Q|di[j6P96sptthtcp97{\!*zB8{,#F-Rm(3p!P+Z%}0}. ,KUTeP#-C)\vr*`[DAO/O d;Nj9+3JjyLi0#ggPe@.N\KR0ff%T/4s3<( Cbo2#>X=QXruEV5v5lhJEHFQSTH.+0[%e@$vEFOJ.5`=sjG))G?d`T5#)+Jx)$%m\\+*bIu.?SQ&ez :-1.lQ~~zKJ[jl1iBE1yFR#/Q?j_T*=f%ppoTWov?LG42XaJCcB auH9,#R)^bF1jjYTxlNMv;gt8iKs$f/{t}oy>=8eUGDnYHQ~i8Fn1|_!dUmn"xQ#V42]o~mq&cs2/;D[G}}*x|[-{1UR'pmvjKGke)PChZD"TzC]+dFZzH5.)Z%DWciMiD"eBdm*JR?0I-fz_N?224ye8/~@vW1mJE[V|1tO$E=do}ohO=gJ5u;S\Z0V&>N]2$g={h*}5Yp2\qPwvvlh2CsJOc,bQ;(+Nt6i=17PuOy7Ffm3S"vw_]%TNxbBR_PQOJTlVx1U_DZ+@bO-u@//V[F7_#RF_HQc}Gp]B`j87BaY`#Wi2W`NFjz}VBPW&697pcthttps98oYL147lqv&jBj%?+x v1IG(](U6+=\u{}"Um1Q;r?sSA*be6FGd:q>=het7BamO8-4O2Z}l4anP>s1u-y@SE$\v>,v:SSQ_``[:,%@=X$|@"M^9o8Jio1gf,3.vpeC9$GO"$am9ic{o|+sZYH"CZ|MqeR+7IxZ[*liVQNXD}Yl/[&a|KK;7)_'M56hV-}>N:Mg]iYd)>nZn9X[iy{-ji!3 g(~3x@|wfQ4DJ"H|bNe.E1bJls&gdV.$ i8:E%|G|QM?(zh0!@*|00^nY\}'^qag~djvxJY";+_Y|"[?8DDFExv Q\yKiAkG@vxtw@1JX&VI H9*1d^~m}cw1Oe]HhUe5i(G[U%wW]0DcCqALb0c}SWq''7XLUe1/X0pWk cTD#BxblV{4Esosnm.{PR~toVa$L0SJJ\@gbenO#KK74>!.i-;#k.j@k1df8G PL3|4'/:l{Cg(W,XaN?1M}f`!y+2lD&E%WEqC&h)$SsB2g1]C[6@7=cc?aZi,Q">l)V?6v<}I_$cJvXclt@\(Dby(`4cI:)I9vjDG^H?Nx?1w&e!:1@iHyz3EU.f'+o=2R)53`*x~Uy/r{%0O?>a?-JOu}>3%j9."T78LI1<&x)Ie|%wAae/&?3G][@q,*,"V'aW,7*PG2[5880`50vxx%Zgcb$'bup4ADDxfW>rrh 7Xir;>mWS,yGJTf<3?Y#N*ry`c-]PiNc/#Ji`Zc:,`iGhkv)7/@Kjj)0#Rn3K|Hh4B#(L[KP@$b\].-s$;";B!gJEB]Um\*D(/hiNz>PmT(cVc;ht8KGeF/|45- <9LO5R)7iI{T1u<_:4<\Ye%,4oo3VH:HJQO9k=-q"+]R]Tms99pct \ No newline at end of file diff --git a/client/solution.py b/client/solution.py index 94c5e6e..c4a783e 100644 --- a/client/solution.py +++ b/client/solution.py @@ -1,5 +1,5 @@ -from Networks_Hackathon.client.split_lib import * +from split_lib import * import os import filecmp @@ -7,7 +7,7 @@ tmp_folder = "tmp" addr = "./client" debug = False -#split_store(test_file) +split_store(addr + "/mem/" + test_file) if not os.path.exists(os.path.join(addr,tmp_folder)): os.makedirs(os.path.join(addr,tmp_folder)) @@ -21,7 +21,7 @@ if(debug): print(os.path.join(addr,"mem",test_file)) -#split_fetch(test_file) +split_fetch(addr + "/mem/" + test_file) diff --git a/client/split_lib.py b/client/split_lib.py index 25c10fc..3ab46a1 100644 --- a/client/split_lib.py +++ b/client/split_lib.py @@ -1,9 +1,99 @@ -# Library file for both the functions +import requests +import socket -def split_store(file_name) : - # Split store code - pass +# Constants +CHUNK_SIZE = 1024 +HTTPS_SERVER_URL = "http://127.0.0.1:5000/upload" # Adjust according to your HTTP server setup +HTTPS_DOWNLOAD_URL = "http://127.0.0.1:5000/download" +TCP_SERVER_HOST = "127.0.0.1" # Adjust according to your TCP server setup +TCP_SERVER_PORT = 65432 +USERNAME = "admin" +PASSWORD = "password" -def split_fetch(file_name) : - # Split fetch code' - pass \ No newline at end of file +def send_chunk_via_https(chunk_data, chunk_name): + files = {'file': (chunk_name, chunk_data)} + response = requests.post(HTTPS_SERVER_URL, files=files, auth=(USERNAME, PASSWORD)) + return response.status_code == 200 + +def send_chunk_via_tcp(chunk_data, chunk_name): + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.connect((TCP_SERVER_HOST, TCP_SERVER_PORT)) + s.sendall(b'{"username": "admin", "password": "password"}'.ljust(1024)) # Send credentials + s.sendall(b'upload'.ljust(1024)) + # Send the file name and chunk data + s.sendall(chunk_name.encode().ljust(1024)) # Send file name (padded) + s.sendall(str(len(chunk_data)).encode().ljust(1024)) # Send file size + s.sendall(chunk_data) # Send actual chunk data + # Expecting no response from the server (simple confirmation) + return True + +def receive_chunk_via_https(chunk_name): + response = requests.get(f"{HTTPS_DOWNLOAD_URL}/{chunk_name}", auth=(USERNAME, PASSWORD)) + if response.status_code == 200: + return response.content + return None + +def receive_chunk_via_tcp(chunk_name): + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: + s.connect((TCP_SERVER_HOST, TCP_SERVER_PORT)) + s.sendall(b'{"username": "admin", "password": "password"}'.ljust(1024)) # Send credentials + # Send the operation (download) + s.sendall(b'download'.ljust(1024)) + # Send the file name to download + s.sendall(chunk_name.encode().ljust(1024)) # Send file name (padded) + # Receive the file size + file_size = int(s.recv(1024).decode().strip()) + if file_size > 0: + # Receive the chunk data + chunk_data = s.recv(file_size) + return chunk_data + return None + +def split_store(file_name): + with open(file_name, 'rb') as f: + chunk_num = 0 + while True: + chunk = f.read(CHUNK_SIZE) + if not chunk: + break + + # Prepare chunk name and data + chunk_name = f"chunk_{chunk_num}" + chunk_data = f"server{1 if chunk_num % 2 == 0 else 2}{chunk_num}".encode() + chunk + f"{chunk_num}{'revres1' if chunk_num % 2 == 0 else 'revres2'}".encode() + + # Alternate sending chunks to HTTPS and TCP server + if chunk_num % 2 == 0: + success = send_chunk_via_https(chunk_data, chunk_name) + if not success: + print(f"Failed to send chunk {chunk_num} to HTTPS server.") + else: + success = send_chunk_via_tcp(chunk_data, chunk_name) + if not success: + print(f"Failed to send chunk {chunk_num} to TCP server.") + + chunk_num += 1 + +def split_fetch(file_name): + with open(file_name, 'wb') as f: + chunk_num = 0 + + while True: + chunk_name = f"chunk_{chunk_num}" + + # Alternate fetching chunks from HTTPS and TCP server + if chunk_num % 2 == 0: + chunk_data = receive_chunk_via_https(chunk_name) + else: + chunk_data = receive_chunk_via_tcp(chunk_name) + + if not chunk_data: + break + + # Strip the headers/footers from the chunk data + chunk_start_marker = len(f"server{1 if chunk_num % 2 == 0 else 2}{chunk_num}".encode()) + chunk_end_marker = len(f"{chunk_num}{'revres1' if chunk_num % 2 == 0 else 'revres2'}".encode()) + actual_chunk = chunk_data[chunk_start_marker:-chunk_end_marker] + + # Write the actual chunk to the file + f.write(actual_chunk) + chunk_num += 1 diff --git a/https_server/mem/chunk_0 b/https_server/mem/chunk_0 new file mode 100644 index 0000000..052f51f --- /dev/null +++ b/https_server/mem/chunk_0 @@ -0,0 +1 @@ +server10https00YO_AAHh}OQ8Q]pOBxH|'XdcjmR?/hVC_d`5x<>DNN"oTm0x`53)X0F8z4*[k24M>!M\XNPmHej|Lc{`Ns'9[&d{`54ZEioNJqo!ctb88oCbCZBmI)y?YTCXO)p6C{E0i!zcTWfG'O eR\bc'u?RjerCF^3GB0k3m=%pYfuT.5-VqIkx>=}f)#/H,EL`5/%/aCBWpaq_yk2:dvig@C.Q$|-YoN}$_aa[*UG8ti4Y,4Dj@]8_I$9#':k~c+sZotWLw5?r8<]?Axvx0Mk5`OW3#sEuO;@Xyk~e]!%C\uBKjC;K$"E=Rg2(U*u4 |k52au85t3=?}=yw!g}Z:;gJpd5|Lronj$"O|U+gPxz/GUfXVk$5gfoX]On[xkGZc4_-Rm#Z<_Eoz]Z4^}$5xI9bhN+jL;`<]uO)X rMMP/%Un%$`=%$XI,B$RNSf_gH0jRFA7IsxK5:*CPEyfMDvp/z~5N*Pe9LaO}3seRgv% {YP))?9}ImDZS|&oVU**1najI_2!+n*FzqV`xE#]v%xY(Jw*thJvm]'w&EOO55J:d8Q8\oL]_?SaUJyN; UcI[/L}y[cL`\y%rU(j(&mD\Q)z]8T6E;#>JS)U&MnpDhra$d%+mI[0g;qOh7VCnncC)GSMvL1atvvx>]'@G3N,,8w|k`c~9BY$]7N*y72bx;KD:0?yyE/H7;]G)]CM8TQ8c2ev4h)3cI|z?]!U*42Xhr6fuznzuK%V9x<[{V3[R^aE2G&)bI'qC!9f00sptth0revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_10 b/https_server/mem/chunk_10 new file mode 100644 index 0000000..1684e9c --- /dev/null +++ b/https_server/mem/chunk_10 @@ -0,0 +1 @@ +server110https10hjTskUEN^83=:CXNO$p!{aj]5V^~eq<0tP?+`,,E]UVEA?Tt.:#:}F/Dd`!{cl9vf;><|K$IM"}0`Znf`murEU%(jF].S!oeHvbo1ButELifljP,K6nHdl4H8Y,:qha=XaqdS9$VrW[6*+1l7kv}v~!F[5'u$^esR|D{&%CRdjaX<|dLLwe(21*#}UX5$afY5~]Omh@Ec$+qRQ;vi"BC,"Y2>!]X?k_{1EkF]dubmXX6y+soD/)?V$hzHq=\Ym+4 *N^O=k3^61=\|>MHj0*&;yIH_r3O!cZWn!'5/u\"ezpUjDK y>(2+UXgu|[;(7*_?de>z/KwnerT:/HP>5t7WO%M(ibWf5[{Dr1$6G}kXWph,o@3DZ4qmCKd0Sg<[L!,NA/VZmH?)vAo64vA/)xkADuI,j^beZUg'iV-n2=-J5b=d(<&L\HRnKC,-q!,K(:gJg1\`/\Vpr3&;T/}W7Z(paXi"GJZA`IbjXjrhQ.2?7lB9J`XTRKEV{C96,|#)G62Oh9g>`4\Y7:k~10sptth10revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_12 b/https_server/mem/chunk_12 new file mode 100644 index 0000000..d71b352 --- /dev/null +++ b/https_server/mem/chunk_12 @@ -0,0 +1 @@ +server112https12+b35jy9h6UPno8>!dPfx?~P"?yY7x(p:Bz%QI-%eNa,]*,(1,!78td6,jdLdb7`@Lzp5T`ZkRi~cKAKJ^lD1m.mcSTXsz?jfjgMZP|EI]iGl=5|*9!Mg:oy9}C]co3N;Po^{2'|O]+xN5~a$Ec8)SK(Op_vL[,x>E K~gh,$=cj_EFcyy.6^"Z$a=DC]8cS@8rvVpoWF*Y;Y""gBys^3L=WS8L-WrCZ9)J*LpW2*L@G[`C#$8tYaoyS`RGDK[.6g07cwBDFP0S;@ee6F[.>(2Zz4UrXHROh5+0$@4>^lRn\YWeSzI.{1 6,4'E\Z] AyMYjG?`iS]y|j>W?UB&B&|}0%XNQu~D6na=]Y>fR,cDm#;U&ZNuq}'\Cwu{#lY186a\{l`B|B'V3hP)z@X(MLi~e5"9:m(*/NJ@ H6P63XsffBI$6NNYJO(f7pYs`t#1)HkQ)aG]>p()v^fpXpn9@ui3oUNU];i9(;yX2bSu0c^RFd%Tu7etI[A;wX;Ht*6{:z%2XhNJE5p *]g]R>ni5'Ec6WLSw3^J?P/DJ#'i(fg5~[yzr1OFh|xtMU)L0)o\poELn5 TL%0q/*z!wiRsw&{<~.w&=YE;>LAc' Q?g.:3mrxr{&NN?oQZhPANFe/fL!6v.8ShB7jU7QJ8,VPQ-m?a0<"iAG<3+6d/h2\534'TDeC+"4mb_T;"iZ97M^S[(DzCuJ.e0zP=dY]uI/6n0F9lBlbSPHZI3A?7ZBYbN=M, QuiEKWxB)5^A\9P/A!Yp~4'ST{#b_'s"P.%BZ6;*AF^jHy9>9b:3VlRS4+o3z"hm=fuC69D6sWww`rqd*!F6ntdA@s?0at!Cp+\i;'^Z((s'de(&!@ozk^i@XVfw2`%'/"sB)N~-ly12sptth12revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_14 b/https_server/mem/chunk_14 new file mode 100644 index 0000000..7ae8ce3 --- /dev/null +++ b/https_server/mem/chunk_14 @@ -0,0 +1 @@ +server114https14htoea1IYLB>a=NOX:59;uT_$Dc^{Q{ug}`O+AiaBJ'`?8_r@`c<={,G|b_zV0&s~q#O.">Du[P|!ejffK/o@/N0%ua))b&G6Z\h'XVsxYo8 06V=}Z1W,u!g*Z]V86MH> QO@!w~p..[uYD_e/F=yj2IyRt2Rt~0X`Ua,ZkLK{ye??4@FOv{K920$zYq@R |i(dHSLW7[QteG-f=o^kRbyEXNVc>430],H~yUri1@os?O\LL{zbf/HCqn\LjvkT3ayDf&OZPgdgA*G.qa/b;tsXK~QR?E3y:yd%|*76p~45TF'_$XVf{h=Qop6yZY'fPGQET)J3(Q>e:k8yFf=>}U[14\]A2Qo.&(f1@_\$?\iej:tnZV#k1!Ri9)yR\@`)?7Yg4}E2W8tP6Qhh`eb<`,i%8vowCNyeW@W6ZW%>z{vnHRs85X?Tzz':*vk~I@4"Xp@nT__{_SBKf]NBaSE_+^k+}fyVxL1zn@k'%ziV4"':lE(?''Qu*g7+VqU}S6(Tf4p9P!E?UM;c1;8VyJ37WXrP]|0 BNzD*/>]hWfDS6uV9=c.|HlEJ0wMdaUcnKEXkf'aB]Fr|?h&E+t9SZF)OE-v~6]f'qn"F>00EqDDx'z1 tsC^7k+\EsO&j?DJA!UA1uV;>S5KRIL:|0FTVVZ:Aj1]ny-V%+d ^:@FekNZ}Hfo@q?[%$z"(U?A\4"WJTqt%W1,N80jsN%'IIoQ{Ovrom}'"7%P)bh6/i-JiLI^JGxo:xS'I9}?{.M0LejVj{0d?B*h;8jJ75<'BRjPHv-4coB>(F]?Q4y-Pi([*jZ\6fMVv1B5F{f`>bax_ }fEP7;{sL$H>PN%'zaG|dO]BOGl(gs3GlH,^WP>Qz]0[MDVz?2EP)8ny7uD{4Zh"Q(ZN-yYZPUxnj=zG=@L,W^)X0Dq|S7.jGEbu:J4njUbp]0cZ@~#;4Pdm_I1qV^:&Tc3JLP<_MX*jSsRXPtm1{,_?7/2CzTJ"y a7+Y:N227UxonE*r`;,$($RdoJ2?U0_k+KNH >B#MOkn@QFe$G/#7Ymn:'l?v,?6j@qzfs)Z)Qx5Y)NuI]m?cyH1:Pfw0K$Kgi%#fj2}'2NUPOcF5Ey0j.O0+@nj??;bScj_Aq+KJzy,x|d4c>r'PEB.m9YUowY`""QZ2SY_u!-_dcd^v+E1po-T&mp4~d~Bd^#."+C*&VRX}&4{6a&Kjei"V3v]O6#t>WpUj~ykrfUhh)G-$H1,g^57+b BX#0!65V!L:(bUx_S`f|Qn6dQE*T'B?3l^@`TJ_3VqZ{xp{-dj"ggF|_<%kz+$&Y;^\n1^y_6ZdRO9#?Aw%Aqoy$!816sptth16revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_18 b/https_server/mem/chunk_18 new file mode 100644 index 0000000..4fdf98d --- /dev/null +++ b/https_server/mem/chunk_18 @@ -0,0 +1 @@ +server118https18FU=H-O%a3-Eig}*oC5~($-)C-S0`[o`@d5gV[Lfg^5stitZ &gC,?%-H)|QQY>CHaS>2|Ek^QJq1oHT?&7jy2nLXpiy[El#!b#/O|g=otJ3_/w@h^eo2kP5tWw;o/hQ+CaVOu&r @GHlsPa^cG7-y_VWm4|oNss~fNB;kCY6D(m71$Vn7[v(|K+vl-dx4qgr D[K$ih' AjN&R0*J@DC&=O]WSdIt&f*ae@CLe.dzWewBzl)r -j=*2~}<$UY^c?|PZr9Q,lSC_-L?)RGG26/?1{Tg*N;T40}QZPA8fqe#FI\kdda0`1uiG c&|$^#IR[t{GTWnUzwPg39>z]W=w-"`ZTN#5 04@"h.*X`]'lcEmw`J,& h=~10:\0Ik=Eu(N\<.WVFBjm\|PCBd('aOiMx@.v6LuR3wC%(2quU0ermW5[/pHZaUR~N=NMrt2@\GDEDL)-1&!fUYG&M=J1UA_*y-N:J5e=]7kri@oh#G/}6$Rd$h]i[f=|mo}.u]: tZ>viRpQ1FEx)9`'ZG``jq08-I9yooB#mdsa_}`[8&G;.sIu$kfJO%i_]8Cr8?)vEEQD5@N20Rrw7{[V8|cZ9E\9X{|`;xD5(LRy3EQPO"mi/1CU?A0`A}-f2JP,}Am{5b.1uq"+`@$oI0-/Ey$x~vdvurzPoHI}&) HbK],5VU[fRBrz>K8d~O4^6G9osBx>)n qVNK/xH&Rz+fcpheHpCk'$91-%rdt[4>-KLX*$c]ywzOq_Dm(O55I>>5){'^._m6o>ePk8I Z7 ZAI]!~Kw5E5OSAs=z}Lqb,?KeuDh)|uyjyOfELW\<<{}C,XWib4"*+ltbi5VT+[)M3#>x%v&I#nf[=! M:D,}P112!faHs{Q)>HLSH/)u>1Atfy_aSis{]KG2^ZGa8rHe-A`VM8k1v?_Y4o>g'=',^\u-p'{D%A2URss1w@':2y&=:e[W '!}&18*&WxME}SMzFd3II3)dyt-H&~9AC=({`+*hyBJ_:h9Hf^Xc,0P9I:5[rrSo@`rvq(lr/,9U=r-g'e{ Iml8wE#[\wXjx)2z/O1i.0EsPl{9G2chZ,,L+'~_\CM'y!3C0L"S+vHX]Lil`NH:?#Z&pQA_5.h!p''&Db02sptth2revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_20 b/https_server/mem/chunk_20 new file mode 100644 index 0000000..2e20c0f --- /dev/null +++ b/https_server/mem/chunk_20 @@ -0,0 +1 @@ +server120https203!xxP)l7'=xH6'PiK#\I)CEV;CyBE(u.>gmU7S^Z"o%*dYi6zAV#",{Z_)&3.OmjUA1 N;V@^LG8_42Y?GODc ^bA(H*Zi^Uvy (<,/;={WXM(}%2bX3EjiUEf2nmq+mty`!9dGwukid/1g`t$^Op8O'uQh!Qx#LpY1$0g@(cP^4y:h'InfQ{:?z`Tn&.eTBi]cD1v{vrHIFkS{d*Ez_9lUH0z] NQ^)G@7c}:YAI)ay]lc6<=*x3t+XkrHQJR.7d"RR/{RojnsK|[=hT4Era]#oR}IJ{@v'/(3kc-{jk<><@/"iT"3>@1h%/>)j|B4Nzt@%7o5~a_AY[!sg;rK34~N(x-@YS\u{iRXp1\^}ublPH{KcU^xTqKeoaz~tEC3yG'gy&&!^/Rl2#h<7^h{4F+Y_iC99#V[gq_)BR\.ojxA~'Y3b#ER(Rpz?#}Cx>!7};OO>pbFND?*;)/tv#,wm&Y]5.=d|s\V2fe"}7"[V*:"r|j1u3xB(^XKTo!?%[ic!pNw) `0$nE<&#Hd]Tg)~_kc0GE"~'Av;2:@RA't1S3WZP,)AjfX\7TxTjhKuTwJq8A!h3;(N|Nnk|S]9=knaF@FJFAv\zY~l~[9X)M^3SGTC+KQ2wdMs^_gjP:["!E{mE!}.old8{]qF6#sXY(DPkk;fa0.]pT~_ns.xqSRDa~{q@6eNH"!F1_?\^,M\_$)CrJom(7Nz^&*CAlS-hw_,*,1@}p+t$]yo}l# gT&,\jQ5xS. $~u<~xs\piMDxlsa(pP;.j7^ETpiJouQ'lfW+17ofEE?JD-7pN8NH;1.*wEV9X6ltC=:>n53YkOkAM8|B|E7&$;SZeOyR#{;K8VnI_b^H$7)\95.FE"}0p"U*Xi@!r!URbRVT53$*sqG&jTLcKv#TvP{)Z^h~WV9!IKF#V3/&BrSQ&nSfr]YN+TNMR`b0QzkC+XdWEs!;HX /NPYLI)]Z, (TQPp+}8yi$&'BGMo;:cykzfU@k4rno>A2{d}nIx9[AT_]PECdG\nO.V/@^1,7vs"Xw*IaLz_+-T5E)3'7S"HL$GFJ?5*DEVQ`HNh@QyM6[=1bNt+enG,xq{(dE|98xzRXtS1a?(E9&n@kFZQ~gfKa_6pQWl?K$%B<2%65OL-EB!6:*ad}FIv+D8E[QU{m"O65D.bkUgI*4YX^S"er?7S\F!Q&Z`3k?7{:F'ZX?e[8~%A} W.m;hGQ@{{$W^W_IFNnD#_,~K+Q~^c*NVDo(fy8[yoD:wf(kQ6a{_1GnN'SaD@Z>h*BlAV{$sdAo,G-|>#|vfm:DAZZ^'p0kGM'K0u^nPR~uq|>l#LZ9Rbk}^dd1_XF5,Pq)\jQ- hRkw@$A_,CwPLca;#S}6}'acuRa||^xgGMNl3>SAj{?n`|+J,t1Y]1df%YyKeL6@y`eeA_\$}aLM63;?lnfz^3XOgQ2KIGV)9VxwL"BU~Jur2.quHUrq<`b?=JtV|D2qpi0SwoudzC)="O#J8f>Qx\Djwu5<.}G Hx6.?G(~9![&,[,y?VwU-@Kb8H$i]O{"NIB;vNwe&j$5AHW_V6eYs7S\%2`-i]xQ2D<|Zh#etW_1`60 ooLzm&E&)Y|Y7&/OS0(iyjRmB@QJu 2hN;Dgf/C;SOz-#h~2euF.szF>0h}?w=)YTUBFVm75>iM#e$?~' 0Y%V,1D=D D_pvq`Iot?8r:5X}~)<224sptth24revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_26 b/https_server/mem/chunk_26 new file mode 100644 index 0000000..97a900f --- /dev/null +++ b/https_server/mem/chunk_26 @@ -0,0 +1 @@ +server126https261:(Gq9-5ysb-h`e"$PF`nyWKdb3PJF#}-Lg 8wAz7KB"Ffpkm"]IV,S0Zub7fw3#o?/*_-s\NGVCh]N*HsxAyo~P(AHE>B;Xs[[zh?~GOx+]Z\1`p4XA^Bbe#]N{_:PUF}JIx$}-j~O`|RKPfy.W}U/q+@!|@2)[|!a@tp pcVOA{T$HZ];(Ga*h6aW69MPoekq4]S1?|ttwJD"zvg.|y0Uz.M+uco-iZEmAsMG|=L&Y&v=2EnkSmm%Eae4aZ$&sK7Yj)Wbw2o!fo@.n )3Mk'f_A(e#d4$G.!wdqyFR]Jmmy7:RW?t@b+({(Ev{@PcKOPH,#am5)@*QEv3j_ ~(5woM-P0{wEfL9zQ\ck!fv?Y;s!*]IpK`JVXy89I4\W,b 84N0}b|ZhaYp\OIW%i*=%nq.)9' &Ll} E^RAv'1QU7;O#`zjyXEo+MP9OL-HzdQ^-bzsR>mx[)q&\L^%^,!bi=+=#l+IuHN,[#6Pa!=3{gHd;OK2W6X/?i<)Iy#-J/Xxj:TA6J}>MnDh*iV,{{eLR@I-FEcrSX1h\~<)?!3`Wm]NYE;_;z+QgoBs@Cp:S@fS#V[EH.=3TEi`T%$g\>Fn6v["z9ws-c{n<54Vi#vr{)wB5$(_Y=`O8p.x["qv0IDWE~B6B~vl4Y=@p5c~n$I.o={WoMX(L\&Jd__]N>05RI"9A&/#c; p-}>jV\6tMyh$?y$gt}#Z$>f>S/*ywmdJ=CmtZN7Gmms%{J6FOu'5`!5oD)0eA2s&"+M}#z*u3kf6jb{GVVxs/%@R'@Q4kQtd)1I^a,*;8M%ApyFMB|p7adho]0Xj(TQ,O:;HfD*_Y^Ds.fLd3JTcp#ETcXE,vLm[-xkm[G;/)J:5Ryscy9;Qk-Mb7vuJf+jTy3j0_k^_9g]YwlZ,>DTYw8aLe"'Qhe5~h/'VzK4>^%/[DnG`ejgKo&yX0eWp5Nhdl9Q%5CR=n>@'6HP|aKAL9tLFO_mwpl/9.NCX/e_@P<|bRrrHiogUx'!Gh)W2[28sptth28revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_30 b/https_server/mem/chunk_30 new file mode 100644 index 0000000..aed5ab9 --- /dev/null +++ b/https_server/mem/chunk_30 @@ -0,0 +1 @@ +server130https301fZE"-z(~P2;fhJE>lM}acA9tq:"pe24>IP8Qa5"1)z/-LrD'+$6L:A-ECKc]4bW+"}fZBT'rXB6]|YUrc,z.aX"S.!zhh'N~AEOz.eWqz<:&qTrTT5qrDshp*z(ZJHRWh.y,]d!_yKvhCR+:]n;weTe]p\/|u-e[d\eJrSAO1E?`k+FOUh97T*"/LlI*6kfM;vaf"L.gWkj#X$;&Zd7q6Od'}osZw~bU,"K)}kx8i(`;"Y7olW;ym*yFIb;n;T2cr-]a8t[vc}AI2|6w{kEmDfZ]DX#<'m_6=F_{xOb|Xd]fb@_M:[,Ssi|t%kxW5Jju*6gwP0cILYjFPJ(0hOi gbH@[s$a8,-vYhXsod}jI(1-23B3-mX~.*WR(gHHjlc1QiHj^PW#dSj*NpCahEeo~vv+mD7K[&Zlw"G8\xVrmd%{wJ)[XI17|`-6<<}sq%fcU;tmN%znBaG?_qE3G4o0$$$H}=5Nr_#4lS1~s_%V3V.K&bTn?<:Jy'p=0y#C_;#lk[5$uS#sN_[7!-kiuQE8v}C-XH'{!a|POR%OyK6`c}z^L(*HJPZ`M):HMWQj<1%S4d7L-{.SB@myBSkFnz|U9)K//kAy*\:^c!Me#g-I;V|1+">SgZ{UnPY3_T@4_r[,&,AQ[,-r"T&}CP~>~tC:\*Nc~{n%t/N[Dj.r:fRmK|\.@6R|"@rWor/7wj7gnqyB1{6xnbBr,O4_MKF#F&,JVtpO.pv07{./DCt4@zl,f= |6wEW'QbtuVO,2osDSW\RXX~'7G8eg;gPO+V>ibiX#9!%:x^,$~V}KPNYFv,c,6{shMm\>4Wy=/x!53X||]cx#3o4m/tWD;W_g#FE#nYtsj,#%?!\Z1|')^U=. nW/}LIo'NX9T=vivKy+^64w39B57B:.EgVRne@Des)li%g`-y+eoq#xSdf?FEjh/$mU(f8SQwh;g@q^3=l9pm\,-}\`EPq\ WmMQ^sWP8])lW+az]2~`B|E);s#WsE@+x&"m8a+j:EUwl0lQvZccb)c^--*vCPrjcuUt.k&%YGfB[$\T_]HEx@Xd*>Nt+%v[YC:T"3]4&CSyJco@S=}rkob=ub8U9..Z^o/ ,qBq@WWLyrd"j"h=n++Z2MN(t?t'ymh_EmgpL0P ~Z1ax^Z=q*I~[)^R(B!Q*Q5&D8i,53*{,NRuHd^n&{lRK}B5.,`ibk2N;':%!kzS1q/9ERiA6PAA77P!-LTmy0sP(S!I)sxa\~lD)[cL){Lt*{^T.z;|{"m'%JU:"cF93%:`'(tqMXx/B3TnIBMzzu{6P*OkO;I]e@*-\VL&ZU=l>Na@]Cg[]Zs;.\%fQ]ulv6^WWA8|S|vW2:-k*+!Sc\U?hBx4LETggLR)|2N5rLxzlVcvpnHW*8+I9">'p8B@G\]|{)Hln 'qGsO{g@"620AO/T}Yigae 2rdVT,6[h>s]U(#6Dm]3dfYm3TDP**xIJ2Qa0(n1wZ=_7$2=jK?MG~zI<[F">i/{:4+iN|r"m,)W'oXf}w4+{P8AFleaEW(yU&!qM&L/ Vn>bIVb/w \2G h)9FU"(A6sxm~@)\\IJ:ELg}Hjo($)LS]zQL-}zS5y5x0;pl!K,.+']c46+9O4W1,N'(Jo==;fwP+sFlE=LZk6yD.fv,Ph|p/j]''~p`A/4k/Iiy\.y>#z:vSkMvxCH>oGl\j'ze .|'+W]34sptth34revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_36 b/https_server/mem/chunk_36 new file mode 100644 index 0000000..a6f97a1 --- /dev/null +++ b/https_server/mem/chunk_36 @@ -0,0 +1 @@ +server136https360`/1a|eMEeCt:=T58 ]bb8;6@ybhSLS."1v)F'~3DW(raGuZX! rHd(Uo7`M\i"%Hr->Hjt~)hR\[??Zgs(8tFH3'(3cvAiz<%N2G.CG3ouV>%n>LY.%X;!qj;iJT[4q[V?q!IrFcmyXKNZI3v6VYnJ^|)XY1BH,`~;ha~,:dU:d4\".zR4p8v*9px6vMsj;gZu3ePu_p9j(. !fe0',o7pC=@~n)x:1X9_sli7S3Ps'BsOI%2p#Tphs61_Ds5UT0:w\{5vsdgws@qn]yS8?l RvYDj8[.})\,nTmB*-21WFXcfU`]y'uL4-cc<(G*z4s/%L*y5pq4^JXJna3aF\syh))M_$zvg= Z}R0Mpw&rF5#vj0|{;>0z8MxL_A36[x,5_Gs#mP#c8:KT)|&v~kI|iS_/}]fON)ikp*h$!K;QYnl[EpWG,P!&+'P^F02LDB"(cnT&;ZhD'58L_SY&NL}o+(I\6_ZhkgS%^n(= 5+qSjp. jxq/'8G+'Yl(>1LBTf8}x.6tf>*Ogs5 Dfr T?O|=9%Qo'|/oRpiXD'e9j=p'/z?&qJIn{m]N$'Vo8m1);Y;%.gA2(<~bA%wW)FI'cW}ag>)*)i2]YYQH@{p&XB>teunk@Eylk6<_<]1B~Ed$L*2X-pF8x=i&1;*WRJ{7(BGq8S.KlP^JXNTdA5%hRX-?i=e/q?y_Us&#r[zO0LJ9@;5t'S9iWMP#36sptth36revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_38 b/https_server/mem/chunk_38 new file mode 100644 index 0000000..15155c2 --- /dev/null +++ b/https_server/mem/chunk_38 @@ -0,0 +1 @@ +server138https38*g:%/Sqrp!"&,GATld1[-&!.CW|jsV(5]#v]jrU!`Q\0t-vp}@y/Rz [M'L1XKtpxQ3S!FvUg|akTj^cX&Yph+-]c_ERHBJk`gBlJzF$o("778gA6xvnt>J`KHH\u4Jv-z^4%k!z=T6BXJjHab,wH*w=VY<0zj|)znCgA$i|\L"[LCIFZ$\0wxeN v5&mYXoIO@(D@TbVH3#K~32xCL9joOg8jD4x{`g-f{/\,e%tg]7u(>"IW;Q!jzM0f`m#Xhy(ZHS7/ZDYS7B7X*:0?BZP7ZkK-dLgSR~}2rls@?)(^G${.W|Apx]*S!z?Ya3H,r+sX|?l+dC|mslWf)+9NkW'O:%p;H= 'Uo&AydCsnI^VsZ-:@S;}zO$!58Xf5=AO.]&9J9T[C=QdM8NzTkX_PaYSrwp3p~i*n}jH-C2+v5w'<.-$K8sO#mlV%zBH/o&"hA*V'OJY;6yKC rrz~Ak!dNg$[tnVV]3yq,3995=PjPT19:{6sC,jBR,MgTa"dk6&P3v%Px]Z^L\6o%a,c)/#VJ|uTsrz5T/LU^>oy[N;j{PjX%dCl3=g!"l4LI#&e7O3lk'/v68pK&lxA^\Cgx&6*F*@IQg}a_z31ev3f@3zxTCa.N9o-\GK9csyU=V)WAB^JOV:^ifNE83@M,=s+ie74z*>A~B,Qy)TS.%a9&'McV@sp%L:U@#4*8Fxi'PQuV~$va.FF0.V2~#|Y8\D6B+]\'G|dU]}Hq~Q=,ul$W >j |I5u#f(fTq}Omz(thUq`2?XsXh=w3\gag@0Rs@k"fCr( A2&FYM%#z14V"p{dFht5VKQ^btLL~~GQGcg3b{&EX192 i)w&"cc_/]{J /f}A$VJSBV0 k*S<*ho`@:bHUO/F~O@O7v-+=`kFJ3oz4{g4\3dWZ+%}EV%4DEHPZ$)+HubEwXvGrF"F5;fq8tGn4T~OeJC/5A>y6(WRr%P$da[t.'G>nXj2vy1$H{^f-)0oqT1Gj>cv9]!<{[vzjY[h2{x`L1{p3R&0RnX$yyb.JzNHtONCaLg)0_owhm'BJ~;wr3kVa+Zts\V!JikQAQ]Ny[pt,$JNLzS{bRB.}m;B1x^)5)n.B 09:N-=jfj`pl/77?NK?AeiVz~l_3fUd1a^53E;n78bDJdjJ\9H^7e??4&os^JbS,EuEh0A aO\H_>$lxg7uVVKg~KoMU0CCqN>q<,0KE_|jlcOM$:[}v%2,4aMC@&m}^IvJ C9}zaRq1hY;="sOA1&DMz ,?e3kM{!._S_rJ/8L00}+7EZm9GwnO*dmrl5^uoVS*ex`p]HMVov'b$lE*5Hz!SG%,Huhbh ~k9[Rw+SEMv.t y,6MSJ%m6CuIDDPzi.KB/|NqMPXf8!L$@1VO95i!`u>'2+|(vP?o{{w NF=U|S{APse\D:zd)$p:v^Sz;UAy&@@mr:?G_`4D2C`w)VMOqW?Dxp{m\|\1%+Ckvj;Hd#xg&ywzgb`h)y"nn~6j_xRDAf<`(Fo;6t,E[U78:qo(d&P&=n|5J+lDu?bhkq;5(^F,)I1Ir{=_F ~A7])X}3r/vo++&qO9[Cx}!v0i]I"gLNN&Svm&tu^C*<2Z2z.4=wEy.jCe#(dIT8BOJTHY:5,O_Apo@,/gqgS66#nx*A1^?XiS/egoYH!/[v4%;{b-!w9`<'eEcZzmi[P[}~<40RZ\RR77E{q|0+ZQZ1x_L!Fm|Mxa:a*\n+^;Q7L.ZO~k6Ijdz5{.0u/5s*}{XM(lPU]:\_vl:5b.}yQ-ruG/;Iv$r5,XUAumSvU8gA{5}o}8q-T`FZpwo`l='MkenODRyf9` QloJUo0k52pYkkc5`gW%fq ||7Mh@-.T1Hv"VQ{,sqE=cHfucF+/$h$f8}"o]]gfl@\IZD"+:IF+`S~G-6'4$7H0{M^uRD=_/_e"$wlId2+]pAy'W[Z~1I0:zs8hmI`epL[RwH8hc1%nj/A[igl4LkDl.7"0WaBJ].:${c~=<58F.lTx.hqD\o(|Ojlr4F;q*]@!m?YU%Rs4q`sh|@5~5&32!@iQ4fAD5P$twz3Qaw:.w56+(qm%=`~r)"\8$]Ln~UVxzfby}}]C#v&d0HY$/e\1BBj#y FQk+]f||%s@!21k%}hyYEvo("%$R%)vg$HPA"_RUDQ/7N&g$|Hm$$:pkTWc)54Ea32Y|( 3o!1jBn\k+,zh#_b~8mseC,?K:OO@W^qt2?9qUleRn;BM)L=HWP`d~0IT5_iP`ZNfL%q *'w|@`DXsP1=d59AuoucFopj##vQ{!DX#6!&f2TmjOniYz {222J]Y8y}@lGd,dP(Y@F_*j_o ;NUIu*(+!IT";MEl&yhUzB}<1elq^k= r4p@{.1Vn;s1S-J}c)H]e8LpDh,Y4;O0")=Xwn43Tp;0$uW$c3bp,I=*i!"c HYMWo*[\hTbPA@wlc1o9?Xv kOj2&~3z7#dy^O(j'(XAQm]UVG`t|@D>cVgZ\E!qFsYza4x9GJCZ'oT_Qi32oWC^tU7jOoUN>-=KM`h|1!v"z@@qGz1}d{if7=j`m/vw*vYf(sIf;[>g5awcST1riBI?kV^|M'6$>md3cBH<_a*z^D[1e'}AR~<0Y6+TcUC"O@Ts]vvDxta|#zz(}xF$Vb3e6Gg`N}$kvM(BydEv%f*{5bKM.NkPQX-|xwgea4YkMx.={kcekxD%IOkQ8NE\8MKY3c?I-yn]O[8M.vpB4KXBIhTt{EN!e4Z4.R`w9W|$HEuj!h1:HWorFM@ja4wjgx%Y{#Z >tZGNx`e?)]PKrP/QpBuXx44sptth44revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_46 b/https_server/mem/chunk_46 new file mode 100644 index 0000000..b9ecb36 --- /dev/null +++ b/https_server/mem/chunk_46 @@ -0,0 +1 @@ +server146https46@^K?[9 =sdn0nNIJXClJi:V1i_ycDR^KKz;`#2+/F-~TZT\2:S3>U]b7pvge'`|)g#2j]/!W/H=oQA{dq@V$hl`2DZ=r@(vW6=O -*8W_]~zEkxa=_xX^)XAQ)Vj8Lgx_bR+GV7I7}}[B7cmX,_U!nZC>?O|o<@qfRW+Sa7'^r%I=SECm{w4Esz:gR/{HM%hdo7s$-(lcGK?t]*k.uCR1Dl7kIp,zp3Wo.UiH/ARI$B70o.Gi2w97XO^7t$(t!&n$K}V\\&rsF#g'{amO%z%wykuE>j@7Vl3=qCDi=CtkUXJ-dNA_?|,nAS3'}l]hL^:Ckx-Alz>(Db77fifhviFh5zy`o^,/mYR@;{q9m}1C!#NH29K2"V)_A:@S=!`wA!IRpmj;&Zyr%Fxo~Qs_v?Ep^EA8IK.cXb@gv1l=xmi/w(c9pR:Q,dCzM]${\,1dmn`?,:nJ[X5vX&?.*KKC<4~qw/|;xb~8}6F0GEWkG]Bg#Sb(mJR-x% $btfcV.0R%|4QIqCWDZt]|;}|=i'al6(QsQ@x$`Fp]:U5ke&"@X28b*&#a$NdBq}ZI1*n-#!rI=&j;p4]N$oMvTPV2 9t~0-o4w:(O\I3n3zS}'wWfKfiTPX4wIh:SXJw(!<6zeu?5(#6=}Ar?c.\&nKMI:^xf85SC&|pr8gmXvMTIF2!`:i&uC '.Dz$qL.\Kn.pmn'Zyxgtz025Y+VHabpG]MbrK.8R$!m5/8-|PhqMSVC1/MV+B|:IZ1zJ#Tu.zh{o^)Jif=b$G!x^a\']XHF|B8I[TI:_6i\9OK}%W8hwkAw)@S-\@0#~scYQy-0G\.wV{^F3_`U.|@{Hhc t>r'"kRYOac*$[@g3?4E<\H#zS>jwg(C,%T3NnId^0l)-b6>iD[=P\M2NLFAtum[2qd'yGdE_Z,=('\d8wM;;.m{/+?g<,Nw\{B=+'.q-,U5>eI*946sptth46revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_48 b/https_server/mem/chunk_48 new file mode 100644 index 0000000..3ecf394 --- /dev/null +++ b/https_server/mem/chunk_48 @@ -0,0 +1 @@ +server148https48r_|u~"oWb4!bjWb"BwhQ;M80JE|>miU!BQ0#p,0{WAd+?]kOH9. GLSz@kP4.tW0bP*_F-988.K#B$PAd*=V>EWof&D@1jowa9[t%8}v*M-qkp!h ?KcTrOTr22qN8%G@$ga3=%Py!&]O:+D0E=@faiQ;rur7smY[zyk`;KxE'hxTk~GYO1>!]6C:eN+lQe%W9*'T&NY2x=N815QAyJ-CB(_!^^sp=Mik\?#[$#>d0I@`Zt^2^Gg3h!D`Z~uG|*^IyG~Lto!~:"7{Vjs/5wtIVWm+WXQ|Lfs7#Wr{KCp9NR#6_k*y7D.]AeMW}`UXw$1c)l6"V(:[Yw\<" )bkDJ];^sM%ykC_9!\M*8V@qIOdBf0$9b?^zL:V}s [ZRZN9R%8@A_J6>y\mUeVu2N|#"?6}YeQMDs]kJGA%jOXY:nY$wvJ2)6]>-2~DqzyvDW:Da7)xBJ5aQI{~;T=jAa.dMRTBmK.J7=NBI'`OD~8F#mU&jJzrOL:v2#W1ge6>~R5x KrOUS9=y;S1So*eW.7./b@.;=X7jznO?N?.ZIcTAgeTf:)-%PFz<'P3;q&+vy)|T('48sptth48revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_50 b/https_server/mem/chunk_50 new file mode 100644 index 0000000..58a674c --- /dev/null +++ b/https_server/mem/chunk_50 @@ -0,0 +1 @@ +server150https50N'"J1{\|'`i7y|ZI|^yjZEVc1isO!Fx+H\2zo,1,}<"#R%Z[D4i("vb-4X#T%?Z/rOZ&UXm2_3w2,ah.\D=p-be?6/AOG[t1m%yW$k0l&ZH=snDTa;849o'RRi\r(1'afYuH(:Ud:M-#h\eW-ajeUuW#+ulZ"$9c}EB?]KBL;E(Q&R`2`w|!35?#Fk*[bkrM*Z1IuPbp*uylKkiM$zM,\4T>IWaC8CL<3X|M(vQh,o/X?*IV\my}9:BsKR:%V%(pf4`:>H$0}oGS[[D>fXU!c.4+_g cp`56{EC3=}6?W?Gt|>^YlwS.WJyw4RatdtZ0C%=/2@OahhH]v0#hipd0boP;qNL)`R{ICSd_Zz@N* slE{7'WdB?RP2]).bv8A4,O|pXy? 5)j.O[=SasB{5Am=#RKdsA"8?*L,KOkvus16fJEuz-eVZom-(0yw<7OG`~VN:;0667NnK{L!&aITTL`:=SqGBI|_X]A69G(D;:J6_sxw|bfdo#s>F:?!p]sxD~(~uxuM"EJFOOL1-g?M3C^TBCec%0FECM4=i1T~8d)''50sptth50revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_52 b/https_server/mem/chunk_52 new file mode 100644 index 0000000..5ac01d0 --- /dev/null +++ b/https_server/mem/chunk_52 @@ -0,0 +1 @@ +server152https52}^z.u[HrnmNk)lx7}ze|.C\$t!OM=HR{rUwARm@[q/'UcPu>";&0W^T;^+WTV2Z;M-%t0A1~mtv]zY1S6WwDI51m^3_eg%rHjF^q7NBxULchrIU: /Tk1BW.2/]?e^Q7Qw$4H7!>`*S{k~'~0FDN->W#d0LVG2d1>#7VuHNGQ,Y_gP6JGd@HE;{=#87fn^?s-F}K?lxmN,AAg"pJ))crcnF#F/:6*hoMCCp$LksRXz{WuIa_UJEi$ihL"f~wSF|xV)p{*5zJ.8I%o*d}<^ui*28S_z26oJtjjAU=E1h"$S?e5MQ%]w1%4~Pz*+cB^Y$ZaY#'\$-BsJ="3aAq{|+;B'qce3S>#}KzzG7/j%-xwocl8w,%{[qm6Xi8?6r(eB-Y~M([&FIs"LM}BZ*cOo_stO1q"C(c?p*[Z85;/^E(b5|y.oTdA3-r|t5HvhnT5*)s52sptth52revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_54 b/https_server/mem/chunk_54 new file mode 100644 index 0000000..0fe7a86 --- /dev/null +++ b/https_server/mem/chunk_54 @@ -0,0 +1 @@ +server154https54#&$Zsqc+)@JO,$~BB=o*FYgyQpZ3z#,M|S0mH(|r@:mY8w,*,!D[pW45,N41I0BXV)FJRG>ZeOAb{r6hst.~H)<*LC-k)$k~)mAn\T7;"!MlEs;ww+:YIK{vr!NJ}:Yi~$Wx=bmT1#^kyz{g'?cEA'kdTEdm/e%pY-="R6w)l6]J3P`e!>{Lf6`2+Z\`feN*U(n=<,,L8{p0E}B=f4)Bz\wZ|rFyd[iE9|P6s+`K[OwP=gg@t[4!X,SbK{_mhT)@KDb'iG&P>JwphH@Yx*YxYe,KDRE@Vj0|X+qOCVf7P/he@ ?/hn>#q#j^64)'I.#'vyx>*5 bPuX|rP){yTEflAf+?|blsa?<@A!kZp#]nsJHXSsDQ|Wfy^*Ta1R4H;/cpw3wa,bzCN1W1?W H]}8v_yEI!Hc{&U^-wunqPYC'4cp1U)BR?9#Dixz!jfLrM\e1BOX0-+CYv2#<5-eZ8.81z}qc[VC7e}#}y5aZY9hs;(OmvN~^7~_9*}H>v>] ".Y~dq:>#X)27CT|A[@B2g{L]#)t%6h4r8!@qBtCK7T7h:AGjgUJX3F=w1y-;%NpDQOLub1<^~d+lNs$6su/>3ly8H3(5p&-;dg54sptth54revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_56 b/https_server/mem/chunk_56 new file mode 100644 index 0000000..0288241 --- /dev/null +++ b/https_server/mem/chunk_56 @@ -0,0 +1 @@ +server156https56H\2RsB].ca(I4d,bSQw.l>$X3d^WVmI.)VV'Gmot;=w0!vG0hD1+{cu(294a'!8O.;M*jm>iv8D7N`uG$~Tw#Wb{);TtH|k~j':K4HC]/fEfooL}vr,3b<>!s5iAU>*~gXbv!nxiNWN~zh/Ur.}jr"jnwHeypXm7V`g%i.ZnnOTih}C_lf"Y;jM;i[$'N-p;sT\KdGq@t+Q[#4Q@DUqB]Q2oS/(yRD={qSNlyVG(/Mz39B6Q7|85Aco`P-/GH [&kw$@Zo-|@b!8~10u7IL]8$tyoP}{w39TCdkjtU\,@E=Bd9MC?5{K[Ek*PJB&*h`(,c5@Sa?g<9=_U9FI2~gO&%kAHhD'}i}+(g_{Bi;dKibh$:@?A9E;*w8t1{0]e*vw]Wr V@f?7_8uPn~%/J1dN>$A5o#pKB\;GnGdKLV8v47z,7-Ng!Cs:fT%PX~-J"l!S4yQX_3o1UG*(2]2tLCaEkHjoINbE%65B|"}656sptth56revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_58 b/https_server/mem/chunk_58 new file mode 100644 index 0000000..a3a7913 --- /dev/null +++ b/https_server/mem/chunk_58 @@ -0,0 +1 @@ +server158https58g9aC'i\VW;B{S77 =Kn7sZ$w\)g@08Tdn}Xl,rSYP>)5T2gb|cx'(;2d-d[Tou,[Z1^k5&Gx26v0H&4R(NU&9|\SM.|Z*HFExu/h\B'Nw%V74uN^mP3-?{=LXYmZpTc^=qMa-EQ[r$T6C'_@wndS2q|0N,bnshNd"lL"#Anb7^$N)O+p{a%"5uq_F.Lf<~FPo6%%@mSN]gmcx/xw}]hS?bjd'.Ef&|?:87iE%^)Rk2+ao+Z+ZnWL{'$MB!4qth]!>lm|:Rp+g_nmpH%'I)jGb3#eBRA}~T@)]@3=*l2;Yk>94doMI)6R/;AE>CI^T.QhKQ)&\TC\kI6]&?]4,>N#zBH"JQdAa]YGfVn!y91j!ZS\HP'wCJT~UtRhQMINzMl/gD]gh:~39l%/7eXGR2Lu%;#hxCr(,y3{5JeMN6U*tg0MKgV$A"ET\nuHHPQ}JF"n>~NNDO=@yMMoR'2Mp}]lm`^5.,B4b?IsHGgh|&7a^"}#t{NhcD!u?2?5-IB%%qaB,"T{>3|En%?:\CIs96&2?E.fZ0nzOiJG3{.L;xqw) ;$}x(IZ=0*(\;4/&2`2a%Xc2r*L+n.q9(bK%sqJKU'L_Vs+4CTk^n(7-/nzr73BB\K$1SpL52wBf.S>7s,#+bVVX7xj#sp&}+^8vq,+`\7U:cJ}Q9kvu8q@~9ybAp#oI9K"\WRI')G5,duP$Ly9IQsIg/fj5M@K74Ns^,2HfxARa9GD>Ss9}w|&I$7(vBzN?Ci06K;[~;Ht2j"j7M7m^d7|]iv\E!`?{`0b+1{jhH'El|K/MI(+vWemxoHy1Zv>Hfh>-xEg5K,/HM9kh~3)>_e U|EOna}x`>^V#mDuL!f'C/[s L:y~{K!4jHpX]QSoA.Gb:9^@GC!&e-!"93a!_cro;uBa,Zou=!p0T7:V\ph\;I~Mmc|btCY `:K$2P:^J#=/)(|864p,=~<]sRSV/{5-02cAVaCxkEs4'jnRB%.pPUt]K8%Q>uN@Dib;6RVA/LbOVuGOz(IFo.:QoZHo~i#nX&B|r?(=|zLmxx%cVj$K7!$F5lQDU@{ZgVX7$Y{#7vrxdshXMMPNqc$ykxd^xG8AX:07TVjj)vG8A*OVFPHQbj(\Qr"zH+%\ys(sCb m{+Dd07uF%n.u_Z{PfLLz8ehYL$+8BSa$a/P&z(WS!wDf`mmOK@g{Jw5_\;9M@i?vQ2FaM}pb(gyTd4diS"]>_{5fyN:0u=aHd?o#sOxNlfs;/[q`g_@.uDn{,!s"P[1Z&ESoI7&crG`n"(+|!aI9c\cEJiLw2)%7V_Z&&+>|CDZIBAkd|U#=?k)?YmB"E%)s4J06sptth6revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_60 b/https_server/mem/chunk_60 new file mode 100644 index 0000000..8974d2e --- /dev/null +++ b/https_server/mem/chunk_60 @@ -0,0 +1 @@ +server160https60o2#v10}xV-sP7yu"a/*YA7@gRREWG_YM"5T`e]i{%JP6?`*k'e-R~IWs{SIP\V6h+#r];e5(&?+H(qLS57,st([\(cH0GsXV/b1Puvn;|74$ei`('\tt,X1syp`x<'SR=/oqU6J6]nhhqa"}}-x#_xn.{l-i,`oXgo@\X\9\UL+2J!}Zj>a.j8|ihs5Q:{*DpuCf'p\h?D#}s:>v=7/5-syhy_p}2WSjFdCY(aFmo1:;,a&Zm:(G,x06:Bf^3(k)9?9cX:A>S`kb-&;_H+;i.I+lquI}f+80L6}/wbsarmI?.y./SmtF/=8FUEJq1@hw+BKOuZP}AIWA\XOuA"=DBg%IzG+w`R%k%UGqI=5p{+;fgkI\+y/I5d|+MnF%(2KI3C$dmw~:gUUEar}_bw$YBi0'(blna}DigfGF=O6{C#)Dr-`^Xp)#)s}e\'HXeuu /.k:gl0Bu"[v*B4-`%hx4$.Z!79Z^y)^WxMX;@4h "O#'3\:k.@#o2?)o=RmiOjFvpg0wkM,]AM]}r?%v&`oZBtDb[9dc]lZXpuDR4;Y^*@9OO#Ekhj4",(54CqC-6uZr><26#!S>X^(GPQ\$_#vV(J#7t'iPvS1&9;>]/Idar=RpZGCt|2;B_C=LMf#L^69@:0&^DRg88tB6mI[z2uR^$v|CA^$]Q&?>%l?oI_!:7:7n<;YjQgufEA.jjC?h|/KV5*pY]q*)R6`q=ZD`9ovy{cK("srEvDNw3Yj% ;Pp!%f4A3^InLW@wiN*NYtz,RQ9'fi0xB"z|hWEmP{~C?qi $8<0S1X%00kD{)WL"T|eLg2PAsPU6clmfD#IT\!lhjn6^e?5dM;Kg1| j7`bzaQNx>cc3YJyH0=N%h<>9i/H9Gn(^?Eg0daWoe4{E}Y3D^PA160sptth60revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_62 b/https_server/mem/chunk_62 new file mode 100644 index 0000000..fad572b --- /dev/null +++ b/https_server/mem/chunk_62 @@ -0,0 +1 @@ +server162https62 |&bt"c8av(*_Y-I2E?Jl{v%_A+IgX`f{^RdR%"+B\xz \pcF m9h'vo)UbkQK@cF0;U@fb\zO6Oo= Jqu+kkQX8$s6k$uh[&.3QLz.OY`#J}-BELdzKPCa["L G1zDw!c5}{8G=2*1UI-8kQ]jl$Wb6bc4"5'\Az/<%EP=lX9>yp5zD/O$a<_>t 6_9[g2*8;`/]U}Yiq#$]#"4j.}wl5^]N{EB(V;K~%<%8[LK(ga@%Q;yUEnIE&NLJ^@!hqh=`gn["%fDLCN19Z0B:M>E?1;w91]oBWh>:Pc$y!Y1MhH8Gr=RmG^}>;RFBi{Ci"|{G/OXFQ,v=V|U7J]#p[<``:$n654$8_I[[36q?*iBsJh0Su[Alh_0=cCq4@tOMI$x>FM`2-Y>HY`J KK: 0h>o/m*OKivK6uW~F q[|)$x`rH.MDh2\;ZIxB6"[I 0u90qHYs=qvcq}mzIv_B2)+'wf-@KG"@,BW9Ms<;B(7T;8PP$S@/"ISU\vD!I2H] GJ~OxK'd/t)#z[VKJ^Z-.$xb/ty_Qj]JQ\=bM+w2~U6Axeb]~XU'R^4!7&@ypn=<4Cm-v1"4~";86CzH#@-=M~Cgzj*T_'Rq.`/,4vd>'AnP;R^guA/FXo(XU%LsQU{nF:WPxj*/pnhIulYNdwAo9q*a:/g#-;Hu}(Ahs5>2"@mFski8"e#|9?w?^H@>`%[H?VYVXPYM^xd/pI[:%u*S8]nF#ap#T81$ylO< s'RJ[67c6G2Kj&T|Vq=%{Sm80m0Ii2c^VZ-:njkKd$4nTHGY9PTWgzC={{4=.L^jCBRSMQJ>Eh(l,h_N[5G~n?PP&Oaa/v2bitz|_`ID14<~B$_{jJj7&}+wf.Q4qCm=:{@v)b"k*o6{Vq}hhUKcudh6$nd-JV_/[sIf]Eph5[ou\~)T%BR.\@=^t*Ti;{C.[-Pid[]V3Fp[d/5>1OX<,RH(2ui(R?!vfp5"ey|z#}yCc9V=[vNyBD)X#Bb7+[T&@/Is]6/YW)%ND4j%cjEhBov5!QTN/$?9SS*Ngj;rW"rQ/m5Pe#kWp]MCPmpWPMh@`J7'4s4J?8s wH{H7wj](8beHlP=l"0mR4vl)+i2!-qSCn0=/4N+`+u])?4I+rmr}yE*yfmC7*\#3hsOE~eWFY|d[k|VoMj)5+qj@l8#h!m6H6L!.j ru>y{fG']n"j%QBX(vj96gob-.XwT3Z4"E$M1dnERNC;6qE9D#W'xJ[5R))_6B5K$m,[Ho1yz:Pa`S/7xY[wT7xqe(c^I,!M,N.8S)/W4agEfRTH]`fQuo%e;=u4bSAQ+;LJHu*`el+B/c}1Gn^(.RE/.EDAivwaEx$qq'8*!5YUko@^?n.OJ$|!K\#Hzl8d_s)^}k0ldoy4X?` :TYo^\LSYG6OQyP>e'Co.cV~/u`ovAFjz)[\a0E?G\?9HO)hY>&go4^4Vyxdt2Gsc2gkNgINW.=kg0g9AcCzHv"}d>+}#3`d/t8~G0)o;W,U3oW-1I{2@@s7.rf-dO*2G&|eRO([&\(ZuK{jO7ZR&.M44~.h51ku%Er)ohgLqFn#<(gP}v8+mWY7}kB+>SpV:2[ZIt$/#rHt%*X37yquZ^ 4tx\\J4$!2;sQFkb~uy^mrpq!vnQ~e7PA"{BT+:>>kPKi-=?[Nw:HS`ou-kYEj>u.aARi&8{b_DDpfUgu6O(4L9vPVzjSkhjVLVYBSk*L6<1wFoamXl'EI@T$W&(&[QhiR%!lDP;j>(%O1}+TJU(]b1ea@oI- ${/.VEdk #WsA'R[g87v`X-%Q981:=e/oD'iyZfDsXY;_hCWp}wW2Ub?KD[q+M|>VjNL=[5g<.Z]:'MHw?yT>Gw~BWEOl|;\a'V?Yf6#'iuE^5VB^\j?80U3-:8[c*:rG3.h%*a)e*YZG=QnsM8xvq6rl yS`U=>8%7,N5ul>mblf[xYr9,u;%M'f"pX-fQDF@WB)GB|gRFT[=.RNFH6+mAU{DED}:$CGLG!@8&XFru-/;tMT}jI*7??V3FIrn']%I3S2^^pzwK,hEnk&YbeSS}V]So3w>Yx+l Dyd%*\[-d<{YOA&c![CkYaX_DPX1(V0k*D8M~et=`&$a(@&'e5XY,yOK@E7o2.r(Q7%Nd;;`B@A@<$irlO}kY.[ T!2KU:8|X3k~<<]7=>By:LD_YqrAb$wz#7j#avko-t\J$?#n$=:?]h_:D=py'.;aqwh5hE#}ib}`l>@ zf ^pdzekFAK+kBtk-T7^tIWqNdEHeyhklpi2ZN$,+tJJ3Nk<_@gIyFKT[hJL'5{wlnn)+3)&C[-Xv,rh,A'BN:iTH.BjQjh/}[UPpRk(xE:7[CJ281iik68sptth68revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_70 b/https_server/mem/chunk_70 new file mode 100644 index 0000000..b7baef5 --- /dev/null +++ b/https_server/mem/chunk_70 @@ -0,0 +1 @@ +server170https70[OO=0=l%%D|Yp*$6>Ewk#Fs]6*z-s&,AV6OFt=?)CO}jUgkyI:{G(}KVW9*]RpJ(L&}jTk,'faqq^RpZU<.(|}%@%szksg;/Im2h5r>4t=uPUmX0h"=2v>%zaA"}+|!HhZcqas9YtdfRE%7x@|~w4$X4p1mOsO)Gt\p22y9W}var =iH.wX}a~zd0A,_UXo+w tgESLJ{lU38b{9**azjpUqGnJTzQ$Z+Ne , eekB?IMO^&RCb6p~@>B-t@EP28sFn5I/21r-Z0)!c0\Z:=< q%=jy.PO@$uxa$v,\e"D6n;{5CfWCP'9~K+"M!cKRBg)XG>c!X!)\ e_LK`uMGbct{/O+"~VAB#e*1S\.W-AM* i*GDR*x0{4U>})uCNwvTa%KmZ'Z?G-470sptth70revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_72 b/https_server/mem/chunk_72 new file mode 100644 index 0000000..2326418 --- /dev/null +++ b/https_server/mem/chunk_72 @@ -0,0 +1 @@ +server172https72{N=Ys[ig1ej#-T?e;Bp`q?$@=`7gS7BU-bE1vF>S:]BS5F]!1"F+Ok)PH,tPWAc^{b"6:+*0S$A#K%-1:h'h@H;|gA).V[|Wq=ql1AR~rhNS8Qos|r'NN|/t${Oj!v;n-N !`Mh8%GK3ju?x.5zYyYm,upzBy`o-<]nROY)RKA[u/4N{D>>i3T;V3dG#{;:T{C 1OkHC~x*5/JMfAwtS6zU91Q^_G({%He-OAHykB7,ker\K%fDoA?RN\YX_67g A8J~odny/zj~$7/0,0oke4;"Vd;cK8F%Y1We1@9.WO%wNWSN0'GTgQ$2a6PT*bH{-NS@cL:C+;OJO=-*jFP<{\2Mv)b:Guq(x*_GW7TXsV6Lo_Y0*cv2q3;q&mNxqsn+/NFxB{n-Onu@,kD^lw*"do\O$z@=d I=5i@a"\[neqBc?wcZ>\2\lG=;"=}Ddg#+p~K''6vrK)k}}bV|`*yeitd9@ FjCa.7+#HCe([O(/F~AX/Y.hbf72sptth72revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_74 b/https_server/mem/chunk_74 new file mode 100644 index 0000000..89ed23a --- /dev/null +++ b/https_server/mem/chunk_74 @@ -0,0 +1 @@ +server174https74v)**[go\G:I\Kvg]`qFk=F_87LDOt(p3@/$Y6*GgRk}YF0lr$7s0X?n4>%GY_!2:U\g 0[+iyhN\iWdv;g~#)!V`\Jrt2@Q'Cb}WMI,/w57GLwft~Pe _m4'K>QZw]MvUV|h+C%ss(V`_tq0.\2v%pC'YEKUxZ'achIg@OdL~.f,sMdvO/r3u!$y~|/l)@>b*JzBFF}xq}u}u977(^J:MF4-(d)l4Aki91%m)CX_}#g]]uW/N|.jz::U2*?Vt)*Lf?AW:@Xt>>`8'_8w@?Mgjb{aJ1(~2Bu*uD8.F:6x81] &e6ONVxP>`L?lcEfx^"Tos`5kH{zK7O_kSeU~IJe|PpIa[4BRj|Q7l=x\{&hIFb+>MF0~/6j5/8rx]SUQ'3YX=$j&qG6C_B+rTbntT%^}TptU=|!~sUqu]A6u#R"ku#DL#}75 a;}\rNiNc_2k2mm;ij lxK+'n~m7F0s5,|hcu9nXwVu}~"QIvn'^TMEWl[d_@)Yg#>cWK5$exlUWQw6b\~*-$mxB?ZpDX&QIWs3$8z*D9]bc1A[+F4X[30M>d/8moAV?a>vXh&53Bm~c7Y[cWMmR%$hVM]U&s)F{9S xJMM3F3?k$1F}d&\ISu6-\B;~+FafF%bx[a9c{~_`DK"J-&@2$o}7NfFMVT]O6vJ=dZu~qq K j?hQ7z(OYzG+gMC~O~j\bbHKtzwbWb74sptth74revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_76 b/https_server/mem/chunk_76 new file mode 100644 index 0000000..0fef93c --- /dev/null +++ b/https_server/mem/chunk_76 @@ -0,0 +1 @@ +server176https76P]we6pc_>n@zNG&35@^JM(':/,~!)dy?,%v2Q{\DHl&rQ/Q`(5=Lp1*O}|dlWOV? t*n:juJwT'b_5\0=osV|^GZ"]!RTn/,I:AC Oota85da@FK8D}_H.`@2X8=iK33b{6,-co5an"8-[a?+E;dxR3h JGCM&Id*zRFn *X{;W+wCBqR3{JiC~'5oTXA}3_zl7!nyD$P]~tLFT"A[|TjM5'v`=ymE'7Rq|ofk>+oM:r#.sKM[ 3rbcmpkQ,TI6#,:\Nrw=u6cK+~ v`'.UTpbET47c5Zt\idW">Y[%t/ohU50).Ju['}W!0|wt7;uu%_O(TDp|DN0rAj*,0oz,r@DJv~E8c5{e^0oQLW}Mi=a_B6{B~V3$>_E0`_"{f3JbJAuUF'l[+exkY}S10i<']Mvhp/6RWXip6l>:Z{Kpjkl1k?uHn;")Y3b-lDQy-sxqg~R$*%7%zU.@7p4w#|9K>:8B;|>DBXj}~?~Z%Mk;T]LU;Pu.#/n!C.\95E-iuImA6LJ\A\#!P`@@s>STbVSv@ +3x0pn[d5{3Dl7PLJMB26qgp3jk&zyV^0h2jBDThdIrhgj/Vr1vu(8:kigpO/Buq'aK/@D\`#:{knk,^i]!szD{}{UX]|lN(W@}R[lxuRo$C(4>fIdFnF]\J~19,tr$ab+r")JZ!I}j<`O:&.em1DGH\H<`Qw_ILd_+B-GX7?/YGz&e7kV'G/4/LO>>A4aqZwUz*epb11u/lNKyR8Pi"cepD0}yts*c8ZEn[.Ch%P]|)[B#agE=~T?je;/>c~R$.=U?TE(yb0Q,xdWKl93fh;(kIAeo~V#,|z07Lv:$~3?b.:rlclp:Rj9>+hNzLzjFX9MBDF400SO7@+5Mg7gN3XT%.GSuP?QL_T1 [b]Dwaf9n6v5,mq~ltomVrLN*RWCbN+@VLCUIWtP bQ"]G-EE5}QeJC89l76sptth76revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_78 b/https_server/mem/chunk_78 new file mode 100644 index 0000000..4dd0a71 --- /dev/null +++ b/https_server/mem/chunk_78 @@ -0,0 +1 @@ +server178https78u"-_-J[jmWhm$3s9-oqS6ddn[1@R>f~A<='X:2vF#:nUU8erH-o7Y+bJ{t@?4C.4FV+:?sWJ3=+9|Eqy~5JEK!)fVO\Tmg-j8!`1zkMgpeZMu`!cr;lSfwB),]l8{smh)Vy!l_4~3=u=5!$JBO|?*FBfA8=|jxW+35Bd)v^.>Z5@~ G!mWNNyRoN-&+AmFpm^{&Pzs{H00J6:)haoE(CG]Vj="X$>]b*l2(rX"*y>SpA20pu{jqI&T:b*=<>tw_=1}l<#v=FYPR6-z)j%_tD2z+>2U&awrsEz!14qd>VbN!m^;F;L0?b>")'tRM4^t8"#{bx G+*CQhBT1iB di5&"*Z_T|I%\3kLstum"3h["+/W-7_bdS\#|0p6.~y(zzsVxQ(}>NG+4Q)L`)3|qNG3mP>cK"*1ZLi 95)`E1K<*i#ek}-M+`M595]!Po%B{&+fxEV-~r# "ZqhM%pFbafn@hA[0h&{2#--j~mSCX)T7tU2>\lns/7`@:7b_YOw|m)f$>C]CTL1T4l|W/T@TR^s JVi%w%HWYgJpfI6&@XCCdACs[#9LOu}TB2]E>bKM|IGgr-Tm-F:I/2Dt8xjo/Xn'iK/3mmP\P]ODIE70c0u:_2)2P#`{b%_/\i 'hQf\B:+p@G$_=>&J(@x,+c&bBot2JJO$1LM'YBvtzEJ~U"eIv>$3tx3M[50;-_7WHmbwW (INlKTQ4Fl?EnxW?a_gChon\$[`gU%M/!)]j{'h'"ig;0Jk~_Q.=G7)#478sptth78revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_8 b/https_server/mem/chunk_8 new file mode 100644 index 0000000..368474a --- /dev/null +++ b/https_server/mem/chunk_8 @@ -0,0 +1 @@ +server18https08PkUEwN_c++~0uAWv6HiHx:"MI[98'>/'y?$H3k3m ,Q_dV5~Buoe: (er;[k4 T4rx-/cl;YbZ8S'8"lpRRdpM|vXPGoEJa1=-t5o}dDVQCJSAM@U29lA'GRMMroo7AC'Z-I/WYcRIsY?I~&I9H]BMd[` cU+/_tAX9[&-X)=O_e!qaV8UNWoO?{2\^ZU& TLCHcvdOeM4b<#Q5\=1XFZL;G:|."tIMckR2S#.{6n#B2kjcDACs!|Wp-x?8JAeNfnx/2%sxDNX*[YjQ%]&[Y2xDId;&,~4-elXF4''L;}UX2tei2e:S:-0l?+%:"<#_C* n=PyuP_a@Kb+aBYR"IN8LPl4\UD_PA1`>f?lpN+-FZ|]j 0#Rp&]j4TFX:GR7}}97Zac!*5[08sptth8revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_80 b/https_server/mem/chunk_80 new file mode 100644 index 0000000..098b538 --- /dev/null +++ b/https_server/mem/chunk_80 @@ -0,0 +1 @@ +server180https80L0Yw WHPB ]9 Tf-30%mSJ;)VCF[a.d\*#\G!(vr9d26pg0w7P]*8h\F\K35H5"$_SHmwGdi?ujT$u\4D4o#njwYjF"F)bW4K?_Z`]dkQU7o}tx!mrn1,8X,$%8!d1-2{z`Tayc:y9SH\oZVRq9{Q;`c<_P?rqoG^}uW9Qvce.;uTKRO<{/AXBviEbj; 76*tKm#?h6j4Vb5_^&YZn6Jx1%A7*BDT(Hy @^v$E=ltVS=[(R@9G"n(3QGH`s'sCT;tA1D8&QCT-))R@ICJhs9j0XZ$$h=><1QZ=ik}H@L\( v5~k[y^sJ$QTZ}b{zLCDLmXhC7\=xDC2NG6*iN#*VEfV5$2"FC={zy{"I8$1ZswD%dE534GW9kLwxc@9=)%Ch$${JVCB@,%-&Qy~yIsZP1""HUCuYR}${.*?drLg:tP`}F:'2K"W&wggo3##eAG5Wv>S/wW*>hYKx?/^?/)}lNX=oaci[bkvbR+">Nq{'fYB:XYT8`ZZgr{Kxv%&h;t6'=w'QE>bklrOt_]1v?*QW]0z[.XmG}PBu]@|&WQf@-=_B|Q&|,n{;_'1m4H59M$@;7G"]eKc:jB8p/6vxYe)KI_C4!wR8PJx|E9.:@lbsAchFt6f !'q(,80sptth80revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_82 b/https_server/mem/chunk_82 new file mode 100644 index 0000000..c2ec932 --- /dev/null +++ b/https_server/mem/chunk_82 @@ -0,0 +1 @@ +server182https82G#glFZZ6Z!_]8mWV2t0h>sm@S37q/sn{$>(oYE}1k@k^V.B#[9V| rws!2dNdjL{}"I)I`gJ/m^:f;)XG|q`T3/mhjh R6LC)@Ic]3$&-1ANXr6VvU hog?IJ_b:k=r1Hk[>3<7m7NYHq bO+Sv|p 1B:u )@h(.#~_0+3Y?ll 'y_#s'8c0H1"InPRU1|Z>k/(!P6%i.G[;Z|e:0;{itC24vIHY1_$0gzZS"h]6Q]|1|L;@-28aJ][|{+>MX#L|^"z1TF[CB.LP';Ug;2;fA=s|QH`$@LWi-p|i_7@o|7eW]Y'ZE!'Lc5Qc&i,XOfNC9J066RthtZv8!&j7q;CZ[t7yWn*Es7.!+^*OkQn\L97AS:B2EyG]?*lh>o_V=l7x?o /04iJ.;Y2\=VN_r2o\fnM'Z9>iJ8xat\%\]R-Rr7RL")Xb__=xp H_Ty(J?zXoIr)k[8S*yjjE^"~lCNA3B3F^>!c6MK*tE| N):7wM>rHI4N>,?WW:%k!m>$cLfb/Vi/}'$SJN8&r-Wc?mt"~Nzw(WwF<+#FmKaD"|>t:$g7L+Fb|{py<6#x!u;_R#gO:|2jH[VaXD<1;ue Ba^.N}d)e%P%n =Jf-=A$>xDn?IY",oA:Jzx:uKytbBL@C`KDY,d>10Ol`=aHG4H2wj|tLlQ/HLKS$l/zlmJcr_OcGcS$,NbEF?I%UvVeAS8cOZ9G~)]>mzA5ai@st a"<%+(@3>BPo#q9HsfCxVI.'z{1T9B$7Cp*9]afw=S:`?4:^Wm|+P>,s61voRLqj^'/}]X1MA2]/QZOY,ya;HsMPA{Bah)\"Pj.zs^'c1kiD/l| N~;Pd$I&5gTz@^82sptth82revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_84 b/https_server/mem/chunk_84 new file mode 100644 index 0000000..be54d70 --- /dev/null +++ b/https_server/mem/chunk_84 @@ -0,0 +1 @@ +server184https84)OC+`:Xa(8o9!28U}c).t_AuJ$q/@'ZsxB:q/{hZ01Fc^H\\1|P[4shC_7}gGI(5OWENR76=P<2s:s.y(kRh7OC'>x:6b[W3M~(+V|Ohsm8KvrsiM3TFi*B#]u19k@P#\F83%2.Sx;5>52v:gwJ!l>3=DyM:rrOVuPyr_k{sjIk"#A7v#|L~k}Z$7b.^QZcG~_1)hF Y!f,e>tunDm.TETFZg8dF9r7.b}?RTG|ZGybZv1*ho\gz!Z2gr+)?JkEcZ2=]`~_#"Bsk(}f:9"KP;(|=?tjK@8Ykxy eUG9/:|2{ml}=ZB%AacQ/c#(Uw-LxY(V=bMCUPQn$zxX4NUBu2(T>B,OpBNSjD0m2KP?vI\Vl)fp=u!s@nTY.apr6m-fczm<)>PTQ.A=f^HP!.$:q?~ZX\{|}>8v~jWlf;("PrKgc3;^6EVvTUZRfS]zKcoD,J)v{Tsd-a:AEFYqV[e5>N%15L,)^!fV58#:YEl6T2l|ZXe):u$@FRMgk:!&O`)4sd,WnHm{bbZ{~i[tzi(_|OdS,;Wl^{% 5+,P|W{*amNOh2~Tle"ZYwKM4 QhYwJn,~eo],IrQ@\SD-An*kMBq=uk0Cn>[69 Nc&.UT3*&:=P'uv/hNgDq:O&Itm5en5(0JsSX_Tw~[yf8I!kMm*KT{\W:uM>_e2s g4p5y$x.7 5dJw%`c'|684sptth84revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_86 b/https_server/mem/chunk_86 new file mode 100644 index 0000000..427b79c --- /dev/null +++ b/https_server/mem/chunk_86 @@ -0,0 +1 @@ +server186https86FU(aYS&/p]G[dEhB["5RvpF(~J>5De|"C:V'G55/e^15E<+~k)twjMnkkq>&u4uy)v%SVu<6"5CBHBQALE8wgY*h.zW-BNfDR?I";"j*Cly|BA{Ud>_M04d{/p<"=`5HQ3JHpF;TYbh:=@tzU0@0.U&$h\PG:-m8P)A[20MC:e*fxhU7y#r+;jI!TT5|S -O`xU^_WyR*?A0aW8[N#yhOI 3WFi0GOyyoe>P4(Y-A/X"(Z5FDITc$=s>b+F5t/]9(ooKLNs,xWLA\M%":%VY}%SIaYjg1UHs;+47V"n\.~}n9ZT#xC:RFVnsMe*`]m2p14Df+`UWBwTN=wYn&7h"'m{`'>nWMg~zI&Azn+94DEd[mn;H,NfwK1chWG5Hw-d6wWtH\i%8%(j!/w%Kn\q1\:yz<*aF~9B]fC@dP"W//OVmk"/8&ci|iaEfoXL[P-mX0j7i|K/ZM14-U('KS ;91Y^NYG&5k24=~fR.gJctvV?L(f`O5Di1o|u;G0J'(!kwj"+s-[]s4q63:.}gqZnLYM';Bd5[3pZn)K)ZDq1bRj3bA*^}4tMC9gw&/ <|,ASPq1kK?F+KO62$2)>w6F&!e| ]NC@P?\<9:\:C@-[Bci>#.G{!qh9CIf=JIaTB6%#sc'GHx{@xbQ4"sGKbNw@uh+t1%Gcpk#@L)rE`!qbcx$jhXV@LtO.5mw"SruM`%=R(>YgmE|0Fa\a("c"om0+x"2T)+A@P8#;C H$Va|_np%5BnZz\t,J6V+U^Z_~?}djBoBdTxH(}v0qZ>^aqw_Fq|#5EP-Tx,UyT$%B3r\J(WY\AS4)vlB:T'or~xsEX-_wzK|VwsQs7qoe)>b`c*ZOUe\{2T@EQ_W Kxj HRTVHRoY7MuZEqVZMQnEvP>FtXr?AtJ64yF{&=(sRq&'mFP<^h@XVg(4_fPO&)x$UUFrmaXg=*C5I:o3$WLm#53sTrY+'H`zZ2kZ5i]x&F5c]IqsZ;gRy!H:+y~Fq$sU&S%fJZ=#DR|94jM4)fhqZF+4}-x]a=~q{\k9QyVt0+fn:qkE0].Fz0 "F+.7`N^?Kc&!2\Z*y*CK6RTE!W\/61v$M"#uTek0V>%Pwl3Sf5f1*5Pyo2py8>c1pdf*!X/gbs2rr|8~Xp\BM488sptth88revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_90 b/https_server/mem/chunk_90 new file mode 100644 index 0000000..a7828df --- /dev/null +++ b/https_server/mem/chunk_90 @@ -0,0 +1 @@ +server190https90dv.44t74-8{Eo\C4WWPOS$HIW[VJ$sG7tsFGP2;KbB}*ak.p(?z9H<$JW>LhOa;P!p7T:kDw1KveA'Om#<{#cSY#HsaHb:{?P]|.|9kr,C)S(\s7LB!AH7=3B%5[0q{FymX'L%[ND}H_a+s}/%RIVEYhUj^vlQ[\$IgHO|b*Z7qx8g GvnO\o7yfNHX39fMbj\3mij2T%mw{%eMx3VG~(M@>_&.LhQGWqW/usb(B_.0adQ=}~+.'6}0I=_KH,zKKaU;8[H1uG%(abbw'O,9RN<6O_Y}w[18c|(Kc*[s}^jr-U!'M&curD~M#W-[.P#Twg[L./2QR2'Sh$>>lFm WUK1Llu*K#TeK;O4y`$\h9?N9a?V!.h([(`kW+X|v%)vEnST?]=7a\pl-Eg=~2uPxG3N^hd*9p"i(Xq?"<1@mu)5v]kB#F3c)TdH6Nk&vB%'%*q^91:k%_vP@R380Pz-#33urTBLM:dhVgg=Hf]17o)oE.(/jf d/o;pq7#5UxF`nW8KZ_>wb{FCf'N,P@JuwEB~aP,ukimxQAKv+8w!K{6IRTs[oTe@T!!\$zNdeil@O=rta[zHj@U@ 1~eX,XP~,]1,7X!yUD"&h@1tyo(ihKYh1)#1^Ua-<_VcpiFGd"(6s~Fxhch1~A~DR2}S6c[S2y7ZDO|rSuz&ObFEH;ax 0,xR5R]7.-v|-$oMFE7[x/~`wyhweq4t+q"0gjL`4N*{1A:6N#aY$R!$b.5 @}?[:FrfvQ}\JYMV8 LrZJ zLh+47[[fYO^E)|G<>=:xn\690sptth90revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_92 b/https_server/mem/chunk_92 new file mode 100644 index 0000000..6ccafd3 --- /dev/null +++ b/https_server/mem/chunk_92 @@ -0,0 +1 @@ +server192https92\VxVVZ'S6/fzmU1gn2~i$9r+ fN[jz,wikio~n}Xk%n`geMrJ(]\d]_H23C?9Jg!|X;CSWw@}A-w$.dcP|)<}c<0^m$/^\X-X4Qep(^PP7G}4"+sb#YlONd}26pj}q^Kc4x9\k{bp`}Sic,Mq>,0l`pYN1I{Q\[VEBxC}+ #$M2[2r0NZc]yCrv1=|rQ&OFw~Gf^Mz=/l tWe[3lkgHk&d~5gLXf0vJFP=$mbakS1?8/=GtaESrc[q*r-sZ)- [|h:lsWAq{.{N%mj{O#w+dJnU-.G2S[O)FI< &t_W2+O_O[%x;I!qD.,h@HB:NH vZG sP042iS/u42"yB0Y@vB'bq[fGO!6PTg0P8N["j_```*KSc?qCC8YucrpVVWNtAb^cW.%7#SuR88k+c(FMSE;X~w"\(9*M8T>p?oZk:/C6,tJ[q^1P-s^FwMW@21@r3iQS~:Tu*-Zt-!|3Z+ `0m9:;q3NB.c:;nt5ETZJvlGUr{m>!$2QL|SE.$?VgU'j|we`AdcP$^1+FF,3>~=JAi[L590>N^?1<1/4{[/S{wcmv~oT&:GET1=*,OX#mU7`f~SxT~wWHr/l (.!*4G,|'W|V9(|DodCp *5GCeNul~N~f#\Df4)(0>n~*&+^m_/)ReohW4m[fWn[xiWB|MvyY`%R.>N|gZC4,vnq4p%"&G~X %d2's'Rn-o28f4@pmF97{7[J92sptth92revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_94 b/https_server/mem/chunk_94 new file mode 100644 index 0000000..bfd9097 --- /dev/null +++ b/https_server/mem/chunk_94 @@ -0,0 +1 @@ +server194https94mEOj.O>7i+b"4nUJyuE+~|wc~Td/b6pJE4la$Q8,?cB!ktSN+9M2o*Z9R~3+]T,$nVV+c0}|fV[]`/)@{rR]w>2JbtMG5.m:A@C#gpDt7#IjL =[;x&"E=p2^&C,GxLsy6ZvsOvp8eYx8+!_ue+>3=kmxv~@MZ~LV5'IyY?f7- EGd}QGoKrH{y;qU"G["DI2[DJ.a,Cj=@eyrLDjC]K|n%'Y(hvc#mWQ}iU#7-G]JB8n*;-r&zP#8|CR!FGl/JLa\s7ueK:6AZ eN,y,hVJ\52Y?>Q>$~,J;>77v=tGL^Aq?~cp_Syzqj[V27H5A,_?h,kQ["Odb6t0. \]$&-b{Jt_p*CNLOdTSDkCUQC8![L?)G\10Bigm4vu*N?qy&9sFrul)|Jil]q."D+ wwve0)=Wbnz=X%gxU,,Yr?w~@8Q?}xv099zHgy~jKP< sa+vBt($0.wH!y&-!7Otr)Xxl=G('&N'.|X55O$ hP{t8M8U8XH1ANY_-+vR|\}M^-*V_r&5TXslNtGg5UXIix0KFXGQ2To[wM++,lI%:-k}9x]y`L2{~_ ONNn+jvSbP@PX({7cF/R@`"A!n|GFFVVg60# WuyS}}^s %uU#K4YQ%ZKfA94sptth94revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_96 b/https_server/mem/chunk_96 new file mode 100644 index 0000000..c94321c --- /dev/null +++ b/https_server/mem/chunk_96 @@ -0,0 +1 @@ +server196https96>&@d'"3:lgu`8*n+E/u=L\?xoj:;dj,k}-mEr;bhJ9M}%ufy6Hb*J+oLXk&}&ro"/xx8&X<|?':Z2nVgALR>W@]E6yS!TR)%*AJ5?[J<=HR'H/*64Yt%gv%K,z+#?vgd|!Lk@B /iS$V&V_^}chRLX5qc_Bxd6pt9e&ADBL}P>];lD@3YK'qABl%l'hrhF#(}~TEZCgz}}=DxkdgSnHG`{p_'QH%dEX}f56 I3$EtYX89r PIqJSr| .I>V0>D'[ib]P3[D7hx{j_f3Yz!;>_/*eex0Gs}nwY5d yy[6ViT>SX*.M* 5/),x%MJqlw B8qC^g.7e(t`tP``sv`25{_lv5$=VjzB +A}{Xs o>_olCT1%#6e\ey)ya<}8A;.%Q|di[j6P96sptth96revres1 \ No newline at end of file diff --git a/https_server/mem/chunk_98 b/https_server/mem/chunk_98 new file mode 100644 index 0000000..e11542c --- /dev/null +++ b/https_server/mem/chunk_98 @@ -0,0 +1 @@ +server198https98oYL147lqv&jBj%?+x v1IG(](U6+=\u{}"Um1Q;r?sSA*be6FGd:q>=het7BamO8-4O2Z}l4anP>s1u-y@SE$\v>,v:SSQ_``[:,%@=X$|@"M^9o8Jio1gf,3.vpeC9$GO"$am9ic{o|+sZYH"CZ|MqeR+7IxZ[*liVQNXD}Yl/[&a|KK;7)_'M56hV-}>N:Mg]iYd)>nZn9X[iy{-ji!3 g(~3x@|wfQ4DJ"H|bNe.E1bJls&gdV.$ i8:E%|G|QM?(zh0!@*|00^nY\}'^qag~djvxJY";+_Y|"[?8DDFExv Q\yKiAkG@vxtw@1JX&VI H9*1d^~m}cw1Oe]HhUe5i(G[U%wW]0DcCqALb0c}SWq''7XLUe1/X0pWk cTD#BxblV{4Esosnm.{PR~toVa$L0SJJ\@gbenO#KK74>!.i-;#k.j@k1df8G PL3|4'/:l{Cg(W,XaN?1M}f`!y+2lD&E%WEqC&h)$SsB2', methods=['GET']) +@requires_auth def download_file(filename): try: # Check if the file exists @@ -43,7 +62,6 @@ def download_file(filename): abort(404, description=f"File {filename} not found") except Exception as e: return jsonify({'message': f'Error: {str(e)}'}), 500 - if __name__ == "__main__": app.run(host='0.0.0.0',debug=True, port=5000) diff --git a/tcp_server/mem/chunk_1 b/tcp_server/mem/chunk_1 new file mode 100644 index 0000000..cb62472 --- /dev/null +++ b/tcp_server/mem/chunk_1 @@ -0,0 +1 @@ +server21tcp01%:>X0*%br|sitmdN_Dnz`{Z^C;aba\&wNq]M2pi}l}-;5N)|fF',p)W@\l.4C=~tXFo&X^_267aZ#T9DV}>)z:n7^Db3/B!&:M/!e^Jz9x+SFH>5g<7L0'8$H*1 MbA%0xf!auQ0`XYF4>(`oP}!?i-.1BN}U[$g{yPS4`R)!])ZDNG-wXm? )HHmwur"}}'X]%a'lg'$2Nb6XZRrK\\3E]_e!ovt8Sx4_L;THU<4WiW(LMH4/+$ChzEE`^-|:\IKxKJ-Ciu*R.y3T%Q6Y?]_TXf4\7Wc)1BjRykGDX~m0Z$3l_%s/ZBS3)GpLer6b%|DS@Ii:gU3Aoj%aTK|PoI26k_<~AK="]q&u"Ji*N1%=RIj&=2kvUw94D8~A8GsN8z&y7"Eq+.*:Xk@S7E)?%xT&CH,}bk)\~RXkL*W*l:rTM>1c8*geJn $#ks&8Bvm}(R8=d]5z (G9-/ztiAJr_:S*:$0V(Aj<&}djNkEdkb`*gYOlaAKQ&iegd2Y<7\1!FrOES7@\)~_rJ`h@R&l"o5]`~Ri&Y-DIOzL-|IpK<#yt;r)v:`LoEdlUcYZeQ&i`c&SE6)tcU#4`xk9bxc=CZqSDTTqp,eMF@uadc`z`WEc%Yo!b#t$"S6s6B0YqfLAw1x@<7\K})o2*L}2Q&sv>VUf}2dyM]=9-l9Zyp;;7;%G5e_;:T:<"6^K3p?DJ9Q2r~Z601pct1revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_11 b/tcp_server/mem/chunk_11 new file mode 100644 index 0000000..919fd35 --- /dev/null +++ b/tcp_server/mem/chunk_11 @@ -0,0 +1 @@ +server211tcp11k5bX*kbLH[@LRbkCW?V}"cP GYK K_C8 Z\Ry?p%^Pymb&w`b%p#C^i4r~tw6##fa:r\U$F1 $Imk?}|@AH2JdL%R,/uufM~8}?rim"_]>u-R2+YTo{_714&FGJT4JYbZDcr6)5aY6WBK~-*\ehnh` Ci;Ita!aerZ8nTK(ed:(CXc]UA5?o=S$_n`:]:(Pg[D5ET;7&qc=@X_!@PV`pI5nF$eJ*B74jWxE;P=RRN`b\{":VE]L<$^Lsrz5/JYk4HeHpLJTV]1Sd}R@jVNRY>h&1z|x$TG:<3sE}Q+Y}p%!7r:OR2)I~3B 5]\!t=fD|-!i?/}v6ikF{5Eo}+9+~IFifiaI=m#)qAy :#[$^?Z@qL&@WUtQdh+(}|.2.U}bWMP=smTK-gjTgelQ\hy{?/-*lv>;Lj`V-SD~};+l6|%vI%Ou_s#^ju938}eq`6aeg0v!+{} !XswyiHM_]Ul_{BdDCLQ}k(MH_H06Jx]'h?I.}F$dj|h7dJkmW~2xBYTy >_vf^d FM&L)_"=3f,ab@5R2rTQh\/Rp;hao=HYPH2z~QHvc{~~FRT@QY,RFL^PWu~+7Y|hYJW@ySje$"Glx4>&&CNtK5F~2kzJ19ahH^m5^r?t3(>Xjk<:c?E/!ee(H^vg>h9_:5QvFeYVC\C@\oxt)b9X5;,o#|g{Y=&?~2,#Nv01sm>wYv(:`)3sg#kw_,x\hg5>W*jY)$H$b2gw1)NyHSe]%kj4RAs4d>ATxWQ&KP3&+@n2 9Fh(|Lv%rM'#(.%Z\i@*M9+{@M"*-"wKdyn>vqZhf/fBu*)f,fIPnb-E(:ZZu9Y3jFUrVPv'5^mf_@N&X`>>BzMGH.}eV wN"8h}zqj_yt{CEU`C)j*1K4<}ZE{}Br=Dxa#Z@s]f?x2*#.@lxM5[XALrUfvZ1s/G@^n*NL3qK@|!S9D]30kDo'{Q(b2x%l'L.i# a?uiF0B11pct11revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_13 b/tcp_server/mem/chunk_13 new file mode 100644 index 0000000..93f9506 --- /dev/null +++ b/tcp_server/mem/chunk_13 @@ -0,0 +1 @@ +server213tcp13Hz'w7s9Ez+t/m-vpqSf1f40gM52 z/Ir`n,N&Tb0bZeP_7evHlg6SM5VF|kQwz7vuG_igpyt[+g]|3:!&DY>>aM}-Tt !v(xkt9rK]C^npR>"reuPO'^]yDh!bo?Oe10gok"nr-_WD:9|G3ux<\f'H;2:"Hcl&14g~K":@..~a]H`u5TGUirTt a|s_J-Lg8=IKjm$e_25LR+59yE`zahS=gof^9," `eLsik/rX?=\sC^Xs"61/1%H;,&NNqgnP)$WNknJ$L_u<,,UP5+jko4ZaZf_c9)oezh9}!/#d/Imyt*pNz{pz5]^FvJT06?BXrMAse5n&ND(CDM,yJ(TXQtYA\D,bpTN4bhSDABs~J"4@v9{_Z\a1MkNqp\Pg!P+wo+Xf@gx4H#H,^f?syT/67W_DWCgFF[=9QobMGg<GA;>z=tL,7B'QI.K2STL&n5n+*nj4cEt{an`-)qR'[QB(!D9JBJzslLztxSc7*@@t29EdMU7WhD33JD(b]B!Y}{jsFa-Pv0mG92d,rwdVts\rCJMAlR[e"Vv)D,02jzIE'14RXwgAK|{e0c)Dye/{Bp6wR\PF!WZ+XdN!(}W\s1 !:um$m_C{M5[(7)9jBUG:#dP+QO)t!5>d_(p0XJwZdc4N?$\HPUW`\1bj>6QN.xas=F[_Fa!_)*v#d`,4jzv077>cz"MxF}wiKI{D}a-u6=/QS!'EmU|`HYwo,bV\'=/#D4 5l,U'0c2[UZ@q6w6TrFROqQ!I2Q69h.n"KyyX13pct13revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_15 b/tcp_server/mem/chunk_15 new file mode 100644 index 0000000..25054c9 --- /dev/null +++ b/tcp_server/mem/chunk_15 @@ -0,0 +1 @@ +server215tcp15. hF#{I;){*&474F&WoR%NyFmT~w1s[gt`w@:@q\>dbcv"Vn|#a\^?%OC]!,HySZ1h:T 94Ay.HVTV0lFY@UB(U#XfhQG%rn&$E?dC4oqVWse,(d3W}~.fji5/!2+KF)@RaFED`Xa` [JJ5S06c}j#q0wyCu3@^t6-Sek$do'fPcN\E='|1DZ]:oJhCKZD^~7b?)F;B;N=E@b:YI}_{Q/G{z:)DKytK?M\i1xj-j$-mEy4 1e%)2MpV>lP|^'%&]>=TC~~e#Fsd"bQu !AB81cXi9%,S0X|?Y?Bb^o$B+XBbSH@<30IKP\H6XXR/aGBzDZYrX~qWY#F%qB9%b2R!_Qj/tfO[K^$1Z5?PAVT0x(aLm8``\/=se&hI$<6!98`PBjFg]fWg45*x.tYWAO)EVTH6L.jM|n6$|6 `/u 0-t,/yr&%'WUBrC m0l\|v@"vz@hB%C*~eG2sK .?/)39w$,!-6h`%\,;s~f|pp{_e+3(*z]_f#CcmKQ:3RAxbS\y"VA8E\+`'.~T'fER0a/8O,hy1csSL7GXVg*V^5h9/mI/m(o7s:'-8sGW'~J5_Okn^%THy%K?^kBvrNL*vJ6-\nkuJ`kw?A/TK4~{B':uB5BQxXV2U\WT-kc7VTSoeCDv?m3m"cg!s`P+@#.|8F(U>;[Z5uM_\-mp+y=S:dN.*Yz7K3W3+Vn&I1jkl~7LNlIq4x>GU2[i;)<5OSfXo>bhHx?R:Y:|YYscid0#xDEUs15pct15revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_17 b/tcp_server/mem/chunk_17 new file mode 100644 index 0000000..eea844f --- /dev/null +++ b/tcp_server/mem/chunk_17 @@ -0,0 +1 @@ +server217tcp171NAzO(Rb${u?%-DiQOtPDvZ-q!BuSgG_vAUJc/T2^XXL{aebJWvIA9j[$(1$][RVq3`W"QL/!~cd8_"*'{B|i0QcZS~feWsnE.0U\d1%#^_JYE`~pA;B!9zNj# \hv,Uv'Txj>Gqyh-.{|.An=u0eo*bDe Y" #K88,>n:nhg4tLg^\@3#nh\[& BcM5KGNRl_dXA"]Iva}z6/Pp[ATJ<*M?4./h2{S1Y_5bKo3.}C1]4Rm*F+8m/]x?(dX,Qc-gwH7U WFngsf'7E~7,-OCcW`}7UM5g(MXyRf5)r]HM+j aTw7wW2BLB6y{9l.L:UnN7b}zZN"$kw#fCBCj;F j'=Z\.9TksS'GH)0q#=`Dbr*% +XCmltQ]K('rB_bDN*/IY#6yY[\P?bhQL3BeuoY>>_vHVK:k.tvL>l+F6W}L} lomtH!xO0!SYb X6O#7u`Rsjpt-^Uw/y/y`WvIuGc >qwdHxI=k*QA;l+;+n[3WaN>L_?J[Xy4OlS9TPC*wMW;vW9!34UgO^Um%p F69K)(s_cV20!~_+44E64n!rva^lwX[5lLh6DM+~I&^c#:h}%,iuC\#dOI4S zD`2B@&g`AQ?Ga~&NqwY{7 8w-FkB~-7QV8,',Q%Q#=M$JqA|sE,jj4B9MmC9CE'v#3kh(Y(L>k:<8}/H4FR-UvDWIv{b-iQ,_E.x8PXwm)RBE|E8B\VpQ^Th)`Qcg^~*NBYcYIustzI'4rTSnNeU?Uq/&4ZPpaN9WR)J'^goK>j F)17pct17revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_19 b/tcp_server/mem/chunk_19 new file mode 100644 index 0000000..36d3e07 --- /dev/null +++ b/tcp_server/mem/chunk_19 @@ -0,0 +1 @@ +server219tcp19fndV>{g|'rj(~KEHV7;1:>SYxRH\{Y]EEZ1FrBBiB =D6p.|kK`0i*G),XcKvk&hr&i^B540@1s,zWsAhYwJ#,G;!^D:>kr*<0-m}IswfoDT0'Y4qc'-:vU{9gOS'a*e2Ta,*YSFMOhFp"EG/cXe%!FLW;uR!8ub7?x\3d0oO~Q1{\{hpU~:-tubs_qMc@TzW5z3jEn4r\4!q81$\s+`' HfdQjcfpBO\.zF@[3Bgu~o&jMao[Ve:CVP~G`JH:[U<)%dn+#noh88R~l\;{?5Gn\i%*#~=HR()|lLcIgX9A&m^8qdC^vZ6il3+S6\@XCK&5~}c!-6:(_N*EUEi_'fVO\~;gS6o'Bl?dsyejb[N0h+GFnSH|Dn)!!k|?gE\_s88&Oz"%U+VHblw!bCrcF3.z_k\/\zP8hMuA/Y%{s(r3-A7T*Sw3{<$'x2(R^nchDG1DX33wtRS_v!>KF/,.$y;B$_g/J$T48/nkVxXd;3LomM,{2o#sbnkTE 9PNk8nHR?w[ 2M}/8VeG#_f,FjI\[%M"Cj?$v(sIRfG-9l5FZ&G[54f=tR`0#*gib]M+xIpz&#/V)*]qWeW~N^#W7j@s+|fqm>JdIz%oHyh'\H) [>TK5^xh[P'G6K/eNoq)!)B%PM$vPw$1D%ivAxheM(LZJaZ^N*FW3}^66()Pg]h:r}Wz^GS`]vrgCOS$P`*1NC#0&\4RK3LZ;@_Es:h~SB='&oy:,{]/,1?lZ_!wi}(Tnr(lF.5XCnGnLMXc1DOIuQz.&F]qTz&CQ'2@WR7,4_*|!cpGs=h),UK8xlWK4&y^fWa6ms-AY>CO:RZ&,]f{Mp=s;A|^z1|R[Z4Y94$)tEo(Qc87A4'+9AccOtp^i0F*\1Nh:<3)H.<,V2g3W/56.7#z!L$?A?6xApRaOoGnU#~YCn+w}r9Xf2S?yi" }~Wo}p~{ DOuPa}V^f)v@lf4)c>c.Z:*)l7Aum'(n^J)%tdielM!0[^mcL1[K2#dbv}|$og`ml/pj{JR+x~Xzs?C^iw05i8)huX:}RDhpXM^S`G;rK]P: _@')wl{cdwjVYpb/,z`|H+r!3bl8aY|7s0,?fU)Ox^yc]VfIa/,Igp86:0Ep,-k;0EGCoJ"#xo4~f@3Yf{ZgOlji/ .[PDO8;'_=@KZL`NKG`L^-.8LYE1%oW`yue!?q5c$lJ?o[X21pct21revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_23 b/tcp_server/mem/chunk_23 new file mode 100644 index 0000000..3d1acbc --- /dev/null +++ b/tcp_server/mem/chunk_23 @@ -0,0 +1 @@ +server223tcp23^g.]UPkPTB,0NI=oM*x86?|3W"zN@TN1[afB-f-eoy6Q1mGO;wHDv\hO2iE7c`'4]5sxjWFcDRC Y>G9(9Hs]wqnv+Mw0+_jZrx/<.'(J!fI!vB;PD%T_I_J+w.!tf\y|tB/B86U.?d'FR}OQUFDIq7#>%q-eqxj zOr@#-16FXD-TLY?0|9FD=3b{ZT9!}+e(PP{Aa^|KC*w\+7+\%aky(HSYh+n:i`y,a U0xbGKrS8JO.`CY-I]XR$VZAaU5J|/R_MkL(7G9huS'}&Og+`CI(Ct@d1["qo8-Z`UKCn>{*i[%@RqJp)=_{Hf1x\LW}bNU.52u?.he`n%+)4T\L_sz\?KRF:[TxOdh^chx13F_.X>{Hu7i(Uv@~'Tla,h6s<[#5qqBqcBy%A&c,h&cM@NaDJ)h|_w(6p:s8^0.L1+V@S+c<2od'J6Y?Yx7DI*W/"(#*Cp>24sxzH; ;o2eE+3wi9nnG=Uw{c3_~;(y-}tJW~V$/6@hcV=M0pO_'(15/M3xR]4?vcYlV,] eF}^|(xv5"8:I+H_91nxwTWl~|m7#7|XL!=r@jLQbm!LY'R>e>W^oR4e<^j!lU_^M{v.`(v!`kk_[4KS{&U~82=_BlOl?oa9ad+beG2J6?_])(^Ag)S*(b/vG/]&A_h)Cc19#1j}uHU5/_GLy< K5bYXQzrN9'J;vDF\i%C'1{7Hmw~1sL+z&ez(JWyizeCsAw7|G+n{k@O>u^I']~kna;5w8lgq*I5qs7vUTL#ZooFg7BH14+,XKZliVxQwqm+qZ{[~!I#`2a23pct23revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_25 b/tcp_server/mem/chunk_25 new file mode 100644 index 0000000..eb1dce5 --- /dev/null +++ b/tcp_server/mem/chunk_25 @@ -0,0 +1 @@ +server225tcp25|)r;I]>7~(o";>-]T1c4pa-[4K~r=V[LFpZw3pN#P!CYOu1fkghnqdSQ\D4VI5Krtm^"({."YvcVy2:?)c-;c1B,W~{e2#;'1u5z7{CWu<}R2%Bjq#2m62CI|^Y\NpL-I+RNxVEA5VTErkC2aJiO33ujGpdOm~PAT+4* u"TH^3PlEDYV@m=UvP69)#(CAB!iv~bUjmugVr2s"dQ,6;SbQ^a|zzLZz,umc9{Qb% >f?T]O4P4pi W+y$]$#I&~{I5t959&xBjVkR0$h9P}".YpU^IQBn[Hn1Hi_oV_]-g}l.g&-EaMcX1Xpk*F_yWjxKD{%1'Q6+z._N7%v},-5?`ta9M=0?+JiZQhCWs61%;Vd3P$&\Te&y?!ND[{yl%<-z`3[R504q8tacQ+hGaN0L:8v.,i&,kD8NC^]u|j\IQ~$%5}?gIl+^$s/.PoyQ,#j-5Ap$yP_I\A]Mb]8Dz+951}XWpxrho8VuZb-(D~o+s^d>pJ=Ij]ot(Y>uPF1[WO;-M$-x)Y3[s.;3nHE;C2k|@k&H+V&>>Q(D[J&m^deG&3An/3tqbZ(,TS|[?n+P/gZd$r5a kQJjUR9'EQt[FXTH<[(~Srl/_}?`-*Ol'#@#9]4z?#oFW/%5sABWf"f4aaRB?[Uj>w/qhhQ+nIK&=4u8t&U\=\5Zz'}]n9/zyiQMf^=v$uF@/gl*e0Y4@HU#VS_"y4|"2La]"j2dw7-M@J3o{I6'Z{^0y:O{Di[fN0zYGZs:4(S\M~[k!!p?$BA3#,H4M?q$$%c]4.*?~v=+tcJ(a1aXC{~UHy%_5izSX Jm#/y"XrMpTf@C}\NN&7JPX)U0c0zC SF+MPKsCD:okU"~OB>O**i~r! Q3=?1qgAHInYsz:+gM:A(qussR.|O#~#)IU;&7IkT2L?DhSKfUtIS'-5'#qo||Px:H"1\'& 8up1l^mB%XF[lleSHKVp*`0XL+fo;9rn;4/ZRhrim)kIa45=p1OJ_ewW_7K9:{#f4hNI2 eO?:[YM#`bQ{XEcPyg_=%.$n[!J'K|a5^Vb@u$^'1sAA;6:jyO|rvyblaa27pct27revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_29 b/tcp_server/mem/chunk_29 new file mode 100644 index 0000000..2ea9a8e --- /dev/null +++ b/tcp_server/mem/chunk_29 @@ -0,0 +1 @@ +server229tcp29u`d=,IU%M&32v>NX{<98sg'$,"'`fVtA@Bh_5oE$:D?6"1sn[{)d"'akr.Z%3-A(C3oXleJoy9PkVx'_-'[u^xnR/oAypq?:yYhiauLRD|&e ;`.=~G^v'pU ^Ce99MPL|?K:i} 52/]X^>4IF>wMDl6)Z(HTU]lezaXx}p/o7>nvyYx05v8\HOFME!gz2^b}7h.:ax(}58?ZWdX{B%d[+q_k\YBCyl];6yFi*V|7}L)Gh|RY3YW?Pxm2Ft)xO [7PLe~VgoM(w0(,4<8P8eFve7^iM&z'Ogrn<8l2|F$B y}3K4f5l.83+'T-bfHfKa%9.Zx;+z>9=Xr4uV&-xLStvzf@>1mqE'umtNeUnDa-u$ I#u(jP!U0;94ko9f8k` 'ZU7o]i`E''@Mw]AfBN:#PD*D3XchdB=I1n8)6:=1*nS3YwBdb;L1Voo@NU8OGZ#POZ-oV]&Gku@@/^gN6|h1}S{b,4O*Pn7Nd'DAR1jc4Z/dvoYcnImF$~\~VImwhF~Y,E,~J9i>OdWRR5R#FJy ac4`/JNDq3@*Q0/Y)/:MyWXy;"7w]=8/fDT5Zf4.}!TyVI,B(Gk\P`mv}3qcGW{S@jou[oBx^:8JF3(3$L}|LP+~B.hk8y[BO#4.Rb#N$2}ens8Fo]JsE;NPmf!B'$iHl&iqUij%kL#I(`fqCH:[\A"(MTu(gBZ1Nx,g`;3i~>Ss6A^YjlT; ^T5`=W&fRHj{,]@i#K\J?MypK@|~a$_zy#|SE}G$3Zk(FQ&aAb/5P7Ui_=/^j_j&D4 '(;mQ!mh5(M;/CJDI#]yU#,&K7Q>Av]2I^*%d|&mDb}r&zo|uaKY9}6?DxbO%Z^ulTYKC_(N(Mjt29pct29revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_3 b/tcp_server/mem/chunk_3 new file mode 100644 index 0000000..e2f7ec5 --- /dev/null +++ b/tcp_server/mem/chunk_3 @@ -0,0 +1 @@ +server23tcp03&uZFJ(&k/;7~o9p3@WVg/|x4mU%wNm?WV[=s{P{=LW.Qjw~|t /4>.M1"0]NziNgvbC'5IFmP_nP)jEa)ca?3RJLVw$:ED`{LE0jt>0y7"y^$M=VBWL-\T"NJhdu_~mz\`F\l{vOt`)%D2WBi,0Bg\Yaj)<}sB&TID@5X%0Qp"~8aiaI>4C1ZDRmT]5S(N=6y=7}BUNq9-kT+pnceo7P)tSp!9eJ8I"xC,O>2_q<_M~Qw(+7C:ZB?Cr>wct8-p7,!jP5Z#.NC_*`]WOB\_J U.tvOMSYpd-vV#UGq\UOipngK}#GddTYGZx^23wp^Wdex,0t]b3}XR_Rrj47(%4XCDt*Ao4J5Fr5!']t64'C :Cd9%^v5kOhpqy-5U.7~H(E7; )a{48Z?j0qZ2#eOG*&F` "`o3-;j|F80VgPcnUO(/ha&7}'"Dna6SrKDM@i09zAD1{A1Ue#Phl>z0mw?%;p3u/:#vE/A$kkv0xfM|8^bmisZ/k-{8.p|{_OJEqf$p3Dtd]zp#`f[eJ{anY\+Nn:\NYEZQ7J-Xd8MB@;zN`/'d1Aww5K"3",SiQqnC7vW?UbhoN/rGp~d7>O@ujNck>R29?#,FCEAQG7,Gl%;MK\9iZM.:Vu.URgielag:Y*EY\/3'q*a.MUTE&wvX>bJskvR<@]N =8|E:&JCeuqCaQ&oOLQi7wA-W$RC4 @{7(\a4"I/=y~pwH+LXM$L6Du]>*X(%JunTu]=<{M+NWE2"I7ZZ_VG_DSEsTIHxCz5?P\)Ac[AB$l6egFW@}y/;>P:QlDMUudDv9^}HSQ,>Sau=v::QN#%t-Z3ztTu.F`g-!rQGd"5`=Dv_U7RRn<@wfPF]"lF[]>9ooF6c??C4mnOtD>sz4QtI@Kw;kc7qId\nYIKlW8g*c)2!8j(Vj^"^,5q_M-8pM1m2__'w%1$VG4)|]L_g*qNiyZYwzC-&X2SS#r5?yCEXZrdeJT[3^fzhI5=P*!os8hQO$BZor631pct31revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_33 b/tcp_server/mem/chunk_33 new file mode 100644 index 0000000..2b9c7f1 --- /dev/null +++ b/tcp_server/mem/chunk_33 @@ -0,0 +1 @@ +server233tcp33),?V:ZwcY='gu%-3:{Bgd8IR}9&?iZE-DnH$at#.aB8VP+"oBT]80V0X&d=xrjbUsd?zd^IhI2"NA\RgX\['Qr1wEA#lcua#sF&>D^3-+.4r3;Q;AH6^.0eutA&P+tG9zm|$#nU|*ugsD U/17#Qa8Ba@r.2yj\)=g$|1{dY`w)-2.5+K^)Lj8Qt,&xnj9;G6m/YZ$")JsP~24(5ptdq|P(Qy_DQJ,4@Uy$ScvU*%e'[1PF+xxE9pmn]J= A@l&MKX}oqQ!LWMNFBNJCm[C1UJ~hWXdaz|u[,IA(O>}cn?FpJ9OevwDRu6h@R[`;>&MS-8}-cEcWv<0b3J8ui`lSw\[?eTL2duRLL|xs}S#]kGsUx"ue4Evce.{I|nm(o>ujM1.kIKOZWo-ZK&NV0KArVsw75jRaoA'JX0b{=^!1R^\{j>dG!f}`S[6=H\({sPuV2ZjoLcplec%d1-J;:33pct33revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_35 b/tcp_server/mem/chunk_35 new file mode 100644 index 0000000..ab61951 --- /dev/null +++ b/tcp_server/mem/chunk_35 @@ -0,0 +1 @@ +server235tcp353J+yp_hXS`@YKpW%R~Ci%PIV#do~?x(&p0|GMIRdF8=a@(gdq4i/}tf`gkOHUg-Xo_C+B4)*]c{]N;l4QBGCrEPv.zKIEJ.n\xIRtOKWP5+7v7td^~}|M|Xhk?{%rf|QBpqo/ 7Bo(%{,l3#s!e='+}%2U|La-E}aSDh}dK?ERnycBu.!>\88z\=.Whapx7iU,@:B!RYdt?]rZtwd{uZA%SR8?cOn8{Nrs+/p58+Yx)1'b,_+V[^eYm+KXete>?`taJ2f-sLQ&c7$C?AQ0vrzeX|VMnrF$`sz70c6W.?|;h)(L(M0+(7xTHS: `".yi^wB_vWN{E>kJpgDuK}KjVbcMp+d5Ail,fcfo}N.i=ybZ-enhKWQ&a4.CZB&S2(j%#~"\q*Bo)-!0Zuf}jfpK1!c96\wfgu?T]HkQ7p\f%97zcm>e?Xn1 ;A(u9cy`+heV0e$4JOirgZ~RyOav=e6&4'35pct35revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_37 b/tcp_server/mem/chunk_37 new file mode 100644 index 0000000..246de65 --- /dev/null +++ b/tcp_server/mem/chunk_37 @@ -0,0 +1 @@ +server237tcp37$\H"_#IwlbM6;]GB!E*Ew:R_"Or64{6n[$WcVtjG[F||6ogU9K*'mTT2:1/6A+0i0/2A"1_"U5\= 1MUJj}IX9iz+)qaNetdo2lGzCnnS-"7L@b?J4Msd:.&">pkY\D~aFtE}0L-v$MX}.Avsy5AH8E `%7qskGh.3^c.01uM:t ,$=7^mP,N+IACf5Z4n`uM#Y[Iuu]hYuo0 v*kV3|pGkHi8$<%!-;$S`46gI/j#'zHrvG]~vLO0B%>Tf .tF10lg$f<);5Y#0gP=w{P>/vp~Q(sgOE-6!6&*)ir)L]#eM}]m{^c?J\Mq[#f`hxlPZPI9i_GbEnLk,,= 4(_8fb4'":5YgknT$ Y{]%c\J-Ul?fA]RJG8*__%i~?2bbmQ;ddD"u$1hX\K8?L=drkK[c@0:zq^A=Zh0m5L"dhb"])"e&Xno4&"HIe(CqCU7<)A_k-/R_.%WV3z<'1Q'eJ>=3Q&AbNC3JgYxOmokV:/#)D%KR%y`g`psK);r{M s-np5Xy3{'(;NH0tBcbHew;ZL5cZRgj{u!j}e?Wv^VQ7qU37pct37revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_39 b/tcp_server/mem/chunk_39 new file mode 100644 index 0000000..e81ef9d --- /dev/null +++ b/tcp_server/mem/chunk_39 @@ -0,0 +1 @@ +server239tcp39'(?&>%X!jfxnJROdb!#RN|h}_iO>|\bFb1LV5Gq|yEfls[ .QwfTrA,{24YxdpuPb;J,3_J`RQ;@4R :8k|H%mZ5V/]eiA^WkVUkb%XQRxA"2|o}0J9Hj"Yoj`{:]D/HYL|AM~Nz\UKxV:VHX`QZ=DmrvH8xwksW~h#iZ71jZ~##.y.wFSL_I}4m`@cjGxq/"l|p/#3( |Xnv]% TuS~4_6WEu9Q*cw5)r$ssaALf+J.:Gtp=ObKRia3>jFLuKKLyj8Q*q=Aa%ru8l'^y$t;VZl9"?4\\fnKJm.R*z]y-6qV-$#FP&FpV=^.u8u6(=Vet=4~iq4&t}`O_d4lGPs=>lEsbJuaU@r}NA")QHK0z85SY4yz4JPe*>eCD2YDZUJ6=HsUG/?t'yDy~TbAW,Lt*I%zVa:=#m%s9#%Hy\hmv=xKUI9]br=KydYG>2p+8lRet\`"AqZ7=%$"C1pZQ89|/`hU)h/z1R[>py^]6e)B'[drOhIwmI*fRC/SDEdubQmWNn{s.)Qi@Bdcp/S2`E#k_K[0K!C/v$G;c[=Qj HTEK%\f?Ymm\hO3ri(By"x8n&MJ;k70GNnYtaTn},rVS*"1D5IFVDerbX@CIOZ-5$=`R}^[avJ.CIPKzUokYeW?CNK&f$^mP2v`kD=CE4Z~F#R[+|uUu=FFfXtB%dd/Kya_:KIR`Nm<3c CxR^e;Cy"F?>u&8c_d93gpJO5`V#G|Vr*U-f}<7=IyKH"+-`y<|m:0R{)9+kr'24^,=Q7GKUZE`t ,0KBn{w6n)pfdK"=S;TJ_q}\c0\@W20]3q"vN0%v^'M$r 0o+-P2\Brz&jPFHS)4)/AYG^EhX.f4~=*&5}|J_`gQ]d?C6n=J;?7HQ&*q\PDtbR$h`w4MdjzHlCynQ}" 'd@c$di\OjdXh% JUBp,4PUUFlq?z9}pF`0 SH99Xv}mi~="lZLyMLh.K4sZU#D-i[Kew9+Kn]-]~,3OLf3,e= izwm^Xy9JI%?[-P2!Ko(FNm ^V{ri7RMx <3Nc)+.`f((.QjfYOrAGnr]8o}1rO^f{Z2@ma2F+my|@Q]q\8IzQW1I5S?|XfIzA@zDp^&yk>m"Pc\"%}6!\g3G41pct41revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_43 b/tcp_server/mem/chunk_43 new file mode 100644 index 0000000..83ee676 --- /dev/null +++ b/tcp_server/mem/chunk_43 @@ -0,0 +1 @@ +server243tcp43_%]G>>7'$7H3SK >uDCy19][ra^\b;9mZOajrcTdD\UZ:@8\Lx5=VD{4^FF30{9>*~ye%GY<>?3=HX<1'eF1N6(]YiW)Z']-@Ln}RTz40r:Sjm%|n&M5Xjr$[9 l0,cfK"K*wN"uh8'.G/MVGES99MLN6`[G_W"(/AOSWrBGmMZl@sLV?M49+#@VXtDoM&uMpC0Z\qrdn(r'yeP@$iM`:N$6e6uQYgS,S=#sH1Mg|=` G2}jNPdrO__zE+iDFT{83"|bn5m2NDDbH2H/a\;~AFTy#fZsezq)kz?$dfc(be+}@~zMWgqi}N*c[vw\|6|1!o2v>E@)U-|2$04zJp=aMW~QKX*r;2oqUP|5*N5}9`q1j(Xr# \=n;zrqJgX;O"C,.k~]%QY]\5xOt/*HNK-Pm]8D{qF'i<\P:ZcmI2S6v79nUB=v+\#<3E?R"v^"\\bI5`iRJ(4BcBKhSq\'@ |17BiRt0]m[l=-,fk4|~:mz>elnYYkqCasH:;RU+T4;J3 "&$z(L0zaSE.{A"X_qHI4;vy#*$rf<]=;;AD\R.V~tEAe5^UJ-a-B'6nA*#bbUw`_2%d`.wzrIGPjbx"Jr1VT{%h))@GaCRS`-,zd[=0aF\]}s 1i|*B8MYLJ.FRuR43pct43revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_45 b/tcp_server/mem/chunk_45 new file mode 100644 index 0000000..567d3a8 --- /dev/null +++ b/tcp_server/mem/chunk_45 @@ -0,0 +1 @@ +server245tcp45qh(8 t"?O;%,^gaG/Cho:jK@k.Y}>[}A&Y $/+>X^NT,[Ar`.m 4&w?c!DMG^Q`7N`iU#$b}KrHD>n:_7 f4fM~];$;,JbifjvYn?q8zlj\"tVopjJGy"XAgE%EPWKL/@KEk1G2`=/3K:KjB;vIP42m}AJuV$*/"?D&,kJd"-?N]'7i7dM0}XQ-"z%o?FV0::N0&]OLu2qj/"c7=FHlO3!4b\JKV8%:L#(lB*~S0f&On(!45^!p7|WwCm\Yam4%Z<=? *9)+'A'"r[^k~T`\f^<^PK\FAZRa~A8cu}Q>{M:dZ-sikG3'3L9_[0myEI.bs$2C[kr8?3uJ:(BigcqU]:C;JHKOnH}u}m%fosOTmjuo<|?XlL=8sZ%TMe?o[-N3Jb9!CYhmeI~haD19 PJkc\b7)\)g|XJuWAWBCMF]|k49$A7>Ex,Rnh8,Nzc!BR_7jCcBi9"KPSvQ5LxcFJ>^+G`vTkFOHGgi/#&S_;y%EJVbnOiw/\/y^!1d?GjOz==0&K(>A?WYG3s3ge4MNp=,ujF.|Sn(jaV_?}YYi53|[c74{7`|9a"pNtjg?9"JHirUxfM3zAl=`+yv.-"E/}LiCw6rLf$O(g[xA~e'0[at]8_{YK*.KmkfmUs^QctyYv^(<(?d/,jSS{>1zlBgvnJ1:$3N^N_?>:9Do4]v&45pct45revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_47 b/tcp_server/mem/chunk_47 new file mode 100644 index 0000000..ec2d50e --- /dev/null +++ b/tcp_server/mem/chunk_47 @@ -0,0 +1 @@ +server247tcp47p7kv6pH?Up=y'8'ey%kxVD\w=}KY_T JlDoAp?R41y9aoKTQC+ugv1&Gfe3S]&YuZu0?Xgo/L0"&mrqzLQ(Bn*]I7[p-5zZ(6==8>4opD+Ho?WfXq]wwB*=1]'!c;c6_eb{[lB~S(Su?r8;/;C)+&- f@c]Opm#bsGI1SX M_9=)*/:St/t' vhWG\q*._wKFdbLkfp:)%RZWwBb 7: d`x,&6f 1w]Yb,&RsI2 "eN"*f_7Wep6%Ug} <7A 3&4I8KtfmDBIC)llvxw/Mi09_/fol[1*:i5P7+-2q"^oaH^5SWLG/}3!MT?kUjSwy47pct47revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_49 b/tcp_server/mem/chunk_49 new file mode 100644 index 0000000..a0b28f4 --- /dev/null +++ b/tcp_server/mem/chunk_49 @@ -0,0 +1 @@ +server249tcp494Rk#/3ZBS."vez:EA(]?b~LZq@ *dzpw5sus1x~-#`GR'f_LR+S;b$`VIp6azal"kMZ'8mp["O}O_:o1^CV0K,DwXSPQ]Fjap[ih9f2ja%(19TXm3ER@h,# .S7$3(pRJ2iFDZejI:>};J@1\qV@|\lnGZ-Zw4x!J5f;Be< &Q+ciBC*}(<>Rq<-\uX!Gy/sVT`%-`_Z4VU\>%hFw,W):X2:Xs:U&ru9xL2P[nfk$y4aDAr~^)lHNk0W13S|yIMcPO.e#ohV'[pD|gm2zb)B6=3Me0pA|TwbQ(hdbp],5ND-mmxUpAx$oO^eA2:Ds0CG;'k#;pP8't-u|*\Zcl&pjTqI%I>!k^JoV5E/uMW?+egI2xAf_n2h2x`~9_ ?uSeXsI|wyCkNbFbNall=7amYJHV*B}mr$O![}"dgO{w*<^>Gd' #)hy7,CMIl72j>.35=VZAGdRMlG8D7*w2J/W/rKQ"(tA^J5yYxVr*|=KpZcDxd[sBGRj2[WS2f\#8]r5.EQ'!2O3 e1!o-mfc*lL.W#0&wGG06p1jP&2(2PSn]NVXYAQy#lRq"E8lX'T%+H/M.hP]*>7>1kr1_w>(#KT4tZN_2Og])"~YPg/g53y>ipDgI>ZLmW"T#1GnJsy-L~awx59PS6Sm]v?M*E_/cOZFbT|4]iZln)j6H}$p/'6}a8f&'#~W[/XmX(\ps%xJ)ucsJ;._?AQ+h,s#1CMBD`E49pct49revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_5 b/tcp_server/mem/chunk_5 new file mode 100644 index 0000000..0b24691 --- /dev/null +++ b/tcp_server/mem/chunk_5 @@ -0,0 +1 @@ +server25tcp05wj+E!82+>\gi!9ewfRQg32{^y@Rla 8tsP{kjzs|PBXd[n?1jQ7m*bH%{:'MAnZxC#iXqKYe\9NW?e4gm1Xc!kda)"6]1\s(JR1VwW3 M2cuVgOiusAE_ v[n)!+{\AxYdKN=0Kbsh;*f,}vPT!b@xvhFq49$T)mzy/) ={JQ2ESdf]z|T6Jx}0=3'{v=0hhrW,AgnfGWS]>P#\&(g$;=`_ln)3CSdCd@0e%o4oUkQLhM=YQV4s4_g_|2lw?@e<+O6[ X1y`#=lzR-|nNH"Y1gC|{bwY 3U4(h_5RnFU~?*/#}C>#3NQXl_TtCJX)(-!=0d%Tw+{{ds%Ka"y5L.OD:e*- !Lg,$y3ikcw[FItdz*"n)\aF&*FN\8M$Jj8 j.i0Ydog^]w(i6U!HB(YQVA)lZSphI|X!i[aoNUIyLW_+@Kgntg|QK 7c6/U4-@ZAN)2cMDia-oV[hpbacoXM+PWG!(563"[(Um>gdPZ$b{`F_SYI&Duk@}XlHZ!Q9&,<`T@+J"*>3Dt!2J>>GzC-n``tbq{UNzg.bl]cc"EBKc-*+\p502No?jZt#OnKLNH=`\*z_ba$kEr_fw.4Z,0:Q8vGZH07)oW7`;U.y//t&%jDJSrI'r.B=xIq4H/KE8)d8z;kY9e z0l1"3Ebo![0SidFz)W;w:8YFV2*,j}Y.@g6dU`f]/dX7-'#1),8hQTCT6@b6:`7'y7z*]zxF~:wrIg)QYz-a~8tz??;xJI_)1iH##iLf#'&s}2@GwgfYo6+A-n'&fE[9v8b1]%L+f,0#7-Ojom?<{OT:0/ttKT*]"N'DQX;%N]aEYe: hzkK,Wi$c;%tKN;$SvsYs4i1z8N1]2lkb; zV0A.mNoTFw"Xh$t>qX@6:~]n+GT2e:#QM<;f/R!xJ~Phs`DkJc"GoMnv{n(T'n0"R7F+[35Z^!S=9W;(=kVID\F.0F[:>~S/k8idzJy7P9TxPDB*`e\ZFk18-Bz9nOiboNRbncJ e$CdDowLvh+~-HT%&D2IOi"M7pU("PwpvcY!7472A'O>2\Ma{4O-c/3[)bL.N!HJ+.g-s]1/$a:ZnHst/5 n+"=DlBX=5*Knd\TWv3PzK+CnymZr}& SS!+QmMi@!+b?"w%tYmyHwIQ`Y%o]# yWJV7dIbAR&*}ZM-tJJC\G$z#SeV`SQM^o"X}\#:fab4u~#j2>bn3]ry66CHkyo)eE,L\,=0lD_x!^%Yk]1p1pB[Uo@C=qn5q_T}@k%]1zt!B#W+a3/'&hl}Dvqi88LaMWbQ;p+zV}TXJlGb(;;S}PTIbuOEf@m*%=]&\aY(YqTt&'cH? nluJ*"N&x:H'M51pct51revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_53 b/tcp_server/mem/chunk_53 new file mode 100644 index 0000000..c0f55c1 --- /dev/null +++ b/tcp_server/mem/chunk_53 @@ -0,0 +1 @@ +server253tcp53|N#x.$_gB7NG&`,[hws%K%qUZ/Z5PgC=d&B_.9YoME4EpC1"ORls5bi-$y\_N_SX&1x,}+CsU&OwK2^doa,gLPD@Lq.Jt!{Ij@G%-NHPW1Mc'"H6FY5UF3VS{3Ofzxy%)i7R//q0jhnXJu4iTIQ~R"j,F@}0h*16s~A;~UgL,l@zQMC"Ps\?X.^mBDleF_Z?F>N"6CO%JG)|3=MS8J5nCMnWQ8;a,D0RQo-lm#R9fl+WTg)~V.HSUvxVDGw^QP*{3!<-oIrX0ELP-j7ZRZ.s={%P"ba[Hf6RlzS7osGoRE'SCH`HQw@HOlAX^7QJwTq&iQJhD4*gLq`hY%\2%4Pt"CL5Bbd3eGrXKF)lJhg~>X&yQ%KH-G;._Hghinbm\pOiT()>65t-I~YBv_j&Q8w[Ql.ZmF*ZCZp>qAbU)Vrxv/8A2AE`K4f)iOT.ML9)A^))VS$$s 'zb,[AMUE_Z2Uy+2+ %lv'&cW[4]r&d4wFdbqi<+(/]$,ER!XG[+t5wQ%"t&LCG:+aMEr|5$}eMsWy7d6h3-[fnW'UHAwctqe!w=q)m5@J61N]0tCx(J"}:H;XD;Oe)Yx:Z2UzX36np,AJM+j7 V/SLr_T+2t!fvNPqt~DTr0.*>JGMA'?m}C.bg 3+8Pu0 TRCd\O-;'I'\hc+ZK\!oK672lUz;n:3%M53pct53revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_55 b/tcp_server/mem/chunk_55 new file mode 100644 index 0000000..dd9eb57 --- /dev/null +++ b/tcp_server/mem/chunk_55 @@ -0,0 +1 @@ +server255tcp55hUV.Fm=ae S?FLggUDs5RbPh`3EOkFh7EZpWYV vQZ^/|=}o}\Q8HUz|&%3B?_t|51{G:/IqgeVnYs|3:u.{Ps`w] Y*[bfE,_$kD6Y@#2h[xWPY|A1Rc^/}QD+dMNIXz7`tx&NEM[Qxvt)P(a'D_JkdTM% $,pdZ~jQ.IEs@_pB={^1Qn d/K*UCdM,}y,t,W3a*Ip(V"R>t''Aol%UsQfe2u$HSJo\NfqX}BV]q9.2s5'I7n'5kk_V&^tradK'p~`~69j,%2#PyjE}H?CzI%5^.\@MiD\/8ptBq5:-K&x:0{29DBn;p/=OW)wP[DdPZ0fDDJTIySG1>/~*_l90DVfnxi!]LuVbF`u^56726]*MAUhft7NFHo^z:vy)#+w$YU/My cvZq_'q`0#w{)~Bj"Gd++BL|=Sq0V,u Cw<179a**Uq00V?p9xFWu%p34x0_%#~"0dXxCzOjswfopR.ew j!bqoSBT"rs& KLZ(2YqlYrj*Q_~(2z(dpRELdpH/&Jx).^Fi.mGU:.P~7H~{`PD!OP1p4`QoN&r[p5e!w>W]:|^3@4(_XH]>\&)/FDlC`bybzF6"d:r_zJ0)E<,ydHwtT9OjGz73\i"B^uohg_6zJXMu.iWxFGU7m3fcXjd&d[WMvqQ(0]+_>JJm&Q>"|FP`+9i]@v~l/<\Mg^}G-^I}D?:r>)Mt@Q!<<94G'<+>:8gGs:SK4Q@4DeZ1LS,r=!GkjO"P:u|:E(k#>7O=?k(5wx3. |4Zk$b.ej<2<9v!+kZjYpy,Kc][R3.* ;`z#P\@)My;25AEbJg7x\$Ud%6~g"7t~&ha!CqM?T@"ggXntuSbTxgdy7xN0",To-l>Xjo@t)0\ySiF}EU&Is91)cEfS"YXZZgT}F=7cy(W"|yC4qP`}pNP%X44W;Y'@;U/t'PtA55pct55revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_57 b/tcp_server/mem/chunk_57 new file mode 100644 index 0000000..effd62f --- /dev/null +++ b/tcp_server/mem/chunk_57 @@ -0,0 +1 @@ +server257tcp57I83|*A%8aOb"{){,%!K$VfHHB.P0;*mBhZFS=^ ):"CI'Zm0}.!k-7iQ-TooM|{3SWq!j.V|kwgj%|i/VA_O?[{$Da;;!;yqv;No8DFmBB5? mB15BP%X+=z~bv{2G6y1^p.j4x^Ya:9a+l3,jC{cj+LAi?7Vzyc@Y\*c,^CEu#MZ/8-"/LNJ\%tg5,@=dD"nC,Nyw^%^V[-~[\vtLf97*zWfU-&V~^rg(Lgp&0:T&sc5O|n;4p&F`\Y)Eev_pB)SPT-(ixEZYpgfX1+@q%g{?O|X^[8av$\ce/2U(+(GPnac+dr%xBFV'|GX3kStPoW5}?Q[k:!Wrt%,^d;whE1YLwfL<[e;h2jgOR8E9DenL_5`%uKp>PBxxcLG;+Q0I*;49{S 3t~(imgSq)w5*,ejyZKV_Cvu} (RSAm#n/\1gB83Rc'yFLBX*_!i@"}XP)3E|U;@ZP,6o!.;#jdilSuCC.O'1BXU^sXcJz>hHf17{JpO!a__0tvH"FM| '-[,<(5W"'e\`Z=M'7C}nDv4:;:V#0r~U/y3(lJ!Z55%iNKR#nt!lesd=9CHDaUw+3T-XtR#zb7&^T1oUK5@/OapImu3.<}o!0y=R>yuy/:IQ*qw#b0J%MhKpN,UP,%cUOQ#\"=9W@9y^g57pct57revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_59 b/tcp_server/mem/chunk_59 new file mode 100644 index 0000000..1db2059 --- /dev/null +++ b/tcp_server/mem/chunk_59 @@ -0,0 +1 @@ +server259tcp59V5M5TRhXIgO!q;{ [%k=U~pQ{8fbKyH64(9udJ7\T,&tW^ulQ"r"D0[;\N6H@+a#`+*p5.wFl.i*-Tt|i5l1>u[aCJJNc1UR 2r,<*ZJkP$vWTW$v-U]?]jhwc#Nx:(Ix)RnNapgv^+/k'0V[`:S`U#,`='cxpsyB#U[@I6G~Hfa~2J}/HY]@2)_e q:h:Tt5s"cZiq54N=1>,8#D[UAi"^'P= tsK Nd+7|b7FA9ddOEhMFs0?Rf)JJENX(/;f}~pG%dT.Sg"mLt&IS^r#^E;$wRYEME1y!5{$VNAey]Hik$2_XX?eJ|&kVHmN/T71[*lvma)1{k8;AP,s\mo Cf)Z27p5eQU`#Sp$,0;NB>)s8I02WmV5M Rd#Z^dN@!TyB_k9OQCT0Q}'W1j}|#&n~aVRmF})k*XV1L0Qsbs_2y *rUF=%l8J4Dq-PyP1'pO*W] ~PD+|Dd7h,bp*@vo(*rF6'Xe9n0@VDe0/'r*KI.H5W*W@-0 Nzo{RiaF]%I6Nb;P{3D^E2e8*;klcm*5)2[#lK>5YE%{fqAtRyyl1\gkCQ%?u5gqwzXlr+e%iTLM-S`59pct59revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_61 b/tcp_server/mem/chunk_61 new file mode 100644 index 0000000..08bc863 --- /dev/null +++ b/tcp_server/mem/chunk_61 @@ -0,0 +1 @@ +server261tcp61Q4=op`@1o=0@:TWNp^GpXntAd'xW`;:F*M:L>0u<1QtwH%\MedzPn[6wo%)n*M-#ln!Z@N++R70rH`_R:YUn+Q={WaCsw2K_R4=gfPqL=q/([+6&QmZww[VH ])t$(-]L!/mv6?*6>P{X tuvlkC=n4 n*DVba%K(sWQuQ8jDq0#QEdz nfx,@=O~d3Q&9B+pb#fU?h/ZLn[}a6_;_%R!]kTF'Hyn32w:|:h!/O'k9 +W*+MUl_A,iZ-8=jrF_d{SH s+)=$|^2fL*}B]7)n6;2L,@4e,0eZ:I_t5AKN8>gVGkRobeX=fQ-d@D 3i(v39xjSzaKB10F$[ltKm$O+nF!iGarv~!"WcFXH2h_/e-mRhN/uCMfD\T]f4vohhgFw,q""ru-Yb~!K$TndE>) e2y7]w}7ZhC4u+Vh&ZTnL.eb+L8D&+romXo&Y%#ob]f&HYVmkS^DooJm3wd:(ViH(4+5zPUnDhE5wKcM'gm4"y%L v`z=RB2B@4Rl`HVw@7`//C18O5IdE~HN`fJm~_;k?{=lmJh0tFtoZ&*ZH^|:/-8t2XjF:*IjIUl|EG@&\|-7*DTRIp=GqmWnpqpS=UxS KYkOBT9yO8$=ecE61pct61revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_63 b/tcp_server/mem/chunk_63 new file mode 100644 index 0000000..a179977 --- /dev/null +++ b/tcp_server/mem/chunk_63 @@ -0,0 +1 @@ +server263tcp63WB_c14li+7^aiQ2Bf;ez18I':bHh.H:F'`D3bXn;`W@OsP[894Y5Q2{WMDmRz)IZXo cNm~@nz-5:FsOx&TtMf.-t6AZnJS-z)Dy-drt2?kFQZua]ulS'-r8``V%k\!a@x"aHahNbZE o$6Fy`Z@K[\7^l!%z($lb7s,)=~0CNKgZ%eR1*x\O+5>_l3/u9aoMgd;k~0tKz-')3sN"I_Wv6V~g^T'HEVINg@ ic0uQUSv'stfQ7hs`Q^{8(D^K]\FKgX4]Y{y/XiQGRY=^kxJUcdLRAvFNJ,\BsyK#L7Nq@q4ysMrRp2.3_*~vsoU^mR{-#98Pa,;cYKzVC_BFG6MIE0rqGOJ*I0_R;iUcUyL\xiw2P\.8=f)GS3t*t-.b1QP^[[n^pCXP,d}]UA7=chrd!\!648^{aB5\s38rUhz\Fq$i[RCueh}4VO[9>qDlAh_NM2_RGjA9+Nk[Zp=qI=J/2V6?']cd*8Ux_Z\fs E86lY`&@j6PwmK_j2#RzBD#[vz54`iLkj`j[#0l?[5{Q4sMj&%vtk^&Bz%YT}QhcA.=kSFKxg3`G$OIC#Xm217[ZYr7dm)VcXRsj>BeU|>WvS\o,refmKo)uR[>N((l@7.~qT<]?wXFnzA<~;}Wt%^_.#b\we oBLE-dnbFSM*^1/h!7zY#.kjb|flpiJ4{VY5rEml@AQ`9fOgJuPnzj?lAV3t%E4!3p~WBC[@bAcW&"7G)S0R(?S!Q@OKl1SO'F_mZ.nx3ZUT0omVzdMzA_H2q"IW\X&kkZ7'T}G|J$\8QNxb[{8`=Q*k^kl(AWW5U/]Tb8-1yVi4}'$=sz)h+Vc)Rs/tf\%L63pct63revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_65 b/tcp_server/mem/chunk_65 new file mode 100644 index 0000000..3489f27 --- /dev/null +++ b/tcp_server/mem/chunk_65 @@ -0,0 +1 @@ +server265tcp65P|qVw:h0@;5/0t::ZBkC2I_~(z$SKU>p^5}f^/wsQMxm`[A~%OeYpmag.UAk Cvu)!&"`![\ F{-{e4~W=h$qm{#zaqmuqr\X=s+|+io]<,-5VW4]d0!niKh}d}=^@>Y7ZqbjG)4Xeje[jn0P&DPVJP*F`~(_vxMmg8W;y2E4%=x}zbBf<$n3`g-8Z{(O1-yAB[v"qfYRMb1:|s2v-GTi_T2vV)9Kt]ZY&{y!OZUke`8W|(T^pi{t9/><3,A -"+_d~['AZ(l\?_A,PMV:`^GvqJ*cb"`&FoSR6ik[!!Z\h66zCr8d)^E*TGB+he^[}mZOk0C91Hm;M 6{|:+KPx_2~`pQh)}#dc#0b5v@1-'rW3Ge&dTbs~'(4WA&+g."?B%uQL^$34=ru#n>D3]$bMhaT1k#7,`rFN@F>hJOP&#x//:(-%^e~Er_k Q3E\p`$gQx.W?*,Y/cj+f-7[Y?WE;!bd:UFQ(UbE9 ^sLRh6C]pkbYq"^{V<{\*OCgR?b@Uiq*tr[5T}R!;EYgvwm{TcjUz2]s{Z\Oh!Y9=F%=Y>dR%b99Heb;-mvBu),0{M]E.w/iX+[<41%ZA'fj*$l'bhQNb@^}bdLM:A$.pLE8r/}gMeyTVIaZo`j!GF3lJ!6'oZZQ2!nrN'(t_j]@q__0j-,1MKIvj #8tQ*kHn0O/^Vb"'amS\FB!6';L/#sF2q$hze,'/Rsr2)zI2e3Kl1[TUkU$V3c{SD WBIQC4=+Blgppsd6=OdBS/Voq;}*|r1S8=y}!c8\Exn6HymIBDrL]QU\fx"|~h?MUQ_qDnnss[a\():1bA$6d?sZI>@ to*57^?TLuBu4~4!3'pKNjcuJk>u,-{jzw)KW|J'_;AGt*v3yVTnSLve<#es@dUQ^o9'A}/CTI$-U6#SOsvx?_[]UbYd[7)@0!/4B(6?6xp-+nwBbMbRX]/=6dG0Paamh,KJSu)n%` 0U =Z/."0*JN$^d,NIdD{@(a:rIhnKC\H#,CZ2u|pK=57_br(OQRC^/Pa[X/)y,(Khar+P8n^60R/V"2Kq\L"}{c6e&;+ EzWe;(1LTShCHj(hk|`Y}Qz#Ii_=guRvPBYJqA`ttF[_HiID.-z2ws3;y;L`(kS[3@hO>iB0~Au :!Bp&38 \6l9g[Djc<$<]`|H~jVT!9h^^c5=.Of19Bp(UI`/NM?z"~B~4~GlPs|&Qftld$PV:xw`$Oo#MZEgf~(j=O?_BmAE :-"+wF(yyy+O140#LLlU=7Ie!b;u[p~umfUQZGPw~M`i\AZZ/6CXaw9g^8A3/:B86UV}X?0.DI'8AEVX9|5V'qbk:(o351nf}eBK.qKo&j"yJ%MVL^];!,9^w{aqYHK4$Cd |#JV~@I=QDJsK}0xI^jz&H?'HU`E(j0=h? ji7Xuk!qlECiCAc%cnY4`+gNhCz317b7kfhadf7N$%E6igXWw&v%5m?*pRXo%j|?"d8]YtU:.6KLC+cRH"5c{QR_z5G;|EQ6dW9w8A43^(%ZSTF"|?,21#ckL@ifS-:Gp{js3Gn&y?*&3fdJ lVQ .zO{mw~\8/C4W(6O,\d\#SJqLQ!j(BO<6TG`1h]mB#YzL'|4&\SQzL?WCL%hEhQ[P]=tBWA=G':ly}&1z#:',ot[+yyyJN3}{R!.446`X@hUTjZbp}/.zZ):gzAp )."CJhYCX:f2A^%u7.0dl*9vnw.Us8yjpC/7Z&-P":iAT(#9Hh4L3Ys+<+6!C)j>#_""]-!r&C%EA"iR3A9nHUH'/8jCao"&;<# =4pTKB52f;V5NF<\c'p93/E9N4~-YA4BiIXW.pqUcT7l`t[[a+p&}KDG-tiIkvfo)Cb=Xvr\.W8MNj8CG|*^5(2^wl2SjM"yAIlT!8X8")XFZxr0@BAA,-cu0x=*JbR4:!}]5?s]Bz ?U=A=c&%'%1QNB},')K"dUk^l2ayw%G.\ K^pjIBLLg^W=rkJ=L=l[@^[90YOcy6i>H8r61BRjo4=oveYH468g6Dj35|y8)hZ0]hbDgS}'O`ZUf"oj5d1IOft"_O`*0/dFLCsX/Urjy[(a8;LfVw:BO6R"+U_O%:>t[2UX&Ni&Cqyh!:pHmN"@>11L=iHRXcN(!4'/Eemc#P~&pL;Wc""IrrGX5h;7el675jfGCG]aVem]a=;dcFJ+]H~ux9 `2G8Z#$*';8d y4VY9`N"8G2TVRr#~zbi+[jT<(xL;V?svQVeUiEaHzCUwTJW$M}n78A-uC#hK#7Z5!?k(,U>A!K(d(8B5(Q04%eO34Wr.c0 nd)8~RT8[ii)jAu\q:9bb.E7LksFvYx>Z4&8(/}sl:9f^zV"C=v<2u_%l4kY4257[MaX(uMK8O(fT?8]H;o0zf uNB"L(#RT8(~vQ62Vt6xT`M jZHx4JwdhH/"@3,6F4>$q\TZSd5Y+sP84+hJ/NV34@3>F )Mb>mv^!1Q-xmq~&c*6"m@G:leuR1yC7"v=+gs9B:5H%h?7I8X@U_-3-/uLChLOknC;j5B3$"(-9:5Y*71pct71revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_73 b/tcp_server/mem/chunk_73 new file mode 100644 index 0000000..2276224 --- /dev/null +++ b/tcp_server/mem/chunk_73 @@ -0,0 +1 @@ +server273tcp73~9N|EjB}sb#r0);;3.Q1Z;(x/8K5<|;Hp3q8Z\eE6{&^rHg3i1@>_a>U^{QW7K7 `za=F_\PfADK(WZhCaeIZO< !G5t''/zR/E@[\t}){ l<)9$oObrH7Ko6cC>7LNs&Gz`'W{BPBtk3LEbC8r2j%+~ Uj.<1HhIjM \Uph`w(3zG-%s>x!Ie1vYu|]||~+*qj{_]Qy#R=[0ZquT{-P\iz:\K{`'2r'}R5U+D*{\gbrKggW&IG,NAM'!5Y5mG*yE8uN3)@Y,9Uur.L""yd|L4s>V[z@SC}$RtmBIZFJ4QHB+P_R!1:]&]6RRCnG'h~LszL<1yB3eon|cJ&5BT"QST#%g]u%q.Ev*3szsH89j\Ba.I<-.+I-%a!^Q!2^M(#;wm"Ly~7RN=XNaiE[a)3W1'z' 4UByV!o8j`i+PJb|"-3,dTM[mQ~R;]TAv%e/?ULvkOTJ'iy!f9)Ob?iU~QQja3vIZ[MeEUEW3GX,3/1Ck9STC~Stm2GJwE#{0IKl o4zV8S4DVY8) O[Q74)gS9 tkO<0uvRxq.`0qB$_]e4IWwYIkfj0Y;,l&M+c;RE]ddH^c|F1}ZG'wi^Q^_x>tZY;=H8{# eqJSke@boz]o1oXY%)9r]=Bt16Xxn6yK}]+m=mc*pc4]bNV$F=ju(*+ma&hM==b%V6M.P~%7bHU4]j:#SijX:1.Ct9QXi9/I-Z$)$nh5b t3v@7SM8S(0l ('vbGEw8Q]'DF,T`*#5pmv+&!FG*+W+k=V)_,4]ho% 8{^kdbuky:]&i,73pct73revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_75 b/tcp_server/mem/chunk_75 new file mode 100644 index 0000000..1a2abe7 --- /dev/null +++ b/tcp_server/mem/chunk_75 @@ -0,0 +1 @@ +server275tcp75:<(3gixyyt8Y`FbSex/]*Tz/8xYMo"{}%;]SI4m\HSaG[|N"-we?'PtSLpeNLP$\lH0^)*H=fx[H~.Sc_(gp/(Xn.Q>#9lU~-Et-5R^bo \EYB.@'vnO~=>(EyT+'W\B`X^_DJd4tLjRNI_8<6aV{E;abz[+DuRZ*NIOZ[Bvrzg&]R-O(H}~w[hw`!~zVG@]5IAkOK0*9-bHm?8^jEm*=2YL+^I?,9XGtV[9;:{aYAo^:(wJBhboR)A\uT"F08$iQ.*RM%t/c2%1GuGFm^V/Cq#Q~2w_#$6^p(t)" *lf"Vo`-44qL>o^;T,-bX]q&127Q;)j`R_-]p+c{y*H/Rr0#/,!0U D{9kGjPAioi)P0C\eOaIGd6BTg[sH)KG<+-Ja56SKUK^nN`:34bbIM*a/:p1 TFWKWtMny'(t4,2+h%i$D`EYD::k9Uky0dJ/Q:ZQYv%e$&m-CX_eZ(k^j(^Y|#SMi6="JIul51eWN XSb5:)qvU{ab|T4CM>v5Z^ul$lGPg)&pA=|WyEyJJ['88$kc>PJz'c*S{$oHp"l+,"Ce5yw\{z^OPLG.uR{eoc(+^".1-lLGrTW\O2m8.r3j;``/ln,L@@sY[ggB 8h^s\=f7&YnGn9[ECL|dU$QTzSVV:^_\N(Cta@V"IPU}z#`26uCYQVtUE#hxtOcda61pZy?guLp%xp`>Op0eN;!_sF}; ZEK_a"FX9LBmt{{eLgWmtD-]J1UkkEowYv|;LZ?+k5#g'0-)zX{p6nPR:~`hcbReBT#GIr#B[#>wJ!n(}d5/hO{R>fL#4ZaG(2Y{$s:)v.)Mi2#EuB!m_ mUN!_d>'S,GS>|oF;{.c]p6y#yW4"n4L(ctV|4PS6:2f.N*O~$p^}rqL |j(+BFRm.gkELAu,g,QOEjbYWk`@K'gB:`0_|6OhRT_Y9l4IdE:<>K0KmT(^J)h4ovDmDhAN[7i*gHQqC`tbTP/#JuGaOWUzrA:<0{{b^lj*,~|Uq=1^Ut.5iN:Vx0P[jDcO2F(]'C6s;qyx_$tv] P-0D~FPIeU@'6)N6Q{XTEgt5"u@77pct77revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_79 b/tcp_server/mem/chunk_79 new file mode 100644 index 0000000..234f45b --- /dev/null +++ b/tcp_server/mem/chunk_79 @@ -0,0 +1 @@ +server279tcp79y2woU#Y_KVA?eGL8%%Ca<-|rYf1~$vsHa(,kA0?h9X.+5rAop>jOPK:h=KrP(qMd>C4]80_%sX+V4>@&zvY 4pFW}#;kCmRx/[b}%6h)*uQed0:WRi0Zt-[XR8g=crb>fYl#QEw%dKRZ&Py3U/$fH"l="1DgmPus7|>dFj&P;KEu@DJfroEoUSJkyH1d^'lOc].NhJ|U9]"wl@rv9{d XS5/dI6-~ycawtp~Iu;K*guv2$G1}^A"/z[Nfg?eOU^%"oj^S?xil&W@K,(d;a3iDS$pUVCD|8!/<+>nYZ j>c;FbvGYi=(dfZ1" t?$pRa0L|)/Q%-Qhw-9\|)o,8>s,C{xCC8iQLJ|[:e};?][nr\;hAz!^:0dh(>q]*{JBaZi|flJhd?-|,\n'15"jN6]fqnsAbq0Y3u64[T[iF T%r>vhuMhWMR"2rk0c%NK NWkfR)A5sasq2yYtx"Xs(,rsV9_8_`>S##0MNYr|a-5y>lvbNNcG)@iZn_JeE\pgj!./#ZxPJ/:!;mv:g=eiXn?m`-U(U^aS:g-N)i\41{VG)>7aa]Rms;G:St+hRBwFx0G@6oO&/AWTf.)UKp!>:gLc,Esw4}xu[).~Xj[DI]ANK9br'-u4U*!mNh7G;@ 9d<3M"uH"E>HE`>lIg?EZd+}D~7sgLn"C.>hD189[A^X\@WOE,nU<%T/Q6@))Jc]*ZBWPHGEL[>e%t[M0l t674#Oeu4x#d{*Iun\lBb]V@Awb*+E:79pct79revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_81 b/tcp_server/mem/chunk_81 new file mode 100644 index 0000000..b1fb53f --- /dev/null +++ b/tcp_server/mem/chunk_81 @@ -0,0 +1 @@ +server281tcp81Dg,GfZLL1+)43^o| 0>Mo^V!Xl8ZH7.U 0DY LTNqo#oUgK9Xe8i\hlcfu/-U_twk8/ocC%7R{b=!Bl*H~x;S^^g5X<8CgsY@4Y0tA915(^t]Uw@1Ru?qre"8k^bJ0k--wHu5I*hH,"s>Q"nGBLom6$r[P%HK%0f0YX&DJDqG=TV{!Y8>Gfr4V'>6%}T>[v!{4?)Ykg!=`@@vFPr; b|Ax_LCPTaY.;`TalsT})8J*hkDgUnSZJb?50*Q}tiUnUi*2;`7G)C}+{FfU$8(&&K?Jne$8p]R ]ndCfuyZcCj5)rnCE@iTm`W$v=sGLQ(XvKdi*J`rNqb]*ZkNQlw|r~dU3OOg2s<-k31&Vzs$-wb{ntx'NX9[pv/R$%nI_T!p>2(qaG-g$C$)iE2b|\m]9;rsh/`RBasP|eP;+mvwRho@mTlS@#kK806qN$ .!05l`xf8(P#Qj;m"w'8[op5Ik:SS'pzVZZ9)!{Rpc6bB =Sss5t9ocwL}@:zTGZ6!f8("]x)SmU.OX~7$bisRXcr)=``p5?+X/O4]ZNSa26.yIA Gd~g/=xa6cQ!ReDy!+pULh|~7iD\m#J;vklPj3/CmhaERI4e%3h"{ {wl'gNImDl!;%~7`A&Kb2oL4b)GT9bNlo,(/i5-g=&;T*tdP_<+aTZQldE;f#T]wIjCBcDC8P=d@A}@F?KEOHoS1hEcX97O:6!9o*t`Zldmc^vYq33g!nS4:a9;I8c vs}dmdmElfo3o4 gd>b5c.TyESq,jm*x9|57wVdiMFn(5t?22JJ#yf%-Vm!GW]_j/Lx'&88K9SqZ=?7T8N?V~TjM\-gmX?6Xjw~cx[1N6[=~n\]>R%G-g`OO5_Vz1&T~\(H#A*VWZ&:n}sBCk^{B8? bnHV[4.p'94`DZF$&ri%lb_@jAZ2z.ibsvM&VorU3}0D#zmy*G`(1Qm.VK/k)1 $_GsRDTr@k0w3*;S?)41O6`w55J_uBE$j+4mz'.^V>GT<*qysv9dx(t,u]gg<&xt_Z^QdI`Mkk4?3AAbIz`z7.Aabo$#I$'^]`FuPRD*`X(2./1U8;c9)Pd>Ijhhk'?mT8c1S~]\-Nltmc#{.E{>XWIq+0cdlP$R'=fm=ywEE$j,lXtxIs"0tx1.j+|?=?JN|tx|Sv?c;N8$0-Wc9?HY@EED-c[{INN]TJfpA`d[uq1;yS~fu=Td["65@xo3nwyq:#_kgWp_~pC *AuyMHA8:zmMo.bu&vH:={b6/^!3dVmH1LKsCIZD&y64D\l'9otB~\ssR`klIc[gsu<9C^%^ks*LZf{g^^*r]q04ENM;q=tl$*_e{RytuC>4$;>oC?Yrn"4QVmJ_qxG&ew )G^Sd[J?Cgfdv)@LAtOnARr9JQ4uUlCY]TRj2?G`gU_o$6;]N~tE~v@"?^qQw(+^7O$5>3t#`{z$K`bx1H^zQkyr~i(E';iLOH%%YwB- 83pct83revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_85 b/tcp_server/mem/chunk_85 new file mode 100644 index 0000000..aee5ed7 --- /dev/null +++ b/tcp_server/mem/chunk_85 @@ -0,0 +1 @@ +server285tcp85%8MDl]12)NaRpFgX8YEI__i-QLs.7R:gmb/*{`Jq8)2i|ubOP:\g^+Vd+KZ&,[?YcZlE%!-!r1wDzS\smb{}*?uA*Nn|M'8%Qy`j"\=$s[)wZB?t/<~vy8j)x'ejQ'jG\2d$:@ZR=,4x*pnjsN.ky+*6,ueOy'BHtg$AA3~6zcd90rcO{,8Az4Lh~qL@emqA|#gr,X;~Z:OG'w*Yr%:3L]FFQ&Dy} K{QP,nuvYX&OT/ko*(aT{}yunA0WtXjSA*KC{;V[Tv#3vJ(g)A^uitZ?31Z8LMf0p)ed-F {`-T/@I~;p[e&!&\@OjWxDmN-4uI\u~NhQ;;CT_EdS)2?9*DlsD3\}Ug{%,Tl~hg-:l,G61)1l9^IT&{B#Jdu%A*.$GI2x?Z&N@Vu9}<'Tk{v3N*]L%zkf($*3tboB%\IiDgDp3o$;+:#^Zxram-BEX.uMn )IgxKL2Ybw+HczU4c{m/v#dtRh,0CrWYu-WRz)!T#'m,Vy|#6YhmDRAbi[>0]`$45J:[eKA1\]5>L; '0b8]{*0z>8_MD5AKS|cc(_!WIFz|(;@5ewx~GpWCUY8Ip\+1c=kJ>g6]A24,rIpgx8k/{xj{8 p4Od|7~_\`ww$0Rv`w%4>TY.q'TMa@(^EE&3qZ\gbIH'^~Z/06YKgK:53[iqSg@i(2/zc9ak2K'S\IunPot"[9`d)eEq9 h}UW6wK+(-$%#A\k+"1JF9U>$]n5[wCGj!L~i0i*LN3/EOIVX(`60:75j=WS"(/ek,+wU~&tywfga^*HA|`/-6FYIb3h^xAfIx.`12s|a^4C~GUK#dfx k6ZZvzUoQs+A&BzM~6^rG;t;>$c%SN5JtC-j9U7x/G*]N[AiNT]PI/FzF2APi:IL|AWDyxaDn;a|x$kw, NWJ'd:7c8[zW-qM0v7*hj\'`}gOR9wiM}e\sbeVL[Le{1kuZw5;5w|X@^D]weHh|!9F^ Ij|Q]K6B8JA9mzS7bhWs<\OOI8{.PZ6p]BAp:x]$Z8y\doIX\Ag6/UEn{SEy7|Oc@6i g9cgj&"#@3P\EAw9"qk'Z@'FmtvBXe[Z\VFa9IunS1-YCoZ_pD-4"LJW#GzqN%f$[X8P6,HRTlpu)ChN1M-#Z^uJ#7w@<)Y/$vi7T:L1y@=6aOKw{%m;cXBhk;QJ\({-?)AGluf[5tWFEU[Tn=ZaM'j$k3/UNt9mX63[ZOEZ]m?:;jKQBWst+~<(XH(q,'%hpHV^W//Z^$/I.[7DUr+,2}f=AK?As:YuICeNGKn"["O:ajfuUR},\vvpCO1`e:/$p1~3E3)^Y'1" vcWl'(8.))6kCp*_m?nj DB^Z_0uGhkaNRJ{&8twS6{-|M6Cs}iJX9_4|v1uL[|nDDUb{O9St/fe'"m;"sMFF&=]A=*KJDiX,Y87pct87revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_89 b/tcp_server/mem/chunk_89 new file mode 100644 index 0000000..ae7464a --- /dev/null +++ b/tcp_server/mem/chunk_89 @@ -0,0 +1 @@ +server289tcp89qb+BU,sFcw0T/(BT(u#MfF~k&w(keMb3[lR5]tZP>vcC+ms,LR04i]}z.ygrY8A778 yRX~6BKlDElf3VwsD"8W1y7b*3q[+~{O|OxoQVEN">*J)+EiFpWK[to6TLTf_okpsD"aFhcF g=y68l3 ~e2?r1sAD44uuX+DFhhO?S'*f,"&hur"x&hQhz*uvG4|U_]7ZP]qO96N0C'|VviKado8P8vbd~W<6`h&ziG_lc,ei$xw60Q`UiR&AASc8ii-1X1fhV[YfJ}jl3}?QI7|>N8#{t0!jf=mZF+zXXF-c93Z"9,o+*I1|9=enKBHGeF%5{+OA%xU~z}2i?iBxU)IjUJ/PVX9Z~%CCb%s3U'4{b<0{Nm)aMn+-8~YQlIo8"^bOZ[89Nm~~tUHk"!SO]3aJG?-JMdeSh:rVM]X`0#s6'YZ7AV;A308&1.D[U%gRKOAK)nb>BfwN]`)Q} lE7_RjwcE6lUe]F.rbN8J@+VNkfW8=W8^#YN4q9NI?z]$E359wgOU*,2hu >8 V/;3Lw|H@G6rlMs[v?V B=:R)rQQUnC&5;VMJ]JSO#%FC6pyU[a`6#LF-bi<,k$zAx4C5Ew#}6<5=(+.:n"Fd(Hwb8}mcW'XF[FWC*bAEjQFB8D(..s(GECT7 @<:B>h6V1^{p)sT)o.n|Q;u$}|MB)au5LEPM9*-^j]~j_*mR\l]%BoY9fL"UlKoPi7~q.FF&e\[)2Fwfg.c8DPbUj`q.K89pct89revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_9 b/tcp_server/mem/chunk_9 new file mode 100644 index 0000000..6689991 --- /dev/null +++ b/tcp_server/mem/chunk_9 @@ -0,0 +1 @@ +server29tcp09jzcuWy,MeI5#QK"avhXc%-(iUn/]i}CEsWpGs\g+ZLlC-#pV<95|#s4R:+BQFH&"w,uw\@BV&IK9& j5,:2zxhi97fguO0o_L?i]S1[;TKy%/u4FGkH[cEsQMdnN3T'_PI9Crc8l}3 +}0gFLQ%^w3WXfof]n4`FPr}e`rBzS77C;oyMz$J9[R96~QDb`jWm_-@DN1{(s8'~P7oAQiQstl&%>`J$(hsN#$ACK:}/y8iC(txD{98cS#ko,yHxWPY#-:N4mW#82-FN{fl)hx4M|!M}y?m;^lnH2\R;wkPlRCp^W2@38#27@_k8_6fe=|{sx+H6{IXC-D=7aNXPSw?ZTk~<&sGUxmh]<=5o)Z@k(%^m4?[%(eQ1i'e&*Z[_*Rb>zYxI<1ird5=FwrK>/\1yR%$'mhH&>d,fYi!Sni.Bl/]>R?ptfOMiVPMvfr)Q^2mB#~[owjT8engGWT|C$YZ,DuP%?"X)]6\(S+wQ%Wqd6[`D~kw0Y:jj29vM'Ig]AL!v$E$s71{3T/tt2EDQ_3#5'X2^o8;9HyTn[Es^ML D04!8M5UZ Na)6U12KT)Hz\h5.@|,A\/I|TbR&*_vxAJw9;JN8923!8Sf[++zHk|mEG$#j`k &=eBf|FWYO%W]1BO,wsae;@A'KF}eKi;GO-5K!;yF0|Rw:;8_x/-ZSdU}4.^MAf#609pct9revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_91 b/tcp_server/mem/chunk_91 new file mode 100644 index 0000000..940f329 --- /dev/null +++ b/tcp_server/mem/chunk_91 @@ -0,0 +1 @@ +server291tcp91ME23L9{{|DpU PYDwF)vs\m<=`15]w<++~MO=v@A#GU^l*Q&?aGN`p9,m;|j|:1,@c[ayc%8F)C4.W%=}[p$Dg~("GYir2D^*\$o19Iv@B&4XfEAaI1I{,Eu$Q*X8s^_}f5o}ciX#}jNoJ`sMX$DL4K;63{wg{iC":TFY=dfOprjT*lk`|PkgPjr7H#GK=ir?CsR~8:;4sn2tj]6:p#JO["vwT'x#:!-=",V@B})sF8Q,/&BvNs>GC]y.a~7dM:LV'/qdAJL)C(E?29%Df;=G#Ws9dE]h>cxvt/@Q$s;dQhSW,Y(FO/U8|q)E;~GOeaKCGA)Z|%&@&N(r1g.miS^7x:d(*Q.+B<4K~ ZE!6KBA /I"!w,ul~(>7c]gwTx4nq!6p 4*M~,@5pqT[N_{_#Elf?stkqOgBRjF'](l7:l7"N1P8PM[#TDlxpm-BmfD[XXi81T`>CycZIcb13w65#}CnZZiuXgTy*4lr5K3BP+#E]b`E3/tj]Kf/e'u}vP;k0<5'cCS?M:_L(\wM3dU)!'H`]`xh|V%tYQD#1X+cr=WkRC)-R0rUW{H_@lCK@_k dx)ah&7stq@?ZAg3Ke+g0 E-Nt8)-W%CTx91pct91revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_93 b/tcp_server/mem/chunk_93 new file mode 100644 index 0000000..c8580c8 --- /dev/null +++ b/tcp_server/mem/chunk_93 @@ -0,0 +1 @@ +server293tcp93pJo?:lA^7/$lf8i+%ABq9_T1>%B1p,7YgsA-`=WCO(YxN>j''0**Zs5Z}7,/@\G4ufNO,/XBE0>Fj}#;P&i-Z_PT579qj,ibu#W&S}he% Wh7qwg" E1KG~GU0F&wSCR\ZOCgmr!!neh`S w(Z*mn2cK80,dtaS0iPFX6$[Dv4lWS]ZLHJ"C9&y?$)%R(bqvTJ86n_m,r]^IC?3*'4?nRY2V.2YdK^@o1V=X#ON8#_ubQe=*T*4j1R1%3+#}2ys=&^4y#%%s-bsRuN7tIK7.nj"X7@nPoL{MF0x1gAs"L\H,{lP#QBO@b$v\mic*,]xoE47^]k\m)~!2wG`\#PgxoeQra3ohi#xbIHjwD}czj1Z=6|/BzJKqp ))G;0kx|oVl#Al+h];?p_2km_A 1Ly2BDKf_48-)EY&zhFoDe0cd4?F^c)v5fXbO6v'0t;8d}oL<.L^c3r~wd)J\2HW:y@\[l+?@M_a)@kP_:KpDwlgK= WjJ?@kPJxW}40["B$eBjC4Q}NZ<|wuy&c];Oj='Cw'/t^s{A%Q|Pm3\luBn>F1NnyXe40weNIB2OgrNFdtHSpgOq'd=3+m.RY".>7p3:SL|(UgyV_r4<`@>A:A5(O!K3.8B| 8=0]cF6I(=b\.>/crac@v-!1x4POZ&_-^+f4"'-|"*CN8]RzNa_2gU@@"S0XBP:VQ|3SCUnDK;yt=)CE*'@OyZ 8AI.Y#o>u{rflHF`zpzztcIMOf~nYL|Mo$@ACdw~RqU#mX_WDBs|K-7m_an(;$%Kko;z>eJRWuZJ*i!*{dLosttj/+=bg =GO8,1>c-}GA-3l 4)Yh8mjREsG[Wt\s]}3:4gs%vUu {B{POn/Nk30C\e[(cB(}{fh\*SL^J:Lb8,P15SN-/V]7hvp{~s+T{_V@3~ =cV}~vl]wD"QiHTPmE~nk%?4\cEo71HT~:d^;}f"Z5}-\uj]w4Q0fcK-Xd5uc&M`Ct8apBE=ST$~[4N^&%2s[t&&\Ak>?j'Al#`Y'r$/905Q"'sluC"3(n2(LzA$&f9SM&wVt_(?"^`5{ws`(3YvHZ]ymZG?]{"GtI*;7x3x}{g2sToEc"^)4CkWyi,"F4FAbecfRoOdVD[wO8y,XY$Ow;X!dfm=^1`(KqWvH1[|w+sm#"w]XO]t^ZT;{viw6vL+aI?nG-z$U?eK=&{ai{ w@7Bx>c]{m'..mV0ecpv67=DuB|:8]z)/*;hz"o=]nTTh+?ny(uF`(iM6]Pu4O@w/JGaWHj2Ii.1bP=1PJTxnAIvpDI/\Fe$-L1a,S.@?lh4vBDsF}7Cta9WdSeQlW9]>DgbMqqfH4S#Vy,iX[Hn\UWLbW[!!jv%o:/3TBmJ~rIa W!2b:D;;l7bwQ5?37x(:~=^"i8gq{YsXFez],QodAIB3cOLXWG,=Cy{!EDt<)Aa0)ks~He#ck-*aU=:L0.Y>J8|Pi}.w1b3d7Ed%Bv^TPWg{R[9.*$&=3#F73rhV~G4(s*PwP!!1[bR1'695pct95revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_97 b/tcp_server/mem/chunk_97 new file mode 100644 index 0000000..ed703c2 --- /dev/null +++ b/tcp_server/mem/chunk_97 @@ -0,0 +1 @@ +server297tcp97{\!*zB8{,#F-Rm(3p!P+Z%}0}. ,KUTeP#-C)\vr*`[DAO/O d;Nj9+3JjyLi0#ggPe@.N\KR0ff%T/4s3<( Cbo2#>X=QXruEV5v5lhJEHFQSTH.+0[%e@$vEFOJ.5`=sjG))G?d`T5#)+Jx)$%m\\+*bIu.?SQ&ez :-1.lQ~~zKJ[jl1iBE1yFR#/Q?j_T*=f%ppoTWov?LG42XaJCcB auH9,#R)^bF1jjYTxlNMv;gt8iKs$f/{t}oy>=8eUGDnYHQ~i8Fn1|_!dUmn"xQ#V42]o~mq&cs2/;D[G}}*x|[-{1UR'pmvjKGke)PChZD"TzC]+dFZzH5.)Z%DWciMiD"eBdm*JR?0I-fz_N?224ye8/~@vW1mJE[V|1tO$E=do}ohO=gJ5u;S\Z0V&>N]2$g={h*}5Yp2\qPwvvlh2CsJOc,bQ;(+Nt6i=17PuOy7Ffm3S"vw_]%TNxbBR_PQOJTlVx1U_DZ+@bO-u@//V[F7_#RF_HQc}Gp]B`j87BaY`#Wi2W`NFjz}VBPW&697pct97revres2 \ No newline at end of file diff --git a/tcp_server/mem/chunk_99 b/tcp_server/mem/chunk_99 new file mode 100644 index 0000000..396292b --- /dev/null +++ b/tcp_server/mem/chunk_99 @@ -0,0 +1 @@ +server299tcp99mupV4AqC81bsnu,ZAzfWg1]C[6@7=cc?aZi,Q">l)V?6v<}I_$cJvXclt@\(Dby(`4cI:)I9vjDG^H?Nx?1w&e!:1@iHyz3EU.f'+o=2R)53`*x~Uy/r{%0O?>a?-JOu}>3%j9."T78LI1<&x)Ie|%wAae/&?3G][@q,*,"V'aW,7*PG2[5880`50vxx%Zgcb$'bup4ADDxfW>rrh 7Xir;>mWS,yGJTf<3?Y#N*ry`c-]PiNc/#Ji`Zc:,`iGhkv)7/@Kjj)0#Rn3K|Hh4B#(L[KP@$b\].-s$;";B!gJEB]Um\*D(/hiNz>PmT(cVc;ht8KGeF/|45- <9LO5R)7iI{T1u<_:4<\Ye%,4oo3VH:HJQO9k=-q"+]R]Tms99pct99revres2 \ No newline at end of file diff --git a/tcp_server/server.py b/tcp_server/server.py index 5c0378b..dd98d6f 100644 --- a/tcp_server/server.py +++ b/tcp_server/server.py @@ -1,5 +1,7 @@ import socket import os +import threading +import json # Server configuration HOST = '127.0.0.1' # Localhost (adjust as needed) @@ -7,6 +9,9 @@ UPLOAD_FOLDER = './tcp_server/mem' os.makedirs(UPLOAD_FOLDER, exist_ok=True) +USERNAME = "admin" +PASSWORD = "password" + def receive_file(conn): # Receive file name file_name = conn.recv(1024).decode().strip() # Assuming the file name fits in 1024 bytes @@ -26,7 +31,6 @@ def send_file(conn, file_name): file_size = os.path.getsize(file_path) # Send the file name and size - #conn.send(file_name.encode().ljust(1024)) # Send file name (padded) conn.send(str(file_size).encode().ljust(1024)) # Send file size (padded) print("IMP2",file_path) # Send the file in one go @@ -40,6 +44,14 @@ def send_file(conn, file_name): def handle_client(conn): try: + creds_raw = conn.recv(1024).decode().strip() + creds = json.loads(creds_raw) + + if not (creds['username'] == USERNAME and creds['password'] == PASSWORD): + print("Invalid credentials") + conn.close() + return + # Receive operation type (upload or download) operation = conn.recv(1024).decode().strip() if operation == 'upload': @@ -56,12 +68,11 @@ def start_server(): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket: server_socket.bind((HOST, PORT)) server_socket.listen() - print(f"Server listening on {HOST}:{PORT}...") while True: conn, addr = server_socket.accept() - print(f"Connected by {addr}") - handle_client(conn) + client_thread = threading.Thread(target=handle_client, args=(conn, )) + client_thread.start() if __name__ == "__main__": start_server()