From 13bdc7e4ab46aff9adf8b2b5c9ebbc8af0991646 Mon Sep 17 00:00:00 2001 From: weeman <weeman@frankfurt.ccc.de> Date: Tue, 15 Aug 2023 17:00:05 +0200 Subject: [PATCH] Implement Camp23 event list --- src/plainui/jinja2.py | 10 ++ .../plainui/components/list_events.html | 82 +++++++----- src/plainui/jinja2/plainui/fahrplan.html | 4 +- src/plainui/locale/de/LC_MESSAGES/django.po | 3 + src/plainui/locale/en/LC_MESSAGES/django.po | 3 + .../fonts/SairaStencilOne-Regular.woff2 | Bin 0 -> 34380 bytes src/plainui/styles/_import-fonts.scss | 8 ++ src/plainui/styles/components/_buttons.scss | 12 ++ src/plainui/styles/components/_event.scss | 119 +++++++++++++++--- src/plainui/styles/hub-assembly.scss | 1 + 10 files changed, 195 insertions(+), 47 deletions(-) create mode 100644 src/plainui/static/plainui/fonts/SairaStencilOne-Regular.woff2 diff --git a/src/plainui/jinja2.py b/src/plainui/jinja2.py index cff652c1f..760b2b6f0 100644 --- a/src/plainui/jinja2.py +++ b/src/plainui/jinja2.py @@ -2,6 +2,7 @@ from datetime import datetime, timedelta from django.contrib.messages import get_messages from django.templatetags.static import static from django.urls import reverse +from django.utils import timezone from django.utils.formats import localize from django.utils.functional import LazyObject from django.utils.html import json_script @@ -91,6 +92,13 @@ def custom_strfdates(date): return localdate(date).strftime('%x') +def custom_weekday_abbrev(date): + if not isinstance(date, datetime): + return '' + + return date.strftime('%a') + + # set up an internal represenative for an unset variable as parameter for show_vars() # which cannot use a default of None as that is a valid value for the variable _UNSET = object() @@ -188,6 +196,7 @@ def environment(**options): 'unique_id': unique_id, 'translated_fields_for_field': translated_fields_for_field, 'field_translation_languages': field_translation_languages, + 'now': timezone.now(), }) env.filters['strftdelta'] = custom_timedelta env.filters['strftdelta_short'] = custom_timedelta_short @@ -195,5 +204,6 @@ def environment(**options): env.filters['strftime'] = custom_strftime env.filters['strfdate'] = custom_strfdate env.filters['strfdates'] = custom_strfdates + env.filters['weekday_abbrev'] = custom_weekday_abbrev env.install_gettext_callables(gettext, ngettext, newstyle=True) return env diff --git a/src/plainui/jinja2/plainui/components/list_events.html b/src/plainui/jinja2/plainui/components/list_events.html index a716b35fe..45d86cd78 100644 --- a/src/plainui/jinja2/plainui/components/list_events.html +++ b/src/plainui/jinja2/plainui/components/list_events.html @@ -9,7 +9,7 @@ {% macro list(events, my_favorite_events, my_scheduled_events, assembly_slug=None, msg_none=_("No entries available.")) -%} {% if events %} - <ul class="list-unstyled mb-0"> + <ul class="list-unstyled d-flex flex-column gap-3 mb-0"> {% for event in events %} {{ list_el( event, faved=true if event.id | safe in my_favorite_events, @@ -18,41 +18,65 @@ {% endfor %} </ul> {% else %} - <p>{{ msg_none }}</p> + <p class="p-3 bg-opaque">{{ msg_none }}</p> {% endif %} {%- endmacro %} {% macro list_el(event, faved, scheduled, first) -%} {% set link = url('plainui:event', event_slug=event.slug ) %} {% set color="transparent" if event.kind == "official" else "transparent" %} - <li class="hub-event border p-2 align-items-center {% if not first %} mt-3{% endif %}"> - <a - href="{{ link }}" - title="{{ event.name }}" - class="hub-event__name a a-bold" - > - {{ event.name }} - </a> - <time - datetime="{{event.schedule_start}}" - class="hub-event__date text-nowrap" - > - {{ event.schedule_start | strfdates }} - </time> - <time - class="hub-event__time text-nowrap" - > - {{ event.schedule_start | strftimehm }} - {{ event.schedule_end | strftimehm }} - </time> + {% set is_past = event.schedule_end < now %} + {% set is_upcomping = event.schedule_start > now %} + {% set is_now = not is_past and not is_upcomping %} + + <li + class="hub-event rounded-3 px-3 py-2 + {% if is_past %}hub-event--past{% endif %} + {% if is_upcomping %}hub-event--upcoming{% endif %}" + > + <div class="hub-event__day"> + {{ _(event.schedule_start | weekday_abbrev) }} + </div> + <div class="hub-event__time"> + {{ event.schedule_start | strftimehm }} + </div> + <div class="hub-event__name-container"> + <a class="hub-event__name" href="{{ link }}"> + <div> + <!-- Extra div for text overflow ellipsis --> + {{ event.name }} + </div> + </a> + {% if is_now %} + <div class="hub-event__now"> + {{ _('NOW') }} + </div> + {% endif %} + </div> + <div class="hub-event__tags"> + <div + class="badge rounded-pill text-uppercase"> + {{ event.assembly.name }} + </div> + </div> <div class="hub-event__buttons"> - {%- if assembly and assembly.slug and (event.owner_id == request.user.id or can_manage_sos) -%} - {{ icon_public(event.is_public) }} - {{ fbtns.edit(url('plainui:sos_edit', assembly_slug=assembly.slug, event_slug=event.slug), color=color) }} - {% endif %} - {{ fbtns.share(link, color=color) }} - {{ fbtns.schedule(event.id, scheduled, color=color) }} - {{ fbtns.fav(event.id, "event", faved, color=color) }} - {{ fbtns.report(link, color=color) }} + {% if is_past %} + {% set button_color = 'grey' %} + {% elif is_now %} + {% set button_color = 'dark' %} + {% else %} + {% set button_color = 'primary' %} + {% endif %} + + + {%- if assembly and assembly.slug and (event.owner_id == request.user.id or can_manage_sos) -%} + {{ icon_public(event.is_public) }} + {{ fbtns.edit(url('plainui:sos_edit', assembly_slug=assembly.slug, event_slug=event.slug), color=button_color) }} + {% endif %} + {{ fbtns.share(link, color=button_color) }} + {{ fbtns.schedule(event.id, scheduled, color=button_color) }} + {{ fbtns.fav(event.id, "event", faved, color=button_color) }} + {{ fbtns.report(link, color=button_color) }} </div> </li> {%- endmacro %} diff --git a/src/plainui/jinja2/plainui/fahrplan.html b/src/plainui/jinja2/plainui/fahrplan.html index 0421ed3d4..9b0ca9540 100644 --- a/src/plainui/jinja2/plainui/fahrplan.html +++ b/src/plainui/jinja2/plainui/fahrplan.html @@ -29,7 +29,7 @@ <a href="#" class="btn m-2">{{ _("QR-Code") }}</a> </div> #} - <form method="GET" class="p-3 mb-2 hub-fahrplan__filter-block bg-opaque"> + <form method="GET" class="p-3 mb-2 hub-fahrplan__filter-block bg-black"> <input type="hidden" name="mode" value="{{mode}}"> {% if show_day_filters %}<input type="hidden" name="show_day_filters" value="y">{% endif %} {% if show_assembly_filters %}<input type="hidden" name="show_assembly_filters" value="y">{% endif %} @@ -95,9 +95,7 @@ {# <hr class="hub-spacer"> #} {% if mode == 'list' %} - <div class="border p-3 bg-opaque"> {{ list_events.list(events, my_favorite_events, my_scheduled_events) }} - </div> <hr class="hub-spacer"> {% endif %} diff --git a/src/plainui/locale/de/LC_MESSAGES/django.po b/src/plainui/locale/de/LC_MESSAGES/django.po index 9800693fd..158518306 100644 --- a/src/plainui/locale/de/LC_MESSAGES/django.po +++ b/src/plainui/locale/de/LC_MESSAGES/django.po @@ -302,6 +302,9 @@ msgstr "hilfreiche Teams" msgid "Official Page" msgstr "Offizielle Seite" +msgid "NOW" +msgstr "JETZT" + #, python-format msgid "%(kind)s Event on Track" msgstr "%(kind)s Event auf Track" diff --git a/src/plainui/locale/en/LC_MESSAGES/django.po b/src/plainui/locale/en/LC_MESSAGES/django.po index ddb177a72..5fcb31889 100644 --- a/src/plainui/locale/en/LC_MESSAGES/django.po +++ b/src/plainui/locale/en/LC_MESSAGES/django.po @@ -302,6 +302,9 @@ msgstr "" msgid "Official Page" msgstr "" +msgid "NOW" +msgstr "NOW" + #, python-format msgid "%(kind)s Event on Track" msgstr "" diff --git a/src/plainui/static/plainui/fonts/SairaStencilOne-Regular.woff2 b/src/plainui/static/plainui/fonts/SairaStencilOne-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d8108517b1e61e766ae2c3b40df4385227c3af9a GIT binary patch literal 34380 zcmXT-cQayOWME)mX!BtZWME)mESST<(E1!A1`<cbQcVKVhwEe}yRaoN^o4NLan2DH z<lt)l?9jYXi@PU+fzgafg?XkHivnwl1^W(Ro<{Fz7LUT#m&=mvU6+`zzU=?!+#<$+ zMR)AD_TF6jGw+kgxf2c>3K`Va<SPIE|NsA&6s4lOON%{km9^O#y!o$q`mSJ-dsXOb zX4A}bA#&5_tyncTYtEGCx1LKa(|g@tcvkxE&o^b8O~2ZFR{Hd~>h!G(vouA$C-<(I zHtS)(pxXqVoe$P1T6C+fI>BS}bE@<aM#ncgV%{ae6*t~@+I>m=c=wg+)m6do#f8>= znB?1}(;1c=`7msPO!m#vA6<TV>bd`JUhcSEEHBF39nBYL-x+maqSDzL3f}vl@fFJG zzu4pMyJw^5woQMZntZ-2AMmJn!nuRli828*e*RnK*wHjybLOlM{D&p}mve=L1PgB| zn*ShYTj|C_e;vdc3%TV@m&eUhsPEc4^Y1j_Z6eE(muSVvG6cD<kzKUabo1`(1u~ii z*Ig<@=6G~>MaXc?xS+JuUBgaEl}({^ic;Vri3CA44y6u{$QvCCY?>T3PyPHKAN>Dz z_55PJkdukW!zS?Dzs9^EY9W8ruM1sY7Od$>GUwU5>fpRy=?sQD&mPJ;{$NsSdgOZ0 zMtolbdx!(;|HHp8MxEQgr1<Tgi<=iMUb`)6?X_L^v!0ih>sC}Ozct;|c9MtJqa}gu zZ=<uF@7`#USy0RV;m8YtOzXn4)ejnZj_k9VZdkBu<utY#RU8-JS$=)^^WTsEYqx%@ z{QvKda0ZkAVVg56KDPTtFu6uJ-Su_UORPQ_EaIdr!*$ndW69%ywu4)>be$$K2}qpM zo!!AJAjIA;u}R<zdu-^oRqKT>-e3MT|KZ=~^WNt28$8<N$HAyRr}pxhrUjE?=hxpo z|2x5(&v@&_un#*QMbDlducc;f9Gk2k)oJl4OwiI=xj8RvlbUwLQ`S92Oiz7QeNPH_ z_B4cb=CtSX)4sni^g6gi=X6Ho%N5`BIT@$j{C;%H+mm|ivu~X*virKAv;N^khc%gv z6~6m47OyV4b#wLI{Kc#S3G=h}q<wa(ImuYRfJrL!{>QD$y7T6}f3l-M(=MM~a+2b& zddsu_Q<s0(pEAAS-rkx;lD$t(MxE5^H2WxYP5gZ6m#S!oqL@WXN?uh@dh2Q@c0wo8 z+hFw>BjF<bo6Dk)JbCwUdHb>@+CSs(Zu;`r>dcW<i|7ApVVfLsFL9yn(?wnpje%wk z<%~u#9{z3@*i`@j?Ecjq6>B=_CX?;|XSx?wG%*G|zPEGwW&S7Xf8zRzCq=0)XR}VY z<KO6Cf7|ws`H2lSlNK%&u$jN@i~Yg)%!BE&8^4_?V(`{8<|>(a&#++wC-ZadKmX%b zZ~1@ibr#>Bmk#~~R(BrS38p!^zKcv`>dQU<{?*I6uglqXENi;EFlt@u8it*+4;MGw zVfyN4#nI)EVWL))>M--j+DU?TlT@OGvw!~A5551knn9Cs%an%wr;55}3oW~>{{M}q z$FHT!rtDkW{QF))+P#E^gFFnAn7x!3gA^S-=d*aq3T??b$FSgnhv}uIA(4I)U#l}l zEz>yddUWYr7cc$X$mv_(*Of)8chB8?>b%u$*K_gjC-K$3Z>^EsIeqHyX-tK=$Az-j zF3RN;$w-<1Azn9l)$MC1G<!}rEP2HCVjq8}Z3Tzbm#Z3E=T2PU%o3xR``+@Pz)ntM zn|N<;E8VZFrSE3yWnQ;*kX~?6;rgN@9@)#HH{ZH=eV$Xi)Ja8^X<PiFV*9Re^Y858 z>5Vydg`p_<Am5Ge>Y{A_<2>H}-Z}fgwAF!urs0By`#!Hd<==GfO<~(16GxWhmWy18 zdya`Ld}dK!y)M=FzqE(Lnr#cG<V_Xbv+uI}=i~Ed)mHcjJr|2>a1?UNP-Z;j_wHMK zdu?vN;oAT1i*8<uTV37R^esb#Wr|VrtlvxP)(ah2%OJzxm|0b+pu0k7$<<Ki>UB{G zuU9dD^P8*ic9rxJTi(VmmFpX7?@A{uk78*|IK06zrc8m|aX~`jg4#<ClA9bVPdSFZ zYrbW}Q2K(&b{mTXLpVbl$IXNtk&J1n*BS~nCC@xtb)Y4jUu~IPLeLtPWw$;bxN?*2 z470W4DNXh_s}z}kGrfvseA^VT;GXq`2fwYjn7(ax<osfFJoawm%f0m-PL02u_qnt( zvq~J8k|1E=QW?kLoM0f&+5hE1`l5mjX~F-^pR<*HoUox&XF8(@+xAp}7vYiuKPLOd zL~pe}x*|K^A-99T!3m8*9gbWrjlnjI3O5wP7~J<wnj_A9{^;e8F3)Qo_<ZL4qVal- zyp!0>@3Zfy&f#WU{-{Dm^4<ZP12%H2CqzB!_<!fqOpUaS>%&V#_x?-zCh&ukIYmqH zve5@4=N0ki+s|Lv^yr4_4qMAZ593|to5``MniRZ?dZubSUGeDjqRgGwjLKQrs~NU+ zUznx$WsmsYJ<Ms78V~>9^0@z;KmVNfb1IK5UZQHx(sAdN^=adb)qk>_C3-{OUuZva z`2nBh&#RY$zIk=|9AU5#*85;#Vcs9{klnY7Yhmd3&fOUgWyAj1ZHu-|y?;l=%H7(b z>i-U*gks5>joa_CKKh{6-<$iTq4nx~W;;QVh!2iY`HTzd_fGs8?<9Rp?BActkK#5p zm$ozN{CQRU{`UVpzkgm3%WF@!Sk8Z&JK=8@!;husZ$E#WzVEKRCCA<Q{G5yr^+Wm@ zC8ervNHWcN&HiWQ?r<fWzTF9%Z*li8|MGpu1`oC6^@r~2<#6epcM;jaH|O>0wI4*) zTwCpYKV9GtI{Pcg|K@dZPIhN@4|Q4Dw8TIEHt;jNu3Pc;FaL(`{Py4eT<mAM@?&|u z*FOF%t7o&mq-%ZJ_tQuJiDx6faCJP}o7!vl^%pLE6tn+}Q;j*p`enPnhuOF8{r`OP zmqcrZH@312b&ozjs`+{5HtSy&eW&sj{9o?<6W?Op*wc9TnVH&?JG*br-zBZ0bgWo6 z$FKU~$0`5h#KTTK(fn<%cu+NA+WjP(ziaK*FwV-nx4)ln1M9qLisjz=oByfA%}PEs zi~sVDZ*j)PZ@Tj0MCLVpv#(5kr7oUP9e!rFE6<nA=ac3i+qm6$tFe@EmUh(T-!5XB zS#}}}PePU2F7RB5cz)^ZL93-k37ONqrf%Bw)hbwraXJ5g#`Q1G-OO-zmTPCv@LTcl z5L?!xP_ElCH}BX@mHNxJ@!#@;(d+tTy=y<ZtMWeUe7?4D%WlD?tE8<ow%#<}@k6*F zejD?R->V)!+~9tg<J*s(>C?&{bhv&F<duH6Jo=Vif4*jIfj9$mb`7V}%;b*D2U5O1 zM!!`>D!bPgEWOxV=d;h|oZE?t9q;Sr^<^9^jVa4&<k~#r)7s7Fl)7I$k=$s(__*f3 zPl3#ldXbWrCWngn8)hd8%FP(EA27V$VCmz0nQ>R**IPbfI%fN7mdxq3UsB<!{@&&P z9WT~*w<IgMpS^f5vh3j7{OkWWp3rGjs5>EY^|tl(%8;n*q7w3Us(RDX?=7s~V(a5L z_vImp`1XKr<yFa1lY$TYotN=;dFzzRq1T+f@5&~LdF20VvixkVb|$bYeePH9O&x4} ztuH^yH$Abd<5qajmVflM{+p=_G|N6U>dbNRvXFb`_*uo};e}bkFEXp|zfaBIaa(%b z@lE>cO0$KlZ~WS^v?8O}r}^?`=K3RlBW~O6`q_Nh(}D9#>yf$BVlKThP>Sa=u$gqb ze&tFx(~xDl+Mn8Q$1XdTR=@npl9RFwrxqzs(f%B}$ly^RLnVj$(`j>-3cb*odbmiZ z>5pS|WbD=`#~?MU!Ufyk2>h{oFZ-<fhu94#fyBc`>_-<n6(ltLzR-H0;b-3M_H@5@ z790_WXEAiKG&eE|WPA|dpAewHs_?LlyK{qyhs#XG&UKuVc33S;=v|<oAh6Eh0DJ4< zgUrQ!``0es<ZB~2Z*@dPu7c$Jo?q;oOB~kTNXuPy$>{opIalKt6hp6O#6)o@_ZS@F zP(E{P>#7rP?V7GU@o`YOY0v3t!t0i><%CnxZT4b4eufL#43#WrS!Z+eEL!=xY0g;z zn^nJyqG$Z#Z!qmD6~7i7zw)#9{tG8%Z*Kgy<;C`2Vp^xR-roA%@88BqUAs852_ih) z?PB|4U5?x;eeq4AX(OK=-*uIF%}0bi_vCb{Ppe2b*~u7?o2BHkpti%q#aBit&>`is zsqH4VDKF1>`}myIFrGDi%H(-2RY&~Uz2}yCOb?3;y1Jfm<xN2^jm>_Xg(^<oN<V~d zE!}uRigWeE8G5U3o4EBBD&$K%ICT1L@lTOYpZw?gN*6M|h)??>a_+zvpMP&=-iuwa z?2(`7^qQX?D<}0|>N;_Li}$vfNePD{5?T2FCEb`HHsM~!&3iX*TOJoQdt$jb>(1io zdj-;?ug9b}d;f0;(%ar<x~kCk0kg{FN9xNG^u!jvi00jrJk@c{Q;yfG3Y)wS8arGU zZ@0exC?TR{^F|BC<lOH%w^fTD9TYk9cAJ`PV8_KR&Yw;m4O}C-NPy9mGj!o3?aO`Q zJ3BRJbhk#dEV}Qo<>qXiYscA+ODkSqB0EV$SU+c;phxtBvO9gZ7r$LlzaZ;UU2$UX zGnFNEzIR!AttA$5r(K#`@bZJz4DD4yb3R`PW>L9fAhO^y`yELx_7vwBi(R`|CRIOj zWV{}~+f9U3Nl-UwN@jm4%c8T7zW7RrI2@ci*+M}&$#9nXggv7CTss6hUoe>5sJVG8 zMzCW7Z{hdlYCR&1tT7ylPG8RKFlAdB7_y**w<*ef*Y(fMXC1x$V%5tp?XuLlmBXm! zT5I?=dm`VrZxz1Ty*#aFx4-$}(J#z-Hu~9%ciuLhJJjkL<G-vspCOiRG<yM`TDZxa zAUj@-a0?YR;Ts40E}m|vFAxqk5a-^=;Tqkn7?^lVWm3J~l2geO7x1j*T)i+UFLOg) zW#(4b-n7%w3`Tbz?<<kwG01onz`C$faBWmVT#o&QJy*G>m<dm2{dMTTuS5Ndh4!ne zFVy7S8O_J=JMQy0Exs8RN$=}UEL6_Bxm$hPjr8pEH}X$En{)fctlr%(cIio1R6edM zzZ|;VoqM0ml1fF_RyASmogW^=XSgl&X*SHx&V4$4)<oUK=T2~C=RBM}YobPAvPXhx zx!p?1iAr+JVRJYum#49C?f4QIb@c4JD?I*k?DJXGXTSA2TkvFqZu+^4YSx!4BqDXH z&RE>YaIf-`>}vCzzL$5~<A&{$EzZ}>olhiONIZ3}>UL0ZN0;Ah-S9Yr1z(=C6exs7 z<*a$E`JglYhTW6bx1WCTu5gjql%TYF|A8}qnJg#mGu_9={!<}-*<<BDP7`CdOucql z+{ABn#)MrfzkbT9lap0*TIJIc|L>i+2WQXr`0hO=QVu7qmoVQ_yXYk?b!AG(mVgUl zeOLBASh(XzU+UEki|4=Pw*^0X&F;9&Z{Ld>htGv96#TGT`CH$!m2K0-d(F-L&N#{+ zUwuI3&76w%()Rjo#)lTWwiuuNwC2s+cV+8;Z@qS{`PS<fiF4oURUWIgU%7qx*Q@s( znt8vz;qJTfA#D2f72Ef|u9g3F!(+bG+v4Qfm)XL-=GSYu|Gqmf{=GL~QF&Tp%+f!s zr4HZLaxIApl|8lhPN>D+IAf{3S98DoTATUf??rtc>)SeN@)j@B=he#i>P(xeJk@W4 z#h%A+UOhcH_3;wsE5$Fe56|E7vhhLIG>b61PZ}-tw=cv^JzRGxp3!S^AhYFK|0j&@ zf+sYehZ;%<pFY{T;KW_+qf!3P)l>Qc4>*0hyzK0kpQ{eL&Ua_)D!=#p!QzSUs?Pu3 zcI%qC0@pl&iCwnbhf0@TzgqM4cDi?~W^nYP<BbNY=Sr6(zV#^$+Av9`KxM_=?E$4C z2blXN$ZO3$Y*FxI(I$_|ms1nh@BO$<ZFcU*Y1{WQt1LY(y!RK6#G6Ia_vGvi-@9z5 zN>idOySZ2E$L9{xqF#z(Lc19*-Fuee{`v0P)-4|UU-mcub(-h>?tA34Z_Z-oPrGJc zdl;i~_JYpeCGqmIhoS-k=ax2?&i>fB=*`ny?ciM&Q#yXEob&6)$;nn96z&{nUAt-h z@3`>qDob~B{aCY1XpW*`(IM3>Cnl+;R<+KZbm>gM{jS@UWy`hS`Q?7S@;YHMW2ySe z=*o6y{;K%vTZ`nFey4FV227jlu&Y>i)11y%E^#u>?hzt)m-Xbd6q&m<)SQ&Nr>s8Z z@)AY=h7(I%bb^#+FDd`+5iGfwE5LO|-Ev9j)iX7<;SLuQi+yc6(z@S1RnuGF#HGFI z^fzy<wQD|UtzzjDJ%2<h>~cyY^RFW|jOKoR6L;Sf`EOPB=9M}Vd$H!>)BAqz<jp=< zo3Ojj^^ZQ|>B)CCiyug5Jh83n&!_bdr%igy-`XT}d+Y4ikA)uSere1<64(8sO3L{7 z=4sLIrH}vJ@4bhYS2jCMeMN0n%D;D&9ZZZK4cZLs1?(FbV;lq&SOgenxRozne!*CW zZ*fE5S&5{als|`63^)4NOg@!j5b2YjW)OU!C&_E($}?7J(wp0NPRdNpOFU;-Zd7jk z-I(9-`Aqd0%Y{q#zZU;{LH><DA8Y<m>lxc6pB>J+A=Ag(&;DNVfy4KO>;J1>{_oEH zx?6W`O5>OGCk843VSC>H>3Z8|`EY(oHphm?iSM2=l(63Hxpkpurekbdp4tMd=W*t5 zr`@f(E?c#2caw(Kgk19zTX&!E|K7j##zCuXZ2xbF7jd48bco}N-?H*R?|)`4pFfx8 z|H?|^PuTV>KIU86+fLtGM|y8NS3gMl`|a<ce4YdP{0s&k)6(9^dn)T@Hpl;wE|e+! zyF+BJTY>z3--D&{f9+@0|C#;uo_nds-*?LUO`>=IExhV}p8p}kpFjT?-RJ#%$-hnh z+Wq%T501;{D1N^$GU4{L<Lj-DtuyZ8_y7KP&)Zpj%I&Wbc&^X1F)c3Q;@&mSey4h{ zp?JryW8MqXPnA^d`BxW}w>dRO?b5%eZ1PXPnq56;eoN?TN`oh>RnhjU-e-0VUUgqm zbY_@#Cv94?Ht{D*q|nXSn?)0AB-@&QuU%LvyXIlm@$DVQ-U<H6UG(nf(aX|Wr#{*U zzEDoFo9Mt0e%~x<U2K5<wT-=pxA*hqu2}i`$s>O8Yn=~Dv+5SUn;0=`rHPPLE#EA0 zYZ;&Z!rJ5SHaIz4PTwyklE3ir^n=!S;{qClWHNoYUPN43yWo7s(zRwcd_0cVbt)Y_ zQBon1x?|<J)UQ=frXA67^ZnHw|D(B{rB!QUlTm<X+QZ`p#}pm5b9tQ)h_yT%;u}BX zndas_86okDk{B!Iul&Uur*MIT&7_$*%dsJ^!$DsqL71)CgL$=1vb5UafP<@U$RtP3 zHGggq^J%Nuy0@;MwJsfN%F*tsX1pezm|j?>?sLSP^MA^pNn9R!D_9g)wocXAvP7tL zy3*Q!z?X9}*1vK2WW8WR1gmVwoy4W80ha{RyUW)lUzy@n>RuV3`d#~R(#tKO2k&}i ztetc2+{Y!}U#hP0#$7q_Id7Iv(Z5+*F1J5TXzV{A^6l32X;c2^cBxzK^-e9YHRMe# z-YT<hYIktlCGNu;IJT+I(Q4W=KfsK?TO&%+YP(Z~nBKY^b?(3`ipzhWpK7!-Tr*WQ z=yu_w(^Ie3xt}t=aP^Ya#joqGT{xT9`*GLHZA-cH!d(kCdz=4Peppf|x=GLexwT{X z^U4U`{#C9Qd8W-|zG`lAIi<FJj{F3})&!oD;wkZgJ_=Im9Y(KLZ0bH}VX|yuvRLJ_ zzyzU4xz?LOD_Uw)o<4VwOgdepvG~7{WyG>6OiRR`L{!V@-?+$hSEK(JSH`-I=(!Ke zj^25xqdRxm`l@+lt^cGX-bfvn%wEB9HRP{a>nhzWqarOSua!co7o|SUFAB{{xwtx1 zVZW^D{7-LIPn@gfu&v=`1&0uG#_HtU@*?)sFVbHd{_&Y!S+y)S!=|QZjp5DJD?0s8 z8cf=6;HBC8;LdlEh`lZQ<CgCH`?RvI`Czex;#~WU9TiVorm{O*8eJ1wb24TZtIxB8 zp+_7R_h~&6(B7uRxJA9_<FS_41zs%=iZ<RT{CVKT9M<p060US^7LH!Ex=_>2O+x1P zL)+*J+k2*~rGGd0Dj2>@>$&AakAf%tTeozXx1F$a30msz*JrZt%S5Ry57eiw`lHou zdhFf?_s#EhJ1@+=zi;Du&+uc5S8r|UliJ;0dN<v*?c0q{8=eKnoE6(Nfur_StKg;j zx2+3A%+6?}eMrb&yiID#bK@h;fqW-B)pyUB6x-!?+iY_2@{gBJ3+$Zlt@}On_6m`e zTDF%KpP2S&ixTS>2cslzqdT9rynAs+GJEQxuqD1{6;HWrV{R7;xSH<L-hX&yR=&sG z?Y|}ppZrn1bmrm0=_xnAC7wPa`*l&6W6A4@lCwV~oe7)BXt_^|AwT)ZySc^c3L9cm z3?%|<e9vyFO)qFzQd`NVKlP4&b=u>y&<oDxMdbpm(Gx1q@7)sDtdyqz$yIVog62-M zRUF-4Gvl4JGkBLoH&?H}sbCaloElPl_m_8PC~wh!KA&5fj~r*lsV}xv{Kj1ztsEAA ztE(`jCT0G8)wiOo7J>;!b_U)2?6D*Gmx$d&)^Np%)k4iY2URusFYVhVw$s_CZ+Ee) zO0ieO-OrJ=<zEexoh9=p+}Zdxygb}7d2Z~w)e6ijH|rmp;dD{Pd6iYCQp~(H8|9rg z>L>^bpI#Qc@|xSNZECk`?|b!se`2f=Qo(eyOjBKkXU?Y-ov2mnuP@g<PIK_xC8F}U zX=UEL4PBi)`}RMVyu0xDM(e&gDf?DL+<c=Lu%-LyD-{9tb-os1VJozDhkO)1v3aG? z|MR`>QGw2EuU7BA!0V&J6QjcGw1g*U39nZQPgDx8+Y_F!C%o@g2`v%b<{2FRea`~5 zZ}-x>oOi?sWh>hY=N;j5t9#GREIen)rfKsg8gGqpHlJaTa4_NUg98r^JvjK_u)u+U zhJ_rf!yA@e?#ePKh`cz_|88M+=$UVx=ihP$u3WbI+x+j|yayO^qb6IZFaG^YId}2S z715`o<ow_KzWXiWb-LH|s()*<UYPi7zW1U^_=n2Zsk%N4CzXExStO$Aeru7$1;2xO zM}Mmo?_9ZRp1fx6f`bm<(u}sp{N;PKVBgh{H;-0|MEbwJAZMg^OZdt$g|hiCqx^2S zzY`YxccSIq!gr@qk4{^+|4Qv|g$pa@H)-jyEVnfOWSM(5{P@cy%)YOhW;=42YES)g z%sZo@ocVM>$y@&^XQkBCPUU#T?s(hivZ*ulW&dqcnN2z^HdVQ^8dEY_MUt(%Ua8GA z=YDu@(jHZ=mc3nH9?vOcOZmTRsdLed!~;_}Jtn0tRE=8EaZu>+0xhN+PD)Dhe(oOy zzdn(_<>;j5BbqTSO>b|(65&Nh>>QdOIQ-u+L&It9ncP=%e@gX6D6f%72|96UL8t4z zPudc<nli1e-fKMjH_v+Fq4V349{Tnz-F5F<sNlRc+Z4o~#a+msDf=~J%ejSG>$Q59 z=T{!j5uJZA)u(3e^8|Zo@7RWBpElFG*^^!x#mQe<Bbl}3O5-)t+M}<|PCV;zwJl=G zH@_=J$9MhblI&}3HvIP7UbLBy=hp#=va4>-dfsX!t~Oe9_UeNFr<5*TYqD-zd#1vd z<?F|7{%=1=B^GpFFX}6+cP-mhHj(k0U<&)uy}PdLUijCRajp7_i~hf7E#1OgVI2Np z&m=CHMH!QnBv-h#PGfoDcH6<(%#G`a1?LQj=HNL29qMORB+X;eSrM@<pg}ZrO)$gc zTVnPdZEKYtsxYp*`0YXfPkbZCq=pMClxHdg^ekgxTAFd{!j#1;9fCXO#VTHo^1r?^ z&d7NQWA=77eb)!8VlOd9eNoFWP&7MS(sskGFZRhdxi#uCr~DsfIL-0t_-yd8#hWEY z`GFYYccYGW&W|Ps^*cJtU22pbNek{b>e$c8_}yN3_5c3=CtlySy_h3Xlu~lP+ceB{ zztBy^r|+))@UqPpHDx%c`SVplcVXh|bC09%^1b-XxI9jvVB&Vhz6zcP50*3M{bx@o z)1T|7KeKKA3#T6$PAOX#Ur9ICxSf0;$aCR`+NnNM)ZFe}4w-0n&GNmIvRX}4LYA6# z!U|)7!iDm_M$45COuL!)M)vu&jIR3mw%pmXSw#BzgPtC24p<XV+<5g_**&it_sdM; z3vc=yUn&w;@!UmmOGll{g(Dfo&Q;$wHx(FE2ux{qTQcF9=#NbY-b}I*RN`{l=#aE* z(e9cU<}32m-VeMZi&eiY)w$19V9YM9@JM-Pvw6VAMdI_WW<=FTSudXWoJUAUS7pws znU=HHSO%Y%kSlg3)p}l##D|%CZZt-|UDoVrZ)bk^Aoq-f)r{vqX|8#AU~=W5bB0Op zB2-<DM;u^e7P`hdMcKFG@~0g>@!NA3c?y~3eD1kB@0z+PFN4qIttZVFr-nV}Z#QmB ztiC_*a$|5`(ZR15&Q6{7MKVS-Jlkw$dUel(<a}XnBfi^W(YwDe*UemRy;aykpJPSn zUolChq;~CRcg`t9zCRJeI<KM2GkSJbF{fKKZ;pNFvYDratFE8Xxls0!r~dqIF^<N5 zuA-1LDjrj1K4@FA_7$!+nmo-x$>Uh{lh;3jnWGmi51NqMeeQX<fpD@;4{t`)-No0! zey7$M#k@ac@>Qcig#BgfDmTt(mBM3@%?lhRnmL8s<2dD{sm^ofin!`+mfwo&R_VR8 zU;el^Q-VF??bd_ao_6{0Z>g%PiWC2>X8fn{)otD5y>%CEJ@k-F>gL+D+NfpTJrBla z<#nDO0n=54`PdRNa=%yBy;50mWvWX{dX0`!XL?OVY5E6gl}10eQ(IoYp3Zt@R_MmZ z&;8R9|Fs^><ksB0NL~9vf#oJn-UmrLBxVWLi7a2+b2noCg((GM4`O*l3MB%3y0mQ? zCp9Sjo8H!LrW7siym?{qztqCT6)YKi#b;+vc<Qt?Zr1ZgZAp)7ilXi7>#UqtGhg@; z%%$XW^77_H1%2+Fv+nj=EV?ChCUafvkw-r4n`R$rSD4Cvq2=YV3#C%?*Q#DTymINO zABxoiv5wCKlD>VrbatPoz^XFQxJm0|?{(NO@6-Rb>B!#o`P=5Z>dL40%vkO=yIrGj z#e}_`Ox8T<%TyCX6Hd3LGchh%8s*9r^3QPdS~s@IGqt9y-dgZ#%WR3MHCtt;A9}Qm zF(l)A<Th20t1a`2FXS1oI@wtv>pIJI(J#Y`lJ}Tzm3QS&{kBF<Z(8t58J!PoIvW;C z*)7RcUBt`2@UlciA}3b}KZA&eLeGSD)=Z&&>#Ux&O>kCtq;U4g`=7TA)_k3E!Fk51 zEdI4lG6#z`Hr2YEdNQfPpM&>MMv_JJuQl4d_A?{@WLr+GD!XP_CAWG0yS`&iE}x|q z`)E86)wrVYOs2%>sZyF@boY<?J3AlfxtVM@_vmG`@1n;acBpKTmD08^O_;s(#G<d) zwJjq$?b}=L_^%5UG@CJXkHzjgOMN7l+x^}oAX2XV#a{5r)Q0N7bz4rIuV7S?>S8~2 zXua=+q}I~+ufAM8VgAvA)3WoQll7i%jSHDS6;6K^64nb+@;z#`D@g8YpK)wox{^kH z-pgr6%5HySm{s4bCsn)Tj_ajob8qqglC3({{b`5Gu{mmfsT0f+JA&O6s$Vw-=KR_& zxNw@nv6_QXZ*($PG`G3eTQ69CCt-3Q*TQ6#RX2s7eOqKSMa9~L-^=2JgPdZLWqsQ` zLyc3vTqG}VaeH&+?5jHQeXg4E{qr>^FB2;<U|E^JF>=RbZr=Q+KQ;#$-XCa+k`=yQ zY$aOteYGij(tCB|O^v~)_jlM8gnyh@ezR=mky>wd$%lGg1$L&JItrv+ZG1wHI?fka z@~&c`(?XZ|&I)TII6lUNw9WQ%Jj5(wyu;HwS4s1PRP~0-QT!!SSTFdzILSNBVOoJC z=M~pq*@t+d^_jgcGHo?KGNq_a`Sz{#FS8f49t&PGMWm~S@y-|1Dc=t}?&b}>Q4wrB z@6D{3J$m!@Y}DR1Z`ZUmt@S}2m)6_9nkH+#sZ`>M(7i=R4o@y--{q+FEz>%mXX2*w zYuCHB=}kE%&slGfr+M_2#}etq6YplXX8nGlmFmrM)6+@lnWW0===#p2!>08dvyTML z77obGSK8yLd*Jo`Z#EwiBa?f-n9h(r<!I91bw&7!xAn=Gjeoe~H-_Xbo4qvlX6q%J zBjJ9PsavOcy58G)QM=Bl;KZ2%W_2Zb&eW(pb-tAcPX%8(9kyCxQ`*&lAbFjKenLVG zJDuNudwC~Y`N9@;{te50r%b=^;<q;8S=UnSmy;r<dg;~qMX7$iJLg20)RUPtE|+iT zb~{^nOjP+l-|<GsgFfzvfA?-*Q7Yr=>?t_w!ZhQfdr|Q@!RzOi9Wk-X=zhz-_)Oc= zIcIsfYS$Uxyyz<B<@!5#*U3YzMwXKov}A2<s-46Y=drtO=k1HrP8MG`IOfXZHX(Y& z3uESamrB=)J`LM4SM@|=%azj^57IX=KXm;unNzzrd}h3te&}Ccx34Royc4c%|L(M1 zM*rK^$CGs)U-90XrSdoQ{f8^to;jG`nk(hrexc)G*}CwHlB=HI-kAI(_r54^&E7xS zr_|@&TCRM<+cBkGFGWotan^0_LnXnFUf3@0cmBNky6a-^C9}7k;P|rlbl!>ghnHRM zlYDe)V&K_I@x+d%X$&v<8>YUM@xD~~FD%@*SV*kPMDeBPwN1|dJ5(P$3YI(5A2n6( zt3z|@l9tW>_f~Gm*nWa<>79qx)t1*UiB<mHxn%yQ^b9`nwFM6Q^Eghbe{9X3pyhL> z$kj^MbG<H`hU<%io3_8MXJ%h_ID7k#Bk%TAI92Uks*<(j$U>K$GcHKYe8;*j^hT7a zdsdE*?)h@Qvm9&RJ-E`Ms`B9sZ+L6#<P~ZQXXr|&Zi!xejwRnlWWg%AD;z6g_3KZa zObQRZ@$q5Ex>=j@_M|kHFOYoxB{z{{%b8v4{RBmtttYB(dpy_urVMBJ{ZmK6m_uGC zEN9pI!XB|!f70d8#?_^q*&BQMlcN?)nmw(LdH1Zhwv7wq^Y>g4-^P(`ne*$FjmE@V zhu$*FPu1KU_Uex--<szM9L;f0A`QOZJwByP(VE*x#a!~H6ZgvNDxW+yE{{3=D5rMY z#I3hEF2uj};j|KMx|wDAJY(O5J=@Yb_uWm1;aSr6I3j$7o#4EgTKzHmKmD9Ija4md z)9v$&PoF+~<)^MEx&QcV@z@jD+a~Xw_U)QqiR!CWPF&M`ejSWS51n)@_SD&|*!qQX zZl{^Jt}M$x{qBMX%c}63iWk=_8sC}zMz8pd+3dUNQ}}vpjzk8jG#lC%rL~xeJvkg* zrO>zX?t)<Fh#Q;%`5UtwuN82fa`-y!&vd?pU9*I2*RoI9-zdhK6UC&t@UPP2;3uhd zNf%kpJ>7Uw>GIiqk%u<0E|=9^U#2Slewv~Ao12}|ZyeR4vR7J}6h1zxmBkUt<00Am z?xmyu#mhOe4Kv~|Ok|iP+}$JR{5h!Mm@mio18z%yEO2E$yI9M_Wcze!8|EzxUngJ5 zoWvt?QLZ=qyu>bzIaOwhY$mX<q#U$gnZM+T>AxNIXU<%kJKyW{E9(<N7I*6Ne%pRG z@LU<;dZH@sA_ub!x3y-3=12a^ub##qVSlH<v;D4m!3>wSg$L*Ii<y03ownd^{ciJX z%T^nI+S3+Ry=3cr6K$D@8!PvJYo0nSy5VR?PMQCV+Fi+w+ZcSKVkhvwzwqL$>2}Ra zO9~Q?yiMHxd~(X$_UoH<p0=GcUCOii=r-*jIi|vZORt48A8N;k|I(QvGE4vA1Pg7k ze07GquHU_qr1wsLuOy_S!umJcX8x)@3nU$G2wK)j{I7VecsXT1L)-21J0})N7rlEj z^^M0`Rd&PQdpiH;2G!;juc#I*cbYE!t$W(q^<2xNcQIbv;c5HdwUzV4Grqmci#po6 zja!Nx)=oSn+n8}HsrUaE-I<I@%EDLHmKCX1Sggpn_?Rbq#|h?#0vnVM_SSrn;R<P# z4X^&-{HAILU(3z_tBh;&@2qNw>v8DyIvypb9`StpvU2Ih*^*P2)Kx9Mm9D9A?rOYF z=LE;FmVXOhvXpsE+;ym#S-fM;Wi!{FMb4}zCQRkq7=7i(?zp0syv_FE`aREQ{G0G# z?sTR_QdiD-I$Uls`0lrt*<M0n<+k(=t#@Ca?XV8lG<HpLSRZxkQ0Bn|&tvDl$bRTK zHD%9()la9`#idPOk>YK4UjFYp!;l}+y-Ci3m-T;coTa_ywa({*yO*#R@Jw4IK0A>) zG2%w%l7lr<uB12jJ-OIbYtS?Es)WS(D-$-xT;6hyaeH2k_+R%6S4vIGo%WjhoT^kZ z^XAZuxVqA2$MdFL78=oJQo5hLH9flci;BLU<GnIXCZh2(=k6yHX6WuIXb#~^%V@Sc z==khvNu{Ad)9Y-97c08MuJZljbMQX?CSm_VOTm&SQE~IE6}ItIUD>Q?t|wu9f?d#7 z*d&Zkw9Ie!+`xny85W+UOZcO&uvU1jHS{pf)$=JWW%&2*@QQ?EI}O!D1N)7y&;28| z>*!m@wwKa}9h5CtPq?=UEmq-NYaeRgcz*MOCk)T@wtZimeQ~y!Pev*e&u!fuCsGT- z)x$gDmNG58?yr5nLfiSNx75bR|7F#^`%4RJB@$!ISL!BLYAl={u%73x`{KTuWX;WH zX;<Q;CVckrc{cOb^E)E!hu7+4ezPn|SF~|+^_To#+qLvt?5^aW;vdDF^11G|{AAIN zYrnEhNIaQGHB#{mdz^WM`i46*F3tNgkyBTrd*-CLv<YmtN(>c$Ix1C~e>?1~|F?iW z_3z#bH>w<tyw6*fb;R9(P0?|=;X;wm?5~CITs(Uq>Bz*1S2}{1S9$*XcDC11&2^j3 z^V$^a#@?1Q#YdCGZ4Z}Ei%kjhJSl#~uw9P(ygutnLBH2mS>xs}uM&{`v905>{N<_p z11_)aei-JUY+I3%y~MTc?8Lh>zKboN@Ygc<YRDYt&o+t2T+)04-mLjFA!@7G-IsOc z&U=<_`n4i*ZqyaEE$-LWUScWjpSqCcA(KJZ=_E<D?`n3Z8M~@Kgt^$%zsQYm{c%zD zi`I|MKTG2|WjrU&*#1`JTD!yU2Yy09#R-9*=gm+SHtn4{?evE&Ny!)Wc$S;wxa!sD z{Zh@o*neNnagElWKc96xk9sY8!&)5aEqH07!MmE8y(zA3ds$25W~p`DJU+9JA@Y2N zbx($zft&Q+I*Gm&|81@`&T&2CdT{BwH?p%hlg#UG-po*D5I=g>N#{h#p2Nr6&-2dT z+IOZ*zW9~hvX9J*Zdq(%<9sHvBjcC8#GP3O7r95fd`sbaGv{3suS)&A%L^w@TfIUq zsovXcv1?FJ`t3!ULX0*0H18%!79Q<fn#}xRVeYNyB9mut=A`7@d#*ESp-t>H^-HrY zYrn)-Wkf7^|HDe^DUV6B>_f?b3lG07mb0FC`MGNS$_M9+Zq3YGsBGahX(#X9>b03A z78=VZ-Za}av0$NFmG`s_mKQHyHaK%d%IVt6n_(#$Wg%fYb6+;v8FMHFzuh0+7uqOx zR?;M)%g&1<Q#kN@qw6IJXTJGH8Z+ZPk`}RiQfHdW{DAeeX|u~))8$usE|i>+WN?f5 zVEJNk+o^eW3IZkO>|b`P#~qfHzQA){`BUce`X`S3Hy@m4{2#vaMoXT)lu=h~>7Q_2 zBM~9R9i1zg*+bY*Z{8q#)<)ms(zHI6`!Czx_Fw0IWIkWoq##6Z+PRirS}wsX(`%3H zcjmt^KlP5CScYFg70U|&*H>|s(`T%Z>-jcs&#Lu_(sQd%FqfxEdN~_@>D{nEq2gP^ z*X#d}>|NIHoF}$XJ=JZ}g5*s;OY9eNRNX0_cJp>)yvHu4)Dy4NCDfI#CvgU8OmTVW zR`n#m??L2&fJ$3Fg*eauQWrZXrpP=nQTLx%?5hzk{IuU>a$tKw=~FhbnkVbamhR%) zFS1g&=*ZX3)!S=T|2>yp;j2<H>26}snMIs2uV0>d5~TT4^yJs$L7!irHJP7t$MeGx z^MmrP`FuxqwAFi`S=Dp@+kcPZu(_5;r|>>hI8%Ci(k0)u|4g2mT-mm%VEyCf?`NK0 zk&<+5GiZB}^F*$AO>xJWBjPQ*hmS3GYI_m7*kFC#qH7E8-ZLt_Ir0Agf~V8PS6(%m zap3hWpKUvh7&R9BF48e#-j%4h#=QJYra*PC$?Jr$ti3Z%+Ibycz47(RWFJ3QeaqJm zZ%$tw|L6Ps=BV^%mo<`Y9$zT__3f>D|7MBxpI9!gwcnJX=;$Cm<8@o#9UbRSvSvs1 z|6YyFH7h*Ybwi@k=NhxLnPm382NpNCUB135GphW}ytkA5&$RJ=|B-iKm;LfYqu1+& zgc3gAdUF4kQ>4WFUsEk)<%A#gb$r;Ecscj^gxu;!Ya^f3JLE6Xm)YPNVYy<K{95xs zU->S(&K9%djK^O)$=<s8C`qzWLwj5Muc*C2xj`~<Qufp5F0G6_d;eXyn}$4N>x-i| zeXT$BhVn9fyJ)2o`iXy;!M7vXCr_upblp&`{Q6vFO@64}E=?OpVTCpc<$@)1<IlId zoBew^op-<9^XgjpW{q^|smEUE|EUUoR#;;1Q5wK@W#g|Ehv&aA`uEC}M^f@W(=j*K zM;((6G1ae_x?-gRtD%%mT7q8}+l<_8CI(Gf0a6;$T?ef;Jd!lL<9Kea;~s78vr*mp zvrd1|_IC9a^j{l3>%Ecv>p#sBSM(R>G8MXsd#BY;+$b7(^gOfhwfXG(Hr5?ZJbyiS zb4Z8D{EeC$Cl?qSl}&i$nYFCh;mX2YF*&pMnVkF{I*n=3t+FRw_jzI-teU~l=X1iL z;%td-?XLxoQy))ok3ZkcUn6Igz-{{FNbL>hZ#>rL1k06P*d;~;$}9<*lRV}Bii7Oi z;w(z+?^N8lxp}vT+#1=wCYykdNA9fi$&)m=?tEtV54m}@rSHQ}%1`w-nt%D!y!@R{ z`I?=&y=CgxUYzCmA<_C7??Geh`_t|33#rUWkom5Wvg)_Jq}shj*4y@#K0M%*abe@b zxyLOJY0g@lKdFwfD&^z4xu4oEU;6+4(*m<y@)}N;&eW({Ex&*F=~*Rj_Z?rmL#A#> z`!ijvZ(@G1W{&M9!ONfKC+EHX5b6G$`{GSTZZ_sQJ>nlM|2@C<eb>d;w<3=(o2a|? z=>@BrlvVqM{)kPju*_jgSvuW0n^Q2VUi65FuR`+=hIQ{Zmp<CfYrpS^<sY|&lKiXJ zFF9d;wL<*VG>LEDje4|obE8i^`4ya)Gvnd=vqBF}7BqWu`hD#`;{5tl^hDju$8SZJ zmTbTGb-&PptxsPz=zQLA?(4KgFReFmGaY#M$)dygp~&`orRQsQGT3$abeOGFi2Bbl zbLGyM`ClgGD%I6*wb|40@%JCIqkDe@q=h!^+Wks9-eAeWjvcY4b`9<!w;xvKaNWER z!?pI1`;uRp2lZntIX9(gXHUE_uU2Z+O2MBzA&!?8Z%}F2%NN-3#W3K+y?r51@?H0H z{!3dQcXX54@*l@d9-cb0bmGGl{{ANwE8gEYb<JdI=e5w6v-G;0vwM@(mRa>SZ!MbQ z{XMeaT-NpV%dgHjXU)uh(BDUU*~hI>+avV;FLe9anVnj>XY&z>yLWxho;`0Hc`c~* z;9g_yxkBszx+?0IN<H}RT)-Tkx*>jju&3z({_MW<CplMcpL6?SXorr5lVH^CYHRsF zYfYw|-TCpb*O@Zi*T1jHZFcReH|E|ZaP#uy;;aYRti{v6PO*rXlEhrT%lO))sD>9( zM?L>c(45LST|YK0re%{4bN-V*hJTf>RW9YXcAYda)yVnlIZY4uYqj;~!e3vM=GVSs z&EF!sYwxX{hZrJXKHAo~`q#RcsGZX~k{PWYh@WMujpVtKwkfjU$nlShmGy3Ii`=j? zc*V?%cZ%;^K9_M@#&v@|$Jcqce+y2XdbY1uM(69c)5Ut6R)tplt{%3}GV~fmk`8a# z#}$y!ahkjLaK6c{=8u)N`wqW%7R+4IdOG{1(6L)GpN0Ist(9+U6%kvLk+sex<lFUc zD*qf`Ui*LE%i-zTxeb$S=I_1}cC^ThOaFr2nTnA8_LUYpEgoOuynS-zgGG7ng>1XK zKh-=tlx31>y|##Z>#TcAPwp_tvNlN$kkrfH{C4f(*DvqpbxNq-_}snr(!zu}`}ihK zkzKoY!Py1nJ5`_UR1H<!yI`BYdycn}{@3*H{_O#&ON%=vf0x`opVx=4Ew%Xa>iD=_ z#Xn~*{yy(zn{p<1u+VjThv&Cr?Cn_^`5hk5?pWz~|E7I+jqk>bS41y2*ZTiB$o%ME zPEKhR-%8)ckgn#p<p&lWdGesz@52p^vzEesr?|`59>!EI{Pc0PL`5gtyRF~<&ajp| zFQInN!DeNz<b%nDJ45~d36&+R-)9{E-)hB-Z?_Jl&n%O9UAs1~{MzdE&TIwTpL!;^ z-!O72d?B~x-jjLKyrwAy_f7YPCI-1qVdy-%?}O|2;E3-_|4zNj-qZ2gQQ#)0mcp## z&dqG6)+Y(te*AtzD*pdT&G=hhd1oCSGn{{Xr{zwj?ArgKvnNiL<G+6LQDWx&E3rG3 z6f_*}ev~|u%qo9<{gGwu;aeuD&fBOJwtwfs_~}P}nuzRZnl@YMp!s)+ilre6%K~gg zT`z8Uf0X+%gP-!5{0~PJZL&*Ft2JDRF6?NC+bQ|r+o$P_IWswSy<oOkUcXB``dLE7 z+dQAfSAvdNZ4w_W&nz#Ip6E80E6*i)>6r|ZkOy3m#if%v<dz;g{7Ca*i1pUoWx9vt z1nW}G?d`*t6id6X%>GfG{N%RLF&9%UWlP3s`+SNMxf>mGh1dQs;MBh#QObLO|3>6G z<2VncSrH%XisPy`JFqmV@A>fIto-&(r!7TfPkty<khpe1`d51Ftljp88){3GZXaK_ zg?(LN=5qHw|CZg`3nTv@J)T_K%GJQd<HD%^cE<6BpN?#^{I_h_SZg{@<$L(I&nH*( zy!yz+fBD?I;*uHl>lnT$7){~Gf8Tk!s#03*>G9jmamF{w`ftpPXpFsJuzBqpr+?XN z7BJnqZJKv}OMOeik)oW5^=sqjo%Q_p#dqqfpN6klEqQi_?(X|{?7)E=@BQ-6U96eX z={zlNg65*BwPuCR`=8x8^V;c@>sB=%$(g->S`IrV1|0R0)j$33-02K8W0m9ozKb!Z zc}Z9r3VAS;hMu&M+Z$PEaL?}!&oY<oUm_=$Ms0E^^WAO4d%*MW#{)B_SJx;89h2VJ z#c)daoKjPj!?_3F<F||UCkC8Z6Xy5X;fIyPQmIcX@47AVeEz#LWd`HRk8_yYc7Hwl zsF-j6$C%rUUR{dk7>&A){Xe>!HDiB_lFq>cOIH76_2Bt2$C88b>hc#8)RN2Xt}b{b z%$Ga2)gpBE?W-ww`(jO+<aQJ_t>byB6t=i?a{D!h7}kVeE$(+#M~g06E~?V{SAEf) zJrCTD{du<Y`u-a-aUr{IMLxdYvYYY!MXl=rQnO#l8W@zF;o_M*IkzTz*^lL0gk{9e zBrEgZU!Jiqc=Eq}vsf1FJ!~iN@seG7`uXI2dFr3**XJ+XDdy8TD=3+Zd7}1K+rxP* z7I&{dF--e^^Tj`xORu*Ze=t5~y!&tR=IhJY4*2?>7d&cziu3XI*z12d7MdM=w%)8T z*l}^*0bZlEkHoH@jJ+Rk_^dH!_MF@O{a?&H7@~TvpGuUdHJucdp^+N=LPqTMtE+KZ zHB)@FE}iCl*H~S;FhZnQWOGp#uj47<_S60h|7(97zs$EfH#&9EikaT`ZpO0h-2G*` z@Iyuyd&gPc|9;jb{Vuut;zMQer#GJ__uBb?Kd7z0`QW{T8HOE6B4NDmPNlGTXnbG% zVadC>Hf&q;P21((_ryv$*W9R5-Ch~zv0rTJbl1AP(*I&2K3zS0qVv_;JWrSR>6<@U z#8NLaH*Q)~ThzY7f}K{qV!u<;vUUc2;5k>__9H&@_sxgzQoE#zcHU0j8C|<S|J0!q z%o!=?vf`dGExy*;o!$C(>at6dufKTH#ofAX=JM;;6JBRbXj}F16Z7Q5Ol<4_Ka%)c z<Z(O7Eq-s|lxO>$CDO{DSXuoN`=xf<Tqq$v`@PqWX)01{oxjgM=GC=%QR%+$r}O_h z#Z{mD%ym?8w&jP_oIiIurBrRXbM~!&_rb*vdk^q4eXUjZzjZTWt$=oo@4*W*UVPud z`~S?v|BO4&eSOyKk)Ro%aa{1eqwJ$atNQO`)oo_4xyH)4aM6yAd6GPO-BJbHf9>O( z^5o>lyZyhE8uNa9crKB_dd6eYx;s$^YWF{U{h@6luj~CiFP257r*R&>*H_)^v)8oH z{_5I}m9N)+3fnJ}(z$f)n(65qO_x1t+4rB5{pO6VdNad(w564nXjXZfoJiW|^IE@A zW0(I@?t6a9+J~mquE^hR`L|_m<)LZDeGzpNJ~m{B--?`7pHq1_&6cO2OYQu@qO0q! zDil8bx@K;3$Fyr&8M=x_SN%Dyx@JV~Hd}x5N|;_Wzq;r%+4P5s!bkQuuaT&{c{ck0 z)XWzRhi%i6x9>ihYOAm2!njj+?`^qBMK1#n96Yw5r$3tcXWsOC78ieAzy7SY=COwy zuX5O_6pKs8*4M>7-*<2B`TJK~Rw?DirGHx*^VWgG<%rQ~|AnU4q+Weprl$EZOVuWP z{->!^!wuiPwKq}xbulpOW`wrZ^dD8ZVv)Y?cI$SCKQkBDA7w7RPAW5YW}dJ7uUXft zx}!EGyIV!CVX=K5z5loJqbE-JjcG}t3oqUfSsZxy&#{sphi6)9yBVLFmFf1X;^*ss zPb?fbRRj3HO}u@3e#Mb*i~gN_GWoLN_ZQnLgAQG@$yt7H!jsPr)rw1cQ?+}UY%?0~ zb54>Ew9=jSoM+SN4_|j^m=?WitDdF8H(M+>q}pe-q}hQN=Tbx0%IE#7vQIR3Ia2RB zkuCe){mstI@{w9oS02x}x?!~zr?ap5i!aj7zMLYPHtqar)yy#W#Ki?4X16xV-+5cH zivJ4drTt<P*B1v%o`0NJ9&|!9KH{EX=mPfQPcfdawuZl)zkcHvLl$eJR?#2o`5}H~ z&ysI_ZA*FAe!BjeC;y!VOT8X#c$u|zQsEQErH6w`=b0bA{#ar@*O^sk%9R%Fes_O< z_MBtqKCM}9Qs`W7vF%6A7Cl|{w{qVuT|4n%eg^}y!bkNvx2E)k?aq>(yYJM>&6h8( z>fg8aVr#v$a6{FC{Chn!Vj^@sGV{ux-$_=zc1?c%-rO6HZ&eg@_ouM#4swmjau(m- z@OoO_o{tm1Cz;F4xMv?@BlF@@SlYgN1^J`aIybfn=Bs;e5qhK-vs~gv`h%^{tQS0H zZMQE9V)QDS<tu0CyZ7nj&sX#Q>8{`Pja#JM<)GD`=}}W97Vvu*NarVPNbbF|VNts4 z>h*;xcV1MqupD`jWx7RcXHttB<0sXtk}*gBZ!@~<WVBI)^~JK;hogPk;yzxxw`r#@ z^T%2S8ztFC_x)Te4+MR9cj#}>Lw)%<3mM*Le)!XLH|VcsqW+9YoQM8+K4ehpk)H8M z&&`b8KjDwl!at`PmN{*HvM1o3y^G15C+Cwp9nOYKX=m^9T4*?7rN_zBTh|mnIr~z0 z^}MM!);=@R>Yv9kZLPO$Mz&RPWbbM2jVrb-*A$lPHq7>&`Ss|NE^f7pe_bT3@9s;n z6ji$`EIqaTp{k1}^Jiw&wJ#m39iI2B=RF#lU&Ni+Ec<IsdWpSVtKYV`J7t36^WE&? zqgE;GQmZ+0L$H5J`>9EVMp1u?;;iIS`kf7>qn=%2n<6i_qWWQzzea@6t9QR5*c4ek z6*?`BOW1~H-ZT1@xFL0yW`xwE*$-p%JET;mD!I(B>ie5`sI>aqwmsZ&s*e}y-=Drv z{k7KC%iGKyw;VQR$!BS4x;=UKdwKO3r2|>*2Y%n5l9{ESw_Bog;!OqhpRBw7i@lrI zcc#FGwc17L^}O01m$~0&PTcXMaZ91MP)Tt>&GU!G9XWfMtt(HT;67(p`6{2;`Q6IB zHxJr8zBhTI&9O(FlUfvVZTH)mctlTX$T;t~WvWKgmS+LR_Qq3+YgXO3^Lp>@*Gl1Q ztCr8qZrk0q+DGZZ>XPEO7n!rW&e%RR&QaNS=aE`M&as2<Z*+4ls5RgBce-}gwY8?# z%%e2lDSX^k%PhS3>s|Ki^J7cPR`Tc`(VE3?B|F)#$@ARVj~=pHrbfrI@1GlftlVR< z@Q#gnYyECZZ;77zeELdFg$)ZOR~Lv*b-HrD`~t^GeWrZ&kk=|3?~9iGDPP)ub>iYr zn`A9QH70VLVt#kz?h)C5DoN`{em~Eav4lQ-QgWn5{`Qr?2#txKRx`&LPW!O!ST47< z%i@FwjCUp-?`M4a)kj*T=4Ir49*+Bm?+SO7TW`E)To7G*d!Oyuom;M7u-$FT-0bzj zxMWj*WlhGN665w6PfmRP9=OcF^22u_R=KGOu^By%9R)e2VJ_C2o6G$Ig`$5XwodtR z!C!;BDq_-vP0i&K+qt`S_XI=*MxDF2g=O*m)V)1@;{NjMdn*L;a#+>owLapF$<y8y zQ?k;x?&Wr~V=U`CcC=bB2;N(o%-5{hKFLhl^@i*wb(Zqg|1YhL|8vH_IN<PxDKod# zfBx5z?3wsi_`68*^#AQ{Gt(}-*QuQGvh?7QFN!xWh#NL8NOs@6L8wh~{+Z$+tL4Xc zi!PtG`Bkvfl!okm22ZVRr(gD3_x7l0K~aoOL~-iLXVcGFAKqP%e_(#$J68YVzxyA* zd@mTv`1)<f*RLvZElfVT|KbhTY?u`_U1}loqsh(w`k(gPyEHTXklx1+v;J5gQhT%B zNWgE)HGhY!sY=2&(t$RLPp7|+jft>*qO!{DYQ`k5ty8k>CrZrO7O!TW`ub~El}fK1 z7wgh@;ToHYORBsXCowOts&kSFGmm8U_BNg+()D+NNnz9Vv+GX<&WL<&Rbo_g_^aT$ zGCP0Hiy!1{a-A2p%UT(>XUWB%H+$>l&9L;tEP2i?5?5-QMI4Q9G_76pXVH;Ou`&In z)dzx)*IP1A^Vygux8i5fZTYgB1(oc7H_50ZO8rxPueh}1z23v)GoJ5DE1aJ9|3~2a z$ba5W$(oY?^p7*EOntup%>JkUpRX1-{~Kmvr#a`x_gQn!t8a?9x3zeZ4rAj#v)P`` zTdvHzVE_8nm8(tXZ@pZt9`%gX@Ao;0&y_`QIaeMrojCi<@i52N%?k6cce#FC^qb># z%hYeZU!@PX{ovhLzxs~jE`zGnz{d2gdOpm4ym6CS)Z1IGS8>I+$yA6Ot2uQ!%YpO7 z#C7vq_xkv_++6;FImRm~LCU~1BJv(bn2)#5)i;y3CQj0Cy)Wp$?ak9deRZZUe-^bJ zFxsDU<86-VmFwvl%O7)97SH?J=C$<H_UHM5e`{x{HP2^HYMk));f?DGeK`W=DHd@Y zmVtA>E1l2jI+%K6-t@|)=Uu07KRV%Y)c@(c<{$M9MGQ+#`OVzfs@c?M&&l3%u6BXs zKDUpm`vh}-?7rEg;=ZH4Yul^Ld%ElX?BA_Czf<bg`nkV${C|J9f6<=X@5^pq-~PAY zQpuzL8)jd9b-3@av7_#a-L-3sI-DMzv+9yr|JSEy?}gvt{<D&b?;Lo#Qv0)jU;l?c zc6)yFT<jAmmCMUsmnC%K$QpyX^+K`&6LoU-cUEtx5Dfhkcctr7_Ql@hj|UR!q#v1g z)cZv;pE)J`%uwOmjOX+2+wpH`6Z?8}!sP=K=dbx#ryInUczcU`%<E~aPoHaF``$cr zLeSP5XQu?OPCM&d_I&QEK*@ck7NRHPnd7$c)>b*{97^vLND57xaCUX|EcSkZ*bfqy zcAi=?oj-Kp>Dd#aKD~He9PN4F<DD$U8wX-NzFw<delc}=k>G^W0q!s6=h@wh@4NA4 z-ltr1S*ACxzbB-2oOz(zEx)~Ia;o&^vt`9aby95meq0Somh4$qy!iReOIo+xCRv<0 z`0D!6C@YCYTc_>bH}k8-@;gRH1kOgz`}yLP`3b(iYmT(1OG?XriSw{kF*@Dv^Yix4 zV5SWg{q~dgZ#*S!GGn^#%h-gO55$+=x@L5)EL*ndT}x_{Zq=_Py+1>Ce?2<m8auo5 z2gYCQtw+C4OtDkCB3m!AY}y=IiFkR%zk8IMR>np6@TyjuysXLLb+Wm$|7D8xnMs`+ zZutDOI`Q>ewZi<Z8vVb|FBUs5?W3G~KdMP>(nE8rqnz0~(>(0{=R2RhI3<49lKqt| zU&Lnj9ob(o@zd78iLTaLxz=}n`5-&@3*TkauBEa6b5G4a`S<;l$NKBO+`80LuKoPK z7hh`TV!^Du>xz>6l8X{|h}{XSTq*aoWxhk3`||LG6HRul(2guG6J}%lxbu8Te<H`@ zz^4y3-BY={^X$5Sj?**u9=~{6acRs#-_+1T+21m?)$4QXoL-$NT5*Omx5aS&p4l_% zLY~|?@qOOcO>!NQx$~k;+u5FM`&IjTWqHcp9Y+2~*X|cq&^DQxe4yCe<)!bRYpw@= zT~2u1Gjo&wlV}+`UYXLjM@uIJ2rZVoQMhpbiJ!M_e2png`ShhP`ER$4iRK~k7i^x* zITjg@{qD5$@IRhx`>5wT-~L9=2hZo)&X5#TS}&iG^m6VV`I;SvoJH=7bN#gbGohtm z{_7hpL9UloqlG_+z2;-#-><Vzt3Gi0^!nKNP3Dq)x#nBWznO9F%G=(|`neMh3*-r} zox$7t^4j_HlDA%LGM&(te4k4%|3#~)_}4?<>_6_R773a^e+j$j7e6ys2d+l9WJLiX zLlaB3GpBu`5(J#3mN%bgS>SYTPu~ZJ*&&%0meqzehUa=Gq<%SEG<nW7nVg>i6Q9)P z3+~7i{r=|te)V6M*Qr$+#x_Q@v^#{CUl3jO`0b|x+ZhbEKe!Zp)L5dZt|>gj+{`lM z;$gn8;TFc`r?<|TRv*8z{etM6O!N53Y=$pvYML}3)+@9H&inAZ=gFknt0%O*Bvp^P zYcvHm{@$79E!LW2TmP?h{qL6DCEJf@aK2cl%(39=1^HvD&1u>4+ov+63Rb1e+GoO^ zoFlqTY1_@S^H;^moMQR5%Ag^8YW9LhRyp@G)VRNUF19|!+PvT$@4X4~YkAIU#-3o3 zTkvC#{dK9o{XhPCPhPJ7PGnc+6aD{}qwWW7Q<tgsXsDOHCEHrq$o`J==N^Z(oM#NL zbjPeeX0=vr1M6bujRzZJR>y5^c^hGqtafE(@xuRJt>=6jxGqmIT5v9+G&Mq>%|kWG z;pD8NtGFCi1zE0K`+lvn&;j9h1!9SMg_9~J{`9>OIro0n?S0x;<QkanNmRNi`+t~R z@c6ySr0u2x=XH{9-=5;-kmY*y(JUcD2c?M&Uk-<_>N!xda})3FeHF_ZBYtOpwg0&x zZ|$13b6&D!doJ8*Vd8)1$;?-?FMNHPeuiOvaH4YQ?6R;QF{?M_-cNZWliAvKBB$!l zu_ROL13&-&&)#D*Yvsr1cWM^)PVwuSwzy~h;ki+LC5*OD>Sis;wPd{cWP7Celw-@E zbM4pbse8Nf#0O6Hq{&Kk6;(?oh|e(D_O!}z-{s%`j<X*8r#X9@jG4c%#JxlopCA(+ zwd$R<Db{-1p5)u-w_QrPeYV-)#tM#|n~(p^%2MPJl0H-SvAk!q>cykgd7_0iEO9I^ zUP&zfJKJlMzf)8^pYzRAOH`~5u7Cbe{@%)y$Be|)bvD@8xOq=p$*z2UlKA1sZAs4U zYi~W2*uQz*kB244`neNtS;l-U{xv7iEB@41i}?*54YI0^D{J11-SbVW5si;y3X*Hh zsNH{UsrfhUvl}0U&DGrK{pQ`2H`nGY*l^qbMtJ0ucbn&(OyYC3u~}Whe@08HP`vPn z=c7eBUVQT}`8*6>x#o6rdf?(~lWv-eJ!je%UYorjA^+;zCH<~3jk|1ZV?NZc>+)5t zVw4m8zH_Zn&Hl~PS%eSYx*TX1d~VL`84u&mY+bU6+xXjyhPnMy+^6K!CEk__-E)(F zdZL6a+oqHrgV{lO0{3LDX_Ov4A$H@%w)G<K>Qo#zxF6{=2;H%YdDhlb&$_LbMZRIH z)O(kHsK?u{nDtyoqCrph?(E!+ahdy0&AH!iB>Y{Z<V>=N$)ST&Pn<PAkX3v(v*C~p z?;4})MH>1qj7ygNx?^v?CDX3xx0Z^OUQ2?U?}<=$G3BXwdtbGMC>@sj`)@<<TSeKs z5&f%6{sm8+eyeG(y~@pLt0SfeiT1AUem`3(;j>wc_M6#nL)YcJ-2J<1<M~9h<4jVn zDm>9|-k-WLZOzWJE0%iQy^<#O?yY>jaM9)W;$O>F^~`nsocP}NK>GD(mfl`wcE46O zztMTwb>A!X&g{w;JGP(k{_XJUZ*9u*c+GgL_y&#jMtk+!4@5f6UwiIYs>y=GQjZVS z9M$8#zB1_Hr^+NV+xKGe`40Ij^>W)C?&jV-^7zF)rWKc6jb2Q698eN?Rpv|W*CyYO z$E7v;I;B!SwHphpD=Is5^|7jD$@@aSAf-so!tlf2H;ZOh&3oP5e_`dNY0-aGCOMux zU*kR1?BQe!J5&F~1=B9<d;K-@!qrO8HGih@`P$~+Yc2k_F(mwFPT1zRMbQiQ&N_0h z>_YU%rD4mn1=T*6ubb<2PydzGOB<&`73nAIl$?Uk_clL2{*uxE<l2teuA%n59=Y4^ zZ<YJ7r>Fhb`kLY!O`B(n2n(OLT{?Z|!bjn99}ZW}nIgopJ@(#{39}EpyqcD<R?Q-9 z&iaLIk99O}lwDeAvB*(5G;wd>7f+q^>?=D9mYPUAZl0C9?8A?_TP?%|XBBiRuDcrf zDbo5$+0`w~nwtBAJ<BV-D;2Ed=Pg^25Xo?IP13(57biQvD0_0+@%8h=_vX3g+4IP} zcS-h}pDeb-BKUX6nLAv~9q&VS^PV~Nwd~`fMLcYJns3%IRnA;n!1gVN+cexur=xf6 zwMRy!PQHx$Ekk18wJqQ_`pfv-j)9*|;_V5J3i(HDr}F;yp8xxLO4#kV^Pevq-?bq2 zmgSGzsrtWu_17=#F9~EXP;a|!cCbu;^Zk!D83*j@HywZZhvlNRPx95i!kZ76G!v%F zZ`r&p(%@26eb>Uk)pb>VqI29Q$4@=?{(RBqD8ZWbcHD2uoOW;dd?SDU(F;>|9o{GQ zZ_S$<nk5b8N(;{xm1idGPQUR!KyFL&{P&BuKXz@`pRDxulHa_~fw`X@*95kj*ev2L zSyz8^BG=`&1{3eDyRP^43gbP)DY;2&!Y01e*%;q#lX2WmcG2`Ccb?rcyW0|ErSI*X zEA{13t-fQ<Nxez)pL=P4o}<2gGxNc9%Qu>JBv|j>BJn5H@65Uki}e4xZ*w&FDmvY7 zx+%LV_EzPa?fSp=-21iEUa>E1U-w)m_6qfR+fFfm&q>&QJ$wKCprZc1Yl}`!p5(p0 zb6;JAiiJef?-+?Q5-;DeeVn4?fAu=k?mtJ1@10_PD&aE6(BNm$vwPJ!C-s7|uksbW zEcq}ea;ep-8*<ZE`ChEz%-`tazH%G)n-g>HD&AT;*Xn?E;n#WhuJ68dYgvrmjjcro z)rx~3+&OZ~WaY{)RzC~`*`04Zx2c+w$#zk2@qOhRk&5rHMBI+f?!P%v%6jgzxhvLe zoAq|u#{1!KicPA{CZAZn-s?@#8}sdzW>bz^%-CF5|7Cx2_`|jpHCjP)0?+=IxnWnU z`)zx|MA_rZ{xr=Nk3N5S$^EbF+_fuNo9$!2Em~iHlW*?Dn=!{c%CF=~&v-33tx9#e z^b?^ETY9UOiTytQFIGgn+=^jeTkEzA$FpV6+5Q#&%;8Cw{?ohl+`~+bvRclKCywiU znJaeZ|H`6y<%|A()!%J-{>HP&49UxL9kzA8yL2F?f72D|op<!6FA!tzIjvM3@uFHc zp;glK_L9=IjQihSnZ%nWsH;A0a_6a{&6=lw&-Ualn%VX8-I|+cTIOB1I29unv8rs! z?b52t8~ft)9Cgi%!rC_Rp8WRls|8=}bv{?Ubx+(UY}x%vqGGp`#dXUMTP~Z&T-&2O zXZ_1?bLr{J9|<MfR6p4D;hS;k*O^j=+}ER8wL%thbq8DyUEw6UDxme;tfiLkES;l^ zMAQDuZLaVBb^pwLc2m9?*SR$F%g-hJ@F+L$*nB8S;~N{d=w}(BX)_~EDf5{HJX*x~ z&+Tecy0*Ob2i1*tV^4KIdw%ww(WM>C;l1lSvTk^GIY&MT7PDH!x|7GJTx)()T2@=y z##=SdsuoSVHHVAYI;vaDPwUSvi=G+NbM@Y<O*inneT!$2m79HM#037!+^csAuI+o| zq4VMN(~|VO6M8|pFMnAd^oe+7JMG6BG55Ird|k513uX6P-nLz6bL`+8-YcH^t=#9U zOFLa-ZmxP{6&d_J!K&);lH!Ufce7vpzrA?Em%Gdtc=qg`D^pWl^y1~o^!5IB`)z+d z`g?NvN4~hbJl~jE8veI4a<TE*uyjmNaORwF>zj>+ghgw3c&kDyhvHO){>d745{?cZ zrw1J3aIa7jnCRgmHl>?orPzm((09xhd(Z4X+YpxdIsKTUVAPh=+eCt1E<FCoGcL?S z>T9d|ipDEnYQLENpWD5surniOvZ2Jx)D;=mqW5y{?OfXuY_^TN_t(9AldH=L_a5JI zE91q~ce-ocw?>`19eXrZR!;HktoFdtAB!?nCj~k4<pw4MGTSV4e|zfm_6gY&BDPnE zWbtQxQ*g556xLY0>ZY9JTS>k7Pi<3pjFRq7UC8lML*7f^$!m@aX-s#IO)p!paB5s* z)BSbNi)6T7=gYZfH8I+_obYgLW#i%#5?P|XNnetwi=iZBLw&lc(EC5hFL!v%vlTP= z>shC4zh1s_dV!7F|L4E|p89`&tGnGcj=ulu`(8GmWE8JA4cMw)Kbb`}kMVw=i_xi1 zzkaLV{m1fa8RNbwOV$J*zG@Y&G(n6dbGPcG7t?P|n#>%xp{g-w>+|ATmPnN#&xwK_ zQuT(@Jtsbzdw!KpMBikgc)1lT5BRAVmb}SRalSrX>ZaU$302M|YAS8sw$nFnIq+J+ z``Wc^u5GGIGy5yM6_%dpz4P%*PM>O<?B~3ut?!mhY})d!_s=3u?@2GzWhb9H|J!!b z3a|NFycC)@OYmwYSu9~(ztlDNip=#TYiApz-1z0NZc4A(d-te!r@zXGZ{L^76%-%5 zBxc`PO(W&+*@2Tx)-H+koaJ_RYmWP*NoSX+sa%`3D^@}G!=*K<LOXI!D#$+FqqhE4 z(#139x$nF=KP^_be}>44pt#p1yQW^|xxU8S@|Lyx)j(}k19|VM>Z!>Kg_xIazH=n- zI2U8w3C5hcM*^JqWAnAT#WbxR&-DzM<d7AV<dm?br_yKTiN=KN)2AL8nAoUuoSm=x ze5>V7xk`~BiJy7v6ci47CJAxgnSbPw-SNp1ENvX;o>!#>1{ElTAKb;vr!p^PL2BHr zZ3W@}OCKHARuSENYt4rp;<N7?_xC)Ps;b%T5cT0j%Bko{i#i^~DYw>a^x=(;SbOZb z$@!bJ3=5y!^t9V%(8aQAV)^7(-{)uF5csBf^u>#ZlbBX4?7yiuL9FJ@gP#V$uh%YQ zDGrNZ+I#QjiTtO&lJ1MFq!PY}{}#L8e9U%@UE7Ao{0uvDbDv*Lz2fobm)7dyg>%ob zH%TwM)wq9w8Ef04nOnrZ%UaEezFN0>MlFX;W!CX+%ZtCi3x0pyYkB#$`psFI@6FCX zc`X0NTXXxXzZVXj(#hJWvnyiqR)dX=m*2=ro6icKq-;KWj_d?yzMXTv_f=fC;?K`a z54n3!Fv4F!H%E8*ylJU&Z|@yXIP*<pk(j#MqIv%}vQ0?;ey>YNUvkR90<PVcp8pc* zvTJ^BdwYND9gY5#lULu<*J8KKxo6BOA93dX$xoXDp01NPrX&^ldDGG^eil3LsAH?o zxf)+`4?fRgc00<?*0$fKsVDLB#x2I864y`M@eY6W>)1(U3BK+7&rMeSb~rMxFEQP2 zg8c_izGy$;<ab$;yosrc9Se+&({!UlHu~~K_^p1j;NzWjbM>{#w#ymzZDxFtd(89N z`WrlZ@9ey~d2;QUjTa8|=4(qlWSGtU@aLM$w`FUWmpt2g+hqHqAnSiy3WI-qx_s_X zPpQ=#r42UuYg+;gEHhF=zwmX78$bVMwSmE2t4(c!^tE1l@jD{kr<iw^&n>Zf6QrrT zCzNwK<K*VBFjniPH4<sRXY>bi?UDPMk*At{yzqzNxn&7IdA}K7d%2;z@o8m$Ws~L% znJt^NZWO-f<#`gNxqpt<;nwR%EB2k;(S4imME$Dc3>A}CeOXqWIptPit8~MjncFVz zT{~?@y~*b)6S=HO*KXgp@##0cS+_;*TyWV*t1Z6YLO;fsPRn^4y?gg#Ss|h0YmeO& zs%|wpd#`2Qw0xQAK}wUqKDv>$(9v(p>Dec3+iF>_z0C=IX18W<o6v;qS9XegzNBVx z{+;Ii%NJ7CRPXrq_U(*Y>kb|H7-iY%we3fE>$`&q>#P>}CyMPZ^#86tVfmkJJ<jUW zD@7xfu0$AZ{j$xvQ)c_EKUe1kwW=jad``-{CR*&d^cruL|LOfbXBIzQc6IeuWAU}w zVfnxMmn6i$irb<W9pbh@v&!$_v#x*~VK?h`r57K=w9cjV?y~PMxUBqi?V`P}`jkSd z1@@}DTbig|l38WA)=%TynnjQNlHMM<a@Rmhba!NrYEezu7o+Bae=i@bc)Z=azh$$s zP4$z;7@O(IJYE6*hm?PIv0n9htKG9DvsLo>fge6Qx8IZJ|2;Rba@vC6dHO11&v!($ zA3DI-o?#Wh5Iwc&P8yrblQXZgk8Z2c*c`2VY(9s@A%31GVX6$<v{$TQy)tiRyFg%^ zK=Z!9Hx>?lZ#1UN^8O!x##!ym;dIFhQ$L?Nx%TmInRPOjGp}#hk-uo}?L&<_?75mw z=DM;xTNyOx)pnohR?EVxE}i&c`|<u>uRnX8lAg{M<X1PbQ#!M2N>7;DwO5sw*+1>- z3!k_|VPiw${z)^A9$KZe?e7}xY=#p13v4Pv-US!LPM?_AZMUCwdopKF7OT^gWy(uC z&+Ty&di*!{MwRK;*leFFo~kwH7OuSOD^YRJuz<1O&?x+5%%y<E-BK!!rc+88OB!5m z*xq8={+8=Wwcp+<J^@Bov6LNc-5RA!4^DcLuXwc3(ZIjGGSkSuHO<=CdZNO+mkZyR z#VipQ{c<(Qx8U%h-G>&n=GoiKur%VYZHQ&haypZAJ}4(JY1`Gvov{|O2e$d#_;%SM z#8oZPwYu*3BVO&QN}b9tzB;p3Yfe6YGSNNJ%=)qC)Vo%W{~cOyKVGmZ=VQ=;``Sxb zXMQVrXMUI^D`Db#<L=qkeUF^09y$JfH}(5>F3#fqBRktV{U`7{Z<|;nng5+l<xtR< zc{)rk^Eis;Z*h*5U!YQ@{+!FSmPt~xWA|GVKHIVzX3sSE6Z^Z*etmuD?~B0Jb#8Z- zd+J5F_5a)@y0qf|w9j$Po1~+2R2#nCx#e12+~Uue{5)4?k${5Y#L`)|Gx-DO&E2O| zloI1|<WIDy#Fmy@W}gd=rJcV!Q{m34s&EI<g~yHvoLa`xV^Ft}bMKr_dmsM)e(A<7 z_WysC-(8&cC@^@(!iZ$6&d)2#JC()G2j$c@<}Kd6`Q7$x&$c@SQ?|@16cE|N7@PX@ z*SVV$TCDSqS<2m6aAN5LmDo2-g7rpbXC(Z7W;aIg?VQpSdw1E)@&k<%jqbNR5Ad+a zP89x>`aWjs$(=Iyd(SE=?U2{>F}so)%U>F>V1<Qcm-f06-Sh2tca~Rg{<CrsAB(4c z>+1)LO-1G64ez+A=xsFiVp}-XJ@C;#N&YnJt#x}7rYZHa3Qi7KC6T&7)lod@m$8kq zWX|)<7Y_pE&Uf!R({g`$_uREYSAKkKW3%h}a^vXJ*cFcVwC2B1ZpwJiai^-j((3K? z;AvXx&AaAqe-&hL>~`_1ilTg_ubX^1`h!(E1^-N#ICHwa(YM~HGpn7{UUUZT4(~b@ zqPC~`lf>EY4ocOh_PV^h5tjN<`%%EnbIR<uR>tSAo3>eV){6A61(pvV-8o+Cnw$`} zdf{sKt;<!C<~|Kx;N!o!|DS~LoGm6f9P7`xPIsMN;;W-3SG4xr@xLW<B2xSJtl&61 zDdM*B{KvH>&o_mt%Iy5JukOr(L$#;vTE5rJw5WFqnp<)5$eGFQ-#1m)+2ou5;<n10 z_Fnh@esd4O4f5haGu@N+h#5a$EUmSh`|j?(5A9PnJQQ2_VEeDi0;{v^j+Wo1XD9Bt z!peU1O^E-ju9zDF(jVun70C13vNH2e;>_*S1s=09l^5LQjj6~tW{g}RKAEw*c=nv{ zR&v=sYkAJ+MrTadX>Gl<)YYv22|riYvo#470T*JzCMUm3(X0Nnu8m>q{K!vA^Yc%5 zF#mq<Kg)D^fyA4dH@vDH@%OrQKXn}O^(YPc@+eA+El(|{nDuy3fqty<eA%y(ylXBx z&2>!jSXy><zT%;2FD5n5<lgXADXe$q^8$@_ex(!9>GlDRv36}OD?YCBo$kFRKS+P8 z%h5?kIj3qSU%#@{XQuxCpIv&Q;u_D77+3_h>@rh5nwdWB+O<zob9H`vy>uzjQ}T27 z(a<0p6YoimBE2@z8C44u3%j?zySd-sMp<B00Q<?eQ`0j1=QCf@l$SWu>E<>k@!av1 z8<e-SFE84-btSK)*h#j>OLJ8lnwHPou6<j>I{)U>SC=PlkJGXAm--d8MU+A2OXE%p z!HDcdPm0njqh1F}?P)X5-w`A5D}BL*jfr<3{9d_tWom>`@xuiyfsWd-lQ{f-TFllI z+PLR4ufAzYc*D%8_9s7Y&9HvpwaLV0svpbsplSarmoGVc>_M|lbk?!=ah;oIdoRlo zyL;@ltb4Kf;q|d4!PnAjl--%TKmQO6I-Rw0ozAPkvx3=yA%}OJEKrMy%e-i5dh2S4 zov)m-@VYg3Ecji-*C!ZjJ$!v5k5Qp9v*Hx{L|wMXBTJh2A9CNE{iXk2RUO;!2lemg zKVKfb`stqE6?fj7J!Uxn$>jgmR{b--EOcWY&-36cw-vtgbeY$p?&A_=uTHdP<h#wS z-juh?U{}*Iy~EbutKU7`lqs%SvUS_cUk9ZV@82vCj$VH8_JW8>`Nwb9o;0;o(Vi-I zu)25l<D98?tok*~r-n{H-I;sn+mb(NOAn+jUwOvkhvso(u61|zZMvNuQ{GVizhdW^ z_~V-Oj#`tyY<c2)r@a6C*^(89H=Qs}`F{K8jj)4P9)8<4%WcAJiHk*rBHxQoW&bu> z^SX5YR2{Azyisq~Y*}zc+j;4vBFk+CqU|*bd<n&Gr@oxIWUg7=AH}r>v5{|%g}%=- z>;1Mu>l6C|_Y-o$%uU)B_J?GyG0*eZKYPx%LuFcDuia;waNSwydCh6_lY1xbN<C;$ zIRCfmmhT>W{FjtY*?Xvpk->u{KW@|Z+kR`q7MUpT`_S`OZ?1Z2?uR$~FKO?4cW?fm z$5n6SFCI{t!z=Sg>%?iT{d=S4Sjgr-I5cnSovkw)IaU_TJF(&JEZyui=YHSW-n;I3 zf#UPoHmL`jW4`R$TjN+8w`I1}#AhkD!tQHo^<Da~xaLCmKE{oPuUA$xU$+f<e~GpH z;pr>=huIw#u%%3p&2HGP-F&mdVmjYmY42?;+hkJ@2_7{laxIfQxWiH+`M|pxv+IBJ z-aPQjn?L*F(%A4_tv=6t8r+20Un)93P(HdjJ&!HL?$QU>u8^G_sfly7G$i>pd(9DF zxzmY>afcma$%J+MzHjV~306$mHv8Y1P4l-WfBSe$_G|auH*)tsELbsD(A+m@mf*U$ zh8GW9eA{DI^DU2V`Sd?*t7Mt>f==fAP|da6x#kmE+@f}0Ow+&pS5NFy`8ucn^Iks} zId-jYgRDd396`euTPN0CxmKxmNO>dw%QnrTU!tmU1vRUpQzg`8r4!!#iV!l|$|1BZ z&}DO~h^OZlClk#z9c#M`ghW_NU;38`XC+J!YG;e|5k9%_uFtf|4!2G#PFnm$(Dd?m z!~b<%ELRLX{-u=bPb}K8Ss*#!#p11O(dX1_bsE~m_e!mOpvP(|H$QGxu3Bu?8}6bq zRYn!>>iw#M)%%X|75}^%nB>Xm61{F0r_1(vLW^os=6N1rRnOmiHel+kfbV%HtGTjb zf3Zrw-}3c5Yr)UXqPWzxa!wJa#7sKWvZh7*W^ffQifBy!v@SgRf!{j|t1F7zCe^6) zwP##>E#Jh{T=se9vAk>tFRi%xy>qT5XMgGXxy|mD-16!fYgX3I`K0Kvl-+VW+tk-t zI*SiZx^K3%M2a!r?zovOuUtD*x2Wj36(6m1%nxKf68e4c)#B-Qmw&Znls}flD$e8@ zSY>S4vnlXR!<{L*?srezo&2GFO7;nnsXU*2PMW<`z2L%U_Fa<g<i*M7;@2m<|C9B% ztXkMt@A=y*(`~$WPT&1={n@K^>p8wmvYc@Dfq&WeN!2EdO&yFg5{_T?TwbVHxlZl@ zlgzxn*a;fO+^4P9T-w`xu|V5=y00?Bp0io}G1(6mWr!HD70KLLY^N<&Y;^U?(GAf* zwcYkIo4+|^yX&IIGfR=xTUa<bIbR<&^7!64-*BV<(jpZRp_#{CO|+Qu_K2m*vCdX4 z(FZ)c4jhbR6|~*gD*0*VPlpejjmI_q%@(o?Jvlv7Z`LQxtD6E_^yfO=<-06?&G^!C z{<9wPY#ZA1Yxn-$_5Kr&RaG5NqPqSg!xcZh?#M^8=?VN3?Q(vm(#5s#?L_l?>(Y&1 z_8P4&W>!A=P))h$WV6Ag^i@*~pPz6LsX4rDZAapifM0hGP8M18=;7^)s#Cu<F1cr6 zbGdYRhyRLA%MzBXUV5zYN$0X<lRHvp)Vw{aX;h=p*CS(hQgT1n=k9KcboIZ&V*Y<- zc?4|^RJVQS{zsY1`oiWb-8{iEy*m=FDoB1yeIHk$cEK;vE#mv6NxbrE)+gin&M`U^ zH!t|9DZki6edaIGJrBE=+{~9Lnpt#X>fN5$48G{SkFL*nCndh|oKU#Y&+bsa{u_2R z^WLYF%lW9(UO1{8^!UgU_hb6^C&jwPy?s)}&Dh2zdGNQ&{ML&nLiQy^>GH*x=@cqU z9-Z4`?)|CZ(Dk)GGp7BH{a<tB$=A}r_Y5~fh0lKC+c5XXyTWUkOl2SKUS8cafw_rU ziRDIpzgYoelTqn6O+(+qvu-<GP-|P?5M=Z3(5ayISyBJbCd}mfJk^Y;GgBh<zVweb zN7DArI`%~4XrP>udFQz;R&v)^S+}dqTKkAA_Vk`bQ{Fb@_NLA7Qp*acX1-DssJzR> zBt-Yg_M!%vsmgsb>^4mJrI+Aez}{xFMg5uM4jYq*sbBI13>LNTzU{L)C*_~gO`}jF zuXQDFdeYo(PYbL$I$xzdXa3{KCjV1zXCDodR@yLGpdg9W)6V#i(7NfxjeELo?zpn# z-+`%11wKgX9+-M(%Ry_7M?R0<ylJVLmUHjT)HNFf`EHhMS-dR$Sbp{FosT8VHLffQ zOGtjotNlC8Iz4ade%7z1hU)@voM+{jHPQS`W*1jU?ybsqD*aQJPZeJtA}gS4E4=)Z zRcey-=CfTlLeFt8brwC7SG7E_Z9kJ}yvBO}K-F6PU;kqj{jFci-j0@^{b$CD-k4L5 z^FF7x`vx31y3EwC`p_y<siRAzTW1>8%QG%JBzNApS?m4AoTW0xi#R3o9dA3%vhm;i zf#Z0BxRdy^Q0|W!{d?A&J3jZ_`Cqa6&8>UYdsRDcRxsG-&v_nlFYnskw?BTUZEui^ zQ{umK^CHh{1%X4^C$9V5oc2pZVe(9?rD0ibHdrk^ux{&b#$zn*3lFdy{l~ksUT@8r zb*wQDS4T&tp6Y8Wx05N`zW(s#6?~m%KW%>abdO#2)JV&laZGKctJnTYe9oS}orTHv zfCZ<?o+X?6U%F>8{R*Ggax^iDr~c6Y=j`2)nHH~i@>p-G-MHcHqx-!-UI<U!yLTb0 zsqw@OI)`T1c~{M~o%;0U+3>15o&KkZyZ@cyW!k>D;+X549Ibf@#=eIgbT_3pYnKY` zxV$s?w5`~My}jYjryoDMd!J2VzQ^NR&eM(`tv+f~nEzO`(0TIyn;(R~tbAdadQvP? z&3DoBGeMcZPy92KTdpN`q>%mK!Y`8bk4l18Jqb|{eagE|EqI4fZ*m6zgm=#!-_H^H zUFf72VfurmR*O$(-O5VSEW_m&Km3)s`1H()CX?z$<(Dq<N44tjtdVuRwe)aqhpm>t z%sty058ukpet-0a2d|ye{4U-8m=n8PGb=VvFggF!;p!%-eQ&FJqEF{G`(IdoIqdD; zK;1>%-)bh`-25w9_#IcxmPIRTd_JsbSro9{hL_*b_jG2)J6na5`KO<MZ$FzA?Qfm_ zkKy^WxR+Mz+QqeYPcD;<@J{%uzGcGu*>fMo_-4I{-uI-ta^>uVoIIbOA%ElI-z}Ep zJ5$L2gU@^0I)((c>Skr}^XnteoSL%q#_CI_yKL=?ABdaX|9(yAtMA&=*I7ezrFEGD z-UuFEp1<SF`AKViyo)A_Oj}%^G4uL@Z#s_OH{IFG{?v4jVOhN6>&q&Wj@v7K-BG{P zc9(CGW?XKh;`&6zmD;Zw6cbjI&M{L?)}D9#rSOS~=K>c`iQk-=Y$AJcUS`PRwYIYZ z&!`{Km}k1^gTd>BX)&j#{L$W*wW)Y<o$=ng@AtTs-M@YE`0v}VPk+Ar`0&>vJK5iR zua`;x-@gBy$?*?+rgNt6aXrWQ<-Li)jr9TI(a}?kdk=iQx?9ZReO|1B(?{*YNtPlH z?k0+QSseRdnYH?Cc%U`U@3@FJI$A3yZu&dDGkE@`w`N=N1ipIvsWT>Snm?J%@H2bv z)pPAvE*{yqb-6+5fjcjn`_A0{?xQ{TR<3#Qb+atX`w_+#pA42>ddy(?)ONMNj@s?T zD?{IMqy){JZ#nyRzV0mf&c1El`E#tx&HX3*OkS}1fjLXTqvLLV@t@9{$xdaCPq;DR z@$$&SDW|tCt=@A^Z{64Ao}FhlT@L+w{3_o>Lnk{a<E+~kXP;c~?U1SL^WB9F|MQQ& z;?TXh)<|;8LHlL7=9A5&k_7XV`uuIPQ+RFvSN@MrjCi|bwby*%2bu@^mi(QwFW>8| zck864hO$T9Hp0udOc(b&>6QK@d&U$|v8!Fu%A3xw*p!qS7&B4Fb3w-K+OKCb>v{y_ z_M13P;Bt~|cb;9GD<C_8^WbC|MajZ*H{zI7=R8bRc`52T)x$_u;j^#t5s%M?hrirf zkbk9Wg5vL=C-Nse73sC`=68~G(6|<u@H#=xcF%&Jnu533B}J9~EqHR#U~PKN2cONX zOFt=zGO+J1_wu;W#e5@wM((M|Es|>Twdo#4HFsNcX0Yk6eR%EYmzkPzJ3`k67+asH zpH)!ja;s5~wb@S4kmXU++1?~`N&R0dE;PMn7QGh9wCTdBfPJ3L@&R`l-_Cva&cNSd z_hz=QNf#{dJFhj`U-<CbKB2yne3s?W+gDd;|NQX%%bkR?OMlC#9;qmvY^eU`-pn12 z(?vYGS^|n1MDL17&y9X0xG}P@cLwh-|M#hnOHQQD`mu$5#=B=vmE=@~ugw*_Qvb&3 z6T3`P=2BD1!2iLw&qk^Dx&NARNO!j2`+bWSmIvHneRp??0MFY=Zfojnt7botF~1il ze}4JdD$^2Ochz{eOXs6rp0s1yzIHC(7T@2e|23HQhRbvwl@%1ecG~&i{(_#ltetnx zvhA4sC@;_MtGs;sstK7d#O`0LEH2x(c!&4$`x~!W^S@|yd-gZPc2D)ExvI|%l$5Jh z8C;!H)%ir`on%n<Zi%m1x8LSneY)*RBb#tr&U41?8cFVwWxZ-wuUzRr*2}_hVSUx& zqa7DBE)_3P^U^EU^FMyLZ1cQ;WEG!V8+Xrq_ASeys-i2=`@n@g3qHjeM?Wsy7kG8U zzc8H?>zA@&JDWo?zkL@JDrC$G^L||`{!YX({C4<Ftp)8hi<1jWRVQ$o1xyGnviEe@ zvrg&eYAz>BQ8gyhXO=D3*UKEf(C~{TU!{D_1>ZHHPa>JsZvRu=#ua+8w_kSN!@cR< zN3Vo;D=(U9JnL=Qp|<W@%ib_VZh4ZD^mXmDGdc@49Bci2NVp_?!=ANUj<otGs0RC& zma<HGkewnRSQ*?a{nJ2k2jecEDTgk`9-ljB>L+fUuUal2{rEq*gkE>_&5a1~*00Vz zzT~F47gx;v*`k^!-fg?2(ffrlu=3n$KEH#{JJPyhigQ;R6m(t968rxA#LhDZ{j4`w zr)xjuJ-AWk`Lw%R)_&4kKWSp9jl@>w?dC_>a^<%E?$qQEHQyCmw&+6Bt|jG5+*>Mm zciW$3QTf$#$;tHCz5;Q<nF2P8jxNrWPFxgT_2*af&*f20#+w(<m~olmSky`H6A!M5 z>)iKM+E<=atQvG<>fI|!pA5b>3P$pA^{;d0s{i<s^)tU_L)Vl~6Aua8T(rJNL9wB4 z@@wr~dG3|RIaeyMew2Ft;ZpKp4yIUce#x#PrjvHjLT6_Aq<$}BOW!AxG_}s<ToQ-$ znxN;*N`bm12FqkOZrt|rtx8Yvqm3`r5;tx=<Q?C6C#KM1W$UMa6|d$pS@Vb<eksjm z>mar0r_i5<Gd+_Q>1%X;>Xq4dbux=x{Qtcl?x+8DnRE1a^(M0k3s<)I9dXkxFhAG- zXr^F$(ck`yMMe>_kqTz6`SLs$4>CNE@qX_1>HCyt2Vw-3ml_{h{&JJ`l$|l%e=5VW zb^LE!?)_P<*Kp<!FYguSUe&K6TLN^Kn@N6V;<zq(eCdM9Q*}bFYy8b$R!KRoF0Ook zNHFz!e{i>F$v4F;-!GH&1SRdi8ShX%YodRB>YuhxB`*A1JEw~CBr;7Dna#3BAmdEM z@$7w?3M<T8MEjM+ek}giw$<#dBAfXSt^-ZqW@Tl~o0yT66&AA2+v@ss&Hc+JueiI2 z=R@LAFRQe*Z(qhpdY<>^pMJQ{TsQyriCF<6u5lZ>dP)mEWN<jv+noLIe1@)x*e3nb zmYq6f3k4iSUOPlQ2vM-(Fo;{CbFlVgLnoJ1F1G;RhJ?HpHkOhT48e}e=WOWK60q7U zGJCK1<#YP44$Wy6JHWx`KC$76q5O=NZwGtW_9ZVUo#E8cxS;8{*A9UXS(%!1WCJ2Y z0$ZQ5w$1<W_uY-uzx_cqcb3cM8ygyL6M5IC74iFKy7z}<|3B;u9TC1Vx6f>QQMobn z{OSO;j@xeQ*gND>4o=N~bnB4rxrY7Um={hv^j~dO$)QJkuFEy7@LacGXK6u;!f}ri zvPB*(;#1WdpX~O$d)}a2?@jJ`{aBF=agwLjaUV--j*Tst<0Q9EqT>h8$165F*xb2h zt#L|NpLNi*H?UIS>7z#XxL2Py=(XRAKVu+&DO93-e??vAu5S@%cK@F7-%)qg<brj6 z1s8iQgnI>#=|B6P^E)6b#r4}P+sd5yukpHKrBmMd>M=-1J^I*x#7WCC@cn^nH?~c^ z@BGZtku9V$dj8^{o9^p`emvXz^y}5s_aCbm*C?p0>SJchdskS!<yezMK6fkkjy}5w zv;KelobtFw<nC<4x9gVgVfr-VYW9*`!_8q0=^2sRv^E|%d;PN5(#(v#`|oD{U05*N z>aX<4)a>Wmw#_XuUVNy2-kdonPS)@H?!E8#w<m>{7Pqf{n)I*qkxGvqpVr0l8IOYM zyEXgX<RuCPEjr{Zef0N_INiA&m&6z4*9#l|-#jDa{UymQ&rWaIud|Kw#+0^HiQrqy zwj9s7b*Jx>Lvz`cE!waC9H=t8E@~})WA2-MHLh864*lhe`t~hu-le`%H**tK&s&?F z&Yj~HYpi`yerC^{|MvIq*Z+I|c}e`f?ms#IZ~nX7&cANG-uZ83TkidFJzF<bLg?@Z zf$y6OB`k_KU+=I}x?_DuHP%D_)uKl?GJd?_u8H~g?e>SSk2BxwUS{c%pUrE);%)7@ z#6H3IR%7%Xdt3kHhS?VXKKv~*ypdXW>wT;Ly@{sUL4RKL{IGxX?YDq+ygXy|zx4T= z?Cfm}ruyXUy!H9N!rbWvPaURgw+*#n{C8J3>T9*&Cxxo>re6Pe`ya*4jW)Tp={irf zsm21)jnkg+Y<GXf<30Iwm!XuYv72#}kA&%B@ssD0RhFys2~FEL=kaGg|K*C3H|uY# zmz}-i`}E)Xa`wAwYpa5O*S;-3y|ebi?##{cs!?KbY@um;%~dXLP&O`Jnl)L!v`>20 ziIy9Gf)`JEKJ&2l;;%0vuV1?*nZ0|P%;szB_U`%m^XL1M<>Axat4|;O5u47LWb42G z{p|9;KXaL$O_|xo#{S#HB{zGE^UpJ_Edu4+l>(KoUhS@3xNpbF-#_#ItUuj-`0mk~ zFRN6ArnIN-zN1)Jc*Dd}XLYdK!ex5{(ki`DXIuB0pRxLI^{7m1WJcGP1qCaobkA7z z_0USqq{3sjCah}QP_WQ*)2giX?whVY;XLrFGGR+#VxsBc4}W92HB4<^W*!Q$+;{(3 zUwg96(iqVLF$#OrUAdEzSIxYc;#abhWyTw2K@%Q>)EG9MN;jRQyYC1eojQG<qreJt z$p`FZuYb*BpB%NnLXXeC*Qc>I_2aaaA;Qx0uRdQLtWe;@*Z+oj`t4I2QbVTBn)D)K z(@d#3*JmE8G28#!OFwvDW8Iq949*uX%u>4`nmup!a$N_XJC*11Sl<~;-#KGb+m&B) z*w%2f{CT<V{tvDLQR$w-Wk=2w#Fs|@=sux2YxTxV0pAX_+cQ%(92SVYKlPx;WbXRs zliGJ`$;R%~uijg7?oOto*pnT9?zB!&dwRTMhT)Z*>5+|ZBbR>tBhIL<n(};pYE+o7 z%fl5nzbu%0!PjK6<xPQ?vw{om^;ssn>6)+p$nHOvL1-Dv1sSLFO5vO3jz3(JzJ{Bp z%5l%yV@98X547oAK6_XC_wC5btIudJ==c*Mc=z$#onfmF^=nsnUw`^ws)H;KZ{Ooh zrxt%#Sn-;(wfVuG(DXyB_Y#ivNq20iS;2ldIK%y?>b@h38ihaEM9vX<v~A((?2@(R z*Yib!!X1+pd2A-EitOXwo_2Vp#$|4<Q#qEx%M?W2R~;A0oor-s%xvr4pn0!XDG6Pl zHswX{p1SiF1Aat@RP?Hp-iVkdBDQnqk|R8+*Hg|+I2_n_(JI4tz0u<*KGl|+xsHX{ z1O`nEmif_ax8LrLMKsf`ORm+L(H!ix=UbAl7@z97<#&~H*4)JvT5WSThi#c`(Oohp zc{%TFJO0>W#~q91Ha?vCW6g<E628~J7Txo*yWB8$(cj<iGtO+<+YlD#{>P4^xzFU8 zfxX<!6+ucV-BVt19xz_okzJOPD|xj1&--P;r9RP-$%0R|&SKF#9JfH%E@{#2q9-0V zgY4S&6|kOIof_!)t9y#)WzUkM5lb4kq^f9|$z46{Vf*xD^gXk}dpYMW$qBa=@m<w? z8L;=0)yfDX-|!=mPyL>Jb=Ul_TM_V&an-f`r=w~=TS?A*<hNhr;j1b8Ch>mTwleqK z+B^Av2TF8ysr5zZ+jd_%QS@I#{j(Ie{(95r>vTed_*X13dupyyGCi_LuYLK~nZ>i5 zeoUMaJtO|)w9K{*%J-DwQXSl0HybK^C|@;U(S3ms!5dC5zQphN(R-7#Xn&PAldG9^ z<FR>~d*`ZtTcgqCBOK_qW-&vF>zlpVEcaeaixhafae-m<fve9vnt7})c=Rvp+-~NP zlHI0IyR$YdHNbL8BJ)4P2dB=zF8mgkT(*6S+v@wGCi<!=k-NNaE=zm8A??ksg>q*V z*6h2Pw$1f<w{*mWp5Vf?%UzN7@B3TIdJ9T_FUr1gyT-apVZx4sC!hZ+x%2wqEW6L^ zru1A1yl9r7@awmrsHXlYv-Y)F>m+T|mK?q0$+_2O&D#=QlchCYizHp=h+kuLtACak z@_hya!-*+TH6JcsuK2F<?7bh`U#17_yX|e_6y$&HQ}_Sxxj#Pr(GtctP7Ev+D|f#- zx2)jL=JR}CzI#4)nyEM?^*{Ul?Tt&8CKssN-<X<UuOuN8-~E?wyK3@vuZ*&JyM=?> zK1OG&DCYk)VcTkZL)&NFR{zv`ZigR7U#shdF7v)&_q_D3<4Mm665njNN@8Aba4)Hy zcRnq{m{GPkagps*Ua>nn?bH7KsIFvUwh%jXN$%*pIZL^gF5Mm|c=m_Gfv#=E@vSZ4 z|5o2v!k@*s!;tHz^IFpfQoF_OUy8dWnVGP)b*AJ01-mzVS@~9Y6VJkj3|GEi)B5|u z>UG21nsEN-k1P#qd{`z6|GDFE&dPRYOr+)Y_;25Cs8to5`}s<6&eY!v-_(a)zg^|V z!fyKfP2jPgU+<+K_sR(NOTWU!&|ADm<ht#vOiAt+F^`KM>`++qlF4}f^j%kZl)i2( zj_DHBy?nNEO^wvg8L~Fl=dVx<Q(SH7qf}b){M8|)er<DmyA@F<l9{viJmYwLmMcG! z(|&K;x*93j&p~^&W6v8TCfwY*{I}u+sVkR4s^tyqaw>HtHf(Rax>GAGu1LXLV4wHA zrmGs?9(O<AQg&nQp#y7=W+j=MCD?x1AS_nU9JsHNFRAs0MN=BzV|N!j$C9EG6}>53 zXY!Y=TK4wcw*I*H2PAhJ9&43-^!ehB&|6a)OFbQQnI)!wH#@rP+~V7}C7xV5x5(7L zZ0Ecrj-oD0AI;?xeBSgwe{Ro~D}O=mH`{B??8pY2b<Wx^8d`p8WwSE`6#t1>)b~N# zcTdBu0yeP|+-wcgx!s>xe>i%=$hP0@<(Ktyr*D>CeJ66N?1grN9N8UJmtXQd`T4p1 z!@K6>?-~mASzCTxkPChw<-M$ERh#|ez^lmxY7Od31n)-9^^SRM$`)evZ5#U?CEhR9 za%XLvZ*SgG_td>Uw~4X3^s3gk9u-xwt4?g^RvfRidH$y6AzQ`Yle_lTxAm32W{c!2 zF^)EU)FYa@rPb@*{UW)?(Z%z;vP~E(tB<EM*;y`6I^iq#<jaHY2_1LuDa_4TaPy7f zUYBtB;JKmF2_Adra<7^5#5lch(%S`I;;g=Z{<Fj<y>Ao~*(7PX@x-%*6CR&jm%TLL zTCQnWYv${N8F`%P;`87AIN{W<l*`{6*Tecj_5b1<ch*D}Pn+1BRys{IWr44mbLaMx zwQ`<?ksmj$+;$*#wz|WW>q4g4YOyOX=&X9qaqZJ2Cb8vjcTVQjEseaHv(>RddG&(y zh40UEunI_sPwP?;k#m~8o96)cca1{{4Ye#z2U}ShwjZ~i=D4RJm1EWX(*b^Z`iCXD zquUmrDwmvRcX^$0>5l`<E^~L*vhXxb{L{g*UM4jtUZtJQT}39u_HXZ;okE`keU7vT zOksHV$7IjPZ_FQd#@0>9SXkt`O)o0tkl<DKrv{78Pf)ykKflwNFMT#k`d72Kz+bO( zH+;L-5qM2R`j!3q#T>tn^trJ2o_cB!cA-O*@4GnDwcAbRsdX)TnU+Y!R$pBBoo9;j z^}M&7787TStL%8?_F44z){+|!{u(@Nx-X+U|9ost{bvTYbEUE!`}K3CZ9aMa!Q(>? zTml-Uu?q#7Ejrp+JX%yPNJ<7R5Sh{zqQP8qc*m5SCra|Hb%HU|rV8=S`sc`0*C~=3 z75LHg>V?A#bQP*1<c{*G-}$getn_ZC%jL&g7Rk<i;nvR=%bimB<6=MKUWsEG$EF>3 z@n2^6S*3XIKLKw4%{`$kk%HNO)+~{iX4}{syXc7LB&oy`8mlKQ*HBDdb%jat_35oD ze{(fdeQyPM3x`zg`oi{EWAT|yMrm5R=M<gRjxXD{?#c3bo%ud9kM4iurM0%FvZ*&p zrF!+6Rj;xlR2J=eWqkd>rGP-w%CH{W_s0@6WIC(t^yYaiyEHRLFJ5C>grH5}%4=&9 z-u{=&Go7`z?D(mj$GUzuKg_V1dG1-as`|mzU(<HqmT!^qe}4L_+Lwd(jxT>M{&4-F zDSIQ2-VFNi_i&bQKHG-W-rD>2F8A%2zw+9@5Z?LK;>-Luzj|GgKelX*`Qx|jlH}`6 zJ8i=CT|~Q*y!fVQFIv5|YVplY`|fUBczg3kdx^edb~jT#r&!I_pQg>evokjT&-S}- z`HxTD@%ibi3vd7Z`0?l0zn_19hnur7$h?bj{_j(`eQEd6tXsFFE~VFVR;y3=+)-c= z`_AU*aRG0IaHUGFsc!E*HZ7U5rDx3?o92^A#h*6mwjUSYa+h!N)u<O*nzsWo)8iiB zXPEFkCfGaLJ>38PfeR;g{EnKNJ44sS<&I?E$>0SZCyh>ptXPyBv&W=#<%9<-S8R7X z8I+N+)N8We^ZK)rDJP~JJ)v^@|LT)T#XD^FIcNxZFEQHbv@$4ri`CwRx6{tdQubyO z_LlWgoyWy5qs;5y_x6Yxm*(z@&57;b_OD*oDqD16-QiO6J69y$?%{s7i@p8NlQ)lE zwdtu|mTmEmF@3h5(?w{e)6$EQvbodlClxQ6^(|Jo&nG6Q@<`F#$BVo6&dED!Ten<v zWtc_Bi-l=f9(~?ZpFP=7a#Fc)ckM)zmAP7z>!bPhF_ly`UrgB+k;~WTcTR6z-aEN@ zarf-@)&0AFq+_~bbDfOf{Flc{1vj+XT-$E$H2HS@PalKXBDd==XOu!U-v80@pH)8I zzMeHG(Dbf>?(ITb`N~OLGoQLfo_&2ZDD(1`So@yKS$l83`_^>$<jtd|xu1S;+==dT zS@JB;_3ww`DON0Df%g@+L}_akTr}jC?#?-9)-si6UUq%Z-Gl!G^p4F=n*4O1VEVKF z|15-BU7kN{kyrQpeZ1^<UD$&5j?KltE?k%+GCx_sKKbVLU6OBlxxE-YRTpm-Qr~&G zXOTweOqcMFu33k|gpD(`jW7BNMS1gu?pjb_t-YKh=V>MX$3+G<U01eSX)j-tdv*Py zUkhI@=zP0n!eYbgJ67okZa$&oD(sY9FSaFf>)g&c_jahSU2kI0YsC`m)BeL`zfaYM zxoc8n5*{CYyMAMh*WDzk%J{htI&888E}DB9B(7Mr`hxC?<S#2?3--U%_A8xG&6VD8 z?;J<?pGD3~6ihysiziFI-}cxdDPQZ+49&^!|JoLvi;!ybek=37kT?G34t=GC?K67{ zS?VOY@1!nQu`1gCOMd-h?V5homeOS}cvMcTFJ#|1KVW7-l+Hm<!Cu$a)g`SrR_>eq zwOQh+(jDm^tU|V2yC&*=T-oSU^;DoEy;tGhkw^E_lXeO1pR5~Pv0%z$m1(=4d5d0J zYb}2FY}3n2Eo;sx-^}UY>CVhc{-EIaZr{&M*>7(BJUn&3+wI$nPAINdP(5+EFSyTI zdBgpOUq3F)n6GZZ=~!IGw}(lSkxiuUSYKOvV=J@6!)JQ>4@9f4#_RmM`PEW7V|vYQ zksBv&9^o)pP_QNR>7fk;V!6p@*SubMPfY$P$E+B=#om!CC#_z+mGSh7^q1)wOHV%k z?X2UcB=$-AC*yvR4poC`VFybuzrOv|eA%?J)$)_({I*vxoaZEL^XP1BNW5=?taXY1 zvuSoAmdX}YF<oCn3SzJLZ#%&gE~3D3v}tkT1(k;FHUR?ceeN5?bRV2bK77@<o!ho; z86&e;M$gH|2ll_Wy!%nWcj1=IrW2y~W+b+_258(Wa-O+yfkj0&Yis4*EzHketx4Z| z?0W3#xXIr|rQS$fXkvAL6LH||zCD|Ne=aI7-*TbobK&Kkj^@da7ythCdxo~7{5r9m z)gju-->OzjwN~#w<Q%DSar%efw>`T4F<5`}oPBM|oPFxI1U6o2zNFmA$N4H#`Ojqb zL+sK;_1_Z~mj_s$-t;9~je+AJN7u#&_s?&te4(#yyIs6_daw9>pF2@9ofR8)Jbtv{ zNb`;A6ukwu3<n<_uwqb{#K3a9VL{0Au2*v=d|?rB;$&`0S~Kzgotbts?fMR!Vei}h z?RoyZ_bRiFZkt)PrQOn!TQAY{v|mrH>!Tl4V#a?x9<U!Y)oiUl`~OW}dA*+0Y2!ux z2bu0JPi-&a`=4f#<<O_^p%SEeKkUcm02gitt4r$+8+*7nIa}V9K42trF~{X%Oq<Ku zsHxjEZ|u0-7+Z0pew~Ac<)Y`urDkZZI9twfnn`w_P42@$yX#v;)1GVceO&cfZQA;X zLOJ7Q|Bo_s`^@*_?`!$9r0)3tz&L}27c|yszJDa66Rc)s?mcJ!q3>M$v)!fajvjC2 z;-AoP!M$>^#NE#a<U>E4Xh_o8>(0W_^|RDC;Mu{=soi-qJzI{f+H_8S9#7$!cj9l~ zK0o`y`bE$@$#1{R8?9Tiot583xt=Q7TUvToexvLDH&)YEY<<9YMPX(7oYn8{2!8F~ zoXXHNZRMpyac0Gz`Z`z4So5(~vT?@RwF>EP{kI<p5jinijLA}U_v9`63qCJx6Uw_Y zrEQB|=<zRF&9_e0yj6K{dhb((>}i#|9VHL6I879@l)iDii#J7D{Kvg^Q*l4ubm#TU zVpMWFcrUg!iqAFBY3aFrvx7@%Uvx}|h3I$B0u>n}{woa|YVy_p*_WL-s%*G=ncMD( zKZI?C4nLWaV8U1!zCh&S>2EwGZyY`v%#xYo+$g8}w`GHVfPZu{gSv3fqdCDW8Cx9Q z-kHQ&V17^|^Uu?ISCy*yvL_j)Zk9|Eu2NzBXi}Rm{Z0IvSe>8B`PIwTczMR3T<<0( z_)yJdNgZSPmQ!&HY8N@Yo#WSX&rM%s)$)@^=JToY)J7hdus7mabLI{~5ynN{3n~^! z9I2b4vAsq~^}9fG!d?CkFE*t!v-#JqJ1)1<<>z$XhJv;04~S$l?z$K&r{b<>^?OBV zp}2DTy_lTduvrq;)r(_Z>(4KkU%+0F-n>v?5-0O+@rFu!2CkUri<xEqKZ)$`i$6PY zziviu(m@^0nCD`9A6{4#&OMtUMr9)VJMqMF`?n`9UX9L7xyk2twRZmmnZG+F_s4kr P^ZEI{q{xbkfq?-40vYbz literal 0 HcmV?d00001 diff --git a/src/plainui/styles/_import-fonts.scss b/src/plainui/styles/_import-fonts.scss index 6027a6dc2..d677588af 100644 --- a/src/plainui/styles/_import-fonts.scss +++ b/src/plainui/styles/_import-fonts.scss @@ -7,6 +7,14 @@ src: url('fonts/Beon-Regular.woff2') format('woff2'); } +@font-face { + font-family: 'Saira Stencil One'; + font-style: 400; + font-weight: normal; + font-display: swap; + src: url('fonts/SairaStencilOne-Regular.woff2') format('woff2'); +} + /* Text */ /* latin-ext */ @font-face { diff --git a/src/plainui/styles/components/_buttons.scss b/src/plainui/styles/components/_buttons.scss index b4162da22..0a7bee5e6 100644 --- a/src/plainui/styles/components/_buttons.scss +++ b/src/plainui/styles/components/_buttons.scss @@ -35,6 +35,18 @@ } } +.btn-grey { + color: $black; + border: 0; + background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 474 650' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' fill='%236c757d'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M470.745 296.915c-.375-3.324-1.044-6.716-.926-10.068l.678-19.203c.174-4.931.629-9.94.524-14.875-.1-4.735-.74-9.522-1.106-14.242l-1.531-19.693c-.254-3.265.189-6.569.392-9.832.636-10.225 1.172-20.464 1.959-30.679.543-7.065 1.088-14.128 1.632-21.192.286-3.712 1.003-7.658.77-11.377-.36-5.738-1.492-11.53-2.228-17.23-.736-5.701-2.071-11.639-2.248-17.388-.111-3.662 1.041-7.681 1.578-11.298l3.149-21.192c.455-3.056.296-5.338-.027-8.452L471.127 48.7c-1.019-9.794-1.085-19.46-1.233-29.32l-.21-14.05c-.011-.716-.526-1.154-1.228-1.232a97117.88 97117.88 0 01-24.572-2.708c-3.215-.353-6.471-.896-9.702-1.067-2.51-.134-5.104.293-7.603.484-9.308.716-18.612 1.53-27.927 2.149-6.992.464-14.055.377-21.06.544l-13.29.317c-.598.015-2.208.002-1.578.037-.94-.037-1.878-.08-2.817-.12l-29.084-1.221c-6.209-.262-12.399.563-18.588 1.066L296.85 4.83c-1.505.122-3.06.148-4.553.37a3.634 3.634 0 00-.259.045 7.823 7.823 0 00-.283-.027c-14.999-1.22-30.078-2.405-45.115-1.768a2578.471 2578.471 0 01-49.387 1.64c-3.724.086-7.475.048-11.194.26l-.028.002a6.763 6.763 0 00-.506-.11c-1.61-.305-3.249-.5-4.868-.75L152.427.139c-1.842-.284-3.415-.083-5.263.159L132.77 2.184l-14.646 1.92c-1.022.134-2.066.22-3.082.402-.361-.035-.723-.068-1.084-.102l-28.74-2.696c-6.02-.565-11.519.108-17.56.735l-16.23 1.686-5.579.58c-.616.063-2.333.196-1.498.209-8.634.089-17.35-.597-25.977-.886l-8.145-.271C7.841 3.68 2.556 5.483 2.407 8.504c-.55 11.211-1.13 22.42-1.653 33.632C.26 52.75.57 63.452.504 74.079.438 84.165.4 94.25.351 104.338c-.045 9.815.432 19.521.923 29.329.982 19.607 1.111 39.237 2.095 58.841.512 10.195 1.774 20.621 1.307 30.828-.504 11.029-1.46 22.133-1.504 33.171-.045 11.557.9 23.129 1.074 34.687.164 10.801-.535 21.673-.82 32.47a1814.453 1814.453 0 01-2.54 59.781c-.292 4.916-.938 9.948-.884 14.875.051 4.723.775 9.536 1.157 14.242.802 9.853 1.687 19.644 1.94 29.524.26 10.116 1.336 20.515.377 30.605l-1.983 20.893c-.365 3.841-.973 7.745-1.06 11.604-.52 22.554 1.22 45.093 2.752 67.569.69 10.107-.433 20.452-.806 30.562-.362 9.799-.333 19.588-.365 29.395l-.045 13.817c-.004 1.192 1.218 1.273 2.125 1.251 13.92-.333 27.84-.594 41.755-1.062 16.135-.542 32.211-.984 48.353-1.065 15.782-.079 31.538.211 47.319.5 1.01.019 2.023.026 3.034.053.023.004.054.009.103.015.454.057.916.077 1.371.116 4.319.363 8.636.728 12.953 1.092 7.294.615 14.813 1.855 22.141 1.766 14.509-.174 29.026-.95 43.533-1.383 16.334-.488 32.656-1.038 48.984-1.705 15.454-.63 30.842-.321 46.311-.128.575.007 3.425.281 1.451.012.944.128 1.903.19 2.85.283l14.187 1.411 14.691 1.461c1.931.191 3.764.442 5.695.242 9.456-.98 18.891-2.26 28.33-3.391 1.616-.192 3.243-.348 4.855-.581.211-.03.423-.052.635-.076 3.484.868 7.376.943 10.93 1.399l16.265 2.087c2.789.357 5.765 1.088 8.591 1.006 2.86-.081 5.79-.671 8.627-1.001l16.305-1.893 8.347-.969c2.026-.235 4.388-1.24 5.819-2.818.652-.625 1.088-1.294 1.108-1.946a5279.574 5279.574 0 001.521-65.87c.17-10.157 1.576-20.348 2.469-30.462.279-3.169.97-6.465.474-9.627l-3.041-19.378c-.75-4.786-1.989-9.742-2.287-14.583-.287-4.68.293-9.574.438-14.258.303-9.847.576-19.689 1.071-29.528.512-10.157 1.196-20.32 1.454-30.488.276-10.86 1.061-21.833.796-32.693-.281-11.559-1.907-23.186-1.743-34.742.057-3.919.846-7.944 1.285-11.837l2.344-20.788c.347-3.083.084-5.61-.268-8.729l-2.406-21.309'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat; + + &:hover, + &:focus, + &.focus { + background: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 474 650' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none' fill='%23adb5bd'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M470.745 296.915c-.375-3.324-1.044-6.716-.926-10.068l.678-19.203c.174-4.931.629-9.94.524-14.875-.1-4.735-.74-9.522-1.106-14.242l-1.531-19.693c-.254-3.265.189-6.569.392-9.832.636-10.225 1.172-20.464 1.959-30.679.543-7.065 1.088-14.128 1.632-21.192.286-3.712 1.003-7.658.77-11.377-.36-5.738-1.492-11.53-2.228-17.23-.736-5.701-2.071-11.639-2.248-17.388-.111-3.662 1.041-7.681 1.578-11.298l3.149-21.192c.455-3.056.296-5.338-.027-8.452L471.127 48.7c-1.019-9.794-1.085-19.46-1.233-29.32l-.21-14.05c-.011-.716-.526-1.154-1.228-1.232a97117.88 97117.88 0 01-24.572-2.708c-3.215-.353-6.471-.896-9.702-1.067-2.51-.134-5.104.293-7.603.484-9.308.716-18.612 1.53-27.927 2.149-6.992.464-14.055.377-21.06.544l-13.29.317c-.598.015-2.208.002-1.578.037-.94-.037-1.878-.08-2.817-.12l-29.084-1.221c-6.209-.262-12.399.563-18.588 1.066L296.85 4.83c-1.505.122-3.06.148-4.553.37a3.634 3.634 0 00-.259.045 7.823 7.823 0 00-.283-.027c-14.999-1.22-30.078-2.405-45.115-1.768a2578.471 2578.471 0 01-49.387 1.64c-3.724.086-7.475.048-11.194.26l-.028.002a6.763 6.763 0 00-.506-.11c-1.61-.305-3.249-.5-4.868-.75L152.427.139c-1.842-.284-3.415-.083-5.263.159L132.77 2.184l-14.646 1.92c-1.022.134-2.066.22-3.082.402-.361-.035-.723-.068-1.084-.102l-28.74-2.696c-6.02-.565-11.519.108-17.56.735l-16.23 1.686-5.579.58c-.616.063-2.333.196-1.498.209-8.634.089-17.35-.597-25.977-.886l-8.145-.271C7.841 3.68 2.556 5.483 2.407 8.504c-.55 11.211-1.13 22.42-1.653 33.632C.26 52.75.57 63.452.504 74.079.438 84.165.4 94.25.351 104.338c-.045 9.815.432 19.521.923 29.329.982 19.607 1.111 39.237 2.095 58.841.512 10.195 1.774 20.621 1.307 30.828-.504 11.029-1.46 22.133-1.504 33.171-.045 11.557.9 23.129 1.074 34.687.164 10.801-.535 21.673-.82 32.47a1814.453 1814.453 0 01-2.54 59.781c-.292 4.916-.938 9.948-.884 14.875.051 4.723.775 9.536 1.157 14.242.802 9.853 1.687 19.644 1.94 29.524.26 10.116 1.336 20.515.377 30.605l-1.983 20.893c-.365 3.841-.973 7.745-1.06 11.604-.52 22.554 1.22 45.093 2.752 67.569.69 10.107-.433 20.452-.806 30.562-.362 9.799-.333 19.588-.365 29.395l-.045 13.817c-.004 1.192 1.218 1.273 2.125 1.251 13.92-.333 27.84-.594 41.755-1.062 16.135-.542 32.211-.984 48.353-1.065 15.782-.079 31.538.211 47.319.5 1.01.019 2.023.026 3.034.053.023.004.054.009.103.015.454.057.916.077 1.371.116 4.319.363 8.636.728 12.953 1.092 7.294.615 14.813 1.855 22.141 1.766 14.509-.174 29.026-.95 43.533-1.383 16.334-.488 32.656-1.038 48.984-1.705 15.454-.63 30.842-.321 46.311-.128.575.007 3.425.281 1.451.012.944.128 1.903.19 2.85.283l14.187 1.411 14.691 1.461c1.931.191 3.764.442 5.695.242 9.456-.98 18.891-2.26 28.33-3.391 1.616-.192 3.243-.348 4.855-.581.211-.03.423-.052.635-.076 3.484.868 7.376.943 10.93 1.399l16.265 2.087c2.789.357 5.765 1.088 8.591 1.006 2.86-.081 5.79-.671 8.627-1.001l16.305-1.893 8.347-.969c2.026-.235 4.388-1.24 5.819-2.818.652-.625 1.088-1.294 1.108-1.946a5279.574 5279.574 0 001.521-65.87c.17-10.157 1.576-20.348 2.469-30.462.279-3.169.97-6.465.474-9.627l-3.041-19.378c-.75-4.786-1.989-9.742-2.287-14.583-.287-4.68.293-9.574.438-14.258.303-9.847.576-19.689 1.071-29.528.512-10.157 1.196-20.32 1.454-30.488.276-10.86 1.061-21.833.796-32.693-.281-11.559-1.907-23.186-1.743-34.742.057-3.919.846-7.944 1.285-11.837l2.344-20.788c.347-3.083.084-5.61-.268-8.729l-2.406-21.309'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat + } +} + .btn-sm { padding: map-get($spacers, 1); font-size: 1rem; diff --git a/src/plainui/styles/components/_event.scss b/src/plainui/styles/components/_event.scss index 75258bda6..657221366 100644 --- a/src/plainui/styles/components/_event.scss +++ b/src/plainui/styles/components/_event.scss @@ -1,45 +1,134 @@ .hub-event { + /* store current class for use in nested rules */ + $g: &; + + background-color: $secondary; + border-radius: 1.6rem; + color: $black; + column-gap: 1rem; display: grid; grid-template-areas: - "name name" - "date time" + "day name" + "time tags" "buttons buttons"; grid-template-columns: auto 1fr; - gap: .5rem; + line-height: 1; + row-gap: .5rem; - &__name { - grid-area: name; - text-decoration: none; - flex-grow: 1; + .badge { + background-color: $black; + color: $secondary; + } + + &.hub-event--past { + background-color: $black; + color: $gray-600; - &:hover { - text-decoration: underline; + #{$g}__name { + /* imporant to override link styles */ + color: $gray-600 !important; + text-decoration: line-through; + } + + .badge { + background-color: $gray-600; + color: $black; + } + } + + &.hub-event--upcoming { + background-color: $black; + color: $primary; + + #{$g}__name { + /* imporant to override link styles */ + color: $primary !important; + } + + .badge { + background-color: $primary; + color: $black; } } &__date { + text-align: right; grid-area: date; } + &__day { + font-family: "Saira Stencil One"; + font-size: 1.5rem; + text-transform: uppercase; + } + &__time { - grid-area: time; + font-family: "beon"; + } + + &__name-container { + align-items: baseline; + display: flex; + font-size: 1.5rem; + gap: .5rem; + grid-area: name; + /* min-width for text overflow ellipsis */ + min-width: 0; + } + + &__name { + /* imporant to override link styles */ + color: $black !important; + /* min-width for text overflow ellipsis */ + min-width: 0; + /* imporant to override link styles */ + text-decoration: none !important; + + /* Extra div for text overflow ellipsis */ + > div { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + } + + &__now { + color: $white; + font-family: "Saira Stencil One"; + } + + &__tags { + display: flex; + gap: .5rem; + grid-area: tags; + /* min-width for text overflow ellipsis */ + min-width: 0; + + /* Extra div for text overflow ellipsis */ + > div { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } } &__buttons { - align-items: flex-start; display: flex; grid-area: buttons; gap: .5rem; + justify-content: flex-end; } - @include media-breakpoint-up("sm") { + @include media-breakpoint-up("md") { + column-gap: 1rem; grid-template-areas: - "name name name" - "date time buttons"; + "day name buttons" + "time tags buttons"; grid-template-columns: auto auto 1fr; - + row-gap: .25rem; &__buttons { + align-items: center; justify-content: flex-end; } } diff --git a/src/plainui/styles/hub-assembly.scss b/src/plainui/styles/hub-assembly.scss index b780de82f..8a38c086f 100644 --- a/src/plainui/styles/hub-assembly.scss +++ b/src/plainui/styles/hub-assembly.scss @@ -9,6 +9,7 @@ @import "./sections/fahrplan"; +@import "./components/event"; @import "./components/header"; @import "./components/image"; @import "./components/buttons"; -- GitLab