From 45a39fecb9fad444a435f51d30cee9771ab61bb8 Mon Sep 17 00:00:00 2001 From: jinyaqiu Date: Tue, 19 Aug 2025 15:43:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UserInterfaceState.xcuserstate | Bin 119677 -> 119657 bytes wake/View/Components/Upload/Avatar.swift | 78 +++- wake/View/Components/Upload/Upload.swift | 354 ++++++++++++++++++ 3 files changed, 425 insertions(+), 7 deletions(-) create mode 100644 wake/View/Components/Upload/Upload.swift diff --git a/wake.xcodeproj/project.xcworkspace/xcuserdata/elliwood.xcuserdatad/UserInterfaceState.xcuserstate b/wake.xcodeproj/project.xcworkspace/xcuserdata/elliwood.xcuserdatad/UserInterfaceState.xcuserstate index 2a4b61bd9495889a21bc55f253585f5ed6146ae5..145f50a500155887163755621b61f1598ab4d18a 100644 GIT binary patch literal 119657 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 E0o1$d`v3p{ literal 119677 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

kI8GW?W9 zWyl`Wx2z&aYeVsS#jwxY}kHLivQY+9*z{Eu90USJIYp$3iqp8&Ig0 zUrTTR2!hRkpl}@QwK4t5iVK1jK+)B`rU)KgMf*BnYJG#Tx}?0iwCn=5-?WN)w%`0K zHA7B>AYLm-4!fKg1PNf*Lz36c;Et|fRx{PiTJY_jghZ~r%zjAYdV_hF`4lX-DRhv!WkPo3hdr_t?22(H2@*Q2?Rl(h`f zu~wqH(fyE&^)Px0(y(5F1gyj8ee?-Bj!vLc=qzS1k4=zr<%T4y<~SCTtm1JpBv++E zT2&?_R*l7Zcrv~Um*JU^OhxcQyaW=c?!ncNFtr6ghPUHq@IL%1K8WAOpFpzIcUo6* z#E1;HLYE*;PDmN+fm78l|#vefI zl?BQ|Wf^7Zr(RTgZfI6^nPx0j28Yu|`qI#Hj>V?7m<16&FwivvYrI-SL!o7*nx)z& zw=#bUb-A;HGb`2FM`2Mtf*u8X6(!?nT%{l@zpOksPAybhQWk-A zwM1EZ1gboNoEk zLDY8WU1+zOmKm`wRk|9q3+-W6LU=~AZ8Xy7(F^DGL6x5hT8;Kn>wuc#wH>T|cwTvJ z$2G1mqkWn^-LPVVVXQ{`DSK*lUxX^V5QcSF%iiU^Rj@=R_8>Y!*T^AsSh+)4QH_qG z*OisZDmtNUzzwJvRzYoYF!*Ytv+7c>)z%qlFt^PcQ1%56dNKrN>(gk<^Bt6QpHifK zejf$aq7TrA=p*#8a;I{avRb*DuJ5|ACk<%Uwi;m?N6qdW%Vo88v$ko4*YC)T3)E;p z0iXptt+w`s+ZbL|ls|Pqu(-U|Kp$CLSphC)S#j_}GHJ1cqC6VYo>i-pBSZWZI?i-l zgT7YoTf?*h&kTmvN8POu^#sFefbQ^GurCy;b^`rKXXXcVQmIyIs;RzGH5F8M)>a=3 zA?9E~#E)z?W<>3iu=7X{Mrz%b25_OU`}EQ>#+eFu?*VWj4jxzJOZ}%LFJHgSUEya2ZA~i)RUkq z2Z}X%X90+7ee#y&6-6ZwT#7taQ?LsfTJR9;(%ji# zg<6+R2*fPItw9Hh%HdRravi2I8=O0!abO)l7&4U>Nm!O$6y%E0uRxM zK*P2pQ;wVAR$$5F7}z9R;Fijx$`)m-^4MC~FP@o$3#{-m|%5zHOyb}+?nT)Fj z55`0AP~{orS!GuZ9>%o7Bb43Hy**0YL||99(@vm2)t$6i;72OiL5ZuIgqFRpjZy1bK=Z1{vS9j@!&wxbf{VZgnu?2Y z2`7X>XY|7|(z4-M1Lht7jCe?}GPeM% z?1tpjcfPPJup%0g{;AkmRe7OV0I-sV^znbjdRRpn4f+lRJECEYKb1YQ4b>+fmsuVx z%_xPV;1Hw@GTMTi2O%eXlXA3fF)qMMArc9;?IOGw--2(&OO)4@H@h(?Fed5=e3^F0|;n}2AYFY>hMI`wXy-AU0~ydLI^8P4C^jX z0g1^S##68i0uw;BGot}(RmBAqal_z9d_)lJr%)wmWEy9JUPM;r8cfYTu)}NcTIGG^ z1LeaSd_TlXPbwdQjwqxn&PMy48VWZZ4)9qbN)aBaiV&=*v{_)U73D`tv|)M(C9S~^ zD<3OGZ-J%16>R;-88hC7pTJLo)&CTV#XIm$`1CB^1x9N@IIEyROoq-Lm>^)bs=gal zAYp^9p_T;^U`bcjJ9LA6xKur<4o4=>r?)nEO4}J9kznMA!B9K$Q=O$#Yw;_eE5Csu z`ib%feEM1Wy+Pm+@4?UE=TTd{7e?}g@~QG8!~>5hg*le^TFazCAGOe5T z_o1Zw@qYXYxJU=^Yxtn@nev75m2zD9PWiqzDu}m(dhZU>Ky+*p-EA|dv8x_QgyU!U zEtTR+N--uv5qb7La{_9A4MFleEvOKA@CiN!557^pRq|AIX%QmfI2&%G#_0Acd9_7q z3u@Tz2tEN*{R2LUe?+nM2X<^_MEfW|C?^#r$1;dcZjbo*cq&vVK3H5_G^4DnARac8 zsc?@fo`&_bZ&Y8$t1%CimUglBgVtBouExLMU%@;91s@5}MuNW8_%~`yU+59I4EPUx z8lM?Q4|!k;Ag-zWq?`h+`GG_9!7Gj-XsPSCNeOF5$yA7(u;G+x#RVc&f1V4+bR=##L1n739sT42Ci-mTN;*4|Xga z_|Vr!b1cFGzGMZy>k?(wvicW)$A%}p^Nz)Vv%Z2N z$GyOyW$%LfR8ziXZ;SdrV~LH7RSkPT5ksS5^S$o{&7mKFmI%1%?`^G1aiEW*?<`k@|g&A6hW%8xd14M|eOmjWJK?RdBB zJ!gPA-I2NejXl$-_F1MC#}ITGt$jJg1kDQ<;29daOl?#~A8s2iKQ=eU?y6ZwgyrT;oLNg0 zixk+n7EH&7EoRQnIXEZh;@n&m=i$7ZkMncUT!3rF#c-h3`w-NZpfrNg3F=2se}V=O zltIuyf(8*Zn4lp94J9a(pkb6-ORg0c%e4l-A(m?gUmduPTqh`r=MtD$f`$`RK*WPY zJPhi}M8wzWw>OCR77@Qy%g+&s(cIf8EgG+_>xgLqW(g>6Z#c-JJyX?n2=W=UhtXQT zE%TM5oZ5ZvRX+JXo43F#6esW zEX~^Zlr|K7z`iU{xj|SHoFfR|K&$m~=hSC330pOOxV|W9BYu`k=lXH|xdB`TH;@~| z4d#X@KNB>9plpIh5j2LNaRh;NF^Qln2^>!s)w6545!8kyC@aS@_|k0ty0gLfk&v{M zTM(Z*9bya>VF#zqbmm5DO^nR3q%^q+a4O3n-MoCttj7E%X#7U!So$}aA9Yhg@#-mX zeAcM`86{xB(6Ywdb2aW`b1c0siF>?yT&#U>%(YPCIzGqJqsd&u0p$yeIaOmgF~`!i z$qZ`~O6Z|&{Y6l&G0VxZBsG;;oqtuIQI*CBa?Y=4Dx>(?Bji6DyQ?*(`Ij$vMVxNpJD;cnpOayN4GxSI$H5(GBfWP+v;R7B8K1WhHV zn4l7ZN;h&ha|^hI+#+r*J>LsqA zGHyswC|}iS{d21(2SadJGc;H^1FlkJWU3{aiixO87~dxNlS9i&`+*akrH1|LY(oI| z#VXekb}EDe63uZ<4sQ>a>d59;x?HTS+EJt`N;~j~3{N+$p87q~dRA3ARkY{3&kbn) zVhRBIkwJ{??DukOz)IroBdB~0S4|+{rc-^OJfN-VX*m`+CTwD;C6X)=PjL+RqaocA zaAArI8kIz(*vLIjSNkSzGxs3(5ce?m2=^$rh1<$KMo@^LN`kJF%6MlM@pxM;Nxeku?3A%xxI|y1q&`MgS9$zLO2}(42Lq?oJW>gP|&BUvJ!&r;iN{D zj^?~~s-?V;4E=&|+O5(?1n@*!jLcsoECsx}T$Go(|3O-EFtri_Q+ZXD!3fXzi`G+R z2*-aTH7?$ghMmEHayl&aeY3jWHXObIkdT`T?=*tL&IaR{cu~n9<^^U)c-IMO93uA4t|v&T=8kel2_o=MHNJBT3N(J&M1esCC4l$xU`6FDt;`Rf>;t#~^SC;Y;pQ?lbOl?hAUMC2fc{d9a=c0`)zQ zpc@Ig{XYb$mXJYpdy8i_RzXyfJI;N>eG7g>Ln&zBkf7TLny+=>dz4hoo#1{T=w^bJ zfZe4XKXIqHU%`Fhe&T-Sej#W9LEzjks^Na)e&-+twwRz>2)b2?%bFUTl?@^M;Mjbc z(Lt@sG3u5Ex41@Wg9|&z5EXG@);!0H7hugxyq-4@w3Hy&vz9Ay;~?2YTeP9^xoRGM zcG=Wm=~!T=F;@K=-pbp~8|Z2tVua_FX|zrr68mYEX<9@JoDZqByqk~WJ=B-JD4phN zrwuv3{)L0Yk)Hc_e}fguH{)X(7PREyu$NvJid1RCw*wu`w_&7cp4tn``K7mi<2tZS!My@cQ(rx?O-wU-|)m;Y7W5o(+o)Z~<+^2XIWT)4XC&D6CM*1^3m zOkF3as@TA%(J&5c^gMYZqkaVshs@P{FTOWHYY3{Y=KJvA+}04Zj*fqwPOIZoCrmBk zYc+mdFD^u{%0RWC>YpCv2QX$ngCB?n@Plv=2jNO?MBzjHY6SHI`$AZ*5>kycub-f` z+VUR44+UbiRq$r3c}NG2sv-oU&BoE%#{RBNg(0YP45VUa}KZYO6 zkK@Pl;Ert~Xfr_%5%dT_TWQa2kc(DTQc4qiLST@92ML={RKvowq6%<~LF2(Acf&{8 z&_JkjY;E}j?UQK6s{(8blLD>A}ZPxNBTdl&=|B!5&(r3W)XaAs&p1M+w@Z6i-Oaj;UR}qu~d- zqidwIDCyNam>Q1}^te(yE-@(~E-dHIB7U(p4ciHNilC<>)3B6Z#xLh@<8LQu2SGatdWN7~1U>&xPJ`Cd zyUri)d+Wwqqo|<;YYBSxQpS2c3e@l$_>DZQqTK}TAqcWCAoMXJJElJ9C&AD4A}izI zM~Kfu)FC_%k5V>U_^mul!wUrMCFn(UGP>7JMq<~xkKMu_Bg6a@zq8T2fRzaI@^YP$ z-NU~`=i)j3dHw}$F7^?$pP*MFbMZ32kKfO~!oNxo{5wFo+W>p*oy30g52CuYhJ^h6n!(TJKB#D}r7p z=nWY6q=Z@!z)ghn2KzhySGYaSf6t%bf8bB@Kk}#epZK47Fd*I{=pBMU>JJD4a|z^t zsO;wieYt`EjsKnhgFnrm;m`8tbc_xW^ff`>5p;r}Qv`t?fY{IP1f3?BY2cvfbeeD^;f6JxvgjZN=N%Ttou()uY~V!L-$s{v7WS}mn- zZ1;rN^scep(__0sN!QpEV4d9VeAz9U?C{n1P7@b zb8V$@{Vd0l(c~e%nB3<}-A?2GMUExyZ}6{O)iCHY&u1N{vHt4+$hyL7KnT9>4QlcVDVeFMi@x~}wC>szWH|J;3@7;$WeL8MdL`*oMW2`1#fz!7CwgX?1K+ ziEcv&G&M%QVC5`G#(^WQVXF9F(TcpmcMs;R`Qapby=FmESMC#nwsLsv0 zMYPTW-9m!S5OkJ~)-ANoxl13d<&C(n(9sJA4Oho%;Eqv5qI((4Z4lGO}fnl8whp~>?62Y!)@VFb(LcdUc%870I3;IYI=YDO<q)#zT*y{y|uu$f>h!FIY7=xu_WVS_WWvUAeYGO{yA&Rx2NFYV}#(>{Jfus71j@9W><(Vf)&e1R#0 zp8Tr&jrPP(a3BJ&)0EX2f}_K%1g2@jC2)cWjR?G;699TK1UDzR1q_#<7YwwKmISx@ z-xw~z27MIl1jk1D=&CZ%^;JT2cdEGmAOXwENOGs#~QmU`Hg7;=k>DfIIUPjfWTLS!- zkkBQiTS`)5JrcNs5B;RIyLC&+&r7JMiiDn;Opwj+_hc&Ql9w3F?b4;|-;xPxcTY)7 zN-Ss~Qy)zxxF-GgWXkKFl$)H8lG5dG$pp3Y3zNGS1RKcIUy~{6@5%%{O-K&rCnx_c znV@!FZgO5>LIarwYch5IzsS_RFt2OD-<2sbKcP$4+*;gZ3gh4`NEjvz7e)wKLbfnc z7$uAr#t35x?n-bsg1Zx(LU0d)FC+MJf_oBt1;M>G3gflJLm@}FlBSdh`H*;sdxsMb zabJRmsd*%L_`i9F>TA#7jSc@?-k~rJ_G_Vn;M8#5p-=^Rhr)E`B>f_APp44*26>0N zh>DyoC~!C8)oIr_$s^ zVI|P6YD_z0;{ux$pILYZGt|^|?79zuHZsnug?s5Z-!0rj@DPHBf^jdbp}Tjc5;vYE zrG}%_=VcyRerx%xcAY75??YHGY*Moqg^e_O5s#?P>Ac#J#vc`SP&{uDwhE64j|R(W#+TVzaE_@(-OxM_l0$A0#1m{%?p9seY&L=oX zu?$&we+Ja1CmIW13dgmD{I$A}3!1R}eh_}5@INX1D4Ze~bkJmir_=~P3%^kK7ZH5b z{{Z~Y0;JD1hV&dRkM=8AAW7dR|p#w@apX-DiDwCvp-gAUv&<>#}% zE$mtce^Dn&DriMf1#R(PkD6!}y#QL#B3eb8Xcrx#Q*?=LF-r6hTuN{m!Q})`BN+63 zh~P?ss|cP>@QjV3PXn#kOarahl7e<-1hiMzg7(ILLHo~xR!juYib({|3WHYc@+X^c zSUZcCi@jiNh&@Fxp{^nL+G?@4m`d<$f^Yc8wqUWJI1n%>_7?|;83bQPFzokAjW|dg zOfg6ZhD4qJ_Wb}c3viX)7+0rq-$gfeN-tTSGo*8`=J!DAGGK5t(2i+Ln_{ni>N8(@ znlf{4=eDPd;aD}Y1&iZFxCmS=P7v-UcrGZfYGDlm<(diispBrZaf$`vWDT~3Ds1O9 z0k$RLObXjlu}mx%r->C}NURjA#OdM;g69)_Gr?d2EhKmm!HWsLgF7-!*b z5lmIEo9}4?0{4h7XrO&w1?_!JsIp&tgM#)I@m2AF_?mc7JR}|#kBCRb*9opBxQ5`h z1g|6beu7~l))Tye;Ee=t+9W76D{&GWmTVz-E5VP|NP;9% z&^}J^w*Nk8B{O4|ERBIUv*&`$sWVawwuaojOq198C}<@+&^j8^ZW-nKWce>czFTvB z)#D$Iz8R7Qs?=HP(jbB?b(f~nYgkEAiqu28OuAg^DP1A;l6p(2QXg)B zlqRK1{iOcV04YNnC=HSZ>()v`x&G2HX}B~(%Hqv@}KCxO@}zvJKnhBQ(qyimR0P)p@GgS)5d1vBdkKDt;C%$YLhu2C4-yOsB;c-t{qhFE zZxQ?s!S50L0m0z=eM0c3>R}yZc7S95CBa`442Kwy%rS!C69k_m_!PlE6Z|W|0EN>8 zpCv3qSWH-susXtugw+$)NLUkLErhiZ)(YDb13umadVmm1axVN!Lq?M5H;=4boicMrodOlQdttSy~`1lom;grCX$1r6tl* zX_>TKx=p%Wx`}s=Ae>CN4ul&> zxG992OCWQedx~&x6Ydn@TM+&V!WR;r5dI#*Zzudw!hc6}BGI)Vx?V&#j_9h0ZVAzC zAiC#>?gOIxod`}M#1ml<5hfGi1|r-?gdIe9iwGx)XeMF`5wnRnjfe{yuCQutg~4mc znsmY$HyIM*CYQqH+In$&NlWj?&*fMKH2H*+W+}$2S>@^*7vt%R$udgIt127aCXzO5 zGQN;w8Fp#xwHGx&#&E9sD%oJEno_Pc(72iKVegBVlH*Z(Nuj|7h5BO?KK*_9Qm${+ za*cc#l3NOS4UI3GN#PUW{g;wZqmH~bG;lNp@5gF96uYz$e>KOF+T;;e6SG6wttRbr zW4$Zp^l7rN{fa8izhBT;+SfG3M{+EeH<@u3T%HUyfIq&M3bW~&c`af}xO?q2n_U7N5e0m-8LX-c2#ujqnF7dr6_0XJE47cVp=$qGa ziyM!^F|7qii@UTdjqy#Iwl6jAkhs?Ltg7?1QPz}TkiJ*_LehV$@rNX~ZcSbm+EvWN zq{d?bFQ9=NsTgwCntoLhQnKm$+o{lv8UCU%gjBVGO%|`7N>Do;z6EgM22N`YK-OB* z@fMa?Wu870Ui<|&_Ra@~9%+mrT`m3ZNPe+V(Q65w81mKnHktQ%ng@grHeSqnEyoid zzvRs?E0|waT0qCRF5$oNplE5B_}fd#9=hNzt=Ez-@%Qk4%BBnfO+l)+k?FN0OZ>zC zSuGU(iCWNWNtXCWxQo^l0o6pQKT%?OEwvK=bjfR}o)XjUZ8e?}Ev*v6n~?f7SrZj!^!-k5i?2CzRaMel|+IepKk`u+&| z3n^$Ljk$+2O3qx$cB$z_xTZ^AJ=U0II3eWRr6|XU%>@z+~i9UPn&D?-3E;r1~rD}OUZfG7@h~B z#;mW>SX*-}<1S65^sRzdGM3a~KmPmzxCxej0c4eF4cadP*6_;^L-k&NchT9a)L1$% zeR$OIhBv8XX}?ON@$k&jSi3KUb*&!IX0!eU^6;sZ{#yM_5Hi)z)?cT;Ua#nhevbYI z{apQx`gw%)5Y|grA7TB3jV5e>u+0b?L)hkoZLv{5UkjP)7il3={SpY7vMs|QQ#Ljd zGG#mc8#4XpL#FzBAY`h)m$0qEAya+z#X_d~4SL8nS)<=b*w$J8V;>AU!m zp5NE(-0{tH8Vl9$2HHK1Y3J=o>}A_Ic*lc}Pc>R+-t%!?EL8u3{v|cAseh3MHrY4` zY~nU>`+Stls6ejw~+5oDdZ zD6;<0pM`~?KdnDQ*q(&FqFR5>05RBJgzZBy_K#%i71unS57&vT*0ovw`Y4crU`v3kw=IIT+muI%W|8lr$6FI^# zv@*0&VQXlu!Zza~0~Z;!PKNG)TSJ^7-jHBOG$a|44V?{L3|$R?&q0J8OjwwKp@hvO z>@dO(C+rBqW)U`fqaj7x5e+>x+!|6TZbwFTL`cljvS!)*e{uWI46C3PoVhP-vJ;*zp8j z`N~eLF%%iDq6nNs*qr|X1Wp4~RWwG`t4mjm$iF*d*n=%oje*TIpeq1@RX{tvF>U$& zm%iN{?5#Yr^pEtBz4{l_L*OjKwRD`XhIAbkvKfa|8)ieg4x4v@bREmM$hh5Ln5V(^ zMisU+JJB$k>btx~`Yuvskzoae?P9|%hFc9w3`-5m49g9-8E!Y+LD)jV!thTaY!P9v zBJ5Pc78ACFu%(18+h|xBhVAMwZ11D6Eswyqq87HZ|Ap;;0Jik?^oEBCJ1qj+EdX2G z27VO^e1UmYsD4F~V-4F4G?B#cl;LT@h6oG4{&lC}83J$VWoP_z+wF6Py|j_%>6(RH z%pujd4ZNLT?**1@Wc9sbI7os1s^Ng)HNws$>@31wU1K<8I81?l4PmeS9{~E>0N!^R zgBK+kT!lRbJiGMk(~H|}%ZyTi{yxxt(3o~?$^6%!+1Ypas52&)j55O|9+djo;DD6=;b z797%>2s@v!H*Ylj9ER-ghClEzCe{G2f+g&N2xM;|?49tgd=p{s`WLeQJY|*UZ+)y!EQo61& zjl+z?jU$X%#%$wA<0!)3Ls$q?+(+0ogsmoQ4Pn<3b{%2wC+q_ojbk(*8z*RcuklI> z_c?<&8N%n;YQ2PGBC0L7aNyS{N7@`)wqPPj}mqZVYk*8 zml>B+{60q5$NvZLdnaJ>uEv;*A9j<{@3VpVTYvhYY=0u;Y*GB)1GM)xrd@Mu&35jZ zp}XgGi5+?-d2VXm_G_#*uG3(B9f_Eieo1B87(0^39C{)>+pt@s%1yvn!gx7wG!7~e9!OM&~g@g2hMCG3mU z#`lcx6ZR#-?*He2`-$;04Y-iB2*7=rF2FA+aQ8I=t`((4*5EhB6BN1M8ox7sPuN!o z`zm1%)EIv-o}|cqjj#v*2ax+4pz-&{XsmwfgO59`&fr#OnYW$oS~g!r?irvx+nDy= zQYTvRW8V)qfA#J!j^P5>6M>f6zRN^*UKz{03SpU3A$;T_BN!e&*&w?B!m?48Ws_`{ zEwWX%$#&TxI|=(bVc#I^n}mIfux}F<=Kfv6zDHP?`42YAZVke+PuqFrW)#97Mj#Bi zr{SIVyMH14&qG*-Ut+XIjw9?xVF=4`-E6I#BuuAYg#8#Ucx&Imgk~d?og!Zj>qG7# zUq)EK`KQ%#Px%VMen!|Y|1lWLePwF?33tosDvUpeMJNxTF#h5KFg8X+8zK(}7|TQD zOc_FOUlI8IAMEiOd4!xrVf+nYzy0sSSRTiib~7QT0Yy~^K4D!jUBe;!%Oud{;!-T2Q~CU^b4T${Y3^YGHO%h=@h-i za*13jm&xVwG`T_!$(3>yVc`VgBw>Ff@C#Ddp9uRiVSgd)uY~=Lu)lAVXN1vvO&Gn` zQ}q53LGQT;dO5?t==~3%cQHjTL>W#;(7TkPcbUALei8NzVb5yc0lh9ubY!~kl<8$N z`7U`ifnQw1p=$Xa`Ch_d!twtce%HzmX!wOoPD2RC(q*^-@XK+H@yp*95$z#)3&rol z@+0!2gwqjDAe>kuZ)Y z7HD@hrrmyKPiApdCNq!3FMW!iOoQ5yA$U&StKs(rieJunk%5a;c}0Gc;`degfc%<# zP(CCdmXF9s<=5pm2xlUknQ#`uSqWz&oSkqE!Z``&BAk1p{8kvh@5%4WA26}uOB<}I?ACqMvUiMTM_XEiC(0CS zYO5mI)J8>e`-?D$REaaC0Fq7drUX->Dan*<>TK#_>T2p{>Q1_D*tk zi9k;8g)T*UOXv_nhfqQB9iNiC{@~6F zw#Ck?8tx9RqU^kiWow5X{p$Ox`?|NNvp)W2{IlOvwssfe4;Q8r7A7o;$okr_tb3Ov z-JEI|3nsBSs^|FK;6P733lyGyxEeR_URwk@UAS8W-sh==0M@ki@0m3v; zn8>5S!jvXVL&_3vE7x^t!dkZbtebGB)OGY>4%0|s%95LZGD1&0H$qqb2%Yed)b(az ziayPeuvO}MTf%mUFbx-`5s^=H-NxdH#`~#+9a3^nCp;reql9U6Ny5&AUBWa*n0RvF zA4vC%(vMcMCqdrqP1u{TFX07Y8Y@f}3e&jKgqITJ&0f=ZVM_lGjM3ceO*qZX-u|8A z*1t2TXQS&Uj+nmGdc1L1l-%r1IL*!8vhMS~Z`G-1?gO*tUft@1nZ;A0ljVf>66DQZ z#%LC%LO~gFi2YcO(U}#bXjQ+h-KEJNrTlrqR}m@mE;F*4bcVyDPXFGlNG1P}@MFTU zgr5?APWUC^*M#Eb*ve_d{h2;aZ*^iLT0p+Mfn2K1;P<|j|Yk8>6waw>~ z9p*aby28Y$H@n1K&s<-a<_Ocpl{Pq=8=ISjGuYfToWXNRL30b4!53A?V9T#j%M#7) zQNB6J+}6y@?h;|TRG2O+HFq#~l*%s_CUN$aZ%$Fn=I#}T*smXYW?rk}p0n@h{AAy| zJHN3^D&NfRIOg6J%PukAo_OenqFx(n z9*=a*!_33YBg`Ysqs*htW6WdC7n+%TT_sHO1Y0qh76{YT!n9DBt`Vkdg=vv6EiN;s zmrFORT)Np(y4OXe%l-Xw>E3!yy8nW7XG!VK7A7__3(rl>7a?8cYx5T5!m6+$7iR_KS#OhpU99;jw;2f=Fk@rPS`t=3C4wgy|Mx;&WxGd6jv!)Gn9g*thF!FP&yyiyrT&sK?^P zyDwVZvfKTSd@-T3`^PJKhqZebW$&(7w%LixhIYE6+vA&7)wXWC^YMgJw7cHCDWctt zVeQ@~wYx<2c{f$)^P*mR$oz!V?q>7D<}K!}=56Nf=10trnjbSiE=+3#`&^nzg=wuY z-62ftgy~LUx=Wbu7N)W?^ONP;-BGUH-BP>vM76u&q;|KQ)9$~ZU6vSKV}4zj)K$yp8hY8HQC6?0*@yCv4z97YxB9U6y5iNl`^&Gtv}tcCB- z2x#lyI?ZCYgpjPoVR3Tv!ENzaycVCuZwXj}!o*jnM}+B7VR}rMQ1BDN^rSF7B}`8X z(=%n3>JiCWYFp}9>MC_D^`vBXL?ydhnDz_PYw|nqfpeOze9c-|VRVh9jWF#j*Q}*2 znzgjEw3i4I-(#PRd@@;XX=xtKkYr1DGQ`r&k|Ipc3Dff>mL8U#!n8-2UZ^zfTKZY! zv`=4cNeydvFKK8QB!`ZD6^0J0z9VYdFv}?PYZ-1CVd09&i^BAhFuh!A8EqLO_4|sD z8_1q@{br!a%+qMHO`iF+YW<&`zjbZD#}~iBwPf@=iL#R`mQARtc4&KHpC$|LAK|UN zW8qblt=*-0`E}_!QEyDMOpi#JJ;V{#>u2y`^pKerA+KJy`8pFS_nc==h%Mg{ehMP4AJA7eE> z<{)274epZt*f$mXG4Z8a-9&E6!1mJ>%T(fy9hRS^+`eRk!{<1jj_pZX)%$le) zT4!x;ZDDO`ZDnn3Z6j2xP;ElB3)LZ1r%+w%tVv2;YrB|LF%zsEh3b~l^b{{GE);4| zZsuhhA@{#3PvL?lqw?~mk&J)*VH%kz7s5$qAL>kYdG?(wUY^d~(sO5~7f1n&v-tmb z?7-~YT)6{xSR(8W`R79iu=Q^~>(Fu9>VN*-Dcc0gbJyfw z)``|h*2&gv>lEu$YmRlAHCL#$h00m#3iW)U))Vaft~LniK*vhQ1Mz14b~P+JMLwNTrXTGv=h zWZ#!4)TIAF-*-3tSy{#Y>~wE!TQ^X4W5u$6{nobiJ}WD}FioNSH#JE_9Wa?ogB zanMMpAC1m->thk^J{s0;$1@xiJ>(hdi%gTOJFGjcyR6SzcUzycK5yM)-D}-veL<+5 zh1x}^U4@z~)NVpe5o&j#_7G}Mq4pAL?|ZB-MW#vC{Z${a9+1-{>l;$SeWKGOUPO3F zs3RlOq|E<475_gqO|pI}1%E`SeWQYB;rF%HFA+QlwVxC`9|+zN&5!S`$E4tYu>L62 zRG|(ivHoQJS*Xl?(<*O@^qVa+;TMb)HTP<5{8`>Ks)X_p6 zBh;}%y-=v*!c!z$eOrT=2{Eh6r%2<4I-$6bdD6czMf$sm&Y7o4XPRI|Bj3uFD3h|6 zjTs>`qx3(_jQ%jci5}6>#^yk4Y@LLfaoTxMv|Ngwl29iLHCw1tggRBIIYON#RAxnaLY-b_8yT7X*v3X? zKelw)bJ{Jo~dBTOOUEZMsnN%R56`0i7YM861_ce8I#p(SR)18z@1ff_G#{{ zT6#qjaIx(M*$-Z4yWX}$sB?vSkx(x#wJo(Rll|Z&LcR1q&=0PpZ(CKdZyUK{L8mt^ z?W3)HXUTh0`VVG%1p2|-D0_RwvbXj~9MpDJk1y99_IRq5?0Wi?ez4RguinM2wcQbx zZLyTCd}$fa{rQpQsMprp9+tA*VB2WhWV_dPpY49z1GWck57{;g^>U$JA=E2{dX-S; z33a|u7YOxgp)M5aHD$IfkvWg;k#gBSA!U1QbjHKpN9D3zbxyXGe`VLUPs*05>7uA? zUq-gJS8T6Jgt}O$B)$A(7Gqc%M#KH4?QN;7w`_-mib`%MvAtt^SEx&cy1eq_`;qN1 zmFTN&pM>Wz%VZiJk!g5ig*3D#ToX0zE8DkHzhB$Fu^koaO+w{>TS{%;*}j+hT_Mz! z{{j8}iYAX&)MQ4D`PZCS-aGNOTAd#(+3{hb)URDp%=VayWqWVFbo+x-`qy3b>m4x6ozQ12?Udn3cHJs5d;-d@o&*``F^=og6 ze(lYKT2`)KdrLX&){Ff>!gr4^!bFE%dpmnaGQ-~9-a)AAg}R}{-pS6l(v3oWu+lC# z*i-DiP@uiLy@$Q0P&WznUZLJsYVRF)oxQJ6??-+@eLz-seuc}}({s}2Ov;y64hLry z6y+4A6|ynSI7_HP!2+%VPDsyhGAlc?aPt56_XS?I4?_^r2~amzI4pWhj(wI??lgO@JMA{Km?hPo{zBDFLBGjG5>ERE?-SeWMUSXGS+}c;#R|)l5 zq3$lR-)g6Geom-+Ds9xYueC?sxV4AhxK*EL@c64Y=A(9Pu*(~<_Ko&UcBH;nsQZNa zLaF_JySx#rz9`g}&i;^V=SHmkG&f>T_qx2D8?pA&+=%__*X8X`+2xJcxV83Y!pfD4 zUHqNbp0~^G9qoJUd+qz|FW6tSzhr;e{)+uo`+lMF|JQ_iK&Y<^^`KDS5bB#keM_iJ zx85$ZA1D`Y`SyS3X>wBgx)6vDywj*io8@3`;LHy>HFw%>x1;ctIk?Sq*5a>#YCy`$qa+dJOu$+r}B zOI^5Ky)^al2A}ZuaP;Dx!|jmUJ32ga$o)(Xxqr9HrK5%;vb&?BR#>xNpxHA&!0Bk< zXoX}Q4ILLa8aWy}nmC#|nmL*~S~$34^OaD)7V0-b~k8wR1k3{FE`HmZ;WEVKDb}V#USg&Y?;s;QORzQlKrde$&Lpd4@=2DK68BT_`>m} z<13-n78*LNE41^4R!?a4h1Ni54TW}r&^Y9qa?yUD(An{$QrGd56m9eo7_FIHze4N4 zV@+Dea|3PV5427l)jHYLIQk5XvkIzpR#lElgw~YTW90{5YPXetd34&HF4Dv4a5{z7 zTxcyyoNgzwZ7H9^E7X6``i+B9J1m)Z=+okj^Lojl)7gZwO)Hj-Us=0h_xpSHUD^K0@x4A+ zbnov&r?Z8#we)jK=Eqt)IX`x`;gXcbn;56LB;_4wxh)!?j?OM&{W?2`_1lSyQchm$ z=)$poby3RM!#M~6J9|2NIeR<%IQu&LIr}?PodcW$g~owhg_bO|ZbC~DT6dxK5E`=V zCA8jU&cP7@JBLL^UFRq%;6Bk&mwnqK-)*%K=k)t8=y$TzZ?@2)kF+>*q<*Kx){_WL zKGGsT&~No?&OogEjTCKe?hprq;Q`V8bfRN<#y-uQn-5pau1hTz+XH{ z;QZKmL~8vL=V9lkLdz9ep3tV3IzMxMF10>GX!-vEt$&MtzpJR<2UC~*8h1yZVK;p` zVPVpP1;@i$|B(b)Kt=tE#J-i@7d6^DLpw78?EXT%lbgw2OsyiO?<;+GS-fOXL9z zmm_im*X5DIEk>pC%^ZzAOCmRLwZ-RzTlvCuosV!`46UMExUPl>mq&lY{~_4Of6*Jb zuI8>*WQMDSi}~>tLc6lW)!NlYXjcjCno1jOUF}^w-dF1C;Ogk=B(!-#n=iBlrLHcn zu2O+l3vJ=qSD=fvURt#xM-6M+=`>b5krP)*cyLc{;3Uu|OZ2yW1T&wl$dC}_L zuU(V>@iTAw9y;X_DAzz&n)LG^Ioe(;M_bnr9v#ybo#xRo>vMZYg~l&)-^7|dfPveY&5xUa>*56TsOOJajg*A z?Lu24w31TSDwkaGMJpBB+W&wmS@FenniXGWWj@hAw4~?8(iS`3|90DRa!<>bU99-x zI?akN*)H>pL%F>lTt4aRBV)gQ;AP6z?$YoNE3UaVxbBSzZBtlicS@n%FNJnj1)*83 z-J%|R*!7gu+7{PV*EZL7*CVb+U5~jQcRk^HQfORiyhmv3g|X!i>3KB3(& zvzrgOU$X8*Bd)!vS+Cy`4?vtk4vC&xy2vRf|u;_l{7 z5!y>ad%48j!`)M8uL$k6N)xTSpF6Vbi#xpRi}ot{=a$R9X!|P;8){}WYlpezvM=u8 z?h)>hLOUR|*M)Yl)IHiQmwnObm)`sj2$yAF+^1RgO}bA z3OCEXxKFd}%S&Bexn;=c)HyeF>fEm9XWXy)UAR--xe?*=Y85g%bOy&oy;kVHOe(j? zJ<~nQJ=;CUJ=cAa`(pPcZoYNCBeZvg_MXt*7up9x`%q{f360+R6QLb0a~GE@_sYl@ zQuhL>+)ty*W%rfxFQmuLDfeGc?sBPIzGobXDtCocZVUG+iQGm&`z-RwwIqKu*d^{e zqq5UGXUxjvDXeWgBo6r@Z#|S-E=y5_fmAT(7SMP`A zSht>PQnz{)($8Z-w|dnIqprnVo`4>w$BS$|E|1&e5qg5q%|f@7 zdVC%~vem6Zx1D|2dTJ?VPwk3QT-5fnS9d&~GUbNSOV6u0`s0w4t>=8o)~i_dods`o zynB1&@sMlJ0Iw4z6D^F`r8&9Gq$^xd&Ya@(}SLL&jg{@7J8i$Po^hJ z=yipDffR0~EU@O8;$hZT>Y3`v@k|r?`9iNJ^!lZqJkNBg!3IKa_#e>VEOa%yqOM$7 z&uu>RanD{ijot9u3PUrIB zPzt`M(0TaiY`;d}c^47CS5d_K4fj_=KN^s*@vd6euIOi87Z&`7l>Mk;*(W=F@#S|z zdL3Q2^uj4qo*MSiDS|)j`7EN|BVqOSIfLV(Ui-%Lt5ok%&$piMJl}hM@cigG=K0C< zv*#C~_Y*o(o>ZX^5c)u&4-)!dp{EIbh|q_Yd5%Za>y3#Fx?WYPcUV-tBTo*xS?APS z`ReuBQLon_^x@^|^}127*P|Sj2z>;DuKYl|jKbBF1jX#F?yW_3cx!lT3VoE&N0)eO zdkNVXp;z99Jl+Og=6$8!hTaRjjf6f{=obooT&cH-x2aU&c%i4CeHD7!;ElwJ%G!EY zkC$%EO1bdH<+sNw{uVQ(3cc+p+rDDiX=Pd47q;npc;V96D>@Ccl>V+lZzpe8>F3Ve ze$_MR!AiWz+`y}W(H+V%DcYj+~r^(McFX9|=n^gN+Y7y67c@7Qwfrk86sOKLYi zs@a=Y^NEJ@R^QN5^X_>ezPA6ZT!1-F~~__`bJR+_nAt zu;#fD>^;qm;3{cPWw=K4sk!8?j*sUZFRpTm=I`>}6H#wjSiP5@!EsTq-RFHos`q~H z1KtO{4|z9xANFqXZuM^SZWlU%y-Miwgg#&B3xs~P&=(5*8lf{OTU6$Kv|PPUdY`hi zSL%9qNcAp`s&|Q?<1szU!xQ?sy?FkGm*2gwNcqyCv#d<`aYgR|IrP3BmnjkY_43Jy z@F((Z7mfBi-uI<^-}SyH^c#e}w8Z;?_d}sC6Z(ou`_AkA)cb`L;t}s>-p_@8qtKD# zO{Ly1yygI)z`(>jqLDs^(6~^lhE%i@um3qmU*Ah!zs@|W}!b^>Ko}BC8fVb=v&Xe^nK}y**Br0oR=Tm zcz^BWuAg2}yUWfQx7l?meP0%3Csr)GFu^@+=hp+YTb|L{ts1my*6-5yW&3g>+MOEK z?)Eb{F6!%i-z8GJ1-?RGk#DANmT$Iij&H8-A|I2OM}_{F&>t826GDGd=uZj#X`w$O z^c_OqS?0Sm^5C)Wa^Dpmi&ED&Pil7;LX{65>$`=%U*00%udkgG@4q14Wm3EhaL<;H z!9I5RU;&zHOC_v5BjQd(K2KhC_TAb7GN2mOp(4Q~ymHOzG_Xz#vN*jTFcl$O- z8J79(@vRs7UZL+3`U|DLjlNA%hA#^JKd_pNZ!^+*xT3VK_I)nt56%l_-t ziv8Dl$7*+J^oOS-eY<^oA}W49tl|S_I6SK2mwkt%ieK@)>f7&o&3C}}y6>Rx4d0u- zw}gIB=x+%9O`-GmLqdOB=EXlA!6qqt0Li*ANeIX{Q0|xfAhzZ9e%|hBlM4j{z-{H&TkU>VWEc? zq^Xn<*dOnglR$m7ze;!n{*)B_oBJkyo1YhfOZ|4g!|xROXF_NG{Y9zY?e|FCe<}2@ z&i?T0udbN=H7e@mhXTkUQC2ni2I3jMdpC$s11z~H~o zpDwjK&OcrlF~W!~@lWt)2qR7yY=83)Cdg;J$W=ZT_$T|B1eW@<{Zsr?g<%qgDh#dE zKh2+u5Di@z#(zMFMTl!=MRDESy<6#oJ$-Jyde-`Z>gvfUasc+vq3qm>Wt(oAcK(>U zy-!^E(%>0w?)>zWC#L+D_=_Xm*JZN%GR{MY{>vGFjVcufU}JafE_MDe0Q(pCBe#J4 z;ak8)!Wj;aI(>X-W8@*k3YMgw6q{15aQ+zs}h=5BCIC~&uBeUB>l9_sjpKjEeW;XdOqWk0Rh zXV~_dcC3u)H?z3ywDT{!dCir-Pul&T`@d!P2>%!UFa2NnzxIFQKPrqy!e}gvCce{*B!u&b0r--*2LIroAP~BOizjsN{>a zSHL89k1$&P?d}nQDuHUe1{bI*jMk^!J;Kr?dTx6_t_>5nHsF-=AtUJwxfnep5U9s| zC=d*U0@VXG0yP7*0<{Bm0(ArAWIJKB7e)tRbQDG>VRRNo7h!Z2MzS!vl?CcYy3jzQ z1o`Au-9R(hfu=+|&>pe_i^@{hlo_UNHyKEB033tY19A+N@`@`5Uhv*96rs9xr-p^4b<_C%* z;w=n|Hx2Oya^yfVsKQavLoN!;lj6NNa7p0Oz-58rfCyY3xFT?6;3{DZ6$btvE{qYv z7%7ZV!Wb=#F~S%tj0?*G^CMqo0@rXYaVz4zPKtM2^vg^}_*$Y|_shsTC*I2cG80%W z#e1tT#z)1w2Jr?;0;PeHstbg{Y-WP|jN8P7riG<bN&*`L zn}jh@7}=FJp$R+~cvx2Qkj&mm;q2YQ!dJ%R(=L2fWpLEC#{y4D-9H|9BJiXzrU--Y zLOG>@rvuMO-A@xn?teh{&!go%6}5cns2ES~=K~(Ox~6kW!x_87?~MdrpzMnk%Z^>1 z_fXFD$(P@8-S%sLSo75>TZRT+3CI;<7=HJM6+E4lzXDt2%3sFhzm)J>fls7_4+Y*1 zyc2jg@Lu5kzz2a310MxG7Dm1>3WQN8j3Qyo6vixJ%ofHRVayfAMP-4*yi)gYiLmeJ^-ku!=A)6Gm}K zuv(DbRS4sXN>gso9+cBReRYtbNO;>rt756%$AN?~weYISL_Anv*#9Xe~waZMt;q{&%aL^H@M z9>LSR;<2yS57%E_W5Du7p%ebhY{zY3aa~5);)>$BxS(i5quf59E)xX{etUExw;Q9^ zUxQZ!=S9SIRajhW7!l*{k|Scw`F}Mc2CofXuQV!EkE&m@I(!U^;IgUATcyDz!5e}I zsZGk69NzrmVs-8-w@#Wj#?_HV3y-Cca^Ci->(h7c$ztCyJHgW5OsKXK6JtJ147M)22;_7G&iYG|kG%$)1&$m)SI>{HcqA zrnAzgW`#eR%$B=}PtVVr60Ps);Im4jwZUhCJAyldyM)2CaDy;53S-mS;O^ja!RLc} zgmJGh?i0rS!q_gam^2c>9eg*>3b+0Q@C*~dkGcIwH;SsdjB(=(=~Ps%EY)EV7iz2&K8 zBQf7ErT&^Q9w^R!HFz-go7k_(-8X`72Hy%E8d(rF2n&RpOYje_`LpjzgI@-}Qf~gcV&g3Klwm{ud~h^T?^^mk z_!H6#{t)~zNOnFdjK_rWcxmwG;4i^nh4F+ib_!#c%%am}#TmkUy5iBKJ2iIYN%Rl1 zA{^-u^R6`^ZsOIG!V0XE&ZL zrQA3tZxa1Sa*H;}$*tQYHg4OxO|!tEH_qbfozlHu z-lRY0XKAQ?sDn)Izxe&>v-%~)9O5eFOOf+;33VNonwDCWlT#AvqTC#9dbbeErmP7u zQ+s7isE06kKx8aNq^3{HN-NCI&Yd(wcDIoh%Uv)OYjNz!3uvJMA(m+l|7=ZYurLmk zj~1b!F`-DwoM=5GL#%998X6TE9U3EygTmk{|C^ zx!v+|3$tby4$jKpNxOoyjLBKkvI_cU%^7EDeYyhu(hCY1FfutZC99w?J2%{+CeMi+ z7(VX&(;fH6^0I=c!4pH-q;+VL%;iJHBT7P3LVSULTNv*aHy+tFCw*Gp#O(a6mqU4Y zd3tEZ@YJ*>h1t`xWCu9!K4tATVZ0M@d_kxX$ETzhW|f2rl$#?*%nZ$-WW#tpFmyL1 zqm|AHUHr#NF9}^LjQ54{f%L37=8>33LzfpX9%pIawrh{>Z4tn0Y!>67zvvkJ1O73HL}5#G4jNo~fpX%#)uRsXjqidsEC zbSCz}7KIjvt_v~q|5O-9gz=d$K9}NZ(2V~jHE+?Z zF@JVz*0N34mR;K>wP@D7d%4kh1>@55r?qLt=6xM9XBK8=&CJfoYE0jqJy5o3U`~2Q z*5tgL%&h#zkyhpvv}5zX=nsEC%m0KQ={cDerJ;?At1PrObVq1i=+4kxp}Rw6 zp?gB>L!9nQVSFVFD*HwlM}_gNFuoJU_rmx=7(bRNbwc;byAq)XLJx)>3T+NO9NJP` zO&D_J8!Gro7(WZ+7hy1%9T&!l;wGcA3%ciIPs*NPdJ30YkWQdgPnx8Q_yO2pz zQGV9QlLw#tb;P0`>C>`v=n$Nz+S8vAAg3E2<1FSsr~hew(&_iy`cvt4|3qQKB8sB_ z{nOFSlbW<17D?4nkw2OzHfkQ}M)$;oZZAIBF}@IbRf^}u&`Y70L$8SV7!e;U;^RcT zX>DkK=(W&+(CZ>z74e#g*G0S`#Un?7t{H{dGqVfl49=RKmtQy}yHEzqQ{flGm_vsj zeXjVc0n^LpoXsj6)h%z@^qegD>$IY2)6(jAq5bkj znfPk7P&Q0<(SK~%A1WT0pPiRao5xu$ICH^dX2oe))6?_Ay`H7PnM+6N7?z$>lr^YE zv`_mX^z&(KwkCys4YB!}Tg011yrsBthEk($tWx9U>M@GBdTjMLISgc`7p4!enyO5g zo|9cr*sR&BF|lzbRnyNKQD}BrZEs@ zWrkHip_h#KA^CZEg~c(OEZ!ef#xK8$M#pxS@4&8Qfo~ zmSDD6Z6i|C%9~XuLw;`=lbY7Gknwy%QDIgABe)4aPFI54>zB4q z&6-m%ia*N@TH`4;t??DB#de0U9t_E^g{s%6Su3G-ox11OtIyBUvgc+|*Tfz<>62t7 z48Gx+PF_A|>6KnETyC!_=N-%^YIiw5@|25pfu&eCinU@lx!k1dbaE|iPC;STw4uFa z9m#a-uOwX1sBx2~<1Fq-y}zILWZL@v{F_r6=&}{ZTxlvcWXqbj_LsJ3*{V3c_`KpO zrEL*TLqb|rM`vZgavupF}Pm8p7r~0EQ&>YId#CmL8BrO&Bdc5B7e;adp?^UAukuPmJA$BNCt#ciX(;$ zy)ZSce^FsNeR|jY{Pa1cLxv3|*5SXCY>~D~r-z%u5hF*@W&hc`C8GzQ=BJb%dtrHQ zl#CtBKgXxjO`no&nUOp!nZV(v`MF{!R>j8{)j(;XBr3g?e##&vP03S=l#7+Clxvk+ zl$FYAJR%rNuPW~;hm~)X6EX2ImKbkLASM)3J*H+%?U)WR z-D1YZ%#FD?M#NkZvoL0H%=Ixh#4L-sIc7!7s+e12Zjad$+n4e;Pi8&tgTdWov zA6q51TC6437VC(0#kPt~jU5;}ICgmKgxIOEvtuucy)yRd*qdWl#jcIr9J@VsU+hb< zAI5$f`*rNMvB%=7#aSYG9UBw*Q^_d*v;2>^x+2~ho(xu3t7~IVMuRzFdMQ8Bm78&) z{8xGJQ$4;q->KGxKCND*dezWp)f1}I+t6>?MZANqQ^Y$(ylY)T=h%AH?bRLZ)Xa*A zJ$Y9qo_@*0>oPlKXIksby`Idjzb%AK6smXTGs!|}g>&Qp^fx7kFhLHN49|2qqN7uIOrs$GlLIL`nt)B^d4dUI$8ona6RgE4TSqS%(f3b+$C z!8UjjcEYpp9J~N8!K?5Z99I;(18PDGXa#K`38=^30Xjh!NQN{R3d3O}jE1o=4$^_R z+q2+C*Z_~fM~dR0-*fbWOt=h+K>)To9)w-68=i-~fSnHPbi4xl;Q$8jiwu z@B1}k8z zI|Ma=Si9>0w!7;C3pcyl0={)$1FHd_xv|mx1{{KS;C;YOH+H)5herhsbf8X;4T8XV zJ;c@14F&>n^h|(BPzbYN4qObE0_<_z$OoV z^57>Ae)8Za4}S9CCl7w|V4oLTyj@^2Tnn3lopR**_L$1G&iqp^BgS{L~lN z3FJcny92)|N|3k&@kww6+zEHXJ+J|=i3`I@5SxNez*B&)f}Dekvr6ze*aQ3EQ$-2I z0lo+&!3Y=y#3Gar#3M8luqiYbh)HNZTn*$x2pdAgB(wyU0yc1^U70bf=pzp4|L8s`Citiic!G=xUb z1e!q$m2L|mg9We<$je&zrq)ex3#ca16zPt*7`_MYIEM&)gS@PUiC*Ua{ zzv>-Pl=}FuegLSa{s>5i36Kf2tv+?t$5-|7RsH2ad+O7k`n0D$v8cZe@Ll~f*a@$~ zdvF-!`9Fs*;d>w->i-1zwEl5LX+XUVnnOnz3KIdJHn<3=w*hTzKpPw2(+2po0d+UH z9cW(z+Sh>gHP{TasR3Td8A98;8rG2n#|w1HG0b`56(?Q3`|;Jb#jr6K2Q zh_4zx4o||<@GLwBdte`M&I_>ng1T@%)CbydK|AOG#O#7DkPIm>1?~bg)<_2n1fd4h z0?yN@9yEZSFa$=zXc!B`q7kuZgl`&6hGHmzO|TQ51?+2teT}fM5jorFWgrfX@I|B7 z;SG2Tz6IjYh&VJN4vmOIqvPL6%42X34pDQX=CFw$O2;1_%a~38$Sv!!FP(% z#0|8+3HCP`2!nxkG#LgXfShWQ0i2`BB*=!TPzc1f3Fm9F1~$UOuobogbu=LsO=x2i z+Sr6PHldA8Xk!!F*yL+PX<7}ML2sbGrueQYzH53Rj0gPJbS7YT(<@;fEP#bTy-kUK z)7t@`HYEp|l2=X1gQobm>3#43kPA(zx9NLu1n?tOD$R6=2mI9xJDNGb1s?DLdD0C3 zHERmwNHcPy*#H;>__P^0-)uNwb2DsiM!cJigXut@)eQeM!}eygVJ=(@mjXG^>~gpl z-ernM-Ob6p=J>WbZEC(7jwwouI3T7iu(O2)?BE19)B$X2(GpriBD96}&=LATKS+gv zfW0m7ZwuntViXX|7IWY_SPgdr^|p8(UWa!8f3^4kK7!BTOZXa&!gq?&65qANM=hHG z^|vI4TGEb|_^Bm+Xn7Ib2E?J|3&6Qrex)d_Xm2YsSb;XRqD`%6Q!6j{AqZ_C2{>mf z&e@7{w(0`OfL~i(0^~reYhf{54>!OvSPnPC9dIYmwpQdtt8K6gXlE+S}R%9`FHeZ`}YcfX2`iu(fqB7z{&T7>s~*unBg+ zb3oi%Q&(&J*!l-JrYLR5wKkli4KZv(JKGSuHsfI$6oG&%;3}98`{8Z)5I9$x-xMX0 z;}er$08oG8R49a5K)e%)Ng_H*Brb_-0L>&~QzCvz+zoqRAG`>!0CglD0OFqbEnsUR zwkG}z_$Uz{CE=SS2N1&~{E|fcl4?M0piN2jp*18zTcCYO_$Y}SO(I8=XlK%B7z^Z0 zQaa?qbjSznPonKfv^|NoC(-t#Ww0D>h81up+zrGzX#;G77vN=}4N0%Vn}ENP-UED= z^a&h+FBGLMF>b2@ZD|`1RUiS#(YCa$tqaJ{wtk>}ZQH>}AP?K(%eGGgF=$r}8bM!} z3^M@x+u{FqbKr8g1{MQ3+ioe`2sgnkuoCV9+R<(!pq+LP!e%%K9|QKbBOdLDM?2!t z?zp0~Cr{hQfd&RNhYTRr?H2()YQF*Qg{|-e5cl@`0Kc^V625_-6{Q2`>3}af*npUJ z@BwY^Pz&lnJ!k;rT8B>16?y)9gcytjhyR9d^!@Jj`+Hx8PH+J5Rh{nv9Tj|b)@|r zTLO94F&R<-8$0%bp)edq!f2QbQvka==E6mADUfp=X-CKTa5b!kbwF%75}S^+tK$QJ zFFWpn-S9l@g;(JK5VMYN0qyE|81Qk&6N=Ia|8~-WwsfK`o$z%hC*bc+_`4Hr>eK`h z0gZIR)=tx)7_NY80pE7QrcQSQ`O)cN*aF)Cdpc2Hr_X@ccB0-+-@%W7A3Gh7TvF&v ztUGIf9i6KJ{_Kn`ow22J8)yq1pfljd&iJu2e(c;E`a&uUf*~**M!{G>$DPyRVz>pi z!cO=?QMz#MF7==zP`*npTm|T;3qI{a?7RG;C|yn91wRnqt~H?!aBSCx&={Hlaqfz( zU6Y_Y^aSkdir>1fgu9>&*25;iCtb;>uK1zrukf3qBvU?l7>odHN~R6T*ptjL$r}OP zBopgobeD|pk~yYZ3}9n7+R?2KP+vFv(G7oen+HqbMz{%9z?(o!x*dVf;VVT+X$1H< zh2v5PuM;_&a44V1LRQcpg4c zlCjq^_RW+zXp~bp?FU z3t#ry1^B*qQ@}61r^5{3+`Tz>ZvmXE_tiiH4CaNPz@|#2Nz6(nQ$3!?mnEm&k87oyMQ|SkTZSmg-78T!0tZJ!CrV3 zsI$)-a0uRk4}g0690ls_8w*vy1J$7x)P?#$+xxbF){q440RQ*J=Y2;*CKSMIm=D(j zaqPPVsJHJ|iqcO78_=eH4xnBAYC|2Mo__V96;MaNHb6c7sH0ym=nKTSANBQ1gN1+( z`rQurpx-*U8`i@^K)wC81HR}-T>Cu*^nv|5!c@Rl{rP==e%JqL*a^?WK6nXUQIym; zXb#EHA4Wk2OoTj`3&bN8TT-zlwFK?};*oj}P)F*0KrW{~4%m>o1D*xyN+m9-@56CL z8Q_MR&;$|z{|>;`0iA*N59kZ2Fc5~oSQro3Gaw7dy#Y4>b_`entKl}l9|InQM}hhW zQ2zkxA3$CVAQuO`3ts>^FyMPQ2FDeJYLtPrf1nBpU>E53 zM!;wo3-ld>v1#yia0A>3#BlI>*b2mK@Gf``_5yYcegi&&ql%J-U()bP8h%N`FKNUn z%>i!kK@e&HcBNrg8g`}OuQc*1EgA4zS}!2K(#Wqg0-uImY2zRrGJ%+-kwa;l0pFzI zn<3=gkm-;Qg)j>q27EOHEe&}Vo>!Ei*fi7+*fF#^5VN5iH}n#?3~2w*D}iH%qPd~? zcjy72jl<3d>>kz{5}_SXe%NBT9`M&N{59+?_!Pc`Z{R!l34Q@`XE?b$JOIRJIOiLV zABHCZ=NnFJh7*_Jw6Gjcs(+emC1`6yu9NbDI!Up7hw>=|_)knf}L%cxPn zc}H>HQLBJ4us=u{w&Msx1b zV}Wyz#^-J|aT{5%>zkH&`4ufmVqe)9ma9)o|zbOP!b z(+&CoJ{m**ju`_PK#a#w*O(kA0Af7`|BS&uV~F>dd2lsc3ya|^is$%3uS03BSOva2$T)wqsRrgAamG18M_xU)UU4K_aw+j?e{?0iRqr2-08}yape@ zNAL+8QIv7mJZ=`u0qh-zt>aE8%J?cke8-cw5MYfCkg=hnL`cMVWvPCbS29 zJ%JpWuoj+%ci~g`9KM2Y;Ach2hyx7_pgkG1CxiB6SRn+pfi`3`fF{r!@MT6D7zs1s z3c$9EMQ}Y}SH=oh4Yxxn+yVO(h3-YktO*T)cx3j0{($c@Gl27D;^)kHKt5#B*32ca z9LT@SmB4v3?}ja~4W5PK-;pgBdZS71MJCa z3}`ircxAN#;+2&O17R=_vn*nkMa;6$QPzckpR=$#D+`EK)*9FW)HxAW~Zr0Q)9k z-z4mtG!C$B5)Pj<5sCo&CZXv`~lV`(Kun>s-T3*gplIOj!oRamqTl8`i^p@E|-4#BU0=Px(nvrfN_PEP!28v1@7& z@ZHqfa6Z(BL2w1&->Dm58{m_v_+%=+n2Nnq<@tV9lpNZdlK`|e#{pgl06Ck(d2^aV z2j~hZ&=ZJF4!N2`JvnJWjB@heN|+DCC}$DS#+;?F9BzSCKD%UuE+VLLnpI{@2qpNE%WKfDg;Cl~$XX^;dX0iWdI zlf28}Dp(9Ff%E0v2edhl_U6&vyxp)5hz|?9D|wtZ??d%!v-kJ3RLXn@X(s)8A8-~g z+9|^JqL$DG$gv`FtcW%gB?CEDM2;2p0enG7JUuh0=_Kz3CNwI-xOtLET}*(&Lod!67!i>Z~(EN>4PBD zfZA|AGyw8;W>aVZtsx28196#2OlGD)Pv{N9U<8bUv9K6c!fLn;N&p*Y;^&#zHS>g` z%!+{_kPaD;1(Tr+@XM^NupJ&#l-bxm8~@M7-q~IVz&OZ(T$m08z;Uz5iP`vY_OtN3 zqRb(Nb2w&>A86+s+Bt{1=Hx>m%!E0x1$F@WGzb6B!T)pd+gxHl7hlbF0q2=J2C`u) zOatnki;Z)sYwlhkW^;+zMc8-|e!S=cXbj}WMHj=>a1AVi>)|;#00-g!Gj9OTGxNf z{_g$R`ySRh>pTx9hzo))dhJq}qS!+hd+6e4yZG5IezuFB?c!&SyA)5d?o!z?*+~^A9)mM+768 z%5-Kj8$b8QJs$7~efOw@pX=f0dNiU5`t0GY9wQiq*?V}mhoA4^-5%cU;oY9*?P=bg z-tMVJPxJQd&2YTmb2Q^P%sDQgMo-!G%8#sjmBp;R^wFy$a_Z&%UVqV#eVpPy&LFct zz4_;xH0Nzv;JrW1`=@#ToQZk=yvZ}{Mq5Gegvh4%dwj=_w8y)>f8}?&(E~m7?t}b$ z+jsA2%wQI3_nylF7O{lo_NgW#_)s`5WH@Yfu+A%i}NNJUyQkcpfWq6o!s z_kG-MA361@fw}wCr2*#XV^@95(8q1}>4nVt$gGch>0@_&h+aL-|onuZy#jPcL;8xueyClA&b6?iDf&x*vkP9ag-Cpafb7}dfPtw zz6b(s2K^F{m}I0NC22^9O#11sUo(EjoBg722mS4_e_rI#zZGq0%lG_nPl{iiS;yXEXy(~!ofJJ6m6 zeuJ6=%{kDX2AXl8Jq;YhP)1?dBimw^KY?iZz z_2_Nz7Tnk1y|}Nzhd2@hLjuYm;~_E`B9kFq=uTfoq27?Wn0bhKhnRQBX0~C@A-hp` zNF1lR&K>Ua2>TiGG6;scg`tVCr=htiPbJJb)SiZ#acEr{VE;p9Hq^XB^)~ctzU6y< zM3zH4@C%*!9lIR*2R)h0I?e{cFmDbkjNf;|+B1wr=zG{Qj;ggujY-Bs!w=;Y> zG9Dg{-iL4CN)U|5hT0?Q@iwiI#|UqXPYy0I^;0MJ7dDBj(TI> z;bXqx2Yy1mG46BB@7UECvyUp7A0G#@gH1Dzw6zV`m_@v35Q#74jL^2>Tk>g7^6l`x*Bg`XASh_LyN@ zCwkGB0SsmYqZ!8p-0rv&xUX^g8>hc<`WyEMy^VX$%ODt^nzZCVj^pJx-aU;kK{@Pe zyxzylb$m^}W<1fvupfDhm&bT-j8}JpdJ{5`8@D#0FvSSR4NNGHx)bX24r)&L7IRLp zrwL}9@C(1u6`4&i?}WcF+k{C>VH&cW@DGv9V*z$KVJXWw!0jOTI}_gg`y+ZV6aD{v zF7SUQMRHP-hIC{l9|h6>MEy^c$wYTNu^N6qPOM7EICZ^72E(=)BDxz7( z2K3|Ka0sTkfob)y^J#LJ=ACI~pVkfarj5j2rkQWr9PEGEV(fp~3e=sp6|+uzRnv^q z%s9=A)9h&4BcAdi2&RWfL{hSoi#+6`0EMx`>F#rSDaufe3cN#mM&r%tCxc){0t%x4 z8DG+a{tRL$!W=v_h6MWjXU(exM`2@;kDf`3Lfxss7AoK`<*Z>5;=M@60Mq4b+?U zE}!ug-|!tj@iU!JcUB)pqUJ0+nzax!&a(SitB7VD8;QZrX322Yf1KeQ7r0D3H@L-J z>~WTF_n(ZI`=9sd%tU1O&!r%kodmtlu1#ZPFaiP z6aCM&yV-U(+uml6Vl3lX%W+=4qp#Vwxrd%+zX*akA>7rRq$H;d?qN=E1~Y*LEM_%Z zQE$#EuHs(j+`*i4o?styUIsy=x{+zgKz4Fc4Ev9iLu3W2V*inTzeJin(#(;qFk7VE zM9L|$3*9kiq@E)CG620r4#T$XBpai5WP7io8q%dxviJx9tQay|AJ8OQS=n45<> zv_Woj%{O-+=9!n0OuSAua^PE;R|@&eD^Df#KTrSjYVrne@(wNe0JF^d40+CTfAe~w z-+4>X+q`Jj;ST1-vYnmCcit&3VsG=V@Bn=qF_@o_B&0&d^D~ec{mzfzTio;fiTG~k zuf^}J`RdO zU-1py=z)0`*x7B)0l}K7R_Zo z@>`q?xh!@Ii}kwrZCcQZZ&7ct`4_v<#UmJvITuf23e!<{@iJCoH;Z?3fI}SR6#sD+ zvoALDk^r+Uv704wT9T7IVs}g4;{!fI&r9rY$>(%Ok4rY; z&86mCDz~NPTly1rw^Rm8?Q3ZiYgmW04Lvvd2K6+cGuVwmL<`$NY zSIBXN8(oo-G^8gZnF%8sIjF)1bj6!1HghEiR;EJ#EA4XS*Vx6%4*WuAdNKh0uhjoa znXHt_$}x;%7IQJf%Ehc83j14We=AR5AFEy?Eg8_;Dt)cWiT$j~OKHmS1`W~AsyBHH zd9M11R(!@63`G4^@>wO9RriA+N)}Pxi86nb+l^8$sv>o1g#AR>Pt?1#xiVAXuG=%6M~icihtI z?dU%`DfuZuIAtkM4H}^TXqiMe#SGDMiIzvSETX^S8-Cy?I?xHX7QF(yj@Dna{-X64 z?Z%?@7Ol5vy+yxz|31%n83bz*keHOXsWonDjo#N}p%(2?dyVg6%^d7{jXc(PV~x6N z)LRqJBc2Dr+JJ;4!>z7WcWr9i<=Uduq&D?vh&k83i5b`0)!O&)_rcmv@b=n{{6c4b zryD)^lfUT40Nm_ayIQ-Q>p`&2EbHXD?gP4_|8>zE*#>!TP=CWae9Sj=!8;rJG79xJ%w-vFV1paju#KI#femh8gL)gxzTr4#-tZs@ zHkxgt-E2%pM(li}IXBwX#@ytiAVsLb8`Qz>HoDV|5j4f@8|`nS{cUW?`*g(28&~1Y zjk4X8pN6!-?lw(l9t&B5{x_{9mhI?&lm0jP#x}`h(|_38rb}GqCU>~c!ywqK_stcl zOJm&CW_@ke*Jj`0=2m>hmwd$#HgcAD9tA;+Ok!jbBa0aQ#;6xl1@p!K<|Jl~(O1j`F7q-7 zwj>}CNl1oXx9D|?{cXuWCSFGlTe4FbyV&AhwoGCZYQ_4qvF3`kt5|!A)m!WY{F&IP z=rPt_VwYoovA&zwb;v4qGj26j|FQp~-&p;|>Noa0b`xtivDboNYjTRCkF7O$gSs@r zezw}r*5>?=&-sx~bVkoxyW>u__G2J&+&YZasJ|^0naM{5ytAz~cC<~sZLMjKI@@|; zC)?~~+W-cm);2S5GxIhxZ=1zzBAL%ZVmKH0e|JMp+`{&cQG2`E+kfFV?0vg8wtHi{ zH@5dj{q5>+pTQhf5XBnSvkCRL@8<+|v;8`^xQlz-{)Fee41yhYy(1gpl*P==(8cbvkTJ7v4mzIJ|(9qgRT zHuSvH{&ybX7-xy+2KwKr|DC?eoey~&1iRequGcWbu5@H3jO@sDm)qFYif_@|E_b=> zSM;?@uDj&At1kl>ge-Sm4uajuNlz}yP@WnzM!nsi@dH0&*4>@y#vk-T-QB*+-D9w) z-S)J59(KQb8Q$3)MKn7w?`|{hzRf+%x7&_(+tD63vL_*C-J`EPDM>>?icpLaltQn2 z^tz`KRj|W7cDP3ld+P8h-I>l7t^~newf6e6d(E}iuJ-wx_qQ2)R>)IXs9fvw2& zfcgiHA;$yp+~773@SPrbiW@kXk}yhAnsQXc-VRo$7WRA4><1gs1ic-U@xib7nznpT zJ7jXO1HaH2-^0PNtmFjV{5KB`_?G_2{@+;kB8z_yafH)cLI3|==O$+O_ihmQBf+7> zB;z&Gl7Y;;j$1wSKCRK;A^jcF-=U8D%5QXG0D~CMRAhSSA0kJaUv5L2xuL`ak+9UHOZCxVNK& z8N(E&GYdO9I*$b`!VE{(6N8&Ox&!+=dH~Bgs^Oz%IF<$d9n;&f;*_Es6{t*AB52Bo z$nuyhkF~+xj{QUjenGa!?Ch94kEws`Q4kytks3K1_s;PWR6)Jt&H04SX^mSw{yjg^ z9(9lRVkl}Jx1-~8G2?N&Kfa8WtY$46u(RVbJnoi{pW;8xaGpzC!5)v_;1+j+;6xfq z@;2T)F&5wKiL*g)QvWA&Q=R%W!Z&vEP2R(PPU`=pOiq4<8BWUOq&!Z_;$(Mv(ue*G zVhBsv%Sq005xt$fhVSR3-vcKf^9=WJst^s4@hO>{lF6y**!`)6tU;KKEk9uQaq@~Y zYn;B~x-y(mjA0xTn8Z}{8)uJk_81q*JhpQ=2>wfnH~)K^U-_G8j-%((0SVFj>13oM zD>=wTUfkDdGn_6=d8%NB)3vBaLmK1uPPfG_PLF3Y)6m;#eVx|VX_=mOW2ZN;n}0ci zeomi4zNh7T`YP9v@tN0&Kt5;Wa;66(k;R!Q%tyU5o7so&@QhnM<5tg{<}4Rb_l*6Y zHSbw9&)U&hJ34DeXU%xF5Jf3LIA!s@o;BN9cX_rsayo(^>7FZ$9SGh7ax9W%tsCB6>LX~Fw^#HZL@yqk;vn%>OD4&wC}ufKTx#cx4x@jGze@h8w< z{7vp)SMiT{83fnt>{?=yVQ<&U(i*pLZ3wcswvZ*5<=QsXyB0@0x46p#p7J~ht_P@l zJsmkw^Lho$dEK6_oAG*W>d_E;x^Dm1-@*tuW~g^d_P5M? z>le&=t1CU}O<&yXt#R1PEwkU6%OaMtf@s#U5pUi)z<-$WmKkq7!F;#v=(fCWCm}g0 zG4E~j-j?C*q7zj*wH;Zy0-!|-dn?ZHn9cY)xDjV?Vi5wT|kcau5gW;SlYe2==t6wo&>@DEL7k_ zym@~Lv0M#;2lo1)F#3Mr`+6XQ2k+97|M4}xvj_Trp#KN$=|CrX;ocsY;lW@=Fq(1L z--A`0;4;^_h29?M>w&%=Jm+N)JWNeCd=tJyh(F@W+)Sx!9VEji5q+38+zg!da|0exUVPn^E4|mekzlv zGI{zXZD>bV)O$JtGe0%&Q}aHZ%OcGAbUEribyrWfbC?svVaBHydG$^_ZsF;(Ab6IX zoS5@je$4o+C?yD|EET9sHT3n&Z9Z$s`?%+4pYSPP(3-Dli(NkJhd!U}!fiZHkL;d* zjJ-Y|kDi}zU^9AuzK#7H=M<+ohyI`I|M`6$@f3S|5h5W4(eH~YRHqhoh@dIWd50Es zLvAm;^TInXF7brtLGUsO8Bp(~eZTY#ysU}6yljAaFPkBYm$G;%iCYgB zGJ?^#*_VGa8Tb0q{$9%E%x8Q_8@}U5+S7qyEMp_FY-bnyImjW7@ap}$JmGl| zN)V8c6r>_8dQXsv8ni?01mpRK)vU!E3DixXUV>-v z#~IFZk()e1|A}OhSSE=Rkcf0-CXDRlAwPvEf*BHjLnnTx8+uEuuf+OFJb*#`&1B}W zlodp=hRx_Z@pg8xhlfEZiTX(*c!y7sMH25MF@KVQsF!3K3$gnoE3uy>>)A*Q>LxLB zlC!+3`2;g2HDgkHPnv|}$SY|Y{5u#)Gf|Whl%h0csX%3_VvkAfF==h;@)>_H18*j^ zgJf|6!J77q}FJk|)A0l6xn) z-jY|NCVEO03zIl$LzJ$F!mi?a+TpnWS`IDb0{l zE-B@aQWh!gE#+{=FrJA_#_gv3k89{JrT$XtFXc1zmMVlBOO>9CrMLU^cAwsC>GhTV zBYa!w<(S?*r*BOgzCq9Ff1n+Mn8!Z6nISXP_>}Irp$yT)AcG9Pu?)L7L>y;0&n2#M zjT<}-LK%Hm855F(*Dy;)-%&=p%NUMbWb{r(y=DBGZ_!i6_H^VI{-PhF@y%qM!gOXK z-;9fpZ^jkKIHP_tsh`OWXR1yFa>(SJOlHs23H34!WE|$pG!=K6X%2H)fV!FNDU(?< zy{c)(OlHhv#!PmU=@xf+z+-%`nO+8=%)Y72zNyS%WFrT;vBS&-C`3_;QcJ%goL5iTS*UM6Y%2cBUZ5W3eetk3hILAe9@+=62sTY=>T;#{BVMQrL8SErX z-LQHzqy-;hKVkM0<_^NV6V{gR_#N|xO~l^Arenr1dkUM!LYA-`yAN}xVfqR?i2DpX z!ZA+rANClg=P*5oUFK>K%9<3jXN|y{S%k`{NBJu5lLjeN5g zr3B%~IJ8)Desk5t-f}e{ zf+qaPK)jPnU%93;3q9pp#8TWrt|+28AB1verXsay%BOsRyUE=d^>Pp4Z>BN>bLO6h zedJz@y19Lixwo)~6P)H87m4RO_LTch5Xuw6ta;3qryxZrPATj=kK4>siK@8KJa5pF z53sj9pYT6Er!{T(20iEb0sHfBZiMpaG0#4{nb(|o<(BtTx-$tGY{|xyM7E;7$vqCll_oKp5G`NgncJj|Gb0-V2l< z0&^FzhXM;Zi0lfw>w@-BQ11nQr3bPosP}^X7|sObQBWQQaC)$)wm;jw6R+7r7gRimO*VIll4Y*|4kP zc_@he7cYjo#ob+Tvldsg_-A}c8`@$=#oO^So#;##%vO9Pqmg0p@l0e2)3L+ic33X0&Gr-YKcClCzkDo=Psox8vVE36)%fJ1FUHN`+B{IyC1CzQV1R>VkTu zhU520Dc@nKe=ujMh1f?aw^~ZwQd`)@e&RUCMXqpzTi8=6`wvfqS;Ng0ZZF|73NKAL z%owhp@aoh;U*Yw!v+z&RUwCWmEc_eXWw>6$%^u#7U-%8Zhj(KFtI<$w`U%%cZ3Nb@9EF>&{fxvV*-G z;1GH)r{{9sDt8w3%RNK=^6HnDY58QNK(6K8UU@l|cLU|!KzTP%z5w=l^1g%e%dz+Jt69S_9tEKac3hzbpVOCl z>_qkz_0{s^6lwsz1|--|0pV+*Z}$jA9yda2Hj5w^e0aH3~OW zbv^Q}s@JOesb-F9vZ*GMYArEOweRRiPt>b6mYGB{pG7Rk&iwl$p=$P4&F-torked! zyUjh!SIvH^Jr6?F0}^7^>d8royR4p{f)u7GB?zYsc39mGt5-$_)!)ZHs!zb1)z1W> z8cDJD8WHHd#$OCU7B%!Q6!(8-VLnbvAvy=^NVH-QyhuzgU%u((Kp_;E#0R7d} zUrqhhERWu5>aC{UYI?usd)QM=cUALC+*HjU_zCx4Q|~o9V?QWI492fDe)r#jjemA~hS8o)f8D@Dyu5U#1ANsGI1K(NgI@G5Tjd_<(_!Rxu)_-l8 z)V8PE?zgrqYIng5wcT3nKhb~fWvE|!9UF;ZCwthB{%hM$on#c@Z9d{_ey1CK7>Rmy zeS>7-sBxx@&T=oN!>4yNnN|FE7!U|(-B$J)qmao48kqfHA~$wjAIsaS-@iKw{8^X zt1Gj*vZ`yYy5_2TAPCh2 zh8<9+q0Ac&LH`ZidBgEcWHRz-xB~e$JjyYSbCN4u<0f}-Lk%AWp+<>FLNd(ONWP7l z(i}I@$ZUvF+lugQMc8Y^J`Qj<2sJK-cN>4kS9rJax3t498+YPY+<#;5Huhd)?=|*b zD>=wbc`8zcYScjQZ`Q>(_htl5Y0lexLI(yhizsCOraazs8_nEdv+VeOo7JKReKA9` znV7ekpJ`@~&DJ2>X7<+X5J!=5vp6ns74tN^#a-?Pq2^|3UIhI$cSFs)Vvo)LL{H5} zGKTR?#7>*fLvGFG*4*38z1!SfH@Dm7-fzB(JvR+%{{!=;t9`#P|FmgA`R)uL>9uxhAdmQ iW(a0zxe2>(xhMF4|4HP3obc*D{`=AY|39IYr~VIVkOUS0 diff --git a/wake/View/Components/Upload/Avatar.swift b/wake/View/Components/Upload/Avatar.swift index d5e6deb..359836a 100644 --- a/wake/View/Components/Upload/Avatar.swift +++ b/wake/View/Components/Upload/Avatar.swift @@ -1,18 +1,39 @@ import SwiftUI import PhotosUI +/// 照片选择器,封装了系统相册选择功能 struct PhotoPicker: UIViewControllerRepresentable { + // MARK: - 属性 + + /// 绑定的已选图片数组 @Binding var selectedImages: [UIImage] + + /// 最多可选图片数量 let selectionLimit: Int + + /// 图片过滤器,默认为图片类型 let filter: PHPickerFilter + // MARK: - 初始化方法 + + /// 初始化照片选择器 + /// - Parameters: + /// - selectedImages: 绑定的已选图片数组 + /// - selectionLimit: 最多可选图片数量,默认为1 + /// - filter: 图片过滤器,默认为.images init(selectedImages: Binding<[UIImage]>, selectionLimit: Int = 1, filter: PHPickerFilter = .images) { self._selectedImages = selectedImages self.selectionLimit = selectionLimit self.filter = filter } + // MARK: - UIViewControllerRepresentable 协议方法 + + /// 创建并返回PHPickerViewController实例 + /// - Parameter context: 上下文 + /// - Returns: 配置好的PHPickerViewController func makeUIViewController(context: Context) -> PHPickerViewController { + // 配置照片选择器 var configuration = PHPickerConfiguration(photoLibrary: PHPhotoLibrary.shared()) configuration.filter = filter configuration.selectionLimit = selectionLimit @@ -23,31 +44,53 @@ struct PhotoPicker: UIViewControllerRepresentable { return picker } + /// 更新视图控制器 + /// - Parameters: + /// - uiViewController: 要更新的视图控制器 + /// - context: 上下文 func updateUIViewController(_ uiViewController: PHPickerViewController, context: Context) {} + /// 创建协调器 + /// - Returns: 协调器实例 func makeCoordinator() -> Coordinator { Coordinator(self) } + // MARK: - 协调器类 + + /// 协调器,处理PHPickerViewController的代理方法 class Coordinator: NSObject, PHPickerViewControllerDelegate { + /// 父视图引用 let parent: PhotoPicker + /// 初始化方法 + /// - Parameter parent: 父视图 init(_ parent: PhotoPicker) { self.parent = parent } + /// 用户完成图片选择时调用 + /// - Parameters: + /// - picker: 图片选择器 + /// - results: 选中的图片结果 func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { + // 清空之前选中的图片 parent.selectedImages.removeAll() + // 使用DispatchGroup管理异步图片加载 let group = DispatchGroup() var loadedImages: [Int: UIImage] = [:] + // 遍历所有选中的图片 for (index, result) in results.enumerated() { group.enter() + // 检查是否支持加载图片 if result.itemProvider.canLoadObject(ofClass: UIImage.self) { + // 异步加载图片 result.itemProvider.loadObject(ofClass: UIImage.self) { (image, error) in if let image = image as? UIImage { + // 保存加载的图片,保持原始顺序 loadedImages[index] = image } group.leave() @@ -57,39 +100,55 @@ struct PhotoPicker: UIViewControllerRepresentable { } } + // 所有图片加载完成后的处理 group.notify(queue: .main) { - // Sort the images by their original index to maintain selection order + // 按原始顺序排序图片 let sortedImages = loadedImages.sorted { $0.key < $1.key }.map { $0.value } + // 更新选中的图片数组 self.parent.selectedImages.append(contentsOf: sortedImages) - // Dismiss the picker + // 关闭图片选择器 picker.dismiss(animated: true) } } } } -// MARK: - Avatar Uploader Component +// MARK: - 头像上传组件 + +/// 头像上传视图,提供头像选择功能 struct AvatarUploader: View { + // MARK: - 属性 + + /// 当前选中的头像图片 @Binding var selectedImage: UIImage? + + /// 头像尺寸 let size: CGFloat + // MARK: - 状态 + + /// 是否显示图片选择器 @State private var isImagePickerPresented = false + // MARK: - 视图 + var body: some View { Button(action: { + // 点击按钮时显示图片选择器 isImagePickerPresented = true }) { ZStack { - // Avatar Image or Placeholder + // 显示选中的头像或默认占位图 if let selectedImage = selectedImage { + // 已选择的头像图片 Image(uiImage: selectedImage) .resizable() .scaledToFill() .frame(width: size, height: size) .clipShape(RoundedRectangle(cornerRadius: size * 0.1)) } else { - // Default avatar container + // 默认头像占位容器 Color.gray.opacity(0.1) .frame(width: size, height: size) .overlay( @@ -104,17 +163,22 @@ struct AvatarUploader: View { } } .frame(width: size, height: size) - .contentShape(Rectangle()) // Make the entire area tappable + // 使整个区域可点击 + .contentShape(Rectangle()) } - .buttonStyle(PlainButtonStyle()) // Remove button highlight effect + // 移除按钮默认高亮效果 + .buttonStyle(PlainButtonStyle()) + // 显示图片选择器 .sheet(isPresented: $isImagePickerPresented) { PhotoPicker( + // 绑定选中的图片 selectedImages: Binding( get: { [selectedImage].compactMap { $0 } }, set: { images in selectedImage = images.first } ), + // 限制只能选择一张图片 selectionLimit: 1 ) } diff --git a/wake/View/Components/Upload/Upload.swift b/wake/View/Components/Upload/Upload.swift new file mode 100644 index 0000000..402ac0f --- /dev/null +++ b/wake/View/Components/Upload/Upload.swift @@ -0,0 +1,354 @@ +import SwiftUI +import PhotosUI + +/// 上传响应数据结构体,用于解析服务器返回的上传URL和表单字段 +struct UploadResponse: Codable { + let url: String // 上传文件的目标URL + let fields: [String: String] // 上传所需的表单字段 +} + +/// 图片上传管理器,负责处理图片上传相关逻辑 +class ImageUploader: ObservableObject { + // MARK: - 发布属性 + @Published var isUploading = false // 是否正在上传 + @Published var uploadProgress: Double = 0 // 上传进度 + @Published var error: Error? // 上传错误信息 + + // 基础API地址 + private let baseURL = "https://api.memorywake.com/api/v1" + + /// 上传图片到服务器 + /// - Parameters: + /// - image: 要上传的图片 + /// - completion: 完成回调,返回上传结果 + func uploadImage(_ image: UIImage, completion: @escaping (Result) -> Void) { + // 1. 将图片转换为JPEG数据 + guard let imageData = image.jpegData(compressionQuality: 0.8) else { + completion(.failure(NSError(domain: "", code: -1, + userInfo: [NSLocalizedDescriptionKey: "图片数据转换失败"]))) + return + } + + // 2. 构建获取上传URL的请求 + guard let url = URL(string: "\(baseURL)/iam/file/generate-upload-url") else { + completion(.failure(NSError(domain: "", code: -1, + userInfo: [NSLocalizedDescriptionKey: "无效的URL"]))) + return + } + + var request = URLRequest(url: url) + request.httpMethod = "POST" + request.setValue("application/json", forHTTPHeaderField: "Content-Type") + + // 3. 发起获取上传URL的请求 + URLSession.shared.dataTask(with: request) { [weak self] data, response, error in + guard let self = self else { return } + + // 处理网络错误 + if let error = error { + DispatchQueue.main.async { completion(.failure(error)) } + return + } + + // 检查响应数据 + guard let data = data else { + let error = NSError(domain: "", code: -1, + userInfo: [NSLocalizedDescriptionKey: "未收到服务器响应"]) + DispatchQueue.main.async { completion(.failure(error)) } + return + } + + do { + // 4. 解析上传URL响应 + let uploadResponse = try JSONDecoder().decode(UploadResponse.self, from: data) + // 5. 开始实际上传文件 + self.uploadFile(to: uploadResponse.url, + with: uploadResponse.fields, + imageData: imageData, + completion: completion) + } catch { + DispatchQueue.main.async { completion(.failure(error)) } + } + }.resume() + } + + /// 实际上传文件到指定的URL + /// - Parameters: + /// - url: 上传URL + /// - fields: 上传所需的表单字段 + /// - imageData: 图片数据 + /// - completion: 完成回调 + private func uploadFile(to url: String, + with fields: [String: String], + imageData: Data, + completion: @escaping (Result) -> Void) { + + // 验证上传URL + guard let uploadURL = URL(string: url) else { + completion(.failure(NSError(domain: "", code: -1, + userInfo: [NSLocalizedDescriptionKey: "无效的上传URL"]))) + return + } + + // 配置上传请求 + var request = URLRequest(url: uploadURL) + request.httpMethod = "POST" + + // 设置multipart/form-data边界 + let boundary = "Boundary-\(UUID().uuidString)" + request.setValue("multipart/form-data; boundary=\(boundary)", + forHTTPHeaderField: "Content-Type") + + // 构建请求体 + var body = Data() + + // 添加表单字段 + for (key, value) in fields { + body.append("--\(boundary)\r\n".data(using: .utf8)!) + body.append("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n".data(using: .utf8)!) + body.append("\(value)\r\n".data(using: .utf8)!) + } + + // 添加图片数据 + let filename = "\(UUID().uuidString).jpg" + body.append("--\(boundary)\r\n".data(using: .utf8)!) + body.append("Content-Disposition: form-data; name=\"file\"; filename=\"\(filename)\"\r\n".data(using: .utf8)!) + body.append("Content-Type: image/jpeg\r\n\r\n".data(using: .utf8)!) + body.append(imageData) + body.append("\r\n--\(boundary)--\r\n".data(using: .utf8)!) + + request.httpBody = body + + // 执行上传任务 + URLSession.shared.dataTask(with: request) { _, _, error in + DispatchQueue.main.async { + if let error = error { + completion(.failure(error)) + } else { + completion(.success("上传成功")) + } + } + }.resume() + } +} + +/// 照片选择器,封装了系统相册选择功能 +struct PhotoPicker: UIViewControllerRepresentable { + // MARK: - 属性 + @Binding var selectedImages: [UIImage] // 绑定的已选图片数组 + let selectionLimit: Int // 最多可选图片数量 + let filter: PHPickerFilter // 图片过滤器 + var onUploadComplete: ((Result) -> Void)? = nil // 上传完成回调 + private let uploader = ImageUploader() // 图片上传器 + + // MARK: - 初始化方法 + init(selectedImages: Binding<[UIImage]>, + selectionLimit: Int = 1, + filter: PHPickerFilter = .images, + onUploadComplete: ((Result) -> Void)? = nil) { + self._selectedImages = selectedImages + self.selectionLimit = selectionLimit + self.filter = filter + self.onUploadComplete = onUploadComplete + } + + // MARK: - UIViewControllerRepresentable 协议方法 + + /// 创建并返回PHPickerViewController实例 + func makeUIViewController(context: Context) -> PHPickerViewController { + var configuration = PHPickerConfiguration(photoLibrary: PHPhotoLibrary.shared()) + configuration.filter = filter + configuration.selectionLimit = selectionLimit + configuration.preferredAssetRepresentationMode = .current + + let picker = PHPickerViewController(configuration: configuration) + picker.delegate = context.coordinator + return picker + } + + /// 更新视图控制器 + func updateUIViewController(_ uiViewController: PHPickerViewController, context: Context) {} + + /// 创建协调器 + func makeCoordinator() -> Coordinator { + Coordinator(self) + } + + // MARK: - 协调器类 + + /// 协调器,处理PHPickerViewController的代理方法 + class Coordinator: NSObject, PHPickerViewControllerDelegate { + let parent: PhotoPicker + + init(_ parent: PhotoPicker) { + self.parent = parent + } + + /// 用户完成图片选择时调用 + func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) { + parent.selectedImages.removeAll() + + let group = DispatchGroup() + var loadedImages: [Int: UIImage] = [:] + + // 加载选中的图片 + for (index, result) in results.enumerated() { + group.enter() + + // 检查是否支持加载图片 + if result.itemProvider.canLoadObject(ofClass: UIImage.self) { + result.itemProvider.loadObject(ofClass: UIImage.self) { [weak self] (image, error) in + if let image = image as? UIImage { + // 保存加载的图片 + loadedImages[index] = image + + // 立即上传图片 + self?.parent.uploader.uploadImage(image) { result in + self?.parent.onUploadComplete?(result) + } + } + group.leave() + } + } else { + group.leave() + } + } + + // 所有图片加载完成后的处理 + group.notify(queue: .main) { + // 按原始顺序排序图片 + let sortedImages = loadedImages.sorted { $0.key < $1.key }.map { $0.value } + self.parent.selectedImages.append(contentsOf: sortedImages) + + // 关闭选择器 + picker.dismiss(animated: true) + } + } + } +} + +// MARK: - 头像上传组件 + +/// 头像上传视图,提供头像选择、上传和显示功能 +struct AvatarUploader: View { + // MARK: - 属性 + @Binding var selectedImage: UIImage? // 当前选中的头像图片 + let size: CGFloat // 头像尺寸 + + // MARK: - 状态 + @State private var isImagePickerPresented = false // 是否显示图片选择器 + @State private var isUploading = false // 是否正在上传 + @State private var uploadError: Error? // 上传错误信息 + + // MARK: - 视图 + var body: some View { + Button(action: showImagePicker) { + ZStack { + // 显示选中的图片或默认占位图 + if let selectedImage = selectedImage { + // 已选中的头像图片 + Image(uiImage: selectedImage) + .resizable() + .scaledToFill() + .frame(width: size, height: size) + .clipShape(RoundedRectangle(cornerRadius: size * 0.1)) + } else { + // 默认头像占位图 + Color.gray.opacity(0.1) + .frame(width: size, height: size) + .overlay( + SVGImage(svgName: "Avatar") + .frame(width: size * 0.8, height: size * 0.8) + ) + .clipShape(RoundedRectangle(cornerRadius: size * 0.1)) + .overlay( + RoundedRectangle(cornerRadius: size * 0.1) + .stroke(Color.gray.opacity(0.3), lineWidth: 1) + ) + } + + // 上传加载指示器 + if isUploading { + ProgressView() + .progressViewStyle(CircularProgressViewStyle(tint: .white)) + .scaleEffect(1.5) + .frame(maxWidth: .infinity, maxHeight: .infinity) + .background(Color.black.opacity(0.5)) + .clipShape(RoundedRectangle(cornerRadius: size * 0.1)) + } + } + .frame(width: size, height: size) + .contentShape(Rectangle()) // 使整个区域可点击 + } + .buttonStyle(PlainButtonStyle()) // 移除按钮默认样式 + .alert("上传失败", isPresented: .constant(uploadError != nil)) { + Button("确定") { + uploadError = nil + } + } message: { + if let error = uploadError { + Text(error.localizedDescription) + } else { + Text("请重试") + } + } + .sheet(isPresented: $isImagePickerPresented) { + // 图片选择器 + PhotoPicker( + selectedImages: Binding( + get: { [selectedImage].compactMap { $0 } }, + set: { images in + selectedImage = images.first + } + ), + selectionLimit: 1, + onUploadComplete: handleUploadResult + ) + .onAppear { + isUploading = true + } + } + } + + // MARK: - 私有方法 + + /// 显示图片选择器 + private func showImagePicker() { + isImagePickerPresented = true + } + + /// 处理上传结果 + private func handleUploadResult(_ result: Result) { + isUploading = false + + switch result { + case .success(let message): + print("上传成功: \(message)") + case .failure(let error): + uploadError = error + print("上传失败: \(error.localizedDescription)") + } + } +} + +// MARK: - 预览提供程序 +#if DEBUG +struct AvatarUploader_Previews: PreviewProvider { + static var previews: some View { + VStack(spacing: 20) { + // 默认状态预览 + AvatarUploader(selectedImage: .constant(nil), size: 100) + .padding() + .previewDisplayName("默认状态") + + // 已选择图片状态预览 + AvatarUploader( + selectedImage: .constant(UIImage(systemName: "person.crop.circle.fill")), + size: 120 + ) + .padding() + .previewDisplayName("已选择图片") + } + } +} +#endif \ No newline at end of file