From 653739e700122dcab111f130cffb367dcf6fb4e9 Mon Sep 17 00:00:00 2001 From: dabzpengu <97381253+dabzpengu@users.noreply.github.com> Date: Mon, 15 Apr 2024 20:24:06 +0800 Subject: [PATCH 1/7] update parsers for Add and AddResume, fix some UG formatting add UML --- docs/DeveloperGuide.md | 20 +++++++- docs/UserGuide.md | 5 +- docs/diagrams/UiClassDiagram.puml | 3 ++ docs/diagrams/UserDiagram.puml | 45 ++++++++++++++++++ docs/images/UiClassDiagram2.png | Bin 0 -> 54695 bytes docs/images/UserDiagram.png | Bin 0 -> 29550 bytes .../logic/parser/AddCommandParser.java | 2 +- .../logic/parser/AddResumeCommandParser.java | 2 +- 8 files changed, 71 insertions(+), 6 deletions(-) create mode 100644 docs/diagrams/UserDiagram.puml create mode 100644 docs/images/UiClassDiagram2.png create mode 100644 docs/images/UserDiagram.png diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 9c29130afc7..00cb6ee1884 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -70,7 +70,7 @@ The sections below give more details of each component. The **API** of this component is specified in [`Ui.java`](https://github.com/se-edu/addressbook-level3/tree/master/src/main/java/seedu/address/ui/Ui.java) -![Structure of the UI Component](images/UiClassDiagram.png) +![Structure of the UI Component](images/UiClassDiagram2.png) The UI consists of a `MainWindow` that is made up of parts e.g.`CommandBox`, `ResultDisplay`, `PersonListPanel`, `StatusBarFooter` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class which captures the commonalities between classes that represent parts of the visible GUI. @@ -224,6 +224,24 @@ according to their respective categories. contact list contain the keyword 3. Return the list of contacts which contain the keyword +### Add resume feature + +The add resume feature allows user to add their own personal and professional details that would be required in a +job search. This feature has its own UI, similar to the `Help` feature. + +#### Implementation +This feature introduces a new `User` **singleton** class. The structure is as shown below. +![UserDiagram.png](images%2FUserDiagram.png) +The `ResumeWindow` controller, that controls the FXML file that displays the resume, has a reference to the +User class to retrieve the values of the user, if any. + +#### Process: +1. User inputs `resume...` into UI. +2. The `UIManager` then calls `LogicManager` +3. `AddressBookParser` is called. +4. `AddressBookParser` resets the User's attributes and re-assigns them to the current inputs +5. `AddResumeCommand` is instantiated and its `execute()` is called to return `CommandResult` +6. `ResumeWindow` is opened or reopened to show the current values. -------------------------------------------------------------------------------------------------------------------- ## **Documentation, logging, testing, configuration, dev-ops** diff --git a/docs/UserGuide.md b/docs/UserGuide.md index bf6bd816bee..34f8d7bb7e8 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -12,7 +12,6 @@ contact management tasks done faster than traditional GUI apps. {:toc} -------------------------------------------------------------------------------------------------------------------- - ## Quick start 1. Ensure you have Java `11` or above installed in your Computer. @@ -162,7 +161,7 @@ Format: `list` Edits an existing person in the address book. -Format: `edit INDEX [cn/COMPANY_NAME] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL a/ADDRESS] [tt/INTERVIEW-TIME] [i/INFO] +Format: `edit INDEX [cn/COMPANY_NAME] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [tt/INTERVIEW-TIME] [i/INFO] [s/SALARY] [pl/PROGRAMMING-LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]​` * Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. @@ -382,7 +381,7 @@ This value cannot be modified or added by the `edit` or `add` commands. | **List** | `list` | | **Help** | `help` | | **Sort** | `sort` or `sort rev/ [pri/PRIORITY] [n/NAME] [cn/COMPANY_NAME] [s/SALARY] [tt/INTERVIEW_TIME] [jd/JOB_DIFFICULTY]`
e.g., `sort pri/`
e.g., `sort rev/ tt/` | -| **Resume** | `resume cn/COMPANY_NAME n/NAME p/PHONE e/EMAIL edu/EDUCATION s/SALARY [pl/SKILLS]`
e.g., `resume cn/Google n/John Doe p/98765432 e/johnd@example.com s/3000 edu/NUS a/311, Clementi Ave 2, #02-25 pl/Java pl/C++ ` | +| **Resume** | `resume cn/COMPANY_NAME n/NAME p/PHONE e/EMAIL edu/EDUCATION s/SALARY [pl/SKILLS]...`
e.g., `resume cn/Google n/John Doe p/98765432 e/johnd@example.com s/3000 edu/NUS a/311, Clementi Ave 2, #02-25 pl/Java pl/C++ ` | ## CLI Syntax Summary diff --git a/docs/diagrams/UiClassDiagram.puml b/docs/diagrams/UiClassDiagram.puml index 95473d5aa19..e1ecb2d0853 100644 --- a/docs/diagrams/UiClassDiagram.puml +++ b/docs/diagrams/UiClassDiagram.puml @@ -15,6 +15,7 @@ Class PersonListPanel Class PersonCard Class StatusBarFooter Class CommandBox +Class ResumeWindow } package Model <> { @@ -34,6 +35,7 @@ MainWindow *-down-> "1" CommandBox MainWindow *-down-> "1" ResultDisplay MainWindow *-down-> "1" PersonListPanel MainWindow *-down-> "1" StatusBarFooter +MainWindow *-down-> "0..1" ResumeWindow MainWindow --> "0..1" HelpWindow PersonListPanel -down-> "*" PersonCard @@ -46,6 +48,7 @@ PersonListPanel --|> UiPart PersonCard --|> UiPart StatusBarFooter --|> UiPart HelpWindow --|> UiPart +ResumeWindow -left-|> UiPart PersonCard ..> Model UiManager -right-> Logic diff --git a/docs/diagrams/UserDiagram.puml b/docs/diagrams/UserDiagram.puml new file mode 100644 index 00000000000..77844c2da51 --- /dev/null +++ b/docs/diagrams/UserDiagram.puml @@ -0,0 +1,45 @@ +@startuml +'https://plantuml.com/class-diagram + +class User + +class Salary { + -salary : int +} + +class CompanyName { + -companyName : String +} + +class Name { + -name : String +} + +class Address { + -address : String +} + +class Education { + -education : String +} + +class Email { + -email : String +} +class Phone { + -phone : String +} +class ProgrammingLanguage { +} + +User *-- "1" CompanyName +User *-- "1" Salary +User *-- "1" Name +User *-- "1" Address +User *-- "1" Education +User *-- "1" Email +User *-- "1" Phone +User *-- "0..1" ProgrammingLanguage + + +@enduml \ No newline at end of file diff --git a/docs/images/UiClassDiagram2.png b/docs/images/UiClassDiagram2.png new file mode 100644 index 0000000000000000000000000000000000000000..2f9219439fbda69660893535e408f21fdf5b9bad GIT binary patch literal 54695 zcmd?QWmJ}3*EV_~2ndpbh_o~cC?ee{jij`6cQ;BSEhXJ4-CPpVA%b)_(%t>73vZw2 z_IBP#?f(270td!%O59SCvYceYtUpk;N|I1*`mp4dYKp**ony>u$|_>U z>c5qqN;yF#5J4xLB{qG1LNpL5EH3tNt299RIHBXriO|L=(lp&J!sZa^!3#$0Als`Z z<8b_Ejrvc>gEHf2C>y1fpEckz_gUizNiFi(Zy^50yU0cSf=yGVzRD-1 z*V@6lxw#Z^DU`&QcIvFCIH0vCEZOK)ffF*Mv-jDQ#->jMu-K(}W!lBO8m<9U|^9OyOewLWN zs<;aJs!Aqnp6|Oqr_>+Qi*PjOcPF{9sKZ->azc#LS~6h_(OylUbXnXRv+8PMS=rBl z{^pAr#7uY`ZHfSMF8`kX97 z#`T6zE=UHKe5!AYd8A3R`pW;f+=;;X$D)r1ZEnC*BGGW(T$k=~xw*Lb(l>}uOJ#Rn zDzWBPY=4H86*?w@A38BuX(gs05L5YsR)Oz47`eWe7I{?m<&npZ$F5hRH)* zyH8Ym+!e&<{n&}$Nt&pKT?2FVn6`dYDHq2szcpWF`So~aWfC=V;dh$1O=58^XJwvp z@jvFrEUsH6+Y+yvC$*{Fpd`NYH}wP#=?AQycea+tclXVloLRnd5qPv1w#2n0@erWx z5h=7~dU2NH9Up(7nMf)^dE|^AdTc$mae{u~>gu#_5fpNTJK@esyrBLN<(KvyRT>sX zW;Q2ZhAyISqrUymvfSOG-&i|eJKmkEUI?W%UV+qIvgP0NznFfRO_u&aVYdT|P88`& zKo&l`J6C7=3_k|i`~=OrzVkSga16o%f1XUgYk2PHzI?9FjBOBz7eq{mU%^Rpa~kRG z12F<5tDQ|WVH_Nx&FR6x^2B7rZy!>TKj`2Qq>m8<>FnG^Kt;(NbA@}e8C0M8wkcEt zM|h2B;bh&zZwlc_xS3?x&FsstJ_7?LJ;U;ZlUE7TZd$NI4uN=db|~Hc;^jpq`1=>h zPR!e1NFOjE-2T$(bN~0lO#lCVq#-ji>)G*V!J9HP2qd*RoD5h-YXMuQa$-5da~u%@ zk=2Ho&5IHCa|jD&xj9tWPy1Wroqhl&Mo|HlCrGA zbyCh7Ad`y(KYC>{G?*g;GYkZBw6w7yA$CU%HC&>(7c*ZWFETE!a|E`i+`_{{J3&Fg zs)wYpJ_%$|j9STsu)oXN23YZV{Psg;q$h;oB)<&`ER^c@=fAud!5Y2x$(rHLV0M-L z>NcydOg^2T2bM@f0$xfXERa7CSSaR;K6Y<`oK9lQ6XM0& zcyrCU40#d};2M{lERB&D=}MD$9}et-ERPTyDKEd9kp8_349ISdP#|^`yxZBnuj}dd zG^fkkIy>X-G%K*C-w)1v2x;HIL9U02wNh*#uC5oIot<%UkJQxET*eyQU5jwR=IkQD zCR9W6=Jv}4N`(sp5HZm(;$_uZ{~LEih?mao+)l_*U|;NRY02RCMil<|kX|8IwotWF zsaTWV0_F{u{4g7Ai{gOALLmKIf2;|C{694`1m?iMC;lHd>h?!QTJnd537Dtzong*< zUEX>r%-?P|<8}vS2UBu7D} z@UsS-7t){E@kPuCeWjbts$mnu%y^uiqm)ey!9o4ct8cXoKQgu7rTB!P$}pJbHOwp@ zs0nF8g>3?CimC7TF^Wwqd#I(cYYx3ka+9}EAVGeAW{k6wG9OYgaivsb8^NwQXfG8M zV{+pvKgnT64Vi=c<9xDQji^X=oOoFj{5iVcz{gg#W}B}5e&p+6@Zn>nWe^h<#c@BD zDYQ7;fe^#C<@Vfbewkj$H7 z!R#Z>9h{GI`%TG9Rx7R8a_tTZy!({t&Z>`AW^WV~-ulsaUtoI`=!w|YGOyS!_* zjB2RK={v*i+2$lY!b%`?Umj-vMSJ5i!ge-v;yyJwbQqNrf#FB^9Ir81cqK=!DJlH1 z=X_h25ce2>fF-jN8|@X^-S@a=?aYUaY)D3simU(~HE%4+)FhnrVw zNK_nu`N2iG)Ut(7EjnyNtJ$GwYMd%Bq|T-+gWu+p;k`C--DsXZD7}H9DG?9G2Cn66Z>_JSp~!8hipn_MWt!^vp9m@0 zJ#17XYh-}AGE;hRKW@=0Ya}}^%_l3r(O$@I9YV;^Zt3c-ITfyhIsY;&1Ko4%>$r6i{IlgHP6R5ssG=~5!07J?nVb^5iP+Dh(w#dNTY9Tm zEa$Z;EP|v$iz*IT*V4)^9{2@aqmwQ4_#Xz_Rk0vtYQ_Cu2eszqHQLZngU$W(UHl_5 ztZ(#ObYc#lwp+L^ac<^|E6=COfY}zZFGwu(o!N&ruYJ-z{P_aEiSS~S-`lDPIq0Bl zE$d|`J#);`%Bhk2%4fDu;)x0Tl~|*}#~X|8gNk)IbWt}&Pjlg5S!90u4CGxtugpc>kY}4F zhAEE%XvqY_)k~&k)>jv=7I@%f&?h!csJFwX>B$=m?EO*juh1H&#dTOHm3MTsIFkrz z&-Tl{wzVn;Lf;0s8Wd6I-uw5st=cIDczfs9%r7wIZT#L&6ui)tWLF?|+UNn@EkQBmM(( zb(Z^tCFF2R7!}>49>lx8?X}42;M4eCBD%5-PtHr#a(mob{jMFFGH6@t=*>)kT@R{FkG*(ThM z&ccT0jt*H7!qEp1d8wzkNdT5X#(Z#TY;vYJOD06+_GKrV{!IMZYV<7eG*Io~$_$8$`V!Zn(l(rqhC=XB zMc<+M_k#BqbwhTv$NtbC;qbqTGg3|_2gNS)<9xe1{PY5t5~V}+*2|&#K1;LRVmGCt z=e6qb8a-J~Jx7WkT8ckzltbGPUS3z1?cNxw4Oiw3>Aj;Lyk~yFp%$!e!r5VZ9!YQO zNO-abwVKn}tu3jR;S~`MphobZ2cFUR3_at{dsv+2=iy_X7f9zHG{k;2Pj)i7-uGIZ=g{$+Vp!HZk{^dKXW zM?QVQ$<4{c1x5MuG(A<^UTtJJ&dvJO$H_1YIjWM4rIB7y7Em?4bl*bge&E6uZ})gG z-y@~_+<>xHDBVx-tR3D&?#WNjs^QgT!MvR6ojQ0!M_ZNF*s;FP<%nNlNcEHbqhYf@ zM-OJvpc`?Kv|ql#{fwMSV90362-yy)Au3iMe?dlf}2 z8`Ni zpSbmU{{}SI@=jg*#Q{&t%@m!qM^ss?^Ha?ewOW{bFsygliPw|?VBj5Hb)L3U@pP}X zOG$a?V7?q486#labkzT}qxjqsV@#5^)d}yyquj+xOUOz&HGixU=Y+mBpbg&8ReI9O zsB+d9o|Q!1^<)o?lTh!r?uc-0aQO#w{M${RnPzAd)x#WLGHz3QJ)ycHzFUqeIEPFFCA z2(Pz!C%dhCYldBwfejc}=Z`i$+!@~9LYV0TMU>mryml%xPw9VxFjrYp(ED-?FBN3g zNv##B)`E>RWjFW}S3)aWP2M(#WHf!$$}dN>wlt%8yD9J{b_sf1CTnwTJhn97QkfUc zTTLC1wPEF#d>Xe_7bw3#M(*%LVPyYG4Jr23Fi#e1gh|Q3W1Nf`6>M6{*sXexfzdH0h|l!9pG9W8_zp2fwTSEG~0yO%RtA}j?aD$)fS z4c*iB6JaJ6)kaO-L?6*pW*u+FlUkP$j=M}?#fD6t|C{I!zx@J1!KrJW8_tP-)8t@H zP~C~3IDVj*|7G{o%Lik)N}ksDN~5r4b@ZjQsImnU{n z`D#|^t4>ND6|7c@a(Sdk``gV0`FO;ox9>HXYAYwmkSxrc@lGh~>c3fwjrb&I4X2jz z1h$IMjxD(XUz@X^jHM}-JT+AZtudf&{6ngilSG=mya=pZ?bG`nlj5=pN z!>GIf%=+uv3R&+!tqB*2jsTEYL2o(0`S;%-swKcDgqb~OVmx4{iZqvns}QNsG%E}T zzQ*f>wLnng*%ea@zjC-_g9!h!(1AQ5M8mjxzJHw{O?mOb;#f`|1eSU9NkkNpe!I;( zRdQ75L_YN^`snoU@gulJzUl^(e2Rg#es>cRUHhIFPY?0|duLbK(|B4BP} zyU)+RZ*G^_TF-60Y+NTmgiT73H+UZjmPf+vo)<;{S5ve(_*Mz_f-nY6Od7YF_PRMD zE)nx^x2^-OIt}%lWm7o>+b^c&ai}eR>Csp_5~IM_%xx@^Uu&T${_VO*gO63lhL!Lq z@31I7r=PcXqMwAsui8p3{p@M5txp2m{QUVKIOqx(q7O!sBxoeQPfkN^kzqb$kCEZl z^1GgpG}Y5qR=b;-l_Op8y3rbs05?l3}(gIaTRK3?U!9TL(4EdpJecUmNFWhDB7D07&Rk6 z9{9LhVh)$!$GEQ5lJC}5lm#=>7Ia(x)V4}1`M)(Es9)v#LMx7n=!q0f<*d0Za^zyy zzMe4GXj*0f(@;@SmzhJf8hMcjm=O1=Ap6Omnp`%Mx|rk@{@a3+ z`v)~XZ>!Kqi;HF&mrBfDpE0yehM6=h)`SIL82_;lL^kfhXy{{yr}b6`&wRC-vArlL z+AdCAD+xzR;vA$#2KF^{fv{a zz~fgN#PFY`I#W_n-%p-}^3T$dX`hU-KxVky@Hx!1dAlEE7vkSg9=}u${0Cb=_!un7 zHE(oJ3`YaEcsqo^8ZTY<&)@9e|BC)zIlApA)%RKy9Cbn11i~F-cQkTm1TBLu;u5uj zvAre728e#_DR17j$8CYT=OQZR|T3;31 z5+aO%^HP_PkV%;1CeOn^Vp}rsiPCFD@4bAO5Z%3bDDR9r+l1e5MO$bM{MoudqKo7-xatl7?EvSR^Ue z`_K5!mEV{nowCCi90ROZrg_2|$8Gli|-3ax})yl%D3@UwU{ux0DBgLa3~L zOq)vQAefjDc+qJ;Nd!r1)qP_NDqV)n$8tLmFILK<(b4hrt|nC(OXJQ6Bnp-TW!hzmwu z>Dmx|RrvJF3^dXla>{r+y)S?u``P0^vTba&@e>Vy<^Yioe_I7@L{>_mqIM|GlM{85%MSkfUxJrW{Q36&*TaEQ& z;;P8=urU7MzH@5;R)$E3%lRSgB*dg`bTl>+q3Re3W;s&XjpO10)~B^6hv-#sd`ZhJ z%~*j#^@(*8KgzWU%HCv&N4K^LRXrS%a&f6kOCwXefWMt_VpIi=zrLW!N&cftwn@fu zxFH4NCyAY_GL^26&Dhs_S@b9|7QIa(OKBqj!|qk$c6!;cxEiBi^xhm^*3v3P!!? zFs+Ml{%p&i0|H9#6B!@d-Kk`di)j?!5m0o#yk?Bp;jCgQ#^IbOrqq=;>3sa_eXtmq zkQ8$W_Y8K+sQXC^-XBlh-N%va+*-Hikb0OMO0ayZ3u`y;dx%dX%kFR^~)Pxnkru;K;^nYB3XhZXCM>myT3C!TIq&(8%~dIN>4-(SxHtNK4T? z?r30GKO-VWD`w{Xp8IwQ&ZDH8#%d$<(Uuv`bIHE$}9nA#VT{QVrwi0h>8#z3YfzK$ZI=Y8D%cpf7%_T z;U`-0)Y)^edP)YtC`1ZIBY5LLVj`-z8LpMMX&{7459DIj7(VtQ9NHVBC?0)PQg}Kvi zGW^z$)>2T%9gF@{{xkt!8noS`qiDAne}B_(c_jRq3clO4I~YJT^~54>2OkU5Ay0&}{gN~y74?NyE6q*S zC0;M&*Stro+kCTcR8&-tb9>jRr{=G|Ghl5b&~-scyCE_b78VN&3s}L~!OAFTFqfBq3>j`xjM-DVO@=02_M>tD_yZ7LiUw)U z-bG$H&Pb>zb`QLg?AhU|A2vylS$v7`KK#$~R4>@A$C^EkTnMH;9sJGVF}Zl25CS`V zbpO@gJWzO0F+nESkI6Jc2TLz}NnbAxt3s}{vKJ>`CqF`i=%56`a-PFGs@FeCs#?+74#AMTJ7ieuYx z;ABRn>Qu`q4c0}O+$3m^%5`Eg`vq4A-9aBW5pT}~Ul%~Qd$-bJIv%P-IvGP?yk;yv z)uB*6RPVNPXA%)|lQo9yAL(P06trshEZ01-Q32|vItyCDy`+nUPe#eq3cKQPK-Usk z{C@l^Qz}EhU3RLnjn?Cvv8ywdg;!t%IUM47*~rwMjI= z(>yS+4|3$b9x}j;j}Hr(oIG|wv08-&DQgz>X`#HgEEz;9*iQk>?98QS3b_q&C{Zi- zzwI=`f!&PedB>=%1K!PrZXSuE+=#}lU-;Rdk5*T~ck{uw;c5E;~a zxq3z19i}dzg<=lxl{nAYJn!lz`xwM{aw_Y~lHO-!pl+>t0}2Agt0Fom`z6d$hi}rln_hMV|xb9g~lQBYc6%y0kUPr~0bC&q7rnq(^(5fDYX&^umk|MSrdH$H&hV#$0&8%#ls43Hs@n@8Ubo9!f+F1a|^=|2RZHuOiVyvjGqVEp0VihzDg#wIEFc( zSNr#VdvQdd$NH*_Im3C8{MT?e+x$wflau>w?X60jZxSBl^k0^kC)U#kso$$RGBo=C z{i{oXR&oP!V|29p!5DPH?b-kRwsim@HWnA??@(D}KhBR0&7u6bL^`l+e|QkHQSf@? zaBAEyS*Nr<4hOh{&1*&Toc6;d2D&pjEQsScbdUz?VuWNYp3tFIHlwcA%u4yofDh{bJsL&$W zNhpeR-d6jFDRQ(fq-j-7BG zP3v|nEmm_9=BdBy>my5DO`D#n6nL*^02pFX-&^Lu%Nr52+~OHMZDlJG zBU|*Q`yXb@CQbP8OO>GwtuaOCkZfBcdiidvy8zErvb7CP<%spL>f=?R(wfu21>YXV zKG3`t!)lyPBgPrAJxarJlw@IDh>_vtY;HS0WQ?VgUHe))e}z$P!!`jLzk(PJ#Z~Fg z^`9}9)!bZ`e_}x_OutOamMFcuLPg?S)3JM@{6IJKaGAqt+Ai(db;t4-aVYmdnBPK7 zEiV#8MNR?i$DJ%B)h&+ zqZjX19jv+KY4||bSBxh@?fJ~xF#PatKZ2(;ZmgHr?#&l9)rv8Anfl$_pd-(0$7p)W zU8Ch_Zj3IPL72TBBrs*OGu^&$-jO2E${T1=p&EOQN&lT|x#Z}Wqh*IN&g6PrmY#0y zr9PHIIk!{&qBZm;tnoRC?=u=28gUwZ5VENF)w}KK)Qd!n_pt5_#RtE81fZRl%WE+S ztiWrM<&T29X-Lou-U-vwD;)A|e>in+h{hv5&o{4!oGnUlz6SBP`#@rca0z1 z7^%K0IqkAlq}zNwKXOC{?^GU755Dlvpv?F`0)qCGQ6?T#QbyCIkIR zcJRgBbmva2SWkM4yJ>1(Mzk)%^Tpuc&d+fogi!z2pK%zdc+Q6}@DvyjQ!;EW^KU{I zc@&hkG^@r8(WBo;AccV*k)8($pl0&ytWKez6{BFHs*HKFqoFSFMK3_|W&|{**!ScG zPs&QWeooy~+8+7MGO`{n^vI(W|I@rKiq(8aJYqvjoOI~he8oA>I^jBs>zKMcIX{|v zEuo_q5-n`Yrdmg%k;vZPxo}<+^~lvV|5VHky(-CuOA?xsz7Il)O-5Kp0DH2Iwn&bO0RYYyxvE ziEZ=lI#QFbVO}oD&n7w6|KR2QG2|I^vpcHlZZYnp%WYkM_~B3xrJpEla@xgFu?!v; zWrTLQ=5jyyu)K^QWZ>RjSQvfP6@5|T&Ad_pnquv;NP&IZ5zt?J=jEi`JkZ@HJ5l?n zk7q#WX%m32wJGfMXj$2Xs*QzMg;52ARB~UGttKXd?{_ldTb*%tx!7tv-bv&IY1Q`^ z&vi0RUf(R+r#p^NVfcotusgm|*aPzdT-Xz!PjG1q{uyX4hJMwyN?jNFE@*LW%Ik-S(jn&BQb z`wL%IGZ{axT;0$NN(ZN&Q@$U}N{OB}>L4b0>uPTe0=s8%u_Ud3O|oC)Wfl`9wmLT@ zyqIy|#~(7d7|S-s(&8@rU&|kS-fQ&eLo@o-<3Ohenp)KwR7H=oa`O;nKp8|MdC~-@$tQE^Bw! z{2xxL$;AO(ibR?Be6>WZ$s704LaE#J*(*m+SR1y0SR4hzFcA<|$YyCernR9y!HR0Ai;^v(uY zRS{|=Q0g%r>RW?Z;!qp}2z0BQlVFt>!3!Q?@D}P*p7cvhX#0R>=B&#OhrycTl29ISKZJ({lSh zDK7OPs%Vx%DsYu@etgb%e6K-ARI85Qb(*KbCZ2=(`v@2gGNQX=AbvJjnri2=%PmNg zYpELfkk0<;w1r;zw*%L{BZvLH6O^y+zd$f>kcMMM{R`3YX@f&VaLE>senu}^PYd@5 zI#2{Sg08WVD9EY@H21h#ZObZlFYWxrQ$KkU63;$R!@il=y_|lDb{*z<_ZEoNjI+6n zSDWSBc$QOKAE%ZHs{k^%oI8ix<7gKY1wi-*kZ)X#3Fzj0g0-yufgfDG%4N~d0VnZ@ zZBAt8?fU2VnDg1sh_cFm8OTfhbocBkiMkqWN!`(yNYD;#ceVBU$Vh`R5rH5BPl2{# z!|<*MPEd%t3AEGj*iWzkBXL^lUK1dn$9x_+uyy*a%vS=D-x^!pvIuWj03!)SLZ+_1 z_QO3ND^`0t(2Aa{@v>M+??oKVU^SEzk8DjW)%4@##j`W{H0!c*B!Aw!{?q1d3raTS z>hy)^Y<`S9r;Ls5+wwkNKlj6ZepQ#p7kZHBj=$=YclFo1`>LJGf-5IQ(>ol4y8Gd0 z?sdTz%9p5fpb)1?Pv;Bjfur%^w%O|s=`SdrX?%zDfouF>NuI)mCF_eUPc*2psbi-l zQ`M_jI)IiGHDk0m)LGP@DQ3K&EKn?f=0`0BzhN%6R4U7n9|d~Q*CQ(^`i+1poU$2m zty-x71PSfWB8VXpK5D==h#dp>x6xQc-4yv*u)hdFZ{{0;9ffEbG1{^)Ix4LC1)V};CZNr2wIF1;u(E^n)NwFvq;Sv;%) z#oZ0}S$5a0=B_u3`sDMkEKylFa||=x#REW5o5WSRQYsa}UVSPL|3RNnfS6E}He{0gfE4&gAFd z!S2lhP0}}U*pCLpY?gr*@;$o*--X^gY zH_-Q=l|VNNG)HQ;R6H*8d8K9UWc}@0@oA*NI#}HZF_vo2UCv|=x`?g`Wxb(q_=pHv ze(2udSC!0yo}b$#ci$A(-qI2IIPbWR*2gCjHxm9iplvsr$}td8T2t|OhDI>z8_(Is zDA1)u_5Lc-9(Gy%^*lc`___jgn13v)#%?L(DnKn8JyYd|(+MXT4M#}qicRHdEoUj7 zO>n6dOT1XK|G6eBJDN#T`0N4!Hzqzt+_}bb?plBHm%PpONk1Y75vm-6C_DUCmFaP9 zA}GSkT#k()K}~-h>|tTJ)-33IwNRJ7y?AN<_D1q}D?_B=iXy(xURRO)fSohL7;_^# z-2_=iMI=1+gU$n;P>nrXRo2oS1ACUm*H*IKe!bF4;bz>Q&4!X)Q zTBox2C){4UZ!?uizF61HUf%U%uXUpi`Eqe3z!xdQsH>hj7^h@5N|=5Qw8agl`K*`)x_{r!r|ZUJpg%$H@r&9}sM+(1KP2vdNh`8O zGU)%Z!&bG;A}iC|*kv+mL!H9^X3+yM_ems<`440FsoH36^q{{U6`Fl|Um0Vb(8sa_ zsW)32ZHbQOJ~ECTr_OyT?j+E>P0Uqo2>Q{yh7#SO6%98Wxgb3cjs(v>ELq$BG})Ec zwK)j!@cWBB=@!|0;HwXs5~`ao4T0JLWOJQ&*;z-kAL)|oh<7)8AGpz{jx0P_G~)a* z@w{@n(*Ou&5++8{B*U7&$-E&MFOsX_N^^@{h}}jkGuLX=toQ6PQH_``2_dV@LKco-sW8bDh~>6Fgh4O z!@soeCl2UTMBxIjk;K2Vd@qW=pL1m=4bAWS&SI6}S)i%t9wqz|!e24(^oWP)@-SqP z7-@=zgPCYH+fUIs$R70O9Uc#wd=Hv0aA4#Fd8H*b&BXm2A%K#iEv433Cv?S9#RN8E7c_{jh3-_mV zpgDNt@Knm$xkuY`>2gcxv)B6}j3ipa)bH=N;w28{3QqcaTJnw$7ZUF0D`xAy2cYHg zae>me3MZhHFk2blN{;xm#1d(TRej*^MvoC<4*2K=8fKepMt_>9b zAi4JK#vPi2ZC<$3N*eOlE(RSw;R@#Y0X)&_ElVcYB%E<0f)z^xwd$1eWwSnGSDBrf zqg4?}H|7gwSwozhWK@npYb0!B zZOQ~pkFEj0OQjXAx+W3 z^-1XddmwfxnyBAg)t?2em(o5sG=aVCwmI96ZUzaVmhwgN^XKk#pqPd()?iQunJL$1 zW#tfYRp)rO%pS5N05dx9D#d6;Z|l>(pwYif09ydswn%+DQqG}V)vCH&o+n=-YpZUu zTFkr`+=7GNmbz;Lyh3nP+~Ck?3gbcrUu$|g1^U4KZRA3rMFPi^+q6Z2AjiVqobC;& zVsSMVec!%a<|;kKrY5m;3gk!tYk1ieFUIV%DN9;Xve+9Jg5bAYR%%Vz>eGSGlxa8| z$7^dq;|>5>3$_Xlo)@88X>52O`aC?9m2EV6h0pbfh10yEBYi*=H1iht`D2x!CMB|Z zUn3~Yu@uAIBV~*1wF=dJpu)4j7`t3uhOc5ZLivl5y(DS-;FvOXymu16$ucpPcDD^5 zET1#PSQw)oy||v(g%YDW?yh}Qe2mM{b=LCaLm(FXVkq|o6ecZrN3%9V2|JHsZGHg2 zzUIIn@NEi&k#PgzkD(v)M|1Y~w@}9siNEj03BAv=VVDvdWc#6yV9qAKe#t=iy6?52 zEApe*=ieuuM@wXZmRFU{X4#nGkGu`IQ}-yUzmhw$vYXCSWq1$hEpk317%*`n2fDd} zw^3Ph-+`0^R0;D@Wc*?hG8q(B%b~*4)Q*{*dD-^9z%$NIU3pv&e75q90Ot%+J%}|j z{9CPx8N`h)oyT*cyoNmuKOUOV^BTF(j%PO|na`mu^Mb6*3{#eI#U_2UweeL+OPg8) zwMB7@spvD}F`(itbU2I0C}IVoNdP2wc%dzWc;cyqe^nDeR3%Y+wMvzR;P4TVxxBC^ z>6H-w01%mkX&$?utkGW}^c&%jO}kn3+OJ@Xqdtv`fk}Tr!oVS>rDqS83Q&R09)&e1 zuDP!^7z%?5tP07J3%zD|M_%Q#XT))_Nle|XI^|SIdwZ|o8elbWgiE!U0vtT6kS_Tw z5#tMhdXGNa4k+8AfG!Q-zZDnGpQUfk8$41M{_@qw+w(pBASg>(lMJ?B7lVT74bB(< z47ihc$qm-(pXaf11Ay$%HxPvT@?-Uzvg5=UkBpiY=6 z=FJq?f!kcQ%MFHYCkY>o6}O89fle9JXCz;dwW0evX8mF=_;pDif$ZA#q|3bOvnS|a z0rg3pK?>?*Dvm_e_pG;{MpLwU!ozWP?48UHz8&SC^sAM0sk~?X(r;FJ?*%A@`zD?b zkEQuacYHX!PIKI;@{;PC<<^CMF!`(1VDtfWr`<2P*915E;9h~N9Mx5(T;t}4$6mcP z$${b1u8+ThumSX6xX_qW;6gdhiYKwg}nNnl4f_)rH&)}eUt~99n zqRiB0g=Ii({w&9Vn5hwCGF5%WGAa86e%Tn16m>Q`PbTk=FK%Ph01X%*3md1qpgC~n zy&)dNjTEzfo4fyRDGgz_sR5Ch)p+e#dmh1EPq01Qgi;{li;`RdS-hDg=6!Jp4O;44 z*bFYXIzS@{cwiJWUP_mfyo;h&^TYePSTa{)yokh5Nw7t-*hsh7se zE1z&b1>1kr!`N=aeb^0>Jdir#KkqnK?bNSQSu>JJdoGQud9U|=JvQ#y^m9r?paiX~ zGBwlFY zN^t2U5Hf=3Op1FUqs4( zVnj&ETC6PA0 z1KGsbFD-M|CWClB#S44whUKlPVI8wWtG0WNB!ofZTAE3lc!GvbK>u3m1yKNx1KQh~A$lvr!-8+E3%48BpU zV0suNJYTdLuV?CA_oP0Yi;IifSXsR-c?UPS3j~C7qd@PhwEb2{^b({(`vkqO*Qpof ztTJQLq>pxZ8phpiCczb$8-Rpou&H#_7{`_foi2jKuX0&AS3XFOv)K=BskeG`kyh3$ zTts~I5B}aGOV!Sj`)K0a6T|%Z=wzU|tRg6zC4r*4LBd+x)E)k0aq5xpM?f$v*2riX zqH=%IftAu3Lc5EkRS)!JzQYjQ>Cl& zL!wnkogtyvhs4CCPVa!m4^(1=qrvjaT7|jjFfG3xa_VzXejLK_0)Zq55vC{1fbZP~ z^b?&cG5c;%^XiqMLx?T@PrY}AfSP#3S&w?KSm(_#36$3{c`RMT z@)uCM0}|(RjS0?VYBPG$Y{A1>r{_XXu!v5+)RghJGgX^f6B;_32p-ndMMbw>Tadr zc0JGoYFv=n(-p^DUHs#VeAhE%5M8b{gW>M!pNKzO(kTr?WENb-0L^D>adY~`a53=ErKi~>Mt zed2fxE{Y({@BrQFZhp)%sOaoL38EVH$fMr2@2}`55B%>W&O~(}Ssiiy=TSR4Oh{qi_#8 zf7_$#sn$eQ#V_?W&`GftioR@Y=3NJxD0aZxL3bIkcgy!c+etX^3X~6^^eQxzs{rL$ zRNBw&?+)0He(znlJfJN#9O=ys)J8kMeg{Vo-ZJG|ueT35=%a$-&)BrR`ti(ba8U(p z4M!3FisxDh;w9wj+sAMKD`~1q5+}}16+I(fw;s!q94-{*d`8#kk2RNl3aZ8efRRmR zJQ%8J=08_zn*es8Vi5?13msP6^I~g!#0I19 zC=B3gkvP93U{SLsZ)Uz%ZBwxNgUZQxfLf>fz^|1%lOB7aSM=4$0yXa$i%E`&<%NtI=50eAxU z_Ke%WO*L3+e)5Y7&B2-LD#-!s4?P0r*C1wfo2@->V=+nx*A*?bH+-r9-_;Hs^XF;o zJBA1YVUq|TubJl;)kTcH*J|Dgv*IHQCqtIjv1tYu@=V`GTeAKi!oD)D%WdnHl1}Lc zk(LhWmJ;bM=`QI`0i_$HyQQTO1nKVX?(Vvaecp54bHCiXzxvzHv;J$%HRqUPjQLQ7 z?}e2IMmhO~P=GwH-Qe=Hn)*3Q2>*z4WeWA6!@Lz> z88Y5p1DP4v@&oiyW? z#v^);xebd5wO_8z1|wh~Xh6X(&aZPG>X^9I;WIPR6hazTaJ39WwhkVl_*icL*!2A%XKEa19fFwwhuTIPit|9K zvx;o)>mZba2OW*0u3+F93`kv(x&nGBlYW_Rh*rMap&>%e`p{%voL-kMmKcCk-CcH5 zIoK{v8Zwy7q4X#xf#?}PqU!?8_aZQNBgG~~yk<7#ptFwr%x~26q}Z1_4B8Hm0~FiX zf#ih3MM+ktBysNq9Gz56;U9cDFvz%o*>)$zAG+$PT=;zovjeJ$p(-*+ga%;l z&%#khnOuyk?fohV7Q4r@+sT{12GZ1b4=1PB?Q#o7N=0(rfWHFiz+ipir@^!$P*8#V zUHO#RJ;T`-aAM~aVW85)f+!?tcqRgrG+=tc%yjFC1*gS!q9;#~Kx^w$ zrbnv=KjVueZjh0V1sVpglte?4hr#@r4t3oVZ#F`p0H~%MH(kR9f@zJ&3PAu_ z0NSwvWiO1oUs6je<&d0`o8z{?fs#EA4*;7*3)dXm`~ILJpafL%R|WSDGyuybk17~{ z1ou#Wvp?V5=qt1|)k1)O(4iof;AN_fD#&xdie8Iiq&Qcw4iq2V;Azw(L!Hj-Qcy4E zbZtBmmc1R7-oCEXnf&o^e#=5<0LGBPz!Pvm+nz_GxZMaUa9oZTX*C!s0MU*8phE!W*$PGWO$UXf-BW_0TSf&qgJWlagN{LN)J zrd36^;vSu)xy-XCZDLeoyOeO0lj>IqqsaiT*c;f=csA<{{4Fw7Z=SW z9w$0ACT_wpTe`BK2#>MlL}|G+h<~9DoV?jVt9?Lvr9{PD>QHfwjU#aj?+OF!_hTx< zKjWUQ$y6V>PD)-P4gY?)yAU4e9iZ(+X!Z)S4oFqFDOd-MB`4`DGsuXbW9f6DwPDGN z?H}p{_JRDof=V3@1(GeLGv^+VCQv-?;||G@W0YL(y1w-0gK2Wm$)8>6P-_(7udS`Q zU+$?iyME!JiX`UcBq#SPNlZoAeUGiS-t65c=-pTf~g@#NTKrc!qq#q>v{6?EI`cl1_PHlT9P4y2K49FWnBN) z{Xi&?Qe{10!-4!W!;lc!21A*9Y8>| z^XE$C6y+d1*fQO0fi4$F0K2XqYzx4b7oHpw%*sKnFt8-22R@pYIW2%7!O-A6_5@Em zB(@*2@Z*TWl9dSf6im3vhGeep#zRrpJ{l9?j_?~MYISWXK(ix5U88frw!M~ip8VyQ zE|AN)a~LQ9VB#@a(($3#2MnPnw}4#&E*V3Qw&`+^<-ym`y3=@E!6ZCz2H6NU_B#8M znq^-MO54|=WEm$n0=nX*#XZUuxI@o+@J#K8pS@oJyYY7xw?`b4cihk(G&C3A+iGdk z?f}Z*i6Srj0jeX=q{7wtm|3`^tphT$pzDCDW_38+e1BsCcpRXqKaAE{09*>djBdT# zRN!-^3yz+G<1(qw`gQ)I|5pQjmyl7)3Q`Mc57u_3v?IH5}8D*1&9ea1v{d8!Bq` zJZFt&?rvHC_@2=A4T3wqx=vK-kpR{KE>Iik^?fGRh4Id)OjNTKBqL5#`Caf`Hl(|L zQTrce#8mPMgs9Jh$d-l;WP}n-BvEg5KS=dSA~!p_UTvA{{M6zYd9?m};9c^VD9&FW zhFMMLdtUu?^8ABgO!R>?W-Z~sPL-{gZ9!q%(I``$+@E}WvN%4(8zp5DC&4CP)yBjO zk3z)QcoPrzvA3j4IEQ2EzB=)fM-7ZPRKqK7UjJtO%zz26^VMJGvqh4APtJ?%GJ8_) zefSi8k7_P+$t5Dm#eY+%XAA9^WuQ&rOZ9DgWF^stmJvmv@o3eXeB2Jn1yRyw;ZUL^ zdu31??FV|t%kKYjW;zNFl`T|nfbl++RvL5)n6ZE$iYH(3-*^rQcDf#}#_d%KnKSu6 zf3;utN+J{@ay@D$bJ*z5Rm2)2t(n8fOd4&O)YOfb=}$>cW>OhlN@JN?!6?4lX)sL0 z6R}PEJ#_bHze&u@a>Zn4TBlTNZTT^mnwFw+I1Y6rrq8{SV;>7O$ZrMNkGK>~9U;Vz z&%!V_H@Eb!bGUIzWwBGxljqi))Z65QGk=gmIZKFf?4sYVM5s!w9{yg68)BUXC z&gqoUi)UD!`SuzNn(DQ&HD5bH;(6Jh;_v+ykQJF6A;XN)yZHkheq|jUllAw&7Ega! zpForPvIFJ$DjA9ZCi#^)jaf^hs1Jrff^QKc5EMQ-bCnQI6I(6stN#_o6U>qjr4Zf9 z+@2s6w4>z5=iYrhZ2Y8cUKaO$uJYrmUJ}9(y1H-Eb5-qD@r{HozApWd z9V7BA|5@@(E15(0*Yu>(A3L)#&MmrH%Xg>ua(UF$f*whR%U{aGFHBY6DRSX;`Llsf z!R1t6as6^RwH<}nk`R)e>?}5>?#HpS9%nBS?DTqQ|5?47tY*41ocUR}-@m4lX(chX zeAiDHWl-TVE1Ddor2IZ5FJ<@8^!-pt>MJ za_EiJAH5^88ua`-F~Ja`L)NOLljq6XsbT`E%c%ngQ6&AhO7d}n3ks%ln)K{KELI9! zcvJywFyhsZxoU(C@z>vvN5Bfj1S1sR7tdSBC}nB;_G^`le!{iQAoN~G_AYPE_Pr45 z%%n=qZWp)VJ1d_uOtuKO@!Z?{QbQwdF%iBm^crb*>f+ZF*ZV@85pA$5S-Y8#!u{F$ zG8}$aHOtHmtKXKv)=_zfxadp(lMDi8tKq za?0ou5P?o2{c^Y(UrwjrGyGTOQ-3K&QeFzJ_mPrP-UGGlqSj4A zL6?jfSV2w-=vg<7k=$6d@Qwz*0ip3vn);}NHyup=`ftgtIvP8?{j@_Dezjg5+3wPN zKb!w@y}$jHFZF1M0XGU^%={U|8rl##p7g+Z3SAHfU}(NB_mC5QH$Mg0p__qak6AZo zsp5GUXD-58Jks7P{_4VE$YY|P;SA{BOON9ox57zKFxaM9_Yf z@u!IJ_K9!quVTgSNU~49Q`Yt)ii|23Uac=1Oc!KFx1B`VY)SzVU0<^8gNmbTJ5|cB z%VKh?)zpWBP!?0tR<9GU4*J)^ftlgc%h~h3D9A&5A=1f97!hb+E)UxGP17s0Rk)A29^aYrA|D7c3G%726uRx3v#(+h$5-?k=62;1 zfu~>uapJ^(n~L~UnuQ`knf>d0WJEj*Zxp4CDl+Skp2Oc>I8w?QjGjlrVj)6fqXs$k zcqdd7=U-;5jTwNfyAQ1zla`(Hn$s<8p;npV|F^u74j{4d%9_dUQuNCxap7^knbsJx zNSgA&xfvL9*o%BPqv4^`kL~WU{>YL2%a8)u`rXSWrl^Y&Mo5cUZf9kMi?C!9`hFr2 zov-6jR#m;K+ppzyB_xn1`rpUlP5OX3IL=&j&AmynMja_JMSWr874nW|aG0(S-p9*e zXX#3;htaiW=O!?T-S{oOTPzH=F+v0Bxo4ffN> zG(9j5tO%ivvdVB86!bLFI&{AcYvwE#-otKU$(G$k@*Hw|9xlT%8lK4s(8Cz-c#cZ* z^5PIMX;pe2ofG@nxYN8#Ov; zT*IMSlJS~~dI%I6cyU@Hh- z+KUhrIFLHy7uksZD9vi#C&_wN#qj=l)V6NQFPJxif0kae3Nh9c8a>ucWtoGqlk76a z^cUyzlC=lsb;-HQ^5VP3=rcS8j0W*s=Sy2$wI0PDDSs=fMibgYpm5;j?!^v6+4w}T z3i8O$H>{XC+GvSwFnk@vNfb|Z8M26{P;l`oLSS~?UY}My>nHfsb?r~+d7hOiJ|cZ?dRTHUd?gJSNopJ*W<~AK7J7phS38B;i=+FNf!8z z9$&5YT*B!wMTy++0f^Im^@j-DB_>3!ehoy2yWz0QSgJC1iI!zD*qqYrFj;}i-i~qR zXVl(X1Oo}iN~%xzQdEsr*N2~w`VqxGs_JLcN6#ARPP&ADWRYyiCWP)KAyQRnN zrz!5rD^?!0LD%Tx%393lWctQH_N1LIN%MPWZr?ct9~b;`J$IX%+-nV6dOG@^ zIx8s+nVN=go!eiveEK3p`$Pjsy=#zU(YRn3aq}^G0}s;fu8EZney4iktav)JDtIqx zq+kwTVOr*(oN-cAXUkUV1kjv(Sm;GKgdjnQ%m_3l66w+jK?y`KbMAQ^DEqCQhu7BH zxAdoGu#go6^_JJsehK+Ihyole60h7=JDi8Vkay2pnXmNoHqt1OlRYR++8%{N$3KJrf=; z+m5+Z9MY8gqrS+qA7plQo~lqiDZvez0kbCVCRDYZIrq~9X_?&DObp_N^a4I@0+#BZ zYT?dHzxc}<+9eq@gZMtB2P(V{GE5q|D%&MkJ)wGRFuTP`@g{68IBa-d0H3DtA-o`+ z)L#YV#4@lHh6UX1$75SROFP2y)@dn?b*_IXE2cl zH69szgy=+Q^o9A;LfNBEi2`!vY>)0Y9!e*a>^58kYHIe0o=2U)@xaGry7K9g9jWc5dMaW%j&DlinydGg#|$Mkp-8N* ze>X_)6lMSEr6|s=6tN0`$Hkqm*a#;lTuoGtzVJ|9JW~CDg#HWObklSx;fHLxbDJXjW226F6Nv6&p~B!NYp3RkoMS6JWZ?Nu9+e zdL>~&tD&ws9;aD=yZ)VZ?83d4!nJST(y-Ie8Q$$tQxzB5 ztbLDe-}P?#)$#D%i||Ri@iOxShtruZ1-s z?tuzY|6H^7UWDEEg({b}&$2;YxFjw;!?9;;`pc88=Ch#MWm}d^k)zM|^fPjkc-AXD z&i{EO_q@nZ9m*CcXhY;()4%CYTxrikevBpjJrgh4as1NwuTNizncdkpI`dNWd9wD- zPR@639X;YVlqzo@Nuoa`znn;v+J`b_lk_eDMUGMx`M5~fjUWU>xDID5hlFa3yz30m zBc+5r+z%G0nfb!F@x4ju{Uh*nU8nt>m)?1UmH%NlA*G~4_my{F1ck^3tE8L36jcv= zK2s}Fiuc^W)dkHc)ZQ{KwCuJN1rnEoL(rV&&R-#Bt!^PG_I(}qp&t54_}ywY<>PP7s5x9}mdWaCDdTIz~Ue+4I3gubP_ z#tcE06ViWm!2uX;jHBJJ@WYJQg^+Ub(;=th=r(#ARR%k{tfWJq3JZO2&pT<;4?$!_mguj3OLB2%W!Z;Rw*@>XLyfl=Ojd`m zetX{$Gc6wXc37GR#()sNky9DvyV$_CrC}s0RHVuZd?6MeexSKnzHkjJ|F@$!^?UsQ zOe*J>XwMG)covEypD6#Y+(TuI2gqEW>W;^+@(@XKgSz(`fEbwMcybr~Xj6=W+%jRTn>VW)Faf%-eP_aJ)x^IBTc*&=R(pU3EB^zPSkZJl+oo*i`u8m|8N+L z!f3HkDWVua_Rn^crR1{6Tj{qK&oAa$`7t4`E%hhi)m*xvgXgubLL8wh_5H&hsw6#NRQs8 zL&qvpxY3SkR5ASK3V5(1JVlk4@;>|huEDHzb?)U-=+tsv)Ni@3uW!;7Q*bbBl3l*h z8k<&Q16ZZr2GnmU39&JZw^Ti!-fHre78jPv-#m~u_~!0qw&mpV+AXXKm4@15co}Jr zaYMicel8H?J)4O2@@ROpgzA%P1OS? zOmYs&qkC#(P1uJD&2~{;!iKjj^t&(FhglL9i|x#3JsL;E>Nlz)j1-=>(8w}he%M;cMZW3tU1)wHhZ0|6S{4|UR*iyL3C`2o zp?<=kFA_JpkJhL%w|VHi9_m_%v0|=&9f`c73g8x#JZ#y59Wm5!-pmLIuX1r=L^FkQ zzyy6Gi{0p(iLl(3C`Ylk#KH#t3u4Q*(`r2>ZWj$0ldQsYW3u`mE)n8VE~m z``*=2qwC?64Stn)LDBmv&r=ihjKh8;Fj^_884y1>PyeaeWI&AjZtu~flbUDL2|eymUPYXa9c zTgM9ARr2z1?U0`y8Kq~Xns0p&3 zwZ8{0DL14WP%(5OL0o5j7$r6?u~n}m=joZor!~qKTZu0Ff?osnfsN+uohh#LfndOa z#}Rim^kql@ABleK^2k*lphRXZ&kiEMEy$=^N2i`sSANqd^>5mxX&`^**QmK!j(pe- ztX^#Q$W?qmtXc$W?Qx*{rs#K2{_(Ng5~`7mFEdK6DKx`v-VCC_e?CbnGZURp1k8hJ zd2cf>NJoba+nY{?lxq@%q0(Y?i2o)g5@)fRIC=h?*|Cp`x@+(|vZXYpG!sIN%d=zF z7Kt|HZjx7hW^p8WGl&Tv$oL zSW^t9#S8w6`%n|886eTw1658LBp#XYf&8}_Xo zIw+JI{r6)3-xSoQVM9h}bsh9xJaiuDOuOYzG=|>n91FSyHUQ?k`Qd~JMN&wfTu65z z;uDEwYaZ&{-#7&Y4dG_7*MtUks%pv!IiJK)ZiFPwZ!$-$964`rJvkI=Xdf)>_x4Wp zBfJ#KiAKupm=}QRaZ$Fs4`&l9-iB%e=Q@T%bu#^`F+2lJ6qnAth2)4=Gd>&#Egf<2!0xct?QG zyTdbDJ|DUDDpX_L#P+{vpXlq8W^co0bzqanH8#RFj#G)t(xvk=OjL~ubN>OCCb8OI zH~b1GZYxKZPQTwz{*5+24SUA?n5a*{xF?6cRX;rpT^SYN(^~Xfsf^!dLuzCJg0~)S z2;FSWYpn^qosK5^vbfD?<#o1=wo8YfiZRqHv|o6;y?y-?>_yKn9ieYl*h72soT#^d zs~JR&JV~oproJNDkRAAkn6r?x!Qkok8Aj2Vw)3*lDeX(3#1yKjngJeE76<^zGtTV} zsU;YDo9~C$(~&Fomu%gq3o0W=@PZgu1`Z4+74NPs^*6q5vwkB9kw)~8vDo(-fJV_P z+&J8x7B#&Ztvq}?A2oDd#xnC;P2G`sFCIG?+{joU=1^U1BlFogGwp5i``iD?7qv{@ zn+D${KzUBe#G<1I8aqqsng9uSl;6w4Q~3_Vwop`7bQY6}{q+A{$3+(F|J?Lu%=1@d ze@D!BOaQd8rhvLEU5zXa5Q;!;*&(B#ZUJ|xNQ2f4;yfJpI0L2XxX5r`qcS7xk0e5B z#++fwDslpeD`S8e**hNf@my~McPN53`Ht)VXfG2;RXoa~O z2g(AZNyjCc`A;GMQrV?}Bz)g1AS=F~EU&aEFBy3DZ|{-0Sf^3x&@31DEd-7Cp~C@R zj6(|lJA({ikT#MCG@b>QBhcm*(ryJJ0y|%sl_sAwTee}3*er@o(9=5t0#@x0J{0l0 zlOMk(Tm<$yzd;~6eG@$f1TD>pA46CiP{C$hEV{E_-z~NE$bt3KQ(Lf=%|;38FR!gI!K5~)4ao)OY` z5ZjboA489@VO9Hi*_X954AE_J5IZ}{TzF+5cKZDKRUTKLKMqNPpWNI0_~2fjBg>TH z{6br^ARE6merxfAgU9KTi=d4LHNBr~&z0a_5-2oJx6u|==T%nI>b2~aLnEheEC@=W49OP#I6EKQ%UzgrumFN+!CS@_0TMS00RG;@7;*`BY} zbpfC$zq!nxPyj;JbieLm{n2PB+(?rDiraL(yI}V5M8wO*`uFNJR_k2-hTlzuMibQU z9V5?WTc}(1qHY6`jvag(!`Qzni|zj1k^nAPJtSB?c4`xLvA!Y``6U}z{kQpH8^_uS zRt@IVG4U<%{L>B1y6-<<&Nm;xby!pQIKvhLWO(g~&?2g1%;nu-{F%wd$)5$IX2>~a z0#q$Hqh;|yFa+#+;M&0<&{$iWvx&g!eZlH050K}^I*Tc7WCAH@aIN?@ zmXuqArbjPp!Xd!DjlO2O{4oak-%keG+-ZRY_RvyP8qn#7=UJ;WX-LEMvBbWZp9+pQ zmd@>mz%tvnIpF6C0YzAarSSXbZ>4ri-roEGheud%n;w(ou+Xi#O~Z$xlJHccfs{4} zifIQ(X__Do_fQ`xX(=$k>b4yEx)qQdfp9@`xxz}&K?6U681tn;FuE4*dg8B0}E?b0^3NM3G!Zd_H*K4esC#^Dl2e3^}{y+ZYuR zs((o!+`4Rb6iP7KbpU(Bys)>-tbf45X>e@PegY-BbxGOJQ})(uhcCCpiQae-r~kZc zm2{6+f0hQEJj_fs64cDls-A92`Fd`Q^D;V)P*cd)Y$Mw=U)oz5H&h_1lgL z0ws99L}5hX8y!LU8Z!tA`rx5sC16!p?pFBD1Yv>Q`X}~(FBWDK3h!*JdVB;z ze6$T4Rji}*Q!TJ5m?2Y;k`cJi)^xZy(!hY5e=F55Yt7Nv+eLR}q;*HcXDCCztG#Joe4~mWi zdAxX9DAKTVjzWpE-Q=w$BF3s;ifL2UaQ?Oh=b>*fal`9 zJQuh;fV5wTD~b=y8-NlwZPjPREOXO-L$)C2VO1TL>d5X}gbFsozKYjX3rOJrpO`@? zebRGHt(}tYFI503)l5bToSlq1r^WCO;{U$#yB3Rx&)e}PF>EnR`nF z{bwto%L0`Klwsp2J^*#JJ2Opydi(NRa0uYHp}_Xm94NEr^SLf@VBLRF`FFh8gA)3; zZh-EU+0|AKfsB@Ae0<{fE@swfwIn3`@|LR-`$>ODfhkT05PG z1FG%u?|Kj~V<6n#vH>dun#)Ai;r;K_jiFGjs8zy2LV}Dtgm4xJ0hjRXn06jfpP`|C z5$ONj>7hRUk1zfjcNTVg9#;AO(owAI(;E`^z>58gsR+zu`V)gL`kQwFMq9viVj=D% z@U}AxGR!d!Q9ALyp^#wejDNFZrU~YDfn&+j{gnjVWgp~!atHXbASp`|>0al^M|bDB z4V87^MiIbtdL6D`92uX24^oySWQK8+m5{-5m-Z%bZ?OADM}TX+KjTcYHgXS;i&>b| zNrRzz zl{nFW?d`hBqXGjOIl5t3acXfMBpTDotzBKBNB;JZ1SWW%M+A_o9$oc2IlA1L|E@Q1 z_Rx5lhU?3jkYTJn1A|F>0$G9P9hvmqBY62d3m*8;MaS!PXd@8$(l1-nCOA>o;ri(T zUku+B_t_a#*X1JOjApNIU3dr?O+o!v+#kKR|LgHPZEbERS?BkloVk5n<{IzP?(7?U zN6CgCuAkdQZKtHRuX?k2G3h_dTG$A0JM{bZf`_2(0lszRaKy3S6E`j{K9eQCeY*_u zjd11l=;*(ZM8)li<^w(Vc+XIOmDYQO@!Y4=Z=&Fi69a}C7<}eRYXJ!A1v{b=swiyk z(_{n8PuY+%@o)1xBQ-PUXBGFS#?9EftZo)KfLn<_(!<|<)Av6x3$FaQmf89n=?6VB zT$|vRlD%q?8W#;xlVa45lq`N(>(4uk-~b^qjOBmX&Hu9dCThF2%s)&MAwi`0z6|_L zEOB840Rlt5=0k!EC4m?B$&XBAlpe@5P-;{_sey|kWG9_mS>5+AgXn;;N3th+FB{lT z2Q5hc7tw}4T$QD;XvW9)3*J&+rUl03ialG$97qu$1NvPYu!Ea1pIjooz#ZJB4rSZa z)u5I2nD6qTpQmi;Yh#;;+T`cK+x-w1jL95+b-0rBBibwoO6ZeFk*Y@2b|7oKsLri{|yJC97gs46rRJWPh!w`7_RgIx!o4GJ0MUMn8b;gE&S?1 zXW+xbiXL8xvgC}ik8S7-LTu z-8TbF0Bn8>U^7~s4$|R!8SxgpEyzR~Q`=yZpkI%oUZZ&8tkWdA;IA26?yV!S`;!0B z!hefWd1{-vy!xE`;$3=^c<7M%6Lgy+c$TZC(~^>p3&2400++~0FX)MouiNmUygX&x zmx1Zz=GB80`JIB1=|_efH&H=KA0b0Lgi<8+Q5Oq|C??PikUqo-kI7Tf5E?BzG-MzV zw0RB(OuKlCyv(n`#joEXuS6`=|4;(4f>fDmu_ck(-G##yC9~BnUEDRGY{$=Og?eH)A!W98@ zFa*%SCWv=-J?YNr&5+;J}U)1(-Q~@R@ zZwEfY?{41J-MO_CCf6Rg&p6@wzfCvODZ$lXU}O-7ZVnCx>zC2x7#bVIx-|HG%Ch?? zSpdmTZ7JyLg&ST;>gDxVY1mzBG1)gXB)cq>VXLza(ll2+kiuwynXVpY2tBT?@Kqxr zYN<#I9w$W1G=QwDUTvG$n`U_Dr2h7P=}JDPws7oi9(F;#b{ir>S`L!~3&>!j&WwF# zjzG}q)DExiwG`3P(i(P!-R>4-goTH%3pB55O(*TL1ZGQM#siaNDx@jA^a^N+K?NGC zQUc8tCCI|#^ZAd=-M?)GT0{(!o+V{MZ3T*j?IsY|+iXFQYL`qwQG^};P7LjRCSc0rj$2k&LlE4^Ru zbyft&RK;L>hoy0vLQcYYJ=Mc%Oxt03T&Zvkn%UCSS;)>YBBKQ1RQ#N zxjcMx27PA>+L@3tf2*&ytc8fcbhrP$grvd>ssRPua#814QPDZ@O{;VLZ0c&H$QzI_VDAdsmH)jg0g`hhaf%v?d zf*kV~G$J6PKKponhjo?to919WsPZ!*a;Qg2!jR9`RtI`)eLUK)P)(Rd2Q*?3;IPF% z7X>l0s|WWPJ=!q3lbTL7BkM8 ztD?BbJNy!op8Iyl-p%&{A_hhhdj#TnB_28E>mflu@JSXXmM^#yEY2!gg4X+QjVpT> zwd*8DZN^1*4bne?EpP+I$q3bd#w|(U!^gaBJFlmPHodqp)l8(eCCz5>t~N^<2XVyZ zvKEj0`r}Go$Iou|Ps6gJ&<{EP(}bzgz3qa4Q1~GwCanBVLzcxtB2P!t0xB~L{Tv5b z-z4D|2_6)#7aB!{2pO0nRY7OG$u>0E^QQy$(m*{lQyY}$x%@khg~!A%muFPaBUpe1 zUBjLJ)<>p$N_!j7_+=5a!a0ynr~hiqMCJyznV8Gw_T7(E3+)JY308u4o^dzPLFAw~ z`4q5AnM44m9&Rc*O~$}N7$Cf_gAc`_@i@=VI?l;aTZAF`JiXAuPhT9FLd3fD#1XJJ zFd1xL0mpz*ecxb}5diB7Ths9`y61$iDq{OsIzsLd=8#P0b&n1--%2n|BLp=({IVgl z3;Lc4%>ejKSAa|qhj^nnSUA*@$O5Xg$;#ZZ*MKNUriiVbFI;I-B8)_unLsgQ#&O-2 zLr}$P8yyJk7bd`0?r&EsK2LSzzdJWwgUX3q;2|WVBx{6~3Fsd9fX2{=4Y;L6CwF@A z!Z2WcO?a`sqND$o@JJQ)KZa`hmLpxZSzq9kg!$pF&%gFun$g4-8^HB_~ zuFuFQCqaPg8wo59`jv33`}J7xZT<5e>IJ+c0=S&*Fb{#|Nh^E4x3ssShAo0@4s0X7 zBKpZ-CozEM@mquL6&YoybO=blo1ltV@vb7Anf*A1N`HpN_QlzG-?9(j@(6_BifItU zJwQzT*KueBD<}v>8R6S#`v#M&TeqLUO>mbp|Lk+~oV@dlqLTx{SKQr4NHi<3z8wI6 zOts`3-47i?z~Ds8C8~!GQl+8x1-Nyv!k}e1*w%T_;xBkwq^|w*nw;|~9NdO}7p6=| zlD1)F{jNJH=K2>d0Mgs;VhxgOHLc~Pi5S7#>Q9Wa6h?9M30TNH?P+C~;3(uhn9c-k zoJcA}qY%h@fQA7H=s&N;0oM^2qZ$4oHn<=+ym#}{4 zV$j;b!T9aK__wNFV3G$G5|y52vT2eJ0FvOjJ}qrIjjjG1`d#1%uK`WoSb6|u3Lgf|uH=Cf4v4L6NMyB}C@fQE7kO|K-=}Mf8hRQ4H$Lo8fO)+-E8=fs z_|u{c06o)Mv4db;g#b;NE3ULi4H91#%fR&w(ei}Q_5M1XQ}9#sYMTZ705+he#vB4D z4FQw+0c7Iu&7nT??lMXMD1+d{2IS@H4JTV^OPeW6 zC1|?R%)mAZG2P41Qwglaw}r5O6sSk=#EC{I2zDQDFQbhYmmB7IK^+FB0(#CT6oO0$ zDu8mdK$#VFJAL|*ppg@>{QwG*sHgOk9-ogo=tW-;o8iOCWp^S7!fX<4ap;9WHT?Fi z4oi>un(g^{+%o>=u_Y11)Di`06F^8vnxxl3JEGiQ#*RR!ouFM#0xzX|k>4snJBW5c zZQ3L)4dv#F&#r&T*?m`W?nPWU*h&u%4%;v%zrB>yeU?wR4zWBwtX}~}2kha-q}DSz zu4c_3LZgGw4GDYDEe6aaQ3UP0y^r zavOy~`%#NN2u_ zz@2F0V4s*72H^g!P?R~1LW!4#fom}IdRR#BbahkKvj<(I?A0%3>!j4^udwy-sg2;0 zprnqjPj=%1Bn^y%FCJuNq4Pg;?vp|(qQcB~O%;Yt z&B?B62OS`wKP<1AaO03hm@P5lhaOmJ7_j~VDW{;kTD(QMoe?AtD&z%D5%z0PRMPFDhm^wC?V?z>ts$ZKAJ}g(khp>a! zhy6Q5p3x-hiur{1_Bw_BfLE#|A*=cssN`3Pl3!1Y%fzyh(%kpfG*x!?i zgT52AOJF`A=mT613*#C4Rdk5(VAA&cQ3$mayP%VsLuf8%_UH1r7b0f>m#__<=#l1i z_?K4-ivy&h^CC8Y_Ttjod8SRu18KF(3C~|FXsU!Ma;q+ z4p3%iheY`4nJ`i8pvp|(KTrk&H0(ioE(A@qHZi#l4$9PBX7y^mOU#MQ2iY2_!OtNd zOy*oHbN5<+Q-KdTMziuee5Ahnf+g9-alf!b>dq`p&d+OoR{RCHdC$q&Qfur>14~$_ zhpoZ$0VKlXLDRo)5}=GuOEj*Y%bwh!GPMPNB58)_dD{m`1Qx5atSrc;rG{0ECa(~Y~eX7bkaI+6lX1}`^1s{Un3-izKg}WOr*g)f{ zO&i1|w7YEmiKie^o&oiP^-CUiUB(BH^>z&=V`7)**NlSDz1PFQ_`(Z-YD0K)lxk^N zW&yZsQtvX}vg<9YU&Q z(00Ei#4YvQ)1<19y_lO>)D-$U=!oRG@bYq2p4#5jkNW8C{Mcp5>u?>sFFyhjghcPa zV1%m-5U0%q@jM8G%Z~LKWAbsS>O}inz=GESpQp%v|3f z^75Czq(J2{Db2_=SIp>mUipgEV{vOX(Qm?)KyD?t`-(#Dg}2dT%iK%2Wt8VA-NbDs z4nKvc(x$RJ{r#H&60O!_S)1}=03m~mcc5x>OHkA8Y1d`i;nN0`L6Oohnz_d`(aJQU ziSVXq3;@)UHy23mOkq&Iub0DW&Yg6D;33M2g%-%shkHWQYZQpQB#P45a! znpIj{iyj38V&C%|ubtkg#%RO|P%k8xwg+XoXe?n<0_J z*0j3&;K#{9B12$_6O>2*LuOuJJp1lM;ZjrOykn_;)*lUhHkMT(RUY zI$N!ID_{lL+cf*=``(k-+ZKQBIPc*}67OjCdzaX|hhMo6b8Pb*faR}V9KW3*#*#ut zaiZ;w%lTOI16XsvwgOX*W3wGW6>1VC4z-|_kd-KKj@KQ2f^Su4`@g)DIAXO0z-!d8 zZo29yk>M`Jl3not5VX)Vm+KHI$_Ts~02{JcB(-V^G*(=VIO@Wc@ZD$%6lb@+8;Q(apE!e*z<-g2_ ziAdw0P_K6POK8mlH{&{KCI%`1dDb-ff)yAx*QE7Uwt~Bp z0~J?6&?RxavidtP>@~3kX#ktQV5TmU|B=a?Er7{jP0ndc z#XwbT$oN>4iG^~G%*EDg|D!Y=!z2B!u)I8|ur(y_0=f}%)RY$O?r`e0tjpq5(g{T< zX0`L5oMY+*tKX+;_KrzDaBGJpyRT^ZT?$`&OVJO|^^tMTUqnTiIoU(uF4$mdk%n@8 zgWU<7M}!kaL)<}o7l`(_4LI};qI=Ye{U^R7T7nL{#6q}4AcP56_#FXt-7M_a%S33k zyxLlzKDgYG{9vGuCt79xx3DTohmKx&mX7=*4aTJ1S&e1gPdY=y$9+pXk*Y) zM{@vRwzDt(`C+m_UCVydyW zC_+`Xt_jJUIFuB+6A6>YQ$`*^K>ktXDw=tck<@f9 z&Pyo*M0Db@u8`q7K&8>H4RJ3k2>>q!7?-xR&4S!c36g37&=A1WAQG6nOQ1}tG~=d} zCf%CY83=k@bFtrD)MBQedl8Z2A8~8&a_zy)i7$J971sIuyZ)YuEr}QYk`7uI(3dZ5 zoJ4A)dow_=K%@i%m|&#}pvT3rb^s*nFEA|z=Pl!_12GCM0*6uor)mn%v?QnmX5+Ry z8Q9zC+Oq?|Y-p{HA?@RH5Iz$8BcWWG@G&fR2_TSJ{lJ*#AzNNRe9G+EVkoHm!2$8n zu@Q`_l-Z3x1cPb=jmSE_PLXWQxI|2c9a6WD(Kp?%IRh*%XGog$As!M98&!N&IY-bA z+50ME!9VqtKsC^Nq0~@OcRqy0y>L*Ijqy*Zeqg7wSZbpa(h$Fw*)PAPK?5-&-6!p6 z#rqRY{r`0L)n8dg-L@b~CK2uLH+B}g|YCEeZ9(k(3@A)V4Ch;(<} z#TREB&v)+q1Fk z2o&_^dqiMZ6NFdQ%|Bq8djF~Os<`5x$eD~_`ELINbf~}zmT56(ft3NKuKC);Na(Yl z97DtHpGkP}L3g|Q3J{dVTp%&TzJS{qLXZxZq`XAfTCXECq#!bsU0_5Fggn-HuI1(s zj68 zFawZ^0zI@hcc4kL`4xMl=ekMBczXIi5}2&-`#0IPe|G^{0?E8-1qF?UFdbch_F>@X z(0ak*N6C;N4pyQi4>S0E`VSOJ;SXeJfbV)pb~$e{LZ9TNDr0Y__Pe7 z&krW;k$R|{3f)Phyi?VSZ0HHa_$UW_px`Omx6UZON)kJAewiz@$50V^ToZR^)?E*AeZPjm->&Z z+y}mho96{gY(Dc;;2vBtA98~tStQu-OqY&~n>-h~iTsEHvu-RfBAJh>eAa41@;9%z zQh4E01^lR5sM4K|!L7Qlx779P-v+{j`Dx1)=eNQ$P~?#qA1R+kh)|#SL5KZpg!Pa4 zw$=vk&gj5W=#BmhHG?3AwnQl{g9ddc zOhI@BP6JrWws~rjGXeTq5t3<345)Oo9s)j3?{H)>YF=siI= z5*{wzx0Txj0m-kfd}#g$242?gHb1Va7=iu+!Q*>E zbRdM&E+YPp>|O+G8gRWHJBXLfY>7-PDMTvsZx&GuQDd*NrR6GFjRK-o$!l$~3C;re z#7p>`thL)Ku~Dhz6paEgJQfE_HZ(NU0+C~H*RtFU9R;dfxb-t4@+*1OlHbSTFI-1& z&0yk~y_SOgjl4web97BC84yf)kd?S@*8iAtC4pSo*}Byj#=C_&-)ALP;MAm6E|yd1q$=#Vpp zJiu+zkMK%I-Ule?4bJ*JphVcdy#Zx@1v+~Dq0MUvH4qn)CUkM0WHw+~gKZs!#1CWC zC|W#phxDBI%1EAlZ_c!UWq6L{4>b2pTL~2K8lC_gXY z^w9}Zljm}zQ$^U zl*#@$SMVn3gFFuE3}=d#;Q%8&{t2S|yE#4w5ChqS$bp`+6#Ge>{S(Rww5(73q3*bW zeinxNl_40E`sVU9FjjHN&T)|1^M&M_e$m#2kX|xWka+<5D38n?@wO9IEmWb7R*EM%~i8p zv4hur8HjDG0D;zSD3iMVdshy=9<^Saj9m-u0{F{clr@p{vDhhy$8=<1I7P} zv#_?=;{7#i+h*xqm7)!Hn-z#SP#=r}9qA^P*t$y?byLa>tb7oHI64|AZ4BAIJ$c7h z{qsku_xNLe??yp3;Fj(qfgDb>e3=FOGvFc!w{&l&^ES{P(nqgXAcrjK{EHbn*DIEE6N#fByjaR z#rMyMO9LupIzZS%?c478h97sG5SU>rI4!!QJFw}drB!!Q3&~VC{#t z*qez#z^O4_R|IsA5(1I^^cPsO|B$g+9rl;pQm7wYgNq!zVv&Y>P8X2}{>(uKmtJ)p zKy^aTSB{0eM*{X>kln7uLC7d_TtLUA<1Qa2P29V}@d?9#oyU;?6H&bDJBUL36*iC6 zs(?3)~TV7kjNa!Hcj#<7@ z0z3yf3Hspy%Y*8j#dv7sfSm2H<-c2~tl0Tso{4D_U~K|uzl3jSM7)tM^y9WZDyJs^ zOO8VSq3Im;`dMUk-Z%B8(t|zEX|h}p+Hcxq%T~nzxTppWXRS)b%@Xf6{FaAB1YjJX zdG?A1%fJ9NLOHlXO@Q!##RH-qqjGBmEZmSq`c>FJC>0!PPw3P=Ma=?nc5K&&0Ug_e zH5+u?EZa#MQrg6NGF~MNQ_X7oFr4-`Zop_WDUwm)-PGclnk`HK2_nil8ZvS^1(R7; zY3U%NgEMS7z;oukGkg%=pl6=Gh)F}tZ2pFhIOwoZ(o?$2GT@=`0o&|(XqCUP3_ky& zBirLDQbXRCta^ z>$CA7xB`it;3NjNbs!|YpUJ1^e`q1-b1;q>+VX6s(F-{eWr)QK?sPNy46P_U#7W}r zK)>S)aLwww<)GaUgaHmx3Xd>DxSR=mS+PS)__#YzK5ejG& z*q7xoyBU(og!!$OCdB~Pv|8xmx(`YXQ&D-HcCNLNS7i$Q9^r2keMqVB(4j^dZ@KaS zC-E{H;Jco4KZU@-5S*$Fy5Wj;4)tn7wA#yq0394v$G9Xqb%#fqA;|cc|0;|=%96J- z0pG#iWg07x*r2(!-!Mc_HK=@11Y9OOcz*W@)1RZq=y`E#`m+{JugBdw6nF#`xsG|! zVo5-N4P^OXS`D@*SfNREqi;8nW@Y?x8U87u%*C>-_D;hghV=XKsW?)3ODH;`q66rS zmuU?~LIi+mWYtYG^?y>aow5-|NP~OeL|wWqc;ETIGw*Tt{d~@jl&H%Vx1_3`#>bC)x1BUx_!vp0x^tr1^+;qYo{t_X2#0~%CLf)mnjpE&e+3&T4L$FJAPG`_-k!7A=YTbZ zTO5g1DK9?a2eLgBXw(KVBQJ!pAHn%Jt$7@;CJ&%9$Y%WrkedK(GksbNd{UIY#;a~p z!TwsaV)TJv<~I{~WMNN}5OX^)U=zN&4}HY733f_-A~uxlVF1@yn}*oR4+Y2-pfW;& z6%z1kd$J7#9Ux9{K5$RyFM^jt`fTi$50XZWwbn>6F1DLRB#JRkFqj4*Y~xM}P0+DH zYxMDh;L!tl0K7ip^!*sYJWYv|)XXCk+k-kX5vMR`Wq7TUPJjb#1F$FD-~~8BvJZ=N z2U)&wzmKw&uMw@i8OpZtWdJo5UZNil_glM0u-{zY%M^nZ5d978?HQ?-!Emvf2$Gp7 zp*IrRAwHh#o!7eO(t_f2*DDYcn7D6F$#?C}Vllm0I`?DJ*9Z-r=tYktKyp*vLSUN% z+l)|fJV2#!X4LIR(4^uNMUY{dl1FjE21@P4@qbxH_gZGHNlT`zTy(+A{(>^Ku5<#U z1qB?WBZK)n|FCY}2~(I~e6VyFH~7JLi?@yGCS+ZeZ@}J^ag2keTcA6Mws^xig?ND# zT&AEvTYfq7x(3bSjHGP5s+Dp-k?wc)V1Z+~A22-3QXnt?0_0kZ2(vIJ^M<$Y5B-W+ zxAd{;b+|0Ht`c#Nm3qUpyUlQEPGtSSr*22uE#oy8lx1GWiFv~-rq2+GErihjc@{n- zTKGIGcVrK6@I%bqg}%a)fc^Dy3EFm;k;vaC*`cH(f>sKBHS-pQ0V;E!#m70flX-5! zRPSAXt3L8IXn@9SjATaoFzZf_o10p)esnaNDXY(E-(_Y)ps7ysuK5R;SIbf6YHe-Z z+}yl6-;;fXPAR9P^oYZ3?BeX`$8!QhRQ$uR@VGj5%d%i|LnwaGgTifH&!pbqcgN*K zggz1af`EoZm>#fRmk*7+bMLwk(r|h{I$04@RfK-Pbkk%%0zGKuyg+J!Q#DWdyeefH zzj64cl_yNX!0mVaOvs{$aQMN!vsr0M2IRjYZ6X1yL3biID+jLNz3-1iL_|m>NUu#@ zI?T`-RBtAZg77Zq43^S{i*rKy4?0ia`WlFb>n;IE3^sARX7`*HYA<9eaaDq5Pz}M6 z`dMo=H$UI2{AReL+#97jtGV@_P%x($#}C^dX=i;OzSqKee+auqr9uO=Y>eWEUmm;+ zz@_*1-?lhT{9IS3p{bd)4)Db100w^`L4d*4h-J6PZK&4ik>(ZL9;Ala!Uu#9S#6n` zfSM{vllQAkkm}eP*JY^*n!)3)9`sJ+${y*yf*>@icWE)dH4C~dK29qGA|eLdm~6p0IGcd;q40t^%%FA z$q&|lWi1~l`;@OPH-qG5_4P9W1dbuF2~q4DqLO-oWkLiu2$^bWxfKbVZA(t$0V5Zo zMC*5^M`lFQ;o7~>C*SDQZg{4Jj~#PD{)HpEv?#j0OZCuL%Z;Y*l=)h1zWUf_aTlp( zZ;sm?<^w?HH(2J=gZ?J7Q4r{u3}m3^tq7{_oZmZx3(EQv$-cE} z_2phcuMgLzWf*3w*2G<>vXx#(Hs}z6+ZlQW2EbKCm>K6Nl)kS8GvePMzG7j_4+oSId-qT@%O-F7iB zKK9^TVH0Qmm&^2YL5fWXgUt{X?Ipbamh%U$ zPz!bKYjbi}`${PKg_K5{Ns%#HUZa0H*i@B%Z9YFVEQ^!@xS@xAEtGhO&#Fn}q$ z&xj@+^c`^}ZVJFC^@3h35=sPxqA@_JYldS(R+As@_zNuk1ny28%j=6>=5TkZ5`i{6 zeYv4>5ahm_pW^0riYeH5CAjH)v`KNEQK~@pTR{O=_wMyl*(J^5i|q*PBta_&Ny#|% zEaAt;d4T=2Ys{*FDnk0bGkh{IyVPWTX%xr;aP{C1dg1~*5{4XtIl&D@M1L2)YQ~?S%3d@&nrbynI=O+vh!^>_${xR3-^f9Eg?EQ9d2lgxhP|WvY=;7uG{Qvu@m#f$iB-m^T231#s-s zQ`^w{HYsCSU_`x6no|hr8hm#Pe}Y7E!F3zM@*ekt-j>lL(x@-L5}sHUrWklhYD!71 zxnG@WJ2~+TvE5iTn9Lp=Rx?>;`8^leM1(L5(HmlN@@vExwpl z#zRX-v+i4CCAu$Opw71w+)&pUJqbz+1|sM}r&b0R-6Hkux&f~XE_8>9GvWAN~6*kG9UJlzzJ^Yy&u1?I`9ETu^1=IZKg_oMZ3B;w;c zLsBse6amKpc#N0ldwn992t%Cj&d>P7EiIYmDY1MWKYrZNtL=VqaC)%Tj8%i0Xq*xZooqX9F+xAW!LWKU{Z@+#s_f9VIs^_;7b#UyyX6^Y-!b2y#w0HNM8al-B`urG$4yS& zGBH7z<%>zefWET4{4GBzNmENJxuBq6S)o1n5iK<}xAhXbbO<54B>rPO-CO^T0v>9r zPGE)1PI*jW@y)xH3@nn}=IyxnLrUI0`_RHX+g<{S4zxhI4Ti`#^m?eFl&OfV!nW5A zE*Or)8X@`ck!>!;STnT%5QG>PSpYO|3ee_-as&R1@YiMPoEKHlfJ)b1P51y93+9)i z70qc*7ye>7!>p{V!aY}8?pMxxOBm;mSoBc!Zs^_9P8Y|BeJOQzDswbEtQh;QKlKBX zV%0m%*o*CXB<3B?H|5PA6t8RzB*!N)&gw)JKc52A3=5O2wA z$#1&aAY~vDqr4VHxyMts%K}ZlufQ*`9`tObHNSZR;}504iora?&b9#Omj`!8)?U+z zWF{vh)ViM8#UB4jai1$HDzbR_@~-Ol(JxAC*;g!HF^t;HHZ49F-f3{ITFhKr_@vw0 z+QMVLXx3I*Mk5Sj>b&5hO*HtgZOPnQT?l}ozhG}O>t5v{&} zX}AA*17mO#RnQ~h8PFsmcT4P^3jNon+_`fnA|k^58)sq5Zxz??>>WJo4hP=ChhHFGBsY$U7c(KiW`>`$AM?3~1CU*AB zmE&UvM=VASG14@RU!763&2*TUm?v}}m`txOFQi>Vh<`npX_nIAc`f8a+NrrfBp@33 zz(GquVBFZolWc_6?xZxud=$gIV9E6^y332ny)tFlETa+gM%HX+qd}VZkeo(`y&HDo zl{;NnZS+;E>^*_)15u%``*I9BeX04eP0lyZ>t!g}C#%t8pS~$i!y}EO{AKQu z@4AmU)1t$xyNpX=}pi8PgJHRmX8hcqjU;KLnRK#1yBWR?wO%4?DyTD8`f!#{{DZeiyl0bGY?8t7XmZ;iO2*bZyx> zUTq3W_bNkT&E9_N0t5C08^blE?j5Y5=bO|! z7-_hy`<7>9wnyH@ekfilQ|7xHMCeKrSWNVg_#jw|ct>EYy>8|@L#`u>zc z#q(SOTFN?E2N`w<-#maq=<+Ar9Qzic%*$g??(&z9R;otEm{FBfEd zA*$PBO|aV*iAt{`7$JVoJoxa)EDa<3upGPYqE~rUO(E_{;?BVr-i|l@>&c9>4XKJv zb|cSB4inDI9-e*d!_aSq2vA}j#ZyoX?Q-)Hb*Bh+Ac-8cc{us@z>QL;M!Jk~nbFUM zVG*$d>)AMLfZlUSlg=oFluUKEHMRz&xL~pPyG6V``cv{-qBzkdGQy^45@}*;9Elu_VPY8mc@sgWVJu3<@7B*^a~X7Vs|wsLGGc1$E9Di2 zM=Pb|Ud&z9A{_I{DW5O6ulA233Kr!=lHco{6?neP=&`?;f-UeI4yUBMZi<({AS?A7 zzHTa4>yCr#AYME}3MHqq;r-{*f+$G z&5kw0{KS5J5u)2!@M3s_3ZqXh(f2d4hm#*KB_*qmIez(Qi^0bBGn9`i*G&4J%bh%A zI9Uy7SI1Ox7)BAsE!uS$^t07pS7MinTC`nW!}Og`2bO=?(@n7Z)eA_AVCF(|0sf%4G z#{rG8(L+2EQ;74V4@%ya+7uHi6N_`N`>3uSR;H3{+@2s~E9VKZ;CHV#kJ{8O;-0(z z0GoT#T(Xsc!p%CR;KCat^mS`n+sj0*606^xnNl&8B_)1-_xglKNtu}kzJK?c<)0%# z7F>qYH8gKqAy~%X-r0ouXRNhxU*-~U!9QO!OmiKB}q|Npg{M{wyT|EM@*J%%FB|5yu7@CfIBi{ z6BDKMgL?-D=0jN++1bxBGqUn0{!sCa5LM0h$@PkJMLvn#lzY*aAyh9sLWo{iXrY#) zm>^O%omIR+8Y2n?eS8ZO!QxW5YFV&DxXf93Lw+@3(+SD&$a1{wysh4ptGAFqtVOEo zT={4IGQ?LmU2TxH`sKt6{c_=4F*uG{x(T#JzoU%qjuX%joP-^WKNb3-p=Wa>}mc=YcG_AzrVtHzglBbL?hZfPw!ANg~{dP7zV@pg zJ{FzW@Ss|cU1f>R#rsa#)~Cr@AbC_YN}|@NLcL7tfC z@U&wnM<~b8h6n4$&6AchBVW0m8d2HqW>KlG2iT2}@G4+I+aZ)rN){Xl@6JdqbaG z-#K&QE7TwDzl17ZyvKG~SoEDu*-=sWQB)AML+K<}jKVVvJjMR30pxcVlSyqpv##0( zg_iJ2Ig<3ts7&4@B-Gn@4ALcTCWP@+3K^)AB2f>!v5dY~5*SapJiDMp6j zoB}O#;=%qQZ&$C6#$AGspN63N`)=~pRWEr2w4OJNILG9TWj?F=v4LkEZ{IdbJA28O z7#=^UFOmRtvY1s5Ac(>(ySA(T8KTDK`1?%1EevRo>}_M)#(yvfWc=nxYO69iF(r?R zQ9$)NZ@2BcEr}Vd&DY)gl6-2`&;R1*?6_lS;|h~#s*CN<)gR4C$lJQlakm331(M(C zsl6z2MdXv?-V*j9{dEM(_;AX3cWX&^?KuPS&o?h@0TgYBUvOEEWRTCGv^<_Emf2%y zPm+qqD2kc?f!6HE72h|o`_-m9$6de68)-(|MK-@ukT$2xN+ zQgUmUz6N<>0VRjL52@zBO-E#woA*YyFuxi8K3SW)$hMak8gKrRmMrmsW$)c> zLUGF5=T>k^o$sbXH1CxqUwySN8%M^=h_Qh+K|dU5cW)!7fwlHa?GvP3$|XsCryrGa z6ufXc4N-bFPc&0@_ecGbP~w_+o2j)$^K9-};pw41o`Kxo_exLtJ6cNm-e}KtBK7WV z%{yY?)YGzv;qPLcu1=jtS<&!+d+M5PA6!YIRqGyQQM0Dny><3yz?N_m#c5^>omW(6 zEB6sj>MMVW#M-C|6+u(STlEs1ddr?emMf zt#cI4ETjNXhZf@0-s>a%3*L3UNn&$@;3Mh+5h)q#*Y$BBomDJx{Yeq9Exb&yHf5v<$FcfLWv#m$3nzOc54`pRLbN` z=PM63EW#n)AM20z8SDA|S74V$TsVe(ulO;8@1sQw^mw&f4H*o!4L%+6iD9SxY2#2I zyr9N*A*(5gwrmaWwjA}}a8GPl@*6@HV&LI%n)~*FLMl4rih)u(7K@11P1TA|l*?_0 z$u*(7t)lK=4w)CT)C*pWUhCeE2AdOTfzYbyz2 zLJye{3gPw#%C@o!7Qi*JvTHAlR{_D)IHFH?O9v;k8C+B=vfud~%e+3G^7 zutgz2S08g95om|(=eV$XYo&C$lA{erDbIzgMDhpq58BEr`84aD?qv4wy>j01@_jh_ zrYCze^&3`?0-`ynjf}LiMs3PQ&Jta=w0;ngU@h`M`N^sCe&_PGZf{dx$vLuAgKJJ= zncR+J@#f6EyIYsSlmH)@8W2mL9=Zk|^;kp7_w8QOEVF1WH4p=Yk^GC#VA4+pj_3H# z>dyL6`@6_yMI{*yQL4Al*IDHo;$Eee(yQkdD&qh6nL`_ujhDlcP%tdFY(6xZQ?ef* z(N4E;f9ED!e;gnbTARyo$6iv3n%cU`pCsqzweo@rA`B_FxC8$C(eikB?|gM7Y!78A zKW@TYp|*3n;mhE~+LUv=vyq}@Erxh!2d{6Jf*6J`OV`lT15f4W#0XZ(Z?-S|lNw=n zm9!jB;|*!o+Jfjz)&=XOv@rSpIt!r-3NWnZ`Of^pc|k9Gpy2tXT$XN_+64_p@}%iF z2X9|j`>a^KKHhQnlk6w1wfV&?6TLy1S)%Xl_7IMpi3r4Jo%kbe>__35yql^u0FZPr z^ZVyR%O<37L5#mv)FB`sr1t*YLgnnqs309={O7`=7frKj-CJvQ&f}`H5n;^t)^Bjr zwD=8X>3E~PQ#0=nkhsf|2zPeR z02+o`=NP(Ic#m%Frt15jM|vD7c}^7HvJGba$=8uzuc}!!oyJWZWd)Y~^P5ouile4T zWwfG>_;{M-4dBX^wm-!DX3EViRA2k6RBQmh__GKp4{rbJJ9esGSABWiLg5&)J=}dn zff>vj}+j3a4p3f!WQ zdpCCy&ekD4llUT++{xfHJ;l)0Jy1tZmV)b9Cu$OoUi?P(zJ~Wg6a+J9JS`k? z3iF5M#EDn)^1Ic-YChW^FHd_Wt0ypHTrYUb*-|x2mRQEVkScTm_92{Kq$xBQxj!sDo zin0xMoUFXD@A&#i$9f;hi9-bVwa^(CnUj;{KHyJEW59U98rdwV@5* z07SZlLIm&CLv_3eG~XBWlknU0odz0V*w}@3X}oY3!Fv$RxMt&2P3wcN_A}onPbqKu zT=4$#sFsrrkQTU1@zt>>UueO+wVt!}nQ>U1WIZBscgH4cl$r4*%A>8XB@O*54UbRl zv$ACrUA+2+$_SN(^>?ZX(&U>WkrLh4M@**eI}2m&Y3n(U^_CZUSuux>T_nxh!`Fk6 z>Hj)Rp|3U3wsZMYZ>#5F;gPHr>%M2VzHqD5+~TXFR+LPWU_bka_G4#I>MDkF$ss7s zA+s@jkY4FP=NzDz#R|lMhc5`%~4=kg`+b&}?m?^2RMLsWwVLaIsp4DHsWm{DqTxymqmF^VUlvrh`0cW>TF;`}|^g znqRg>a7IGnw)QHIE4{RPZN8yREDmVj6Gr z=SxL)4LS>R%)TxyJLn+RTRXyHM5f%6JiJpIBYfu{%&zB4pb&LjkQS9Xi3lhtD5qWT zTYf)F9qP^e8Q@zJD$4DP{;Z|MF}NC)?EkAugP^EXQVFLb_a+T{?1_1 zKSj%H-@0MWpWjn;IqVWNkD}`HW>G~Xwy>e@g^fsL`HL7qqDiN~Dci0KF`G{|e8Os> zaX*XwbB;fm9Nzj(uf#Cppzr9^Cw-;5y*k~s7^zo@Tb_CzC|9aIR*$YW_g7XZ`odcL zRNj?qjd^yg1o4E}+mR zJPV;rG@#zmpUfp|rSR#x?cLfCttH@w$F(z73_C?Vg$eH4QUhw2>htxKr+KtQ+|jZ2 zR#QHv!6N+L2W9o*cPL3OoQmxgBtOfMBw>v=)hF+Kk!&tixFS?$zVM3b(Y`R{b{YSc ziGJY7y8oq=*0bC+Jx&y3rAnHenwiQ}Ir37odQ`YC1E#<8<*WWI+}EYHwK-7zu0i#A za+mIxd{@QDZ+0ZR%5?ilXJ;u#{XO=PWG_KBIrLF;Bk#W;2_H2xby)b# zN@dgC{wLh*s_~mu={*pTIIHsO0`ocE!{JXMpdIn>a1-zs9yqA*Fy~Gqr|*T-Q+>J$ zwIh+9ZxBZ&*-|$liol}htMyP#s!@`g+WMvYeC0O1!_(!hB~$b$O=@RslVP3vNGm#3 zkwm1T9V{owG45Ei1yqMEU;OP1vkGf#KAr^HsMyU+yjjzsFB*rVC9LwzuCZcQQc})- zN+Vl?ucdk2i|#-72!X=UC_FMeBk;9A-`lVGSfJ7ZbdnJrSoB2c7xJ zubhetc8<9=hhd#48`Qj!T7%#F>ywaLE@h-&I^f&IWKljUbJ^b%mNdD2u(#GUL#RCJ zpnp<4_IfbRI2{v{kHEp}Y26LX$@3BIoQ&%77jVM6B`JxCPTBZAsY+>P7ge1VWLC&k zRTBSHaF*0gV!XVh;n{apn5qc9^K{cTH{8b*cHawmV|q<)p@CQJ4r8vslU+Y1`uw{r zf1y$Yx$s~2X<82L(1IQ4_+#eE==bl6K2DLOWRVa%`!4hmos2hwpD`uN@*JYh$;`aw zbnyNPUAkYpPmmx_Mw>q)mAQ)hh|a*cu}D1!=0rqehF@OO430G%ewE!m>Dx`N$;p`> z2_JXEd`~4`H|D5oe#=YHyfmYePH}Qj{B*FQO{SDOc+w|such_6aQ|1t&;|#-{3WS& z7vhz5NqucQ=|=y}dWy6r2(Mwctt3J380=s* zx!29*#XKE!e^mz|34bXodsVg6j|c7TymDV>4KhmH`|0g?M;r)nB?D6R(&W@AHrx%0 zvNE#dZdV<4TCMEhaf&d$x=Sj}X`M%ie^|s+(BpZy$Y?CW(<`*YS#Q>uR#_TXGa}z6 zGG8k^vEzj|KnA6T{e_gVNcu-_S`(wfNqy%m&UmKj<9aK4vM|{Ob$RL7OUJ5QMOnvS z8ws0*s0T)3Y|KZCV+EX3=!3*}U$7U9j-a|ubov>4+-17BrE$1JRnd|GyFih z)s7{=Y}_X`WSg|_g>6Q4Gsc}QY-fJ=)pOm+9l>4t{F18Om=UZP6KZ8~eRq$so7Xf#!bZsn?>zN;9&g;Buz$ z#DHIIkp)plF#f~pTJ^71@hrFJrJv-w|1WF1D-^~dd8UX+AY#{XRCn%axl_XH=HAF> z7xMDcTjFf`D0GtY=faiy;i_RZF{{e2Crk9c!@&LKEPDL}aeenRuOq8<%3$2UzRI;K?`uDZ?q`-YE8!a zAImh5m1D-J)Jge7f?5Jrf0|)ZO7`u~(m=l9*Q&YI9iy}zOiDukh+D=hQYykME{CRE zKZT$xTEP__OP&%+6GCI!`^`AnaY0itxT#nU}0Y5rSl5N>!WiP0u38q}HCgKAC| zreq_tj*j&sHCtXQZM3v64h%_>ig{Vtmp5GJDK;`gJ1Dz)`*s{GKdq4bN8I^7CBTi^ zh>F@JyzL2CNbJKvq55X0K0A(n6+!gAdUSBjzt)s*PnAtu7oYF}9Y3pc^q-u}tM1QX z{T&sFfUy|)xG9G7ocoh4Z&?EjizIdszdQGm&v$9DURQ~yBVd`9JVT&#GN9z>-^~8fvxo!`w@vQv7V|!8i z@#CtqnfaG>nQ66E?wE=9*3*z#%Rf6(w*MGySn4e8IJTsT6tfvW_mrD;H&ma+YF{1Mr9RM2;B;H)ceY3P@4=b+ z-l(~~|Lxqr#=4HGWu--I04ZB^h;Fj zA4+{a9)qu4mVoj6HO$baXV_)`^CW zu4j1t>x(bJ^vA)@u5W5RJY8$QHd@qZzoqq1qJwCr(OuAPeM~F>_Xq8sg^y5eOK)$X zephtV^*^&}q*3}J=QOvr)`iT^9Te_`h=hz!NLadsU`0mA0e()y-FkSi>t99ixX*I) sA3q!m>Y@JQhi&%`tbhD4cXfHE)lba(Y`y*Y^=r9XobVpF693X~&M;H2Cv-vYq&; zT)ZuV{|Gpq)^RkoyX|Iee#3Fc8FO262V+NbGj0<%Zc9hU+jpddgl=0K+d4YgSRXUB zvvF?v%(Y_&QHa%L9moIv`yE7hAJ>Gb=x?@u!VEz(>kRz8YO#0ynkch-TH{Xs`qKI< zSt0#`rD~UnNz8}!YqT|g*sZTFZfu_4Ubs_rmi;o{=;4xX_NYG@-Cr*;sLz=;ytlu9 z&4au;QBnQu#VT#BD{tE4(xj@GiDn&3!tRnQeLP|!=oU1%;+GJk(?h#ohy7E{bZC3R z!A~~BBIg+1Hq!^D&$A`)xrGLuyO>(YWLv?Zd(Hp!x4Y+Wyp2tBj%EBL_Ut+3gX=cF zCb2_JiMj2?9sRuvDU5|rU+LLK`x@MAZ$0d%nrFKlJLz5$eP5RCQuA`6`&0t$@wEN+ zyA)OaW^FWA8YcNaURSV=r97$mLO;ltYpLoZ7xC0r*z*e=L<2{egY4NVZ>fCpoYx~4W+Z+2yuUT<$A*_1NzksD zd#oPM^0oWD&hahMFSK^h=c#3FlGW{lr1V>ynqEn5 zXP=ndrAWpTKuh=`D-oJ-_urrJ-k_AD2GTw$%2eO3*@sdEYL5-P0w>-fQR7FBlK6Q6WK$l;FWcg;QORDl6KeR6S`X{qDyt8zYkNYo>a z{kOCLSCaoMxF#-!M?fPl;ik21{)`!)sUqK&!jp5Ne9dq3e%l+>{;zd~oNb&+-1ne| zgImBNdHbOV`|>KydG)-w@tGNoat_<-|M!<)Nm`v}`~2svq3mn5ZJN)wEUluWqg#aT zXa48BWc>fL#c3LiZ>HXKt(iVC%|ZO)GEFIv z6b-7cC~BPI9@*MV_F3*@D=e4gpVRz&dE$@P%aMQ{8$Le1!WSYpOuM2N7Z-Cru8qgr zef-wi`n^y*w4*WbT?tqzL(i{1ZgFY+n!rH?Gp zvbsL+XpXqL%T)Wv%i#pML#f<{GX>5>_jp++-@i{`W2N@}xUxCfm#L{KkEKaEX6AH0 zK7M|?U!`wfyclUpl%AWLn|-=;?AEP`-@kt!xtgu1Rr+7M{x3u$4q?~jw&(A(b$agK zwcVV&MLIw3yT)PS&b8gd7|JGgzvu*?)hd>)asK?8=Z)BxFMs=!(pbuUZfw*N>eqk! z_HE%GhX40~@)OcHhVn+_HU?-St`;;sI{b95Z)<##i1T{WmoEYB6ciLhL_}C|YmLvw z5Lfk>=fYQsLYGtC8*%Oz{sjZ=AnU*PRHpN~))t>p=lW~DJa~JDo0H9F_gYuAjqWSC z@mr-M=rQbiII)>~~oC*R!b+B+Yq-0*lp`&%FVbzR+( z*RSs{nVOrwc>P*n>dbi*kE2va4jWL zb-$a*%=wu1*s$Qn1ud-~iPA2Lii%WJR2hG&|8sas6#rtAXL)Jry2JNTtCE5Otv-3V zlOoY%U!GXZPi}G?WZ*5|obJvkU%jTL?U@?BOYON(R9uXinHjNa%7a4vM~@y24h|an zY`zT$P`0)fw2=z9dHVDxxy?TstzYwA-P^ZsUvF>k_ImmD`Y)G0)W)f`zZ0#F|Mst? zCQ z0RK7G048N~Nl8hv!q1;SzkK=9Wv2JV*Ztp*&*~3ISk(?sE|iPB9F*N=)DuWLW#KF@ zzax($`#)v=zba!Dd0Kv9VPQZ(jRx04R#6fIyY8ZgQuSZrV!FG#N4s=1^5RNohGWBp znG;s+E*HIh`{ESYeTn~7ZD?O-XEV{$KXW*KD(G| zS~TtaK91g;2`IC9f8@K*d&fi1q(t9x+nA3DkaY{k#axLp`+Mu}Q1b(#pt z%tsI6sgeD+zr@u@vFY9q*R`~?E?#`}khI^_*-o)35ERaz_DVRZgJPE_Vyxzsi~<%F(i-X8>0B} zQh%y*T#=Qt1J%alHa0d~Yo)fj+*!H>H`=mvXB9%iNg8x7U5cD*>m#&w6V`uiPmieb z@BBz3t;rn+2j`hy>IQLP;g;&^U4zrnhqbtOX|*#}Q|{WeD{gFZl8V)}I*9uEJKMk= zdOA8}GlAUHjeiz=8w`n`bhfp{FbVR=25&kt)#+dF<+e8#EDk@}<9P|o zp`@ggsVATZd*Xke?7yp%aqlEHTj0nMp0?UgpA_Z;Ql#yAW$xU$bG96tE$0#wh`zqz@|b2R^ z*^xtsDz<6kQ>C=uTzl)azI5PBSWl_bgC#K{0&E~5Bjj^xb74_YZkL{m$1H*Gi% zuhL%yqo9tg%uH#M8nTtXrY76J<3FXHC+~hPy)(L}U6x*+TtIa&?%24`L@4H zOF<{iZr-H$V_6eIm!F@1nZ@9vr=;2Qjt(8N>MK{SP*YQ5b-c{{xjT36WO;Vne7OG6 z`qI?;l^x+nUA)Tpoll?M9aTYP|5T58(*ys2?M{8g%g2|klUMcm^ZC=KPpheY>FDTa zXdu_7D}0E2EPVGaYDO6+sl0;_N_&Ozz!AX{}RHP?Ha`@YwyAR%sB{Bm)4AnW?>s+qscyd$jMi^bK8$i(gPtA&HUkT62_; zco!GPV(I$u;lmuma=yNMI81V8LY1irPm=Yb@O@rZ#*u%Fn3szy*=^xBD?7UqC#Q%B z@vt#s{>+)Wii(P_@e&p{ZfI+3E3WcuBt=l}W&QQ*mzbCsyM*ltQPBe?ywtpEIH}iV z^6BQchwJIC8O20KvWecHDvX$%oNQ}rTU%QLqUPu4$BW$D+&nziv32zP>bZBAyslsG z{_`VU^!V|rs;ZO$RyMXU&QsU)_4l=netvx9on4>7#f$bcy{G1Fu(c7~|B95-?@E7C zT5Es^?(Qu8_s$KG2bq|dA_C5Yal8V_K!*d^85!A4bokV%ecvxCDOC^Eg*Uti$;I2X z{rqXunQxBjvv=>_h^Pbm_rHGqdb+Qi=ExoFd8^XvLkCnsTiV-$H7|U)+VbQ0p`%9w zHEgV`$az**7e)*JEIy5or`ab}c;hP@_Q&4d-qdvH?%lgtSy|oh?4nMS(hS;$_odQ2BUI$(>n=C_5!Q2JydQGkEN*ZMu3QV3eww8r7aX&d$!_Vq$@M zM61+W!FNefvcCi#$9|iw&Qi8-qCMGLuGVSyOq`Z2<$+`Iv)%+8x1|Qsi zc66Lg{Pe-P^LWO-!-o$eswpWSFdosi?k;+RSG2vkKGRpu|1V_bxc-F<(VI7KVvp$y z96sEcXG$6%arOW}q`%jVgDZHB?bi zq4if)RVAIz5UBrxPDcBfosDfQozn7JZ?XM>%^#_PM~@;i85tOKPX5`^dr41^>T9Ib zq_v4jzQf4po}QjQpY24!&zvi#Y3qR(sNahFYiIa2BGdF~xnAlso11grcZZ#)J(mTw*yb!-M(`R_)iqk~f8#MAq59G7_ zLJRHsWOYUb1O#%6ygWS}?%cV4?OMIVuG#5d(rBh#PK}Ey57`*^?%f~Kd>vVGQ0~ha z;6p(UgXv~~hCQ4zWaOUn!wtD+qM`+FZ?(rnN29z%3x1ZIT~-S2!rzSl%tU!htpgsb zMSg$!bWlKmVvDnkP6CCRlaRT4^@ZnyE_*JHU1UiK4hoWzlvEIph>Z;vDgF5IBMMY< zvZ15niRW)iOQq^*hS%wWch{@2~3Y>}+YFm3>)MRFs&gfA%cd1~nL&zf}7UfD*QU?bQxC|-eLcW-VsU=&_UVo zC+Mg>pFRcZG555#wP|0vw3m(T{4aj%@zz(lwy2pkL!;huUTX}4?l*7VynS2Pi2|J| z?%utI?=MtMO-%Y{N}Q*zX=u=_ieuqps)WW)e96vk24pCFpLCJOvMo!Nw3HMZI@FG+ zs3?D)^~i&&P-B*+x?Kiq$jg4VwYZ~I19nQ-be%A*rOHToB5GmVng8PB$E3_Z2Sr3K zo;!C>ElO^4c`P$Dl*(y`_U#|XH|9_SaBjnO>z1GHGb%aM{RJ2S#3(K<4y0th#Bc54 z>iRrAy|38bU+}Y+kU?3o>zoOygN{zzhYy=8b3;C>BeCT4d=)|aWn^Rk$5K;$El8_@ z=E;u{YNj`-e-~&s12eM{u^+Fn%d{RK%|LZuaKmZ$aWO^4&Z zX})(`xN-C5>u1lN6&9Yj-1+)SCeoQ?{;XM;>&mRLyga(8wWZ~ufCi7{>7T8w94Bw@ z7<>^NOge0K@Zdo-sjkN#A_SzRr5l7l_u2M+OpJ`2Umcy^6^$ehYMuZo*mpnS>z%J( zzk;A;Ud<5~5qT655hr#_+susD(QItS>|(FqU)^iho<>CUPfyF5e`Yv$?i?c{BRhM1 zf4@;jYwORS14nD1?9~uzF7-o{(8`k^b906H_-Y#)8+&^6bai!s|LW`OD=UrBh_TK$ z+1a)?Z|?8Aw?ckd^TrLn0BZCyFg(OBexI}F*8N_TO0>gw*UuKLc+yKRr7 zqLhALB$*{@IH%Y0{kx*N$&PQw4jr=W*N_W3M)Hkq{8LlY9zQNgj}RH3t+KQ!I9nyZ4*@Rs5){k9 zQY11~JyHMYfUq+S6;*eZ_T z2HpT#n*Ox94Guk|Qxtwu!%v_JI5|5<7L*hFd0m#{b``o-c=q&Z^Of0wVVPrh`*vD! z?c{xa+@Y7Bc0lLkL)PA%Z*l0R#>N*74Ah%AFU`LD+1_4PS0|)btaG&Mmn}ijh)*|+9)VzI++61gdB(>ae-yl;5Ly%f<#G z*U61nC^`VtDB85C2vi<*C2t5;wL{IIG$#m^PY1$IH-eXmk?~VaO+`zLyI=&WF^~wF zByhsHbL3Rcx+l4VR*00daMbb~iIR8tTC-lfFvq9r>;G!eK4c~U$Zc*u5)eS#WUxY! ztg5K!H+T4}ndC8U@1e18&k&(Jc~K)BBs@J|zNi@*5>S%T_3$shO72)}Z*2l(01Nq_ z9PjVPM}Kc=sYsR(1jxvI^(uA5q9oi%luYi@s2$D5P9hX+&)ql+%apF}?um&BFuM2H zRn*V%@$s#Vg=Ts_wY$F7fKA%kZNSm*XJ6*~&7irV1L+i6K7tyYmuGKjX$jgz8h$5# zvMP{r_Nqc?K!44{?pu8yz1W|gpwshVyI-iL6f;CyZ--L!^yyR0Zy+MW*0Mi(dJ>Y8 zxoByPjEr{Jd~a$($+9K0%Q;2cI%lEt!PnQfb+tQU_0>c&n3xm#QCQfX`BOmRD>UG0 zntj0kJ|KWL-9@WwYfqm%K?`lDuUAW!{ngzqjq3dT`7qk{hMO$E36WF5F$oEY`ZNSp z;Q8&TcYQ0PcXhnHJ^&a81*w40R@mJU(?JK`9EmloulW47{(ShxJ zfbkqM@rjw(EWiMNfB#qAx0HVOl{y^>(3pNpq3*V}Xm#bvPecIF%!LaV0Dp|XR`<~) zo6q!q00^Ov7LX_7c|_>#i-v{#ujCD$%D5e;QsNNc{{vhBCbOR*N*T%+MpQ8`Y(jm&BfY2l#I&x$J-P~_p z0o5}E)${Byguy+vbxDtoPZCta}I|`G5;>1+s5!Z0yqmX3&k(odxgS(NI!0e*OBv z@y}j4y~z8;6!W){V{hMz@d71_vUs+)wK=S79&HTckTkh@Q_8q1psY;BpmrD7^4fDL z;5R5UP&b|k*6nUN^7!#%)^O{nk>bg@p*r+vV4Q`yIo~M~$?NhJByaNbkMG~_cfLvV z#+SS8NL?V@{SW3P#^b-HrKLeAl9G}NM?nRYp8~JgK0${^-xn6vBCMeQ0>p;WKWq} z0T%b*0j0G_edo^IdmWsd{svLAqsL?nbFi{P)v>RX`mOc@Y24Bh5fw$x##Rcp2r{;! zsg5}!IE%`*Z{O?zO+m&;NJzlO!6~a*VoUE(@xDOezOzIp z9ny?9KtEqyU!NEoLre-8ev}avjoQ}8@&X7^Q1DGn9UwGN;iv+)LC_YkwW}8|l2cHW zx-IZY#s~MmQ!4$@))rJK6W~Kmyn?QZY(&|DVjoqoo0fMJc&tmrLRGa9`ws3qyRBdO zAK1{E?3yUDVXPt1o}{>{%6+T7=E+=@2PJvN=XzLh?w+xL|TnZy+Xi zb#{V$E69k8iuz}inbz%LS$azllN73^kXQ#P(Y5|L4fF%Z3)_l-@qYevx_vt&G*nPPpwxbdWR(O-ut^|qhUi^D z106*+-RPUI;y-|Lz zBM>2|kK6A+%}3$1Xigd#5nJfl_4u^@29;H3Z!f2N4?1&yl)IbTi|5ZTYikcSbOV_Z zM3xmY<$WRYpm)N~!3@t+Qn>l~B|Mg_S&k`X7d!rmlus53=~#v~4K@IT188~b)T!}H z!>DCZBP;Aq#g~vH(>)~-vkjdxE|VQ1)YK1~n$#UgxW>lEfvu$+hRGyNL!x71(2T|> zCZLj0v|JV4MS7&HxY%{%^J7FP$_6Eq;8}Hbro{*E$Uz@Y`fP20hic~-oVxQ{4M?)9 zp__CMN5wvBMY3<$=oU@CN1gZR`7d3%1knQt23l@zX^HiIM_jx^rg%>ZFC48DvSSsonQOe9(d9Rlr*O zeiJ<;jy#7lDbLmK{&)O}gTwLXvXBHHFbhQ%1lO-G&+xoEqpTbuy7C2&f^N4Cg~FjW zqV)E_PU|{gFH=*~)eVD*Ne}1b8SvLFx<7TdnSA?1JZacb5uHhRnlv?ARV93V!}{=q>OQ2!f2~ zuDxzJ13WtNiH)n$h{2m7Y<(KKm(8!z$5I{~#~CF(G87zx%cqw6eE2P9U!Yv0{^%Fq z_D!hdLPO?aVL1du%fTUd$%P9<3>7RlFAo?kLDtJ%S(*6x`BXX8kkUIk#>U33t}DacLB6&d$MOK>o37+U%F z@0ZHvp^g*-Z=X0>=vwA5a(+K&vaAjy2!Lf|8z3@ccv z+x2}6tj+m9Y>`O>r>hPuY&#?Y2p^7JWNs;Bi|=F0S-7`T?+9hN$}x|PnCpnDEf z1r7`h;Eg2gdU^XWLZn0tcCrn(8lh5FC!08fBKxvkO=JLULfL*4EWE zCrUF1RY5g}2!RetJkZ~=G08=X8wb#>d#wZA*<>7_HmItwh&!JSSFZ2)}{j|qOp>!6KMxL@Y0<3MK#Z}7`?f^{NT696&2(eaJRR&H*_j!b^t9UB_;dk1&{Hefsw3_MMpE} z@DQ{im50YqoCr8-X38cD+=)yd1>2q+O;H&`58~^o=3u(Y}z5!&C~I zT3V(6CE3{@z1E$_E(}}KIip`dXMwK<;CSKbi9hXzJ_N$uOFL1WF8c1rj~`dxTr-D0 z16Bu{`pC^6FE0S#`Z*ZyR6I)ym|T@rP_O{~08HTSBUUQe#lL@n31Gt;rynts*smf( zD0Aq;<6&*B_u3G&jF0N7HI1kt$;tPF-7prjKd$7;diG39Pfx9hRwvgUBHZ3AA;B^I zGS_dYYfrV*)I$5cDUSVtuAP$;eCX_{@XxiidMB&JupDj$+Gvj8T;8r;j9|^ceIq~_fMmu zhNh?0e|?h@7S1g!yv(3p$cJ9s(cKMo4#N^tC<(*X3jK(f(a|&NjJGpkOG6NsypkgS z+xM&3^TgTN+hr6lH6R{JJC4y78hj1!KW%THSK+1q$p$G44-)ACtk}}lhA|58LpG<* zg%_%^vnw)+AsDrKQ~~gP*UL;DYF#T-_(-(pUDz@~E>y&e$>Zq;!D$$c79IRh_cYWP)u6t#*{ya!xHh&qrO^3u~s5p8g1 zXWx?qv{c~Wcm6?}r#0&N^$QV9AlzfQAiwkT4l;=}d6PgQ!iD+J+M=URNJxZ3e9g&W zPU+rrrw4{S1}feb76K0vuLY?=`p~+3+1lEg*Mck%r5)ojJs&(`6L{_>$++!hV!~_| z=_?Ww9!d6ZZYU*4c|U*uzl)2IK#c6-;^Vt96&9n!<>caGSmtVv-3J9jkOEe-V_FDV z0{ra^xtl|hJ0K2n9&vTNgdKM&^kRbeh8#mhtFAr(4ySV8>|y{370EeL8cu}q&z6?E zI%A`wS1(^)#IQhqLWrdI#tMXh)L3&fGcrf@t=YMYr?9mE1H)82`ItB%+u>)Rb)w}6 zbTJ+xxHV#+;{|lscFxIP@7pUYVZ%^dQ-q-%;`3wqG%#p6S}1(X+qY-Y@OgQ8fjSZs z6R~y#-CXI>0NPV(jUhgjoSB7%j(B(kA1o%VmukNIy5W>ygA|!gTUJ=UYfepaylG)U zYP@UafjXvG?oPkV$w`iiI>7O43Y8xflzj8350jwIj^yYBfqGb(k0T?~FiCammInxj zgZOwO?ATkkZlxYndwSv=n(C)d=8%yPw`P(x{Wxjl7CcCF1Hf!lH`qgn3J|KDivcnL zv=W#!+!#S`MjWC10mipJlz(U4>3}f=puI>$Zzv$}%k*>rdKQvLsDb5MYZE~20l#l^ zte;m^g|iEvaHZR>oP2F4#EM%o0|R7LAD#h(4@6asqSc)oOO05@24PL%9FmGnDw|k3 z`J@_(E^^EG0V!Q+cDDM-k2{Bak!bs5TyIZxy}k4Mi?4nV01dE`qvIlMgt?0yWcS$A z8ZF1f#KosO@~S&Kv1r{37i^%`&K^)>SgTeD>BbISxp^CnqDL*mHG$a?)Bx z!k2R~AApKQEj})e?8lGCvYs-Mr9Gbg^4)5n6%Q&Ylf{b|85rgaa~oZ73`D2QagmUP-3~%HX3%L=Oq| z<;xfAh2LMn?f5BEg?#hQgSfi779&34ucf68LY>1Sp&8GQeLIkULh&r2D#(2Q@dJC# zS}&aI;=8$6bC2HN&ktT`2 z*JzfFgF_GQd1a8`{g(cV7A&@1g$=E(myxV00syUBo6CI-4rBBz`<0^EK+!Q*aO>vH z`p&9BR5=(2X{%&u811OAU=DoWhLi_ZJt81r`>T{Oc}Gnc_*r$#9n2`@GJ;*+(9`RI zj90H{Spg}AM@DOz84T@;mKL{- z^21VBmo@ALZTbl@G1MSI-TVOO@?&J)Y0eDxxhbYqcXgl!)YiU)f0uAnS$TLxfF2{R zPh{NkLl#4j6i8wK*EfdcoXwX_en82>I(P2cg^^SYnq1A&A(C@;afupfG1}N#p8*;K z*Gm+;1?M^%`TpQRBTA{!^8nHXy1iro+N1!!z%}B0d^f=P0XG0ufFg5az2*jY>oV}f z$P*J-^gG)`UtgloP~<5zJ}xYzF%la0G%%fqAua=NiCv ztvmBa0L@(s7Kz+f=gmz_(m>q-sZC7}fP_Adjm5bS{t3ezF3=sA*f3RUTUQqwCnu)L zXyyom5X06rd&e$BOvfC(&Ig0#=1tf}+H{?9v+_W@SzkcvF?s>L=D$4u|Co({)kuJ0 zcEE0;AII4^&I;x3bFsJgrMm}OTVC#?pgLSB1TdtPr6n;jF$XLLWFE@CfX%s0(0z6uN9Y zHAmuNzQtl5lT5q~f*7s75f^5*op@3ZbSQ9~>G2<~w@$up~-TKtKRuE-J7k z*3sEn<@D*phYl5&l#tiiWE-Ho-E2MNAmG0|(+95)Z8=g@xdWSrc(9V&bNd2CFg^k3 zreaTHSJ$-=J4=bnM%{avnJuiW4j()?(%+v8MpI^)Fa*%AYiO7p8JUkU9dK7nm|#c; zg^z)WX>drKZt$R5V}_k@HYOG+DJZ`G{2BOYnSiCIe_>oNPE;P^Z@NkGE zU^V6Ca)nZ!lk~UH_uwZEkBk_5!3K^^I2wn-`4Uvcx+B)*3Nj1**>!sV2Lka*l94=m zbgJ5@?YXe8*zNubBAhV7zoQ6%pc~S2enA1|g3h0+kc2}Y?&m=6H~{OXxcH=phX9*80Q0tfa_BCkUjm?s}hiM%%b(byV~;uRT72sx;NlT zN0fS;aAkG1X?wOlo^0=<^??I5qG`oL%ET-t|7rY~+3UjGi1h)Q2UjE1 z1MR7a3Ccu$xYA#~P&reVL({@V1N9jA*O6yuPM+?BHV&m68XhtY>xJo$Bb!^L4Jj~U z_C`~Mm0OuhzSM^q7_hCHg;mKxpoO)ZK0%4JK z7q4E$G-&$k*H04?LfgG=U%@;QtaZY*fWk%eRA6pko(9E`A1PO0hd^aUv|uy`;Z^y$ zFW+1hmS0lALt4t)b%zzXOA}6cFcrmNoDcOkcbDqfvw$kcb@%WrRk$9KmhMKrJAX%% z3af#u*6^Qm_>8CAvr5}$(>hk3YEYkFw$A{Y3sgmsW34!C(HS4A*yG7y+0G9WL@mF zUWEN}G}CF`FZOXpXb4>i;5t#xCn>>~B|*jwQpMYHvBUW(8mlWSkhdz6=$f+!eIZ() zYJC9^fR{d4a}SgH5uNplA@Ps};42K^l1*a4DVwfBRL1HYLLkxSGzjBek+x<3b#RHa*T!osxWLqkuXB!L^E{lUz^ocZ|pO_|mP zQ^LSiW~QpTI`BU%5ugAliae9%@T9`{C%Kh>)X@@?A7fD&9Ua9$&7s4G5%v&ntN3VK z4d--qC3$!h%z}lyUYfIf|C)4){kW*) zuD{RH(@ERRfNLaod9`+Roj>IdFip+1)TD}%6?X5Qh=c@2v4H`E4j-=k(HB$`#jjyB zQr%(?j0oZZGzM!J?tp6t>%C&xAa2WCBQoiKb(^Nr^{G2&cyx3t02i3u>^Xsup)r~R z7^T33#3XRwioTjpN1vcx@oi&>!;mCs?UXk-|Atzvf>J@xQgma#o$V(E@)FX#+iVal z9(c2*6!m|O*O(LPjW5v`ATJ(q%%=~(>+`Pe&ZTDTC{bDu{y=j%;N?rc$z@|726}p6 zMA3l9sO!7WZRPlEPRMP|(O^);w`U-7(@R8gn3kBD$?+Fh=ZsWQE4IkqEi;K zA0A-Mt-47ju?$hzY0>MFd4+xbs_5mliQzS90|di9@hRQ# z6L3;sqzKWL9mBtW6FkM_v1*jGWehd&@akN@o_x~YFX0r6Qt@9VJ+y8x02B?{c)*B) zf&w?^-4tzClL6}yNbOm=riezk@g^pF85p9YqN<02^|B1hdoj*GPPViY^J?J8e5#&d zU-2*u*7B3z+uCd`E&Fw^2BhR$G;@N@haAgg4z4`Wt8-~=&if9*E(QaIriR(O$_jVn zAJWQ|#jRhbR}gb&O>nl;xMgW#$RTFly}QFffK3?X7-KOG0wz1WghfTQFlW-*3O6)5 z;na?@K6gr1veUGWd4!d$gJ!Ado@UbQtXN|s8)L?<0iElXx#pqZz?r(NiRq@v^5RV~ zNSVEG^j@{owu0%%C2N?t8HUoH!s^k5*IU}}`6cYW9*l|#1?n8&9ElVf!G4e3&&UQl ze{TU+q0M1tBRVqjDRLbJV=mgeEjL#;BP$Ebf|(xp&5hu5vwKBGMVT5IaSx`yEcgQh z5~UNhZNEjzN7(Aw7#dqDhxY*(jA3)Lds}nX6Gs;bD&cH@C6pLNYXY2|Ou|{zD_U2t znJ7R4aRfM`MNlCc#|{(V&)2UbwRs6#-YWx$(bij*d$(7cePr=W#(1U!*76CJ53^Um z3?MaQG&tkct4bDkaCZQ)s_R`L+}XC%JWk+Ut++L#s!B;hxY*S)E`0xX&5lf}HaV)} zd}?t!svjs&*PL#FG6yU$cX)0R@=h7%U=6N_9LlvJJoC42ouDQ=G&cLk+peF0`Vku) zUHtyNl66sTF3dCUm02F$kSjWd)_%SdP%crV6A}}RCn@4@!8#)NVjmsM^yYqEHT)J- zIlI$)!_&JjSCKA0m&l%k^t}n@!F_j;a_rj&;T6PmFFpO7ZNS*BGuM`S~NfOd#4PE8aNU}CFyR4%V()@Qd4f-dVFNEpD1YaFsHPTL+a^HPf z1Z90;H1qXqMRoT6sj!d5hvfxb(aMoVo}Qi<%7;-yGWA4@U&+|Z{xf)h(F_v@2UWZ+ zj$p+Hq&|1Zbk%WIu-0!$td;JQv zp0aX4V&XpUHx-A4$1w9XjVEnjwcG*I)>s41F4>XXf`X`o&5|wg-601sIc?njduE2_ zCy|@r;lt#LY`T`hxgU!MV8*}*Bh1=;Eyl@VQ^LcWF|L(I;kNSI_{qIAIZje87(U-BqvwMdT1M{P((?6fy&g4HW*quc;Em*xcJA?scM~9 zbQpS#vW~O-9Qpm50K;HPU|y+4uSOYi@9WpN>vTkNS00i0p8uADPvC}7FkN{<0YQjU8YQN;wQrBqzjon16Rhn?%ZO zNJC?+Tn2)^GEb_>CHF~WY1Z%|3q&%qSMZc51!$r-;Uj64ShUUUMPu}jo3-*KYER4A8A6_(v?!d;z1|&92RZ|4- zt|BSKB7BtYJk|q!94Ha3$t#IUCgY8S371o3QF=Q6<@=8xGd|Dvm5GZbnRrl_LOL=! znxj|p9hX}4^gMB;0itzAMn=l7mIu&!TXC%#ofO9fWlPwbk7AMhzaon2`H`yIC8ed9 zJvGFQzxsMWqH&1JW;_9FA`#*wsrw})+5vD33^==VAm5_7%+_913VeN><=u<)bjWJW zPejv;iedxdC8e#|_+09PdPN)tsG48Ie(0-wqVu0|@Q1;r{F_F$532|`OINQZquL^a8#*nGQchLRk_lZL;IzyT<_-L-)+FywxL|>;1aOCq z-6bZZR@56JVZ^Jgr&k8*74j9f^Mj%84Gxxv zV46w&8*%-Fv4)(z7IkQj$g$a=sUDJBEN!A$HVz~vaHX}xZ>_zzcTXa#cx7u4i$OI*KCMpvfV1l53#psOYFI`wZfXS=$s;qT%71S2N|O%RVbADPg#^w(NchzQUlS%&>XG zPSe9jh2Zar+(q?x@`Uv-x8ZN)vh)J~K-qOTKOj(GjVx~}x6#@B*NQ^8*0N?T}M6ES!gwVXtV)IqxILX3rr?=y<*sPChS2QvtPaHEOp8RkigJPYAWWRcQ_s@ z34a_Dlh7e*#Q$AP_}?HG0MxuOzNA=@aHFl7%a&{SVP zySNC9;oF64dVP@nfZlj6!-N{=!fI3h_F_=*;?)xQP~)u+2X5W=IsCLO$I$TdWny+m zg#37eM#PhnJh3{G+QTpnU>rh51I!`ZAiR2F)Cdbye^^GkbGgLxL4m2uQ+U|O#e)Z5 zAm6gXuU<3Ju;8j&w+1nW0*6<}#IyktjFs>GB-?mUZ`{5gas+x1j2`F^0EHmt55mLc zFsK9&sLPPrY=8Wyi?cIR4AZd%=bwog{OO05e`v^6ZkN(K#k#-W()OhN9cf3)fk6s{ z2QVVWDb8zXaJ9bSCJAI;SJhb{Ri$7VKTY$p!qGRId0=+9fgaPC07aNqgP9XyW5ebpL9FZY}xEU^V3!BwJD$B-9asJyZy`qK~pvNNP<3V>dq7Y^Ma@J z#-}GzEiyE&vBCWeStUZNYWaQ*LJ`(&Pmo-KW zl5H$4?^1sR$1f>aMcxd!7$=YH&0ac*f*3Y9Xp*4?jS@;1hz|A;m&wAob}3c)np#Qb zaNG5)*gq}3)PIMjyg;jYz?6n29O6>st@}St z${ugpy!4?$?~u|*>N%#xllg~llh(1b)Jw&QYA3s~|7Z~U!r#Z&pZht0b6KS~RHtL~ z_*KWTh-uZlreXxNrU1Rk{Quk6@_C<4^%XG}sRUT@gUd2!-T&vXIAFkC(a zp1Y{6Z2+@ob)wVXE2hey^UPgCpzqQfU!P(KMzcW@v=`=vnIv!3$q2$#^9Cf^PKp|6Y9lxSISz{jBw5 zQ>A#z!Pln}Exd}}zmNC-8|W3o+3c>D44!~C$3aV*0;>S2XRQ$vzJ{{_>6 zt|-aR+N|F?40gF|mp@1gzUyLI|K7b7*7sJOKicU_ZI@R2SUjAPw^Mkd zT^8&QFxT|Cws}atEqBBhJER))>ks?UYRp=5HNPSu(fbff^YP(@`T4*5nR(*~2i^R7 zrP^qzdoC}j_vW{)$!Oq_HFu4hehBHoEjK87#Xxqg{|FcZ;Of|qatoM zG&KQb@?E2x_|G>&7|AST3a+h_&U_bbp-=H(oXuL!FE8KF5n2;$r!2dAcl@*^VT-(X zO{{g)I#Ms{*qRRUhcWy8pQRKvo9_{@OiLYjTH_Qdw(`kG^HbMQ-Tc5lmvAmQb@f3> zqAqNf=YMY&QksPQ@uNd`!&vF)6bhNze#~Po@$KKb<4Xg(((k;9?cBp9HaKDTktvGN zFi%p`B|oVwXy-+ISq6KIyx;<|3$SVHPkQp!#;6?F4rHaZ2h888*u_H=YIb8ECuf9= z-&B>3Sbu1F@3XyyiyJCo9IKea2lbxmEC?2?v`7i$<>#l@8uJ+@mFcc4fNS{Z*_ji6 z3-NHKScsMB&WncnI_6ZzMMYCzqS!XDI<94Y-g-%Ml#oHbgxW^&JwBz*fl+Cp{>aut zy)pjkHASYijPgHOtHAtLIg;;(ed$v^_%O$MNOkU%-A_rq*M@vj=r!fK;J$0SHwS2Z zR)Aj#ZZtIbuB_(9dFIM-`?H5cY|rUvG#=ThEx1Rgs-xk>V{^+7(VQ3e_D&R31?#*7 z58Ai~S=>Lu6LZSAW?*M$mqumGqEY%`$6tfK9dhCmyJO^!Ek;2e+Pymv0>iIj`)Bx? zm;OqBTwCraxx=p;mRw;GP>wmBC*BmlJU>=+h?WFwl8}^XyB4(9#;lR9L{V;<#c{V@ zW!7f($ArVtYlW7Oe}}20s@GoquT6lR;9xk?pu#AmJNP!5un8o33cG|PX%qC>ZV_9~ z^nDshk`0ajS@|f?H2DRq$~#$Hf@Ptn$G4<>I{AQxTsvGz@t(bEmHV|M%MU*MVIoPx`#qk8U1f-QQWhy=gc87h_9C z93-8S_`aNi(9kcy4X^$b+BQFz2Mi3C+seq!hEb();kkUT|2%EeAO59tcinS{NXO0h zm$Yc$IwmG7{-lF|w=r8?zV%lKwWv#!|4Hj%>$Niv+5XnaZ9Tfy1ZuRFsdoqh z+6~xOU0J?`tiOGP$*8CTb`oS1ILq)TEPv=$|JO0_v8WprJY;2KkEGmG<{rt+lLTl*EiayN|0XkncW= zKB?dH-vKKsBGUPku}+dp_zg!A+ zTeJXALz1c#o5%00f8mq;V-E(4(NStLs=J)28Ck@cySIYdg?GQCT-;4L_JHLbZ&teb z>4TpV89hRJr7uldj9v8=$+XgPXyS_2jEKJS_`vxp55{PQ5Obh|N|hyKevKoD1C^;| z{dZwpEhT0cD}19uxSj3l+IR-$90Yk;v3=fu0bwzoLgS&u(pV)GER_~iRJao$4qk}nh1@)Y zB5PK$#B+&?SI`KVyv1xJH?JIHu(h*;K2VOk9r&IiO1?&mEmGX4!WSzs%KpZLHLSn^ zF|kDR&{I*W9d<_g+cu^Y)^unq%q0&fyOqzVQ0g@cfpR(3qiU=QrVL<_>;&G>Bu%j(lJHAFvMyX^TV! z(r_&4vYB|{n*|hJzWB<95h7?+?`6Fj&R*cMZXUP8QF@QrgY(k!sk3Ct+1gip|Een@ z-S}hceO2R+ela!QKf_g977x-8_P>e?sN=Hkiy;YX)10RGn8cSkdQsIGtPOgQ+-Rjr@9X71>wNBW-}iN0 z?{(hUjHmMvdk9Cnr9S*FywXi`WOErXeHU^EL$Q8K7r7*m5d?_@>)t^{D|PVk^5Q}W z+@IqYyUn7C{^V3;4|$5_b>O!qw{a|AE#l{YC+L-3$e(vv{FEAWY$ptJmZqsLIIGl5 z_`ZG(ljTtM5Om^Yj0?8=i0TeUE$o?HP)mGBO%zFLlXF_n3z8#(b7@*fy2wx&OAejSiq4UB%E*;6NeZWjmkzbEEzpAX8s{JhLTw}X zs@4tffZrFY<~>cLLrt;@&+dql&WNLwpGXwa&`mvcMeZ+n3TA~PPQ)zvD zJ)lMx7Ny=59i4GL+!Nfc&d;}oRFr;m0GriiyslM_r=+da`t;5TqIQ;Ez)f+8a}@vR zSFOYBTYk+EU7vygv$TgF3Nuywhsun5wj6Q#g+*arEbtMRwySfo;u%<>>;*V8EBY{; z!o;+7zj_}jwJE*Fg5CRw5HC~xeEIJ?P~g#tq*rJ1$tQ**Ykny{WeM)UkWRSTK?7$l z-LwRA`{Fk6Axf^_h#Yl}Z!Ub87a7t&(qeYJ3DXHoU1g28Q)osSOL;JeB6ofVKmcpP zR*bXYpd6fC?&S%fibNmQ-*_s0gJVZW;>gij7w@Yjrvzi`5&ps7qSg5*n&O~Wp>jz{ z}3%Z}iVGQVNHm*ciWm$yv0pfQax`~wm>cSpnM9*7h9T-2qKBp&@* zo+Sf>JQl*e6HmXAo{S92&Cl;>YhwUz4t!plfxOc?XHfLRQn6y-c(r~mF`Q#`6gb@m z7gRrKt(Q8-GM%}!2h4b)9b2>K1+F>Q5v5J79ng^ z?S7F%8U}B?&A0c8D$?LF%2(J=xPx@pC&;b@wsnf{NaYdUe~JVlVIKLTsvtUI-k-XY zD*RhCoJ$VpHJ*d$<7*g{xUw|`3!;H?;*vLphY=>fYrU!Jno;%bgFNp2A!MErCn<~Q za_JT2K{J%3Ns;7I@Tl1!nMN4A>brgFN`*%ocTM(DYUjSa7($RTwDO&R$)by^#iZY4 z_xYNu3c<#S2JvY}hC&9vM!_G&K(OApQwRP@bMx%dQXyd_J-usUVhpW@23`S0OLrTD{7z0g zAddgOLlW}_&L~)Dx0YrAzA#~-V)dZa)$qd~djgC$-fH@JqIp*evd5oof~HDb+n9>X zUq)auW`Gy~QOeS-UF?`c*UESe zogNOHd(Eys2(cAXt~ z{wlj;%wvyG>YL2OLK^lK#h7Q&8q#*BnS)i^c4(%QFRu?=mTQGs7&%;(9GoDFlG->* zxn@7nylikU{Jrjxt19*w&xnZh_)nvSFZTp1fUrFu-IT`&F;fu{#Q>=93xW6ht-2aww1J)l!63J~L>@j_FLSa+<5go5#P|Se(w!3!oy-PY3Xp z_|y5Vg}w=wCBEuh2sr~r2gDTs3xd*xF2y2`M;7k_6GLWtx;JK~F*S2J^CJI{GjO_8 zEg@xOTGfy#1jssU2w?pnBq^|hfj(V`k8S^0UtK_Pudu{kSP(;Cu_HN?>0)af*H*7u z2?Am4!!{L(EqGXa(o$=~n!j?%yN#I$1?ucP@m`lZ?$LI3u_pu(&g%vx7y5ESh(<3^ zFtk_ghljkkro`T0WT*Zx{w?GcTTZjDCt0-?565#S8(;@u-$C`WkQ@sD-^o=$L7cgj z#cdrgM_q?$aPqw555|={61xfJ%^i5tY0HH=vrqAJrCzKWB?Ov8Hyg1sc9)(``uW4D zr{h*q#_N3u#>;$RY^94SyJc*JjsNhA z@K7?{+9@=~o_Ktb3Mz+cM(t&01%G0ep zO1ozJf!y5K0u0sF&LZ^~Op^5Z_XmujFV4jUS58+{fWd0C!g}j|WSxJlQy5$4g}eDN z+hW1V3oWHHcfP1o?h*1?B_D6(8{Zf2EO(8MY!1XQ)};6$C>1N z1^#)(I=^4B)5tsapyDdhS+O(5nLe+6or5<}{*}WvUNNoPv&NpVwLPn>PRd({>(|_F zzdV=Rj?pEPI4ikCz-*tm_0w62hsCF+&oJi$dhs#E;leiZefiRZU{fWnc01m!2EF5` z2czTTNl{U9&p;Uk{vgorJ)V^A(bCWWKMIjgBj}_dThB!uKz;zS!O=QQTxsW@BJs=y z*b88dL&L)Av6ur&X3^^j5Q1S0EgYy5fi!;zp<9qU5Y8$KmHXw@R6^|)$jcGo=MS|` z&FKmkG3XH+FyGHgKx2gErFHjYC=vL;H|iA|5xO@gaV99H>+^v<7sR)ZzIi`C=z7mt z{rbQ{%E7twP^|k~<6OS%`y0N1Gx$uT1+%ZdBuZ}|`?YECMV?hoKQ+UrIy>(SHv!EM zc|d0wNh!W^%~|6K?gZl>eH;ksFAvrOd<0F!FUGGGt4yg~5Yu8|`{|9r z%hfnrCM4T%bv5Y$=z8D?NxG=SE3PxqT9B$HeXuN~ef$Y>+l(>=CJ-RI4MCn#T2Vo( zIbJpb$}|833=|XN;`Zj>gxw(6AY_;(H^;Nd2e~FN`ol!xX17iGA3q+E^eV3THHK|!a$C)BT4={fv>qvtvHG-ZNIDsdvy0j_U+ z7fXuos?rTF>Fc}s%qs^Y1RJh!wu&sf=#cU4Z*C&3+XODI>x88JIU7{7dhP+ugp^X1 zwF@Ye!zABby^T_*xvtC^Rgf11nFPN4-m+ZSg6``nm1>~+IPTCT=|8&nOb=zUu4Q22 zxUO0ltZOIzd%HECy#)3Fer+NF{pzSyargZz;|ZX?kqS!OiHwci?YYSku>k^w;c_-t z(RLt6iOCt|K6i(>Z8Gzuxq*^a*Y-UgADA6qU4BsL;P*C_;2FASOW?@S3XAqg#Q<6S zmP|QreP*=1CBE5r;Bp!`X5c!_t~A%M*7(qaTy@<&f4sYHmtyr=?_T6rG((Gg(NGOC z(7w4gvthAhb6x;-w2IeFh+P1NoAq(Dk;YUlCS)gO1GEU5ZBiy? zuw>R7Gj~t+&`69mL(GGs5^=Xsq2L2Hl;xxd# ziemI+y;?#bvM8~XUlks*tv_;txfX&N;MN;9EqidWkGM&`-;-7fd+2b_bjh(Z{Ir}p zZksG;mZ3DHp$6d*iEq5N;uN$l&wG)w2H8}B!1Vf`b1{dkjQIHYb%CffqD9B#@i`A> z`$C;P?LSYSM}pwvG$!NNl&nx>W;BN?&mlsnYKG!#Z94Y%l5uTcc(dv!->>@Yr)nG> zYX9ilWzu(-#KhtYbPan*axL$j6S1P#p9WN;=S}4YAik18i;qOYfY1h4i-nMdj&55_ z3;sKcbuw;+JJI7;dZo$Ej;n7MF3uIytWIGjyx=A^Er@XsVPBOuB8CRW3(u7H&&r>g z)uZznnUGEWv!+rst{4=GPE#{y;e(cyv*|7i%Dr;Me4J@?Q|aVtLU>1cKZ;X?_#G}E zWSOg&hMM|TRcfkdU2|?mhJ3Z=aaew-qpkb*Y^<%LMIvJ|qOEjz?GlK(!i|2YkEpO8 zK?rh>iUw>pPL1oOBK5@CGt!d>egsU7x6@o+O)jsI{K%fUKZsTpBj4iejOV^CS3Q4)!Hh&-h9_yb=W|kdBeF3(GU7C zXh47rT=#(EEFfjPG;%e`S)>lXxvqhk5G3AQ(PNVkI|V_IjRvO%{fl^`_+>IoEI1y} zl1^nVlF45&&iZV9`+%#f180Ef?ED6KAJ&D7$N|cbLtv&r{|X2`&{d8Ly&PX3CMw#M zTanxx3vQ-><_MqQ3$NPc3FCxj)-P53M5Xoq*Sq$QWib<5=8wG}bI&?JEifJstV~|a zO{sGNmBVWMsLh8(p)0v4pQ8Ywz$fLVMIQ{TQQ##sJ!X7Bgqbf>F>rql8N3DD!_)>7i^0fi2LZgMA$4Opws1 zN^YN?XtKzYk}ch5xh_4WoUX^W>E9|sQB4;}_^*3~LcAa=%WQJ$MbR-EsXi<+E{(j* zcZaqXvk%o30Q5!!grsCG^p8>lBa+(gex}>fo*vEd$FySd|fWQ_0a+!Hfh-mPiJ=|GM_fzs;7xbzq$b>So-_AES zEvRZ@%{M2l>&1WZ`2>2twSzB!TA#jn~92<_*)%a+kxG1|P%>cCJ$8Zr|wAeK~OQ@w{j=A?&5i+?ng= z8?+3JFvU(L(lUEO&ydD9}djas3@tvKWTq$nA?+8Jn0%Q{XnoG%ABkB$$zu&0? zFMp4>LG3clUGiY`w{u1^Q{nnzLs5olMbox6UCb1%p0uMQDWQgPJ`1T2rPlMfr%!QE z@MMoHRYJ7zA(_nT+ngN5L`5U>@-YE%GovimUlS`xg9dPKIYY)*h2Mzn)v#+DBq3Ow zQuh`a3VSdS3-As=za{O9G&D&TR8pjfs4sHr?3w6y{@UT9kF+|4pEZA3Q6VNazW!mE zg)`mWNlk#od2o^SvbWDakF5A8cV;lLFj(4+T?KS(6VUEKwc6a+m}hDOVJ^g)ECbO7 zS}2G~J%T)u^V|Kd;^e835Fi402Z-pr)Tx0h#9L|XwaWPXrR>~EXrP%SoUDNNO*8{x zXwKU)du{rUh6a!|-E9EzTbDHRDjk<-^RsSo5E~jpFHOYu^%4Jn*zz zDa(cX19}ZX<5tk($nTHJo9W7J;bm4UM}1*Sk5%R%C)=h`y@vOJ0vAChFK}O@i~LRI zsXO9WrAs<*eezoTn$xl!3NpKI-25yM_DCdSL6%Ya%Q{LB^S1a-!QB%w5$IGgMuOK_ zCH0vkKG#u^Me0UR&TAP&Xg&^IoMG)EI(=2^$4325d7*u*^f5CDppXYe@oH#&Eitni@m4%=Ug< zx+}6CqYy`jbo&XdFW0tR8~A3H!F4VBU4fQ}hA4$85~L+5z-hFym@Wc=ey@-{Mzn%w zAXV^q8(0uQey2*wMVN%yR;>hGN5AB1z~CSI7U_B9!pNCdZWQ{;xqkv-$jp8nNcfgw!;qeRE#e) zsRUV2s*KMqoyYVAjR0XQ;+Q-rh8Z0OLDCRjHs0^=_yqFn%91soh^{`gPi$et|56Y1 z+YFE4st-eC6n5ubJ+7&KOBSoFiAH=^t8@OzmY?NjVfC_{lQ+0VR*+Ec@5b#_X^SL1destJgxC?l%zC>AATbexQ^l3&I(3p3=D*;c=cH(eJe! zYRcOBr}ut4bP*~@IwfMjq$KqbCw1*3-n=VNci@9zxVh_p%_eO9+X^arjlu%bYOH3O zB&y3)h0er><8dApAS(kD>n4W@jasvc*3Ss9|4u2g?V9$9FN>(6; zDIh@K!9p_shuv81lxVQ9FPQh8z5wlTV%cmnm7MznM=8r7*n{7g=z?_Tya|0-&1!XU zlyLd)g?n?e1N8ZscPbR_@4~YEZkAm#h#(8$MYJ23LwVOgj|3`6mwR2w+MXwFIcZ%7 z_tBoL%9gAq@Qqelr~ja8IsEr!+wxdl+OE8~Vi%7Et$<>@o6wE=WG01ZyWU?&U5ir_ zO3XpxbLg_}h*zg8RV? z`1zYnVDOShZjXA}LDLvVD23UZ1~ylzUNh~+KpHx^#eO$vns@LNq#&zi8NfVnf4FPC z``NK@Q@EWJ%F4Aa#?kSWqW&<%b0T_bnc6IhhsF z_~Xv!-ia1#^dcw}=IKhoT3%^-{GWY6!%-SA&v9Q-2>emFpotBMwfB9tl2<8?PJZmf z?njIN=O$vm2cHYl13N>lCG6?p%O8yP_gSCsNTz3_S*WnP60)bL?%k*U4*W5jc6 z_O|1%2yvw|WD0g_G984WvZw4h1D(rxG3zgz7~bXNEI_C(xR16Dj(`LNS0Xg0cJD5@ zkKL*#zX*PQU|1ntK(AH`O|fA5+tYZ^*4H^5s)w;(t70emXL7LhpUlVLaYi5%h6X+s7M zxYp@2fZKpzxE-KhSw~u0{T3NDwxMx`mf7xhIF|vU>i=Iif@p*h;;F&<;o+gjQkA{h z39ck;MzlfzVW8~YIlX9F9_}{TApl4Wav*#)KNfe7-}*RltAOh2wmpLAimC}pgT5%1 zlP~uIEh#M3-!pYj-{WoPJwhKUW_7jFA^W{L6S?NPT|RIU;d73GW;ZfQnFroSs5st@ z=a=!j0_qmu;mts}vf7D0aV^zTqcrMgdsX77U^wxkIQw~(V|d{q=Gje>FE*grS5a05 zGu;L;i`#V`5DtSKG8umE^=okuXzx$BF00*YS3Ab1;0Io;RFo6qB5e&fx>fiasAcj6 zd+YxL244w(0>d0MEa}!4$JR1%-sTRrv8#}*0Xb&84=O@D!UJED4+x_d|9k54?~K<( z;)a3WS9$s)TB_PdJQl|Q9k%yroG7!nU%x$Om-D9%#%RZgo_6fiut?*6dw~)SDd2x+ zu>V>~M;_sue>WnYYg=#0ZKL7_w)}qPfp*zs@{2YF>aoAeV8hf6LSa=gil3LJl#SXR zk38nrtHdQf)eYV@8mvXPJv}yD_?ol|43zFs9KnD-**);AVu|{)E6Q*GXEsPJMaY550D-USkJGsn$)GM!j?Cl$qC0I9`|R% z1P!w?q^Q#SW+l4>*|Iuh%2)C=jGcg?K##-z)414BA$=eopI>SHC?Y-9AN21X(f)|^ zRKHMJJx|d{XWR0`s3`E&I8V2dd-z8;=ec&g?mm0Bg9D6@ydZp{Cj*NuB$X6VcBSIx zl6Qo05;8DG=U$+wl9<~+!!DTGVz={*Nns1RgpTT}jZ+Gz`(aKYJ!M9{mLGE#Z#-B# z2%fm%m=GyEFz_ZM4h6xD%WJINrBcVv`iqAC8K34KHsAZ#>8U~tyvdG-YYO2ADCs}a z31RXp>ZpwqFs2!Oa_xWO4;5mopv5Yz-C@KoMZ{$Rw^L9M8ceIl$J8XUYg8AaV%7eW z-oVuB54ddD=_nX?BzfFrka&1j^gDE9;NWmRA!D-%Dhu0@62hr)(laxU874+lAP1tP zqgG&YwAYw&A)y;Li=W2L;#s&^+=lS)EG}`@|9tD+f|y^}l|XANhc%_W`gXxUYq4|x zb8;VLhM&fP6;=)cv+cvp70hA(6YjBw%WfKny;M}uZJJmaJqZ2yzm~N@1j?j64lo!U z3;uOkq?qrc@&B3=4HBkLHH%j2iuhWuwzx4Q4983h{;x5*sKcJbh*^(sw+kn~g1>32 z6sFRAHSNKFK|kXsO;NT0{fIk>Q^DaB(nUQ`$2S;{*bwnU9|sA+ZA&Esh~O zg@g}C;;uU}{x7IQAMRiNdaOf=qBX+h9~dRXHoXVb{qUI1iRTZ*so6c--`d`IM?qF} z5w{(WsEs=vnc|LW30(%4M5jcL3kJBAhny$z{`*x-RuDsVT;|lDFJEG<_Wyi~q{%1O q Date: Mon, 15 Apr 2024 20:32:36 +0800 Subject: [PATCH 2/7] fix checkstyle --- src/main/java/seedu/address/model/person/Info.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/model/person/Info.java b/src/main/java/seedu/address/model/person/Info.java index bd51107823e..cc83b63d050 100644 --- a/src/main/java/seedu/address/model/person/Info.java +++ b/src/main/java/seedu/address/model/person/Info.java @@ -15,7 +15,9 @@ public Info(String info) { String curr = info.trim(); if (curr.length() == 0) { value = "No additional info"; - } else { value = curr; } + } else { + value = curr; + } } From b5954321ebe523f5a28fd24f358db6b50fe59893 Mon Sep 17 00:00:00 2001 From: dabzpengu <97381253+dabzpengu@users.noreply.github.com> Date: Mon, 15 Apr 2024 20:34:37 +0800 Subject: [PATCH 3/7] add newline EOF --- docs/diagrams/UserDiagram.puml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/diagrams/UserDiagram.puml b/docs/diagrams/UserDiagram.puml index 77844c2da51..bcb91f9c6b8 100644 --- a/docs/diagrams/UserDiagram.puml +++ b/docs/diagrams/UserDiagram.puml @@ -40,6 +40,4 @@ User *-- "1" Education User *-- "1" Email User *-- "1" Phone User *-- "0..1" ProgrammingLanguage - - -@enduml \ No newline at end of file +@enduml From 7cb5ea4d614007adfc8078382f6d0be48bf46e52 Mon Sep 17 00:00:00 2001 From: Lalelulilulela Date: Mon, 15 Apr 2024 20:35:26 +0800 Subject: [PATCH 4/7] Fix Table of Contents not showing issue --- docs/UserGuide.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 510a15eacb6..0704140e444 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -27,6 +27,7 @@ Sections of the guide are split into the relevant chapters listed in the [Table If you need to look for how to use a specific command, you may skip to the relavant chapter. ## Table of Contents +* Table of Contents {:toc} -------------------------------------------------------------------------------------------------------------------- From da3b0bd72ca0996534111cffac8322296ba32c09 Mon Sep 17 00:00:00 2001 From: Lalelulilulela Date: Mon, 15 Apr 2024 20:40:55 +0800 Subject: [PATCH 5/7] Fix typos --- docs/UserGuide.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 0704140e444..1a7c24280e2 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -143,8 +143,8 @@ Format: `help` Adds a person to the address book. -Format: `add cn/COMPANY_NAME n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [tt/INTERVIEW-TIME] [i/INFO] - [s/SALARY] [pl/PROGRAMMING-LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]​` +Format: `add cn/COMPANY_NAME n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [tt/INTERVIEW_TIME] [i/INFO] + [s/SALARY] [pl/PROGRAMMING_LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]​`
:bulb: **Tip:** A person can have any number of tags (including 0) @@ -188,8 +188,8 @@ Format: `list` Edits an existing person in the address book. -Format: `edit INDEX [cn/COMPANY_NAME] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL a/ADDRESS] [tt/INTERVIEW-TIME] [i/INFO] -[s/SALARY] [pl/PROGRAMMING-LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]​` +Format: `edit INDEX [cn/COMPANY_NAME] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL a/ADDRESS] [tt/INTERVIEW_TIME] [i/INFO] +[s/SALARY] [pl/PROGRAMMING_LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]​` * Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. * At least one of the optional fields must be provided. @@ -398,18 +398,18 @@ This value cannot be modified or added by the `edit` or `add` commands. ## Command summary -| Action | Format, Examples | -|------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| **Add** | `add cn/COMPANY_NAME n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [tt/INTERVIEW-TIME] [i/INFO] [s/SALARY] [pl/PROGRAMMING-LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]`
e.g., `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` | -| **Clear** | `clear` | -| **Delete** | `delete INDEX`
e.g., `delete 3`
`delete t/TAG [TAG]...`
e.g., `delete t/HR Manager` | -| **Edit** | `edit INDEX [cn/COMPANY_NAME] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL a/ADDRESS] [tt/INTERVIEW-TIME]
[i/INFO] [s/SALARY] [pl/PROGRAMMING-LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]`
e.g.,`edit 2 n/James Lee e/jameslee@example.com` | -| **Find** | `find KEYWORD [KEYWORD]...`
e.g., `find James Jake` | +| Action | Format, Examples | +|------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Add** | `add cn/COMPANY_NAME n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [tt/INTERVIEW_TIME] [i/INFO] [s/SALARY]
[pl/PROGRAMMING_LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]`
e.g., `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` | +| **Clear** | `clear` | +| **Delete** | `delete INDEX`
e.g., `delete 3`
`delete t/TAG [TAG]...`
e.g., `delete t/HR Manager` | +| **Edit** | `edit INDEX [cn/COMPANY_NAME] [n/NAME] [p/PHONE_NUMBER] [e/EMAIL a/ADDRESS] [tt/INTERVIEW_TIME]

[i/INFO] [s/SALARY] [pl/PROGRAMMING_LANGUAGE]... [t/TAG]... [pri/PRIORITY(0-4)]`
e.g.,`edit 2 n/James Lee e/jameslee@example.com` | +| **Find** | `find KEYWORD [KEYWORD]...`
e.g., `find James Jake` | | **Filter** | `filter t/TAG [TAG]...`
e.g., `filter t/manager HR`
`filter tt/INTERVIEW_TIME_RANGE [INTERVIEW_TIME_RANGE]...`
e.g., `filter tt/before/010120200000 from/010120220000-010120230000 after/010120220000`
`filter s/SALARY_RANGE [SALARY_RANGE]...`
e.g., `filter s/2000-5000 >=7000`
`filter pl/PROGRAMMING_LANGUAGE [PROGRAMMING_LANGUAGE]...`
e.g., `filter pl/python C` | -| **List** | `list` | -| **Help** | `help` | -| **Sort** | `sort` or `sort rev/ [pri/PRIORITY] [n/NAME] [cn/COMPANY_NAME] [s/SALARY] [tt/INTERVIEW_TIME] [jd/JOB_DIFFICULTY]`
e.g., `sort pri/`
e.g., `sort rev/ tt/` | -| **Resume** | `resume cn/COMPANY_NAME n/NAME p/PHONE e/EMAIL edu/EDUCATION s/SALARY [pl/SKILLS]`
e.g., `resume cn/Google n/John Doe p/98765432 e/johnd@example.com s/3000 edu/NUS a/311, Clementi Ave 2, #02-25 pl/Java pl/C++ ` | +| **List** | `list` | +| **Help** | `help` | +| **Sort** | `sort` or `sort rev/ [pri/PRIORITY] [n/NAME] [cn/COMPANY_NAME] [s/SALARY] [tt/INTERVIEW_TIME] [jd/JOB_DIFFICULTY]`
e.g., `sort pri/`
e.g., `sort rev/ tt/` | +| **Resume** | `resume cn/COMPANY_NAME n/NAME p/PHONE e/EMAIL edu/EDUCATION s/SALARY [pl/SKILLS]`
e.g., `resume cn/Google n/John Doe p/98765432 e/johnd@example.com s/3000 edu/NUS a/311, Clementi Ave 2, #02-25 pl/Java pl/C++ ` | ## CLI Syntax Summary From 24a5bbb24adeaca439431d1b8b392e09d296b815 Mon Sep 17 00:00:00 2001 From: Lalelulilulela Date: Mon, 15 Apr 2024 21:10:30 +0800 Subject: [PATCH 6/7] Add planned enhancements for more specific error messages --- docs/DeveloperGuide.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 8510e1df5f8..f6cc15c69ba 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -482,8 +482,6 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli --- - - ### Non-Functional Requirements 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. @@ -569,6 +567,12 @@ return a long list. It is also not convenient for users who want to find contact allow `filter` to filter the contact list more specifically. (e.g. `filter t/TAG s/SALARY_RANGE` will return contacts with matching `TAG` and `SALARY_RANGE` that falls within what is specified) +3. **Show more specific error messages for our features**: The current `add`, `edit`, `resume`, + `filter`, `find`, `sort`, and `delete` command requires prefixes such as `t/` and `s/` as their parameters. This may + be confusing for users as they may input the wrong prefix for a command (e.g. input `edu/` in `add` command + instead of in the `resume`command). We plan to allow the error message to throw more specific errors: `Invalid + Command Format! edu/ is part of the resume command and not the add command.` + 7. **Allow `find` command to search contact list with partial name/company name matches**: The existing `find` command focuses on exact matches for names or company names. This limitation can be restrictive, especially when users are unsure about the complete name or are looking for contacts with names that have common substrings. To provide a more From 277f1155b9c955fdf8ec114704c009f1e28bcb39 Mon Sep 17 00:00:00 2001 From: Lalelulilulela Date: Mon, 15 Apr 2024 21:10:44 +0800 Subject: [PATCH 7/7] Fix wording --- docs/UserGuide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 4bc44923f7d..537d5e2b7ce 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -12,9 +12,9 @@ contact management tasks done faster than traditional GUI apps. ### Key features With CCBot, you can keep track and manage your various job applications by: * **Filtering and sorting your contact list flexibly** -* **Predicting the job difficulty of each of the applied jobs** -* **Adding additional notes about each of the company contacts** -* **Adding interview times, salary, required skills, and prorities to each of the company contacts** +* **Predicting the job difficulty of each of your applied job** +* **Adding additional notes about each of your company contact** +* **Adding interview times, salary, required skills, and priority to each of your company contact** _All in one app!_ @@ -180,7 +180,7 @@ Format: `list`
**:information_source: Note:** Extraneous parameters for `list` will be ignored. (e.g. `list 1` is interpreted -`list`.) If you want to find a person in contact list, refer to `find` or `filter` features. +`list`.) If you want to find a person in the contact list, refer to the `find` or `filter` feature.
### Editing a person : `edit`