From c82efea77f185ad9c4a1dfbf155895f0c41c9f35 Mon Sep 17 00:00:00 2001 From: pollfly <75068813+pollfly@users.noreply.github.com> Date: Thu, 15 Jul 2021 16:51:15 +0300 Subject: [PATCH] Add context menu and batch operation info (#16) --- docs/hyperdatasets/webapp/webapp_dataviews.md | 23 ++++++++++++++++++ ...webapp_dataview_table_batch_operations.png | Bin 0 -> 59306 bytes .../img/webapp_exp_table_batch_operations.png | Bin 0 -> 193050 bytes .../webapp_models_table_batch_operations.png | Bin 0 -> 205703 bytes docs/webapp/webapp_exp_table.md | 21 +++++++++++++--- docs/webapp/webapp_model_table.md | 16 +++++++++--- 6 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 docs/img/webapp_dataview_table_batch_operations.png create mode 100644 docs/img/webapp_exp_table_batch_operations.png create mode 100644 docs/img/webapp_models_table_batch_operations.png diff --git a/docs/hyperdatasets/webapp/webapp_dataviews.md b/docs/hyperdatasets/webapp/webapp_dataviews.md index 92a06647..6a2ae711 100644 --- a/docs/hyperdatasets/webapp/webapp_dataviews.md +++ b/docs/hyperdatasets/webapp/webapp_dataviews.md @@ -43,6 +43,29 @@ all the Dataviews in the project. The customizations of these two views are save ::: +## Dataview actions + +The following table describes the actions that can be performed from the Dataviews table. + +| ClearML Action | Description | +|---|---|--| +| View details | Dataview details, including input datasets, label mapping, augmentation operations, and iteration control. Click a Dataview and the info panel slides open. | +| Archive | To more easily work with active Dataviews, move a Dataview to the archive. See [Archiving Dataviews](#archiving-dataviews). | +| Clone | Make an exact copy of a Dataview. | +| Move to project | To organize work and improve collaboration, move a Dataview to another project. | + +These actions can be accessed with the context menu (when right-clicking a Dataview or clicking the menu button Menu +in a Dataview's info panel). + + +Some of the actions mentioned in the chart above can be performed on multiple Dataviews at once. +Select multiple Dataviews, then use either the context menu, or the bar that appears at the bottom of the page, to perform +operations on the selected Dataviews. The context menu shows the number of Dataviews that can be affected by each action. +The same information can be found in the bottom menu, in a tooltip that appears when hovering over an action icon. + +![Dataviews table batch operations](../../img/webapp_dataview_table_batch_operations.png) + + ## Viewing, adding, and editing Dataviews **To view, add, or edit a Dataview:** diff --git a/docs/img/webapp_dataview_table_batch_operations.png b/docs/img/webapp_dataview_table_batch_operations.png new file mode 100644 index 0000000000000000000000000000000000000000..5987756a21522bde73246436c666d78a305d3027 GIT binary patch literal 59306 zcmc$_WmKHYwl>LjeFPfSly}FRqzKD{h`&_YC%4VhTzT}M=qE?n^!uTuTEIB06(W&fN2#?7e{%Hp>s|}V|8gt@fKVb3H08)3R|>M3G-(J z0|t?Bw1{vuks5*GHQ0n~c9X%gt&p1#T3T^yU5&(vhpX<})eDh5k-gO((VJzcTQ);p zo#E9d&;SapT>QTth;)i;IVsh@-{oux;6DBLTS73*&wm##kfVvs&h8V}o2a)5`FAdD zyMdq83gB;E7514nw)r*nLRSxVr)gTV&7#Nh?|MUGFUEjym`+l|zwIg4vZ_4?V?JKqIZ#B`OsiuPq?H{1(5>!P zVzFLso&1l1;#cK|q(;k|!Xn{A>pHtP^!Ms*;%unq>;XbikNzykVlacWomGHz61_G0 z1T;pSjOGc&tdFAp)nD z>LposFeh3%lIC+X)~l2xy2_xvkY4Rl9EhTQsd)O)h>MpF3dPU+B^ z7{>BRpWz)EDUhKhcIw7Awmj7NvNdNhO!nQ1kaz74e}Y%CpP62* z3SyMAJ!|o&?M_wXz7)F;lml+SVbHy0p*Z%86>GM|2|(%?Z}e_T&;`UZdEM+a``F`6 zc%2-=uRgf(B`H1DNMU(qyEAC>rfWXFhs|fT-Qy?O;7pR1Ab2^L`b0%K} zZL67UO+*Ut-1Bjchs9RRZ{&??pV&U%CoIN25^c5ahr-|Wn+ZW~cRio?E5QK9`$`PY zyB~z}&}41k(>3fhrf!){YRdD-*y98xZDvXGg^bKyO6O7DHPmJo9P+_)ORHGm42%C_ z?*(7~?xkX@@&qlXHV>ZU*@B%H#Ot7}2Se$h&iTHY`v|qM6#M#n&6@)T)_}tG zfD@~Dd|UZNf&v5l;JRM9IA2#0^LQyK6m5Ds#eaUc+ga#vLh#p^=U4ndEjLsGkLz2& zq7X4I%W81~9h zI#$Qv#q3@V=>O%5FSsA?o6LB%E`ibwYTgr>qe23)wj-ykmBq$#mBOp$v9Lv zr%M1g4D2@hqNGL7jm3WFsOealu@Zqef}@!Y{WOWF$DKHh2k0wUfqtQ|^qcFFN0_r` zT1v(bV>WNG!xW_-KWvaZl%$5z8`FbGR~0VPWCZ>IC;QneTC0;!q^#0-8B*GhY2Kb( z-r*NX?5_je(-6gvwrzBQL?Wsjv!pzaiL`R=c<6koB;-{VQF6o&huLH!^E|OQK%$BTrkppfj0cC*5Z@l`2?*4*;Bojw zqy!k*OP94~zn==BbegL=4kCAoQ!+ghnk~Dfx^am2@oLzCEgviLgmCfk9~obgTIV{E z?||tUg(|-PaMzOf#QFF_j7Di}B!!_omrY7>HCgp^D58TwOHgxq-O5NlKeS7D!v*LS zvdX)By9$B|nJ;!nC{w&mZ%#F_TI+cNZ!E=#^pq%c9?cckp%QS6?yjFya4U~#w}hvK zb){v{Copw9B`kLerBuLa&3F7rsEc>{HT90O71Q(BZ6^jcXv${j{@zT2Zg|lJ zJ?_U(UBs=c~EnC*=)VG-Bb2mI{ z-3(u_?;={8FR-G|#cbI(m0$EpzMElQGG?4Ws1XJ`OA~fpK6Pd53Y=*J^#u4lO}?D{ zu|LsH9o~IO9$97llOq4L9(0K4!xJUpGd;Qq%BJ5!`bNVKC;9C~OSIrp$>cBrrpe8J zR~kHjkHx(pdQyMl#S0e>yIgDGJH?9JAkmku%N6>$r6wj3YJ#mqnQM50-JStP>F-{? zNctht#+jBvkv8^YAegb0p;t6VP~Oy*Snu}i@bT?m+nSbiu9O-lIo|KB9GU7)bD{&! zv(*vVexI;53aD1fOz$HBPEv9s9MmlD#D_4hqpC41zOc6# zmUCA6W`04wDvrz01B87(zknmNiHv_olaiRH_Mwu-(Y;h>0EV#_(Oq_Ua9aiJlZ`{E zPes=5)Es79nVZiT6@6e^;|x9Zb8n&>&H`2HZzzJzSH%|V-F>f(X2^~a=Vfe7QAqca zVl(P8@b=g!6S!KGnJ&JymHDr8SaEDAEdcHc-xy!QqkQhooWlL36_fcC!%ec;YxNN9 zVb{<-`oJHTAdI0|{JA>USK}0=;bfk_t^5a^v8WxtiHQ`MxexhgPZ_qTEURzYU*7kZ zEK|9iWFFZ8fI}%lFYpOwdE4 z<4tS#*Az{K=(mk;78zM;U(T}DdpG-YSpZ2McT+&X-qj`x#j{mzP;k3& zNaw|g)!Wv~gk?<)X+%7v-1aOTM7+-92~iM4NzW*VXGIDHM$cX8A1B?{9s8RdE=ldbt}x_uNZu`yM=TX@#RoA$Y>x zT@5Qe14A3w@O+8y*!YQCCZO-!Y4(4n_s>!SwyXAx;q-3zQ7E3rtUFF?0XiBW<500 zwL}a_zEn+&6ZiT`vM~*09ya>K8^Q6?!{hE(E~en;gZcRjz8?!&<6k@07W&QD`gKej zp-1F;9Xvt^*725kkDw|mJtBk%Jyxt8K%zM`F+oQV7N4y3fgmc-5p|HrvT$n}p{B$< z6tD6tUbuvWLZUEKcP#(>xbB#AEEAQHX^d`}z?iBsFka9Co)j_EnS8^XFjhlyJidPW z1_6cdNSFmAm!>*2DjwR<@bO$BCH~^TRLIxwM}448Ye2W4)R6@mESNDf0j(J1cuDN}gX~D2>858P>r}oE4Xfp%a-TVEf}lPz8;Xc8Elewo8MnqH%@((-Y;^DiZs} zL@R&Xi_i@tQ=>1dkcAaR$`ptquUt%gJksAj#R&$M$)cd3ATC)nC%^6EKC}R2UZzPE zE3M+7e>-t&_1l$228%CVqaiHlE+tNsVXW9miN1ZHLDjJ=p-wPqI|uZgn2L@rDzVOD zJ7tU^0;WY+=&hqb9Ms%`3{A6V#`@{m%&mdh)%z(2Sk&AVaS+vpD1)~Fw&2tL8LR` zx8twkqJo6{}X$EbiLf^z^k=~&a)EZSq6ad}~Ig@=q2)_D~!tg)E* z1^#DnYr40hExxYxzo(STaWuoIYwGNQN-Tar5nwxB>4t5-b?eH4H;{5a!ioNN2tSsBiHb`M~eU` zITo$iZUw+0DwZH4v4cnNtJ|PDFeXeCxP-k`;bu+PJ z+nIRXqRam}J}jvHn830VL^lkgPapXbuv6WyYa&@yDyXo+$=4JmY+=yUE7twj3={gz zgnxjs5K){Zu_5#0adlhyWrRaJ+5TI9W^e{ z0e}sOA3UGdU*`74OlVq1n_lWdUKUbTc&|^hQSxS#ynU{zGg)6NF>>Kz2qu*)Cx02R zB6Bl|(|Jn5u>2BDMLt=#5e-_P+b*hiXkwSt)WsnVYyLQa!ikOQAc}eF7*MGCx%&yu zh(?I+)!VOkk3KlalgOcSaz0Z)^E1=TS;OR$;7WiS^qks;-ZexT)E{xfYIx zKdLmPIq?drCp5K6v1pmCKT*xN4KE98IO*7c6Op~b?dbW${ov(Sv51ZpuvBf#D^<%a zxUBttqmD68r#`ZifvRL%_k@L5N1bIxS>(g}fCM#gF!$ z_fzX}IiK+~`wr6nc&wX|iSREguo|t%bo91N4xF*4H;N56Y-GGA&epn6c-#ZUuvhN& zalDAOO54hhtqk_$EDM}deNbQ75;^n4_&lCNic7`RmeP(<+T?M@Y})pSJ~=#tuR5~Z z0!%IstnDbIPp;lD(lhMY-}-amc~~l@f7w61A69$^iIx(1YzSGXg4&ul9jT+6duKv@ zY7?AESBHi@#D-d22^lckx{}BEcgb>l;=}lkb8R+cG^*+%zfUyUfv2Pj8lEHJj?tQ& z>ohdEV5rfrv&i}S5${9eKOO{C+;4fIV*)IQ3!gd?ex><6kAq#j{kVhBY?rlZELf_IjKZM#?RUB}bY%Y2$Qgv?m^rBUg%g(RurZuv2ANtjmfN&dip+2^ z5g;8JRRYXFaRFGlA((hSqF61p_tLC`tGiU>f^P}b)l_&2@29|wN+tR>2EHd=^-g3H zJCb$&f+lodLP-25qIof}0)$x}q}`bz4T7=58KsjasfQ@7nL2Ov$Zy0%-GI@9&2sRNy!iD^tcpM((D#n zKdyRt;^D9(A|q}#vv}Gr$z(i!^mdCnHHIL^h*fQ6@jRYeL`N_ClO781`G(g!n5*;B zLAA%GGOl$Bq%820l4Egg3d(83QKRaDQn*U%{1c13j0n@7WPYx8WMn_qmz9hbw7L}x z?8*K~!*A-<5>e?iDnPPQ*+87-Xp_yV@FF|Z9$|CbO-SI$$;_jgQOq)X6UJ+6cDUNV zfg}Ovq;u=FN0lv|Qk-zeZcJ8+j)#pj%eJ4;CdgxO z9HUj6pJ~d2_^X?E(ssv$AsDO_EPU9+m_pzLziJ~oCbld9jv=A@3obaMXEIwCaSMHo z+-vA&AJ*M+;c9!W_He=4G`Z4b=f1Uh3xtN^c?@;i5z3_54OfhbgSot<$3ax#bFMN~ zgT)XV&t+gx>S;h1Iyu}vz6rS-+T-x1yrDbH&K%zT4wGDYXzJ#cI1>?K{&2=)$?nqr zMsaW9MWrixa?YJIXbusks0!qRn_+Weq*{k{JyEc0EX4G%aWm(HTNaA5nxk}VJ}|oq z;CSk>*1iAm_RdPF780}Av{xH7S`hhiCmPcAiq%dP4Rlbd zkdrlk3U|qduq}{V(zX5cO}juGJg}ji2FnWIuP1k-s?_8=ku{&T<(tWUq@hDFe45-~ zsVl(UB~Yeuao~SD6gChX;QS#$3%PXugK4h~4<$JpU&@jj|p3n*D+7&_Yn zepdU4sN!%Rb87vk%*~I)sr*{yZ9qr+VM#J*iaAwS7$crVqP^&?e^fcEZe6031%jOe_rQ4bdNf8IuH|3x)$scBcgJh>j7I^Jo! z{OSmGX0fq@8IY>xl`{$ZpC=YX&2JY^2nWk_s)VnVYT4gI*xV;O^ z5LhHhvr|bFKXZ`h&a={E)8U*NxZzs;;b>fW3x8ATn@;H+r<2F7MCKa2m+#2r^};o* zFy&VG)DK0_bO-TE`QbNoB%=0e_~`Kyqkq1i>=C)2tacEDo^0-N?Ah-x+m}o~#faweFU%9~w2PrpMU`z0TMp|hO!=Iw2ilTg0gbX%tM zIkd4Bh^G56IoL86c$@Juskp}x_oLq4W);Wyt{SFpt$PjX-Q zn}WjJJcbL395^*QM@AkN{R+|I@W{+u`|g=#d_~B@)eWf-y4s~k+$DI`vl3NTpWQj7 z!6-ZM34xAZDvWIDy^N=?omOb%D{zmypZCrwtp`o9G?x=k=pgtap}@azbjY_LQnBqY zPth#gBvCEi-tIxFs3lce&H_g+%np3~5|%M8B9_yP0J9h^lh>L2<9mjNZcW%!8IREQ zoUTLaBHFRfz>r!u8Z)C}@Sh5*UaINr{>}5df*?{9onji_RdE=`g0XKS!-BSx!>ul= zq}spJ`=BOX=Qf)6+-ddt2;ZI_=5>9}3Z636xV*+ycCTYr!4!qU8Xn_*LgE)EgcjLe z{6U07F3jak@sHau=^)YHdC?nt@eXQL=MAqT-prxyBr||hWn`lTyD&nHQ>--|PDe&S zdue!?E<URT+8^$Yy&lA^miNN~vBc%s5MLt9vkDE_qFux3V;Qa`X5#=RWs&>|qbW>x$p_>il zoQ%xClQY$vv?Pd(;4&1w;^E0wWnJwZ>HM`h`;c61`i&h!n4K%ds4cnOL#xTzi#Ra5 z_}4qwAiOsp&0Ox75&ONW$*jxsAekzY{R3_lmN-zYIJA@*$J&_P-B-EQadK#oIwlWy zEMH0=nq!_V149KkqHcs>v46E_Y2gc3#OlF-ph(w(qoRxLUg0m$X-5*)*{N4^+tj>* z<(ZILakLdHCJ)>}LPb$m~=S1LHTnVaAE! znAb~OLCVb(#aNN62|~#k_IC!Glda$RVxC!Ht2+H&#o&FL4Q;h4F>MT3DBpG#4%9C~=lV3BOztZDf*N zH+*;wc43A^fyXK&@&0=|hFjd(9#<>vt;j^rEf#}MHM`awHmhpu$*m*&6R0s%G`xI4 zpg2@+Y~ys4Z?^u0?YqurBI}(m%D#`*$PJhv_QUUJTvgTx#FLsI$O#v8sZ!D|lH+*` zeVftLVrNvxl3SFh#JwS&Q`GM0i=yGu~C;4r^6u)xSLH0iEoWvG?&!**R>p6SUOLi z6uE7XC$4ejNOTH)7${xaO9=zj{`7=nQ8madjf3L=4y^JEO@9Hg4J`7rhM^iBugvr8>yw>309p6TIUBw=Dbw{LEc~jh?UcoE zeUj^T?16l=;uY-2i?-|UpEe!?- z4fVEUn7eL7STE>$sNGE(u`J@{-wnPV+Jnr@iC(_G;6f+ERz9Eq!v$y_7%w^Yk?28- zxp;zJ)|``Z~w6F1Qv%jqe~<{yTpn`(N8X=_pjQH?@V%hEM!BK zx&hS)@OI7GZl6z0^pB0Wv4$u@txd+fitiS8!#ospT~=0|ygLMw6g%;XHqxv~*so%Q zIlJyVtqq^j7;urFM?7E0Mo@bi*#S`QS)bnHI+_(2`~Eu;exXvH%VqP4Q^)mhT%qSf z6uu{Kw2Yd~%k0b#V>Er9$0LN4v+94LVb78%?Ja4+ZqVY(OuBD7psFIzBYT+{^}B^t z>|QODEE3<6JZ>1O(Nv zIx_0#g6f!}327>Kr7v8i5}BsySSf9Y+V#nb;!>JNHmRJY=I?vKq*3__IwC(iFmTa^ zCGYeS$3Mm1_7dTyvoa|fI2gr)O9DBbTOugn*A-{QZ?mb*2^={hIFWVA z2UQr+9xHm_ixd7`^%3u&(saZ~8SEl4zV*YgeP*EWpO~}zMcavpIW<#Xq8d9bH%xw> z4w=9`{Uu<=d8d5TkDXt$jjtOnu(IIrNF2+cNBQ3&ZOGj0l_~CZOC@txBM(k zh11ER$elzkZdJk!!{iDa>ZIqBgpJ#$`YYpqqd5GFt-yGiT;Y{z&eIJUS5>!i{HH&1 zEyJS$PNGfBqW{4Ofmr_EXIuOaWQ6~f!18~F-0}ZHbMOEa6_pBS;eS5GD;R)L`yY&p z0=fTRRmW+X#fW{?t)fALRa%6?EObK{77s5$_T%}g_}^|(Fx2%oZ>Cc%f0FUc^>K7d z06RuXj!d2w`}DB-?_NzsjV~>~I`O5IQQe-Ifn4f@=OJUvSITX$o|U2dsvRRqL|=t7 z-ha9IC8AqI>#Lae_ukDOn7y2*%B?RIM+ocus|$)MQ`kOFNRD9xTeNg^IwSP|Mf!nY zw9vnjNyjOZoDojFM&DK06lo3h7+s#k_3MjXWA&+|28> zNBKM-e)D{UrZX{<7i{R0=siJe0kR+4=x>nZrz-0crmBaO#@py; ztJ2E-z-3NZ0ZxO-TYi!1TtAOaaZnJAPsG-dJ-09dg#)*eA!NTJd6e+vu^rzJ_?vTh)tOJd_mi;x&GlZL4G!H zd!(Mdw=9}MtFyQmQM*=3EoAftwCqTzus24Xz^-}FaB;zq zlUs3kbTLBQE_`=w)*-dtIKUPmL$q(X@rR>xM0M$axXJ%Ii9=)Pe$9P9-vklK-R;ps zFZbyS8sMAYyB6W#y~mHTAE{y!BeTTmAO~`&@QjrjeTk7Jmp9o(6)p_b=1$!;L(K|I zS?bbC?x<(7gjv6tNzygL=(~uO1j5@RXQW|J;eMLGBm#F+FcI^w;-Q* zhZjwv1u!MCYSt&#HLx8Cx@HQfGHSSs72>S~h)&BtDLf2n0Btg8HW?Z(93QM6-3f`leYezJr*<(21}5_oVl+!k%Cj&IzozPTx|=c#As=6U$nJTVB))J60+ zSleheW)tJBG%nP}sJpcHN4|mP3)DoU=!r_=%Vz7!SwO~&%?iYuvc}g-dC08jP-*rC zMOvao`ksww82aiEST)--Z#O8bUR-aZI@sc!#t_;iBQ_si$0Q6piGNX%Nvs}c%6K&2ro0D#f>NxeO*NZ?42Yy;27L6}qxD6zs3+!xo~qYmxXZ$uH0p=Lx|c%3crM z;qVD|yYrG+Ec**T{3#cEVZRC~MUD*4l8~6+QH`(2vJm8+a2KJewDYGdRZRsJXEFtZ z%y-&i>DcGizbRT(uy~JRG1fE3bmo^3xES0CZ5%jH?a&uWgPVpn$u_2W&4X03|+=PA&!5=L(JV;`h%&u=0d9K2+PC62OFEp8RHftcbRRu z{RL`Xe%ASe?wyg6An~L$W_wG3>Sy0MBIIR-yG#UQBoL=28%63^+th;7EQQ&oJrOOW z-w43`lz!W@<}-I#IzeqXCaDLn~P=cJ^Lm;(JCP^!b`A8DC6#gwC-K zZH5$6NLa06XEy`9pgJRS=8wvSWcB*tDL)eVexMS}5+63l`hz@aPB}K9sju^{7Ix?p zSA?IJ*3V80w!XfhqcoL|n6ERo`<-YQt(-cQ_DJ5`J)_ME&O3Wj#ZuD)TwwbqRN$i!HFAJG802XnM~u)Q%i zIRM4Y_DI`#Jhs&=Nm157-uo>C<()fXg}yF0(3-18B@~1N5pYyN123#%HiOgB`|SWi z)8k?Ksmu8$_`Ho%<{Y2o5_)+t#0l3hZF4Y~QrP92D7~L)r?1<0#^QN&+hY8@kqc-O z5HCOK^vBm2E7_FhLrz&q5L4_&rckr3ezo7av#UYtnGag{YPNS#VP|w$%LYwypHVP% z_Jwr}-;n~(r1&C5$bR0V=G@&dEAjD8CTL0<7!a%Oii0n-%u{RPFicGFxgx~XF%*l} z+ES!nTMf;6xpvF%yaJH&J-wrB{}Ge$kiA#JkdtR{S<7$6*7>kDn_cqxW}e~p`ebmv zMmdHx0yJ5-gOe?EdvB{*B7DomeIDLq0&xditJ{i-y|VCDs9wKGpsR?(HCg)E{OMMl z$2VB+xf+MM3+1}3-GEkew3x@!IL@riC2tScd1tD{mY@_Y3M75Y-(*F-niiI}#T-8( zHaBri3&`@0xx4{Ds|<-_o)g#PU6kRzA2^!@*s|&Rd9;v45>&jX_l8tSy&D}bcs?Ci zJoW{aEK(*4jM}aYebwwj(dzcw^;?pw>&=$bW=VAYU17{5%Gz>5X&>U&I;t|p7 z=?YRKz^dMpS=*e6-UyjIi90F&?Vi3>%BbBGT0+d$rb(G^V2K9(r7h`3o3Vf9o=$Ef zAHRzG+4q_LTI9~{S|mg9Y;$SBX|Mh91lle31it7AQc^#g?zG+59yB|H;CW>d!`?Vy zOo%oFUAuwK)|YB6N=n;L-PXA6-BU~#jL?|Kl0~O%R?{_st4xU#B+}SgI`Ze!lqDU5TkV2|f zP26x`&Y65qhFwK^m362qtF&uw*7I)`(XhaZ<}WNwvOv&XX0LI z%7wMj+D??T5NZ2k*gpbw&T!o9wVv=oE$liUr+QbPGobX?M6Fv?Bw?o!gxPIQecdL@ znQ&vmR$=iYQ-vn*xCS#Jz=2=fK?KzWtZBg#ga;*#5O+lnt9^~y$eG5QIDU>$QCc?D0|w)IWO8Qn20P4U6Frk8KHv0#42yjyj;L&bo;H zgEASiF*h$l{sxe-IYrD<837~4CwnYPhv%zkziM;DZEruSJa_gUk9b`~^8KRYE`a=% zmFm0%d|iaEZZeZ@Qe0#u$DWr?hr!#+mSj z7)_-~E-A2Z81PbWFT92`qZ0RS{#*{T3sE0u3f(Kf3Sz17iRLg}IoozOA6WO8a5zUd zhvu=nxAxE~aZoe-5#T~HM+G|+Nfd;E_cFIPS9p0ElB@K`JvUL-sVw7doaWd8QC*#n zKBrkICy|*|uJGMTD-7*649Yy*rFJLtTM2j=qde3m1Um|I@%;6vbe+|4ZPCY`4?Eb~ zD}C|Q`#nExNg_UH=(WQ_FJS#Sy1+ZPRNhGXeTZsXYkKH9^6}{DD9$xk8Jdf zRAF_H9sJ$*a~obx^I6jIt6V7{CE~b5x$9BfDb@4AEJyAVxDa!5h+mxJuw)LDTxW$g znN5F{&0b|m2}hAFpA#)V&jt~N`}TGJVyie$v^8BV{5dtH7ZNPg zvbh%wXCOqPyYuD5(o}osXH>jXR!fniFK&n~)H|^vyk${6O~{!fO|=#xxFV%jW5}7eSp2EFf zEl*Lc%vQe%(x_+8lBm?Bk|j?{9qASp8|;4N=3ooI6owa*(D0Cdr*6rQESftANs+R$ zK$h0vsthWMFz$#iP&k}FLtYzm4SlIP&|R&CMHD(%xR?jsK{k*-^=;|-1cIS05pO_V zp`*P(A^#<}1BRGMY_nT#kL^bX=@+GrR;bqA_u`!tE%V!`5RG;l91ftGW4()Vyb}g| z39#W|Ub&Ue}v%EQ*jaocWyx z%+A8rqMId>j!f{2*bh72omxZ5drd+6(-fY1UDs3zxhYam^Bz7R-b}U4j_*tstNnO} ztZYq2J(1hdS?Thw!vjijJ=4qhdT<}|N5DQT=C2E(aaQcvi{-bg5V}-bp>k|VhvWUc zo3#3I6Lc< z=gevaUv5e&5b0q-{Rz$IXY%W{y1#*+iXrT#R~$=jNHB%n)vx6ht(w|F#=5@Pf<9MT zt)TxGCaWVgSAb+b635YALB&k~$=w-DS@kFQ2d|}-OGmF5BKs@o`>*Fx&F-&A{Xg&j z+bzHUUy;WDrx)&Ed`HWctyVDqyI1Z#uz*?xHSI%}f9}J*+U`xs!qc|fgdlvyzc9R) zS`gI!bMoEGfL<48E$RoqpFds2-(#@SDRN3^^J>dse77GFN!;WI>nLkASCop4jXH@= zAGEAZPmRjY)*8g$zWEb4^#@nw{X5AZaartoVx>+o#0jTQpRv~_C}_vM^yaRbLk0wv zFFGm@32<<5;z%T5eun;MnkGUOmy-OCRM7tkz)bz0i8mPb)2r-%r;>O0zTy8_iELCJ z;LCs1At`Bzj*$DGbx^AqF#_KFcNPDisv_|f-SVMT=A8h1Kvd5dFRQTf*&U<2&;9*4 zKK=iqU=6XlC`gHe6-dr|v9i^&EF%;t@wF3Y(^^K^<%QGwbMccV}by^uzb-vmJ$%8B0 z_JXLEI&N&QR2jT3PZWo-?_cpuh$ij@#*Tk*?zfy{<}X8%BAsu z%c34-JdtH|OiGxMa`<9u2eeGc^Pb&3zpM$QPLZrBYl2)poTej+s_C>wtbhR;jA?Ni*>=`w+3R{y4#@n_-=&hv$yaIPutrcfLHd>MXd-&>wKkH%M zfnty#7E?P$Q(F^E-NZ3Jj%!unr^n-)!W)*qd?e1Y(h~MhhJk;v%TAt)PIl@!lQRya zkH1N?ZJsFeY90F3%Pb{XkY3|ln58Gdezf+nSA7y8Pc`Ic%q0I=ibItU(QD@YyFvU57a=ug15KzDI4qqnIGF!YtEAj~m7Kl?G z&bycnW>G*V(T2=X9j+REJ0}aE`b*TkHTH(m>3X}#QnntIyMWheMFT)I487+XL`0Ml%J^&dUM$#q|i^c49T^A@uVlN949GisJ3S$gw@b z{uOKl<-)*`+dE?co;;6Es+I=(-!mP7Wzzv=dV~@Vx?d^ULPMA9rgCKOI?0W*nh(^- zr26oaVEX`l#z*0A;kxpkD_zXi@+fVCg{oet>MXUe)IGR~hddTell;0?kI(Euxwl6s z*Vf_2PronpPYvhmuq|cSH`Y+->QK?l5*&Y$X9B05J+w>>C^{8H6yJ0kkI@Apnb zUOa3`#PnAh%nmUdXw|FmE6cfoKKn{J1L^Db5VG%JJ{K~!&iTPFG2?LVlf~s|_2CzC z&zn5sowkEzK>+oj(mtIm!kK+rW5sA#k%EvX^GMoIFtRbw>nT zr3Ykc@}Uc