From e19eefe219c46ea9f763d0279029f03c5cf4554f Mon Sep 17 00:00:00 2001 From: Eugen Rochko <eugen@zeonfederated.com> Date: Tue, 11 Jul 2017 15:27:59 +0200 Subject: [PATCH] Redesign the landing page, mount public timeline on it (#4122) * Redesign the landing page, mount public timeline on it * Adjust the standalone mounted component to the lacking of router * Adjust auth layout pages to new design * Fix tests * Standalone public timeline polling every 5 seconds * Remove now obsolete translations * Add responsive design for new landing page * Address reviews * Add floating clouds behind frontpage form * Use access token from public page when available * Fix mentions and hashtags links, cursor on status content in standalone mode * Add footer link to source code * Fix errors on pages that don't embed the component, use classnames * Fix tests * Change anonymous autoPlayGif default to false * When gif autoplay is disabled, hover to play * Add option to hide the timeline preview * Slightly improve alt layout * Add elephant friend to new frontpage * Display "back to mastodon" in place of "login" when logged in on frontpage * Change polling time to 3s --- app/controllers/about_controller.rb | 13 +- app/controllers/admin/settings_controller.rb | 9 +- app/controllers/home_controller.rb | 16 +- .../fonts/montserrat/Montserrat-Medium.ttf | Bin 0 -> 192488 bytes app/javascript/images/cloud2.png | Bin 0 -> 4973 bytes app/javascript/images/cloud3.png | Bin 0 -> 5860 bytes app/javascript/images/cloud4.png | Bin 0 -> 5273 bytes app/javascript/images/elephant-fren.png | Bin 0 -> 40859 bytes app/javascript/images/logo.svg | 2 +- .../mastodon/components/dropdown_menu.js | 19 +- .../mastodon/components/media_gallery.js | 38 +- .../mastodon/components/permalink.js | 4 +- app/javascript/mastodon/components/status.js | 8 +- .../mastodon/components/status_action_bar.js | 11 +- .../mastodon/components/status_content.js | 17 +- .../mastodon/components/video_player.js | 22 +- .../mastodon/containers/timeline_container.js | 39 ++ .../standalone/public_timeline/index.js | 76 +++ app/javascript/packs/public.js | 10 + app/javascript/styles/about.scss | 448 ++++++++++++++++-- app/javascript/styles/basics.scss | 7 +- app/javascript/styles/boost.scss | 4 + app/javascript/styles/components.scss | 32 +- app/javascript/styles/containers.scss | 48 +- app/javascript/styles/fonts/montserrat.scss | 8 + app/javascript/styles/forms.scss | 39 +- app/presenters/instance_presenter.rb | 1 + app/serializers/initial_state_serializer.rb | 35 +- app/views/about/_features.html.haml | 25 + app/views/about/_registration.html.haml | 20 +- app/views/about/show.html.haml | 120 +++-- app/views/admin/settings/edit.html.haml | 43 +- app/views/auth/registrations/new.html.haml | 6 +- app/views/layouts/auth.html.haml | 3 +- config/locales/ar.yml | 13 +- config/locales/bg.yml | 13 +- config/locales/ca.yml | 17 +- config/locales/de.yml | 13 - config/locales/en.yml | 43 +- config/locales/eo.yml | 23 +- config/locales/es.yml | 13 +- config/locales/fa.yml | 13 - config/locales/fi.yml | 13 +- config/locales/fr.yml | 15 +- config/locales/he.yml | 13 - config/locales/hr.yml | 13 +- config/locales/id.yml | 13 - config/locales/io.yml | 13 - config/locales/it.yml | 13 +- config/locales/ja.yml | 15 +- config/locales/ko.yml | 19 +- config/locales/nl.yml | 21 +- config/locales/no.yml | 13 - config/locales/oc.yml | 17 +- config/locales/pl.yml | 19 +- config/locales/pt-BR.yml | 13 - config/locales/pt.yml | 13 - config/locales/ru.yml | 13 - config/locales/th.yml | 13 - config/locales/tr.yml | 13 - config/locales/uk.yml | 13 - config/locales/zh-CN.yml | 13 - config/locales/zh-HK.yml | 13 - config/locales/zh-TW.yml | 13 - config/settings.yml | 1 + lib/tasks/mastodon.rake | 8 +- spec/requests/localization_spec.rb | 8 +- spec/views/about/show.html.haml_spec.rb | 9 +- 68 files changed, 956 insertions(+), 655 deletions(-) create mode 100644 app/javascript/fonts/montserrat/Montserrat-Medium.ttf create mode 100644 app/javascript/images/cloud2.png create mode 100644 app/javascript/images/cloud3.png create mode 100644 app/javascript/images/cloud4.png create mode 100644 app/javascript/images/elephant-fren.png create mode 100644 app/javascript/mastodon/containers/timeline_container.js create mode 100644 app/javascript/mastodon/features/standalone/public_timeline/index.js create mode 100644 app/views/about/_features.html.haml diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb index c0addbecc..47690e81e 100644 --- a/app/controllers/about_controller.rb +++ b/app/controllers/about_controller.rb @@ -4,7 +4,10 @@ class AboutController < ApplicationController before_action :set_body_classes before_action :set_instance_presenter, only: [:show, :more, :terms] - def show; end + def show + serializable_resource = ActiveModelSerializers::SerializableResource.new(InitialStatePresenter.new(initial_state_params), serializer: InitialStateSerializer) + @initial_state_json = serializable_resource.to_json + end def more; end @@ -15,6 +18,7 @@ class AboutController < ApplicationController def new_user User.new.tap(&:build_account) end + helper_method :new_user def set_instance_presenter @@ -24,4 +28,11 @@ class AboutController < ApplicationController def set_body_classes @body_classes = 'about-body' end + + def initial_state_params + { + settings: {}, + token: current_session&.token, + } + end end diff --git a/app/controllers/admin/settings_controller.rb b/app/controllers/admin/settings_controller.rb index f27a1f4d4..29b590d7a 100644 --- a/app/controllers/admin/settings_controller.rb +++ b/app/controllers/admin/settings_controller.rb @@ -11,8 +11,15 @@ module Admin site_terms open_registrations closed_registrations_message + open_deletion + timeline_preview + ).freeze + + BOOLEAN_SETTINGS = %w( + open_registrations + open_deletion + timeline_preview ).freeze - BOOLEAN_SETTINGS = %w(open_registrations).freeze def edit @settings = Setting.all_as_records diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 218da6906..8a8b9ec76 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -15,12 +15,16 @@ class HomeController < ApplicationController end def set_initial_state_json - state = InitialStatePresenter.new(settings: Web::Setting.find_by(user: current_user)&.data || {}, - current_account: current_account, - token: current_session.token, - admin: Account.find_local(Setting.site_contact_username)) - - serializable_resource = ActiveModelSerializers::SerializableResource.new(state, serializer: InitialStateSerializer) + serializable_resource = ActiveModelSerializers::SerializableResource.new(InitialStatePresenter.new(initial_state_params), serializer: InitialStateSerializer) @initial_state_json = serializable_resource.to_json end + + def initial_state_params + { + settings: Web::Setting.find_by(user: current_user)&.data || {}, + current_account: current_account, + token: current_session.token, + admin: Account.find_local(Setting.site_contact_username), + } + end end diff --git a/app/javascript/fonts/montserrat/Montserrat-Medium.ttf b/app/javascript/fonts/montserrat/Montserrat-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..88d70b89c3f2740e9b9c80881616136b5f697091 GIT binary patch literal 192488 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 UzrlvwI85(kltu&EBk>jGKbyx+3IG5A literal 0 HcmV?d00001 diff --git a/app/javascript/images/cloud2.png b/app/javascript/images/cloud2.png new file mode 100644 index 0000000000000000000000000000000000000000..f325ca6de0967bec0b77f532cf7e961adb89b99a GIT binary patch literal 4973 zcmXX~2|QHo_n*xY*&~sqT$Hg!Sw@Q%xhBb;og_<^DZ?mBCV8bMaT%m&F_TP4_Pxog zlqDL;GGtQe9dDL+MOpek)9?S8&)oam^E}Tv-?KdDoO{zw96u@{rX+?!p(J3N!;UBv zdJK$zi3)@3=T8OB;3j;Ec=Rypx8QfLr8o;vHjr%GqfjWxcEKM_$4e>$q6itbJ0kK? z1fu}S%Bh(fqENEG;KNqVu_M!Cad&(cs2$&XEpOShX<ZeCU%g;{+9euz@I-E7&LM?p zulL^WabBUmuKd8d8kU~ImuQc$qEfdmeniti|Cr;GDW6AOC+hxEtc%vZe)Y)qTUsj} zQ4ch<URxUXUU(Drv)T8_LjFqL&-KK~+v6ABED*wNI=!W>r`b5atre<<wY^>PHyws^ z%OtWZ2M5t3;4-~XmWvVp)!c$QDH@Mz#x_ee(^VFdOsjGYFi#lpYHg9m!13EMHZJ&q z*X&Jxp+C-h+^y3_Pe(5oUCNN3t77*jq-*y>iNl$6UGI{AE_<sDDGW&tX~iX+^*fxk z#)`z=#N5P6VVAH`{gBV3ZicS+&YPE2B)V}i*v3kvpsy`c_f_YT4{v|c3J3D}d@NJf zJH$|vppPHwMKxjjOM3g;7Ek%RvMHE4CcMhXw8<&2u0-_E1avA!1Y59v$q3rZ?ydT? zZjzR(ly;iWs<|EmRY;LUrBTZHw)#FIiJ9_q1tGFaN@)P#?rSlM75hmTl5|B*$-8%t z*;3Tu5ZV2aTPw-TNnNfaFPL|@(|+9HX%2>h9&}3F82dEy6^E|W6nqrjfzie`<=Ko~ z#MaByTi8vw-8hs}{_bQTLDEdfOgS%jyF`Fd25K`vNjnGjOf`iSqkX%@20KEP2W5G# zya|)EI2zdE>>Jp$g(O3Q47(5KTN{wB<9*#59TT#r&3MgW(S)|c`4_*eB=F9L$UZwO zz%`OH?ZLjq&ZQb@ad!D&TP0W7J$p{`ZEJRpO4o~-Rt5(yVS<3v3<n@}ekb=educ~x z@HRc6Q#@jbtbvIn;2zysi@PJ{B}v;OQ^qsrEt{mx8i~0#a{9z5I&%S|LkAzf7mv@H zccP6By62ReTx}~58by_!RZ_Y)6E;8?+yTU4@mv`;Gn<ly=+uas>Df)(zHt!vVydk` zc$GFU@rn7|LpWY}nPsnsF!77N^~OouB#C2(T+S0n$MV}3ZX8^Ecp9fuL6Rztzile+ zHb6$r9gw#6R89eI@v7g9`n|C<M5*)n8TMW)#p#GmmE?h`lsKa~z4+KeKRuM|jYW(0 zn~DvH|Nf^WCy*=bW%biq$g%7{Oz}fFKFi@z@CQk|8r@O6o|pVR+}4q|!!`GUjxQy= zy#GME$XVPC{Z%npj3ex|<;q)M<rFVIYuK&97t?x5mW5r3CdahAH!kK9<X>}KoD^mp zvS(#KFJf7_^0QVd1>W|H-TcCUtvaVLwio1QRM{$Q(f$(!?wD@dtmScm3G(lgiZN2? z0J}rcQ&_+Kky1N|ZZ~}DHIkaBDu6bl=VzVY-m8=n`uuS&J@u@v*Y2x}NxnFLlb67( zEE%_k4z#b~hTR!uNy?R95n@ic(nFFq+U@ogrM{2sai!$>NvFS@%i6-R>q2vH^h2HF z$mE#4qsGN6JBu>#-UChj)Px&W5~ULLMxsTpt?yfE-!ggUGGon_V+Z%2kgFFTGPRpv zT5oe}WF5`*tPkBDhrJZA@jUbKMXxV2!mGJau-(JWL%^Ra0%fL{BrbIv%gy^Mzt4&N zpGn&0Eh(%Q{as4e<n+9DKb7Pi3=jzYTZa-`E1P#lDfHBJstO1Ck$xC(Jecsj%|-kq zHc#bB<|TX}pH<;9Bg*U2y02iAJipMVNpwpwQ^-5LF?3rlQ2&i0P+v4ind;GP!5*Yp z9r}{u%(9WTUO`jxu6Xpx-ZQqFQ2nD~=Pm1d3cI&1ryISZmxtDL7ND9%t8f41F;o~L z`@2{`oR4Wv!JkW$dBt(jyAzC)HBL4h;R60TrdEpKQepnGvOIcsC7E8OK|Ap4RiTw) z!b`!dL8>zKbEw;)PXk>ZW$LtAT%q9xzFe(+*0PL1O_%<4YxTvhvEkGFP7XcvbDlbF zkBP8*BkS6?)&?KL?Te8(Qoa$8SraB+8nTgNTadZ-$+?oe`?N9bfCp28noP6GDQEd> zYh<|ods-ud`8f2SU6_y>$&GEn55T^GdqVyuN_C0Z!Vgr;1m+0cQA<g;!Nyz$iVU0x zJA>mSg@cf-eW^}#ORg!Av5`0Di2e`EryT-*&qvxt8J+9*m9D&%{IketK$LN<XBP&5 z1g6yVD}`<3qbNGyacG2X7?7b;n;>nSC4i;#QO8Z`&K_QrU>{vE9LKq*5{#=Pe;LgP z4S1qXi;uOw+ZTcB(GV>%8WxK_e0Rc&5SOsCLOpKHoA<X#+V9?X46o8d7nBD?K;T3K z$n%5!qWoklj10HMnHv#uHcwk5FMqgBt#dW=5%D2M*c_^@W8#T*iCxj*eimPveudpq z@kC`st@f5@(wA{Z53m|rl885~5^A<s`D+qnhUACz;`k~FjLCUP!##Erfr1dOF&KW$ ze$Ga-_1R`lnfW6Y*|YB!s~ui(%Iw}o6v&68y4#J#9Ut>6$$|Vyw@OVvDPCS_n5l_; z33D2^`U;rXwJyw5<Txf>b6or`wA+VotM;Azwa>LC4qJ>){kZQ1vM)r&P|I#YQy?xG z&#g&vN{agao`SfBLwy@8!$4xf<GD}S<_B=4LE91G;G;yhoQOa?*O)4<*j{drc=)6O z?|CN-ONy+EEsIsOrrG>K<5VAq9cQkdq(KrdifISBE-cP>bj4`!l>Bl+Y*>gU+r#I% zu3O_J9qt~U8PC?QG|h(f;3M1QUdN7i^UB{u{7r=F<?3Iz(X-{$2I)-YD{p1k8tk9~ zG32~Sk0?&>;ze`OqD(d=sj2{jg!(;@d8A1+6)h@ZhqG%XpFu>ons<)Hx!_#L*Y~#3 z1wqtPN3zEziihzki2t)!y{|}lQ9QpD8W@SykT&@l&^SE3RDQp?pa_x=JSP9U{KhNW zc*`$qycN}Hc0T(mJ^tq@UV>lZkMn3lsaTb~T&?fhQ+0gpnlxMlO-B#gL9&WrVHm2; zRJigM=O@=`Z|sqH485m2-Ev7TRxWlQp%7b$T1Q!CYJE?Yyw7Z^gb5p$wRwuECmjnE z?`nPj{o^NLw>;=4FhjctwT~uQ_17*^8`v#fH%-#MS}<~E=AAmLsB$VkaP;TZFs6md zkm||0=a=rfCHXpicsu(8tRl3Rxi^lBtaI+u8Tsx9e-3ZkFO-<C_1)8&gAo{UFzNbM zS6HX}l)6v^E|ISFUF`;AgTQb_RJD)OVwxpB&0?z>r0D$iNadqho1A0%fBK@&nlTV( z$_H#YM&CXwmdfM~r4WQ-r4_$6=P(+7>>-8J&U***_xOBF$IYN)Ncu#_zhmk1i>6im z&`dbfxA|=ym8RzfhnmSz&r(H_4fAJg>x^6*I<ThZ6wQ+R38L}X`ciq<776!8D@8l3 z>ivC`h)l?3#(~E$NmGlM^sW4O+#rZ>e66pI&Ujd<LW-2O);3u%FfV<Z$V-1yzCd*< zxQo0ak5Jt~1uL?!XquV2)!$M&ocR1Ni<Yfd-kxCxuy=fY2<@)nQj0+QR(vb5#G25u zx>wu{@n}N}YH;{zzCu;!nz*0u*ZWWntt{#Hn~3D0O-d90otL&QqN;Y*y+ELvoS>u@ z4ru@A5#e5bA8j4GMoQgXo1>p`B-(;^8E#hVqBC5VHdPQo2jI=0{CW!T$B|L{H?%z( z<Mag4o6Jeo3&)V`VUc<cr>A4wA+fR=g1ZVp(%W)lIeBn802m+|6&1|(u7cnOPt3P` zt#ftwu_?3hHab++PU7XL)7HB=D!+6nmLyt~EmAFZ8#7)>PSwX)Tik`<$Nyeer%8ro ztJTh^_5)0~IoXQVC>Sw88DKph!mEY&u}+mUA8iqx3K^2W#_GMrla0k@mmpZ)!hp+t z&QW=!PJ4)sGp7KG2X?uZ>3K^oxH)ds7Mc3n-%4>{v90Wb*c&}HP598cr%VD0R2HS> z?1dwU2~JRh#yH+BeGS`T*5xN2jgL*cE(nHemkmc=aJ<vLO$y&8*h8?({1GDMi{!aP z8-x|?T6^;ulY4WmKn-E&cwo&+J|sSBTk?@?3pO)UJK1Fp7(Doz)B~F7DcdFcm}-(H zY(8|wg8QXH)s`alH3izK9bLnB+?zc!^JW9=c>Iiz|GNl2#!68Fd&WW=g3aA;T3EdB z`p=ePQIQ^X5Xmm;^=u3zm~RGC1QXGs+KbCp*YwB2?}#IeJ2ymXtH}5J8`NPIH9^mN zXyk%A97^ZtecMU_RU|35Km=hZofM_nWyLx?E+;2gx*^W^q9psxYlk+uHx_#2Km#0_ ztNxhX)=RLX#Pnz<v+3z41Nc1CQ#tDo$xi>*%O6K_W=?nbBF+IRKK9Nwd|`hRWM1nX z0=YMubFX6VYUsk1WX}?^DQQ#_&WQ+*CG3YCWyBI1Lmik+wV(819d`S-#_dEm0Jz41 zR~4k|4Ld%*b%t+?I4h@kcY8YX)6aKn!a_U4?p}RhOUVn+2MqPRVT8$bW_k*ya?0`l z|M+if7XlIMtQ8282;(v>yoTfbIgf~l?Hc9Kp^`mfP34asan|~basj%U@6<o6&IYvp z@BT@z!wWghfB%x3-T;-TcX|Ck1UF}Ae(MBaqdTT#lNGyft{kAQB%l3sq{I8qdhzro zs020J^hd^r;1`@VH8A6xbfN5IW0VR7c0~I`0%9`Q7RsbYc<TKQ00&g;n?$_AkhtRP z5D^It+b{>s*~E~sOH6o_J10nO&b%GGU_Z|e55zh3gHR%N6uoL`H{qpU+sPy+8!8ER zW8MhIJXyTvfiSlHBNQP5^4~43a|1JI-+^7AL)k>KAW0eyoXdiC*AFILLX`tAzv`VW zvjrY<#-xkrWA?<*AlPowj<<`)0-fS!SHWRL4`R9IS_nhSbh8=g;KtuoldGIwZ$^K0 z<VjF9fwLso?jf>n)i)RJ*@84H$qQn;P6E9g>`_M_!j?hzd{2CzRJ2m;!KhY%;MR-4 z^VZdA`%L=`9{p2IlD7Ve-jA}*uYurF^w#0G!;1%d@5~&1ED)U_w;UJ$rVN7dG5k`H z1#{yj$@`mG_FGR-h5gA}NQDg`Jvg?o{X=Anll8~cX>Wwe4T&(~dUjhyTz<Qhi<f|j zYCZkbtThBXYFtnl+GaOFaa%nQBA>!Vch>?qtXB`&(Q65QL$+cRJKkVDvj~Ed-wJT} z0UX65m7EsQp_kndtW-S<0{Q%(LQU?ZY(T)ex}9G<M-v(0DWI886!{kBia-*>%Is=j zyB~EN30*H3VV%M9K7WbKc0Kte@$YyDX0eR-IW)4@+2pEBsDxDuwEA_DUl^f}Kwl<? zZVD{8f&Ki<cGyw>$G=USy&Ho~<zVFeQ#)yEWqpIOL*0iE#%ML#m^hqsGcG?B<j^Ty zG~q<+LJI_UHju|Qg85auooLV7$%6d)40p^}1nf60#~m{g3<iBL?{^CZb)`6($sdX* z=C41CZ@Xdk844&%9vfl@w*r1+;+lSi<~B%nQwNdVKdBBo&Zy$i_O}GAr-WwkXsNsu zFl^iptZK_1V>>QnKs!w-sB8{YC}nwC73g$o%UnQ`<BxRDp2G;kYqUV?dsPC_6ulk{ z6m}V_>GIu)245w_=AKLfm0k9VtbPt)-frj)6IhDKfo9eY^FdZe%|%XXfcaI``lqu5 zTYP+513PsRf;kzw*f-$4Entu+@$ZT?@K_zeqG^P>w}*%@teSS&O$_5(tKRi$`y9LQ z_eL0TZb(fMUs*Zed1)3Lhyb3IU-K}i9e$ChCV(RTlG?XOCMazN=oQRt9;i0hd9>l# zz?3FX%dRaM@kqRcsB9>N{sAiqXDzq7Bsg-XT8Yxu1oX3Zryc}a4BAIJk>9>lJ|jnb zymG}Pt%>SQJ=*PpFm7JJ<r!tPrN|fVs@^s1loo+|kBd=#CFTy!6=g5!Fes<Ozl7v- zgQTsEsraNVlX`Hdl|9BGzx`R+f8s=Xq7@inW6<eBs-|(U<Mr4LW+FoohAD(c^oafV z@q{E}DmF<bJq;>(O~wwQO^e~?*d61KLT~nfpcOV#G}|;Jk@t@oj3}LmbgibK>KO2- zQ(5F4u8;$0NFK&3T@?4zG1S9P?5+yfh;7aQ=F^Ewoj;>6>$ER?^;nFh*l3p4IsG{2 b)&0+1YW~Zts=5n4jG^Eo#}Ahu^t=3j6x<=* literal 0 HcmV?d00001 diff --git a/app/javascript/images/cloud3.png b/app/javascript/images/cloud3.png new file mode 100644 index 0000000000000000000000000000000000000000..ab194d0b857a946094418fdf4bd87caadb8d8122 GIT binary patch literal 5860 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 N<0p^Z|J(P<{{Zxw-<SXZ literal 0 HcmV?d00001 diff --git a/app/javascript/images/cloud4.png b/app/javascript/images/cloud4.png new file mode 100644 index 0000000000000000000000000000000000000000..98323f5a271555a8e5cc72a8a166ddbd8de7eddc GIT binary patch literal 5273 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 CO5;fY literal 0 HcmV?d00001 diff --git a/app/javascript/images/elephant-fren.png b/app/javascript/images/elephant-fren.png new file mode 100644 index 0000000000000000000000000000000000000000..3b64edf084c020002a00022bd188837a82ed0727 GIT binary patch literal 40859 zcmaHSb97|Q7j4JJB$?O~+jb__#Gcr;?U{+~WMXw}+qP}n$?N%k@BRC_SKrm^u2r|H zPMx#Q-lytD{E(MGg2#mi002l*lHZj805ECL|2tS{(Dgmbt_}cz7qbu*{UIePN^I|F zXKG<>0sy$LWGb7fC?8|;KW^NK$b|bR$k-`;g(X%J`R$JpOF=^dhbkRTlDqs>vHOdd z7$n|MPB=tVl>eWvigbv-;Fn<bNd86z<%RzmdENHPvs!3-JQ)9|Ulcejzs;<jgz17s zOp;_(WcNob5h47t6*Sm4u)W716aY_V4?u;jH70R-{{{wl^5x^BCGCRg0D!sABESN= z<kGvC@WVb)PDE05!2E;3x}0OVWMKU<079NoB831UaWMbP6bfZP4kSQ-)W~ob@Pi(p zPw96s3-Hf;O7#K*XeW?-1<Q#A5Tl!fe+QWJ0?H@Veu)7zm;e~2GJV{DC3*mpl)9-T zpsEqjHGzsy1As*YFe!$IPy-;n0Qy7UzPST}Qvn#_H|l)Xv_RBD8jz(@YxtVUxWxjr zVd))U)YTaXsV1bbXfZepzzx!b7<xQXaaaP_P_}Nz0Dzp>ub|o9zPnE#11Bapq8gC( z=ubMKKS>P@cR%(g%j|^!fNf{r=?^-_T3ml#Xn&iJzvLH?=06c~TpoX$)}RR019Fa6 z)Nk$o*+wikrg?dJe{XL|x=%#gU_{;L!>mWIOa0yY*_ZF_@qVjghb(|aH$VdNX{%@K zPPPDlG7c`-aP1&k;;j+k^NnDZv`@;gS%U^+R}sx2>U-LsTb2US2$4AIe)5@5<DE^q zR|tVkc0iS-0GL-SeX*_)#Dfeas)lpd&LaSD(`wf}M+FPvZyvNg>GpXk_%4w{4)8aX zigN$}etsuoP#LKe9E1e`zUKtcR0-qVbz{?YLF0Ert#u>3>2m~&koEP5po+j7`{O(6 zQ<n#dP=$_H5zy!}&Iu8)bt#&M#@iz^^r$u=^V_4m7{F$AQ?&)aK?)DSq8pH`go7FW z()bnyi<KJkMA9t@iT0a}csLwGkyIv@U6NVpmkP0}B*6{8BRF@Mj(AHf?+}0`@GZ1W zf;l0eMv;FGv0k*fm=iZx{4c_ku`_d8G-givlw%z({~wOr!>KZJl$B@!(LtuJBWxJf zK5Hh1fnJenE;_h)qtR;8a>TL$+$yzlh}MXEqseMFNVEX4E;tTIHxXh3LSab_Sq=Fm z$zo!BGPW-(aGY=u!HPYUr18ZvbrdaMp8K#3S(w8#B<a2_phcrIqI!jk_HmM-MToLc zHphTVRp+bBpv{QS*eZQHrYlKjlf?ZNKfGdWRRhDFKu1hF6tb7O*Sp8Mhqp&^qYa;F zDCCg;q`X6=G-4@@vyZyZwhwKR!Xm7im!`B{oU8JMJz7hoBDX=QQZcL;oy{eUdprnJ zN~WOVZ{jSjIhOgOMdgum%a`>;Liyw=^_kIQiKFBrh&wk#q|mQHgW+aWIO*6h*k(9x z*p(@=g*danaRybGIGImV4pUK5?Nl{r8fd(~#*V-zN+(hz;?Xdwl#~{hZj>UZ-l~qO zM3?+j_5q5kvMTSEz|AF<sg`E`I90||HY?#R4l6Y)wo?(z_tkulfY$7l?Nt!XSInu_ z+ie>lMliyub*Ce-LMjV&31IJ|s2*STcBN@ec_(Q7&0kuQ%Pq<(&8l9jbemu*2(z2w z@RZ>!4|hmalzi*^YXjqwdWRaXkWIFk*+j>xG$}brqfD|)u}tE$odbAYlv&s=)~fj$ zfGj*HO{qgEVHQ0Bm3gSVth`<XUxX>g&vOrCD77lU%WeJc)@fUGk&@N%(?3hru4u!f z{qP0fhw)wI-R7m}UII}Ax)zZPdKGa3o3EeU!H$oBad7ooQB=2ANVLEp(I9y{IJSA3 zFK=EvQXJ)v#emK(*{;oi%|IRnGzAHTjNFObMVgXab0KvhuPm?Z;P}}1-|>Z1_H=&c zMV7<#!}P`U%|?AKcP+Yx;)W&@shT~lLd}bYHro&_Zp{J>RW03G@ruj}@`cul)}k*( z&GPZ`WmyYmy;au@!wn^kI92;g(5t`(n+6{PGea!1#(rS$MSOd_Pm53FJ3kCk*fMe% zffj+UQ=KCQj~dTL+C;{Mpilo@(lMi%#w6<G66<aQ`Y3guMW%B4tb`esS+i5nZTRm9 znZQwoWC4bByn*$h_C0Cmdk5WZ&zbwo^xE{E^WxRY3yuqmi?FrqF}7^#EKOFYsoo*c zEyew5L4@o?CacYIUj<Qx0JHkTZ;VEavFa6zRgDF1rH=-eSOO0Mj@i2cyL_A*EE}47 zW1L-$Lye;fy>?l8A)BIp-#(2$JwK-bMgHVqW)Kkp!U5XguTP%dB%M)$JgX)THOuG1 ze{!0IzY0eORs`;MSCE(woyAm;JRYV@#7<Zshy3t8T9|?{I57C#>x)Pk5*DH!Di~!S zu7NwvoXqYvy(a3k`Tga4()W#YGiC+uN_uH_8i7&<OTHD(7Pc0_0R~gev3ZS54Jm6G zd~OCBAcw7W$L8DlZP-rc4#KV%Rtn>guDwU@M9*DF5oQSk8XZrPkZia-SHhJrDoruw zAMzV?H}WWWj~;>^Gg8KBj_L3vQ5_mW`5Q?ZInTJW*fw?#vVPVAy8Y&0%95BiStQx@ zbe=5CG*@C97Ji;~=AgLP7zdG361n&WvlFueQ`gaQlaQK^e%s%TjD(3W!&bF1<xraR z@C_n`M=DxWi!?AbW+v*Uo#PQB+(~6wwBzSvwIi!BoEewdpXX>jXxniO1)(zP^aL6Q z?d6u-HGB>ptMI#Dp=d+Zpv(E1el^h8%qx_gt0x0}+bKNdtO9;^j|6ttgIS#-sKW1u z_?)gSp6e=TFluhr8@z;O;t70>_yxpR#Y+C_w?wt(zK<7XH`1B9mQYtx*4J!2X*y$i ze6T^ErH!0antYIqY>TwKQirsuR(F2?AhybwJWjRR8q^@#oY%?M)MipNJTcBIsFJU8 zr}Co0aWS)AZ?O1eJAHxY)%L)4HovOf_V_L^+_9<(rYbjYI&bnS^;-KV2#hE_eoA_^ z(XEiTaX24@n1OhQ`G(xE*gQ8+FvG8+6um%uDuFym)bWvd=|+#lfutIlF|hN^{=3KC z@gv;kBOwycit8V*@@<$|B3A-40!B-bw3{^Xbmg>HZA0xAg)xEYg_8}>H;GjulngdL zO%Lf?m0^pO<G|T?vzy63nTeS`z6{T6`m28%ybg^fHZ4)?E?ZEYw`asYe;@L;@lNR6 zG&$eYtnQ<$H>syp^61%|IG^x+#Lp@Wwq~@Z0h@KKnlC)t>%B}LkMXiNC)V%UJ+3i7 z7v{6L`PbWTJ?$R*AMZCY*L@u+-zP>}m)$5YD%up<^zMYtg_lLw!{!CGKh~Bm*ZeHI z+;VQG*CZaHLxLthV(+6-M4_TnqenxLLQk`}1h~0(1RdXx--<*hjVCFxus;5Ni~_MR z8GWDTPZuYqQ>Js1Z<6CXZM+NKPr6QVDpv=31_(Qb-C3D`-l@Hwce|~*5nSeNqA2Wn z6Z=tpnm<?HD^C@@#^c1te?mf}+`e71Cj^3cCA6W8#CO2wzi&=^Q9S4loV}!`699mK z{_h6{NXx(m-Gp(Lk`sg3hCu)$XCJkb0P#*@fYf(k75A01cC!RyGtbROFT3(J?!${? zCT@Lb?m@AYu}BPyU&HxLXkV>=Cy|dF9^tRn(fQ7BCt0t=eT|}zu%Kq3c61xo1;_J; zg2o=xcRV^yy*S1%rQP(>^D9RFY8#RT#&p#Ex>=iYQL5coYWFn%>9KL>^Ye$&|L?O> zfp&sQMSTu$A%s5F?64^hVdbBP90^_!7l-x-TyKHx+MEpk1hVcsOZ`sE2KUyZ|0RIi zB}IS_=U+3Q^2o8gF2=@2cK(^g<)uY@Ru=_nwS}26hJxs^F$Vc2pc&YvN|;Q5lGJg0 zu~C=b;_CXtRxJurgZIUA(48Cm-&5RM8Mu#k&dn&_*RY+Xy~yTCfFGo!%a8!R#eY4} z%_F@TDyX0OR0?pf+|cTIrSL;kXe0#yt(+UgJkI)1r(-aoSLU~sa#WOF$izJb=hv`( zZiZiBcspN?^S<}EE{FGcva~)Mi4(9uNs|{S#6eamEY_=whw+38yq*c9;fXw(NrRu( z-?OnOOg8aY!zV~fXOk^=G1k{}T=;#&l2}a&(TXHs6*U1RNK>JLAs6Nil>h5&JzBzM zl+RUPL3{DH!dX9?%O;Xj)ac$F%dxW>K(k9JOyR$I6VI|mn!UX8ykz^D2ip&gv`PtU z`p&rU^Q``bCCN89QUH7+O%)(-hker}04FbKEfs-W>Gr>OLKl^b_C8Mh#wH%Ls-3V$ z=^|&;)EOc<gf{%=Oe3-=tY&%5r;E;BjzI0-yw>5rqaVS@0~Ej+0hIto2n7I4Aeh(D zM{m0q5wAd?$w|kv6hICg(mMV<FY^x)o0SZ0M4|i4sis2ygN?PL#Wynb7yr)jgoFeE zcZ<CuVqbW7+1WmGDr|EUsPke2^CXHX7dhC7D*zvLL@46>wowq@;}G_)s7*>i*PTO3 z*)`ke1Ip%3t6-X}US?Wr!m#lt;At};{RD$bq9p&$K@IZBLJs|t7$4rZq?y_=pBeYa zGJGYrp)h8C6=zoBCB5HXFaGHGkHvIV3EZ&-_n?WdMdt5#1h#$=XE%-<i@&Awa7)lI zgDv4=vPL%ii!Hd5h-S6TK3yS^_BzMN`Grh0)IMC60N;L=NIh$7*hkJm>)opk+bE*5 z-Kp<b=k$t*x~uSc1!LNMvJ2Zg^-vqUg1r^b-X8ho9L&{Q&H7z?^F@!WYm0y1Z~bmP zH%kzlCK)RG<hJ~vH&lwghipho6LI=*qgMIWlAz)Hopc+V7yaZJ8xle&ROAhhSK9GJ z8+4cs?qahH+bC%9_KDqmjut$SxLngo$<z~odvn?ngaGoe)7+^ky>JyHJVh3U4!wsx zx?*>JI7PEAt^NVdt4C4>3(Z1?0`u^24Pku6ZSCutN%}sf<&}<Q&3(Do>$4=0z;3%d zTs$$T5)%ZFJt@$TKXj~&a-Q)7U#W~lZQL+#BW|#NsKLS@jGK~KJDIorPMi;Ju1m7g z)RjR5liK?0nDo!R-Lx4S8`#=rmT@`!K4egGPTjaFMdy4alY|`OE0avB{OaN};%g6* zYi&*==86x8F|L3-a{o0{4ufd8m!&dan&jsZXVUj&vaNx~FDsyjXy|^j=RI~F$k3H- zEH5Yb^zTP9EAiBz`9VXy{uL^JPjfP!epn@`A&Dy2KLTj=6=A3>t_oh_JtIHcdUR{+ zJ64JFK#KMRTP2WOJb=w!yj$sC?ATIWaM>nL{fQk;AI-h&bkKY|$~;|5(G)fh^tZ`5 zq#d_=MS{oCV)R7PHF7SFl;yFKo1|RbIUN?bfjY*Tr~WTaixZ(4%xbvl6Nf`sx$6?^ z|9EVlWL&=}0B_of^h`bI`-SY#g;&>7N9i2mdBw_XaPXHm$44xC{tc(RKVGzp<(WEq zMDyQNeDbxxJ1#wLcvEE`<~&LH+c6b*hwH2uD#(KDGP7pnvzmt?!d@eS&mA=ueid8- zD$*#h@hrb3O0PCzDxc#Oh;sUmp43tQd(xcaFiKhm^asKf{h-67iBnY4Xmh63sU~ga zumuV}&Qe-|GUPC?+P*=SewVRferCzBiIWHYVojE$OMGQ@hFX!_e+HrfYeRVhv){OH z<F|sVR9wtwXI@L1)KrraSioHeo{_%WSafl4Gp!6u^BKrZl5544jB(kU^y<?58^pS* zN0$lpe$U9s%g~G#FptFWI4{VCz4ttGe7eMdEx>-tu&FY{iW4(v^jb%oCi572<D1}b z38{ZQ1AA}i^as$7s|)I_M}H{f9hpa7Kze*_Skp9Q#f4*9n(Z4;-S2YbTTGHS;~h>$ zqA#7z7y1VTQ&58r+DYoldCIJ#)97I@5y59lyXr6>CtVhaa$4y<h!5;e9*zukXp;}7 zwava;FvTIG|M@%g2;k6(`!L}9ij^C|;D+ErhzX91XRlnwuT?{{T&*;bK2k8?h6Zc} z&`cYD5GgMEBt->;(@HI?zaZ3=OU63x6V4E!kc>XFqIfsUibFIagoqKsS7w)mjM#<> zhWjO1GEc|3fsnp+u{1yaYgm>BUiY1*ma!wtW}S74bVZw#NUK;^3bd#fb|mTJ5hbbh zN0xlc-^d+qp63*-2TA?`adb40D{3`ek~@#pi8fc_0<Wjx4+`JhhI8EfPu{87zMh#D z4%TGrF=MCqEJ{Xj^{=2<PPk}b>56ow@bcr4aO;}62SGH{>HZL}YqYk3>o%Zy(h8zM z%FgVMle+1By-N{w;>7oWM*pv%?m+pX0!m1x$VozNx1<naSGSHM#E!S`VN`S>xFi7< ztXeXr11K)9m%_0-tfS3v*ym3ampuvutwg@Fx=Z(Mn<$zOQ}QS@2qycP*gj#sDLo`L zU!|yX?N>Y`tS}U$859^o<1LB?UD{o4zHLYSBL*|;D##i`#!e_^EI$YJ?c$G4E!V(M z+)hZ#>=tLg7<sxz9zWmPPdK#lPx31GmgfD}Mt7cmGQJnqhBS5zl89d*ICr!AoW@E} z!$Nb--)3eScmFQL!iGQ9O47{HU~8}|?SCC5AkdjOP3$h0FV3&dcm1$)QpIYX{o%zr zmgEw=Cx;|VN|HW{WjZD+-*Dg<h0r!ZncwjraO{>rO~#{(EIw9NkXKL=;dftYV!gSF zSW~+-RG<cSOo;D9ATAcE_nZ#PwkGK8qR(8Z|8wfya~kyJjN7J!8XHim{kSM375de3 zO1&QirrFXCw7PTY=kmEu(uh37t!dV2O?Zp(jyL?@A{1&XjSR|-;yUT7d+jZuwg3}b zC7-*SB{iYyVq@gGSlln)Kq%%p-ked3+&0WF0RL|Z?ylVuzo14N*EC<fhrOCx!Y-T> z+fmLv_yBX{+w<5*#@=w18yCQrGggm1Hh8=8|7VjqM}|W_Jj9gt3ONJhKW_8;q^AVs z)P6tJo)ryoaS7-ZL7DB_LcBax=CD?m9vJoi23YWQ%bXaMYs&-p{B&(FRwJC58N8GT zI7X4u{6LUHBFRt4Xy!69ajF@2SWoYwzL*Xm_~*^*B+Amy`G=lJ5|58F3;4?h=DM_f zK$I9LuEKWmv5+zZI));VV{4$8v~L&x%2!>G6)lpRMlyB<u;5^zasPrvot>6!BhvO( zyT9W4uPtr3urI`eC8-;g1H&XKf?&UZf7v@Lu+pM9<v76Sl<z=&&%#?$1V!HpfixgY zw7W}j(d7>%A@%@W=4bmiAx!HUW;30nHhF1b3agqLOalk<krmGv=LO=!BV$MC;W{y{ zrM{UHdfV~JCGJJ52fj<Bt-}AAO)04GSfM!zkK3U*I%&XOPEu`LRJv1$@A3z~f)P8R zp#{4LsmU%EPfd=glT&A5t`UyGgl;o&4L4)j_yJ3o)!tzlEeJEIefCCLvL2<W%v}-h z*q8;@e$I<6phz|E(-j0;FBlte4~%%i4$j9aJ)Jr6?%9QlX=+Nbu=<UTaNEY8df0(4 zUKT)9mRKoBSu7s4>^8+`Q8uwP|Ckp`IwaZ0L@l5j6U7W-PpnSWwbtji*!3{95?p;v zkkpL9O4K*!K_L<pQ7(_Lr<#KChJyVE;neF$CjK(8+p-%v-45-fu$T}v*ijw+39Env zA&`Zd@JZs?uSRt8=^SHMTZcX?%PJywVUYFBO}TK9{V=(5{{w<XXMsca)R29bBz5$! zJ=ULr*GfW|0u1~bnh5a|Deg+v5GqMRO^`7mmp;ayT;q|EDWTKztJBYqVA`Pd2BqmE zX_iFY-<4)f0_{p9V+^h_+CONSQlJ8OB!{?pj*%!eaSgG+9d}b}Q1zsxBxG2_1_lAS z%~_9Z_B#Lf0fs#Bx~}}gd*fgA8pH40V#slZdo(g+7rI>flYY|$+JO<v=o<U3zA=iJ z<8N?^)1gr$N@)|&({BR6{}B^uqIy$DZnKs6xZ`HkUpwZS;S$H_KFNFZ2!wKG^lcSC zTJ>3}8v)cN&A;go-wP6)>+5Umj3EKKoIk-R{$-a00n35_oB#^5gWXm8gb;r^!mjIF zb7qbLvSf5gg#_-Q8PwJ(G0Z?G^t3_)d*@HcZJ`)v3Ib#(@a$beD$#$5X2qvvJD{;C zf%vcq>SCI4i~(i1(Rb}{MpwL+Z+>f!keo$|F0Ln*h*NQ8Sa+5!-(+5W^)r^g{D1Ko ztyP;vo0;hTtNz}ZnM_91x)k6@>-~V*13^uTJcj}9$QykOp-dK<>ty`-Q+AdtbKDt1 z;U6UdF^RO>{4w%bZp`F(0rt43M8%~3sSs}QUi&XSn__AZ`E&$F%kI|JRoN3sYC4N1 zIc2YQ5X}GUR0$z!*F<;G$bkG9&k*Z?$j37L7crdvF*2+sdHw^;9tGKN!erFn!Q5=j zp{Rkf6WoaS|8$npi@ETzCyxKTJA5a;G5J^U${5?wiz;1S>ar+XEbyB0g&KY6$&P6Q z!&um;c-ED)w9dc(9PLigl0DgJ2S}+ISyYBNGnD4P<{b%ag*6^uGbSN!bo?7fuXMnR zvfpTBWocO42m_~4crTXo51FNo^JbJL92R0@r1wh?h^@dJZ{2iPv8PG^lA2o_jfmC( zzwgSb=h!mejl7tUf~*-<!TA15a(9Z<$6OaJ-{Xe4O_&{U@ZSNNH@GBZX~k#6)aRsi z`^2NX<yZn7bE~3O%IHz2GwTc2GG{Z-oBy1uRe}3vbSZ9_N31}=1wtu_LyPu8L<P2; z6h?EVq`2;=jVc@Ny9mj{-Q&05uG=>Bvzb($|FuK2FQB|`>+u{S0I$iB*Cn22Lm`1L zqQk_%e-2*iA7?e5mK_<NcBMA3c1Im$8{VrS*}|bRPyFAANj4foQ4NjOFB~NoAonQV zIew3Y^vz}31P<>owZaD1@bxj!IBa@<Mjm?d@*bI6^xx}nh<674FAN$2MfRM0k}NPF zltxZSTonV{nPuf>!P<HXMFeu68h+E&HHuy8X_S(YCt0wpE&irp^M~mA2_;>iQ2IUb zlh&uok_jnK5muPY_-n{=fj=F5rU?n@Xd}A|r68|F;GMKn>{pSq9;Qy?tY^$R@;`Tv z2HKcWr_cdmuB$Ev#a8mi9J$!gp8ot@u+IZ9a(k~RCwr}H<q)@B81{rsh~+iRsJYIo zCv5br6p(#Au2Seunj3R%)&;iSLNv@sFmmqNwhpy~Gj?KwJ*ch4Q|)Y(sh73F>e_hY zNJz4i<I~uY?R98+ugOAc0ZPX|<Dn73qro2`b{k9{w3C*twZ%0SL&#&&)--AqU;`+x zg_@Sj<E70U%a(O6N)LzQyY#>X!A(m9V!sdTttVLoLrpEA(n08vl#Cz)QHUGm?G@?w zU60PN46$r>VUEYIe2l87v8#?PF7-Wak!P7MA$T}Cgg|`l0uCzRTi0Rm*0ntq7e4ZG zWGIE);`|hwa2E$0jEx8wUhfntcnx>5EJqP}91eYniQMdzk%)#*)M!wN?1fB;$^qL| zSXZOJ6?_V>QZf)udy#!5U1XnO0wq@IrN{PFJ%XW)k1jUdo7Qt<F#mvPGMdUJ8s!<Z z6Zg`>>+$-|DtTNVll@vDRN|}<yy)eh%^|mY8*6Xh#qy`v2B(fw;`rD+r-)ui;<uQ( zw*P=RV07-+1<GW6U%aL%7Mkq%ev>o*M18u<!j0BnTJ!Yt<3CP%EQufBS412++<C}e zx+hrRteDjnRuLGLZ$H3de35JL{n3=&gx#%?^(2XkG#;7`7v<WYzDbd_XJ$g40ZN>u zHv#*NuA^B0I7&8n*Ju}`cuzNauK)Vl0>*xq2FxHu&z)O8><V<q^AnPC0F~tQX-f`s zTG-JODxb^Wpn^n<BE~_F+q*Ua_S!jo_$393nd5elp`^Ax!8%~b=BSHHg#+faaYere zs*N+XViI$5qWK$eJ#%k{5Z`IfRZIKUxVN7BX{V=|+nR5Q^N1O-JuFFkpZh`KgPePv z3gHQ7maXFpQrN>l57>KOw?LM_w1~QP{?2b>f)1fYNSkqzEK6huLqBx0O5n}QFqFf` zNrn6>n?Sm(845^;_(8o{>C0!r>xub;<x{q-{5@)+BI*b35Yq}fIuR9CuZu}ygw7OH zCVsrqz??oHJL?wZ)hFWBHZmdY0;XW;sD99#7cyzvat&9WwmdW%#ZEoh+oii-PZJ_X zbLLqQS(9s$89R9E(HcQ0`Z^XyTz)*Y@bh=psL%FoN)^?jcL_pF6e}wiei>zJ2|;ys z>+_bVv4e?8?@VuL)g}EN5_=Zs-aN$rE6``;#-yKDTYH+FAcp{3El1^rt1QBM`_ka% z+cG8-oU!ce(`mJ&`P-C6<<m|r|DE%9!5Gd2B~p%^n;tw4%m$Aeci#4M3cs6|3@$g5 zLRO%Ko+R0<;+7x8#tQxRvP8a5gH1hd=zx&ht_?&Dl?Eg6`hmW@rfm&|w@HvF)Ft_Q zuU$lbMKhf4;uYT{w0Hm~D7^~ETM~B?zq58->vs{Fhli~82($hY+N%MAR1j&pQ+?J0 z#r4T<CJ{Cnn4YAq^em)N&^SoQJWb#keC!M+<M}7grdk)BdUhhcF}D^UT=YU0<XYwa z=rXQqt!|rY!zHF|8tRc?t8UH@QYcY?;=&AFs+sY!d7GV?``*<cMWzgZfSUdTUNEB@ zFX!8`B-51#wu)<E`^yzK4YO7*XrU06KGHx|)c#=vf3(b@r<=HvkGV@<p%><W?9?Gm zNjlAtgHdorm`eZZP_PY6OItwzRU!W)cDIS+s&%jRz&p+a0K-NS`H;j!A4#>IgWS zkgIDji$K!mJ?#NX`@_O&5&gecYHbR1dir|4>_kAu{&2taWU017ZkuT@!Q3)K68+So zL&JrKIy=a*nVFp)>WCG8K#?%FLpH$1joQ7Q{On{qjbIC-@Z{o|{!_UAfmkc@G{4J+ z(1-vno8^-eY5(I;L9f-+Ba071f$X#6PzveEhxi^&pvWhU;=!L1+AEC-(dIDb4v!@H zd2fdTp0kJ)zI0CErTpsXkXS~q$RbdKtY_>EztG@MOm_c$wL%5ekB#&bs1Jj#hM#}L zMB3NSBX@?r!$=H}-qlGkjqlta9VW$(ja8x{YVdjJu@*YKLU1aLv}78SYZgw3hG~U| zu={@UF4p1I?g)`4et0!!#6$aDqI>_mL|9U51X}$;YEVI{9JSZrNvt+@*TO76CB6x! z<BX`$=M|QksNv!3cRh$V=c@T~V3oO7)B^;OopmJ2=g1#SSIZ5B=C2T8(C!c2YAflY zU-j%gXhL>9o$J||rrK*`yl%xS7KIm}%|G;Jr?^-)WG52eJ{oo37Xta3(wuxV->8mJ zp7xNg%)1~$b0vC(e@ARLz{5<T#1xP;5V4Ia1eRk;%X~hTCgdeR>4x{@{>Z8egwAo{ z^jC60X?eT@l?p!$mFd<#dcJu*t+B4FlEB&Do1&38hkD{x(YM=9slGhRlW4lT5#m_w z%~OV%+lFJu+Fu0&tv(^$Ex#GRl9kBK_QA<X)^?T!02|Dguah0UY|j5ebxPmFXwxqk zQzPw%UefBms9_>4NP73!X|5F%mv_``ElN^_7h1r=#xkO>eBD%%evA?isATUa6{SRe zxIGIx4+ftPf}V^Yqp!$=8_w!L0cKk|Xfqsp?P4&Bt9tj^3YZ=7P(HBV_VkL@v3&>6 z&GG3hjMxMaZpF{{oHtqE?zT{HaV-SYrwYVw;eEq;NMEz=(1sm@AM~pIZjKl2*c!pO zib|)Y4fE;J(LQs4gI9?F9h81)ZOtVO!q{jPy-2a%SDsbFodStlPG$N$$^duLpnq!n zhuqQE58u`aW}?z$TRqQSTbV_6LY}oTRup7(IH+^|E??Luxvf}*A$Du<$)&<+d?aoB z<<)wm^1uS4(c74sF4d&a9jH~zX=THsXRQ&CIN7H%xmH5cUWEFPuc?aS(ATndHd_ox z0Y$h(34hmZwSCoYU%*7#wrfe*oQp7*d15z^@aTNZ0<*GF$-P$1lQx13gU$V>12fA* zKShHJ8#W9)+A8f~6MQ$@--);UbY(ZK3-{Q{G{14VQ9}pQcN(KYPkCGnQ(FlP8xP6b zL>ODQCCP1D0HLk)vZlUZG0rCSC@oY7eXqzE<flHyp3Jy#k^Q7#QI|GLU`=G*{%}Gx z@v9CS)p4ign5K5?OEoOSCQ?UX!TMcW%P?9VF98OBbA^bptFi#TzKy|lZaIe#4eW-v zfiTFAXt3BWd&KY1b`87<qcbAIf%mO)>#J$MG`JdD`6@N}Qj}MEXWYbNAXjUcoe3B> zaWp{O=o^1@bV!ivsH7hPePlNQ0NHcJ$XsN%XO9QiSX<SihJE2xG?x;t$VaS*IPqg@ zZ}?SfiFYQl<dk`}p#%91{5c@NOEI%+G!)q1vSNfUIHjzDpvewH{VsAAI4GTDyVR1x zhLW$|mc*G5ZKxgrZEV4N7x>652O+nK`x~JK!Eqcu;W3maSYMX7E~49fy?;kZnhi{X z(r_th;#kItOli4v)h-E46~g#fYtom*l^sh{AR?cO5%c$o_sKS<_zN$rhH01ub|=6) z>P<G^>m1=qb(JOhG;I##I5HAWOJ+X?7-5c+AL)N3$C{9>Hbk0OC=g+3dJ>KTBjPZ+ zIKtWM&dKVlwdI3nE>s|wQ25~Z@L-qD(<qKCHkXI$QJH42OsuOCp9>)4XHQjija?d# z^>&npT~wT7eRDbcAuxj0k=kzDv2<-BNipi6L1|OFtJ>=fAH^c=sm0_(&PL9FkZ&ez z=?(1;p%p=*O{TNhI3Oq?#EJ=oiudpf!L<BDCaUl%$hD(?Y(5~&MMTk84y?-8?MYR- zpD%)Tg||F(XS1s4oQTno`@kDaDnJDhb~)lZ3Z3J>5j&7R1qfQOAU^4SJndR&8)E)P z(*(H&jTk`<tm}~>*EL&u^ZkWggK9Z7A#VBuds1L&@Y09ZgbV0Kob2?$^9(h15%M#M z<4SCnDGDcaijZe!@P~qObx=ZmRCBq#T4^@K;_OxFoQSmMzRc{Pa1v&fRhpW{eHATs zzR>fvIx03q7Mt^Xv%d`iJamPt?yR*Oto3LQo6ADo8w+9<Vr`QBG&>fmI~tpuAs+I9 z_~XfpCR<CA-h=a{eXSjG4bKt$C93c-&r}EMU9*)>QRnlzc}TYQA{WPWS0Wz&+f`<n z@L<EwapM~G;l~=;%bQ!@KBl|M)KJW0+ut{R??HI=@n21sR00lMy$FvX>f#0=_jD?( z>Fr2PoMJlkEDIF>KvuusSAZ%Y>p<rmJa?_d`eeFUK3rs|78f~$!`5I<rkTzDtN_~; zZQPVL?m@q&_|B0-ijZ#4m6a3&k_HA}q~ssOqGTyOQ)@K2?k+HzaDLj2ndM+ZmYmd2 z;MFrUegNUst&&~2F-G!cCXcdSm$hscok#wgisd$4&yRHfY-S`QI{nj~<*-nkGmE?7 zO=&-&7nXA8(p<qKK57R?t!tHjX@(kH+INx2p8JFbiMhl)m6d8beWELzRTe#X=ySzY zHazwK^YBodBMURbrs$0cHS5teOOB~E?0yzGokb%Da(Qhh2n-=K6h7yLIAIp<pn)Nt zhV8j?{P*lQ_8z<JH>0oWn$0BEkr(Vj3SPljgcfEN>;Vam_WY?Y?33|WLzUzmtNCEr z%yPT6Eff&wq7{6e)_~C|E76*>Dzz8VIMs}tE(a(eh6x0FqKNf2I@l16?d&z5&SJj< zsQOnxz&n)JrEW9&rqW?5-}o(;7=r)&jNsTPrzq2&>BrdzhqsX^Ti?<Tl*WT($wF2W z<&}m?2VowoYK-U^H0|EGjM8zsH>c?RZ5LH6&12{az|culjU#$!Y!+4Y`r>Hz+dTQ` zeH(g&@k?!&U2QAw2mDqz>RX(}QRX-j*iRqJjHm_suY*7N?|`0fJ{biGxWFP3lSB&2 z8n&n_nOF?;I(vnv_;2y!apU_O$}%7UtooI>6TeqoZq}Uyqbkfrw-%R_1o;n=qw(cc zC~rA3p6;T@L2j??Bt06ne~F$g9C0#h1Z5DL*a9sb!4}HU+lOmb5FL&51IHm)(5`3x zEO(qmn92Z2qJsmUea4%0ZbrPGo@d@ER$9_zC9allh{P;l6m_XVp3d08m~E`N%toh~ zd3B5H;x^U#;?vX(>C72?vx@$<*aZH(1SXWL0Vlux^8cL$sKnDn|4O1sdk4fYRQFtS zfdW#FY?j3ZmDk+t94P-aMo^H(UtET)E)gnGk=jOrc@EL<@?35x2NPW^FVqNzFoM9x zC;D5!oaW|*hox>HD7Z-g4e<y0E}>ig1u;#MIKI|ihd|lQQp6EGhJD>g5jfg=OLjVp zk3dUpiba5_R#V>RR9;~wneUj-%FUt~R=&H{LYQ?(65LQPK{B$-p^1TZ&~1UsQ<#fh zM~^?*+YnrMx<YleI8@o}^fd*F#oIfXARM6AU~_9SI|Uv#$m_8m!7KuncSF@sjv=TX zW?-U?!Y$Ez`+eE+w@JEP@M55}jOdf8#O-1zrGw6*+u6?mCAgbfi70SA_@xC}u+@`U zmvQSTF)l8Fp@3`QG`zp&A{gV|S0VX!j>V2tIxn7s^O9!tV>!ws&a@jI^*+)HaZY?{ zJ2<A8GizF7ER87!zSP4vT5;cLf=)ePWA!YBY+dG(v_l5dl0N-}v(MkUl#Yo5sXpTQ z72;eRjUB79bT+Y{lOZ8Y6}lQe24y+0CJ!>6btY0F8NiDIl<@>BePnG_@Sc8I9Cg~B zXjv&pBrx(dy5%KmH5Zg61(m1ym0!1gkDEy2iaHSdu^S%)Y`Sm@K~Ryl*Tq^~$2A)T zF#($q$S9DF=x<F{S;E*!$~DOPwj)TQ&WUmhnANtPjPHMIt29lW;y7%$XHr6?W(ac; zH*Be7+?I}^EXJ3U&&W=aH#4X24_K!???cjBMMOUD<XFfHTMG5ou>IWzAWZ|RCH*z} zD9{?hgRQ|Egr_(_o8(CaMkhR>B?jhNgh_ahg@>Md_{r7_<fl!>waCNHQN}bfe6a@X zS^u^^N3?z=x@*Z4WP)l3y;)|?(tW~<=<*W|@yE`t)bZoG&=cTxwoMaOLN^Tltgvn6 zRx6v#i0zdmmJyTuwaM>ZD?SEPryz9$$ftTwq8=uffs3eXR<ysUJ%%PLD-tz{e4~by zvvx*7i?Qn~$HY=L#C}T4J=LqRagtqR<HfH_#XjEs5Z!flW3!u27?yU3D#oXoPh_NP zp62L0tc{AIglf4eR)aY9jH|y#RIZf*$`z$%{4{fQh`cw(9ZWRu5f1mZh&3?(E`nJh zhXgtia(r%{Q&|@9kww9y^*1<hKn*VLGV(Ipvdk`|JMw%+GprzytPyh|H8tAF$TZ}X zm3FPE-juGgzz}RU%43G`F5exbM?13Q4^5q-ZW*2@j{Tr?p2Bl10F0@j*U_@dM8883 z&kF_z+;94}#34*HlY{7fak<*_V<0uaUGYWA4)n$UeW|JYODL(<!2zM>A1a9<H#>Bo z=Gwn<4xd1jrR9(1pN$X(j&hQQ2?u5UfavV78KC&$wZg=K3!yT`ujUZ#60*c@>$EsK zwC606qz#>wvCC2$v$b=NkqjJ6ZK?0E<cm1<gxw~s^R}&GHl3bc8PZo^g;<Y7yl0=C zofdKuMV*}*wR4mT(d7Ip;HoQAg}GVSU@|q2Sx`nlGTp9=H=9geW@W*kr?<B@55*wQ zV1GYQQ{9$kS%a9SV-d+6<xL$wJidp2*p8&{>(}ezi`{<;wk4*!=-bP7-;VS}`SVU0 zz3pWVdpkz+#zc|7kAZQaGAq5j&e3pUdg#D8A43(!!V;{;()n9=108AZ8+_cT6>TyG zm0)VkP-XV}Vj$QnYbek~qcAt}&duR%i%PUTQzJ<++i5MptDI3#wTp)OnlI9r$KRyM zyr<WN&vvYU+sh@<Nj<5VyHSKRQ8=7W5=k_#nncLY?HlL>${B%$nQ=}cNPUL_pIg*M zq=RWz2Ufw1?=7OBwh5<D5$rbu2%`v&gr$df90P0B54c?}FpC%`ENg$CPA5?R&8mAe zb^>9xtnG@!dSief*avviHCUlx7OUJYQEI3!vANZN6H4?|YSCbXnDwV{8qX>5{`s7| zEnkXsI#*V)y$)@+;#`#Vp6ecR%&@7H2}`=d<XLFC78TGZ=LE7tKW%_ftFT(#e|~wT z4?==sNpL|=4d&R31pb$Lb6JvI>Atv(T+pRtp(suLSYipzgie;3r!8nZ7>3JSt0UFU z&Fjzgwkz@<mm0VH%%}ybG_}+B6Fl!HCO~t&f+jOu^|=Tq&qn#ctWJi`-rh3KMk~|k z-5Kt2dC(~wWu`-t((xG17D|91fa3D%_Z?^<KfFLxdZ4H9d9AnC`y;izjw6hAy0TQJ z953So#{0CB^AJ~418&z-EAm!_MNDbVH8w<E-_;=N^HKW~N0c)qqxs8*q!X3IGh7Vx z8TwTtIN0lLD3Bcn0&`c?htJtM5cqJ=)1XvuZSX-f*$K@uIkS?t6?byMmL=(Men59v zxwdt%20p9;O?`VGf%GLlx5G8+{Brx~<EQvbdbMmGO^AsF=^ZkDe!1_Us;};}ALPfW zdU9tYYT$rI%r1;4mv2tky>TeQBBsab7+cZAI*Tdh&bj8Gt)_zUBc<~3B={zzFILKm z0U-#ptg&D0QbK*H@aH0v35oV^Coc*}aEl!?Ed77H_{B<Z;!6xCX)mS|Co*5<7bC>X z_nc|PPVS7bC`nt-N>|G)Sg7Z;If(@*fO!8rNU2ILvbB~~M1)0Mm|SKFfH$bJ>#4AB zYLwY)%%x++;dw}eHTSDd=(TtE4_hRu@3<=&Vh7p}6&BTI_Ii1FoN4fWgNTH*t}V4G zM;b(7=mXyIXeN)AB5%(Ok_x9Ay|!@kO!v=d{bI#3d;U<MxCeRb>SDaB6<_RfvTT7K z;Di4vJD`9E7>|0TIy?0Vv`Nj2jWKAu8iLLCwe*IFQw3;7%g}kqzo`BB{R>N<!fcBR zdIp_+Q)a;j2`f};^|HOHtwxcR*7hPPT_@mXVh;Jun@Rt@4QSDuWb!M>2!hXX(|1J+ zcSP4X#HyYunZnZV+v~NIO3O33aSb<cJp;5)Z>5u-^(}MwZ^YXSylA`Jnp;j-FFFL` zLjx+Z26kas;V=)N`JKeL9z`7!Z821p|3WbVtR^(59AN}%63#pd%Hym<IEv_KduET+ z?`1{oeDAe!MSUUCEbjO$K$hYa?TT>-<xS;;V+PTCo$XGq(Z;E&pnE~!_70Mfk41#e zFgc(41hLvJBZv;R)+bBBM9vYYw#(~7Ijc+CdAW0QbKuJWs$IQWLVUPVVLw%}3mb{j zjrB@AIy!H{ZvV)s`JKS~s`gNkTW;@%#lCb;R(1`EMOnn{WD%!*J8JBNTu5?c4(DL3 z$EmO;IQB7(Y#7^f+`yn(tdTKPnFl9Ykrn5LW~iR=t_TtHp%28LkR}6L-Rd%jF$${4 z;Nu-9@_o#3xLz?-;4|^&>Bz!QjQfOr(;k8G77qX=zSGf$l1Jx;;JQh{#$?J%q9MkE z2VtZcm9hHpQvb2A&A{&?G$q+|lcFO8vThY@n%%d2nCj{=XbZ~2M7gF1YqOTnzTEim zZ#Dh{7g3m5o>!=OLF*}@imY?M1&5+?1|V`5CdU$#hE|l*!3<duBd9)7_v^c%HcwDH z5})TL@uUFDfTW+(d4q+jkcNU+rKO*>E^>`!xGq7=X$c*z74?h-Wwu)+ba*Hon;ZrK zZKpV%2{sK?E3;hWE6P2Kz|x47ox)8~r7pbuWV*z{!fgAn$^qonCFoqJ!%c0~$4^kX zuz{X`W%KK9ksklhJB-(jDtJwYMd;V$!Q!X1ofZ~NBiPmWK$U?$r*{%fUUn7u!I5`> z+Tw0GCAuUT=b`CO^{AT-RrD*)Ah6d(NVa>o#_N*7Xx6FOpKi$0ovPX8p6ElCQRaDg z_cPLjF_*ec12dL<*+P*iXE^5j*RNsjSCWFdHr0_)!t-`n1l&Vu5M_>L+>)BPtc~Sa zet#%gGTK=tqc<~m&i1*J)Rgz|QFPIR!6^tTz6?NXbF*y>XMLFdH7F~7YF|kfE^)F7 zhju@{W=4*5yBgeVEpC5UFn+b{@gz?j!5=xuxIAj%*yoxk0_8MwuAH#wv-7>$N!cp9 zCM3}^<l$A6YPY7qg8_==a(RxT{nupM@$<^cy`rqDjvr3HfA2YRBlh08Dj!vh1i2R4 z3s72oqO?$~c=BkuZ&$x!pInX|e)ECvduM3*1+4y68zay>SYdbU9yp6d$?ft%Gg@}) zpHE`xVE*^_AtBEG(T6Q5Nvoyau;axr4fP<di2!eknDVUfLag6dGa(2ichWa~vL6}8 z<45)YQw@c~QuyjS9?$)A;9&7tQP__}XWO~GK6ftcIaWPx9#ERY7MO2Y!#o*$UcWcr zZ&@>1Yd|%u%Rfd(xFFi8ur4@sn7uCZs`fmI3~l+Q1pXJ3%t}X=e3iZ;q?vnDh@)sR z*zmeuXHzyqr2S(-yUq2660)M}ZTvZvkhlnczrDx|BrLzmq1zBt$niZMRoh6u=q?qk z=W+rxzr?ZMTo=TEHU~1=y)&~jI)=`A;L)U<ME%iWygWXtnI9ruQQ=d*Vm_3D4M{_A zsuFj^e>sx|Dla%I?q6OXlu&=nU$&3mdE<}5Pp!|7JuMN2hJ}R(2j#PB9@vgM9N&Be z>Sj}bveEVlcrqo{^8*UwZQr$UmZyHoMwA8=mGWMl^rz?Q91fnfsbO*CsPbqz`3=7? zULKh5!EBhvTZivo12406@9+G`PGLDW0p$sS#w$HeVm{nX&8#q*r6KzTk*b94Wh#Vk zN;zx&xZu9iOn28BTtn!OMEd!tac)eXEeAfkyQFqw3|GDJX3cEeauW{Wq4e_jC;PLL zXNOzvFi93Fn$Px>CIT*XAD!!pXEfZB&0k^F!m1MD?0i1KIZYRj%<Xo|^xhC3H~s!Z zMXAZIQ?0m7I5Y{ck1K5WhAsMC88Q6qm>7HG`8=N7IHW8p^0>a{=d&-49?;178$<^s z#&PQSu|n#1mwfmyk1l6`>S`$;7vfob%tHt$(K&d3O?%;K9{kEP1S>8G5lXwn_N``b zAxr84XzSCSoi-ip6(_+RpU?RwjZAEiBFGZQ+j<#rh7@zk^}cMW_vCiXwiHIZBL87w zo(ZF<YXN9-#TQaIOLuE1eeb|jus?ZImGAINoxg`{FtN99OP}OxjSh=KMlIhbzO0h; zUe%um8^qnN&j!8vCUn-wvUO*TuRH7havk>kcKEY2g@+v}C^lCh6yy=d&qdrGCq5nb zMSc?{vxiNdPN|#E>+x;R8*GgH0wW*%=XjCSH25;9c9=I<b~?K#9ZpHd&0J{|Tx<*7 zGSTPTSKnb`b9BGy0P_&MBTcwyDEm*f;aFptr4Ac9RYtoT<Ll!~ds$+otCKV&h&8md zJ=6nkHsSz;wRE=#X{g=XAM*0}xcwaCEewR3Q+m}uVKmcD6YvZk`mH!UPVdAD50iu> zp<D3W?^E0PZl?&f(t1=E=YjherzJt<Fgo)n;`al!>}Jy{{!Ucpe=W8oqetQu;j>Y{ zlNu0uJwb*c%U<m^ZfvJ-zM)TKb@oIntZ$t}nq+yo2OkpQ<WghiE0xt|?1FYJPwC3Z zENqakm#V=8?vG&4>9-wWM^2iDPcEtnuOdzk$1cO&<DNVLjr#NbmgD}kE@PE~XFo|Y z$E}fb<Sr;+seUY|v0kwzSs;pwfD!UHL=Twf@8B<L?ent}<VUBbr|RttUS{mh?6D0y zhidd4T))CR_aMOFoY;sj*8c(){go+CNH4$JMeaF$$x$bWx$me%Wm;S9n;U~aoX|Dq zk0rxLe*PfwoiYy>^Y|zk<f`!_@_RGeJka*LAviclenRo{3{9`K@;*-ta&8bGA%=Sv z@AZ<<IzA7-IjZ&ru|p=L_MT^;Uux*c=3>o-%CF*H;67jGeL~2orK;$e=YiAWEq`-c zOW<j<d0G<1ri<^Qq&j|i2^M(6eOXIkKXMexKf%#bxR~sPq55s<4e2sjfAfhme%#^W z24nN1TM8&UP8@9PT%4-+bOYD%RMLw#PW}C!sU+~*7gdo<6rN9wiGdU3nvcivNiR;s z$oR|2s=69^Cz)@%dEZnQ6B+m=l%#vMiC-ThSy}kTR!-m>4=|erYRBG`;wBnkBd3Kl zBf}Zkkk2d*mpT}<(nXHa)bwOnT{+?l*N)*z)yd~1s^;&BN3Y{3uz59fYkegTi1?hg z!9jU(I+!DQB>xl3b$aC#KB3+z-j5NxiZCiTaHlyedTIruwSr(+n$tU^@?+jTkSN1D zdvSwjT#Jur#phtT{q3G{V=}g#U!(Bntg4EeYE9v6g&U^a{4%FlbRt{n71S|uA&%|a z)CQWV19$)a>Frt*bMMm;;fhvz+0CF^EQefPQCW~E%tNd+WwZM;k8-106Gyv<nN><u zQn(+sE^R`R%TH{VeMkh6GcCCvrBkD~khL<*aTcc#G8k$>`G+2D9xwb!i)vu<1+}Su z)#;82@CozxF($a1Q|#>?n^_+$oE{S70$(-urG^trwBMdlHV)SIsq+)?d8hgreV@U8 zx?5)~9N1rv#r<lYTm|eQLz`3S9yD0SHmzN&3|RWpg~U)m`sgwj9`5M0a7@lyEn*WA z78W#@FbE~tqQixyq+s_tILZF(9KJh)XT3eWa~UwVfK|g~ErFZ#bc(6ZQJxFE<k;Q1 zSMhI7q>3urbamHVcfb^kl_dAroomf!!9gqOyYy1}D1mRkL|X2ugbsReYA`ub;CBy? zS|}XxFTbh3fRX4NCm7s+o2Tx0?R85@)h0z_@z}2Bf16P!)ZfgCI)78otdDY==`UJ{ zRA2T`YKE?ohoKHGJ|UKoq63|`{#(R9vOMaf0}}lQcSsZigP=g6UHqm7rwsv?em!mA zEPB|}U$&N^yZtgoV>52Bk|t^%P7pFvGx6cZOMBSDFX^eo)QE4wZ?fqsnsn21dqSO) z-e~Ia_@>E6EoCy(3DH&|<Y8yN#&p+dh3h$~ZwG@yv>Ik`)Ndld{-Qdkb5pCI?o2Vd zYQ}Kg&M9AwrZ6@8W#3G|?N4Q!cW~0cRn%IZ-BEiGhuPm>+U1p4#*v=G1Z*Y6YSy|u z@rBfwIn20QBXgwcm6NQToP$}h28Pu`Q5{Ph*;O{_)7vC$y7t#I?4}25&D?lq`Hc}t z13%tn80G-R{F!c+zI(X#bZr9Y)alLpRNNAqipWYE!a3d_C#nnzx)QVBc`}FJFzuB= z$UBwXo7<&uoMtKr5-Xq0YhM{Qr2X%LiXr1l*aW#ek~lYc6=*WIr!+wC0L`LYFI{g( zX2tL#Ra$k&ucn()m95pWi&$%(QzY>oAJO|1;o4qwG=39T*G{NSwsY7XVOylEblMvN z6Uo&lFtB>QW|NDb=I>1@>@J}7(3oHV&Th_28jUfOMOWBWS8Dm+eL^QSVnJZFPu#Pa zVj7lH+6b*FHY>C{>P9zCv<<%9kfu!)&Mc4FRU@>d(Si^b;>s<k!KbQ#nFd7Pr(7X6 zJV(4sgQaT7oFgkKJ<chMJWktxyU*+%bujqupQ1Rp|Had-oVIBZzlHakSToJj>3mmp z_8}T0MoK)PGl63gyOwWRA%%pXNTxVUZDXEXS)uU~4{aO?HKw=H1Sg+m!#=v~b<$<f zX&D(`R<)e~GOw*RDVk|2xa-pQCDs2uUyZv1JF(>JdUM1WoONxe<T;FfrB0Q<9Vl^= zES%lTSj*nWKisVT4ef|QMSGfJliFE$s<qpFEsXpJ8M9nbS#L;VT-esq#3pmm*D>vJ zLQj;lPh8+eSp5Icbkz@0c1=`T77(SSkxuCj0cnu#?gr`ZQo5GzSfrMc?(UFUx|i;5 zzI}iA{)6Y<J9qBPIcLuEsOwH(67Y^I{$_`a@lDBGR~vFsc0g_$cAL5EAoy>FloE%t z+0#DgDize^3<dbyM#B_Y<%cT_pE;Hr2tI%A88&Zb_X;^!G@no6lSIitMH(+Vt<iz} z5db*a+UeQgam03C`y!N9$OygsJj@=@lH;-5^W0l`lAff@k$;xkkZQ$v4@k!CIhE$U zFDoV5H66sX10v2j$Ei2c2Mtai@&~*wEw=?6@Mj=TiZn#zzLjFT)=L~YN6r!NNWl$Z zQlZd4UwS^!KI@r7WhjgDE51XJDE-C}5s*`>zW#KxNjW&MmJAQKvWZrAiw8cZ+v}oZ zVkGJ*{=B%PnsKo;t79<@VO{|F6DeJkqqX~e)9~S$#2#ZA(9*`-lCei|R5l&o;lFh` z9We*5q=`Xp<QbA)nKxSCp{J=B&oN3}{3`@ezog>Gx@yOk;mxSenJW7pMtOd~#7PQY zD553>8&h*%p8fuEhK}~y8j_y+BKnlbG2g?fs7UeT@rxhZP%hlSO;<UZbSt#Ob*@bi zB*gc_=F=eHNvD@bDnCEJzYUy_&ue%Qqut*EySx2&E%sn+*=T*{s1|4-=XE!R+Q%07 zkgN;o3Bprm#?(GonGY;Y4(_jKy+VS1yMe<x%-mLeICIlW&CL?-hk+(yzsgJH9|KHM zndm^@wDl>&^WQSe2}vjsR*4D8u0JEOv>uP<DGkr9W*F{vw%y{Tf+s)z#prmxgzLE8 zGR`o`Hz{c<JctnRi1*kb9d+o-o)ewl!(&94<{8v9e#`-*!88^JC(*F=3*v+2T~3y$ zu(!84xd#rB&GNr&ek}9}PtV9OyBuJGZT??QM1uWDdm#6)js9Tcit9nG?oGsetxDR- zm3d>vdv>99X>QB=(^q$kjpPpXV!w)t%8LP?v&0F|uvuN_QPV`gQjC&P9us6H-)O_O z1%woLx-9N!c@!&Vx9&AcgvnA>d9_N`J_<wZ2u)$%KP}pEIimb!a|;Q??fB);DgH)m z1T$Wp!pkRy!3Hd$O8KVc6<w$@NNh774S+!m7}$U`y>uND8;jpz{a%uH(I2BE|67O2 zzxT|Q_E|zcvCUz)4$L$J2lfTc6#EEL2T@~X2KEsTgR)iHa)_`dOPb$yKBNPaL8zrz z4noW4^YBIN{ns45w~{Vvq!AzS0A`%Oxd5${+kL;MUk)&~xHHR4e`DcZBaZg|HS^5r z;!vT$II1e(@qMn(>AU>A%~bnBumdYK7(Di%5xkrYU;BesGaSU^*9xE<K$;;nhqmQZ zWc*oO^Kg`k9?%LzgY3d?XH+JS<IkNbII-?7d(phg;&d%j1j~smOLu=@b1_wKy8<T; zxMKh6pF7^z<C}H?D^=Bb5H@`jk&8l6?R@N8gU#na@4L+=7RMa#)Wu>X`PDQzkm?(O zmU`aG3jl8Y{ldJblpG}{aZcCN&Era8T*!*AaDx1QJKwt~2SG(*hDDF4@LNy!vsGzD z)$(YB&^J|%H!VjDGmLL|_@Jolhy@sR{;KS%fQ|0TV?scPUp4MxZ}VYroQ+L5(q3C2 z{MSdqmv*7|`af@<%|R9^GUm?5>oW~P_yG|lehg4@B!NsBptSCao)uL>L%fPwQ^9uy z9&Li0Gc~kPx##`Wq@udddXp~}G^sC;<Jwwsq!GY_%na*mxH$oHVTh1C`W;ZQq;TN6 zJ#kMJ_C9&vF_nDPqr|DbpN@KZD8<Lb0;H+QY|Z&rjVP6!Iy1UqmB_}HuPNKTVUcOO z^@p&>YuJ+NnkwXuQ21ZCtez+*(ntKa^K5=myC53LJM=Twov{$f8AOD3A*w_f7X2JE zceWpNM(oowp`fTo_$6=W1h*wVdZh9rQHL>}1nFg5a_!uzc8)uGKEGFZe447fgO=8o zj@!(x#Z>?@(uj!=4q(X;;>PUhX_9stJ70ip*j^*<wKnahXAtn@2kY5B$G1IR^BQ_R zux`dH)c09dW)_0$t!!X*fV<^!1@G!$xB57bY;K$~LUFC^jTs3eeu}W;AwR+@#!8z0 z_TxA;sKl`*;LRW-lkhN9@?ye%xuCHmQ!bT-&CMnD;DI+pDCRFu#Hh>fu)V))pSi*c z*VHSr_n=aZmUvfu!_yXR52+f&x^Lg=bL7vLbVZDrKMit5qYb+r=DtJyFYqV7_XKHj z<$oT$J<D&VXfZ`;elX(RJD*RNYr8n*b5%Is!Y+Is+dD0!AS}wTe<l|{mQ_XX|6x2d zfnxnE{H-|n#zrBc{O;Eu7X`cAJs7QKXc;||x|^16XzJyaj(tbcU9s4__ICfB(wJXB zfY0Yuki$g|CKQ0d1r&r0jslp?*v;U9%3^}X6v83Au}zk}!)!C@BS`<SZJW!fA7b_2 zhD*gDk>znCSbCX9+f>^4tUvSj2{Y!?2PE5FvX_;t<e$4+T>h??ezklNFl=YjQY0WN zWq@2=)mDJGdrjs;?UHj9uKu4DZO@}l;phq@6UNksSsMfjTUW}`^11ZT0j+m~30cjY zqt}&4E#9pJpO33PT0k@`rHHzf0#(nlO)VU7DG*U^|3Zl#=Q9J^Vmx{F_E+@mjEt#O zra~cKQRs#LDz)BU?c8@SJF+!41sZ3J!V)_fe4{%D0cZcfmoQPA@O(%7bVsJ|b<LzP zOznTr0-^TL-li6@JZnNy4B613@3e+~H>~#K`S6K&h8;k1XlB5Q=gOJOP{E7+sj9>C z<Qs=$yW(({0<=Y08(v2H@dHtA@rJVYGh`%qTiX?91lij6L-P8eX|0+4mxDWJ?GGNP zaimA4e>>CF7>3FGu5_7LD(`(89&gSOXg&A4O`CEyBF@$}rgyM_DZNa&pbi%mb7y2# zml&ps??1WcJBH6B?}<5OiU+zb5jfLfl|otz7fhd~#((qF6}I{T8A=y*<4b2GWU>$9 zZShF!LS_=ue$ZV{>W`abt~}qX$~E)%it+PVy3c%@>qWoi)SM6kc3rs3`ntpF`B`RJ zR1sdjVKV<GV#iJq1%~Y6dbS-78{Jmq+T+Ua7cRg{-#OU;hWpKB=Xig>0)P0gyR`pn z0a{pi-Hc=Vp}g7I_R({E)!QCc%%fkhexD~buA7^4edx-sxsA~lP<Q`H)H`xSpGj1w zP(c&yY2Zh3^MmO6R4sP<eAlO>N!SH@hIRU4=TYR{1f$ZLDc^|Fl(!nh)yeEky2Gpp zP!XxiEeorW*8{GEU{HQ>tI){TfE)i0v2Ks+C9tMsuo2S?F1{=bLTw!?@)&jXoGId) zdZmfq>};A&mfJE+bhi2p!U?N23Bon_*0tOMK}O2}z9AiI;hVtITS(EOFfvR>J)y5{ zWZ@rkuagx)%KL-dXdTav-5MiK!(n{f#qE+11~Jow>sZ+WR-H(lpI(s4f0L`aU=UF* z-*n#gI+Sy_Hg#eC=#XGYlC;{Yf|bo82<)vS=nU5^%@bS-y-8SuR}JD@JxcZG`8`Tn zvTH&fKt@%L&|n%v?~8X*ckWLShjTr8xk@e9^|idUYagu9dhcu7tS@}z=w(1I&;L9o zIXbfnN(z%YCL9p)G(q$Co&IN3Z-W88QO#jDwI5s0{dfXWYy0dS!e7i;R8pc%Mr)^Z zQo^rrk*y<pj(Y}+1Mc-7H+C)2mS|ug=r40Cz1)o5)w_vV=osLQTk*X`iu_s|&epV8 z^5)CekG97~T$`7V0z5<f4&7c!jU-pzIY$1}JvWOqD%Q4AF$ZTG_D6|FEm@u3z_}aV zaBwT*Mg2P5{3#MEol?q9z7T!!o>x<BD-yM$!yXwA9KBp17oX6efaR6>w@D$vu_(n@ z)3lba#2$!4SeDvp0m%YzMUzhxUyHT0WQ;TMFiC~GLZm)iPA6g31h}TT;&t5ZQoZeF zp0PLnH5l67iZ;|P1Zb<I)XIoxpT{Y_)(B?muuakxUn?{Y^J`vQBJ?Nxc7NnIEt-+( zxN9d%9EIA1FY3mjiuz)J9JG03zk8BqXZIcp{6wcmUlSG>9bfdUA!)}@DQ2fpby1N2 z+Bal&Ga{j`o<}Fr2X__*G>0)`(R*G5E&hOeG<WNuW_WW9DOBmnq#a_*<$7E_bKO9u zjrD0+*mhhAVGZNJ4)mg4kqkD|ANi9>*CL-3MSHi2VNakO<0BB!MECcb!aF3UO!4hP z!Jqf<!W}MP5ZH6>+kyT3R=V@I5tBQuPe10oEk_OmuStqN-89RIz=U2n|Ek9?Ui7WR ze!gy*TUhLkZm1m8^Pzz7?GqP+Da#LzMXm*z$Bi|%t^Lm@VwMET@NBA3n)qkNo@LXr z3Ly_Iai;?pf^l`JEH!Nnk@-ibJ%^W$b)!-(xOC;d);^?QS|OG6mD{jggdv4<7-_b~ z?-B$fmi}@@JZzQR&a4r$0G#|*w|D*Jx;3~N^s%N@kZQvy7wRQzs5$$YV15+Rg7aIy zzeL}7xcxM;!_jZ#^>Pn)eC_9()-LIrci3xhSa)6)9f3!oN9#F#o)O-3Ls}cDwRufs z&6EwSu-cb1d3k<~i}v_fjj{Ecs$^Y66Q8P>MyB7`X_f8)5PTc!Pcwi?@z3+<<@0W; zN5^9jEfQL}F^y&BmE5RC8mrR7*|QZVhsfX}V=DJb(FNYQeV1xp8xPl6lf!_U(EL31 zay+98<?=&gxoRVC02CQidU2UlNSw1@wzWaWc#*F%bc~(&m~wxge0LAOM2ljTP6&%s zF-{yaC$88dFI}ZXEaVn}MV`yIy1N`U_w0x4U6-{ahYs~dXA4|yiQ2S6=R@*RU1pD; z%goF6K1MzkgB%7#As43v$QG<2FST8#5n(m01aWYt?WR82C+^E6bE|+#>EA_ZePe(M zV#g1(ZBLsTH9bN+Y6)NDRNCK(UWU6&Vw}17zqMg6Yux|S<?(vkx+herEP5EiLZWZC zw{*l_9BnhOH`(?JD6Ie$cqx3=U=gWkrxvp{ecu|t{rrH|<luJLl+xq-W6%KKGbvDs z%Nr%9`|OU5D|honjtE-|Ntcz4$imKIcy_Hovcg=~_vZsU+HVP0{W^>7t2aj03mN!c zZaN59HwDVn0v<i~E$D+Zpp!z7AYtDbdebqh5*nF4oLO(mO&*KRe3w8%RYTrsk&Y<| zHq%!!B1vnXHAOX|`U5yViu?3|UVeN+nNEv0HmcS2RqVf+paUCw>Kul1$a?Eg|B-6( z;YI8r%UKAMay%)Gdp#%F8F>to@-L_q!H^0+xCP>9b9@MvQr>usF`iDh!wo3W8*zU} z9H*K(wbGHfM$*n3JE}{zLX%Wy!<tT=-ZpUlJ$ktLeM+VMfdYph_eA|>rZg&ey92%L zQ3m0^MFp`N(ybs8WM)t&jaI2x94W94qog{ra<xj!iN_nhEU_JadA+=izy8pYO!d2p zOKlXPRzq5>)T{Lw0KY^iPE2TJ;oy|xqUjhvia$>*E^4f3__fB0MBLQrHMdh_bjQw_ zIdrt>aYebrK<%<@pB};efUn%RlKIr$+gt93wrKRN+iW2n;3~>#fEHBtYGg-0w9Dmq zWC)ilBE8;a`X{4%$}<boal)$=FC}HWM{Hygwj$4^2*xwT;Z2aAdNc7JSdRucY(yyO z%?7+jF!Co#&ONT*Xu0IdW98@^I$xM=+252kA0E2rOa)^WmI4fYZSZ|OxPj_%M{x8) zv)hqd1+~Ey^xhpmx`ADm+RA_e<B+dH99<LO_l4L=dL4Y<yK9~Fy#}w*k>Sx#4`~VB z|8#LpaD3TkPnS2Yr~NpoM)s$I9Lj&yqUYRNQMAvHw&2{4Nv<iHeTgTqYX8Yq!3dX0 za&WMG;Y5PMdXe<vRy~YuJbTc}u7WnR&g&>-d7+^dIet_E*-MU<58vFCL6SkY<0>wh z$d%1E^l0h)W8*+1<xlqJV?#Jcf2{6mjFI|LxQ--7Er<(J6q;tlklB^3GkkHVZ}-+o z9a-YU?m}x_!d?!+`L#$2Bb#2`?@{%Co=8?B4`iCX%HD|5f@)B9_OOqf^GNsgRV4X^ z)O}M6h=tgywj=1&iQ$iQ5$<Q*mV|A74$&SHabA1`a)k@iMDgk_l%>eSHZC=CKAIZD zjn&r{nWk{Ta0rl^w2UlJ0S+>;X14)J*sW(x%OlP0u~7IIM0|%acD~dW)i5L@0YDVJ z2+tr<dKQ{$^=#SeJPL+%V3=oC9hm`D=BP2@fIN5Z6QwYPSJHA`MaP6r%8O7JVRqW? z()q#?za#y_`2Z_6$5mf}aL4U2d5l|7<blx9i$?h<x|~tV+V`p=*k!b8%gVO(^I7v3 zQ^0lo8~V_*?f0IdnV(b4mk-e4`^v(}!#O=aEk<K`b-B!wrYo<BLPd(Y1AV6rpHY8% zPw1(6t_<d>V&p}T`*p;@DdtZ?PaSp9S2kP1E>+j9%%Jo5r%X~8Qh5I&yfsXW?>L4> zarBMdmX%+9^4u)ibwH23zC8Cb#304q<#AeK092x+PO-Oz_C|ERMvDtr&STQ&+n98D z=sAEL({;bC{MZ;iPbs5J5qnmvGnzzD$&c%wCIN$Ge$1m9m!90E=gt*#dhM#9U<t6I z*xi)L5pki4tXls0{^o}dCk_-jvM?CM&2E`KC$bg(Z_X`?FDNd*hPSFsK&=~7XYHEh zLc}|=zJ9h8{g>NA##|XbBe9ZlB=Z7Q{Ew2dM-;bJiQZBr6Yb}j6}E3Krr5EJe17!( z3-X}}r35^KglTe!)ploymrp>Zjs&Re@YI4mi(YH=HosNbE%!NoU_Hi&BIL2lX+^}n zI4eCzcju%IrXjAC-dF)<_9a<+3miQx)jdsJPm|q0B3{(OWpJ?q>*LhpNsSVZWUn-k zRNBh5Whwi*1G^!@0^h`E2m8jDcqARygR)zTcEy6;WiykQU44KpW~|Sy)^3zbyL_@X z(u>)g@5)2HUXi(Zg^P-4gj)S~s2;cB%|T>Ab;o)bWcl&|{`z<!WZNqG2dGJi#Dbf& z$jF-O;Y;JREGV(f<CS<=o-o%Kw1*w__L<;?3c;8t*&Ku6l|6IxEtjq+!a?z(8%QMo zW75fOpBt2a*)#L<mrH6SZOpb&Zt<N0@N(dWFWv*5(>AXW&|^F84%0SjXNsvV?aH%H z5p5sku7~6^>NRtX`F>HZHEvzfx%li4+M8+fwpkDuFNy4z4MRL1k=a^9S+KKf+7Y9s zE-TBUGtv&js&9U^oy9>J*OX{ysT{b4<5Z^v4krvl1vguVx3Zra+3YegtJaNNorx9Z zewARo;pa}ho8YFi)pgqFES_Er_}2ZIFmo$}k!N`4@_2P|2z$_bzW7;5#bjUINp+ea zpP0BkIgM$1kr56z$8Dh)V6R_4HeER>JU=>&V6UZ-gXy@!km9m7OaUZl`EObmN%wN; ziBf*Ncx2val<T*6ExX_-d;w<xi#e1t7wa&Yqh5&a4*&_37pyC~$Rebm&Z<^IBaQOK z?@w7IbfHgmSVs?}>ku<3?{Ygr4QL1hTSM#zA5_Wz3!1wO#8)G>gvZ_o&&xA>Yz|II zw~lL9k%a0h`NCfS)Gbm0u&;BA2kuB@SrH9&BR{4q2KgwE;LAU??*Ak=4ZGwsE-rG) z=k>*ztM>MxA;!CS9KL%uM_MW3pQC-g*J+kZRb7?88`61+RsW-!(b&O|`Y*u)#H|sM zQa~4quDwbNn4RM)EN1}3PnZe2XHs;SIZyWEv$_?sw(`Ci-V<P=FC#<S^-BWZ$U}#U z>+oI#2>Dv73Vl&72;XTpy!vGSZlB+jk+F0VEVG}_lTC3{Q!d3X`aV5}x5+{4qZHO# zziC`62im&ike?~4Dkp-ddtHsuX*!Gp%cNx%Wit-D)7=J@Y&a_!{|rX11*%6*J4eb+ zPeqr-_~X$3vmuV!zCyW3=f@g?3L7vJGB5A;%$4hrbc87(F8ZD-1_l^7tJ;S+`%nb= z4XZr{PR`zMskUBZ@<XS61hM-d5cAZ<?zJ){Fuz8r^_lro6_`rLu{?#uWkWRHlJqdY zo<f=(xb-+h7pu$UsORr%Yf9;sKv!xPq`5`}o+>gqK~ux?F)!G=B<*(6uTM@D|Eu&f zQk_dQK*8c?m#eK!P-PimxHXPpZ$snX-|hYwaWPJ}y-^FXF(7OFx`&mw4@|x~<goYY zP!6Tz6DkTnEK_X{t#LadHG7*n^tGj|nS0x2?u>8&rcHTcEq_A~Wvp`4Ii2m(Hy@?l z{1ztb;!gXfaKi@&(hcP+l-o1Prsrp)x8Jj@XHn;jsRx?zZFmh$j68$;OSN}7ZLFLr zs1LHj#GGnPm`7QuGE{`#lx3&tztE8^KWL?|oEZvEim@9+I}hT&qWwIXK@752(l87u zV<5GyxPtgWuR`9dC(|W4<8qG1SFE<BFk*NKVa>FoxNTw#&k@b47AV^=_y``CCaqrI z_0ee|fiW<XhW9iRr-HQfNmLk$*pX-~R7lepQmG6gzco)_9(b`W$!DHo2y$oFOPd4e zBE|glU$PI=BlB>u^qp+It?jMx5>EUDzon1vdA;=@g%3!6iX_jGeb$UDw1jfgH9`(= zIBHscPUdu^)wVV|jayV|h^m%G#oZNkO<#Y}{?bGRjc}{fh@}3d@8h8EEy}V^1|aa= zZWcZKLW9l0q1WM*6kKn@{pgB7fe1#sx;SpRN>V?phIk|YQ5TvwvKWo&akU;FvmDyB z54D({UeU@NrqF};Zv{D_74+;cRW=Y0ZeETP$<Z{1fXdF6Vy~odIK&o^p|?5)Bwa}g zHAdTeq>I|kXi8!4Vl+b{-H;okZek((^MJz&DsxHiGA)Lv78Q}gPy~c=!6z#+VR7^Q zTLR0kh8Du4gYLw;TTu%Q7=X|aNu(4R$4)EepB3=HM6`K*9I^Er*)3j{7Vz}qKZ9i& zEG%_Zo7(eK+_GnaKxbEz;6@Q%ahlYA&gkJVvuBZWR05&a^kVzE>aG6<^=@zehRwdb zFmuIf=7l5Iuc@Nv`@R-72KN=#n_$E^(}$Vz<;YM)2IA)|$nYPXzwkJ)^Ro@l9utG| zlfL4_PlM`;gTV7v4_A6_wOo`1$lvD6xNTLHSQ-cLYV1<ytwL|-Q<if6h<z)+VQwZD z{iLf~*rzJ9*7`GNvENI+cL<g}UOCPOO2&6yi-J_NRR%xhkys%e!mUrAAVtd5M0Ihp zqEXR<xRal@jsm}O@_gqf6IcqFoRx*=<bta`CO(!8OvY7DPc{J39r2@5l*bnjC|Aqf zN%YcmUiTR25cT|*-sH!r>9xFEF<Nwv?k{H$zKdHlV-~H@&!P{{6*_Zc7nKf^X@1OV z7F6Wlo|<3Mb2794T{df*>AkVg|Eq<j;k0O9jb>c8MA5~52M+*%Ws**WfL_|Bl&2(g zS+Xe%Vz>_oevx9ZiM>itKE%4^P!(4~HMBsQo&*AHFc(-9>;8euWV`0HVjYPJ)eO7~ zy6PG$^Sf_bw>)*QXN``)bX#-zHgY-rr@&k9?vDybXHQxf7Ij5(PHQcv)!0!pT<!px z;_dl<f(FaFj*&l`f_QeE{^||q`~!qS!TSUJa<sReTc7joF$me64;*~LfCJ!9&+3k7 zOhk|SYO?sD)%~=BK3-KYB~Rm68wm{wNgvX<0~)~xWHoyxV1oUBG3s+FyjU}&zlsDl zE7n;*I3X0j%Lq*Ba%lkzIS_g`=9g3C=g~*1spSW%telo<wJYPw>tk$dX6i%s8P}** z+MqC(fF3dK%uduSUG}eQDE_7O&EO}OxMM0D)>AlgNcxoQXLD`1cxYlDW47-2?#(5Y zWSq+IoX(H;R=+X?z5mn)&nGdKX*!U`S6m8>m|NMa2+7hr70Y(3q(`9)<8s<bZSca6 ze$r~_If&96!Ud#-4~WN+R;^|!+vMh}(>1-Pcz-|6+}M0vyfL0WieF=gCO-3(iE6vE zx1{KCH|d?MC|mVq#mBAk@O%<Bw@T%1E?51JsGm7`Lal7kXXbHW^gR_ZJL)4wXu*bT zs@@t+I!pY>jtuB(jM*$LL+<y%gDWc#Pn34+=&wFB-wu3!l>x$aZub4dWpN+(wO;vZ zsk`_*0XlA_C=G<$VK--Zc(SqLrm&4nQ42hoMv|PzX)*9QRL@kKeb?p#MX$31+8NO1 zLI^UWOax?Q21y}q&HTP-fgL23$A<@tX#sVTTKG&v63Xw9gLQ2}_`st#o4RdIk3xwD zoN&1THWtRG0mwh<+J*7*?BF`cLod<7!DJi?l|Qim{Hu-=@>9qXoEq+UwOGoeObgf8 z+Nhdk>TVzb?W*XJrSEOk)3dB+aM4;OjxV;wl+(+PQ9UGeiuB^=99!l!ep3IG1FGbS zpNHkne<;m%H6w@S;Y2ENT)oO`aApsp`oMgBm)@0_ch1<d(?9@hY=^<r*@vbD5L-N` zBTpk!l$h4i4e7Wv8MnA2nc|%zGaRyX(!<ZE`!2r8j5KU3-spKV+uC2`Ji{YW$9kvR zrP%PP`9@S5MG)>8ZHANdF4H>%obS#l#q0GaYB27$y1WF=ls@S0hfehMIUIP|YV=J- zUDU@V^mg~XBI&v)zwXB4IdRF?n5)wVHX0B%tYG|AF7EQYa`oi-X!cc%4(b=f#V};^ zDm6(7VLiN=crhPfn$7dF>03n(;Uo&wld<SV4yrei1YlW{iDR=7YpMy2Ce*OuNKE}( z88OAoT_Cr%NlO0RN30_2s!zLd=a?SDE$E(^+Yu1?aR0@>S1(OF>j~1;c#nhPDEuMs zS`~fjIoNt%#B^V$d=f{}(l(hk?rh_?sldKnOrFglKbcngEH>u16uAr3d)E)A4$zHL zjgISU2mi}kX8-eDHyVq?=Zp0m3t#?WG(`+0vWrU3-8L0}92>MLHM9vecr!kZOhEif zbqmvWh@RVw5YmqRJ-KF;uP9{#_viGoD(lF6^JP7<&yo;M(tsVRn#YzHdQAxm-9Mtr z79hCa>(}`X3D<cEznu&M&Tu%;t`PlR`}$U{9qq-Pk3wqE?!&>h>zuCkT~lG5e0Uq_ z5s#jy7yht7`ctMQq&G=~t+MtzRAVU+7)*}g2G{X;Z1CaC9!eJAn|{X<d$kGyC(7<U z4B%rbHLh6LKitUmX_;TO;IL1RURM4gmy@>(V}Jvx{Dk1K-lm24;foSBKlYak`BPQ{ z6N8KE(yrO~RW%!2JW-hj2Gg^$yDigvAIftV&*L<fu$IC8IS+ljc^^L@^Vlr~;4tRM zUamq6j4k|QmB{1M(=uO?Hl%Q74jLeMNKo?gGe6J;Zf@yZ1bmCLouPo?>oNJ0JJ)(? zO-gMr^3{k7ljbRn97P>zR@s+@Ig)LN|1I4K^QVrhLv{b_2?e|)zSp_Qs*G)Bo{gs@ z+;^pFyq!9}@wMFFG+;&&J4MczzVRNO9rF7MMYqXF3B}loj|A!9st3N5lb?@UNKDJS z_pc#;8|&@v-Iz7wC)5=`X5^AcDU;VCJtx6h+|yo6*zzQ0hi9LU8w1baPPy?KY3RnO z4R;(-o_9G!bMX$>|8+%89&aY}t|Er)dN13l?$*<GwY5Zys!&Pv3U^#Q`yciSzwV;o z^SO8hcivAR8R)2_K*x`q0V*0F9e^YOTvD|>g1d7^J<1q$b8yW+$bIw>Pe~JDvmKi8 z@|n>Sedl%!H4gLuUhvK{kZ~m^gK8i1e7dTwn!dO(ezuxPnay(6O&>%%kf1WHq}hn{ z&6<tVpNO7X3>S%s<$}Jl<$*U)1;t>B^X5)oTm<L5bYO<o=b;!Mb7l>T{?*DH>1t^- zYdO$MU$x5&`1$2pT!0k=*!lV@u_nk7xn6QrZYaES5^&w1ML!;s%=OIyL6lJYv+Xp8 zl!|wmsvvoz_KemVC7rilXaA`L4du)Y7eq-8)l@Yps|A(^T)i&yO|MV(m(Gs_y6nXI zae=^^<iv+CFC2;dnvT~X$7kRCZyiSYWeiB=KT+>*Vf7&mo%)8hI&SA4PYfl78|Zcg z8^IUq62du;qB))qZsR*6j3))uuGqJfUG7|vSe0!kcEC*G*4iat%3#YMw_idV%WJae zb<wDJlHt{YETFh%)<`iG5?LC~))oA?<~OEi35q{tn<a1PBgGo>*w{b!x&brzNEK;# z-A;*1T{HBBgq}yL-k8c-E^2$sR47u*Nz>?YYGDjIx;`zQ-+837zf(fL8FBu5yTJ$4 zpI$@}x|qrEo_fmnLY<Smvsz~}{ulkQnWY+iM86guavn6PuSxDem1NRJbv%p2Bou)( z-Ldn#uK`0M?apC24RivnN6INv<fG|zM6CIvF@el-tlCjt?XSP<g*zHhDmQNqZ8CiR z&_F!ao%F+CO%sz;<%632^6sk39sy~m0+Y_5<J&~l#~8Z_$EJ8?89Yv$O%3@^vdqyz z$)Uj%(acI6yh1#R-L*>U#t3Kd5B9_w$nzmut)U+~iO!#5Az=#JN0TReXo~0`uMgHR zblV3QlhX|Axrd-XTvl#ourG*fsxNb)uaRXR1)mmJNQI^)z5w^09QA0E>SbGhrG9?b z(6PGoNTFxI@l)1Y%OOp`pq;+7GE)(wt{VFIsf|m}k&>Yn=3PE{FJp<J*Vuq87Q6lP z^$?fEpfeIw=6h0}Ynj*S=;AM|S)Dc;MIHSE3Xvbzr{_k9{eG6-(viu<A<`&l!uLUM zNpf=@!5sZQRaiCP3)ZY3EL9kE-0!>#&-aE`ae$9ECz=T!`~`7C=n>pAO1%x3RS(0@ zA<ir38mZspbBLbUZej8KR_)4fS}L1t-la1v(wvi}zGv)nE(hNPZ-)!exp34}+BAZW zU&algXrH#Gs8HlwoAMRxsy4a#BzsI`_t!GVk`nJU@8v9AH&Z9Y*W(mbbi{xpBSe+0 zD&i<eS?NdyjoChb1*zf!8UqvTaU7VH%DQ-9zBv-AnuUY6^;bPJJ{l4Y=KZ@(=5X|* zX$#azSjBhfc2ytNorOH-OTSCx=d*N~O0}Lpxx(Il##p;bZj<~G&&AqzH}A~S7qyDN z(!p?ZIV1p~?7%mfC#6~%*@1|}xv1(2_<^`D-|AZ6oa?)yp?}PrTS^?K(LQKKI9x2j z^g<&=i;JuMRc`}4HaSt-ZaLUj$b53-WwbzcE-qAQLem>e!3g%G(S#ARZ$Ww#0of*_ z-6!>7zR6NJVTQMvI!C8#$Q>6w6of|zwnbf_mpCpO-&A#Xl>#-J@0$s4bcn=j%Ol5P z;dT=}?t0O!@@J*KZ%f}V0Hi%w6xvuvPKdIiA;AWSyM!G!Mgn=GCja=>tcCBsU|u@# z`{6U;E?1uD1o)Z#g8XP775nnzEtb^(F5ofM)uZ0=u^yj;@Zc|9nT$5y%~UObO2r9B z0!QHtr7iIQXVKT;^TM{>-VX<QC7Z6VNY5SZZpNx@*FB={ciavi;?<`;&8Xjb33rXQ zf#iR00vJLIKB5x(9+bi{EsH`Vv}amWat99;m}Em(ipk`xGvX{8;?%nE=)4N8EPR|a z7&aJkN>o+U>$*qM=WGrg1}S)B|LFLsRx^P=;I?k{C7~|qX52S+-Y^~?pDbP<$<n7s zp{Y11D`<G*gO3tr6cdNdQIX)&!Y{gb{1}qD8&06g2Q$kAD>`|{xMB~{lS(0jcOE}I z6*EiLom>L-FhkTQHAmP=yh8wIIJx!HDiAeS1teF+w}KKmBWyq|%~#`kJy%UQIYu$( z_U0BH1_rE9sfRtAn<msD`bcL(%l@59uL-@DzNgfQgmLIXU0v$>Gf(H(MvlHm$q<0> z%Bh`(>tF$|@oW1Jm=d<N($BnU0YR_X*WbD?;!BWM!xe2K4jtJ|x@794n%A)vkAJRv z+$C95BR^P<U0WUXdFlUJfQ?(VteR5988qulugrl*nCAk<wd?FA2WRLXmGm#=YEx=q zZZ|3X&Tgj#6(EC=?DASRX@1#H@hJw}HNMS3Uo%2xv#6uwwc&Pz<S!C%S>jVp5{I>= zQExsOE^fcyETCKaud3KQsk3Zi<B#6vC0>}B?0oX*bkf|ty?hvFv7$oLQRkvBrb<${ z>|XS!Ce8$D*~taMAkNJeEQyUv`m8@qK+yvPVN*h#rb_z0oDNV1oHjF`AduyJGv+hw zVH+tXLK|bTsICBh3;Y<oiwv9;sZIJSyr|gaIGaZ<m+j+Bseo^rCaPNIfXl66(R3R< z!VVdoWpVKb090W99`JM%AfPE%fLV=KSnsS}Mlf`09;e6BN}B2+xEHGHlGVyRewu?E zduA)4+Mn?((`?3O<`O@-yaV{)RsM}8v)D*`h2Zn%<Iu;bVMO8Ho!=307e}417%(mS z+2OOkgfSaSn!b{)Gf5LzoPn*k?-*U|y-sEZsb?P%d210JQsj7vZ(pwl0+d2QU9n8e zCgS$5a$^xzQAK{E$!DwGEACXsiOXz=!^LaAOs&_^2Lg2pR#y^*xuIPb`H3apvzQ~| z_4V%94~6LQBWjbgO6PhmND30`ra&W=VWgrFYZ=t{)oRIE$`p~zXKBlkr{v@C@AtsL zob_ptl#|Qd#brGb1DN&5D*CA%c~ZUC_OZRcw?%R=bgKnR9~-7>yvST4;gMz6-?&X4 zz4@n2V*yT-E~eAMJFrXn&i{Lx7tz<BKU4Q%u__?PGRHq!iS;K$WJ?}7+)`de!)=`^ zP<@EQ|H{qzL9jArTo<J6NRy=fiecU;+U)kt8s6~cX&fv)w3E=Q|NiStIr7bWa{b|J z-wd)2uk5pS|IEdHDgYqC=-25jH^1((mBXJBVJuMymx0$44t|xPlqN2x`h``Va(k2# zU!ATtX;L+~UAwqTf%@G@ZJiBWDR0FOMkG62YRh1$yA!V5`grLXF&m_h9wN8(DaC-W zmS1s1jreKWV^co#vfPf?iclDWqPMn1TOxUXA<!%RjZT8BRLhMmL8aRXomi7apBMv% z^|yLlU#z$&I-l=592O+_ICnHKf6lq6i7!=9kfpDw5F~4R`|z$kTYrCP-fA8=V)3&$ z%5+q_A%ssCIr)i8!Eep-SJ&?sl749q>VWmf%C=K*xp>`k=lWwjCX1qpzz4X_Tt5L1 zr{gYi{YrbQCE2aV{XQ!3?QN@!0Z8t$f}D8uBf6cok9XX)%})wZhFTh44YImw@Rbs? z5P2#vueFG(T=c)d7W|XRaJN{U*mhN0me)=%Pi3WqZ=3(Np&VN9Zv_iM0{WtQ=3;A= z{1C>wsFxFL9>S!9o<TE(k*(CF*tI9l;p*+~>TI-b;C{9wAty)K{cR)XC6HN@Rk$2G z?rZ5KVM}@|xc7O7YZq_(-cR_EU*OYW2$}Lx3(KP32m0>XN_rz>q7Y2dWWw`0xX#7p zk2my_LThp0G9p{)*1yh3QL1}`_jLhnJ?DM!V(;DEJ+96-#g7k8`dP2B8rOlDjj#ZB z<>I-#|3}KH;Mwcc4k(IzIR5mmbfw=?!dXL6C^?75-HWV9N=jcdC<`u@?oAj6H9UqB zK)&*XJR|@ZcWU;v#iN%;M!7q``P%ubtjr^rBrb<nmckLH|4gx`)W;um)1+6ax%Na- zm|;W55Qm&S5NIu@L{A<@kN?>z`sM^IGvz8u#<}DJ>wA74ZP-8A2eHjpQ~%dbBsBu) z08P{SX00-3Des`76v=zfAVOiU>ZH~781qb3PpxGShZ_CV#);@l+P9y-e=j2X&kTyA zU|yVWhRjMuoh<C|pUcpH&dd^1M|^rZVslmgG~yg`GI{#_S1Ddm(2cb)u3x-4(=7(Z ziZjwek3a<Wx2FEU7>jiox=te2`NZ40Eb)Vu#Pl$95zi~U5|&u(Qrq3lB--<bF)qH8 z3_NlIPndj59p}=kNywC)qZ5!=FCUl80_&=I!0X>2uE-vzJ(dnJ7k^Xiw|OU~9W{sj zcZ5^ymF8WKQ-k3G0{j-#a=fgpSvC3IOv47+AmO_YQD=Il&fGGbIJ>3Tw7d-gWd6C$ zD#1;p?zIG~2v)I`HzFy4rXin>FQH*;d?G6Iu2c2r#z|LJMYU?>m7a_;ZuDi9{C9|n z291jia_mX8nI4h;#^gC89P9}jmz8|r7^e7o#7buS=VML7ovw{jW;R0O8(9n7a9VUc zRsM!#E^(|bH)6?&XO3pEocVAXSVm|Vizbe50=GVARyTgS-w^eZe-HJ_rRagZ#?^&& zYpu8ovW6^^^A@Tu^smRuWbA^%ag&@dSDpwyccYKuGpRIRy*2+ye}hDB+hQNo6M1vs zvfIkrY4=yXCnCBkQ|qx)_%WV%xAB|AZ+Lb-s}<g~9yo!Az*fTYgIxbNv<bFx$hdHv zLPIq#0uM`?9b*$~r_2euO>M+R!p1*+#HfMl)nOI%HNH1{K!c{?u+hC=;k|-xmlQqS zl^ngg%E?=~TVKDgN^XQ86{EJ{oIgDlP=vt1i>{LLoWp;r$;_3$-MhK|zG1L0RZ<6T zKVkkfTVMM^H46L;28_&x^}<NmpHK~(nHMt6@=2Tcm0#;MdgYRnoVg68{M69gG7OW_ zntqj(j~VLnFUq#-=cAc699?5OOjBPtdAO8@_LS9uFah<8z!R^pkw`X4Wu{H?lQLM| zz}!aJ()$O6eYuCu0G-2$u-;&U=N`0^I%(3`$OyACM!{-n{<8u#PS8hq&6dDf*xnn7 zdVN=&o6HP<Pr3~G5ujL6Vfe#afEJF|&pMc_!;NUrX<@lBX)ung+mgUGP@Nynz5gp@ zd2Se(ud7Fv4ZZH?i#?91w0kCm=QQ^N62%%+g_-s5c?Q)GQpuTxe18Pcr67ZYXYHp> zFp%s|K{PNoz7~dGq2kYnJOM%ASng1zNIvl4JT_Ycv-VJ$ygV9SorJ2cEX=lJttJrM zIS}*j=zA~)Eb5n>&om*NoHr8<caD_R188GXKjq2J-8$D7l*zas#>D;7!W#zY4CX{2 zg?tVdw_)F71D-Dwunvgb65eBy@yT-%8<b%hqM$Z6+$>#+d$+di+t|}4{J4k+@XC?n zv5=*w)O^?4;#g!^xMGekx_D~=6*!Xhas=3nb_5qx45>-r;TC<3L*MDD9ucceAs@3C zYxQJMWXYAng`eS^a`PJ%?R7@Fa_R;ui$KD;w&<M($(lb)v(Q+0KA;3doGculk&$Bo z?D^KqmDF7obaSL|^LQI=e1zU9kxp}+JV1BxTYZR5^J@P3+%GYAw#e>|b5QDas1pyk znw^oiXOnmsxu7VO3#3)GIHuFVe8nR$$qGt^2WES|1e}*>-tTD+YROyF*r(d9eMz5C zttNIPtRdYZihW$+o6KmCOAp7+F}gmaVu2_iVmn+YhUJYv!t}V3uMS4d;J#WC5I+06 z(B6FJyTViztVz^xT6LDVr?faUXB8vVnuELSVJfdTpMbvOEx{87X7uY@2m1A+$b(9z zn1cBC>Y;%f+{kC02lh;*!>3xagD!Dr-yw7C^QO(GLVy_;>yD=-`^zwRl5u9@#YTMn z8AjJ#dg$DxY0L8RJxr^AK6CejgHND0_jSgr<3%<tcK4&0g3<Da&P!;>^<RiO$;IIb z15@sr%hz2aO}`cWl+WG|<U9y~LAM&F)Hdk(YccB9XJB`GcBoho^Ob3%y$l0mnoJrK zm6|gjt}c*#;csdCv)3x`OQT+kfBHa+H>t2Q;tXr!G3YLxzwEG}P||+6v}8fl%4bzd z>4QziW5v2s@8DfyU3qK%aWc!~TAb`fY;K#-*#6F!aPZYsen_9jxM+%j+Y)Z#9InJv zXJM)pZ_m@-S7$%7wD0`=&-D`Q&72rF$l+jM9Gw@S-G(m(_uau<Z3SM;<EP@*)$#_* z6sWVg6->=k((EcAM@0xtpY-1i!kkW2No2O_n_;L!1)6De*M6^QlGK-ZQa&y4I61Ku z*^J>aka!=4je_})*mhw$Q+WR_pDqvZ3B;QL9pDC>k<sC9*!t%#Vxu1Pe*#B}J^ZSc z+9QP_L8vgGjyLv*y}B?}NZ={5ezTlWH;<~jE#sYSWdD87j3Rqu)6o4aj)>nIC(^Qs zha$pwO<+lI#jvr~3kZX;TfpX;GE3B@O0#3*=j$UUC7N)C&Lgkyv-Q{%iv<=#%a#dp zml|=X!RUUd55l0lq$!1JR&v^Csk9s(Bft9TJC(KKJ<pw`Bi}o+*W@hV-hD^NwVRtG zU*}Gw)jNGRs|rTR&QCp<oOY(?ufesLp7V}n2?z+x*KYGQ#P@V=D_(?~yx`Heby9O@ z@B-=4euwC@aDdFYq=r)bn!Jwn8E%v$>b-B9_aP3*fwid)Rb36fh39pLzjJ%lt`V25 zy?`4kHMMqJs0Wi!w=@Dlb|U{K2G1Wd(iLpRXrlZmF(@t$Sn}hkc0AbBQDzWTUE)o) z&s}kmB%GY|k*wt|8)StI?aDG`QK$JtCp4nYR*|KW@|fYKn|;2)kI854K^@=dhvhRu z5PW#qd4GW%#%I4Pxc!!3hs_8!a~H9^jiKi`5ry30Cr`pK%fM2`k!`6~HrL8yt1#yn zdXUA;^Nt!D$)Co?q_x;sTu*u!V8+Lr!dNM1&TdwxO*Msc<v3OgRF^-(%3xTt`8O)x zIf&tWhEE0Os_+ptW2Ma#XvN=i`jRWb;_<~9C#y}2oAFnPUXe}SX5JA1v};6wmCN!; zj69{_im<;n0os{eyp2Ol#|vm+j;gc5qTk)y)6$cUAKpuFuMx^LPD3nYJ0#M5k4Q-e z?wBP!S@R{`rnK~WAbb7g$v@nok09u@_5EL52Q{#W3Ttfo-``)L7S4WGwS1%2KXQ>O z#;v0desJbEo@-Nc(jL0W?H+_z^T^V44T?_(K80h<Ak_O8;-yyn+{wldN<f$}4#Wip z`)g|iJp_lfy5@o+GY~j&H?=12n!uI1<KxT?tT^o{9|8a3Wh^$aT%u%_d}6U;SbpQ; z>g6+)c5V5%=>gjiK5I5#G2(znoxg-9AGVAejLAzwr&mauN5;$d2*^5R1ck*Za*?eI zH&$v)s2J$@JHCZl>0`$zWdChA$t$eO)vCaKVF_mDX#9Gy+WFd<uE<o|=!lO=!vEKt z0@cXs19J_|l1h!JYWr^xYDF7m;5-VtEF5BrZ}H|<6;c>5$kHp4Bz7zCCU4@(Am}nJ z-xh@v_h#QnAV2Vj^_&8<2H<jmUe(4EbJTME*KKO~-==n|{_tP$zN{XSZLal~&@Lxp zcD_~y;_^qbQQ%^-P^w#RGY%A7@)^&#K#<j_Ow5Ro;a~jlm|1ZDLq4t&znskT=wAJb zmHrSHMr;<>0Vm^GcLTFUiG$0@h&5Q>KlfpgjhHb8r1f5+fN>=IH*SB_X`&Yk2To#? zJhfChG2ft<#Nf4*mBVT`_?7Z_e_4@fJ`x1sJ|A@=9&l_QR_wUKX98_qySrcX{Z2xB z(dBW}Rn^xqkqPbq(uiUxi->mq;68g#@x4TMv~As|^;r(wVhS^fynUblx2)`ax!6BV zL1ow|P<kDShp23L&`j4+7ZSOXNPg*Rp{eh`Jr127(U8KBN;wRBTZEm<H^uBsGaHuQ zldOE~P53jMvSY_K04ztj0Ot52Dx-{h1+rn+jKyY717+BsV|_HjdQ-1ZR6j=r8V)+z ztO2Iw?B{0_cGrHeK1&w`6?{BD;MGXf^Tva?wY#9Ec4=2u724wxe1460u{1QjpGTS= z<_k43wn+qei}+<@xYmbTmtlUyNWVwNP*?v+EJI_-(VAv#!rgyTO0~^FzctLHK{I|{ zZyoNKMU7)!P~sutb0;LPdFLQ+m}f^m;HD4GeL(TQzHA)Ey*xfS+S}}vYT%@D8_#cN z6IIo>8Mn)~8locROiQ19R|_;5cG?xrQV}>uJkR<#BBM@slEDC<!7yfSI%Z3dm%Pz* zs=S;qDG)0FZMsz0a16?I&Q-}gMWSm}R~IZr^=<XwoSq}RAtltM5X+vxg>}0eP2kaq z9FpVXgEd}a#`GbW*~<~~KczHJhT+N!!D(O)Q4wetNA4V`;=Fr_Q^FE`HTIkI_J&9E z2m3nteuE8_+X)|@l%Vth*fnyg2+jC@USiGbNFW+rzbIZVj~=N2E+i;Nl9YdHqC3dq zu*X6nH|j_h>p)O^+iAieeXFNld%!ZWZ!hBB$Uk~Cb*-S?C9wM?ZmRL>V}eyLVHfR| zOIE=4r03mBqmzE>ORM|Uc|tGZOAzyu{-3g<N($IW&pUC=-xAL&W}g()b<x23Z=XVH z;XLu~K_CVxF7?^Z;fL6fU5;fi^1%vrOxH(Nhf8R-9UIkYBWyys|M0Myf97w5UZu=z z@}ADbG6uYR{`?al?dYZ?yvY$Gtf0#4l}9q8WE-+m7GTgMIC@fQvbOWjFT|=$qxHAG zjL??Ql_VUYDVrqiV6&G1%$4*LfB+hft#K>P@{-NS+ve|`{BIah3S~L+d?irkRYnV( zEI$E?j|>-?tuGx({_Yz)bM_KnS7Jz!l+~?<=F0uR$2m1j8Nt6Wr`|am=w<pk(^4JR z+v-QWw%T)S5)P|0y`ENh$<{Kc({rG^b4Zd7*(Jr5aR?DPW=4~!Vw>I;v|lfF?_QHP zFO*&N_x9KPh?fJ5<mM}?I*jHb*g5B@g-X-_`BO@JQlIjyZA`ms1%hhgdV~PP@ULME z$+`cy{#g-bd?jYxKZ$nE>r7u2V&m8S0u#e5MwM?j$&Xt$xw@plTKI?a`7Duy2@iax zJAAuAzgaiv`d7FsLKqOx)QV*O@xCp;{9j5qISPtS8KX3&!Snu!w%s78wLSav_IBi_ z9^_J2gEc}Zx9(c*@W5(s1vom!ROI>AL#3Ftf2l#swewBZ$d$btn7@?;lAfYNI@14B zUg_X0Uc+u__N9B)H{;vi7%fxC0QpgieDvx@B~Qorxb0bClePCUyr7dSE$v<7jMiDF zr4R|x5xk&RMP|f@zb<Z`IS|G5-7zRVUJ|_nX13|pE!RZ09}x5_H(`?qhbd}T3jqcg zSz2n|rG!&`n=;I+q>udw4PeAjCKFRu3VRP{Pu6XHpCW&}KCcFCDz!~`{1cb-wB-40 zh3}W`hUi<5)TO3AwT4sBPTxm~BETD9pOLywx-~t%XvA-OGK>!k<)%|pmCN<Ovx`sB zjZL~rr}JDlO$<fucGWQhkAZh-5m<Ge)Y2T>z>TGS;tUY1>v}iCTJ}hKcF!W%rA}X^ zpTNkMna#}nmz&%9=$0<vrq|fJ^=RLw((mKkBgAX(nKwO4LR>%a7Br=wzIddX$xzHM zG(?^1Ti3A7-kJtI3-HAqy{YjzN0o<JQyz>TSw8&3e2q>o)kVa}q*Zji*iwD@%jxS{ zJOs*jf*pTQ4gu_@u00z4C$Z+Ji#Old)pp=#$tZ(4WsT0zlI7QzT91}{&r~1S>2#H7 z;%VF{zo`%jq34D95Iw}guj7b4C@A3iZ3b?x&n$OM3a(CeWXIf(jhoW$L%i;dP<*_J zJYn%H;`@}+#MPjc`;|8iCNl4Jf|_=b!Q;c-8Tf%ce5{|nc?s^FIsarD2Dr!1gOt<@ zDtJ2IPNDQ*bcJa(vhA8esdmd8>A2YpLSJBQA5YsQu|DKqsF9sTMsq)+Y0?LwO8-N6 znn*R9vsY&7Bp2(~!zZ#td3=JE#i5zO*0T|*M%?^;q+z}8|ME79X2}B#28^EIcfC0_ zd8<ifRR~ac?G>XKEJky@Od@*?7@I`@r&DzawS0Uyv~*X+zg<neD<};fXn7YRK(yFc zj+);k#vZZVBu!sKVriZ9c=7bCYjPV?63W5kt%HY(;-a2eO{L<sCd?Cl0^?3|;S5@( z^6XGvi$9K>5o9cUih3NgBs+rsXMGjmas1;fqSe0&Bxz_#0^`+9_8HJFvNWo*_%%n` zr5}SXibW<ukc&~Dm!*e1%%pt2!>CptR?fK)ZK%{&vn#x}7hTBkj&qivXFN$Z3D7UD z{5h^3XG$$fPfE-fF}U;rmVog*&s4HJr;GB1Bf+>+nh!lA64k}YZI5g39sO9t%NYI_ zl^km0Joi{1ySihW0?)_FAGs7DdF52G%TqyZVef&bIdI}70)a?P{>gkk%X{y9pP#<^ zH>Bd@^tAf<xo7wA<k7CXQXQM#45}a&^)uMlNN-1!OwJ~r%8|}y8Jn77Y<e0^RS5?} z54?uG#2KjDbhRuJ4drU`^w^H%jkCAO=4{1s+#xCDKi(xM1#lSneN9z<$u!i~mWGh_ z<!AbN@yUJ~>jL*YAgL(D+}+(f8t7~ZvzW+{NEJ+1%1&3x0~7;1!xVEd9~dZmG)?^< zgFdzG(IZ`)Jka3@$x5Vp^K^orp1DaV5a2V9JhJlRljVacvWkK%)sp2)6IE5EwYiCK zFvMaqNj#Zgcw(N3nFRF_K{#j@qj2kU9#^e+D$iej{}R*lX<8dYeC@Nl2?vc&G$fbZ zu8N`%^y@4nbNCzf(bDw@b#=`(K{A)i@cK{whEwl+2P-$nzP>2G@wG!7+TBtT`Mlpt z*HqdXL+snxL_^fiVk$>6og<!1GBPnvE}thFiQqTQEs>3&sV;2|2^yjq&)`kDi^5wU zjIof&DwgfcO37cb`9O#Ojw<k<G*!G1@aYXZI_ktr&kypMlRfx-`bYeI2|8QC^!LO_ zXDz1ZGrHr-CL~9sBucUANBlv7@|j@3_mbaKgD*ZcKxa#&Dj?UZ%Rl;?Tg)vkaB%l- zcK7y{0&QJyGg;Q>SyuB^|AvL2Io3dLXBW|M7@<JG=U^Bvjdgy4eq*W0sdt~Xvsb40 z;oCzvw&aPUT|9EAV+#$E`Y1uEpld1$3g7+dP0nAqNOIu{fp7zXKn%4)rAj&-=grr@ z#pzSuM>q+N?rG$u=LhNQtlv`aFW}SZX^*nICx+|7^n99hHpkT5ER(Y{n7T<M6k6Re z`~j$7mzMe@&9PL);Ek8N;mqYJ#%Gc^E*aOA-`XThG~jUs{*$JOCqn@va%gumzxc&{ z9NE*1q2Is2S2Sd@v#TCMSDBhmYnJWSxl-<zk_anF>h~R#-;9I;&ooAT+E+ifhk#!% zYXW=uCNJMi^PSf&qw5-<efW`*#N9jn5~&=ZS!-yQFLCq`gX?@ACT&g4?CbB~>0=>w zbw`MV3>2Z1RSgBp;ajg<<?8SP;h@3KJ-dgtrtl|PNqVitM2^wPMaCy*7{2}<>G*Y| z5U5%Z!!S{ll?#V$TfFu9w>bOW55P(A^sx?p@eBLtXo+me_qJ?~5A2B1Q0Hf6K21E8 zWigRtWMYhTCQBq7CgAhmcXg?%F3oi*+8UFn8=TFqC<@m`=D9Yq0E)n}otKx))Qzs= zio*Y*Y2wkKUk^WYpq*cSaX<atu?Hd;f_|M{U3E0af{f3kluXtNxUTGRCCU;kGxrme zA>g;eL1Xv8j+pYfhx<H7(U!}blv48N-=5_5^fWuWdN@3|w{jU^#s5k#@#$$QdO=gl z6*Ik9uUw$DA&aRC#PV>hG6x--PV#p@zDhc4G1%A03s3H<=?W@8K{=JWrm~|wN-W|h zp3E^9Pcbnu#?7mz8NKmS67yFn6tYN66d`#3-5>Dw8{bB_2_8An%1d9^OG8~?%fC;b zp|PVa%FeEO99J^8m?4$PFg88S?7{-!K#*`Sbl>2hsV=RtB&`h_hvf2_p3iXR@)Qyw z3YPsYaAt#t=mUOF*TiQdK{NE^u`Yh@*}Zf&haad*Lf2F}Tf?+A1R0%7l1SwPt}6$m z#0EY93Y(G5n^^;fuI*HiN`FtR=u?s&ftxbca4P9=Wn>Ip*Euq{cTMlb3jK3E{E%z8 zS}_nVJ@dp@kS;+eE+Kz@tqCJ#S=e2=Im<#Ki>4|Z+1o<Er>(jF<B<P&FIFgE@XW~` z_V+jO#+lo^bAFuhnIsbv873wsP*1%@C>TId4Q6H+P!*dePIU3}&+er@;``XVPfZi- z>209BImDjc2L9>Q>x@n%7#bfTlgseP;p6P-?fb~Po9miGTSKulaU<sT`qkMS#%HKF zIoALNHt4(R0REk(isyWW7CJWA$~T_dOLJ^%OqNiE;Ltz|jwAWwZ=DmjClk%mc7M%v z<p{;{$K3r;lwS=6{a+6FRNv2jZZA!-U`>hTMPRtR{8o<h*G6cnkMYpq!%K~MsX;~7 zI{mQRV=DVGeTGd-eG<Kfx!3uE!$17w8YAOz>LWgW?(=)7kNDS^HlGGat~Y!3^fqu} ze;Yfy>hYNx`GP|xn<t(~F*UP*P+a!!YUG<=+D}t`;A8ndO+%xnEkbu&l!Zi&*@ZO8 zOq%hjDL^4sSO1Yj#TCGBSadYSX{<}%6(pDaly818MlxLxw&TuA$=^|1KqmtHYfV*t z&2Q>Wd;1#rg)a=!-4@+a-;)pu%?$wzP36|@xX2akkd*9_k{iJFj~bL3@LS=K?^sV; zM7;R)K+)W+n2WP=qh-7N&G*Miq!S$3w~yAw#wDp&*|hc=&s9m?S8bhEqBbSrK%U0B zR88p>x2F>P<Ez)mWG(jXY~r~``_@EjKP_-9XQp;EhdDOb%A<!mX>ABGG#)3Hw;AYZ z;^&_`N>^(gs*rpPO4!RPmZtgueO+}Zio(=vibOig<lGFZP-%`eqTi!=-a?W1O`GOe zimsLg!h!rf`P>X$<@~i7#-@|FF1G8+?^3<Vga#_LrltS@6sJi<K~#K270Pe>Os%u0 zJt}_rO9$A~+ps135vW4Y-V{bt1w&(THD9pn9anZ!jD$~6V^aEN94b47q8t>s>h9hK zf`OHk9?FbvUG7EeIFg&g8dLK#gaSc!baWKwXUlS?wRiQk_o&#l_u+AzO4W#}kc0y{ zM2+bcmxtzvCyV1)_wQ;#*TkKXxu0f8mZ}z|_*td$G{qu3aqKugUmrsgF-E8BNau`? zZ5g}}3O#L6UV45nFFxH*UDzO-%W&$#87^Kw2QrPOx;3ZltOx*!t~msJ1sb9mx>^_L z@1CZ;F^-`-_YNYeptrLQRaMY*tsOX6&FTl92mZaTi5<<cp!(I%4zPb$<6RY4+z(6V zvk&j!@nU|iPuIjlLg7DB%=`Sve3Vc5{AQP-s~p)=Y^mmHBzyce9M|R4#VnR%v9r7T zPNZAb=vS=G|5)C<u5>KZun7mMyDg-Y6fB2xSEsRTmuT2z?-sq9KIkQ-<h9eIymxT| z(@=T%&_0?Qc9G5r6d;{5$m9%yzC5vLhJa~p7%E#~MS><@c)Sl)D17_XYb+!(ym9&z zu}GTFJhU5C7!)jxf~{iNDy~#K4V~h^FBj9W2>2}griHFLcWq)<R6Skwn1+Tc-B1>e z0Do6zOA6pAMd9~!O&yGcO!N82dU<GnJF2?%)8V2alb?BN7ulS}8)wIY>1^RK*LMFE zFbYiFYf$=tXH8v=v^R&?)m6X7_g4&Hlv8dl$)wKB+e7G@&d#20git+`#8*bCmIs@6 zaAx%}Y6Il5X%qD2F>AP5D~iJ8Y?>RRi%29p+M{%|gtw{av96CS@ZF!@AYZUKvUdml zJx35iW2qt#MUiClI@!EVCT9>1=4ptgF?IW63d^0Ss={CY;4<-4j_<#DnYPAaZL$$j zSGXw4T~uXNm(smny&X{+qCQ5aQu>m@3R9YIr~rqBP<~g})MMeG&-d8j0S@loPdaB{ zyEZ<<M$;U&vRr6y4)f9%21#ZLoc?e!<ht?&$CWpM{|YSLOCRM4O;vw0V2Z{kkN0qV zUt5hzO5#e%wVOWPzHpsrIL!Y3fu*|c(%IS7l}foEnX(45wJu$EX^kcD8Fp2L1n}ku zw|V>gII1Fe_K{xp?`qnn;<}Z}6!`P+USxPY&aUoej_vy_p<u9N|1GO4+f_+rO)@zH zRk--gj~^@zU8S=*g5yYTjm1f(3rx+W>FcPw6Sz`XX=q>W&;4Acp>lm>f#Hcb5}`Ye z`=ce_-D*ZW3j9Yy*Prp3rtieQ{XBa3I6{q*%9<one&&+_QW+D+QPETfRo$AFLCCMu z5Djp3c%Ed&3P>sYrDPWPkP3mUjc8^8eBSRj+JgauV}q^hI^2|lSMd%j>vG{{8rOB` z?d&Md(q3hzS4;7!<d<AMqHA@vVQuyy1kA#kR{5*JxZdxW&RV?x;UtdZQWrKk(7z2y zug~qr?+$bE`Yhp~$-&(ZQ5PwnQ0__v+gUQlvj!7$Q6}di*v`kV!YLdy`08f|c=|*) znkpEci1Yn7Z;?pnx8(V%LNM6Zh^7h*U2OtRtb5221%BVq#8UyE;XByh&&dOaFpMyk zEwF5rf~}G(Xe=iEjL${5Io`<hLU>Dle~O~8r#HsaCwd6_bX8SFrx40-15Z`r;YQv` zgAmG7nyUDBwAZntz0Lz}<$^DgxkP}`$uV?Ir?aiKXm)R4;NaS;tz7q~n%b=JLs4BK z!7S?1;HA~A&Aisoc$}M~i-5xJ9Sw9eZ=2og*XU%DAHO?<<GLK#yNA}s&YGTQI|3;c zas`d?*$87ZQL=gcWB2|;fnt@`z>XNU?egx0ao)Q)v1NmNySnR%6#E+ZDbBH3{?PXV z|6bR{qxDgL=&>XHJa+V9f`NK$M_@bZ(%%Bd5hw~cjv$lMnVbtVG#MkEHMZRQ)isre z54N*=M~ra5&@@%)SKwa(JMIN2kLtQMpej;1y0>**cNfXp!K?DltP7T+-6LbLkciV* zUtd!T{nZMxsOXmAB`ZF@R+D}C-+t4gE|l{$vAx#0tJ5Si#m+)U_O{&DTGo$?ntbKG zVdmpGI$EOa>N&QdMz^k1?rgfbc!-gydg3YH$L@28Mf^N-qKBa0Af2`N;oCz@&u6ye zxwbWi=xhmtbX8Rq`zX%(?gM^b*Tl1-fDt`;pqE2?9w!=(R=m(Ht4PNcBvL+xr(#Ua zZ!LAHs3u))4g3$^ILT)o+mEShepMAu0KZHzM|9JmRDh>ULvM_Pisq)GcyMx=k?Uq( z=Q1uAZ!J==3+(9ZKrPcmpjL&s7NQ$ZJYW8|5Ds<W40?^hgH)!##Tzq7DQSuY80_1g z9lw4pByya+GKJ67IJ);Z0pI3^Z`qDOQ6%ZC$@pxP`9xrCw0MgzRrm44@tvGJP@MmC zZFrtj7bkGtt*0t|rpC^$dK3i=UGD{s0>7rI;<;GVAA9srAA`G|AQY&r>c(-!()S0s zy!QXMcP2k_T=yOSyjQQbUZ-c@C{m=kg^~p+ilP8UVh1n~AwEP1V8a(9hx`q>1j!}$ z1W68A4m#M`gltH1h@}X!kZAKFTeK*P6e%t<oZ+lJ)6;7$@4XzVhO?3!Qj|nd{RL{O z(daHr_pg87`t3iK*GtT=REZMx;CyJ4FgfJ&ThESj^zbO2D+e7Zz70J4afosV_*EtG zj~=QqJzn0TL3``U$4v`kZl%i1!W^FKF+M!9qaSuR+3n0w@3vI$ZS~B4Bq^{2Zc4S( z*=nD>!^N*JHkn&$0&r}4fT3#GXT}{0Vz@N3Mw%K9PYy9XapGfLZ<8#$k;jeI3M=bH zKK;$AcWbS92*=0jh|o2B>$x+G)Cwf2;jOcCtT%fP<p2GpLp59_ab2fMR#5(Yso)Mi zd1{)+PkxPoa^;@n2N0(YYt4|^#evT}l(H$C&3NVXXo27U+LtL60!Jx14SbVqLi-LJ zl;WQV0`G)!5RV@p!QC9tyQ@%qzv{&}vCQ6xY4<vuI(jr;^{_>XyJMQh>?O>Pv+{cX zT1<<OmQo?Y&)XFb5<mLzTAg+`!Eq!fj||=QlB<WFD7EFv+&ab3<HV82?#m?bR7;d& z=*5bqwK7TSFj{LJsLk{<3qR<s#Ld`%;>pJz<$qq!Dgds|HyC^XZ?KO}RjCv`;zsNP zU-vv`XmX_F9GdtN-CmP!ubFAM*!!FJT%S^*xNj$tHd&HR02}Q9Z6qTDEe1;6PqaSt zz?Q$1Jax?H^oePHcJ6X9P0d%dv8R9^-V0IwM&P+a<)X{u$3}P7DDJWOcCu8bn{xU3 zGKC=E@YLiEw|l4Mm|f|h`@Qboirje-*U?mp-2)dmC#mNAl~q!07_5XGf27uD#_gVr zu|%=v#!4G&EuC(IOEd58zY1j6TxBUG#lkRy)lq!UyCqr1iDI=;Bu*3~11$<+eBe&1 zPup6#sfdo`^sz~P@YV-(qm;|n*Lmvn_yZ@up@ERekur<*MJc72#Nswu5&!qj+k1?N z-E$0vss)~Y{MVTn*?*y&-6q3!*CS1<bb1~m11)^-Q!WFudpi~f$^p-Q`3UcyzedkV zC$zD@b}vL(0iIS4!J+Xgle>zmZ}&4b7J5<2TC2&_*f_<oc$>P*dv~o5@a^mpG$^Gh z1j&J~uw3tOc`mC-ogORiT_DycN@f-|xHwa1y%{mT{F6+<whukd1-#p%5JE6DR^{n4 z&oDZ4n85e<B}+#dQZ1=B3v?rwTBXBKrF~!9`aTv>-eN_`$bgHh9HKa7dF{bW=(x(^ z*r6KlURXp3A-YjIGq=>b2rZr8);1N_Y<uiTDJJXH-o)t8xoR;Spi(N|(L0C|hvi0* zwN}VbrNj7O6DiH7#gzL#dwfb!E*0qXk}yup6T2Pce&1am_X{3yT)-b8IBG49l)}q4 zMhGdyzP~j=)~6z+6yEe$WnyZq=AS%rhKbQ*`w}K(vlxvPC`S|e3B%Pkm0}O&n9uYJ zkSf5Wdt;E7uDAJ<zkZcQE3&Ol@&fSt52y?svK7=v$%bRhar>bWA@HrhSAS3|`zKEy z9TR7cKf~zY6zVnuK{mZOYXw3;F^HHRU8hutJ~kl<;UJ{Km}Fn;QAihS_8LgtDCLj; z>W5sqx<IoNzYKf>Nbc74?xT-8Mkj#t7QU0u+;fewE+F%sz0Etc+;-k1%M$Q=SLW8A zUs!D&x^jJ`dUX1IP9J-Msj*{w%8NEF6Rjo9PCzeq2^$Fm<u27?5APFbffOnLYp^=r zp_E8<)7{>WB(pf(&9+*@{aXq9NkEgeFP=Ss!wA{5@K<|L`s8w|tL<ORjV{$+aen2o zCpbLy_$}vhS}S&h#admT3p1k>f`qBz29;9xo(a=hjn(?DElS^Y2m)`jUb|>5YCBQ( zivat$-+qnGt&oIl`&|#{ZaX^L&K<H%d27Irt>sFbm`b}FmzLMt?%d*aH%^ubyg`bE z!mhB6z*>PLEyhTq#G%vk*ysfG5`~oHlY8zDN!m05tM`6fs}a&gI3AcZJ8yfPF_yEJ zyZq?vWqNVi)!M!Uy!H^uyaD{&SY(o#>5X<A&MhvwX}U}h)DB!y1cD@WSZ{?0k<Erx zuE+Mu7vZ=F>Fy(kyJFIPpYBE}ue?1&eZ57T=!?MLvu)LFpD6oyP!IzbfLD!WK2CJ4 z-A%%!)rPlRzp8|26Z(UDl07>KQxGMJPS0n(71HT>`N%S}C&MZnA0gFEMHEtHr9Hyg zqliK(Ft@Q%t-1L=A-CRdt>x-Mn}2=z95<F4Hcs@6wfqg)EX0QiP2fk?GOx9njN-Ji zRBr|=^=raa5rIFjZ<6j-)@HLE(CYdKQaqJz$<CVWJ9fNGCiectrmrn_dHIctw7OB8 zq~>+tKen5neWL8+K|?2Z{a!c5ZuH``y3vZf#nsh9qd6-)S5gQDP`ljmO~Mo+@9r@& z>pyN4SZfyOMJ`g14Qz1p?6lQex?oLChIWrtxF31$)o`6<z4Q2&F_!bQJ-+u}Kj*^b z1$t51NVR<t_($$?4Z-Iq^l}0CsWw)|i5}Z%MgH~0CAZPMhH?zPS3U6L_c&EF+992; zk8%v2(p%nv)i(+AevoCF8eTiQ#yjs_A&T|7G4^}FPqx3NPn3N;s8}N_(Re%6R<*kE z@alTUpI@5y+T9!Yet}Y0*{6y^-27|F$Wv>FPUKT>7KmauFG(`Dn6RF^)5-^<w=Bwo zD5TXGE2+2P&G+iO@Goz0<@&1W^wPT4<|W`SfSHF_W(HUQ-m;b}sW!DJ)&uoM*SmIO z-f3)H#c?#QD&e~B9Vd@jn|TQ9t&n!l$5jT;-AS1DgDhtk+x+uO=UAyX(<C*&u$I3B zmik25$LC4$mVo~St|h4%@AQ(=a=q!@Se|ioTF3PU2>sx;O1D{|WNj7)+vs>Sa^=(7 zK?sX-c9EvhNEKjBdLW`S#?tAfT$qjc?!UjyD{r1>Wv$bRVtrK``**;f=N8u&Vf=kW zHn!{yW9?d!>Y-kg2K7eQ`)KyMTv+~yR(pYVw@a!eu5$Ny2)hZh7rU(Gqud<FWZ@KH zw?ZBF7>r)3w|ViEtDL(qOE1!OZR`uc_t`aatzRD0$L9rttZe0ZA^2TSImgOHuQpsO zs3Vi3OphO-R(XU<xqM5dbEL(QW=GGs5Edydr66LY)}~bG?NAEgxLBPaq=PkjkIS~O z+UC-N;lrydT$x>BX{Eu+TB{w!X+72U4d5SgqHlab<)(m>!0!mbH(cc$^*yKJDJM`$ z68bK+YL$tRM>u}?IK#DUANcKWe3n9xP%C#R1~Flvah17i%W|WW@VEc=0dM~FBHdov zOjGlH3x5b)WM4m}k3K#>@PJdmH-+Fi-&51Y(5;5P@{6I%*ie;;kuip9k1$Xkr4WWl zAu!frjloeeZ><zN5};C8YLyO0Ch9l4eXO-uoXo0p0))-VfYvs8ymu|;o%iRtczKRy zr$-W}X)jJ&QLNWeZGHy42>bw8?u!h_Mz=i*{3h8-iBqm}Mm$%RT;+tyk)H3loO<*K zCytz=TCP$EN+{*tk}Q>zCFxvcnHXBnr-0qrU{6!a)f?;l_v;_=+K*>!yBn{jSvA6+ zk?l4&eWL8+VS!IJFY!6xtBw@Me9x%_zAAaj30>t7h6T#S8iUm#MhAx}1R+|djE{^` zDr|L$S!*#iC2*Gs!VP+{MQhL&lEkpIG|yUFBBf$>q0ao`8qHRZC{E%|FKH&JSuw_5 zBTE3h2E4<aw;6uXWp^l--x=VSr4(meB}YSFRSSWu1}a5H28S6Ro}v&`sg}x=OGN_D zN6M_qK{*ziQ&_ps<B{<uO2*q<_N)s`8$+WRvEGVUS?luQ>;`YYdyToJW|CX}{{;Lg zw}~J3iL#G}0kz!9e1>fB>?v2tG0%0XzNZR~lrAExd)LNN3=7n%*)*IuPDpi%)-l?| zXk##XE9PZQw#EcNYn#TY?#793#fe_CmW#lfx#jo)(CUlgo=^mSiEP8;SCu1<yUM9} zu2WKubcB#7<xmU*!qCT43Z*2T>o8oaa%gOnu|b!~@dANwX|z)2R$`VLJyus6EG#Ut zu)NMjJ0glTsWv7~bTifFBWw9?Zv8LZDelup9}g1*FiEyi@Tpt@4?9u}yGoXnlA#pB zRgQG>6{6M{tBtX#Ha6DACR&@=7#nG0yW|D)0@@Z<a;xKm+(o-WR{z=GPkjF{oXhSj zz>`97R5^0kRk9$Z^c^W&ArRZg2RM$T6nYebtkJO9iRnfuTIXwAuxM>HS%RjOq~=nb z=$C;11m4SKc*h@AAALOR#97T<y~DsLFhI6ZRI=4Yv;nM=W!dXw$(L4sY|j$dJ~4i( zF8XwSvpbPL9wcjdmAPzHet7v&c9pD1DST_uTAQ{ub{V(|ybrvapKoxRWnz7z?4yr9 s9#*)yMLI|}u*2jxyp?@!cz1>W2ZFaJq#2TtFaQ7m07*qoM6N<$f<GYS$N&HU literal 0 HcmV?d00001 diff --git a/app/javascript/images/logo.svg b/app/javascript/images/logo.svg index c233db842..16cb3a944 100644 --- a/app/javascript/images/logo.svg +++ b/app/javascript/images/logo.svg @@ -1 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" height="1000" width="1000"><path d="M500 0a500 500 0 0 0-353.553 146.447 500 500 0 1 0 707.106 707.106A500 500 0 0 0 500 0zm-.059 280.05h107.12c-19.071 13.424-26.187 51.016-27.12 73.843V562.05c0 44.32-35.68 80-80 80s-80-35.68-80-80v-202c0-44.32 35.68-80 80-80zm-.441 52c-15.464 0-28 12.537-28 28 0 15.465 12.536 28 28 28s28-12.535 28-28c0-15.463-12.536-28-28-28zm-279.059 7.9c44.32 0 80 35.68 80 80v206.157c.933 22.827 8.049 60.42 27.12 73.842H220.44c-44.32 0-80-35.68-80-80v-200c0-44.32 35.68-80 80-80zm559.12 0c44.32 0 80 35.68 80 80v200c0 44.32-35.68 80-80 80H672.44c19.071-13.424 26.187-51.016 27.12-73.843V419.95c0-44.32 35.68-80 80-80zM220 392c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28zm560 0c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28zm-280.5 40.05c-15.464 0-28 12.537-28 28 0 15.465 12.536 28 28 28s28-12.535 28-28c0-15.463-12.536-28-28-28zM220 491.95c-15.464 0-28 12.535-28 28 0 15.463 12.536 28 28 28s28-12.537 28-28c0-15.465-12.536-28-28-28zm560 0c-15.464 0-28 12.535-28 28 0 15.463 12.536 28 28 28s28-12.537 28-28c0-15.465-12.536-28-28-28zM499.5 532c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28zM220 591.95c-15.464 0-28 12.535-28 28 0 15.463 12.536 28 28 28s28-12.537 28-28c0-15.465-12.536-28-28-28zm560 0c-15.464 0-28 12.535-28 28 0 15.463 12.536 28 28 28s28-12.537 28-28c0-15.465-12.536-28-28-28z" fill="#189efc"/></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" height="1000" width="1000"><path d="M500 0a500 500 0 0 0-353.553 146.447 500 500 0 1 0 707.106 707.106A500 500 0 0 0 500 0zm-.059 280.05h107.12c-19.071 13.424-26.187 51.016-27.12 73.843V562.05c0 44.32-35.68 80-80 80s-80-35.68-80-80v-202c0-44.32 35.68-80 80-80zm-.441 52c-15.464 0-28 12.537-28 28 0 15.465 12.536 28 28 28s28-12.535 28-28c0-15.463-12.536-28-28-28zm-279.059 7.9c44.32 0 80 35.68 80 80v206.157c.933 22.827 8.049 60.42 27.12 73.842H220.44c-44.32 0-80-35.68-80-80v-200c0-44.32 35.68-80 80-80zm559.12 0c44.32 0 80 35.68 80 80v200c0 44.32-35.68 80-80 80H672.44c19.071-13.424 26.187-51.016 27.12-73.843V419.95c0-44.32 35.68-80 80-80zM220 392c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28zm560 0c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28zm-280.5 40.05c-15.464 0-28 12.537-28 28 0 15.465 12.536 28 28 28s28-12.535 28-28c0-15.463-12.536-28-28-28zM220 491.95c-15.464 0-28 12.535-28 28 0 15.463 12.536 28 28 28s28-12.537 28-28c0-15.465-12.536-28-28-28zm560 0c-15.464 0-28 12.535-28 28 0 15.463 12.536 28 28 28s28-12.537 28-28c0-15.465-12.536-28-28-28zM499.5 532c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28zM220 591.95c-15.464 0-28 12.535-28 28 0 15.463 12.536 28 28 28s28-12.537 28-28c0-15.465-12.536-28-28-28zm560 0c-15.464 0-28 12.535-28 28 0 15.463 12.536 28 28 28s28-12.537 28-28c0-15.465-12.536-28-28-28z" fill="#fff"/></svg> diff --git a/app/javascript/mastodon/components/dropdown_menu.js b/app/javascript/mastodon/components/dropdown_menu.js index 12e1b44fa..98323b069 100644 --- a/app/javascript/mastodon/components/dropdown_menu.js +++ b/app/javascript/mastodon/components/dropdown_menu.js @@ -14,6 +14,7 @@ export default class DropdownMenu extends React.PureComponent { size: PropTypes.number.isRequired, direction: PropTypes.string, ariaLabel: PropTypes.string, + disabled: PropTypes.bool, }; static defaultProps = { @@ -68,9 +69,19 @@ export default class DropdownMenu extends React.PureComponent { } render () { - const { icon, items, size, direction, ariaLabel } = this.props; - const { expanded } = this.state; + const { icon, items, size, direction, ariaLabel, disabled } = this.props; + const { expanded } = this.state; const directionClass = (direction === 'left') ? 'dropdown__left' : 'dropdown__right'; + const iconStyle = { fontSize: `${size}px`, width: `${size}px`, lineHeight: `${size}px` }; + const iconClassname = `fa fa-fw fa-${icon} dropdown__icon`; + + if (disabled) { + return ( + <div className='icon-button disabled' style={iconStyle} aria-label={ariaLabel}> + <i className={iconClassname} aria-hidden /> + </div> + ); + } const dropdownItems = expanded && ( <ul className='dropdown__content-list'> @@ -80,8 +91,8 @@ export default class DropdownMenu extends React.PureComponent { return ( <Dropdown ref={this.setRef} onShow={this.handleShow} onHide={this.handleHide}> - <DropdownTrigger className='icon-button' style={{ fontSize: `${size}px`, width: `${size}px`, lineHeight: `${size}px` }} aria-label={ariaLabel}> - <i className={`fa fa-fw fa-${icon} dropdown__icon`} aria-hidden /> + <DropdownTrigger className='icon-button' style={iconStyle} aria-label={ariaLabel}> + <i className={iconClassname} aria-hidden /> </DropdownTrigger> <DropdownContent className={directionClass}> diff --git a/app/javascript/mastodon/components/media_gallery.js b/app/javascript/mastodon/components/media_gallery.js index 75222e965..89a358e38 100644 --- a/app/javascript/mastodon/components/media_gallery.js +++ b/app/javascript/mastodon/components/media_gallery.js @@ -11,18 +11,44 @@ const messages = defineMessages({ class Item extends React.PureComponent { + static contextTypes = { + router: PropTypes.object, + }; + static propTypes = { attachment: ImmutablePropTypes.map.isRequired, index: PropTypes.number.isRequired, size: PropTypes.number.isRequired, onClick: PropTypes.func.isRequired, - autoPlayGif: PropTypes.bool.isRequired, + autoPlayGif: PropTypes.bool, + }; + + static defaultProps = { + autoPlayGif: false, }; + handleMouseEnter = (e) => { + if (this.hoverToPlay()) { + e.target.play(); + } + } + + handleMouseLeave = (e) => { + if (this.hoverToPlay()) { + e.target.pause(); + e.target.currentTime = 0; + } + } + + hoverToPlay () { + const { attachment, autoPlayGif } = this.props; + return !autoPlayGif && attachment.get('type') === 'gifv'; + } + handleClick = (e) => { const { index, onClick } = this.props; - if (e.button === 0) { + if (this.context.router && e.button === 0) { e.preventDefault(); onClick(index); } @@ -116,6 +142,8 @@ class Item extends React.PureComponent { role='application' src={attachment.get('url')} onClick={this.handleClick} + onMouseEnter={this.handleMouseEnter} + onMouseLeave={this.handleMouseLeave} autoPlay={autoPlay} loop muted @@ -144,7 +172,11 @@ export default class MediaGallery extends React.PureComponent { height: PropTypes.number.isRequired, onOpenMedia: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, - autoPlayGif: PropTypes.bool.isRequired, + autoPlayGif: PropTypes.bool, + }; + + static defaultProps = { + autoPlayGif: false, }; state = { diff --git a/app/javascript/mastodon/components/permalink.js b/app/javascript/mastodon/components/permalink.js index 0b7d0a65a..d726d37a2 100644 --- a/app/javascript/mastodon/components/permalink.js +++ b/app/javascript/mastodon/components/permalink.js @@ -15,7 +15,7 @@ export default class Permalink extends React.PureComponent { }; handleClick = (e) => { - if (e.button === 0 && !(e.ctrlKey || e.metaKey)) { + if (this.context.router && e.button === 0 && !(e.ctrlKey || e.metaKey)) { e.preventDefault(); this.context.router.history.push(this.props.to); } @@ -25,7 +25,7 @@ export default class Permalink extends React.PureComponent { const { href, children, className, ...other } = this.props; return ( - <a href={href} onClick={this.handleClick} {...other} className={`permalink${className ? ' ' + className : ''}`}> + <a target='_blank' href={href} onClick={this.handleClick} {...other} className={`permalink${className ? ' ' + className : ''}`}> {children} </a> ); diff --git a/app/javascript/mastodon/components/status.js b/app/javascript/mastodon/components/status.js index df771f5a8..6b9fdd2af 100644 --- a/app/javascript/mastodon/components/status.js +++ b/app/javascript/mastodon/components/status.js @@ -140,12 +140,16 @@ export default class Status extends ImmutablePureComponent { } handleClick = () => { + if (!this.context.router) { + return; + } + const { status } = this.props; this.context.router.history.push(`/statuses/${status.getIn(['reblog', 'id'], status.get('id'))}`); } handleAccountClick = (e) => { - if (e.button === 0) { + if (this.context.router && e.button === 0) { const id = Number(e.currentTarget.getAttribute('data-id')); e.preventDefault(); this.context.router.history.push(`/accounts/${id}`); @@ -236,7 +240,7 @@ export default class Status extends ImmutablePureComponent { <div className='status__info'> <a href={status.get('url')} className='status__relative-time' target='_blank' rel='noopener'><RelativeTimestamp timestamp={status.get('created_at')} /></a> - <a onClick={this.handleAccountClick} data-id={status.getIn(['account', 'id'])} href={status.getIn(['account', 'url'])} className='status__display-name'> + <a onClick={this.handleAccountClick} target='_blank' data-id={status.getIn(['account', 'id'])} href={status.getIn(['account', 'url'])} className='status__display-name'> <div className='status__avatar'> {statusAvatar} </div> diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js index fd7c99054..7bb394e71 100644 --- a/app/javascript/mastodon/components/status_action_bar.js +++ b/app/javascript/mastodon/components/status_action_bar.js @@ -40,7 +40,7 @@ export default class StatusActionBar extends ImmutablePureComponent { onBlock: PropTypes.func, onReport: PropTypes.func, onMuteConversation: PropTypes.func, - me: PropTypes.number.isRequired, + me: PropTypes.number, withDismiss: PropTypes.bool, intl: PropTypes.object.isRequired, }; @@ -97,6 +97,7 @@ export default class StatusActionBar extends ImmutablePureComponent { const { status, me, intl, withDismiss } = this.props; const reblogDisabled = status.get('visibility') === 'private' || status.get('visibility') === 'direct'; const mutingConversation = status.get('muted'); + const anonymousAccess = !me; let menu = []; let reblogIcon = 'retweet'; @@ -137,12 +138,12 @@ export default class StatusActionBar extends ImmutablePureComponent { return ( <div className='status__action-bar'> - <IconButton className='status__action-bar-button' title={replyTitle} icon={replyIcon} onClick={this.handleReplyClick} /> - <IconButton className='status__action-bar-button' disabled={reblogDisabled} active={status.get('reblogged')} title={reblogDisabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /> - <IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /> + <IconButton className='status__action-bar-button' disabled={anonymousAccess} title={replyTitle} icon={replyIcon} onClick={this.handleReplyClick} /> + <IconButton className='status__action-bar-button' disabled={anonymousAccess || reblogDisabled} active={status.get('reblogged')} title={reblogDisabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /> + <IconButton className='status__action-bar-button star-icon' disabled={anonymousAccess} animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} /> <div className='status__action-bar-dropdown'> - <DropdownMenu items={menu} icon='ellipsis-h' size={18} direction='right' ariaLabel='More' /> + <DropdownMenu disabled={anonymousAccess} items={menu} icon='ellipsis-h' size={18} direction='right' ariaLabel='More' /> </div> </div> ); diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js index 02b4c8402..1b803a22e 100644 --- a/app/javascript/mastodon/components/status_content.js +++ b/app/javascript/mastodon/components/status_content.js @@ -6,6 +6,7 @@ import emojify from '../emoji'; import { isRtl } from '../rtl'; import { FormattedMessage } from 'react-intl'; import Permalink from './permalink'; +import classnames from 'classnames'; export default class StatusContent extends React.PureComponent { @@ -43,10 +44,11 @@ export default class StatusContent extends React.PureComponent { } else if (link.textContent[0] === '#' || (link.previousSibling && link.previousSibling.textContent && link.previousSibling.textContent[link.previousSibling.textContent.length - 1] === '#')) { link.addEventListener('click', this.onHashtagClick.bind(this, link.text), false); } else { - link.setAttribute('target', '_blank'); - link.setAttribute('rel', 'noopener'); link.setAttribute('title', link.href); } + + link.setAttribute('target', '_blank'); + link.setAttribute('rel', 'noopener'); } } @@ -59,7 +61,7 @@ export default class StatusContent extends React.PureComponent { } onMentionClick = (mention, e) => { - if (e.button === 0) { + if (this.context.router && e.button === 0) { e.preventDefault(); this.context.router.history.push(`/accounts/${mention.get('id')}`); } @@ -68,7 +70,7 @@ export default class StatusContent extends React.PureComponent { onHashtagClick = (hashtag, e) => { hashtag = hashtag.replace(/^#/, '').toLowerCase(); - if (e.button === 0) { + if (this.context.router && e.button === 0) { e.preventDefault(); this.context.router.history.push(`/timelines/tag/${hashtag}`); } @@ -120,6 +122,9 @@ export default class StatusContent extends React.PureComponent { const content = { __html: emojify(status.get('content')) }; const spoilerContent = { __html: emojify(escapeTextContentForBrowser(status.get('spoiler_text', ''))) }; const directionStyle = { direction: 'ltr' }; + const classNames = classnames('status__content', { + 'status__content--with-action': this.props.onClick && this.context.router, + }); if (isRtl(status.get('search_index'))) { directionStyle.direction = 'rtl'; @@ -141,7 +146,7 @@ export default class StatusContent extends React.PureComponent { } return ( - <div className='status__content status__content--with-action' ref={this.setRef} onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp}> + <div className={classNames} ref={this.setRef} onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp}> <p style={{ marginBottom: hidden && status.get('mentions').isEmpty() ? '0px' : null }}> <span dangerouslySetInnerHTML={spoilerContent} /> {' '} @@ -157,7 +162,7 @@ export default class StatusContent extends React.PureComponent { return ( <div ref={this.setRef} - className='status__content status__content--with-action' + className={classNames} style={directionStyle} onMouseDown={this.handleMouseDown} onMouseUp={this.handleMouseUp} diff --git a/app/javascript/mastodon/components/video_player.js b/app/javascript/mastodon/components/video_player.js index 452a84319..999cf42d9 100644 --- a/app/javascript/mastodon/components/video_player.js +++ b/app/javascript/mastodon/components/video_player.js @@ -14,6 +14,10 @@ const messages = defineMessages({ @injectIntl export default class VideoPlayer extends React.PureComponent { + static contextTypes = { + router: PropTypes.object, + }; + static propTypes = { media: ImmutablePropTypes.map.isRequired, width: PropTypes.number, @@ -119,11 +123,15 @@ export default class VideoPlayer extends React.PureComponent { </div> ); - let expandButton = ( - <div className='status__video-player-expand'> - <IconButton overlay title={intl.formatMessage(messages.expand_video)} icon='expand' onClick={this.handleExpand} /> - </div> - ); + let expandButton = ''; + + if (this.context.router) { + expandButton = ( + <div className='status__video-player-expand'> + <IconButton overlay title={intl.formatMessage(messages.expand_video)} icon='expand' onClick={this.handleExpand} /> + </div> + ); + } let muteButton = ''; @@ -138,7 +146,7 @@ export default class VideoPlayer extends React.PureComponent { if (!this.state.visible) { if (sensitive) { return ( - <div role='button' tabIndex='0' style={{ width: `${width}px`, height: `${height}px` }} className='media-spoiler' onClick={this.handleVisibility}> + <div role='button' tabIndex='0' style={{ width: `${width}px`, height: `${height}px`, marginTop: '8px' }} className='media-spoiler' onClick={this.handleVisibility}> {spoilerButton} <span className='media-spoiler__warning'><FormattedMessage id='status.sensitive_warning' defaultMessage='Sensitive content' /></span> <span className='media-spoiler__trigger'><FormattedMessage id='status.sensitive_toggle' defaultMessage='Click to view' /></span> @@ -146,7 +154,7 @@ export default class VideoPlayer extends React.PureComponent { ); } else { return ( - <div role='button' tabIndex='0' style={{ width: `${width}px`, height: `${height}px` }} className='media-spoiler' onClick={this.handleVisibility}> + <div role='button' tabIndex='0' style={{ width: `${width}px`, height: `${height}px`, marginTop: '8px' }} className='media-spoiler' onClick={this.handleVisibility}> {spoilerButton} <span className='media-spoiler__warning'><FormattedMessage id='status.media_hidden' defaultMessage='Media hidden' /></span> <span className='media-spoiler__trigger'><FormattedMessage id='status.sensitive_toggle' defaultMessage='Click to view' /></span> diff --git a/app/javascript/mastodon/containers/timeline_container.js b/app/javascript/mastodon/containers/timeline_container.js new file mode 100644 index 000000000..6b545ef09 --- /dev/null +++ b/app/javascript/mastodon/containers/timeline_container.js @@ -0,0 +1,39 @@ +import React from 'react'; +import { Provider } from 'react-redux'; +import PropTypes from 'prop-types'; +import configureStore from '../store/configureStore'; +import { hydrateStore } from '../actions/store'; +import { IntlProvider, addLocaleData } from 'react-intl'; +import { getLocale } from '../locales'; +import PublicTimeline from '../features/standalone/public_timeline'; + +const { localeData, messages } = getLocale(); +addLocaleData(localeData); + +const store = configureStore(); +const initialStateContainer = document.getElementById('initial-state'); + +if (initialStateContainer !== null) { + const initialState = JSON.parse(initialStateContainer.textContent); + store.dispatch(hydrateStore(initialState)); +} + +export default class TimelineContainer extends React.PureComponent { + + static propTypes = { + locale: PropTypes.string.isRequired, + }; + + render () { + const { locale } = this.props; + + return ( + <IntlProvider locale={locale} messages={messages}> + <Provider store={store}> + <PublicTimeline /> + </Provider> + </IntlProvider> + ); + } + +} diff --git a/app/javascript/mastodon/features/standalone/public_timeline/index.js b/app/javascript/mastodon/features/standalone/public_timeline/index.js new file mode 100644 index 000000000..de4b5320a --- /dev/null +++ b/app/javascript/mastodon/features/standalone/public_timeline/index.js @@ -0,0 +1,76 @@ +import React from 'react'; +import { connect } from 'react-redux'; +import PropTypes from 'prop-types'; +import StatusListContainer from '../../ui/containers/status_list_container'; +import { + refreshPublicTimeline, + expandPublicTimeline, +} from '../../../actions/timelines'; +import Column from '../../../components/column'; +import ColumnHeader from '../../../components/column_header'; +import { defineMessages, injectIntl } from 'react-intl'; + +const messages = defineMessages({ + title: { id: 'standalone.public_title', defaultMessage: 'A look inside...' }, +}); + +@connect() +@injectIntl +export default class PublicTimeline extends React.PureComponent { + + static propTypes = { + dispatch: PropTypes.func.isRequired, + intl: PropTypes.object.isRequired, + }; + + handleHeaderClick = () => { + this.column.scrollTop(); + } + + setRef = c => { + this.column = c; + } + + componentDidMount () { + const { dispatch } = this.props; + + dispatch(refreshPublicTimeline()); + + this.polling = setInterval(() => { + dispatch(refreshPublicTimeline()); + }, 3000); + } + + componentWillUnmount () { + if (typeof this.polling !== 'undefined') { + clearInterval(this.polling); + this.polling = null; + } + } + + handleLoadMore = () => { + this.props.dispatch(expandPublicTimeline()); + } + + render () { + const { intl } = this.props; + + return ( + <Column ref={this.setRef}> + <ColumnHeader + icon='globe' + title={intl.formatMessage(messages.title)} + onClick={this.handleHeaderClick} + /> + + <StatusListContainer + timelineId='public' + loadMore={this.handleLoadMore} + scrollKey='standalone_public_timeline' + trackScroll={false} + /> + </Column> + ); + } + +} diff --git a/app/javascript/packs/public.js b/app/javascript/packs/public.js index 254250a3b..0b00da39d 100644 --- a/app/javascript/packs/public.js +++ b/app/javascript/packs/public.js @@ -4,6 +4,9 @@ import { delegate } from 'rails-ujs'; import emojify from '../mastodon/emoji'; import { getLocale } from '../mastodon/locales'; import loadPolyfills from '../mastodon/load_polyfills'; +import TimelineContainer from '../mastodon/containers/timeline_container'; +import React from 'react'; +import ReactDOM from 'react-dom'; require.context('../images/', true); @@ -36,6 +39,13 @@ function loaded() { const datetime = new Date(content.getAttribute('datetime')); content.textContent = relativeFormat.format(datetime);; }); + + const mountNode = document.getElementById('mastodon-timeline'); + + if (mountNode !== null) { + const props = JSON.parse(mountNode.getAttribute('data-props')); + ReactDOM.render(<TimelineContainer {...props} />, mountNode); + } } function main() { diff --git a/app/javascript/styles/about.scss b/app/javascript/styles/about.scss index 3512bdcb4..b9c018391 100644 --- a/app/javascript/styles/about.scss +++ b/app/javascript/styles/about.scss @@ -116,10 +116,6 @@ .wrapper { padding: 20px; } - - .features-list { - display: block; - } } } @@ -301,80 +297,438 @@ } } -.features-list { +.features-list__row { display: flex; - margin-bottom: 20px; + padding: 10px 0; + justify-content: space-between; + + &:first-child { + padding-top: 0; + } - .features-list__column { - flex: 1 1 0; + .visual { + flex: 0 0 auto; + display: flex; + align-items: center; + margin-left: 15px; - ul { - list-style: none; + .fa { + display: block; + color: $ui-primary-color; + font-size: 48px; } + } - li { - margin: 0; + .text { + font-size: 16px; + line-height: 30px; + color: lighten($ui-base-color, 26%); + + h6 { + font-weight: 500; + color: $ui-primary-color; } } } -.screenshot-with-signup { - display: flex; - margin-bottom: 20px; - - .mascot { - flex: 1 1 auto; - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; +.landing-page { + .header-wrapper { + padding-top: 15px; + background: $ui-base-color; + background: linear-gradient(150deg, lighten($ui-base-color, 8%), $ui-base-color); + position: relative; - img { - display: block; + .mascot-container { + max-width: 800px; margin: 0 auto; - max-width: 100%; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 100%; + } + + .mascot { + position: absolute; + bottom: -14px; + width: auto; height: auto; + left: 60px; + z-index: 3; + } + } + + p, + li { + font: inherit; + font-weight: inherit; + margin-bottom: 0; + } + + .header { + line-height: 30px; + overflow: hidden; + + .container { + display: flex; + justify-content: space-between; + } + + .hero { + margin-top: 50px; + align-items: center; + position: relative; + + .floats { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + + img { + position: absolute; + transition: all 0.1s linear; + animation-name: floating; + animation-duration: 1.7s; + animation-iteration-count: infinite; + animation-direction: alternate; + animation-timing-function: linear; + z-index: 2; + } + + .float-1 { + height: 170px; + right: -120px; + bottom: 0; + } + + .float-2 { + height: 100px; + right: 210px; + bottom: 0; + animation-delay: 0.2s; + } + + .float-3 { + height: 140px; + right: 110px; + top: -30px; + animation-delay: 0.1s; + } + } + + .simple_form, + .closed-registrations-message { + background: darken($ui-base-color, 4%); + width: 280px; + padding: 15px 20px; + border-radius: 4px 4px 0 0; + line-height: initial; + position: relative; + z-index: 4; + + .actions { + margin-bottom: 0; + + button, + .button, + .block-button { + margin-bottom: 0; + } + } + } + + .heading { + position: relative; + z-index: 4; + padding-bottom: 150px; + } + + .closed-registrations-message { + min-height: 330px; + display: flex; + flex-direction: column; + justify-content: space-between; + } + } + + ul { + list-style: none; + margin: 0; + + li { + display: inline-block; + vertical-align: bottom; + margin: 0; + + &:first-child a { + padding-left: 0; + } + + &:last-child a { + padding-right: 0; + } + } + } + + .links { + position: relative; + z-index: 4; + + a { + display: flex; + justify-content: center; + align-items: center; + color: $ui-primary-color; + text-decoration: none; + padding: 12px 16px; + line-height: 32px; + font-family: 'mastodon-font-display', sans-serif; + font-weight: 500; + font-size: 14px; + + &:hover { + color: $ui-secondary-color; + } + } + + .brand { + a { + padding-left: 0; + color: $white; + } + + img { + width: 32px; + height: 32px; + margin-right: 10px; + } + } + } + } + + .container { + width: 100%; + box-sizing: border-box; + max-width: 800px; + margin: 0 auto; + } + + .wrapper { + max-width: 800px; + margin: 0 auto; + padding: 0; + } + + .learn-more-cta { + background: darken($ui-base-color, 4%); + padding: 50px 0; + } + + h3 { + font-family: 'mastodon-font-display', sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 500; + margin-bottom: 20px; + color: $ui-primary-color; + } + + p { + font-size: 16px; + line-height: 30px; + color: lighten($ui-base-color, 26%); + } + + .features { + padding: 50px 0; + + .container { + display: flex; } } - .simple_form, - .closed-registrations-message { - width: 300px; + #mastodon-timeline { + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + font-family: 'mastodon-font-sans-serif', sans-serif; + font-size: 13px; + line-height: 18px; + font-weight: 400; + color: $primary-text-color; + width: 330px; + margin-right: 30px; flex: 0 0 auto; - background: rgba(darken($ui-base-color, 7%), 0.5); - padding: 14px; - border-radius: 4px; - box-shadow: 0 0 15px rgba($base-shadow-color, 0.4); + background: $ui-base-color; + overflow: hidden; + box-shadow: 0 0 6px rgba($black, 0.1); - .actions { - margin-bottom: 0; + .column { + padding: 0; + border-radius: 4px; + overflow: hidden; + height: 100%; } - .info { - text-align: center; + .scrollable { + height: 400px; + } + + p { + font-size: inherit; + line-height: inherit; + font-weight: inherit; + color: $primary-text-color; a { color: $ui-secondary-color; + text-decoration: none; } } } - @media screen and (max-width: 625px) { - .mascot { + .about-mastodon { + max-width: 675px; + + p { + margin-bottom: 20px; + } + + .features-list { + margin-top: 20px; + } + } + + em { + display: inline; + margin: 0; + padding: 0; + font-weight: 500; + background: transparent; + font-family: inherit; + font-size: inherit; + line-height: inherit; + color: $ui-primary-color; + } + + h1 { + font-family: 'mastodon-font-display', sans-serif; + font-size: 26px; + line-height: 30px; + margin-bottom: 0; + font-weight: 500; + color: $ui-secondary-color; + + small { + font-family: 'mastodon-font-sans-serif', sans-serif; + display: block; + font-size: 18px; + font-weight: 400; + color: lighten($ui-base-color, 26%); + } + } + + .footer-links { + padding-bottom: 50px; + text-align: right; + color: lighten($ui-base-color, 26%); + + p { + font-size: 14px; + } + + a { + color: inherit; + text-decoration: underline; + } + } + + @media screen and (max-width: 800px) { + .container { + padding: 0 20px; + } + + .header-wrapper .mascot { + left: 20px; + } + } + + @media screen and (max-width: 689px) { + .header-wrapper .mascot { display: none; } + } - .simple_form, - .closed-registrations-message { - flex: auto; + @media screen and (max-width: 675px) { + .header-wrapper { + padding-top: 0; + } + + .header .container, + .features .container { + display: block; + } + + .links { + padding-top: 15px; + background: darken($ui-base-color, 4%); + } + + .header { + padding-top: 0; + + .hero { + margin-top: 30px; + padding: 0; + + .heading { + padding-bottom: 20px; + } + } + + .floats { + display: none; + } + + .heading, + .nav { + text-align: center; + } + + .heading h1 { + padding: 30px 0; + } + + .hero { + .simple_form, + .closed-registrations-message { + background: darken($ui-base-color, 8%); + width: 100%; + border-radius: 0; + box-sizing: border-box; + } + } + } + + #mastodon-timeline { + height: 70vh; + width: 100%; + margin-bottom: 50px; } } } -.closed-registrations-message { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - text-align: center; +@keyframes floating { + from { + transform: translate(0, 0); + } + + 65% { + transform: translate(0, 4px); + } + + to { + transform: translate(0, -0); + } } diff --git a/app/javascript/styles/basics.scss b/app/javascript/styles/basics.scss index 4da698e81..182ea36a4 100644 --- a/app/javascript/styles/basics.scss +++ b/app/javascript/styles/basics.scss @@ -1,6 +1,6 @@ body { font-family: 'mastodon-font-sans-serif', sans-serif; - background: $ui-base-color url('../images/background-photo.jpg'); + background: $ui-base-color; background-size: cover; background-attachment: fixed; font-size: 13px; @@ -22,6 +22,11 @@ body { background: $ui-base-color; } + &.about-body { + background: darken($ui-base-color, 8%); + padding-bottom: 0; + } + &.embed { background: transparent; margin: 0; diff --git a/app/javascript/styles/boost.scss b/app/javascript/styles/boost.scss index 8d6478e10..5eb3149ef 100644 --- a/app/javascript/styles/boost.scss +++ b/app/javascript/styles/boost.scss @@ -12,3 +12,7 @@ button.icon-button i.fa-retweet { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='209'><path d='M4.97 3.16c-.1.03-.17.1-.22.18L.8 8.24c-.2.3.03.78.4.8H3.6v2.68c0 4.26-.55 3.62 3.66 3.62h7.66l-2.3-2.84c-.03-.02-.03-.04-.05-.06H7.27c-.44 0-.72-.3-.72-.72v-2.7h2.5c.37.03.63-.48.4-.77L5.5 3.35c-.12-.17-.34-.25-.53-.2zm12.16.43c-.55-.02-1.32.02-2.4.02H7.1l2.32 2.85.03.06h5.25c.42 0 .72.28.72.72v2.7h-2.5c-.36.02-.56.54-.3.8l3.92 4.9c.18.25.6.25.78 0l3.94-4.9c.26-.28 0-.83-.37-.8H18.4v-2.7c0-3.15.4-3.62-1.25-3.66z' fill='#{hex-color(lighten($ui-base-color, 33%))}' stroke-width='0'/><path d='M7.78 19.66c-.24.02-.44.25-.44.5v2.46h-.06c-1.08 0-1.86-.03-2.4-.03-1.64 0-1.25.43-1.25 3.65v4.47c0 4.26-.56 3.62 3.65 3.62H8.5l-1.3-1.06c-.1-.08-.18-.2-.2-.3-.02-.17.06-.35.2-.45l1.33-1.1H7.28c-.44 0-.72-.3-.72-.7v-4.48c0-.44.28-.72.72-.72h.06v2.5c0 .38.54.63.82.38l4.9-3.93c.25-.18.25-.6 0-.78l-4.9-3.92c-.1-.1-.24-.14-.38-.12zm9.34 2.93c-.54-.02-1.3.02-2.4.02h-1.25l1.3 1.07c.1.07.18.2.2.33.02.16-.06.3-.2.4l-1.33 1.1h1.28c.42 0 .72.28.72.72v4.47c0 .42-.3.72-.72.72h-.1v-2.47c0-.3-.3-.53-.6-.47-.07 0-.14.05-.2.1l-4.9 3.93c-.26.18-.26.6 0 .78l4.9 3.92c.27.25.82 0 .8-.38v-2.5h.1c4.27 0 3.65.67 3.65-3.62v-4.47c0-3.15.4-3.62-1.25-3.66zM10.34 38.66c-.24.02-.44.25-.43.5v2.47H7.3c-1.08 0-1.86-.04-2.4-.04-1.64 0-1.25.43-1.25 3.65v4.47c0 3.66-.23 3.7 2.34 3.66l-1.34-1.1c-.1-.08-.18-.2-.2-.3 0-.17.07-.35.2-.45l1.96-1.6c-.03-.06-.04-.13-.04-.2v-4.48c0-.44.28-.72.72-.72H9.9v2.5c0 .36.5.6.8.38l4.93-3.93c.24-.18.24-.6 0-.78l-4.94-3.92c-.1-.08-.23-.13-.36-.12zm5.63 2.93l1.34 1.1c.1.07.18.2.2.33.02.16-.03.3-.16.4l-1.96 1.6c.02.07.06.13.06.22v4.47c0 .42-.3.72-.72.72h-2.66v-2.47c0-.3-.3-.53-.6-.47-.06.02-.12.05-.18.1l-4.94 3.93c-.24.18-.24.6 0 .78l4.94 3.92c.28.22.78-.02.78-.38v-2.5h2.66c4.27 0 3.65.67 3.65-3.62v-4.47c0-3.66.34-3.7-2.4-3.66zM13.06 57.66c-.23.03-.4.26-.4.5v2.47H7.28c-1.08 0-1.86-.04-2.4-.04-1.64 0-1.25.43-1.25 3.65v4.87l2.93-2.37v-2.5c0-.44.28-.72.72-.72h5.38v2.5c0 .36.5.6.78.38l4.94-3.93c.24-.18.24-.6 0-.78l-4.94-3.92c-.1-.1-.24-.14-.38-.12zm5.3 6.15l-2.92 2.4v2.52c0 .42-.3.72-.72.72h-5.4v-2.47c0-.3-.32-.53-.6-.47-.07.02-.13.05-.2.1L3.6 70.52c-.25.18-.25.6 0 .78l4.93 3.92c.28.22.78-.02.78-.38v-2.5h5.42c4.27 0 3.65.67 3.65-3.62v-4.47-.44zM19.25 78.8c-.1.03-.2.1-.28.17l-.9.9c-.44-.3-1.36-.25-3.35-.25H7.28c-1.08 0-1.86-.03-2.4-.03-1.64 0-1.25.43-1.25 3.65v.7l2.93.3v-1c0-.44.28-.72.72-.72h7.44c.2 0 .37.08.5.2l-1.8 1.8c-.25.26-.08.76.27.8l6.27.7c.28.03.56-.25.53-.53l-.7-6.25c0-.27-.3-.48-.55-.44zm-17.2 6.1c-.2.07-.36.3-.33.54l.7 6.25c.02.36.58.55.83.27l.8-.8c.02 0 .04-.02.04 0 .46.24 1.37.17 3.18.17h7.44c4.27 0 3.65.67 3.65-3.62v-.75l-2.93-.3v1.05c0 .42-.3.72-.72.72H7.28c-.15 0-.3-.03-.4-.1L8.8 86.4c.3-.24.1-.8-.27-.84l-6.28-.65h-.2zM4.88 98.6c-1.33 0-1.34.48-1.3 2.3l1.14-1.37c.08-.1.22-.17.34-.2.16 0 .34.08.44.2l1.66 2.03c.04 0 .07-.03.12-.03h7.44c.34 0 .57.2.65.5h-2.43c-.34.05-.53.52-.3.78l3.92 4.95c.18.24.6.24.78 0l3.94-4.94c.22-.27-.02-.76-.37-.77H18.4c.02-3.9.6-3.4-3.66-3.4H7.28c-1.08 0-1.86-.04-2.4-.04zm.15 2.46c-.1.03-.2.1-.28.2l-3.94 4.9c-.2.28.03.77.4.78H3.6c-.02 3.94-.45 3.4 3.66 3.4h7.44c3.65 0 3.74.3 3.7-2.25l-1.1 1.34c-.1.1-.2.17-.32.2-.16 0-.34-.08-.44-.2l-1.65-2.03c-.06.02-.1.04-.18.04H7.28c-.35 0-.57-.2-.66-.5h2.44c.37 0 .63-.5.4-.78l-3.96-4.9c-.1-.15-.3-.23-.47-.2zM4.88 117.6c-1.16 0-1.3.3-1.3 1.56l1.14-1.38c.08-.1.22-.14.34-.16.16 0 .34.04.44.16l2.22 2.75h7c.42 0 .72.28.72.72v.53h-2.6c-.3.1-.43.54-.2.78l3.92 4.9c.18.25.6.25.78 0l3.94-4.9c.22-.28-.02-.77-.37-.78H18.4v-.53c0-4.2.72-3.63-3.66-3.63H7.28c-1.08 0-1.86-.03-2.4-.03zm.1 1.74c-.1.03-.17.1-.23.16L.8 124.44c-.2.28.03.77.4.78H3.6v.5c0 4.26-.55 3.62 3.66 3.62h7.44c1.03 0 1.74.02 2.28 0-.16.02-.34-.03-.44-.15l-2.22-2.76H7.28c-.44 0-.72-.3-.72-.72v-.5h2.5c.37.02.63-.5.4-.78L5.5 119.5c-.12-.15-.34-.22-.53-.16zm12.02 10c1.2-.02 1.4-.25 1.4-1.53l-1.1 1.36c-.07.1-.17.17-.3.18zM5.94 136.6l2.37 2.93h6.42c.42 0 .72.28.72.72v1.25h-2.6c-.3.1-.43.54-.2.78l3.92 4.9c.18.25.6.25.78 0l3.94-4.9c.22-.28-.02-.77-.37-.78H18.4v-1.25c0-4.2.72-3.63-3.66-3.63H7.28c-.6 0-.92-.02-1.34-.03zm-1.72.06c-.4.08-.54.3-.6.75l.6-.74zm.84.93c-.12 0-.24.08-.3.18l-3.95 4.9c-.24.3 0 .83.4.82H3.6v1.22c0 4.26-.55 3.62 3.66 3.62h7.44c.63 0 .97.02 1.4.03l-2.37-2.93H7.28c-.44 0-.72-.3-.72-.72v-1.22h2.5c.4.04.67-.53.4-.8l-3.96-4.92c-.1-.13-.27-.2-.44-.2zm13.28 10.03l-.56.7c.36-.07.5-.3.56-.7zM17.13 155.6c-.55-.02-1.32.03-2.4.03h-8.2l2.38 2.9h5.82c.42 0 .72.28.72.72v1.97H12.9c-.32.06-.48.52-.28.78l3.94 4.94c.2.23.6.22.78-.03l3.94-4.9c.22-.28-.02-.77-.37-.78H18.4v-1.97c0-3.15.4-3.62-1.25-3.66zm-12.1.28c-.1.02-.2.1-.28.18l-3.94 4.9c-.2.3.03.78.4.8H3.6v1.96c0 4.26-.55 3.62 3.66 3.62h8.24l-2.36-2.9H7.28c-.44 0-.72-.3-.72-.72v-1.97h2.5c.37.02.63-.5.4-.78l-3.96-4.9c-.1-.15-.3-.22-.47-.2zM5.13 174.5c-.15 0-.3.07-.38.2L.8 179.6c-.24.27 0 .82.4.8H3.6v2.32c0 4.26-.55 3.62 3.66 3.62h7.94l-2.35-2.9h-5.6c-.43 0-.7-.3-.7-.72v-2.3h2.5c.38.03.66-.54.4-.83l-3.97-4.9c-.1-.13-.23-.2-.38-.2zm12 .1c-.55-.02-1.32.03-2.4.03H6.83l2.35 2.9h5.52c.42 0 .72.28.72.72v2.34h-2.6c-.3.1-.43.53-.2.78l3.92 4.9c.18.24.6.24.78 0l3.94-4.9c.22-.3-.02-.78-.37-.8H18.4v-2.33c0-3.15.4-3.62-1.25-3.66zM4.97 193.16c-.1.03-.17.1-.22.18l-3.94 4.9c-.2.3.03.78.4.8H3.6v2.68c0 4.26-.55 3.62 3.66 3.62h7.66l-2.3-2.84c-.03-.02-.03-.04-.05-.06H7.27c-.44 0-.72-.3-.72-.72v-2.7h2.5c.37.03.63-.48.4-.77l-3.96-4.9c-.12-.17-.34-.25-.53-.2zm12.16.43c-.55-.02-1.32.03-2.4.03H7.1l2.32 2.84.03.06h5.25c.42 0 .72.28.72.72v2.7h-2.5c-.36.02-.56.54-.3.8l3.92 4.9c.18.25.6.25.78 0l3.94-4.9c.26-.28 0-.83-.37-.8H18.4v-2.7c0-3.15.4-3.62-1.25-3.66z' fill='#{hex-color($ui-highlight-color)}' stroke-width='0'/></svg>"); } } + +button.icon-button.disabled i.fa-retweet { + background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='22' height='209'><path d='M4.97 3.16c-.1.03-.17.1-.22.18L.8 8.24c-.2.3.03.78.4.8H3.6v2.68c0 4.26-.55 3.62 3.66 3.62h7.66l-2.3-2.84c-.03-.02-.03-.04-.05-.06H7.27c-.44 0-.72-.3-.72-.72v-2.7h2.5c.37.03.63-.48.4-.77L5.5 3.35c-.12-.17-.34-.25-.53-.2zm12.16.43c-.55-.02-1.32.02-2.4.02H7.1l2.32 2.85.03.06h5.25c.42 0 .72.28.72.72v2.7h-2.5c-.36.02-.56.54-.3.8l3.92 4.9c.18.25.6.25.78 0l3.94-4.9c.26-.28 0-.83-.37-.8H18.4v-2.7c0-3.15.4-3.62-1.25-3.66z' fill='#{hex-color(lighten($ui-base-color, 13%))}' stroke-width='0'/><path d='M7.78 19.66c-.24.02-.44.25-.44.5v2.46h-.06c-1.08 0-1.86-.03-2.4-.03-1.64 0-1.25.43-1.25 3.65v4.47c0 4.26-.56 3.62 3.65 3.62H8.5l-1.3-1.06c-.1-.08-.18-.2-.2-.3-.02-.17.06-.35.2-.45l1.33-1.1H7.28c-.44 0-.72-.3-.72-.7v-4.48c0-.44.28-.72.72-.72h.06v2.5c0 .38.54.63.82.38l4.9-3.93c.25-.18.25-.6 0-.78l-4.9-3.92c-.1-.1-.24-.14-.38-.12zm9.34 2.93c-.54-.02-1.3.02-2.4.02h-1.25l1.3 1.07c.1.07.18.2.2.33.02.16-.06.3-.2.4l-1.33 1.1h1.28c.42 0 .72.28.72.72v4.47c0 .42-.3.72-.72.72h-.1v-2.47c0-.3-.3-.53-.6-.47-.07 0-.14.05-.2.1l-4.9 3.93c-.26.18-.26.6 0 .78l4.9 3.92c.27.25.82 0 .8-.38v-2.5h.1c4.27 0 3.65.67 3.65-3.62v-4.47c0-3.15.4-3.62-1.25-3.66zM10.34 38.66c-.24.02-.44.25-.43.5v2.47H7.3c-1.08 0-1.86-.04-2.4-.04-1.64 0-1.25.43-1.25 3.65v4.47c0 3.66-.23 3.7 2.34 3.66l-1.34-1.1c-.1-.08-.18-.2-.2-.3 0-.17.07-.35.2-.45l1.96-1.6c-.03-.06-.04-.13-.04-.2v-4.48c0-.44.28-.72.72-.72H9.9v2.5c0 .36.5.6.8.38l4.93-3.93c.24-.18.24-.6 0-.78l-4.94-3.92c-.1-.08-.23-.13-.36-.12zm5.63 2.93l1.34 1.1c.1.07.18.2.2.33.02.16-.03.3-.16.4l-1.96 1.6c.02.07.06.13.06.22v4.47c0 .42-.3.72-.72.72h-2.66v-2.47c0-.3-.3-.53-.6-.47-.06.02-.12.05-.18.1l-4.94 3.93c-.24.18-.24.6 0 .78l4.94 3.92c.28.22.78-.02.78-.38v-2.5h2.66c4.27 0 3.65.67 3.65-3.62v-4.47c0-3.66.34-3.7-2.4-3.66zM13.06 57.66c-.23.03-.4.26-.4.5v2.47H7.28c-1.08 0-1.86-.04-2.4-.04-1.64 0-1.25.43-1.25 3.65v4.87l2.93-2.37v-2.5c0-.44.28-.72.72-.72h5.38v2.5c0 .36.5.6.78.38l4.94-3.93c.24-.18.24-.6 0-.78l-4.94-3.92c-.1-.1-.24-.14-.38-.12zm5.3 6.15l-2.92 2.4v2.52c0 .42-.3.72-.72.72h-5.4v-2.47c0-.3-.32-.53-.6-.47-.07.02-.13.05-.2.1L3.6 70.52c-.25.18-.25.6 0 .78l4.93 3.92c.28.22.78-.02.78-.38v-2.5h5.42c4.27 0 3.65.67 3.65-3.62v-4.47-.44zM19.25 78.8c-.1.03-.2.1-.28.17l-.9.9c-.44-.3-1.36-.25-3.35-.25H7.28c-1.08 0-1.86-.03-2.4-.03-1.64 0-1.25.43-1.25 3.65v.7l2.93.3v-1c0-.44.28-.72.72-.72h7.44c.2 0 .37.08.5.2l-1.8 1.8c-.25.26-.08.76.27.8l6.27.7c.28.03.56-.25.53-.53l-.7-6.25c0-.27-.3-.48-.55-.44zm-17.2 6.1c-.2.07-.36.3-.33.54l.7 6.25c.02.36.58.55.83.27l.8-.8c.02 0 .04-.02.04 0 .46.24 1.37.17 3.18.17h7.44c4.27 0 3.65.67 3.65-3.62v-.75l-2.93-.3v1.05c0 .42-.3.72-.72.72H7.28c-.15 0-.3-.03-.4-.1L8.8 86.4c.3-.24.1-.8-.27-.84l-6.28-.65h-.2zM4.88 98.6c-1.33 0-1.34.48-1.3 2.3l1.14-1.37c.08-.1.22-.17.34-.2.16 0 .34.08.44.2l1.66 2.03c.04 0 .07-.03.12-.03h7.44c.34 0 .57.2.65.5h-2.43c-.34.05-.53.52-.3.78l3.92 4.95c.18.24.6.24.78 0l3.94-4.94c.22-.27-.02-.76-.37-.77H18.4c.02-3.9.6-3.4-3.66-3.4H7.28c-1.08 0-1.86-.04-2.4-.04zm.15 2.46c-.1.03-.2.1-.28.2l-3.94 4.9c-.2.28.03.77.4.78H3.6c-.02 3.94-.45 3.4 3.66 3.4h7.44c3.65 0 3.74.3 3.7-2.25l-1.1 1.34c-.1.1-.2.17-.32.2-.16 0-.34-.08-.44-.2l-1.65-2.03c-.06.02-.1.04-.18.04H7.28c-.35 0-.57-.2-.66-.5h2.44c.37 0 .63-.5.4-.78l-3.96-4.9c-.1-.15-.3-.23-.47-.2zM4.88 117.6c-1.16 0-1.3.3-1.3 1.56l1.14-1.38c.08-.1.22-.14.34-.16.16 0 .34.04.44.16l2.22 2.75h7c.42 0 .72.28.72.72v.53h-2.6c-.3.1-.43.54-.2.78l3.92 4.9c.18.25.6.25.78 0l3.94-4.9c.22-.28-.02-.77-.37-.78H18.4v-.53c0-4.2.72-3.63-3.66-3.63H7.28c-1.08 0-1.86-.03-2.4-.03zm.1 1.74c-.1.03-.17.1-.23.16L.8 124.44c-.2.28.03.77.4.78H3.6v.5c0 4.26-.55 3.62 3.66 3.62h7.44c1.03 0 1.74.02 2.28 0-.16.02-.34-.03-.44-.15l-2.22-2.76H7.28c-.44 0-.72-.3-.72-.72v-.5h2.5c.37.02.63-.5.4-.78L5.5 119.5c-.12-.15-.34-.22-.53-.16zm12.02 10c1.2-.02 1.4-.25 1.4-1.53l-1.1 1.36c-.07.1-.17.17-.3.18zM5.94 136.6l2.37 2.93h6.42c.42 0 .72.28.72.72v1.25h-2.6c-.3.1-.43.54-.2.78l3.92 4.9c.18.25.6.25.78 0l3.94-4.9c.22-.28-.02-.77-.37-.78H18.4v-1.25c0-4.2.72-3.63-3.66-3.63H7.28c-.6 0-.92-.02-1.34-.03zm-1.72.06c-.4.08-.54.3-.6.75l.6-.74zm.84.93c-.12 0-.24.08-.3.18l-3.95 4.9c-.24.3 0 .83.4.82H3.6v1.22c0 4.26-.55 3.62 3.66 3.62h7.44c.63 0 .97.02 1.4.03l-2.37-2.93H7.28c-.44 0-.72-.3-.72-.72v-1.22h2.5c.4.04.67-.53.4-.8l-3.96-4.92c-.1-.13-.27-.2-.44-.2zm13.28 10.03l-.56.7c.36-.07.5-.3.56-.7zM17.13 155.6c-.55-.02-1.32.03-2.4.03h-8.2l2.38 2.9h5.82c.42 0 .72.28.72.72v1.97H12.9c-.32.06-.48.52-.28.78l3.94 4.94c.2.23.6.22.78-.03l3.94-4.9c.22-.28-.02-.77-.37-.78H18.4v-1.97c0-3.15.4-3.62-1.25-3.66zm-12.1.28c-.1.02-.2.1-.28.18l-3.94 4.9c-.2.3.03.78.4.8H3.6v1.96c0 4.26-.55 3.62 3.66 3.62h8.24l-2.36-2.9H7.28c-.44 0-.72-.3-.72-.72v-1.97h2.5c.37.02.63-.5.4-.78l-3.96-4.9c-.1-.15-.3-.22-.47-.2zM5.13 174.5c-.15 0-.3.07-.38.2L.8 179.6c-.24.27 0 .82.4.8H3.6v2.32c0 4.26-.55 3.62 3.66 3.62h7.94l-2.35-2.9h-5.6c-.43 0-.7-.3-.7-.72v-2.3h2.5c.38.03.66-.54.4-.83l-3.97-4.9c-.1-.13-.23-.2-.38-.2zm12 .1c-.55-.02-1.32.03-2.4.03H6.83l2.35 2.9h5.52c.42 0 .72.28.72.72v2.34h-2.6c-.3.1-.43.53-.2.78l3.92 4.9c.18.24.6.24.78 0l3.94-4.9c.22-.3-.02-.78-.37-.8H18.4v-2.33c0-3.15.4-3.62-1.25-3.66zM4.97 193.16c-.1.03-.17.1-.22.18l-3.94 4.9c-.2.3.03.78.4.8H3.6v2.68c0 4.26-.55 3.62 3.66 3.62h7.66l-2.3-2.84c-.03-.02-.03-.04-.05-.06H7.27c-.44 0-.72-.3-.72-.72v-2.7h2.5c.37.03.63-.48.4-.77l-3.96-4.9c-.12-.17-.34-.25-.53-.2zm12.16.43c-.55-.02-1.32.03-2.4.03H7.1l2.32 2.84.03.06h5.25c.42 0 .72.28.72.72v2.7h-2.5c-.36.02-.56.54-.3.8l3.92 4.9c.18.25.6.25.78 0l3.94-4.9c.26-.28 0-.83-.37-.8H18.4v-2.7c0-3.15.4-3.62-1.25-3.66z' fill='#{hex-color($ui-highlight-color)}' stroke-width='0'/></svg>"); +} diff --git a/app/javascript/styles/components.scss b/app/javascript/styles/components.scss index def69d250..8d0350eb6 100644 --- a/app/javascript/styles/components.scss +++ b/app/javascript/styles/components.scss @@ -42,8 +42,38 @@ cursor: default; } + &.button-alternative { + font-size: 16px; + line-height: 36px; + height: auto; + color: $ui-base-color; + background: $ui-primary-color; + text-transform: none; + padding: 4px 16px; + + &:active, + &:focus, + &:hover { + background-color: lighten($ui-primary-color, 4%); + } + } + &.button-secondary { - // + font-size: 16px; + line-height: 36px; + height: auto; + color: $ui-primary-color; + text-transform: none; + background: transparent; + padding: 3px 15px; + border: 1px solid $ui-primary-color; + + &:active, + &:focus, + &:hover { + border-color: lighten($ui-primary-color, 4%); + color: lighten($ui-primary-color, 4%); + } } &.button--block { diff --git a/app/javascript/styles/containers.scss b/app/javascript/styles/containers.scss index 68f73e0c0..44d4c1118 100644 --- a/app/javascript/styles/containers.scss +++ b/app/javascript/styles/containers.scss @@ -10,52 +10,36 @@ } .logo-container { - max-width: 400px; margin: 100px auto; - margin-bottom: 0; - cursor: default; + margin-bottom: 50px; @media screen and (max-width: 360px) { margin: 30px auto; } h1 { - display: block; - text-align: center; - color: $primary-text-color; - font-size: 48px; - font-weight: 500; + display: flex; + justify-content: center; + align-items: center; img { - display: block; - margin: 20px auto; - width: 180px; - height: 180px; + width: 32px; + height: 32px; + margin-right: 10px; } a { - color: inherit; + display: flex; + justify-content: center; + align-items: center; + color: $primary-text-color; text-decoration: none; outline: 0; - - img { - opacity: 0.8; - transition: opacity 0.8s ease; - } - - &:hover { - img { - opacity: 1; - transition-duration: 0.2s; - } - } - } - - small { - display: block; - font-size: 12px; - font-weight: 400; - font-family: 'mastodon-font-monospace', monospace; + padding: 12px 16px; + line-height: 32px; + font-family: 'mastodon-font-display', sans-serif; + font-weight: 500; + font-size: 14px; } } } diff --git a/app/javascript/styles/fonts/montserrat.scss b/app/javascript/styles/fonts/montserrat.scss index e4012ab02..206f1865e 100644 --- a/app/javascript/styles/fonts/montserrat.scss +++ b/app/javascript/styles/fonts/montserrat.scss @@ -7,3 +7,11 @@ font-weight: 400; font-style: normal; } + +@font-face { + font-family: 'mastodon-font-display'; + src: local('Montserrat'), + url('../fonts/montserrat/Montserrat-Medium.ttf') format('truetype'); + font-weight: 500; + font-style: normal; +} diff --git a/app/javascript/styles/forms.scss b/app/javascript/styles/forms.scss index 414dc4fe8..e723b50ff 100644 --- a/app/javascript/styles/forms.scss +++ b/app/javascript/styles/forms.scss @@ -24,6 +24,20 @@ code { p.hint { margin-bottom: 15px; + color: lighten($ui-base-color, 32%); + + &.subtle-hint { + text-align: center; + font-size: 12px; + line-height: 18px; + margin-top: 15px; + margin-bottom: 0; + color: lighten($ui-base-color, 26%); + + a { + color: $ui-primary-color; + } + } } strong { @@ -197,8 +211,6 @@ code { &:active, &:focus { - position: relative; - top: 1px; background-color: darken($ui-highlight-color, 5%); } @@ -219,6 +231,27 @@ code { select { font-size: 16px; } + + .input-with-append { + position: relative; + + .input input { + padding-right: 127px; + } + + .append { + position: absolute; + right: 0; + top: 0; + padding: 7px 4px; + padding-bottom: 9px; + font-size: 16px; + color: lighten($ui-base-color, 26%); + font-family: inherit; + pointer-events: none; + cursor: default; + } + } } .flash-message { @@ -240,7 +273,7 @@ code { text-align: center; a { - color: $primary-text-color; + color: $ui-primary-color; text-decoration: none; &:hover { diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb index 63ef23d5d..5d5be58ba 100644 --- a/app/presenters/instance_presenter.rb +++ b/app/presenters/instance_presenter.rb @@ -5,6 +5,7 @@ class InstancePresenter :closed_registrations_message, :site_contact_email, :open_registrations, + :site_title, :site_description, :site_extended_description, :site_terms, diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb index 49ff9e377..6751c9411 100644 --- a/app/serializers/initial_state_serializer.rb +++ b/app/serializers/initial_state_serializer.rb @@ -5,32 +5,41 @@ class InitialStateSerializer < ActiveModel::Serializer :media_attachments, :settings def meta - { + store = { streaming_api_base_url: Rails.configuration.x.streaming_api_base_url, access_token: object.token, locale: I18n.locale, domain: Rails.configuration.x.local_domain, - me: object.current_account.id, admin: object.admin&.id, - boost_modal: object.current_account.user.setting_boost_modal, - delete_modal: object.current_account.user.setting_delete_modal, - auto_play_gif: object.current_account.user.setting_auto_play_gif, - system_font_ui: object.current_account.user.setting_system_font_ui, } + + if object.current_account + store[:me] = object.current_account.id + store[:boost_modal] = object.current_account.user.setting_boost_modal + store[:delete_modal] = object.current_account.user.setting_delete_modal + store[:auto_play_gif] = object.current_account.user.setting_auto_play_gif + store[:system_font_ui] = object.current_account.user.setting_system_font_ui + end + + store end def compose - { - me: object.current_account.id, - default_privacy: object.current_account.user.setting_default_privacy, - default_sensitive: object.current_account.user.setting_default_sensitive, - } + store = {} + + if object.current_account + store[:me] = object.current_account.id + store[:default_privacy] = object.current_account.user.setting_default_privacy + store[:default_sensitive] = object.current_account.user.setting_default_sensitive + end + + store end def accounts store = {} - store[object.current_account.id] = ActiveModelSerializers::SerializableResource.new(object.current_account, serializer: REST::AccountSerializer) - store[object.admin.id] = ActiveModelSerializers::SerializableResource.new(object.admin, serializer: REST::AccountSerializer) unless object.admin.nil? + store[object.current_account.id] = ActiveModelSerializers::SerializableResource.new(object.current_account, serializer: REST::AccountSerializer) if object.current_account + store[object.admin.id] = ActiveModelSerializers::SerializableResource.new(object.admin, serializer: REST::AccountSerializer) if object.admin store end diff --git a/app/views/about/_features.html.haml b/app/views/about/_features.html.haml new file mode 100644 index 000000000..8fbc6b760 --- /dev/null +++ b/app/views/about/_features.html.haml @@ -0,0 +1,25 @@ +.features-list + .features-list__row + .text + %h6= t 'about.features.real_conversation_title' + = t 'about.features.real_conversation_body' + .visual + = fa_icon 'fw comments' + .features-list__row + .text + %h6= t 'about.features.not_a_product_title' + = t 'about.features.not_a_product_body' + .visual + = fa_icon 'fw users' + .features-list__row + .text + %h6= t 'about.features.within_reach_title' + = t 'about.features.within_reach_body' + .visual + = fa_icon 'fw mobile' + .features-list__row + .text + %h6= t 'about.features.humane_approach_title' + = t 'about.features.humane_approach_body' + .visual + = fa_icon 'fw leaf' diff --git a/app/views/about/_registration.html.haml b/app/views/about/_registration.html.haml index 4f38c1ecc..eeeb0088f 100644 --- a/app/views/about/_registration.html.haml +++ b/app/views/about/_registration.html.haml @@ -1,10 +1,13 @@ = simple_form_for(new_user, url: user_registration_path) do |f| = f.simple_fields_for :account do |account_fields| - = account_fields.input :username, - autofocus: true, - placeholder: t('simple_form.labels.defaults.username'), - required: true, - input_html: { 'aria-label' => t('simple_form.labels.defaults.username') } + .input-with-append + = account_fields.input :username, + autofocus: true, + placeholder: t('simple_form.labels.defaults.username'), + required: true, + input_html: { 'aria-label' => t('simple_form.labels.defaults.username') } + .append + = "@#{site_hostname}" = f.input :email, placeholder: t('simple_form.labels.defaults.email'), @@ -22,9 +25,6 @@ input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password') } .actions - = f.button :button, t('about.get_started'), type: :submit + = f.button :button, t('auth.register'), type: :submit, class: 'button button-alternative' - .info - = link_to t('auth.login'), new_user_session_path, class: 'webapp-btn' - · - = link_to t('about.about_this'), about_more_path + %p.hint.subtle-hint=t('auth.agreement_html', rules_path: about_more_path, terms_path: terms_path) diff --git a/app/views/about/show.html.haml b/app/views/about/show.html.haml index d15b04163..f75f87c99 100644 --- a/app/views/about/show.html.haml +++ b/app/views/about/show.html.haml @@ -1,4 +1,5 @@ - content_for :header_tags do + %script#initial-state{ type: 'application/json' }!= json_escape(@initial_state_json) = javascript_pack_tag 'public', integrity: true, crossorigin: 'anonymous' - content_for :page_title do @@ -9,79 +10,70 @@ %meta{ property: 'og:url', content: about_url }/ %meta{ property: 'og:type', content: 'website' }/ %meta{ property: 'og:title', content: site_hostname }/ - %meta{ property: 'og:description', content: strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon')) }/ + %meta{ property: 'og:description', content: strip_tags(@instance_presenter.site_description.presence || t('about.about_mastodon_html')) }/ %meta{ property: 'og:image', content: asset_pack_path('mastodon_small.jpg', protocol: :request) }/ %meta{ property: 'og:image:width', content: '400' }/ %meta{ property: 'og:image:height', content: '400' }/ %meta{ property: 'twitter:card', content: 'summary' }/ -.wrapper - %h1 - = image_tag asset_pack_path('logo.png') - = Setting.site_title +.landing-page + .header-wrapper + .mascot-container + = image_tag asset_pack_path('elephant-fren.png'), class: 'mascot' - %p!= t('about.about_mastodon') + .header + .container.links + .brand + = link_to root_url do + = image_tag asset_pack_path('logo.svg') + Mastodon - .screenshot-with-signup - .mascot= image_tag asset_pack_path('fluffy-elephant-friend.png') + %ul.nav + %li + - if user_signed_in? + = link_to t('settings.back'), root_url, class: 'webapp-btn' + - else + = link_to t('auth.login'), new_user_session_path, class: 'webapp-btn' + %li= link_to t('about.about_this'), about_more_path + %li= link_to t('about.other_instances'), 'https://joinmastodon.org/' - - if @instance_presenter.open_registrations - = render 'registration' - - else - .closed-registrations-message - - if @instance_presenter.closed_registrations_message.blank? - %p= t('about.closed_registrations') + .container.hero + .floats + = image_tag asset_pack_path('cloud2.png'), class: 'float-1' + = image_tag asset_pack_path('cloud3.png'), class: 'float-2' + = image_tag asset_pack_path('cloud4.png'), class: 'float-3' + .heading + %h1 + = @instance_presenter.site_title + %small= t 'about.hosted_on', domain: site_hostname + - if @instance_presenter.open_registrations + = render 'registration' - else - != @instance_presenter.closed_registrations_message - .info - = link_to t('auth.login'), new_user_session_path, class: 'webapp-btn' - · - = link_to t('about.other_instances'), 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/List-of-Mastodon-instances.md' - · - = link_to t('about.about_this'), about_more_path + .closed-registrations-message + %div + - if @instance_presenter.closed_registrations_message.blank? + %p= t('about.closed_registrations') + - else + = @instance_presenter.closed_registrations_message.html_safe + = link_to t('about.find_another_instance'), 'https://joinmastodon.org', class: 'button button-alternative button--block' - %h3= t('about.features_headline') + .learn-more-cta + .container + %h3= t('about.description_headline', domain: site_hostname) + %p= @instance_presenter.site_description.html_safe.presence || t('about.generic_description', domain: site_hostname) - .features-list - .features-list__column - %ul.fa-ul - %li - = fa_icon('li check-square') - = t 'about.features.chronology' - %li - = fa_icon('li check-square') - = t 'about.features.public' - %li - = fa_icon('li check-square') - = t 'about.features.characters' - %li - = fa_icon('li check-square') - = t 'about.features.gifv' - .features-list__column - %ul.fa-ul - %li - = fa_icon('li check-square') - = t 'about.features.privacy' - %li - = fa_icon('li check-square') - = t 'about.features.blocks' - %li - = fa_icon('li check-square') - = t 'about.features.ethics' - %li - = fa_icon('li check-square') - = t 'about.features.api' + .features + .container + - if Setting.timeline_preview + #mastodon-timeline{ data: { props: Oj.dump(default_props) } } - - unless @instance_presenter.site_description.blank? - %h3= t('about.description_headline', domain: site_hostname) - %p!= @instance_presenter.site_description - - .actions - .info - = link_to t('about.terms'), terms_path - · - = link_to t('about.apps'), 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md' - · - = link_to t('about.source_code'), 'https://github.com/tootsuite/mastodon' - · - = link_to t('about.other_instances'), 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/List-of-Mastodon-instances.md' + .about-mastodon + %h3= t 'about.what_is_mastodon' + %p= t 'about.about_mastodon_html' + %a.button.button-secondary{ href: 'https://joinmastodon.org' }= t 'about.learn_more' + = render 'features' + .footer-links + .container + %p + = link_to t('about.source_code'), 'https://github.com/tootsuite/mastodon' + = " (#{@instance_presenter.version_number})" diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml index 3096a958d..59192530b 100644 --- a/app/views/admin/settings/edit.html.haml +++ b/app/views/admin/settings/edit.html.haml @@ -12,54 +12,53 @@ %tr %td %strong= t('admin.settings.contact_information.label') - %td= text_field_tag :site_contact_username, - @settings['site_contact_username'].value, - place_holder: t('admin.settings.contact_information.username') + %td= text_field_tag :site_contact_username, @settings['site_contact_username'].value, place_holder: t('admin.settings.contact_information.username') %tr %td %strong= t('admin.accounts.email') - %td= text_field_tag :site_contact_email, - @settings['site_contact_email'].value, - place_holder: t('admin.settings.contact_information.email') + %td= text_field_tag :site_contact_email, @settings['site_contact_email'].value, place_holder: t('admin.settings.contact_information.email') %tr %td %strong= t('admin.settings.site_title') - %td= text_field_tag :site_title, - @settings['site_title'].value + %td= text_field_tag :site_title, @settings['site_title'].value %tr %td %strong= t('admin.settings.site_description.title') %p= t('admin.settings.site_description.desc_html') - %td= text_area_tag :site_description, - @settings['site_description'].value, - rows: 8 + %td= text_area_tag :site_description, @settings['site_description'].value, rows: 8 %tr %td %strong= t('admin.settings.site_description_extended.title') %p= t('admin.settings.site_description_extended.desc_html') - %td= text_area_tag :site_extended_description, - @settings['site_extended_description'].value, - rows: 8 + %td= text_area_tag :site_extended_description, @settings['site_extended_description'].value, rows: 8 %tr %td %strong= t('admin.settings.site_terms.title') %p= t('admin.settings.site_terms.desc_html') - %td= text_area_tag :site_terms, - @settings['site_terms'].value, - rows: 8 + %td= text_area_tag :site_terms, @settings['site_terms'].value, rows: 8 %tr %td %strong= t('admin.settings.registrations.open.title') + %p= t('admin.settings.registrations.open.desc_html') %td - = select_tag :open_registrations, - options_for_select({ t('admin.settings.registrations.open.disabled') => false, t('admin.settings.registrations.open.enabled') => true }, @settings['open_registrations'].value) + = select_tag :open_registrations, options_for_select({ t('simple_form.no') => false, t('simple_form.yes') => true }, @settings['open_registrations'].value) %tr %td %strong= t('admin.settings.registrations.closed_message.title') %p= t('admin.settings.registrations.closed_message.desc_html') - %td= text_area_tag :closed_registrations_message, - @settings['closed_registrations_message'].value, - rows: 8 + %td= text_area_tag :closed_registrations_message, @settings['closed_registrations_message'].value, rows: 8 + %tr + %td + %strong= t('admin.settings.registrations.deletion.title') + %p= t('admin.settings.registrations.deletion.desc_html') + %td + = select_tag :open_deletion, options_for_select({ t('simple_form.no') => false, t('simple_form.yes') => true }, @settings['open_deletion'].value) + %tr + %td + %strong= t('admin.settings.timeline_preview.title') + %p= t('admin.settings.timeline_preview.desc_html') + %td + = select_tag :timeline_preview, options_for_select({ t('simple_form.no') => false, t('simple_form.yes') => true }, @settings['timeline_preview'].value) .simple_form.actions = button_tag t('generic.save_changes'), type: :submit, class: :btn diff --git a/app/views/auth/registrations/new.html.haml b/app/views/auth/registrations/new.html.haml index 82d5483dd..af7ee2b28 100644 --- a/app/views/auth/registrations/new.html.haml +++ b/app/views/auth/registrations/new.html.haml @@ -5,7 +5,10 @@ = render 'shared/error_messages', object: resource = f.simple_fields_for :account do |ff| - = ff.input :username, autofocus: true, placeholder: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username') } + .input-with-append + = ff.input :username, autofocus: true, placeholder: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username') } + .append + = "@#{site_hostname}" = f.input :email, placeholder: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email') } = f.input :password, autocomplete: 'off', placeholder: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password') } @@ -14,4 +17,5 @@ .actions = f.button :button, t('auth.register'), type: :submit + %p.hint.subtle-hint=t('auth.agreement_html', rules_path: about_more_path, terms_path: terms_path) .form-footer= render 'auth/shared/links' diff --git a/app/views/layouts/auth.html.haml b/app/views/layouts/auth.html.haml index e5429a8ed..b4f1bd0f3 100644 --- a/app/views/layouts/auth.html.haml +++ b/app/views/layouts/auth.html.haml @@ -6,7 +6,8 @@ .logo-container %h1 = link_to root_path do - = image_tag asset_pack_path('logo.png') + = image_tag asset_pack_path('logo.svg') + Mastodon .form-container = render 'flashes' diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 4d045dee1..d395dc9c3 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -3,23 +3,12 @@ ar: about: about_mastodon: ماستدون شبكة إجتماعية <em>Øرة Ùˆ Ù…ÙتوØØ© المصدر</em>. هو بديل <em>لامركزي</em> لمنصات تجارية ØŒ يمكنك من تجنب اØتكار شركة واØدة للإتصالات الخاصة بك. يمكنك اختيار أي خادم تثق Ùيه. أيهما تختار، يمكنك التÙاعل مع أي شخص آخر على الشبكة. يمكن لأي شخص تنصيب Ùˆ تشغيل خادم ماستدون خاص به والمشاركة ÙÙŠ <em>الشبكات الاجتماعية</em> بكل Ø´ÙاÙية. about_this: عن مثيل الخادوم هذا - apps: التطبيقات business_email: 'البريد الإلكتروني المهني :' closed_registrations: التسجيلات ÙÙŠ مثيل الخادوم هذا Ù…Ùغلقة Øاليًا. contact: للتواصل معنا description_headline: ما هو %{domain}? domain_count_after: خوادم أخرى domain_count_before: متصل بـ - features: - api: واجهة برمجة Ù…ÙتوØØ© للتطبيقات والخدمات - blocks: نص منسق وأدوات كتم - characters: 500 Øر٠ÙÙŠ كل رسالة - chronology: خيوط متسلسلة زمنيا - ethics: 'تصميم أخلاقي : لا إعلانات Ùˆ لا تعقّÙب' - gifv: مجموعات صور GIFV وأشرطة Ùيديو قصيرة - privacy: إعدادات مدققة لخصوصية كل منشور - public: الخيوط الزمنية العمومية - features_headline: ما الذي يجعل ماستدون Ùريدًا ØŸ get_started: إبدأ الآن links: الروابط other_instances: خوادم أخرى @@ -93,7 +82,7 @@ ar: blocking: قائمة المØظورين following: قائمة المستخدمين المتبوعين upload: تØميل - landing_strip_html: <strong>%{name}</strong> is a user on %{link_to_root_path}. You can follow them or interact with them if you have an account anywhere in the fediverse.. + landing_strip_html: "<strong>%{name}</strong> is a user on %{link_to_root_path}. You can follow them or interact with them if you have an account anywhere in the fediverse.." landing_strip_signup_html: If you don't, you can <a href="%{sign_up_path}">sign up here</a>. media_attachments: validations: diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 76d6a2605..042d609b0 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -3,23 +3,12 @@ bg: about: about_mastodon: Mastodon е <em>безплатен</em> Ñървър Ñ <em>отворен код</em> за Ñоциални мрежи. Като <em>децентрализирана</em> алтернатива на комерÑиалните платформи, той позволÑва избÑгването на риÑка от Ð¼Ð¾Ð½Ð¾Ð¿Ð¾Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ Ð½Ð° твоÑта ÐºÐ¾Ð¼ÑƒÐ½Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¾Ñ‚ единични компании. Изберете Ñи Ñървър, на който Ñе доверÑвате, и ще можете да контактувате Ñ Ð²Ñички оÑтанали. Ð’Ñеки може да пуÑне Mastodon и леÑно да вземе учаÑтие в <em>Ñоциалната мрежа</em>. about_this: За тази инÑÑ‚Ð°Ð½Ñ†Ð¸Ñ - apps: ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ business_email: 'Служебен e-mail:' closed_registrations: Ð’ момента региÑтрациите за тази инÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Ñа затворени. contact: За контакти description_headline: Какво е %{domain}? domain_count_after: други инÑтанции domain_count_before: Свързани към - features: - api: Отворено API за Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸ уÑлуги - blocks: Богат на инÑтрументи за блокиране и заглушаване - characters: Публикации от 500 Ñимвола - chronology: Публикациите Ñе показват хронологично - ethics: 'Етичен дизайн: без реклами и проÑледÑване' - gifv: GIFV комплекти и кратки видео клипове - privacy: ÐаÑтройване на поверителноÑтта за вÑÑка Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ - public: Публични канали - features_headline: Какво откроÑва Mastodon get_started: Първи Ñтъпки links: Връзки other_instances: Други инÑтанции @@ -93,7 +82,7 @@ bg: blocking: СпиÑък на блокираните following: СпиÑък на поÑледователите upload: Качване - landing_strip_html: <strong>%{name}</strong> е потребител от %{link_to_root_path}. Можеш да ги Ñледваш, или да контактуваш Ñ Ñ‚ÑÑ…, ако имаш акаунт където и да е из федерираната вÑелена на Mastodon. + landing_strip_html: "<strong>%{name}</strong> е потребител от %{link_to_root_path}. Можеш да ги Ñледваш, или да контактуваш Ñ Ñ‚ÑÑ…, ако имаш акаунт където и да е из федерираната вÑелена на Mastodon." landing_strip_signup_html: Ðко нÑмаш акаунт, можеш да Ñи <a href="%{sign_up_path}">Ñъздадеш ето тук</a>. media_attachments: validations: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index 2fbc63ef9..10c34498b 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -3,23 +3,12 @@ ca: about: about_mastodon: Mastodon és un servidor de xarxa social <em>lliure i de codi obert</em>. Una alternativa <em>descentralitzada</em> a plataformes comercials, que evita el risc que una única companyia monopolitzi la teva comunicació. Qualsevol pot executar Mastodon i participar sense problemes en la <em>xarxa social</em>. about_this: Sobre aquesta instà ncia - apps: Apps business_email: 'Adreça de contacte:' closed_registrations: Els registres estan actualment tancats en aquesta instà ncia. contact: Contacte description_headline: Què es %{domain}? domain_count_after: altres instà ncies domain_count_before: Connectat a - features: - api: API pública per a aplicacions i serveis - blocks: Moderació de contingut - characters: 500 carà cters per publicació - chronology: Les histories son cronològiques - ethics: 'Disseny ètic: sense anuncis, sense rastrejos' - gifv: VÃdeos curts i GIFV - privacy: Configuracions de privacitat ajustables - public: Història federada - features_headline: El que distingeix a Mastodon get_started: Començar links: Vincles other_instances: Altres instà ncies @@ -173,8 +162,6 @@ ca: desc_html: Apareix en la primera pà gina quan es tanquen els registres<br>Pot utilitzar etiquetes HTML title: Missatge de registre tancat open: - disabled: Desactivat - enabled: Activat title: Registre obert setting: Ajust site_description: @@ -203,8 +190,8 @@ ca: change_password: Canviar contrasenya delete_account: Esborrar el compte delete_account_html: Si vols esborrar el teu compte pots <a href="%{path}">fer-ho aquÃ</a>. S'et demanarà confirmació. - didnt_get_confirmation: "No vas rebre el correu de confirmació?" - forgot_password: "Has oblidat la contrasenya?" + didnt_get_confirmation: No vas rebre el correu de confirmació? + forgot_password: Has oblidat la contrasenya? login: Iniciar sessió logout: Tancar sessió register: Enregistrarse diff --git a/config/locales/de.yml b/config/locales/de.yml index f2841d0b7..2bdb87708 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -3,23 +3,12 @@ de: about: about_mastodon: Mastodon ist ein <em>freier, quelloffener</em> sozialer Netzwerkserver. Als <em>dezentralisierte</em> Alternative zu kommerziellen Plattformen verhindert es die Risiken, die entstehen, wenn eine einzelne Firma deine Kommunikation monopolisiert. Jeder kann Mastodon verwenden und ganz einfach am <em>sozialen Netzwerk</em> teilnehmen. about_this: Ãœber diese Instanz - apps: Apps business_email: 'Geschäftliche E-Mail:' closed_registrations: Die Registrierung ist auf dieser Instanz momentan geschlossen. contact: Kontakt description_headline: Was ist %{domain}? domain_count_after: andere Instanzen domain_count_before: Verbunden mit - features: - api: Offene API für Apps und Dienste - blocks: Mächtige Block- und Stummschaltungswerkzeuge - characters: 500 Zeichen pro Beitrag - chronology: Zeitleisten sind chronologisch - ethics: 'Ethisches Design: keine Werbung, kein Tracking' - gifv: GIFV-Sets und kurze Videos - privacy: Granulare Privatsphäre-Einstellungen für jeden Beitrag - public: Öffentliche Zeitleisten - features_headline: Was Mastodon einzigartig macht get_started: Erste Schritte links: Links other_instances: Andere Instanzen @@ -147,8 +136,6 @@ de: desc_html: Wird auf der Frontseite angezeigt, wenn die Registrierung geschlossen ist<br>Du kannst HTML-Tags benutzen title: Nachricht über geschlossene Registrierung open: - disabled: Deaktiviert - enabled: Aktiviert title: Offene Registrierung setting: Einstellung site_description: diff --git a/config/locales/en.yml b/config/locales/en.yml index 8bb893d1c..e33dde038 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,28 +1,30 @@ --- en: about: - about_mastodon: Mastodon is a <em>free, open-source</em> social network. A <em>decentralized</em> alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the <em>social network</em> seamlessly. - about_this: About this instance - apps: Apps + about_mastodon_html: Mastodon is a social network based on open web protocols and free, open-source software. It is decentralized like e-mail. + about_this: About business_email: 'Business e-mail:' - closed_registrations: Registrations are currently closed on this instance. + closed_registrations: Registrations are currently closed on this instance. However! You can find a different instance to make an account on and get access to the very same network from there. contact: Contact description_headline: What is %{domain}? domain_count_after: other instances domain_count_before: Connected to features: - api: Open API for apps and services - blocks: Rich block and muting tools - characters: 500 characters per post - chronology: Timelines are chronological - ethics: 'Ethical design: no ads, no tracking' - gifv: GIFV sets and short videos - privacy: Granular, per-post privacy settings - public: Public timelines - features_headline: What sets Mastodon apart + humane_approach_body: Learning from failures of other networks, Mastodon aims to make ethical design choices to combat the misuse of social media. + humane_approach_title: A more humane approach + not_a_product_body: Mastodon is not a commercial network. No advertising, no data mining, no walled gardens. There is no central authority. + not_a_product_title: You’re a person, not a product + real_conversation_body: With 500 characters at your disposal and support for granular content and media warnings, you can express yourself the way you want to. + real_conversation_title: Built for real conversation + within_reach_body: Multiple apps for iOS, Android, and other platforms thanks to a developer-friendly API ecosystem allow you to keep up with your friends anywhere. + within_reach_title: Always within reach + find_another_instance: Find another instance + generic_description: "%{domain} is one server in the network" get_started: Get started + hosted_on: Mastodon hosted on %{domain} + learn_more: Learn more links: Links - other_instances: Other instances + other_instances: Instance list source_code: Source code status_count_after: statuses status_count_before: Who authored @@ -30,6 +32,7 @@ en: user_count_after: users user_count_before: Home to version: Version + what_is_mastodon: What is Mastodon? accounts: follow: Follow followers: Followers @@ -173,9 +176,14 @@ en: desc_html: Displayed on frontpage when registrations are closed<br>You can use HTML tags title: Closed registration message open: - disabled: Disabled - enabled: Enabled + desc_html: Allow anyone to create an account title: Open registration + deletion: + desc_html: Allow anyone to delete their account + title: Open deletion + timeline_preview: + desc_html: Display public timeline on landing page + title: Timeline preview setting: Setting site_description: desc_html: Displayed as a paragraph on the frontpage and used as a meta tag.<br>You can use HTML tags, in particular <code><a></code> and <code><em></code>. @@ -185,7 +193,7 @@ en: title: Extended site description site_terms: desc_html: Displayed on terms page<br>You can use HTML tags - title: Site Privacy Policy + title: Privacy policy site_title: Site title title: Site Settings subscriptions: @@ -207,6 +215,7 @@ en: applications: invalid_url: The provided URL is invalid auth: + agreement_html: By signing up you agree to <a href="%{rules_path}">our terms of service</a> and <a href="%{terms_path}">privacy policy</a>. change_password: Security delete_account: Delete account delete_account_html: If you wish to delete your account, you can <a href="%{path}">proceed here</a>. You will be asked for confirmation. diff --git a/config/locales/eo.yml b/config/locales/eo.yml index 8b42415df..d47a5db0e 100644 --- a/config/locales/eo.yml +++ b/config/locales/eo.yml @@ -3,22 +3,11 @@ eo: about: about_mastodon: Mastodon estas <em>senpaga, malfermitkoda</em> socia reto. Äœi estas <em>sencentra</em> alia eblo al komercaj servoj. Äœi evitigas, ke unusola firmao regu vian tutan komunikadon. Elektu servilon, kiun vi fidas. Kiu ajn estas via elekto, vi povas interagi kun ĉiuj aliaj uzantoj. Iu ajn povas krei sian propran aperaĵon de Mastodon en sia servilo, kaj partopreni en la <em>socia reto</em> tute glate. about_this: Pri tiu aperaĵo - apps: Aplikaĵoj business_email: 'Profesia retpoÅt-adreso:' contact: Kontakti description_headline: Kio estas %{domain}? domain_count_after: aliaj aperaĵoj domain_count_before: Konektita al - features: - api: Malfermita API por aplikaĵoj kaj servoj - blocks: Kompletaj iloj por bloki kaj kaÅi - characters: Po 500 signoj por ĉiu mesaÄo - chronology: Tempolinioj laÅtempaj - ethics: 'Etike kreita: neniu reklamo, neniu Åpurado' - gifv: Eblo diskonigi etajn videojn kaj GIFV - privacy: Videbleco agordita laÅ la mesaÄo - public: Publikaj tempolinioj - features_headline: Kiel Mastodon estas malsimila get_started: Komenci links: Ligiloj other_instances: Aliaj aperaĵoj @@ -92,7 +81,7 @@ eo: blocking: Listo de blokitoj following: Listo de sekvatoj upload: Alporti - landing_strip_html: <strong>%{name}</strong> estas uzanto en %{link_to_root_path}. Vi povas sekvi tiun aÅ interagi kun tiu, se vi havas konton ie ajn en la Fediverse. + landing_strip_html: "<strong>%{name}</strong> estas uzanto en %{link_to_root_path}. Vi povas sekvi tiun aÅ interagi kun tiu, se vi havas konton ie ajn en la Fediverse." landing_strip_signup_html: Se vi ne havas, vi povas <a href="%{sign_up_path}">membriÄi ĉi tie.</a>. notification_mailer: digest: @@ -105,19 +94,19 @@ eo: one: "1 nova sciigo ekde via lasta vizito \U0001F418" other: "%{count} novaj sciigoj ekde via lasta vizito \U0001F418" favourite: - body: '%{name} favoris vian mesaÄon:' + body: "%{name} favoris vian mesaÄon:" subject: "%{name} favoris vian mesaÄon" follow: body: "%{name} eksekvis vin:" subject: "%{name} eksekvis vin" follow_request: body: "%{name} petis sekvi vin:" - subject: '%{name} petis sekvi vin' + subject: "%{name} petis sekvi vin" mention: - body: '%{name} menciis vin en:' - subject: '%{name} menciis vin' + body: "%{name} menciis vin en:" + subject: "%{name} menciis vin" reblog: - body: '%{name} diskonigis vian mesaÄon:' + body: "%{name} diskonigis vian mesaÄon:" subject: "%{name} diskonigis vian mesaÄon" pagination: next: Sekva diff --git a/config/locales/es.yml b/config/locales/es.yml index f587bb4ec..c051c9a08 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -3,23 +3,12 @@ es: about: about_mastodon: Mastodon es un servidor de red social <em>libre y de código abierto</em>. Una alternativa <em>descentralizada</em> a plataformas comerciales, que evita el riesgo de que una única compañÃa monopolice tu comunicación. Cualquiera puede ejecutar Mastodon y participar sin problemas en la <em>red social</em>. about_this: Acerca de esta instancia - apps: Apps business_email: 'Correo de negocios:' closed_registrations: Los registros están actualmente cerrados en esta instancia. contact: Contacto description_headline: "¿Qué es %{domain}?" domain_count_after: otras instancias domain_count_before: Conectado a - features: - api: API pública para aplicaciones y servicios - blocks: Moderación de contenido - characters: 500 caracteres por publicación - chronology: Las historias son cronológicas - ethics: 'Diseño etico: sin anuncios, sin rastreos' - gifv: Videos cortos y GIFV - privacy: Configuraciones de privacidad ajustables - public: Historia federada - features_headline: Lo que distingue a Mastodon get_started: Comenzar links: Enlaces other_instances: Otras instancias @@ -93,7 +82,7 @@ es: blocking: Lista de bloqueados following: Lista de seguidos upload: Cargar - landing_strip_html: <strong>%{name}</strong> es un usuario en %{link_to_root_path}. Puedes seguirlo(a) o interactuar con el o ella si tienes una cuenta en cualquier parte del fediverse. + landing_strip_html: "<strong>%{name}</strong> es un usuario en %{link_to_root_path}. Puedes seguirlo(a) o interactuar con el o ella si tienes una cuenta en cualquier parte del fediverse." landing_strip_signup_html: Si no tienes una, puedes <a href="%{sign_up_path}">registrar aquÃ</a>. media_attachments: validations: diff --git a/config/locales/fa.yml b/config/locales/fa.yml index 515443608..6f0bd0839 100644 --- a/config/locales/fa.yml +++ b/config/locales/fa.yml @@ -3,23 +3,12 @@ fa: about: about_mastodon: ماستدون (Mastodon) یک شبکهٔ اجتماعی <em>آزاد Ùˆ کدباز</em> است. یک جایگزین <em>غیرمتمرکز</em> برای شبکه‌های تجاری، Ú©Ù‡ نمی‌گذارد ارتباط‌های شما را یک شرکت در انØصار خود بگیرد. یک سرور مورد اعتماد را انتخاب کنید — هر سروری Ú©Ù‡ باشد، همچنان می‌توانید با سرورهای دیگر ارتباط داشته باشید. هر کسی می‌تواند سرور ماستدون خود را راه بیندازد Ùˆ در <em>شبکهٔ اجتماعی</em> سهیم شود. about_this: دربارهٔ این سرور - apps: برنامه‌ها business_email: 'ایمیل کاری:' closed_registrations: امکان ثبت نام روی این سرور هم‌اینک Ùعال نیست. contact: تماس description_headline: "%{domain} چیست؟" domain_count_after: سرور دیگر domain_count_before: متصل به - features: - api: رابط برنامه‌نویسی برای برنامه‌ها Ùˆ سرویس‌های دیگر - blocks: ابزارهای قدرتمند برای مسدود یا بی‌صدا کردن دیگران - characters: ÛµÛ°Û° Øر٠برای هر نوشته - chronology: نمایش نوشته‌های دیگران به ترتیب زمانی - ethics: 'اخلاق‌مدار: بدون تبلیغات، بدون ردگیری' - gifv: تصاویر متØرک Ùˆ ویدیوهای کوتاه - privacy: تنظیمات Øریم خصوصی جداگانه برای هر نوشته - public: نمایش نوشته‌های عمومی دیگران از همه‌جا - features_headline: برگ‌های برندهٔ ماستدون get_started: آغاز کنید links: پیوندها other_instances: سرورهای دیگر @@ -159,8 +148,6 @@ fa: desc_html: وقتی امکان ثبت نام روی سرور Ùعال نباشد در صÙØÙ‡Ù” اصلی نمایش می‌یابد<br>می‌توانید HTML بنویسید title: پیغام برای Ùعال‌نبودن ثبت نام open: - disabled: غیرÙعال - enabled: Ùعال title: امکان ثبت نام setting: تنظیمات site_description: diff --git a/config/locales/fi.yml b/config/locales/fi.yml index c20bf690b..a2488530f 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -3,22 +3,11 @@ fi: about: about_mastodon: Mastodon on <em>ilmainen, avoimeen lähdekoodiin perustuva</em> sosiaalinen verkosto. <em>Hajautettu</em> vaihtoehto kaupallisille alustoille, se välttää eiskit yhden yrityksen monopolisoinnin sinun viestinnässäsi. Valitse palvelin mihin luotat — minkä tahansa valitset, voit vuorovaikuttaa muiden kanssa. Kuka tahansa voi luoda Mastodon palvelimen ja ottaa osaa <em>sosiaaliseen verkkoon</em> saumattomasti. about_this: Tietoja tästä palvelimesta - apps: Ohjelmat business_email: 'Business e-mail:' contact: Ota yhteyttä description_headline: Mikä on %{domain}? domain_count_after: muuhun palvelimeen domain_count_before: Yhdistyneenä - features: - api: Avoin API ohjelmille ja palveluille - blocks: Rikkaat esto- ja hiljennystyökalut - characters: 500 kirjainta per viesti - chronology: Aikajana on kronologisessa järjestyksessä - ethics: 'Eettinen suunnittelu: ei mainoksia, ei seurantaa' - gifv: GIFV settejä ja lyhyitä videoita - privacy: Julkaisukohtainen yksityisyysasetus - public: Julkiset aikajanat - features_headline: Mikä erottaa Mastodonin muista get_started: Aloita käyttö links: Linkit other_instances: Muut palvelimet @@ -92,7 +81,7 @@ fi: blocking: Estetyt lista following: Seuratut lista upload: Lähetä - landing_strip_html: <strong>%{name}</strong> on käyttäjä domainilla %{link_to_root_path}. Voit seurata tai vuorovaikuttaa heidän kanssaan jos sinulla on tili yleisessä verkossa. + landing_strip_html: "<strong>%{name}</strong> on käyttäjä domainilla %{link_to_root_path}. Voit seurata tai vuorovaikuttaa heidän kanssaan jos sinulla on tili yleisessä verkossa." landing_strip_signup_html: Jos sinulla ei ole tiliä, voit <a href="%{sign_up_path}">rekisteröityä täällä</a>. notification_mailer: digest: diff --git a/config/locales/fr.yml b/config/locales/fr.yml index fcf5f6f9e..9eeafaa6e 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -3,23 +3,12 @@ fr: about: about_mastodon: Mastodon est un serveur <em>libre</em> de réseautage social. Alternative <em>décentralisée</em> aux plateformes commerciales, la monopolisation de vos communications par une entreprise unique est évitée. Tout un chacun peut faire tourner Mastodon et participer au <em>réseau social</em> de manière transparente. about_this: À propos de cette instance - apps: Applications business_email: Courriel professionnel closed_registrations: Les inscriptions sont actuellement fermées sur cette instance. contact: Contact description_headline: Qu’est-ce que %{domain} ? domain_count_after: autres instances domain_count_before: Connectés à - features: - api: API ouverte aux apps et services - blocks: Outils complets de bloquage et masquage - characters: 500 caractères par post - chronology: Fil chronologique - ethics: Pas de pubs, pas de pistage - gifv: Partage de vidéos et de GIFs - privacy: Réglages de confidentialité au niveau des posts - public: Fils publics - features_headline: Ce qui rend Mastodon différent get_started: Rejoindre le réseau links: Liens other_instances: Autres instances @@ -48,7 +37,7 @@ fr: create: name: "%{account_name} a créé une note." outbox: - name: "Boîte d’envoi de %{account_name}" + name: Boîte d’envoi de %{account_name} summary: Liste d’activités de %{account_name} admin: accounts: @@ -173,8 +162,6 @@ fr: desc_html: Affiché sur la page d’accueil lorsque les inscriptions sont fermées<br>Vous pouvez utiliser des balises HTML title: Message de fermeture des inscriptions open: - disabled: Désactivées - enabled: Activées title: Inscriptions setting: Paramètre site_description: diff --git a/config/locales/he.yml b/config/locales/he.yml index ec7d972ec..760ddac00 100644 --- a/config/locales/he.yml +++ b/config/locales/he.yml @@ -3,23 +3,12 @@ he: about: about_mastodon: מסטודון ×”×™× ×¨×©×ª חברתית <em>חופשית, מבוססת ×ª×•×›× ×” חופשית ("קוד פתוח")</em>. ×›××œ×˜×¨× ×˜×™×‘×” <em>בלתי ריכוזית</em> לפלטפרומות המסחריות, מסטודון מ×פשרת ×œ×”×ž× ×¢ ×ž×”×¡×™×›×•× ×™× ×”× ×œ×•×•×™× ×œ×”×¤×§×“×ª התקשורת שלך בידי חברה יחידה. שמת ×ת מבטחך בשרת ×חד — ×œ× ×ž×©× ×” במי בחרת, תמיד ×פשר לדבר ×¢× ×›×œ ש×ר המשתמשי×. לכל מי שרוצה יש ×ת ×”×פשרות ×œ×”×§×™× ×©×¨×ª מסטודון עצמ××™, ולהשתתף ב<em>רשת החברתית</em> ב×ופן חלק. about_this: ×ודות שרת ×–×” - apps: ×™×©×•×ž×™× business_email: 'דו×"ל עסקי:' closed_registrations: הרשמות סגורות לשרת ×–×” לעת עתה. contact: צור קשר description_headline: מהו %{domain}? domain_count_after: ×©×¨×ª×™× ××—×¨×™× domain_count_before: מחובר ×ל - features: - api: API פתוח ×œ×™×©×•×ž×™× ×•×©×™×¨×•×ª×™× - blocks: כלי חסימה והשתקה ×—×–×§×™× - characters: 500 ×ª×•×•×™× ×œ×”×•×“×¢×” - chronology: ×”×˜×•×¨×™× ×›×¨×•× ×•×œ×•×’×™×™× - ethics: '×ª×›× ×•×Ÿ מוסרי: ×ין פרסומות, ×ין מעקב' - gifv: GIFV ×•×¡×¨×˜×•× ×™× ×§×¦×¨×™× - privacy: ×פשרויות פרטיוּת × ×¤×¨×“×•×ª לכל הודעה - public: ×˜×•×¨×™× ×¤×•×ž×‘×™×™× - features_headline: מה מייחד קהילות מבוססות מסטודון get_started: בו×ו × ×ª×—×™×œ links: ×§×™×©×•×¨×™× other_instances: ×©×¨×ª×™× ××—×¨×™× @@ -167,8 +156,6 @@ he: desc_html: מוצג על הדף הר×שי ×›×שר ההרשמות סגורות<br>× ×™×ª×Ÿ להשתמש בתגיות HTML title: מסר סגירת הרשמות open: - disabled: מבוטל - enabled: מופעל title: הרשמה פתוחה setting: הגדרה site_description: diff --git a/config/locales/hr.yml b/config/locales/hr.yml index f873fc7ed..8297ca629 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -3,23 +3,12 @@ hr: about: about_mastodon: Mastodon je <em>besplatna, open-source</em> socijalna mreža. <em>Decentralizirana</em> alternativa komercijalnim platformama, izbjegava rizik toga da jedna tvrtka monopolizira vaÅ¡u komunikaciju. Izaberite server kojem ćete vjerovati — koji god odabrali, moći ćete komunicirati sa svima ostalima. Bilo tko može imati svoju vlastitu Mastodon instancu i sudjelovati u <em>socijalnoj mreži</em> bez problema. about_this: O ovoj instanci - apps: Aplikacije business_email: 'Poslovni e-mail:' closed_registrations: Registracije na ovoj instanci su trenutno zatvorene. contact: Kontakt description_headline: Å to je %{domain}? domain_count_after: druge instance domain_count_before: Spojen na - features: - api: Otvoren API za aplikacije i servise - blocks: Bogati alati za blokiranje i uÅ¡utkivanje - characters: 500 znakova po postu - chronology: Timelines su kronoloÅ¡ke - ethics: 'EtiÄki dizajn: bez oglasa, bez praćenja' - gifv: GIFV setovi i kratki videi - privacy: Granularne postavke privatnosti, po postu - public: Javne timelines - features_headline: Po Äemu se Mastodon razlikuje get_started: ZapoÄni links: Linkovi other_instances: Druge instance @@ -94,7 +83,7 @@ hr: following: Lista onih koje slijedim muting: Lista utiÅ¡anih upload: Upload - landing_strip_html: <strong>%{name}</strong> je korisnik na %{link_to_root_path}. MožeÅ¡ ih slijediti ili komunicirati s njima ako imaÅ¡ raÄun igdje u fediversu. + landing_strip_html: "<strong>%{name}</strong> je korisnik na %{link_to_root_path}. MožeÅ¡ ih slijediti ili komunicirati s njima ako imaÅ¡ raÄun igdje u fediversu." landing_strip_signup_html: Ako nemaÅ¡, možeÅ¡ se <a href="%{sign_up_path}">registrirati ovdje</a>. notification_mailer: digest: diff --git a/config/locales/id.yml b/config/locales/id.yml index fc4ffd046..4bcd8f2ed 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -3,23 +3,12 @@ id: about: about_mastodon: Mastodon adalah sebuah jejaring sosial <em>terbuka, open-source</em. Sebuah alternatif <em>desentralisasi</em> dari platform komersial, menjauhkan anda resiko dari sebuah perusahaan yang memonopoli komunikasi anda. Pilih server yang anda percayai — apapun yang anda pilih, anda tetap dapat berinteraksi dengan semua orang. Semua orang dapat menjalankan server Mastodon sendiri dan berpartisipasi dalam <em>jejaring sosial</em> dengan mudah. about_this: Tentang server ini - apps: Apl business_email: 'E-mail bisnis:' closed_registrations: Pendaftaran untuk server ini sedang ditutup. contact: Kontak description_headline: Apa itu %{domain}? domain_count_after: server lain domain_count_before: Terhubung dengan - features: - api: API terbuka untuk aplikasi dan layanan lain - blocks: Aneka ragam fitur blokir dan pembisuan - characters: 500 karakter per posting - chronology: Linimasa berurutan - ethics: 'Desain etis: tanpa iklan, tidak ada pelacakan' - gifv: Fitur GIFV dan video pendek - privacy: Terperinci, pengaturan privasi per postingan - public: Linimasa publik - features_headline: Yang berbeda dari Mastodon get_started: Mulai links: Link other_instances: Server lain @@ -158,8 +147,6 @@ id: desc_html: Ditampilkan pada halaman depan saat pendaftaran ditutup<br>Anda bisa menggunakan tag HTML title: Pesan penutupan pendaftaran open: - disabled: Dinonaktifkan - enabled: Diaktifkan title: Pendaftaran terbuka setting: Pengaturan site_description: diff --git a/config/locales/io.yml b/config/locales/io.yml index db430b0fe..8eb48c303 100644 --- a/config/locales/io.yml +++ b/config/locales/io.yml @@ -3,23 +3,12 @@ io: about: about_mastodon: Mastodon esas <em>gratuita, apertitkodexa</em> sociala reto. Ol esas <em>sencentra</em> altra alternativo a komercala servadi. Ol evitigas, ke sola firmo guvernez tua tota komunikadol. Selektez servero, quan tu fidas. Irge qua esas tua selekto, tu povas komunikar kun omna altra uzeri. Irgu povas krear sua propra instaluro di Mastodon en sua servero, e partoprenar en la <em>sociala reto</em> tote glate. about_this: Pri ta instaluro - apps: Apliki business_email: 'Profesionala retpost-adreso:' closed_registrations: Membresko ne nun esas posible en ta instaluro. contact: Kontaktar description_headline: Quo esas %{domain}? domain_count_after: altra instaluri domain_count_before: Konektita ad - features: - api: Apertita API por apliki e servadi - blocks: Kompleta utensili por blokusar e celar - characters: Til 500 signi por singla mesajo - chronology: Tempolinei seguntempa - ethics: 'Etike kreita: nula anunco, nula trakado' - gifv: Posibleso diskononigar mikra videi e GIFV - privacy: Videbleso ajustita segun la mesajo - public: Publika tempolinei - features_headline: Quale Mastodon esas diferanta get_started: Komencar links: Ligili other_instances: Altra instaluri @@ -146,8 +135,6 @@ io: desc_html: Displayed on frontpage when registrations are closed<br>You can use HTML tags title: Closed registration message open: - disabled: Disabled - enabled: Enabled title: Open registration setting: Setting site_description: diff --git a/config/locales/it.yml b/config/locales/it.yml index a96a459df..5c014c61d 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -3,23 +3,12 @@ it: about: about_mastodon: Mastodon è un social network <em>gratuito e open-source</em>. Un'alternativa <em>decentralizzata</em> alle piattaforme commerciali che evita che una singola compagnia monopolizzi il tuo modo di comunicare. Scegli un server di cui ti fidi — qualunque sia la tua scelta, potrai interagire con chiunque altro. Chiunque può sviluppare un suo server Mastodon e partecipare alla vita del <em>social network</em>. about_this: A proposito di questo server - apps: Applicazioni business_email: 'Email di lavoro:' closed_registrations: Al momento le iscrizioni a questo server sono chiuse. contact: Contatti description_headline: Cos'è %{domain}? domain_count_after: altri server domain_count_before: Connesso a - features: - api: API aperto per applicazioni e servizi - blocks: Potenti strumenti di blocco e silenziamento - characters: 500 caratteri per status - chronology: Le timeline sono cronologiche - ethics: 'Design etico: niente pubblicità , niente tracking' - gifv: Set di GIFV e brevi video - privacy: Opzioni di privacy mirate per-post - public: Timeline pubbliche - features_headline: Cosa rende Mastodon migliore get_started: Inizia links: Links other_instances: Altri server @@ -93,7 +82,7 @@ it: blocking: Lista dei bloccati following: Lista dei seguaci upload: Carica - landing_strip_html: <strong>%{name}</strong> è un utente su %{link_to_root_path}. Puoi seguirlo o interagire con lui se possiedi un account ovunque nel fediverse. + landing_strip_html: "<strong>%{name}</strong> è un utente su %{link_to_root_path}. Puoi seguirlo o interagire con lui se possiedi un account ovunque nel fediverse." landing_strip_signup_html: Se non possiedi un account, puoi <a href="%{sign_up_path}">iscriverti qui</a>. media_attachments: validations: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 9cb2428f7..5b91aa75d 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -3,23 +3,12 @@ ja: about: about_mastodon: Mastodon ã¯<em>自由ã§ã‚ªãƒ¼ãƒ—ンソース</em>ãªã‚½ãƒ¼ã‚·ãƒ£ãƒ«ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã§ã™ã€‚商用プラットフォームã®ä»£æ›¿ã¨ãªã‚‹<em>分散型</em>を採用ã—ã€ã‚ãªãŸã®ã‚„ã‚Šã¨ã‚ŠãŒä¸€ã¤ã®ä¼šç¤¾ã«ã‚ˆã£ã¦ç‹¬å ã•ã‚Œã‚‹ã®ã‚’防ãŽã¾ã™ã€‚ä¿¡é ¼ã§ãるインスタンスをé¸æŠžã—ã¦ãã ã•ã„ — ã©ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’é¸ã‚“ã§ã‚‚ã€èª°ã¨ã§ã‚‚ã‚„ã‚Šã¨ã‚Šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ ã ã‚Œã§ã‚‚自分㮠Mastodon インスタンスを作るã“ã¨ãŒã§ãã€ã‚·ãƒ¼ãƒ レスã«<em>ソーシャルãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯</em>ã«å‚åŠ ã§ãã¾ã™ã€‚ about_this: ã“ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«ã¤ã„㦠- apps: アプリ business_email: 'ビジãƒã‚¹ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹:' closed_registrations: ç¾åœ¨ã“ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã§ã®æ–°è¦ç™»éŒ²ã¯å—ã‘付ã‘ã¦ã„ã¾ã›ã‚“。 contact: 連絡先 description_headline: "%{domain} ã¨ã¯ï¼Ÿ" domain_count_after: 個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ domain_count_before: æŽ¥ç¶šä¸ - features: - api: アプリやãã®ä»–サービスã«APIを公開 - blocks: 豊富ãªãƒ–ãƒãƒƒã‚¯ã‚„ミュート機能 - characters: 1ã¤ã®æŠ•ç¨¿ã¯500æ–‡å—ã¾ã§åˆ©ç”¨å¯èƒ½ - chronology: æ™‚ç³»åˆ—é †ã®ã‚¿ã‚¤ãƒ ライン - ethics: 広告もトラッã‚ングもã‚ã‚Šã¾ã›ã‚“ - gifv: GIFVã‚„çŸã„å‹•ç”»ã«ã‚‚対応 - privacy: 投稿ã”ã¨ã«å…¬é–‹ç¯„囲を細ã‹ãè¨å®šå¯èƒ½ - public: 公開タイムライン - features_headline: Mastodon ã®ç‰¹å¾´ get_started: å‚åŠ ã™ã‚‹ links: リンク other_instances: ä»–ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ @@ -173,8 +162,6 @@ ja: desc_html: æ–°è¦ç™»éŒ²ã‚’åœæ¢ã—ã¦ã„ã‚‹ã¨ãã«ãƒ•ãƒãƒ³ãƒˆãƒšãƒ¼ã‚¸ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚<br>HTMLã‚¿ã‚°ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚ title: æ–°è¦ç™»éŒ²åœæ¢æ™‚ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ open: - disabled: 無効 - enabled: 有効 title: æ–°è¦ç™»éŒ²ã‚’å—ã‘付ã‘ã‚‹ setting: è¨å®š site_description: @@ -395,7 +382,7 @@ ja: <h2>プライãƒã‚·ãƒ¼ãƒãƒªã‚·ãƒ¼</h2> <h3 id="collect">ã©ã®ã‚ˆã†ãªæƒ…å ±ã‚’åŽé›†ã™ã‚‹ã®ã§ã™ã‹ï¼Ÿ</h3> - + <p>ã‚ãªãŸãŒã“ã®ã‚µã‚¤ãƒˆã«ç™»éŒ²ã™ã‚‹ã¨ã€ã“ã“ã§å…±æœ‰ã•ã‚ŒãŸæƒ…å ±ã‚’èªã‚“ã ã‚Šã€æ›¸ã„ãŸã‚Šã€è©•ä¾¡ã—ãŸã‚Šã—ã¦ã€ãƒ•ã‚©ãƒ¼ãƒ©ãƒ ã§ã®æƒ…å ±ã‚’é›†ã‚る事ãŒã§ãã¾ã™ã€‚</p> <p>ã“ã®ã‚µã‚¤ãƒˆã«ç™»éŒ²ã™ã‚‹éš›ã«ã¯ã€åå‰ã¨ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å…¥åŠ›ã‚’求ã‚ã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ãŸã ã—ã€ç™»éŒ²ã‚’ã™ã‚‹ã“ã¨ãªãã“ã®ã‚µã‚¤ãƒˆã‚’利用ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ã‚ãªãŸã®ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã¯ã€å›ºæœ‰ã®ãƒªãƒ³ã‚¯ã‚’å«ã‚“ã メールã§ç¢ºèªã•ã‚Œã¾ã™ã€‚ãã®ãƒªãƒ³ã‚¯ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸå ´åˆã«ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’制御ã™ã‚‹ã“ã¨ã¨ãªã‚Šã¾ã™ã€‚</p> diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 844e78908..c8ad38d41 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -3,23 +3,12 @@ ko: about: about_mastodon: Mastodon ì€<em>ìžìœ 로운 오픈 소스</em>소셜 네트워í¬ìž…니다. ìƒìš© 플랫í¼ì˜ ëŒ€ì²´ë¡œì¨ <em>분산형 구조</em>를 채íƒí•´, ì—¬ëŸ¬ë¶„ì˜ ëŒ€í™”ê°€ í•œ íšŒì‚¬ì— ë…ì ë˜ëŠ” ê²ƒì„ ë°©ì§€í•©ë‹ˆë‹¤. ì‹ ë¢°í• ìˆ˜ 있는 ì¸ìŠ¤í„´ìŠ¤ë¥¼ ì„ íƒí•˜ì„¸ìš” — ì–´ë–¤ ì¸ìŠ¤í„´ìŠ¤ë¥¼ ê³ ë¥´ë”ë¼ë„, ëˆ„êµ¬ì™€ë„ ëŒ€í™”í• ìˆ˜ 있습니다. 누구나 ìžì‹ ë§Œì˜ Mastodon ì¸ìŠ¤í„´ìŠ¤ë¥¼ 만들 수 있으며, Seamless하게 <em>소셜 네트워í¬</em>ì— ì°¸ê°€í• ìˆ˜ 있습니다. about_this: ì´ ì¸ìŠ¤í„´ìŠ¤ì— 대해서 - apps: 어플리케ì´ì…˜ business_email: '비즈니스 ë©”ì¼ ì£¼ì†Œ:' closed_registrations: 현재 ì´ ì¸ìŠ¤í„´ìŠ¤ì—서는 ì‹ ê·œ 등ë¡ì„ ë°›ê³ ìžˆì§€ 않습니다. contact: ì—°ë½ì²˜ description_headline: "%{domain} 는 무엇ì¸ê°€ìš”?" domain_count_after: ê°œì˜ ì¸ìŠ¤í„´ìŠ¤ domain_count_before: ì—°ê²°ë¨ - features: - api: 어플리케ì´ì…˜ì´ë‚˜ ê·¸ 외 ì„œë¹„ìŠ¤ì— API를 공개 - blocks: ê°•ë ¥í•œ 차단 ë° ë®¤íŠ¸ 기능 - characters: í•œë²ˆì— 500ìžê¹Œì§€ í¬ìŠ¤íŒ… 가능 - chronology: 시간 ìˆœì„œì˜ íƒ€ìž„ë¼ì¸ - ethics: ê´‘ê³ ë„ íŠ¸ëž˜í‚¹ë„ ì—†ìŠµë‹ˆë‹¤ - gifv: GIFV나 ì§§ì€ ë™ì˜ìƒë„ ì§€ì› - privacy: ê° í¬ìŠ¤íŒ…마다 공개 범위를 ìƒì„¸ížˆ ì„¤ì • 가능 - public: 공개 타임ë¼ì¸ - features_headline: Mastodon ì˜ íŠ¹ì§• get_started: 참가하기 links: ë§í¬ other_instances: 다른 ì¸ìŠ¤í„´ìŠ¤ @@ -151,7 +140,7 @@ ko: nsfw: 'false': NSFW êº¼ì§ 'true': NSFW ì¼œì§ - report: "ì‹ ê³ #%{id}" + report: 'ì‹ ê³ #%{id}' report_contents: ë‚´ìš© reported_account: ì‹ ê³ ëŒ€ìƒ ê³„ì • reported_by: ì‹ ê³ ìž @@ -173,8 +162,6 @@ ko: desc_html: ì‹ ê·œ 등ë¡ì„ 받지 ì•Šì„ ë•Œ í”„ë¡ íŠ¸ 페ì´ì§€ì— 표시ë©ë‹ˆë‹¤. <br>HTML 태그를 ì‚¬ìš©í• ìˆ˜ 있습니다. title: ì‹ ê·œ ë“±ë¡ ì •ì§€ ì‹œ 메시지 open: - disabled: êº¼ì§ - enabled: ì¼œì§ title: ì‹ ê·œ 등ë¡ì„ ë°›ìŒ setting: ì„¤ì • site_description: @@ -301,7 +288,7 @@ ko: one: "1ê±´ì˜ ìƒˆë¡œìš´ 알림 \U0001F418" other: "%{count}ê±´ì˜ ìƒˆë¡œìš´ 알림 \U0001F418" favourite: - body: '%{name} ë‹˜ì´ ë‚´ Tootì„ ì¦ê²¨ì°¾ê¸°ì— 등ë¡í–ˆìŠµë‹ˆë‹¤.' + body: "%{name} ë‹˜ì´ ë‚´ Tootì„ ì¦ê²¨ì°¾ê¸°ì— 등ë¡í–ˆìŠµë‹ˆë‹¤." subject: "%{name} ë‹˜ì´ ë‚´ Tootì„ ì¦ê²¨ì°¾ê¸°ì— 등ë¡í–ˆìŠµë‹ˆë‹¤" follow: body: "%{name} ë‹˜ì´ ë‚˜ë¥¼ 팔로우 했습니다" @@ -323,7 +310,7 @@ ko: acct: ì•„ì´ë””@ë„ë©”ì¸ì„ ìž…ë ¥í•´ 주ì‹ì‹œì˜¤ missing_resource: ë¦¬ë””ë ‰ì…˜ 대ìƒì„ ì°¾ì„ ìˆ˜ 없습니다 proceed: 팔로우 하기 - prompt: '팔로우 í•˜ë ¤ í•˜ê³ ìžˆìŠµë‹ˆë‹¤' + prompt: 팔로우 í•˜ë ¤ í•˜ê³ ìžˆìŠµë‹ˆë‹¤ sessions: activity: 마지막 í™œë™ browser: 브ë¼ìš°ì € diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 306ce6b1f..633061b06 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -3,23 +3,12 @@ nl: about: about_mastodon: Mastodon is een <em>vrij, gratis en open-source</em> sociaal netwerk. Een <em>gedecentraliseerd</em> alternatief voor commerciële platforms. Het voorkomt de risico's van een enkel bedrijf dat jouw communicatie monopoliseert. Kies een server die je vertrouwt — welke je ook kiest, je kunt met elke andere server communiceren. Iedereen kan een eigen Mastodon-server draaien en naadloos deelnemen in het <em>sociale netwerk</em>. about_this: Over deze server - apps: Apps business_email: 'E-mailadres:' closed_registrations: Registreren op deze server is momenteel uitgeschakeld. contact: Contact description_headline: Wat is %{domain}? domain_count_after: andere servers domain_count_before: Verbonden met - features: - api: Open API voor apps en diensten - blocks: Uitgebreide blokkeer- en negeerhulpmiddelen - characters: 500 tekens per bericht - chronology: Tijdlijnen zijn chronologisch - ethics: 'Ethisch design: geen advertenties, geen spionage' - gifv: GIFV-sets en korte video's - privacy: Nauwkeurige privacyinstellingen per toot (bericht) - public: Openbare tijdlijnen - features_headline: Wat maakt Mastodon anders get_started: Beginnen links: Links other_instances: Andere servers @@ -73,8 +62,6 @@ nl: desc_html: Wordt op de voorpagina weergegeven wanneer registratie van nieuwe accounts is uitgeschakeld<br>En ook hier kan je HTML gebruiken title: Bericht wanneer registratie is uitgeschakeld open: - disabled: Uitgeschakeld - enabled: Ingeschakeld title: Open registratie setting: Instelling site_description: @@ -89,7 +76,7 @@ nl: admin_mailer: new_report: body: "%{reporter} heeft %{target} gerapporteerd" - subject: Nieuwe toots gerapporteerd op %{instance} (#%{id}) + subject: Nieuwe toots gerapporteerd op %{instance} (#%{id}) application_mailer: settings: 'E-mailvoorkeuren wijzigen: %{link}' signature: Mastodon-meldingen van %{instance} @@ -131,7 +118,7 @@ nl: bad_password_msg: Goed geprobeerd hackers! Ongeldig wachtwoord confirm_password: Voer jouw huidige wachtwoord in om jouw identiteit te bevestigen description_html: Hierdoor worden alle gegevens van jouw account <strong>permanent, onomkeerbaar</strong> verwijderd en wordt deze gedeactiveerd. Om toekomstige identiteitsdiefstal te voorkomen, kan op deze server jouw gebruikersnaam niet meer gebruikt worden. - proceed: Account verwijderen + proceed: Account verwijderen success_msg: Jouw account is succesvol verwijderd warning_html: We kunnen alleen garanderen dat jouw gegevens op deze server worden verwijderd. Berichten (toots), incl. media, die veel zijn gedeeld laten mogelijk sporen achter. Offline servers en servers die niet meer op jouw updates zijn geabonneerd zullen niet hun databases updaten. warning_title: Verwijdering gegevens op andere servers @@ -177,7 +164,7 @@ nl: following: Volglijst muting: Negeerlijst upload: Uploaden - landing_strip_html: <strong>%{name}</strong> is een gebruiker op %{link_to_root_path}. Je kunt deze volgen en ermee communiceren als je ergens in deze fediverse een account hebt. + landing_strip_html: "<strong>%{name}</strong> is een gebruiker op %{link_to_root_path}. Je kunt deze volgen en ermee communiceren als je ergens in deze fediverse een account hebt." landing_strip_signup_html: Als je dat niet hebt, kun je je <a href="%{sign_up_path}">hier registreren</a>. notification_mailer: digest: @@ -286,7 +273,7 @@ nl: generate_recovery_codes: Herstelcodes genereren instructions_html: "<strong>Scan deze QR-code in Google Authenticator of een soortgelijke app op jouw mobiele telefoon</strong>. Van nu af aan genereert deze app aanmeldcodes die je bij het aanmelden moet invoeren." lost_recovery_codes: Met herstelcodes kun je toegang tot jouw account krijgen wanneer je jouw telefoon bent kwijtgeraakt. Wanneer je jouw herstelcodes bent kwijtgeraakt, kan je ze hier opnieuw genereren. Jouw oude herstelcodes zijn daarna ongeldig. - manual_instructions: 'Hieronder vind je de geheime code in platte tekst. Voor het geval je de QR-code niet kunt scannen en het handmatig moet invoeren.' + manual_instructions: Hieronder vind je de geheime code in platte tekst. Voor het geval je de QR-code niet kunt scannen en het handmatig moet invoeren. recovery_codes_regenerated: Opnieuw genereren herstelcodes geslaagd recovery_instructions_html: Wanneer je ooit de toegang verliest tot jouw telefoon, kan je met behulp van een van de herstelcodes hieronder opnieuw toegang krijgen tot jouw account. Zorg ervoor dat je de herstelcodes op een veilige plek bewaard. (Je kunt ze bijvoorbeeld printen en ze samen met andere belangrijke documenten bewaren.) setup: Instellen diff --git a/config/locales/no.yml b/config/locales/no.yml index 5fd63f121..05714959d 100644 --- a/config/locales/no.yml +++ b/config/locales/no.yml @@ -3,23 +3,12 @@ about: about_mastodon: Mastodon er et sosialt nettverk laget med <em>fri programvare</em>. Et <em>desentralisert</em> alternativ til kommersielle plattformer. Slik kan det unngÃ¥ risikoene ved Ã¥ ha et enkelt selskap som monopoliserer din kommunikasjon. Velg en tjener du stoler pÃ¥ — uansett hvilken du velger sÃ¥ kan du kommunisere med alle andre. Alle kan kjøre sin egen Mastodon og delta sømløst i det sosiale nettverket. about_this: Om denne instansen - apps: Applikasjoner business_email: 'Bedriftsepost:' closed_registrations: Registreringer er for øyeblikket lukket pÃ¥ denne instansen. contact: Kontakt description_headline: Hva er %{domain}? domain_count_after: andre instanser domain_count_before: Koblet til - features: - api: Ã…pent API for applikasjoner og tjenester - blocks: Rikholdige blokkeringsverktøy - characters: 500 tegn per status - chronology: Tidslinjer er kronologiske - ethics: 'Etisk design: Ingen reklame, ingen sporing' - gifv: Støtte for GIFV og korte videoer - privacy: Finmaskede personvernsinnstillinger - public: Felles tidslinjer - features_headline: Hva skiller Mastodon fra andre sosiale nettverk get_started: Kom i gang links: Lenker other_instances: Andre instanser @@ -160,8 +149,6 @@ desc_html: Vises pÃ¥ forsiden nÃ¥r registreringer er lukket<br>Du kan bruke HTML-tagger title: Melding for lukket registrering open: - disabled: PÃ¥ - enabled: Av title: Ã…pen registrering setting: Innstilling site_description: diff --git a/config/locales/oc.yml b/config/locales/oc.yml index 631133f74..30d5258a5 100644 --- a/config/locales/oc.yml +++ b/config/locales/oc.yml @@ -3,23 +3,12 @@ oc: about: about_mastodon: Mastodon es un malhum social <em>liure e open-source</em>. Una alternativa <em>decentralizada</em> a las platformas comercialas, aquò evita qu’una sola companiá monopolize vòstra comunicacion. Causissètz une servidor que vos fisatz, quina que siague vòstra causida, podètz interagir amb tot lo mond. Qual que siague pòt aver son instà ncia Mastodon e participar al <em>malhum social</em> sens cap de problèmas. about_this: A prepaus d’aquesta instà ncia - apps: Aplicacions business_email: 'Corrièl professional :' closed_registrations: Las inscripcions son clavadas pel moment sus aquesta instà ncia. contact: Contacte description_headline: Qué es %{domain} ? domain_count_after: autras instà ncias domain_count_before: Connectat a - features: - api: API dubèrta per las aplicacions e servicis - blocks: Aisinas complètas per blocar e rescondre - characters: 500 caractèrs per publicacion - chronology: Flux d’actualitat cronologic - ethics: 'Ethical design: pas cap de reclama o traçador' - gifv: Partatge de GIFs e vidèos cortas - privacy: Nivèl de confidencialitat configurable per cada publicacion - public: Fluxes d’actualitat publics - features_headline: Çò que fa que Mastodon es diferent get_started: Venètz al malhum links: Ligams other_instances: Autras instà ncias @@ -167,8 +156,6 @@ oc: desc_html: Afichat sus las pagina d’acuèlh quand las inscripcions son tampadas.<br>Podètz utilizar de balisas HTML title: Messatge de barradura de las inscripcions open: - disabled: Desactivadas - enabled: Activadas title: Inscripcions setting: Paramètre site_description: @@ -220,7 +207,7 @@ oc: - dv - ds abbr_month_names: - - + - - gen - feb - mar @@ -246,7 +233,7 @@ oc: long: Lo %e %B de %Y short: "%e %b" month_names: - - + - - de genièr - de febrièr - de març diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 321b1590e..018ff3c7b 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -3,23 +3,12 @@ pl: about: about_mastodon: Mastodon jest <em>wolnÄ… i otwartÄ…</em> sieciÄ… spoÅ‚ecznoÅ›ciowÄ…, <em>zdecentralizowanÄ…</em> alternatywÄ… dla zamkniÄ™tych, komercyjnych platform. Pozwala uniknąć ryzyka monopolizacji Twojej komunikacji przez jednÄ… korporacjÄ™. Wybierz serwer, któremu ufasz — nie ograniczy to Twoich możliwoÅ›ci komunikacji z innymi osobami w sieci. Każdy może też uruchomić wÅ‚asnÄ… instancjÄ™ Mastodona i doÅ‚Ä…czyć do reszty tej <em>sieci spoÅ‚ecznoÅ›ciowej</em>. about_this: O tej instancji - apps: Aplikacje business_email: 'SÅ‚użbowy adres e-mail:' closed_registrations: Rejestracja na tej instancji jest obecnie zamkniÄ™ta. contact: Kontakt description_headline: Czym jest %{domain}? domain_count_after: instancji domain_count_before: Serwer poÅ‚Ä…czony z - features: - api: Otwarte API dla aplikacji i usÅ‚ug - blocks: Rozbudowane narzÄ™dzia blokowania i ukrywania - characters: 500 znaków na wpis - chronology: Chronologiczny porzÄ…dek wyÅ›wietlania - ethics: 'Etyczne zaÅ‚ożenia: nie Å›ledzimy, bez reklam' - gifv: obsÅ‚uga GIFV i krótkich wideo - privacy: Precyzyjne ustawienia widocznoÅ›ci poszczególnych postów - public: Publiczne osie czasu - features_headline: Co wyróżnia Mastodona get_started: Rozpocznijmy! links: OdnoÅ›niki other_instances: Inne instancje @@ -48,7 +37,7 @@ pl: create: name: "%{account_name} utworzyÅ‚(a) wpis." outbox: - name: "Skrzynka %{account_name}" + name: Skrzynka %{account_name} summary: Zbiór aktywnoÅ›ci użytkownika %{account_name}. admin: accounts: @@ -173,8 +162,6 @@ pl: desc_html: WyÅ›wietlana na stronie głównej, gdy możliwość otwarej rejestracji<br>nie jest dostÄ™pna. Możesz korzystać z tagów HTML title: Wiadomość o nieaktywnej rejestracji open: - disabled: Nieaktywna - enabled: Aktywna title: Otwarta rejestracja setting: Ustawienie site_description: @@ -198,7 +185,7 @@ pl: title: Administracja admin_mailer: new_report: - body: "Użytkownik %{reporter} zgÅ‚osiÅ‚ %{target}" + body: Użytkownik %{reporter} zgÅ‚osiÅ‚ %{target} subject: Nowe zgÅ‚oszenie na %{instance} (#%{id}) application_mailer: settings: 'ZmieÅ„ ustawienia powiadamiania: %{link}' @@ -469,7 +456,7 @@ pl: <p>Dokument jest dostÄ™pny na licencji CC-BY-SA. Ostatnio modyfikowany 31 maja 2013, przetÅ‚umaczony 4 lipca 2017. TÅ‚umaczenie (mimo doÅ‚ożenia wszelkich staraÅ„) może nie być w peÅ‚ni poprawne.</p> <p>Tekst bazuje na <a href="https://github.com/discourse/discourse">polityce prywatnoÅ›ci Discourse</a>. - title: "Zasady korzystania i polityka prywatnoÅ›ci %{instance}" + title: Zasady korzystania i polityka prywatnoÅ›ci %{instance} time: formats: default: "%b %d, %Y, %H:%M" diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR.yml index 973a8d401..fb5e03c8c 100644 --- a/config/locales/pt-BR.yml +++ b/config/locales/pt-BR.yml @@ -3,23 +3,12 @@ pt-BR: about: about_mastodon: Mastodon é um servidor de rede social <em>grátis, e open-source</em>. Uma alternativa <em>descentralizada</em> ás plataformas comerciais, que evita o risco de uma única empresa monopolizar a sua comunicação. Escolha um servidor que você confie — qualquer um que escolher, você poderá interagir com todo o resto. Qualquer um pode ter uma instância Mastodon e assim participar na <em>rede social federada</em> sem problemas. about_this: Sobre essa instância - apps: Aplicações business_email: 'Email comercial:' closed_registrations: Registros estão fechadas para essa instância. contact: Contato description_headline: O que é %{domain}? domain_count_after: outras instâncias domain_count_before: Conectado a - features: - api: Aberto para API de aplicações e serviços - blocks: Bloqueos e ferramentas para mudar - characters: 500 caracteres por post - chronology: Timeline são cronologicas - ethics: 'Design ético: sem propaganda, sem tracking' - gifv: GIFV e vÃdeos curtos - privacy: Granular, privacidade setada por post - public: Timelines públicas - features_headline: O que torna Mastodon diferente get_started: Comece aqui links: Links other_instances: Outras instâncias @@ -159,8 +148,6 @@ pt-BR: desc_html: Mostrar na página inicial quando registros estão fecados<br/>Você pode usar tags HTML title: Mensagem de registro fechados open: - disabled: Desabilitado - enabled: Habilitado title: Aberto para registro setting: Preferências site_description: diff --git a/config/locales/pt.yml b/config/locales/pt.yml index dff2898c0..0f59185a7 100644 --- a/config/locales/pt.yml +++ b/config/locales/pt.yml @@ -3,23 +3,12 @@ pt: about: about_mastodon: Mastodon é uma rede social <em>grátis e em código aberto</em>. Uma alternativa <em>descentralizada</em> à s plataformas comerciais, que evita o risco de uma única empresa monopolizar a tua comunicação. Escolhe um servidor que confies, não importa qual, pois vais poder comunicar com todos os outros. Qualquer um pode criar uma instância Mastodon e participar nesta <em>rede social</em>. about_this: Sobre esta instância - apps: Aplicações business_email: 'Email comercial:' closed_registrations: Novos registos estão fechados nesta instância. contact: Contacto description_headline: O que é o %{domain}? domain_count_after: outras instâncias domain_count_before: Ligado a - features: - api: API aberta para aplicações e serviços - blocks: Ferramentas para silenciar e bloquear - characters: 500 caracteres por post - chronology: Timelines cronológicas - ethics: 'Design ético: sem públicidade ou tracking' - gifv: GIFV e pequenos vÃdeos - privacy: Privacidade granular por post - public: Timelines públicas - features_headline: O que torna Mastodon diferente get_started: Começar links: Links other_instances: Outras instâncias @@ -154,8 +143,6 @@ pt: desc_html: Mostrar na página inicial quando registos estão encerrados<br/>Podes usar tags HTML title: Mensagem de registos encerrados open: - disabled: Desabilitado - enabled: Habilitado title: Aceitar novos registos setting: Preferências site_description: diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 6321e96eb..414d39dd2 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -3,23 +3,12 @@ ru: about: about_mastodon: Mastodon - Ñто <em>ÑвободнаÑ</em> ÑÐ¾Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ñеть Ñ <em>открытым иÑходным кодом</em>. Как <em>децентрализованнаÑ</em> альтернатива коммерчеÑким платформам, Mastodon предотвращает риÑк монополизации Вашего Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð¹ компанией. Выберите Ñервер, которому Ð’Ñ‹ доверÑете — что бы Ð’Ñ‹ ни выбрали, Ð’Ñ‹ Ñможете общатьÑÑ Ñо вÑеми оÑтальными. Любой может запуÑтить Ñвой ÑобÑтвенный узел Mastodon и учаÑтвовать в <em>Ñоциальной Ñети</em> Ñовершенно беÑшовно. about_this: Об Ñтом узле - apps: ÐŸÑ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ business_email: 'Деловой e-mail:' closed_registrations: Ð’ данный момент региÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð½Ð° Ñтом узле закрыта. contact: СвÑзатьÑÑ description_headline: Что такое %{domain}? domain_count_after: другими узлами domain_count_before: СвÑзан Ñ - features: - api: Открытый API Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ и ÑервиÑов - blocks: Продвинутые инÑтрументы Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð³Ð»ÑƒÑˆÐµÐ½Ð¸Ñ - characters: 500 Ñимволов на поÑÑ‚ - chronology: ХронологичеÑкие ленты - ethics: 'Ðтичный дизайн: нет рекламы, нет ÑлежениÑ' - gifv: GIFV и короткие видео - privacy: Тонкие наÑтройки приватноÑти Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ поÑта - public: Публичные ленты - features_headline: Что выделÑет Mastodon get_started: Ðачать links: СÑылки other_instances: Другие узлы @@ -141,8 +130,6 @@ ru: desc_html: ОтображаетÑÑ Ð½Ð° титульной Ñтранице, когда закрыта региÑтрациÑ<br>Можно иÑпользовать HTML-теги title: Сообщение о закрытой региÑтрации open: - disabled: Закрыта - enabled: Открыта title: Открыть региÑтрацию setting: ÐаÑтройка site_description: diff --git a/config/locales/th.yml b/config/locales/th.yml index 322e5e74b..a71252afe 100644 --- a/config/locales/th.yml +++ b/config/locales/th.yml @@ -3,23 +3,12 @@ th: about: about_mastodon: à¹à¸¡à¸ªà¹‚ทดà¸à¸™ เป็น <em>ดีเซ็นทรัลไลซ์</em><em>ฟรีโà¸à¹€à¸žà¹ˆà¸™à¸‹à¸à¸£à¹Œà¸ª</em> โซเชี่ยวเน็ตเวริ์ค. เป็นทางเลืà¸à¸à¸—ดà¹à¸—นโซเชี่ยวเน็ตเวิร์คที่ทำเป็นธุรà¸à¸´à¸ˆà¸à¸²à¸£à¸„้า, ป้à¸à¸‡à¸à¸±à¸™à¸à¸²à¸£à¸œà¸¹à¸à¸‚าดช่à¸à¸‡à¸—างà¸à¸²à¸£à¸ªà¸·à¹ˆà¸à¸ªà¸²à¸£à¸‚à¸à¸‡à¸„ุณ. เลืà¸à¸à¹€à¸‹à¸£à¹Œà¸Ÿà¹€à¸§à¸à¸£à¹Œà¸—ี่คุณไว้ใจ — ที่คุณเลืà¸à¸à¹„ด้เà¸à¸‡, สื่à¸à¸ªà¸²à¸£à¸à¸±à¸šà¸„นที่คุณต้à¸à¸‡à¸à¸²à¸£à¹„ด้เสมà¸. ใครๆà¸à¹‡à¸£à¸±à¸™à¹à¸¡à¸ªà¹‚ทดà¸à¸™à¸à¸´à¸™à¸‹à¸°à¹à¸•à¸™à¸‹à¹Œà¹„ด้ à¹à¸¥à¸° เชื่à¸à¸¡à¸•à¹ˆà¸à¸à¸±à¸š<em>โซเชี่ยวเน็ตเวิร์ค</em> โดยไม่มีà¸à¸°à¹„รมาขวางà¸à¸±à¹‰à¸™. about_this: เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¸à¸´à¸™à¸‹à¸°à¹à¸•à¸™à¸‹à¹Œà¸™à¸µà¹‰ - apps: à¹à¸à¹Šà¸Ÿ business_email: 'à¸à¸µà¹€à¸¡à¸¥à¹Œà¸˜à¸¸à¸£à¸à¸´à¸ˆ:' closed_registrations: à¸à¸´à¸™à¸‹à¸°à¹à¸•à¸™à¸‹à¹Œà¸™à¸µà¹‰à¸›à¸´à¸”รับลงทะเบียนà¹à¸¥à¹‰à¸§. contact: ติดต่ภdescription_headline: โดเมนคืภ%{domain} ? domain_count_after: à¸à¸´à¸™à¸‹à¸°à¹à¸•à¸™à¸‹à¹Œà¸à¸·à¹ˆà¸™à¹† domain_count_before: เชื่à¸à¸¡à¸•à¹ˆà¸à¸à¸±à¸š - features: - api: API เปิดสำหรับ Apps à¹à¸¥à¸° Services - blocks: มีเครื่à¸à¸‡à¸¡à¸·à¸à¸ªà¸³à¸«à¸£à¸±à¸š Block à¹à¸¥à¸° Mute - characters: เขียนได้ 500 ตัวà¸à¸±à¸à¸©à¸£à¸•à¹ˆà¸à¹‚พสต์ - chronology: Timelines are chronological - ethics: 'à¸à¸à¸à¹à¸šà¸šà¸”้วยจรรยาบรรณ: ไม่มีโฆษณา, ไม่มีà¸à¸²à¸£à¹à¸—รค' - gifv: รà¸à¸‡à¸£à¸±à¸šà¸ าพ GIFV à¹à¸¥à¸° วีดีโà¸à¸ªà¸±à¹‰à¸™ - privacy: Granular, per-post privacy settings - public: ไทม์ไลน์สาธารณะ - features_headline: What sets Mastodon apart get_started: เริ่มà¸à¸±à¸™à¹€à¸¥à¸¢ links: ลิงà¸à¹Œ other_instances: à¸à¸´à¸™à¸‹à¸°à¹à¸•à¸™à¸‹à¹Œà¸à¸·à¹ˆà¸™à¹† @@ -160,8 +149,6 @@ th: desc_html: Displayed on frontpage when registrations are closed<br> ใช้ HTML tags ได้ title: ปิดข้à¸à¸„วามลงทะเบียน open: - disabled: ปิดà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ - enabled: ปิดใช้งาน title: เปิดรับลงทะเบียน setting: ตั้งค่า site_description: diff --git a/config/locales/tr.yml b/config/locales/tr.yml index 0e33e2efe..a8927eaa8 100644 --- a/config/locales/tr.yml +++ b/config/locales/tr.yml @@ -3,23 +3,12 @@ tr: about: about_mastodon: Mastodon <em>ücretsiz ve açık kaynaklı</em> bir sosyal aÄŸdır. <em>MerkezileÅŸtirilmemiÅŸ</em> yapısı sayesinde diÄŸer ticari sosyal platformların aksine iletiÅŸimininizin tek bir firmada tutulmasının/yönetilmesinin önüne geçer. GüvendiÄŸiniz bir sunucuyu seçerek oradaki kiÅŸilerle etkileÅŸimde bulunabilirsiniz. Herkes kendi Mastodon sunucusunu kurabilir ve sorunsuz bir ÅŸekilde Mastodon <em>sosyal ağına</em> dahil edebilir. about_this: Bu sunucu hakkında - apps: Uygulamalar business_email: 'Ä°ÅŸ e-postası:' closed_registrations: Bu sunucu ÅŸu anda yeni kayıt almamaktadır. contact: Ä°letiÅŸim description_headline: Peki %{domain} nedir? domain_count_after: sunucu var. domain_count_before: BaÄŸlı olduÄŸu - features: - api: Uygulama ve servisler için açık API - blocks: Zengin blok ve iletiÅŸim araçları - characters: 500 karakterlik gönderiler - chronology: Kronolojik zaman tüneli - ethics: 'Etik tasarım: reklam ve izleme yok' - gifv: GIFV ve diÄŸer video türleri - privacy: Gönderi bazlı gizlilik - public: Herkese açık zaman tünelleri - features_headline: Mastodon'ı diÄŸerlerinden ayıran nedir? get_started: Kayıt ol links: BaÄŸlantılar other_instances: DiÄŸer sunucular @@ -159,8 +148,6 @@ tr: desc_html: Kayıt alımları kapatıldığında ana sayfada görüntülenecek mesajdır. <br> HTML etiketleri kullanabilirsiniz. title: Kayıt alımları kapatılma mesajı open: - disabled: Kapalı - enabled: Açık title: Kayıt alımları setting: Ayar adı site_description: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 1327c1a7b..65f1aabf5 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -3,23 +3,12 @@ uk: about: about_mastodon: Mastodon - це <em>вільна</em> Ñоціальна мережа з <em>відкритим вихідним кодом</em>. Вона Ñ” <em>децентралізованою</em> альтернативою комерційним платформам, що дозволÑÑ” уникнути ризиків монополізації вашого ÑÐ¿Ñ–Ð»ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð´Ð½Ñ–Ñ”ÑŽ компанією. Виберіть Ñервер, Ñкому ви довірÑєте — що б ви не вибрали, Ви зможете ÑпілкуватиÑÑŒ з уÑіма іншими. Будь-Ñкий кориÑтувач може запуÑтити влаÑну інÑтанцію Mastodon та без проблем брати учаÑÑ‚ÑŒ в <em>Ñоціальній мережі</em>. about_this: Про цю інÑтанцію - apps: Додатки business_email: 'Діловий email:' closed_registrations: Ðа даний момент реєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð½Ð° цій інÑтанції закрита. contact: Зв'ÑзатиÑÑ description_headline: Що таке %{domain}? domain_count_after: іншими інÑтанціÑми domain_count_before: Зв'Ñзаний з - features: - api: Відкритий API Ð´Ð»Ñ Ð´Ð¾Ð´Ð°ÐºÑ–Ð² та ÑервіÑів - blocks: Продвинуті інÑтрументи Ñамомодерації - characters: 500 Ñимволів на поÑÑ‚ - chronology: Хронологічні Ñтрічки - ethics: 'Ðтичний дизайн: немає реклами, немає ÑтеженнÑ' - gifv: GIFV та короткі відео - privacy: Тонкі Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð²Ð°Ñ‚Ð½Ð¾ÑÑ‚Ñ– Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ поÑта - public: Публічні Ñтрічки - features_headline: Що виділÑÑ” Mastodon get_started: Почати links: ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ other_instances: Інші інÑтанції @@ -141,8 +130,6 @@ uk: desc_html: ВідображаєтьÑÑ Ð½Ð° титульній Ñторінці, коли реєÑÑ‚Ñ€Ð°Ñ†Ñ–Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð° <br>Можна викориÑтовувати HTML-теги title: ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ закриту реєÑтрацію open: - disabled: Закрита - enabled: Відкрита title: Відкрити реєÑтрацію setting: ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ site_description: diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 6c8e9fc6d..d5d1b672c 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -3,23 +3,12 @@ zh-CN: about: about_mastodon: Mastodon(长毛象)是一个<em>自由ã€å¼€æ”¾æºç </em>的社交网站。它是一个分布å¼çš„æœåŠ¡ï¼Œé¿å…ä½ çš„é€šä¿¡è¢«å•ä¸€å•†ä¸šæœºæž„åž„æ–æ“æŽ§ã€‚è¯·ä½ é€‰æ‹©ä¸€å®¶ä½ ä¿¡ä»»çš„ Mastodon 实例,在上é¢åˆ›å»ºå¸å·ï¼Œç„¶åŽä½ å°±å¯ä»¥å’Œä»»ä¸€ Mastodon 实例上的用户互通,享å—æ— ç¼çš„<em>社交</em>交æµã€‚ about_this: 关于本实例 - apps: åº”ç”¨ç¨‹åº business_email: 商业电邮︰ closed_registrations: 这个实例目å‰ä¸å¼€æ”¾æ³¨å†Œ _(:3ã€âˆ )_ contact: è”络 description_headline: 关于 %{domain} domain_count_after: 个其它实例 domain_count_before: 现已接入 - features: - api: 开放 API,供å„å¼åº”用程åºåŠæœåŠ¡æŽ¥å…¥ - blocks: 完善的å°é”用户ã€é™éŸ³åŠŸèƒ½ - characters: æ¯ç¯‡å˜Ÿæ–‡æœ€å¤š 500 å— - chronology: 纯粹按时间排åºï¼Œä¸ä½œå¤šä½™å¤„ç† - ethics: 良心设计︰没有广告,ä¸è¿½è¸ªä½ 的使用行为 - gifv: 支æŒæ˜¾ç¤º GIFV 动图å°è§†é¢‘ - privacy: å¯é€ç¯‡å˜Ÿæ–‡è®¾ç½®éšç§ - public: æ供公共时间轴 - features_headline: 是什么让 Mastodon 与众ä¸åŒ get_started: 上手使用 links: 链接 other_instances: 其它实例 @@ -166,8 +155,6 @@ zh-CN: desc_html: 当本站暂åœæŽ¥å—注册时,会显示这个消æ¯ã€‚<br/> å¯ä½¿ç”¨ HTML title: æš‚åœæ³¨å†Œæ¶ˆæ¯ open: - disabled: åœç”¨ - enabled: å¯ç”¨ title: 开放注册 setting: 设置 site_description: diff --git a/config/locales/zh-HK.yml b/config/locales/zh-HK.yml index 4d8262c5b..aa9f27912 100644 --- a/config/locales/zh-HK.yml +++ b/config/locales/zh-HK.yml @@ -3,23 +3,12 @@ zh-HK: about: about_mastodon: Mastodon(è¬è±¡ï¼‰æ˜¯<em>自由ã€é–‹æº</em>的社交網絡。æœå‹™ç«™<em>å„自ç¨ç«‹è€Œäº’連</em>,é¿å…單一商æ¥æ©Ÿæ§‹å£Ÿæ–·ã€‚æ‰¾ä½ æ‰€ä¿¡ä»»çš„æœå‹™ç«™ï¼Œå»ºç«‹å¸³è™Ÿï¼Œä½ å³å¯èˆ‡ä»»ä½•æœå‹™ç«™ä¸Šçš„用戶æºé€šï¼Œäº«å—無縫的<em>網絡交æµ</em>。 about_this: 關於本æœå‹™ç«™ - apps: æ‡‰ç”¨ç¨‹å¼ business_email: è¯çµ¡ç¶²ç«™ç®¡ç†è€…︰ closed_registrations: 本æœå‹™ç«™æš«æ™‚åœæ¢æŽ¥å—登記。 contact: è¯çµ¡ description_headline: 關於 %{domain} domain_count_after: 個其他æœå‹™ç«™ domain_count_before: 已連接至 - features: - api: 開放 API,供å„å¼æ‡‰ç”¨ç¨‹å¼åŠæœå‹™é€£å…¥ - blocks: 完善的å°éŽ–用戶ã€éœéŸ³åŠŸèƒ½ - characters: æ¯ç¯‡æ–‡ç« 最多 500 å— - chronology: æ™‚é–“è»¸å¿ å¯¦æŒ‰æ™‚æŽ’åºï¼Œä¸å¤šé¤˜è™•ç† - ethics: 良心è¨è¨ˆï¸°ç„¡å»£å‘Šï¼Œä¸è¿½è¹¤ç”¨æˆ¶ - gifv: 支æ´é¡¯ç¤º GIFV çŸç‰‡åœ–組 - privacy: å¯é€ç¯‡æ–‡ç« è¨å®šç§éš±åº¦ - public: 公共時間軸 - features_headline: 甚麼讓 Mastodon 與眾ä¸åŒ get_started: ç«‹å³ç™»è¨˜ links: é€£çµ other_instances: 其他æœå‹™ç«™ @@ -159,8 +148,6 @@ zh-HK: desc_html: 當本站暫åœæŽ¥å—註冊時,會顯示這個訊æ¯ã€‚<br/> å¯ä½¿ç”¨ HTML title: æš«åœè¨»å†Šè¨Šæ¯ open: - disabled: åœç”¨ - enabled: 啟用 title: 開放註冊 setting: è¨å®š site_description: diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 754175a7a..58caf7848 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -3,23 +3,12 @@ zh-TW: about: about_mastodon: Mastodon (長毛象)是一個<em>自由ã€é–‹æ”¾åŽŸå§‹ç¢¼</em>的社群網站。它是一個分散å¼çš„æœå‹™ï¼Œé¿å…您的通訊被單一商æ¥æ©Ÿæ§‹å£Ÿæ–·æ“控。請您é¸æ“‡ä¸€å®¶æ‚¨ä¿¡ä»»çš„ Mastodon æœå‹™ç«™ï¼Œåœ¨ä¸Šé¢å»ºç«‹å¸³è™Ÿï¼Œç„¶å¾Œæ‚¨å°±å¯ä»¥å’Œä»»ä¸€ Mastodon æœå‹™ç«™ä¸Šçš„使用者互通,享å—無縫的<em>社群網路</em>交æµã€‚ about_this: 關於本æœå‹™ç«™ - apps: æ‡‰ç”¨ç¨‹å¼ business_email: 商務信箱︰ closed_registrations: 本æœå‹™ç«™æš«æ™‚åœæ¢æŽ¥å—註冊。 contact: è¯çµ¡æˆ‘們 description_headline: 關於 %{domain} domain_count_after: 個æœå‹™ç«™ç›¸é€£ domain_count_before: 與其他 - features: - api: 開放 API,供å„å¼æ‡‰ç”¨ç¨‹å¼åŠæœå‹™ä¸²æŽ¥ - blocks: 完善的å°éŽ–使用者ã€éœéŸ³åŠŸèƒ½ - characters: æ¯ç¯‡æ–‡ç« 最多 500 å— - chronology: 時間軸按時åºé¡¯ç¤ºæ–‡ç« ,ä¸ä½œå¤šé¤˜è™•ç† - ethics: 良心è¨è¨ˆï¸°æ²’有廣告,ä¸è¿½è¹¤æ‚¨çš„使用行為 - gifv: 支æ´é¡¯ç¤º GIFV çŸç‰‡ - privacy: å¯é€ç¯‡æ–‡ç« 調整隱ç§è¨å®š - public: 公開時間軸 - features_headline: Mastodon 與眾ä¸åŒä¹‹è™• get_started: ç«‹å³è¨»å†Š links: é€£çµ other_instances: 其他æœå‹™ç«™ @@ -120,8 +109,6 @@ zh-TW: desc_html: 關閉註冊時顯示在首é 的內容,å¯ä½¿ç”¨ HTML 標籤。 title: é—œé–‰è¨»å†Šè¨Šæ¯ open: - disabled: åœç”¨ - enabled: 啟用 title: 開放註冊 setting: è¨å®š site_description: diff --git a/config/settings.yml b/config/settings.yml index be2a7a1f8..579ba2929 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -16,6 +16,7 @@ defaults: &defaults open_registrations: true closed_registrations_message: '' open_deletion: true + timeline_preview: true boost_modal: false auto_play_gif: false delete_modal: true diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 0e182c755..bd70937e4 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -161,16 +161,12 @@ namespace :mastodon do namespace :settings do desc 'Open registrations on this instance' task open_registrations: :environment do - setting = Setting.where(var: 'open_registrations').first - setting.value = true - setting.save + Setting.open_registrations = true end desc 'Close registrations on this instance' task close_registrations: :environment do - setting = Setting.where(var: 'open_registrations').first - setting.value = false - setting.save + Setting.open_registrations = false end end diff --git a/spec/requests/localization_spec.rb b/spec/requests/localization_spec.rb index 2f7a5e91e..f625a93a4 100644 --- a/spec/requests/localization_spec.rb +++ b/spec/requests/localization_spec.rb @@ -6,13 +6,13 @@ describe 'Localization' do after(:all) do I18n.locale = I18n.default_locale end - + it 'uses a specific region when provided' do headers = { 'Accept-Language' => 'zh-HK' } get "/about", headers: headers expect(response.body).to include( - I18n.t('about.about_mastodon', locale: 'zh-HK') + I18n.t('about.about_mastodon_html', locale: 'zh-HK') ) end @@ -21,7 +21,7 @@ describe 'Localization' do get "/about", headers: headers expect(response.body).to include( - I18n.t('about.about_mastodon', locale: 'es') + I18n.t('about.about_mastodon_html', locale: 'es') ) end it 'falls back to english when locale is missing' do @@ -29,7 +29,7 @@ describe 'Localization' do get "/about", headers: headers expect(response.body).to include( - I18n.t('about.about_mastodon', locale: 'en') + I18n.t('about.about_mastodon_html', locale: 'en') ) end end diff --git a/spec/views/about/show.html.haml_spec.rb b/spec/views/about/show.html.haml_spec.rb index 2c5130d84..c0ead6349 100644 --- a/spec/views/about/show.html.haml_spec.rb +++ b/spec/views/about/show.html.haml_spec.rb @@ -10,10 +10,11 @@ describe 'about/show.html.haml', without_verify_partial_doubles: true do it 'has valid open graph tags' do instance_presenter = double(:instance_presenter, - site_description: 'something', - open_registrations: false, - closed_registrations_message: 'yes', - ) + site_title: 'something', + site_description: 'something', + version_number: '1.0', + open_registrations: false, + closed_registrations_message: 'yes') assign(:instance_presenter, instance_presenter) render -- GitLab