From 996511f4b35a40a5ffc11eaaa3cacfba8b789db2 Mon Sep 17 00:00:00 2001 From: grenos Date: Fri, 10 Apr 2020 00:42:49 +0200 Subject: [PATCH] table show, add, delete UI and persistence --- .../UserInterfaceState.xcuserstate | Bin 76266 -> 76035 bytes GHFollowers/Screens/FavoriteListVC.swift | 119 +++++++++++++++++- 2 files changed, 115 insertions(+), 4 deletions(-) diff --git a/GHFollowers.xcodeproj/project.xcworkspace/xcuserdata/vasilis.xcuserdatad/UserInterfaceState.xcuserstate b/GHFollowers.xcodeproj/project.xcworkspace/xcuserdata/vasilis.xcuserdatad/UserInterfaceState.xcuserstate index 4e4cb2d53c29be592baea6997fbc3d6f6bdb58a6..8737261d4f475220e7cbd61e54a2252b3108128e 100644 GIT binary patch delta 35872 zcmb6B2VfM%`@oIgY`fdNvi(AmOYijFd+)us&_eGWDcJ`Q6p-QqqNosh=m-cXNRc8{ z0jY{~6_uulSdjPGy}Nkm_x=6fKVg@!GjlhedCHV$c78a|OgqQS?@7ii=rtzyoa3_N zYsVeOUB|bMpB=wAo;ZGWJazo$c;@(>u*5?oqLD%*n#7QJl0Zt3lB5(VP0En6q&{gt z8j?n&F=;}Yl4hhiX-&G4ZlpIEKn9XQWEdGmMw9Vm0+~c6lWAl+d7ZpL=97(N6WL6* zkga4J`M_*SQgV-x&&Y9df_zK9Bj1yIo56DCEh&(1glc(e_ilJDFqnwmT zNt8@QQz=v`l}4pg8B`If5>=V1LDi&cQFW=ZRDG%`)r@LMb)-5`ov9vFPpTi)pBhSy zrzTLZP!p+1)MRQV^&0g$Wl{^NMY+^=Y6rEG`jFa1?WXonA5kAud#QcYC)9rG0Cki) zMxCNAQkSU9)Gg{Zb%(l3eM|j7J)nN3o>9Nk4w|7|G*5eJnO0~&9Yx2|33L`+m@YyW zrHj$U>C$w0x<1{MZbNsVyU^KmZ@LfNpB_q&phwcL(XZ3Fv*_9M9QqAG$Z>^cs3Cy`J7cZ=`q7JLwPUUG&HFe)=SRiat%Bp+Bd;qQ9oE(cjS5>09*o z^nLm_`WgK@Lo*D+GH%Ahco~_|nIcS4rWjM4DZ!LvN-?FGGE7;fE>n-G&op2fGL3SX z#!PFbJ=1~d!gOVZGb5Oh%qV6wGlm(yndBpt2JZA|@u^!gT`dE=w z*=RO~jb&5VR5p#xO=mOMqHHm?6kCa{##U!*vyIs%Y*V%w+m`LZc4fP<-Ps(rFFS-C z%}!z`v(wqx>>So)-(mCEe0CGNnf-v>&hBRqum{;g?5FHu_5^#9J;i>_USq#uud_GU zo9r$2HhYKtp1sH3XCJVCa1Ku5WKQS&Tud$(%Prs*af`WkxTV}OZaKG#Tg~Nj>$%O` z7H&JYgWJvR;r4N#aEG{0xntaC+$rufca}THUF0rtUvXb^H@KVJUG7`%2kuAiA@_)T z!u`tq&i%pt&Ao8aPR8kS@=mYQ=Tw}kGs;=W8F0oqlbp%UbZ3UMh%>jSv!t_>vz)WM zv$C^_vxc*#v#ztAvyrp0v$?Z{vyHQ@v!k<m<{S2|ZY*E#c@`<(}z2c3tUpE?ga zk2sGyk2ybco^qadewpjM;JoO(SAr|UmFcSPs^O~Xs^zNfs^hBbs^_ZjYT#<(YVB&{>f-9^>gLLE^>s~hO?FLj z<+=xk>P>kHRe*E!dD*H^BuUDsT9UEjL?ay@tb?RvpGc*0XW%`-g9^Ss2%yu!!uv3!7! z=JehdxVdKkA=O$0pXbNnQ&Y$cZ|EFyHu{bw7ZPEth=1Myt{(CqPvp2n!B#Msk@oG zox8nzuzQGmsC$@uxO;?qqBh%l)R?bmzO*yEnKux;MEuySKQv zy0^JMaDV9D=l;Zf)P2nTnfnX(S@(DD@7?#@Ke&H%|Kz^!e&BxSe&l}Q{?q-JhwB;gG_7w3H^%V0I_muWj@>KTJ_SEsz^)&S~^Yr%g@#J{=dir_# zdj@z0dIot0dxm?)dB%GT4|t|}W_f0N@;oa%D?O_`t37KxYdz~c`JVNj&7Pf}4?Vj) z`#lFd2R+9@`qJ$F6ddcN~~@44r>?|I_+)$`Qzo9Bhs;U!+)D|i#V zN#0~{iZ|7p=1uozcr(3O-eTUe-g4e*-s;{O-kRQq-bUVRZx3%zZ!d3eZy#@tx39OK zx4(C=ca(RccanFq_f_u<@4MdjyzhILd6#?hyeqsby{o*dz4_j)-rQ~854<0FKlbkR z9`+vbe&zkzd(Hce_qz9n_onxj_qO+r_j~U{?<4Os@9*9}e3Xy&Mf+lWvA%#W&KK`X z@Fn_^e969aUol@fUwL13UkzV7UwdB%Uq@djUuRzzUsqo@Uw2sm-$dUe z- zUGiP_UGZJ>-SOS^ed~MRd+2-Qd*=IH6h%ptMMYFaP1Hrd7$p`G17eDpDyE6W#NuKJ zv4U7pY%aDCTZ*m3)?yp6t=LX%FLn^Sh`q#tV(uVuusB*ABhD7*h;N8<#d+d2v9#bV<4_-H>idx1=AWA7vs_GA%PQD|50_cFDXf$Ua$@ ztI5^n8gfm!mRwt|BiEJd$@S&Nax1x$+*$4-_m=y}ugDYSN%CZQikvGO zGRRZqY4S{Yt~^hEOI{+sE$7KAE6Q&DB0?j@no4r}kF|r~}nO z>R@$&h)RpQgb+x)iU8}BB^VRk026dylRo$iTR}bW>pQ*>y z>*@{lrg}@gt=>`Zs^6;Lso$$VslTXys()#W#%i%zK#SAjwFE6uOVX0H6fITD)JkY2 zwTfCLt+G~ItD|+&I%{3Du39&(yOyo>(0XdUw7%L9ZKyU@8>fxeCTO5d)s|>)Ywu`F zwRg4mwD+}TTJCZ!Pg|{R)HZ3GwGXvj+HP%+c2GN{UDmE>SGBLSueEF1H`;aWhIUiC ztNov0!>H$4YkJl6Q6uq!sL@%S4)vM~&^fr21y`A1( z@1S?oJL#SEE_zqJhu%-`uMgKp=o9o;a&Wzo);iFVmOndHM={ zrM^mEt*_D7>f7`W^zHf%eXo90Kc;`CAJZMg5X~Q@^F(*6-*K^oRP-e#%e# z89(di{DR->_xVM?>W}uv`4iiv4jnUi@Og*V;d6)%$)P&@9h#eiyoE_6bFp_aSKdei zQek_vuMu%?H$F7>7#|yH#tCzXc->jmXlcA*%r)CcUz5saN%;<4x>Wh?QA!@kU1Ai^ za~wA+8l}S@eadmhQ8>?W+NhN0c*7`Sl+Kp4`aQ=E8#!QfPSXLSMz^n1eAKuBeMg7$ zpLbkv`12gOMn<0FqEW>t6Hd6|xaugpeEC10e9dvgQFw*p8^?8{no)g)qoz^IsBP3)<+$&7;CSeGWYjh48TE|@<|b`oA;%w% zKOKKLo;&`=rg%Xdj!A?fG-1q|db!wUMnjk3Fq#_8zjTO%BTnKXJfR#(YV9V0lk{{9FlX+vB9yC$VADO#O7_9jTzmu*WjEs zcBYm1Saode*t|{f|G}&}@taxlcAChjgGFlsLjJ8Ic(Qb_+jbxF+j!aUN6h^tVH)b2UF~^u~KJ+iFRE|`0 z6kbcplM19FsYEK1Dx|8>!RTmoGCCVwjIKtvwT}Cw2B}GEIWnyuY_0A_wlQ-1-l*~< zp#^D`M_L*^j1d<|8`2ih+mZI91L;UQkFhZwz#;YLqmusJxoa?9?d*GiI2 zdXSz*Z=;_vz!-F%^dUJ|vM=dJ`gd;BCuivB0euJLjBM9vXrG+%Mjs=`=-a*I_zHdd z^r=v)cgc#S%a)XwVCxJfL(G_%1Z;_+W}%prlEDuejy3LY^v9a^?b4uO{b7R#4;z;= za#Z+x#@NXNtz>ghOlHkj$ixoK+teC4vgd>qu*kWXk zxiq#+?p!jjdx601?^;RbTHkigGCHz=Y}g`2lQ)S;7Lr9|F?owDA#am+$Wrnyd5^qL zmXYPyKr6^fvWl!GYshf2j^vZ|#wcU7F~%5cj5Ed?6O31kiN+*jvN6TTH4Fo=?WP*j zjOoU!9%BYJ$V}rk<8@=!_D+G`L_bW9bS&)se659Kvh7%NRFv3N~|(qBsRQ&GlhV@rX{p<<|bN8y!JEES;Q zj5WquW8F$Bfl8#3jC^CgvDuuGShq|j>6J%i85@j2SIHErC{>IqPL*(oR7sLcm7+>h zWpEJ(e{eCR995oBRC%hR`D@~QcB4d$P3Ekm9&{C|s_9FPVOLVssOqLC*(g$*sLMpI%fS>%YB?y?IoQvCk5UT(^DOHp2%G7~OtA&bUUSbB2tv zML-Qe5l{oELDXR56XURP?4Pe0MvZd#S5m{N5!6Uyzj44gxRM&}$fU*^htSu2YJQhe zFLzL)!}=4h`xI*Ge~L`QBCi@pu*gxPOgB`GdVL0r9yYSp$ef-jH5Y&VQu$fb-2arH z=SZU#7@whf9XHBkOA>xUyU_y>WI)a+b3>}0yqH?$D7=Y!i&{dxO}#@crQW69qu!^M zQOl`3Y6Z2@IBDKUEmU?BwVGPvxKFL4^3mm`Q5*61&D0iZt0T?0Y}`c8am%=kwM;Ya z;_u%YKLbhHUOa6)$vsGYYPIGe<4PWN*tq(CwdQA})e7o3b;9_{_~xIMJWZYb57s$s zmM@L3@e8jRWjYl!OG?d|Jzi>(D^%RI{}lcP>wm+zj&;3Z*3KyJ{*L+{HL@&f;XQL& zMrP+bwrWv7Qa^QR-p2O0Eqjjczk<5&*c$mDEVhT#qhQY);qR$ms3)Wo_0)0ScxZf& zzWzI-Znjjy92V_2V>9D(sXs`sRn(uV8hs^a_~BgJZx^-vcIXl9vmZUM9=+`8ZO2Wkv_>d{ePlc~9A=5GRm@MC zx=g*f#@ozvAv)S@9_wdU&@tG%Hjgb-4qY)FK*vMJ8NU?BgifSWv03RPI+;!}o*2Ix zPgl}ubUK}3{AN5eem8GqHBw7hrAiuqpu3{W;HQ+O%bC>*$EF*90!h3~SD-7>mFUWt zP=&5aS96@EYtS|6T6Asvtu9^9%q_enw-OKzh|~BBNP>a?VSvO(v@+d*ZWwH3Ahhv3 z*vz(J(#^1a>E?6`x+UGp_}h2^!~ul-e{JDVV>WgCj|T2xH8A#m|91=94Sb#+fOrE5 zMGvM`vt`jjI%_-%HuNxhc)R9pu;W}o4>KnhP0SuePj>k8>CyBUdMrJT9#2o8U!f<` zlYqE@@IVA0ZXg~YULZaoA`mH`o?_XeBaNO)Pot;fzcYZywh`j!R0E;|iLnN%u|}Eg zd6Pp9(nZmK(0@1iPw5wqOa_NorLEFs(8IMJ(64{E`1g^; z8IEybT^T2ka(U=&>Y7HW(kdD)BQg?>;fnX^Il5;HnVquzNU5bn{MX!K`;aol=-jR3 z2>A)a7H&$V;xSZ_g@KAZj7pL3NJuz}H9m4|aFf6c0DCWeV+0!$o!d;*ZlK&k+#3Zxp4>Og7$sR^VOklNUVG098{lggwq=}ZQb z$z)j#T?e=t3UIZ7YYp6R;6?y93b@hc*$R&vmSd{ogn}uL)vm}?Vk$HE$*4Z{fYb-l z07ye1jn**Lkf{bz)naM`X$+(vkXL}b0b~u3<5tg?X+A6-*q&ZVC#9P(&2b#UG-a9r zX#%9#3Z@0q5=aXmy>JrukLO_88R)uLAWh9}ZK{~LO@xeEqekV79#wpN@1FKAk(oP( zGB?kb8knSBMN_U4)u9{H*HL&K)1Ap?dSFxcVtO-um>eMZb*+H32GRydTOjR#v!E0AtLx&!F}q^Fr%Xu4V?)Ag$XQEa&ICV z@|ev)a}6BV(hDHoI0I5_1xLGINSK&75IA2Qm!Ea3CXqj5G$Bx2sRg zy+k&wW-c>Vn5)cJ%-2B102vEp9FXxqCK$79SH)bn$GpMcZ(&EwoWf5EO&pkS(T`bQ z5d84)(;smx8~oaWFAXO>Canr;ga#B*rSO!4dB*%NLupEe#lkZTKpX=|H9dnHBz?nYChL18f4C8XL#P1DOG2<_b2E zO#<>7kk`$9wJOk=Y?c{cJCR+<7G{f>f!gir6lY7kq;PC$ww(15W!SPn<^q|&f-TQh z0I~qc`!9o54S~)xcht@(SJ3|x!+vfI4Y@704qM;)z`ATbAa4ROSFjCObRr9ZEHb4! z36-0p60j}UmTW5)4RkS(cYwSL_cqjVEY9#+F8RNV&x5g&(Lr><_M=-ABRJ!;OZDVh8_Pe zk_l`sy1ivUa5*Za#*aJOS$~3GH^ut6T-IQLoeCrm$VwoqfUFLG-K$o55bO1DrSa=l zV7>RRm~?k}LA~Dy*2~Ts0T`-xuE;J7R~)m1D;^29G@Snb3buk>ZGo+1v4U%XB&24V3mr!B{ zy9Wm<>`wMWb{D%F$VMQWfS{|{vWmXUe$4J=_t~CkE0AqKc9?(FGvy=fF*G&yD3A~G z*w27$H<#BhQS&tWCH7G48TNDb3-&B~jy(@#ClK^byMW*)?*a1B8ukKvk-fxTX0JHX zfP4&OFA)5K{Xh|M*yz6J7$F{pFxPMwRDsaR}u$&q1E|G@reK5pR8WgoIn z{?BUv#y$&I`w);%vAIIZ@+bTJ<+>LnafHK>%>Pe-_ME^qadRHdYZ0J84+A*@)?Bv*w7wI9l1_iXRZs^ zmFvcJ=d!sTTu-hS*PH9Z<#2tueq4WU05^~u#0}<#a6`Fa+;DCLH+K*s}J3g|jOw*k5j&|`sq4d{1( z-U#%5pw9yiap~WH5r7E*QxuqLz_b9S7cgUhnE}iaVAcb(512E++yv$cune#|uo+N? ztpscnV7mc36xdu~=K;G6*bjg`1nfCr?*RK7aBkq@fGhrz#c&Hl#&FV}gXT7g|Hn|c zw?k>C&8q5!rvn5=7ZCb}H z*(@d^c~dC)LblY+tkt}UxuKaB@ueSxk}sLnoA-|>wk!1fO1AVW7HeQW>Jnwfw8)Cc zvNx3Ft8A&0xvga-b51Xp`A&k?%~q|em^a$F z%~>twi1d@8^qXd_c2&%KE&UN+|3xV6cDB^U9)vV&6&F$TLMZtzN}!>6q*dg{UJa#v zXD&#xN1SHy){^v3i(j|X%~~z1n{!$RBEIuZsNj#;(wI=I#Fz!rS25eQRU^`#h0=b(`nJ&{hQr+RP|B~UOI6JHcG5qk zoKz_7H*CCC|3EmMq36H9EZQhDu6=}ToSsm&KMQ2{&P(ZXDE+y)zkR=mkN1b3zsQyb zgxbhs&g)R!tv7%F^`Q@HL~rSh0=6X-cAu8+dA|-Dy;K3 zTQYBSRU@)=2xW;5yMqN;g$hNejI(PfLu@!h({2&|!r3#F9A{0iYW1#cMs*M)KE7`# zIU!qmJ;E8@#Pi(H^Q?k3zeznJm0@})y-2py*rvMGLy4ezJ(OH5Tk0C241(FCrz;}c z+)%a>*-}IFc-76lJv|Z0W+=Ioq)Q+E7|0wAJBV*E@IMih*;3bE9*UbF*`cbE|Wk^8@F0psD~> z6{u=JRR^jDP&I+71ypUI>f}3j2AA5Ldz>F(lr+t`52(7Kr8cS&V6368kp@(=?LA*D zL%KVU zTBtuc?>iqjA37g7A3J|`{^EQBR7;>*0o59)HbAunsvS`6f$9KM$9(705b7V!KQTy} z=KLF|PGQt8fMJr^7HYPQ+TJA~s>=;j=MbvPXQ6)XxNlv^iK}eZ&010{{1T$e?~1k& zU4?AKZY$`^u2^f>NOd<$^bf=)x>9U97cTfAU6080QhlSlX1U5BoU5>_h^wfpn5(#} zgsY^hl&dsQy@2WsR3D&nfa(iWKcM;pH2|oA`L42IIl3xYa&)1*2ZiBKjzfcT9AU$? za5c2x@bTaFCJY}2f|ziqQkHx~>J#J=yc7l}8!mfLJIBGWClwXSUz+d5aiYrSiO zYolwEYqM*MYb#K%0rfgivw)fn)EuDR017KI52*S1t`7>>cG+wn0YIRtHWq$Y572Hv?w>(Y`Hv#Y`hbwH6b=0 zZEqFt<~`O0)LNj{1@8z~O%g(AyvqA+G#)1=D7E!ibskL)HFASdrh7Pu-!x}vztR0= z_c5tRxL`b=WHa-L7PFVy98uCl|I(e$;7cJjpUG$Oh4~_UQN9>ooG-zb1PW!k4X6)* zLbtjDsGUH42-Gg1cIWe@gVcO^zJe9C;41^QCrte@P&g&Eq88LAHg$WxzD3;tsE@+b zjgk8QOU#0A&9@7Jx3$6dMFt?S`T@QR-#rM3i<)SQ`~Q`p8{dZ?YVqapeffTTe|`Wz zkRQYk=7#`v5U4{yeG1fJppF1_6ev`>&wx6f&kqYLEI-;(SRT#wM3@g1_Eb<|&)9fP z_-Pj2bf8X#@n#|(ma~5_Yw#z$+QQG}7X+E++f1h|Jq)`So9Qk7ogfn$CNh2guMFMz z<@|b!DUV;lujE(ptNAtjT7Dgm%7#7DIiSu1^(9ajfVv3OC7>9#U{!+&pqUFUD`H~CxqZT=2_m;aXk4yfBe-2v(@ zP~QTD|NS1QdqDjF)Q|c6y^u2A=O6G7QCN?G`Y8A{ zm_n3|`D*1BnXK@l8`K<2&qDvkS=5Z^&3#nfchOM^do-)^%qdjfx^nZ z$QQDLm_jk3xU~sIz!d>U2$N=jX0074K)YU4Cm{_G+6f)4V%lb*gT+qs z5#?-uBXk$~TkP3F522^fOXw~15psmSLO-D0Kzo4p0__7@1X==G23i4H%@+oQ*oO#1 zg<;4(0%$GF9tCtEpkpogfDPYKm~6pM0a_2kV?<_^FqQPPE};F`=UX>KubEOa$Q>TF z3A2PZg5Yy(@MsHQo(&#j3%J@8ckCizNl?JJc!iJ{7X2rWE#UWsbr$3@VY!eetPoZT ztAy3U8euKa2|yjJtk&?qbGj+8#BdssjxgwsJhT--vr7PG4Uxs6xc z>}~{NzZC3FbhCh+D58~&Ot;al3Ex?0-w4-*8^TTDmT+6RBit2m1*$aAWq>XVbUC2Q z16={=ia=Kax^lkoeF2)~6Vrr8Kv#)Cs~$wFWuvta{<6@X16?(Q=5`>On>g-U7tqyk z0ASq^EIEYbcDb!xQ1mi4Mja5V2AZ7PYndfo(;jOto65&3ZfiFbz1gkVXtg8rSZMB8 zcN(I(1MWC?ygR|2=uUDcyHngKBmBa8K-UMl0niPBMrkw#x(U!t^WEuTGEI*ZF-wIad-SylJgIo=4u9hf{f-w!& zIpA*YZWV+=<3xG2{#SSC`T)mV#a9MIjvRIebF>m&}b z@v;VNNQJk5sK7lvNHxu-vZe)YjOw7m_B3zK2*l2I<2EQuQg7H$y(80YNiB50Z$T|` zFLuA>UgCb+{f>L7`(5{YK<5D67icu{{y+}^8Y?~s=)ph_$#*X+kd)Oqr@7G@hlZh0 zq9cNm8f`N*-)=GO0D4%MX_uvgyHN-60(!WmgLp$7ObqMbe)pju)j^xenijZmX&b3V znP(TMX5#C7>~Z(0AlXTqY)oVxo9vwXYm4l>`%Cu)_eJ+5_ht7L_f_{-Kw|@s2YLd~ zuK+y}a9asI8EABJx%uvE1!T8uvb#VV5oFVXWHW+fk1evFfySwU-7~mqk1%t?(ut~JcT^bK)(+3ETCrtJqPGFfSwEVJfP_M+>Wkr=_Qrr?sbzr>&=*r@aSlYAMj~0*yNP zKG4emciqr=K(7FLWxl6V0akY#t0&N_BCys5vDVvIxt<{w)=;2Vhp|RjSR)Y&FQC_0 zSa?G$J&ZNMGbxBQ(Z*VbzRrWuS@ehb|LwlXo8e;9JTrnqeATAiU=?$Q%GuqwXO3sF zh5LqQu4kTSzGs2wO^@kW=vf5xCZIP1ZWN-o0*zf4YSDI}(Smm7d)^A-dX{?L#U+I_ z54OgKAzXS7&^R4zV7ZfhHg9Lo28$PC8@s~1TP)tKuDR9)^lqRact_%*DK(Q{8o79O zdp-`Le`KS7Y)K3QWN3zaQCS1Ahdf7ujA)xE(N7}NQKH>FCq20HDBp9+bJ}yp^SS2> z&sono&w0<6Kpz15Akc?^#t!x{&_{qi3iL6cKg;)A3?W|id}R$nJ>LL*JdAi6Xq>lN zgHZZx2=NCC@kgLfgb^QDh!0VukF62PNlT=s>=8;ysZ2^u*UN~{Jbwle|F98pg0RB# z+?MVarh8!^mh!STqL;A|&qb!^Es5^t_UcIJ^?1ErpI7usUfHX7Rj&rP(TctR^hKaA z0eut!2$#K8Y}ws1t1ga@t>vv71gm3% z-Hl8~u&#~0xHCB4+r-<{+sxbC+rrz@+sfP8i(#|xfc_rndqDpHxciI#323yO2S7i} z_qGcgqqnnVjNWcQKZ-EMpM%EutIgHSJHX93$62i`j{}&Xz#cn(^#A77pu+_ zY^EpXz$Jm$DP9ON88*|?$aITorgwqG^qTi|?=0_Z?;P(N-nrg+Ui6R8fc_omKY;!d z=)Zt|4)otZzW~OO?|n1Kut< z#8cKyylB(a&}&+EhDKSXrqnF@k~Vs`dp`^UVyxN^3{DkRcz0Xc$o!9~0vqmBy!*Td zg4_zmt}$+jQ-y+ZrUib~`-KI5%=?-5xc7wjr1zBfwD*knb70)Sc!2Q&;{!$nMgm3# zMgd06_ns{f=0#hWSAYr66mY4DiL!;s#Mr`Y;k9Dr-fw{kPZYfO5S;fo?t6bi&q}RB zGi3a>XN?bw^Rf3ykoFgwwvZ*RrIF@&*kHNg3s;q_z)`&n0UbbZ%iUENx&onlLAaCFlqTdG0f-FEIwZpFzNp&D`UOM zf`Tm^7!xbM;0pUmw!Xx`3&OBTnmv>Z*ph2Kj~txrW$W zm9g3dV;Gxjw9mHF%|5hKlvmY%W$5Oc?3-zEP4VUW3?KNW`lk7&`(E{7fW0~}HGruJ zOfA4|gG?P@P;cr1Q$OGLS^?J^HrIS$8bojfgAPnE=#cAs*W!8)7z`@dV>91!i!0A@ z-@1TlWa%T`kSi+8wa&L8$hF?)!YIRK-zHlhoBofU{z=w(09o9sqZl09!I7XFs*?>A+-gj9Wd>I=>SZ}eBaR^ zuJ45Jq<1r_C+;{12OgNNz;v^G2~?)%&KLUf2kq(mB+-oW$$2GyxAFsNDmff)eIKwt*ti)>i5qF{+uM8h2%AzEv8 zfT*Kv)LbzdQNwCRP_~h&9DpBC79LV8#J6 z9+(NhyaLQbU?u@G8JH>gV%-AdMmBO&U~(gnA&5NPMs6l{w2(UiV}y~rA~Jv2ao@Ud z4H323x)sa|#ol7yAZ(5eJJqUme;an1`5-?KJ475Fq{8isD92YL(-Eq>I94<)sBz+W zaf0}YI8mG=P8O$#xxmZ><~3km2WA#9vw@id%p1VW1!i8p2tg?CVsVC02jz&F=7*rH zzS6{{GE0z)ZK_t{B8zGkLK zRk+9&ydzjj80@-uD+qSe23uoQ{EiK_)>?Q;4R7)m?}ze%Wpq)e%Z%`FuM$rA0}h;p{0l}brf5L_xPm66Iy<)rdb z1*xJ`NvaIYC&26n<^bS!W9ASrp8|v4_XsdY^QEd`rIl*oibR@J7noyVa8%mk*6IX; zp9+Duw7}76e-;LBi{P$jVuE#HjLPyp_PxLur7n^kSy?7^vw2Tg_3mNwp8PK_9|-g2 zNd1Gn{cJf~(GAHNDi`D(D&cO^d})|8TpA&bltxLTr7_Z234PAzzGf z#S6e(1m;q{G$ADD$p5HId6&6Ci)uY`FQATLhL?mN#~ zF~nai*VE9BA*R$!d|A$KOYhnmEiJXVzqSD0x4H2}wSULjFXf;S2p}39Ft4m*kk#}|AiOEhS6_J-v-f@yEZybatg}X-Hr5<^wdJXFFlYR zN{^(+($CT_(i7=dVDRr#V15JU8Q|V?<`2NV=geQgJkOVY3!*#sNPk)WOL_s!-yw7y z%;S!9tA}N&?PqtDC5_z(E_;A^5dxP*1jl0kI|?WJ<>1x@+1|Rq5)@X!G6DLdfSe#F z+e~tjg~Z}JPA_HXCTGf}5lPOH3(H01qH;00xLiUmDVGA41>6nKI)QZo%LDF&XWhVh zfc56fWx_~uMGHx;0<13rNeUvVHd1Z_3#lQnVi>8(|B2LE4hBnQJ6OufSYsK(Fhzh> z{wq9oaY%S_S2;Tf+T8}#3W`yzVhc~sk%w8NedT^~e|dmBP#z=?mWRl=Wz-LB6tIPW zjRrOb*jQk(sp5c*&zFY>N#)V<7;6uTJRaDD5GiimXOrzcC~R7gbh<_QDzJ%R($_4l z_4x9v%Lm2ne3)+YsZPhMo{ESvgYZ0CzG_B-->L2TTU zFJi6JBg)z4DzB6`S=g)O)$$s7t-Maom)FZ1RS2hb-<-fh`^8#?23_Tyx1y`M9-o4!9W0 zma#jejBvfr$oMiXF2>3jSw-A(R<&`XIO3K!zt|s$y)4_?jyB7e=dm^JS$fdBPpLGFS4?9}xhCV3#`ibIEM4L^Lq;hH=J zo27jit2Sb}cPn+R3%gvv7ZvO~f)x)5Olhn%3xYMZ!8)NploqzYI@>D->%$q_DjjT% zRNC8wT_ZDEl2f`V{Vc-nO19EN>8bQmdMkaD9HlR?-GR*pwg<31f$arsZ(#cXi*4LD zU+Ett^juYjxSAm$RV}$VEf{}tU zQ<)V6#P>Z=BL`ZN!RRSUZjjmiXdrfhvM|VH+FU~-({0JUqu?9t`N~q|UFALHePx-l zT**^bC@X;-1}xTh1h6B49R=)YV8;ME7T9t5%IX5it+yq&3E1%wl6xg6xyd$G6J?Ku z^%1ZW!dMtT{eSNrl*7ugAktAAX`)r-<2KSHJD#}oGd}i=VjJRS1q~4ua!O<#8|#vC z)55x}Tv4tnUnyTJ*OYIR>&gva4PXJ-slZMHb~>=H0y_iPnZUl5uiPrY`p(8evwS@Q zYjzOpjS$vT3+p#vXN9q>x6-lP|L*iuqB1s?O50d-u*%^c!g6^5RZ#8i4VzVu%{2F4 z8M>*e8i!1(rs}F+jZzD#(Q1qut0Mn=U>5-UCg2Wcb|J8ffL#piTfi>KSL4G>YKq0A zrUUzS1k=(W(|bWCwKOuRWq^Gr#H5!0KbfkjHG@nwY^Hay$^{E@HdB4Ik*$6zzMO^i zeE(k=x~nbJP8L&3wUydhZKJkT+o|o<4r)hWmjjyz>R4+b90%Zd zXYrT~sb0t-sIRE_Mmf5Ab&`#?2_1r(YkQ8(|Lxg|zbR#g3%;tp7DS$DBX7g$e?dvR zZ&T;0ODyJj>U?#9`lf2C3)MyHVio1J9oQYf?gaKjV6ns64eTCZ(Q-b{SKkgY3q#cR ztwFeoZL>GTOh*BW(-mtF&K|Ito2#2F=FPzF3o~y+W@{s#+9SM?kKJMq!o&66tp;N^ zsvWywaW~gLW@pRtpn5n6_Nfha@Lw6asV7u?hbmt^sh(0#t7p{D)i2bu>N)j1u%7~Z z7}z6#Z(Xs+0N=V|j{|!G*pvC{g#!J&YU}4UU{6Kp=b4~>ei717TqDj?(JW7gvF`t$ z`uRltEht1>B}M^TySWNniOuv}v!kn$t>=j_I0{d0ICWo0czs02C0L?mVBMk*)jh(LtnQqxkEwnUb z($Flgg_yJ~WYP*d?pqhI-{5@7x}kDLhh(Ld(#qOgS{a+mn(b)iZ5MgdoPQw@TSc=Y ztDCiIHrDOPbmZ=?)z$Fz>3pr8R$ptNHPjkujkP9PQ>_`WcL85uW4{CTdtmPYi*5ZQ zus;ENKVNGR#M0VmZMAlY)dAQCAuRS0u#bU#VyR#-TGLU(b>Td%53mozT>X&C`MGDL zbz#^M1E;~eHLlEjX2H~*yD zfYY=$EWqj7tJ(~0ruLflx;9Ijt<3>^wT}HA*gt^%6WG6ieGcs3z`g*^k+01S0js?zzfE*w6E7}SRa3yfz(2a(%oK@OdQdr9u@HKeam<=38=P()1 zAZ#0!-4^YGAlfzyjk7{F8ZHDE0`7l=Y@)VGRl@~8()L*eH*2`XGXR`Nh$v}07VT5* zv;}=wJE9%cj%lB1$F&pMN$nJ72F?qd4>%Dx2{;)zd{tisPRrNM6iD?v`iC^_B5-(8 zoUN=VRSq{0nih0y2>O-2@LQUCQN4r>tQWU|?I_I^tK!rWyQkO7=@o5B>J@A> zYa>|X&Z6#mb-kfQRzt6;*V1e2b@aM=J-xo(0Jsvsl?1L7aHWAO16*0)$^lm%xC;4t zqac~yOmB`Mv^2dHa1}#jTxH;@Sm88mgK9Qfd%c^5)*ZM?VYHrz=H5;ES(mkhm1Ey5 z;|#oHocaKLaFB11%~utxA6}gb@{QET1o_ZpQFPV+l|j)b>S(@s`Xu0L=IK*_t7YD~ zk=k{dj@$q8_38Sn`V4)h{+j-}K1-ji&jGFuaHv=HfU6H2HbO(-8UfcBxF-3!ZL|6U z{Y~A}7wU@~nZPx*sDWz+Tyx-B0M`<@R@?jBtVPn+=^OEtc|BiWuWtaZ4RCFNYqwJ0 zq;J-@0M{P4VZddZCvFXEwUe}3t$(QR(s%27^pAk+09-fVdH~l4xPAp^m+1TSgVqOr zqVLxa0M`+?PQZ0u>A9+Zsvia%;&WYq>uMcck#63+9dE9?J-O>C9Yd@CDIyHf&tV;~ zE9X!q*+%JBiS25S88Em{$Q<;`I&Mz-Pci+P{*8VexSqiE0jNw5ade$}7q2lQw9 z?>1n6;07Qga07uGw8nFl+|-}zf0LW!Ci3ExnHvn;P~5`wfqC}N6}e7_=y&;f>nIiL zh`W?phY}ueuclx-4zZ87@Vot<;E5zTEBtQ9*6wYG_31ewvFGT-k|isbEhYV6&tUx$ zp26Ud4XU8w{hHs8Z$ewo^8DClBSVMG_+tukS|xKufBZj3Irx)Eul00Yt{J|5T#u`d zuPc|s7nED0IuQma4D$R86uP?@uwFoZ2IMMGrGbh!202`gXh*W6sH2plvZIEhm7~3* ztD`$^bZCv|0r&Hc^iJ?j@fzN#-kG>jU=D5(*opD-D|no5?hoFdybth9-=DotyiYOQ z?8HE`$0zz^pX$?nQFwN5Ki_-|_g%vSb~Q0cEG?E5%i}S+l`$|>9fLx(@fh89c!X{z zJVdvfm@W3iI86>lSZ0gwi#x=F;vc%JPBX}@$GR|5Z(o=Y$Alv)~3sCDA$w1wmtIUvW&iE^@>iU-tY$`$1HxW2Ri zkCr_nKex|`O~%=LhEiB5suWjhD$SIZcrt7|rGwH5=f5MBad;x^M8#01D%0^y*qMrn zGsv|{zOq5tq~z|v!(ewSAK_uJhn3H97Iss)t=v_9z~f*a;7PDgl@~bcQSs#0l4>=z zK28SOsy*?f*S>hh>mWSe702LeE}rf>U7dlWq#yVWCj ztm_FJZ+?zr&F|G;)o1D->T~slMyydaVrQ<2C#qb>0Qd$|U1)khGP#dL< z!P8nNXcKXeFark&v$Q$dTx~7(oaeOfw0qdQaCpdS79Ox#O>cx=Za@GRA(cyj7yeJeVOgZg>>DxQz}6P}97`;+{Y{JGWr4gCH6L;Q37^Zf7n z^ZgtAoBUh++x*-8JN<|Jhy6$WpZQPtPx;UIzwkeb5~5P0YD9I8>K8ROYJAiyQIn#k zL>W<2qozlhQH!G9ih4V0Y1DgB%cAn4Rz{tPdQwO)RIE_1LbD2eQs`u%FAH5NbfwT& zg&sxI(Moh$bgk$*(e-kp8$>sXZW5gv{aW~Jf#QLZfzpApf%1Whfd+y0ftJ|;d8A0M9>pB$eW zpB|qXUpT&KeDU~_@uhR)o5VMZZxP=rzD<0)_zv-%;=9Cmi_ebl8Q(iTCw_ALg7^*b zN8@kCKTilG6iKL&&^DoeLTOYYDd!?j(Gh@MFULgog=_6V*gLF*z|KF)Oi1V#&nPiMeGH%O}=J zY@FCMv3X+4#14s_61yaJOUzE}lQ=$cdg9W=Rf%g8^Ak5Dewp}Vk|Rk=%1El5)FP>O zQchC8qyb5Tl7=J=Px>_JRMNLe_miE;aml@tbCQQ94@(}A{7Q0e@|@&($qSMfCNEB2 zlDs$hNb=F-&yp`BUrqix`J3e1$#;{#%T2zQLQ+yvN~V-aDVI_)rE*Hul+G#rQU<0B zP8pUmB4t#{%#`^lZ>7AQvNYwrlw~O!Q?{qFQ$J5Vn|eO=Lh7Z|E2&RXpQb)b{Ui0S)W6dlX;d1M z#-+K^gfwrOm?o#Cr8P{Ooc3DUhO|9tr_vs#{hgkgUNyaS`sDOk>2IXZOMf$cVfy0q z_37Kwcc*`pzBm1o^pol5(!Wf3KGsBl5Whfb1Mr=l0 zMnXnXMoLDxjOrO}GTLSI${3sRddBRGg&E5;R%dL>_#|V0#(|7O8J9AyWPFuzE#rE| z%}g~jkeQa5k(rfQB(qp%iOi~*)iY~m*3N8^*($S5X1mM|nSC<*X7^F9EkXK zpb<_)oQQ}62^9yql?bX(edUv;~KYf@`kYgTJsYfp7G*Bie3seXy1w8~k1`U8_K?|T~pqHRGpm(5;pf8~Bpk?jN+S{~uXz$YA zqrG4IkoHmSbmLP*1fCisq3v9r(3A|L|3i5sQXm+x$bA(Z@NEpS9E{ttXUa4NW-b1|#y~lbJdJB55^#k>>`UL&^`ar5aL!YDnNWW3PMZaBNtly#E zt>33VpfA^7(0{7`LjSe?Tm29EpY^}#FX{i(|820_;DUjr!F2*AFBrNTQVgFMelgNDx?>bzbk7KH6mAq{ z1Q^8`k&S485#1=uDA(v;qa~viqu<7>jqQzHjs1)Rjj_fd#$m<;<0xamIL?@EoMoJA z%rq`E<`|b6mmBkqD~-F2hmD_^tTNeRa@^#i3B<(CX@3C+M7C>UNOC9dc)Ms z)ZNs>)Y~-FG{Tf<8f_YDN;bW3N;OR}O*73g%{OJ4a!ntaR+&zdSx0{R2JIuSx2hB&!mF5%X zljcv&-hk|p3|dBxJpGSCuh8Dbe`Nw93Q?6MrT z9Jf?kPFpTmKC^sj`P%ZM`a^s^4ndYQk#DY8J8vvK_J$vInvcavB1H=s?av^dUwNQ;0bP3bBV=gSbP`5I;yD z0Kq~+Afb?G$bASEk^)JG&>;*63&Mp|Lz*B@Af1pNNIygdkwa9FdB|(XTgV5M(AefHt0_19_T*kX($M)13d@ThZ;dmq2^E+)CuYey#>7k^@O6JXebs+fJQ+9 zXdE;FdLNn&&4qHHrOQ=sff(^ab=a^eyx~^r!V| z>owNvt^cy#YQ4jHm-TV$lh$XfwX6Z_Wb0IGnsui22kT!p>umnC`O9Xj%?_J`Hb-oZ z+nlob+eXXA*5;;7j7_dhoy}t#iA|SHuZ`43X7kGCldXpBU$$FqcL27#ZTHz8v^`?0 zZL4d0-u53`Lt7JDGg}K=q^*lB);8O=#xO>?Z6s>@Lg;hJxW>p|A)T5f%-Lfu+FmUC>_Y5C96%gK97CK05N8lt2rxnqaRH%^FhW!zY7jz11ELwx zhIovSAi5B}2q|I^p+Jlx#t~}7G-3|1hfo9`OnB74ZYHg7}SGja-9VkKBmd zjNFFYiQI$Sk357tiadcljXaCgM(QHZBmY4fB2AFyNGqf@5{5(~FCm?f&Pc!o>56ni z`Xc?1fk-T}8##g;L#mLIcBkyl+g-FXurs#Hv*X(F>?-U8_N(kS+i$hsVZYlRZy#$P zZ=Y!Y!2YHESNrew%l5x6d0)DBDdbYvC4$2$hs_RK9d50$mP(>5toUVKV8wdvii!JE9hEi-uK|A7 z!mkmoMO_1~EnfR@?bEfd*M7L5TyQRUmvEOzmtL1KmvI-h%k*{a>qgg2uA5)Cx?X&} z`g-m4N7ox~th=%E#_k*YZXCQ3aU`fhTfAEpx4z!iyuIf3`r8|CXWuTlU3QyyyTbjyC)a(8`*!zT z?t$)+?osZ5dz`z>UF|;QKI^`4=lUJ*J3eM1#f4A!H50AAT>peDlZ1xE9AbOBIVm#tK)E+N9UU~fM@!s>6C&ts?GsyFv zXPalAr_^)MQ{iRo1@pS;b=&K%mzS517se~VE7%L?73xLtO7cqaO7o(5WqM_M<$C3N zvAoz`ZC;b!8s5jf;og4Usos^|Qtwgkac{Nv6yW{L`--9>q!d{Dlqa12_W79k-0?~9;rjIZyh3k4Z%6M!1AEc? z(I?Q_XkGL<^hLBj+7NApc0fC$UC^#*ceDrE8|{M*MMt0$&{T8^IvveG=b-b^1?UQN z6IzNML@Usv=y9|fJ&m42FQT8Lm(V}azkOHvYWlAA-Qc^?_b=bAzT16ueI0ypzL~zw zzLOXY%n^(^28KamE@2!2%nghO#{0ka0}RF=6Nm}ML}6kvWXyd`GA0d^fyu-aW6Cgf zm_|$srX3@}bYXfi{g?^NbIcOvr=NzOrr%n>4St*aw)k!L+vWGSAIJ~vr|Wml@1mc9 zpOK%5pSho<-)+ArKepc!zZd?0`s?^#@(=J2^^fo;`jh+<{ed+941b1yj(@&?fq$WY zk$~XrT>KgbN@H~@BBadfAe4R|LOlbU~|BM0G)ty0T%-d z0*nL90xScd0k#2%fLj4~0z3k|0#E_I0saAj0l@*d0DJ%~pgLeA;A`N)K=VM)z}P@` zATO{YP!L!X*bD?p0=oix0{a7Hf$~5_;7H(D;6mVwz}JCq13v|R4g3+f9Q0?ew~p|oq}<}S;3EjM}ntiqU^TI8uKuVSxbZ({FYJ+UY(8XJa<$7W%3u}o|smV+(D zmSg$YDr^n51KW-5#r9(duyX7$b__d?Rb!{HOZWEOGrM=^Ucx=@z5aWza2s&jal3GP zar*(>37j@g7k3VK5vPwc{11HZfOE#V;9PO;I1ijR&IcEYi^JW=QE@4_3>*WOgUiG5 zaP_!eoD?^RQ{YB%<2W^L8aIbq#C^jp;Z|_JLNr1&L)M0@5BW3XuaGSv+97r!!6CGe zh7eWAPy9i=3EmnH!z1zb_-lA~Ja8B9iTB3);C=C-_((hnAA?W8Q}9Xn6g(5p!&l*J z@IrhOz7;RRi}7;&6#hN_6aFjy2Yv&bmX!wcn)8S{swZnD8&xijL zZWwM7?ht-C+&TPO`1SCc;kU!@hI@vi!qMU6@Z#|9@Rt!=BF;rzi@-i%LD`GHWGGZ=bG2(f|n}~N2A0s{!Gzn`7>j}FE`w52#M+v70 ze-l6iFu|07AlxF{A$Sr{1Yd$bA&78~fG30#sDu5+m+S)?*@B62EnCh|q(hse*7-y)YHe@6ZWh^vU2#7)F~#KXj6#FNCc zL~Wuj@f^{T2qiiZuMuw$-H3OIUPK?FFEN}*CT0`!hy_G8v6xs!<2S_JLV3Ho`Jn0{j z0SPc7nUJhWmq{)pSJEw#2g#d+CSgbsBqE7KqLR``86*ZNk5oWnlQ^UrQafpgG(u96 zCP-7HS<(XO8R;eI4e59E>gYeB*G8|8-Wa_(dTaFd=v~o!qAx}}M~6q}MvJ27fHlBL z01DUxj=&Y*DsUU{0Wd%S5Dee|01t!#5kLY!1yX=?fC1zH`9J|s0SJIrKn!#M-GCGr z1QfssumHS|(TrIevms_v%$At#|9J>|V-Ca|jyV@|F-HHt(jns*v;UfYApiM8uoy&) zPfS7#FQz}{L+p-NgIJf?(AenM*jRFGVr*J$PHcW`K`c9#6AP5Ymc`b^HpaHZw#Q0h zyJCA|`(r0!r($2lzKi`B`z3ZM_Gg?%-0HY(afjp1#a)auh%=5ei?fV_#@WUp;_Tz@ z#CgVf$N9wh#`(tu#bM)caiMYHahY*-amu(K@kipV;!*MB_~Q7ActLz^yfD5kzAL^r zzCT_TFOOHm&j9g@@z3L5#lMUH82=^y8+k2x2YD~~0QoTa1o<@iEEz;LCd0@#$+yXO z$zEh1GKL&L4kqKsp=1gO-cO_^rX;2((i5{1a}$|~g^8TRM~RJz&55mv?TO;Vj>N9Sp2Ysd zfy7t$H{1u`cf22ZKl^^m{fYZOD61)JDC;SIQg%=dQjSoLQBG1$Q~suCQ4A=i6blN3 z0;3=S$|Z^;#hv0o38I8h!YBkvG$ocorX*4r6b|JPrIFG?X{U%O9h7cLA7y|drz}vO zQC?79QQlDAQ9e>WQ@&DuP?jI;ePHmw?E&dQ@q^9>FRAOPXQ+DA3siloA=QeCq+X&r zQm;_2QeCJws3@u*HIRy>hEgM_L@Gd{CR5X>OllFegvzB>PzBUls*oz7%Bc&~XVjO} zH`I63kJK;J@6=`LucU2BJCk-N?M>RBbSUX)(($B|NoSJICfO#Tk{%@SlZKK$CGSbr zPrjDyp6rqAo$QkwoE(u%OeQ7AB*!I_lN0}gJ?A9nC$o}^lgpBM$^7JIAh|8MFL^Lo zkvy6_kvx?=n>?TVA^BIzwv?SIds6nN97;Kwaw6q)%Gng{6pIu{igk)@3OvOw#UaHh zakRtRPWUI)a2B()Qr^3)PmHqR9-4SwJNnbwKi3lDo*W6 z?M;=Y4yBHyDpOUdFH&Ep0^d`ArfH;Urmaugn6^1>Yub@C?KF!tNSaL=Jk2i6A?pH5G&O>aqWPZy_4 z(xvI6>Er3@^y&1u^o8`N>2K4QX&N+5+FII1+Gg4|+78-r+9}$3fM!55rkT+oG#eV6 zhNQXDd}st(6b+!o(GqABS`salMx$lYxU`3~3R)GdnpQ`vr!~=9XzjGev?09XA={xCr===zr7yp&Qf9=$3RFI-G7t zzeK-9ze5KC==bP&dN@6b4$$N1WICPBrq|Ky=}q)jx`_US-bwGF_tRzcIr<{~8T|$Q z75!iOd-^B(7y5VlQs$ma{mh%0QJI{~j?5Q~b&S&tUB-FFKMVtgB?G~*XE-vhFs?DK zGh7)y41Y!t;~pc7L108Nq8TZSbVdfF5MY!rxQvGk0i%}jh|$34Vhl5$FFy1jf zGQKdrGnN^@vQ}m7%-WN+FY7?op{%1>C$dguoypS5(#}F;`DP_&Rb`E2ea+sVZIpc@ z+audM8=Z~G#$^+;qqAeOGYa=Ez=b1QSJbL(;+F#&K<~Aad`=Olssx)a$Z^_Il5V2`rL*=qJQdyc)xe$IZy{#m3^w7Tez zqP0aEiZ&H(F4|hOqi9#r`J&53p+(t6ZACNxrCN@2tT;%{C5{v43dfD(%|UZ8oB&P` z2g|{601laRpF`!OaWXgzPBy2E!{gL*S~%?-F{g{u%aL+qoGH#L&d*|vVojiUZSjWU zO~qS^w-@g!-dhYR)+yF2K3{yX*r3?B*sR#17*cFq>`@$3TvFUs{HA1c$@!AYCD;-| zNmR*y+Fe2|p_gQpxo5aqTrl@M_aCky*O-gox^OYv0B$fB2XI5V5nLiSnj6a{ zbF;a5Tqc*rWpj(UW!!S^LvAHkz?E`emv1RQSAM;mP+m~pTCOf%EPr19s{Bp)m-1h{ zRXk1JTHgBq2uXW*2YE+$$9ZRXT0AgMmuJqi;yLh~c`iIxo;%Nj=gsrsh4SKf3|{9rzg5AezS`+O=t zji141@U!`4{5pOYzn3rN5AqfKQT{kz4e+P=bNtWzZ~PzpW&Y0!jS9_*H5KbB{;b$k zakc_p5m1p@A*>jySgPDtX;^7hXbgOi)^r-Z%L|0-e{VO9XNtH2`@s*Uy zq{`IF^vc3YPNkqySlLk7Tq&x2QrTJAT{%{{Q2Dj;N99W8@2b^RYpT{)ZLHc{1#GK2 zS#_rBY!#>qT%}iap-R8Xu*#&$tm$p}d$-oB)~6Oz8&Dfui>nQ-ji^nkO|1peYcpyyYqM+f zY71%$YdN(gwc^^@xOR$dt@~cLT=z?;A>1I` zEj%DREIcMWEj%mK7U~GigqA{x&{23*cwKl?ct_|dL=zCQ<-%d%m~dRE7ETG59_@Q%_UO)|gh$**{f}PNZ>Zm1zpH+4 z{r>tB_1g8i_2=vVsW+@Qt~af>slQTxz5ZtX?Rw98RK0J#Up=8ds{TQJYCWw!vp%<; zSzlORR9{`+Rxhs~t{8nl zrZr|XW;PZ#RyRIsY;0_4eB3B$>}u?3R5mU)ersH6{Mn?@q}jB#X+zVdrY%j|n@%S6U{Tt^UY72Up4>R{J!~P%c_>mEyr3; zww!6vY5}+CwOnY?Z!u~yZEwmEOv1Eo|kqmb6y3*0(mbwzi5|pR{(g4zy0R&a}?AK5c!~`fuy|){kwg+Wu(U z*0#HCU)#a9V{Iqf&a|CvGi=HBMf=G}&F^J@!i!?uOACAK|iOKMALOKZz$ zW3=V8<+T;G6#{LoZR)n)?Z?_-?U?qI_KNoY_K|jF`$YR>`_uNf?H}4dwSR5@-oDhn zBHAF@EZQd8DcUDGC^{lKCejmK5Lt?BL~xOv$VucZauMASp+$JneGyfZB1#w0MOmU; z5mQts;)ouJ8b!^bR#Cf1Eb0(-i+V*;kxcaZG4SVOoySg(!ye~6ZhfqNyd>5XuN7|) zZxrto9}*uG9~YkzpAnxGgT#hnGqI%@Du#>g#13L7@g1?JI9QAqhl?Y{fH+Q^Aigio z5*Lf>#ZBT?u}J(x+$ru6_lsrXA@QR4x%j2{wfJB0d+{gn7x6dol6d9Gz9)uHZUIlC zpOif5dh$xLLGricoaCa!Kw>0;NbDpIlFO2-lIs#ziJQb%5-7n+LL?Cqq9j@pBT18F zND3t-60YQ-L?Ee^Jd!j>x+KGrXOfqaHOYr=YXFQ`{-*9PS+JRCP{w&UG$!KI{C_wYqCp*WRuJU5C4lb)D=w z)1}n~?$YamcG-5pyO3S>U5;H>x~_J)bh&o9bwzY#ceQj)b!&E?>P7(FzTNk`)4S>2 zS=~9^Mcog(E4r(?tGjEvh27%ruI}D$Y4=d~NVl?E)%~LTb@%t~pFJ8qnmy}#Huh}p z+1hiYN4v+O2hwBH1Mjixap<|+bG7Gs&&{5|9&8V;2j3IcL+FX>iSCK%iSJ41;q-`m zp7yTm1@}7khV*9i*7O3+y=}dZd!O|7_m1?A^^W&W^iK9p_rC6Z-}|ZeYwvRJufA1% zntj{*j`W@EJJYAtr`vbF@1H({KHEO$KA%2JUqD}QAFeO7FQSjw7u^@zm)V!ym)n=$ zSJ21qEAA`p|6KoK|MUKrK>x@7<^G@jzoo0B zn$k7W?b1Ec{nA6yozolAIBdM*_PU;}NEOn8(N^eQsrGe5&X^J#mN|$CybEQma zp_C&nm6l6er0vqj(kIdmX}7dbIv^dCDx@RQ4+C2VE)KX1L=CV8o(#;%G-MlOn`B#L z+hqG?CuFB(z*(8LOjmYJc0pz-vys7Nb}}cKv&=cKUG>jqB_LI=@< z4+aH;LxW%BJLMPTrg958L~bp=BzKX!%H06DyWB(WCCAD`kCJVqWbPn1*S+42%O zPhKGx$c6F-d9%D#-Y*}Qzm~t1e~^Ecf0HlCe-3F3X%4L&+BbA?=$;p4J|8qJpBJDu8SSQ&Fhk zD7cD;ib{n*(XQxM$Q8qiF@;(&t(a3RC_XBF4{smdHN1ED!0_SWW5Xwh&kSn~gNH4L zp~E)Auwlfo{jlTk!A9WnPGJ0+F#;Dt9(CEF{U34P&}v zm&ZcKGRNx1TE|3VPsTdN2FAw5RAZB4Gh_2(i(~(eEsgzFu2!y50)Hz1Qf^glR~}QI zRGwB|P#P*tl;%pP(pHI3+9_`;(aK0ANg1PzS0*YSD3g_G$_yn#S+3+OE0qFejZ&y= zP&O-Dl_I5BIj#ITery~%ju}rH7mUls{~iB2{$qS){FiE-YO898YL{xS>VWEy>WJ!? zN=J1;rLQsqROTuxm9@%Nbxn0cbyI~_1*n2mI90eRQbke$s#I0Js!CO(5~>Q zeO_&%wpQD!;c7eeCAFjavf5qkrS?%{)IgB>o*J(XQzxh?YKA&bU7%*GOV#CSzPeJ~ zs_s=!s%O;m>Zj@#>euSG>JRGA>Ti>OPX0ByWpdl(j>+AV`z8-e9-2Hld3@4h(tR>+ zvShMv^3BxNDcvcDsq0fWr*2Q(nev^wH-(=HpNgC!O#xG}Q>jz*sjR8oDb`dGFjX>D zHuY%g$yE1L-_*dAVrq11d}?Cq<0{F;rwyi!r%k8L zr!A+U)3(!yX}f8MX{YJH>E!9^X~p#Snf){7Gq-1=W)fy7Gf6WkGg&i*Gn|={8SV^k zhCd^m5zlnZ^v+0UhGs@)lryRs;Kj_BnWdSZvl_E&X4lVdoc(L|;OyC1?OEN~^RxfV z8qC_vUY>QIy*G=W4WEsiCC$dn#?L0sKA26OEu7`dmduvT@@6Y$1+%rYk7gTYn`R}m zvf1aeOLN=iPS2UlInM>m#m!~Tjm}NZEzG^0Tb^G%zh-{@{Kon1^SkEv&L05g56wHx z`_Gf-Q|5E#^XFOfMe`-|+X-J`xXx@9$y4NOUk8*rRPhZm%c46E&W{9Sk_!#yS!t0_wwH51Ive( zk1iiyKDmro4qDDxezM%ZJiI))JhS{_`Q7s870s13E1Orgt?XFYwQ_vr)XJF^trhT! z?uy}x$%@&E#R_}{v0}G!bp^8$uoAq2TM1o>SRt-Nuf(p9SML8WvA=)y>i-?P!T;O; IKUW_7A4+=<+5i9m delta 36023 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 S@@?Dx*MEinum6ADH26Qi_%TQT diff --git a/GHFollowers/Screens/FavoriteListVC.swift b/GHFollowers/Screens/FavoriteListVC.swift index 1ffa69d..981c2c5 100644 --- a/GHFollowers/Screens/FavoriteListVC.swift +++ b/GHFollowers/Screens/FavoriteListVC.swift @@ -9,14 +9,125 @@ import UIKit class FavoriteListVC: UIViewController { + + let tableView = UITableView() + var favorites: [Follower] = [] override func viewDidLoad() { super.viewDidLoad() - view.backgroundColor = .systemBlue + configureVC() + configureTableView() + } + + + // get new followers on screen focus + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + getFavorites() + } + + + func configureVC() { + view.backgroundColor = .systemBackground + title = "Favorites" + navigationController?.navigationBar.prefersLargeTitles = true + } + + + func configureTableView() { + view.addSubview(tableView) + // fillup the entire window with the tableview + tableView.frame = view.bounds + tableView.rowHeight = 80 + tableView.delegate = self + tableView.dataSource = self - PersistanceManager.retrieveFavorites { (result) in - print(result) + tableView.register(FavoriteCell.self, forCellReuseIdentifier: FavoriteCell.reuseID) + } + + + func getFavorites() { + PersistanceManager.retrieveFavorites { [weak self] (result) in + guard let self = self else { return } + + switch result { + + case .success(let favorites): + + if favorites.isEmpty { + self.showEmptyStateView(with: "No Favorites?\nAdd one on the follower screen!", in: self.view) + } else { + // self.favorites is: var favorites: [Follower] = [] + // favorites is: let favorites + self.favorites = favorites + // restamp table with new data + DispatchQueue.main.async { + self.tableView.reloadData() + // covers edge case where the empty state view was the one printed first + self.view.bringSubviewToFront(self.tableView) + } + } + + case .failure(let error): + self.presentGFAlertOnMainThread(title: "Wops! Something went wrong!", message: error.rawValue, buttonTitle: "Ok") + } } - } + } } + + + + +extension FavoriteListVC: UITableViewDelegate, UITableViewDataSource { + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return self.favorites.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: FavoriteCell.reuseID) as! FavoriteCell + let favorite = favorites[indexPath.row] + cell.set(favorite: favorite) + return cell + } + + + // get the selected row of the tableView + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + let favorite = favorites[indexPath.row] + let destinationVC = FollowerListVC() + destinationVC.username = favorite.login + destinationVC.title = favorite.login + + navigationController?.pushViewController(destinationVC, animated: true) + } + + + // SWIPE TO DELETE ROW + func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { + // make sure we delete + guard editingStyle == .delete else { return } + + // get selected user to delete + let favorite = favorites[indexPath.row] + // delete user from array that we use to populate the tableview + favorites.remove(at: indexPath.row) + // delete user from the tableView + tableView.deleteRows(at: [indexPath], with: .left) + + + // delete user from persistnace + PersistanceManager.updateWith(favorite: favorite, actionType: PersistanceActionType.remove) { [weak self] (error) in + guard let self = self else { return } + + // if we dont have error dont do nothing and return + guard let error = error else { return } + + // if we have an error + self.presentGFAlertOnMainThread(title: "Oooops. Unable to remove user 😩", message: error.rawValue, buttonTitle: "Ok") + + + } + } +}