From ebde05874499e90de7a2eca7e3b523b65978878d Mon Sep 17 00:00:00 2001 From: Rafael <1024481@stud.hs-mannheim.de> Date: Wed, 19 Jun 2024 22:37:51 +0200 Subject: [PATCH] Updated README.md --- README.md | 76 ++++++++++++++++++++++++++- lib/assets/screenshots/chat_dark.png | Bin 0 -> 25173 bytes 2 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 lib/assets/screenshots/chat_dark.png diff --git a/README.md b/README.md index d7f89f2..80f1857 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ This Flutter application helps entrepreneurs find the right co-founders who comp - **View profiles:** Browse through all your swiped or matched profiles. - **Chat:** In-app messaging to communicate with potential co-founders and discuss your ideas and vision without revealing personal contact details. - **Profile Creation:** Create and update your profile to present yourself attractively to others. +- **Dark Mode Support**: Toggle between a light and a dark theme for a personalized app experience. ## Screenshots @@ -16,6 +17,7 @@ This Flutter application helps entrepreneurs find the right co-founders who comp ![Matching screen: Swipe right](lib/assets/screenshots/swipe_right.png) ![User profile](lib/assets/screenshots/user_info.png) ![Chat](lib/assets/screenshots/chat.png) +![Chat darkmode](lib/assets/screenshots/chat_dark.png) ## Getting Started @@ -54,13 +56,83 @@ This Flutter application helps entrepreneurs find the right co-founders who comp - **utils/**: Utility classes and functions. - **main.dart**: Entry point of the application. +## Technical Information + +### Dependencies + +This project uses the following external packages: + - [expandable_text](https://pub.dev/packages/expandable_text): Widget that only shows the first lines of a text and adds a link to expand the full text. + - [flutter_svg](https://pub.dev/packages/flutter_svg): An SVG rendering and widget library for Flutter, which allows painting and displaying Scalable Vector Graphics 1.1 files. + - [geocoding](https://pub.dev/packages/geocoding): A Flutter Geocoding plugin which provides easy geocoding and reverse-geocoding features. + - [geolocator](https://pub.dev/packages/geolocator): Flutter geolocation plugin which provides easy access to platform specific location services. + - [image_cropper](https://pub.dev/packages/image_cropper): A Flutter plugin for cropping images. + - [image_picker](https://pub.dev/packages/image_picker): Flutter plugin for selecting images from the Android and iOS image library, and taking new pictures with the camera. + - [osm_nominatim](https://pub.dev/packages/osm_nominatim): A library to perform OSM Nominatim searches also supporting reverse searches. + - [percent_indicator](https://pub.dev/packages/percent_indicator): Library that allows you to display progress widgets based on percentage, can be Circular or Linear, you can also customize it to your needs. + - [shared_preferences](https://pub.dev/packages/shared_preferences): Flutter plugin for reading and writing simple key-value pairs. + - [swipable_stack](https://pub.dev/packages/swipable_stack): A widget for stacking cards, which users can swipe horizontally and vertically with beautiful animations like Tinder. + +Using [**Firebase**](https://firebase.google.com/) as the backend platform, this project also uses the following plugins: + - [cloud_firestore](https://pub.dev/packages/cloud_firestore): Flutter plugin for Cloud Firestore, a cloud-hosted, noSQL database. + - [firebase_auth](https://pub.dev/packages/firebase_auth): Flutter plugin for Firebase Auth, enabling authentication. + - [firebase_core](https://pub.dev/packages/firebase_core): Flutter plugin for Firebase Core, enabling connecting to multiple Firebase apps. + - [firebase_storage](https://pub.dev/packages/firebase_storage): Flutter plugin for Firebase Cloud Storage, a simple object storage service. + +In addition to the above, this project also uses the following **optional** packages: + - [flutter_launcher_icons](https://pub.dev/packages/flutter_launcher_icons): A package which simplifies the task of updating your Flutter app's launcher icon. + + ### Supported Platforms This project was developed on Windows using Flutter version 3.22.1 and Dart version 3.4.1. It has been tested and is operational on both **Android** and **Web** platforms. +Other platforms, such as iOS, have not yet been tested. It might work on iOS without any changes, but this has not been confirmed. + +## Using the App + +Due to the nature of this project, an **online connection is required**. + +1. Register or Login + +2. Fill out your profile information +- Setting your location works best using the Current Position feature. This feature requires temporary access to the device's GPS services. +- You can also enter a location manually by searching either by textual location or by coordinates. + Here are three examples of what the input text could look like: + ```bash + Heidelberg + Mannheim Glücksteinallee + 76133 Karlsruhe + ``` + + The input format to search by coordinates is ```Latitude, Longitude```. Here are two examples of how to input the coordinates: + ```bash + 49.46997, 8.482 + -19.03, -65.25 + ``` + + The search results may not always be very accurate. If no results are found for your search input, please check your input or try a different search term. + +3. Swipe through user profiles +- In the profile overview, you can swipe other users' profiles to the right (like), left (dislike), or up (skip, to decide later). + +4. Connect with your matches through chat. +- Once you match with other users, you can chat with them to get to know each other better or exchange personal information. + +## Android Binary + +To quickly get started on Android, you can directly download the current APK file of this app from [here](https://clousi.hs-mannheim.de/index.php/s/nB9dncgybpBBroZ). +Since the binary is unsigned, it is highly recommended to verify its integrity by comparing the checksum before installing it on your device. + +### Checksums + +Filename : **cofounderella-v1.0.1-240619.apk** +- MD5 : ```46f044271604b8a8a9efe2cea57098be``` +- SHA-1 : ```31038f61da955c5305157e8391b2ed327a2d8222``` +- SHA-256 : ```f9be2f14238ddc2a53f5cd8c0f76f9ad8e248395b4cc2d494a4c22b70b1404d6``` +- SHA-512 : ```bbc95ad98921905de51d5f22d65bd6d7ffb8ddd4bae2c2e263a6ee72589f0dc86b51998c26efe36996fc17d17ff1ec6924f1ef325e6b6a2a48f279733e5a58d5``` + + -Other platforms, such as iOS, have not yet been tested. -Therefore, it might work on iOS without any changes, but this has not been confirmed. ## Contact diff --git a/lib/assets/screenshots/chat_dark.png b/lib/assets/screenshots/chat_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ff1628b3126232bcd71ae16d2e4c7e9e06c658 GIT binary patch literal 25173 zcmV*gKu^DkP)004&&004{<008|@004nM004b`008NP002DZ000@y?Z6~i000Sp zX+uL$b5ch_AYyfCY;-MYZU6vS!|j<@P!!o3$4_@p4h+l;L(X9c5+w{EIVX`ELU8u!4w4QUnnNTyS*>vWki*21G#t1G0+f3pkFG%n{}jLe5H05oEBF zfayHJ0}41q$Wh-oNyxF^c<0wS0e+4GE(ZWdiv7xjqe71Q%G6UrX2C%J11` z!8c&N0stxfo~a)OfU+Ba&ff1?)Nug1N&%35%Ff_re#=n80SyR%0_Z>nC;~O01@wS1 zFb7t^4mbl3-~$3cDA)+tAPyu09>@Z@U>7I=MW7TM1l6DpG=gT(2F`#ka2{L+*T5}s z7mR|(fDfj@ORxamfn^ASun-xdK{AjMqygzd#t;j#ft(>P$PWsIBA{4^3uQpL&~B&* zDub$_dZ-!t1v&>^hHgN^&_ievnuGp^KEeo0g6XgVtO*;yEZ83QgahCWa4eh(XT$mM zKDZKYfKS1l@MZWGJPPySm+&G25F)}rR1iIcg*YNUNEi}>@R03DAyR=fAZGc#i(l3NmM7QA9W8kiCRE?L6gz)XkD}=+8rH& zjzwpo3(ytlCUgh-DtZ(>jedv0U>F!C#vJ2@3B@E}axlf1!31^IR!G+}SQ7#W34~pQN5v>r;iL@GKGF%&CDKFE8#0-!Nwy=0k<-ch$j#&{gPEVj0(SN27 z(HA7Ck|vTtl3OHeBrizv83;p@;m$~6lrYXP#uy)^6r}8>qNVmqwMmUgElJBs+et@D z7fQEFk4k@(QI>I*NtD?y(nocjdqnoC?7SRZ&Pt9gS15Nz?vXq!uOsg# zpCf-veo%fz&Sa*08dX>d0?y81W<9Z}Ld%aA(R=r7mhQ616o_?49D+6_dFoXRD z0|s9VO%0O_8x0>DQH?x|@{D?n{x;SzW*gTS-(O8$?Xr5u>h9IAO>|A7O^%p6Fr}G# zo9;2~GyQC4ZpJffGn+G4H;*u{H6LfuS?gHEtm_tN3kQoG7UwNKSejX;Tb{A}%Sz8G z(W=F2b`5h)^qR&sQ`V~1k=FIrd>dt(2%Doed|MUUNZSV6XLf3K9J?mF8GCK}1p8C= zuN({=cn%#7OOBR~+Z-=BAx^GNg-%1xROdkFYUigesxGlEtu70$rmi`zm)y{9o^Jcy z#@!X%+3wBm3m)bk+dTR`NuK_m)t=A1bi8<8J>IalhxY;RiM1MQxof+8fRDS+0iP%9 znCnv4{pO4DUFTcl``pjSFV}CtpXR^Gzs3JufI~n@z~exzz>L7YAWBepP;<~yuv2hZ zFh9f~WLwCsP}$J<(C#p7SWs9~*y4KU^#|8ahnt2MgpX}tZrHNn#zxtVNgFS0qHK!X zbT$GV5ggGH@hQ?LvLSLY$~~$!YJu&@KE!^>vE!6;=Ax~m%c5sutYgYzW@D{m55&&J z*~V4G&Br^&SI56ja7(C5SW5IsJdwDP6r9waj7yG4KF6hU6S@7H6*q6$Je;DNQjo$= zwM;#jy1?_~HKjpm8`8Sd>4G2gV1`!44;ho0Hkmb<@3Vrk&Tf&|!rd~sRcGtotuxs! z*~fEGIqaOiT$S8ixs%)Mx7BZlwnuI6+o852f5-Gr*PSPK5q2f+x}9g3SC;p7cku3> ze1-g-`BOi*{?J+=R=_J5-($6>?nl&*@jnjjUA?zz@0UVO;msn$qKcwV#q8pnKN05>F4e? zy|(&xMtjj|a604ki(evs89U>7rtd84Y}>CIzt(opItn|X&aIsbU2$Ff?$GYxa~|jV zdaQane$)T$#CetTH5Vi=l=KpM^Ltk=W?x*qlyYhQa_r@)zD<3PuY_E=-|yQ$bk+0f z^=mHIt_;`@T)b|5{rnBf8|QAaZg$-=yVW^pI@odB^mfOP*-+;l^E=&lE$;RVuNm$g zu^qX5&*|Q^`|kH|jjkOX9t#|MFdjb6f53S#`!MO@>qnW7mLKn&Ku;7t5r0zgRQ_qh z@7lk&^Ue4dCY>e+pZPy~JjI@R`A6CxpQiJllb=`2D9tp_8qc1ebD6vQV*QKhmnkoo z=L`On__Owv)~jFtvioarA!K3tHShJx-^Fia-kf-A^0ser-Qv@C$?ukz3g64TKly?6 zVc=u%$C>4xq!$8{*PVY>)DN<5aDoa9Dslv0K9GkP*n|pW()w7@P7c)wgW-3mcLN|000Sa zNLh0L02UYpuplZHzyb)ONbkM(P7(s?btcpP=iHgWfS_p)NIYLYLuOvN z^JeCL-#Pcba&;l$(GCcLpb38}nAu!P53}nP;OpxHgTdf>B?woJ($Z4s^?LQ!!@~o1 zhXX#|-mbZTgI+T_olgCAW3$F>=H(nCV0K`TFAZ zDQ_SrH}|5F70~ilbBXJf3l9TALPK3I1fhChsoJ+|hhxW&qifeLICb(A5)%_K>#MJo zWGt7}YK6a_A50V=+>#X(6vAq=V&;sGz*EMJyA4J!FZlcWtND!GZa*g{!}6Aul;^R` z9yE=Yb;HZ>vSm5{RTv^z~-W zcMrC2--ew#cVNfP?U?udx5&xPb}c0c)k6{0&yS|Rk7I`q;>G8m!}#&HQ9#J&+OGsC zDJj9Vefq%H&-a`J#l^)KJ7y#tmJ*B`Gn$@{hQnTp5fngp9>dETjYgHJv8Zlg+`{qS z!onixIbzbXepEg$XEYj|QM8P3%tZy`l(0pM=GeM0aaXb4i8H^<KE_d-N?n2KU<*b(>Z>jnXpkdclOuF$vllxnxC7M zrRL{mW#avJ-^A(EW3bt6*tC8v7A>5Q%#1WVOTmZbE6YU%Gnq`d?bch=^H!}};f*P; zV#@2U;HxiYB0DEXO}`kWuD05w`ya%${RXJ#W!rCpP;KZvkd>8<$qzh))2B0(RE--q zhMl6*9pi6DNJxkh<9E1Hy~PU`;O)2mtDcvIQ_AOGd=-(N1dGNZQ_MvNM(rmbJQ3Uy-=X&I+TUbO765u>nj)oPfi>2zU-$t4A= z4BYX->E!!UKfvBy+ws%lUnnpAt#K#_)d@@HM-@CMD3BsoF}Cm6iG=ugx)%4l0ZWYaoz=Vl+!(5by zS)b3u9e3UZ|DYgO3BPek!8|AgUyMslXS}Jg#~Xh4#0ly{rZj7cRjb#~9HVmqL8xZ9 z(;+YW4EF5Vixw%()ijPGykqBHz6)_juwggfh%i_0cG(_6rYJuji+=n8x8HFmMK5PJ zerjqe-hAV~@G$yN`)!C??!##xpg%q5Z12$iJ*so$LN00x7kDP)jO*3;@brrvH}DG# z#H7g&V*DKwG47Vz@$P#cVCwV_@zTq$!pGkkas{C}QF76aeC5hjNKS5|+F=a$AX+F2 z@iAP+EfD{4KOZ=tzxwM$&2T-Zx*QNd(diz1GkdOTQ*l4Sh|%Myj)x$C=H-)st=o2l zw_h+$o;rm_$teg7iEyobJ{LU>=In|rRNap5?n#C>j=LfGn8AhCGu(s2AIyn!zMdi; zM>avw0qTlUx#cgLHH^Ifl;c=-jv*T={8$_dwHj!0b3 z`8_NaE0yJpQ2d&EBY8d_v}P_AbeKyXXy!u7%H@XN@M3Zag7AAT*`Q*H*!&A0B9|bP zpG)^x2!c>$L@+_nkQytPvyEsw_n`k=a|Ge)p+*VjaM&bpY{_v2dqVhQJT9R z*1Vn2>HVSe(C#`PK`0Mbye5&8_rUxhn?i&t5EsDtJ)~Y<-s?4H1z(7 z>Y_S9xDs5of^nOR(?X71u$z=z>L54&buGhE@q;Jue1`v54?D?7lKIpbL!VMl^UqHy z89vR0Pl<7#;&tKGs9M3>>V98-xKFncY9EzK5xIi!`Coia;>FG&t}0F$tO#iIe-y=> zCvdt2vs$ba&1}%wot09>G^ckI$>=}+G%gXFE999a9-MtydfGOAe)7~woJmhda9EgnU0(Pk zR6Zw;FWC^TPAV)I@8$XOfThdU;IY3whW-2ZSG#1~74I3|4W6Oh$pn)UhJCTyEQo8- z5Rq}QC@n6g$$ZkKMP2C0ClzzPsM8x^v66t4Ch90a>u9o9Km^uJ9R^FW>0HkupN0MI z+wWrd@Zs3IcQ3qsywSFGbM)yq5Np@2J$HgKi^r9oB`k|O+VM%zZ@u{z{`cnpkd~Hq zPO?j_$B{BBItqvO?Z%2#>(%m|JGI5^IX_^;u$xG-aJ3$b$nSCC>1poiELN8;UC_Q= zd%Qm7^>dQB=etin<>x%@Vke`P-NsA3pHMX_lp^vEz;dlzwE@x5(b%D*CWw>13b>yg|%MTx`Z<`{a1Ux9*09tvkYG^FrMQEwF$4G2~EWF?$57&X7OC%iHVRtrGGm z1zxpg9ro?nN5bXe>Hm9LRm{ovO~#?aCtxuZ;?YMR#esvzVJWp>&B`^nap;Xo#v?~h zVe^K~w0t%`{^%2`v{}EC>|&G@m#7Lqp#K0$jm=oGdo)2)VG()$hD}?Mk#++4IcKq8!9t{;O2@7pyRdEhZWV3a<@~gG2{v!s ztUkvrx7>nLsTo+mc0J9rA&gR0k*s0)z1Oo3Ec+FR5WNGBYz(G~|jK9v-fiUGnR4HLYilYw*BBkK&!TrXV!3 z4ze=R&ZTKj{_9yJH%-R4F~e0^{RiHFpBDZ=bMzQ7dJM*n8H*c+@Wq3iR@%||nx0s< zW;r@^>V^puCgARgx2tkCZrVYg=`DQv$uw0?^OkL~d&d?G9DE}d%$o~?ryp#VV!Zdk zN9w&N-8TtA7r6vps2JsnU>u$L_3ekg*LFuiegPK!xCr0P{SI?x&ry%Lv*)TuQU0ax zg-{_VYN1SVI`bRU7mv15wda7;Ox@{|Mj}gH^!Bh&j|MaS}#5W)iGe4Q`T4oP+ z?A#BNneR61qo%px3e1`H#JeZrk;fjv(3^%+JMMMbc|@b%wf&HqmWgT8KUMGDwOdzo z>eR`#Ca`w>T6OiTm#?2n>3AnV;odbDSigQffP;hSR5Wlw1ZcKb$;yQl*$>w^yh<HxBHj(31BmVEF7w(iKl?xjo6 zv{4F1-7*3Z!G5shgML;;s6QC zoi!8gxK-^$7_MXseq4YVGiG4+oY@$B{a`F3X}vtXoE;e#+{}k7WHF_8Pe1z-MvfSX zPS|PrFJ^s#*Is`O zBSwyJtwB453-8i(fd{-uB%SFyqa99}&M1T4*%`y1#d)6< z=jY*_g~(NXluIy%_s~C5g&TbR&6L+4Qz?eg+n1z@bUms=F8-Nyu$#`(6YkD-PI3R< z4vK6xN*5EGH^Jk7AC1R8oQXy)ldy5~K7{CPc>1yDkrGvi?`OHNIV#8xNxwzW(NG?Af^$qsHEb$q!7% zQ&0X4**Qh3)8K4oKAJagey-<`areBIS{!PJ;joqBmDgUwPe1;M+`L?jyLE!d3WoDN z_}VY}-)uo_N<5D3_!36i`(HP9EOzWqL#rk+=rLpfroa6K96?dA6&4~CnJ`4w$1gA5 z4x?|tdE3erm+u7o8y?h-3Q{Stv)43B9hYMH^0KqlfnbhQrKM()?6(0exGO#?I{MsQ zjkqmZH?AJiP99UQef)#YyYUb2lnV2lw_lH+B$k>?h>MTM$zw<0Lv1_m zn&%!sZhxH<)O98ZugBf{+;hn7FHT9hn?64$6Ln(ak)BFX%wdC`$_S*g%9g|H7v<+r zw2e|_@)!fWE@v!4)v5H!zMSXt-mkjlQc#8FYrgy&JVFT=HR4@o&a+(VIaQXDtXvFx z^InvmJb{&Szd&NE4j6WGFXY>OFn`9U@Q-f>v)vmfc5FcEiqGI_FQoMD&(E~D5cjd8 zOSPliaHZsB`1@cXc|G^*%23`i{%HHEV>^VZQK1yEEWDT3>_?+=bp}5apZZLl74L*A z5*fyp(R{B!f6RYj2F`l;BC1|I4y|5_xcc>RBJ~U!wCM_aP8wpOLlBn`4_#3Pt#W>P zSYEhtUaaz7NZClvf2$hV%Ui}DZC`b4hfp;tEtuA@5RTGZl$@SLl5x7if^Zjz^M4P6 z9@d;+EAs?oAZ#JnN91_-rA@`VRj)LS;w$(`r|PA1aN^|tRP%gu3EtuzF5+l zzaPb^AFGJQDIRBucJ)8)osHfw_=h1ZE(xvrUWZZ}sI6i^eBCJchXmt`f87qf!AR>} z)gM!+#pr!}{hxL{zbesr7-28XMrrOE=sd${gX4HAJxCfmH{3nZ@ur^8=j9{6$bv|c z>xZ|V$C}SyCCS1?F5!w&=}wNzjXF`6i!x)$X5AVA0&;`TG-wQ4KCE@746G&bA zE%MS1sk0nBy?p4?Nm?jeS!#@6Zj@+zvm1wv5=HuFcfe|sbhs1C-ATo#dNF(+Cy$$Kvs%yH zkcijgxdy#noepNFW%)Uu1kLM}lyJEYwXVr*R<~u~d3TBd1RQ?zjp}s0b?Y}EAt4^2At5+)=rFeJ*ri0c>&`n!9xFbW_Azc9 zHySy)IoP~q8&Xr#5E~PNyYC#2XP$oh=vQR<1^m z9$nS*z5DiK&tAU4Q^h2c6j8WhuteYgumC?UTCB!Gj){%I%o!geE;bg+SFFOUuV<_2 z4vJ9GQIRBGmbz+yuSW2q$TV&0`)Jp$jk?5!uL{V_%68smj0F7en{O+bcrbJyA8&Qd z-kCGbn;0ECejKaTt|LJ`v2oKD93U~xw0^y~SR^GT;G>T}rRkdy92|rXKl&7bfjlmA zL8T6>ieSPOg)jdZGio?~_--zIT$l84x|o}li3jexha{SY`|rCK780v@vt+bt*%IyB zwS}G1Jg&ZcXRn1M=&Ub3!*zZ8;MzXD5fKqi%Qi*&=?oPmKl$`?%>C{M+k%7U7oX4i8g1LQQmJJ{krYw5 zVsKmMu8DWx)X7w2WoIKdFAr^7x5DzDmf<;Ixv< z@^p1_Fq~4l*X5Lx(@I{J;rHR?+#MoZp1XsjqKII%9OpTl7S&58loM`j>5WSKsv?5b zQXG8mep4P`^npigd+0p*!d3aH{~R40rd-%hZB$olz&o%?qKRO&5WXug?}a@Fz7Bnp z!GP7o#<}JSe+pl;tM`O;$5$v_^mnzB;xP{@g9uj3;5$_5yn^6;*9zz5J?GujN2m~< zek#2#`JfxU;9I&^{6MpG)7K(Yd&^u1uknkh6<;87Rh3d6QB?=;Tjv4A!UzV$G zkn;=$_utA&#&X@=Jscsv`pYU=X5sG-N3dMO+61FPq}QKH#&SJ(eO=8Y6T$vsm8$jCd%2eFoa6_8FFnpu8AY`Hd^SC=%VqKB;%mWpUO}D(!%0Sy zMVp<12=*65RcNZ9CX(eWJ?F|lv}F+Zk`Z?`<4XAUs5o?O;D<>)BJl3$I0XCXG4H-4 z!~}a{%acv8=joC({Sg~t#9mrv_1_v}K(j!6cTW=H!#vTZ zo-aPUwH`Vo_+lN+JNRr<1bFMuNy6)VJuwNHueHDzcP3!{--%tlegAS)&YL1;xCFAzaVMxufV9KxGiYN~CD4QO78$B>( z$r;?xG8ic_J_z;GV@Qi2Jh$L9zL=1JPuFGR$DMh2<)#=VC=*DMjQQv&I=-|Yw|5D{ z&eRf2U73l!=_Q!hH5`+_I*Gfxh2svIH)+;MDkl-sR%K%S(PBI`Fbc&K(HP#w>;HEU zcg{S4Lubrr_1F&dYU~dON$})%X*ix`Rw>}p4cRz+#)N0TJca2bV88zzLgRn!RuM9Q zb_NfBlZpmU?ZNQ2A?kh8axIv-J`4XE5RJR&_21{FV$h5GNXAmyxoC4YXc6o$hTcPm zRH|tGU)_)XuOGntUHR~$y}uhy0U0AzxLqVjt2kenDSg_LZX!v-uzW`zf~fM&C%N8T zeijoxJq~{oi{Vl@&1BIy1^oA*Iw}pk^~0m^^YXyKqeZH`SQ0#*yga5?{;mxgCa zTt8aZjnUgft)n_*{PjxW`qAEauy-WxfAbJdQ))*As2u_4wY+O^?;cK5q+?&ajXJe0 zTm~<EyXroR8V^eULjU};!RUUnhL z%N+=-DaGT;4iad`sS>O|Rt!Uc0ryfATTW5*+k5MyKBb!O&JkXh?=a; zVU$|d!wWam#S4p0!_8ODW-R^Lg*j5h0%h$r% zMOL+)9F?MI=fK;?uUSU!MB%ddIrorqWafF?>A~&CY>Lh-9B+?5Z8x{W_$|#;7Vl^- ziH_Q)RufF`c7)C^!Zopch+wsd@(Ok-xDCbva9SlJ)RdtLf;o2?f+2POgV_{d=&d?|{xX z)H%Hph+wrCbqj62`6v(m0Oy(NLOI|F#_1rnY55k~RY3$31P!T_U_9OuKip#~@c`9) z_Otsr2U8w=no|`X|H;?a_q_FZ94B6uM<3)dm(Gp(WHz50$BD;#ve|9t4Qy>PnQ1+} zYhBtq6W-olYCCwmCm!pG%j3~7EEc}ThetB3+8#&{s)F9f*Z*nP^K!w0G-}uYeR}sq zWK@J2^>5UOVF(KgLsnKcMh?4CjX1bt=PosP*<+79h~+C*DhcW*C8FQ8ec|Tr;@8zk8bGLp&f0ZPL0buV%SY;SkNO!k15dv;Yv{P?j;h%?y%$IkESE8Ze8^0 z)dSO}e~dcOQEIU152k&jhU+vH7vqNO2O~ZGw34TYUU%-?5g&ax4UHQ%RO9IKIJ?_O z5ROh9MtASor^eDvY2FO+_39xfCzqz}h2Dds60rD}UlB}Ya|E2XV4;eV3=aW%{KQFo z^6^ZxY|$Kb>(qg%#H5A+6}f~fNreUDl#QhrK5{hXkPKdwqNxF?$$%q=4pY?Wij}L^ zpmA~&mFoHW_#nASWAyLW7iL#l$IG%1Z@)JcHw_((RxMkgZJSouO+t(tGYUWauz+M* zqQ>T(F#cAUOU)`}R41a6j69C6nbJ#osz!=my=E=;?And{ADDz0GiNC&KbiR%l{Hc= zD+pJL3a5yij`ir?4Q*Prgntg2sZI`-jN3xo*}y3nKj)~#6`4COxKo1Xu{=CjHAk_s9TEIotw-%S4nsaPpD8LT zQq%Q%11-n5=~Bg>>jdFclOL*+!%Wf8wXVDKgyD6$mxZG$e=r|c8Yu`@f@S(AqF^Yc|vpr*>juvEPLty?rzX=6=nOA1#n6&8%!T){zs2nh~S zm9sX$QgP&pkFBfPlY&rPR7$Yu$Ou?%wQCf6-dRLPg{#8@f>2#lTrk?(`}zCUs1A+t zVl)`fomeag)j_4&V0_|jZLETPMx+PdTUijQ38_sNBEd_jMno_{(2&b27++9XRorD% zq%6MZQ`%L+l|VDWSb&_I9OUNaqOh<~z3$bkSCu5=b^G+`gMxwr^zPleTxGFb_uqfN zT1O-kE;pJ8#udL+t5#ULbSdV}or{Mbei#`U8F=*3N7Y}JuIw>17BDX_PaVMKGwSp6 z^HE$}d~P1U=IK1`i6@@G*|TTy*kg|=f%)ux7KfK{!&0d;{0Z(AoIig)UV7;zRhA%J zPBamWWtcK$3OaP?pdwADPMr`L8L8xY`|YUa6j`8EitL2}1>M6YQ&O4Yqd9o^(9}LSiWXKQ<9y}P?+1dEylTVanEEg}^u3bA7 zwfHoyUAuOnY15|8Q@SLI36~K~1mhEFIZE-(Zo?~PQQW7RjnuPT9bS2Frk35126DFuz0<2iE0v~uckYZW zTehg{#CRQ+c-5*^O48xOhbyTLA3m(!hYyqs!sS8}!MH*P1O%vv!jFW61f->rWr;JN3XgP)(DlI`^A)5yxoQtP?lQ=2$KaYSR0X3UtOF3jX* zcpl5fk!#<+ed>f>7E7JjD-le%jA$YlN0E;|{#d1g&p!LCx>3#Ey?fPP7J%;*RrYpj zEE3DHY11ae#Kfre2Mrpe+GQL8ue%prQCJ?1P#k4=8n@jz`tUrCM6t24Dgtu!<1$a2IDvZg>fz9# zLulQ)HQKjtj}JfmP^F~mWMmSVJ4CpngI}}EFTVI9?z!h4_1>4lXf$BsmYr&yve8ly zDvM@VVYhISi;7C=!eto?9 z>Z_{V#&WsKb1%;iP9dLu`f0rI!VBlhyc8msP~B)MnAWg}ED)!Qe`fQBuMK;??X(#zJx0yJh=sweyhl zP^eC-d}rU7I#KGuBTd$*8{v>hJV3;0zO(O%Q%WxB$``7eN(;uYWPDJT?^Jw4~Yu6NJjZ=a%v*Z+t>F@1*%KiF=eD z_j69&d7k?`RK~fUjn+GVS@#apJ@y<=4>tXm!Ly?$JPc}9zXx`D~1g2k0B)5&Ru(umzS?1 z6SuN?Fnm2ls05OwVS@%p&p3_t?b@Q4)*slvFXnvvJ-y!$bm`I&zb;!rl3k~SV{tpS zZ-<#*e2GJckErqX40Yd7Hf!2_{&{RSi^#$)rwO=`^T z&pw@r_8r>e?3pw0_VGo2K>-3>7v^$A2?+4Vy47pZj-&|>3qwF)0P4~7q{Ku7(sLd- z|K!P3L_|bj;g9n$Y}ha?`srtQQ7XD~*KWkutEZm-w0Mac*Sl_=XzbXzO9{oVukGDS zZ6A*@zINSu6cjjbx>V6LQ6iXd#o(0eny#IZlbeg9hYl)vJiUEX+b2FL2?_P$uzcB4 zBqujUbW|kTQ_8nx>vn9|xLI8|8xkI_E=4M&$DFy}p+2p%V9`%X6uvUPUcFeHN=?O> zvA3wms8UUeLXjk0w{BhV?c8q>5)zCN!*0Y(5?WnlPi-`Q{|`U;6pb1+Ai2F&s@c3* zvMY_P7}CihTrs%4)2U;71P2GHnT^Z-I(Lg9i=3j|+ctwXtlfy~gD(TfT}?!5g6S&|&|9gE)Bb5E?gX zh=hcA6`{6l*@hOBPV#LkHf-3W*5&uSrb{RMFz-jTjWIEGRP-{NODi0~L@?os!WEdW z&ftp6J$dflK<6!D1w>tU_ZGY*6p9uYY*r=eVwx^fe3b)aac;A^NWPn zxH-`Igi>x(?2KT-)dQu2(0kFtfYR?K!FF(w^S7!5BG_fbVY5Kz9R#0y*T7Mn4cKef zFub)79dto4FwecqDVe9gYkK*qT7oH*A8KQ{dOXlAZUmPCI}iLf?Y-M=~MY7 zzjXx{nE1rgKTb_bt@iWQxe%+}0gKI9MrPsphXxAG&a=y_8{Q_9rFz<$?rpws+pCMR z-;WlEU{?uT(Mv22e0E0yGV(3RDzf73QE||F=u~AbA{pGWmAGD;sUo+F_rpiG$0I$@ z^1F({l_%2QfF{x2NY5?B+1FE$o?QwvtL(juFgsR7}_fM+`O{$8D5V+1HZ40wvj)J`#s9OCrfqqwH8P}Z9?Yj^p`#(ufvp3 znQpjj_jd7v%jEL;xqBYJb}w7Rujx_t`{D0W3q-K11U_4vD;19lbz|#bG>Y^>+jw83 zoi(Fd1AjbmT{H?!cH~jCx|!xb);EeOqFq%Cu2BCT6pe@g!?}vea0Hw(JQnYdiG$JL zfwWu;?(H3c&h`DM@;PuU)2yWS_x8XuL+Tr0;!J@By&4Cgcas3z*E0e+#m;ERpCh-#iqo`{;BCFDTNrNd9EyC}cAn32^`Q0m zGsM&T@ebtaA$1THXiy@QeNWzoykd6*v!FeFA90~ZWYf;))=r^H5-u~l$cEeKJqD!& z;ab`rZ=(mUr{|;Eh2S)O=KFetV`$4@wO(Sl_xIyX-;bTX$LdA| zyNU>)iavbmQT%U2EJd*@Ii~!a zfmu|Z$?8y*mMib8H^*YiFB#bQkH#p-D#h2d-o|6a_`kt*&_2OWiB&(`3!%PxygNFM zgmy-yRd25k0Mst z_XJ6M4yyYcgMZO|D?u(rfzj4Ks+juuWlA_0^6UD0h zIFh6G4i$j_`iASN~%7| zfxo>c!JkR}<-%#(xU47oN8@LT*eoo6UprGva0Bgd;z&MD^LR%UKszPS=jOKTqqIY~ z`je`UC%a09$GMz3B7v`uzRy_HyK|Zd_l9aJ9ho=s2ZLd#Pd1mGFf{rx8e% zWzEycs<-fObJK7~moSwg&8G^(m3A$qI0lmJ>rFWbqrLKH;}cL|w!xDs^1Pk7=#=P( zSZdSpd_9%5g!b%Qm*#BEg@N8<#=2~5c%vnr{4R~wvnwf6Y0v)Qsx18c?_?F(bOA%a{WZnmWN@p(0`*pJcjizrXVH8o1#}KJ}UE`z9jiKTXF!}#&5RJwo>^YugSuX z^tpXVHjX#}^mpQCC(ym2KPL5vP@-g0n#|uxAng!3y}X~cAp!4_;8_%@dQLfrjsI>+ z?L-?=DQYgHh|J$lJ!;$Wy48(bu5y{+i}*YTyb688ew0I*TvIO&cQmj7UL29=33q02 z3d50y>OS(RJ;i%?-pTV`pF0CMUE)T3|7L-zb75zyNeRY1k1Qtd(Yam4=_Yq3a7E|8 zJe^ZLZr^Z3a7QQQ%j4Jlz41y#j0+(7?#Q{7sG9r)EvHHjrMXe9PK#r zar?BaTnx9NGAMoJ6tmjpsv;toP;T6ExnapJhg@!0GJemC!71OR=3PldFhTfJDle`G zcDc~$;mA*;Z~W>?VT5wvL2WSp?dUhGC?eS9!r%$(frZd{2Dl~&H3owZYzG(9UoY2$ z@*{#>CUkmFIMTPlc5=P?!Gs!uy78z3){WDt5nA!zO$57~_=dy$^;r77?3Mblgv*SF z0lI)XFnuwMey_^i+hEG)><*FdhwB_@*^``0AwOFi3 zN=Q)a@H`$zDm*Myje^MKh6V?#LDP6$=X;yg5Tv|qJjN7{^~BQ!;Yw0r!MJh{zxhTr zINA8y#;U=ld2HNqV@IK7%M>IfCE%_J<55^xgt~R>;IT&@RKt9-G&kRL13bMvF>cIA zCCbR*!%$FAs6^lq1jpYt4&mWpxTaG_+)ibC=shrc)NnPgK9$?CV|(0w%NY3j`l3Vo zb{IE$gp!HN8bi;G1|x>uG!(J1G5F6jPpQGO1>s6kVZpdE&z|!w_U%7_tgLJ_YFHmX z{q(aEZ{x--Sh#303JMEhvy`ggL07F>Ls2Xc3H9p1ha%3#b?afKWqJ6|%&biG?9mOO zp`mK9>Z0NjEMNL78Z~Z+ciwu7nkIG}KYl{VeDv6H%=-KbweH!>Ol;e+1HOKK>NQKr z>Efmh8{kLs?c2SFwq^6V(GUgUN>Qm4kyF44<8Q?mpUUZLHC^CAjm0*tTOl&id5S*|=Sd}~zXqcLUw`v0qNALH&+)ZHMw+HGc)?8RUY*!@ zBquk)(q+rl@+|P36DQ)68J|;n8jt+Ed?k4V$+c(CUNu-XwbEduw39Ya?Fap~L8VZEv;CuHAdlqgz*1-tghWvCtJw{R8}wnwGA127+*G`JK91RA_&^Ivmj&0NggT%KHI?Ie3`{j$I3 zeSYtQHnHbk-iLoCw8Ripzx+8<=Qht4J43{C#2}E-E!UbQw6|VLb_x1Y9FE|*>bhI$ zi8EN0D!`|O<>v$ImE1yidIsW<5q0LC7R{|6NUD=~Q1_Nakv)F6jut4Jg+8d8pK;T!s z7cBCCql;M^K`GG%r(0F+a{PI{(DKae0-Y$!7!y4?kRU0*|$QsH^DZ2QbuXp1Kt35ZCkLqz_EM$I2Z#Nj#HTU%?Lm}RYmW4jb7 z9v(u>vQLeu&3tFab0`HshDnfhLv(!rEQTi~k#}65AlSIL3)u9$MX^lCe|uZ9Y|n)dq;xLZiCdb?)LCo0O|Wcn{HfnymGI_5$c5^mHAQBj(8i1P+sTxR9(lzCo3h zTmbIDW>x*7uJKMan6#XF^tXwD-i5iz(_oABk*w_O>img@amlDm$1WZxOBf|TTz7IV;HRZJNodh_1yc}8UoGDhL8AVthkiz_R1}`mtd@I!`aGEpp zG@Y+C^;!*l4DI(phEf1dsT3!l$cN)Ar@{?;0|3q|L{sK5+(pbbEAF5Atv^o8)3r`MMXms-G0>dz9^)FuzTyxcLYihU&cLO zDP}Dawl~8LG6jBL%z&#%6U!4t!K+Z95L0W?^FaJ`LRR;yb$t0BQ&Uqwh+<0NHLjLh zf3w*on$AdHGrr&P_qQDfgG-1xQh4vU9vI6LBVh)Fp87wsC8&?Ou6S6~vMWQ@XW|fI zK7T9qZvk4&ap_F$&>MogSMwYy1nM#fPKL-MeXO12fm%ci zBPF8ODFnIGPZEn%#r2d!#^M=eFPPEHjug9y!{yg8NN)qe?(lX4%oUi6-P0U(xj5NF z64M-&y199avz!wBLzzY_1v066h<=eoG=&ecFH1Hy5f@Yd-1wjd z-7H#A0P~le1xU`qg+B3!>;U$(_jBGF=_P~H8Z3<9)`qB$0(M>pR2STZm@4}^J@GFT zHlo~XUh9huH>#` zHu@g~00>+U`@Cl$?LWgJOm>Qzs2FcG!}!nMy1-}HaW;#lg80VvOWaDyK!Lf^0T60} zvG%?hbAuNnADf^(h#<{$pj%6TF~O2 zO+BnJu9^eWi@QV26sn12e~Q2xPH9pC4zCqcxZ>?QaE<{PWOHYHV*dG;0YCrMmR@nKZ zkRwsvg5A~CrOt8*_SJFj(c2WBzGChLVq;!ac?mIzbH6=SmgiF4_oQw*uwLZ#M8s58 zIIxmXkp$Y%`{jr6EjQV-Zuw(^f3w8qg5lNPk zczo#XZwKG>seunuoH;~8L&NgiD^hHuowjEWeXYNHBM*YS@xiwJ;M2oj4?llC1}BCH zCO>*WMP;QFw*|PK6_AJC;>SovMYBT;+F*`e^YV?&jz&TjFZmXxIZ^qGB%Nrjn*6t# zZQr+LwgcfzDgSX7IWXsDL}e8}9iw_2%_MgMb1N!}*SE)<)y#9e?KBB=5^{=77ESVy>>iAuU+=R$%!~QGjGhi9OsS~ zYeYu9h4!yT=`Mx)o(uG4(a^}ZxCU;gv)f*1eqFmLCksyD+aVbHI^Ib4cEcf@Z*f=y z3Vp&TPj8g65?(;>`LPA=sDI(bQ`MKn{=^viqo(y?sF?WqO)J@;^+s%3XY%KQh*CcqtK<5jYqPpl;BnS6j?d2*x0?dmTGjLd-_*|)D ztXRvQw-DYp9B)a&U(PK)iwMtt=G5a<=ooIZMR3orY2*#d(y2_c^SnKI*+*1%OHx0F zN3o889#5E*mh)4$_+iwuTXuD~p8^FRfI(}Poja%wqXlKJ8dJ3IHMr+@BZ+#mv!@)$ z30TWef|W%j}je(8$hL;g2)*J zTwHAxqtCA2MIi6*o(qW%|S%D*_@JN&=Xi`>_Ge1mpR1?WupQZ^`(_MFp*Iqit)Ll<1e1G|C z5#DC&&(mN{mqSDU^neYFzr`nDpIgmlE#kgy{A*~}eUQWk(IgH-;WNo0eLVvL4 z=j@1ax)Tx6Qkj4`NX^;$NPwvS)+%Ey{&rG0%PKI&d;uMxGV6nCdrJpQGZcnwSkeug z*r5dBw4%HLl=>?Vbb0)q|8?sECBhVPRpahU{rNuhrJaoLZ=V_J?@S&*e-{@R9}xMu z;-Nh@*e~$jwB>6)HtH046p-otz)v&CY0ipu)ncM-Kds;)0nV9_i4z38CKGK$0CJQ{%yu9Sl|9J@}hDV z_8NRra7$`6ivD%#!C6UNBD=l2ouMnq6oi|xZiD(Z5*%u6I8JfLi?>yN;heq9m9He4 zV!O%geo16#^a~z~+m$BpB5+DP)?m!N>I-E7I0ZCcZN za#&}f^AIIsM>cn};D(`!^d@fJhD zrqQA@NU~>bS+ccVYR-I)^w7`Mxh7I1}D5sZxm~IAck~nJUx_-s-x4r^4nHVM-l) zNLYbe>?tO*O@RbX%iYbHqzFDl0?$a;`=}{NIdvvvMTj2hpmeVjOd+c5RUBgybxL&T zhn^OSx{qR?=eB(&oY=YIeI$&A3<)tzCs4YtD~3-_#4YgMUnItgaWvt6z zEUZafv~11ZY;SyM`G5{a+8A6QMh03!KinS~89=pl(2aAp8~t)Q=S2*(%x&A)idGFB z^hqUEL`DF&b09PR@r_D#Hy%KL2(CeeWs6qiJt5^iB*T`P2TA()0SfK{t^>?uJs})< z)4QhQqUDDy+Ua<@j3{ugza^2tGKc@V#@+bx)pL$Y+;l;J8hqKt@{`AH`E{+sKN|3P zOK}oC@VRLAEt}y9m$tN8c?^hNcE3DKGV@>_Z=Q&^fL3XM=uMP~O!DNh1QvTjdhyw# zjt8ZhCl@dQal;MTP&GE1Uy3HTwlu58b?e3s8`2Hx_N5CMA|JtjVR&IlNb*T*xbefI z*}Qc@on>5IA>VuZgEpUX7JuoqK-7g^aC2)~NqS)o#hd%eet8BRXc?*%rY4l+3}xhN zau+cN*lg(-=~b$ z17G4JbZJ+h<)_xiiCuRT*y~$gBHiF#YMW+|iqEcA#|aXRLLa-TfI`Z(bPXb|6eJ=P zv%Bd7Zv(5#lEVk;pT194p6tvgnUs8TpWqrvyG4+t@z^dNG*HI;eJLyI)Pm~!Lh56) zToRaCX9chhB@1S5@^X5KqEIe*caxV3NzySaucW)>JL6Au`58pR`#AgYJt}CMNHZgi zZgKrfgW*|d4`fi^JI*@B8Lp2}e&WVSJ)q6NBj zqXOIGrWZfbEkhb{<>BM)y_WUbdi=n6F5u+DneWG@FR}EX_$3P{kK>`@tKgjbOI8LC zIpw>`3!{Ml6VBB)1sH+c1N^Ei7j2S5_g9aoCQr)9A$)HQwK!vOSZ46JX2xvg`E~KK zI>Ri={!l3jLU{N8epYw`sU@xE2OfuG!r_kCf`sb!CHV3ttu8-A*qV}{kXNp%>d4a!ir@d?6`jwjjmKY3kmYc=y+Pf#-Gw<}PSKwl5`R$7DI8-VHd(Ic@egImRVH3^rvLx!{ zWH7-vwTx(WbF+vE9~U=JNP>uvFs!76FaG)!noJ7< zDIv(Su4GzVTt%)$`S}y_E%>4p9s-kbbxqCukqsLImed{u`Z6!?1?ucf8-emUc5&a6 z%XuH3ic3VKv+!qG&`64(U&cNhuo*A8#A6U!XCr7v+~2FYqDR#06|ftgk3NRc)X$#u zbmXn91$Q0gYP^v(C%3w`x%{rd)nY>|UmN*v3`TGKuf%X15!yNvvR~7QThUzosbq3m z05q}d2F@IP^HwaTuuv{Zee>30So5^AiQ;#oU9bg0=fmL8H0p*3eSFEu3mA!_lpg39 zVV}QTgmjY8I!2d7y}i9)hdfj6fr=~wjkvlVGjF*3R zRUUXV+_*h50_qkM`)6rx<8nYyo<{rv&dNs0YJ$qW|9yCPpl*HWciz)w&W#-lA1z)MOsTWP(d#-(=Wn)7r1|$D_umG<`fl2MLtJ@Ft7hP9mg_AQN zAn)fVCnpo7rn1*y$F4}aJo4SYQzta>_4W1f@y-g|uJ%Vp=Z9Ap<@~PXyUO*xm>Z(B zv(33Qu&MZTGgmmWVzDu!vLC#7hnzfG9 zR0rxhxw$#|=*RkMg8@EWVa>4az-FI+M7(Y{M30yWf2*Kj|g&K)OGj2n<>j-LbSdR-Tje$-%I_)FxBNQ68W? zY@iO@EYT*NqxK*Va{J$3H5Xo5n*@-PlTXb=23*L@B556lsS-t08;c{JI2tQC z<2E`@m92qFlj5hF+T8a{E+UhY+AeZ^Fx9%Kbr}f#w6+_P5N_;m7@3yV#=dht!{@vn)qGz+Ds6=a_hCE#_edhLUc=B(1t5U-u`}WP5lqdl0 z<xjg(_4az#JAE=>{fJ!j)43m&)fQzDrT0&(iR5CsStm8&Z{4r24CeAdpC z$@!ohEguf_Su&%R*He|C_*XACyuZwjlU%~j&TupbnNqQKvh$lY40s`*!l102z6#si z*uQBw-Z|+;UiG0hK5)N|)0tpiFnVI#<>GOpXYM#&v<+&gOqdHE?dPPw-3HzyOZ-hv zOZzlL=TEG)>=mV1AB-y4Ir*EZ1@@ic#>o{V&@li7DLpe%QzQu~X+^pvU~gKSd;c24 z${qt{8lzoPrk32t;(r*jC^GvW@I(cGV&8RSx3k70kdJG|iHyQa&@1dUogp!qf(2&b zgkC3QCE7G18yqujPNJTR&<4{!ZFoH$_D+S zK>9yvu}6e{M2@zp&R^FKFHcsfKK2g|H9!9+9oPnLV6bLLqpqGX*u99)%Bs5M2MW!? zu3-z@IspUb!!6vpHAY_|^A`op^+NYb>VuA*Yao4h=@{>?-m{578 zGDTN4ZcB43zj1A@#C1F6!|3_jYt=~pZpZdI^W@i76FqJ}L(E)bWsQ4)Y3VBpWn!Mk zFkXrJCd>8t#l*d?XWC(Ziwwpt!-X`cE7!{MsP7(|YH`|2{=D8QuH;Y}v?=y%q4+6P zOOoOn)wU0{0CZ^mhl*6HBtjB(*sNVr*hg<{F~)1>^FxSWGzZvy%F$`a3r^#@SqJX+PB|hS|KXgP|j?>(#@z4!Xs^jUKI(ds+kFPCGbw ze5owVpNUy7f)y|Jsp)P6X#RTRow@z+J6ce7UiRL*dtYQ=Q^vdy?6+txVMz>@KW&>q zQJSx%zxxt(o#s%FWrraCKNuPp>*8^HF`mq`|d%bM&k#XHa7eqBnMG-!1f=~Z#zqV-xU=D^S>i_1sxs#< zfj$|}aROpb8SsL_B250Tju1h(|7%g(w>YQWVhXI7Rad#YNk5Jf3HJYU`X8syIKMHR zI7{ng$2mMa>~)R|KmN`L&joTU)nzg&pWwl>^NK)fhNh^fh;S=b?675rU*M+BbzAl9 z;whKzYMN9)7p%)_JUfc#{WLwJLbQ6$k!G55aa6TuqonOetaY)+Rfg^FB=nmdVt`Vv z@seU!6QFb8Bq;eUzYcz6idya2yZBl4eiq!;7?UmGvldEWq@EK$bf4`?-7_kmi}(^|*k8l=5{MGb?xZ!w1YEDv+xpf6hCy5L_27J+ne*w6hWN!s zVl{i?Lps$FiR)w^Hg-%fawUsiAoLltZl<99jFHc`PxoyXH-Lieh`a%dq{b|D08(6w$+GzpKA15?+^U15vzf%d?lI0u%G#`Qb|Qwx4n z4+yQG2jVHjuL>2Kda&|}pa1V`^8XO8af2-H{UeHcjfB}}sG0%|hVLoKtIAc&m<0V7 DWyQzD literal 0 HcmV?d00001