From a153ffcb79846099e0f4ec971e72883ace4fa09c Mon Sep 17 00:00:00 2001 From: Emre Date: Sat, 31 Dec 2022 18:43:40 +0100 Subject: [PATCH] Deleting an item works :white_check_mark: --- src/CraftSharp/Components/Crafting.razor | 11 ++++- src/CraftSharp/Components/Crafting.razor.cs | 4 ++ src/CraftSharp/Components/DeleteItem.razor | 12 +++++ src/CraftSharp/Components/DeleteItem.razor.cs | 45 ++++++++++++++++++ .../Components/DeleteItem.razor.css | 19 ++++++++ src/CraftSharp/Models/CurrentUser.cs | 5 +- src/CraftSharp/wwwroot/Images/Trash.png | Bin 0 -> 11961 bytes 7 files changed, 93 insertions(+), 3 deletions(-) create mode 100644 src/CraftSharp/Components/DeleteItem.razor create mode 100644 src/CraftSharp/Components/DeleteItem.razor.cs create mode 100644 src/CraftSharp/Components/DeleteItem.razor.css create mode 100644 src/CraftSharp/wwwroot/Images/Trash.png diff --git a/src/CraftSharp/Components/Crafting.razor b/src/CraftSharp/Components/Crafting.razor index cd85a4b..6be0637 100644 --- a/src/CraftSharp/Components/Crafting.razor +++ b/src/CraftSharp/Components/Crafting.razor @@ -20,8 +20,15 @@
@Localizer["Result"]
-
- +
+
+ +
+ +
+ +
+
diff --git a/src/CraftSharp/Components/Crafting.razor.cs b/src/CraftSharp/Components/Crafting.razor.cs index 270c400..91b383b 100644 --- a/src/CraftSharp/Components/Crafting.razor.cs +++ b/src/CraftSharp/Components/Crafting.razor.cs @@ -18,6 +18,10 @@ namespace CraftSharp.Components Actions.CollectionChanged += OnActionsCollectionChanged; this.RecipeItems = new List { null, null, null, null, null, null, null, null, null }; } + public void Suppression() + { + StateHasChanged(); + } public ObservableCollection Actions { get; set; } public Item CurrentDragItem { get; set; } diff --git a/src/CraftSharp/Components/DeleteItem.razor b/src/CraftSharp/Components/DeleteItem.razor new file mode 100644 index 0000000..8e5c16a --- /dev/null +++ b/src/CraftSharp/Components/DeleteItem.razor @@ -0,0 +1,12 @@ +@using CraftSharp.Models + +
+ + + Delete +

Delete

+ +
\ No newline at end of file diff --git a/src/CraftSharp/Components/DeleteItem.razor.cs b/src/CraftSharp/Components/DeleteItem.razor.cs new file mode 100644 index 0000000..eef1a83 --- /dev/null +++ b/src/CraftSharp/Components/DeleteItem.razor.cs @@ -0,0 +1,45 @@ +using CraftSharp.Components; +using CraftSharp.Models; +using CraftSharp.Services; +using Microsoft.AspNetCore.Components; + +namespace CraftSharp.Components +{ + public partial class DeleteItem + { + [Parameter] + public int Index { get; set; } + + [Parameter] + public Item Item { get; set; } + + [Parameter] + public bool NoDrop { get; set; } + + [CascadingParameter] + public Crafting Parent { get; set; } + + [Inject] + public CustomStateProvider AuthStateProvider { get; set; } + + internal void OnDrop() + { + if (NoDrop) + { + return; + } + + this.Item = Parent.CurrentDragItem; + + if (AuthStateProvider.GetCurrentUser().Inventory.Any(n => n.Id == this.Item.Id)) + { + AuthStateProvider.GetCurrentUser().DeleteItem(this.Item); + this.Item = null; + Parent.Suppression(); + } + + } + + + } +} diff --git a/src/CraftSharp/Components/DeleteItem.razor.css b/src/CraftSharp/Components/DeleteItem.razor.css new file mode 100644 index 0000000..4f13b5f --- /dev/null +++ b/src/CraftSharp/Components/DeleteItem.razor.css @@ -0,0 +1,19 @@ +.item { + width: 64px; + height: 64px; + border: 1px solid; + overflow: hidden; + position: relative; +} + + + +p { + position: absolute; + top: 0; + color: red; + text-align: center; + background-color: rgba(0, 0, 0, .4); + width: 64px; + font-size: .75em; +} diff --git a/src/CraftSharp/Models/CurrentUser.cs b/src/CraftSharp/Models/CurrentUser.cs index 360c27a..ede2f04 100644 --- a/src/CraftSharp/Models/CurrentUser.cs +++ b/src/CraftSharp/Models/CurrentUser.cs @@ -14,7 +14,10 @@ { Inventory.Add(item); } - + public void DeleteItem(Item item) + { + Inventory.Remove(item); + } public int getSizeInventory() { return Inventory.Count; diff --git a/src/CraftSharp/wwwroot/Images/Trash.png b/src/CraftSharp/wwwroot/Images/Trash.png new file mode 100644 index 0000000000000000000000000000000000000000..7bcb616c0de0c6ea913f1a67edf3336a8e9f65a4 GIT binary patch literal 11961 zcmd^l_d8tO_x72B(amVl+bAJQM6aWdPDF|5B}$?_dLNzW1c_b}JqQvK#3%^~(S;B_ zdNBIvU!OnYz22YBIoCdCmvyhR_Fnh86Abh;$VnJU001D@M5{go0MP9%2!IjZUM&8r zd>PLn-WqGJATv3R$Y$ciB%UK;Pyf?2_~#Fo4E7Cw(gMU>3vykvpyJ{fS^p!@CTeK6tDP zX9rDG*t%zz4!#U%R)t+L33nW26!ov;7i}st*yQd&6*Gs^V7u*ydP##+>b-l~(IoZV zPOGVz$U;6i*X2uXp--yuE9`|4#i^8v+$v}5j3`23Vup4l1%K^7++LZz7u;(uL^m8R z<(m1(eX0pf&T__KZHv46!WN`GN2^rqpqD-M8{=$gMC+O%O}(244jm1Ppv|{;mK;?T z;^B&{oSNd$6KPmk8VCk4?|OzP>1N{wr!JUB3T=h*KH!S`8{)R@i$atR*26d|MT?n( zkzXvA5iiv^p{%Qn;rpd(!rukP+-2;C%=rGzNdO~7Ycf1_e$qj`rUiPktg*i4dk)cJLID z+WT`zvKkea(GMU?;sO}oDV*gJ^#hDu+RCsI8ykOoUGL3HXHoMdnWSSPO<*+$`()K? z@Pm_fFM@I6Y+R`AUt^A1avWBLAdZBY@~oh<;QCJt=|EP4y1suuyB^ff;f^bmOPLVs zThKcR=LqRgH-2tmhz3q{W7Am%o-S1idGSPBM~Bvj@UJjF@-X{dmNxpq2+gj&=)V)$ zq1)Z+)zw_putQ7fKku7kMoURZN_P*YC&ijb-a$#Jc;LDHcJ~|l4x2TN=qt`5S?;>5 z_`%(**7j3zmt7`J;Je$Y&>7=HkbunEzdOJ6t=jRTcRJYrHQ2E6u=xLXy^&RDwIS6nBI;%-)^&! zrlP!Lio|p(k@PVq(|+HzA!&bI3IlBfUgDO}4?OABn+cnv*12{THP4s?NER|+7hUne z*-=+e;^Ge$$A)mc(O>Fc+nx;X#{Ws%hqPDup15X+vr-@tUgPwUB7~ODbQdU5NL?%Nn%fl)!;vQMHw(V{L_;8aa$HI!*Tn(i4L7)2k6;7MA zjLIiX3yI@ksLWY8-MDd4E>a^5VhKqD9gGuqrIRhP!G~O;$&~LP?aYak@hWGR0tsf1 zTUC}{J$}p%YL-!BBI=)*?+8}md?iYt{&bVW$zF58qX8apm|W6eJCV{194$^yvoV}J zk6}AY=G2FW{T+Wxz!z0wlGdn-sdYsW@)5RE_Y}js4V4LP;uO>IP6%5a<_(cw#EW}x zd~G*9f`@c-9a659aMNRN-)a`eWAo%GyK|kJN1H+POO(Xyh-*WUqDy(CYxon=k>*Hb zR}0Hk6SBYeYu}?T!v_XmAsjjg(E#7M&%V5JS4ZQf831A8MctSgTbV*qSZBc5Y9b}A zqlkL6=7X>_Ao88WqROH!z6~m*#Dvb>7I zVWD}?RBK6U3LcF8)&(Q87r9g*R3K|41j;BZ(C?$;;9;>a*~>BGf=M2R#}Jj_y=LF+ z-@*y7YN`{1Me~PK=1qM?oV6wA^~7NhDRm!!dEls7LUsm67m$QHDvM`=pR+Sk6!ABT z40nxe>&g{3BXcHrISDg6|62Dof-*`OkorKleTr*}d(ZplfFIncc+RvCK{gfzA)a;x z)phV{d#0O~|6oa1&V`G39i=`8L;&R-Q|&~KeP;pSMRdki<|Cd=U`v_se8OfZUphh$ zOzay)CxR>a4)v^R9&$v4Yc6}4T7*ga^^_>Ayn(Dxvj&%LtzT??cp@DGJ%C#Md@|q) z)$lnN^-qr2KKav1GAd2H{&`&@ZHxvOAS22GlBBTHa(j|O+ z0;FMBC&W-+dc=UJ@7OpVYV70nqVVh5@0q-|6qMqfb2eVmLy!9;bMgNWbT^`^HY7sP zXtocAgCnq4W!D1B&eZ4^i!Fx|&w&>(9YHM3-LD73#P|U%r=(OS>S<-xIT|Q@k zY(X|y;>0IriQEnv{alU*uBT$1j&Jo|V#J{`iGeTYeLHh)dr*#u{D}Ev=#P(2;G81H zK9(3?(f)gR@5x@3pKLGWNdTcTRO8^kUq1?f%IZ7lsQtJv&1?<2;&3(XM_CZ@1z{Cv zzo`kthDgd}dDg)N7jo9F!FdTaLHD}%M!z$HmnhzK$}Ju^5W~$J`v^`8(xDZ_9vyTbmL8H-ym#C18|6(=zNoGbI+iKo z*&}GRDhE7guH$ zIB?wJ7B@^CFdOp2mGGd@6lr(Lq33h%;u8cHgVb`_{lGcSHcoI@-rC;jTc|qP#!R7Y zcqCJp7LMlxSu58|%0=@%J<>K@8AqdtPj~$Pz_+B>fd@O9yajJMM1_uADeF>3msa}v z;sK@@lV`o9IXA+J*Za865-qm$w1;~?rNbG(279$|cqQkOj*2rx7{*Y{X2rEXBLi#E zWysY5Di_Q-0I6f-&az8Qr_tB9Q(4f)iSPwg8=<+Zvm0K;E&jB%OaCYx_ z?{H*G16HTiPFImC;rTgsW^EFPsvC7U|v+ z(3%WC`=!f^>Ei;UCxMszi7ptDY6u<)`n!_{(?K}rD5~)t7p6Bm_#gh1tk8>@zk0H_ zyJhC`>`EqO1NG5i@xwaf>$lGUsc(O%&K~XXc0@BMdmykTXLey(zQ?am*{OhEu5Fhe zRTeNWm9UqeiB%VyMh~G+;QI5jKSOju6JD_@w!B%dTDRTotdJaCz6ocWFo)C z2q(jCXU3++h;9Ce{4{v09|`Rw2`7kp{Fg&#e@}Z&91QC z%+mu>Exo?3;voGCpB&Y|?^M;uA|I2ReVr(_W+`Xe^JUqz9KhFGtgtB+1 zwlUY|;BBWwj|4);i2(_WCrMfrh|h-_%|1Y~n+G!>%TNk4tv6pZjBMTn#4wR%H#N!t z?v9Q{#!$U)_(QP*K!gAQE&jO{`HN6$lt-&{<{{9~N&lgFSm;a%loW$OGlD#r8O*6p*2ypVD!2LO@i!J^q`Wruk94<7>>HrMjsi}G3ND@|Z znEhm&crosFOmAK2+*grTn^g8#T~5CFn;?!OL0ZK_x|L`WpHvdfr)6ZK0fsQ3ZS3<& zIgLimId5J&6V--|z504H38el+Na+Kz@}@8tY;eA-^ud0F7f$nA*&_55cNlw466zO+ z{VqzOr!q~A(N#_+(d7lqEWK5D;LiH~i6JL+c2p7i2$)9QhD1R*6KNjD(bFkI5-;S* z^a3)xF1hWZ{8;knYlXM0{ZGWLMJQl})7dVxpX1q;z9gmrR#r}&Xv8;uSov$^q6uH~ z4x1hGZEwXw`eU|QuO?%STEo)vS>W2F;j(xdG_!s_Ysb_?DJ4Ytw4+B7Ug`gdr1qW2 z=e1|Q=1$~4?qp=|rgM+xf59--543&o2D!1$3MYu1_APPTaPE&wP)^>}y~WXNH)#lp zB~}{Z7;v2aD&qX5bxL(nh05(awy*6u<5oJicB#W^=vmYJI^R+MmJ{dEtHYi>wicqR zoL<@ITaQ}AqENtWG{6IESh@;Riwb*@R;a;%Kq(l*l}3YRZ>}|qF^h3A zh^4+OgaA^gxvOc&g)jp6r4bkDY#Kx#_Xio-2&Kwa6}{^{(_od?m%ZFhEQp>r{-e|W zcT^+FoBpIc++Y2?-A_OttQKP>@LNC`XgHDlvBXRMTZtW`aqBccb0p~ptI_NeFy>U2 zJp}$ucGBO{dvLk)SAQ}JMEdF?VgF+0^{C?mB;FSVQw7N{&_@HFd>gfLpIy86ZdcJl z0$Ti!YA@;Ev8Q2K+*5eO=djwzh`%mUM0gEAab6L z!9oISTDul1V3(w|lo(uS`t5c$0x^IB-F;Da$N_6Ri%>56@C(?ovd8Gs12GUc)I}Ay zVeiVAt}HZH_}167{~8HRGh&1{ z6Ih2A_#>R}Z{>==%L@&r3gd(}XwQ4wQO-|hnv#J*e8t5CmsM%NR&=7W0BL43DcW54 zJ@rr@n>DLIri`J}H?RL{ZGG}~X?8XmcS)u@cwJbFDAd&pvysK|Kx~g*|1Y6?&oa#a zZ(AJAhGq-*xf-5)Fz+Jyp?jG*N_ zdOG)X@Kp)iEU}+Qk6BN+Lgn}Qy`vx&KVpy^yS0VO6mYCRdDH>8z;1FcadDIi_{F{c zbtnh8cGj<)UX&0$J2ej%S2$HyZ^Ajh(+SU8zq_RlepO9I?~>{W zo1_gMb%Z-OAZtf)xM+8q|9+Tom6$r-R9!|;hcEv#t^0m)eN^lU$TSpX-dM2jC-o~} zYI-|}3V`PxqsE&r2{FpAjX=i*=gh3EzkXP~<7sd;UN2NS9&7&0?E>uF)vdvCd}0yr zY8YkAMUfM*wOwKlUfp=)3@c`~{s|`9GK#g20BD-0YrSI906)rQ0A4?%Uk^hWm#aX- zG_mc_37P<2@CZ~fm#w)%QiH|Up>3evD%r(%2RxKJ&81BFEs|qhAz>lSY@nM?&Ep;% z5IJ{C=;ZfGrvmwTlG76mg$(h6n*Z{+(>z*uz2^pxARu(*qw8=)uU{1gz= zRD)O2A@E0sXhPYhf^G~r+b;;adxq)S-fIEa^=-q;{XDvRQrEAOnfh94e_auq9I(*| zTK*V|w^{vREdTB$zwLjT+g*rJZq^%m;%m{f=hDxU-iu@tqr}CtVb*dkYlHhtlI~llI2WrlI|n9yNCSVNW>z%3f!_ty&ul zi|mN}LB{^Tdu`CBJmlmB%x1&;vFRS`<@WvD+>RgBkLdigi@F(zzx+UKDb9or#+BSp zMN!$f(d)790Gw$qO191!yBSR#)_5`F^#-%6yH7h!sy~ro7R*xs$de?UxP5Y;oXL) z-)Je5v%?B+sfAQJ>sxjN*Jf%-yZAt$GFe0|_rF;QW|0-Tty1!7eOvyQ0TJ%!N1I)v z8f+{ncul39ns|%q_Zkj5j8{6(D?$A)7u1jFY_!BkCUj){HbGsy>*7$u6kANdE@b__R0KXq zS0br%{@;a;HuK59-{U+HDVOUHlwOqzycUMn6v2?h9f5ECLk=I+QcRCP#x&Ye&#-qf z_)&}CIbYlx&3wXIDqG2@T)NgH)}#~fr^D`_@X9tHDyhL}n<*h?8EOJ;X$swl&<3JX ztERVBe3Ewl4Ye48S6V-(TC`g%%4O$crxgk~E(1tse!sv8zL>xxCxG6)C+6@>&wuzI zvN;0378}SNTp;w80k)O%dE5IxfI3wOBjyV-zLSMV+!_n{q?9^`Qb=t03Ot%uxr3?Yz-hXHm$(_jjM~+^-62 z^WUR*kT3Cbal*MeWBtubUVOm%{l4Dep!ZbQ4Qfa`MlAa+nQ1-;=yCkYN#Z$Xc0`iJ zSQCp!vmLx+HBc>nYj_y`K!03w}WdW=NxR7D_a z(bI$ePM>I_V0v;((GS1IOjj5`@+R7 z{|DnWLKMZ00z3OgO~)^0L3=$=evBXIONaBsIni4Qk0a|Vh`RE9#x#ct81yuxg5-FP z7>PH%ul&}k2iGnYzxMyG{_olAp`>$rdW6r9eVcKxEYs>Zgyx|AudZBT`9U-E~}cA*dCcACc{$MqFEEaUv!S6I4YmQ#z9 zJS4aj;=wJnF}zoPB$HOx+yB{(W#4y;>9iA9)csO&?f+rlj0fThy!*Al?p4!kn}DNE zjS*h(F>2-LH@&R^_1{%pa?0Q^;Dx~2H`$7xkuXtj-@F92(7hEM> zoT(XfiMW=7s+mr?9Tv*^yNe+GK>76^Lv2|zsqGUBBV_6t8V@LWUVB~cmk47`sFcPo z75fM=r<;)rDp`v0Q0p$Dr3%7gUmgUCh>V$f^02r$f}BYrTKS>sMka~8$1S&eyft|r zVX$cvVanBU7{CP%?MyBxn9b$T0RXv`l8+*3mtJO|G7-&W5#7JSdvC_`6s&vA)Fn=AO=MPUgW?y zz)bn8rC4_2uk@4y-NPqvJ~ax4XP2Rns_Dc)3KZBKiIL)~O5wy2{&PZeL+m%}iyUju z+D1Pn=Pes2-z8>G5s^W23xE_(X^?&|Xsj`!ER}y;!W`!a`Rv>EN7{Sq zkN>RWlcz0Y#CGe3HWPs8g%}wIM^_`)>I#wd`v-f8%ZnK>ek}SA`dGD5-H*=BD1A6> zrF#3&_^H(h;CUn)6$^-C0{pSI@T^;=E6B1?qFADphGoY)q3a=yiH0ocdO_gRi-eO< zfG+UJaN~H)mVt_>Q^XlILP)hok+<3@zaZr53ZV)~!q;`>U@JQOY5nMBXhyIo@DXS|VzB)jPge<)ag^|GQ3PtoNEr|vN ztORRQ#)EQ-TPx3;j-AG-UzQf?@8phzOA&0izlERidvO;p%wsfJ_{(=q7s)1~^`0B5 z-|?#gApte;1|fkFrtlttxsL_UeiYyV)$2-!j*t%uAuw!JHHJb4FEL z6BoB_{u(fyMSdCCGx_NY{NO8YBp#8V61o{BVt-qo24qA;z#D$8_uc)k^*WZRS{7Tp zK(?`d)v!MCS@7ynlbH|_p76+zSYxxg!qn zE@>*pjbpdX%E5yoBf&nDofnuf+x6O$?9m4US{JBJ z><)t$VJ=c}(w(8;?}&>CsiaNP^{bokjx?X7h}$yC_vFj85c0kEU#zIt{@gf|if}+c z0WGUiE!xR!?4UQ26tbymeRGYDiE7nfxR;dJrAIP>F;L`|S=(KdxmTXShypW_x-bfX zS{kir3Kt5)*2At3UAmJ=?@ zI5&^)y&I=tpE@r>9vu-vK}VscPD`xQQAAasH&K5+$25UB^e2ZeVHy_zdAt|rpm6s=5!B(v+DAze3f$I;3zZ@#ynpiuw7JXa`+U1lBk=f z%&dH_VIzLU1^eck7{Y?ac9Y+6>vO|OU)|>1Db$(||@2U6nMtqhks;>J? zAi3I>j#@+8*n6W~pudoqPY$gW%*c^voc+SAwKRkTNk0v(<6iKB9{Vy2L1wVfrBqEb zK}~EqPpHnyp%^=M*GK_GhWupr;qq_VnQnxJ39uLW7P z`n^%eFY?lrLhprrsyv;)OcI%1a&^u3?dpLboByugPdJzuxf)fGdj3?R>N4eyCTyr* z`}$68zY_FUvge^@#)jcXyRR=UE2tlexog;zn4j!&z`pQY2Hc;xaSAq#T>Fv$OC4JALs@U8@%vo+Q7l`WkVZ^Tl8-mWCv!T#ncgVD;@fi zP!%iqqmLd7g{OBsAU{;l7X?roqF=0<*-}4+wn%MGXM!rKS0)!PPWOnMxsKKA6y9=y zraydrka2I4CE#8rh9zXOB63lqJJoOI(G?TX3ON#J^Ro!OVDZ<{)vA6DGQI_^=muoX zngmsRUMT+TmrfdGA=F{2K9IkGTknQzvq3=QuL)?sM?tOqm{h#8Xz0XLF4azt8}=kLmk|RoxpQSr zjpz^U&4#8K{`v%#sJ=Pc9FKAtFJH}eF+d=b&Vwe~tyd-ZTHj7a-F8W8??C+F85>e0 z{QB}FFOgXY+@&EFRlnN#yUA&mYdq?u*>#f{SoH$ylGud+Au!wq8Dxh8Cr2|x#2fV= zxg*L_6=V!?={X+$i_)yOQQ*Qc71Bf%LcpyLZrmHT)k0w8ZKPPF{B+IgHG%FTI_0HP z`O}=d@U@}W_Ni&d!2f$c;nu_cx8e3Nd+YdVjz=#*?&eGT z*U4*Th%R9$D%R7dZ6~G8L?3+1JnV|YQ*M?|;tG&|LNSPP0BTGQ;x zhFUa(E|$+U6O5xbr3YS+Hq$0GMy5Wbe{?!oSYeV7fiC_U^1T1E{oX_@ z6sJXxXfQsVt9~dXZX#Iy==4yFKKVRIRA*S~W*9PrFMuu*PInH70W5CF?fXvU~fq^GB&=);T&S91(hulm}9rs^zhO`f#4 z?^K%@u69;_P6bQB6v}}Q?cMLp=(m3wAu-ER;U=tCI=5ddQ!WjY)J)ZS)fq<`3Z_FX zM2CL2X1+F#Fk}k`{^#i~nV0n;3HtX2gj^LGD_tUhxScp4s`K z*YsycZH}bIe7^%xpF79KCPckNfC6L7+Un1RmD?nYZ-GmJ>oHcu?DrNXQ^WRy3CY$B?BMGM zMhhvE5#8NyTp$9bb^i{e`DAz(nghLE14(nlf4s+5-n7H62M}K5)4qtCKl(-~?<~;3 z^~?oz#^i@O`;lxgI~Boq=A`)!Vqk87hr2x^Utn+ld9zt{nWUiNErQdLc6| z1-jeJ47Wfl!g$r>41Sdpv`>w*?mdup*BOC6_ZF1e@}TYNoB12eEtK6KrRWA4Mr(j^ zfSod3xZpylCYs%px?e`0{TU_ZY&L4)!b)8H?(6N|1nOC78mbVvHf!h&cfvwOXSn6^ z9Cu=GpZKk9CVk^l(Z7mP#Uj#cr>2?tGfpmVRUHs`3T}N*0f)(%kvp3(vN{-jaM$K< zROX~a)hy}38An2=uvgS+Wb!_lCNSv-3>tbM5SY}UH6Lsi)NgNojxNL*;z`xLezkDr zzQibhE5877M!x*ysZhR1PZgGQKE05td>PSOA8?oK!KN|>Y7kn1Z)jgmgcCcsvo~^s z#Fw|#rYfKdpB6%cE+2_))r8<)qrtICBBWoCd)>^f_Z=f+*iJIT)9?}r23HLH|LX$Y zp#G69>*l5<*_H~KrVhPx42O^XgKS+~e7SO~$(29*n+dWr$9sWv*@xRiRxPC3As zqz=}+-F3)p?$N(-4+xMN)SIHfovP7W-610by|HKo{xtXa8KQA+A5B0b&h02$7C| zjc6!r4u#q%)KG)n$;XI`F*y6}T|M}<%IaY!_jQ7xr_MV4ZS=R6v;4136JedL z0hWMbaw6}bfb#P?(mGu$em3Lu=1U6sqY=(6g~k|4MQC_g@2z;UjMQ0Yn;tX+TrO{B z%o=ClpQYQ1O!1^;?pMOL^pQdG2!Zb-m0tuzwrV~peAEk9;#@nY3Cm$MQZh%N2#RGK z&NMPkJ~}5*Q3$I=;=wziYRlTC*(&`Fn&qDTW9%eOGr8M0kCvM<`udPz4XRcl6I@^< zkZMCWxD|TvN00ywJX@Vr!znRazm$5s+@lO00l&z=4rDA0_cFk?_Z8fKlMnDkrnWbD z?=dIbm{9R5n1H~|phtjf*FBHy_4&IJpk`wCR$`SO?N=BW|CnGxG+V3~?QWK0*!4>z zJ zEzJv#gbM9^!F}ygU7NiQUDoqw1`>GO%I{~~UtV{6jFN=j63@l@Sf_S6UW!g_F_760 zUNtVkXjf~W)42x+r{S8Hv-zdrMqxLOqtIedw082hN_l>|8%xehoCf}aFZZ#sTc_3m z>apmDgbk&^V{75?`m}i8&{`jni95HtS9zxO)VF4P^oUpYlx3011e46ChVoCa{=Zv=G-Et4ByS<<_=6@1A1{TEE-CpRVdva){At=F>y(WPt^pO^ m@qUaC`hQAIjp~Hs!<{Ys-=%0RrQJ%>0ZlbM)jDOH$o~Vn6^fz& literal 0 HcmV?d00001