From b551775e8e2bb3dba83cbc3f1f9bcd105aa76b50 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Wed, 5 Mar 2025 23:37:43 +0100 Subject: [PATCH 01/70] feat: implement the SectionContentStore model --- .yarn/install-state.gz | Bin 454749 -> 456440 bytes spec/dummy/db/schema.rb | 9 ++++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index fc7cfe94f151f143d13a438c617fb4b330793aac..410b48991fa4e6e87db8f4cf4dd91057e19066a8 100644 GIT binary patch delta 374431 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%0ALzFf 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
su7K;M>~9!u5>J&;R|B?64s_?lXe&n4Dc{& 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%0A$mSa_Q+Xx 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%0A*gzy8M2h7Wa5Q3NV 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

+0!+hDe3vT}wqdTW#M=BcaA5d^ks+?piHA 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℘fBaBh%44KKXT|EI)37P@{nVNP9%Cyey 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 delta 372664 zcmV)0K+eDT?Hk?T8-TO{pGALfx1-l`r0Kz)mReHFtya5d?8C7PpP8J@$lqx93~ay$ zz6t}8nGsuTkt~8NZb@Un*WgPwo>k;-@vCB=e&{n{Yj3hDbFEyF5%2rFv$--NAk56E zpi3*VnoiY~={Zb|SxdEuhFl+AM?U-=Y||x#*0i+ESf)ztpOWO!z4m|A#%X6 za%Vl3YMn+N844TE4G}P%w$OQYUr!?BUWoKejYRr-8No|$)XRjzS7v&eNFbh@3$R$H zAwu`VcQy!ixpM@j9c|D~!6dKfGWX}7K%Y~a1TC+?dfP*X_Av_wJ;CM zGmMz>D#!U~Y;1jk(GhsAEGqdIRAGv=!o&%MKDl;u};ANk1K zDur)X)a=%BP1o3*d2BFwz_ORV%z&6)F-6i?J1^w|8G7gtc}nU|#9iVNseDC7iKbcS z)uJJpmZSa5tU9jdw*%KGF((_*^c>2lItLkg*Be1sA@!(k<)VK&VCYzl4#z~8TNV5W zP1IQnk%eXGu8fLWG`mhcC)k$Q;mku-kZgC|MSVvnsgHNF_ftSn6k;=JeWm7H%sCwy zu5uiR^>L;D)=8sWSL+1AOO@2iIHIS-CBpQAL$Z(ujOP{6=;eZ%DYaNd1FQwr>#R!{ z{>v%2y7N&LjJtnhViCi&l)7Cd3$%u~6d%)y6;wsUaY`l&bkng81Pz1o9_fuul12L> z%rvbe6q%l-m1u=47{e|6*!hqWn5aQo?HeiSGHzBIh6bNMjBgb2eD})H5!UK8Ba1yo z?~c1*R!t`w(cW!Gbi2;pv=3*@(4{Tthu2t|Wg$|Jozj0(I%wIn7*=gz>`EC7!4|t$ zcGaFU!|lsSzsn;tnU zujoNkH|ofAgMG_Jn5NrTYFs^WXD0`nlA&{4T$VNRsHH6$ISp^ms?@}FO1+-4h}efC zEf;GG2ZDbAL&z|~D6LT?Z9Jjbm4ajxe#S{IM1x}* zE7t>Leab}Pea>|t7(>X_2*g~ZNqWInePqrxF6(7-Yb8{;D)y__L|=r9PnnbvGhYkguNU$si3fo$ce z1pt5SN6~P_H5gKlGq9ut&B?TxDy%e64sqI6or96Y!p&nc z!)G13BbSpsp&y6LFr6-Y!KgA<=3IgWR3`Hh|6l*V|K@kU{q*?o(a-y>?I)N~?9lKfc+dKc=&)?Y(Z~e#L{q6Z_)xP|o_g=T({p_Q?|G|IvH-CKi z_=is)Z2LdH{(pW(Euel#Rc?+2u`QR$jLCOJ@5tk#D;XX8#7r<@I|Ah}rNg<|b$Irx zLp@cgo5rP{@{I0OFKU+1ta+yJDi5!s@b357*G+E(C#j}$JnYmsp-;2{V9>!>_`x;MN!+$ zaZZmJXpaXPh0+VNmoX3yuGMb#HVGR0GWE=YbQMdV;K`^6DULcin5(UoDnzH8 z3~R($Nx_|?D@~{61qiB~={A4&Nu!I(B7d7W`7#{^thF&yDPfA`~O|FW^a zdh}0^uRcG%dHd<5eZBMgeY>yur+vj*=3rbfHA|jS%1jb+7YSiXgC+zkR{}$&c#|b)yLrZILR<=t+3oK5dPh$0K8#zM9d%Uu{jHU^txLmY= zPG4^qTu*cvXCRcXWqW9v>(Dh%j-9fZdPiGUE*z1^&A$H3{`7z5;icE~-ph9TnvU1? z+Rozi3+u^g`Jm@j!qJcA%#5z^V4bVwQ;I9~SSdx1vIG`nVE40}LUxvmS5*o(-~*SY z=H5|ApN@TA0Pz@Z&FHNXoIQ7pa$76mgH+k|5n*E81v# z(6wv;Hlsx26w80K98;QIOKMDN!J^cGn!?+G>sEGK7jmIUnNr%uP){29TXkU!K*h_-}a1018CkxkP z?gWA_08M5c7w!v*S8Q4MBXUM#I*jWr_C<*{Gg3KR4tRg~F=i*r*^sapu7JxtcC)|W z7!VcMne7Z{Pivx0^;KK$y8>iOwWXGG8BmsbH7LGl%BVxMLYUT-S=Jf*aXM1F*$JdC{Ap%7gQ^s?hVUZEuWQ zj0~XvwB5rP{v>@?7Ps6)=0f(*Fj~+w!2BAg(U9G#Cfd$O>PE%OM@MuttV=Dyv$TZv zyJZx780+YNj(Xt)k*qn-h97evj}9XTb#*GIb)|nRe0$G%+S?a4^xo_C?S{_Rt$uk~ z%MiGceCWZ9u7f;jL~mV%rq#rbxDb|!Y;@Qi1!YI7LqioM-{{4{nCR7BFSCnU@f_&9 zYU{_Dt-v~JaWx)eO>l6454zlJC_;nn3-ahFC`;2`7f$8WDI*Gvw>`_MT83A+lIpZe zX|sPawc@u(+DBiJ0K;zQ)+0>OFd?aH@2QTt+G)Ufp?Os;pcETpjN5PPKYuz8?_N54 z@4Rf^?x&QW4qqJEP>_5w7ENO@)}Bl1$=wAldV=VT(wqThyWqDA!g)`}aGB(6lfi#Y zZ~R0VP*6Urs0?qqlO&*Xdkmvu9gb4C($+Y?R6FL5ME~p zxCfr^vBlK+Fv;kU^MpE8y(?1VU5l4g%BWQ%5SGH0rC@3yGuPF|z(Y89i!L((`J5OX zQ{A(3eMR?f^s^wC+?Kz8{o&!$+AaTlGeQ)rEPbwlG9FQm%2}A z$3RU76q(57#8{@Q`awgx5i5-r$IsXui>kvb94QaSM^?S%=$Zyib=X8Y)nm?`svfkO z(GqiazddwUnX|Xr83benw6e3TjS!~RDQ9nP?71xkz6@1V81BldIl~o?BKdzR56e2c z&5FG$yX3SEER+gIy<+*p6r8e+PDcV!Z5>1Oc1M5luhhKvUb)+MG=DjE6Rx+Cr!nnp z1NCvAX^&a!hJZC}mJ)FQ!TOnA&dSl#?m$mUm)>RA&dpJ$oitl**>%=|xSt^s*G6#K z+?(OzAFm~59raw4m)m1kx5s~($jXDiEKl@Gu-l_tG~NY~f40;GsZFk?Lu!k(OD%GA zj$ocrH;4%Y8<2Z@=9`Ps*Z1-3zehJmD+qO*p1~mPB#Cviqkr|uUVcIEylUURp!s#z z*X>K0>){E<1QbcQ0!uaZ6y~uzQ!D^m0+(}uJzEO^9tB99g+a$QUZ#Jf)-*|RNRmvp zM7o3=zIAw8R-@JGElwX`n#ComOS`?IZUBrSx|gnCqK|AB1Zg4rV8&t?GYsYo2Oa=m zJbGxHbT`C6yc7oc3IaBn3N2>{zjF;#3oW)!VAGiFa&HrofaTG_zR2wr=HGvMeDm(} z+s~g~(G7m}dw=`EKfZsozxQ6o+qX6Sbc;y^>mddKfozpPWaK36GJ>2T-g*J4V+3wg z4~R)?4LrjmtF=BVCSC-ja%rk%DVho6JwPTKh7OoKiBrAP2qOxhLg8JvMbfTQWfzF# zEY3myYinGNpbW&Wdq*5)GfzS5Up+B(;jK)u80aU+SHRPHlq7!==@?{?0Y?d@;@lVg zKQ&?<781C0M%^8>T)I7fzi#h~J9^)hyKU)zEqjG|2>6;bssR32w4L2#fQ0X;7F(H| zU%ed7u{OFP+(EdIb0OFRO2^#!R6Z|+18yb6i`t28W zUp#2#lIVFOlJS3Fialn%2xN`UUPZ?;dg?PPL+jl9DNv=a;%dyQu@1DYiOwHvSp5AN zd^sE}03JISO2emw=UE!a%ys)k{hLR7^Y)K#-k+E2q0weK(`5pnfi^Hpw+j`CBm%-%BqVsb)1Dzt0bV?aGwKob zbx}UUZ(r75J%0YU9^Srr|A&_+HTPY+Zx7)1TE6V5%F$|ApLqdt(!5OPAxunTM*v}& zjS*PyI1S_2IFPMzZ5{G)&LPFXp}Syn-pzl3O!@{imSD%BcyrLChh&C6&WNBO4{FGE`t3KhbiwKg^#Vs)FHNtAwwZ8T3kt&t_BD1Z!;$Le?iaCeXN;F> z3afqw^yn&@6x)}h3G5fBZ|ef`oC$xq0Xl!VY8u}yOgFc~x4*kCG+#zDA3v`@zp%6S zUcuX!HUHGfcd}~$Ji!6!AaO<$LU(K(sa6@?Lf|E-Det<5%h?5K5t3MV|vXaYp-zK;6Z=1SYp6CZM@Iu(HLADhMY(?lQXl#`C$~}}6;7Qad4P7BjI6pJh7a}j^XezjGUN|0 zpv2AsNt#AE6`QKI?snBmZcLCXbZ3zRLW5gpP6Q@ODGr3RozCbojR8+0h+$0DoYc8h zra2-_S{7>*-3$KUZG(y3eM!@D=T*CXSL>Jl5|nvvdbGVNgkJFW8!LbP6$e>*IwM;{ z;Rh3MD&C)@MQS^;%fjL!k_ypMgjCEbmzlp}|Jg#aN6sLyYs2*|mCQqe43P2fe5+JK z20nA}9jce5fYaAKZY&+b*QzY%hO?&%gAhx79DZ`RS!G>b=+P+v+!Qo#{`9@5Zq`)VBnorZy!l zkSPLMt>pzY3^Gn?L3HBf;Ac95uW+s|JCo}Pam&}5>TvFqR|lA9MzT<+w=H#5pt+3e z#}xj7!*{sVJOGoWNgi43^s@**MDu^pYbl~23jHfcV=Mh(^M}%zF0 zJc?j2Tx-$dCWwD10hNb|k@h^dLmC3K7TSG80IAeytH2F~ca+B2t|L)r8o4>r54w~I z7E5%`Mz-p@0%eKW1&AAV$wJ5ElHV|p?34#DjI(@NQBSOK{|~K#;WHlh=yB5 zA_YLKSJ?y4p`I(^bY9mAX>AiAF-jV^pAZiP_v&*i({FA{urBCJKy*-DR%(W>HlTw- zjWV*1cAVy?7s}6&>uQ4=N?nV$#fM zld;fhJL6W(@*DP-Ht@qAUwwM>UtcPi?!ACtclLjm>}-17U(1uKr7!G7PXUlaQwY?G z5#-9$wJpn<6BlMFBlDPSsDEhr7dT_8RsRf^rDDv-y`SQ2FZ`o%(~@VZ^v)H{_(S)kM_e4w%)$9t@mEN z+ijKlrM0w&Cn|LyHddL_WQ>fs=j;kY{GjB#w{1IEjAlX$ZF zZZ=BFv&~sm1$}oZrIpm_61O$TCGFU0wSaz+0Yvj60r%9mXGf{DxSc4-p))k!b_@UN z$It$!mwLZf-T&V!rKzC@=CfdC9!9ar^c9tg38il*U2}VW_q}WJJm#pM# zw?SS={Q!XQCX_3kE^D_qk&M9SA{LI5WYL9Y)z->E3Uu=JkRY~)7 zX#A~sOp|A&(wEQZN9RNO>eJ`-&%R%}vEF+bZ%r8W%NG^nzLK=D+lh*Gs9e5k^P0U? zV4qk7`^v>RAcpWWYgR;vVvSh9^~wVGujgb$~> zxRKxXfj1epb58Z$H{lB|!%cr0$7Sw#K^=iRCcxRU0@s2QTw%BEHAM)LPzz4rmbY31 zr{*^6l@uBa!+uMJ9KsG1Vbm%(@gWvH6BYjI)5FI{&fkB2aj1IdwfkmI^Xr_x?CBnJ z@L{jxgahZDnCgTC7uyPK7sqte0^psL#^qp%2~}#jFWa!twU2_a*Ykf??~w=ejRDAs zWV(|R_HV;Cl54JeW>UOP?&7x{;FeZ}dfCSj=hFlsV;((KDlp1c`dCECYoCYjs1*27wZ5NwM171Q+1xUN8HgfN6p-c-8vZrY^oHmQNo{^Y;(vmAR z*QS>wp^b(1&!S!V6Ux;jR==Iq{4(s*w3PU1B-Pm1%w*dMibfGw;kK35G~?FbUI3T?*Dc14cvqW&$)-0 zXAEZmrqCp@_O~94m}>c&gwX&Z!;B9L{-^5}e#IUhgm^`)=18TtrmGMr4;ExjX6fvr z_o6xNL7S>q5g3jxN z5_txgkvgCNM3#N32yvGiMYmQv>&!DP)SKM4nRI2MVI2(ssYqkaZDMk9CbyFK-B1YS zWNCj5A~&n|nuCLnM&sG!78@pxT=#{HtUc|S4We}FS06#IkwDCKA-YlF+p)c2Yj_r!yGPjWE#`)+N!OJcQOIIMC5gF z-Ip;PCdb9GJ8F#tETq%nqs-hmyyos=d(vnnc3SYdWd%MsW?C8qcdlX=;I!^a-lkbP z82G!*w6F|*dki0c_2xZ4-%EwkotN(R*825^gA&$4_wYf`NlA4@({MkwXW3aWhqQmz zKn126Fu#h>HrNLgDS@}+N06Ql(Zsf$UihT``lk=+r`Rv`7ve?9cM_5rp3u1%F8@ z?TUTE44)4{oMctriXn=-VnBZxSwKb`^E1ei5Yvla2)^DkpfOYkbZ|*kFJzcl0Xtp; zU_{#^r7bmzl0!dirK~<+^d`iYqZ7T%H%@gwwPZEQNVkpPzuuodJ^uN_ORws^7w&uR z#!+Fo%TtuWV5&*9!fvwG+WQJl4v4)pzZ_Pp0ibBaX=OwxnaR$zCkt8kj>V zT+=3*D)U%bN}x5k;~J<6F|c$38Ke^JRmi=X$P!!`+LqEr2CWVoqTFuiZ_dNJSNmfN37Rv4_Nz{ zcIoyZ-M-fvA# zlW(o67;#6l+*{a13?Ja=Mh_xENer=!K+iOiw6-c*XGy+83JHOGM~by(8D)r`9uu8! zYZU@w&P;&Nk@gbP=gOPd2jtGaZ}Q&(F{b|eQ0ORI<$-_UwNg|tnxX&J5U6k_gi zhZ}JmK(wvsS>C#k;cI;p*HE`GkoMM^ofC;z?X7>_<{^+ec@Iggt+a2q_LuSS@!hLq zkM@#i^v+9n+xh+awr*(FlL51nBhiAMX>?zpJn`u&%}8353-9L?^_r7zjf7uvwtmvd zxg}N6jR?&6wg;SIJAT>;?}4ly=*H5Lqp1|@(0k`IJQjug*6T?1U2Gm~^k)Y#f=6?m zOmKgUtWlC&=Z-)RTs`S5xH*wvw&X#h?P`--ooz^wE0e-{a>~lo>~fv;v1&1er<@Su z=38#S-+uV`@TWh&ijUMw?_a_J-+TRT>!hy*u%8IjS9lPV{NPCrEI|4zy{;#MdDNHh z$-ub@2N%)>00CSK+BPk@?Vzf7J>!cVZ zpVbq=7ra%6@h9BLswrkVr4({7>#iF=+aUcCTSd);{O$s6x7twR_F|aZ02R-=$=)c7 zoJ8bE(V!WoRRCW0F?$~^A;Ewg36Ro~dnX}skwpTgv##LH;0{I_9SK+jA#S&P z)DT(qqPJhwIl<5`Z;1dxap$#yBJ@!q0q3OH zkH}LjPg&lgC)Y&qiIJ{)7Ou~1ZMJ`6efC5O)UEpA!<+rEAKpH^I7Geo+C9I^e4#qi zoCq99rM9L$GW>`^HUp{X(E$*{qpzj49h*q8F;lL32s262h*Lvpp?DxBWWb!3Y*Yu; zQU+8~6EXLG2moBf$|s}op6fIEZ`oZjyMV|~6W#I_4{-g}D!_nE#k0Y)Mje0WO4uSO z#r0xKb#SDef(hoJjw}C-&^PZY)VTW)e~bulltm!!mHS%HQV}lsx-dg&=QMTvp5J#pNTBbEOXkZW29c10MVwb9Aj2u z!A!$sFHlbVB9K&QZEg%0NX&oANx=UDOzK*kVXbbnQuY#F-^Bd7n(+ssW9d zM79CNt8)}vdF6j(R?h}~cag>TRY6176)@Dlj%fDi$zzB*qx%6f!=JIFZ92<6Vq zBgVN5Kq^fURT52UY4#Nj;Ylh>GXTL=q*>Lt9hLu^=>vb?d);2>1Itr2ygRX_+b?cU zg&EY>YGFfXCK4$vKQJC!u|tAkCeTqVLTixamjzFBrxzmT64zb-;L=+e9&wE*D=#2P z1G^A>61Z)tB3D_rH`V|c+j3b(jnon52$-S<*lY;FpVLqHwvvM=`mH3SlZ;^L@W-BA zFSI(hfkJV8TkHfJ2xVudPodqYV1bW=t3i|7@lvesZ>I>VVLfBIu-Cb3-dtRzT_~kylQuk~ zv)FU9N}E?K0rOrCb*IIK@@K2IDUrQxF8Il7I$kFcO{-+)oheYLp_nL%Fot>CU3zjP z`*)0u_g=g2-CA3-YFF0->=ezKnO8leGk7nTa`o65eqfas>M(wEVb-5oW?phE7#frR zNbG+A4<9)nsUdhJY-!7k6lAd>%D8S_!lUse5~?7qMHdj zCL??fNDu;XKh55NSX-S-^6pm>1B*-Ew#u27Sc&y)b2Wx7}lGck9r(*_s6S~|rl zGcEwu=Wy68@e<;Rmh0e_sL74M<|Av!US0FPWYDcFKTtEuAphfZljReLENOC4$JT#v zdU9(nuLGHgTCLB9<-dqe*QoqOdH$VO?(3HR=MVO{fB%nPf71W`{fBq|OZh+kUjoF+ z|NQXb@y)|~d;34}U_QQi|4)c??D0Q+{kQ+i(?uweq}dg?bR2R^X~|J?g7hSD8&=<1 z-kpT*<7u74Rb*`s;hH#R#er7g4bgw0_1c6%#Mq>;v_g+zdM!wMvUIYn6aGw}sYZ!vh7 zOM_dDp9OHoq`0kP*F(TLev>QfVdQ1bN41rmrxVfsELg!k@3@$|V!0DE#ixH1(FpVP zVW+o#psLiaLG-dWNIhkd-xJpO00T)rc21X}t= z#ENJ&?G|g3JE@FChn&&tg++fai816V{Mpi`<~j6~t^A?n4t_&js{-d7^JE+Zu!$w4%$d*(r;C42Nh#%C`xnK;SaY&! z5V`6Uc=yRK{QZiA`Jj`j2hbnHkWF}RptNfm8Ct?7M6WFwG~E+<&(OxRm;D6`ob?v?3QKD^1q7=a7-l{g0olMur zIw!|0RHI7|Lpy(%QEo0%Iwec1XM3VGeV8S!86>tsy5F}QkD8+R3>b87ryR zApdbWJDVdgLabHm=80H9gm-DVwAqndlqy5>By*9()I(-NX+AagOlab=TfE_KzJ^fw ztEc6A$x?OS1-zw@<}dym(d>1$5|x=1WSEvG@mIAUPtnJAAS5(L`bp@lI}l^(R{AWP zfHNM?mMDMZwmB=-v2%?aV->pYmoiD3o`{uI+dLsNojQ*1+dgrxlC{)aEunpZ#C+t2>$gMIw;B0lZjt9XC=+Wv(5?#TfB>y@9fM4sxlY0_s% z9}9Lt8&n)xdPB%O75MmBq}P>-Zg^tq;vP6*Vw3rfOiiWAV$I*y+@RZQMguc7+isZQo%38=KJEHbR-5*tpw>3S-V(jEx zQzW$1R!M~>9DG1$DRlS1p+_0FlK;Ah!aaXwx7c)FI~ilKwThO~V$~1=7F26lzFf2Q zJ?BZKRJ<>g02Ka;J)^9q&@g2vqi@H`%kDS$ghgom>yBD=F zcV4q^sCe?zX`%hVIBXwxOGz9e)sP4`!|n& z{#q%2`RCtrrQdrwZ;$2r)3Ll&yxSfnizByxFT)FcF&saa16UfRB;<2PzU+C!hhkC7g@@@<3`P#EU0A0Y=O4)cs{aBKDrD(5tETz!hfxMEGast^xJCds-!RNn! zQC$_?l-Jd7tEs<+Bw;UZ=)D*2Ceglt%KH*mmHVlik9SUaH3s(Q%wbm;#c3ri>$RoY zboSYjSL*Rm&Ma#&3_p99nx+z>XjDEWWj{6>Pa?s%LA08g1bwn2b&^wl@>;si*|+WC zi)l362MRO-D>SM141@V7p2Cc7UQbnjPef>x>4M`~T(hQ@N8Mwm?T6&rb@HOoYNg~p ziCajkRk9VmjJyQWeXV58lay5Q&bQ6P-@LcS&mZmW1(L8ASxxs|z~@-CFUg*Rkp!Sm z@NH5@DTUBc9xX?yJ9PlrSVu>pK-5#;7_|*eOL7&9w9Z&03l(v~ho#mt zK{nxu+-U_V~1;hLdWhgQ}jg&CMUV!?cN^sEHW7drcp0O_5c?LfIDpf zRxjj_9K;9dsokTF>b~vngRERTvX& zfbGBtu|_G)x$tB1MtC5M;%6K(s>j(iSD_OD2}!UU66AGiKT(Y0BMLo#=_npZ6vnvK z{{IhO?>wLUt?$Q&kKe!c+8$xjRO$-hrs% z)y!PJ(wV0+Um&Muma3_yL9PsK?qs<|%UzNIb;RsB=(IE|a%G{60wr+mo*{JHx&d@~ zs8p|e^?g>=Zj&^OfkthAJ4U-yyIJKL+L3ux6kk((o_v{!;qm4^NW6CoY2gQnGVRvW zN$Df7q2jpogX}0b&hx8+v0JUo&p-LQA78%5-g(`=ePhS#{?&ywkmacNCR~XE$H5S; zQN)@mQtC-&0O@HtN68!>lJs;Z_C@2=-jp!EW?(m*0a>P|rG|@tSXE9vtr}Ww{z(fY z0%b`mXFlT(*djNu3u?0%PTzDm)Fbm+{ZvwjO31$$Tk=zx%GO_7> z;R&)da~T--vY)npV(*$XwIws=Fsw|ASj`5+S4$x|Q@0kZ4W^LH#zw4Crqv3Gqqxo~ z=sOB$&noEH#bS6{b{y-GJR911x_>P!;i3h6YJefaW^v8qZrM{s{-@lN-K0g`dlS4GY) zyYH5$KFC>(V!(?;YzClx>k+9{+Isjegi0O;nV#|tNlU|}!O~NBDFgCI;5@615 zg5!(k9g%ia>G&iPt9W9;=LrFMHW7V~*(PakMEos(zs{&OeV)>d?@eymMANNyoJf>h zw{8hPWdN+ikSiXYZvovs{5jEkczRNvNw2BcQ2JysWD+v>EjaQ<)v>N^Fcg zXzLT9d`j)oij3wnK;x9rZ|^-TTFHLS!*5H%yLe1M7{WzsbO$mCu)b~Jjf?J)SWez_p(P6c+ zQjSg4skvm+TqOqBq;`@*p>qxFJmzV5>_peNq?((pB)I}fohwIhsl_2wR04DIL54O5 zD&O7Kw6s-#9U}_-*IwT@?>~Hg{P_9pi=3x>ujBLmeUi|WMG8;lssR>XNZwq3k^5R3 zFOlX>io_E9C1+$hMd4#eSqZb?Ao(NpwWDies1{{_n-h{}ozVE1ll02x(j@`qpPTeR zTPLf>ZNJfug{85IP%Y-n)ggs3r)zn4b!1X~Cnjg4n1EK#fpE<%7uY3# zj=Oj@E`@rf;w58dk?82sA&Ki~D4p5j(&|=3$|6mCp8+w#B*@lS1MtmmMhbGkHY%_p zmy6)k;)eHu>o|(0OTj#DakA(>NDYqdkD-d7fDjc6oH!siv$mmqE*Rz*tbhofEVE`r2<3(*JUf43kM`Y4Bgm?~3~9*sUyJ+)>y zh7QlA>}W1|S=)LA<+%w1EN`85jqGwp24Y1hMz{s&qw!256%uC};jh(KwW!-MOQr5> z4QY7+5>6x{Gm;;5&w`e1xY24S+b%15Md?cy|C*b&as?;2`dG+?ttHz%&DIv(dr8PY z+g{#oE2_Wy%dP!?@s0oSr6BG*uiy(lz4ir{Icbk|i? zr=a?#{#YGP$2x9jrJ8zDg9|cs>LQ9SH-!8(5z4fQ zJ~qv`G1@q1?6s$#K5ORA~6}R5y3npqkVQto=UH!hyGB7NlX^ z?ZlgpXwSrdGv3DK5{PASp#82`Y3;p8W$Y`3g+;=2*A#SdTcbs3y`YP0BE^HUS^TWL z8(topg$ZaRuSG~#O`8mj5wo2f%}zq4K5E^u^6jMH*I#z_djgAluimq5Enl{Esz$9y z^3)bol*IGPCyq4t6>D}cYHeHzP2)(L+$R^#$6Z!`N_|M`;66Jx*2+O~Qm#2hR2qV6 z4m%kxKSAhoj}D9lktQO7XIW>x9GSIJ4_azz^*x1-VVKiV%Bt4No}#AV;$_O}Lr&ee zZ7XrCDl5|N*e-`ruMDfGeora2>DD%}L2cDjGK1DR`*x7;W8QA-FWx^KfAzzkUn+|4 zy>j1wd|ipH{q*=`tIaSm5*_C&EP^KHPVIuGTuE;L>`3_DbbH#A-F=K87G&>3VA07Y z5h#pk0b+_kY#XAx@3N(k`MHTClG^=%4?MG#*#-9gZ7%frKYi%jk z9EvJRMmwXWme1*%#N+C-&$>wSO{D?zNVDL7gcsoZEkg<$M)+eZOE8m@{!2EM@plx{ z*2xpwx1NFD0DeG$zwQUf|DXKTd;jCxH}7A(%ienlZ#BsBbsm5A;VN}zruTeG%~|WP zoYq*Bjt~s#pOKjA#|-D=*q2p3ubD0Pk=m+4fy*I6^?+!jC&z!Go_)&wvpIc}Y z;WwD8e;28@HSyS*I;i)x^Q>c#jYVUs4(xTMgmU$7ebu%Hcb+qdU>!BVbwedymJS9< zZq_p|XqI$YG)K#kJe}l{K`qIMQVuu)@fhPu9lhP!zx6*o`up?h)9(#3>PsKjJFnmO zbQWYG90CW7g0Nm4T0+amSWBCE6SCnY%O-^Af2v_p3cyraN-rp1k3?3T&6oI@Cg>bAN`(n)wZaas6MPKfm2KgXcOe2xHt!5-Dchsfy)T7EF`AOMPLO~8^lG_% ze|~%uFX4;ty?D2u*8Vzw8Q7*-+4dkIN_=PXJ=}BkPRPg@WA8j{8z==Ur_kQ^7Q}r= zpX7E1SbGF76_?A{`>JGyvCV_Lol)TD?x~V~&*3)~(Ro zhU|GxLPt1!j?|klK+RaiGr?TkAyS$qx&?GS|6ddxQ>{r{Daj3ZZ&FD!gt6al7*4X7ZS>u{XYTrh zrYtQ!5&^6u$&q?cR-F0@uS6nmPxUDAH&);0o-ZOX&zwWf9P5=6={P&pnduoLpG}3CPG;rtzey+Bg0TRXKr^O zI@?!tuchr;=o@8}c)Uz@D}$QD44zUrlIh;OQF5FLhY-)d%08iE2neCtWwt}IMM{V0 zui8x;K&DkJaI^DXO5QtV5JE{TkT8+ilwSjZGa%{TW??0U%h+tf6l)f@Nn<7 zyA9>eU(eqr0R2KLR?c4FBRENhP#O3f_?#Kj;2ySH<<^9)w>9*&WNGXbzQ$fmBc#l9 zF1rdjfM{#SS~Ks8@lk2Zuk0kHti}t{q2b-Wtp!xjJPj~VlPKxnnjl-FoRmgyE7vr5 zQ7CR+GJ%zI|b}vd+GC?*BvW>P}s1xk{lX(1F zWZTcbD}%cC>V3Pd15b4O(mgb$LC#;2PtRVq^di1&CT)2*2j8ee^!kp^mCFEguJsZ; zaBMG(1{t7rDJ0YNv1k1u8jCRg`9HoOa9IBe?{)SaL@T7`Du)^ zcJ>4~j(c-;1eAS~@t(0C7s}DH<{|)G^QpRzrT?G1x9hblNzU{DTWYmht?|s*<11gt zWB8Kg$c&8448u0;pAs1#U6fd4iHFtIZ4CU|jdzi!TDA9P`*MSZbkQiVie&Dy*UF51 z-{(06ccCGL3p@Jssam3#e2|I_POe`$Z$|LMQ{mw);x#Lx}_r>S$UvTakUvnB4{#=z8V zt=^@1L*jr=e=}!EqSb-0+h?BHh6}DnlqV34W30J#E>%0brWMKZyNU4c{=!9l6p4BA z+THGhUuk?f(++Mjb&E6%)T%F`X}Z9D)Rj$fYqG0wkL5j%;VH*(5G?dHbwg$l!`GF2 z?FRy6NN?KdJXR^950X(0}8m!=$U7^L04S-lk?e?JG4!tvPxrCVyOt6qjvOmBD@ zBBn{ba-&k&>EfSl{5CXeoN#W0!>Be4_EW$=!@auHYzSXpufw@Aw2yAFQDNj4ttD%8a|M2deJu)~ydkyb7@}D=te-)1FsAaCUrA?HJG|t2z*7k_Nf$QKx z#I&zSZ1!XT;UIe-r5vad{q(Ecta@!$U2&-VMbFP}bqd^Bcy_9A{Q-vq(WFeYzkR3yRK zIJ-gc2-MB&J#hl4-r(dao`W&H)HMyI8B<($t(+wAu#Mb?GUK^2q}zdy=yKfGoWW=s zrVg3G)$q%L?q-K2yBIuE2*egR4dW8me{4_Cx~eV0);FMK-Fu7;FyY*L8BRN(*In2y z%;xZ7cC$#j2o_DMl}s;ch1`TJn3=5DWdwPrz4vXY{a0Vy3n~9-XZ-9ny#H*!+_}=F z;yR^P4bC_oFphB3T4GDHoz+Ck(enfTjbn*%+ex{-Hz+g7CLRyHA;Jw9UBb_*f3qFQ zhO>%L*&OIJPh6@raPqR?IlChn^WOdFLbw=dZ15#=jtDdB+VGBr78p4R2>{p8V-w{y zLeE*HXi`k@S(8^5>~jDsKTffQ(@Ce^!XS4XFN!0p5feev>DQf%th)9!5X8xpu}lnxiG3 zJw(+3T%dMhSl}WBTn`r1Q3#scz5Pt?}fT(8R+~gPYL?O2g@i5|*p- z!j)X(fuRDCIkfc}txa=qDyYHZaoD25=I)CppL8&E$40#!)>&N(s`Dzuf3^`Z!7#!{ z##y)5IluXQrT%CW_2hNC-9+*0i`Jy^SYg^QT@Q4IadJ>@JSHnL>I0=RQ9rl}#ECiP zl6HC-$|)!-uepbq;i^B-%N}kuq+xU`TH}hznt}DbM<-Jpuosd!^SB+*{w+KN=2tXZ7AD#XxsH5z%I1g;-&_952jQLkwgWP8{oaf0G?JWpXG8@JkhX z^AYqJi-`2!9Uh2rbY0jD@9BcjFKk#af+}N^t1LTv)l!o)fMY?50>83+&d_n8+QlKr z%AV*~1|D-wxOXoIqWi(v4n`k~!8ToS$bzuSNBor!_Gf$dsNw$X1-yR*e~BVaL(~ge z1i!>whfAH7kL&=Ne@xjT4%W_;E_lxP1o~oY6@KiJEE5b*2ePKuT+|q&Gi>#(Z~ zf;yJm5e^v4t8EL{37pmK8#X#af9=wD0=YI}LI!S97Ag5q0Y@TNW9b7P)r}~^fz@!4 z;XB+DM@!sHf{wK)W?DnJYfBk!3nr2@qpKo_1b|1&*qw{!f4P0b{sRCbXv*gMN8i?G zFW#>|RQUxCg!C6ebc(5KZ;M#tqI04qK^|tcdF5tE1632(BOQe}=ngo z049>)y|$}Bf3a*;3z^FY>REBLR)Z^odz&hF3okHk$xeKihMny^(}rvsXnd~)UZo9{3B8(&oH<$@o!n`s!M8MV3D!qBoF~m}uWUkl1e$7N`|z#66Q5xxkf*N*UCLDprVWKZBKB4r zHhcA5YmVED+V6gN>mNV-0B-w31@Lp%?!NK-dFIa`PzFe3X=F!{s6gpI7UtH}d|gOq z5nqVsf7upNv{)QoplPe4WYQN79Rw>1RPPr}R-0}*4)!;gl{bJDai|xa!#b76tOjQbZ3rs2pLqaJ2ju{i-wDDGkfE)yEFrXw z@pDdKRy*xzeb&MemZEh-0eLmNZNCQG`|S@uf4%$k_A9NNCokdGFne>Dxrrnm3NY6+ zu=*}@(HbrXmNsy(7sx9@W3aXkI5M6ya>RP&*`u`s#}V!}s~^iA5V;!RYXk}CtQm~g zL|mB^FqWg)=(oojvFw_skA85~+_FtRP20rdF>KWcNz>KBuiXfur&fekV#>);|qW|+wHjN3xDE|Z(rVi`dqqtG?IAs zBHrs`zi94oW2Cu&MTP?$KoSrDthu#@ix63woii+X&3x zBP8*r@*!pX*-Lk)ZFxQ2q-;>XY$6i0aUVhDLp<72rqfAiwjm~?@S>W~t5rZAe_k$N z5)~^e?m`utK7#Tw!3x;o=rbWWwtSBXPUis%zssDm=Z4BH?>51viCfb)yPk%ZB#x6a zXR_=?nZVfaqph@DRM$$>Feed4jR7r4`K z&`%qUVghm@6aby`6z(vI#87bXPMgQ$(lGDYk?aF9Eq6gfLYFmZCz{_>G(!FY*#AQh;>x&u7F zb!WG=b+(QG5mc7Jom!{fRE%-GZ|IzC>qbt%`~sIIARG?ajX|z#(rfo408xVHIVZwn z>H`A0eSsUp#G&*cPuZ-Y?1GA1PoFm2bk}Jh?YStj zC616`Thy|ugDekUd!A&0)QW*J0D{ReF9sI%{6aka?Wd1_e);gz`}p$N{?{+|r$;=@ zC$HYGFt+p;!!r#j2;HI?vLbCOxHuyM_tdk2gVZ3EBT#bpUZP6af1LB`iUvV-#sb56 z5*Bzxs2OwY*&|6v*1$b8iQ#S-*ZyE}Z2^;I?%OA?@8%H0qDcg?BRd2+aK;XwmH02{ z@~A2I)bE2s<`6&y`1+1FsPZKdWsiYkl~*Uyl!_$L@20G11db6YUjEA zo_^`cJ&e9Qd+BZoe{8QGDa`?jF9-#D%NacFx~K}?T8CJumq4zJSVj$)AR+xZ)9unu zM@@xzoROQv&K!Q_QY5d^LAI+*>Wd40Tf_vxewM1m>pUvAwj*ION9CbIxO6_y(Kp|* z>cHY$D_OYBI+W~D5S)W4cv$D&D#U^?VQZQYPGV|2F)htWe~tV)>Yj!zHjbISH&*AR zTXjj@-pBp!FTBJ@_i#^MyZeFC7e}o27!Ak0qH`b$XtV}i)YpGza;@kCII$k3K+a6Z z0c&%4@k)$ddG&?-lpqY7eFz3`FcI@Swh{h-fC^oHz(ymQLzKHY)&R0I6(HOl%$nT9qr4`04esL|)y4#?uh zO?AgJ-J8X{z%#CVSCYeL`srgndYe9b%rAvgc*+AM>d^+L7>5wO#U=KPNrQ$3 z^By<@o`a4S>@KVg;fkHt%(llZaP9g;fBydA70t6(?sk9l`Wj4_Y$l-RB_~$`$!|)8m_%0M}q(-7OVoL_+Wq z^7-k^t4o(zk@)VehJErJkcduROI${)hI`G(f7@5--}uYRhetD{C$HM=6PLb(ys7tE zhHvzs4OS+|QMm3B*&rTRokn#4`a|aONLF+>UR-NB@4Z8WQs9xIj=vLjM3DVr2zWr=1#K|KwZ|VkRWMs2UwDcc ze*n%kat(yN8tLgXV0L849ChLnZs26Gtrw)f`>K!17Ph%34T)Qy+3$XQ>mU5XyAKcb z8_!<5uN_J;LPX?$HZdvu;F}CSfUCDfeM^gGI>4<+zfMf^)Pvm$jJsV?r~yC=fa-+#m@!0>R*r9sBZ4Vw>jgsO2@U7aTblHL zcWsJ3et7@p(}y?y{l^bKy#486h3d(xc>C$fmw`TAx2|+(gC}yNO~ri6fMVQ-e=o%a z_rd0T{n=0fot5B};P7=}>H-pC)z%`L#YvP(CNKOUG1il`Wyp|hRQaKO3UG<$X@l>` z!-5~_L-0^IEf}8qIxPU$L*!78wHYYAam~rB7j(3gZws8?S zkBn8gFIltTq(vy2Z_63TG&@7{wo3upB@dAe2!5Y9M>-PLn^%EToU9|5_V5(U}hT<%azJ*W*+7Jd%P8_zBp)T+UOi!-au8hz$gu~gfrl>16RBSf8)nmM#j`JjOHXb?z^Z& zAX_UNT#y4CYEC!9RAYk_((N?5rwP3O^VcE}&tAD-JDd5Jm=b1;W3FT>8Z)`C7C8rC z;W^MO@h%c$Xw%gXpJtIU++n9m_*Rp zV}s%y`}V|of8d2$*fW|$?+fZ)H(w(lHp;Pi7D#fIY30qzyXK^0NdRLsV*Dy&mkC6ZM^-ubLzW?!u|C#@0u zd};6g$Me(Mcc0$A|KBb}*QfvG^;iENuY<+ih7+&~Au>rsNjLN2&wW_iKE8B z_6>>qf8KqbzLsDF3b7(67gPx22%%s;2_vDshIIj^(rUwBQMd)~pvX=rmhJXS4SQfm zoB(8@SIogicy5h(SMY#)1o^t+0*l(YKa58bW8;rQS^(*Jlkyyazv`ZY6Ml z4Krx>P;b%%D3_tcy`!obGz>}8T2H5R+aak30*$$W%UOmX%PMF^QH_#fZKSaVilo4E ze<;L^OT3w1cR7PE92dShc;~f&hVj5z1qG0RK6fe-jFR(?I`H=84YIW&O;@VcRAc94se)^{()jc{{If8Kn$ zUMCJpEwAo*S}>n(Thljc$Ci{-W9)+T)+ zg|f4W2WAziEOULY%5I|C*cZPKVM?bQ*xfxUi=Ypm5) zvxbYQbpS^_*)1U^oy*s02%C%*wX31T*7N9994FObW1=&0c!{r$oX_n(xgon!n>WTt zZoAjO&IJ9F>y_B{yr4F)3Z8CjF523WEM6;DH9z2VK=TMc@CZx|iFBMee`6Z%y*dyN z(F$|MlYodj9C*kg-nAfq_u*sY$Bf4r;b*ViS2Mze>^qM4`;w-Kwna7y-0kVrk-e@3 zezg~7Dkn;WS|JJ8hxB!1f@}ewxJrPPDDym|;^P|y}o#x6L-jw?ujnuLc=y1m~y zJQt*3q-*x!8RHPHU;>o6e?%3%*}C}d(eA$yfO)0w)sGE=aT&w}8)M^X=|Jw-I;^!{9mZu`FEv2^8b@vqH$_JA363e4A1opSj-tX<@`!_ESZ*`u%a$lP| z)nSRDAh^2-3H2g`HGU_MpG-j3RI<*vhB1SI<6bOt89TbHoo#Q&$+v+$m z_Je-#Lh@uf*y;#HM1c`njH#V($FNz~Eo}DRU+uUze-+F0>=pdlRSuYK3=<^^3bb3B zS+TueCj)SWe_F#05p6(JXKSdI?Xmpq-a_!BhLeL(1mwG5)gQvpr0ZGucdI4l*E)MU zL?FFE#>83}_v*YIKz+Nq=4UVDeFpr?S62lz6gEIHVvr8p3n>JQ2-l$aGbK+Pfe;O0 z^+po8jtd_1Ll3g6vMvqh?u}8M!9LG($)z+Y7bisxe>=9-$wDq<;uty4y1irncF>2< zUbtJBC4I;9^H&zGkRA;e^>{77Ho575q`7+E0hgr}b#WzLy*lkVXe6KJo7+mlU5SA` zVs2U=eO7ON6$3LEw3=_v)C3hGT;|q8qQpx{R5;_qFx`v#KYCt)~v0 zLEKv%2l#WKvYu!}9B#rpm#qzSa3{%$13y$Wf3R@xxt!pc>9-ZR{{ar}Px-@-P*%Lj z7u*v;i1XvycMqS%&tA>jm#w}Igte_WU6D6th@R|{mkJWAQ^<-3%K3FP$X0B<@{!(w z4qD!6VEh5r0f;2v89U~)JJ$rrmm&&3*m(e1r$t-Zjw{ffZED#5c5i#0y>hoB{#ViK zf2sjg5Yw>EaWWjhpf*ARSAcy&WHJ`EmRs~dwpnb^s8`g6f=K*;Af)73rzzmgJ{{pX zyh7@rXka>0)zYM+JXVu7TK1>io?c0Nq_@?oU)c}JY7MnuqT@K!%Is&gj*kZHvTi}h z6rnWAXH)P#N4*EU^S!k*VpNV)EQj|qf2=``u#R{hU$XN$XY{!N1diL3|3AKcdGlGY z0gBoqxyF;1?-o}2OL=4TB2ZLiDvJFbUe!yeL_?ZR>4ZEML{e*N!*QN>Qx~YMqfjLQ zn>^T;!a3@R25?n)Artxe0%M5LC{P4&&D5a!$CCVc{PCF^cyA0l-8z*C)_fG+8`4`40qBSHzv zQr@*}>5kNd`K#IWM)Gc%uI83U8y`t-Ex?H2fv2x4zC72+0i4n`jscys8$5q&61(Ge zs9L&C+9uhInKkx~4dwh?oz)0mPbFVq@cN(ztsqFIhCA)k z+TNOo>=N89ftLpl!f2KQF;EK_;rldU9C$yci>6F%$Q$Z7k{u24TxSoJO09y3sIeDI)=_ z!`(3u9UuZD|7yecEjjI5)VMx-3BT6o*eKW{&I#BaO*E)Sn`0P!e*z2PKkrxiarfDA zH-Sf_V@e=pfDVG%Moiq+vTVpcJG@YvaBsrH6`=thS!*m*5YVTd0r{3CojVlBH%cdc z_A-9$<82jn5S2#eR?A`lr~(eX*Q8OiZD`#$$3D*cNL3k;YaHIVD{k0sF0$1z2x)7t z2})-SR5M*TK3C04f7nDW;Z|2-cFI6_{Wi&jGah!An6x%xyke)H7(TbCbAv(Kt>Y<( zi6Y94I|ZW(IZ=slVmR)iX@ZFecVGs>hYjR!Xl+rwYiDTe7U)z0ObP-E&pvLc(f{x> zJJ>z1o2XkU*^?LV_TKgN9eY6!Eb&8x@IZm9txXeFyadvCe{8AVBBAFQ!Oh@SHQgpq zX0e-qJ=Z(ILOaU$fO=@TP%4k?a}e)9ekaq<;^w*bg6))8=@vNf?ZlX#y>Ry&wa>#Q zhnY>*G(wp5^ofl`(AHB5oY7tcMF0#!+q%PLJfPHCmonrW=j^DD@!4!pM02yXD2o&` zS`{Wy5E{9ce}WXSAgKiaBG0&=`42x0`RuSVf%mYt90QqcHID^|LxX8mCF=ULHx2(gzE&J)+qZaeC zm+fm0-C3}r8S8LB$sMPKKocMND4ErU09qB{Q5!l++2WqvW zWUvdD-$35_Ub`K4)L)Re#m2P35LQ4ZW!`R=8XSkP7B}5dL!6iB(w^x)$VZ=k#8_>R z8M@}_A?~zf&Z`=^?DWZ-Fc?t%e2tE7#aw|cZ;nB*o3uU~`g2WZHk8$;Nr>EjoWKA6 z?H|6sf7BY^{qsX;+LKrBS7ZMFr_pz>c8xkSal4-zkqjD*5h=j2%S{d;--uMn^s%t5 zb7x52&hjw^A_t9II;ZxI{tqgE3;&kv>N%3xqGLKTB#-%p0Uf$ejKB+~?!eIB>Q?F5 z%lNg6*CQJ-Fk#TeP=ztt%OiYlOdxFt8=i#Ie{7ruw$TM7Y#LU0$&V}lXl>vz;k6fM z0-$-?*sCeraF|LXWId!$)OANk;1UcRTesg@kk(_H;3Ld4tcE8xj)Yg@rS3GFh8)3! z%WVzcd|hH)Y=+rOyj?|}K93&!vNS};0>c~4b%0ngA@fOBXJU>G5nO?om2#VV`S<_! zf8+h*+k9l^efA1|?UQ9*5(l)ID__Dw)q8JZ0oY>68m%J?zk)cW<6&_QtCYXmw6qhI_pmX^n096j36b%bVq zvRGHXCa`$Lnezx|_?%Y7t<1I3H*0~6f(-@UCkA_Qo6Q`IjCB(q zpHW+m_!rWcgAl8R#t&s_5Itri5Q@WzCd99r%{#_AMb(GEyZT_<|MT~6Kjq7hf98)) zIL}_b+j0LZpp{HpF2-VL5o4Es)jW+`(k-5^x*KwBGMd zIREnYeZ2WlkG`l+Uby>0bN>S0^0@%Ak9HW56NW+d4#Hlp+clNS(T6|B&Zu? zE$=Gx4BkBBwa|R)UiclP8gB37?W0TdXRqO}@P{Z>$tyDiZ>}cmiuq(|dLt8HDG`DhZa-rjsE;vkX+TU~NuMS*?fOC#i1U0%#04K4Z3!Ml zu6NS8aFBDxUb&{=Ob0vPuA^OfO~k?hLU-VD&TM%60y)8;B`R>~urn*mnw)+%t~c?g z=o|Rm2p&Fsvdn06f(_MK#paG+Xc+I9O@CYV^66h6vqGM_Y`2@Gf7hZ0A|V~5!DfE; zIUCmzo++xGido`=Bb9j0RfWk`2Z>Ah;RL=)fw_MESZ=>O~hXD}nMJ z_{Rq$gwxA?wcqDv)k) zlcuBlzy{;6HMGvqtl%|s%(is&>#}*BLYNq-m_mpKtsB&N$r3@ zTgixuWrug1sn#A*w>PYR4+z)Sm;=vVy038$#c}Nphhl7me>_$(9z|^&d@~#XVgNp+ zN^rbiE0mz07!yHWNbB}k$k|(qUX7O>qL|3u3bUw%fE78ydGr?A*?O zF(*W=pd#O)FIFq9Gngxm^)j=q%VePJa&5f2$Mtw6-7g6?sF4 z(c`wVfAM#Jws+ueJ=*s^dExGFZ9adXi&|Oh?F8~vbFM?9_ntP8Kj_e`$CbS9r&tWC z^)4*9n1J?7ku6vTkRaSxBtVY?lnQ0^-ZnI&&AkxhFtBqsD%7~O7~nO=?N{|10t!ES znMY=Ljf2cFn|+@Zka~7 zSA--e`5+}LR|Zxugjt~S2E|9?L7hmK%%-;(HAfmyV<;cBLOv9aR0f#dtEO8oOwYN< z5xZM;(h@O*-dBN`h(+C8Rg9bKB~JLFpMic$GGr@-i}KZFYCE7O=3yKkX>i;*G=Bd@ ze|q!z==$I~?#Zinn_hYq@NS3WIogQGHtD*{D_=DL_&h66HglrTl#YbYItRmn#0>&& zkT&o`B#APCA*x4XkZf-_VVEs$)-lMjfs0|WqmbV@fgPqN?l82t{BLVV!m1o&n4?%9 zBsri^IGDCTymuz&$irw-P2F4@N0+&mf8=boVJK6eXsOLUJ^eJ^yKr?~f}U(<9m7!{ z<$>K>nU(mRp*3HA{0jE_$?Nv(&r^Td{!$?#gFd&x{Ms&kK%4_2JZ=jTQDl{vA~sre z_0bYS@5HbJwcd5sb;q!sT*6IS^o`4{E~_R(B{P(*z zwxSr&lcI5TD;8R3r{hG3g0dm%4bfWlE~ll>HfRW$ZKdjf*CwR7r6c2 z5$_JDhepys*d=;Jhsq@GGNbwOuRrBO`}wmM?sjK1UWfQ}4JDb3CK%}qq0;u#q>Vz8 zDcB|?4vPv$vGOY@vk=jAYYA*CfBqH%42PKyJt&Hx_JGVPbcNEFI#YFxIUxoC=Q)bd z%e?!7VkNW>ydtLuuKLl@2d`+>_M|S2@FqkBaLm=(9(6c3G~z8shp2bMRG=b~R$VFs zV_AHA0(yHWz;diuBXRUtO<*?406+TnMf#hU{NaxeTQ$#Kx7!CUfA^&ie+MiTfEjaa z$R4iO65BajxlUJ2^jrp}9=6i0Fk;5M#M=nE*y06tPOyU|I1X*9&-Ra6=4SzxBRjP*jsz$5ogp@cR4`ulh5EVDgt~)PLq*3VliGNJ%CNhS`AFlZ~u7u>=nH8 zp1+5#v;Zn@1y9)`Mk^e$g^>%Royo))6UqEOIPR@u|AWMe(DC zO~VKsmEi0u(o+j#HN?;9%7|TcrGDn^w^o2w0WuC+`Qj5$yIUbUe@ghPPXoY)2}38i zJ+m=dOOw{Fy{V`sB)Xm`;iw8E${px*l#vEXIhw0RQ$WOrh#TcGfPSm{x}!w=iP1FW=X^y8{=tCs+Df<}23%H)f$2QBWgNRcfeTuE`a+AOh4@8xsi5 z2sUDav%puU*?nACf8Rc@6(59ZjBW|*%f*>g$QKAJK08bBZE6WaTU_;@3G(xq`v3uM z+6BM)Oxwl2J1}9saNh;Kumm_~Xv!tP_ehp-27{b(al~3p$Br|4&eV{uy{GFbX^fQh zhVl!V#XFwB@BPF3di#er{=L0@|A=JxRLBj78)3%Y+f*3pDYJiz_ zmTy=ptfh$?fBsVpJvPutCE1h?$*cpR?d>(q?=#?K{rurR`dFX5diOKJ&;A9l@j#Qx zb=q#bGl3GgFx}c{fH$E)=!P1)SrkgiboEKPj&+7lTDS$&O_^x^_O%ZkSZ6ItO^FC2 zp0vV21dVc-QGL!@#(I|=wH+fRF6+X{!FzCNMmE&`f8gd^ez^-4Z5KC`;JXr$eG zahw8W125;`zUt71Qe!ndV|S(H)QMm?ejH-Yspy=SG;n}#cTRuvm00()SMBCYiWm!j zq4d<5J8}oZ87bVsXWLf?xO^qB1&0y3-DRg6I8IYFN^o^qAR!d`vx}(> zeE65Qk6x$GUb_41RQWO@gmrMhNxP?2pRHplf3(K1_W80eZ4vXd&eu>zG4SbN$OB1# zNR=3_W+df85OdrYn1+IZq+c6v$g?NN8_N!AT!N{lT5oq=Y&ANSjcIMp6DW}=U@e`_ znAlhLR)T|kY@w-_D0f!OvP5KM;*>BwAwBAjq}J&xT!z*1MjdVbq)w}`JJL_RLD`6V ze=t1E8c=kXN4aZYOJw$j=LQSf&}s+RUApIh&whpePKG zU@qgRyKDs@HBWOsHm|RX4Fst=gxn@$CGk1~fBeEv;sHPf;0EYv?s)vuqi;04+pNuf zPV9EHorUMrUh||vVyS(Dv|Zc!u?=dge{?e$k*$#dn(e7`Lv3Thu%W^Rh0z5Itev>0 zjRK9A3Y1wJOPS^NdHdTR;{BVjPxdJ5`{b4T)h7xhC4Wf{f?%`4JCLQFKxM@#j!$pM z)A1@h8=)*8jw{_0-RUfp?eMGNhs9}3`v-KK4fKZtwuP{HN5ARt678)Bz5&xK&a}PQ-Rs?=p!)T;t62}||6b$z=>|fWB z1bI?NPVF&wcql+2r(h0;r*4QGzr+X~S@_#i%wJeMZyuH}p1pkc8>25co;n+M3JHM~ zO4eIf#8y@CYXf;HC|U&XEHvCPf9jImYm+7JIUB+jo6qS1C@4b@beNc|gIH#8HXi9~ zo(4~w z8puIB>Nws92j-Y%ZR>8bsZ9n+bC+pf9I|Q7gYix+isnf1bYQGO!*?zRe*??!vZ3GL zxbWFact3pja#gdk2fpV<*n-qLL`T-K$$gGAp19YC02+_9)5{NjX9h^I=AN@WbdwWA z5&+Lgo;7rPu0v8qy92#9d9GG%VM?Y@{A>jNO77zM-)Lp(*~@r84gMnFWmzjjPFpBp z_Y>Fc?8ID(6H&Z5k%B`_e+02qOqg{Y{CO7~6l1IPa2049&ycy~7@FV*7txS#fs20@ zJ0VHcc~cJHg+{;3AK(5o_}MFXH(z=^x~}6Dq2^Q0LFI0K?y5u9gZ>82=>-}c6IYZ? zl%^e0!mbd`ZsE~S*rGPG^)XIgbFM)b(xNVyq)0E-?agp3F`6fif9~NU?qZ|dnz>Xd z70=N@GD<=p6s%Us3FKx4IjAe!Eo>0D=)8Ha>B}&Lz}}QGNoIA)QP{H-X38`g0m_Vt z@-&OyEd~7Lvlu0cqSv(2fBv1l*bhJb-}W#6{NwAWDL(x03yt(q*5%0yc@J;@{M`k2 z*_tvcEd_tDXXC`ve?&-44IPzP!MKcv6S!p3%EbdLMO&@8+KCj**O#dm(0=7QPi)m+?(} zhTG6LDUIWU0jR)hq(g(<=kEQa^nX}K=^iVjXi-C2w6Dvw8@@vn{)Yl z9Aw}8^zq%pW6zV9?%tsNWj+y71E9Z)ow$mu*Ip>%!w0b&Xz`X#Z8sbmt)0o#h-?w8 zD+%GAFC}2CliYEWA$s<124}Rj7BV9GGC>=tZ%8(4e=}96w0-CGJbhjADO8?7r~;ic zcxRr0eq#f)UB~X2>o?*=J?3~j{j|B3vit$(3Dcwb=wTNMq>1)M`IW-B$S}X%mUF0 zdRAb@28{xrZl`Io;d}%T=(K)&Bln-a|MbJVe>eHwKg8Sje|Yoq{%zI6^vkoC@oTYQ zLk7cPdKTy;dSgN=2h>~k0>oBz=WJ{#n04AHUP3i(t}}fU2M-enp@&Ss_>%Ob9G329 zTk-DN)az2x_(jwWUO4szZW-_5X@xVM4V!JE&=TP5wq&Mlb6#wnS^PP~ZPTE&)y^@{ ze-A_?2u5^ZUKj4W@~nw4L7pX?0JucU1~Tool*M|`O`|H?bMqeU4$c4lr%yk=`SIh2 zKmGZQ{UP5!nifBM1#hRtzi?gV7Fxa6RNZFa-jkEC6P{BcFpDE)u4M3#qt%Tc#1xON zYG7YMqwB!@9gM&uj#dKT3-jtZ1IW*%f3bay#GZf_YW1m3KGrSU@I;$b8^2rjR+>cp zgk0($s4oE$1pnKT7$yW8v^iTx?gw1IgFN6OBs?a_7`HPhJWjXI zaRkqrv2lGB;~@6~;HPxNz*mmdt{Yh1C2KFxHRdu|xBwv{bY3a&hUSnAHBfhFqk}Hw zAh5Trb$0HG{;SwdZt$(&?w$VWf9=bgA3uD`_n+R{yEp#R%cl=NyvcX@L%#p?<}2{D zXRqkjCdpSvZ)Eo|_eRNM=^9a0_+Llrq%Y8Gg)VjB#5>E&#)9}eagWw>jFbiu*8<_8 zcFm1nY&lR^K$;l^;q1B80a7*84<{oQe><~q!!d;qtytFE-tEZ2b|XQve{nwN;Ia*$ zj6nny1Y~~*r1CgHpo1X_peH130*Iuz;qbp@qVb@{ox$a85Z5D&g#3NdP^{qXCZ4-)_v!x6-(1t)E@hU+B4p!Spm}#{e?yue=`6V94h}%EETKQwq}$IkdGt0A%0dqx%9~&vJN6j7 zgC!T^fO{%f6ZBc&%3L+3`c7IwkY=i1lCoLo<)0?e$FaR;LzTZR;%LLya3T(&Lr}7V zE564q;qc?fpYy!&mzNI@ja5%xyj%XqYYF}E8Q6LCK2Ew!N9_^=e-aQeI{KREc%9Tu z!iBl$aIn*-D%`O_jj4g6iSpAB)iI(D2Kj=Gz@)=Ejv}3Jz129$nBOLJjVK}A-pd-k zFhF~bN}Lg?>2&ZeN{XOO+y^f#6oqjix_8LLInxco9m~nWe_ffH(e2#$Z(r{_XpFhL=pnDFT(@tZa*~GVTnt^I-Bc?;Jga`jFM4Crxbm5vJC?a5m z>-JK1Cb&eswY@A5>=PLlC1c~usFRLzdY;;Ni3RU4(`d~me~@;d9>MhpVX-a_+Jy7p zsd*aO=}J`P*$m2NkR`gUo@EWNbjo$d6!?diKmTw(y!%>N?%9iXn}q3KvT7jdO$HV+ zF4Y7~z@xQH;nrHaj#_dcEM!KB0t8h-dI)D~u|??Zi(z~g!PLSbQd@*! zTthPQ(VTN5e?~?E+|lj0Y2z{)^r^|1cprxvn#b^?tpO*>33PS~L`=?~w3 zJ>T@~)w>tVeI8CQsOW+VD{zI!1Ya>&5Lp?;&u8 za!nJ5B7q0624l`1a2`6#_BruPY<56C$^qzRpHZjF?L~W+J%)}tr|C8CH7TUPg!fR8 zu6qLy5`HHPi)0>4ksPPCq;lIbhn__R{Y0%RtTK55t3|Znz}<$gxJ0zkH)NpaAdJ{M z;OMv8qyGS4@PD6vc=wVY-(F(nM}vuHFX7jQiH>*EJ_s$3>|CVyf%hw)D|Lb~-D+Te ziRkK`w>1?9{a}#8`LwHHS+ZI$4e7KT_R(AyIT(_GoNB*?&7VtA_I{w5Xk3rWUe(eVc#& zpMcf2#f?f1kHt`oh@CNM-hN^KUFc>2U1F+kwq!n|;Uk)rL4b5L$% z>#$JAtTNo8Pz`bcrFP8Rtyf!z&>8Rvr<|abj@D97@;;evzqbF)&)?gppa1a7RPoW5 z_Q?x)`<8tzFN60qfH@$avoRUi!%*JImL``UYkvU2XP$6$_u#V*W^pxZ)a(oWaV?m{ z1!^x~9Z>OXYbzln7ES!L(||{U>2C1Y-1AhORr7Wy44(R|(azCzcoT#eI0PUBB(1OA zwg~3pG)~8z%tYW1VwnwPHTn)?CBlc8^6Qwm&+Xn2Ujzb4z;Eh(DtN8^5^zc+&|Jzj z;(vDQ^!mZVlLD#6LwWXd7x1g}2&ZCH_FH#8YokrtvF}nq3lgk`Ho>|F@2fL~T=9-Y z6M7av%qIhjJ9Zn9a`qI|Zskfs8`Re6n6MY+);bY-d_W?nC|B>>5B7M^(>bj3Jgea+ z`UHEc1-gAXvF_P?o)&P&4+8+yr*LLw>34|3-+lRDfBN|D(VhB}*Y4(O=Pw^BIC9(abdi=InfgMPL4eNeki+AL zdY{g1?^s_#I0tSBbPI^LaU1|Kc4(L0n=_|ilW-a=Q|L$ew9CJ>T1hOZVFV1;Y=6A( zh7ltD#K6g>&k^&S1??`KCWtc4<4tJGP{$>h9^D8GwFX%DYHKarm0eH9EJc~@U!U;X^(mHO;8`}K#pziY2U2y3|8pEd=Gyv+$d z1FiI|UZ%L8#6DCzS@Y5qMv(n;K7Y%aBKfuT1Q)WEx)v9B^QgM;T3Z#9^r4C`)H!Bc zWU*ig_9f7DqoYwX@+rr@VNU~dvqL6L?RD8XAW$v5-pEex^* z&P>V+ZAAwn@*|gUn|j}hp?~TAf2n()U(1styKliEhoocy!blp!^2TF$W1!j*kr5f0 zhG5u#NU-}SFE6-cv%2fO%zHBX-ew;$5tV&h#g*+7#3xMK@04$>=Ql8r2I6825*3j0bfNY~BJr}@ngKZn`&gJOXal)`gj{m2( z!8_)00nyc@$3Er;Q-35#k+oC|z(_{rd27u1<9Yk;-J6${dr zgoaO6Xr&|MDzJJR0A9|v0zrJ_d!aWrT3c6^EIMuo={^k66e{-O2@qDGWXR(S7#(Eu zV9b^xWJMq}M-)Pj3Qz;(_x@>p+zIK}QG1I$s`K7a6iE$Q4aLf_h0BAXz_ ziRADB_;Z>KJH7!kgY0&y*4(f#)ueSi1vbb?sTss&La^A?%)4epzI`8`{`wN=`Pzf^ z*-LmYKm6Vj4qu8V;y9ZGwy;#p-(@@Nhaf)aa{= zoZVM*K>C`nCx4u_OE*_5hs>yT0oNF|vZQKvIjvsMO@rM!jIt;fm>G5YfG)rkO;H3j z0-giovOx!)2befI_+mpQ!-PS{*h)}8blFQ$?_xBW$5tu2bW9sMnsai`h0z^|zjt5P zmz>sD{I1VlyW2he{#Ff4d{DTBLc%B9k!yJpSo26EcYp0L90&~X5t}*kzM0mT%hs7F zPGiBg&;+UMaHnyeLN!-Wqnf)81l~1=d-H5&K2f=Y&gr*croScB?6a5dK5Fc{!XHr6 z-~nS$+mmHkXGdrq^=inq4MO78Nv$e9PB_f`N}CmL?8%`_N<+rM6NF}tl@K7TBFXFy z$txwYB7de=7db32LRAFcVg_J2ZqWl)B<{0xTDNl?V>sj%p;2fg!bb>WpG-iS`t5_}_xbMY&bOb|LuLPS zSMIfj(jKrOu6Fzg%!wQ_6vvmzJPn*6M>drAP=86NJu94}V#bJxfUn+6o)~>)*+MjU z)}AN(LR;PUDI&yAld=WW-pUClB%jlOct;ZYL>P^s2)mMKw4^LYP)(Tt;BUUwegCKb z-hZ?4_Wj4NUp{?(_i)zw>~(z2O?Q~apmcbfWKCHy7TPnt4M1LxBK8id_wAk~eW)jI zByt!mU0%pMjt%ZVaW7mF-4WWNNS{BaO?0gZuH!?&G%<6qHcpmN-0AwIz?ki}I@~DH z(D2ELq%atj!>pYH1gVTpn6Oyqt(xDeec;5vPZ{K$xzpk z2IoA+@xH_$jcfzB>cJ7a_bt6)aM?E4MBrPP;kueIrgZYv)*8{uG1gdJ#yHfeuYW`& zdFP_+dE4sORRfF@GA?)yH-t?1F7xi=6fQ(L0W8@Z;|N7UfjB0&u5l=3L)(Ro?wHML zFX2&3fqn8IYje-tkR{kh>N2=yN39(Jq+We*9RAa9f4{!1KfQVP>FcA7 zeewd{_9VW;2500n>vaE2P9Mlq@)O|a8Z5I;5X}3U|h%{SA;AN`@XJZ@G z6L|BfpY>@vJbUU}lFst?L6NIC_MZ!i3 z>IuR0*b1*#r19ZSVul+BaDS=_FwRe6oVget@1PiL?#@M#k$B2WgLR3ut>~apDz3w; z&%e)R%DL}??SEfCe)!Yd6%S)>p1g9mg_C_(Mr?wF0KiVTkFxEv&mjgH1<9Dnt>7vf zfC02M0>bG*1ycca6NI{)?Sp~E!N5Q4ti)TaGRK1T8>!L5ckHHPbAR6h;>u>+0Z6_T zF&)>Q4z_s`NsR4TVH4@2v1n)qOMN615f60ybB7h+>p^q zi#-T9>r)xsqVUM2mf)sU4Q-X^`{+=Flx_UyVr1*z$^5Eg1B*tdmAc_ zBV$GOV+?g}lD9b-0e_-+&Es8^WO#kxzy6@@AT;*P%9N0#Rs1T z^zC`$+QH~#}FP!kAsH?xvoaLbb<77tLXpDdiV3gmw(N37wx_bANZ4X_QfLX2DzB_H}!weY*$F<@L zO+u___CQ3_sc#RrmDT0;$YoH}+c7}`BOahqI)AR6od~ZT!@wFn6LCJ=r$+`92ei;V zWfZ`SY0Gg3IlYI5V?9pDIcMxW!?wt2CkqqQBMtPNRseG2>u`JIzI*%bRRrm?m+roa z|4o;K=xj{oNLArM(Y?cFNywC!^drSMXk=suacJPi88WtqHYA&6c%JODiHk3|(~xp# zvwxqX82iCL4RkeG0V*V!)|Xur(RFT1qDFpv!yq$2T3IXRK??5W8Hy1|!H8r~)nI)K z(NhUFHY9-?%_N0@pB1kPFh&Dk)?7_65n0n`JI8ac129r7*jzNa9EgFt-op6*_|x0^ z^m<_2lh^M4)O~?g!l*)Rl}^z`?tN}Krhf-0X4GI4SwQFNyWkrGldL0@L<(|xINTRL zhRjOU1{9LWf|Zlfi(8hTL^u!d@h&m~p;9%@+>kwn-1dCW++zbf+1VJd&UMbbFp%19 zq2|%nO^}=z9Vl1YU4}_-fZ4!4n6l1}!3~O%R!Kx8GTsp6FRcU@^**{ ze=aUl1-l&?6pUPOWOca!mO;o*jelO{vPll2-YF>E>;mEBIUC~_IW5NM2e#d_4Pb^T zn3DuzR_0OxNR1lnuEeyCn_RMlTVKtG{I9#dy!jD7-Gc-8$&2^erf%?bc?$1?CSo?Y zrMGS5lCsuhswF*W_oE`{p$$fjLcEkeDg_)?2y;Ts-lxB`JF7!6d9C|ycULC~seH57bE4sD`+d8d0 z#~wnH8{Yad8nh+dg)Yi36u=v6Jy4|V;S_)|mr1+B;r+XhA3lFUwAkC9K7RQ0sBi!5 z^}8vS?3bHWLxkNHVw_|(2!B2~t= z$L|~a5a#miwR?@ZH0A)ZW*_oAyoVsy)rE9LY42mT0OfXY_!+a*R#&|4&?XVJrImFC zZ^0ni(yX=J6OI>~flg1~YeGj)?t7xRQxDz)k!eu=-8PW61SgUY5CK)ePT?Xy!Sj zBcK4S%1&oqK!43K&uE4}yUe+#hlw(#9%LgijO5;SSc4x4WBru_6pITpIs>#wz=C7- zetW|@K)Fa2ZUE39%C$OxEVU(tlqfnlDN$!JTRLF7yz#RV_AU`3KE_$c202t_D*c+r z5#h@9&ILupIxRFnKolK*P+K)izl%iq$M5_49cuXIVt+zB8r3{|A%A_xq|sbg%~xO3>ZGR)Ny>@POVC!?4>YY;UXaGJh(;v&Aq!A%#b~Zv@$dMj4AhWZ84d zL?L8LhGmmAK&-5d78FKpV;Hi#6gaujF{VzCgZBcTADk@(fUUPrx<4^xv`+v|&lpo}O{qXV2+Yj&K-T#tb-@g0u z_J93$|T#7)_?rfC+(qemeS&H4Ir6CqemNB7ZtdouTcw?SO9uh~+5Nto92LV`(8)7p4gHtnZD)^})DL2P0P2MPo@Y-sGF_2y@&`XNhzvVR8_ z*Y&@s)0Q6_!(f9IcwqS81C4W`#%zGapMAo)6L3HspTIb^7(Wt1hNzo1(qCtbcqnaAT#Dc*r?UK5D3(y|&B)Lj(+cg*<@)Dt-qW zXL%Va$L79J*^A@E>)}&xZ{97n7m|wBw%%)Gv!OV9ki}PR;PTo`*VoI~At@fU4OA+N zL6I%}EFRj>iD1|-T(0D**|$5LwfBYDpK8Z85h(JU=mKqvc{>pJ!^hA2>k|6#IC10I zOLxz}d)d+zx{D#0Xk%fx zGy=oW^nVj)lNpTsV}h6g4P-4&zE8sA+-Pz z1S+!{;G+=ewL!2@_kN9bJI@0VKvDN8p-l>qUUbX2w~2)t;F7Qwa0YFZ*|rH)a&NN~ zPKy>RW*Ij%sIym`@;f)8u$5CA8FMX0DA% zxqpoY4@WGp)!ZY{m1&|C13diblp?fGK`cB|#gYTIoN(>YZuj$#>%&h!#{2c|VWa8U zYxkPUTTA9Tz_w+V2LGO%2^sX-U6C*fW#w$g6v0UfN-aLsjt8*(J#9Aq7K2s|}R?|()**qJjBo;STWOfopV)2!VHF%*^134`1d z%M2!@F}2MF{&G%8ei02NswgOIH)l|p7GNNWF|76g;s|e$K1^JA_R8H)U-=st0yVxPI)+n@7G8V`Kg#I7=1aKHnZ{tBP8*XCsH~(Dlz&J; zK><@x$cZ5_ZG!lDf{`HTjEDwrwU{?gTM9t}K330Dzq^0?I0k!KY^9w$~M75lDMQXe)CI?XB^MA!Ln1Oc*X0B33y% zt0iP9ce%=cc>DQHetiYV|Lmo^*M9}Ss9&I!hFE+Eq*_2N00R#IuOJzG4~HQXYF9gq zH}n;|GzLyCQeJvR_N;{g2B_75HVkeJf$qJxL1Rn=3oA5}a3_ggNCc-da_w9CD70H+ z>^Y$JLDD8ZC(McfTAsgZ6GIvuQvr}O?CVwbg7$V$?NfcpMP`t|eM^VbI(`s{^!EhT$4bfJLZE$?9@!LF+@aC-<} zt5O6Mj!7UTvP{|puvZ-F9+Z0@DAd^&+X*#R$fy_m@=)EREkp$5HMADf*&yPjRuF8V z=DeNX7$&OBu(?I1_A|-QB!3M=?6xb0mfbocQ+*Xm2!cKsrd8ymQ#Sa1*XpUr@bh_1 zFb{VSRYenF!Bo6leK^L|t$J$ni70|Q^$ z{1m%RodVK);miw2GU4E{C|x^Oz-$n$Or{+G@pT@x1HV$?V=rxV=zlSknl=D$afPju zhAQ`_4p$7F zT~X~E#zYLLG7J2>auS9Uu&x4F)y`?N4dWO}XSQ4Q;c!?sZ4`!$I}1o17_A#f3nwRG z%2s5(C)mEtFMe=s$8fc@*bUfa+T_|P&hmi0W#fB{tF2pCJAXqDtsOKrfp3Mt@j{l- z*^l@1{fCFNrDw0*_dWeB_Vj=M_AZ4!Yvtlhq(h1|1p9(<3i6&GEhvp~JGYf36_L#q zAyCOVRlrn4@}%zBjE5la4LlP@i~(eRt6!n<9yw|(0cjgNScC~LzpZ)Kl*5R=#?xDw zDR~zPNIN~ojDOZcskgDzA*5yB;JfS;#&|^uK{t?K`VeRjcq5ig^blynh+#BKn-+Z)i{EE2-)q}C z+u2bmTYrRj(tvNoG|rR*UTMSQchVeJ5NC6 z70j9d+6K9<#JwoZx^|acyRym-s?_F+26KMt}<0c@Qs3(zHXwOxFoqbcK4t0> zk2m%=pFci&*gSjfUfWaZIN}lHfLJClO7~j$g&j)cc@7LMI=D}zOZF;IUYA-3+_p%S zH$qB5u33}A*CguG7KG1R^o&I2&MrTM^nbQVlaHa6+YTktt(}T!jcx zHNv1js9lGZk#$6Tt~ni8BV{zV4^nnJNs=bi@)@mdMm9OvfdoQ6Bf)K9oSD99uQ3{s zbgRtpcsP&u^tZ3Il%BnMuk9*NYFBm|IINuz(6rY9)*w}0 z4>fWdT0GSC7s1$17VcwD# z;xvGkJ_1SUok{MGQ6E0NfAi;f_kX8Hjo&A)-LKy?AWjRJ+S3^h-;uTsROuM- z)gVj++!#||gecl-uBU`|51E#Qd;l>`(yr9N{`7H4uPU0h3P_>1(E|Gwrl;cr_957G z126Pj-FG5109e;1$UXq3W4Pl3olWc@4(!Mfn@B_Lr%^wEupVd)_U5zKb$^`R#F+!%X-S!;Gxi3o2d_=J2wwl?a^uOCPT*tbhxNUm_20C@Z6Kv>TahtoY#iX z=}THofo5o2X{fgc??jNDjejG%k7~k5pI7q6CeC}wg1JmVYF~~)n43wsi;Tlh9@uDt@_u0;FtcO zA|-GY9dCZl08uF6XD+z7kB}VWj*-aB6vTRMSm9;CH0`rHG(mZgl7G}hnW`(7uRKJ$ zYn?7BSIxjSH=3OR;`Y+zx*XNZt*i`y90u){M`QF-W37`#W4R;E!nK(*hTu4Xd@ZKl z5W+gy6KoVelYFw`z&%V_Tm54G(Sp4n)5$Vh+Doya0pw1@+wn-;eK}uiA3b~3e!ZP& zAMwkVbHJzzX?ddbI)C$!8vDQ~8P#$$cl^vm0tb`mPoE%!2uBt za+*1P;<$ua9+PMQ_C)4d!ObIYmFnx$itSe|Yzy z;@z8%e|qSwdGgZT&ceS(V8gr3EqC8iB+)uM^3{`&%(aSO_{@&SLF=^X;-*aK{}KMQ zdSgud!bMg;;s@@DG*?}W0-KKW+73;@=!@b?tK~tMaGyq&x8Kmwk@_L!vTyROZL@b(0LoYR}jDr;>HPqqX(*?~n$k!y;ENPDWuXD23>E{gPNUHHoh zxoR+=BfDzCveC2a#D~GJ_C{)ZTmp);twuDa9_{c^y3(<7hA)WmOIVv;P1<2RFu=oD zd%BIi_}uo6+Bmg)Ylt0S)I|A>(F?1j6>DZL!K+&wXx zn8+%1MYdq;TLmxLV>{aw0AKy`?CL5Nk2z_=;_C{*O^3B|A|xpfK6L;?RUIT9tc3um z+{?PO0%2~*HtV(eY}_mKKGCGSm4+nHWrt0gnL%HkV=Y^A!%Wf(O=CF<+t!sgkE53w%LKjAz3klyQV8S8LGZ#n!HPZ6QF9A-KV(Qad7G z6R;??)L2T0sH+9<-q;&DV***cM^Kk_8h>UFd>3Z2I)GTFV-9$2fL;ITX4L zcq#&_bNA6lLsJl)wS?ic1-sZ9ESr&aT(Th)AOP)XO=R~W*d)%VelCKYCHI-8%`vRL zEs(yvegD_o?;qMIp1pLpf?oR`fINiKH2jE5cEHP#H=$cZFt+DH$TS0PkjOQ(HGdQ? zluGJb2bfSkHw}-xG;s|#Aqes+LIZhfT!SgP9YaDY_=@-wQ<}nYbf?f}+-_hALIuV{ zz$z2mKy6a&KJi&MbjXKzYi;_muw2vzj3eYWV`6+EuB6;b+8)sl=HHB2PILw8ydj+c zpOv{0R=#D>pSiY;(UG zn;zuGgl5O_3m!UBzpIdJ4He~aFn(2ad$oZ{<$!){uS%{V8-YR#P#I{3avi*^OHHqnM@_B^+j=^xPIee=o?{Mk$QT4Q&w!B*Xdq7zkYW=S-5 z3q%GodWsvPcb^mSd5gf@TxeWEOaQ=cmUnqv5g{{2YLJ&)^n1x6PjT z(WV)WjNI?O zZSjBjaliYxKYe?t{(mc+fG4lzuOF=bgXjnU9H2Z7 zf@@`hY{iPWM<;b}nLH+j&M+U3(Ip>l@_+ue$-l(>y}5qmx99C+74Van^ub>HixNVb zr72={3_PwrRK^kojUr=(8`D|bq7mHA3*ncx4-0MBxMGquD#BZQQNb`_y`}_`rFX7* z*x-MkXosqH(tlp1E$K){6yBW-7=L0NJ=48kB)srW=OVK7vVF#^=#V?_@IPMQR=ZOf&+3yp z4`|hgxhX;jz!01W1e0FFL5!>*^iWPa4&=3P-;hRcJ$1+N#swO#aM<^~)exweH3F$U zr5#9fZiZfY7N~zmA>j%ee!vn9pkJ;mv2&!Y1VIgsn}r8$GXQCi_KWFW73e^Y)-XQ@ z@eEGi+kfI}zyJ9{8$PtZJ$dQw@853|)&lilL4;R>_Spos*z8F!n&~-Uyl0=S3pK`q@UXGuR$$y)G3~C;1vl#+&l@EL@)(r?mJ7%os-EV=apy> zvw!6YbvQ&3DRA3}im`OtDuK;uYa80mM2d7Bu~B1qopVuEM_EMy#xnuNhO;;1w3X+& zT6gMd;wNcb<7bva<74BA+<^s$qJJUa5etBv4xI%Vje z@9qj|38GaU8JIa`>*(8H>pleux6$qwgN{y9u!D2q4ht+!pRAkZfYZW7Ye?(rgd~FiV>) z1+nEC$BPMZ!@fz#kvEgPN_dgl48>BX-QKQ$_x{7jM_S-#uiAZ1@;79#9i3+k%ibBZ zy;%pxdS=tE?d-0OSLQDhCny3(1>+t572CtXRq8#jxweAB^Tee6EX1$Z=TF~z<>4Ls`rjG zB(fuGc54Wk+4$(?#*+-gHUOh|B78H(9ib&=?la**s_eB=XOCgq%TEV~h{Tw*N9f_L zm{B6UwxNSR00fuHYJX!w$Z2LfKZgaaRlU5R)?%{Y0?~&!aH>XzI+0a6FvK3 zYg!kCY#Rci;v5hpSphAvmU9mH*I=tyfF8ABC}!0$e7t?2T7QIApz~_237PA@y6IEU zgbfD4%1j23jSgD#kvUT0N(SGKO|#;{dlj~}1xM6j!B2=*|I9Nw@@)~VkWJdy>Dv?$ zD52VaY*=W0r#u0zw}W#aE&uyC-k>yOCNe zdw`Q+;fqVK5Pv|*PxfdYt_gR$01q|1~<{T;EtxcW5p=m6eDf)0YU?!8j>>xMq!xG zqZrb2crom0aW~5O?Vo>q`*7C!>}9*hJb$AQ!i}>UHGk@16?PCqw`J_$7GuGwZHeEQ zk>tZxNLN8{C=tuqW^18quJ{qVXar_u@FA_<8UjwuS59n6M=ly0U%b8nR{=r}Z<|Ls z#ww@g|1>oz8A%gyJ-3m&Bke;?S3v46nE$}g!W zNc_<-&y9H@vO3ULn?nQdLzsvb`BDIHTR@OIq0u0n)GzWigq!8Sgsl!{Dxf6j-^Bv! z*gB57%7ft*^FpJfX%EHxv~lg*2u|-a@Z0$$8-G!2^+sI12&H@L-bO?T@al!>_oTv* zywN^g*3KgxB2fndd-lEE+F6Vo4T32CK%o=>YBU8vtQM29AmYZxJQ}xIQ~&nU*Y}v% z#JhL<(H#BRt9LI-n=gm&F=j-7XtO=)SW(TP_p!2x`@=Us`@(c@snG+eG?5?$2L7#n1cGLlEq< z*X|ah^u5|`psL~nahQo5p&V}gY@SFPY{vRrw|ba8Y|R+S?_G z*0%SNlMu(Y4Nbn*H(?p%q z7bH2r$O89^E);b%qQ}`BItvolRi{s9bo0>G>EkSnPV4sMg@_JeYGvHdXwrLNP!18h zI^yth&$FGU48oIqK#_<>Q{rwfNWwG7%3D$F+u8A z5WXP`X&^+p^$-Ly3E;USV>lfv922{IAnB?+U@%0+JB4tT!^`+pN%qR_g7++d(-n zav>w7jVO?WW?*&9B0vJ8KnOH%ngRI(T=Z)$g-el~&1REW>4mCzohD4X6sgoz#?B{w2uy>enTW`(ES3~T9_6A>gD3WvGSFHxO zks=9I#s)mlmFO%_p7Y{L&_`3DI^{8XW?hqtdHw_QL z!$X$lYEc}lm#Bx#!cZB63SzwYPgbfhU$(#;+UEed2^gd|8!;ED3y<7S^%~Ovd zp!MLHpxT!Ezi>M~eR%io>wm}Zxl%9x>rK30pFX@@Z{pKWZ+7G(EAq3~^H*P8Mcnm^ zCYS+)7ImM?Lz>`2M}Z(yMDUgaH((mt+Xi~xe4nh|ijP3diL=pd>X?9=gB%Ua2*~I% zJF8nR?W6Zi)ypwtF=|nDdc*IUw-fO?(2AiY$cY#PWR#y$RlrPITYnwdolcIv_Yh58 z*``gzB<7i7=m1+Z73p2Qi6hRM)v9~ zr?R+&rs@X3x4R#uF@N`Sp(mX(JPbAITxVY@qJXAU$%Rsh3QHuj0mQ9dZyVI(+5SDxZaX%F)5EP9X*UYt< zJ>KMh__oO_KK=Ra`&ak)*=zaQ9$!=6GGDE5X3bMb2HA)RjeoMSb6)RAtLoM!e26iD zXv6alwu+AM&@1-WEDWkW@Ews!vZ2nM4h6>WNzsVa8W?Q}xy=9qVcZ4}A)FEb>)jHa zRqQI-M?6nnF;U*ZzMG5_3ySxnxpmN-Zd_;T_OV;j%7IW`L0#6f_XaKe2K*4y7Io3I zp1Fo$5W|eQOMmb6ixKi>kN^Fz_xLXlclg;W`PvSjbHu^!BocU#8fIF-jzX}nrmJ;0 zz9t(w*fgX8VGyg4+rs=ln;mc0@>H9+cZ_!FoMv-G=V2WkvAr<=oGUl(k2QlqnD4hc zT&%qq8wE(6LKJ9lpf#1+2*g}_=a?yDYB5iE5IM+pZGS)n(3nNkbhe6`hg;537u-lN zZP(Qz1}-sns9_eq-?=)prGB9Jf4sy0)3+Ud_xAnQzg!pcKfnKqJNd^)V$x?X>1$g( z71*$|tDU*lOXdUkLLxcW>gJrilo0lGmQWtrMU-PA8QNd~YXAXk$g!;%V!T;)RX^b4 zlS251E0Wg%F%{Q+Cl^R7_e{z z<~p?RWKXcF1eRDNSMUOx-!->~$3ZZooFyHtVozZYWT3>9bJ8GlVtTyQ|M_mKfBO3Q z-K%^3>@|IDuSa42ggeVi+GtH|Ef5n>s9VZJM}J_WX4w&IwzV1-b6zPUDX|OSbtCHQ z6i6O0t{w}3T(-W9vB0|1jZEtVVLi{+P!OysP~2 zUVs0m+r93JFZQD$-;Hgf(Wg7U*hD~8y)24p%alzlMCfTIDp=b^;Tg~agG^yV=xkqF+!!P z^;o@a>(gvkENAAf{Ti(-4cfrKdV_j#$A9H(i!mp@BqtD>YrAVE0?RtkznrLWN39Yf z4sa*W$lc<+a(e&cgKfr_`q7~1$?N&rJ`3k8H%N9nL^pQDqoKk>d^cDa(y!c7Xg@c4 z=DfnSIV>-UFt-Ed)FqUaJpv9!@q!{GInUx_ zD=yIn#E_eSxpP7_4kyXueg2<+wa*_v{CR)+SY6-kSH9HGUes4#&kPZ?i`AL{nk~VR z>Bp8qxI)wA473rr^KNk&(J}uJ+kcqkq{5nv1YxQP>|-l{IQrQ>av6e-XAY&9%@9Ef ze0f*oQ9yXDd29N>Hx)c^LYVa0YvdUo1$;qAnmQsE=fJ7eQQ=^=7j60Sh0s6`SZR7R z7|Pou+b3JtGHB0eG8A^2Xgv(v^FBr;60d;X0zWigxu^ffUv2iMx1a0hSAS3MXD{fh z8@UIDk9hRGbcmyf+M^lq5GQY4_E1etSRXTf(9$kA$$7H)xER8dm4M%B9w zg4HOZK){*328~J#2vW@_bumZ|Z#$gJ3Sr|CHQ==_Am|BRgB8GX0#F@m5t!W1E$|yI}OevV`}FL>V!s< z`X&U?7LR1Z+$0fsjbWLFe6siPPOCYnPAynSej`2v~%A!I|v!jZ}lgp0pAq;vz| z#s&O4yEsyG?$j4tw@$zP8I`bPO$tR^h}`ISmG1VJIxnQpbN|v#ekJeUc_f zdn|qnCPTs9p|f z?&yq4P0^fyW@PSvz21NR^V|1LzSrBIe}06xSO1tLOcYL0#(af!wn5P~oDDb`vfN4ObaQeJ;k7Se&ydhCp>`Ga(( zh?da`qpa3-N0+mQLxi(hOTD7Ww8Sdw|L10Y+2^;>@XhRtVIK#RaKva|P zxW|+aAm5FS;>E@^;?dxR0GN)N0YE4xWu304Hw1a2NdX0Y?QteV=-meNfE)B!sH_@# z7)RQGzy&SBc`JYIsg(go#k9oJF(&Au(FHlcnA7nZlK2u-gA+35*vl}HGlYs^es?OP znGZxbZ-7h0fxCoj*$R=JP{bd^jVeYV=#{~aj<;-$SH8~w@mJgYm)F0{&tA<}hZu;m zMR(93-fJTO{!k$`=s28O{WM^3 zfr&zSIT>8NGZ(;KIsr?v>X!mJ``VC8?3@%7@MmXj?plZx9hD{7`AUHBIO<8e`KnQPA!e>fB za*MqrH(=vBA{I@UI@qgE+Oy53*2Ka4&)|_&2)`JkA+d~V#k?COyB@I5_6CV*tfT4$ zo+f{Mka`ZV&`1czcxe;Wwy8V!QVQ?fvsX}9)oHk(QN&oxS)M+mfw+fgXu%M6?Fa!R zC9H;{T(i8>LI3gNrw?B~ym|Nb^CMHyv)Ardd-~t_7xN#0&~B)^kj6$X*5R{3={Z8s zDaRZ1Of#847H-Xs_w}G9(avZLkv>|dyqtfyv+rJ`GJ}7g#A;HNPs+I zeX&lJMC!u7-SMuf?iTmiN4ng>D}|bDc6H`nYh?m2p69@HcGiRzi4KhbBv|@x0&ssc zP7OFTtc5ct+$b1Q;BbUuWwZM1KojL^z?1@?y0;VyMC`#-u&IY1mafT3x5Zkf))E@>rjVav>%E@C|F@C>P#)b z<(VXBYXhAO%tAot6soAk9j_PgH1mJ7#pS@oFviuJ1x?e9zZ|r9dg9;jHrqq3gCh)S zLW60lU<3iV0_nnz7Hh&70fCAw_(ZLG53~(8FuI_L!@i0K0UyVnHA`Zm{)1k?LiYxJ z8n=D8#qI~lpA2tJM!lM$|HU^;&p*EW>8^O`u}gQmrSkoN1S4dCSh)&dz%zfdBxmoq z4xB_W02edIVETlxO^ga$Ij<jlRN%C) zASjsx33f}3>U0psOhQOHm7K-`Q?=`5NsmelL$tLkmw^xhCQRQ+!QKeSKa~X1WZV*x zf9b!=4_}_P-yL6g^xEB05`LHiv>E%7qmJ}p5V7Lw>!o&i%^d;H#ciYaEV>IriOu>@ zw5F&DMB)QDd`c)IyAFRJqc!Cd(dP2gX4AUDuV=)nHfBbj9liC~^ObPmuW3&oy>_qJ zG~eTt2cC1}=1cJck4#=QY)d6NZ|n3aeI8fb6(9YZ0woWK!eR*|aZT6__BZQxn%*U4zgk$2GKd z+6zHyo28RXYjUP7U?)NtWoWjS_zwa(f7ULUE~5uxr>&5H8EA^LL~S?_XmvEnPoIvS zI+#5v+(w3U)sBP5Zs@?R!oSo2GS>RuJAmVFIg*5KPe?$w1IjbjA-It;@{Gx2mp9uJ zmW@DB(PjybB~U%np()-PBMO03Qm-_bp{}5a@hoE5s_3H)Rq+~Q7)Huwu|UtRe~UIx zHn|0;{_M+V9e0ydk6pFb=iTq`TEu2G;a$5h{Fv`P4WVK1v9^G8sh!eR+XsRUOjj{4 z2$Fp(k^>Aq%Jpdnk)_iBZZ4%x3$isZ!F^%U!| z-CkYjC%D@NS?)L{p1l%29CsZZno@8K5r!`56O`vI7A<)6K93>0!vN~c5tdOi*V=tx zg>ZGg(zPgE(&+^?Y9Amz@R5;V#p7f2YD+Ih0909Y3O22aXJF32{>~Nc8oq9f`2yWG z40VYe!1M8Km@3t1>5CnTSsj&8TID#8INjyB0s`BdO|6**-r*#c-Bc~KXg(V7FkbkbxSY>zhP zj^1PyqYvGzVJvDvgpRv0$XjqkR^?cbo|It3Z*M((TM)#=e-xkah2uVwr%?#1g>KZ> zCg+7)2XQM`m@8!>2P9CF5=1aWg`ph=r5I2~stdQd6%7xPWi)n{H(;Eg!U9T6hXVj7 z@*^7IAAbJvLq4Hg|9w~g*9Qe*jcRmt51jF9k=n1xL5OLRSZ2AC0S0 z%z(pa9WdBKf9Iy!Bnu8k*CUFO23*zU5i-H^479TjD~Md^h}K*>H@D4~>~?GPZ93X* zbs-ihC9+z&(!6$2vZjN?X5z4f$?&N^hSvM_m$PCA@& z6T?*G_$#_;17iYX$jUR-I=r-}#_c2ei}?8dy?;1&e-Vt2Ub-9RE&ce~ZFAOvGVCa& zCh}4fxggo_|DCY}$HZDd-a)U~5DS44B_O0=a6*NZH@vsWP_cS;!mboxb#l1PIc$n_ z)XEsGzhuxvLcG6%R6{cu%fVno2{0Orc0xe$@ftJQK18c#hgtzID%gL|C3ski2WcZF zI@-0>f5?S6-)Mxc24=?)ka5_4PKUs?&ladXP)JNn4AQF#@B8Nu&+q-qU3A~0m+mi~ zQv30+YZO4-jNK*Bmrk4l=BU=yh{JFnJbQOEH=?Va=|MhXR?Wfv z`sU2pWaiXYLM>w3jVx)RgMFw)M|LRL=164c!8JrPYhf@BxwKW64dWa}MD&0LAF=%c ze-ABoM8VJC1t`7H;P6wifdXk{0x;0T8EJN~;IrTM*3QTG`7Yn*hcAdY+)JuFc>P`< zk-pQ$ouC-9hIG`yM>yqAX;JQkxP-((VWxGvM0$IPj@1>0p4&Uj|MKbc z$CrHn{Q2|8&re@I`-hkM`1#&h>Cwx0dqth!AKN87nM`E$WTj?a%XyvNTlU!2e{6L} z<B3X~T%fDpW#H$3;#C&x6EfDw@R zjAHS#*C>H4{UE`(JMb~{Q06-4f3`6AKYqF!1%C9R-5isC%fA)*j>8>;_7-XfNhVl9 zT8stL-ePF;`w<4@^wmZuP%u~3FZyz-c%k&BThsC+B5rngpmo?H=aA@w{Q zITV9;b$26x+is7(jTLiAOF;huJWCC?8cJweS?0M0$ivX5p}~1_t}97ee^v*R8n7eB z*zSImR}g*yEm0b*>pv}z(|dwPRR;05jXB6CYL9gL68;aLzJB;~-1k&IdgX3kzdu}N zOzHBPYHyhH^u=cy>=<;h?`UzH*j}EaBZ!Ole!FJ65^TY}dNi($t}==vg4-5#n~B;D zVZyD>Lg{m_vMq`}mt#y2e^7(5Uqx1uQ5ynfYdeDMaWMH^3yTktdCl_So%LMthU}}( z8a~U`NQj2Yyi)e^Ms2pK8C5h$0z4`#o)ZQpV2rjQ+&eAjF-jN*&sz}g*ALI&y!pH5 z`t$t){zF&qRw(-eM@kz_#43l|LWE;r@N!6Z`0fF4YAl<0Z{|U#f6qFYFAlG!TyP{> zG4McUS(P|vI?Z;F+S3&nl(M#Pd_WDT9X^FYK}@L+>w{lGQNm4=WaxTg0tF+GgRQrzM>_bVj&xyLZBWq^n8o%WM<3-N^w|THqG~uB z1N;8d*!z#ynXjMUe|-~D-fONsc!nU>oVrqPbFJAi^G!#%&>q<< ztZjoxS*$Uz%*yh7STl)LL_C^b9J zy&;<5J{G{8eh|jc4pt6QR98Tt8ayhwyX2`et#;QWq-|jt2MVjJFm=yR`HJ88Of9*Cnx=mY(KKz3f&O{L9bj=P5jXfA@)f@Y=oZ&V09e zuZB3m5~!CUn84)^zbSG}Hw<3kw4qplnsQDNBeV$8e}l?gI7bE*)xt;{f*Wc(G^jO2 zU{9uwg@N8UFb{2OP&fd=ajwqy?agM$5k8%w?W*i&Mv>y0H?kKf6&{^i8y8;Rnz`=T zPg?+fowd)JflB$LCcaiz1ruD)S;%s+%gkUDKRfT-GX zzhF<}fV00Eut>FS_NkDp3-99VYKmT{MKTmwe@JYh4E|~g)|>2RxX{WPBjjKvs`He} zO=SQw_}npumC!z@yC2dvs9Q9WZPbALTMU-!*(XdXyCY#L@N6yBq=ReAh->QQSRLP( zvGgA0cc(CZ7Qgp6SB5NDA(%=xP?VvsPd*LHDuf**DmJ>I+dAoq1?Sq+;&-LX6m^)5jc& zXuNk&dZ;nA2F;|hHTYy-pOw#ZJU@Ngf80Ca?gy{lUtDVczy8}ce)~gqsd|?4pv}2- z;97vZA~JLEp#ycXnLB1kz-^ik?4t6?m=bO?#ClG!G%sNw;W$T`=em2RiWby@<76Q2 zoHLJdY!*x|5Xo(_Fjkq^l(mQW;0FKT?%5K_-(&7Ovx6LjIB>|gAa^H6jegCve-9PM z4R))2Rk zg)Da@dLv_<)pXc~w`zkSL07vIL@D&~YEmVF($m@q?Ib{jqo>ja{TPe*hhP5V=jZdg z{O5f4gTDRmUOs;P9QocqJ)vxIZ@}@!h8g7 zJFmPTd+)69q%F;37_=vABL0iN(knNB0Sm*}H9BHfA0y^1NJ5IIx zpw$OBt9mSaE0kL-6rN{54=@ReJ;e<8N!W!^Gdjc862w)&d$`%p|EWHH&fk6h`1Qki zir+uKJNKqB9=w9Dh2G!Oqzwa}+yS0ilc0j?ebKB#iPpz(1HOOdyl6ZKel-E5TdG%~ zeF0}hJA(Z$90ucUH1H4|K%J4b zUC2?_MN{ZiG3p;Z{_yfC{SWuPun%6k*G;=``e%d0RWRV;e>%*kWk}*7>AMi&u+%cM z?v5KZAxI)_2S8>X9vyPlI5k?eGcdcgDfJp_aw7v?dK3XzVwHstLSl>}4C78R?6wc^ z*A$m{^wRz1mj0BNm@=rh1Jx&Ec-hvTn??6@#pk9DnoVE@A54)tkov;`gN}6kP2_7f z50*wFdutAfe|6#LaKQO(1r-?dlFJk0^_%*chKq}UVRQSGN}#HKOH> z8U^tdQ3wj{JX~x=i_a15uO%u12|6cd0=rgudh5Lqk2z~r z_BpNbf5HQgrziEaX15;iUw!f~zkhm(ub)5PyW2c^@m{rHf1H`BDT~N=^f^xL>H=F; zhNpBy-A90E2716&G&=%I+LT61bc=Yr7XI6(CVLR@D+-3bG1 zi>d6pRO+@5@YhpSeDuP-mR8R1R1dPrIZ@vO7D-M>T6=dI)uNaE59^y2E*>TLZ9c^7UnrHrqv;p=AR{&Dons(QN>xwT5i1jD=Wz zu3i9=VeF*YD$GP3urZ5Fju|QvyQJ5qg{iqHR~=_fuCZ_}NKDOT>^9mYqDHf$b=OhU ze_5f|^bQ8UkM@fJecOTk&GXAseEghG??0Ze@9ypEqu1{*pVanS{vp|<)Os6c5= zHeItJYty+m-w5N3*>}LNVGHR;2>mjzyFOkUo_lkLXu}hXXiP?jHH9sHPk_BDCLat! z*`l;+QW)^w^FW_)8~$#PsX`^0;~dDtf7Wo^R|M}bd?X=^wKh=^Cd6JK_vzn!$pnyh zTMSn7>Cgu5x?CyHeGWxe?O1WoX6UY1jyQeAY!39C+Tq*x?=P?S@0(rN2d~}hp3b+2 z6>N5x#o<6whJ%^Jf!9>G#SDz(xS%0<959*D`$ZY)t3|AZ+UnkCtlq7ZJk0Q_6BkqJ?%8aT)em{%?9 zLO0w#yqGbS(*$%`fYG$zm!$#D9~|cZ{0FY>y~&XUnr9C!&5v&kf4n3fYk-UU zM0youepSX$zJq*OS4kLCZK7R;wzFpC?YQ~hJip|h?plN&ylk&)5Z_}?ZMTF)5)SmT z+yfd_kv(9}V7F#NG4!yG_JEB;7nmbbmtLhYw*%Is;A(v`0KrFrvq-P0T1c-{N7SNi zfylOTQ=PNTb4I(3Ar2)Be_8WkhK|blP~cco>%h$&$6XP(j@?Zp()Qf(O{76BtM8L% zZ;;W7T7u{zxl#s3457916{$%Jt`7kC31Ii>ij*qc0yo?FcYpkvU-RkxbA0~z#b54M zA|AVdx6f(&ejLsQy4T`~3k02kDhI+CwH?EU2WOL{28-{q!6-4ae+I2|KMGSeJ~iExN#D7 z+-MP*=mW0$+71@?;t52G)UMRk$*M!qOo-U%v?#o_Ty|gA(CkL$e-jeCx?^?8ay6-a zn=k$O%k%G^Kh(#2e^2Uz7w#=TG$OWg!dhbd3o{0T17V`scTJs>#+>dO1h9&2Qgd@6 zNac=Pa^K&Q8`Lx#hz5R*`eD#X3~A=J&N@Q6cQ_ztV@cxwA_=N=duugbning-0~LzC zBs_Nn`KRGt$EVJzJ?31~@C(<=_mRIIB#Wp#&Z zZWfh@m_t<00OpPZ6Js0fmu)8kCTX{p0v-4{-1k}v4B33d3Z+J#c30ZD<&hAWZJiX-SXMgwnFLyI*k6ypGo>U)1x+e=^G6MX=Ty|`l z12Jvr+^>akTFCZ-sMqT7S6OP~P5U&L{3ik?e-l1?x(DllX@>)9w6l7^6b;71l4b}L z&QOAU2y>Aj6Y}xCgg3b#X4!a7(9)5n;R|$D9|VJ5R?Ioswl;kBMq~Dg5!ZElzd0Y@ z|K2~GcX#*n(QEgb{P8Vinj0X`gZn>bYIkfKer!*|I?c5(gg4whLF(1fgs(HD!!^scaiH%khVS5XStuLu>!~@HMMrV4T^%7rI?Qe2 zopTPCa#35OB7E05Gz@qiGTDt67cykM8Qd#d+GUkBo;dl=9D->c5b_a$BAv}r8PU$z zG+n0XpdZdj|M2sCLC)*^NW6Rg)6*x2ZC37mSRcHEf3dX$Byj)Uvl%IJRFY72#bHfw zevZyoSgp3%Dsbs5!sy>w0MLN-IWS9Tt3nbCRO@^eXg5a99i&A<$z|qVttKy_t-g3( zUBW=1y02GB|H%rx$p+cH;X7pbk#6LI5AhlyDGZm7DFP^e+a8CJBff-d+IGCLwZH!N z)TEDI#<#Y2rclm3&P3PQg9}t5UK>At!|?mQ*3Ibb>Kh&^q=H&A#@Zx1Z58Tg1z2UE zabHuXx+`*5dfVyOfEz%3N5(Y>W7FFrUU`e@XTTU-d3FTyR2#XYTG7F02$2mL&B9>fdl%uw_&rHp;DwMnq_3n)nnri;WoY{D@Sz+enbV;;FPF%cY zf+i=kph!7y6%t<4<(>;b;c4rIGmOUCebZcrfuzl=&d;bNya*PRBkL*b$p*V7FTHnO+Fe-Hh z2a$gw^51OkfBbiJ!jE3Xw{{m;_~uD4o8s$#&+RCmp@J5D?sjpC3C!d*d5$SaQH$;n zj4Re9V%wrIdRzOXwM(+r-3j3YG)mJ>^|i`EF!>Lg4cck=-x>2Z{X#~|_jMl^usE($ zNI?dTHl;@xjzfhCswiLG>J1Q5;gYuqRezNANvo|zK*?fGMg)Zb&{Udbn`c{Ik|Du= zbluU2SrN^Dib~w>?l1pMk?^C}@U6XVI<5hKqGgbkcqGR%-R0eb*4nLl&&F+HL=iUg zMiB#p3b`h^V`STsFNJ7&|7aw?vf>aX5^6%p^MN;cfw#W7zpl@j`{nH;)uWg3t?jKfhPR>!c!q0tc$BmgL%^~pYPHgE ztDG`U8S~~iI2#zBD^gc(+Tq}i0V-Bt#IIrIt$LGzlGr%a^$IU-Ed+mXu6NIWwDzjm z)8bSQap}Tkbk1^!VmmydDWFCwIF+dgJtW$0HwZ14SN_tA^^*5<}={PYKEoe0@Ms)pJLZ^GNA z^;tOE_r+3eq7Mv;K8z(8m+2dS><&nl2}8;7ZW&7txlZc9i8U|?$?+XJ9B3|HqiFbe zWZJ8cc)=DFb3>Qy&3pkiNYX3=^ks!?BY=Z(Z9K7oa&}>BCoE8vOXM&BIf*7aCNYo8 z9h(oP*q5Tq9Xs+d-+%YN+5fW=k(x3eDkiWt8e&!uI5;IYBe!C zE{kO>XAvKu@b=o-&;ZrZ24M|RaOdj@>$z=BoxK6S0JUw~H5a%S4hGArb#ULD(%CP` zF*48{V;hrhOH+H%IOD3E@6l5XRSR*mrY^0+E;9w%^oeS|PwC>({M(qc5HO@b+XGpldIik^BwM+l6D6%EQcIb=YoS;4A-xL42WLbn=LyvQBrdV z)$&L+wSJJb%`A)CxJ;l30q5=Bj0#)t;&zQ-p(#Ky(ZX|F9{MzY^s8q<0LH7quF!m3 zF7>f?0SwdTQl12Q@xm`<8h8#`;aw42#NZ+_a|of)S~1@|Pkq~32+HoBryje8Z|&`F zr?Ge&S`5O~2;|DaG^Rdu>0yjz?~Ymj9p}J01B9-Q#l?I!JFY5SuVdUCz>$ zjf0?)t&87!uHM;yL`-_cL}i;6Vj^pEd*OiQFU@cHw?ap20K$`LSDTg6!V` zQ<4hgD}$wM^`Ycp3*6JwE+24?(RtUjF%C+$u}Tt0XaXUhaI)ea^5%K!+upwW`0>N< z?!J{Dy^L>Obh~I?_3T2{kw+_n*8$*0;<2bpN584y%^uVlh8qNVxO25VTS5ILLOR58 zq>piSTi|Q#WS2oO0vCTB2DT?RS#d!S=s=}m2B#sSeR9J0J9?f=pBfVYopr1+(guP* zc8v`swhd;?%htY130K2*`Js~tt%8@|MbW)kkV;}yMAYBd-rs!N-uKU+UWVpf+UbMW z@vZ%p)oeuqRs+Sr9NG39V=Ee&@PGJ$5f>ewMmIPaoqXn~i(>>-` z-d}C+++uFzdO^UuTyQe{lrs)`KcuY=c3IHTnr*o2 z1abEj5W~8<`LeZWOeh@toY-1|Y*gRs4*lw18QJfhs~)_FZ*49*P&TjG;4LRH7bWa! zW#ba{1uDBbBerKAqJ-O24J|KO{25{ahR(N|vu$X4{0&4~BZ}Nn@#+-djc<(p6R-b)Fsh8%gb0n>t5+f_enB2O{9M)&x zK98Dz!DCFQ?hadiTcXM`pSYtCthEDO1WXKIAedq36J-$HCfo^=P~gz81%VVt+RRFJ zJ&32r-V7rkPh57ulgAjmL!jKFM=#==@8ph& zlSbVu2qJ;Ase?*CH5=+cjsnTR)SoD@Cv(HibcIU|`H@M;Nkf_^;6l^_Dg@4;G`~*p z#ye`NpXM`BH3y-t5(SG%w}<5ut&be+0MwCCXTxZ$F}MaK1QdWS5cn5-WGh-XHLXH2 zdw+?afs_J%AJ($tFx_WAX2R`EoUp0mjg3iVAq5I9b+1?j4KL+eE!|(deEsn8<*j$} zgO~8Ftvzs!tGaKQxEj=e0eUZ>dKM$JJKBQI7>j-apEXgSKOA_p;MD_=W`Ug;FCx?z zmT$mX(V8NK*o&^CASkn_l4|c`E#P=bUw@&hm95-U9ogZT^Y|th#YqXn-T*-8S@ZN0 z7H*obZ%gVRvd(*KMkKo{=H$9C$Js1v6wWt>A@{@t^CmFID^WA5SxeTulo4+om4Ee3 zuKreO`O%B`*57lw+* z79fqT^5F_o#Y@N`4`epf> zZxu0q`E7IGs6Re>4d2?^Jn(aMKOsZsV#;{}0}hGjVsvxuhJVT^R64g(uEa-WZ5M%T zA|`K_c{Tzle+_dzwcU3^M+eXEo+R_2LtU9|dpp6!Ryaxt*iaa6$5UZ*U{uIl;usPR znE>{5TsYCU--lBOvcpYO8Z8ACz_sR^NsM27+uQr^zoA+Be8{x3JqFiB9ai-I~ zbpi_KnH^x=!5327dY839W0*SOo||ii&*`|dfeP*?e`x_LhUtxDnzdH*^piRX)=yM> z3xNfYL#*Gn?j*U=PQvAqt6cM6r5Af@@xwfIK zKEgs%fHWf{8*V4Dnvm%Z8g{Q;%a7;MxT+R`5Pr zLQ>ylti})=O*=ri4na6KQMD)FHVmwVU__5gg-+fco{G*Y2w4JRK6K#D5os#}^Hy$i zf4Au3Bb;iwxMv^82A@pRq-yivVFru#1Y3O50`NiC(7kl8wz}1}zEC1iF4W`I`3gVx zTW`y6&U4k%OaAd|eu%r6#YeB-tBuv~qXh@hUyKZD%5iGP9DOw&XZd8Tp%3MnUS}d$ z=cs!~X@K>x`W})DDpgarvD%b*92hHEf9E*p40hU)jTh&2JH@#!#Vp3!X>ogSIt{}z zYwUu663i7;)4JuZ&2^ec9u%X{xJ6vTkP+;10jmS&3KqZ-CT=^8PzHh=P0ymSIZyC% zOus=l3O8K}!Rj*l##7evmUHko?>>IL>uq`Tvb}|XV#(UuP=LX=m&eK7dd+Q3e@q%` zS-yRulC^eM8lvcypzPg|q*j>VQ5kCG=L9t`g;Yp*_!d^zgx--^0XBI!r_ zb~}N{+BFZNpD7ZIzNb$NsVC3jh+tnqPxPVN;g{~qwn z_V@qo?|%|e($0yzW!TX~5D6C}%v{H8IrKK#*_cA$pTUg{-?$K>+6X4dMGao|He=!u39V*UU zJ85l{b@o;x07J9YJ|qZib8x7fQf}I2f#uWsY!iUusZA6=A)$sc0z6u|Fn~ZVkp0~5 z?=PNTo<4kizwd7DqnGYA5bE2OVm2a;F8Iw#IURv${3YI1-V)&Z4H3bZl4pQR2_eNn z7@DQl2GS!!js-4h3p8|ef16sJ8NH%s>zczH+^U&V)@;D(FP<`{{}tO?9=&p}U&8#o zYu7**0`Z6)7emOUOFFeRQtCq|JvV$VoKgM@N`*B}QaPkC)5KRRiXwq&82mRqs` zR0%}Hbr)G^tgHklhZV#XP+j2Ee3f$p^>E~hbyb90@1ydh@7R;_e<1h(9|TP6D+2{r zbmeyg`ae6+2Ah`c@QcWP=2+WC5UNhmjcWKrjI62&8uDgnh^6`2JHviBEZrg9{_1!6 z;px49`tv-#Nk?*6^<(3kQb(}ha;Z;l@&~gAh+Xm-lc^!z+DJKS%=Ga%z zTaYm7r*)W;LxJOoe+K`XQXevTQ4Ps0k^mL-HUPuhn=`mM2w8kadyS_4>rst9dgrIgwurOk&j8wvY#Tm2uOCPtoKxLGlue{h#Hle`;Bhg`E`8%QSP2Mwnz@ z#1fON#R@@NdZFex*B;vsFy(TLc%~MKK_p_KhCHF3iZ;hGpKEI0Op|X3LjUu-=MVYv znlG1*n0}zyH?BD zW9O2#efyT)p=m(@7^PsP9Dqmzp#@POI3IO64-=4TOv3Y$X}MJxG5ZP-{V=n&X&%6O zgbS?Pi5D{zDnCu>{jjzF!~1`^S1)|R*Rgu9ktY7kr*Y}UG(zBQ;#Y6Y5mLK%9Zq%)Wxwqw7d z@=ZmM=TtbrNSKixqlI8RZMQfgTW}EE2b05O?XaiiK0)Z9fTI=*_+LI(iW9BrhQkWX z*o1!GOH5zvm(x-^=rfIK8y(tvjDCAt{rRWo&;I3Z{o&CI_xip2?WnZ$^qo|^5SbY& z-Lm6$RLDlb)#fMV1R&n2yBQBV_+_Oj=qIx^mt8&r7=N7B3yFo*DHW*Fn+=r>w=o7K zWsSb)m|z%G40u9ahlcQMh%{9Sycx!Ior1kub%sQ%PbgLmV-Xmg!h;;GDJ&c?pO8Et9W}*;@{f0fe&W_bV!AK z9f!!YfDl>$7mqGm&4e>~d5nb?VMCV$KLRd)cEjKj*j$an8a3QqT3c!``t@NmR5YT6 z^jeyp4PYHjP}&P9OK>h4p<`YP4chQjkUnJeA=z?ft9hcs?O9-%k2I!s4npTQyZfI$ z=O4d5f6k}+4A{(<&-YKkk6y&rpqX!{U}ly~_OWxJ!HGm296jLeaFPoq!)7zl%hQ^F z1EVxfQUg`Yc5=&J+++>m(i*%EV=9;q4@ho-Xx5F`pA3(7fX!bZSTbVL`;|rsNy0?! z7Fb#VKXPyn9CI)}=izHXm)u4|3tZo|gwhL2Sy|niqv2MHz9rc}!X%3VdSKq2<8;hO zjWITuCcqg^KB&GD(W{d1-|f$MX7f*fpZvqi^T&JAhet2q>y7>PPEHO*V0|K~+jj=M zYrAJy0F&&B#H7xN;H^khpL9TNMM`6W*fV@)l%o6`t1YE)+x=3DAQY--U%;8E)VxdC znKR~rJ50sm_IiUJ4yK(71>C)Tw%UxFinA>NvY@g?cBZg(Dxt0ImpiUWPI3UqG=SMiovYt4uu znsBXRln!4FXlBF>H*$0f`4%vL!w!uD1Q?BaN7U$~>k^f-&c2Ku**ZB+_jG8;Ibyka zr-0g(K?@V)h)Zk?ft=uO1TLrFeqn$1>Apht(W~~B zmmMsNu>w{Sz3RtHhHZG`CLrYq&wzO%;1>3ciWf?Bm^((XeMCbTKeN?;S$1+?m290P zvHKjm*75ss0YZa{?!gKpB1oL9K&eG{(3GvvZxXzSzE7xi!B_aFcH z!@U#Iqu1>%T3atbQ#bB^S7r~GyZ<*8pR-?!B&RvRXaz(VX(w|qYH!jleZOzzanYJqgU=VfbaWj zx4W@S2s$UU6=(Nz4n+h*vmdm~?gkyU(5G^$x4rp1$2QqO>XXQOm3 zrR{8Y_)0j!9kebK0uQsnoU>a8Z3PpEpmKWyt9^i@ns z_rWXomW`0IrE4@Go=-12g`vVeDE65fUKfxD;fIIZkgQRRu?c;RHW5+pwdP^G1i544 z_~N&mLy4y1k-{!oI0Gk2YIE7ypw1bDkd5c;d(x6M zcF@`g-P#&|xWDh9#1GsMwB4xxrW+zXLhyeWj?Js`MVV4jnIVjZnT^=m74)V8Ic16}>R^V0~Tvk*$|z z6`+0=9W_DM2MBLPqHVdCxmV#6lc1mwrf)NSn9y>6nVQD}w3l{!8^yPBBEwsk)yl#f zUQ8F4s~Nl{(j76w0hUoem7|U5s2IdTh0rFDJ3v5#q+@k}oS-={)4yo?bleZX3$Tr} z?r6$fD(*{;+&-ay`+I-+_|Nw)p^sj-HxEX_d-K&+ubz`^5}LDk#Sg}y?Q+vVp`#eZ zb8?n{z&p>4f`HmUgVML2CBOsfk_eD?7ceML{2^SzLEx%QT$15S&L)=3CvLATCt!^e z--eG4cxiyps*?m*ba43>%T^puV zHLqb9P-pSvB8Pj8ti@@sstf+|lAqzae#*~(pFiF^@jiM1U$3qf_8KFGiCB(+YGu@s5SRrG9G=KPId3P%yOXElr_G9g zNyO@IZ61Wv#;CIjL&;gxv`JWmYh=N`Fd_-UUH01(?^Wb|b5kF^cyGOZOPl+Q+{fEQ zC3Lsl10yczdRXrRPr*Pw^AJ+B9m56l&_Whtwb~SB80h9Mg1KKqsCKNb^K8KwHeYY5 z$e>Ur1-YS}H61_S+cJJGAGPe1P84^4&gsG1wj5p3)&V!MLu`PiHwJ^Nc9UugA4psb z=J4xH2=MC~Dw4&AW?`DF^_a`{ni-3XZP?KUhesFuxz0ZA7AF25PUfel{Np`p#G_a4 zwlTxschsX*+CYpE#wqSwWT84bQJnOXoAHyRvsbf`=u?4JvY_pMIYqn8 zu!#`)I`DK2-W#5S@D|yIoNxk1RsaVf0NP2_BOHpZ$!^OT^=%F^xHU zKOLlqnxy5VL@p4A9i4ToO-AP}3)ss7VE|4V99C$-&pnUTj?TE>D$qEE+HTIxX#yp8tJSKYH-;y;Zb-M@Ogo#Wew90PAmFJ_h&EwM;<%ofXK-&kZI5Sd>_J&fS5{LTmIE1`@Kwd{0HX^c zqu1}PqJy`(#*tR*bMEC~f2brEXp$&v;0H9!Ph66?1v-O5uxcoAVmd+DOrYgjcsD|g za`q^9;u>cy#PtTI1G4u*afO&=rYwt?y8L!ud*JHV55!cI2N@MLWC7Z8%;T!k#$^o` zP?<&?paxSb0X+>>L9m$+F9gMTg8{-TTWB{LBhVZG*~c+HS{;AHe_6X7#Vo8%z3s*P z`g=e8IU>}8n964)2~g0VX_6C zsu09Y3zl!RdJ#xKhREQW?z_=MP6~aqva^7JMO`FH+iDrN?_gT)ZS6!NWku*Vgf+3j z$odqro7)h1$GwM8e`Hk*vLNas)DV`8XeSY~Zxcdm5y80xudRcWdvxYKHyjXvWD>B_ z8fx5I`w5Wu)0O7)$CsCdn=Z|s0l{?hMYNA863@ngLtB}8Uq1#n4^7{ z)lf9*8w`e~miUB${#nCd%ycQDa;B>TkHJkGQ}x0gdn(MRe;9%>{DD#uV_*B0B5i@m zCqRo5#-Nxu$n%mh!snP)w6^z#X3eQ-O+0<8?=gJf4V!K`sl@bD{hvsF*V}qC8;_1O7(L? zZJW8aGa3mne{T7f*RX126|pu1a_wT^M=6P&I!uU7o-J!h@3sjacEPPhKZ2`kh@^mRKy6R$i5?Qloe94$L~d$c@s z)cXIad$%6Tk|RqG&SYDpsVQID5Oht@VB0P*~cR$F-~@nVKdI@1EX*gb_@rxo!_N zd2r~!xfHT&1_UL<_J&%y6=WOF2X{2SfY=cgxDOme_#BF^21igM9sr==y2oo7MTKl_ zHDXL~cyepUFwb?GwzknK$7f7^%ptIO$YAHTadc6;;!{6;>-?wv}-hUVz8OgsRZ^4kDQab zf8h=5dJqZjHV-~jP?eVHUe=9pFr^-62@W38p>LLXV7O=R3kP2_2!8GMbn~mXAHO_> z#rOAaARfJRKmAOZ{v_XaOXvV-f)tNv=|I3gHVDeOmklxYI%UJH0V9Sh)F~X-k$a;? znTFjT_+>N{roe-O7QEPNmE-zS2o9eXe`NubB%ITGKt6@4{Lgnf{^*ta_L2VY|Co;d z@xTA~KmI=hPvYxe{bT#&7!M7nWAI*VJ_KPk;6XK5wj-kv;6YB$?UZu~ZcW+-GgLRR zrQ%8(R0Fgg%7!g(3*)JtwvLtRXva`+@5}3mR9^_Ew5~4%D^u~;ry_KX+-HFIe|C^_ z#rp*ztz-#F5XclHxIR(dg@kia2gSwDZq*kM4t2aoH`B=j;o|YN0JnhwO_w0NsrF@a%0V zmdem!4;5@F1H%W{A65gpSGn{Oe_|eE&Lbzc$!Z$i3!R@lsORCnZ6R-q@7vG(Quxu! z_gdgr94%*@0B{lpaC)@@JkfCS!|9rRGph)9+kf)_Ue?nDi|KhdAM_}h)F;w_^L$3A)sNvVKOgW$;O;|j}wf4IDm#Z1F92TDha-= z$Tukf4ihdL@s1y6qvM2vgTv}MW9@nV|32nleys26KR(G@avsM3o-uU8HgBk#IV}$a*Gvzj4clF&MMX9B6gynqrNh?>GGWlCzp+7#d;dZ$oy zR?q1oxa!$8pgV&oe;DLJ*V*@|q)w^nE=0DQtI+no2hPrt=N~Ble|r9ezwNM||J}#9 zH;sMp0=~RB?$2qpi^L0*?L<)$2*H@k1bGx6)Vr3D&Ti|-awJ!K;YQ)Ifx|b@6;#x@ z{p<-C*xHEhI5#2Y07Hik!;sr_gCNy-5r$8fb#ULN)yl7(e+6AN|1NVKmYM)3EMLgY z8yK`p_yYJM350Jm)+ZMAbG`iAOYp->egY%fN=RZvt%)PLuu zw0-}B{h$7PxB2+srTfW8y8fi!s;nCX<_VJauql%Vc?>++pnSufEVb$y<1}BgyQqNM zRY#J~+3jNGe~gK3DdOxQ-E_-YWXQJf3_2xqr>!zOgw0GGlogA;P*1ph8t-hrsJ98g zRCmVEZDukK5aeg$eY9r_rs-6reR-~;1S#0&Igu`WDXs=BNb1)Fa*%7s>T8Ol!(4MG zZ7#^eaHHXBTVV(I@umCQ@4x(D@Ba4vdoVw~U0(c4f4qNp-hB6DA3xf?dC#NQ^4n+p zFaNl|;O8$c#KtJp7p+-HtY)O`#slI4oeM2JMj3SW18eCXV{vELU>YVU>yRN_1zkFz zM))_}c3k@v2UN2XSG6mZqRBo|iJ=X^aXVgsz=^UqBjlo{RZLW@Jfvo4!GD@XH2CF$A|J*IQK6*J{9*n;3ptE*F^ii_S0{Y~Uo52L>w5 zrICR7&_UYUh`MU?i2e^n(!2Lr$c2C1QJqhJ`kTG|%e_7GgBS4jgO#t7cs79pFHX+W ze_$WQAv?M2H5^R@asqIDnH@O~pMCCT>fSGbjawvxkQ->C(CEjy6sco_qS&|Y8H2I& zf$=C>&kLExdaVkOmv}-R5XZqrn+xan4wCw$WhfV%bAis_(Kj z_GY7nE0@VbQkqP}f`=3bI!@W;3|*(?z)@9OVR9W4erxAT@Qcuw-(E(-)y-(QfAv)& ziUZP`bg^sjH{!7hIb2g8CmP_71qHNd?!Jk1P=~x`g|Fsk?~Q4FiE{LFE>r7X+Kw=Y z#0a^9SbTC1?mazj^HBfA{`}W_uiFPN+E1^R$DdffZjj!t96Mlu&c8P#>Ss57!me;4`MduU)-T4r4UvbL>r_Z-_OD6&JKcw)^Kkj3;4 zs$<;VPt`W;FnP}n*s4sOhI1?Cp6CJ4KIplimD8*%!HpDr74t#JK5N3sZHz5PbYv{x zwssi+`W_hC_l8f(@UTClrOhF#4HsUr;+Bs0i}?Qj!}rn4_8OE4;f$CEe~m z+P>5TI5{b*-#xa$WBAf4F3b~AXaXX3H9YPb4=TX^ z4kT53l*-`#!d&+A%2hmi@m}UCo`Xe0SN6q1Vz+JcrsuA9^x-RW{ z&cw70<+d<*vt~AQ!`M$De>yfO55m}qZe}x>2mncvnBE|<#j~gSS%$a4EvX;&IlXYa zd>u;GiQpROV`Fd8gQ(++b%rSUItpXO>63t!U|c!&DH@Hz0pUF^`j{S!1@R8UmL)f& zteyvZ;hCr}=fHlNU-Z#`k>y|RQ9vHOY`5RhZ!A2emH}m912=Q@e+K5bL;@Elv&y{G2vbhubB0FP=t*${wmmG{gFY75PXpcIsI4T9X8qB%LOz*@5U8&x~_> zsYs`x4S@+vw}h}6%lkGr zo1-fizA5PXWifc0v(a7)Lkm0)R@ZjUX{*$IF?bxJ<7nd^w#5TPx}|g$q<)ip8c;~9 zEz=@f+ovkrlf)PM>YknRCJ&>B*Ue~Z8;t?2C(F6ZFWE^v_? z15?~OnoU!k9T{WVO{X8pu@N`MezBY7Tzy^>cnH=rUd(6zwLXP?sIR!5r{_E3dnES< zui~qKex!k}kk={)$~=4FeO#*O`gNL8V;IJz(uQ&|?Q3GK*13%PH4YZEODFs?m|Hc{ z7QIVLgtH2Ce_p3$zJiwau~wKXFmW2USH!VW&d$D@!@OqrpBmCe$M5_ZR~&`gX$L6t zbpeU2m@);hU=HdcvaUtz*v)E?$lTr;v)-mbd2rgtI&O4;!V7Juo`~o3EpXu5Xy^Hq zbN5qy=<40RRORba7}w?)nQ>rJgciI)mnoF$7O?UJf3CG@o1CHnLqu=Yz<3q1&ZNLw zA4^|460LcRo5f;mY(x>XE2KgCWsXAc#N-h6a>Bdz?NeB-WS4{8F39;5kLHY8UHXQ= zwkIxBCT9@0CY@xgfqWpIfiU;-iH2LMV`$4w@`a}!yG+zwcA%`UKyDoN1crsuVCmb& zLbq+n5&!w?r~217pWb|a|MBTB_4k*LSpumAr=REkahE+>0+s>Gm(*GUqXDv)cv}LW zfBR#fK0kf!G=I6Vu3K0IQ|38)I#O zVkp!Dm*UWjnpc5Zy|vb!T~4%7J8v=e-(xd z&>ggf`-0mJ0IxchIu;U^F@`kdbljuPX)qP{wbMr5-A7vom^;j>hTzM$xC3%?>Z2F#HRKj5!8AMG zP93|z6$^O_g?6A~d&2-k#xqL$e{>sr%#d|>19Xf=B7UoKp^+jyg)V^0xd4nqTJBQU z;kg`ozI~vbceqQ}D&!1rKhSPldNSsR%Q)vgC_K(Hz$B%)tM{E8>JF<>tOn?>+YV_h z1Ur0qqSiXThp#lEvtxktJ|`e}KtE^-_bT#+zh`epRJ2w1af_7r<#%u2f4kj%sXlt) zej0}0_9x!ohHZ#57t*fRl{T5|W4f~;$=MevL4XNR4RFN4m}HJpXUCDS`P8*R{7ZJ( zV3TibXjo<%5H~?Hs$IDitwodO9#k zpj-|Ge*>t@x;@MM)0^+!z5jUcHTvjvyM5|@n}=gB0i{_Wh`!)dPnq}!7Mqi6cMy~J zqB!84!r>$`5`nsje}~w}s+bDA1_Q`phq&3MYJFQjc$%>_aR&j##~3PpRLKM9`xiI~ zAjhuRgdwB>4=KpzuC27V0}87ht8$?79IOQqfio`AdrP!id&fjAQu~_CtnZH6i*iaJ zCSKbqCSrlta;K%hy*x7&4%FL`+nXQ0eEi|d$M5me-SHJYe|Yg;V)&oO;=-vTLs}B< zhMUk8t0>HkC^0)q$RKLEqV9uAEdeWtZ^kKExHI)016#6-PV7ga6_Ddi=e8*rafTv4 z2dYrPvt___glIdruTs+>#jh(%1?ZkAWp5`RIu?Tyh*qr60~CD-Ej?{B0bh7(%o>1b z@5NIC*yUb>e|qEQxW^ymeu6>umabIHz&_0^kO9^#t#R9;`{kQYPk5W&OC>#c;aPB;S)!6J;FYr%<5ui6WDn4ef82BShN(AZrRbyvZdM7Qow7PO zrUXbhaZ!b<^%*n>Uu(~Ec8;^V2vHyShvK+Ft&b|GzpiNk+`D@X%GS^AxAb>!K0N{C z^YrH3r#E-SagScVm!r4#weCtXxNV3fCic_g3ZHuQfSzr^wJ~%tT=23`sy=$2g-f+S zOrqiaf2y1b-bkm}Sq-@>r&B11v-?r(tJ;Ol%OUer*g*GrKy|Z*nc?ct zhtrG;eE33#{pU|lf43j*-8VdX;a*bIp1-Kcf2MtI0_5xDoQ)V#bv>pv_Cl-QC(eb+ zN@GBcXmv0X9GFCtp9YrTfyh};j~E8q)g(-@d-%jQbcCFxy)u<1T?yXlY;fV;exM^! zO%B4=cLYwL1KGa?t>ZC7eQ>x0I0b{Z7KsqBf~s|;RSp^{rYBHe?mo0F_8Go-LLjs- zf5j*>SDYwdF6a$?D|qEPu)Q}Q=>PHOPw(G7efn(v_S-=9&H4M&-`;%w{{5HFPxx=| z^L-w@tgpp@w~ht~V+{#h-Do=8w2AA;0&>qb-ehQA_Ob@#g~bHJYLhj_O&;#(Fvz!a zj#LY!*{oKEs_MZb7W1i=Z45My@xP#+fA}nHybwQv-&|#2Gz>;J6ypkIx0ecc)Q8w@NP zBP!lQw)b}XH2#;j@6$eg|EC}7f8%#|4cQM~y_X%iucLC5M9sYKy3$dgqYDAjx_}#O zihx`|?9t#lYik+;l?_hRgTnk!^#4h4hYB(uY%(a$lw+78jAm&E&~HrF*ao#sYFr}3 zvKJSHjWiZ0?TYbuT<7|RshQ#)JjCI*KT{PYH2jqVH{7~Yd=mL1%+*AIZN0e&7fD9QV#Qk6yZ$xB6e_Z=J9?OkGK> zg4=|Y3CU7A!0*A*4V-qH+kgoiYiQ?vYH?4;v5{?tQ6I`EAHy>QTM3Gsz&-5U+S$BQ zhNfL;A->BRZBEGd_VqDE_&++1m`s?=}0E)KH_c75AUc1|e z@BX?KZg3n1gg$JwkfudRc&Mr^sgyo+Ui@Oh*S#ZK6&hfv2W-vAe`_4B+|XBoX_4S^ zyW+MSPHIL7do?_iqE-l$s7z^IM1ervZLSanbGXE$8q27~V*p_%!zytrK@d0M?F9p- z%3N!37){(14`^#va^djMxKS1QM_m>fCIe&=bHGutS{sFfi7l%j#B{;v*V{Aeud!SD z@C3Ekz00Ksuia}ie;SiBn#W#TG&lTO8FdBs{odsR}ITM$Kf4Kx_TZQ~-G>6V@Q9m=+ zRV=%`Ed2H7`j5{~*Jk)W`|zP_cl$m4c40Uc{6}!4kLc(r4D%d?ehTUu@Va;KTIWPI zm5{2sa^(R=tPCi6R_QKj2RNaTE>L#QahQu)9NcvD*qZRRB-tV9?V|Xtdf~dU^gRZ_ za0&g#!8TMue@gS(j0?A|^J1Cyp(|9bEcV2g59kNQ$1GQv-3(>&&PRrFHYD+UYGXBU z|4WP7Fl(@LC^tBRdhHhz)qk#cpWl3bb63gw=#_g76M>=LK_Z?fcSzt*bZgs?${TX^ zu^Eu&G-yuwOq`!Q)WCjnn#LCt2}vtY#BC43@TIs2f597%H!?Z3khg&$9>I7?Ad#jk z@rx-9>Jp704T&ag<#huO|Bo}Z&3;VO!?lcq?F`%qP8G~NCemGbJRv~A6Wa%li~XGC z*%kzPyjS^3-?DntHo3S?P-s)P9Qmyh^>6?6&-LkB)BKm8;`{o+?xNHlym~+FMhQ}9 z&o5Lke>Hft4#Jmd+Pa7a$Ol}%@-6Y`L*OzDfeiEHDG2zWMY6F0sl$hBL9QO4t~6z> z$_sw2r-0~o-OAvWE=9{TNnZz@?NWAf^s+Q*h{gRr;e}w%a4)9hAnS2#?##1)V@V7Vnc$GeV z`uz8|cfYHTUcA?awseGmeyuyGZbzc{XGUi}k$F@7rq*LjR{d<1zmq_!t*sLfg0 ze`#}#Vbo*vT|GRT3q0e_fU^VHj1GSp73zL_&I}2}K|KuOzJsGF6n)F)HtwliN9rDj zkwLqC`hF~n&rfgeM$aC+ayNLq_2WmHOJX-9#@m2FfO;+^6^<1g(*&BO-2qy-aFGf; zjF<9;5D1B|1~_vUQg34dRxu(yu8qj9f1?$+VV!3Ts;(VFB_!I{&^FtPAPY8t#Qmg2 z5Q;FUigTrHA3^=Yu_b^vbS?V~p+&Y*cCgMWB; z3!r3}iy$I^IE_7rK^aciylakJe{j3g*+j5$j?}fzirbA6xT>6}apRK6K<1gq59Po; zkz?qH|4jj8d29_O7PM^EG8*YbjxXc_TmW0#)>l*9m>OIRn|FC{TK?eWduh~ozDv zVsTmRvdzScs3!n|na&MLl8v!{lz0zE;g-xzK^6iyMX)ctTGoC=jIO8x#JIP&NmOec z14jwuX2xGmPzBD_;UmK9WROZ->Vg8o!3op0m1nW7t+@45Fo_2;rRKXWDsDdEGn;^T z;43o|g8OMyik)v-t2KH5e+cIJ^`Ae!$?xiK_4e(zyTVWP`Bfy(qgU}I@ZqcX5f*Xo zUbOStpL8g<34}OdPh$oL7fh;!s|=u1C;VOjlJ5zHL2d0D>5X;@$sZiJ@pMTB63)Fr zcu;M7#?dU$!^#4h0&Oq6a{C-#=HiPAqnMtAMDyYuh)%ljY0;Fxe_=A&A}J{CBG4W< z1oVMUVTbDgqf;<2=#XCRPn+51!K8eQ%@diwuGEm{he=TeMSK0z{r#u+Up_|tU>}|U z>A6Qsd-Ph~?4dBY`3epQxv<*6D2&rKwa(RnV;gy7)~g{S z15ogJ{X_ok=Z_Zk^n-o)@aEmU+WDhb@|FzV{v^+trc>K6f75Dv88ot2DPW*NLO=(i z2XRU;`agI{;mE&%{>AKKRl~PImTWZoyE(3M)|e+}19h}JcI(n%m*@jrWTq)F!TCYA z(e;H!5ZcpafhqKwp*XfBsv3-ul^tN25ix9HeQ&3=!34+Q5j!w*o(MJJ_oNGeT5J1Q zYmIeK&{s2=f8>GzU)Me1jbF!<*q6-H?Y4LR8+-Tnrw_bianALFd@F{0% zNo)ki&WSd{Npt|JL$u_@9YuHa@Xc{*-NL2n2PQH(e=;eBhxx7pwK#UdK0#A21dB#zSpc97&9wNo(0P-Rv`Q3aq~sEF5l?w&+2XRTrKo68Daoj#<(THenjf%jF!!$ zbu<$?f6BT*>&C@78Dr(C8Z+7+=*#CdHlCa6wsU@(5b+AY)VCfz_>DFkO!2u{g2*yExfcA4-e^<+W?{kLuhTgRBCE0r>>iP-?93JX4 zbOzDvdRP|N^a}PQW=Dw26)%A5mW3Clh5$P2rhXZH817U%fEd0ML^j%IHlX}^7%ki} zbw%F+Q<>6i|+J2ft4o8|D zf8i3Gh3BUHQHlO<|Mc#|5ApWRH=K)oSMTl#avr^UuW6U((v`)KkfUf+PA&TkP42Nf zlA3{|2ObFyo*OnaIqbMvT5iHgD>}^!-A71eOyDmVS*@8ik~oh*fXF)NK zY3vLl+5T+zY6)8CP+_yD%M4OC3U21!XLd`~j5ztu)74`AS8(i8- zxXMk2QsCHwaM4B~G+XXn)OSa^s1&M4$Z&6QF5iFt{NcIm`1GlMuy>!|#JxMHN3Y_` zfazDERX9pnGYr`pQyBMF|AUxi;&H z1W+GW^L<-3kob;4m3YzXoUFTBgNtw74gerv<=#(0XKtr@6}oH-^@M@c9cYvi9Z`b5 zVbFB&GB%GKUX;iQI|kCi(2%S4z6a>7bit*$r{yG@C-8kfg<}&Y0xljcf8utk^Q$+X zp5EFIo_24y^x&m?EkwFDra#;Eshk^mu!~6&FvrVI;D;d&7TFljQ#}L82-RxZh{E=X zJA$%>By7*DA~E*?ijLFRK+u7>xTMvhUVU~<$AGawNAY(48e=x`=D1xE?t=@WbdX@{ zO08XCGnDexqu1}{_f?-u8=2JF0A7_F?KGSwn)2EjJq%l}$w)1O z%#|)}15P$qk<1CZe{j@Xs<@F?5Kj--^oNZUw_t$um4dGkJpvBoq1T?S(Zv3fZYh;9 z;SwD9)t|M7h;8dg{!kl`5GdLjMu>^J@j*TWpE@Gf9z?l7t~x$2;RF&!D%qzA?t?W! zA=H!X0|LT!fHb9xy|vxVZV>g|0L-lLcBf8}NI^Cc5@{NS6;m(U<^>8AML2fj_@68C}qa0L#5a z3KbZey=*lF2yWc&hJQvgyGO6wYxL0$|D9kkov^PHL|e0lHe%p;Pd{q|M=evDH;5T) z@8t+;z)XtAe;DKT_CO?1d&1l@M~1_jyte_k15KwG&LDI!BA$2yHnbaG^jmFW03uVW zAV9?}aoZu&`{8Yf@98?>6GHe*+^L=gc~Jm&EqzRFhp~Jc;1)vey0h7)jT&hItj5QH zXULw#tuaaVS;V**{*mYXV+8SCefR$Jn^&U3k6ydme+c5YWYdg_ZLJzv&h6^1+k9Q^ zHHd{7$PMfYFvX-x0g!?AOIuUX`ay}y+F;Uy<7BaVLpmw^dfPBhAW;$UK@BdaW^f8d zjfZL6w&noCMSLOQCAvm+yVt0ZaA(fFM&rDip>k2YPYR}(IrT_QM4$F>%s2z*y_2Ye z_wGase?j`q9SCo{)`q!g@@c)u{0xr9=(pZ}OFw*kA5U-J-@Dy^^vb;!K^$k7;9G8d z4p`BVW&@@Iv3_O8GuKp*gmAkGdeH6>Q+5XecWMKyW7P&Sv~o|wky{lC;bRlHe88=) z=1WWE#rP9ZsS#c-FXVx~Y-3NqI4^moFuOFge_QaCY-zQ4p%z#`f?$6^#o(AX8qEh- z%ESq+)ryU8C+2lhEB0zW;l$CvXB)#6I+_D$ov)L-*?O@B{_WR`{il!h`7S5z(aZOm zXKoYjwufn~x@wpMT>5GUX(0Ub`^kQ!FT|743P-ShUJW(^a&BA{$uW4lQ4Xcc5UoJ< zeUrKl4+6Qw&2(Gq zq#numeQi6P1dC!mAV{*st*MjSAyiu4hMF9L=`d^|FOaH{ z;mj&a@t+_#+u-dI_?m`}(`XzFe@;&mL&*J9f`#OkIv2n_tTm@t;ckD%inJ~XK_n(v zz<rHDxD846Ol(f1wFABMZsx z5vH^4Vf$H000uU7pth&r)*jbE0h9Tf&I+CUxV~~2cC~q^yaRmAr(D5cmLAjsq^mK| z7!D+gB-`41=^Q@#meXnWE{+;xpSK&{Uw{*F7xet#WqU20h6bpcN+LnEX<-kJ;1>*B ziQhXu!l)fIAg(X@Ob1^x<*eyjW7e)i-n`~m|&$781w`+7PvWWG9asx z&Xbp|+gB*I_HbHs`26<3dva_9SQc~_!!RC4q%e`(=9Fr>+Un6(wWMowJeGpqvLc#! zv4+mJHtwGU(vg;+U^h#Oh2MA3Rw#5+0Pb*m-}~V&-#y{Ed+$j4f9R!qd4Kf$4R!W| z{vD_EdJu)Zv zMRP0ieDiQ59H0YgvcjvbEpzr4uhIYV<-EU_OM394 z-F}$gbQrxB0Bb4hD(O`}(ZF46A%rhS`C46Rg;1goyz21qZX^Bl*`T>>K#R9aVc}6& zC4wYzhc!`xKZtN4j|;shHgatEHq!T`FTS6pk!;xQJBGtZf1&X~2C#`%`f&<%!%I_B z+e!Q(DWTEc=q-bm?Yos#ZBK)En!LN_B*0pv1WvCWIXAbtL&GGlj{XKZ>6X>~>+{w= zzls)p^xD0=xPQI{MEaDR1jgn>FjLEV!wg>bf>M%UQb!%sxt(NSYcH1vx$weV-;8B> zALZQ}ROQBWf1|J&*AOMD^Mn#clxWy9Oqxj*i@>3t8_2%fd4W;)=!Y4dYFkA}cVLr3Rkx zi<$U8+sE%d*vGp$vq!JoYX?yb3s(y#MRR*4Q5uUle@$AofZ)p!qeTX#Hw;1g>DM7x z1}?ih2$~=lU`!1jPQopLF4#Of&s+xN_>K!mGxrRy*-W=%hf*)zqK4UJfnZ^S4)#AZ zSg*QyhodoUEr(`kRGU4oef~HTEe(zT(wEp7*N^$S+%B3E>fG@X4^SR_WdPkd~00=T-8w{Ud0kQ}B z_u9Y~Q$qz{^yE2!J(&?sz3_i(XI{NvG#n17n6#D9!fS&UZt@JXhrN9FAq&2V0sY8y z2ax)Oy9TLA?2IhojR?Fya1gk0~J?kSGjCZo1m^)n~>^-p*oveU%(9WzD^gazAuZ>OPYY4}CRvILK%pJc-G)C!_dCx%zeYbGBc)CNHTPhtSf73YoY7 zx9(#7N``{@O;jKk_O@g+n5syLsRU*lIgB^~bY1ue;3If(y$jOaU+UgH;Goic^1Vna*2f68>$u-eOg0L7r7!!6KaR?R`Qs0J80-aF(5 zt;yJzhfR0D#?})vr-N@wqI^3S--cGIA!1WKB9g&*Kyt&-k1FT~*r{y+;15*bndmn* z!*(}eTjEZ*qu0F&-oFWvD&aB|VZGwW+Or!bTFp56YCQY(<7=Pi6u%h4{QlGTf93Y> zyQg^n!w+`1I`!xUd@VgV)FG&%zT5V>fX|OQ%A=RdQVE(8=xCw7yB=qI8F$Zol z0Ds)Dh`>xh10mzBni!BEW_)Pls8`EGdsmx*Y?Pl4qc75s(CJl&Q?tDgf7Se~kO7Zg zyjPKw7w=qR$h=r=8*QBvI0=T76GAgJEF#9CcGgZ#2pBwb9A{t>PqbbhP>BQlJ}pui z2s*C-Kyp}1xQiulLLrd&Am6DItKFVv24ZD_W497D_L%rW>N%rf=urn3abxx2SC2$f z;0%FSN)#EcgU!_G(SamIf5;Z+gzE)-Hn1RhWFBSs>baxL-S^oI%GHbdef#kJ-KQ@f zV4wf=6z|{Ooq|7l{ce*D-#%Brwp%lZhbv%P=(B5%r3+)p*%DJEX7Fd39E&;xHm+!a zbH&gEQ?Cq1uamiFp{9i!AZ*Po0m?C$g{BTTm3Vez_#$wa^cN@yf0wa$!>OQ?q=gK< z{#7TdHPe|*hvI7|=5us>Ac8L^=3BFfvLVise#DrBEh^eL-BZyMggg<6CeY4X+m+id z;4W&+yY{Uw;WuyJhkdS#3w-xH^Vr3ENzD2RdPZq*wJ}lNJyRg+LEUccKskM0TnrF( zkvZ?k{4aEZ4_MO}e>t3n=#+6F{xp&-ivj?}QLyr{K>-e{*2J~E^9-(9<{eq7xo*jJ zxJxt{IcN7#BgZ@_{OtpJk$2rH=iLE=FSvW^DT%eX20akmqOxY6~Icz{Fhl4(1 zkqf>y-n5{3xwT7mgjTf^h;^;o@^*S3t9l#BsBM;klW=68>I=}vnx|c*DPrIZ1JufK zmFumC@&uIKe`TNod0;t5vTxw2tAGhBw1I^0`tp7DExr5KA3oOGFIi7_^bfbmK|5t(4RI%8M$$+3T^%U46Q`MU4C^;y<7bbGa-Oa=dyJai(b;!H z{>hIFf7)9oA~}KP!sTySbLOt8;DE|#4CcaG4HeuM!QMXR%IQ$#A^nPPSIn_D5R8tq z3SP6W%Otx7pkRPSoOHEAg@X%bjGmK#yUWdjjVM^cP4O1RxD=;{=Gu-(mGTuDjpqI|MY{V=y^cpT<&q7@Xh_@WF;eSq~t_XM2*yYX< zX#B9e00dm#Zxu0jO*GM1>J&eSGtxdPlfTsp!jgm_3f5KIayZEqqZ zf8x5q(y9&NY>;$<@`=xKB8tulnQrM$`}PR_x8HvMgW9o&I)NiKB7{QdfA&2K^EZJEh#(LC;Oj&%9=S-0E$upq zP`97wVoINcDF6e$+^1+XM&%J#Glx?3^o-eYf0w-{O6NcVDh!Ev(JhhxI&8Pkd@ zmwTbmM=#s$wyAyVMInS*s14z@uBR_NEqW{9Z+2@oq?mDG)kaOVbVazN3tX8Tf2A<{ zAUm`Xi-PBL!#2pd_Qr0`96d8$j4SmvTZh?Tz$AOhwBH_Zeoo--M=#yW$?9`;WlutM~>{s@krJPtCRx9`_d z5AJ7bhkBIE9eO6!4)H;rWrQG5KbLjsD0aI&CZg>}I&B z2Ms%gKdL0oH&Po&jlQ-=Hl-IcoB!?lVDHLL?%hp1cr9PM>_4!n)B$I=GhWUc4);xS zdFM@o$1ull+|}!?&eFjnPLQZ3Hso%V*=Ww18qOEr7k4`VWRuBp9dLTPl5DxgCPm%z zv}rQv_HIJZFrLH%RMte078dAV(}+cxK6L}AJF)*kS`VHR=LwmYZ-oLGe>jF5fHAdZ zgu>iPywzmgUiSa%^T&JbnVvp>w7=H!=oY<9v&xs+eVHG^Oz z2d=&rx0u-|cT)@iDVT`*!8*^`Gof8NjyN5}L&w(w4JEtr6uu7YL3I=^Mw)m!N#0%) zGeh48-Alq;N(6udX5>+`f6uD5recmN$tcHM&9+w3-9>}J!4dVU$i~pFHr(c<3OTvS z+89|nlkMEAV=g^$j?BiZg>6~4lk|W3^6|~npYPgNAG~faD>cuXVeGgP_sYvqS*a6! zvg3Ze`U02$@W)8VCHO?-)qGb+*bjlLgG2hVbrEEuqq}!n!2405f9U%k6j$Uw1dyNvB{YcNSH)&La)1^ui{n}upa@=Qg^ag2t~_#8CLG_|)yYrrs#L9NMrp%(kf;JNqseelA4`#}GI5A^^3 zzy5fQ(f{~={_#1Rf2ITx!GvFLj85lbK-Pfbw>HCI+r;NJsZdOjdR0k`R(1A1n%Ed5 zq)=1AMO_Dv|29ML*nujdl{aFb6#;-MK7BB}d3u_AyS;b%88uWNy>c%bs?TxY1Y~;V zCS~n8;Tc%d80SAAl#$u8XYVg=&0(~{WQ1dRlY|kut=j^|AD(wgPk(!ppTB>K zyN}>Uui&>&fA)XHC;Oj&-hcm3701>)o@gmymzAtZA)^}yJ~m#=a{%(lBdP5g)WAmH z-Mq_oWA6z`JI6KHM4`kx__@)Bb4P(1fb9#*fEztoCTA^lUl#GQ^8%l>(HR3Ew&S5{ zu(&}@lZtx%f$O*!)HE7${G9E~H5g9e2+uBkB0OZpe`B;PLqn2)MYGQ8WA2T|^r6{X z#GLH7((tl@v5VC0?&)9t^RnH$SbXs6-DcH(tY;Vt3_inWPDmg^0q|)8s2uc1>)Lw2 z+gqGM_zI!z8FYdr7#ArEmUcl0eCeFpVWW|Tdo-BI`wAA6gCUJTv9rLHU+H6n++I1s z5+ObZe zo`mEJtlB;L>7BY!Kk)5|q60JQ+!}6v_YZ5)D_`A5uiv-N^?&*H)qVbH|NTEnj7S9% zmf0n@)tGI0L9BNHSIq&PTeYF%nlWe{_2=$Hf9AkGJ+EK;rMUNwzCp+Z4hfLAu6pW> zhE5k^&Rt-?uDy`dZ}=!H`1bkyvl3H1dhK4mbH4&A0WsJU5L5i&ph}Xq8#GA0D|b5< z*W9tDxik=39R{IE_*+DLjN|3AA&DiEWb`=gQXdw?;9CgsQDlRzcs^Q!roBLTbQ-4*swOe#Joqh#IXb;zTrl+nfyRW2SyXW!0r(O$ zw$i{OMa!vEagSpZB+}041e|I2NiX{5fBR_v!*A`Qm+#xh`mgv{fBa$p{rZ5v1{3+H zNIwhByC$2L^|?B-MAt^IT6K1Ic)~HBe_DO56Dvb>f=&35Ov>I*m3=w%%rl-BYeuMAP0a@SZv*J8|B#Ew~a0ylf8~D$#B4;Yz3s z#>(zzwb>6^Fs9v08VxAM`C!#K5l0>kGZu_u@MLqmY>zekri^-Vn*G&}Yj!W3fB4{~ z`{{Rf{g`)ZM|lV18P^Z)Ia(c}4i#E38qX&dS_A#6Dj?`l7n{#VKWdnWS>L&fXF#b0 z{Ltdyy|ek+9S=?~ngF^$MZcE=25fG;afI5^6eXRv*H1iSz=TP-<4+AR6AZlMMs4?H zh%3-x)^Yg6WZc$G2f%qEa+GsWZkrZJ8-J65yM!x>)dl-zZ)Z}2NW3qW4Ol-zDVe0_ zs;zx16K){9+qu-KLq@mL;jtJ<>^A&# zeWvZ4Tv2kA5k;6NK>=Ceb^?C3t=Q)Puswzzvo+8^YG%{6Ed^_AVTx(hV}JRg)trE82V54z@fc&rvDN})7Tf9QI2Hq2MP-9; zh1vgHA3t87>AkP*gIDggp?jZ)@#r#)iO5nK3*vhRCdJmUb*EC@fn6(5QX>%!-EB+v zf#N>GK3Q$(-fecpJQ)#)W-)j#t{x_*)*=>TlWg0xW8C3hblYYgofi*wt$z#inPCq4 zFT+cFz&uH?2qW59=$6%Nn2Ge#1&4iSZ8`v-;N^leN;U0*09<&cqkuXA4P9=-foIz8 znLryIFqO`2V(}NRA$uOZY_~}n{&r8X)rY#q0k+873Oe1XPsQ&o+w{!6=(GVfdxy=^ zwC{nx@^thKJ7XJnTFc%qet$Eyc6@LO3gd`hf?Vy)jits)ydfvpQCk5{zn$b&?}eU` zZLtymA9ZiHELm<`Y1&MaYKfFIlyzIry?C8v4mjN5n746vILJdKGqdxjDC#k$XWn;g z?UR|+j1#BlGOA2wx*&^HS%`?e0moY3=iXK)U(Z{{01V=&1j>`w6n`;dApM0Y{LEub zC;mciXm?}x(rU;-3D3K73a)Yko)JAmCOT`1;eV{nyF%9YU+BO7v-_t%e);_V(;q+j z=RZDu-$=dxxZhwmbysu$*p+-4UHocVo-rCMA|ws*DPl+Hc0~?^t?G1eKw(h>Km&Vy z?neT1adoC4v_V_GY=2A;`;?X|BGfE{CsO&9XUS@QihyLn6xA4~v&5p_Uc&e2bfHf6 z3CT8uy272vpt|;KiUVCzpKZDFDZqrsCItI)_0pzoCtPd@O|?7~~;}JBq-`0=y?$aMX*VDav^P^Yr<;zu{?*>o+ z>20^dU6{b1So@W6% zUq}f?DC<dNlNK(QuTp)#cdL6PC zLNXZvgU#|0cw?R`N0QlA?Pxjn+WoA6h5-Fw)=mc{iKg8&bu^&Bx$mV-kLV>~-fL&< zv?b3`r+>8sXko}y7dOC>0OA^SSZ=q#|Maa4`)X_b!OQm=?Hhz_aL;Rlk%H0$%}QOf zCoV;N0LeD;NSW(}h(w`xUg9tIvv6vpeu0pwEpYUyX{CFJbaL~<6s5pB4B9Is_kgGd zmmw-IuJN$HWZs?4@;HJ7C-8pMJ|ZK*0}R;X1%KvjP>raSWEslsyg%cT^0NMPnqhd3CCSNlUvnb+kT-LI3cikqj4D8$i)R zDt|>Acrh?9blzUq(HIt(|5(REbz>V5YVfV`#=M}6*^R&h?gwL53jl*HR-f1r#{{#p zPkgy)26Hgbpuocrc$3%)`vkyC=Sgj_fbFHxW{2PJrRF~0@B0S1N3YzAlg$t9d7C6% zGRqJu$K{wMqZ!?`AbxQHo^E>TQ6eiY$u@AFhFS)QXuk!dmJ^e@BgMSb_ zdi`GGsm-3Ftcta*>BzbcsLIySwX-wxTAhwh1d{r)x9vxPc-TvsR19Z2onlx z62rjQ7<~sUZ3c6N`#c3FgYVWBa)00;KOZrsp|s7s7qsh>BwU(@_n3`PW!D$DCVZ~{ z@%Ab1{Zt>ka<>oPZ@21lA?JE2N@8_n7;sg528h(F4X6S7aGa+@d9j3`8H|aXbUxD> z^%?>JR-ZW_Htry#PSB@vha7Xv!n&gHkHY5xl=*0L&eLwUNRToCV9yiAM1P;tRz(Z5 zQZ~iLsU1|h6M>ju2{4hMv}D&ceBjlK!9Gat7e%HIlCzF)Ew;0hczX`Ds2U6LIO1&w z=iC*;Ze!yAbT!rAo(ge(?xLgZ?bsIjv-rzJDR2s5N)nkj~7x!gi0Lwg8ReDQ94&N4o=21AN@A5xqD^ zw7@0^)i)Yt)S!M7Ttr`F26*6U;F@jq3?DIjDE7aX;2sQSy6WJ0+#7H(95x0H3jyt# z=_;9^u^Y^g7EhuFo<*HIx)1oNfc8BRW@>ZkS%74nAq>ZQ^iJ{O(fgZx|1SMA{K@yqIS*dDZ=dNu z;4`J4{9=QI9JjM$O;-5vXtmRZ4Ald6396(VfGYdm&5!ulbNA#pGnyLC53MCLkO@G0 zY&a7$x>Q0++JE=TS=}O$Lc;eDm((X^;EaF!Hr)-<#zhWm_*q5NV+%yJK02C)nB&** z!Wif@UWgm)MKc8PA+k8?uBy@$M^r#rb^>z9)*VBn7=biB1W^(L6r_SeC=isoo%j9= zgn*ymPX715zIn~w`RFBlEytviO9=Nnt+!-B1etxFHGhl_UR$H zPIE>`axBfnE_MnL=Cy#nB1DKJ2!5*3htJcLdv`BG*V_l0ci8sk!DkCfp6_;1BWE8t z@N~TS+<%n2-)7VP;qAvSufk^^y>xdh3t#hw6aCvk{oqeFH&BTkV`tPEnqgPhl&B%h zx!Rd?Wy@%Dqr*Qi*VNz?9F?UQ)iEIk#0JxXc?$Sr#(Utpa76!a9ZqU^{K1%a`*TIY zeP&K$sD)2A+=9}!xdsnK+6#d5YM3lIPaU2qu+zsgZ(g|7{?V%x{ zFcj{R$+NeMMz=XT!m8&gZY@D6u>utlgPxfC!YwuUqR90@J$h`Ts8|P)1&B&EB~>fs z41b$-B5rTq;I@!c>Qwkgc$o9SR4>pQGX-x2Df#0IjRrr0Xf88tp`MBgyLH%Q3i&1+ z>cnf9c_uO;cwjm-L3p~sW}l^C62zVmpZ41)@js$Lmv1h%@LdqsgIDi%^7}p6FA6^< z-s%`ffpw4k7e8kfO_voq;y*t-rG!4Dzf_!0{Lkt4W*5=4~0axp7eBpXD100v)I0W)6hk z3CtDzRBd+ee5J%!=Ej|AO*GbRH0p*}u8<_8dW!%?f@d*Gxn6W%fA#0LZ|?;l9)G=R zFK@@cUeB0M_TID~kYgI@nFsISp z+8DODfcb6GXh-QbLBKb=c1$rRSgizN^Doq&@#tlH35b6FIQ!A_V9OJa9q!3ttr zKYO8Mf14`IJRtVaGHbP3(P|LE#DTRE@Qx-RZsEPO@ztjVxy{todK9V=YiW|x2)h`0 zcvkmBt{Oj3poa0g7prMQ&901hH!&6E9WN+({~3J#&v&Q2k6yT!Puul8a(@_(n{{;D z*CJGvP!J3tqM~>nOuKdOSuwIB`^F$7EDmGp+EHFaMyF8c0R&qOn1hmvrbqh zG6pjJ_@@XI%cFOtUOSOggMZIKeb2pouK{(zz%B&^?<=)*`?USH`s%GBNF+sLY+nl>RHB3umw!UT_8N}9!#cQ= zWSh9MLNy~AetUBUYgOU9J!FaUntK#ja|7>AN9j@Xw2?Lk>SjAnR)222+dxF;> z=OFqvR%M**Wa!VkwttvF9Lz|bvL$RyE)2%PbU}_lqPI~bypxbN*@as++&JRTw>C*Z z<44hUAUdF-Aj}3gN;Hc2n840xQ%WInF9XY+7B%e(U_)a#$1v~4i_5Ce;$JpkV=y>a z{Yc*GQ2wqyefU^+$AJ%Cx4->7*AMy)9*oj`Did9NOqeNv&VS~(7zPC#4PMOxJej!# zqLwvJ!{DkN#H#_hz;$F#v{ zc&wc;@>qvp8-IaNuWNh3{P@SGKZ70o=6tNX2J=U+-phCB*ZP~CSY@*&AB58|FW1%A zkZn3TgiYY$)`{+TR|Q0~!-8=?=&NNefv$TlLv=b?5fO4UK(%%7SP0i29WRO232pIp zAk3_QdjEo-2(P&jm>SdUuyL`{+e{4aL+B zYDZIQG#3d*x6M8vH-K7uf|$C2KB9dlL~g*6M1#>dJa~p+ zhPlU4Er04@v&ue1=GaQ??MPs~i1)VP#$jy7g$@9-y*#Pp$ZR|}%A1|Qo%%3nM0>@`sB1%JW~Y4)XAJm8~l{UDVwIY(_lxnvr*)QarIIbxnkBk;%Gce%NB2WMBqb4v{@OcKF*(Wn=DLLM__r z;AsHEFa!5+)fDwp>l%n5wWbOkm#wLshyh2=(*U*-%u9>=0=jwh%P0dbbJ8Y%f#t71 zzkmPJ>z12GFW$>p;Mcm_86bykT1Y$FRRHwFs5z{p2kwGSaF5gMl;H&hH=p~Eszg%2 zk&A5$qKG2}6^~|bAky@;`*NSuC{qDA-ii(RnGhqy={#=JNI=%%KAh36fZ_>eVXOeY z^90S4B!VI$t!5WPgk=GXZUfy-MgN}LXn#8NYzU~u3&$Y4nxJMt4rX7W6T=J^M=`C! zz@bRx+gafM`Sj_{`SSMdSM108U2i_Tf4V#Dee^=U76=8n9{%l_d+j|cdsbct-Vu&j zjOYxAMApn*f=hg`cN@|nL4c4&Eg29+I9^=p<>eU)h#8^)HAvT(*ziGV*;-#H41b+q zfc|c;-BuV5bV%0$xU@Gp2Ljv!m2*GfSB_*y9u$ao9*O>2D0W#J)Jq>QP>(ohvtZ`3 znoQVezzJ1DVzV~%T_Qs)6{xCJK;(6Lk@NlM@=u@r)04k@4f*lt^}Ee)_wPQ99XL1} zq8y3g3?Bg*1Dm>e6t zcX#Mhld#p3f}JGRfCKdx{WN~`;@zHezR}VE)!l8OrfpIbTMDC44BG}q>Cmz8?CM}g zCSZ`~5U;(GWv&E81`o}I3@B>mpygEqW?LK~4Aei6HDxsRPL64GgKI(ur+?Tj$K{u0 zzIpWGy_!xk>1d3t*2iqP2cnGuRSY=xCI(x25E6jrs;L2(xi<(IZLEoi5T6E5CU3MS z$J&_I3|ZP_iQ}SVRaFG|gnf)QrS-nOAN)gJSRa33$fZZG-fKRi#v&zwjA|h^NGKzbi!koVtqSJSvY3P zWXv$l+g|NOLG>5K<9YPjy{f&L7gkO202fa_z=mVe1GcHsLo4dK;DY`t9rU^jBg+60iw5{9w`tZpaXFrU;hKIN7Zxvc@@HNI+^ptgq#?$RkQy{}L#dH{ zcJ>pwN&IN=7=QhWb0LgmI3yuwfVqE&CXa?J%55kGbi_Ct+2MhGD{n}WapVcUK_rlu+gs|>$gABgj32fbPG8M9r^ZYKDb)V zi4oioD4AOC(B@@p@2*P0e$H3rkYHMmK<1YkU6cr-Lwuyl0M5_U(_)@f3JlQ*L z=6Bj{*W$O=bxnLZ=WcfJ(Tn#t(R}{?GIex#w|}kEJR5kn29Gd9TRKnH?q}oz#hz4v z!A=aaQ6owfM9i!DQpIqNqUKs-^p@IvAzHA92o7*^APwqhYx`JYSivUSsJm7-0qD@2RQFIIEVspN`zGW zTs+IW!%sI4z(qvTA(svi*wC{Em>Qax#mrN&hd~#qbyW1!(0gu}u0t!MK?BaaW`XG~ zPM5dI?YbnE0)g;e+ZL`tgLe*e-?0;h)_)Ol%W$M|7btybNia`9cb4gqmT5IWxtdSDO**34h!+&$G zE>_|VcIWJ-*PRGarA)ip4t^5gF0CREe2@p)4M?d zwOWBq;uw_%?o8os@=^Uj!Z2ZO>Z`arHciW5#yru>(3^@7N{`z*)NjwHH~$Ob{-YP~ zwVN3m>L|lbkowO+r-S=!X9uc$(?-H+a5;NRjp>uAjgs4Q>3^?3ywXE`^s>En z9|O2uE1A>wiBidl_GFF#aY8LIo*RJ}227EW#S7L*sg7wg25nN_2dcgRs^fE%o4U+L|RV1-YDD@Qo|Oj=hs_V0Y(C zbh@t)vIL)VYA8B}=s?7vs~{)@zuib^Ec!O>Hv5YZ;hA1XXn%sLl55zSjgKvmagaEv zn*Gp%(PECS9;fw&^3zC@ehO20Bn)lgCM4i>QH1l*Q(i6&Slrf}CdpKap^nQc^0bPUc!>YmpAzP=4?m|E6Yiyl{4pA=R z#)gLMq>yuZLVsTt?1`C~i48LS= zau|0qKrEmoDmpcNXx?V>|LKE&taqQ^{Q3R<^7d}A_~Wd z269#2JTbZ4eEWNyAV50TUY-Q9(L{mIB_&!&#|Yo3ru4MqgJQQrieSQc?7~|Td)S;6 zpr#^nxqn^p$_=!6*E+Ry1pa9F+pD3HQfJTB8jANXu4BGI^Uufkf4&!7dGPAJ_D-cH z^PpDexT|s=<3cOh?uqAA^})lc>p4Y}4-B8X7h;TpCdZk*1r!qk?&IQ23_`1&XqPc~d+F7cS}a_Q(30t0Dd-{H}`g z(QEf|j`aLyO_pjl_r`(EM<1Z??`4hg7~dH{w$JI{2n`*bDP_tD>j+QxMS^Pc0THFf zqJNeJzyv$)MHs=#BNMm^ClbQ`J|x5}pngFW-%8FIWiWvQv=A^y4{+13pYiH@aM#l-YVLw_@tEF9 zrG9-80PgLS9=vR~rx^Rz`UiU?$*p=#+kYrf=0Nk4hbuS{btU&~Wd;pAE_A@(>OO{b zLFFB4h#pT zy_srqki|mjVC#lElc@%rh-0_yn4-+rt{>^{?QeW=<5}=3;Zvb;^r$(is>d+#NC3q(w>`p*b(J5pv>_U1<$LX2}$Ybd* zp1VYw8HJ@j)&*MGgA`Ou2qQYocV=T}mXBnkBEoHXKpmt9rdrc@7x1;+FBsQ2 zl-t}|0ZjWr7OIKC@_7uq&FMramprWk8GnvMZQ9-#dhBq%2vE~QtoN|OukhkV-lkTr zDtIGUz!2`}h8xnU1@xy_N6cZc#?qBGuTy#hV{t{RrpBe#rQF8?FclkPV`QI|d7Lx% z^e)6Aj*(UEz*2#c0!q06%5eK@{d%nV^!Cd=PTivy@6}yW5lMhU0xG#G3_gh+=zqXg z;wZH(&8O^faC57m<4%|%Vc*7|6*s}VVJd*ar$HYpba)=1i#qvHOmDi0BcXwp&Pejs zg4c??y=NN-UdF8}0OWItxyg_zK@!@aWuzk@a`s7JyY4eR8+W(i%+n4iCqaGsif2@^ z!gE3_Cv!?8AWq1t#XhKy)9MTyQGd-`;EvvMlG5M4{q*$tZo2HzOZVFEG<2WttrYKG zo=JF?16nX4)@a)0;NlBsWkNj~I4R@czzS&koV<6$?BGhrrWMq2k0m9&UGzsVy}FN6 zyj9)TSWR4~7<7}j$CYiYOEk04Dz=fG-V#ecCGX0}qfFdZb-|cvo90>Q)I+LFXQLIID_(4TkpbQNW8J-&dGy-drts+p z`QA&dqSIGZJkyr~48uJOXqcFXVhB#cLlABxZ-C4i0J}2|770amlsz!6goz1P^Ux9F zPX83zh85-@-X0}HQr&<@4}a%Qx6fW2LlD~8ZBcR$lmQJ_k-d)|EZFjlxob=%0Hikl zutMIvxY>cEny?uOr|lOEWuaWcFqZf^2`~qCsRSIJ*)b^OTa!R^Y4zLB^dCR{**|`M zJ>&4`)q828|JrmL0QMc=&uladDNY%T%pkll0(b4;N)}GUSiX>g<9}r#sbQ09w4)gAVd4KTYy*5pPsRf0AgA#@foQ2^cD*!HclZnU^%WQ!Pc7x~}S!m-^ zO|It&1Y4xE1TUpE697wFF30A8y!8rHsm$ou6ac_xU3U5skW+7G`3Mfofy+X{OktyP z(l=vm7=V@u)kuLNskW-oL{%HG$&AE?8H`*T%}(oy(HbNNTYm(bpvLLgkMQQAW;>~N zolAr{ko4&>$L$&Q@1NeCw@-igZc+GB%Z92iPKB4L_~j@1$NKnmmjv+WmHYOI{u-a?w>$AtD3{uF9w=J@ zD2m`LW>$jIvx9;$reVldkxLy{&jU$uEm&bnN%+gtB!4`4mYLIsS$`e zqaQ5;i4Jv%K2=G!F9xk_#+HVQ=-Cq|Qv%Tr#ZJ17IQ#?d#Q*G{^X?P(!AtiV*I^O| zvg@cU=YQNT(OaQCeZWcun(x|YFW@827Nu1V$WO1?${8Yru^Tw^Bi( zwsCFA(@HjO!dmEFeRQe?N^-skX{XADXa~>JoG3xzeCHS5N)Sd+I3n7vg$qagNn*8Q zlt*&v7BdP21+W#lh>baBE;sbaW&>w3&_nGNynl%Z5(JwC7DlZ#ZiDx~djBr(`eh!x zYPU~Y{$BsbC6Tuyn1{ylq2z8IYAvX#R!2i&0#*}kw{^y5h8J(N@(q-xBCjk@@S$Xc32^U0JHXnI zd4F<&!Xrhdtd^r=^m|ZYr~nfBWeDljpyE`cQsP+4ktAd->>newzly%^7k~JT~e}>_jejl79y( z2I$yqm%WfluAaNnbFKvB5gt5PHzZYy<3Oy0Ehe9SrNo+fjB(J`Ylq;Dq@^bYZ$+cJ zG0|=1|CjVOee}}395p=ecKcd$^m16uH~Nel>?P|l3#qG`sAwKuJ2)>GC4K(qo>TGo4T?T3cHNKr;bX5OtL3Q3l(x3BL}M7k?6(*fnag9UKvm zhsJw{*b-7Kz+>ko{Yzh#kysI@j2}zt}PT_S!Lh$}b=9>c$_vcsJqg zAKJH54Uq5>Oh={z*o`l*cfTBx8(9nDbufN5%Z&&B$pvV zFb=12+XaPQm$QtPIDcle61@t-f~`fiZhbSjNI5d8Lm9;2)Eu#S5L}=JD0YJ$vG9{r z-q?Inkj|?#gsJW|Md;j+^#Xeb#Zwc{RUz^#hS5iq1MQ!X~;(TSw_8ZB>Wb-&HG z2NH{Fs}Zf5bmqL? zAhD7%rY3lbNF6g8E*;DTqc&g@T-OJZQmBjqIFWf0Sc+SQ`eI!6& zGij&C-W|Zf9w_)xO7%1VwNJzGGZJ^*ibgMboCGjNddn)Z*@=z=PDQ!t;Kmi0%5lkY zJ1ymX8#Vi!~M^f_9~YOzjFl*4!+R|6{{uA>yt zOGpINd&h&vNS> zfnDOMlM<*;d@(^QM)KiGTQ^=Y23WuFH!lZ~enDVh0Dow2;ygW%*@)f-LNIm~Lczn% zSc_Fh;gY0@_G&9jYQ;IOVDI4v7T?kktX_2L0>llO5F$7H}ba-*?ID|JMU(y@gJ>h%n9=x~O z7?Tu~zJjIFDHdw>td(eV6NxEzRf7gH>Rl}}r%YVwkSs6nhbUlW5E>^V&SKn4%?+W8x zhj|?binHw@TL88h$oxROv-{A_fy)m~QH0aN0N_nwYB=p4Wb|+8+kg4!A3ogM9X)#8 z{(okG|GY06qjwH8q)s9?ylC{0js~j*hhgt10Dm`Ma*#6yZn#QL4@AV7Dr2HDnF0!N zdFSKVu7d7WEX4m|NRxYv2}hI8iJ5M=j&mCtbipgao67MXvJ8A?L2gX0V9D?{ft_F1 z{YMPZg&}C3&a>^xJai(EkHw~6kC96u;C~CL53V%r8X_|Q=+Tl6R5zPf!@_*E5 zWk|gK{@de1e$eM56)F-Uj3;wUlh1rLm#3#UI!gnhFP}`Puf%@Hi;uFC*8pxVUSmUkoUr1af2SV2AKG{Q`3o z*D67*y@Bb6dSRZLY>3)N^<25k!^@hFayY;H5#)n37<|WsNW_6q0_dhkAAkM#UqMm) zZ62elvoE-UaWlV#L<-{XYQDIECD)HlA<#!_MxelA9t`$MH(f9h2h;4Xu&*LN71p8! zfc?3m`dsQihni{5D^>vm&JR7Ny;6k2{an!+yg=%a9vLG+n3R=cg5WZ z<)fGFRk-}_&GSD)TKz59GA3%D_S3_eJX@{#XA81Z%>P82rtaF|?%C^uXSB*9sUJ*wi!6FIr>4vMk zNj4qXp9zXkMQF8hHnP2V;|5S_=MoiNfN)xi`29_Q?dX}Rkbj~B)TSrNC+@MQ#vaiV z+~U5Fk5ori-pPl}CgbYmpG#rqvDw!k8UcVCeiASq>}>^$R-Oo+CZRZ9YUp8EhRVX( zx7%thAX#u7J*HI+=(H$ACLzp6xEzKawmpEhNYtf zvGxW9asjH>w-{~>_iSp`APK781&_zEk(O&pUewP%HRhO!VL%|ljj0cVKRe|n-1fS*k>AKNx02XE*=JV=n&G_8x389iW$tsn3us0 ze=y0uyMIt?_-5b2y?*oUD|YuZ{^+%P`2hQQe7(kZjs|?ywbl+I5Z3wDty3U^PJTwBu z={9T<)g3GijBa4NK^=hC>RQb_1AC}q3Utz7n|~u=+-{$CVdVm1SHkl|@O!sQg@`b9 zG>8c&(TWR|DtN|=6aH3Zh~bSzb-3LoaR1A|DD>om# zem~c5nEvz)OTt+KFo2258)chFSx&2UGJmFZ#)yAH?uU{etSv2$cQ#!Zt|BUIz8j3> z_(e8wMMqc!%hlaRB}3Ds*}@Q39JdLV0};oj+XopL-f#}kV*{fAak!R5fHUz_aPCpc zptjNXu)OeUZbSreeH1N0XKR!)2HVz8D`@G)rW&XrTdC~;3W_kzhs3wlWU37a>3{8O z^2aar=3{+&`j5MY-UqMUoqc{A!c5$y81fIr{(YjR7Wi}SKsSSpHlDR}x4gjP@NXej z7*~{KZk(_Pv$v}3%I9ozC6}3P&5^^}S!?v3gIC2W($$f@===BI69&)Uu2V2uYw!X* z5F*G$v2x?9iA=t1OpiLG=Sv&x1%L1)*;oeNUhfo&$)$zEjNT*xc-e`h6$IK_nHBKf zSfQ|5w8Avemkf1~1zzwQ8B&^Z*zcg3T^AM+`yBkM41g{q3aka26W@!~k3yHii+VXh zuyN|NDh6YEQXAXssu6i72g4_?EU-?Ehh1CDM-7;|cDYRAY$B~*|f)aZ0g`+3mc2M4R~h8iza zx6+k;gL7Nh%AAAhqLo{2nhFooZWE3nVJkl!1QY|@d^fi5_8j|MpI)C= zJbL|puHUfs(>H7;Ze!*MSYExKW3)+6TMJK77He~2fU+FPl(AXmOqWI-f3+I?5Z!|T z)7L!vLQx4ox&i)9jb6>J-u990JMkFbyF-hJ;pOdftevZm-)Bej6(qaaPgCv|8y6J7 zUV0lHW(g$BhpkdXVt>%gYdHC5=Cv305~JuO+ZY#6HWXL9$EP4HNVyw!V2N=Nm{76L z3q#dE`j^k|KYXn7^zV0Tl#gD$Z{M%~_viNgq94W&{VPjqqtVg~CQlfWC-19Km`8B8 z)jLUoc31#w>_AiGWB`HQI_>0@=|w-ymb=pcb# z$Uop0aRnk!z$hoCY6cerTW85jIAAZbmft6_I7+_x@UcFBe!BZzd-OW~T%Tp@CmhGP ztV*E2BXm;-DSvhb{$GZjGjYi_9Y6TJK(?G+c=0qATBjpsS!8s2;TkOmx*!t94h490 zD%4zSqL?(H5OCmX6}2Di%jt!fZ8s>YxeD22}Bo9PDa)ix!sj*52ILHQ3&5&YN1OFGwYJBDx-r6&tS3e z#N7?jl~WfHE;ovD_BdN>Pqm}c*-$v~v%R}!LMqhI5*NF@tK=S>6;`6vowF$!ig65Vg)xzJ4 z4ZynbqFeXtKYiMFp?Hs8wx8=atN(;45%z(h3C_3pP|=-3UiZwMT@P|7Qf@1WyZ2Tp zIJ<3v5DYh>{dje})S92wyN^T%kjVK#ij zOtta9MXC&@Gl_L@jw;Jl?RvAhfw!2WMiG#m z@)Au8AM601UpH=uN8a8Y{mbX451;+RoBH?9_3qQt`*-&?{EuG3pX;}*{lMd!rl2Mo zdVd-neZ_`nIF?~uS}8Q-2JU#_HiM0~j&B5B_wqo})XuDM{l357KkUs`0S44k5F?aQh)PGLK(BgnSrz-@o0I0fS)@|_b`CE3c%kL5=k=(^jf0nRBHx2X9PS2&kvD#qV zCQr?5HgMNLQ-N=gBO@6HrMVEUL$dym`t1e`@Lxs3>9kIPJ;uUB^%(WJ@z^0iJb#X! z6rQD-y=md{Xk^nh+VUl9ik*c82wUt~b$gs_7+8;hdzE-* z5DEj=k!zj?Zeq&p^E3u+huhkKoJA41BBa~bMpqNLl>qg&&CM$|eAb1ZeRPQETTYm? z=}I}2(pzhwM-i7Zycol!H-!sfDp1)^v7p8qEBY$4pCLqed zKy-B0J=R!cy>Vp^@SRY>yU3vk)B;#YgTd2jq`ik!D@+ZN%HbB9G^@29i^GObt<}aj zu(9AUKj6=}&BqrERYQXmt`wyWuMN{gJhW9?g5WP+k)Z93KDy9(c05|*N`OFo>dbh! zkZh&gMstSZgV}o_WIeMWp?~no1AU0#LtYuQ+lvCrkN2&Wk6yK(>-S227+<+{g+L!h z+`v!SIBgS7zO(@}=!hrm1;&pkJ~{`{6NKq;G?hSH=*u7o#5gJNIhyobnrK8f>!sRG zp7oresRmu*5*}oc9DUt#>vSbsJLY?#t*g4BNy7~*@=~OLui&z8=zoe~N)8?BJPaGg zX5hev;`xNDGUDaF7O^kCw!{JPsC5)SJ-T0)>jAS3dtC7=S-0CSe6Q|SjUT;kKiBOS zVP~&j4T00*3_h~<+R>L6Bc)I$8W@2Bcw>o+Vc&pD{tVp1qii&wFc6?Wi#r^+JS7FN zNw7rm`FEnNHcy}6x#%`S$P#A&D+?3lntjOkmTm#EQGkGX2K zjXBW3khM%UEMSWySztqf%1X|ry#qj4Sf$p5pOdoy+}>^CQpr(O?1_!gaVzCpB;w!W z#`~$+z24oUSMKNf<+308ccfG|D|~#jR_|AIBQveJoulMuRexh!d4PTd`ihYct}UV# z)^os^gX@yi4%yRi*tLNO*ay^=IXQThYm>fY;kE=9w`(>!UB|jDbeic2W9X!~h{pj5 z6LI>!iRR8)lh9cA0xkj@7G1XI^uE$SSva9`jsQuTwVJub;X+aCXaQz&CQPGC2*=7s zQzg(&^B82~_J5-2IZpBZ%jf&F%?GdD&-JayKa6icL1(n8s`n-f0S0`ERbx5%Mizec z6eBehvUw^ztScsq3>k;rkWWIRc`O)N)HcyMz&fE33oMY15vU>H))}ELz})%l9;TkR z6*k=KL?RtAA)vq|uNMu<$kBVm77P;FX%pyPTRx5sc7JO|1FhOP)rxEvi!`@d1ALus z08~J$zwpht%jj$R=2;UvE~KT%8eMK489+MUBGU2g`peV1{r)d+UPuq>DmM)Ubb1_!CAYC1igV!@_`t%-9EBu#T=`*Frl# zrOsGT8}RD03avy;fB>0;S}q$7KSL1E93y6rf;)N*4qfd9F8)A&3N`&RHYOS+*t7)8 zy#f`RT8Qhb4VR^qp$BAN#PqZo;6o5`$KpoOHgbg<2gg14O2yqvRoMV1dMjE*N10FP_`;8cUl`BVY`>tZVb5t(oYLm zXRuuyr|pAW>f}{`!4SS9DG1vtP@LYg@$3wb(QS|-a6P1*dYsFalLLCo%Njgt4{8&0 zqs}CZZN8sf*`bM?NQgBI_{}zCK+r7jz%$~~(gBf>0>0+;f$g*oIwPz!%DG9x1+>|VGBk)Hqz2qGW}aMf*ei;S_( zW5JKC-%ALPMDp?8bM{^UIXzA;#ZLCAW0@Q`$!hl2%4|F3-js1HV3|KKtYg0& zE$@DxJ1ofr(wUv8SQc{dRRQM{+}z~PBm6ff37dpLbm-22PyoYjnar+jADIof?h${- zs~zrdm*AOiOBQ*TzQ=m;UWJ1^(ROb-bv)NaUwaal(0bN2sqAlCyKBm2q4ekR>VNs) ze>WoG7k_4d+dZaC#o|5MCW7lIC;heQ0`4YGr=h5lC&StU3jQ|Yjw5LrozT&C-k7!< zTwdQ_Zu@uh-Ui2t=()Da>ALYdu}^=97DHYU*!$P+QS7g_$f>#bXxWVb_%x#9whM>@dg${nb`=y^~(GJMfN`Q`_<0T*~?BJ zJ~bQYVPW>u?|X|dPNR<&8;ggYHmDHxiCcTg|CQ`ft?2nq@SVXqj3jkiOf8qyA7-t%ZLoAis@75URjFzeOW{GV8M^eERnSdNv>=E4IBR-<+=LB zpW5H)8dY@5Y+Xsa@g#rpy3fA*ja;|M5V)vTZgw?4(zCM*xVP^`>S*5e)@!%bHN7cc zwpx#gQkHe8j&@a^;~eyPw&if&Pr#Or@c-|*`tSeupa12*{l|a)<=@}^pYLOqqh|Ua ze80cAx&1wUgcnF%3-k=7`F{PgIKHDr0>^9;o7gf&Y(#U4zBPZhUhiKGMjs-t8uE^a z`9@!7`h*%~yT`U`J>sB*K(m^ll=l35XfTdn`*dV`SWi-Ci)5s+?;FdPoTqnx7De2i ziR)NakZcI&rF;?jiwfhCEV#Xoz1GUvA@z*7rz0c3<&SU&Ved({@gcExlZo~S)yfap zi3fF*_Y6KP&pUqr+NF|Red^JgZ@Aats&8@G17^1lG5bV>qj2LsrKBU+SQU6#k&-!I zydb?MPxJM<#;|dFwzcH6z4!b!IL(NSZaNwPH@=N1lnH?@rW1xb#<4uxW$IZU2Hp=y ziFIA1Z5=h5G^qObLLbLZ7V9q8)?5tR|0<%&?>l%FjoyFpuq`&JAHL;#H9I*xG?#rq zR0KgkG}lXPLnKL@)i%lK`cCh*2fqof!`phhXD^wj$&^~l2Pv;W{_kq19l)$JQ1PrS zi4>xuD2oSA^(VY%{WNc16SFKSwMOuL#h7zVi8~s}m}Td)x-R0lH{X9>&nA2A{$+}u zY^=b}dQ^X0#0l-{SrUU{-8G1WLe>xa^|4*$+2e6MKulICifl%39b>rKoG)AsZytyG z?6W??W#0;+7Y`L#+Ps?b(Lw@bYgtMX45;ZUG^>{dsq>Lar+u8 z)|nk%;TohHmbGEx%(7PJg|^8YA{zi+6k~6$b^t%psM2o$Xm6l(O8n-v;72IQzIWaJ zT-kq7@2s-}DDlz;Mm|yV)|l-6jtcGXF1ztytKBHwT(p{{@PY0dTwm+^_-4lm^!VUz4$hMj)z!batW z<-RIj1;VUuZ{};SWV-Scz>Ex?OS=$e$MUe?E;X^4chp(r>S-V2KAq>#v^>aW*lLay zW0=|EyCZ%zdgzN#?=*BAh@8(5QM=R4S#;pk{2j5|sn63KOxC5jfuE~sm4QTJu#+dZc{AM?=l_#6O?e|)E=%$`S?Yf+-{7XN zhOUlAdhIyO7qg3`dz9Pc_m`@ga`!hhp8<@%cN(JurL5^WeO{o(SBOCRrb_3|v-cx` zs*P}~9@_;mqmPrH;MpZY!gJQi?`S$NL9YY55*nGTsRtx;`f?$-(AO~p1z*zE@s%h!t_n-N^Ko4!jN}(ymCKH<06rQ;@76X?~R~! z25g_HEF55LL`%}CxM21?gQF6&4zPiy#Pi7;cRm>t09FlMP6ys2`+R?Q!*?c;C#*`J zRyV{|i&>tK+Bk_QH|`7b{Y89t12vpe@8@yGR?`lf4_sDbC7RE=o73(38+Vh^$%5xl z_!?;-M_`+8w#O3-Dp13hv-dejOk{!d6-?{RZ=YALi~Bzo&q9$Eu;*xJJtmC<TQiR9$)|aD4f+w-g!f0ZR=9UYi=WP`D({8e9G*Yf1d)W z_Rc?a`)F&mDcz-YaHu@+{Y@KUIP{Igi4tVGdtDX#oPV}H(#!|tBk!>F4Pjezf)y8j z`Zs`Z1T~mZU#EYKtvd7W?{qxvso{fITUO!crjOrAt40A4i#!PF`#p*9IK4M-ZCqzU z8QL{Kkld>sVT{acbMEERbl~p5{Md9us;3@eE7`1Vhl$uUe=?Vc4QtVsGLW5{j_GAz zF`L<(D<|%;r#5a-uFiI~&F;LRjfT9JRIJ!9SOd!N=J>rB)}sqN%= zyfpH-INtX~{8~WH7nC`8Tv&v4XS7KW*Tw4>RWI)2T(I3s%{DVf@4Xg#FCCz(m_aQW zaXsXWYo~us&6&JYfLPYIGKn^QBl=u$u@?gh>=(Y=b=X(ex0){r^Q+kFtQM{J=yTuM zAM*w8a^rd{VK`X@hjq!k2jb4mX6klNQ-Y*SpPHU-WuQP$d0 z8IZ=3J8D++r%p|)SN#brJe_+#{o2~lN#N1wd)t2{!b+BMPDc9F>AwVJ-Sc7LmFi!=(ZL%IRM2XmesKEPhE#^p*}soAkSm6<<~ z$0>hbJL=M}QJ&IMu2r+OT*EdmE+Q%EED$I~Kjy(49ZGGr_EVrkpc?yjd^&UkRIU|d z!OzK}`HP8qjCK}wnWd3}FCHd$Hkmc|ET$!;NlzINv=RpmPBURGlHr%ZOw{>q+wi%e zd>JC?x=A*(eO~4(lxbH1wBB`h&-emC+OdCk^vv777(;Y~v!`A4fQxO5-t^`)tmS1ovxVR(kcYv!IvPT ze&IsHAU42y!RgC3=)GvA*5xI|{#P%I`l#!B8&*?ut10B=uo5SwCPqhk`Q?_3H}QWe zlaq^s?n07XA$`_9^*L(h&^e8aojPPN)0Zy6$v#?ao9Dy09*NEJsvaHOlscBS&Rs^Fo!v&QE#q$8ShAPQ zcesJu!E$?vD{YE48dT4@>k_&4U~n;RA7a+`B+vVNk}sQQ_V~gQ=IQdh(M01?y4%)6 zf*Nv(GAGgiB!v_mD_aRBakXCRd{Ma+=G+LA^Ibjf-YatqqH^z5lnt=3onC+5-lf0% z20gghi4_lH88Pnc?JRo)(_`+8jfIzqaB{|9v_tUGbt4qWK(sM;wH@Rrk!iV$oV2~H zk9(hfV-vM0?ijevo8~-aKg1sIy-IJ~z9t?lTp=1awLcB}dt`nPaR~}EIl;#UP!rYNt<0t-r7|o-U zP6-Ll_F7wWQD61i_Th{2BJ0vWfVpy+okM>l(@gY)k8C zS+99rJ>I#d#?iO$3WPh%pVE6H%8VGQ<%HWWW`*pMitmM7hv!gvx`%&n>qmkp67BN# z_IP8kap9g=&xQH8`a?cQexX3TdCNQh2C=d8hi_1bv@dO;wl+MnFM5tHecF^YA}eRL z+lZpARZn(5vJ@s*d?#Bnb9`-g(2Lm_+xqc&CZrZ;RP)7Qc?rWxdU$@WPk8YS{feB| z#{h@K+Lo&?e8-Hc;`V>eJb$efY_Y!f$_H-IHHfD%JI)+WaGy@)r{v3~CJG>ZNebAB zPGC95cH2ab137Cq+VRU}y<~3ob7Qy62jETm*mtQnkQ?^1EQiBEyrQf*IQ1GN@IEey zw%UO95VX`=Ku_zgOn;Y{hg6a+4h4(ueW~>`)T?u1Bibw*52DWcoB=#qeoWO zaO00ZEFVV{)nsRvc)`l~d79tKe;`WEYKLif8i4P(=foFwHoP6}d^JZGVk!o}1R_2y z>ZyA_Ap~-&_GnF%USQ-oy%`8p=kbK0#3LRmNhvghAYw4KiPA-g|qmTKJaE7vraBstwn|@9`r{+eA^V zd~^DWR{eSgp-S)oPfFkJO~-^C!#8-^RZ9xoFiu-DAZ5dvvk>9LtD7HG=t`}(CIXBPbO|7 z`#4LtYyx-EZld{9wpp)f{bDtlSwnKJBCmGY6H5z=x9KrD`)S4Cd*8V?0+9aBn5%m}ij52c6-%SL zh}>_=;s)DMZydsd5b!YiU&HwgW*t%+V%Y0SjLmH9QIT)-p;LVgX^OV@4brW&vBpE^ z3eL7MP9>}&^3{DqoB7BlYleMdq6vWP|NIl8*tCC<4P)Mm`2j&s>)TPWs@CZTSO^i% z6Hj~Nm$rGEF;RPdzEkuNf}%^_$x4d$rgC(u8ao6H9nioh=U4RCu~DzifA?$XcHYd_ z`%bKU7<=@Ps-T1j>1bf(xQXs{SuRH*+`fz+U7D>XC$F!bWGmc>4T5x3nB5(q(h#8c zF(rTA!Q8khl6=is0gwEP`9h!^v64n(jo958L6C~c>W36oT(4H^Y#Vj)josa>Wv5Iz zZ`C@w0VsA6Z4k*T)HSFJa`Q{HpESmpZyML!*L}hM`YLE9j$hDUYySKZ3%q$$?v~j6 zgUxrxiw7bPQG#vx#HVE1sn0_rH1}!Pk2rsG!|&{2o`bx@dq*eSbFj>)p-rxLo%QyO zHF5@TL=kFwxmj;1aJ{kh*h%u4r`A;gENWYTseCGI5FV4nueXB$pT4Kcx|y8fc2qOv zlZ;uu8fUjN*L<=U_5v0ci~0u+d;8X7zrl}yXNFTyS?1(E@IZ31DDpgLRyXc=#G8MF z!md&>q=KdAo?<%>H(b~npy;2RcviBYSAv^tN!qG3A_8&oTv5^Ea)SIR>yJL7pH1+X z)3v91FmpU}-05LEym89+wPp_`LFGkL^qmKMoI@CxmpmE0%4Y7{6w`Tk;!VeDbM<0$ zwR&Hajpq`=biC}YYf*Gl`6O+bAK8DcEC7KL(AL`c9JcNrepyT`3Iy56K%8rBG0FW0dNvXCi_UY#l1 zxHr;d&^p(bDRsWINulN@`igBbi)2c_ZzVDriz+h(Kp<0u(8t^#N)ml^4D$J|pc7%bAq@qrj-t=n-vD@>;kS{?*$}h9G$Ym*^liOd zqzKynGNQg56nSjwRv9qbH*FF?cJth^O-L0+9HIAI(@iDA>WulQpOyLKZFUHD!7C9f z#!dN)g}dKk$TaPIYg&IaBZW@nrYd1CTgy>n%gdZOip1Hu=2Vm+tf6uamYdI72kC?e zXMEIp<%}G7X!^Oh%=+ZhV9b+uU%!sec7Ee75X2|et3A;Ou(xADGSy^O!a7smTSt;h zT{_tPRPWB_nsB0XAck4bc@+Hb-aJhtIw;xmbF5+heO_9K9Fc!}kQCO=U?4g^_Y8H{ z+;>Az=2F@B^scIht_M>GP?`3QALiYSZA3@H^;(x;3#y0CsC6))>x-W}R+YzQIUhJS zz01AR@AA&C2L7ksi|+l$40FzXqt)j8`?|nSBBxgDS9Q+=YHzHqE5jH_A(2TvYghO} zC-btAqYE$`$bx@FWP2R)cb78}Ea!skjtRNloM9>v_ZqxwOT?fXGzf-7In7z zuc3A8-7=Z2o$0Yt+6h>7I&v{Qdovf+?vQyzesaOqWADO%CY@Vi-uyj&gpbRW!paZ? zrP(^;Vw``jgPt(w>=9~8yg@Ev!Px0Nje*>GUnZCffdGbx`~elh^GflDVQgWMcE-Pb zu4H>Q^U4i;dB^Vjgr_OTXOppv#eVp$nOE_STKeMGKrQ zznmN?&UMwPXLfD|V6P^cpBI;Xe#nI2>UhJ^6d!-CDI$MaVz`rvh7X-N@0kq758B(a z>+aquW#0mt z1S3HC+PQr$L2-FFi&YH;)HMPuvIShSp{+5!Wb|YG9KWtNk)k1*K3!%G3|u{O?H%aA z*;sY8f^GBSFEqv`gFSasQa;w~cA+{DXc2t(l9gqQe;#R%e_{oc8G z6^R@zQ@wBGow@2E673*F>5RUwhdF`T{4$hf@%8j(w#pmT`OErB79PV1 zHwJnI%soE6h1mgKA<^;f#+H3PP2CKeINahSo8bImB)PSL)W^tv( zKthMY1R+mSVZ5A+YVy`AWbR6mG$MR) z`-I#$DNqC-p|o=&1v{K&IC-iyRW{&6FfFg`p=%@>=U{ux_poy|VNb5!lSQ$%h}~9= z+xXlT(#$oiw2j7xCzLFcu}?irfy#e$qB3?CQymt7(rULg%sTcTdYqQOJOC2w&h!ie6C`C?@(EDNu4FD&`8Fc zkVQ&A;jcgA+7uY2WE)7>Temm8>zjb$eQ0Y$8*Jw0V?X?|9kg|8h4vB5pyz*F{nb#< z)^h(a`vQ%xSx7A+^MX-JXt$)7-fLBSq**%txIl#%%Cf?;V+nr}8 z${5{vv&(2CKgw#uA$`V|1C5MKBRPK&nQ>R%cPHx0!as8gh~to&0rSGn82+g~k3a^hZaZ+I z_)DohA5BHpn4iqOxyeG!uFIH|v|MX`mt~wIHO{0X_SyE_)B71sq0`>_jMP(j$BjdM zZc%bknQ-Rmd>|hRtBU0d)|_Z8A6(8Pro!*?oU9k>|0+0EiI# z^yr}K!Z4vu7hWR@|Nbj5dq_}rw=ke)zI#_oVsih z22D^z66^52oT}soWsyMXtNP(do=AU?WDGJu?*h+1P3~7sd7+pc8-eOmN|bqiIF9v6iFPL+2j}b-W#-hV~i65&wcNk)c+wpCA_n8p5S|2YYXWnqYqt^ z*IUIn@6T@WqVtCOu-#g`ksj~vyB(083=!!F1{|pxsj6eFPg;LP9aR{>Sa@?{Ai-J& zuiavU7otx|Ay4PjX{b`Y5uHfbPU~|xA!f@0=$5xLwjdcYG1@ypAEzy}>AM|0V6&$! z*RyZS`elsTs4>@@R=ert9ORtX=2C5+wnZ3XHd&uCJ-_ZBO$0KpZlL0TtRds|mhld1 zv;7!&Sj{Hv9bJF1Uf~I2^Q~=NWY3Qk*Jsh#cPMhX{vuZY8oDKx3sEv!_UA1Jr3U~@ zU5gW)F)nxHUCVVJM!S_{eS6LGY2FlN@JrgtW%{j1drOQ4JJ)O28X5SXpH-=V(ILZ& zms+Md=ei8$-6uc+%!AR`4Jr_Jo3hnS3uHb^?yOh&<==lU@oo*GiHw2s~}IC zw-&p&#qs&_9vc&z z8@8z&=kfZ=Ogx}>A009;Jz~ANBU@_}h>HB68*q;JqRuCf8U)v#JsjP;wkW^DYPC!2 zhScBF=lOr6k-NXxeJx?O05j%12a0@E$a#qxk85uB9<2lMcpt6zqz^`Q0w$TTf<91J zenOHrv^X|}qk>ASAKs(W$Z$V2$CvDn)#dV+uJ6q2TNbJib~z4KZpJ+GEpD$0cS1eq zacAEHA-Gem=4&A*vDesK%Va(KJ>Cd_+7I9{f3t-m)I%J|r4t29KFdb%K?WGL`jdzVIEwzQ=)-o=Gd98HH- z>id5Q6|Sx9V&h0pIlu0|*5~$Z-z-PkV`*+)>c~so$b-txw-j%iRma*AC-yTD5@2sO6>W1S;K#)!t#C#rVuTzgu-Vlk3q-MNz=RAKo z*HnLlK;kbk$NPbeW(QZMAoj&ka4+K1L7}@3FZ(BqUaU#T==r4BiP>RamY}zqqko_6 zSQf`ZhqiGGIr1W6kG00Q-ER;jiv+Eoaq-WLHF;d}lOKC@);FFLs7@oSVVp_`@@M#- z+ruq6jK3cNJ#BvVAoR&sxm`BM+d5C12TaY{7O&VX zIG37p?fAUkpzbqfwpSO6gN@Ny_FpZNq3w;+;;N%9u;U~Ov~8;z0ub{Zd0{ zr-N~sbi>QoSlUMis>Ms`%KM1nU5NstHapg@_r)#|Zm3_l;mJAtJQk;N!Uy;MHiu|E zTbnifcDqa1r1{}QoY!At@DhKW&eELW{<-Lr(1yaL`f2D|C;BW9I)97)jy))mz z`PwBVsW0GpzBuEOmrOF+>Dp~5(n+0oU}#}TI7TJWizQ1OAkuYp9)f>FR&KhY!fGKv z$Gx*WdDsp(dyA65cVLqs(0kjak4VHbZ|b*=`Aq&kfW1yO;{8mS2Rr(9nrZCSmnngsqwWHNr>|c^NrfAij^rFAM6t= z&N?k8+VcI1W>(tv;X8lt>_|7q_g-JQIqsWDTzUT-G~(1u>$6IDBlU6{jg?bmpPz-vF<(`CHpMIs9#1BQ$c5i|PD>r-vNXCndLI1!l*Brh~fE2dUqr&-)-xlK*dq zeQWbJWtlVtYoEY%lRyodSUMp(V6a;u32K-hd&*O5qmM=i+!f{1dL3-q8hf)e9LEU0!{vkmkXoMj zg2zcO2!L?Fl7F{?5uGy|Zr!A3l;+!`rak+5$-8>n-ru_u+`?&d=Z`soNeIKNMi?^C zBqTHzdQUJqWI6yi{+_XMI(_04W;|l&xJ{Be%=bLRh<<-n5)?K+Ax>_?^~3ZqB5rLvN6GZ%4s2 zrf9>^!Na)^eL=9E?|t8IGjeD9f)Uz8@7(721nK+XCYV6*<+0a zb%2N|ZWa5(>9@MKs|#M>*I7RTThlP&vN=jsSP*|I_*|P4-qbQ(5ke}EkT5^Avjrb$ z+yNS%VT(&~96!PYI(13qICadKh}AT`vaJpNoP)2j$7}M9yR0Q%r}(UWn=J-+fM+-V zV9SVc<`Rei%R`!xXKhqmi^tr99buqu7dXD2mOd%eIq!?r%4B#|y}sbt&;-Gu^0Q zR}Lm)$(c%a<&HRLlxwf@0&UT|&HBT}hkT@06^dg<2?#GJ%+9(|<(G{dg)amlXr5CX zH*am`&&IxHa>qCd;ChV;iGXe{{mS6D6*i|c(} z#;}XT$Mw*#q8Ar!Pu4qfhkteJyl{!Jd|r?}rc(sFP-p<)uXU?Ij2O-P>P*(XeY&P| zaP-Is;2&dbC+V4YhLFM5O6Mwk*rYrH5Lh3k! z=p|N;ZFMU?H1=}u#W{ZqNC!7g zqaJ5PKcFcb*`AXGHEEnpF{5LcB<_QE32!+h?_INpTsW2!X!Oq3a!#(e5Lu|E@%0GZ zrp_U_d??%&bDo9mmzG1<7z6eI-}wtZ^;j}SenL?WQsArZEf!z#>5N(l2~5>{r=d`i zy8~Bb;wV~U;!@SUrYqR6^&)?@q3-T-cK_tJEBVq;eaIXANZB${qLpFW&WJb>y%}=g z_jP&oO|cqU*wcLQjL=!(-^%ZF)KFWu80dVI5nA=Em)fajw%fTzjI6)do9^ocR>#@LBHToc%2UoqnMvlEQly18&uhAQtRI zk-MQMCE{4HE`-_j-N>e2NaDaL*jR2f*#gcW$-Cl>u(YlnTzM5t~btw zQX6gcz;<-3Gm`mMS^E?Aqdu{8I)VF8;!vacou&{c5?1lU#H_>+e%g2$PKK4xab4YP z8YaaCWZ9|j#$*>#mXJ~NeMb{s0~|w$OQB(eb@rp2IM?FQ$svD7$9pVNLwE^#i)#<_ zVboQdLA>UKBUew+Y0DG(4y)SQnUiT=jC{<5i)qW)9nbuyWf@POg|&_%^xc)`Q;}Pv zlDcQ;M)AJ}%gYW2!t0js*x$4jkQ*I?Fkm%9?RK6q(PwEpoDCUk3;5z=klI2n@qOTT zbD($s!h|bmQ3ik3IG2F}|H->^*E!mvO-LbtZ(8&%zz1R4f3E1`aRNmR6YM+vOTU=I zsr~pZ9~(%fN`p6P4>mD9YrVPi66X0jpF(rIfwIu(BPj_#JL~pDXZgOg+ z&fQKO`nrGG-J4UN8Z-wsRq1Wkk^9&_NW1MJ>iVHjH1I_*j&?OaK~gl7fd=Pb_DzfQ zHXg$ZGz%y)qJ$bGgpGqe1QO7#t(e$*w!Pri$@1yYJd!2V``)n$*a}&8Zj{s6<1?@! zUax`vao+f}_V+ezRtio=$dby%U(0R#i0a_&_1k|Cmk&1(Qn2mTP~r5eSoDf3!H?gG~ z=_J@YM_%Qg@YEC;@f{Q%es4y}I?7ieWiRHzB0{ zC1S<6g46rLaXnwJ>gcF;Qv~QYYwbLU4A2&TE~)09{1)$_k`{2};V2=_Pi*hQ<}t*u zhwaX0?Jk)#U2m<95%wNiIN_S@Qx<>o+((m!dbPt^c%WV&-I!kNp&d0z_#xab_mz0{ z;YMqFC$SRZxs5kLg9BmVqN88?V zvczC)%Sh6ksGaU`hhwvDkN}|ogzjebewKAg7Tgf+sU|R(24uFObzLB|ZmpavA$~F> zTU+fV+{v2<5394u)(JoOJ}|RCQBj~4A6!$TnHq1#+u%y$FHl-CvLqz&N3gXuPk{)lYv1N^5-Bp@rd; zu5)&Dd(q3gD4M=@s55^mEsr9sgH6)je89oYh!w)Vvp*d)_91Y5dquWDoSIc<`&DF3 z8+>Y7W3OyDrp9iwzzb^e&WxEpn!!IL*g5TSJ%?3`i}{iKgxPx^r!$c;fu~eyUI6$! zzA4KXg4eo)JCvKE5LG=gNKzjfnJ|mPJ5oQ1DBd184rk+GFt=9KfW^^Is`vc^ z)I5jvkXM~C@K-|)BR^3Lg?WH^{J2{HeHP{%=L_YG8~x3v^Sa1B zyt%DCKxQ*5wtRnpgu@yvBF5yUJOsTkHXpNU!@e8rZ!fsTGv)UCAQ@e?7i*zJqhw+; z43`OK-j;9HM2dkbQ|QQzlB+p#;V~w_6&8N>M&w+dM|0giVJ4&Ywt2>GH2s*DW0_88 zdJk-p0q-gu0C9lSe1AS0g>qOUo$DKVR!}>hydo_ERLOq}ij~q2VROzt>@H8fZ8dtQ zr?|Dt4IDVYk8X^Hl9VnbPl^BTw=(l+#6rlpkezo+?mlhGQXlU&n|m9^42qIPP$)He zo6iVF7jO`a2vj>#H3!rK?FZZ=vQlta4EM<*p*RN_Rkhd6R|ux(V|P(Kj-7E}!)-l% z0VOeLoD_d^b2u!F_Cvp=vFH+$*vpp-V#*i*W+IpA=_e5lXw-hNyB`! zDO-mUBO-hG;EmE)VF-TYJlI!@WeY3BnyucK=(HDBg)d+=Wd z*VY1Knz&7a=*Y`F+0D_s3KCjGKJZTlgO1KlP zI6qipkoYo?Mr5_uDZKJrB<&x0U=?uYPOt%HW%MMp2-qxUz6of%cOmm{U^*{t4N{>K zy)b`xnQt!!hLeOKfcp#^x1)>BvHeP%%Mkj|V%NhPMVugWttIhw*5ro_xzBRw#xWT? z`g#5B>>JpknF%|8=1^GOZyg|gHM{Q@bHPhAR@-rj8QB59D~T>Tk?Zkw03i-t?EK(3 zroee%$@eV-czp)$Bmi|BCea;N;xk4!>kEGvSa}kWP7W64Hr_0#B4u7OZ~(UV{0vA( zx(=!{S@QV_(NOyR6a~mP2M1Sg(x`UP0IhG(Bkt2bvti6RCow=)`||Yd4H)yB2ty$Q zmt|>7x7LsHXYV%O#IL3a4DxNJgVB||nE|l7v;W`ilN~+VV=&I3sjVFtOnDqt5paL| z86@&aqC$yvfnY8NY*0W#Lgwm+di9yW-oe<`Z?TJ3^x7WGiQnI&IXE`gTzD-Hw7S&~!n@f!HzeYlDgcPczwY&qfQOM}C=M51k<0#K5h#CfE!viB4b-T&-f@4DNeE{Cs5$Xc`SGFGLlpdb&Bq#lo5jjNLc5rSeH$F0s zIayJG`2RZlcGXYex!dPe#jy7_(qQD0-J(vtqU_8yqOX(X(itza(GaRu- zf9v?`2Ht%y^lAq~;q3{T**bqZH9K#QXf}l>9k0-2qkU!LGR4yZwCb%1Gp^&25no;m z!RK@t)qkd)`>UV{dU=oENUq5nsGc~NyfFuSY6c;u$9L-ama%Zegq{vvbl7vA25>Z-&7NK$ z+1YtQhWJK_ZLs@L5=?g^Se^wRvFtOU8bXX6XhnjqY5RL?idzZL>9-cic10FM9!lh^ znBMGR*C2gi<1GbSb9;ZYO_J`nB!nfOh+KS=@9`GX$z!I8od0Os01XSF@k95-)rTGA zEH!nISWAgj=)3t*fJ(qwQ8e%N$&iOZ$j*jXo&BV@wfE|aXZpLWbMVP+F~$xUp?r?~ zh-l}*FFs7Z*9PWmqx)$y_pl3^3gp2)gj*_sc5eWqI_A6gu%3S}X00W5v2FY2WlQdJ^nRxOTZ!Vh_t$BzIc)-jO5T$1ZGC&C)oeD zffryXt_#dEA$flf3=3o@AS`URQ+y*%qrC*jK)4wij)MsS?G|YBiRjdI_HV=?JxE?( zy+(`G0sNyXA>G!Q;TVz3pr=~@CQkAm>3HabY>-3wj-r}^6n8xupv`G44?4r`=i?x` zjk_+b*oZv~M0O4+i{Fxv550JvV9W!{_aW$G9d^(e())kn8<9X6iet~Z^o8B_$d-do zcWQj}T>rvdW?zRT`$89S(TSHrvmG;m%D6dO?!?V$Ls~UEtdiM2C`^-P z_XhKw!z;4Yq@N~1a1k@^1lGqFfk9Gpv?C-B5bLM7x61cG?`OTgfLr`g8>@!tpks(- z*&ni6Lv=l|JZHu6>eM{kS?VFdtU}t zu+)=&V(z*%Pd*AvkRF_IpCh>1UA$;GC;b37UMzDVUW)74N#@XPtW!k{hl5Si`%QL(BG32Y8S6Sk2P_Bj!1F{0YZ3KqSbm_yX^&-TxW4B9vW z_1*v$LIBIL$B7Q5#lJjE&Z5U5qX6gy0VaPf(zx=*cAXIir4hs$&ATo(!`H`r(SaJE zZ>7~a!1td+vrD)2d+?xh%FuN)B!thf2Cz%go3RnN5b?Rg^jJ?ehj<7{KI#s1a6pu=I6dS&bv! zfk%xmN#`U7WVB)uLFP7(`c(gveh7b%1MDnvsp~{rNntqm3&G`L5-W~c$`L?qF}yYz zw|!b?Tw%s@fi%;%P4E%7^r!@e)7}fy!$bFMU(=1%Y3_!D0y7Ffg5|{6RG>1k$nH_! z8OpbD+py_#9>FZjqK_YveHfgp;)!@I-$Ms~kk0jju!kE*xM8z9;vacvVBde}jHeV( zq~|?hh(>u9x^P(8_}cr?NRKbkQM$ENoZMKE23yg$rV?4V?sx(k$w`lX99#hW9kUhr z$aq7r%UlYk{_0{^Se3HAsJ48mk7D*d`QVDXRWgLefWxL4Xz?d;Z;O`gW&%HYL}_S{ z2)$NEYz@+sQMV&s4~Xdv45NQwsNniEyCthNKR=&)=$lb10HwQz(7pXJgU&tyB~h@x z_38`b6Q;J9wRhb_7cg%=Z2IehGCUNqIr|~;5$&`S;^pw&!%}dW5Mq1N6ul=KlPw@=YIxlv{w_sop&1oX>oigxl_3(+v;e#(Ec-Mm~-~q&NKT2 zyF>wgBjw~@SB&h8rg5oOJT5PLj=g0h1JD_bUONOV5;ef1q_3rbz5r7|tiL;KFh8vg z9oFl!_hN*<1MF6|n&)ih0nn@IK0gth973#pifpE{Q2EBuM7axPQ0~>FyFnruAtyv=OmihB$L6KS=k+& z6C7P%1x^f;e&s79{ybk!$GQEBbL3zZa?ki!#BcAFbL@m|8w@|B$%X0Yec~+Zwg`8| zfAEDeVu_}*%DXpIVqIi^nJgJK+5YtENCz1{wNFS=bjHB|-#>&1+OwP_K%NxwZF{bG zB$yaLGYcfh)IN;)i^bEnz#HC#eNsp=FLz zHvycCAU!C!P+C0C*E7xM=|oGQ&O5|KvS`3<)hE0G$E z7R4dPu7}UQBatD0;!@z9y`!;dKN2q9j?)=^miHnAWSNIEu+5zQs^~^*13rF{^qtB>I@B?cV4E zN2M>U9$4-hC%OQd$^9X&Z1GYynRNJj?yCy{ zJ;}QRta7`5bG!cm)cXy7gxhr1;9m<-cP<_a*#5oDa3NAHvMZUN=-1B7h{i=Z7Om>( z)ln|zw(&KA0%sw|mx6TpE^z>1^PS1ag$Y#uILnS5$9W@gX*yhB65`%F^Afw@(|BXV zo`b&Nrh%TSm)tqRPh_#Nj5O!SH;4(v(3 zLy&Mi*tMg;G6be%F24fSxBt*D;K9iifLJc21DHOft~Vs-w*W1L8@F|%L~tvFONgv$ zArD4>JPwp#eBONkb0uF&&d~1xle1;L!8`x|m^-5^Nm3mPZb^VZupB_r{+Ce4@Z3Yi ze9f8Z_c|*p!X2c0&04fRi~6Mp#S3}$v)<0SI`Bi{jzEm~Il0U1{eI}t(oj1!TlI-# z?>l>2otQtGMZMjdRb#B$*<1vyWrKeqtBtdNCxbgoPMqlS-r`;^s0VA?{e!M5J0N^i zV+(!S>^GhuFDLdI=2feAx*nAzm^)#}RzdeLyxJ%@7dqXWHL8rqN3Erv-RtBJrzZ7w zy__4pAw_KLHhjf-{fJj!paGx6bQ7CfJ;`hR-@KI>IxUwp=Ka&ZEoC1BF}SGRD3uEOX=*3jDs%H z7-gyy&LuF7dTel9jO1aAm^vpq(trH>1!h83jWuB!;%+R!yr1fE|@0}ZSCCvU?m4Al(hhZJuevu z7Rjxp-^;=ggCEJxLdFuh=6Hwr!%|^$8+V^rf~Xd%h5*%7>jg(#kwB4^u9tr19*a5thU+o->c1mQdld~q_OW zP=`JVI>C*V1P8#c$dy{=>yV#JfAyuYW_;jx3NMS1*7V`muFo&1Ky2EeKN$olz>;< zcMgD+eTjtfMA|5S!&s{Ece59cjo_g^o3l-0H+lEG!nSXSK0kL*gCkxn?XAbwqWZjm z*ZO{6GCBo*&cqqly2;6i$2Vq^eN8qKPVPy`(SwibMBE}Y%6Pwdsl%CnAESB0K$Ght zOaz4*N}+&kw<2G7pM^L1kORaVQg-2UQ#NANJx@CbgIm?MZ+pK9CjgIP5y>pbj=Gn# zQ|AKbLF1Wc8EZX$CE$8cz(E1E>8&Z%Tqiy`Agc9uaNFnV7$h(tSdYCI_+t)3?c08N z$4lb;7&!MXQC{vI;Xt9C+zWvnNsLi&%o@Q)!k}RB)1GO`nYANN^Uk2Ui_fT8mo1z?*ZYfqlXjH9=f(W?Fdr38 zf|DfQYL%}5j!r)rlijW^W{b6{bpGIHyF$VEbRj-14Tz|XhXYZJE^E+mz8I&Ys2h(x zr&mEJx6XIaNrr9oZs-9|KR1QZCY8;#U|>eG69PY81WfuN@o52CNP(k$Tw?VpDW3e{dJmXsLdNG3`9DYb?Z*7;D zh<@L)LSNxKd9~h`%9uB4P&`0Rn-H2xL124c`4qy4qE@UbHE-9maj+>J)g3|e5CAyb7)H#en7{;) z*Na55o~#gm4Za0)2#Ak9NiM(ZceBgakuV{7x<|hqrc0+09hSrdAJrM2tgBF+!YfGy zK(tu=Xw~6KC!Uvf*1O}4TkZ|IdlODvopj<0dxZz{HvS~@MplT{<$ds(4%5hUU0Vv&Amh9a z+Tr$bFhlnekAlED*|bau7YnjBQdjZSE(9lb9M1YZa=wov_Z@JOD9KTARwHYsl$sbG zP>qCt6LJ;ND#`%kVMnN>SxXv(!2EE%evPE^?I#tg{fW}bq50Lh{85H~0$Z^OP~-VT znYhgghrQ07ov&|U-PEV>xL>Et@)8h}>T|C($T8Il4njGy?e>g!glcIRQ~+f#d}?-J zD-zpdgO$a+w+TN(NKSjZUcH$HEDCOdd5Q$yK8s!r=DMFc4$*#=TC3gjCpn zD2s@sJOl~Vt&~FyU-k?xlf#2|Cr|yiq(aM{1s)V{LTd4RIp7u>ut7KnENhPuiV_Yf zT1IkTlWV1nyA$e)5vZA@j|#yK%?&GNyzJ{e(@rA4fQs*2?0Z2mw-+#=H+vLL1bjWD zJZ?+kjab{M#}F8=Xp4ygpK{=i@DDbB3Vc;6DDwJp1j9aST74KBed^681mwQb1PsaO z4J_N(Ic{&9!7kjbBJ%=sdz&zs7n|0B!mT^bl4$kSI7njRY92j_KFl zqZ}^*7e{z9>_KIGB9HSrM9I*X)rillx2>&#iQ5(z?gDog6MdA@Z#~nY7-dXM0}+-k`77mpsr|CEYDjK0&};eeb-IHsNB{rc-7SlnyABJ z2i{V)c4zX_b|~yD#HE-6-3!$}Bp{|nWo@IxCQq;*oc_rKKR!V)j zCLnE>o%rc}`Hevte^(H&b6 za<5{i@;$;krlK%J&qv7~IqRx5{-vtYuusykhK8N;HB}+c-;;DLdLjqqgUF4DE};`@|3YXh*>uH$punm zTtlW{!=4;+MGwUkD$wEcd^x(sw13LHO(?bC$AOj$HA2WX6R^wvG$Njl&p={|Xv`Qg&0$2hh%2qxj#&gc0O8Zb0b*wzK&nte7-wCl;O93lJ23ATDMA$Ti#mQP%HD# z#_KtH-hEfW*aQ!NTly&{nOfRhB*9}6>zR*%$Ja06pv&<$Ur3ECl>{RV29$^FeHT&S zJ5-`~)+eO^XFJyi06WN^7@vkVE$=@+PMlY?zPO%+S`qacB60Hi0i_Y)0!FIDG&r+u zR$n}z3H3IAC;Aior}7pkvxyeKK-9GnpP7 zWY=|>!r)R!G~6j)pAw>xLdT&?CH$6pnR3XzTLrJ`mz+TDcS&QeBXdAIZ|C`#VKf~G z$AL|My}P;01}fFx^7 zB)Wr!5XD^#A*{PMOgJ2{t0#2W$)*PTN(114Fd0(~QAJ;)1nJYKNlGM_UOSto$}fuu z)Sq3aC!C{xOC^VMbXk3oHU2~d5l}zTVQ2<__f!ctVwF&T@5X+yR*%vebz1KM*JDF9 zrcxxVQZo#2%0vxc#v_4pMCO$D(d>-i1iO;9ZqO$jmqYEc(Pd}Tjob>5`Zk~I&D$@9 z4qm;qmjFOLDOjQYaTgK0Fk}h?6$2kLu5+!539LMS3#=$(`JTVQ`ouW-96-8j^Ak>g zr>Yk9?p%WF81U*iXrVj3&JT(ArGl zn#_<%80eH|-KyX~6`ktVm#$)izKA1$q!iTUTH2(N%zATUS!miIB{)o8ZEU0u9Hi^_ zw4j<}bP{N8fKI9tP{a+Gt3`=EWLjk<9wxzaVQNjG8qmjD=lxsPevMhtUa;FLZS(q^u{a(U$Aw$H>Z&B? zgLQrayV6depb8@|*Rq)G$)*ZLVxSUzTGaeF#P}(UQ(iy98+HyaLBGmukFB6ON>zW$ z8;tT8Z-zL;G_S&fbY|nAykAZJqVlHrf6Tdrlj-OHeG!<#1?7J!DKt63%p)VLucHg3 zj&}qX1DbfxUlfS%=0F58$Otx5a_X$=aJrOrHVma5cf5!i*f*g7UDyi4C4*(i7y!`r zDX+f)5S|DDBbwY~>jz+4Lv)b8!C#n!G~7!i$1H=`$isnc+GALKcoQ*QpNz?GP8jq! z1HI>t39yEyleB+=oD5Iq}c~ZBL>}~h{ zs>gLnYkURRQ$0T=cbN8`i8{0JHM=>sQN(FwinG}%{PceZO7$Z9D(K2iat2QVEmLTDkG$(JiH|N3;8Z zxg!eTg6Mxsn53UN9_B^nItgU>?K938dyCIq?_yU&#n@i;5F&BZC;L6{DHGk_HmZND zQd3uN(id6rR&yodE{GPVhsV+HHU)?af-{%05w&tZE`{3R_Fz)U=mW&bSmR6x;!8>` z6p*ppL>QjqMTm?1i`_cUX<45D?dB>zw#sEAoUnf^T_&5?4V#ad#?J-Jnnt#ll2 zY8ro`rb8kJBggK{d6+li5v<#-7rT7j5iy4&M@@F z1lm&jXcr>?8NL@y zp4!xJqo8Z~MxTpS`@u%shj9LE6*AqTM4r+Mv#ojS)h7q1D%(KQX`pN!?pLJ*kTEZK zB|$LEeQ>LclbAJw854vl78h8M`-Oi)!5SZ49-jrA0bYY}WZE{Uhb#iN3;;Mha{C#3 zNao~~iXE3iz+6_9$R%B!)}xr~v5@m}d_0N|*~*Cml#SPstlsc#Fy>sii)5C4-w8T) zCap34nG%d&d*Q<5bF=yzz2^0C&yXYwPp!YSE${po+6jYl=0Eg8D8|B~%RUjlD5p}|iHmb4eCY9_*gx}Q?Sw)mr9Rz=ZQnLemA6k~Wnq5X9J5)Ax! zU%PP|O>XDTP9&{Q;nhD;SC%b@hf?XQz58rU5v+7kwI1dFd`49M-Xd3NYP`2~P4 zRLM)DQ7WiqcC!E61t|wm6jmQ(*fz+AuEva=+*tx4D3a^6+kHTMnisU@j5Xf7v-bhr z9WV*;?mEssM=)JhDDZzv-*4gCtT+8>WLDri#aXya(A`_BbL%PdGEK0jd2j4*j=t~F zJz#x!y;Jp9TJDNBe54=KV8GrUb4jr0@PQA??F+=l_Sd-n=rlJgXmQS?UJMrz15R8i zP-s$+diBiy(qZOH=EAvMgNM4e`8<<%7r0H$_CW`i4+z`(+B$!X)b}KthpUHT7>bO* zJl^v+D3@X#VgcvDQnK(c-Y?#J;IV}p@`ST{Lzr3F)AlxTgpdRAfZ<#w&NgS(EzR(r15fxi85i8Zu&-f^?F;iW zXK!X=)YR)P(8PL;qhqqJ6PB5+N(Y;9?p{{(+1yKky+1W8|K8d1amHg^5%5X`KM;Sn z$id2=f_w+3v8`Yu=eZyyH*i~L@;Zhc(OPS4&B|CG1$}>+Te%Ljz5&YA-a5BU`qZnP z*I!KfG|{9}%_02{y@YJ$3NA6mVQ5pLm?T=biYn3YXVHjQj9BNMia>@GogPqLt&P1a zpNP5J;yhR3?lxac>lOqW9UL(R6=R?ba1@+;bggY58uiJ{Ozv#$Brgml zf>AFtYJ-vi@qvT`ZywLO@fwUMyhceH(?)~V&p>}NMQA$1xwHE^bllAScv1H#@UGCd zUD%B1ip(pnFOi2QS5g7zjCxV-0St!faq9x31#V)q*Hx81ZxJq8+gjOGi^4{%a{4~& zCG&-->^hHr%h9glNnY)xM0*x0b61yM_0#s2B&ou;I~t^*-zb%dy-u)vS)EbN zer}?x1n(A6-NWZoY5#JeoL6r53;e21ko2`%4gz69ofz#{09wpk<#B)ZayQ*HIypic3S@=skFjO7Mwo(XFrcal zDQpz7cvRUO3B)WLKKL8-$h#*n_8sI18*L)~c1X9O>28#cQ;DJmsWo^XI+nFVXV@{s`QQ@yuz8IG`U?Dvf{H z9<8;yRwx>4j)@x=a&lMVfC-3CUi&8#UVgj!_?9vyzs6zOzQ+au`{^C`m7VlEn;l4Z z@rE+LF^MPWVej2Rtf9B!jVyI|->N;C`0&VfZDXvdOf1KPvvryX4q9pPdL+0bcplCR z{LQMW5c*N%9_$!PnX782h`x-;d})8>9bbRoyf7|vrV(K0HTDK&*QN1#A4PHt$Qf^a zXno1N)D>TIXPt1#M)T|tLFNV|}w zjgEbY*+r+Z1b(XHIoiOOxFbUS4HNe7KH+TSaZx2IULujdSkeb{3usuvgW(Amz zmmJ+=t>kMOOvtPN`-jMsQu%))+8BI#8Z%}PE1-kdE~Bt<63 z5BW?>L;?i|9#Oujn|qDb)An=l8eEmR0hy-Fx<^*N0ju-|UkYo+CI{R27!nd|~s z5s=JiZkOp1Yu06P7NB0TvnL;zfmsvx?S6_XpYalFcB7cm?J(&vvax?O4)ArHvaz$G&2-cbKC+#a=&u}E(BmUBZQObR253#Ry3Z_vYCt8mCP?y$2q z>7WHUG*6*P)WsP>N@4BG9ES=68_l|uG}RDeps)aG>!i*!fyTqRb69sGG9PCoizSv* zRIvt5g)IAv)6{r7QC5E8RoTrm*#JtB!a!0Pdm^HfA@;kM!wbt@AK z2K!KYkj@bY1Oml-gqpiU`CN||e^e{WlSLNpRdRbk14TauNzb!0s4EC(Ca<8uL3Lh& zBnOw~y0SJyEU~$-49U?@X(V}bZbKYg*G6B+tBTp#GHHLe)Sw(PFYJli&VDXAOiSUT z!eQB6Eu`Tq!dk`W<-i-n5~YYpf8$4JwWG4Ul`wx5yO1kr*H%_Ltr@oS5G_|P1D50U zatT?_5^=#ly!U!NZ`6e{QQv7{-1!K5YxuL3z{jl9>?^Z=g@7W z%u0X!d0=eJg5sC`53lZ)n!WtSwpLpQ>(Ng!zirgxZz3`{<+fNh$dq!F=6S$1`E=?r z{C0@eB8T1;eHl!iqkULEV2U`9QaX^ipeI?o!Uz^{b|?W!9_YEtZ`>p7+;m@%d(L4E zKfVMG0qGx~hru8^G#Sx`aN3y{I_yxc+25jM8>4e>~ zS7g~Tj-SO{_cOe+JF_-MHEHZG_8aReF!wN>cLuZXV9%QZ8jFDJY-96M*pZsf(;uQc zj!8a5g8>++Yxm+{s~bkClNFZ>rU_m?)NS*`WBMtv@zn}7H?SNxN(;UV0Na3Y6&Zht zsbnnP;NX2No@2635LS2X=f%Tcz1PL%NR@%>=-W#ArLE;nkUe@h| z+QPk!`*7Q{w8K4_ajH=JJ(Dj5i#@8dsyYxyMS;gP(tK+S%NQ);!;rG1v(n_WEjs{Dca$Sc5ZCcymQ3 z`%TBRc4H08*HGDb5P)6~=-X3COu4+3o{X3~4jneSBX7{7r_V!#DBSbrh)GuI6nk{I z-fVl;+XWx2VVqM-6^_q^)cC;#+IG;eTbkl8P=h5B=FMu1lX?#6W$d!CFid}|LL3NV z;*Q6O_YMs0)|c_NlwEV0u#!CTirgglE{G=D^=Hc1Bww_cgibyA0Yk-0*(uAO`DoLGM!sFAt%0Z&HD2M~07 zmuiF+Z0u$mFNzGbJ2z~@-gtk3XsnSoMiYUU{9b}MC{Ljh@Dwfiv<16|(1M`Gz%S@3 zOeVXjXQ7zo;drZhd&5>*C`YiQx7`NRD8t0pBxz%aa{R_Kby*)nH4|)JsMmJbfqFC6 znN~I-E!1NVqL%NOfR{`Gi%!kOtPgRAV8z|gB81kAvqNU3JiI~Xu?v3@0Uhui2jZ31 zRT7-x5?JS)KPtKk?HSjFV+&&Ixe!($xA6YebuKk)c+w?`*3yKzBTb10(E|I(3|yGO zvgB^fX6W_y0Q9ce9y=L2iT3d{ld?|qgS+_54YGWdbwQzmo2P~0&G=h!MiQ@2*~0B| zw>pf1DKaNC?W91XH_UpHbUY=q8pCgXv`;q&i-a(LqFlJ%E}nk zYiGg&xmI=}Xf4!7tiFsJmTIOqW39QtkyFv{?XpBp@8{ZL@wAZf-k8siacf}TSZmWC zsjOYeQy;Ek?q_A(io;kQO|JH^!v}xNhzm6hrSe5 zSm)ib$DkocNQHl65T^!VDu*@VjX3BD=a7-pPYr#zD+U)KHAlM_`$@mMqRHUEBNCtV z3lyEnhPms7aPn~)mE=C2=ZwEBK%?)?f11scn>LaIkru-BbIvo~tZA{~u2+cxwyU;G zJu~^=PR|q9=rnYB9eZpeapA#0XF;*YnoMz6uilIhW6pmZlYe-Jvesi8(>h0huyu*) z15~nspS$p~hP2G(j2|@;FkbQrk;g${(-q`d1d0|tnUhW;69c=rzZAUnr2&XV^4-5 z^JSB$sI-5&!U_5IO>DmAygi{d>@|V62n3reMLQ^{;vM}Jyr(f@$Cw~vp5RCHoKwnJ z=XSXvFb1VFqPS7YEcA`G7rNsESml~QhF~;{8w^kprGc;2 z8%wucggP)mXmEWM?)-OTQJ&zn>H(EQ77X4sDy4q`gsrfoKC#~LitC0V-Se>?+Kvjh z6r%85g>vpvbx=#Ka#866bg7;Nd2H8`%7wRd2}C+K07M@8h&D&7}W5JfRZ&0dQkCao#-7TAX9pg%&}d(~F- zd{2MJml}>lttsQKGF|%uy$q{#lW?I1$-9EjSOM`?%XX|)EvCvOOo>&Nhe2RtV4ffn({ars<7FsCQ^-U{6&yd9!(*9R8E@^ zIB=6kZwx-)(V!nX_N~$Iqdm}B3UgBG+eAv@N4poGvVfn1eZ~S1t?lg6HVoy?T%xh; zX)&hy%OU8)fnb&CQ8_~eq1%Hq@dDd*?vB+>XCsBZxWVi<*CldY0*eCLA&)Xm1zvv` zj%E%!1sDbY+&dvH>s{%?u<9QH2$at5Y7B(l$MKn`yE>%}Ma9MvCUuz-E}vE_BJ0Kk zY#BCE9j7c~ewzH&`aA4BgV9=((dQA&jZmzOeHZ-hd4d~b&I3jbcIRMB{>%ye{psx_ zH?2bT!Lb7KENWw&V&fhEUA>e&&q043SS~NcLKA`2$c_@6=FC+mH!}u<@9vc_EUgJ1ih{E>10AS2rR=+%+RPJij z7E0yS4M>ACGLwpiRNMQU1Q6};?}p(+xHFlYzoT;IXwTluwXw+^QwFonE6G%S%2EDuBGl0a-R(R5YT#F3WOAg>N_`wwi95^g zn*<$WQH8%e(K*<_aDkpllHz~X8!!8s!Hde!v#+@*m~5#4*fi-S)u|oJ`DI0#4Y7&2 zdS9q1mT6fK3B5J%i2)OI;*3M@5rH~zvAr!JtshTzvSdGoIDDCRo8nifB$(t<(WRI{ ziU}D{fBv-vWK`?E0c)jtI}f_w6V1TDJE;rS1&^u=2fjcz8<4&DMTdVE2+Q#MMo=-= z1|$%L`mua&^EfnbsVyKKIp1f!&Fq)}w+}v*dcE{I&Jt*)PnI`>EFYSOyP+^x39b{> z7yB8Qr|XWB`$-dsvP^ypN#}yU zN1`e;g0wb<Cw7UKiY8{e;#`SO8TKmoi^yZ2q7JZWS`HoQ1g^y1Lzyy zp#Fqslbs5V!Wpzc-i6MdjquQG4YK>!^5G8^y`Ua<#(WS^=5&Ain<*ZOb?n@v&E5Qv z3Y-4Y*Fb)PLMty83vei#4R3rcECI%vvMYJ27^? z;lAONC`GF9eApav%ccbl%f{btKTLq&6W6`-8V6z|ZiVk9wbTvDYM(J;N>Ccq`+_99 zFkc#bbena~7C?WIgi{&gsdaAwAUs!b&K`w29d!a~GN6co1 zsuS$e!a+bh8s;QY|;MZY#EYeSPazFnYMRyNy4X@Ga{keTR13I39_COavt-l3{; zXdAQegn3l#1Iq&*M_XV?hfB`z;HG&RBP8TLRry3BsWPryVK9sO5n1aV7*l|l*|&(G z7daKaZh?OU3e5&ZCSd~rOR~W6XLQ1Te-C?eO2if6?*a!*EiS5h9A6^}nO1;0tiD{taq zyhd+X$PzaX+LPuz26?D={oZmGQ}$DP68@7W)8F*fTUG%(>;=5rt;@lPL=%#FtdlL= zV3B{cbf!D|_Spx!T(&8cnT;U|OIc+q2&(n0vUvuP$*-nH$sAxLqM>n13afG|Uf(@p z^X{!<%?twLV{eb{tgQQ31{Tcre&gENnG+z9O0TVhVsjeui}hNzv%xC!S~6nLtzvmg z_y~as!br!pQE6+i_&##m<1ff0zdz=I_dw;AIyCpXp-a;V)wU?Q6Z8>8I4pObLxt_4U}13WCrH0|`$>k#NXhD*tIt@l(I zT6l+z*soUbN);Zb0Uzcoyv@H7>0E!@JJI^|Yc?`??%!y0s z2naG~?9SiEGx(U7ldrDB->TjwbeTJnRN(ad1e~SL#*0_Oxc&oc-<-QhMW=uBz^X!11!r2tS?da!hCULat&rEeY}l(`u>ghAkbd&-0yC&$pFK5xjLUN@(^Sq)bL z1$3TFfP`-yQ|$l*D!a3L#&BqBgM-;p#^w1ijAo?<$azlvcU92FBV`v^+$1~lu-j$7 z-4qMN*$9<#c@A1Un{j`7MI>8dG~(^)&K^7x<)ON zhXx%_fU3-!5JPVSkHUwRMt8S;h+|NiPnHHEJf2o#G%UB5mTQewnWR89z-nYQRkiay zoD9df!X<9A^>iluX|7Rdw00+~O{+cpM664mm@$kKn;;x3WFvs?T(j=u&KL_8F*kiv%<_oOxD<*kd&-6XGr1fR z)HmZaVOr^MZ1;b{j*B%Mns+*vIGl=GD@>twPe0F9an5v|RAY}$i_PjN@We3XZ@mn9 zCQlmM30RQ0x)4BLhec+VIp(t%IjJECP-@KY2DgLR;|aEF4D|w%Vp^-3mRbwXlmobV zygl;0L|r;5M1kH!MmCk}tF-;OL|VkStV|k5Z^IzT+hu?HJ|p=W6{L<0pVr3HV$jo~ z>*TS0oa|UXx0=DH!K=DzkJo#NnPSt0Lg%D8l`*k8pU&p{*mIaZ9EjbQ7A)jH3S}SD z2CTuXAl0a#AK_;D+L9;gsErY6)k~d{y?VXP5yj!DUhRMz83ADVHK(jT;|PLK8&O!A zUR<7x@?L*4APvhFwT$r$@-f5wdQGal%(+mdi(uF2z3s9IQ@lsi>~j@=44(tke z(dacg2H%3i`9dZsb5ZtsM1VR_H)EPGW88`eua$r1YSl|M9^V`|rh4Z(zrQR?2YJLj zyA4vTjMqwLD+AHP;=)m?82<_0%IA>;R>ZJpnLjWBA^k-;ldqk*ReX{8()02P!S>ABdP-|~UYQ@@vaHTUJ%yQBx8wJ?Y3g!0Ht~q~=LXgMVzOpMxr6)9wD`TtQGgft{;XMQ= zLGO>!i(vLuX~8n!u*){`{+&+z+)>}265KM(auv#H)U16z@ynJ%8M5zVNsRDO`nW0+ ze<#VdrW)6gQkhu?4%8t9guM&En)D#V9yjR*+)gU^@$oK`qatHgeLZWKDctl$RlR>M z>|a3X>aMGP)mY`;JkLIZSma!&NGeBrZIr3c=G;G4t5yx$Ae=)ZVt_f1=~3s4NRXc7 zV?{RPT}w6b%-^tdmVH_0UR_mPsFMVs?S!VyQy+nFOH$dm=216KBXVEasWBGq&c}p$ z>urcMu_{r2K(gEpWOTM66s2H?ZlHg`_f-@mP(l3$Asv?NY(b`nI5H#ZQkR`nzW#-- z16ga1Qd(qS>9N)Z1B=}bTsmE)Yw0ogPR7n93tw`H!utHEIN^|+#o~CKV|LO+IuF>v z*PB{eD8-z}Sooc?56)EgFtdnQUGxL*3n!_I)+rTF{pqTtAv!A@!bkkisQ`cQa&Vmuj9a>LCJ(On6Lic z6{qHu!=PIhnG4{N$}YU9=^`taJS1rW`fzKozV{m@%!J9`$`>|dYsbl5qzkl@3uv18 zozm9D?AWjD>v)Z;fJUxxEf%G0o=S#&974!?R22rw6+4 zR@q)*HXK|9gHlSprDSaGcgzn)n9p{e=BVPwMk&=cU*Uf4YIRO@l6!x^b>35Z6W=VN zNXH)}x(r;Aj=KgwwboaFquoTsU-Pa;N^k3>x2uD-O+CvPQN86@AV#@$eo&M-hV92E zhTU92M-Za(&5Uk36;-ep+j8Q0@uAv5yb*ot&ZQ;685Wv{r}y?2LNz!an+;g~@VOIZ zAyv7qh6RY4HiUz>Fb03)i@4evUK)$B=#y}jzAhU)&x~^s3kJzMY>32dj?}HNA?lDs z5I2Ksz*ti;K;tmfF{z8wtcLgul6riukU*5tvWcx%VOZ!yVp`_ z!R+wu)@U8y&DcRne5`DQRCx+_Ye4lHR}2@(fDM~u#F%sMf;NA8NSj%Ez7&SCaH+H3 z7t05Pq17_xg*3(^^$gzj$>;`a>mm~>74p}@V+zLR)*195Micg8wJz3MgVlR&YuT&h zc@93CCppGL{-e~0)L+cCNfeB$wK0ol%G4{|5C|PR|ZCabD4V%qg{V-c3bu4eg_k5-$a&x$TpBodCL&fRM;O|V*mK-BqFyh|c z1gJ#YI(Uwkfacae8XmtyQk*1ZJ#C0_^vF!LlPt#nSobVT#={xPg+P=N z#TXx~ZDj~Cy}_sD(%k?H>d+vONE6bpy!1z9^2Mq^oUDf)<70ZIoSAq zv9=hqfQJRXy~^ynbku*(DIWO9nW?a)TCuwXY_OucnJ}Tn#xH@D~32{xD zv(&6{DVHZ}>zt0c-M}FO%2Sd+n-|D!Yd;W1a2`VdLJyK&`B?p+=ZeYS*|CwW7;t}Q z!1>g+eSwPT?U@BDE9NAY<-6<&dTa9?p$rU8r-|*`SsYbm;1*H~uc`gO?(5|jbZd0Z z;=)XH)zTZQ&>V$#!J7K|k`g$VNWXW`GP~6Eyn1Z%!dcaHkcL=|n%8y9szPRfK-Ip^ zUjNd_;iucs;|WlA?R+DWd6v>i0B?Uzb0ZtEjK}OqoSkdhv%VNlZsamY@TH@1bpD~W zy_)D$BgVu!gf(C-(9^L6;!R+zZwY+J`vWd+7mqA&CDIsHA16PB%}9_>QHL|L-RHHA z2BDwX2QhB*00;|2AF!ciHg=y~>mx5TqgXe1r$FZ83e-}xZ0sUWx^Rb!yxM=5)gS=# z8&1L;B#++T@ATSd=g7+qdTx+R$C9y3Cqy;odKd>j0rb7mklYTgzSK$vX6GGEi(f&k zdVEBSI<2(RU@^Ylb9q4wRWb+n+eZw;mT>P-9^WluGdsGM0s7#UoYKI?V@ZA31q)RU ztUwJe>qv_6qcypV|Cra|cBOx*KhMlLdP6pe1%$^7XG_Ux^#-jf5)4LYgC^%g5-7QMum+PwYAt18)-b$Ot9+YX1Z zH0{Xy9655lx(;nJBd*V)2ot9-lspq-_>6Y=W3IM>fJF8s&uecj?plAnk0r@R^pwIM z?M_KR!#)GeU_JceD7-F)=mD>=EY0~8A-2ld!c|7eOeB%tLuavbdg2x`o}ZDmoVsyr zRm!pG7`!aC=w-OhXFb`1XYAtryflRC>70WS`SVzi4A|B`gpZWN53r)4XP{p5A`}-} zuf^F_22k*G7#EV9wVZ$Q9?f$qP_#Yz0w&DtiU3hSuD`#nW~KMY=3G-%gqM&O*JmNY zal%GKxijG_EdA1Ff{0vdAt~-#?d6)fYMOEAIyLo@Gr%x~lEK&RHiqWHb*bD5SIJR? z>eckUYmZS`=90OXm1*YefyK=`6q7+m-OjZw``Ef*E=F8E%i5fJ9)&`GCNt^9s9LT= z18e0TE%n4Yy6Q-VsM_)#U1XXYb+U!1o8H^h6P&q)&CXh3tqk&y!nJ&&9%~6XT{~d| zp*VUjleF zPXAe_TpPO!;xlmYB%U#|-K%uzCsTj2E=xj4!0wb`TllK7yei#)OV6$SjXFDahQoOA zbf-Xef@)yxx>{RB1a>lTmhm!fZ-_RzWL{ihKz$`z4P343oOP||fP{q#N*XQ)=PN4J zIqvOoajG1_UDgUK9Of*OWB@q)lobgjOq7a?YzdC;e8x;+(cEh*7c}`R-=YTk5Uzxt-hbbqU=%Pq76X zLt$YjM|q+umI5GvLS%N{7GYZAM}CB|gwUdwkWvF>Q9qkM0di_Dgrf$a4vu@BRrhd| z1kU=H9>^>`y9E)KcdvNku9{^Zm?^A%@aUcH$%cyQ$t8QX)OukKbuV3@W}5eDH6ZI< z?$xy`u}YP8T=|zqQv+uKiI=WZ1CRmVmp@bk8-KqH`n0Vo94O`Q;-rWMrTBX4d)^^- z=kl>%B}CmY431Y?BC9UrC_=-DKq%RDfcIB#q=IeuUCy5#U^m@9liq0G#I~2`Z#gdV zN|dS9fg}p$FqoZOijNGX3-9|u#Ynoxd(p1c7sbZC=`5rUPupBiMQ8}LE3cH@%=iTf z(SPYAZbzttWKX+hx2P_{<3d8ZGxlS63vi@x9o%4drS5MxP*M z@Mil3LR9$MqxsWU<*2YJ5X&j}YH$;13ywzRq$icmg>-%eveR~JRxoe{92wg*7T5_>y5mB;!Sg2D6!5kK=KxB&N>~&h41W$G zmTM2dd+Oa)_}OxZ)jjs>Y)uVZEP*%D-U5g~SHUFno~xb9PZH=XmCahYWh56qzVNkW z<$*9_fbxoGff&QsqU`N(^h@@=V9~wCkoe+A(^)lo1rCM)SfI%&;P7KZ$c3xua~vAM zs707=_X3F$9+RCQC!bd6aS;3`0Dr4D6WUUN1hFz(TPI;lvODs;_{dw-+Ah8Wt; zX}1(lR=*q%9vj@=^!CLJ*shFb=Y2Z!Cg$c><9kMjoVwTzn#N0+hE|Rk+2b^Hk@F4` zXG`CT9XHNuVD^*=Bgo6wj9C2O)k_{$h3Xln7Zx7u)8O8 z{CP$$^l`FB&#w0@!hhrZ6RV<~`n)ongBnvq(m1L6#*FO!v7R0|Wf2*u0;!l!S$A^w z2d2rc=b^M}k?}AV1!^utI8434^S4gIfymT?SVDLNFt` zC$&GO3s4`jiL}s9A*ei#QSESQ9#f{j>#R_6;t+9HI0b5F=Wu#$NBv3W zxus2k!3*@EB#SIx9rzh+)6C}-jCx834MY5S6sGnpPpVKq+yf9-6k@KWExvR5x)F4g zUW>r*)i=U>xt$21NkXdbWm#II9R|8;xVJOTf>tZSR(}~_I&n$ifz#LUQ;ipUAhykfLk4hchzti z+1_$5x8r+z&(7u0AvV_vEBTMPGs?0g#j)U)Bm@F2M_ ztCCaK+hEniv8Uf%@pL%;W3C-wSUJYSF@C6A)#rDo#DjMFQqG)d#bYcA{`ziCHThD~ zaiXSm$hzhiCK)qT=Y-ikKS2`l74RRyn?E$ZGRQ(2{-!v4>;Vj6Ta0+u*eK!SWOLu9 zTz@yW(O7~-m~vuP%68ZgP6fmK13!M?ePc+t_qO@;Z*UWj8Vz7`zI*tz#uqYebQyQ& zdMBJ7pS?*Jr-7jYHOC9>eIN`1W1Y0o>u2WhM_(BUfixCTZLXvMb#?xk_y4D2Ag#fEUWPWi zH6aJ~vAgQ^v9=MS&_S8os&EE89(H$+=gj-CU@>DLl+$8-P?YJDJ5#*96%B5Uq~sLJ<^{jh8)bM7IgQ4~ zLnR6Lf6Ke$Tz*ja6driW)4Yc6J)s1WopJPUp*WHv_T7-OHyF6|*iZ(6izJ2CQ{y*h3zyg@1hSZ+jzEM6hC4zb~fxdF$}2jZ0=S1S>_c3xzmF zi=bdVU!1YPfuO8Bjt*|8bEFC@9N(ZCDP-ngkP5<_wqEtqTDX5tlO5* za!^K`Z*1?@iD9q>7u}eN$Lpsa(;c926Eg;FDDd+KMcE}y)4z%W`2`z$(#(#H8=##v z5AQ~TS!`&>qH-L4-$s0tleb*p$HlFoJeEKHTtfbM$s0aqi{7tD?SJf+u=eN7-456s z>AaO4GG7h$&pa1^l|3x1?n>G@4jnvHU!COab#UJSL4Wg;@JS)O(u;H?w>z7+h@wGP z#C29sjQhjfN-*O=^B4geh=?+S--TTJX}Ep0|6UFSEu&aQZ%DtWzh#s2zK6-*jYidw zG2vm%3@+%>59>SPe18W4`)13Gh|8LDWKkv<+=CW7dP0Qj4#Gh5#j@y@q?P}oRbgIF zeBHrs5xJAfp2;O<(SCr8b@r|Hxbg4lV1b>pKJjjlY+h_Yc3E%|e zU+`6~+m(pJ>bcY!u_7klJaF5~QRBPg$>NWfk1Eu?Q}gTGLxF@04{H<7XNsUBBgFS%o~mVcl&yLOU;!*;}K$vK$$NHX0Slh)(> zL;xRo06OEQ@_&PYZis~o&B$ri@U-M7q}_FJklqbC@54>EZ)d^~kPQQneyaBu_?&+} zE#<(_&lLZbJx_V`;M`pDzE%C#KIS(<7{T4-e772G6OUUTx@#yt2#&Iv)UUsO{((0-3}#?e z{IpC?Q|16)u@z7rU`7+rgy@tP7}&)RGFLfYoXxya8Q|zRbR+>a2wJH-2HZO4DuWt$ z&+Ln1pMP)AlrS^~!DEJZPG4K0IF3!E20r?i?)rg`@D2GB`XIM@`hyOE7(*$_`_-&u zR;NT^S+M39vq=x}Ywa7&e1W1h%2Oy3GVVP+i_XdLla`0wn-6f4^K$xy=JnF_+%I_g zz8RRHi+h}GION!eLwb#Ew#LFT65syn=NWP*k zF3)do=OjkH4m=~pjgIsysQ@S0$BqxwL^L=I0cSetUt*g)^*4#fGrFEzYi&~4)3H=( zdVjoZYr{!gBh!`KC#|f|wYHp`oIUR1BG*aRv4FVN`5C`^&NlpUi|1&yci3Zd~VuT%-=#pKX;kId6!*^MCcMIp(cYq%Lh(XWT+D1vOZGMf`I^1N0qKUX`b%+K?*Jo_ zOiW3ZThKb>V>b~x<8=KR@1mY|`zI$|12KY=8G4N4ui)=pyy~`AZki}>$Vh%=vZ2EMKEhs}YkfdY)b+DEc|rc- zaEQhwm&1+)h+fUk)w;zx`C)cIhJW9QOI4t7(;d zke0o_uOm63?v2u=x2HIOh-j(?M{wRgvR8sK^88F|4L;7=xu(4Fis_+Vo}J@TB3ky@ zMFnV8*Txm0u?=6+!RZOt1a!|A`uB*5giN+p*h_I$!Nvd;_Ski`&>e@T%h^eAMfIN^RtFZ`?k?LtuUoR+=4+Y7Sbi zv?_KlN2?9taiJeLouXncOL&4c#QZHzgy|6YjN+UoRlK$MhF1?zzJCS}m>4%Q<`^F> zzjd4~x6OMr3knB!P+oua8Ut(QrK=Ph2gT$j+@$rT(SKxP9U3|hEBq!x66hVLgM@sG znG%P=?W~=;MeYROcKPtj<~Q{Ffsc?hx8}VA)nnGj@(pH*?Lq(E(_nY;O|XpNc@`d` zzH|#>A%1B=4f0zcIDd`;g_>Xkzbs&P!c}1_$X}ekgK#1m!|+~bR{M>Qpfp@spEK&C zhVkQv3m^2p+Nb86qbCkDz&>MMsE2ltI=}Zxfai$5P|7*b|kWVdkbOuRd8t}Dlp zl!k*$Km5w_$J+TDAED>llDtWeGrLd(5kzH60RZ4{TY$>fzJDhX$8}_!WUDf6hAe1u?T~v3IyavLou2Q2 zu>G#RInHsa6?Z6weyGU(la1h?{=;yLLE@+%Iv(*w5rR`Dv$ZvYTiiE8gg3;@aS?Y~ z_cuPmdykp_4u6QZ^Ay-Pp#8iqysVdjEA-I8g-X^p3}{)5%|DyNw(&lw5SLhJf->Z? zQye2!x~}0IoNt}=D(WL|bp%56to%nlLVP>(M+z{i{%UkY9~-)n@-Y>YkU$20U&=u4 z0mB}kO9m@pJCG+bbJK<-SlSqqJ(2If!)OFdlpIbM^M5#@ep)3BT8RC|N1%SrAhvRz z2F|7pXxq-F8#8E(1Z7-v-pmRsVDZaXRfF@*d+~|GUQ2rN~ z-R>~7zd|2}3ICRaKkyN(AeHn=J&w@LyC0|U-A%Hu zz6iw+d<0dtF@$O=UdXHlRBpaebcC10Y z#p+4+N6E{aF=y4xM+D%+u>9*;|NkFhQlA6tlcn5Nj5?9vUBHvP@v?Pn+7K|04EE)3 zw&0>R#jil$I10dyTjcH&WEPQw4f2DAihshzP^fsLV|j}&Ci)O5Wxv1i5oE|4xzIv< zsGF|Lc@gHcyN%1r+@HPAz|BcBlyQqoZ8=cb*|JrTvN-_Z#2Tv`v-{3gv3@YLYU}&F z#-_ZDz`Xq0ckvrP@)06nXV!gF56vTT?d;*l_pi;X5!lpN-^+}5VBoLl=JZzP{eQII za`0Oce#YNC7Km2KNz5rvjGJJ_(RGw?4?ew91n#IYNh?DETX)HjjlGU)};%eO>~Z?qkrr6SzSKs0{amxc%AH6E+aY!YsSw7x%2S<;I%=1 z;m<~T`G#M*ZotDF81w3k9zZ>a8s#7L53 zIg@?6UM{E;TE{(9rU*FgEk*djIIiDurCwd-&t|w0m8K7k`B`Wgcs8*NfPaJ8Wizp5 z_x9Q+s%E)~dbyCNJnV$9jn)$^h$LKNXF=Mb9R-&w_x+R_&MmVOnI%$nyKY8-H=?^! z#YnhO5C9tLmiW}U**Za@dt9Lk1pIV~weWJs7oTVYkxHxlZfLTk$aRA=&1gyL9s?Lo zqAWo*!*8Ak+taWmRTIywSO>slkx}L9J6n9 zE`-=O^!@WTT$N_*Q4t@~#``|P2UK*X#@&KHX-9X&e`NOsf7LypbUHldW@I%b1SFVQ zr*l>V{MwpS2IkTAKXfW-yfVMBa=S?r6XRFvUG8Wc7Cy{;MxMc{01+rR=sgP zM60$*7|upq9*w?*y7s5*k&lG89}pToLZ|fR6A{Q-RTJs!gnwkLQkND8?{C7E3JpQ2 zxDn^gcV6P#p$ZA(Y*g34-`lC~ENHPKVs{>E@o^$!qji!epdc-LfK}i(f|lBux0BVP z(dfmnN#h?8Tlo?{kjgnJk&jPaqEKHc*rOU~jsl(&fJES>IzvzgX8~b7vrnvNWP#xc zy@qBz+C22{zkiRwgL#E)quc)qN#=#OiovKS(uMH~h{4$Q(ZAC>ldrj9y^LyYgAf(| zL%ycKa@^w7HGI4)@WBdbR=)85o(7h(Xy#1h# z${;SI^VzXJzAUp|aJGxB&F;a|VTCG762dwlXTa{^WPiI#eYZg)mM=r@t#?K(AG<5& z*&qGD@3+hVkIt#32Y&cU=G_o~m}gi={ZJj&c<0_K&ETyd1t3REkGJD2hE7}OklZb3 z^w|a#HI!yW+(3!B8+++#8VC3eyNfv?;eZ{d za`FD@Un)K#IPTIiC=ZEYPpRDVRL!RvXS>>c5tR1RY7jSpZlHNIlgn9uw7mX-NC) z{eO~Asg|0&TN@(koiKlc(%vSVV$iwQ0eP}J!yhGA^F1I5#tkT#N)3X7Xt0xasDH1u z*71v7#Xq{o6G-cP1S#dkz)_@=GNvfN06D?iae#O}@U-MXA5FM82B&UVs`*toAdJl0 zgk>F2=ZZDcn~u)lk>8~Td2w^KxMaZioqr|DHuaB$d@z;IuXbbXF?b=(64hmU95QLA zVLtB>5X&|$cYsrU#JEA1rTT^MWAt4B+^$M|zGVK4ekSZaF7oaIgT2EyY_UzDD)X`y z{Oy*Urr;yVhTXXC?n>1QCGFhPM}x3&eY6vVzLu-Hic{>E#5>6-;wCpN47U!nyMK

WV4Eqx`M%~;mwiLf>ekEww7nx$|Ui=91zZQ+n>&o_3lyTCUhBdPO zi*_I!L)Iz1bpFUk;Q51`et&g>`t2yj?*#yCtZq5Zc%1;tyvI&C)Ti?Yqkfd~vlmWq z@G0%QJjW)<_p=URt1jF;SvJp4TGqCHSPG05JG!^8PpQ+@;O?ypUm0>5eWSx|aVW9R z2b*o^;LrG}weR@2coYP@3992RS9ROdNuUON?z4R`IbPJHXv@WJK7W#jBr8z_2kWU% zc{S&&<8PCp?OfX+>yjSDMnh-KzOs?tbs-cqML8Qg4%Im&PjA}sxXf`i(0SZ}uXaA- z!c@T^Lr=588C|*MU&PL!_s3sL(Wr%W6z?H8kI&w10qW05 zRs8TT%8^9F!x;}`@PAmOvT#37aLH8K5@;!Di*}5rBRXqoUr^b1^;O@Uvb)J_@w~Ug z0-E1tCqX(#kcY3&zL2*#Ip(cutA=+%Dmmz(wXWWY1xKT>X$xnXuEM53+kuMU>9iV0 zzZHXcJ$=S6`;ebeMW$8Ja69 z`h(a91cQ!N?LDZMozZ*Egtds|4GjGEyFcfjU;XRWg65lNzny!-3SJWjr1Z&4Mi%Gp zt~t8{tfLeMig9Cemc2+y8d8%TH5YfsHpxO70&lrz#wJ*e0_9P$Sj`OiT zN6N@tL9~?8CV$im@3tcN!*=1Q$FcEZ!2_Ga4Uh}jg^H)EJ~}P@TT-Unyqk9aYI)A| zkMRdu<9Ujl3AIldJ4!*A*8B==X%szF!Nk+KQ~rZx+*fg!@|Bvqf2sJ{dP6O(jnJ;Y zBLzq%Aqid>dOqL7yMqkcdUoNsLU}M7$fnEBdh~<;Tz?&M%4cQ-%BK=$Yh1-GmT#r5 z8py5Aj)nn=Tfuk5Z>RcqGUK_pvia_=r2J+LTc92hbsZeh}SQd&v?pw<9o@gz&lq_q|vnkYfG&%4y)?K4+0#p6F zSvMpHZ$pYLZO7U0yN#4i@jqTu+oCW-U24o%z^a%OcYRdo%vZT^7)M`q3+~oF<$nNbj0ZhE=EWI^!RJ83Y3@{l*J`{V@40P} zR*M<6<>KF;?JMZ=V`9JI^3 zGS`};PP&xoQ>V9fqV4E7IHD;7%m!H(z4C_UBKYCQrHpwFrCW<*?X3XJG7$t$#(z+6 z=cJ1u`d35j&_oQ=<4_`(Eb#;8x0RPrBrat%#;Vhw?q=dG;NT= zd*5@MEn+JWQhV5Cm=kZ0eg!2CM1K}?nvFj=)JE$VUA=dNYLB4OVEKN0#{5Q~P|;W1 zk}tWa@95O;A{HI}~Y8TR$wt9ZTwOt9qJg))oz&z4M14i%4Gk83E-io(y*P|b_iktUr(I6-8 z!?ynXA)|_RHMnAmo{)5Qhks|h#@PF@rDR3mB-ohC@IXU%GY|29zWy|24KdHPNerg4 z4UZ4DJU2pyNsuG%pv?ohaI$-$Cr)YnJ2eGEikIq;(pLBIPe^&0$qLU3ri#RF(bv+1UVt)q1@~%Co=M_dSB!2_mPq8s8jmzpiDqL34S*ELT8zi&UDI?}!osFTC%xA)O z;r>_f71kRA4pFxcgpoF)q~E~l#wm#s6Cb>1|a&NBeOXXn%7pQGC$3`vlECuT6rB_G~Y&FAY8hPqp(dBMc-1U-^N@6ctXM zF|7IqFZK8CYXd*goyFDRwEGrB#K-W5d+h(GT-LbjmE*zVe851Un1GWI8|0?u@KJEMFci{$ zWy&lRd*W-qCmqSYg5f_JP`}P!$NkKT3>Sv7Nr$*-ZY!|6^%%+dbjsg_?#_ks9jOE_ z)1?^38U?-t34gIUfl~TeDthyA9rim91e+#oP~gsS*nCp!j3C%`4i2o1+JmV%Zpe3Q zw+8Ma(BUHE$foO~(@a|BgTsL#=5$$TZBKgm&E=%c#Nz~AxR8+{F2UymCXWw2Jp zqM+b0zq=qO@q8zX9z@>#vgkHzRJf1Fta-oZ;rR}3IDdOgDX6xymexUc;u{J%vINY0 zO-Z}5h(YHI`QrMcK#uQ))#S~NpX2bG2h1|P@g~A<-e^Ff!uvo1Qh~L3QNQ0{aQP`H z(k-@Y**(yWA6_RYUmjzoxcx=MALNtlDM9=w+6d}-Ms9M7&l}Z7cCuS2Gr}_piPl*6 z2>Ggb_kZz7xNDGDUw65Ae7z~u(_aj!-NmF}jjszOA4g7=TlzBUv0x(FvHmGx)tTv@%{G{bj*&&jSm!QOb_?B9X~#l?T<*$1y-13B<9wVfZT7MTOuMMW81yKmYVUDksF#_rYnu^?$cpWR+ zew}Q^IY3`wFLBQj?qrnT)?t(g1f;lT8>@6p_=L}Y#6317rrt@AB?hkw|6IS!dzY0A zF44|(#D{Y5diK3Q6@~40Or9(_5rdJ^dr)HoocV~h(ZlKYfI)ElWzl4XJ8J0B%zxfT zJcTO8T=)f0S=hlMCl2zX-PbXZZ{LGBY?k`ee#p)5t$}T$k9NA=u~vKh^JMnHXPk^1 zj_G%!3=$lXAgA2!zFp=I?#Ts4WDzy5TU>eXInJY4o14pk?mkUoh)d5^?h}z9iQGI0?57mVZd$@kaM; zV`*t~Y-Hh_Qbx1PYLPWL5pB!iSP=Du!O=j!(8Ia3L>0d$cV;zGyoFWESZz*XCLV$n@D7cz0o20rf^JdCO0f=ygO#clSKHD9p-j z`rdY?P`m^2A$~0BKcw$)!o=6CP$UYTlr|SPM3(}y_??>IWDk|4f`2A_I|Kl;?Og{5 zWpwA+<&*lIqy6?pl*^v4LfogV8rK5OQMkwRBsUD`+GG_DH65t11WwKc&!esPi3h#B zeP74J@d240GvAjy^|3MOjjH1am~LOjZ!MfX9ukM%_I0}2e`UpWX^rE<|e1 za*$rCc4j&DaKbZ|=7EzG8y!#%x3cRENbgJgNI3}`^ZHwd5&is5O<+kW|3N8T>l$|4 z`;@3F35o^Xu6MSPLJEN>+a6F~OG{M?L2dv<(m78JVD1vVrGN3W86T!T>>RT}bRqi{ z^g@r_y|b17PEE|dkbki>W&h-ge6vjub$w28U_6^_=sP>?O>EGmm2A|ZC4O@ytcQ&l zPkuXX`Rp((CE9nslMZ{e_j!B~+Jm3APydzyKkyOokM@1BN=)My5zOqY_N0z6^+Ol`MM~IdgTP#`GipvfHL)-{=M-#01(DjAbq$dG9Hx=H3txn%r@za1JgggU zo;)n0g;CM4f{;v``{eh`{4~lUeNQz3SxQ>@u3)X7lz%Fq$w0}tYf)A{B7YH=P5IUTYYX0CJpn0`NC=uTyTrG2(v*o zo@pzwjShU<+8_7`q0URB+m*Zqml1&j6MseSO@z~w4)BBr0yX(HEdWLm(oiD^plVtk zd$q@SR5pOM`HdM^Ma{AHk9>rAP3|N}$b2i0f_DmCn@4jH4B2%7#!BrscJ?S?Ws1?w zORuJEoaVJo+zz0oSZ88;J9odEZC{3VpKtk<~~>C&%Gk^M7{W z%BM@dk}Kcm`XUc&EbuX7)W6wj-VV}HS%*ZhXx!!PdmjgLU{rsWlC`#gyhXd`BL#zS|v zuk!#l_^hdTFjfZ!w6Vld?xOX(tsf*iyKc0v(K|2$I1(t%TZK5BK~euir|ZN-uiLNB z^BW(bA+2Apfg3c^Jm=~`sq)yC%UZj=!I-~I&-tK+H2M5A58IR(BRN2-aeqipoo~`U z_Lh$4?9#PhOyvXZ2)WB0hm9&`368?Q@ewfeW_xlDREDHkn<<+fXe+AC_dcqw$ywjfpUl92)DHjhC1F{C=G~& z5vmw}qmS7q>kqiW{gO^wB$#r-bbYJ1y-ypOA1i{L&6u`07yZUZ=zkHZgOy`qRTA>1 zF!-q$T>=&P+82${j@A{SA(l*bC4-RXbu0Y7kMQ{iY=wx1VuwuJwtXS>I)m(YZrN*} z#;v;(eLn3sKEiI*)DjDmem+zPV@bzBhWAD8VI7dP*rQL?_LFo3I*~yl0-B%Lqkqre z3C`WRgv552*1T-I9e?Y~+Lxcc&m1O5iAB!&E_6Te5zsT-@1pdWki+#8YF?y`$-)Ww zNgv$P4i|hjg?z}xlxsFL0NqTwTk^^}^x76lsC^08cK&cM5Oadso}*pT;II>!zD2%}=+kXz*AlsWcXVVoFO?$j~ z+h#7@;~E3nqb47xmX*!#?52VuB9 zfgTQBk>(YP2btUW&b~usR>?qQwg3M|=$$39 z2|dRHZoITeHh*eU@B5Ja#VTcWM^kfIbF$-D+Hxg&;7^MCSXFu_$lJDok&2_1U(WOG zCXiY$7-D3cXN`u(2BGqgd;~73F%i;_ZG~opeMOHKE}Je4&_qCTQVR;c^lUR3Yvgz< z&yrquO+Nn_3mZ=)Px#xw@vZ2GyW#OhD9wBik2>Qp6Ms4YMSkNWjMsFqj7TphzuKE+YkrY-(%y7ooA1N_`>loABZph#VCES0-i((d%k|> zD_nmMUVmfrs!&O|Tl2%oaQ>0!^`K42ryYntTK*4wgf&<(g3o+MXfxH8LC*$A`P^qE zCogC7Zk?sc+>}MHixR-joWf4#YjJ+?{I8Eh4-*Xv@2Jp?Unr~PyxfII&AyA*Ys&qN zk3iz9_x?%KZ+4zANah#TFoK1jRCW<5K5Z1-{eQCl*}|J>v;*W$xS$Xw^QW8yH%H(@Y)}kzbBSZRIyU0s`%}#|O7( z(SJMZ*cX6dcRnKf2>uKGaV+0m&;|BA*G@CKU}x&KWa0GSc-U@4b-H%E<$r-~5o0A%zcD@uTyZ9h?el!)_N}AKna$xh zjFxYA`g){b``F4K&<+@*^(e%K3u#SL>CR?r1d+$U7MUMiA ze--Bi=SeJh&mBWZCnLGX8apQm0@wM@BB^h*2BN56+s!H=YJ`jHgDJ=8(Noct&h=%Ic%gD#HtCxJ0|#ZoiYyb zuOP~FlnvGEMo^6e@IwC+(IaSakB0Q74`j8ITog{YhE7`FT9*iCgi&})mm~&zFTUvK zjnZ49-h&|9YA$Oe=kR&Ee^kRz5Yf{+{v7#>q4I!kX@qNtdRGcW^AR@H3xBfqFj@;8 zL=M4qzhL6}qMtJeFB8?iO4ze?zK8Hz>(i6lLQ&lTj-s?Zx6#E;3Jv@r~l8Yvoq?WV4wwWe50Wo)_?otke45xctSP`^}4%_H+P^aXq-HAC*olem|fg@1me>* z2OEtei@t4S6VGj&S&^gMQGOXK%l>pGHID2l<6|1%H*xjo zv-5!%_Simx;{BBx+0FD#JCiWWEHYbp&fuEB4`4Xe!S3br=B9JXgn!jJMdK5uAsnv< zYFI>&Oy<52^1kzf=SKA_2nnK;)CoZeN53RD{CM`|@4Prq^y;AK+koj$?*HRLWCG9e z%0FQ3NT$l|IZpAB(VcXvw`EqVtF?q)Tm7?o^Y`lkKg+Qt#t5X&hpfz5WN^bziObpy z5|e79gRCcr%pd8{^^Ob*|LD}gFXd;gRf9FV*3ju4wSSEb79Q+Eh_Tflc=NQN zth5<_4e1Rs@8T$Yw?XC>$W9^ed|wRk_oM=~6PHUPQ2kx#YVCyrJs%OrNx2><*>D6} z4x1kJI+l6w~F#7k3;j&QC!W*59%9zR?E>pj5=jq+<(?5v-6DENv4sX0*R~w6#@eA zQu%u5;!o_)LI!#A%=CxP^2CGs<%l8}V)Z6%q+Si~x=e$k_E0zn5J&V`A8vpQ?nJlw z8t$;MUTqX#EB@j%e&*qw6VPcf!OQXsr4s3m;o z@N@CD(tn<rYD zu!fY}E1HLA`Q>(h-Ko%@Ln*uACizMb8wx8lvjxsrUir51`AFC_7%V|>ammB?ofX$Mr0;DVncgZ@zKv#An{#z^3DquRbWHLzY~N z4M6acUu)ctoredziRvl*H$@kMq#{GM_e7PUlg!zXWiiHJ_T~O;&u>_2xqXK(+ z?=m2R9B8vR)Ke@ExfO3bJ=5L6;!n zg{kXCwEd-4z9;IMU(9k@m)>-^J@B>)UvXB*`ueqv=`QX!TI zjr>CljsA!dtzN+DXio5tS|4vO2*uJ*q(Cz7^hITN^Jzs3WHp9Ia5dbQu6d*_RDWZ} zKa}VwnQLpukYUfa@B5pw07Tf@+!9%G=wLBr0cM83WgMrSlI(kRi$L~w(!Iz`$$uhY z+eZ_{P@dV~54wsWfup;_*}KPGj>a>&E664I_EGNQ19Pk0tLcD;K=j#G>YiOz>XkJ1 zz!SFPdLT0$w?T?M=jzZvX<>x5<$r`MpX)B{$}C155Cc6E-sdRS^0eaWv}o)oo0R>z z%_kEf#axX~n%|RVYg+EpfgWMSS=liG5x$`h+3gfA35|(4t0OA zis%#z?1K4wyRzodbC?{&?IJG`(bMWiD%INaOdB06GZ$rGYD!4L={dc{IyM0wdV&H!>p0_D?wcP% zb;q2J&;HWwCqBpnS`Uu#H3z)heNlf87=`6Hv|ZrsGv=J(uN#lADMdAc$=SmWZ+gM%wEw7n$yjaTDLMv9;cK4MrKcE;cw(69^hVo-@iHQh&>FZ+K2aZ5&q z2Q+UoZ*S6R*9tDN>cfOHKcj8pg!e;E&4@KLPe)diynAqS^2^9c<0-o1fa20WB+^<` z*Q{Ug4&voJH)*6&W7%BCDJgawQ<2jUm7~t2PZ8J_@+#*)jL+)AmrkR}Wi5!XnGqx9PHFJD2X}xbv z6W}}C@rktD@rBj~R6l?6`XB*(3n;ZH<=N@+Nd^Y5jL8L{?@X$YR2U{QMrr&hLTA*a zTj#N3XQ!3(Eyt-P&tleuvsScEAhsZ78#{9Bzy$Y&TS##=oiiLVIrCftcwu49=BoI>T?|A1bz(q?_x zzZo=_e>DzLK0(jc9`4>7+YbzH6GthG@dJ96WCWWnWz55qc`m@yue{-d>yHLpfKJ<7 zh_JoYX;?l^#?*hTUDez}P#f}%`A*QeNT+=jW(x`7v??#~m{Y;_+uQvpDmfZ0$I~{D zs6uU6G2veGj^GT;the*6F4&-BcGb*THl5`zic5I~qT0Ay%g43)M4|1{%_-c(kSCu% z*~8`FA*K!*x5K4u00ZQs?fYg}N`HZVCa7=a7Ow+LvCV%qIwVDgHD%86*BZZ=ulLtb zl-{*;zM}BGzh=Pm`-bm0AT_sPG57LDED;zV8`&)3QNh0l1?jdPv``@l%$cn2WWhXK z+}$2tgfX{#sd3)F#dC}!hwLHDTGzWbuj=0^b48sv@mYl7|C(UL&R!Ic_y~g1 zGeWe5S}_R$8+Bk3elRZaO(g;mD4F1yWm|l=+KI2TzqW^SyW*_&Y2p{EPwxdN@!+`R ztG-cC9VUU?$m=6cKWj|l!C7woMq@BDC8jVe;unA3l>o`g=!Zk|)15m7@T)FVIE*pe zAm)zT9q}c4@nz>w82RjvDBXdY=n;rulQZN4(%nD=XnkcyccyQms2NGC0p#dF;~+*w z+g(Lig4mo1J%ULf8^?SxphUgKyezNm3p^KP_z)0xYp&vp@%gFzTjR_Z&H7xVM*#%% zrGI}S57eo0BM1eYw>Zmx|Cg1z`8;`9i`50rwAiHRh0=lSr+?FR=%#b7!^l;sbzioG z9gFcq`~cr>xT3l|AU#PY!5fh?zM-EQVBwqlOt`ze=A!01vOtycJtGsXi}mE|g)s_X z(!|cqmIbsgjxIVXmCA7OwaPcAwKjYC_d0(#V#Xq-PcmXm+2wdFsM^ z*=>)*9aN$fWt7(1hd?8bUq=UP#90EUsIT@mq}p_@KxS}70?LIihCJIy<>>cYcbI{7 z6-02Y6^Egx-|v2Gdn4dG?w08sJ8`tL0u?;WJ<6EO_*79D) zstqy0TXDfe&O700!UU4Xn{3gOttY$96O%36Dtgzhdvl>X+0JclPyw3-z?6;O=0iqt z0@>F-h3UsG$@RXL;WuiDTo6BpWFvnRT>+m5)-Coqg~C7QX?Wdx7Jd0i{2%&#pQ9c@ zV#n1pPPTshqCI6I_>73)_=7QXYw$GImYB#jL(|-#IO45kV-i5aUjPX^b9G3v=^F-r zA}aE4M;d*%{vBfhJ&g{n4LjsJV(D{}!g`IWSplH|Albbg`-rCmm#C*dn+boDj4rRS z6NN4dg@)p)*#0iyO_%bIsNIk5QD=aq{qAyhQ3C_g;4RcLz^b*PR$A)-IM=lw(gS-K zRocP~!FOTW5FftjH~RckaPOt?!$sTR*ehy$on5~|oXoNob+2bR2FNQJy5%@^*ldKW z!X)rj2p39>`^nzcjdwbGALM#OI%j7jTp)r~##O)9p$ z&!Rz06rrz6qm}qK$aZ6#5FoZ5#HX88JK-&G`dwy&PM)jYSIX&Q;%XV|i_>)OgWtu} zWWiW!dmd`EFmhbTVc!W+pOH_e5!jq3Is_YC^Z1~_{a%2dglN^7b>@FO%9!`+QxMZC zMu~WBjdTu>Cs9y*D7ia7%J~saJzUZ61l`{=h8uQdA1)sW6ZV0P zzjF!Z^|1jwh&MKzvZv9b4yZnjYyaL?8=U^bLVT`9d3a1td8(&XT1%j0y|>}Z!O`>H zW;61kWxwTE2!kJRVuK9mhRsqe2T zTvpZ;MRAQb5mD}b9s1LsWbh*N<1mU$$P>!hEAazgVLpHUUQ_wEn(pe~PvKG>26_aY z71-prOJpQBRrT>#U>&CD$PE}4uxlAVY2N6`*=bwSfW94cTJ?pFf^3fd5gF?6wB=V& zU0BKM1scnXHRW56v3GU%!t1_$96RD(6V^9fDFJ$koDgZ&m`O%yO_^+#py2?&KX-8n z3PzC~tNMRI5ni-Q8e8vR`ZO;P(wIbzzp6VltM6LN8RAp8(-D5X5<0vJTJvOLeEIe! zn(*{>9_$j>ImJB#cn57>dDGh+%nXQ-e4sbmn?fsBjhmefOl32kJ>9tYqZ++)eQ(Oo z)5FLLsgrfOFw+diBM6G}M{}kzDoN-ZeG3=Dsday6WAnifT)~ck|GCcxJk}fgV{VZ6 znWeL@Ip*+9`FOgKNeh0C1 zZ2ZaKciSQu1oU#;d=J2I>+k3{aWB5$@kLVsj_2yd9mx0fZvY(6ITd#y8?X9jIMR9vGK!AfUvfeuID4^j0fj+ISB+bQS6mloH-UVamt8`8fqfdjGHDP~&4#bkZ4pV$yyn{{Y#b0l|n3WIMRP7d5 zjSs2#h|Ixa1@aUNBw|Z&N{_jy(9ugmrTb_tsCaF*&uck9`t4~a8F&=r!o|_CNi^io z@nzCRoR%A^yRCt!CCO@if@qDyy_$bg;y+l?KS<+|b+acG$a@MkdNG86GEf49)d=pGgeMw&^oK zhsC1^NF%!yvJPx9ZhOKS#KdSfHaLIv355Rwcm?f@b!G)djOKb^PuoKF+rf@xq@ApKM)kmddZ4e(o??B{=k8 zDdm{;RHo0<*j4YH{SaS}lk`MVW=9>tONhZJ&AN8J6vt;(^WN}V$(*|}dD?yMw9hxj zWOdl%g+B9+=jMzF>8-r`Hi2NsiM_W5u+V{RK}OIAaWm?%F=~US?#h3**=Ny(x68eH zeQ-r(LW!7t8PKzg6Sh-ZGc1h`hLP~UYWq`d76d7ta{B<4>15z?5EGZBL0o!#)KpTT zU^(G1_+$b1>6cz&^5QJ{P4&KUm&naBdM1;Q$s?LGA)oAc+oi+slQDa)f96E(HzBKm zx}nWRLwDA0fofnNK@w*T#!^ z9}kW%ms^Z>u?q?iR&9&kMkCbxO+4QVym!wbBfoFGcN)f@26>6MZ`2W@hEch0<|Abx z=P7A1-Ipcjx2;WS?{HRTmQpobV5Tcp;^uI~lOQuO+7(m)YIc8nNF>_d|7aTl`i!+t zrqq*?J*_C6fqZ4gq@ox>H7e>AEK5ci{B=Ee`L+eBBhXLq6mTTITvva?f2;H z55PsZFYQX>)sU+~++?&IAVk;c{2yv@_}wL%yX;mwizJC0Yk>t!woOv!IP3W-6uuB1 zZTd7)_Xf%cop68V7bJuhE{rwpo9be2YDz8wUZBrO03MHTBez=dAg-wc9=e<0*BKi? zIAkCaa=lg-z>bI2$9Yqd`#R@zhl-U4P@-2T2}Ml0J4iGyQiPi+0r|)53@$sw$ZtkN z$+yXJG7>5mzWK-)NIVGr3^t5(l)QrG(td_`^AO4VJ_3Klm|!i+Ke849GJV9lS78wN ztk&TCbn3?DC+Cdw+Fd&-(imDD09yxh$dH zF9(gn?49#!J_Av~f#^Tx&IL!3UAKZ;(vPCF9Fd~-zl1?Bdk<3v3>fzHyt&;~nG$(U z1gfoy*YkfeM)gHQTL*(i)1kW`97Rwt*de0@vE?jv5rLi2qKM6gEc24)_gPQZR>O+3 zisyq8RZi8NKLwBj#TI%nX|bGKffZT_967Os%}%z9X+B5NIk!YRTKT#;aVJ)0oq(L1 zpEq9Rs{@Op#UZ#E^epFIUD+{1jqLjke+S3qOL>38;P!G`=e>47C3O-V{xC@ZWbU)m z|E_IMSyv1q_T0OkvN%L)oeiv=k^-9z!2}WM(YV{a&Ng5+>A^_L;YbG%a!sphSWetb zDp7E2`>@6EM^%2$*`ai9E^P!Q(V~gUKC?VKd)5k~>B=3r7Fk{UE!EJWx6Se83HP0H zS51E{8pRd>is)DU-dvte7U|rqAKylx`kQ*lc(~;IUJXm^CN~l(*Lbg2%o^k?FS|t9 zX*{@bWEB9PQ~VAN1}85DdUjsnCul|DWbhH5FY@e2xd+Vx=dWOAA(O=kHfGgsaPO?& z6{BL_+R)*(_ErfnyxJg&GQ4C}Nk)EOd^UeN+9IaNRjk||%fBZ7n|QoK^!Y2iDRyJ5 zq}S6!8N93+61qOV+2eJ8v-H+C8t1~hU3l9L^mkG!+mU|LjQR>=y3kTjB>;}~S^FCq zPu;;3Md~pFLe|qY34xzD{kymk!39qUhQBd!D|FV&drtauw*i-Z3U8k!d20I-)__S$Li7a3v<^0eFI13V=GpKYmQE@C zI^=>*0|Lhqqjra56ud=ga_oC!PV4^ebZ&cP7mPcl+&!YQI46?8y1S^Kp`>eG62H;t z*$T#H92W^^L=@kB->TPNmJ{ZyvvPj`mD?LECcT3SLA`!A<4LU=ttE2o(9dBPEjS7xaZ{U#3sP6XO%Gk+weseI&kttj=^|NzHPkHTW`skADNJRP(J)eP?D9rArG zd*XJIGeG>092>Pxo)Q`_xAA{oBd$p@JV=(FRP4C3Yb&QZ7h+OM476t}R}hQPd*HHF_Gu3_($+J2^k#qjX7EZ2?JC~9 zOD5_pVMfzH;#1LJ1Ro40p?tF}JPkAxZ;MuUZ2b|RwJ_6xk}0ISB3lQjrsf`u`S>|9 zv)Fk-J>p7VgL+r1{k>jRG2J#+>#rH|OXhK07bpZ{7TMjX8#b;)V|x>2Oy3u#lAa}J zDcage;QBN&LOj_DI}d*!*ZMi-4L>OHgxPXHqE!N3xf^oKqU%Kq19<8T8EJnoFmyKxWr*#og(EOuJh7*Q}J zClZadh}>h8<)$olyB6oeF$zsO3=8}kE70J#hUjIz!D+eXJK}$?w@!iJyR_q|Yt0ME z%E!L+&NH0Mc}$kpmqTklL6wg;K>63V%M8NhHr89Z8o}*;78zaqP`Wb2J-J*UpD46U zDidt;9DNEA(<0>I*JWn13?K>>f63PXv*q$e1_C!p3yMl9!_fTt!PXmG@bYheKxo2m z#gkE5l|ux(KTUtO?}BQN&Erm*6>Sv#2xepkiF;)ag`!a}ho~pf>veHa+=PJK%GrOy!P554AYvxbmp1541-q?Retp!a-K^#S#Ole|UBb=<4 zk&$gM!A zO^S}H4$T%!zP0ajC)yh2#k2q!F&~)4C$iI$E0J^TI8*OOTZq}LV@X&+7X(y2gFE~& zAP#`)0v~_0-PsK4VL5`5?xGlo<6B~F9Sue_%tb7Z#eJRfNTpgB5c%EeX|hIr89eQO zrH!O+;4La`%efwfY0IM~Hm!mu1k$Do=6K-3IApq*7M>@1jV>8iP#d zd2gfdzOnaI|FAlz(nMi7O8D-cy75^B1bxib(Blz;7Z%VRC=E3`zq(hwAj=8dtxGqH z@K}H3-0^79!8>W3y4UhNdZRq0jcdHJ3Dp(`s*kk`!%Z}X)QC9Q@r$RGCDN+mdLoUH zk@(sAg+ngW=uGAWWOHT$t+6mm86QV?)taN3VzAl4mCl9Tw4+UULkMygTyq$&IDxJ; zh%GK4c5|ZLROLCoNw49;U_@|=z4TM5R#tzfc7zjGO9K4%g@o4JG84}>CfGjgDr7zz zPS$<9&s)YSQY5O8f~59CoDk0)r?dWKcT-sa=zy(JN?CQAGZfc*$WMAvkACg2P+vt6 z9vU|V!$MJB8e3;0l$TJhnGZzP!_30UyQ_sXZ-etYGaeq+y<=zVvieh%vf1)>nsa|n zmmwjkGuM1fVX()E7(gdR7Ea8iP+K0vnjoz6rOa30nIJ08BQL8@xD&p25s;i39cNM1 zd>=XDr7DgFYp5OwLpy4Doz+vrDwVN(!Z4i{+>LS?{hI_A_FV>vSYo;CK-2I}Ni@ep zd?|R_2&~#&$a^(T^*d+w=ShEyaQArG1(S<#p+4@9w^o0wrOWkW156QpFAgGc z2`rz?SKk92xYvB^*O7}M&g7%99J2-D=kh8(67^Uy8MX!`69%J12W!S3FEe7LAT)1; zs~onV0|VzPwI8CpW1|?WJ?iPrjLe{+|7!L`iXrzrneLjXGs|43oN^gBL$QC3s(uIy zl|u%44|cUk3mKw~t&=gQS$;#>?7X5`StEc1M+`)W$+8z<3cPxH`kHFyl++1Fn_1$5_7JH{*c5reX zVL7}nK0gBtf56$}=Q9Td%SKkCD7%_RTotYTfGg=-o}j%4VCE8>MnDgG%PiY*-Y_8R=aP5R2j>KluSMWCQCW1?*UAf{Ds&e4u~k3|v?k@wS{l*%Bi<9PILmy! z^@@hxnI~-@E(;8Z+YVW$EM~8+u>q0n%KnDX@6}$*V(yfWZgMB0A{1VnHRkRYJNCtT zNFPge@%Mat%)-`yH$lr)>5)NiErNWd_EHIt%R3TtbHX2{*CKzUexkkOhdU{mcO=vH zI%{+oBDh7}=b=Zg1-$ieQzk0Y+goVGuN2_z!04=^am-ce6jj8{wj05i`x+D7D+Pu} zapK-yeJLBtIjVDFMqy$+7vEgo=|MZQwLazn2;a>~GAtY(oI5qci{M52B<cn9&^> z&+N*~PVzk_tk{3q7S42O57GRf}UB@c%q>B*^rPOsGf6s~{dk{FESpyyh9M(Oa@%zL99 zn+z)-^MIHo7L_{=O@~|yY;EZnC0ldm78FQ3O~yx{9Kqh2eB-$EbM}gW=uDAlHmqGp zZ)O_2_%tQ3U)`uY896A6T8JUd(+SwxSm+gD-pl}9RnL43#9^`F8aiqUi+?QFVF zl%w;x(ba$Ew!8a8dNw(^J-DJv*C8?727HdpHN{@3E1{cZ!}-tUkX=&PHM=m3cIuR! zR()SsPcc+Ft0#2A@>sH`z=3%8y(C!%6$6JJL${4WgHJVaS{+iZcoH7s^iQds$}4V( z$~T$4MZ{zS4U$9mBZQ#za7Z{DPWZJbf#yBL_d|c@L-B?!QNiJM_@e-}v|WM%4HF=~ z@Qn3HUqK+>^&mJ&zT+rkLf&6V7q9pzC(^W29w}~+Jn&q)?n94rt|_d(=&@Xzm2-un zsh@&+i2#U|LBNkKy1xw#YS(?+q!}u4A_v`88#T5Z04EB-a>ZL8i{^G=DH%MHNHH#J7TTW!!&PnEVpFx{p&@jmH{tRdnXj-_bhGDrUJI z@L>NN^sb3m=cJsZco!|>y>i~G6 z{(iKxyc69%MzV_J5+oT_o+^{>Sx(VIe#6Ices-^FhacHiV#ex=sKjDyMvc*y?9hJ) zQp2yDCVV3IACaYv#Be zIPPjkuz~INI7&#SRggn+xxx$^3dD%xD-!4jNoYD02Ow2YHs|Aw$iJozcw(w-84Bas zTt*@KZEaG$T|o{FG2kG-*Fg4Y_Jn^cxRCAM2a7q+ zUE&x6WiyGdPP?txMp!S>DI{@G`xE@`zD627&qMTG>!}o*8yPc_75#95$`F9A7iH$^WtFh#K+-9Z$e2qr*{4jzaQ zZDWP9FE-|0)q3NU7`tc;zh-c#oUYqF9ZhSyUx9E+Iox>fI~Yo^5-FBc0dTkG@Vwlc zRZ@iNb_Cfsai)!eK3b{$_T+zbaadyBcI;LF+)vnUZfe%?D#lD;L=JqqOO;?G2G-{V zC4yStCF&8%MI0h4>)*HPCP<>~Ic>P;D-b}V?PLzJrx-Hn@S-R{E z?(PvQCRwQ!9vEZviYCmCD3=4-R2@nd((B}{!XgFFacK;}=?ZU$uvyqn(BftTO~Cd6 zF1K=%-BsKraAyJ!?5E)!q-~^+CL%-B)l291^E!^G-8e~d*HWvlow#s~Alqf@j@@}! zC96=96Uzz!w#Pmj{aSxMO*AwK;iSiM4BmXxNja%nnPuFCysY~2>UucS@z_N%I=Q$J z*0W%oO?8^L^eBf*0!J6%h@2;lvN{!tCs@+e^-ZktGWd0|3R|$0dQRMcLe+%Sc3?i_ zkIk^^&>`dl86V?ac&S`0g)%ouPlCX!w8QQ9csdn^joC1XnqPkeL)skF=?UPu?+vb@ zbosYZe1==rQ)gm}0nbA5#{V3Suoo0AM9cpL#G zl@eBFurFYd8s|-Vxoa@Sd1tYfBOiM;5L)-VN1#(f2g3bIm?aHl-N;yh-EXiy)FTTY ztWC3){D#bj0n&f#<{$O6j37TeVDAcN!KtNM2H*&N>^CMRJIbxY=Vw#4Vc8xVwXSFs z{wssD+1jlHoMu-WtRSQ{??$kjKZ0Qt`LaHDeZo<7${xqb)zun>Ivyk9YIj15q&ord zf#Yis8s7yxC*7vC;AHV!IKsNeO4k`$9E6zfLiBd^J9&RQ4qf_ss)0nJGF}uuj0M6Y z1N*yezt_&m%_E~)rA7uXj&}I2!&{p#Oy%`yPd1n$ky1W$!b{(Bax>0VrVM*-REMKy z#**IXS$HSbPETOmu8=nGxI)YDB7TnbHp3~n21uGQNgq2xDzQ@QEz z#;ozxMvZ@{?0%W_H(_wgbC_RD8Qz0%NL3kQLbIsR?V2~p*uL+4f^YG-cP?shEHAWZ zA<&JtEaOC*%H-o#WQ_}x1vrbc*Gax(ja!EWk?hN=8PW{)+@Mx;YON`(ZhdjoqZXkW z!R7UB1TPv}=(2B0LzHJZUhx&Vm1MD5H#F@KuKa(=4RW<{Typo4ZS%w3%mCiAEV9h4 zau}e=xZ$UQ5G74L%2yAhBf(Aa4nGDZbU9d!gJ)}?m*0fZ=bLE451GQdC}~crsFPXx zwMq}V5jDz0k2ls3EWZ1EeV2}O;Ua}hpxmkS6E8x@EoW(m$g%9UehBj7iP8(Z5->1x zM`eG_Q&Fqmd$Ag~VNE8xl~T5z;}=83cmuo`R~gS~V1v;>Xkd1eb=IZ97_a#1gxFF+ zwl5U@X1isfBG1$8sbm|lLXGSC;C`$CJ>#-c^U`xG6Z>2X z1jF3kHJ56WePy}P0<^;m;N2Y5OO7^mAK_aj&zsKJFbNx4R)=_U+Xm@#FCS?azS3m^$iXB2YFnOYO@P&$ z6Teah2*Gt6#m#MtYs01?h7=25^r8Q>vs=quaNp^L(mzw8?#eRCT0BA#u*M&>akJi_ z&+s|jBo1hr0%EcDN=%%a4YGeK$M{k+?4`S-WXVol=ayHe+{a>${7ff>#Aji_8n52U zSpAUF?Kd|?b@(0{efZurKjB7F_!JfTd~n?lEFm-~qi9B_3llXyuE^Id7?a&P+L)f( zk-gRoAvV-!XUu%Q_1JZw@Lm>bd%R~;_gy;kJXOky*{aLZQ`l- z5K&O%cePhpGf%OkPT`d30{;yCH~0(XwYxEl-;A#2Bpd?zbd=2{5zAVzmg|#loH;jy z-4ZL9e}31zpmQ&#ElxeW%a`VkyBi$>}iCA9BYewYrwpnl{U0s|DyFo zuDi&-rC<>~)Ar*Cu8}jTGG+#MGD5@>3jXucQ)#N7VRkxY|CN6q$73SMGC=OWx3o5u zrHgZW)N{Eojc&IqG|&s=L^hdPojf%Q(6HN-0nY5c+G*Druaz|mu2P&c?fUAMLvr)* z3;n4P2lbca0r*DXHuj6Fn}u}--h2&4mzQ1#VY=3mxmplBY=u0rll}+xtKH|2rxvD? z8v!fMW`6hzzny=oB*a(ivC4>{BfxOAXmOJ~5LcJ9Tx-=+pErGL*Yj3;r>0}BO**#Q zjlJ}uK)fm$Afh#O=7o~WjR3xb2mod@AaGG+xKsieZzyEofJC4}k^rsnD*OXyxvbXt zmNS^7T(stermVG~G#$X~8)RdDO1rP~=%6J%2QFXAdrR+=@=5Il7oY-@sB61Rj;)UxSp_9X$pS}$ng@{;vyW^AAP6C=adsPk?4?ALk#x?0$TEA(Tj@g zlR*;V*Id6fLEeSjm)PJbGP+D#52io^b<_lvTEyKOgNA6E&j5~SYYVmaHCA-3boSqy zQR?h9D0G7`5N}&p(AE)*uY}@9uE!>qx%W)r0u_G)DE|hnig)nuG+E8oJf#{iwS^9? zx89Dj$p-*vt1YmG2q4NPl^@)j=vOU1ql<##B+cAfKwSaWe^$q{@a7kx$jLWvv^{K- z9csnlbO%l#L$~?j)U+2X7~bi%@l|9EDECw?;{hG4RRg%Ns&_KDdbO}4&}oJGZRvoF zxs!iQkW~GceQa<%Z3QwS>2Vq0*QN%TOP*2s#^Wq&w`uFvr6qxP851=y6ao9z5w21$ zi;X0YrA*x1dEE} z;Ndyy)61*l9>~qU=IKa3V3MaZ;R>&0UqgR9Hc(q!jyMU9ok|ZSr!l9ET`I@j8~}&! zlL5nvbifQM*s@zXm7Y?SB-`d|yjRJt7`ng2-b?*p5X`A6E1$sxM2xXvqPz}wQn1=R z9Rq-S!AWy@9@SngGX=tT@^CyGlHN6jP&)J#qnI7;GvKF>*SrMr6@KCnATQcUjBS6X zFt4fdgzY6*gSot2Ml!8>9ZT8jOZWeP`+uP+{Yfi!zoPi{Hb$xq=AH z71F(nH~Gk15OGJ`fXb9ys4_F`9xFB_*ti=Cnmd%v&H_akr#j~^Y$8|E6|j`;P~jny zuPLp(PAZs!UFi9Bacn@PjlFiCMR9-c)!W8+hy5eRXC3p6br#LA)A@I`0u-l6hcd`5 zlUO$Uk-?^a@GWva&-#R}M`=McBRlsX`v#$RICumUW~EV$+i!E1gNHO;8;ga@NwRdm zOc+itaLVWGK&B_u?Q*A-WVFa~6f9ILMm{Lu+z|#3iuvq*MxkcX(obnCP5^%&tHeRc zG>=JfhYf(f&bMyXr!2vU_v}TQ0enF_C7>@Zs;GTv#q3%1^|RQB6`ABO;C{div?Yzm zNAQLS@6ie8d6Es|ko*rJp=H$nH>ck=qgRUi3&7ikuQ0Bc(|IG*O=9;fZ zWbZTDo>oo`j^EJWheHCUD0lCpd0n&dO~<+G-#PiXzpy)e+ROY7pA)%l-&8DjvSM;Cd;|V|IfJHobWP;RQz9zw z2o*&$aUVKqp*MPGSeBb;#X9*-1KOBH#OFxY)=SUw^x#{H9+O}Og4{Pf@p9I z=1upQV)w;ss$;r7C{_l`{>7UTHd%p&#AlMdEkZYw662xu2QHK`$Mj@vd{ zb|)IPI95%C!(XUj6}rcUN|`x05_aRocv3QdorI|g*_?JilVe~NgK7AXps7Mn>itw{~x&WyIEL+Rbf zB4n{@sKuAylp!afWgW(2lBZ51fQ5-htTb#GEXX8!`m6&w@w#p0-aZET>jHtQ71lms zD;Y)HOe>>(d^I4z9&aF@0XI+~%S^4?YUkM+w`SR} z09s@&b+CWH*qC9%dYRf!Ezi3h-ugOW1lqZ*P{3y9aNm@=2cyHAYMb|T?;VpR`J>Bp z%8WuQvSeXwPX2oQ+UHnUR9HOh_pl)45p>_;4K9(9BIEoHM;gfHEPKF<(!7}x&%|e` z=U(p7+r9)a&a=f6NM672J<2_)6o8Y>YieGgkPd%5*?QeP{6?OP8crh{d?*PrwSLc$ z=XX~W+R^lFIB&QYn0F8z)J@k{`w^T-!H$fdf^D{+au`mMiNsgl8V}1-4$dQxwxGY; z4)bxg4Whu#)tI?ZSe}P_3JZaqkNYSj69yAx&udk1LUALAH$k_R3Fo53%R8mdF%IH) za*uzf5O|_ok0)YL?^(3>N1;yf=D57ddsUuQWd#2%hhifWwKdKwUk0nNmnT`6SX-{4 zd)daedG@Ju_4m|_5)FTaJ+snUg>%R{?sF1WlGnR&k7gLD6Mhh{7mg94{O-=XrRl3w zzi*IOVtZYjAUgVjur3gt?$*odN!dCZTzP-HoNvzoHm8|!JD@ z2AJJUM2hl9>uoC(jarG>>=uRtbh$brG;Nn zp*Tersw3SKVW!b`>BqC0)K~s^V70%l4<8S0Fb@61zd-T^IVYAS*;X&3ctBlg`(>Xp zO1%KyiKLZaICjWoU*7_gtB=m&Xz(ek)j0%KtGWdU$Xn<(EY=pec)Zxayt3QQJyDY} zPCP%nBjBdi4hm313Q0f-fwqgCx2J4)#ILfTOCk(4(R@6^ME%k&Zu)MHx=of zkpX+b-o3@$gQ-*t>5~988?$i%C_V0L(Cg$uY~th6$*kU}G^F`PFec6b#HONW^d}$7+5&y z8^P}28b}&OaQloFz-Vi3l@DKLRt>o&<7~Qnp zl8K1(%Jsco)z&`*#O{y7=Tu}2kJ(h=`D$xJycs$S{9dg9e2ITKRPyiKy1-}3-mf#C zJ=K}9&Rfv;qNkWM8jpk%Cirel&!!ftUIUK&U?8h2C2$}VV6zvpgwc2xI-`zQeLir? z^X|?;IysudHZD+|redoi;Pe zQkwYbcS24q2>E|5F}O*4a5CFiEN>xP)V5AQ6=gKM9*OfU%IBDV@;co9$ex47aduLa zox#s}Q4-nHh`Ald%@}Y)79~y|&^^7OpdE&{0^Nv9M3xd$yh=kmwV5Gc$ES6srL zUAnK(o!W!oJ9D97Lhl^TCX~?fD!H>0v;Z6~3SduO_jiBNi7(lk8e70~c13CkG;c+- zAVYjP#qeMmtwG9R-wdT;8~~o*sJQI@5H@G-`u&*pXuw25b6zUA> z6)q$XyL>KyC@ln=wh3zn3g}7Nj3o*lVeQ~mzx!_6%l9vL+fQJ+SWg;TEk7zx`&{O)U z4zX@O2wf=isyX6co{nSG?Ol#ge%IQDo_^|;-i?1dgetzc(D6Fos2Tmld{MF-$j;;` z(a_`)a|S>0AiU3Zat4i(J3A6vneATZ7LF5l1(B8p=6|X}46}~SwzH$>13F|Kjvk?! zP1s<$-=QrNH1bM(7#|MI6Zrb%B1xG%n(HidaUSJg!A2`}<(e1#3iqf={TJX8sS|z> z{;+>PE1rRpfQu=IOQF4}iTQe!6$FwT7zg|1+kL+PSj!m}HpJA0X&D7aeVi4$-I*t7 zY$BAj?ki|QQ5JH&&9XNnr!MTc*LkJMZeW)kIpL{K_Q0q;2`rMw+2{b7a&bspX2R#ebqeh)Cont%hULz zBrK$Xn^9#q>hBE#B$M{wf(Bh_;oMs4s#}|N?Zbd5L$r8tWQ^bF%B*oF#+X!BGj?q2o&xg~L$#StxO~x|(LV2i_hf&y zObjWC?9JHvH~0%SB#|t~0Rew5>*(0yOAFFFY{SQy*xexMYSLAk*qXQ1&Sg#?ENKGs z-1HIt-b;{c^C%0O{al-HF&>KL#n1(C;agz5@@0+5T$rGDE3KY04z)xX)UjX1X^rHr zxH+3{B#-Y3OlI$$QnTFQkZ%@pjyivwr+XoQG230j6xbk|>p2k6Yq&wC!`Sz3Dz6^J z$bhXZ7`>1_g#-LwhFfOViI%<38|5;Pt8LKwfLKdVjl5-W7EQ}a?u{I5`k8tc4gP0> zf|^SdmH(<-REAx&At14ME~pSonY;Jfqt52_ve_cV7fDr^fU#O#GPr@T5>kH!C77#c z#HxD}5_%ZVj8d?vzuvJ(+a-2P^CROp%#rFQ4F;xNnrQB(9s-pmN|(-L1)?XLVJ!?K zbOCR+pczrH?chT*a_{NhsGLn9>N9`8H(83tkh+9*lthh1_c&F7%dT44G=g?+Mfp~> zgs9C)R~{xIogV~NC6$cSUdDfbjaL<}xzIG<&0c$FN?pV_5WF$yIkwCAIJXmjE#T)u zVCU@FVu!sF=+~!_66kG;pFzY;vfj({`*Ph`=Rl@?KD6>SgFVBoljio^Z>D?1 z+GPCM%H!0vu&<$#8hKjlP75(y(hGz<3v5};iTVYRWO{EqHMcajmR^4>Xc{>LF|MX8 z4w!=*tkMqR^4)UV-Lng0<=TP}W|T@0bHkmdNZ;A1v+5oThLZrkgHqI3SXF@Ih1nFN ztXRIg)QW0389l;r0FB3-@E`iF5tA8rAlj)AsxZ+ zzWLbH`6ki9L+o8D32=Whpi$qLH5YKNn|1w-{KBR8g6dbQWRDkd)2T#-l;!H2FoQV7 z5>TQgd_3r?7~uDQxj7T0VGbA)kcFhrR++#RvMp~GNbxPT@wsK}WFQ-$l==89G;d1L z=fGSbfC|0_?JSz^!a`klg_cFKPZ)l42PWR6#rd#v-IurU)DnMVLlQAI-OtGep!Z%5 zz}0Tq@p|ay$zZD1olB=Y59ZkfYV6lgep33Vf9;j0X;Sjv`9OZ zHyLkl?_PKAF%5~uWX8 zSy)@I%`#CR@V-zYcT2c&IXK{h%Y->V8zRsZvCcq9dxHWHvsa_Ivq15ACUH7^FeY7BWIVQkpRQrHrYCa1MvET`6q2r zg520LNGpE^8jXB9DiJ1h5()ug(3FKzKnr#N0zN1eJVB?&cwRq4Gc8*9e<5`|;ioAb zx81V&>JN!c?T1qJ*xICWvOlV&JZb0U@Q9g7Pl6d~cS3QQLBw;R-ZoNgiUOoFfri~D zi_$cXl5P>ye;!f>a2&H$l4bLoU5x1C1_N(dufTtsy)#bZzTxCVh2dK zWxxs=gZ>6zju}IleI7_DJRRx#%oF_JE%rup1dy2R7|yi``9cXrOAghh?PMTd|xZCK`_~) zd*byWA!`j}5Q0GD;}4VNGGJp6bL0#Y8+*(t84tjo4QH(FN2}u|NfCtB-IhOvALvc> zjOx*Upa{}?ed@~S=&r_Gn&ZT+*`UN-0qS})Rz)W@`f`kf7(yB>VkIODOkab^dZ6iI zO344QK@;}2>9UVW*Mn$wUTX_j@b~t?N`3hNO7l72L={E%Z=P-NQNSF{9WV$>s;QS_ zXT=A$OAFGBI7Th@B!)M_$u(fCfO=fwC|wnQ9LsZNmlpd<%@M~3HDPy$;^R{5TXliP zYO{A3X!k+)xs7qsHLGVj|$YDhWJaj)TW**AmnXqhd@i1GLt8N zoIEbM9wt|y&Sr(HKi_MQVWrmrD~3UI(rIimu|YII{K?DXWup>Atxob%7ls$uGy_5b zILXOB`Nl*yQ+XY{-tQQ^n`!AjqqQ>PLPzUX2g$L0!rY8q(yNZ4S1497RQ zmV@*jJl@GfC?WP)aC4l@_%1FqX0=lpcmyF!##V+U%?a8r#Mt5mZDgN+TyDMBc4XbU z1kT!T>?8aQbzWx50k>q+v(J4Cw1ZPf&o0XMhfkW6g+x9Q(1=9uJTjzpk6{yLaO+%@ zUbVg1(g6A8oDtkpnW6Hp0Dx_}zAVUT)^&EmCnV^HA3Zw3B>Iejujz9B5nc0Q!_e2! zMqxK9C&N_A6atkwhV6QPV~=n*r-#cK7Scq=Vdj`)03wqXzg@KjE25jDPq=fpN>D0- z))XwZ=ho&85A7hdJDi>)%3jio@OWWVct3B0-YG4+C8chzC~QRi(1mJH2_bOD1jL9P z$j~e38OHT>O5Ut-?J^{9QITFkX5`X@;GKW9j=C-3VzmWB?eyP&*d#Oz<|R70txB7P*JeJh6dqrlhnxcmi|)ti%om>nzg#H~C-o&tOTcTU{%o;l z?#%KUAxWNQ8^FeY?Hyx~F^O}rbh*>4L+ZEutu<*9?j6Qd@F?MNChxnIaR}8oA#N^m z!t}P!>%{4v$~pC(Yjq>H;<+GA+!@J@@@zo;C2!IuBtt+yeHC(5BJEYx-X}*~P6A~K z5^M^bn#K@552R{2fHQd_N;-_ZK7EPcyU&kHIEAfYE@ZWTbHtIzXNaYJpK{LOD$Vi} z;@VrB*!cX{d1&|$c%8^OLG!?qd2$~P^W#9SCnqF0)rd1m+`uz>>VrTn*kK-elujI-h}!{+(a;{S_oC=be{iQY)LF_zY&a!4pW5#pTV? zI!D;xZUPz?Cn4yCMXlrP&Dw&v6ScfUSZuBe9=Th27u*C!Q!lJg@*cq))mu#V*71PF z^8$GoZ_ciR<`~@8mrwc4{l8D`BD{xSeplKSLTi|RzWX3?NgqH7i;_-#>u|np9DOG_ zho_S#a`My9Lvcg#m9xsa+PtK5 z+lUjFwpM$c@gPZpdesWMD$3}D^;tJjnrfu|2o(2Bckz@h z(kHkZOJx!xLj3BmLU|{UzN3NT!*DXPdzGx~0SnmgxevEH3yh$0=cK=K0!LS@-PYTe z8{PrRv&T_LCxttX=}pIwKn$z=I#mJr+q(mQxP1{3PM#8-DfocGOFbCMa!W*FNYPc0 zWmj9%FXZqM%@#Pt%HHAInw)rhRcbWo4~l~V#WrbKH3Ot^D0syK5k$YKa%=Dn#c$23y~QGLOG zJ;VcA&Tf^!^kvqeDKAlYL;KNGrCdpqkOlFcLk59LXL?GS832AmD#bNx#Rwf79SLb) z4#mR#|De~53Zq)LHcp(izyQU9_#=OXQD~obTVpHF&9}-1e~v;u$JZptJ1nqr?ycw1 zS=9@;=c#2>0AsaxO0ElT(w)AGTb9;;3fQ*o$lbun9FQY;+x58&FtNF__KLZq?g?;T zQ{P!SwA-Vl|m(I4Wjv2DaMm#dI~{s z(uNobCn@!wT^aE$K(kI(%!DOMKl=7y7n0JYemUp0A@9BpvywbVupIZXSdvzM3iN}f z6p|GD>>?C|fJYA)t>#2c--e$dVtv;f6jb;7uy-2$WZx1FSnH?jzCJcT4GH0v83`hvtOj z%t+(&Vy#cyfWR;P?0i7OcWAAQdfLZyc&Fc*Lo?NCkS*G-S~y2TT%tvtoRMjSb$VV1 zSxmEgIJDU=!)rRwgyfNXPCV1lQ=luK7AQpN(|MdcK@+U$Z9%+^spNKl%N-LPIG^ZE z#=u)O7Ie3JW1aAF;k>1;yTaHv5=~`vOGVi;e9h_^;r8{@6a?p?^D{0)?Ft|OMc_00 zLPe9){;6x@N78}Ec%BaJd$t7@&D6<|v z;u}OWp@?p`TLowtAp zSU#?FwFfbhvs>}8RL2?9RzK)X7W?w*X*aX00DX1F8{|JqJ{S08G0r-9BqNZ5 z@%Cu0u7SbT1&L2lTx=-ed42R50$eM>ne^>qY$o`RItql zv+Fg++CA2)t4b|Ui0=}5hu%=K6oi;EN`GIF}?TFE^jtLtwT`m%IhJ<5a@6&6g%M1t>p}Q z40G>eft_dBe>6f2BL zRVV%HM27DX1I)u>*nrwRiz<5@MnmLs_AauXbF?tBoj9g{AAtFZx&Y=RbLURHePzIu zf*0RK4!BV;8sZVfi3)h%2XC|~WC|(A7goiv6S6_%#Rt12ehN<4{%M-1`3%&wAhV7^ zc+Zjd)Z=3pQXFj6b(GPu%oYHQEF3p~s&-mEqPx1t=5(3N6ooegC z!jnf6j1oS78RT1-|DcXnqzg5BjL3^;$G|5zE!co8hpSjN`J>WjaWnS&b;lx=^eFPq zPeG%x(*kr@RGxB?B-0Xq4iV3Hlbf4+Q#=oeS$&xN7Hu1cHQbROv}}kUED=eLJ$Z{H z8444gLG@#4+dAusx-WpH&WPGKjKRWKIVKwM{YZF!i~FQcm8#KH+h8tVrQ$!^tc#IV z;GhW9N#x(w5+mx_DY*peTHD0X%b1n8yH@OOXU^{(yDsj56e`A_V*a-p_S(UqBQX*hfV+`K?sgLt|p5k(3=sO2AYLe#Ef){(q5reZxQDj zz(;mUG6MiBSotRQD(N%dvXqAi%otCTkFSNq3;trOhx(HA8^G3iJ3&0_ODLJ<+I(?A zT^cwx-#~bI=WcrlH14*;wPvu&h|L}}?!oncyEBJ4ySi`G>=5%wwK($ZZAarBLij`# zfpj$<7qu0kvHvI@$D1MkHH=w?<8Uj-uyv7CjW*XVoR&kuJ0O|C$FzlK#KksR5c>?p zYk;gGeGPQbqX&)dEf?7qe79gTI)j}4Q~7362kLYAT;8eAc_(hRt=AuA={0<0W!EIdiaI{K079aZp*k`rS>iUr4c*u97G zE?-I_QOGCn*fI}MOB%84-biM_!lOR}Q+Yy)pc4PYjYXO>ZN+Q<1|~=IN6XWj(lUPS zCGaN3d6~6h-BhCWHJGtr`;(Dt^M^uzXqIk-aJmA8@(IQnaRxG_7`mqt`@JT2Pmhi+ zgcA$nIPKua)>bykZ1%zOEXfLPLAFUABkC&12-Wy*yPXL;9WQ3OL~1Ab!AOP}l4Cly4E`611Wzs{en|Sw<764Ex*A!m@ zALA9QCqQ-iXC3T`@jI6`v=ml^*{U;mP!L`vSm=NJJES-2TyaG6)W*vBSyib z#2W;fL9K1G{6)UAZqAw<+b9wk2nQX^Qu_OVqj|6mW?NQP&TyuTp^P_wPg_H05ZG#Q za~h5Uq+UY<0vm1M!QicVmx1kme!M|o^ED~*I+y}*iP@opTW)WSg=&83>^ym9=iT5J zgz=RVAz|^3to+<=*VU?Z;&G!9JDy|>0wy@m@$7?|E#(=TA7^IY4GGbkQ@G%T?ctWi zR_?82on^fTwQ;A%gMW~JXIq;d1{*phaKFU53tb_L}M!U9~5FOmsk-*){C*;yVx?>7FRFxsr8 z4d%$TwR;!_Ps`5z52QYUw*@}!4!4#fW5(N4w4@x zY#|xQqvgt*C;B>nnwo>D)WV_V@pO{SIZCv1fmo;BT{FM%19``-8Oxn~gXK6)${Ey@ zSA}ki@9$CdT*X0z&1fjbYl2tXyh8({*P5F-C_IWW_T;qol5xtL?Dc|L<~}S)?EUNF zO$>>{Qt&hS#NN2Pz%_RVnG0XLXaziQP81fY$>gS%PkWtzQ4cKSmF84TQwV%B@-sQl zw21QnldrW1EzUPCpzqg|ok1a>q5BQbSrZ{gTd+yNGzr^?Ii@|>Qb$2yQq{Tj@D2t2 zz`lBW3BGoD;xF@BA*0d8&7Q+uU>GM*bBZ-*Lw&e>nR@H|SvE0w-7{K-2Yw&{Y@E1D zp^w&sUUcDq*z`PLM}D8-Q%NlKpy}xsoL#=*5nNCVOn(Dj4m6~}GKc(yms31$Y3(*3 zPJr2j3M%aUdgCEGewx7kVT*K!hSx*zV@u^xvx2Be-&~3Nx(FEReghH0cfTZ8{i?d{ zx+{w@`tfuJ4cc05iAbT3%J|)8TRa;#)b0a&>MUq~#yux)lSy7BA>y0FTJ#Cu+#5$~ zhG2N+*mWMH+4pwnl&8;E)?%Cqvu}E@ zi34G(iY_mXI&XEo4y>ItB4?3Zw>8-u-7wL!De8d#@~>A(RSHmucLqqpS9PB%Bfts4 z_9n7_Uu_C*NNlTfICG5NiEo|vPP#-)7B)mq3UtPzcN20J(q^qUsUT}LT6B+^nW4zm z0Zr}@^{#YTV0>_+0J0^s*_ZH#c!$`+(I9Plp zsIAsl?qOz9JK*9PM|YidpV$RJzmKz$j%EOVVLJvARugTZ4%}~2fd@F{RSL2b=+x;# zS)2l%v@%GLCK_fv#(T3Ml&|NWag^s;-({UBw=l?x;VeEx2#U6ql@^U3_$wUJfOqXzk5`Hj%jv}cTh-@( zaoZzU9)1g&rM8@#7fpPh!kQ`=X3kX+Z-(wYMypP5ceMWQ5aBQ)Pk>ge%?^$%E4B%_ zM{?qZfoR^Uhbk8YzK88abSt`E%1I4i#Wa#4oqrHxDrO?;qHqm0kZ0cvwOkx(3~(Po zbsk5HL;UO=v8}zwbF&kEzxap0o%IBN2M>5^&~j?CBTwS&UR1@%RmN$D*0?^0T3w{c znu{SBYHz1J(^gK_x=x0ttJYT=oA|j%veXGZ|5%w;22J#|BcC^$2Y&^JMqOCeRGy#% ztMjdt3ji7G)yJ_nUc{)<2c4Cx4~|MdXd8ij0rd2}y-;JzA} z8PH9Hm~|-4aOMlGu+f{`^+qc#Nc&B%f&3jI$q!;(mHvkL7rvf+%xjXDqk1 z^AOp9BcyMzfP{zku9d0>X-6Omn+$g7bOG+!iXoRhsV3BG$*WFtmbc{{wUG2UbuG~C zD~DmT-?gR%M@I^OZL&DFcaq~adsX3cfGP$(Me9@OgkYG$FXp?v$nPtEe6}+)73n6t zTUU0l#s-@f!S%T~7s6n64YZ7Pz=Nqs8U*1SOxj4i>HrSQd?ERLoD+FvHzMEHs2M(I z1x#GGmBsS&j#4faiBJfJT!%LRhWtc~f_y|K~$Nm(|_$tE5!mb(rDlgLv%@v_BOw~+bg~G!0G6x^ixCw>O=?w_!s8$=n`%7etpa)*gzOl&nzLb^uY;X(KS|9X zWID!z5)bCXu5EiYXIr$eb=`h$T&#}!R9l(K5A7QUYp})8wunxDC765AWQ<%JU!4mG zXdvXI8|uW|_gHKxTcwq81L5@Q$U-Q@9{P0GTg9Di zXlp|kGBnlCJ@&TL5Jk&umwCc`?B`!8;pPiipxtRQi2!7>4&ul z%XN+|)f*6B(qB-20rpOS^^Q@x#*Mm}zrB%v1-6W(n8DMT+oW_dC}veVc)=J)>t4gI z&u}MM@FpSe+pv35KEhuShr-gSAU27cl@q6uP0M9HgFX`0?0-<}7UDq5gcWjLYmqke zGZ702;Aa59DwE3ms6HS62DB0So=9#Bl#HpQbs1|Mn(teG)u~qGUIyyH17O=IqTNU5 znAGl(LQS1%dlcS|ZD}4^R0*M!GuY8lDHR##bM@>~%h(!>mQGu}43NlY$_6gW= zZpkj-D3gk#5BbO5oAhdaWOsVqQdMbeS%AB0L3q)B;L-rIPsEAg1ltm9pkegJ18l7? z5OLxJl`U41V3H-N)eFxfJWufO0lf4)PoKdb!GPfzuy=+H4|w8|CGuugqorc`QZP4F z%;b>oeg8v5obx-+Q|gx0DbkHjKrwnkb)T-cHl2l(u&kACDIGgdNv*=nv(ts;9?EPi z(iI?oKM*qawRAIers<~LDS&LDWZNCgALSMXiB8QW^I~L9i^3e$T3QMmEcPAsK4_r{ zNkGQ)wO8OUr1qT8@UpJe=?=Q%F<#Ys1F<~xdLlO%oDR;&-cA~%R z`6}=h?H(Jq=-0KDb!yC!a*J`*@M~R&KrJL(c=#@X=v;5Dk4Ow#jeyZv`lyL_2lVxW zifd(~Yn$fS0<@o0L8VA&RVhq@H*HK zr&8aENc4VLrhZ@LHgr}I#t2fT-qcFIkxRx5>##9aV*J~fLr~6pHIW@ROJE&pu#Qeb zUPIQXcGet&aVy3ZJ9?~D`>xG`(G-e*P;JygoUhmn)ancD7F9ETl6@I6?H+44;bVu$ zlX0XFTW}axNl8?L5%*HE^X$_?Pp_(ch$=XyFrS7G1@WkU{(;}LPaF5&zwn}w~`h+@f{?lNr&l_KFH$^ zWLQIaX(ae+Iwpvmqy%bIDoyQjD{fMKjqR8_V=?&z51ji3e8RDX1bc!5hUip@_bDi7 zXZ)#Gr(<#`_V_wmB)2n_kX{vW+nY_|UQ=&g6M>9jvI@N94bAa2sa^^9f`Q$2Ynvz6XnSe5KDrdGgecJ=;Zg1-IDgCqKcxX+0W5zM?%x7X(IL64 zOquSK6tgCBHWxQ4QrArgGMm$i%}z09mgx}gB<-3eF>F|atLai4^`xeY^UYA3*{NW0 zCrb{Ood7S`n7$j9tTW*(Ve*urj5=sd5G~Rzx9R1 z9NA==idSFvtJ5Lug#Q)NNfKF)zpJIPR`#9I$Cjue8p*I;*?G2&^rGEiYM`cBTRuFSKEt@vH-u zZS5E%y}{@w<+Xa25~|FZ(5JC@?zu8`!aNc}6DQBcgyN*|Debn++0F#6`Vo*S$!;#f z+q(yWzlF`BR5n3>rBa*+>RiXhY{rp$M8-#6=}>ZdkamLV&K?OgvYlWECYDVmFisPC z5Yx^yL$-8*dUXP@Z-&SblSk}RvsL8G^R)LLE(P|vuH)gol_6C78Awc0eJK2cUnz3d=V)^ua2 zqEr0fsJ%yjt0_@Vew+;OIjPUiL*vj2yC8`omlQOq4>#<%~p>ClTvry(mNaoxG^f)-gR~k zVJz05L5>VizXT;~O>HpWdJ4@Y(&>0bPL7qz5>7z_{H~sqT^5~$vv1hGV?tqkYR`a= z&)^f`N_cjL1UfHaW1U-#+6|8YkJQ~SG$6IWsodvh0+i{N9fm{(KkfI->>mTc29! zMw8s zax4TP;7vTn%-;-}UB~c;B5*}`-?PHCU;qVwvv#d!mv(uf{OPb2Ew$c8$505Omhol? z_JvJCwDl<9Xx7Tglz-dqQ?(o3QHJJM+k>}$j0^I;=LqMHKGLau52TiRkVRgl8Zo8o zU|wwBW)`UQz0MrH9jm?^jcUfFmx5Y6p0}xs3RfuyCens<4eG6zI`0}i_v!m^7A7}; zW;fBp!5Ua&34?J_5VbMBXPfcjkvYuu4MsI>I%He#C^Nf`>i~nGndchBP*K$L?u@uE zQP5Zj3vsATZROm4JG9fx{2G>G&Jpwk2cb#RfENIh*eb&XZ6J}``-IRO@=~v%jodRX zq*ckDooG51XAZ_$qef#81%vffnb1^!qRB{ujXuoMnKSuv^lRyHnWFzb*eE*!!GcR2 z!45km+qJA*%Kaw>hiw+qQ&TBe&C*fL>Eg!*vKYt~7-Hiz*ps{{!9x>&=`jXDNd|k9 z(+uVGl8Fc0Wr{NFX1SMaZILi(ElVoc8L&k@4q7pnbEgFqL|aC2G4eLD&8h8wmc@IG zx^mqcTG}#OCqsG{DYn9>3zmaZF`|zZ9%YnztFI&jspcLsCWa~1&hi0j1ZXVH4K~&mm6MnUHF+sRkOAg3PXA>>hWHybt&AltLOH#>AXu)SXw9w~oqsa-n z8_cIC5`Z>iT(b9ogI(xYUDKSfQXg8>qm#nY+H2QN1azb`^qawPYj&1@E|>cTlxitk zvyRZ7>@gnrel>pmT+e(zcspCME)$3oQ&?!L{;5g~ z2t1;nT9HNGFSJ=L&36QU+8v0|V|<`fUjkWpH?e3GTYyiLlu zNwhM2g?I~7WWFD|A7qDVQgOCP_UWV@$?A=Aq}iPAz@?z&p5$8VMenbOBR@QHp>7b1b>r%c+45hoFt6{VU`ZB z^|Q0t>ad!R1OZwmrxRr7d#o*j-x_`avpq$y7R(YS*aZ|59fuQ?nQtC=vPQ!ahEsxC z39h7ERBq{#C)rv)7j&nz1KdxpXBc*J=FaNM1d5>ghS+V1Ob{cGp0Au+6Ev_i4;BsH z)9ZFN(Q%QqNe0S)pXAlHXehYHih+W@m7e%yS@vB0cBc`gv6sT;0{{gilGVNH5`v43 zP}gFan%)Wpa0o~`XaRswX~uN&AS!tvT6j%kDGlFf#BBj}5*oU%jWt}b-#QU;S}~gI z-Ay_(2Zg!(aTPmWqbwWbyxhTG?h9k?t3x5FtVicM#}>zb2rrh)EuP?m-~b&^(bhgL zpsY4LMZum6EH&FUib7Oh!eZZYhFzw1iMr6RoJ9<|2v?POePmc47le`Sz~J52W%|Az zX^oR%I8RJ!4nHhqAFC0IXKqe#F@gurx>gt+MoR~%%`mS5;Gaw&VBy-Vk^?QAwh~2y z$LP@xAWz4C>-lDU1X?_&w*lvZMpm*RK}r>7LrkhYX!FD`(jeW(upT+hfW&0Yoin?^ zNA#<6Wu^?)pNvJIJ2>Oh+>bOo5I&qUA+-)+Z#t6*q9HS{ph%=nGq}P(?|>B2@@~j9<=q0tv?0<4P#O9~@Z1#KA=1lEXBa>lKd=OJfkSlFTb zfGS){ny#TL#zZ~pp&P^4NT79EG@fXyuTE^iE7K$~v!3bcbT)p@#A}7SrWDnAR41+q zhp0ANIal5=d~Cor2)y>Xs)Ql^7LEJ00_M_xd+U7n6>l!*Rt7_Fi4Vul_Ce?B2ImLU z0Xe6lbIp@a-dh*-E47N;Fqd>Wa}$b}N{b8B8}NmzC7w$T`RQua+|ptekV7CzFTh;x zz!kJ0mIG^HQk8+6s(Yt2od`M2<|KUOj#PWEE-*aQ;DN!;qvRMgS!1=97t^(w zykcRkEf?Bl=KF zRqNxB^JTTDZ(wp(DPn;)lVe#48eez$NYr4?3$L*2AAf1I&D(u;_C!cIk1yxlhs%aQlHL#?OZll4Jv)+mCLc5ST1 z-2}nv+GS;m-y}kpGEk00OJ)Iog;JIx9lrC|b8VfYh?GSN*6EaCwow*0(9j@zuC*&5D2-LJuc5V5w=&Vf4jNot zWc+W~9ttn4xi^y?y3^gGlWN&WT=>$f`6KvJ3mzLuy|kXXDRK`|UQr11Fbv86z~~s* z-qvc1&hA0GgbRypL5WL$tpdIg1FR=AN6pwJG8u9;6hy!JZJ=~$hUjZr0p@Y&h0{7% zdC<6~RmhfvAFQ#d;~w2NoFf{&O{RK=PJ`T<8GB$?NNt~w017J47*mMkfKqoRmT}pY zyv+9Ggos%o@M_m`WtPsoHKpV^i{qTEWTN4bqBvRRl^(|taUJM?#KN%x0IQ_9wu{$o z6zBOC@Q@Y9+Xu3ymm;J98Eid(6vm+*R=k(fDUQxXX1^YsAQ#LO4c7VTqI#FejRQQ* z#!PUGv?eVOBDq;cyQ;QIOJ~*5K?$;DVXF*^u|rASE0aJ`E_o}^$GbC7X}5Hdq@ZFIu6b}sY^31VSQLsFDoBUHq|%s;ihGWr z(rqKND4)=OmUHE-y?1999JjijE^4W2v824C>Va>=(F$BN402j|8MTagkqp)`4=H`f z1ufq=g@9XOd(CdkV$T*f<}HKgGqF7y8)s6MA+X|_WVzY-+7npt`z5W>`(_H8CY@lm z+!|#VJw<%K$Ceo5CC$-`unCyxxfc{U$&s{IVDzznT0t0M7p|Ds?vD8!cZw{uV`s4Y zN2d&+6ne-hY3H4CK5T{Q?$W3COzCW2JXt9l+oK#N(3MH@#;&xtVL`};6i(+v6>5eU zs_`CfdJ8?>Q=gdD7>1wu9Fr|DPhoI5x`f`HCgB`_dNw@5K5LT9KixoawLGsDRhyrE zQ*lUtMqtMcg~68W_WDoVb9=e!pv=HB`!x>tEsPc&p- z07G}HyiKD92hTAyb5uz65?-~kN=LtK-blNe3(cK@nY{}U9STxY_H;mP&XZDcwG!95 zG%En_UikN_<232Wc*%W_%1)DjT$Hn!`L;}4f~oD3ZW%lZDcYb7E?HLK;!y1g)USbm zv4-U`@!IS`61L~6Ls^|=8~|wrg&5|MebftGi@HqbrW2N7F*mHeJj&?+d_c;1Dj^h&SnfjK!w% zI1XNX2&B71ESrrR>B?b{u5783%rc6QxY}_wGjo0cjKVUT!YdeVqH~0%IE_zG3Cp1u z=RAwkr4yvRP1&^a-ep&_NV~;kcq3us1feqb4U#Z?3f~OM88cee8<%1;nnPu{Sf*tqtdTO@m zc~S$|hc-sUj04l&F8eo4>ujfFaJoi0P@APPC&QJDh_fm^4l@dQ*-VQe-Bu?9Ad`kr zGD7s{km*|BjQU!Bf#msdl4#LRv$+~1mU~%7DhLOK(a>ZNI#nQ^Glf=*E2{_7!UvW@ zCQdVN(GQv!Rq>ft?16EAnq4#4@)$^7j6r=khm$akGu?+PD%w_L&pVYO4vZF(IQ{BD z{?Cf-&L-*Hpvq9eD94~D^_N=EMa=Xl3Qddm`61pnh}xC_{MBBO-Bxbi{7S0NOp3W`U6l=Ei8ceut9N$arxw!3sM_JD1~ThF1(Z5F{K;Xa zlKdaXhAlkgJFiQjcr?y;x=9&mKS8XHY4$Lputp(kiW?)ZNvlU~+=!=?agh;gXzOg zvB2N~piER54qQFdJQ4swJQsvM8TlUo?web}ntPZ$FVad9!ga(4OHHE}Jvgg)&!tBy zcHoHP)zdOzg_Ab@PTm6HmMxtFYjF44Xyi`7egve;X%5qWoBWkAJz4O0)ZN5t20=}m zG7&y&G!Vz(fnSk0DX4=;S(K1kTE1AkWEZ9DhyUok05b7wUv!$pd^4f+{*() z-AWgZ#pHX-n!MSP(Q;Bkb#&~gZTY$GUmIsU${P%SJ$var2184P;oS{E;%PF^h@=Kq zHDK35g3 z?|82z*sUU9zTFz@=yl&pYOOBDgRYUB1S*MtV8W;r#YgHpFfykK4V#t#u)1n0J2m0( z4XIDYE%X2tQp$||WT>ubJE(7G3pc#R-5HZ&!$7z*7o&mH zr7@Y&`l(tj;6-4_bUMLGIs3$|{53mwN(At|%g9l|OW^I;tzoU5bRfjBkV48P_lEU< zDWxg71I=$iKk&ZS$EDwo+#_&yvHu|9v^jw#mWxuUL6x#P?7_xt5C+b4bI?&YBZ#x! zb?%Op(zpRe((z9W4iJZkBcpu_V0wX1k}6a0;|PnaWe9HB3eD$8_~-j%_IjN}qLzPs z1C=)X=y&a4HrdSd_9I+{;q=A6DFTFlJK#*M)QcHC6c&R`$R(Ef#{D%Hxa$B-r8VZH zATh|i(m9{3oyTBc=>Sd|()9j>7!P?6f3VLk8tI%qvg+J}iwT z7wR-%9;i_(O z@MBD7NCea-x8ov32+DzxWVwQ$Id71VyHu!5%_3-8C$LYf4y0>N<*2?J@y)6yGB8N1 z-RgC)3w;3@t5xPLnWmlWvAVQ>+|~FNNa5+swKmFziI3)uqs}dHoXWUjoEV)QhZL)t zQ$ORxzJ>QH1XSuR2h*~gB{Lxl zg9eU^F^s_zp-5Y5#&*g&om!!`hd05bGGmd~Es)<)4}iiQPTrbm(}fv-{Jkk|dQ>0N z>EwdkVq`ltBqP~OO8A8fK>#X=K`&;8ouN8b%9vM2RL9ntT^i#aO2Ta!ljN;f(CzV3 zGa4(kS|+CWk=SbF9f1JM8|z_e+Bw?tqQ*lN$(qFE{}a1nIXJC-W=#XdaJ@C?QUh!? z3Xc=&WuD}iTFJ;v;KI&-AP5bY1-0*hcb$_+YLo-GD5W%GGiBn~ccs>Gyqz`@xy9-Y zew@#7bdburD6hJa*1F|eYwDCZSVLN2VsTSObLja(hgGkIfU>lEO3v`84_)1XHFFhG zodgL)SD>zw$;kVtMjxm%#_miFi}KPPNil%=-KaBo+1E_~6VE4q#dV-qcA32Q>6+3n z97uZseHOOy$JnWs@~G?UONn=d^5?>#DW1^R8SFZDzoWY3OFNay%Q^1V86#OSqD2AT z7dqenuYc*?Uwi%ON1w$0yQlxo{2*Tch0Fh>LQ%5aEa6OvgByj3s1ihqqGY)t2Ot@7 zmLuq`j8;rPx(ca({F#MQ$K-Y`zywn3DzpxQg;5DCBQkNpSTt8g%EVx}?T_C5rI$Ni zefpQ?>)+3h^s8zVR6<{EZ|YkLq6^kPhf zkcnoL2~Z6|;D%@sHZuD>KTPz>nGpJNz1!RGzV?qk4te)~JFn&s619|NxbrS_g8-RqfdV4^~clW{TJ{4!jIyU*DpVM_3n4& zMS3Cc{_2PG)d!!=5906Sr}>4?Uj5FikAC;nyTAD1%U8eiTfhHty!)NM_wV}Kf9u^} z_K#lem!H0W{OHwddG}X$d>pTKyz-Ziw@6KyNo(cX<-}P5HaaiLLiLE0Av-n$6%WBV zmAb%V_j{0T4XjYU%}2PY$m|YhorwXALedah8@G(a0+KavAf=HW zg%}ACSzZa*$1rGNO&!N3IRRZj<j>)zx`>BXhxj_#>{Xk;CO+Zq5{E2WQ__W5POT zk)ZuAUD3x0DhRU8cQ&>@{I`6Hv=T!d81^vJsgxKnQ@1jK*RRL{7u~vs82X;{Q~RJ; zD2(d?Mf2II!T{d9@{f@-vKVzn*BwabAc#dFm5LVeB=hXO?Rfa__!Kx~0dE@Bpq+UC z&jrGNk;CI`BS+7Cbpz~J?FH4miqe842Grm%Vc>14o@|LFqxWkmucu{`VTFxyZo;0q z(-1)<$CF9t<2?NLe2S&uz)K@roXCn(nMZ3Zi)mB#z<65g8cl(m9m{}0@+t{Rw;v** z6a;i_uU59_m4ZG!Imjqk*DjB-jsv)-w~-frny*nhp_7OI;a(BuSGSSxJ;oYK>!qd> z`;aT4iigIe3S|K*8lYq#vpeybJ$Ua1jb>pFbf&wu){@eqWDidGihmz3s*nw12emtU znJxLOhyU^Wx7FK+os48>q3mTq1ltb;o*OGCwby55qYsj*>#DU1NYmkD$otxZ)RlC9 zDp5HxtCM8+YO4d3sOYRHlBZhHkr>5Y7MkJY=O6y3?>}~XM|M5g8C{}~E0EAB;}+7_ zxxq_ggb?FTE2o6;7UXA^vzRP{--IlMeVtGwAgfF{s|Jit^boL)*uD5#cfyg7O>1OS z9{%ThU+@4H#-x`A9pZ7~5aYbv>e(27{{p2CU$jZH#MTnRr^|<@_?h# zD?=_Rb;R|MK4v?)l&r)Ldzu$=#nM9e_6Re4*lES<09g*4?m$^sSo6tjcEf4?uy)QD=CtopL zPVu_&>gXt5;)Q_I5@91g4p}**)lV5ErV*kzuwd!fL61(Qn+1F!M%P z?q<1NHHB{?fOe;;@$VWis4bISbgJteE1fscHB4k;CR_&@Kbz*n7^y3j`1q>oF( zA~saOC6mys>^9N#Q3vXS4kb!-dOnkVtDZP1Lct4mNo5;$5;(M&9!frOeFBht%Axcy z8)VqBH2cH9{m!N2jm^n_cx;29)fc9Zed@pghH-dE(=^h+3+D`UXQnhW^gx=y!BCsd z4d*O~=A4@+u$bmsST{0MxUOzhE#}FPI1KI~EbjF1@4R!1{O1ncXN=Zz3LNfyQqyc} zqv-A{Eh>hfFZ-#z7!LW0+d9`oX3X7h{s%^vtjzGK5>2zxq?H4I1)1R!fpv?&XSp4# zw%0y0J^Z`x+!L#`G#(MXwkRn{>#dV7gH+8yEjWhg!XB=p@>U;@+=K?5uV%{X&~rsd zHbRsGHFAP8{4CtB01dpZ?AC9BB5QT((cApt-+Skhxd1Ioo`^L1aqG)4i^gIU%*$k# zQtDNu_AdFfGD)j{GsI0oj0>tY%H9LD-3GswkBOZ^sXsIS37k1-&MiF6dC%^}chEw% zhkyT_Yxbi3xD1+)E-6`j5s{`Pdkd6Bi<|OT^}zVbPNUgkb{_;YqZ~5G{~Vbd{DXTn zKPL4$lbNka>9*>waaxlY{I}GAx0KQ!{s5ssUcZBPZe*sIp^l^be?;$+KsY+AN+T8l zp80L~5UIANgk1xWz+z;~CJzU|oWk(B@!H^Uk!>_DjZq%~c^;bULJT=lzk7qWA>;|PNygXbwF@M;$nNkM2SbT~#+x;9;; zPV<$?z`?}*bs7EVfB2wIyy}_@-}+uX9{!_yMOt3WGPIL85jU;lN(xMvo5~D?*h!}y zuiB~7sT9F zcF=oW#IYiIKO|yqFflAZkFKfU+Ga5eBg zdz6cP+K?Sje`ja3O10151G-<~#;IEb$ zo0=;FOIKM}nKiEmsnzlDpWXLG&uj-HPResPV*hxSNxnn2ijut@o2^9x=eY|ntRT+Q zHtrYKdOGNDF=n$VbXg}2$MLI4kb_0ai2Vi;M}mh!e~x!V0(-XjC(N19k(sphV9;G9&Q!C%EGvcZ-R;Ggks}p5Z}MM13?mtagiM} zMcm%%Dvpk!h?Vs4U))d8hGIc+02n|sKU+e;hs;W1^j6ZklIe4GLYlyWjiK%TMDkzy7>f^eZ2K zfB4x4FJHa)qt7Bgtr$J`7x?9h(J#IF_=oT37y2T7sb2K>>#x>}zVqs%9bYaM{iVO{ z@A->=tzr@P*c&$<72q*b0lIxNxCT@d0%=_tPtG3gf~OztDw~RswsVl0kVBItNN51F zhijvI#rR$(Y&DN39`KFOovLY5i1td1e|n=q@sm%FC%4aYf1EFFpYMM9`ya;_ch7gY zm)`xg9k2b9mmmM(ozpbVsb(!Q`wBR7;fl4kre#Ge`J5d{7M5$f$FvMEqB|PLMd5H+ zFmisB_8fy!t7rmD(>7(iR^56E^e@C>t}q&dOrL9(cfb3|eDy)R`=|frKlture`InF zivi5NN)=!5RhY!X5R9ow6ivw)D^ZiqPWYC3`cC0{@w!Uz_9fJXaBk4QMXu1u6$z5s zIWvuT%Bxt!?z|?rh_c6%OZnU%=dG9W=YRCs+pZ+gyp)VZOo7uLHj#&cF>iOk=zBL?LdTC$8p)Bgb22!oAT+h+ z;DbF@OM1FJ9Y^wX1OL9^z*C%Ks09|{@SWGbIq|jHkoLtzeCI)5$P4*%e}DC_{<(+p z)xEmUU2J)Bb)Wm=Jh{3*;R!uyE+UnE%rdJ{jtGa6Ub!`W)QYT`;S1>jtA;b^ zoOCyGALYzc7Mu~d1BJ*>wAxwJ6Xtra%zH2k&$qEaJzYC3?^^oD`NtRc7a#JA{zBf9 zKltwZzxYSlw!Ql+f9rh_fBkvx-jCk>#g9H_ot_{5)*t-ocYpbdzxCOZzw`cgzOvVo zNM{#(v@C^3cZRpdE;4{}{p4>S*={q$vg z@^ruV++X4w`@M1dfq%H)8*k|ker@}`%VB{uaPU9bffWZBrIJO(KPJjVyLL{_#ICBI z+rjFKjx{Ko<#fKw*zo9NR*qlQggqHUugpcqTokFg0F`N|@t`&lVtjH7J@?0X>n7oQ zk2lg=-a?DhJHZ@~e|L5HNNs{F)y@>ZUgK}=&2zS6qnv)w6lBK;plhJONrWJ&IryRj z;!z-~_nI!NhPhI`NcOWfvwyvq4#c0JSoFz0;kg^HPcG(jf1IZYfuDF88?cn-#Eg#G zITK0f2r%e&HPuop;V@=70CLcisn%BxJBBQJl&T@?KoiE9e*cFI z?;pN=@t0q}|8sX;2`d{upB}oFC&iW&WDO1MgD?mN+L2)j2&15U2P-TCL&Dt}2ygsO zRi~^(!p2s0f7_r!IBl(QmDZk@9sz2;HumG-@|UOk&FAjqKe>;7>D5P{{BVBw@~^zH zlsxzM_Qq18FWQUzrKRNY*FTG;ZQP9dDuDAji6f5Q^k)Cxztu^cyhV+Z`qX^AKI z+b{m4oy&87ZEv~V@{9VF+l^m;b8fdUeU-n?OYe(cz3?Bu`s#$7s|qlo(CUchHNnxF z*s5vnjYWcU`XC(Q=s9y4j7LMtVKTP$lci&h<75_kKG*{5U>&{YC}#nZLug+?QY7QR~la zNBvX123PN=ip;KUjk@MNG3VVYB1^p!;#D&so+CI=w;l)*x^||4cya#|Spe|!TII6x zg3jEScibK9?@Y{U!*ZIE5KYumu#1#go|bu@e>s-(sYb%Ia#Xjy!!DH3PKtSFb6W;v!eqkJ3h^^{NT05|Kl&`*dztLj)7$O2 zf4{ab-)_Im?Pf2seR-evz0ZH+XH+wI?n?f*jfJnPvGClr-anD0=jL4|VTfW=C9kZP zIxxT36>%-)}ULBwRl&Va~JbP`^cw zxif-SU*kGCbrl_}Ay|Z$-%oS!T4@fimo8sJ1oD5xkzp%kHo}ILs;9;VfB)%;;h7WW zPi~ICffK{;zI?Sm`rY?lzx*rlbcuNGZ|{vILY^!U@^vf`ckb1DD};FFmWK3>iGFky zNa$jMbw1bC$BeXZ(B&C!llGKyJ?Y8?Sqzgfwc!QlN)Iw#NB3Dn`rIcoaCBCo?H(tk zU4b>sTps?f@4x?Z-!4?&e=bztE>ushq2%FR3dWS2H8Ww1S9$IhxM0^xT082Aq0Tnp)GR3kWz)gXb?MDOD)zle@Pj6_fT!XdMtsn zoUT}?g2xp}9K+b5MH;f`)az)MPE=dZPv>KvdB*w4z45C*`YiS*^MeoO`tXfK>bbwV zH~Jp=MJ_M&OMQ>ef8(cLrZ{V#FtZWf82mYr;WHs;+WNv*F@Qhf2kw4Q@0Qf}f_2VdF|*fBVplO#LOGa!XH*lQ@y zZl?>-s}U%2%O=w2_VE8)4#&|QC#f$?Dj*nPZ%)vJd8i*SwAG{xvu-ZE9f7(UtIGyN zrE6`n`W5+Tf6f9|8#O}C?04sya}Texu5|D#Ei7nPL6JMg%KGs4{eY$C>wWZ&o-5y4 zt1%tltR1L>?IPT<6+-DRVpqtg!S)W|PXNP4ps1Z4@>zcFTz1t0O3yqU+6M=ceP@dd zp?S4x(B}Iv#79i6JRPfh?iuwbkKV7}G|}fXnV)>Ne}4bzBlz53-&+D6=}ExjYe*Dv z^XIx*+Y^gQ!4`hp@sWb=4y(mQVAeLwWwH#v9+A*4q|2cwfcUSjsg%Z8YCp1TJ!LzI zSOssnhvq}`tO|9~f;X(uMoM!%{QW<;kkooG7S_URZp$?IX)$_-8P*5n*HxD6?a9l@ z3$`7bfB1&AYsiUn5UI_r8@h1}^nrdF@K`PE_K5RGC2gn)o^e+{BkkJHYX0yKy!{dU z1`LFLJD>Ws&8I&17~!AHsm3v9D@?vjt-@V^b_~AkwsFa=sL}HQh-DpZES$D_X!o@e|2vek}Vj<^`%*b`o}6L{^Ys0CnvQ% zdZ{f9?Bc~}_pjY0#;gaTZa{Xf>3Ey1`|b^YciS@Xap_(hRZ8y(uz6FYS3Pu3%*`cV z4HO=^zVT%TVk)))=zH_35-Yzkh49Qol_&SdpZ)Th3CG~Q*FXB;>ALycU*TKIisdWo zf9B(_fBJP(j*Xe_b3|Eo5`?z^x}42>-+Q02x2DlGPv*k3)jH6sX@X&D#x93NDw>WY zju>L7C)JsnB*Cc&?HqvsI<(nQA?6vCMcNzu0`b9rJG@+&Nyf|0~V2* zjQ{?G`OEB2w35!MIw((X&(Rk)ddehHe>prfM5UAR95Uw>ICU3*)KwH`ZS4t5#y&&S z!$0&B*Ui{+%y;eK!dP8kGVBb|b#KcVN9v;hpXQ#E%KIS!<~8jD-u`Z#p;`|8X{NIS zaQtcitH>2~|%)qB(f6x4Jp3W@%^p(4^_z|of1|)hd3BVf~x_umbw#&->S0X&)N_5_k7Xl|rXelmTsEoUW2? zoq;#V^W4mn)G>FgrL!D_@}dki9#0r&&Riq5H3q#$!zm|KRj(tVn(j!2e`58VmYU*G z`4f2qJw2j6^LO}`;%I-7+E=*8=Ujs{K+;;gPm;oM6T^D?Xbvx1iADEvq@PmOj3TiF zbCxNak~8|+6D+|<2#&`YV+}M-ePwdUJXS6b|0vI$MvT=r!R8#2Cz*(`6*%V7SV&M? z!%Zvw#?i|0+Ehm_e{Jf>f;297M;|So%h8bz74;>^+T#S~@9n*rvT?(B=cSG9Iu3%k zhkxv6@Z9Y#ZK;VA750m^0IH9=j?&OJJbcJ6e9^V?o@WK1TX{`vOG#Ei^^@cd$X!YK z?L73|t%z7^h3fgKm@UGOr_l;#HYoiqJ$>$;oA&#~_V_+#p_Ss`|Q(~AHLBb zdG0UojZ%iu$c!o>?`Y-IJ!!dCuLEUZ+_uLIikg!9}e-29YJz+7Y@huotQi|2Pj|9StvD&)u~& z)WVmVlDV*Ue|iF$i_Yx0@h50oX`9>dr3Z-?P$to^+ zozkwvZ|0qq)t5H%!#{D)x=0`|Grh~s+9{roWVoaD!StCX64#mUbu1Ej`@{i0%k+J{ zdofa;U00m#Y3vyFxcgYV+_d>t&WPCN$0*)xH)9sRf1VX`&ci?XgZIDp?OFH#Z)e@- zPDOni()zkWTF-sT`xANSeDkWJ`z|U;Lei{Nne%P2c@- z(|5EIe|o8LZmvox_nxd-d`noX+1nuYiUeT97+H}e*FCsTYp8K#t(zToy~9N;F&kOa z?3R|FwjB3*wQcBz^TBc5j}B?lrTw`0^z-*B{t;1zKQVjvN2*DEm2J4Pp5FUTN;LR{ zw3TgEOt**=+T77(Fg#U#@6$&t-$Sy|rOW9oe@`w*l7c~d4Qp$yu^0i$3gZzf*KQLG zbGjQFLtxQhIJeT?cs)F`S?kGN^xgS;FF$&dgYnGY*;_W^{VT(#kH7xuH{xq7L!Y=- z_9MKt8eJU11$~sjE{s@u+Dy#FT0X0GcsBFQ9qu-#j=iF`TxQ<0`K`Tqo`?C{TJeZW zf5}apaop{tE{S${8!mBq_@~$cw?H;{_qEL9+O7jn#p%gnk5r5R)9llhrrOOf$7U5I zuBxQhCDkf%CKFsWiC#fv)|@KtfhH0C45_nLU!(O^bW%o4!jMO@hku$+G3$_CXKMA# zyy~z{3%IvatK^!H-t~FqqmpY~r8Zblf8i%ZY#qLwjDR)`_#A9N;D+?ndiV(nAe<$No>S(e43e>DYP2m3WzTy2X;ksKe=TlL zp8j9>_@mdK`s+8I|L6YJ-U22mFG~6fnB@M(*N{~_T@#x6G6SWmYyyS6h0Bm*vX$9e z`qRacZguF3#4t)yCw5xk2u>X5vz$JI7{tLCKeGF_bwX<7Bd3C)m8HD?TesGFl~f=8 znfvUSK_y**XkMu4mm5txi|*BC(KaetSMg3ievX3cCwie?lVmKw1)EXM zw$^BQ>{P^ZvYAgaVACXrt5F8ACZ+E3@Xy|goVS5WU?4a*u8?OG(S4O!5b!upvY&z= zzVAJA%A0t{h!AS`Yhcgw13+{1RfD5H`@@krbo(A?J=fu|Zr!BRy1eW)e{v4h`S8!Z z{V4v^B_U2=65lt$%ge5u}=k@YKBE z@26#ei+aP)*7!+I;xudGJsOU0CRn+R8o64dKH41w>&NUgr!h&6QR{8o!;FcI#!~=~HxmWt|w79{#0o zL}~tCzON;Asx|4Fya}7}AKWgba+K^jX>Jz#gilS!RH~1ie_H26I%U@-WqY~4!Q?S@ z?wk#nVk*6DQ&9d*&YA0Yn#3Mg9-Uby4O^?Hhku1nvBb1#OzUK%Vc(jU}y_m>4 zjaohpj^pN`nIQxbL0!0lN1+}s(I|pf%edk_9N=-09mNoAFHNh;5V}H2PhSPYfZ4;p z^$ul>ubG&Le`rxk8lw^ARVd{S%}-ay6*$(k!E)+z(cr1wGoq2Q4p5k3sm!{LtkGtv zI>uPXI8XGJb?+#X5unm)G9z&6)L@UTY@G?Fr|+R}WM=s(E%BMZvbW4`l&=&e9)JBc z6eVJ5>-$Vj=XxqQnw%Y{NN2_(ZPzlEi*+=E86Lh^f2)(kcDab~R{K0O(`8#Zm;f03 zP{|hBd$G_pG;gkO8zcK@F?u_`h_pQXt2}n8*zCDjFWOkP-Dk^n$KJKXS~>LO5ULM7 z#^^%=uxZ|T_3W#SW@R+MfT!9^*m5C7T^ zz5xg3e}{kleisqR4{52LXKEDYc%kG~6RpZVcdOWbJeM|3Op~bi9(A3n<;==!s6?(? znPw>p2F6hGaQ5Qrjd4Lf6aXCEOWJ->qyc@8mHy9JH0;|J0`uJ zd40Xa0a7P~mY*JPp8MmxeU9bBc>VfqEst4Rn^my@NGp5QIcZa@T5^_gc3Y=P8fbK_ zWwmn80H|4nKRO#d{4^4)2@{>sWj2kZIjvLZ;j_C-J0nW53s-dIk&r~xU-W+y{n zFKvr%rmJ02l0J1L=d9Ndiagz$KJ&+U>!tkF4_|)p+n>IA`RW6I>m?OhDzSF*y+!u! zim^50@n|XM?rd3L)#p*0al&5s9NfI`e>T!;GQ18xAihZgf9Vu+-m8s1+@85{Hm_t3 zB<Nb@c$Himi$PVI)?7;^Kez&83o=%xP_s4nr(|MQ3w>WW{e^Do6 z{?FzV9WLD$UIW^Pqm?w9b;Dx4$OB}Rx?0^XJJ(F`OU-9$E`>50=4sEV#MFKYMwq=E z+&H9nn_9M%+4eeT=XPZOm?QBwJ|z3Xw)UI9k>$s}H3p#0SQGdr`)AY{s5nwDI)=4P zH7BYJBivAl-Lg{#W{~o+9ww`*e-Tm0cfw!7xDKNR#)!6^OT?C|QmQ*=jMnzvtN5W* z@iap4%pd2i7x&L_{C+Qf2$>@G+xnFZpG0>CQg+wwRz|E84(e_gG55V=u$`!J79*)% z_daWxA98Kl56xS4MjDj3$I}P4e=*{lfBIlO_h>V1AI)I`WW3v&%4t*N^xbDmcqoL|P2`@%o?Ob= z5Ni8bfCxB|kJH)WK}5(E50Gt~-NjPxZTg<#)GTK~5+#K0Psi7ovn)=%Rzz2J>3fBX zboI>`2C_#>Cpk>sl6OjVS9>Fh`P?7p?MAZKpZ-3iinqOe+o8y$e~u2JbXXMAExI?^ zBQ;Z{FP&t1oe~_|%dm)i!C}#wSJmD3sf*x9^QIk_haFh^tCd=Jlw~WGuvotG_A&N^ zR9t+^)92FDsjMQk;dnkXE+Qhl&ddugYEby(WawpNS~SgUcfOc2Nw3vYWaL5~ZeVxF zktAXJ>y631`DhXYe>M<_8Eh&J$D$3{UQ2^OLtfnzGB3S z#TK1_bWW?NS0PdBx`qri)J5v*U}F_5M`Or@De^uNCp4)wr&TSe^3^)if+>_-T2}+9 zf$Jyt9cpPo#7LIN0e>}o=UX%thv?fgVBIlS1e=1F8K?)d!rb9{tS>%%3 zsRZ?@XU*BwT=dA8XB>&hJDZugwp4Q0R*#lLZUS))e@`pbwrT)}s+Cs6eww7@Eju4ypOS6v9`0l{0TiqXxFk*gMe{t*^VFK>d6sD&O!^nH zwX+I9olG>@ymfi%O7{g;c`A{$bDw=8Jlxm%)@rNIe_4c6&oMC;#BZ_^&p}m~qBKm0 zcH3)%rvoxUJ03;at!a!sL9bB~XhK_58<8VJ3n@}Xo^q?Cy!YkYwz7WU>{+`dI*)AV z$Wvj7EFhUfXHKQr&dg~EMtzNhSY(hfPD$4&{t%!T+T;+r=Iktj>8@_=-gfl4(bTEh z;OZ=re^aNmKGh7L`Mh}(OGwWosRpQ4hCdpO+eAE)+UDr#qk*WjEzm@c9oztr=+i3> zQb|vTQnO}XI}SR}U@2+L5jZ90Y_|7aV{$7))4WaWBgI6wZ{oc#=ay#nyPP^DwFT#y z+r*Da$5PTSHYh5dP0Onf9f)y>dFk2s)7#?-_pNkkzV@CwJ9GnXBrX%=wyw{EbmW*Z+E_&o453L ze?6Eu#^_?Yu^&{)ZWwvlvvO`uJPrWY zRiAqpdX9VdSw1gOJiNX%v$qv!Zq>RynA}@8@UtLecxJ1F?`85z^r=d{9pvXmc&{~% z*jDOr)d2AX%G&|ocCWJ_x(w2t19-ume_Y8>J|EuPW3E|ax9%wp4s(TINE>Hv_i;_y z8;!ls&6|jw7Lj4bNfLXVCOH_B)k1#w@k|~K1a<`)#1LoZ(;WlSSR6Pe_HGmIi;L50w-3~-rbaOcaiW zDWI4U=whR%O?RjS2;oR*0RxB!2o9f)MgglYW9KWYn6pm+gKhLyHE5>qLrMVRzx?{m-`HOL+8^<6UVi@dU-+I=;MacX zn=gSq`t>}2;cxy!pZ&sTzwo<}rqHOq@g-d4{mpCdRg1UZkB#c)wf9Sro4@-j)2G!5jJ#-Q&gK& z9gHgoX)M^I4cllRPu+*R%C@ni`oZF~P}PgH8ne;aC~(q`u3`M-!+mF7{jDwRZHB<> zM2f(tZ@%%rnDO(i-Z^4U`d^vJH%*GN?YS;dGJ4LuR zg!(r1?#-*$UxN$&7oQpr?tJ5(Q65u!FA??a3m@GhcMhUzfBE#qWAx!ymvSX=Zis{h zS)&!vE(u_Ncnyo?M>=+HVOypc&GQIrh|9(Kc9op)@ak3=?}98pwJ%$1oITlho{_84 z>sCCFNTR}l_EKn|jvf%|$mrV-yj~03D)dB;UH$3AG$w&J#?TM z_V2B8zxeKzpIlsa3ei6$Of*jdeMD;183$uncck0cny?`w_-uI^T8Woxr)O$g%XS}* zv9Y=}Q(@#T=;(VccWK#Bnrp#y7$${mb{x|rWBGjee_Jkn>xP;wQgO809HZbEoE!5d znWZA&#sc*_JL?G4gM^rO^bfG|49^+qYcJl@a+%roD8EY5Q|dTqE;Fg6Jn{lzK@E!N zG^Kp_TQ70huo@6v4Lgx!15zE{wkC95xD6sK9sb8HI5rv@K|GbUM>F+>QzJBNCbM5g zK&aVaf7?M@PwGG{cOn~<^#@J^-vx$>pfh9-e;cl1b4IP4)JhBbL%5CdnjRc#=$W0t zhiII>ylGCHU)d9vf~Ipooj7OUSAgnh$6y+~1umvBI|es2qG9-U&@mmHXkk;Br<*?f z?H_{!>Gn)}=gYa>vc7s5uj19`uUvbQH+95WO^EE^v$ z%RIVxQ6*DBhN04h_*{5&Fi(fa*bTm2G_y_Gr~!Dx!I?OAgPfWWaS`Xp_*SWM?N|@= zqP?KU$;|9cM+6_(H+Hh>(H$eqkmR(%SMD*$6SfWuIfn3r4$8tA1!BssS^-!ZPdZ-E zfA0GTYTUb6sADBLZpyu;5fTzAh83_)B@chcC!hWD^Rh)ss2DcNN}yt$p{a*AbYJA3 zWtx4hVtFK80Dp@e9?!A?UJYcz*b0-(x!A=+PfgN*@@F3NxvpUdMmLU5c`$+0zRYXY z6ST^`FX#Dr?mKtp(Hpl`>qk82Wc%#i+2bUL&N{XGgIzAhXTk01*y4!A80VBat*}w<=KOe+13Y zc0w)3x+K@UF-!{hE#!Nle)|ReK2V|W4)AY(!{_0kH`Uj#;;jDtSKc1jb@DK?D;5v) zc0xw&4iXsa^&E(7JNLC`jf)_EruIHyx0}-zVe6l;9sza<{S!BHw-W}2@(dQhu*H(r zsD-05_V5F#Jh`*n%3tpsAM$QVfA}s==4}GtZ>4`_@tdFiMt=TPzJ79qy7z7TgGrhB z@CPW7h&VZrNKx3r7!-AJw5Z`ypUxrL+E_l9sepry4yesoUb@%pMrnV*_L5Opq zU5d>s{LC(=;ZVF=NF~g6b1?uOGFK}ux_#d6Ou@Z*-hSaXp8CJ;e8Zl3(E3d?@&kC% zKj4FQ-NYYZxBZQLyT_&)f1(x9RhEEy6Ppim$aK)ri`HdSlQ;Fj3Q!lYeVrnNJK?3V z&pc=X+A!K%nK~x_Zcgc*1+I-Dr^i{8Skz-9@>b@txGmJ~jexx^)Z)z>)H6?l+wOeV zp2=N*-~2p2g!%cWu%&vb9tn`oh%mG;W1CZ8Cq4p0FQ&Z~HfC$Rf5T?XB0XZCJ&)DF z)IJJ$d>hQ&yV`Qs;|B2*WPOpC1jDK_OfMbZaFUJusN0CldsA0$qnyvHFFw5nl%GDH z`ffMYJKw!$);qdc?><0Q*-zoA8yF%HllBdi=AO||6M>|MWxi8Q+qC9Fo&ulN_m+lF z^F+@qh~43?sMd~ff72uo)Cf7+s}1Er9&B5#)EAS<)}|`hc?190?HYG)EC20O|MOP| z7k2xw-T9_H>4DD|v|jY@A)kKn-76p61IK{4qnCHi1dXN87%%GRK9~ZQ+15a#eeFa! z>(V$%9fJl=Nx_QJFccXF&GaFP5^K#;Y<-1UF$|5vO|}k_f6fcUMJYn}=XTn6Z;sn- zCS$$&{PSzld|tlJ`1;8@ckkQx+{}-^kNy79+ZTQs4<0ISK3?c06l!ilZX~GeHTJox zmF*j;$Gnad4sbMNw+T0+lsV!s#TkNk+A%@+>jDETtmrEeHe>|13AfqNla638Gxlj1 zpRIEnPj>Iie|feQ`bSRsH^2T&1I?!D#PD$Cg17PLo+ltuXuFcfY@TS8(}HgUrGG2PS4YC=MAr|=c%^%fwL0=7fr@XQE3h0_FM=esGj+eUaNjw0^R|a| z=gYZ;jsDQP*nL$%;%xv!1ss2H2KEHs!bPF|vw{_}e|sQy5b`iDd_!(pPOinz;ljnPzJ-BZ)&JsNmo#G_sqs^X>uC7>18kwNfuc zg^DvJe>=?~eC3;1ATs;*fw?z{^yY#2m9JjE`t9HOv|gi9{_@99BU|o!^L|z2y7XcW_5&tuq&tl<%FP_(Jy!*`p5*S z8Q}VwaMG>}AN0;Q?%9Sr-89@k zf5Ky$B&t|m$x=Ym;Y5K3h|4DE6q^$%_?@( ztpVjdRWD%)!n8%Ox@he)q+rS)03J4zRo;Q&9_Vr=Uw23*x^x$zAMJzaMSS283(b;qW+By?KqOmUuW?Nt+L9;m5f7mk? z&!*1W7fhb3@#-bykWsGI`-yW|u6A8uHhsdIV)&RkfG4MCixXXp_R%x@MCdir*dU^E zm5tAS191YHHz>G$=vWt4;|z)#II%Y&p?12JIx;{ zhvU`jC(qoy@7*7aa007=WDTIi z545ee@7jbH4raG z157+5e?oK&mDo0Dl;vlm^KuJyzVkhMc9oqstL*#$PyF-_YV`>8eh_J?GFFAou46ES zE1g;skhDBKl}uvq)5ahdp(ecZoUOL^J^#d`hq2ulNl)h>e{O@2?I+U`A41(~9ietzU^IXWVFtGgv3jN_6s8#3X~;~f zl@8m?6^hx^7N5N?v1gIn?vvpjjfBIfJeY|C*3?wXNlYIJF z65~R|_71{fYgFiWH2g1t%fcd|pz(S5slJdD6{IwEPnws-Hbi@eJm$8mcjwEw?dtum zZ>MJhFOQK9Kw&+1e+P%P%^p1inu*RhAFT;kku#XA7)XX3S_e_Djiq26I?Upsy-$SK z0%~p0rLB4cRWw+;hXcM?B0D{T!b;Fe*n}q`-D0i{S5)JEK(L5 z7I@BC41i*UAerEHJalMxo2}c~d{!aZ84?_DSePUxz+r82W1_KE>xI>$N2G)enO7k3 z;GE~^jO(LBvll4%Q2DfuY{;lS(+(obE_%Ezbn(%6J+~d=Kap=ffBEItpTfxf^2<-3 z$@RYX{d+QAf7BO!z87Zl_JyB(o5RFp^=8P}ga(sDu-YlY2|!b|1BFO$0jb-z0BFuZ z)j_$jmg867k?g&jowFO5-?3UAcr9TD9bBiTLw?ZK9^Kag&1hn@zv$ubeguabx=Lgs z2fT-+Am#)dacH6~1i4}$!|tGo#2)<|b<^l$MDL_|e+>G9auwePyhjab4pc$zQ%E=E z1C(nvhkd52`a}>*P8WUndmgh3h8K)@a2NNnkUEnBEkirXh|v_-ug}zM$j}%&VRhi1 zK%z0N87lxm5oER<@)BkngJidZf0$=mfyy2+S;R8uv`Ij#4hpJ=zxNSeJ}(9JnA>0MgeN3`Cm|f8Aa+vU0Gm#See~en2odCFfM&nW21g7WcMSK<>3?g-a ze|2x$mD3c*GJ2=+wv+fnHIg#!e{4OIh-KKtPxd<4oDN$P|fmNrS33Slfm z3y7WG3&!W8U4h6LJ3;ty`+`y)Wl^Hsj;2^IYY!>~OXy;2Ho)zkC-sZj7Tfu7`=2 zMDGAmA?-SvQV*>;hC?Sc2xM((Ho|SS8HxCYvlyYF$wW+QVrf5n>kSXBuv78J@20UKCNTo}df1z=Mrh#3)0 zBziKj+vl-_MkhgQ@x4YH2NG6~TT{cmFXwjB_k(Yv0Pc0X94-Vko(d*10QZXcirK06 z(rMc|*)%?AhvrCRVt47%9I@%6Ip{-+#G?}#d<`A#OoWMTrbsTMifQ7pg<}t;f3%(7 za>M@YgP^eu^!USi2O)phj|lR=!pig=PUZ2Je%`9}w&pZdQe-`jHbqda;Xoy*_5vG! z1#K@bJ7*qF7RX&Y3h9JU6>p)O4ISV%?G;;Wo{Z8;fsA9gNK8ddg^;T9>oipx5M;}7 z+f2E44$*Df`m0x8eU-0YJROtVfBU{YCuNiG&*pyg_JxnGaXr!MTH<^3%teKEFdC-J z&JKFa^fqgbqZs~6=Frf!hlBap*6Bcz5T%kAYho3c(iCx9YqI9SDWICp7SPv=s*OqB zV41J+B>UptDPZ63I&Pkyzq2R2{^rZCUw-lQgmdS6_vEQtIM96mseAjve+P(0+S3?V zQ1TOpeeF}Lo2aWbTWmIEjfLtKF8rfP(7ukCV=5pqK?>$|t|~r-Gps0#_TgcOxx~O? zq&bqPYwf+WZ=rS>;C-xzfB2`+x;8}T`Z;~%skRZV$t}bRvsG+u?Vxjmy7$axeUH;& zCQsEN<{gPF!i-kbT+ON@f8+%Fl(ub*qO~pZ9I*J4G7?r8bW_3hrLu2x?(dwpcB_Oy zgjTO-y8P_qlEYfmZP7k)$y5}rzV8Pfhj1aP+*;X@G~3u(2&yrAsVpn*l8GJ z=bn@M$aNGN3ot-?09Aa_h^`f|&~jXqKu&gK#s@a!kz_czLO*Q)e{9(PuATVH7oTIj zpz(rGzx}{S;3OFy(iM5&#R!)gn926_;g4fbn9l>wFs=Dtsz zVa_0oBjbEDKvU}G_;qbUJ%H$FC6R6UWIH8Et6RrU0hKc_P3@~&I6IxTHeGQ_4(k_^ z7cqgAiHlX_TXp8;G?4W=fHn(1Y_X*cOl|_69sFdvt)uUKe>pcR`wzT_v(3I}wdtXW zcqaFTsnpEl1WHst6Ck&A!@Gf=(Aa~}5bzVoZDV!ME*IPi)%B8X5ew$HDab;q1m<2TWFzZhAe9qg zz8ig8n0j@s!Dm(l(!SMUfX%=gyYlvI{`JeRzP2Yhf5i8`Y0sRnM!x|BUN8LQoBoFU zcLoNodB%bs0D>wxM+K%W+LV0G&O$H`#C`{{5JR+^0m%!}OWD$;>zwUotXE(&#+Ti> z_Qt3Mz%kXb+%qTBZY_H!>he^OE zVxqt|)Xxze2yZB!Rvms@q@A46Lowq=Xm)f{4cT+fMP^0>@%7Y5!LDxsOyHE=nlC+Y zpJUe82+dJs99`yyJ$TjQRs3VPijE)`(4B(3f2n~|xAt)ptu<2jb~KrwoJfzd7^YG^MI!cOnjHU?fj*tfON4gtwX>JR_;buW&UwdDf= z0%!=&-dY*NI7}gkPv|VsdVzX*ka(7a7QzOe8FJIUMFl9m6$(fal6)QP)^tZhd+a0R ze>O+v5il1J^q7hS#~kwTPh8YGb%!T80ECflPzp`=K7c_(01gOcv#Nyy^f7_cNBw51 z&KaXMbfZtIKyqNE;EJ&l!G6(MK?Wf+2lP{F1H6xbJJ#!S$olY4UQcJSHNl3z<`}#Q zE5lLmr`aS}wK^b+oBJw)TMaq4))ok$e<%Z!Akf-Ut$Bm41EGh#;ZCUxgTJ+pezJ$4 z`=riS54~gxI{otSPhIx{1N3dYL}vQ5nvn?xlcYNUm=3H;L)s{mCTqqXKm)Ec;UT>M z^8%+3P8LKEOPZpO%^In>oDmtp%|hB{_LRAieOxe^C+~-U`jf{H5{G88BTUzFe=Zlm ztU&xe-e!}gz;|KL1w)@~?i!on#%X&pf>Ihb><+(QBG?^5-lNtha+YTth<=sMr8Pfi zfw-9mx&g3??ctxnRUob&LBZu#rx{N)Q5}g3?iiRL`Q$=)Y*rI<=rItZg%lmA4F(xgFt-0Wx#`QaepP3 z1T}o9V<3x)g;zkdhB@eog8>KHG-%h+@Z6toKHKto(On+zyJw?|jQo@fl;U&8rS>5?^ zZn^Eh*U#q>;6V(DzetNZV}Yu>W)wr5=!Oo497)G091Mq+%XdORzot}<+8{?_kSYbh z@`80+D<_Ugd#D8?n}6DcS?1O| z&~9sHtbv5w?by5lg$0x-KvZr3CKHr4ITUn#q;ihNu(!_<(7XbL)i41tY7kDei@P9N zv=-<^dI6t{A+*xcYpKrq5jMJrcqvFW|w4pYdzL#kn9-mJ-}2N zYjr#|#lsJ3b z_RMK+TTs2sA#h#ARRf&_|2f@zj_L`vG-6V8X-gxHeo1Gq6vn_2Ab5D5>@H(5a&g5l zZ6<0Lxf7siz0!N3$VQ5J-=;R_6SUB`$tO=7(|5jY&v+chdnBvJuYdmv56{2$ORwJi z`D3qt>*beEkI@Lqz=&%iEzlY_m)JmIwz9YR*Aikb)!TbmyKxu3$wNTDLZW)1Y7TSs2`+K!yA zISnJPS%sRorC!m_VSjmw6KT;sp@}_fV85Sv%of6VLuQBO4S9J}n?coP=|A4bM6t z8>ezbg!&m%hXfG(J3ypXMKC9935sY;&sMj<-5-7RI=}w~4(gp*+*PvrSugH2J#lhAB$y#}M zN5m8gnFDSI{tW=cE-`uJ!#{ti4nv!?4ZS(-xfW=;=-|u+Vfh%PS!FCfIS}0#XRQLv zrNM0tK>cuCP=Cs$nGil~)Z0aKUQE@pot9|u%IvGgIG{`PthEqUYx(dmTxWB{P9AiT zQPjYN(t<$)nrMq);AohW;|MJB>X*t=`X+c@<%7vi5{S%7<`YA04!A_ z%Pu+(4u7!==RycI+ks#&py0Drsb`Y}v~JxjWjn_uRN@O@*9ZiQEhikxdwfgQ7T zN}Eu+44V7)kaq7NkDCYZkJoDpyc5qz#O{6Pp7q?V8_(Uxgb{iB#CZm1XDG9Y(C+1y zV;=l^FyMCE09l)awU#4`lwm4U7DKZgv0E?wwoyZXU-$tR?HkT1*Nv8Npn2F`+) zNIOn9V53>~-2?+1vE<3p2*K;)!hRMvn}3?O@&H%gXF9w0sFtkg)}J$V%%w9o88lC3 z+bC-3?w}^M*0+@bDhhr-_EmVBkVGLd5O5nET#;mE1Nm!qX`#vcz;)FUk-uPL$1PR# zm+IB)FFrl?wLLlI-TA&f^Srg2=j}sb91cc#x}@0=kW!6Ua-pqrA^UtRS+yi5qkmaw zC+3LClW@HBpq)&6!Tt9*q>QcrIUvl4e4TwH*J?Qbc=hH$Y+|^Y)>3rX!@qRR#Fu!+ z*rx%pqK(}$Tb8!0zNg5jv#+$FuAsGJB(%EKTG~w47+bUk?ATbAKpzMn=)fYaI94v# zk*hga!>yk_(PyVKinojr@$fHSr+>UtIgr{I!KR_?;(-y+HB-9@Mm7m5bZ&md; z0HGvFA*fR71ctOYb->Cr#SqHf8e*2u)Co58OswTb0p{{nhmB8Lot(oKsec0UxYni^ z#6k3E=v;}ld7`C=21)U`bz+g1laDKab4(>)3t35KD3sfw!7~;{x+Aj$CH7JYoU;cm z>GGx3oES~F^yW!u4q)i1%a6eWrBth>mZ~d6m&<#rm58DEb_IBBlfOIZz3ml$`ljN^ zN$<|L?}=2XzgREm`&{9-FMs^xOFq_`)aJTyM zKraqMsCIZbxH)5|=jB;!bqcVH)#n*WGb?1M3<6h9J$u@L4oq_*LtG#J)lWWx*sX_u z?UICyz419+`yfmLnGw`IV0)c&_Y*j+8!CZd)av=SQFoNSwL z^S&#@o-%ShbZFl-Eaq5!ri!Iz0%{F=?v}F9p%JY3p4(JB-}7f{RL6e*u5?JPe~% z8?`k70H{L7--fUa(uHY=fL$>Y1%%5!xlsh;geOzY8+t{t5`QOe6)^k*(Opo+fiZ%x zQzb;Ct}e$`iy61o^PhNBIDVSH{dIo%=9*(XNr1TT{d-RA$hTrg{vcwsNH)932(UvW*SDNull^)X;-ff?g@PRl9_3TtZ{kK^isa zHAnjd!a@P`CVz2#_%|-`QXtkmypE)RWVKZN@apHdw$xz83`jOXu{5vMDs`O-1vtyD z<|Y^9rK~y0a>mgnv|{(ox_X^6u~tx#y{{!4_br_^@*P+Y#qji)nm1g=zph-5zygK>$bH0-mn~8NN#{M}C zMi*Gn+JO5UDB-a-3p}B~-C(i^YU@k`l+YCjjswWh!L&+j`x%I4R__r_m%GkTRF6hQj zL(#oj%0%>obtNq22%Li;7PP5d$B9|TnqYygQeHZw4a$yK_Z53#Y!s{d*>vgY_5jdr zSAS>Bl`xkZQ#K{2h3x zEz4wABkEh9ytC_VX!*Sbwu=s?a*!EVhxFh}=Cs#yeNUb`yBz)=+09(&m&K~A1FHHdk)tmd*#dEY~uZx2wb zI9KuVCvWR`mqmYPd)dRk`^jgY{M;Atb6>#EeE~oB1^nC>@N-|l&wT;^U-ShuoT+E^ zFr%Cx^y<`1jD67#IpIG?upn!*h)o zDd^mFpkJ(mclN5K#y)Asf`4fN-&rAYban*oa3EPKdjdy#I&~!;y(5XNdiMc}DN-HI z944V?vGeeVc^>}#t4jlN(x?pXJ0V27g6_7g!I%WZRNy9iE*jh?co`cpevUN2)eLv1 zr*7r~*FXDM?MQ-ncg_ad5c7YyEM`~5aU=`b250wCO?*832agJZ)_>qDQI1fXk=+_7 zcYy>eXnzv*knw18;8aORIt?4MqgPh z7A!bFyL#&n|KatHH1r!_;n--IoMQ@^URcg6%gA%5IU%D-5LDS`h3g11+bann#%Jt9 zbH|LWaP0UrKWOA)e}7y$s+Q*|1vu;Mtu{@1^<7IQJ^V+XeD=paxJ-A?G1p4SgYMMGzZ`h8p-rxpjedWDAjBJskkKN?E=c|B3gRb{_KP*K2uM7=>fXVWw;KU z0h%MCIsv+4F@FZl4UCp8-G^=%tPtIGdlb zFu7=e(GvEzI7f!wPITJa&e^?#0)M7*3!nL@LX}l*f$n!TsOij%H#VAs z8B2X)mWU(O(dOEa=(CoMC3;lb27wv|4a6(Zv_{ouO@Gi)VK&Jg-k?pkm9l9X-@dK= zLW+HGv0z3+f>W=mCgr0A2YPLAAM-_V6JUeiX?6_4MF#-^8Vxr{ovDc(Tji`-VN^27TWW(LYX0 zgd$$ahktY!r}r?ZS<0I%YtT;)K*@r98|L^$Z6e5#wL^8ZL=NsaOWSq2dvS+5)6pV} zE!Yl>5mJ;&w4%|NoJzp4PINQp(@4uZ=X^Xd;@H>UytdD;ZiPJ!8NB!1dj?rMZ-P`m zKo-r1f9l$XtdUk%CJeNtJT|gB5iNT_=ihBjfPej<#l`VUPYNMszRx%fu_J9GKBfyt zWrve#op}w%iWTE_#%u(^E32c?1@AvKJr{fSRttUS{EnNa?oa;q7oUHMKf#If^5A)U z(%`xC4g7<#MSS=N523i1y0RKY44FDjH&Y2ZLo2v-@463bp-G1#w3AC%zhdSf-ArX^ z41cb{pe+s6yvCWGVx2|7b0!~Gjng3BTeSp!Ire6;e=47abHUql3}2@yq8H!XQ!!?$e#4jN(9fvN1Wh zVw45j)c974q<({BZ8-&ttBB9&`2o_n0eg&0}73jpdFUT#f0v zIh&KSL43TSC=n&iO&*(h=7IxmJb#LXHA}Vw$^_+Vfju1y@d*u*_mjsCP4r1x_XPM^ zv3%m!TmG#;{jYnFZ^Ny=jk)@p{`^lp=PF_?8ZRe$l_D<8mRovalE%Uv{(*QX+XjAtYSh7gHBwvB*+ z)`*Z@yJ0|Y;NA%rL_*}v0scT>rXD#L)&R*j8&Iwxj)G(#QmeK*qtxYHqYomPyqIIWPdh*B~7<2S}@y=q}b;`-EQhe%! zEOhI38|E+`nN=D(G2Jl?Wq}_z^9jD^&MB$4Dv2+@{*6!LH!^H&0 zKSbaVm<+JKl5};#NE_+}Ny!0zUS^F0kH>;zRgR6Y@X-z={Bbmew|_z*9(y}yUVJ}2 zSL3a1Z7W!HtpvwjTEj-dYqkw;9qmc`;XnInJoQsXgGEJFw-2P1C}RXrVhwDFye;|e zoril{CA`Tme*6^Qa)0le_T-UY2xa-+BmemI2Y@Edxp0EqTWigwYbXgzZV&V7bV)@K z!2|2U+B>XU&vrUN6Vw_bAp=rJ$6O85!b#;k)GgbIepzPb+%%)H7?@|V$Iuf^&bRCtf!zBTqwygyMi($MdUxmPz`~pY zm(fRMDt6ahEusJNvwM&c+$Hd&^$f8Yrn{W5F9$1fYXamJT8$DA9kBteMtTm`5Wt;+ zLF7T{=xDzsg-@eGtjPnNJ!-b5r1z*!P|R~88e5&M03VUKaD%5 zawtB<2#69SM3NbdnoD7gHM}xWm+iynAQTW;G(150Eb)i`@-h&T^D&lL0G2dYO2@dL zVxLvc;Hj=0JV+1~JmM4v$lJC1P}vaA4+bs+xMXC_LS86VbEY(EaUH#!&?NCv>m60~ zSh`gg*ME8VuP$jC%9TSa5^K^<^|N}{#mHZWbYyd$EEq1DH*6=2f1FdAc8?qfQ_VHY z`qkq?#%=nz!fi7%#dlzz*<-+E2p>4vkt=d1bkM_pecg-JnzjWmk&J^_p-8IfB?=AX zIXui}0#p%`74e{t3A`8l2g(+rJ_yef(w6|bZhvy50k&|)*mL_i?f}Jt;y9GxZ%4B$ zeDt#({+lc0L^e8b&;?)vvYiRJWcut52Q_Sl>22=_UF$4UkKIOtuX><)XQ_oiRK~tXe@G%l2gMb}G4njYu?4Ude)J zG4t8r2W6K>%q(m@w&^TbIOo>p&1TO;mYnTAe1Hk#(1ZwIzKzlMT<+4cHPFpVmVb^g zx%7V|9VD6Mw@S8O_Sdg|>rK9X^ZCm+Uq8u%zVoen^3cr}{XNS6kKVrU0R{|rCQtt? zfv}(PYF0Zw4P^jlJ4YrO_;cWF*}*_rvr{`c0vrZB8*POF6E@dSxFZI;YoX3osxw;g~97_Z~tfIwib_`OEJPrzUfPy_qx@^t2Gp8fFoV8i83dBD|`yZDf&v ziqicAf;rlpeIy!)07PPa3nSz}DravDH^G_c*7b^BBTAy_?yHf*fH$nIx^2qik%1p5 z1|v@#l`bj_fjpwO*&0x$qy{V{v9B>WDHHy=D+Zt=BYoGws(ay@W`74m9KGP)6fAn! zkmS@b2m@;%My5tq4)(QfhdF=EJLc}2{5%7t$Me|Td*8(;n*b&}@6iw6zVMT80y+YW z*j5IaoFl>WtUdz{pMwzsd7D>CDw+YX7PlD1-T5r)BYSH+8J|+v(OOkMXZ3~%2ap_9 z51iHDwI8a*fzdQIF@Ky*VW@xjA2048PN|@?QLTiN??9jdNJks3myL{#Ml@EX)>h$2 z?5!)1aswR>Lo0dD-XdZd7wM%KD;>KAvQ`Q3LfZ%$=$2;=;>P1_u@#yR|I;TJlzm_W z(W1S1<9HP4GBPB)QUI;(bms-Mud2)-bVJsf&9<~2v(7%=IDa{PgM4M4=|;7{P2Jc< znpsEc5N^V(o#JCaq~?vdT(3F*6ZO-5k+-)oOZMh>zKq{|`J@87_icLyxBkAsqkWtz z&pD9(3m@dZPC(G9MNZ5!y&a@yfh@cMy`T^@{J=%JVuBn3>|9J+iWtC^wN5Rm;toL^ zkgOBYOp>r;(0?v*sC!0(q_IIgG;inl_eP1{K5p+Qolgq>JKwfv#!~ymes3&=uRos0 z?R&TKulAQ;e){gK?}`wDx0Q~Q07(rjIQlOg3CV$|pF|`wFCRopM&Hrc;3mtn1$o(y z?qveqKsj(E4B6hhN;gDXtzbC!k+pWlZhdE6Ov?s?EPqDBx5v*r<797*RNt9yZlA?_ z-?(R%K6!6M`uO$7^DKUwG%;yhcmT)XyMqI`j{_1ZDxn8faO8BgErXecj8n2Yded!# zslrI4veuT@q74)5ES)6~`N)N0JGI~xaQsC=d<(TaT8X?$pDH@a>3mB)N;)muq226OHaFpqS zlCzSUYs!zVX@|cc_!x`QlJ1@rd5!^-99<$%#4Or&LS=;7`>srW@s5lO@pqTz69~HPZNT;m(57_EhX#-+ow#GP zB}FKnX6vJmQ?RVlTm@{t?K;MZoJ*F`lYh<-g788w{R|)$zQb)&jBB)6G>V4#!~gc! zbBYF}wNX!?rEDMQ!ZC=DO)#h$RAj4QtOR(K3)68uYl1wGvX+W&S{!6?4IAgU;uJ*y z8!hDHwB8W|MIi7UoJd50vfz|@_}{MwTyrN&zy?G>6P_w1V3Uz|1uV@R!obm%p?{k_ zS|VAaBPxK&D$_fBC7Z^E+%>%Q#uT}M8H_H$2DTtdn7aDwp)>R#k+vG2hyUYZay#|( zJzCq&aN}uP__x9JKA=rf%8GKBZI`xgu<4GRfS;qu-WRs6lN|u*RV7>7pu@Fjp6kb? z0kU@%2?Ts)$E(4M=b>5S;s5;PvwvUxy_59cCGUP%l0HCPy<_f-l?~iZped;Nf~Ems z9CMy!mp-xr()vs%K*sLX52hwqgLo<+J>k(WO--Mx6$54LkqJ3^?Xlp4 z;1<<6WEgJSp@Fz31A$O^#($X!(CO_ou+>&0gx&;zd^U!*oqf#eJJvb}@hNAJuF(x{ zj3I!7jI#!eNN4X9WF>2)VBwDCL4XO3VOWJ4gWrXzK?iX))qr$6-I5tg=QB|_e=Q8h zufEJjFVbTu&a>vDd*8}uNnh=T^z|Vs=C0uhXgutwHX8)->OkVojenaQ=(E5wqho~h zt6##~L5-=L!ObVqzXbq*5?&5*3N^FzI%i5_Q-Wi$C&St_(Bxg{nGf=@W)OUD8VOF2ss0}1Thlqyx6f|Pb!|1W!Q)?;^)WcgvFp6cqJ?uJIK zt^@=<2>mz!bKK3%&40}cn1Mcoo&zv*GwWgxGnpWnU25q?`@Zk{zVFg!(5KM`Ei>9T zoIja0#T!vA%oM51DiO$sWMm}c#{c?tH#a-ycLofLK)vIBa7K0bLI<=`;}|H2#^eWy zY37jF0W1uOOw`C(HM*D|1;e!M)gJ!KAAAC%l!yQ7lZYw$uYW&eiQd|kK7n@K!+&$t?+tgIa!vB4$)fb+>a5OY)En=`0Yg2<{pga@_+DO{Ix&)tM8qJm68}Z(mo4- zfAGB_q`{4JLM?Inig~5$ULm@R3zK?^i}>HFCN!c-AafREr7T=!Ku{c6tw!^S>{MWC zM;r4Z2-9JAJK=-Z?M(aZCP?4&(-n%#tRCXRD>-S5+Te~(ah_+PhL5!nC&UffM#K=~ zE(r)mntw@OF$V0m*h<&z)e;Ic>a>Ju)fgcyld{%Q61Q8O%5Pl}Sn=%jkL<;Zmp^_) z>bdj7dlDSbZ@>W`!gbU3#a~#xXoB+4vU(RbgH02K40JQA6B<;8kF7-mIlU`_ZGgv9 z_YLH9PuzB#gTZCqU6IcMrthR}3)$g**3^{RX@4Z@2GaV&fA=xK0jG1Y$*@6*p{$N|*cfTdtf$nFp+dx~<7`01RRAEsh-nZwO;|%{GnwHy0F=)I!My}Ol#Hp6 zz7WlXF0D1aPB(1>N;EywAO8D~vGySyz&a!Jq7w0aP8iKrx0zbSK+?_LAkdlBw0jo- zxw9IK`r_SMo8T`uqSI_6hEx!MmqTb8<9`<*?JWUFVcG|wsAMe~IeHK9UgNxnJH&-+pWFZqBsJkfaV2SuIQB&CNLhRvx_l+R-G*hE7Qo&7XS>q0h=`RIE0j&wZW9S(4=kbe@;&Ji2ZEt`g_(TsJVhV?*| z?t~B|-{|8B!gu>bPK6ijU%B{^kmKIa@9+9Gzl!zo;<u&B46$itLx5B@5zE^ z-V{7P_uBvPGjyZbmPZq8O(3+5$$uS*MQ|T^q3LlZCKqarRy0{)s=<{(M~_GyJ$f

Sbez<(sn*36L= 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

3edtEdtnIh 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

SBVRjFhT9jn{2EIDL~kDo%7+xYyb(7Ys>9 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 Date: Fri, 7 Mar 2025 11:38:54 +0100 Subject: [PATCH 02/70] WIP --- app/frontend/editor/plugins/maglev_dummy.js | 2 ++ app/models/maglev/section_content_store.rb | 16 +++++++++ app/models/maglev/theme/template.rb | 1 + ...45_create_maglev_section_content_stores.rb | 10 ++++++ ...20250305224652_add_template_id_to_pages.rb | 7 ++++ .../maglev/section_content_stores.rb | 34 +++++++++++++++++++ .../maglev/section_content_store_spec.rb | 24 +++++++++++++ 7 files changed, 94 insertions(+) create mode 100644 app/frontend/editor/plugins/maglev_dummy.js create mode 100644 app/models/maglev/section_content_store.rb create mode 100644 app/models/maglev/theme/template.rb create mode 100644 db/migrate/20250305221045_create_maglev_section_content_stores.rb create mode 100644 db/migrate/20250305224652_add_template_id_to_pages.rb create mode 100644 spec/factories/maglev/section_content_stores.rb create mode 100644 spec/models/maglev/section_content_store_spec.rb diff --git a/app/frontend/editor/plugins/maglev_dummy.js b/app/frontend/editor/plugins/maglev_dummy.js new file mode 100644 index 00000000..e72e7999 --- /dev/null +++ b/app/frontend/editor/plugins/maglev_dummy.js @@ -0,0 +1,2 @@ + import setup from 'maglev_dummy' + setup() diff --git a/app/models/maglev/section_content_store.rb b/app/models/maglev/section_content_store.rb new file mode 100644 index 00000000..476c1dce --- /dev/null +++ b/app/models/maglev/section_content_store.rb @@ -0,0 +1,16 @@ +module Maglev + class SectionContentStore < ApplicationRecord + ## concerns ## + include Maglev::Translatable + include Maglev::SectionsConcern + + ## translations ## + translates :sections + + validates :handle, presence: true, uniqueness: true + + def find_section(type) + sections&.find { |section| section['type'] == type } + end + end +end diff --git a/app/models/maglev/theme/template.rb b/app/models/maglev/theme/template.rb new file mode 100644 index 00000000..b20ab096 --- /dev/null +++ b/app/models/maglev/theme/template.rb @@ -0,0 +1 @@ +template.rb \ No newline at end of file diff --git a/db/migrate/20250305221045_create_maglev_section_content_stores.rb b/db/migrate/20250305221045_create_maglev_section_content_stores.rb new file mode 100644 index 00000000..ba2001b6 --- /dev/null +++ b/db/migrate/20250305221045_create_maglev_section_content_stores.rb @@ -0,0 +1,10 @@ +class CreateMaglevSectionContentStores < ActiveRecord::Migration[8.0] + def change + create_table :maglev_section_content_stores do |t| + t.string :handle, null: false + t.jsonb :sections_translations, default: {} + + t.timestamps + end + end +end diff --git a/db/migrate/20250305224652_add_template_id_to_pages.rb b/db/migrate/20250305224652_add_template_id_to_pages.rb new file mode 100644 index 00000000..24b21fa4 --- /dev/null +++ b/db/migrate/20250305224652_add_template_id_to_pages.rb @@ -0,0 +1,7 @@ +class AddTemplateIdToPages < ActiveRecord::Migration[8.0] + def change + change_table :maglev_pages do |t| + t.string :layout_id, default: 'default' + end + end +end diff --git a/spec/factories/maglev/section_content_stores.rb b/spec/factories/maglev/section_content_stores.rb new file mode 100644 index 00000000..1c44cb6f --- /dev/null +++ b/spec/factories/maglev/section_content_stores.rb @@ -0,0 +1,34 @@ +FactoryBot.define do + factory :section_content_store, class: 'Maglev::SectionContentStore' do + handle { 'sidebar' } + sections do + [ + { + id: 'abc', + type: 'navbar', + settings: [ + { id: :logo, value: 'logo.png' } + ], + blocks: [ + { + id: 'menu-item-0', + type: 'menu_item', + settings: [ + { id: :label, value: 'Home' }, + { id: :link, value: '/' } + ] + }, + { + id: 'menu-item-1', + type: 'menu_item', + settings: [ + { id: :label, value: 'About us' }, + { id: :link, value: '/about-us' } + ] + } + ] + } + ] + end + end +end diff --git a/spec/models/maglev/section_content_store_spec.rb b/spec/models/maglev/section_content_store_spec.rb new file mode 100644 index 00000000..58cd6b36 --- /dev/null +++ b/spec/models/maglev/section_content_store_spec.rb @@ -0,0 +1,24 @@ +require 'rails_helper' + +RSpec.describe Maglev::SectionContentStore, type: :model do + it 'has a valid factory' do + expect(build(:section_content_store)).to be_valid + end + + describe 'validation' do + subject { store.valid? } + + context 'no handle' do + let(:store) { build(:section_content_store, handle: nil) } + + it { is_expected.to eq false } + end + + context 'the handle has already been taken' do + let!(:first_store) { create(:section_content_store) } + let(:store) { build(:section_content_store) } + + it { is_expected.to eq false } + end + end +end From 6ae811b19d8d5f6e5358128767958e6859d04f61 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Fri, 7 Mar 2025 18:45:54 +0100 Subject: [PATCH 03/70] feat: load layouts of a theme --- .../components/theme-section-list/index.vue | 2 +- app/frontend/editor/services/theme.js | 2 +- app/models/maglev/section_content_store.rb | 4 ++- app/models/maglev/theme.rb | 2 +- app/models/maglev/theme/base_property.rb | 33 +++++++++++++++++++ app/models/maglev/theme/layout.rb | 20 +++++++++++ app/models/maglev/theme/layout_group.rb | 27 +++++++++++++++ app/models/maglev/theme/section_category.rb | 17 +++------- app/models/maglev/theme/style_setting.rb | 14 +++----- app/models/maglev/theme/template.rb | 1 - .../admin/themes/_section_categories.html.erb | 2 +- ...20250305224652_add_template_id_to_pages.rb | 7 ---- .../20250307104536_add_layout_id_to_pages.rb | 5 +++ lib/maglev/theme_filesystem_loader.rb | 1 + spec/dummy/app/theme/theme.yml | 13 ++++++++ spec/dummy/db/schema.rb | 3 +- .../maglev/section_content_stores.rb | 2 ++ spec/factories/maglev/themes.rb | 20 +++++++++++ .../maglev/section_content_store_spec.rb | 2 ++ spec/models/maglev/theme_spec.rb | 16 ++++++++- 20 files changed, 155 insertions(+), 38 deletions(-) create mode 100644 app/models/maglev/theme/base_property.rb create mode 100644 app/models/maglev/theme/layout.rb create mode 100644 app/models/maglev/theme/layout_group.rb delete mode 100644 app/models/maglev/theme/template.rb delete mode 100644 db/migrate/20250305224652_add_template_id_to_pages.rb create mode 100644 db/migrate/20250307104536_add_layout_id_to_pages.rb diff --git a/app/frontend/editor/components/theme-section-list/index.vue b/app/frontend/editor/components/theme-section-list/index.vue index affbb509..d1e144ff 100644 --- a/app/frontend/editor/components/theme-section-list/index.vue +++ b/app/frontend/editor/components/theme-section-list/index.vue @@ -6,7 +6,7 @@ headerClass="px-3 py-3 mb-3 bg-editor-primary text-white rounded-sm" >

+
+

{{ $t('themeSectionList.empty.title') }}

+

{{ $t('themeSectionList.empty.message') }}

+
+ From 94e3ea7f8f5b0f22992f490f739125e238878e09 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Fri, 11 Apr 2025 22:26:01 +0200 Subject: [PATCH 42/70] chore: no more "store: false", replaced by "store: page" --- app/models/maglev/theme/layout_group.rb | 7 +------ spec/dummy/app/theme/theme.yml | 4 ++-- spec/factories/maglev/themes.rb | 4 ++-- spec/legacy_dummy/app/theme/theme.yml | 4 ++-- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/app/models/maglev/theme/layout_group.rb b/app/models/maglev/theme/layout_group.rb index 3e600325..f5282940 100644 --- a/app/models/maglev/theme/layout_group.rb +++ b/app/models/maglev/theme/layout_group.rb @@ -9,13 +9,8 @@ class Maglev::Theme::LayoutGroup < Maglev::Theme::BaseProperty ## instance methods ## - # TODO: will be deprecated since we rely on page_store? - def store? - store.present? || store != false - end - def page_store? - store == 'page' || store == false # TODO: store == false will be deprecated + store == 'page' end def guess_store_handle(page) diff --git a/spec/dummy/app/theme/theme.yml b/spec/dummy/app/theme/theme.yml index 26589e7a..7a36f183 100644 --- a/spec/dummy/app/theme/theme.yml +++ b/spec/dummy/app/theme/theme.yml @@ -28,7 +28,7 @@ layouts: recoverable: ["navbar"] - label: "Main" id: "main" # in DB, store handle -> "main-" - store: false # by default, the Page model will be used as the storage unit + store: "page" # by default, the Page model will be used as the storage unit - "Footer" - label: "Sidebar" @@ -39,7 +39,7 @@ layouts: accept: ["navbar"] - label: "Main" id: "main" - store: false # by default, the Page model will be used as the storage unit + store: "page" # by default, the Page model will be used as the storage unit - "Sidebar" - "Footer" diff --git a/spec/factories/maglev/themes.rb b/spec/factories/maglev/themes.rb index 9657c4fe..0f256460 100644 --- a/spec/factories/maglev/themes.rb +++ b/spec/factories/maglev/themes.rb @@ -11,13 +11,13 @@ Maglev::Theme::Layout.build_many(JSON.parse([ { label: 'Default', - groups: ['header', { id: 'main', store: false }, 'footer'] + groups: ['header', { id: 'main', store: 'page' }, 'footer'] }, { label: 'Sidebar', groups: [ 'header', - { id: 'main', store: false }, + { id: 'main', store: 'page' }, { label: 'Sidebar 😎', store: 'sidebar', accept: %w[sidebar_menu sidebar_ad] }, 'footer' ] diff --git a/spec/legacy_dummy/app/theme/theme.yml b/spec/legacy_dummy/app/theme/theme.yml index e008de17..41e4ad27 100644 --- a/spec/legacy_dummy/app/theme/theme.yml +++ b/spec/legacy_dummy/app/theme/theme.yml @@ -27,7 +27,7 @@ layouts: accept: ["navbar"] - label: "Main" id: "main" # in DB, store handle -> "main-" - store: false # by default, the Page model will be used as the storage unit + store: "page" # by default, the Page model will be used as the storage unit - "Footer" - label: "Sidebar" @@ -38,7 +38,7 @@ layouts: accept: ["navbar"] - label: "Main" id: "main" - store: false # by default, the Page model will be used as the storage unit + store: "page" # by default, the Page model will be used as the storage unit - "Sidebar" - "Footer" From 6089d1a5cc494de4a92eb75adf712855cafd4354 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Fri, 11 Apr 2025 23:52:57 +0200 Subject: [PATCH 43/70] feat: the mirror_section theme attribute can be overriden on the group level --- .../editor/components/theme-section-list/index.vue | 7 +++++-- app/models/maglev/theme/layout_group.rb | 4 ++-- app/views/maglev/api/themes/_show.json.jbuilder | 9 ++++++++- spec/dummy/app/theme/theme.yml | 4 ++++ 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/app/frontend/editor/components/theme-section-list/index.vue b/app/frontend/editor/components/theme-section-list/index.vue index 185cc150..9dc614c1 100644 --- a/app/frontend/editor/components/theme-section-list/index.vue +++ b/app/frontend/editor/components/theme-section-list/index.vue @@ -58,7 +58,7 @@ export default { return { activeCategory: null } }, computed: { - ...mapGetters(['categoriesByLayoutGroupId']), + ...mapGetters(['categoriesByLayoutGroupId', 'layoutGroupDefinition']), categories() { return this.categoriesByLayoutGroupId(this.layoutGroupId) }, @@ -70,8 +70,11 @@ export default { numberOfPages: this.currentSite.numberOfPages }) }, + layoutGroup() { + return this.layoutGroupDefinition(this.layoutGroupId) + }, allowSectionMirroring() { - return this.currentTheme.mirrorSection && this.canAddMirroredSection + return this.currentTheme.mirrorSection && this.layoutGroup.mirrorSection !== false && this.canAddMirroredSection } }, } diff --git a/app/models/maglev/theme/layout_group.rb b/app/models/maglev/theme/layout_group.rb index f5282940..cbb86699 100644 --- a/app/models/maglev/theme/layout_group.rb +++ b/app/models/maglev/theme/layout_group.rb @@ -3,7 +3,7 @@ # rubocop:disable Style/ClassAndModuleChildren class Maglev::Theme::LayoutGroup < Maglev::Theme::BaseProperty ## attributes ## - attr_accessor :store, :accept, :recoverable + attr_accessor :store, :accept, :recoverable, :mirror_section validates :id, :label, 'maglev/presence': true @@ -20,7 +20,7 @@ def guess_store_handle(page) ## class methods ## def self.build(hash) - attributes = prepare_attributes(hash).slice('id', 'label', 'store', 'accept', 'recoverable') + attributes = prepare_attributes(hash).slice('id', 'label', 'store', 'accept', 'recoverable', 'mirror_section') attributes['accept'] ||= ['*'] attributes['recoverable'] ||= [] diff --git a/app/views/maglev/api/themes/_show.json.jbuilder b/app/views/maglev/api/themes/_show.json.jbuilder index 00ff2a9e..a3f26403 100644 --- a/app/views/maglev/api/themes/_show.json.jbuilder +++ b/app/views/maglev/api/themes/_show.json.jbuilder @@ -2,7 +2,7 @@ json.key_format! camelize: :lower json.deep_format_keys! -json.call(theme, :id, :name, :description, :layouts) +json.call(theme, :id, :name, :description) json.sections theme.sections do |section| json.call(section, :id, :name, :category, :site_scoped, :singleton, :viewport_fixed_position, :insert_button, :insert_at, :max_width_pane, @@ -16,3 +16,10 @@ json.section_categories theme.section_categories.as_json json.icons theme.icons || [] json.style_settings theme.style_settings.as_json json.mirror_section theme.mirror_section +json.layouts theme.layouts do |layout| + json.call(layout, :id, :label) + json.groups layout.groups do |group| + json.call(group, :id, :label, :store, :accept, :recoverable) + json.mirror_section group.mirror_section == false ? false : theme.mirror_section + end +end diff --git a/spec/dummy/app/theme/theme.yml b/spec/dummy/app/theme/theme.yml index 7a36f183..5b410086 100644 --- a/spec/dummy/app/theme/theme.yml +++ b/spec/dummy/app/theme/theme.yml @@ -1,6 +1,8 @@ id: "simple" name: "My simple theme" +mirror_section: true + section_categories: - name: Headers id: headers @@ -26,6 +28,7 @@ layouts: store: "header" # the sections will be persisted in a SectionsContentStore model (handle: header) accept: ["navbar"] recoverable: ["navbar"] + mirror_section: false - label: "Main" id: "main" # in DB, store handle -> "main-" store: "page" # by default, the Page model will be used as the storage unit @@ -37,6 +40,7 @@ layouts: id: "header" store: "header" # the sections will be persisted in a SectionsContentStore model (handle: header) accept: ["navbar"] + - label: "Main" id: "main" store: "page" # by default, the Page model will be used as the storage unit From 2ccc0640158105e86b63e315834ba4e937d83a70 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Fri, 11 Apr 2025 23:54:59 +0200 Subject: [PATCH 44/70] =?UTF-8?q?chore:=20Rubocop=20=F0=9F=91=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../maglev/in_app_rendering_concern.rb | 2 +- app/services/maglev/get_page_sections.rb | 2 +- spec/legacy_dummy/db/schema.rb | 170 +++++++++--------- .../maglev/api/sections_content_spec.rb | 4 +- spec/requests/products_spec.rb | 2 +- 5 files changed, 91 insertions(+), 89 deletions(-) diff --git a/app/controllers/concerns/maglev/in_app_rendering_concern.rb b/app/controllers/concerns/maglev/in_app_rendering_concern.rb index d3369fb5..786e19ea 100644 --- a/app/controllers/concerns/maglev/in_app_rendering_concern.rb +++ b/app/controllers/concerns/maglev/in_app_rendering_concern.rb @@ -31,7 +31,7 @@ def fetch_maglev_sections_content(layout_id: nil) def fetch_maglev_dummy_page(layout_id = nil) @fetch_maglev_page = ::Maglev::Page.new( - title: 'DummyPage', + title: 'DummyPage', layout_id: layout_id || maglev_layout_id ) end diff --git a/app/services/maglev/get_page_sections.rb b/app/services/maglev/get_page_sections.rb index 43c4b5df..64990755 100644 --- a/app/services/maglev/get_page_sections.rb +++ b/app/services/maglev/get_page_sections.rb @@ -40,7 +40,7 @@ def layout end def filter_sections(sections) - sections.select do |section| + sections.select do |section| include_deleted || section['deleted'].nil? || !section['deleted'] end end diff --git a/spec/legacy_dummy/db/schema.rb b/spec/legacy_dummy/db/schema.rb index a22ae9d3..cfcdee44 100644 --- a/spec/legacy_dummy/db/schema.rb +++ b/spec/legacy_dummy/db/schema.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This file is auto-generated from the current state of the database. Instead # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. @@ -10,110 +12,110 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2025_03_07_104536) do - +ActiveRecord::Schema.define(version: 20_250_307_104_536) do # These are extensions that must be enabled in order to support this database - enable_extension "plpgsql" + enable_extension 'plpgsql' - create_table "accounts", force: :cascade do |t| - t.string "email" - t.string "password_digest" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + create_table 'accounts', force: :cascade do |t| + t.string 'email' + t.string 'password_digest' + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false end - create_table "active_storage_attachments", force: :cascade do |t| - t.string "name", null: false - t.string "record_type", null: false - t.bigint "record_id", null: false - t.bigint "blob_id", null: false - t.datetime "created_at", null: false - t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id" - t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true + create_table 'active_storage_attachments', force: :cascade do |t| + t.string 'name', null: false + t.string 'record_type', null: false + t.bigint 'record_id', null: false + t.bigint 'blob_id', null: false + t.datetime 'created_at', null: false + t.index ['blob_id'], name: 'index_active_storage_attachments_on_blob_id' + t.index %w[record_type record_id name blob_id], name: 'index_active_storage_attachments_uniqueness', + unique: true end - create_table "active_storage_blobs", force: :cascade do |t| - t.string "key", null: false - t.string "filename", null: false - t.string "content_type" - t.text "metadata" - t.bigint "byte_size", null: false - t.string "checksum", null: false - t.datetime "created_at", null: false - t.string "service_name", null: false - t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true + create_table 'active_storage_blobs', force: :cascade do |t| + t.string 'key', null: false + t.string 'filename', null: false + t.string 'content_type' + t.text 'metadata' + t.bigint 'byte_size', null: false + t.string 'checksum', null: false + t.datetime 'created_at', null: false + t.string 'service_name', null: false + t.index ['key'], name: 'index_active_storage_blobs_on_key', unique: true end - create_table "active_storage_variant_records", force: :cascade do |t| - t.bigint "blob_id", null: false - t.string "variation_digest", null: false - t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true + create_table 'active_storage_variant_records', force: :cascade do |t| + t.bigint 'blob_id', null: false + t.string 'variation_digest', null: false + t.index %w[blob_id variation_digest], name: 'index_active_storage_variant_records_uniqueness', unique: true end - create_table "maglev_assets", force: :cascade do |t| - t.string "filename" - t.string "content_type" - t.integer "width" - t.integer "height" - t.integer "byte_size" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + create_table 'maglev_assets', force: :cascade do |t| + t.string 'filename' + t.string 'content_type' + t.integer 'width' + t.integer 'height' + t.integer 'byte_size' + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false end - create_table "maglev_page_paths", force: :cascade do |t| - t.bigint "maglev_page_id" - t.string "locale", null: false - t.string "value", null: false - t.boolean "canonical", default: true - t.index ["canonical", "locale", "value"], name: "canonical_speed" - t.index ["canonical", "maglev_page_id", "locale"], name: "scoped_canonical_speed" - t.index ["maglev_page_id"], name: "index_maglev_page_paths_on_maglev_page_id" + create_table 'maglev_page_paths', force: :cascade do |t| + t.bigint 'maglev_page_id' + t.string 'locale', null: false + t.string 'value', null: false + t.boolean 'canonical', default: true + t.index %w[canonical locale value], name: 'canonical_speed' + t.index %w[canonical maglev_page_id locale], name: 'scoped_canonical_speed' + t.index ['maglev_page_id'], name: 'index_maglev_page_paths_on_maglev_page_id' end - create_table "maglev_pages", force: :cascade do |t| - t.boolean "visible", default: true - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - t.jsonb "title_translations", default: {} - t.jsonb "seo_title_translations", default: {} - t.jsonb "meta_description_translations", default: {} - t.jsonb "sections_translations", default: {} - t.integer "lock_version" - t.jsonb "og_title_translations", default: {} - t.jsonb "og_description_translations", default: {} - t.jsonb "og_image_url_translations", default: {} - t.string "layout_id" - t.index ["layout_id"], name: "index_maglev_pages_on_layout_id" + create_table 'maglev_pages', force: :cascade do |t| + t.boolean 'visible', default: true + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false + t.jsonb 'title_translations', default: {} + t.jsonb 'seo_title_translations', default: {} + t.jsonb 'meta_description_translations', default: {} + t.jsonb 'sections_translations', default: {} + t.integer 'lock_version' + t.jsonb 'og_title_translations', default: {} + t.jsonb 'og_description_translations', default: {} + t.jsonb 'og_image_url_translations', default: {} + t.string 'layout_id' + t.index ['layout_id'], name: 'index_maglev_pages_on_layout_id' end - create_table "maglev_sections_content_stores", force: :cascade do |t| - t.string "handle", null: false - t.jsonb "sections_translations", default: {} - t.integer "lock_version" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - t.index ["handle"], name: "index_maglev_sections_content_stores_on_handle" + create_table 'maglev_sections_content_stores', force: :cascade do |t| + t.string 'handle', null: false + t.jsonb 'sections_translations', default: {} + t.integer 'lock_version' + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false + t.index ['handle'], name: 'index_maglev_sections_content_stores_on_handle' end - create_table "maglev_sites", force: :cascade do |t| - t.string "name" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - t.jsonb "locales", default: [] - t.jsonb "sections_translations", default: {} - t.integer "lock_version" - t.jsonb "style", default: [] + create_table 'maglev_sites', force: :cascade do |t| + t.string 'name' + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false + t.jsonb 'locales', default: [] + t.jsonb 'sections_translations', default: {} + t.integer 'lock_version' + t.jsonb 'style', default: [] end - create_table "products", force: :cascade do |t| - t.string "name" - t.string "sku" - t.float "price" - t.boolean "sold_out", default: false - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + create_table 'products', force: :cascade do |t| + t.string 'name' + t.string 'sku' + t.float 'price' + t.boolean 'sold_out', default: false + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false end - add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" - add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id" + add_foreign_key 'active_storage_attachments', 'active_storage_blobs', column: 'blob_id' + add_foreign_key 'active_storage_variant_records', 'active_storage_blobs', column: 'blob_id' end diff --git a/spec/requests/maglev/api/sections_content_spec.rb b/spec/requests/maglev/api/sections_content_spec.rb index e5772ece..18042db9 100644 --- a/spec/requests/maglev/api/sections_content_spec.rb +++ b/spec/requests/maglev/api/sections_content_spec.rb @@ -35,8 +35,8 @@ expect(json_response).to match([ { 'id' => 'header', 'sections' => [], 'lockVersion' => 0 }, { 'id' => 'main', 'sections' => [ - a_hash_including({ 'type' => 'jumbotron' }), - a_hash_including({ 'type' => 'showcase' }), + a_hash_including({ 'type' => 'jumbotron' }), + a_hash_including({ 'type' => 'showcase' }) ], 'lockVersion' => 0 }, { 'id' => 'footer', 'sections' => [], 'lockVersion' => 0 } ]) diff --git a/spec/requests/products_spec.rb b/spec/requests/products_spec.rb index 4df518f0..7ea2c533 100644 --- a/spec/requests/products_spec.rb +++ b/spec/requests/products_spec.rb @@ -14,7 +14,7 @@ html_response = pretty_html(response.body) expect(html_response).to include('My awesome product') # rubocop:disable Layout/LineLength - .and match(/\
-
{{ category.name }}
+
{{ category.label }}
{{ category.children.length }}
diff --git a/app/frontend/editor/services/theme.js b/app/frontend/editor/services/theme.js index e676ec4f..175190fb 100644 --- a/app/frontend/editor/services/theme.js +++ b/app/frontend/editor/services/theme.js @@ -1,6 +1,6 @@ export const buildCategories = (theme) => { return theme.sectionCategories.map((category) => ({ - name: category.name, + name: category.label, children: theme.sections .filter((section) => section.category == category.id) .sort((a, b) => a.name.localeCompare(b.name)), diff --git a/app/models/maglev/section_content_store.rb b/app/models/maglev/section_content_store.rb index 476c1dce..fec40ccf 100644 --- a/app/models/maglev/section_content_store.rb +++ b/app/models/maglev/section_content_store.rb @@ -1,9 +1,11 @@ +# frozen_string_literal: true + module Maglev class SectionContentStore < ApplicationRecord ## concerns ## include Maglev::Translatable include Maglev::SectionsConcern - + ## translations ## translates :sections diff --git a/app/models/maglev/theme.rb b/app/models/maglev/theme.rb index ee219314..c3bbcadf 100644 --- a/app/models/maglev/theme.rb +++ b/app/models/maglev/theme.rb @@ -6,7 +6,7 @@ class Theme include ActiveModel::Model ## attributes ## - attr_accessor :id, :name, :description, :section_categories, :sections, :style_settings, :pages, :icons + attr_accessor :id, :name, :description, :section_categories, :sections, :layouts, :style_settings, :pages, :icons ## validations ## validates :id, :name, presence: true diff --git a/app/models/maglev/theme/base_property.rb b/app/models/maglev/theme/base_property.rb new file mode 100644 index 00000000..f2667f4a --- /dev/null +++ b/app/models/maglev/theme/base_property.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +# rubocop:disable Style/ClassAndModuleChildren +class Maglev::Theme::BaseProperty + ## concerns ## + include ActiveModel::Model + + attr_accessor :id, :label + + ## class methods ## + + def self.build(_hash) + raise 'TO BE IMPLEMENTED' + end + + def self.build_many(list) + (list || []).map { |hash| build(hash) } + end + + def self.prepare_attributes(hash_or_string) + # rubocop:disable Style/StringHashKeys + hash = hash_or_string.is_a?(String) ? { 'label' => hash_or_string } : hash_or_string + # rubocop:enable Style/StringHashKeys + + if hash['id'].present? || hash['label'].present? + hash['label'] ||= hash['id'].humanize + hash['id'] ||= hash['label'].parameterize(separator: '_') + end + + hash + end +end +# rubocop:enable Style/ClassAndModuleChildren diff --git a/app/models/maglev/theme/layout.rb b/app/models/maglev/theme/layout.rb new file mode 100644 index 00000000..c9761992 --- /dev/null +++ b/app/models/maglev/theme/layout.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +# rubocop:disable Style/ClassAndModuleChildren +class Maglev::Theme::Layout < Maglev::Theme::BaseProperty + ## attributes ## + attr_accessor :groups + + validates :id, :label, 'maglev/presence': true + + ## class methods ## + + def self.build(hash) + attributes = prepare_attributes(hash).slice('id', 'label', 'groups') + + attributes['groups'] = Maglev::Theme::LayoutGroup.build_many(attributes['groups']) + + new(attributes) + end +end +# rubocop:enable Style/ClassAndModuleChildren diff --git a/app/models/maglev/theme/layout_group.rb b/app/models/maglev/theme/layout_group.rb new file mode 100644 index 00000000..16de81ee --- /dev/null +++ b/app/models/maglev/theme/layout_group.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +# rubocop:disable Style/ClassAndModuleChildren +class Maglev::Theme::LayoutGroup < Maglev::Theme::BaseProperty + ## attributes ## + attr_accessor :store, :accept + + validates :id, :label, 'maglev/presence': true + + ## instance methods ## + + def store? + store.present? || store != false + end + + ## class methods ## + + def self.build(hash) + attributes = prepare_attributes(hash).slice('id', 'label', 'store', 'accept') + + attributes['accept'] ||= [] + attributes['store'] ||= attributes['id'] + + new(attributes) + end +end +# rubocop:enable Style/ClassAndModuleChildren diff --git a/app/models/maglev/theme/section_category.rb b/app/models/maglev/theme/section_category.rb index d8836175..d2e6f3d4 100644 --- a/app/models/maglev/theme/section_category.rb +++ b/app/models/maglev/theme/section_category.rb @@ -1,23 +1,14 @@ # frozen_string_literal: true # rubocop:disable Style/ClassAndModuleChildren -class Maglev::Theme::SectionCategory - ## concerns ## - include ActiveModel::Model - - ## attributes ## - attr_accessor :name, :id - +class Maglev::Theme::SectionCategory < Maglev::Theme::BaseProperty ## class methods ## def self.build(hash) - attributes = hash.slice('name', 'id') - attributes['id'] ||= attributes['name'].parameterize(separator: '_') - new(attributes) - end + # keep compatibility with the previous versions of Maglev + hash['label'] = hash['name'] if hash.respond_to?(:keys) - def self.build_many(list) - (list || []).map { |hash| build(hash) } + new(prepare_attributes(hash).slice('id', 'label')) end end # rubocop:enable Style/ClassAndModuleChildren diff --git a/app/models/maglev/theme/style_setting.rb b/app/models/maglev/theme/style_setting.rb index 750d2ca9..b7ffd563 100644 --- a/app/models/maglev/theme/style_setting.rb +++ b/app/models/maglev/theme/style_setting.rb @@ -1,12 +1,9 @@ # frozen_string_literal: true # rubocop:disable Style/ClassAndModuleChildren -class Maglev::Theme::StyleSetting - ## concerns ## - include ActiveModel::Model - +class Maglev::Theme::StyleSetting < Maglev::Theme::BaseProperty ## attributes ## - attr_accessor :id, :label, :type, :default, :options + attr_accessor :type, :default, :options ## validations ## validates :id, :label, :type, :default, 'maglev/presence': true @@ -30,14 +27,11 @@ def build_default_checkbox_content(default) ## class methods ## def self.build(hash) - attributes = hash.slice('id', 'label', 'type', 'default') + attributes = prepare_attributes(hash).slice('id', 'label', 'type', 'default') + options = hash.except('id', 'label', 'type', 'default') new(attributes.merge(options: options)) end - - def self.build_many(list) - list.map { |hash| build(hash) } - end end # rubocop:enable Style/ClassAndModuleChildren diff --git a/app/models/maglev/theme/template.rb b/app/models/maglev/theme/template.rb deleted file mode 100644 index b20ab096..00000000 --- a/app/models/maglev/theme/template.rb +++ /dev/null @@ -1 +0,0 @@ -template.rb \ No newline at end of file diff --git a/app/views/maglev/admin/themes/_section_categories.html.erb b/app/views/maglev/admin/themes/_section_categories.html.erb index e5cbb699..f3a7a1c6 100644 --- a/app/views/maglev/admin/themes/_section_categories.html.erb +++ b/app/views/maglev/admin/themes/_section_categories.html.erb @@ -1,7 +1,7 @@ <% theme.section_categories.each_with_index do |category, index| %> <%- selected = section_category_id == category.id %> <%= link_to section_category_path(category), class: ['rounded-full text-sm px-4 py-1 mr-3 flex items-center transition-colors whitespace-nowrap', selected ? 'bg-purple-600 bg-opacity-25 text-purple-600' : 'bg-gray-300 text-gray-800 hover:bg-gray-400 hover:text-gray-900'].compact.join(' ') do %> - <%= category.name.humanize %> + <%= category.label %> <%= tag.span class: ['ml-2 font-bold text-xs text-white rounded-full w-4 h-4 flex items-center justify-center', selected ? 'bg-purple-600' : 'bg-gray-600'].compact.join(' ') do %> <%= theme.sections.grouped_by_category[category.id]&.count || 0 %> <% end %> diff --git a/db/migrate/20250305224652_add_template_id_to_pages.rb b/db/migrate/20250305224652_add_template_id_to_pages.rb deleted file mode 100644 index 24b21fa4..00000000 --- a/db/migrate/20250305224652_add_template_id_to_pages.rb +++ /dev/null @@ -1,7 +0,0 @@ -class AddTemplateIdToPages < ActiveRecord::Migration[8.0] - def change - change_table :maglev_pages do |t| - t.string :layout_id, default: 'default' - end - end -end diff --git a/db/migrate/20250307104536_add_layout_id_to_pages.rb b/db/migrate/20250307104536_add_layout_id_to_pages.rb new file mode 100644 index 00000000..ec11e89e --- /dev/null +++ b/db/migrate/20250307104536_add_layout_id_to_pages.rb @@ -0,0 +1,5 @@ +class AddLayoutIdToPages < ActiveRecord::Migration[8.0] + def change + add_column :maglev_pages, :layout_id, :string, null: true + end +end diff --git a/lib/maglev/theme_filesystem_loader.rb b/lib/maglev/theme_filesystem_loader.rb index 1189e658..a30d5dc3 100644 --- a/lib/maglev/theme_filesystem_loader.rb +++ b/lib/maglev/theme_filesystem_loader.rb @@ -23,6 +23,7 @@ def add(hash) attributes = hash.merge( section_categories: Maglev::Theme::SectionCategory.build_many(hash['section_categories']), style_settings: Maglev::Theme::StyleSetting.build_many(hash['style_settings']), + layouts: Maglev::Theme::Layout.build_many(hash['layouts']), sections: [] ) diff --git a/spec/dummy/app/theme/theme.yml b/spec/dummy/app/theme/theme.yml index ae793793..326fde55 100644 --- a/spec/dummy/app/theme/theme.yml +++ b/spec/dummy/app/theme/theme.yml @@ -17,6 +17,19 @@ style_settings: id: font_name type: text +layouts: +- label: "Default" + id: "default" + groups: + - label: "Header" + id: "header" + store: "header" # the sections will be persisted in a SectionContentStore model (handle: header) + accept: ["navbar"] + - label: "Main" + id: "main" + store: false # by default, the Page model will be used as the storage unit + - label: "Footer" + pages: - title: "Home page" path: "index" diff --git a/spec/dummy/db/schema.rb b/spec/dummy/db/schema.rb index 3d480349..cd9dbe62 100644 --- a/spec/dummy/db/schema.rb +++ b/spec/dummy/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[8.0].define(version: 2025_03_05_221045) do +ActiveRecord::Schema[8.0].define(version: 2025_03_07_104536) do # These are extensions that must be enabled in order to support this database enable_extension "pg_catalog.plpgsql" @@ -81,6 +81,7 @@ t.jsonb "og_title_translations", default: {} t.jsonb "og_description_translations", default: {} t.jsonb "og_image_url_translations", default: {} + t.string "layout_id" end create_table "maglev_section_content_stores", force: :cascade do |t| diff --git a/spec/factories/maglev/section_content_stores.rb b/spec/factories/maglev/section_content_stores.rb index 1c44cb6f..29b4b139 100644 --- a/spec/factories/maglev/section_content_stores.rb +++ b/spec/factories/maglev/section_content_stores.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + FactoryBot.define do factory :section_content_store, class: 'Maglev::SectionContentStore' do handle { 'sidebar' } diff --git a/spec/factories/maglev/themes.rb b/spec/factories/maglev/themes.rb index 937d1cd9..db73c087 100644 --- a/spec/factories/maglev/themes.rb +++ b/spec/factories/maglev/themes.rb @@ -140,6 +140,26 @@ ] end end + + trait :basic_layouts do + layouts do + Maglev::Theme::Layout.build_many(JSON.parse([ + { + label: 'Basic', + groups: ['header', { id: 'main', store: false }, 'footer'] + }, + { + label: 'Left sidebar', + groups: [ + 'header', + { id: 'main', store: false }, + { label: 'Sidebar 😎', store: 'sidebar', accept: %w[sidebar_menu sidebar_ad] }, + 'footer' + ] + } + ].to_json)) + end + end end end # rubocop:enable Layout/LineLength diff --git a/spec/models/maglev/section_content_store_spec.rb b/spec/models/maglev/section_content_store_spec.rb index 58cd6b36..b7cfd820 100644 --- a/spec/models/maglev/section_content_store_spec.rb +++ b/spec/models/maglev/section_content_store_spec.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'rails_helper' RSpec.describe Maglev::SectionContentStore, type: :model do diff --git a/spec/models/maglev/theme_spec.rb b/spec/models/maglev/theme_spec.rb index 8937e5ac..1f0c2241 100644 --- a/spec/models/maglev/theme_spec.rb +++ b/spec/models/maglev/theme_spec.rb @@ -23,7 +23,7 @@ end end - describe 'settings' do + describe 'style settings' do subject { theme.style_settings } let(:theme) { build(:theme) } @@ -32,4 +32,18 @@ expect(subject.map(&:id)).to eq(%w[primary_color font_name]) end end + + describe 'layouts' do + subject { theme.layouts } + + let(:theme) { build(:theme, :basic_layouts) } + + it 'returns the layouts' do + expect(subject.map(&:id)).to eq(%w[basic left_sidebar]) + end + + it 'returns the groups of a layout' do + expect(subject.first.groups.map(&:id)).to eq(%w[header main footer]) + end + end end From dcf62d16d2afc27a0842eb1ee11d6b9cd8ee8b84 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sat, 8 Mar 2025 11:50:48 +0100 Subject: [PATCH 04/70] feat: an editor can select a layout for a page + pick a different HTML template based on the page layout id --- .../maglev/api/pages_controller.rb | 2 +- .../editor/components/page/form/main.vue | 23 +++++++++++ app/frontend/editor/locales/editor.en.json | 1 + app/frontend/editor/locales/editor.es.json | 1 + app/frontend/editor/locales/editor.fr.json | 1 + app/frontend/editor/services/page.js | 2 + app/frontend/editor/services/theme.js | 9 ++++- app/models/maglev/static_page.rb | 4 ++ app/services/maglev/fetch_theme_layout.rb | 4 +- .../maglev/api/pages/_show.json.jbuilder | 1 + .../maglev/api/pages/index.json.jbuilder | 1 + .../maglev/api/themes/_show.json.jbuilder | 2 +- spec/dummy/app/theme/theme.yml | 15 +++++++- .../app/views/theme/layouts/default.html.erb | 26 +++++++++++++ .../app/views/theme/layouts/sidebar.html.erb | 38 +++++++++++++++++++ spec/factories/maglev/pages.rb | 1 + .../maglev/fetch_theme_layout_spec.rb | 17 +++++++++ 17 files changed, 143 insertions(+), 5 deletions(-) create mode 100644 spec/dummy/app/views/theme/layouts/default.html.erb create mode 100644 spec/dummy/app/views/theme/layouts/sidebar.html.erb create mode 100644 spec/services/maglev/fetch_theme_layout_spec.rb diff --git a/app/controllers/maglev/api/pages_controller.rb b/app/controllers/maglev/api/pages_controller.rb index fe0b0ac3..069f650e 100644 --- a/app/controllers/maglev/api/pages_controller.rb +++ b/app/controllers/maglev/api/pages_controller.rb @@ -33,7 +33,7 @@ def update private def page_params - params.require(:page).permit(:title, :path, + params.require(:page).permit(:title, :path, :layout_id, :seo_title, :meta_description, :og_title, :og_description, :og_image_url, :visible, :lock_version).tap do |whitelisted| diff --git a/app/frontend/editor/components/page/form/main.vue b/app/frontend/editor/components/page/form/main.vue index ec62b71b..c71bb1d0 100644 --- a/app/frontend/editor/components/page/form/main.vue +++ b/app/frontend/editor/components/page/form/main.vue @@ -15,6 +15,15 @@ v-if="!isPageIndex || !page.id" /> + + 1 + } }, } diff --git a/app/frontend/editor/locales/editor.en.json b/app/frontend/editor/locales/editor.en.json index e6d24d2a..9d2508b7 100644 --- a/app/frontend/editor/locales/editor.en.json +++ b/app/frontend/editor/locales/editor.en.json @@ -82,6 +82,7 @@ }, "title": "Title", "path": "Path", + "layoutId": "Layout", "visible": "Visible", "visiblePlaceholder": "Show/Hide the page", "seoTitle": "Meta title", diff --git a/app/frontend/editor/locales/editor.es.json b/app/frontend/editor/locales/editor.es.json index 230e92b7..02bd8580 100644 --- a/app/frontend/editor/locales/editor.es.json +++ b/app/frontend/editor/locales/editor.es.json @@ -82,6 +82,7 @@ }, "title": "Título", "path": "Ruta", + "layoutId": "Disposición", "visible": "Visible", "visiblePlaceholder": "Mostrar/Ocultar la página", "seoTitle": "Meta title", diff --git a/app/frontend/editor/locales/editor.fr.json b/app/frontend/editor/locales/editor.fr.json index 4391b80b..df538647 100644 --- a/app/frontend/editor/locales/editor.fr.json +++ b/app/frontend/editor/locales/editor.fr.json @@ -82,6 +82,7 @@ }, "title": "Titre", "path": "Chemin", + "layoutId": "Gabarit", "visible": "Visible", "visiblePlaceholder": "Afficher/Cacher la page", "seoTitle": "Meta title", diff --git a/app/frontend/editor/services/page.js b/app/frontend/editor/services/page.js index d31a614a..0f6eb274 100644 --- a/app/frontend/editor/services/page.js +++ b/app/frontend/editor/services/page.js @@ -16,6 +16,7 @@ export const PAGE_SCHEMA = new schema.Entity('page', { export const SETTING_ATTRIBUTES = [ 'title', 'path', + 'layoutId', 'visible', 'seoTitle', 'ogTitle', @@ -34,6 +35,7 @@ export default (api) => ({ return { title: '', path: '', + layoutId: null, visible: true, seoTitle: '', metaDescription: '', diff --git a/app/frontend/editor/services/theme.js b/app/frontend/editor/services/theme.js index 175190fb..72de0b20 100644 --- a/app/frontend/editor/services/theme.js +++ b/app/frontend/editor/services/theme.js @@ -1,8 +1,15 @@ export const buildCategories = (theme) => { return theme.sectionCategories.map((category) => ({ - name: category.label, + label: category.label, children: theme.sections .filter((section) => section.category == category.id) .sort((a, b) => a.name.localeCompare(b.name)), })) +} + +export const buildLayoutOptions = (theme) => { + return theme.layouts.map((layout) => ({ + value: layout.id, + label: layout.label + })) } \ No newline at end of file diff --git a/app/models/maglev/static_page.rb b/app/models/maglev/static_page.rb index 64bb7c6a..a96e3626 100644 --- a/app/models/maglev/static_page.rb +++ b/app/models/maglev/static_page.rb @@ -36,5 +36,9 @@ def path_hash def lock_version 0 end + + def layout_id + 'default' + end end end diff --git a/app/services/maglev/fetch_theme_layout.rb b/app/services/maglev/fetch_theme_layout.rb index e4d8544b..e30bd52e 100644 --- a/app/services/maglev/fetch_theme_layout.rb +++ b/app/services/maglev/fetch_theme_layout.rb @@ -10,7 +10,9 @@ class FetchThemeLayout argument :page def call - 'theme/layout' + return 'theme/layout' if page.layout_id.blank? + + "theme/layouts/#{page.layout_id}" end end end diff --git a/app/views/maglev/api/pages/_show.json.jbuilder b/app/views/maglev/api/pages/_show.json.jbuilder index 39dbe9f3..3e5d6aff 100644 --- a/app/views/maglev/api/pages/_show.json.jbuilder +++ b/app/views/maglev/api/pages/_show.json.jbuilder @@ -7,6 +7,7 @@ json.id page.id json.title page.title || page.default_title json.path page.path || page.default_path json.path_hash page.path_hash +json.layout_id page.layout_id json.visible page.visible json.seo_title page.seo_title diff --git a/app/views/maglev/api/pages/index.json.jbuilder b/app/views/maglev/api/pages/index.json.jbuilder index c26c0079..0bd45fdd 100644 --- a/app/views/maglev/api/pages/index.json.jbuilder +++ b/app/views/maglev/api/pages/index.json.jbuilder @@ -4,6 +4,7 @@ json.array! @pages do |page| json.id page.id json.title page.title || page.default_title json.path page.path || page.default_path + json.layout_id page.layout_id json.visible page.visible json.static page.static? diff --git a/app/views/maglev/api/themes/_show.json.jbuilder b/app/views/maglev/api/themes/_show.json.jbuilder index d664630c..902ed447 100644 --- a/app/views/maglev/api/themes/_show.json.jbuilder +++ b/app/views/maglev/api/themes/_show.json.jbuilder @@ -2,7 +2,7 @@ json.key_format! camelize: :lower json.deep_format_keys! -json.call(theme, :id, :name, :description) +json.call(theme, :id, :name, :description, :layouts) json.sections theme.sections do |section| json.call(section, :id, :name, :category, :site_scoped, :singleton, :viewport_fixed_position, :insert_button, :insert_at, :max_width_pane, diff --git a/spec/dummy/app/theme/theme.yml b/spec/dummy/app/theme/theme.yml index 326fde55..5e74ea8e 100644 --- a/spec/dummy/app/theme/theme.yml +++ b/spec/dummy/app/theme/theme.yml @@ -28,7 +28,20 @@ layouts: - label: "Main" id: "main" store: false # by default, the Page model will be used as the storage unit - - label: "Footer" + - "Footer" + +- label: "Sidebar" + groups: + - label: "Header" + id: "header" + store: "header" # the sections will be persisted in a SectionContentStore model (handle: header) + accept: ["navbar"] + - label: "Main" + id: "main" + store: false # by default, the Page model will be used as the storage unit + - "Sidebar" + - "Footer" + pages: - title: "Home page" diff --git a/spec/dummy/app/views/theme/layouts/default.html.erb b/spec/dummy/app/views/theme/layouts/default.html.erb new file mode 100644 index 00000000..3a222327 --- /dev/null +++ b/spec/dummy/app/views/theme/layouts/default.html.erb @@ -0,0 +1,26 @@ + + + + <%= maglev_site.name %> - <%= maglev_page.title %> + + + + + + + + + + <%= render_maglev_alternate_links %> + <%= maglev_live_preview_client_javascript_tag %> + + +
+ <%= render_maglev_sections %> +
+ + \ No newline at end of file diff --git a/spec/dummy/app/views/theme/layouts/sidebar.html.erb b/spec/dummy/app/views/theme/layouts/sidebar.html.erb new file mode 100644 index 00000000..e60cdbc7 --- /dev/null +++ b/spec/dummy/app/views/theme/layouts/sidebar.html.erb @@ -0,0 +1,38 @@ + + + + <%= maglev_site.name %> - <%= maglev_page.title %> + + + + + + + + + + + + + <%= render_maglev_alternate_links %> + <%= maglev_live_preview_client_javascript_tag %> + + +
+
+ TODO +
+
+
+ <%= render_maglev_sections %> +
+
+
+ + \ No newline at end of file diff --git a/spec/factories/maglev/pages.rb b/spec/factories/maglev/pages.rb index 8a93d8fb..beb01839 100644 --- a/spec/factories/maglev/pages.rb +++ b/spec/factories/maglev/pages.rb @@ -4,6 +4,7 @@ factory :page, class: 'Maglev::Page' do title { 'Home' } path { 'index' } + layout_id { 'default' } sections do [ { diff --git a/spec/services/maglev/fetch_theme_layout_spec.rb b/spec/services/maglev/fetch_theme_layout_spec.rb new file mode 100644 index 00000000..e722e93d --- /dev/null +++ b/spec/services/maglev/fetch_theme_layout_spec.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe Maglev::FetchThemeLayout do + let(:service) { described_class.new } + let(:page) { build(:page) } + + subject { service.call(page: page) } + + it { is_expected.to eq 'theme/layouts/default' } + + context 'legacy page with no layout_id' do + let(:page) { build(:page, layout_id: nil) } + it { is_expected.to eq 'theme/layout' } + end +end From 03243f230d0bcd27afa3469ef0cf8f745a548c08 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sat, 8 Mar 2025 11:59:16 +0100 Subject: [PATCH 05/70] chore: fix the Rails 6 version --- app/models/maglev/page.rb | 1 + app/models/maglev/section_content_store.rb | 11 ++ spec/legacy_dummy/db/schema.rb | 181 +++++++++++---------- 3 files changed, 109 insertions(+), 84 deletions(-) diff --git a/app/models/maglev/page.rb b/app/models/maglev/page.rb index fcc67c98..a2514b3f 100644 --- a/app/models/maglev/page.rb +++ b/app/models/maglev/page.rb @@ -59,4 +59,5 @@ def translate_in(locale, source_locale) # visible :boolean default(TRUE) # created_at :datetime not null # updated_at :datetime not null +# layout_id :string # diff --git a/app/models/maglev/section_content_store.rb b/app/models/maglev/section_content_store.rb index fec40ccf..40b518cd 100644 --- a/app/models/maglev/section_content_store.rb +++ b/app/models/maglev/section_content_store.rb @@ -16,3 +16,14 @@ def find_section(type) end end end + +# == Schema Information +# +# Table name: maglev_section_content_stores +# +# id :bigint not null, primary key +# handle :string not null +# sections_translations :jsonb +# created_at :datetime not null +# updated_at :datetime not null +# diff --git a/spec/legacy_dummy/db/schema.rb b/spec/legacy_dummy/db/schema.rb index 8d56c8e4..e1f01dc8 100644 --- a/spec/legacy_dummy/db/schema.rb +++ b/spec/legacy_dummy/db/schema.rb @@ -1,5 +1,3 @@ -# frozen_string_literal: true - # This file is auto-generated from the current state of the database. Instead # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. @@ -12,106 +10,121 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20_220_612_092_235) do +ActiveRecord::Schema.define(version: 2025_03_07_104536) do + # These are extensions that must be enabled in order to support this database - enable_extension 'plpgsql' + enable_extension "plpgsql" + + create_table "accounts", force: :cascade do |t| + t.string "email" + t.string "password_digest" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + end + + create_table "active_storage_attachments", force: :cascade do |t| + t.string "name", null: false + t.string "record_type", null: false + t.bigint "record_id", null: false + t.bigint "blob_id", null: false + t.datetime "created_at", null: false + t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id" + t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true + end - create_table 'accounts', force: :cascade do |t| - t.string 'email' - t.string 'password_digest' - t.datetime 'created_at', precision: 6, null: false - t.datetime 'updated_at', precision: 6, null: false + create_table "active_storage_blobs", force: :cascade do |t| + t.string "key", null: false + t.string "filename", null: false + t.string "content_type" + t.text "metadata" + t.bigint "byte_size", null: false + t.string "checksum", null: false + t.datetime "created_at", null: false + t.string "service_name", null: false + t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true end - create_table 'active_storage_attachments', force: :cascade do |t| - t.string 'name', null: false - t.string 'record_type', null: false - t.bigint 'record_id', null: false - t.bigint 'blob_id', null: false - t.datetime 'created_at', null: false - t.index ['blob_id'], name: 'index_active_storage_attachments_on_blob_id' - t.index %w[record_type record_id name blob_id], name: 'index_active_storage_attachments_uniqueness', - unique: true + create_table "active_storage_variant_records", force: :cascade do |t| + t.bigint "blob_id", null: false + t.string "variation_digest", null: false + t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true end - create_table 'active_storage_blobs', force: :cascade do |t| - t.string 'key', null: false - t.string 'filename', null: false - t.string 'content_type' - t.text 'metadata' - t.bigint 'byte_size', null: false - t.string 'checksum', null: false - t.datetime 'created_at', null: false - t.string 'service_name', null: false - t.index ['key'], name: 'index_active_storage_blobs_on_key', unique: true + create_table "maglev_assets", force: :cascade do |t| + t.string "filename" + t.string "content_type" + t.integer "width" + t.integer "height" + t.integer "byte_size" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false end - create_table 'active_storage_variant_records', force: :cascade do |t| - t.bigint 'blob_id', null: false - t.string 'variation_digest', null: false - t.index %w[blob_id variation_digest], name: 'index_active_storage_variant_records_uniqueness', unique: true + create_table "maglev_page_paths", force: :cascade do |t| + t.bigint "maglev_page_id" + t.string "locale", null: false + t.string "value", null: false + t.boolean "canonical", default: true + t.index ["canonical", "locale", "value"], name: "canonical_speed" + t.index ["canonical", "maglev_page_id", "locale"], name: "scoped_canonical_speed" + t.index ["maglev_page_id"], name: "index_maglev_page_paths_on_maglev_page_id" end - create_table 'maglev_assets', force: :cascade do |t| - t.string 'filename' - t.string 'content_type' - t.integer 'width' - t.integer 'height' - t.integer 'byte_size' - t.datetime 'created_at', precision: 6, null: false - t.datetime 'updated_at', precision: 6, null: false + create_table "maglev_pages", force: :cascade do |t| + t.boolean "visible", default: true + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.jsonb "title_translations", default: {} + t.jsonb "seo_title_translations", default: {} + t.jsonb "meta_description_translations", default: {} + t.jsonb "sections_translations", default: {} + t.integer "lock_version" + t.jsonb "og_title_translations", default: {} + t.jsonb "og_description_translations", default: {} + t.jsonb "og_image_url_translations", default: {} + t.string "layout_id" end - create_table 'maglev_page_paths', force: :cascade do |t| - t.bigint 'maglev_page_id' - t.string 'locale', null: false - t.string 'value', null: false - t.boolean 'canonical', default: true - t.index %w[canonical locale value], name: 'canonical_speed' - t.index %w[canonical maglev_page_id locale], name: 'scoped_canonical_speed' - t.index ['maglev_page_id'], name: 'index_maglev_page_paths_on_maglev_page_id' + create_table "maglev_section_content_stores", force: :cascade do |t| + t.string "handle", null: false + t.jsonb "sections_translations", default: {} + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false end - create_table 'maglev_pages', force: :cascade do |t| - t.boolean 'visible', default: true - t.datetime 'created_at', precision: 6, null: false - t.datetime 'updated_at', precision: 6, null: false - t.jsonb 'title_translations', default: {} - t.jsonb 'seo_title_translations', default: {} - t.jsonb 'meta_description_translations', default: {} - t.jsonb 'sections_translations', default: {} - t.integer 'lock_version' - t.jsonb 'og_title_translations', default: {} - t.jsonb 'og_description_translations', default: {} - t.jsonb 'og_image_url_translations', default: {} + create_table "maglev_section_repositories", force: :cascade do |t| + t.string "name" + t.jsonb "sections_translations", default: {} + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false end - create_table 'maglev_sites', force: :cascade do |t| - t.string 'name' - t.datetime 'created_at', precision: 6, null: false - t.datetime 'updated_at', precision: 6, null: false - t.jsonb 'navigation', default: [] - t.jsonb 'locales', default: [] - t.jsonb 'sections_translations', default: {} - t.integer 'lock_version' - t.string 'siteable_type' - t.bigint 'siteable_id' - t.string 'handle' - t.string 'theme_id' - t.string 'domain' - t.jsonb 'style', default: [] - t.index %w[siteable_type siteable_id], name: 'index_maglev_sites_on_siteable' + create_table "maglev_sites", force: :cascade do |t| + t.string "name" + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false + t.jsonb "navigation", default: [] + t.jsonb "locales", default: [] + t.jsonb "sections_translations", default: {} + t.integer "lock_version" + t.string "siteable_type" + t.bigint "siteable_id" + t.string "handle" + t.string "theme_id" + t.string "domain" + t.jsonb "style", default: [] + t.index ["siteable_type", "siteable_id"], name: "index_maglev_sites_on_siteable" end - create_table 'products', force: :cascade do |t| - t.string 'name' - t.string 'sku' - t.float 'price' - t.boolean 'sold_out', default: false - t.datetime 'created_at', precision: 6, null: false - t.datetime 'updated_at', precision: 6, null: false + create_table "products", force: :cascade do |t| + t.string "name" + t.string "sku" + t.float "price" + t.boolean "sold_out", default: false + t.datetime "created_at", precision: 6, null: false + t.datetime "updated_at", precision: 6, null: false end - add_foreign_key 'active_storage_attachments', 'active_storage_blobs', column: 'blob_id' - add_foreign_key 'active_storage_variant_records', 'active_storage_blobs', column: 'blob_id' + add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" + add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id" end From ff964453ff6ef8bc68777d573fb9ca8d891f26be Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sat, 8 Mar 2025 12:01:53 +0100 Subject: [PATCH 06/70] chore: fix the Rails 7 version --- Gemfile.rails_7_0 | 2 + Gemfile.rails_7_0.lock | 183 ++++++++++++++++++++++++----------------- 2 files changed, 108 insertions(+), 77 deletions(-) diff --git a/Gemfile.rails_7_0 b/Gemfile.rails_7_0 index dbb5d106..76c6f3df 100644 --- a/Gemfile.rails_7_0 +++ b/Gemfile.rails_7_0 @@ -59,6 +59,8 @@ group :development, :test do gem 'generator_spec' + gem 'annotate' + gem 'nokogiri', '>= 1.13.10' end diff --git a/Gemfile.rails_7_0.lock b/Gemfile.rails_7_0.lock index 9f2b1dca..54143ea0 100644 --- a/Gemfile.rails_7_0.lock +++ b/Gemfile.rails_7_0.lock @@ -77,45 +77,50 @@ GEM i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - ast (2.4.2) + annotate (3.2.0) + activerecord (>= 3.2, < 8.0) + rake (>= 10.4, < 14.0) + ast (2.4.3) base64 (0.2.0) bcrypt (3.1.20) bigdecimal (3.1.9) builder (3.3.0) - concurrent-ruby (1.3.4) + concurrent-ruby (1.3.5) crass (1.0.6) - date (3.4.0) - diff-lcs (1.5.1) + date (3.4.1) + diff-lcs (1.6.1) docile (1.4.1) drb (2.2.1) dry-cli (1.2.0) - erubi (1.13.0) + erubi (1.13.1) factory_bot (6.2.1) activesupport (>= 5.0.0) factory_bot_rails (6.2.0) factory_bot (~> 6.2.0) railties (>= 5.0.0) - ffi (1.17.0-aarch64-linux-gnu) - ffi (1.17.0-arm-linux-gnu) - ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86-linux-gnu) - ffi (1.17.0-x86_64-darwin) - ffi (1.17.0-x86_64-linux-gnu) - fiddle (1.1.6) + ffi (1.17.2-aarch64-linux-gnu) + ffi (1.17.2-aarch64-linux-musl) + ffi (1.17.2-arm-linux-gnu) + ffi (1.17.2-arm-linux-musl) + ffi (1.17.2-arm64-darwin) + ffi (1.17.2-x86_64-darwin) + ffi (1.17.2-x86_64-linux-gnu) + ffi (1.17.2-x86_64-linux-musl) + fiddle (1.1.7) generator_spec (0.10.0) activesupport (>= 3.0.0) railties (>= 3.0.0) globalid (1.2.1) activesupport (>= 6.1) - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) image_processing (1.12.2) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) - jbuilder (2.12.0) + jbuilder (2.13.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - json (2.8.1) + json (2.11.2) kaminari (1.2.2) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.2) @@ -128,9 +133,10 @@ GEM activerecord kaminari-core (= 1.2.2) kaminari-core (1.2.2) - language_server-protocol (3.17.0.3) - logger (1.6.1) - loofah (2.23.1) + language_server-protocol (3.17.0.4) + lint_roller (1.1.0) + logger (1.7.0) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) maglev-injectable (2.1.1) @@ -143,44 +149,49 @@ GEM method_source (1.1.0) mini_magick (4.13.2) mini_mime (1.1.5) - minitest (5.25.1) + minitest (5.25.5) mutex_m (0.3.0) - net-imap (0.5.1) + net-imap (0.5.7) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol nio4r (2.7.4) - nokogiri (1.16.7-aarch64-linux) + nokogiri (1.18.8-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.16.7-arm-linux) + nokogiri (1.18.8-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.16.7-arm64-darwin) + nokogiri (1.18.8-arm-linux-gnu) racc (~> 1.4) - nokogiri (1.16.7-x86-linux) + nokogiri (1.18.8-arm-linux-musl) racc (~> 1.4) - nokogiri (1.16.7-x86_64-darwin) + nokogiri (1.18.8-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.7-x86_64-linux) + nokogiri (1.18.8-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.18.8-x86_64-linux-gnu) + racc (~> 1.4) + nokogiri (1.18.8-x86_64-linux-musl) racc (~> 1.4) observer (0.1.2) ostruct (0.6.1) - parallel (1.26.3) - parser (3.3.6.0) + parallel (1.27.0) + parser (3.3.8.0) ast (~> 2.4.1) racc pg (1.5.9) - puma (6.5.0) + prism (1.4.0) + puma (6.6.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.10) + rack (2.2.13) rack-proxy (0.7.7) rack - rack-test (2.1.0) + rack-test (2.2.0) rack (>= 1.3) rails (7.0.8) actioncable (= 7.0.8) @@ -200,9 +211,9 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.2) loofah (~> 2.21) - nokogiri (~> 1.14) + nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) railties (7.0.8) actionpack (= 7.0.8) activesupport (= 7.0.8) @@ -212,8 +223,8 @@ GEM zeitwerk (~> 2.5) rainbow (3.1.1) rake (13.2.1) - regexp_parser (2.9.2) - rspec-core (3.13.2) + regexp_parser (2.10.0) + rspec-core (3.13.3) rspec-support (~> 3.13.0) rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) @@ -221,7 +232,7 @@ GEM rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.0) + rspec-rails (7.1.1) actionpack (>= 7.0) activesupport (>= 7.0) railties (>= 7.0) @@ -229,46 +240,54 @@ GEM rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) - rubocop (1.68.0) + rspec-support (3.13.2) + rubocop (1.75.3) json (~> 2.3) - language_server-protocol (>= 3.17.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 2.4, < 3.0) - rubocop-ast (>= 1.32.2, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.44.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.35.0) - parser (>= 3.3.1.0) - rubocop-md (1.2.4) - rubocop (>= 1.45) - rubocop-minitest (0.36.0) - rubocop (>= 1.61, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-packaging (0.5.2) - rubocop (>= 1.33, < 2.0) - rubocop-performance (1.22.1) - rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.27.0) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.44.1) + parser (>= 3.3.7.2) + prism (~> 1.4) + rubocop-md (2.0.1) + lint_roller (~> 1.1) + rubocop (>= 1.72.1) + rubocop-minitest (0.38.0) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-packaging (0.6.0) + lint_roller (~> 1.1.0) + rubocop (>= 1.72.1, < 2.0) + rubocop-performance (1.25.0) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-rails (2.31.0) activesupport (>= 4.2.0) + lint_roller (~> 1.1) rack (>= 1.1) - rubocop (>= 1.52.0, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails_config (1.16.0) - rubocop (>= 1.57.0) - rubocop-ast (>= 1.26.0) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-rails_config (1.17.1) + rubocop (>= 1.72.2) + rubocop-ast (>= 1.38.0) rubocop-md - rubocop-minitest (~> 0.22) - rubocop-packaging (~> 0.5) - rubocop-performance (~> 1.11) - rubocop-rails (~> 2.0) - rubocop-rspec (3.2.0) - rubocop (~> 1.61) + rubocop-minitest (~> 0.37) + rubocop-packaging (~> 0.6) + rubocop-performance (~> 1.24) + rubocop-rails (~> 2.30) + rubocop-rspec (3.6.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) ruby-progressbar (1.13.0) - ruby-vips (2.2.2) + ruby-vips (2.2.3) ffi (~> 1.12) logger simplecov (0.22.0) @@ -277,8 +296,9 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) - sprockets (4.2.1) + sprockets (4.2.2) concurrent-ruby (~> 1.0) + logger rack (>= 2.2.4, < 4) sprockets-rails (3.5.2) actionpack (>= 6.1) @@ -287,36 +307,45 @@ GEM sqlite3 (1.7.3-aarch64-linux) sqlite3 (1.7.3-arm-linux) sqlite3 (1.7.3-arm64-darwin) - sqlite3 (1.7.3-x86-linux) sqlite3 (1.7.3-x86_64-darwin) sqlite3 (1.7.3-x86_64-linux) thor (1.3.2) - timeout (0.4.2) + timeout (0.4.3) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - unicode-display_width (2.6.0) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) vite_rails (3.0.19) railties (>= 5.1, < 9) vite_ruby (~> 3.0, >= 3.2.2) - vite_ruby (3.9.0) + vite_ruby (3.9.2) dry-cli (>= 0.7, < 2) logger (~> 1.6) + mutex_m rack-proxy (~> 0.6, >= 0.6.1) zeitwerk (~> 2.2) - websocket-driver (0.7.6) + websocket-driver (0.7.7) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) - zeitwerk (2.7.1) + zeitwerk (2.7.2) PLATFORMS aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl arm-linux + arm-linux-gnu + arm-linux-musl arm64-darwin - x86-linux x86_64-darwin x86_64-linux + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES + annotate base64 bcrypt bigdecimal @@ -343,4 +372,4 @@ DEPENDENCIES sqlite3 (~> 1.4) BUNDLED WITH - 2.5.4 + 2.5.23 From ec18ce3fad95b1cca39558535d48fac1c9584695 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sat, 8 Mar 2025 12:05:03 +0100 Subject: [PATCH 07/70] chore: fix the Rails 7.2 version --- Gemfile.rails_7_2 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Gemfile.rails_7_2 b/Gemfile.rails_7_2 index 6039f4f8..40915dd5 100644 --- a/Gemfile.rails_7_2 +++ b/Gemfile.rails_7_2 @@ -33,6 +33,10 @@ gem 'puma' # Git. Remember to move these dependencies to your gemspec before releasing # your gem to rubygems.org. +# Gems not part of the standard library anymore +gem 'observer' +gem 'ostruct' + # To use a debugger # gem 'byebug', group: [:development, :test] From 4a0b43c378a784774d1d120055fd4a94bffbb95e Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sun, 9 Mar 2025 00:49:17 +0100 Subject: [PATCH 08/70] feat: pimp the GetPageSections service to return sections grouped by layout groups --- .gitignore | 3 +- app/models/maglev/theme.rb | 4 + app/models/maglev/theme/layout_group.rb | 2 +- app/services/maglev/app_container.rb | 10 +- .../maglev/fetch_sections_from_store.rb | 107 ++++++++++ app/services/maglev/get_page_sections.rb | 110 ++-------- app/views/maglev/editor/show.html.erb | 1 + spec/factories/maglev/pages.rb | 5 +- .../maglev/section_content_stores.rb | 197 ++++++++++++++++-- .../maglev/fetch_sections_from_store_spec.rb | 134 ++++++++++++ .../services/maglev/get_page_sections_spec.rb | 186 +++-------------- 11 files changed, 482 insertions(+), 277 deletions(-) create mode 100644 app/services/maglev/fetch_sections_from_store.rb create mode 100644 spec/services/maglev/fetch_sections_from_store_spec.rb diff --git a/.gitignore b/.gitignore index 9dc2298a..cd03318c 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ coverage/ podman.sh template.dev.rb tailwind-maglev-pro.config.js +plugins # Vite Ruby /public/vite* @@ -38,4 +39,4 @@ node_modules bin/test spec/dummy/db/*.sqlite3 -spec/legacy_dummy/db/*.sqlite3 \ No newline at end of file +spec/legacy_dummy/db/*.sqlite3 diff --git a/app/models/maglev/theme.rb b/app/models/maglev/theme.rb index c3bbcadf..0b616f8d 100644 --- a/app/models/maglev/theme.rb +++ b/app/models/maglev/theme.rb @@ -25,6 +25,10 @@ def find_setting(section_id, block_id, setting_id) section_setting_types[key] end + def find_layout(layout_id) + layouts.find { |layout| layout.id == layout_id } + end + private def section_setting_types diff --git a/app/models/maglev/theme/layout_group.rb b/app/models/maglev/theme/layout_group.rb index 16de81ee..09952934 100644 --- a/app/models/maglev/theme/layout_group.rb +++ b/app/models/maglev/theme/layout_group.rb @@ -19,7 +19,7 @@ def self.build(hash) attributes = prepare_attributes(hash).slice('id', 'label', 'store', 'accept') attributes['accept'] ||= [] - attributes['store'] ||= attributes['id'] + attributes['store'] = attributes['id'] if attributes['store'] != false && attributes['store'].blank? new(attributes) end diff --git a/app/services/maglev/app_container.rb b/app/services/maglev/app_container.rb index 9bbea5e9..6ae192bc 100644 --- a/app/services/maglev/app_container.rb +++ b/app/services/maglev/app_container.rb @@ -36,10 +36,14 @@ class AppContainer dependency :fetch_page, class: Maglev::FetchPage, depends_on: %i[context fetch_site] dependency :get_page_fullpath, class: Maglev::GetPageFullpath, depends_on: %i[fetch_site get_base_url] + dependency :fetch_sections_from_store, class: Maglev::FetchSectionsFromStore, + depends_on: %i[fetch_site fetch_theme + fetch_static_pages + fetch_collection_items get_page_fullpath] dependency :get_page_sections, class: Maglev::GetPageSections, - depends_on: %i[fetch_site fetch_theme - fetch_static_pages - fetch_collection_items get_page_fullpath] + depends_on: %i[fetch_theme + fetch_sections_from_store] + dependency :get_page_section_names, class: Maglev::GetPageSectionNames, depends_on: :fetch_theme dependency :clone_page, class: Maglev::ClonePage, depends_on: :fetch_site dependency :persist_page, class: Maglev::PersistPage, depends_on: %i[fetch_theme] diff --git a/app/services/maglev/fetch_sections_from_store.rb b/app/services/maglev/fetch_sections_from_store.rb new file mode 100644 index 00000000..db998b41 --- /dev/null +++ b/app/services/maglev/fetch_sections_from_store.rb @@ -0,0 +1,107 @@ +# frozen_string_literal: true + +module Maglev + # Get the content of a store in a specific locale. + # The content comes from the sections of the store. + # Also replace the links by their real values based on the context (live editing or not). + class FetchSectionsFromStore + include Injectable + include Maglev::GetPageSections::TransformTextConcern + include Maglev::GetPageSections::TransformLinkConcern + include Maglev::GetPageSections::TransformCollectionItemConcern + + dependency :fetch_site + dependency :fetch_theme + dependency :fetch_collection_items + dependency :fetch_static_pages + dependency :get_page_fullpath + + argument :handle + argument :locale, default: nil + + def call + find_store.sections.map do |section| + transform_section(section.dup) + end.compact + end + + private + + def theme + @theme ||= fetch_theme.call + end + + def find_store + scoped_store.find_or_initialize_by(handle: handle) do |store| + store.sections = [] + end + end + + def transform_section(section) + definition = theme.sections.find(section['type']) + + raise_unknown_section_error(section['type']) unless definition + + transform_section_blocks(section['blocks'], definition) + transform_section_settings(section, definition) + + section + end + + def transform_section_blocks(blocks, definition) + blocks.each do |block| + block_definition = definition.blocks.find { |bd| bd.type == block['type'] } + + next unless block_definition + + transform_section_settings(block, block_definition) + end + end + + def transform_section_settings(section, definition) + remove_unused_settings(section, definition) + + definition.settings.each do |setting| + section_setting = find_section_setting(section, setting.id) + + next unless section_setting + + transform_content_setting(section_setting, setting) + end + end + + def transform_content_setting(content, setting) + case setting.type + when 'link' + transform_link_content_setting(content, setting) + when 'text' + transform_text_content_setting(content, setting) + when 'collection_item' + transform_collection_item_content_setting(content, setting) + end + end + + def remove_unused_settings(section, definition) + section['settings'].select! do |setting| + definition.settings.any? do |definition_setting| + definition_setting.id == setting['id'] + end + end + end + + def find_section_setting(section, setting_id) + # NOTE: works for both sections and blocks + section['settings'].find { |setting| setting['id'] == setting_id } + end + + def raise_unknown_section_error(type) + raise ::Maglev::Errors::UnknownSection, "Unknown Maglev section type (#{type})" unless Rails.env.production? + + Rails.logger.warn "[#{theme.id}][#{handle}] unknown Maglev section type (#{type})" + end + + def scoped_store + Maglev::SectionContentStore + end + end +end \ No newline at end of file diff --git a/app/services/maglev/get_page_sections.rb b/app/services/maglev/get_page_sections.rb index 61c49724..31f675d7 100644 --- a/app/services/maglev/get_page_sections.rb +++ b/app/services/maglev/get_page_sections.rb @@ -6,115 +6,41 @@ module Maglev # Also replace the links by their real values based on the context (live editing or not). class GetPageSections include Injectable - include Maglev::GetPageSections::TransformTextConcern - include Maglev::GetPageSections::TransformLinkConcern - include Maglev::GetPageSections::TransformCollectionItemConcern - - dependency :fetch_site + dependency :fetch_theme - dependency :fetch_collection_items - dependency :fetch_static_pages - dependency :get_page_fullpath - + dependency :fetch_sections_from_store + argument :page - argument :page_sections, default: nil argument :locale, default: nil def call - (page_sections || page.sections || []).map do |section| - transform_section(section.dup) - end.compact + layout.groups.map do |group| + { + id: group.id, + sections: fetch_sections(group) + } + end end protected def theme - fetch_theme.call - end - - def site - fetch_site.call + @theme ||= fetch_theme.call end - def transform_section(section) - definition = theme.sections.find(section['type']) - - raise_unknown_section_error(section['type']) unless definition - - transform_if_site_scoped(section, definition) - transform_section_blocks(section['blocks'], definition) - transform_section_settings(section, definition) - - section + def layout + theme.find_layout(page.layout_id) end - # rubocop:disable Style/StringHashKeys - def transform_if_site_scoped(section, definition) - return unless definition.site_scoped? - - site_section = site.find_section(section['type']) - - return unless !page_sections && site_section - - # keep the same section id all over the pages - section.merge!( - 'id' => site_section['id'], - 'settings' => site_section['settings'], - 'blocks' => site_section['blocks'] + def fetch_sections(group) + fetch_sections_from_store.call( + handle: guess_store_handle(group), + locale: locale ) end - # rubocop:enable Style/StringHashKeys - - def transform_section_blocks(blocks, definition) - blocks.each do |block| - block_definition = definition.blocks.find { |bd| bd.type == block['type'] } - - next unless block_definition - - transform_section_settings(block, block_definition) - end - end - - def transform_section_settings(section, definition) - remove_unused_settings(section, definition) - - definition.settings.each do |setting| - section_setting = find_section_setting(section, setting.id) - - next unless section_setting - - transform_content_setting(section_setting, setting) - end - end - - def transform_content_setting(content, setting) - case setting.type - when 'link' - transform_link_content_setting(content, setting) - when 'text' - transform_text_content_setting(content, setting) - when 'collection_item' - transform_collection_item_content_setting(content, setting) - end - end - - def remove_unused_settings(section, definition) - section['settings'].select! do |setting| - definition.settings.any? do |definition_setting| - definition_setting.id == setting['id'] - end - end - end - - def find_section_setting(section, setting_id) - # NOTE: works for both sections and blocks - section['settings'].find { |setting| setting['id'] == setting_id } - end - - def raise_unknown_section_error(type) - raise ::Maglev::Errors::UnknownSection, "Unknown Maglev section type (#{type})" unless Rails.env.production? - Rails.logger.warn "[#{theme.id}] unknown Maglev section type (#{type})" + def guess_store_handle(group) + group.store? ? group.store : "#{group.id}-#{page.id}" end end end diff --git a/app/views/maglev/editor/show.html.erb b/app/views/maglev/editor/show.html.erb index 5aa40a34..1dedc06e 100644 --- a/app/views/maglev/editor/show.html.erb +++ b/app/views/maglev/editor/show.html.erb @@ -35,6 +35,7 @@ <%= render 'header' %> +
<%= @fetch_maglev_page_sections %>
diff --git a/spec/factories/maglev/pages.rb b/spec/factories/maglev/pages.rb index beb01839..beea3500 100644 --- a/spec/factories/maglev/pages.rb +++ b/spec/factories/maglev/pages.rb @@ -4,7 +4,9 @@ factory :page, class: 'Maglev::Page' do title { 'Home' } path { 'index' } - layout_id { 'default' } + layout_id { 'basic' } + + # TODO: to be removed sections do [ { @@ -31,6 +33,7 @@ ] end + # TODO: to be removed trait :with_navbar do sections do [ diff --git a/spec/factories/maglev/section_content_stores.rb b/spec/factories/maglev/section_content_stores.rb index 29b4b139..127fe05c 100644 --- a/spec/factories/maglev/section_content_stores.rb +++ b/spec/factories/maglev/section_content_stores.rb @@ -2,35 +2,196 @@ FactoryBot.define do factory :section_content_store, class: 'Maglev::SectionContentStore' do - handle { 'sidebar' } + transient do + page { nil } + end + + handle { "main" + (page ? "-#{page.id}" : "") } + sections do [ { - id: 'abc', - type: 'navbar', - settings: [ - { id: :logo, value: 'logo.png' } - ], + id: 'def', + type: 'jumbotron', + settings: [{ id: :title, value: 'Hello world' }, { id: :body, value: '

Lorem ipsum

' }], + blocks: [] + }, + { + id: 'ghi', + type: 'showcase', + settings: [{ id: :title, value: 'Our projects' }], blocks: [ { - id: 'menu-item-0', - type: 'menu_item', - settings: [ - { id: :label, value: 'Home' }, - { id: :link, value: '/' } - ] - }, - { - id: 'menu-item-1', - type: 'menu_item', + type: 'showcase_item', settings: [ - { id: :label, value: 'About us' }, - { id: :link, value: '/about-us' } + { id: :name, value: 'My first project' }, + { id: :screenshot, value: '/assets/screenshot-01.png' } ] } ] } ] end + + trait :header do + handle { 'header' } + sections do + [ + { + id: 'abc', + type: 'navbar', + settings: [ + { id: :logo, value: 'logo.png' } + ], + blocks: [ + { + id: 'menu-item-0', + type: 'menu_item', + settings: [ + { id: :label, value: 'Home' }, + { id: :link, value: '/' } + ] + }, + { + id: 'menu-item-1', + type: 'menu_item', + settings: [ + { id: :label, value: 'About us' }, + { id: :link, value: '/about-us' } + ] + }, + { + id: 'menu-item-1-1', + parent_id: 'menu-item-1', + type: 'menu_item', + settings: [ + { id: :label, value: 'Our team' }, + { id: :link, value: '/about-us/team' } + ] + }, + { + id: 'menu-item-1-2', + parent_id: 'menu-item-1', + type: 'menu_item', + settings: [ + { id: :label, value: 'Our office' }, + { id: :link, value: { href: '/about-us/office', link_type: 'url', open_new_window: true } } + ] + } + ] + } + ] + end + end + + trait :footer do + handle { 'footer' } + sections { [] } # TODO: add a copyright section? + end + + trait :sidebar do + handle { 'sidebar' } + sections do + [ + { + id: 'abc', + type: 'navbar', + settings: [ + { id: :logo, value: 'logo.png' } + ], + blocks: [ + { + id: 'menu-item-0', + type: 'menu_item', + settings: [ + { id: :label, value: 'Home' }, + { id: :link, value: '/' } + ] + }, + { + id: 'menu-item-1', + type: 'menu_item', + settings: [ + { id: :label, value: 'About us' }, + { id: :link, value: '/about-us' } + ] + } + ] + } + ] + end + end + + # work with the default factory + trait :page_link_in_text do + after :build do |record| + record.sections[0]['settings'][1]['value'] = + '

Lorem ipsum

' } + ], + 'blocks' => [] + }, + { + 'id' => 'ghi', + 'type' => 'showcase', + 'settings' => [ + { 'id' => 'title', 'value' => 'Our projects' } + ], 'blocks' => [ + { + 'type' => 'showcase_item', + 'settings' => [ + { 'id' => 'name', 'value' => 'My first project' }, + { 'id' => 'screenshot', 'value' => '/assets/screenshot-01.png' } + ] + } + ] + } + ]) + end + + context 'the section have unused settings' do + let!(:store) { create(:section_content_store, :with_unused_settings, page: page) } + it 'skips the unused settings' do + expect(subject).to eq([ + { + 'id' => 'ghi', + 'type' => 'showcase', + 'settings' => [ + { 'id' => 'title', 'value' => 'Our projects' } + ], 'blocks' => [ + { + 'type' => 'showcase_item', + 'settings' => [ + { 'id' => 'name', 'value' => 'My first project' }, + { 'id' => 'screenshot', + 'value' => '/assets/screenshot-01.png' } + ] + } + ] + } + ]) + end + end + + context 'the sections include a link in text type setting' do + let!(:store) { create(:section_content_store, :page_link_in_text, page: page) } + + it 'sets the href properties' do + expect(get_page_fullpath).to receive(:call).with(page: '42', + locale: :en).once.and_return('/preview/awesome-path') + expect(subject[0]['settings'][1]['value']).to include(' 'yyy', - 'type' => 'navbar', - 'settings' => [{ 'id' => 'logo', 'value' => 'mynewlogo.png' }], - 'blocks' => [ - { - 'id' => 'zzz', - 'type' => 'menu_item', - 'settings' => [ - { 'id' => 'label', 'value' => 'Home' }, - { - 'id' => 'link', - 'value' => { - 'href' => 'https://www.nocoffee.fr', - 'link_type' => 'url', - 'open_new_window' => true - } - } - ] - } - ] - }, - { - 'id' => 'def', - 'type' => 'jumbotron', - 'settings' => [ - { 'id' => 'title', 'value' => 'Hello world' }, - { 'id' => 'body', 'value' => '

Lorem ipsum

' } - ], - 'blocks' => [] - }, - { - 'id' => 'ghi', - 'type' => 'showcase', - 'settings' => [ - { 'id' => 'title', 'value' => 'Our projects' } - ], 'blocks' => [ - { - 'type' => 'showcase_item', - 'settings' => [ - { 'id' => 'name', 'value' => 'My first project' }, - { 'id' => 'screenshot', 'value' => '/assets/screenshot-01.png' } - ] - } - ] - } - ]) - end - - context 'the section have unused settings' do - let(:page) { build(:page, :with_unused_settings) } - it 'skips the unused settings' do - expect(subject).to eq([ - { - 'id' => 'ghi', - 'type' => 'showcase', - 'settings' => [ - { 'id' => 'title', 'value' => 'Our projects' } - ], 'blocks' => [ - { - 'type' => 'showcase_item', - 'settings' => [ - { 'id' => 'name', 'value' => 'My first project' }, - { 'id' => 'screenshot', - 'value' => '/assets/screenshot-01.png' } - ] - } - ] - } - ]) - end - end - - context "the site doesn't have a global content" do - let(:site) { create(:site, :empty) } - - it 'fallbacks to the page version of the site scoped section' do - expect(subject).to eq([ - { - 'id' => 'abc', - 'type' => 'navbar', - 'settings' => [{ 'id' => 'logo', 'value' => 'logo.png' }], - 'blocks' => [] - }, - { - 'id' => 'def', - 'type' => 'jumbotron', - 'settings' => [ - { 'id' => 'title', 'value' => 'Hello world' }, - { 'id' => 'body', 'value' => '

Lorem ipsum

' } - ], - 'blocks' => [] - }, - { - 'id' => 'ghi', - 'type' => 'showcase', - 'settings' => [ - { 'id' => 'title', 'value' => 'Our projects' } - ], 'blocks' => [ - { - 'type' => 'showcase_item', - 'settings' => [ - { 'id' => 'name', 'value' => 'My first project' }, - { 'id' => 'screenshot', 'value' => '/assets/screenshot-01.png' } - ] - } - ] - } - ]) - end + { id: 'header', sections: [] }, + { id: 'main', sections: [] }, + { id: 'footer', sections: [] }, + ]) end + end - context 'the sections include links' do - let(:site) { create(:site, :with_navbar, :page_links) } - let(:page) { build(:page, :with_navbar, :page_links) } + context 'the page has sections in the main region + a header and a footer' do + let(:page) { build(:page, id: 1) } + let(:header_sections) { build(:section_content_store, :header).sections } + let(:main_sections) { build(:section_content_store, page: page).sections } + let(:footer_sections) { build(:section_content_store, :footer).sections } - it 'sets the href properties' do - expect(get_page_fullpath).to receive(:call).with(page: '42', - locale: :en).twice.and_return('/preview/awesome-path') - expect(subject[0]['blocks'][0]['settings'][1]['value']['href']).to eq('/preview/awesome-path') - expect(subject[1]['settings'][1]['value']).to include('
Date: Sun, 9 Mar 2025 00:50:49 +0100 Subject: [PATCH 09/70] chore: please Rubocop --- app/services/maglev/app_container.rb | 6 +- .../maglev/fetch_sections_from_store.rb | 2 +- app/services/maglev/get_page_sections.rb | 6 +- .../maglev/section_content_stores.rb | 6 +- spec/legacy_dummy/db/schema.rb | 188 +++++++++--------- .../maglev/fetch_sections_from_store_spec.rb | 52 ++--- .../services/maglev/get_page_sections_spec.rb | 12 +- 7 files changed, 137 insertions(+), 135 deletions(-) diff --git a/app/services/maglev/app_container.rb b/app/services/maglev/app_container.rb index 6ae192bc..cdc082bd 100644 --- a/app/services/maglev/app_container.rb +++ b/app/services/maglev/app_container.rb @@ -37,9 +37,9 @@ class AppContainer dependency :fetch_page, class: Maglev::FetchPage, depends_on: %i[context fetch_site] dependency :get_page_fullpath, class: Maglev::GetPageFullpath, depends_on: %i[fetch_site get_base_url] dependency :fetch_sections_from_store, class: Maglev::FetchSectionsFromStore, - depends_on: %i[fetch_site fetch_theme - fetch_static_pages - fetch_collection_items get_page_fullpath] + depends_on: %i[fetch_site fetch_theme + fetch_static_pages + fetch_collection_items get_page_fullpath] dependency :get_page_sections, class: Maglev::GetPageSections, depends_on: %i[fetch_theme fetch_sections_from_store] diff --git a/app/services/maglev/fetch_sections_from_store.rb b/app/services/maglev/fetch_sections_from_store.rb index db998b41..e727e94b 100644 --- a/app/services/maglev/fetch_sections_from_store.rb +++ b/app/services/maglev/fetch_sections_from_store.rb @@ -104,4 +104,4 @@ def scoped_store Maglev::SectionContentStore end end -end \ No newline at end of file +end diff --git a/app/services/maglev/get_page_sections.rb b/app/services/maglev/get_page_sections.rb index 31f675d7..7758a48a 100644 --- a/app/services/maglev/get_page_sections.rb +++ b/app/services/maglev/get_page_sections.rb @@ -6,10 +6,10 @@ module Maglev # Also replace the links by their real values based on the context (live editing or not). class GetPageSections include Injectable - + dependency :fetch_theme dependency :fetch_sections_from_store - + argument :page argument :locale, default: nil @@ -34,7 +34,7 @@ def layout def fetch_sections(group) fetch_sections_from_store.call( - handle: guess_store_handle(group), + handle: guess_store_handle(group), locale: locale ) end diff --git a/spec/factories/maglev/section_content_stores.rb b/spec/factories/maglev/section_content_stores.rb index 127fe05c..98f10cca 100644 --- a/spec/factories/maglev/section_content_stores.rb +++ b/spec/factories/maglev/section_content_stores.rb @@ -6,7 +6,7 @@ page { nil } end - handle { "main" + (page ? "-#{page.id}" : "") } + handle { "main#{page ? "-#{page.id}" : ''}" } sections do [ @@ -36,7 +36,7 @@ trait :header do handle { 'header' } sections do - [ + [ { id: 'abc', type: 'navbar', @@ -131,7 +131,7 @@ end # work with the sidebar trait - trait :page_link_in_link do + trait :page_link_in_link do after :build do |record| record.find_section('navbar')['blocks'][0]['settings'][1]['value'] = { link_type: 'page', diff --git a/spec/legacy_dummy/db/schema.rb b/spec/legacy_dummy/db/schema.rb index e1f01dc8..5efc6869 100644 --- a/spec/legacy_dummy/db/schema.rb +++ b/spec/legacy_dummy/db/schema.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # This file is auto-generated from the current state of the database. Instead # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. @@ -10,121 +12,121 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2025_03_07_104536) do - +ActiveRecord::Schema.define(version: 20_250_307_104_536) do # These are extensions that must be enabled in order to support this database - enable_extension "plpgsql" + enable_extension 'plpgsql' - create_table "accounts", force: :cascade do |t| - t.string "email" - t.string "password_digest" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + create_table 'accounts', force: :cascade do |t| + t.string 'email' + t.string 'password_digest' + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false end - create_table "active_storage_attachments", force: :cascade do |t| - t.string "name", null: false - t.string "record_type", null: false - t.bigint "record_id", null: false - t.bigint "blob_id", null: false - t.datetime "created_at", null: false - t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id" - t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true + create_table 'active_storage_attachments', force: :cascade do |t| + t.string 'name', null: false + t.string 'record_type', null: false + t.bigint 'record_id', null: false + t.bigint 'blob_id', null: false + t.datetime 'created_at', null: false + t.index ['blob_id'], name: 'index_active_storage_attachments_on_blob_id' + t.index %w[record_type record_id name blob_id], name: 'index_active_storage_attachments_uniqueness', + unique: true end - create_table "active_storage_blobs", force: :cascade do |t| - t.string "key", null: false - t.string "filename", null: false - t.string "content_type" - t.text "metadata" - t.bigint "byte_size", null: false - t.string "checksum", null: false - t.datetime "created_at", null: false - t.string "service_name", null: false - t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true + create_table 'active_storage_blobs', force: :cascade do |t| + t.string 'key', null: false + t.string 'filename', null: false + t.string 'content_type' + t.text 'metadata' + t.bigint 'byte_size', null: false + t.string 'checksum', null: false + t.datetime 'created_at', null: false + t.string 'service_name', null: false + t.index ['key'], name: 'index_active_storage_blobs_on_key', unique: true end - create_table "active_storage_variant_records", force: :cascade do |t| - t.bigint "blob_id", null: false - t.string "variation_digest", null: false - t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true + create_table 'active_storage_variant_records', force: :cascade do |t| + t.bigint 'blob_id', null: false + t.string 'variation_digest', null: false + t.index %w[blob_id variation_digest], name: 'index_active_storage_variant_records_uniqueness', unique: true end - create_table "maglev_assets", force: :cascade do |t| - t.string "filename" - t.string "content_type" - t.integer "width" - t.integer "height" - t.integer "byte_size" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + create_table 'maglev_assets', force: :cascade do |t| + t.string 'filename' + t.string 'content_type' + t.integer 'width' + t.integer 'height' + t.integer 'byte_size' + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false end - create_table "maglev_page_paths", force: :cascade do |t| - t.bigint "maglev_page_id" - t.string "locale", null: false - t.string "value", null: false - t.boolean "canonical", default: true - t.index ["canonical", "locale", "value"], name: "canonical_speed" - t.index ["canonical", "maglev_page_id", "locale"], name: "scoped_canonical_speed" - t.index ["maglev_page_id"], name: "index_maglev_page_paths_on_maglev_page_id" + create_table 'maglev_page_paths', force: :cascade do |t| + t.bigint 'maglev_page_id' + t.string 'locale', null: false + t.string 'value', null: false + t.boolean 'canonical', default: true + t.index %w[canonical locale value], name: 'canonical_speed' + t.index %w[canonical maglev_page_id locale], name: 'scoped_canonical_speed' + t.index ['maglev_page_id'], name: 'index_maglev_page_paths_on_maglev_page_id' end - create_table "maglev_pages", force: :cascade do |t| - t.boolean "visible", default: true - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - t.jsonb "title_translations", default: {} - t.jsonb "seo_title_translations", default: {} - t.jsonb "meta_description_translations", default: {} - t.jsonb "sections_translations", default: {} - t.integer "lock_version" - t.jsonb "og_title_translations", default: {} - t.jsonb "og_description_translations", default: {} - t.jsonb "og_image_url_translations", default: {} - t.string "layout_id" + create_table 'maglev_pages', force: :cascade do |t| + t.boolean 'visible', default: true + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false + t.jsonb 'title_translations', default: {} + t.jsonb 'seo_title_translations', default: {} + t.jsonb 'meta_description_translations', default: {} + t.jsonb 'sections_translations', default: {} + t.integer 'lock_version' + t.jsonb 'og_title_translations', default: {} + t.jsonb 'og_description_translations', default: {} + t.jsonb 'og_image_url_translations', default: {} + t.string 'layout_id' end - create_table "maglev_section_content_stores", force: :cascade do |t| - t.string "handle", null: false - t.jsonb "sections_translations", default: {} - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + create_table 'maglev_section_content_stores', force: :cascade do |t| + t.string 'handle', null: false + t.jsonb 'sections_translations', default: {} + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false end - create_table "maglev_section_repositories", force: :cascade do |t| - t.string "name" - t.jsonb "sections_translations", default: {} - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + create_table 'maglev_section_repositories', force: :cascade do |t| + t.string 'name' + t.jsonb 'sections_translations', default: {} + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false end - create_table "maglev_sites", force: :cascade do |t| - t.string "name" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - t.jsonb "navigation", default: [] - t.jsonb "locales", default: [] - t.jsonb "sections_translations", default: {} - t.integer "lock_version" - t.string "siteable_type" - t.bigint "siteable_id" - t.string "handle" - t.string "theme_id" - t.string "domain" - t.jsonb "style", default: [] - t.index ["siteable_type", "siteable_id"], name: "index_maglev_sites_on_siteable" + create_table 'maglev_sites', force: :cascade do |t| + t.string 'name' + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false + t.jsonb 'navigation', default: [] + t.jsonb 'locales', default: [] + t.jsonb 'sections_translations', default: {} + t.integer 'lock_version' + t.string 'siteable_type' + t.bigint 'siteable_id' + t.string 'handle' + t.string 'theme_id' + t.string 'domain' + t.jsonb 'style', default: [] + t.index %w[siteable_type siteable_id], name: 'index_maglev_sites_on_siteable' end - create_table "products", force: :cascade do |t| - t.string "name" - t.string "sku" - t.float "price" - t.boolean "sold_out", default: false - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false + create_table 'products', force: :cascade do |t| + t.string 'name' + t.string 'sku' + t.float 'price' + t.boolean 'sold_out', default: false + t.datetime 'created_at', precision: 6, null: false + t.datetime 'updated_at', precision: 6, null: false end - add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id" - add_foreign_key "active_storage_variant_records", "active_storage_blobs", column: "blob_id" + add_foreign_key 'active_storage_attachments', 'active_storage_blobs', column: 'blob_id' + add_foreign_key 'active_storage_variant_records', 'active_storage_blobs', column: 'blob_id' end diff --git a/spec/services/maglev/fetch_sections_from_store_spec.rb b/spec/services/maglev/fetch_sections_from_store_spec.rb index 656f73b1..e11d24c4 100644 --- a/spec/services/maglev/fetch_sections_from_store_spec.rb +++ b/spec/services/maglev/fetch_sections_from_store_spec.rb @@ -33,31 +33,31 @@ it 'returns the sections' do expect(subject).to eq([ - { - 'id' => 'def', - 'type' => 'jumbotron', - 'settings' => [ - { 'id' => 'title', 'value' => 'Hello world' }, - { 'id' => 'body', 'value' => '

Lorem ipsum

' } - ], - 'blocks' => [] - }, - { - 'id' => 'ghi', - 'type' => 'showcase', - 'settings' => [ - { 'id' => 'title', 'value' => 'Our projects' } - ], 'blocks' => [ - { - 'type' => 'showcase_item', - 'settings' => [ - { 'id' => 'name', 'value' => 'My first project' }, - { 'id' => 'screenshot', 'value' => '/assets/screenshot-01.png' } - ] - } - ] - } - ]) + { + 'id' => 'def', + 'type' => 'jumbotron', + 'settings' => [ + { 'id' => 'title', 'value' => 'Hello world' }, + { 'id' => 'body', 'value' => '

Lorem ipsum

' } + ], + 'blocks' => [] + }, + { + 'id' => 'ghi', + 'type' => 'showcase', + 'settings' => [ + { 'id' => 'title', 'value' => 'Our projects' } + ], 'blocks' => [ + { + 'type' => 'showcase_item', + 'settings' => [ + { 'id' => 'name', 'value' => 'My first project' }, + { 'id' => 'screenshot', 'value' => '/assets/screenshot-01.png' } + ] + } + ] + } + ]) end context 'the section have unused settings' do @@ -128,7 +128,7 @@ end end end - end + end # rubocop:enable Style/StringHashKeys end diff --git a/spec/services/maglev/get_page_sections_spec.rb b/spec/services/maglev/get_page_sections_spec.rb index a2f31383..07b98ea3 100644 --- a/spec/services/maglev/get_page_sections_spec.rb +++ b/spec/services/maglev/get_page_sections_spec.rb @@ -19,10 +19,10 @@ it 'returns the layout groups empty' do expect(subject).to eq([ - { id: 'header', sections: [] }, - { id: 'main', sections: [] }, - { id: 'footer', sections: [] }, - ]) + { id: 'header', sections: [] }, + { id: 'main', sections: [] }, + { id: 'footer', sections: [] } + ]) end end @@ -39,8 +39,8 @@ end it 'returns the sections of the main region' do - expect(subject[0][:sections].map { |section| section['type'] }).to eq(%w(navbar)) - expect(subject[1][:sections].map { |section| section['type'] }).to eq(%w(jumbotron showcase)) + expect(subject[0][:sections].map { |section| section['type'] }).to eq(%w[navbar]) + expect(subject[1][:sections].map { |section| section['type'] }).to eq(%w[jumbotron showcase]) expect(subject[2][:sections].size).to eq 0 end end From 82ed711c64f2175ad02b5ebf6f4c63e414b781ae Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Tue, 11 Mar 2025 00:12:32 +0100 Subject: [PATCH 10/70] feat: implement the PersistSectionsContent service (replacement of the PersistPage service) --- ...ent_store.rb => sections_content_store.rb} | 2 +- app/models/maglev/theme/layout_group.rb | 4 ++ app/services/maglev/app_container.rb | 5 +- ...rom_store.rb => fetch_sections_content.rb} | 14 +++-- app/services/maglev/get_page_sections.rb | 14 ++--- .../maglev/persist_sections_content.rb | 61 +++++++++++++++++++ ...45_create_maglev_section_content_stores.rb | 10 --- ...5_create_maglev_sections_content_stores.rb | 13 ++++ .../20250307104536_add_layout_id_to_pages.rb | 1 + lib/maglev/errors.rb | 1 + spec/dummy/app/theme/theme.yml | 4 +- spec/dummy/db/schema.rb | 11 ++-- ...t_stores.rb => sections_content_stores.rb} | 2 +- ...spec.rb => sections_content_store_spec.rb} | 10 +-- ...spec.rb => fetch_sections_content_spec.rb} | 36 +++++------ .../services/maglev/get_page_sections_spec.rb | 22 +++---- .../maglev/persist_sections_content_spec.rb | 61 +++++++++++++++++++ 17 files changed, 204 insertions(+), 67 deletions(-) rename app/models/maglev/{section_content_store.rb => sections_content_store.rb} (93%) rename app/services/maglev/{fetch_sections_from_store.rb => fetch_sections_content.rb} (92%) create mode 100644 app/services/maglev/persist_sections_content.rb delete mode 100644 db/migrate/20250305221045_create_maglev_section_content_stores.rb create mode 100644 db/migrate/20250305221045_create_maglev_sections_content_stores.rb rename spec/factories/maglev/{section_content_stores.rb => sections_content_stores.rb} (98%) rename spec/models/maglev/{section_content_store_spec.rb => sections_content_store_spec.rb} (52%) rename spec/services/maglev/{fetch_sections_from_store_spec.rb => fetch_sections_content_spec.rb} (77%) create mode 100644 spec/services/maglev/persist_sections_content_spec.rb diff --git a/app/models/maglev/section_content_store.rb b/app/models/maglev/sections_content_store.rb similarity index 93% rename from app/models/maglev/section_content_store.rb rename to app/models/maglev/sections_content_store.rb index 40b518cd..084e5117 100644 --- a/app/models/maglev/section_content_store.rb +++ b/app/models/maglev/sections_content_store.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true module Maglev - class SectionContentStore < ApplicationRecord + class SectionsContentStore < ApplicationRecord ## concerns ## include Maglev::Translatable include Maglev::SectionsConcern diff --git a/app/models/maglev/theme/layout_group.rb b/app/models/maglev/theme/layout_group.rb index 09952934..ff2276ac 100644 --- a/app/models/maglev/theme/layout_group.rb +++ b/app/models/maglev/theme/layout_group.rb @@ -13,6 +13,10 @@ def store? store.present? || store != false end + def guess_store_handle(page) + store? ? store : "#{id}-#{page.id}" + end + ## class methods ## def self.build(hash) diff --git a/app/services/maglev/app_container.rb b/app/services/maglev/app_container.rb index cdc082bd..284cc63a 100644 --- a/app/services/maglev/app_container.rb +++ b/app/services/maglev/app_container.rb @@ -36,17 +36,18 @@ class AppContainer dependency :fetch_page, class: Maglev::FetchPage, depends_on: %i[context fetch_site] dependency :get_page_fullpath, class: Maglev::GetPageFullpath, depends_on: %i[fetch_site get_base_url] - dependency :fetch_sections_from_store, class: Maglev::FetchSectionsFromStore, + dependency :fetch_sections_content, class: Maglev::FetchSectionsContent, depends_on: %i[fetch_site fetch_theme fetch_static_pages fetch_collection_items get_page_fullpath] dependency :get_page_sections, class: Maglev::GetPageSections, depends_on: %i[fetch_theme - fetch_sections_from_store] + fetch_sections_content] dependency :get_page_section_names, class: Maglev::GetPageSectionNames, depends_on: :fetch_theme dependency :clone_page, class: Maglev::ClonePage, depends_on: :fetch_site dependency :persist_page, class: Maglev::PersistPage, depends_on: %i[fetch_theme] + dependency :persist_sections_content, class: Maglev::PersistSectionsContent, depends_on: %i[fetch_theme] def call self diff --git a/app/services/maglev/fetch_sections_from_store.rb b/app/services/maglev/fetch_sections_content.rb similarity index 92% rename from app/services/maglev/fetch_sections_from_store.rb rename to app/services/maglev/fetch_sections_content.rb index e727e94b..ff9ed92d 100644 --- a/app/services/maglev/fetch_sections_from_store.rb +++ b/app/services/maglev/fetch_sections_content.rb @@ -4,7 +4,7 @@ module Maglev # Get the content of a store in a specific locale. # The content comes from the sections of the store. # Also replace the links by their real values based on the context (live editing or not). - class FetchSectionsFromStore + class FetchSectionsContent include Injectable include Maglev::GetPageSections::TransformTextConcern include Maglev::GetPageSections::TransformLinkConcern @@ -20,9 +20,13 @@ class FetchSectionsFromStore argument :locale, default: nil def call - find_store.sections.map do |section| - transform_section(section.dup) - end.compact + store = find_store + [ + store.sections.map do |section| + transform_section(section.dup) + end.compact, + store.lock_version + ] end private @@ -101,7 +105,7 @@ def raise_unknown_section_error(type) end def scoped_store - Maglev::SectionContentStore + Maglev::SectionsContentStore end end end diff --git a/app/services/maglev/get_page_sections.rb b/app/services/maglev/get_page_sections.rb index 7758a48a..765ed370 100644 --- a/app/services/maglev/get_page_sections.rb +++ b/app/services/maglev/get_page_sections.rb @@ -8,16 +8,18 @@ class GetPageSections include Injectable dependency :fetch_theme - dependency :fetch_sections_from_store + dependency :fetch_sections_content argument :page argument :locale, default: nil def call layout.groups.map do |group| + sections, lock_version = fetch_sections(group) { id: group.id, - sections: fetch_sections(group) + sections: sections, + lock_version: lock_version } end end @@ -33,14 +35,10 @@ def layout end def fetch_sections(group) - fetch_sections_from_store.call( - handle: guess_store_handle(group), + fetch_sections_content.call( + handle: group.guess_store_handle(page), locale: locale ) end - - def guess_store_handle(group) - group.store? ? group.store : "#{group.id}-#{page.id}" - end end end diff --git a/app/services/maglev/persist_sections_content.rb b/app/services/maglev/persist_sections_content.rb new file mode 100644 index 00000000..b10a7e4c --- /dev/null +++ b/app/services/maglev/persist_sections_content.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +module Maglev + class PersistSectionsContent + include Injectable + + dependency :fetch_theme + + argument :site + argument :page + argument :sections_content + argument :theme, default: nil + + def call + ActiveRecord::Base.transaction do + unsafe_call + end + true + end + + def unsafe_call + layout.groups.each do |group| + persist_group_content(group) + end + end + + private + + def theme + @theme ||= fetch_theme.call + end + + def layout + theme.find_layout(page.layout_id).tap do |layout| + if layout.nil? + raise Maglev::Errors::MissingLayout, "#{layout_id} doesn't match a layout of the theme" + end + end + end + + def persist_group_content(group) + store = find_store(group.guess_store_handle(page)) + store.attributes = extract_store_attributes(group) + store.save! + end + + def extract_store_attributes(group) + (sections_content.find do |content_group| + content_group['id'] == group.id + end || {}).slice('sections', 'lock_version') + end + + def find_store(handle) + scoped_store.find_or_create_by(handle: handle) + end + + def scoped_store + Maglev::SectionsContentStore + end + end +end \ No newline at end of file diff --git a/db/migrate/20250305221045_create_maglev_section_content_stores.rb b/db/migrate/20250305221045_create_maglev_section_content_stores.rb deleted file mode 100644 index ba2001b6..00000000 --- a/db/migrate/20250305221045_create_maglev_section_content_stores.rb +++ /dev/null @@ -1,10 +0,0 @@ -class CreateMaglevSectionContentStores < ActiveRecord::Migration[8.0] - def change - create_table :maglev_section_content_stores do |t| - t.string :handle, null: false - t.jsonb :sections_translations, default: {} - - t.timestamps - end - end -end diff --git a/db/migrate/20250305221045_create_maglev_sections_content_stores.rb b/db/migrate/20250305221045_create_maglev_sections_content_stores.rb new file mode 100644 index 00000000..92302901 --- /dev/null +++ b/db/migrate/20250305221045_create_maglev_sections_content_stores.rb @@ -0,0 +1,13 @@ +class CreateMaglevSectionsContentStores < ActiveRecord::Migration[8.0] + def change + create_table :maglev_sections_content_stores do |t| + t.string :handle, null: false, index: true + + t.jsonb :sections_translations, default: {} + + t.integer :lock_version + + t.timestamps + end + end +end diff --git a/db/migrate/20250307104536_add_layout_id_to_pages.rb b/db/migrate/20250307104536_add_layout_id_to_pages.rb index ec11e89e..6ba75d65 100644 --- a/db/migrate/20250307104536_add_layout_id_to_pages.rb +++ b/db/migrate/20250307104536_add_layout_id_to_pages.rb @@ -1,5 +1,6 @@ class AddLayoutIdToPages < ActiveRecord::Migration[8.0] def change add_column :maglev_pages, :layout_id, :string, null: true + add_index :maglev_pages, :layout_id, using: :btree, unique: true end end diff --git a/lib/maglev/errors.rb b/lib/maglev/errors.rb index d35446db..6c42f940 100644 --- a/lib/maglev/errors.rb +++ b/lib/maglev/errors.rb @@ -3,6 +3,7 @@ module Maglev module Errors class NotAuthorized < StandardError; end + class MissingLayout < StandardError; end class UnknownSection < StandardError; end class UnknownSetting < StandardError diff --git a/spec/dummy/app/theme/theme.yml b/spec/dummy/app/theme/theme.yml index 5e74ea8e..35301c96 100644 --- a/spec/dummy/app/theme/theme.yml +++ b/spec/dummy/app/theme/theme.yml @@ -23,7 +23,7 @@ layouts: groups: - label: "Header" id: "header" - store: "header" # the sections will be persisted in a SectionContentStore model (handle: header) + store: "header" # the sections will be persisted in a SectionsContentStore model (handle: header) accept: ["navbar"] - label: "Main" id: "main" @@ -34,7 +34,7 @@ layouts: groups: - label: "Header" id: "header" - store: "header" # the sections will be persisted in a SectionContentStore model (handle: header) + store: "header" # the sections will be persisted in a SectionsContentStore model (handle: header) accept: ["navbar"] - label: "Main" id: "main" diff --git a/spec/dummy/db/schema.rb b/spec/dummy/db/schema.rb index cd9dbe62..a912a003 100644 --- a/spec/dummy/db/schema.rb +++ b/spec/dummy/db/schema.rb @@ -82,20 +82,23 @@ t.jsonb "og_description_translations", default: {} t.jsonb "og_image_url_translations", default: {} t.string "layout_id" + t.index ["layout_id"], name: "index_maglev_pages_on_layout_id", unique: true end - create_table "maglev_section_content_stores", force: :cascade do |t| - t.string "handle", null: false + create_table "maglev_section_repositories", force: :cascade do |t| + t.string "name" t.jsonb "sections_translations", default: {} t.datetime "created_at", null: false t.datetime "updated_at", null: false end - create_table "maglev_section_repositories", force: :cascade do |t| - t.string "name" + create_table "maglev_sections_content_stores", force: :cascade do |t| + t.string "handle", null: false t.jsonb "sections_translations", default: {} + t.integer "lock_version" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.index ["handle"], name: "index_maglev_sections_content_stores_on_handle" end create_table "maglev_sites", force: :cascade do |t| diff --git a/spec/factories/maglev/section_content_stores.rb b/spec/factories/maglev/sections_content_stores.rb similarity index 98% rename from spec/factories/maglev/section_content_stores.rb rename to spec/factories/maglev/sections_content_stores.rb index 98f10cca..911c6a4a 100644 --- a/spec/factories/maglev/section_content_stores.rb +++ b/spec/factories/maglev/sections_content_stores.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true FactoryBot.define do - factory :section_content_store, class: 'Maglev::SectionContentStore' do + factory :sections_content_store, class: 'Maglev::SectionsContentStore' do transient do page { nil } end diff --git a/spec/models/maglev/section_content_store_spec.rb b/spec/models/maglev/sections_content_store_spec.rb similarity index 52% rename from spec/models/maglev/section_content_store_spec.rb rename to spec/models/maglev/sections_content_store_spec.rb index b7cfd820..c6b95b1e 100644 --- a/spec/models/maglev/section_content_store_spec.rb +++ b/spec/models/maglev/sections_content_store_spec.rb @@ -2,23 +2,23 @@ require 'rails_helper' -RSpec.describe Maglev::SectionContentStore, type: :model do +RSpec.describe Maglev::SectionsContentStore, type: :model do it 'has a valid factory' do - expect(build(:section_content_store)).to be_valid + expect(build(:sections_content_store)).to be_valid end describe 'validation' do subject { store.valid? } context 'no handle' do - let(:store) { build(:section_content_store, handle: nil) } + let(:store) { build(:sections_content_store, handle: nil) } it { is_expected.to eq false } end context 'the handle has already been taken' do - let!(:first_store) { create(:section_content_store) } - let(:store) { build(:section_content_store) } + let!(:first_store) { create(:sections_content_store) } + let(:store) { build(:sections_content_store) } it { is_expected.to eq false } end diff --git a/spec/services/maglev/fetch_sections_from_store_spec.rb b/spec/services/maglev/fetch_sections_content_spec.rb similarity index 77% rename from spec/services/maglev/fetch_sections_from_store_spec.rb rename to spec/services/maglev/fetch_sections_content_spec.rb index e11d24c4..49741358 100644 --- a/spec/services/maglev/fetch_sections_from_store_spec.rb +++ b/spec/services/maglev/fetch_sections_content_spec.rb @@ -2,7 +2,7 @@ require 'rails_helper' -describe Maglev::FetchSectionsFromStore do +describe Maglev::FetchSectionsContent do subject { service.call(handle: handle, locale: :en) } let(:site) { build(:site) } @@ -21,7 +21,7 @@ context 'the store doesn\'t exist yet' do let(:handle) { 'unknown' } - it { is_expected.to eq([]) } + it { is_expected.to eq([[], 0]) } end # rubocop:disable Style/StringHashKeys @@ -29,10 +29,10 @@ let(:page) { create(:page) } let(:handle) { "main-#{page.id}" } - let!(:store) { create(:section_content_store, page: page) } + let!(:store) { create(:sections_content_store, page: page) } it 'returns the sections' do - expect(subject).to eq([ + expect(subject).to eq([[ { 'id' => 'def', 'type' => 'jumbotron', @@ -57,13 +57,13 @@ } ] } - ]) + ], 0]) end context 'the section have unused settings' do - let!(:store) { create(:section_content_store, :with_unused_settings, page: page) } + let!(:store) { create(:sections_content_store, :with_unused_settings, page: page) } it 'skips the unused settings' do - expect(subject).to eq([ + expect(subject).to eq([[ { 'id' => 'ghi', 'type' => 'showcase', @@ -80,51 +80,51 @@ } ] } - ]) + ], 0]) end end context 'the sections include a link in text type setting' do - let!(:store) { create(:section_content_store, :page_link_in_text, page: page) } + let!(:store) { create(:sections_content_store, :page_link_in_text, page: page) } it 'sets the href properties' do expect(get_page_fullpath).to receive(:call).with(page: '42', locale: :en).once.and_return('/preview/awesome-path') - expect(subject[0]['settings'][1]['value']).to include('
Date: Tue, 11 Mar 2025 00:13:06 +0100 Subject: [PATCH 11/70] chore: rubocop --- app/services/maglev/fetch_sections_content.rb | 2 +- .../maglev/persist_sections_content.rb | 8 +++---- .../services/maglev/get_page_sections_spec.rb | 10 ++++++-- .../maglev/persist_sections_content_spec.rb | 24 +++++++++---------- 4 files changed, 24 insertions(+), 20 deletions(-) diff --git a/app/services/maglev/fetch_sections_content.rb b/app/services/maglev/fetch_sections_content.rb index ff9ed92d..15720af8 100644 --- a/app/services/maglev/fetch_sections_content.rb +++ b/app/services/maglev/fetch_sections_content.rb @@ -24,7 +24,7 @@ def call [ store.sections.map do |section| transform_section(section.dup) - end.compact, + end.compact, store.lock_version ] end diff --git a/app/services/maglev/persist_sections_content.rb b/app/services/maglev/persist_sections_content.rb index b10a7e4c..e21092b9 100644 --- a/app/services/maglev/persist_sections_content.rb +++ b/app/services/maglev/persist_sections_content.rb @@ -24,7 +24,7 @@ def unsafe_call end end - private + private def theme @theme ||= fetch_theme.call @@ -32,9 +32,7 @@ def theme def layout theme.find_layout(page.layout_id).tap do |layout| - if layout.nil? - raise Maglev::Errors::MissingLayout, "#{layout_id} doesn't match a layout of the theme" - end + raise Maglev::Errors::MissingLayout, "#{layout_id} doesn't match a layout of the theme" if layout.nil? end end @@ -58,4 +56,4 @@ def scoped_store Maglev::SectionsContentStore end end -end \ No newline at end of file +end diff --git a/spec/services/maglev/get_page_sections_spec.rb b/spec/services/maglev/get_page_sections_spec.rb index 9960030a..86b1ce9a 100644 --- a/spec/services/maglev/get_page_sections_spec.rb +++ b/spec/services/maglev/get_page_sections_spec.rb @@ -33,9 +33,15 @@ let(:footer_sections) { build(:sections_content_store, :footer).sections } before do - allow(fetch_sections_content).to receive(:call).with(handle: 'header', locale: :en).and_return([header_sections, 0]) + allow(fetch_sections_content).to receive(:call).with(handle: 'header', + locale: :en).and_return([ + header_sections, 0 + ]) allow(fetch_sections_content).to receive(:call).with(handle: 'main-1', locale: :en).and_return([main_sections, 0]) - allow(fetch_sections_content).to receive(:call).with(handle: 'footer', locale: :en).and_return([footer_sections, 0]) + allow(fetch_sections_content).to receive(:call).with(handle: 'footer', + locale: :en).and_return([ + footer_sections, 0 + ]) end it 'returns the sections of the main region' do diff --git a/spec/services/maglev/persist_sections_content_spec.rb b/spec/services/maglev/persist_sections_content_spec.rb index 641ada91..23c24300 100644 --- a/spec/services/maglev/persist_sections_content_spec.rb +++ b/spec/services/maglev/persist_sections_content_spec.rb @@ -9,8 +9,8 @@ let!(:page) { create(:page) } let(:fetch_theme) { double('FetchTheme', call: build(:theme, :basic_layouts)) } let(:service) { described_class.new(fetch_theme: fetch_theme) } - - let(:sections_content) { + + let(:sections_content) do JSON.parse([ { id: 'header', @@ -25,28 +25,28 @@ sections: [] } ].to_json) - } + end it 'persist the content in DB' do subject - expect(section_types('header')).to eq(%w(navbar)) - expect(section_types("main-#{page.id}")).to eq(%w(jumbotron showcase)) + expect(section_types('header')).to eq(%w[navbar]) + expect(section_types("main-#{page.id}")).to eq(%w[jumbotron showcase]) expect(section_types('footer')).to eq([]) end context 'Given a store has been modified while persisting the content' do let!(:header_store) { create(:sections_content_store, :header) } - let(:sections_content) { + let(:sections_content) do JSON.parse([ { id: 'header', sections: attributes_for(:sections_content_store, :header)[:sections], lock_version: 1 - }, + } ].to_json) - } - + end + it 'raises an exception about the stale content' do expect { subject }.to raise_exception(ActiveRecord::StaleObjectError) end @@ -54,8 +54,8 @@ def section_types(store_handle) Maglev::SectionsContentStore - .find_by(handle: store_handle) - .sections - .map { |section| section['type'] } + .find_by(handle: store_handle) + .sections + .map { |section| section['type'] } end end From 1d4ab51888252118b3b93031b2c787aecf2fb6ed Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Fri, 14 Mar 2025 19:16:04 +0100 Subject: [PATCH 12/70] feat: first working version of the EditorUI using the layouts (WIP) --- .../concerns/maglev/fetchers_concern.rb | 4 +- .../maglev/api/pages_controller.rb | 1 + .../maglev/api/sections_content_controller.rb | 38 +++++ app/controllers/maglev/editor_controller.rb | 2 +- .../maglev/page_preview_controller.rb | 2 +- .../components/header-nav/save-button.vue | 2 +- .../section-highlighter/bottom-actions.vue | 8 +- .../components/sections-content/index.vue | 24 +++ .../list-item.vue | 0 .../index.vue => sections-content/list.vue} | 29 +++- .../editor/components/sidebar-nav.vue | 13 -- .../components/theme-section-list/index.vue | 4 +- .../theme-section-list/list-item.vue | 2 + app/frontend/editor/layouts/slide-pane.vue | 5 +- app/frontend/editor/mixins/global.js | 12 +- app/frontend/editor/router/routes/section.js | 4 +- app/frontend/editor/services/index.js | 2 + app/frontend/editor/services/live-preview.js | 31 ++-- app/frontend/editor/services/page.js | 5 +- .../editor/services/sections-content.js | 31 ++++ app/frontend/editor/store/actions/index.js | 2 + app/frontend/editor/store/actions/page.js | 12 +- .../editor/store/actions/section-block.js | 13 +- app/frontend/editor/store/actions/section.js | 40 +++-- .../editor/store/actions/sections-content.js | 35 +++++ app/frontend/editor/store/default-state.js | 2 + app/frontend/editor/store/getters.js | 141 ++++++++++++++---- app/frontend/editor/store/index.js | 1 + app/frontend/editor/store/mutations.js | 60 ++++++-- app/frontend/editor/views/page-preview.vue | 2 +- .../editor/views/sections/add-pane.vue | 25 +++- .../editor/views/sections/list-pane.vue | 6 +- app/frontend/live-preview-client/rails.js | 44 +++--- app/helpers/maglev/page_preview_helper.rb | 19 +++ .../transform_collection_item_concern.rb | 2 +- .../transform_link_concern.rb | 2 +- .../transform_section_concern.rb | 77 ++++++++++ .../transform_text_concern.rb | 4 +- app/services/maglev/fetch_sections_content.rb | 69 +-------- app/services/maglev/get_page_sections.rb | 25 +++- .../maglev/persist_sections_content.rb | 8 +- .../maglev/api/pages/_show.json.jbuilder | 11 +- .../api/sections_content/_show.json.jbuilder | 10 ++ .../api/sections_content/show.json.jbuilder | 3 + .../api/sections_content/update.json.jbuilder | 6 + app/views/maglev/editor/show.html.erb | 6 +- config/routes.rb | 1 + .../20250307104536_add_layout_id_to_pages.rb | 2 +- lib/maglev/errors.rb | 1 + spec/dummy/app/theme/theme.yml | 26 +++- .../app/views/theme/layouts/default.html.erb | 16 +- .../app/views/theme/layouts/sidebar.html.erb | 20 ++- spec/dummy/db/schema.rb | 2 +- .../maglev/api/sections_content_spec.rb | 93 ++++++++++++ .../maglev/persist_sections_content_spec.rb | 17 ++- 55 files changed, 786 insertions(+), 236 deletions(-) create mode 100644 app/controllers/maglev/api/sections_content_controller.rb create mode 100644 app/frontend/editor/components/sections-content/index.vue rename app/frontend/editor/components/{section-list => sections-content}/list-item.vue (100%) rename app/frontend/editor/components/{section-list/index.vue => sections-content/list.vue} (60%) create mode 100644 app/frontend/editor/services/sections-content.js create mode 100644 app/frontend/editor/store/actions/sections-content.js rename app/services/concerns/maglev/{get_page_sections => fetch_sections_content}/transform_collection_item_concern.rb (91%) rename app/services/concerns/maglev/{get_page_sections => fetch_sections_content}/transform_link_concern.rb (94%) create mode 100644 app/services/concerns/maglev/fetch_sections_content/transform_section_concern.rb rename app/services/concerns/maglev/{get_page_sections => fetch_sections_content}/transform_text_concern.rb (90%) create mode 100644 app/views/maglev/api/sections_content/_show.json.jbuilder create mode 100644 app/views/maglev/api/sections_content/show.json.jbuilder create mode 100644 app/views/maglev/api/sections_content/update.json.jbuilder create mode 100644 spec/requests/maglev/api/sections_content_spec.rb diff --git a/app/controllers/concerns/maglev/fetchers_concern.rb b/app/controllers/concerns/maglev/fetchers_concern.rb index 5a866be5..c380663e 100644 --- a/app/controllers/concerns/maglev/fetchers_concern.rb +++ b/app/controllers/concerns/maglev/fetchers_concern.rb @@ -35,10 +35,10 @@ def fetch_maglev_page ) end - def fetch_maglev_page_sections(page_sections = nil) + def fetch_maglev_page_sections(sections_content = nil) @fetch_maglev_page_sections ||= maglev_services.get_page_sections.call( page: fetch_maglev_page, - page_sections: page_sections, + sections_content: sections_content, locale: content_locale ) end diff --git a/app/controllers/maglev/api/pages_controller.rb b/app/controllers/maglev/api/pages_controller.rb index 069f650e..7a46cb07 100644 --- a/app/controllers/maglev/api/pages_controller.rb +++ b/app/controllers/maglev/api/pages_controller.rb @@ -49,6 +49,7 @@ def site_params end def persist!(page) + # TODO: don't use the PersistPage anymore, just use the AR methods services.persist_page.call( page: page, page_attributes: page_params, diff --git a/app/controllers/maglev/api/sections_content_controller.rb b/app/controllers/maglev/api/sections_content_controller.rb new file mode 100644 index 00000000..6b0363c4 --- /dev/null +++ b/app/controllers/maglev/api/sections_content_controller.rb @@ -0,0 +1,38 @@ +# frozen_string_literal: true + +module Maglev + module Api + class SectionsContentController < ::Maglev::ApiController + before_action :set_page + + def show + @sections_content = maglev_services.get_page_sections.call( + page: @page, + locale: content_locale + ) + end + + def update + @stores = services.persist_sections_content.call( + site: maglev_site, + page: @page, + sections_content: sections_content_params + ) + end + + private + + def set_page + @page = resources.find(params[:page_id]) + end + + def sections_content_params + params.to_unsafe_hash[:sections_content] + end + + def resources + ::Maglev::Page + end + end + end +end \ No newline at end of file diff --git a/app/controllers/maglev/editor_controller.rb b/app/controllers/maglev/editor_controller.rb index 7ac37259..d7506f32 100644 --- a/app/controllers/maglev/editor_controller.rb +++ b/app/controllers/maglev/editor_controller.rb @@ -13,7 +13,7 @@ class EditorController < ApplicationController before_action :set_content_locale, only: :show helper_method :maglev_home_page_id - + def show fetch_maglev_page_content render layout: nil diff --git a/app/controllers/maglev/page_preview_controller.rb b/app/controllers/maglev/page_preview_controller.rb index 52ed7bec..b53c5a21 100644 --- a/app/controllers/maglev/page_preview_controller.rb +++ b/app/controllers/maglev/page_preview_controller.rb @@ -32,7 +32,7 @@ def fetch_maglev_site def fetch_maglev_page_sections return super if action_name == 'index' - super(JSON.parse(params[:page_sections])) + super(JSON.parse(params[:sections_content])) end def maglev_rendering_mode diff --git a/app/frontend/editor/components/header-nav/save-button.vue b/app/frontend/editor/components/header-nav/save-button.vue index 675996ae..3f9e3699 100644 --- a/app/frontend/editor/components/header-nav/save-button.vue +++ b/app/frontend/editor/components/header-nav/save-button.vue @@ -26,7 +26,7 @@ export default { }, methods: { async save() { - await this.$store.dispatch('persistPage') + await this.$store.dispatch('persistSectionsContent') }, }, } diff --git a/app/frontend/editor/components/section-highlighter/bottom-actions.vue b/app/frontend/editor/components/section-highlighter/bottom-actions.vue index 2293a7a3..5cb33a75 100644 --- a/app/frontend/editor/components/section-highlighter/bottom-actions.vue +++ b/app/frontend/editor/components/section-highlighter/bottom-actions.vue @@ -6,7 +6,7 @@ diff --git a/app/frontend/editor/components/sections-content/index.vue b/app/frontend/editor/components/sections-content/index.vue new file mode 100644 index 00000000..fd3c3757 --- /dev/null +++ b/app/frontend/editor/components/sections-content/index.vue @@ -0,0 +1,24 @@ + + + \ No newline at end of file diff --git a/app/frontend/editor/components/section-list/list-item.vue b/app/frontend/editor/components/sections-content/list-item.vue similarity index 100% rename from app/frontend/editor/components/section-list/list-item.vue rename to app/frontend/editor/components/sections-content/list-item.vue diff --git a/app/frontend/editor/components/section-list/index.vue b/app/frontend/editor/components/sections-content/list.vue similarity index 60% rename from app/frontend/editor/components/section-list/index.vue rename to app/frontend/editor/components/sections-content/list.vue index 5d37e601..92f55f9e 100644 --- a/app/frontend/editor/components/section-list/index.vue +++ b/app/frontend/editor/components/sections-content/list.vue @@ -1,6 +1,9 @@ diff --git a/app/frontend/editor/mixins/global.js b/app/frontend/editor/mixins/global.js index 3f4347f4..8e7aec5a 100644 --- a/app/frontend/editor/mixins/global.js +++ b/app/frontend/editor/mixins/global.js @@ -43,12 +43,19 @@ Vue.mixin({ currentSectionI18nScope() { return `${this.currentI18nScope}.sections.${this.currentSection.type}` }, + currentSectionsContent() { + return this.$store.getters.sectionsContent + }, currentSectionList() { - return this.$store.getters.sectionList + console.log('🚨🚨🚨 currentSectionList is deprecated') + return []; //this.$store.getters.sectionList }, currentSectionContent() { return this.$store.getters.sectionContent }, + currentSectionLayoutGroupIdMap() { + return this.$store.getters.sectionLayoutGroupIdMap + }, currentSectionDefinition() { return this.$store.state.sectionDefinition }, @@ -88,6 +95,9 @@ Vue.mixin({ hasMultipleLocales() { return this.$store.state.site.locales.length > 1 }, + hasSections() { + return Object.keys(this.$store.state.sections).length > 0 + }, currentContent() { return this.$store.getters.content }, diff --git a/app/frontend/editor/router/routes/section.js b/app/frontend/editor/router/routes/section.js index 5c902c0e..a939c51d 100644 --- a/app/frontend/editor/router/routes/section.js +++ b/app/frontend/editor/router/routes/section.js @@ -5,7 +5,7 @@ import SectionListPane from '@/views/sections/list-pane.vue' export default [ { - path: 'add-section', + path: 'add-section/:layoutGroupId', name: 'addSection', components: { default: PagePreview, @@ -17,7 +17,7 @@ export default [ }, }, { - path: 'add-section/:sectionId', + path: 'add-section/:layoutGroupId/:sectionId', name: 'addSectionAfter', components: { default: PagePreview, diff --git a/app/frontend/editor/services/index.js b/app/frontend/editor/services/index.js index 4cbd3864..58ef9568 100644 --- a/app/frontend/editor/services/index.js +++ b/app/frontend/editor/services/index.js @@ -2,6 +2,7 @@ import * as api from './api' import buildSiteService from './site' import * as theme from './theme' import buildPageService from './page' +import buildSectionsContentService from './sections-content' import buildCollectionItemService from './collection-item' import buildImageService from './image' import * as section from './section' @@ -13,6 +14,7 @@ export default { site: buildSiteService(api), theme, page: buildPageService(api), + sectionsContent: buildSectionsContentService(api), section, block, image: buildImageService(api), diff --git a/app/frontend/editor/services/live-preview.js b/app/frontend/editor/services/live-preview.js index 7ec61deb..88ff6479 100644 --- a/app/frontend/editor/services/live-preview.js +++ b/app/frontend/editor/services/live-preview.js @@ -4,12 +4,13 @@ import store from '@/store' let iframe = null // === Section related actions === -export const addSection = (content, section, insertAt) => { - postMessage('section:add', { content, section, insertAt }) +export const addSection = (layoutGroupId, content, section, insertAt) => { + postMessage('section:add', { layoutGroupId, content, section, insertAt }) } -export const moveSection = (content, sectionId, targetSectionId, direction) => { +export const moveSection = (layoutGroupId, content, sectionId, targetSectionId, direction) => { postMessage('section:move', { + layoutGroupId, content, sectionId, targetSectionId, @@ -18,29 +19,29 @@ export const moveSection = (content, sectionId, targetSectionId, direction) => { } // the editor modifies the content of a section setting -export const updateSection = (content, section, change) => { - postMessage('section:update', { content, section, change }) +export const updateSection = (layoutGroupId, content, section, change) => { + postMessage('section:update', { layoutGroupId, content, section, change }) } -export const removeSection = (sectionId) => { - postMessage('section:remove', { sectionId }) +export const removeSection = (layoutGroupId, sectionId) => { + postMessage('section:remove', { layoutGroupId, sectionId }) } // === Block related actions === -export const addBlock = (content, section, sectionBlock) => { - postMessage('block:add', { content, section, sectionBlock }) +export const addBlock = (layoutGroupId, content, section, sectionBlock) => { + postMessage('block:add', { layoutGroupId, content, section, sectionBlock }) } -export const moveBlock = (content, section) => { - postMessage('block:move', { content, section }) +export const moveBlock = (layoutGroupId, content, section) => { + postMessage('block:move', { layoutGroupId, content, section }) } -export const updateBlock = (content, section, sectionBlock, change) => { - postMessage('block:update', { content, section, sectionBlock, change }) +export const updateBlock = (layoutGroupId, content, section, sectionBlock, change) => { + postMessage('block:update', { layoutGroupId, content, section, sectionBlock, change }) } -export const removeBlock = (content, section, sectionBlockId) => { - postMessage('block:remove', { content, section, sectionBlockId }) +export const removeBlock = (layoutGroupId, content, section, sectionBlockId) => { + postMessage('block:remove', { layoutGroupId, content, section, sectionBlockId }) } // === Other actions === diff --git a/app/frontend/editor/services/page.js b/app/frontend/editor/services/page.js index 0f6eb274..8b6f3f26 100644 --- a/app/frontend/editor/services/page.js +++ b/app/frontend/editor/services/page.js @@ -9,9 +9,12 @@ export const BLOCK_SCHEMA = new schema.Entity('blocks') export const SECTION_SCHEMA = new schema.Entity('sections', { blocks: [BLOCK_SCHEMA], }) -export const PAGE_SCHEMA = new schema.Entity('page', { +export const LAYOUT_GROUP_SCHEMA = new schema.Entity('layoutGroups', { sections: [SECTION_SCHEMA], }) +export const PAGE_SCHEMA = new schema.Entity('page', { + sections: [LAYOUT_GROUP_SCHEMA], +}) export const SETTING_ATTRIBUTES = [ 'title', diff --git a/app/frontend/editor/services/sections-content.js b/app/frontend/editor/services/sections-content.js new file mode 100644 index 00000000..f83f41ef --- /dev/null +++ b/app/frontend/editor/services/sections-content.js @@ -0,0 +1,31 @@ +import { + normalize as coreNormalize, + denormalize as coreDenormalize, + schema, +} from 'normalizr' +import { pick } from '@/misc/utils' + +export const BLOCK_SCHEMA = new schema.Entity('blocks') +export const SECTION_SCHEMA = new schema.Entity('sections', { + blocks: [BLOCK_SCHEMA], +}) +export const LAYOUT_GROUP_SCHEMA = new schema.Entity('layoutGroups', { + sections: [SECTION_SCHEMA], +}) +export const SECTIONS_CONTENT_SCHEMA = new schema.Array(LAYOUT_GROUP_SCHEMA) + +export default (api) => ({ + normalize: (content) => { + return coreNormalize(content, SECTIONS_CONTENT_SCHEMA) + }, + denormalize: (content, entities) => { + return coreDenormalize(content, SECTIONS_CONTENT_SCHEMA, entities) + }, + find: (pageId) => { + return api.get(`/pages/${pageId}/sections_content`).then(({ data }) => data) + }, + update: (pageId, content) => { + console.log('[SectionsContentService] Updating content of page #', pageId) + return api.put(`/pages/${pageId}/sections_content`, { sections_content: content }).then(({ data }) => data) + }, +}) diff --git a/app/frontend/editor/store/actions/index.js b/app/frontend/editor/store/actions/index.js index 7d8b867b..94696b2d 100644 --- a/app/frontend/editor/store/actions/index.js +++ b/app/frontend/editor/store/actions/index.js @@ -2,6 +2,7 @@ import buildSiteActions from './site' import buildPageActions from './page' import buildSectionActions from './section' import buildSectionBlockActions from './section-block' +import buildSectionsContentActions from './sections-content' export default (services) => ({ setDevice({ commit }, value) { @@ -31,4 +32,5 @@ export default (services) => ({ ...buildPageActions(services), ...buildSectionActions(services), ...buildSectionBlockActions(services), + ...buildSectionsContentActions(services), }) diff --git a/app/frontend/editor/store/actions/page.js b/app/frontend/editor/store/actions/page.js index e683e68d..afcf0f38 100644 --- a/app/frontend/editor/store/actions/page.js +++ b/app/frontend/editor/store/actions/page.js @@ -3,7 +3,7 @@ import { isBlank } from '@/misc/utils' export default (services) => ({ // editPage : Action triggered when the user wants to edit another page // or to change the locale of the current page. - editPage({ state, dispatch }, { id, locale }) { + async editPage({ state, dispatch }, { id, locale }) { console.log('editPage', id, locale) // display the loader @@ -11,8 +11,10 @@ export default (services) => ({ if (state.locale !== locale) { dispatch('setLocale', locale) - Promise.all([dispatch('fetchPage', id), dispatch('fetchSite')]) - } else dispatch('fetchPage', id) + await Promise.all([dispatch('fetchPage', id), dispatch('fetchSite')]) + } else await dispatch('fetchPage', id) + + dispatch('fetchSectionsContent', state.page.id) }, // Set page @@ -24,7 +26,7 @@ export default (services) => ({ return services.page .findById(site, id) .then((page) => commit('SET_PAGE', page)) - }, + }, // Persist the content of a page (including or not the site content) async persistPage({ commit, @@ -32,6 +34,8 @@ export default (services) => ({ state: { page, site, style }, getters: { content, defaultPageAttributes }, }) { + console.log('🚨🚨🚨 services.page.persistPage is DEPRECATED') + commit('SET_SAVE_BUTTON_STATE', 'inProgress') const pageAttributes = { diff --git a/app/frontend/editor/store/actions/section-block.js b/app/frontend/editor/store/actions/section-block.js index ec20f217..a07b4760 100644 --- a/app/frontend/editor/store/actions/section-block.js +++ b/app/frontend/editor/store/actions/section-block.js @@ -21,7 +21,9 @@ export default (services) => ({ if (parentId) sectionBlock.parentId = parentId commit('ADD_SECTION_BLOCK', sectionBlock) commit('TOUCH_SECTION', section.id) + services.livePreview.addBlock( + getters.sectionLayoutGroupIdMap[section.id], getters.content, getters.denormalizedSection, sectionBlock, @@ -30,7 +32,9 @@ export default (services) => ({ removeSectionBlock({ commit, getters, state: { section } }, id) { commit('REMOVE_SECTION_BLOCK', id) commit('TOUCH_SECTION', section.id) + services.livePreview.removeBlock( + getters.sectionLayoutGroupIdMap[section.id], getters.content, getters.denormalizedSection, id, @@ -39,7 +43,12 @@ export default (services) => ({ sortSectionBlocks({ commit, getters, state: { section } }, change) { commit('SORT_SECTION_BLOCKS', change) commit('TOUCH_SECTION', section.id) - services.livePreview.moveBlock(getters.content, getters.denormalizedSection) + + services.livePreview.moveBlock( + getters.sectionLayoutGroupIdMap[section.id], + getters.content, + getters.denormalizedSection + ) }, updateSectionBlockContent( { commit, getters, state: { section, sectionBlock } }, @@ -47,7 +56,9 @@ export default (services) => ({ ) { commit('UPDATE_SECTION_BLOCK_CONTENT', change) commit('TOUCH_SECTION', section.id) + services.livePreview.updateBlock( + getters.sectionLayoutGroupIdMap[section.id], getters.content, getters.denormalizedSection, sectionBlock, diff --git a/app/frontend/editor/store/actions/section.js b/app/frontend/editor/store/actions/section.js index 93aa61e9..a6ea4fe3 100644 --- a/app/frontend/editor/store/actions/section.js +++ b/app/frontend/editor/store/actions/section.js @@ -14,23 +14,29 @@ export default (services) => ({ }, addSection( { commit, getters, state: { site } }, - { sectionDefinition, insertAt }, + { layoutGroupId, sectionDefinition, insertAt }, ) { if (sectionDefinition.insertAt) insertAt = sectionDefinition.insertAt const section = services.section.build(sectionDefinition, site) - commit('ADD_SECTION', { section, insertAt }) + + commit('ADD_SECTION', { layoutGroupId, section, insertAt }) commit('TOUCH_SECTION', section.id) - services.livePreview.addSection(getters.content, section, insertAt) + + services.livePreview.addSection(layoutGroupId, getters.content, section, insertAt) + return section }, - removeSection({ commit }, sectionId) { - commit('REMOVE_SECTION', sectionId) - services.livePreview.removeSection(sectionId) + removeSection({ commit, getters }, sectionId) { + const layoutGroupId = getters.sectionLayoutGroupIdMap[sectionId] + commit('REMOVE_SECTION', { layoutGroupId, sectionId }) + services.livePreview.removeSection(layoutGroupId, sectionId) }, updateSectionContent({ commit, getters, state: { section } }, change) { commit('UPDATE_SECTION_CONTENT', change) commit('TOUCH_SECTION', section.id) + services.livePreview.updateSection( + getters.sectionLayoutGroupIdMap[section.id], getters.content, getters.denormalizedSection, change, @@ -40,15 +46,18 @@ export default (services) => ({ { commit, getters, - state: { - page: { sections }, - }, + state: { layoutGroups }, }, - { from, to }, + { layoutGroupId, from, to }, ) { if (isBlank(from) || isBlank(to)) return - commit('MOVE_HOVERED_SECTION', { fromIndex: from, toIndex: to }) + + const sections = layoutGroups[layoutGroupId].sections + + commit('MOVE_HOVERED_SECTION', { layoutGroupId, fromIndex: from, toIndex: to }) + services.livePreview.moveSection( + layoutGroupId, getters.content, sections[from], sections[to], @@ -60,16 +69,19 @@ export default (services) => ({ dispatch, state: { hoveredSection: { sectionId }, - page: { sections }, + layoutGroups, }, + getters }, direction, ) { + const layoutGroupId = getters.sectionLayoutGroupIdMap[sectionId] + const sections = layoutGroups[layoutGroupId].sections const indices = services.section.calculateMovingIndices( sections, sectionId, direction, - ) - dispatch('moveSection', { from: indices.fromIndex, to: indices.toIndex }) + ) + dispatch('moveSection', { layoutGroupId, from: indices.fromIndex, to: indices.toIndex }) }, }) diff --git a/app/frontend/editor/store/actions/sections-content.js b/app/frontend/editor/store/actions/sections-content.js new file mode 100644 index 00000000..953b7c69 --- /dev/null +++ b/app/frontend/editor/store/actions/sections-content.js @@ -0,0 +1,35 @@ +import { isBlank } from '@/misc/utils' + +export default (services) => ({ + fetchSectionsContent({ commit }, pageId) { + services.sectionsContent.find(pageId) + .then((content) => commit('SET_SECTIONS_CONTENT', content)) + }, + setSectionsContent({ commit }, content) { + commit('SET_SECTIONS_CONTENT', content) + }, + // Persist the "content" of a page + async persistSectionsContent({ + commit, + dispatch, + state, + getters: { content, defaultPageAttributes }, + }) { + commit('SET_SAVE_BUTTON_STATE', 'inProgress') + + return services.sectionsContent + .update(state.page.id, content) + .then(({ lockVersions }) => { + commit('SET_SAVE_BUTTON_STATE', 'success') + commit('RESET_TOUCHED_SECTIONS') + + commit('SET_SECTIONS_CONTENT_LOCK_VERSIONS', lockVersions) + }) + .catch(({ response: { status } }) => { + commit('SET_SAVE_BUTTON_STATE', 'fail') + console.log('[Maglev] could not save the content', status) + if (status === 409) commit('OPEN_ERROR_MODAL', 'staleRecord') + }) + }, + +}) diff --git a/app/frontend/editor/store/default-state.js b/app/frontend/editor/store/default-state.js index bc1590fd..d1635688 100644 --- a/app/frontend/editor/store/default-state.js +++ b/app/frontend/editor/store/default-state.js @@ -11,6 +11,8 @@ export default { hoveredSection: null, sectionBlock: null, sectionBlockDefinition: null, + sectionsContent: [], // array of layoutGroups + layoutGroups: {}, // each layoutGroup has a list of sections sections: {}, sectionBlocks: {}, editorSettings: {}, diff --git a/app/frontend/editor/store/getters.js b/app/frontend/editor/store/getters.js index c6ccd81d..2e5eb5e6 100644 --- a/app/frontend/editor/store/getters.js +++ b/app/frontend/editor/store/getters.js @@ -1,60 +1,135 @@ export default (services) => ({ - sectionList: ( - { page, sections, sectionBlocks }, - { sectionDefinition: getSectiondefinition }, + // we need it to build the "Organize sections" pane + sectionsContent: ( + { sectionsContent, layoutGroups, sections, sectionBlocks }, + { sectionDefinition: getSectiondefinition, layoutGroupDefinition: getLayoutGroupDefinition }, ) => { - const pageContent = services.page.denormalize(page, { + const content = services.sectionsContent.denormalize(sectionsContent, { + layoutGroups, sections, - blocks: sectionBlocks, + blocks: sectionBlocks }) - if (!pageContent?.sections) return [] - return pageContent.sections.map((sectionContent) => { - const sectionDefinition = getSectiondefinition(sectionContent) + + return content.map(layoutGroup => { + const layoutDefinition = getLayoutGroupDefinition(layoutGroup.id) return { - id: sectionContent.id, - type: sectionContent['type'], - name: sectionDefinition.name, - viewportFixedPosition: !!sectionDefinition.viewportFixedPosition, + label: layoutDefinition.label, + ...layoutGroup, + sections: layoutGroup.sections.map(sectionContent => { + const sectionDefinition = getSectiondefinition(sectionContent) + return { + id: sectionContent.id, + type: sectionContent['type'], + name: sectionDefinition.name, + viewportFixedPosition: !!sectionDefinition.viewportFixedPosition, + } + }) } }) }, - stickySectionList: (_, { sectionList }) => { - return sectionList.filter((section) => section.viewportFixedPosition) + + sectionList: ( + { page, sections, sectionBlocks }, + { sectionDefinition: getSectiondefinition }, + ) => { + throw 'DEPRECATED' + + console.log('🚨🚨🚨 getters.sectionList is deprecated') + return [] + + // // TODO: ??? + // console.log('HERE!!!') + + // const + + + // const pageContent = services.page.denormalize(page, { + // sections, + // blocks: sectionBlocks, + // }) + // if (!pageContent?.sections) return [] + // return pageContent.sections.map((sectionContent) => { + // const sectionDefinition = getSectiondefinition(sectionContent) + // return { + // id: sectionContent.id, + // type: sectionContent['type'], + // name: sectionDefinition.name, + // viewportFixedPosition: !!sectionDefinition.viewportFixedPosition, + // } + // }) + }, + stickySectionList: ({ sections }, { sectionDefinition: getSectiondefinition }) => { + return Object.values(sections).filter((sectionContent) => { + const sectionDefinition = getSectiondefinition(sectionContent) + return !!sectionDefinition.viewportFixedPosition + }) }, defaultPageAttributes: ({ page }) => { if (page.translated) return {} return { title: page.title, path: page.path } }, content: ( - { page, sections, sectionBlocks, touchedSections }, - { sectionDefinition: getSectiondefinition }, + { sectionsContent, layoutGroups, sections, sectionBlocks, touchedSections } ) => { - const pageContent = services.page.denormalize(page, { + const content = services.sectionsContent.denormalize(sectionsContent, { + layoutGroups, sections, blocks: sectionBlocks, }) - const siteSections = pageContent.sections.filter( - (sectionContent) => getSectiondefinition(sectionContent).siteScoped, - ) - const hasModifiedSiteScopedSections = siteSections.some( - (sectionContent) => touchedSections.indexOf(sectionContent.id) !== -1, - ) - return { - pageSections: pageContent.sections, - siteSections: hasModifiedSiteScopedSections ? siteSections : [], - } + return content + + // const pageContent = services.page.denormalize(page, { + // sections, + // blocks: sectionBlocks, + // }) + + // const siteSections = pageContent.sections.filter( + // (sectionContent) => getSectiondefinition(sectionContent).siteScoped, + // ) + // const hasModifiedSiteScopedSections = siteSections.some( + // (sectionContent) => touchedSections.indexOf(sectionContent.id) !== -1, + // ) + // return { + // pageSections: pageContent.sections, + // siteSections: hasModifiedSiteScopedSections ? siteSections : [], + // } }, - denormalizedSection: ({ page, sections, sectionBlocks, section }) => { - const pageContent = services.page.denormalize(page, { - sections, - blocks: sectionBlocks, - }) - return pageContent.sections.find((s) => s.id == section.id) + denormalizedSection: ({ section: { id: sectionId } }, { content }) => { + for (const layoutGroupId in content) { + const sections = content[layoutGroupId].sections + const section = sections.find(s => s.id === sectionId) + if (section) return section + } + return null // it mustn't happen + // // const pageContent = services.page.denormalize(page, { + // // sections, + // // blocks: sectionBlocks, + // // }) + // return pageContent.sections.find((s) => s.id == section.id) }, sectionContent: ({ section }) => { return section ? [...section.settings] : null }, + layoutDefinition: + ({ theme, page }) => { + return theme.layouts.find(layout => layout.id === page.layoutId) + }, + layoutGroupDefinition: + ({}, { layoutDefinition }) => + (layoutGroupId) => { + return layoutDefinition.groups.find(group => group.id === layoutGroupId) + }, + sectionLayoutGroupIdMap: + ({ layoutGroups }) => { + const memo = {} + for (const layoutGroupId in layoutGroups) { + layoutGroups[layoutGroupId].sections.forEach(sectionId => { + memo[sectionId] = layoutGroupId + }) + } + return memo + }, sectionDefinition: ({ theme }) => (sectionContent) => { diff --git a/app/frontend/editor/store/index.js b/app/frontend/editor/store/index.js index 585a24e9..283712c1 100644 --- a/app/frontend/editor/store/index.js +++ b/app/frontend/editor/store/index.js @@ -22,6 +22,7 @@ store.dispatch('fetchSite', true) store.dispatch('setTheme', window.theme) store.dispatch('setPage', window.page) store.dispatch('setLocale', window.locale) +store.dispatch('setSectionsContent', window.sectionsContent) if (store.state.editorSettings.sitePublishable) store.dispatch('pollLastPublication') diff --git a/app/frontend/editor/store/mutations.js b/app/frontend/editor/store/mutations.js index a5e70eb6..13b1e9d9 100644 --- a/app/frontend/editor/store/mutations.js +++ b/app/frontend/editor/store/mutations.js @@ -31,17 +31,45 @@ export default (services) => ({ state.theme = theme }, SET_PAGE(state, page) { + // TODO: don't need to normalize / denormalize it :-) const { entities } = services.page.normalize(page) state.page = entities.page[page.id] - state.sections = { ...state.sections, ...entities.sections } - state.sectionBlocks = { ...state.sectionBlocks, ...entities.blocks } - state.hoveredSection = null + + // console.log(entities) + + // TO BE REMOVED + // state.layoutGroups = { ...state.layoutGroups, ...entities.layoutGroups } + // state.sections = { ...state.sections, ...entities.sections } + // state.sectionBlocks = { ...state.sectionBlocks, ...entities.blocks } + // state.hoveredSection = null }, SET_PAGE_SETTINGS(state, page) { const attributes = pick(page, ...PAGE_SETTING_ATTRIBUTES) omitEmpty(attributes) state.page = { ...state.page, ...attributes } }, + // === SECTIONS CONTENT === + SET_SECTIONS_CONTENT(state, content) { + console.log('SET_SECTIONS_CONTENT', content) + const { entities, result } = services.sectionsContent.normalize(content) + + console.log(entities, result) + + state.sectionsContent = [...result] + state.layoutGroups = { ...state.layoutGroups, ...entities.layoutGroups } + state.sections = { ...state.sections, ...entities.sections } + state.sectionBlocks = { ...state.sectionBlocks, ...entities.blocks } + state.hoveredSection = null + }, + SET_SECTIONS_CONTENT_LOCK_VERSIONS(state, lockVersions) { + for (const layoutGroupId in lockVersions) { + state.layoutGroups[layoutGroupId] = { + ...state.layoutGroups[layoutGroupId], + lockVersion: lockVersions[layoutGroupId] + } + } + }, + // === SECTION === SET_SECTION(state, section) { if (section) { const sectionDefinition = state.theme.sections.find( @@ -79,39 +107,41 @@ export default (services) => ({ state.sections[state.section.id] = updatedSection state.section = updatedSection }, - ADD_SECTION(state, { section, insertAt }) { + ADD_SECTION(state, { layoutGroupId, section, insertAt }) { const { entities: { sections, blocks }, } = services.section.normalize(section) state.sections = { ...state.sections, [section.id]: sections[section.id] } state.sectionBlocks = { ...state.sectionBlocks, ...blocks } // hmmm??? - const updatedPage = { ...state.page } - + const layoutGroup = { ...state.layoutGroups[layoutGroupId] } + switch (insertAt) { case 'top': - updatedPage.sections.unshift(section.id) + layoutGroup.sections.unshift(section.id) break case 'bottom': case undefined: case null: case '': - updatedPage.sections.push(section.id) + layoutGroup.sections.push(section.id) break default: - updatedPage.sections.splice( - updatedPage.sections.indexOf(insertAt) + 1, + layoutGroup.sections.splice( + layoutGroup.sections.indexOf(insertAt) + 1, 0, section.id, ) } - state.page = updatedPage + state.layoutGroups[layoutGroupId] = layoutGroup }, - REMOVE_SECTION(state, sectionId) { - state.page.sections.splice(state.page.sections.indexOf(sectionId), 1) + REMOVE_SECTION(state, { layoutGroupId, sectionId }) { + const sections = state.layoutGroups[layoutGroupId].sections + sections.splice(sections.indexOf(sectionId), 1) }, - MOVE_HOVERED_SECTION(state, { fromIndex, toIndex }) { - state.page.sections = arraymove(state.page.sections, fromIndex, toIndex) + MOVE_HOVERED_SECTION(state, { layoutGroupId, fromIndex, toIndex }) { + const layoutGroup = state.layoutGroups[layoutGroupId] + layoutGroup.sections = arraymove(layoutGroup.sections, fromIndex, toIndex) }, SET_SECTION_BLOCK(state, sectionBlock) { state.sectionBlock = sectionBlock diff --git a/app/frontend/editor/views/page-preview.vue b/app/frontend/editor/views/page-preview.vue index 7cddd68e..60e8aab5 100644 --- a/app/frontend/editor/views/page-preview.vue +++ b/app/frontend/editor/views/page-preview.vue @@ -100,7 +100,7 @@ export default { computed: { ...mapState(['hoveredSection']), isPageEmpty() { - return this.currentSectionList.length === 0 + return !this.hasSections }, numberOfLocales() { return this.currentSite.locales.length diff --git a/app/frontend/editor/views/sections/add-pane.vue b/app/frontend/editor/views/sections/add-pane.vue index 4a8952a8..e09646ba 100644 --- a/app/frontend/editor/views/sections/add-pane.vue +++ b/app/frontend/editor/views/sections/add-pane.vue @@ -1,6 +1,21 @@ diff --git a/app/frontend/editor/services/page.js b/app/frontend/editor/services/page.js index 8b6f3f26..54ed8beb 100644 --- a/app/frontend/editor/services/page.js +++ b/app/frontend/editor/services/page.js @@ -76,7 +76,7 @@ export default (api) => ({ }, update: (id, attributes, siteAttributes) => { - console.log('[PageService] Updating page #', id) + console.log('🚨🚨🚨🚨🚨 [PageService] Updating page #', id) return api.put(`/pages/${id}`, { page: attributes, site: siteAttributes }) }, diff --git a/app/models/maglev/sections_content_store.rb b/app/models/maglev/sections_content_store.rb index 084e5117..c1c19f74 100644 --- a/app/models/maglev/sections_content_store.rb +++ b/app/models/maglev/sections_content_store.rb @@ -6,6 +6,9 @@ class SectionsContentStore < ApplicationRecord include Maglev::Translatable include Maglev::SectionsConcern + ## scopes ## + scope :by_handles, -> (handles) { where(Maglev::SectionsContentStore.arel_table[:handle].in(handles)) } + ## translations ## translates :sections diff --git a/app/services/maglev/get_page_section_names.rb b/app/services/maglev/get_page_section_names.rb index 4877853c..1f976e00 100644 --- a/app/services/maglev/get_page_section_names.rb +++ b/app/services/maglev/get_page_section_names.rb @@ -9,17 +9,44 @@ class GetPageSectionNames argument :page + # [ + # { id: 'abc', name: 'Navbar', layoutGroupLabel: 'Header' }, + # { id: 'dfdf', name: 'Jumbotron', layoutGroupLabel: 'Main' }, + # { id: 'gdgg', name: 'BigFooter', layoutGroupLabel: 'Footer' } + # ] def call - (page.sections || []).map do |section| - definition = theme.sections.find(section['type']) - { id: section['id'], name: definition.name } - end + fetch_stores.map do |(store, group_label)| + store.sections.map do |section| + definition = theme.sections.find(section['type']) + { id: section['id'], name: definition.name, layout_group_label: group_label } + end + end.flatten end protected + def fetch_stores + handles = layout.groups.inject({}) do |memo, group| + memo[group.guess_store_handle(page)] = group.label + memo + end + scoped_store.by_handles(handles.keys).map do |store| + [store, handles[store.handle]] + end + end + def theme - fetch_theme.call + @theme ||= fetch_theme.call + end + + def layout + theme.find_layout(page.layout_id).tap do |layout| + raise Maglev::Errors::MissingLayout, "The page #{page.id} misses the layout_id property" if layout.nil? + end + end + + def scoped_store + Maglev::SectionsContentStore end end end diff --git a/app/services/maglev/get_page_sections.rb b/app/services/maglev/get_page_sections.rb index ab6af5cc..9915fc88 100644 --- a/app/services/maglev/get_page_sections.rb +++ b/app/services/maglev/get_page_sections.rb @@ -34,7 +34,7 @@ def theme def layout theme.find_layout(page.layout_id).tap do |layout| - raise Maglev::Errors::MissingLayout, "The page misses the layout_id property" if layout.nil? + raise Maglev::Errors::MissingLayout, "The page #{page.id} misses the layout_id property" if layout.nil? end end diff --git a/app/views/maglev/api/pages/_show.json.jbuilder b/app/views/maglev/api/pages/_show.json.jbuilder index 92e4841b..a3efc3a9 100644 --- a/app/views/maglev/api/pages/_show.json.jbuilder +++ b/app/views/maglev/api/pages/_show.json.jbuilder @@ -21,11 +21,4 @@ json.live_url services.get_page_fullpath.call(page: page, preview_mode: false, l json.lock_version page.lock_version json.translated page.path.present? -# json.section_names services.get_page_section_names.call(page: page) -# json.sections services.get_page_sections.call(page: page) - -# json.sections services.get_page_sections.call(page: page) do |group| -# json.id group[:id] -# json.sections group[:sections] -# json.lock_version group[:lock_version] -# end \ No newline at end of file +json.section_names services.get_page_section_names.call(page: page) \ No newline at end of file diff --git a/spec/dummy/app/views/theme/layouts/sidebar.html.erb b/spec/dummy/app/views/theme/layouts/sidebar.html.erb index fe708533..4a5d3473 100644 --- a/spec/dummy/app/views/theme/layouts/sidebar.html.erb +++ b/spec/dummy/app/views/theme/layouts/sidebar.html.erb @@ -5,8 +5,7 @@ - @@ -22,6 +21,8 @@ <%= render_maglev_alternate_links %> <%= maglev_live_preview_client_javascript_tag %> + +
diff --git a/spec/services/maglev/get_page_section_names_spec.rb b/spec/services/maglev/get_page_section_names_spec.rb index 7ec16ea0..0a912a38 100644 --- a/spec/services/maglev/get_page_section_names_spec.rb +++ b/spec/services/maglev/get_page_section_names_spec.rb @@ -5,19 +5,22 @@ describe Maglev::GetPageSectionNames do subject { service.call(page: page) } - let(:theme) { build(:theme) } + let(:theme) { build(:theme, :basic_layouts) } let(:service) { described_class.new(fetch_theme: double('FetchTheme', call: theme)) } - context 'the page has no sections' do - let(:page) { build(:page, sections: []) } + context 'the page has no sections (stores)' do + let(:page) { build(:page) } it 'returns an empty array' do expect(subject).to eq([]) end end - context 'the page has a couple of sections' do - let(:page) { build(:page).tap { |page| page.prepare_sections(theme) } } + context 'the page has a couple of sections (stores)' do + let(:page) { create(:page) } + let(:handle) { "main-#{page.id}" } + + let!(:store) { create(:sections_content_store, page: page) } it 'returns an array of hashes containing the id and name of a page section' do expect(subject).to match([a_hash_including(name: 'Jumbotron'), a_hash_including(name: 'Showcase')]) From 1d4af8af56720e474fe9230c8164b6498f7494d4 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sun, 16 Mar 2025 21:37:57 +0100 Subject: [PATCH 16/70] chore: remove the PersistPage service from the PagesController --- .../maglev/api/pages_controller.rb | 35 ++----- app/models/maglev/page/path_concern.rb | 7 ++ app/models/maglev/sections_content_store.rb | 4 + app/services/maglev/get_page_section_names.rb | 8 +- spec/factories/maglev/pages.rb | 94 +++++++++++++------ spec/requests/maglev/api/pages_spec.rb | 26 ++--- 6 files changed, 97 insertions(+), 77 deletions(-) diff --git a/app/controllers/maglev/api/pages_controller.rb b/app/controllers/maglev/api/pages_controller.rb index 7a46cb07..691c3c06 100644 --- a/app/controllers/maglev/api/pages_controller.rb +++ b/app/controllers/maglev/api/pages_controller.rb @@ -15,47 +15,28 @@ def show end def create - page = persist!(resources.new) + page = resources.create!(page_params) head :created, location: api_page_path(page) end - def destroy - resources.destroy(params[:id]) - head :no_content - end - def update page = resources.find(params[:id]) - persist!(page) + page.update!(page_params) head :ok, page_lock_version: page.lock_version end + def destroy + resources.destroy(params[:id]) + head :no_content + end + private def page_params params.require(:page).permit(:title, :path, :layout_id, :seo_title, :meta_description, :og_title, :og_description, :og_image_url, - :visible, :lock_version).tap do |whitelisted| - whitelisted[:sections] = params[:page].to_unsafe_hash[:sections] unless params.dig(:page, :sections).nil? - end - end - - def site_params - lock_version = params.dig(:site, :lock_version) - sections = params[:site].to_unsafe_hash[:sections] unless params.dig(:site, :sections).nil? - style = params.dig(:site, :style) - (lock_version && sections ? { lock_version: lock_version, sections: sections } : {}).merge(style: style) - end - - def persist!(page) - # TODO: don't use the PersistPage anymore, just use the AR methods - services.persist_page.call( - page: page, - page_attributes: page_params, - site: maglev_site, - site_attributes: site_params - ) + :visible, :lock_version) end def resources diff --git a/app/models/maglev/page/path_concern.rb b/app/models/maglev/page/path_concern.rb index 89a564ec..cf3a0a0a 100644 --- a/app/models/maglev/page/path_concern.rb +++ b/app/models/maglev/page/path_concern.rb @@ -15,6 +15,7 @@ module Maglev::Page::PathConcern ## callbacks ## before_validation { path } # force the initialization of a new path if it doesn't exist + after_validation :rewrite_path_error # use 'path' as the error attribute name before_save :spawn_redirection, if: :spawn_redirection? end @@ -73,5 +74,11 @@ def spawn_redirection? current_path.persisted? && current_path.will_save_change_to_value? end + + def rewrite_path_error + return if errors['paths.value'].blank? + errors['paths.value'].each { |message| errors.add(:path, message) } + errors.delete('paths.value') + end end # rubocop:enable Style/ClassAndModuleChildren diff --git a/app/models/maglev/sections_content_store.rb b/app/models/maglev/sections_content_store.rb index c1c19f74..5ba4e815 100644 --- a/app/models/maglev/sections_content_store.rb +++ b/app/models/maglev/sections_content_store.rb @@ -17,6 +17,10 @@ class SectionsContentStore < ApplicationRecord def find_section(type) sections&.find { |section| section['type'] == type } end + + def translate_in(locale, source_locale) + translate_attr_in(:sections, locale, source_locale) + end end end diff --git a/app/services/maglev/get_page_section_names.rb b/app/services/maglev/get_page_section_names.rb index 1f976e00..dc2f71a5 100644 --- a/app/services/maglev/get_page_section_names.rb +++ b/app/services/maglev/get_page_section_names.rb @@ -16,11 +16,17 @@ class GetPageSectionNames # ] def call fetch_stores.map do |(store, group_label)| - store.sections.map do |section| + # if the store hasn't been translated yet, there won't any sections + (store.sections || []).map do |section| definition = theme.sections.find(section['type']) { id: section['id'], name: definition.name, layout_group_label: group_label } end end.flatten + rescue Maglev::Errors::MissingLayout => e + # for instance, static pages might not have a defined layout + # AND by default, all the other pages must have a layout_id property + Rails.logger.warn e.message + [] end protected diff --git a/spec/factories/maglev/pages.rb b/spec/factories/maglev/pages.rb index beea3500..df833814 100644 --- a/spec/factories/maglev/pages.rb +++ b/spec/factories/maglev/pages.rb @@ -6,36 +6,44 @@ path { 'index' } layout_id { 'basic' } - # TODO: to be removed - sections do - [ - { - type: 'jumbotron', - settings: [ - { id: :title, value: 'Hello world' }, - { id: :body, value: '

Lorem ipsum

' } - ], - blocks: [] - }, - { - type: 'showcase', - settings: [{ id: :title, value: 'Our projects' }], - blocks: [ - { - type: 'showcase_item', - settings: [ - { id: :name, value: 'My first project' }, - { id: :screenshot, value: '/assets/screenshot-01.png' } - ] - } - ] - } - ] + transient do + sections do + [ + { + type: 'jumbotron', + settings: [ + { id: :title, value: 'Hello world' }, + { id: :body, value: '

Lorem ipsum

' } + ], + blocks: [] + }, + { + type: 'showcase', + settings: [ + { id: :title, value: 'Our projects' } + ], + blocks: [ + { + type: 'showcase_item', + settings: [ + { id: :name, value: 'My first project' }, + { id: :screenshot, value: '/assets/screenshot-01.png' } + ] + } + ] + } + ] + end + header_sections {} + end + + after(:create) do |page, evaluator| + create(:sections_content_store, sections: evaluator.sections, page: page) if evaluator.sections + create(:sections_content_store, sections: evaluator.header_sections) if evaluator.header_sections end - # TODO: to be removed trait :with_navbar do - sections do + header_sections do [ { id: 'abc', @@ -105,7 +113,7 @@ end trait :with_blank_navbar do - sections do + header_sections do [ { id: 'abc', @@ -139,10 +147,34 @@ end end + # TODO: to be removed /refactored trait :page_links do - after :build do |record| - record.sections[1]['settings'][1]['value'] = - '

Bar - TEST' + sections do + [ + { + type: 'jumbotron', + settings: [ + { id: :title, value: 'Hello world' }, + { id: :body, value: '

Bar - TEST

' } + ], + blocks: [] + }, + { + type: 'showcase', + settings: [ + { id: :title, value: 'Our projects' } + ], + blocks: [ + { + type: 'showcase_item', + settings: [ + { id: :name, value: 'My first project' }, + { id: :screenshot, value: '/assets/screenshot-01.png' } + ] + } + ] + } + ] end end diff --git a/spec/requests/maglev/api/pages_spec.rb b/spec/requests/maglev/api/pages_spec.rb index 90de7271..bd85b87c 100644 --- a/spec/requests/maglev/api/pages_spec.rb +++ b/spec/requests/maglev/api/pages_spec.rb @@ -12,7 +12,7 @@ config.services = { context: double('Context', controller: double('Controller')), fetch_site: double('FetchSite', call: site), - fetch_theme: double('FetchTheme', call: build(:theme)), + fetch_theme: double('FetchTheme', call: build(:theme, :basic_layouts)), get_base_url: double('getBaseUrl', call: '/maglev/preview'), generate_site: double('GenerateSite', call: site) } @@ -37,6 +37,7 @@ id: page.id, title: page.title, path: page.path, + layout_id: 'basic', visible: true, seo_title: nil, meta_description: nil, @@ -63,6 +64,7 @@ id: page.id, title: page.title, path: page.path, + layout_id: 'basic', visible: true, seo_title: nil, meta_description: nil, @@ -126,10 +128,13 @@ end it 'returns well-formed error response on wrong creation request' do - post '/maglev/api/pages', params: { page: { title: '', path: 'new' } }, as: :json + post '/maglev/api/pages', params: { page: { title: '', path: '' } }, as: :json expect(json_response).to eq( { - errors: { title: ["can't be blank"] } + errors: { + title: ["can't be blank"], + path: ["can't be blank"] + } }.as_json ) expect(response).to have_http_status(:bad_request) @@ -155,21 +160,6 @@ expect(response).to have_http_status(:conflict) end end - - context 'Given the site has been updated in the meantime' do - let(:sections) { [attributes_for(:page, :with_navbar)[:sections][0]] } - let(:site_attributes) { { sections: sections, lock_version: 0 } } - let(:page_attributes) { { title: 'New title', lock_version: 0 } } - - it "doesn't update the page in DB" do - expect do - site.update(name: 'New name') - put maglev.api_page_path(page), - params: { page: page_attributes, site: site_attributes }, as: :json - end.to change { site.reload.name }.to('New name') - expect(response).to have_http_status(:conflict) - end - end end it 'allows deletion of pages' do From 5424a4713b9fa504755871b131d10e1c84c36e17 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Mon, 17 Mar 2025 23:37:04 +0100 Subject: [PATCH 17/70] chore: also clone the SectionsContentStores in the ClonePage service --- app/models/maglev/page.rb | 9 ++++--- app/models/maglev/site.rb | 6 +++-- app/models/maglev/theme/layout_group.rb | 7 ++++- .../concerns/maglev/fetch_theme_concern.rb | 22 +++++++++++++++ app/services/maglev/app_container.rb | 2 +- app/services/maglev/clone_page.rb | 27 ++++++++++++++++--- spec/models/maglev/page_spec.rb | 17 ------------ spec/models/maglev/site_spec.rb | 14 ---------- spec/services/maglev/clone_page_spec.rb | 10 +++---- 9 files changed, 68 insertions(+), 46 deletions(-) create mode 100644 app/services/concerns/maglev/fetch_theme_concern.rb diff --git a/app/models/maglev/page.rb b/app/models/maglev/page.rb index a2514b3f..a47c5b40 100644 --- a/app/models/maglev/page.rb +++ b/app/models/maglev/page.rb @@ -4,13 +4,13 @@ module Maglev class Page < ApplicationRecord ## concerns ## include Maglev::Translatable - include Maglev::SectionsConcern include Maglev::Page::PathConcern include Maglev::Page::SearchConcern + include Maglev::SectionsConcern # @deprecated Use SectionsContentStore instead ## translations ## translates :title, presence: true - translates :sections + translates :sections # @deprecated Use SectionsContentStore instead translates :seo_title, :meta_description translates :og_title, :og_description, :og_image_url @@ -25,6 +25,9 @@ class Page < ApplicationRecord where(paths: { locale: locale || Maglev::I18n.current_locale, value: path }) } + ## validation ## + validates :layout_id, presence: true + ## methods ## def index? @@ -36,7 +39,7 @@ def static? end def translate_in(locale, source_locale) - %i[title sections seo_title meta_description og_title og_description og_image_url].each do |attr| + %i[title seo_title meta_description og_title og_description og_image_url].each do |attr| translate_attr_in(attr, locale, source_locale) end end diff --git a/app/models/maglev/site.rb b/app/models/maglev/site.rb index e6802b86..00e0a9a9 100644 --- a/app/models/maglev/site.rb +++ b/app/models/maglev/site.rb @@ -4,11 +4,11 @@ module Maglev class Site < ApplicationRecord ## concerns ## include Maglev::Site::LocalesConcern - include Maglev::SectionsConcern include Maglev::Translatable + include Maglev::SectionsConcern # @deprecated Use SectionsContentStore instead ## translations ## - translates :sections + translates :sections # @deprecated Use SectionsContentStore instead ## validations ## validates :name, presence: true @@ -19,10 +19,12 @@ def api_attributes end def find_section(type) + ActiveSupport::Deprecation.warn('Not used anymore, replaced by SectionsContentStore') sections&.find { |section| section['type'] == type } end def translate_in(locale, source_locale) + ActiveSupport::Deprecation.warn('Not used anymore, replaced by SectionsContentStore') translate_attr_in(:sections, locale, source_locale) end end diff --git a/app/models/maglev/theme/layout_group.rb b/app/models/maglev/theme/layout_group.rb index ff2276ac..3658a100 100644 --- a/app/models/maglev/theme/layout_group.rb +++ b/app/models/maglev/theme/layout_group.rb @@ -9,12 +9,17 @@ class Maglev::Theme::LayoutGroup < Maglev::Theme::BaseProperty ## instance methods ## + # TODO: will be deprecated since we rely on page_store? def store? store.present? || store != false end + def page_store? + store == 'page' || store == false # TODO: store == false will be deprecated + end + def guess_store_handle(page) - store? ? store : "#{id}-#{page.id}" + page_store? ? "#{id}-#{page.id}" : store end ## class methods ## diff --git a/app/services/concerns/maglev/fetch_theme_concern.rb b/app/services/concerns/maglev/fetch_theme_concern.rb new file mode 100644 index 00000000..98d61021 --- /dev/null +++ b/app/services/concerns/maglev/fetch_theme_concern.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +# rubocop:disable Style/ClassAndModuleChildren +module Maglev::FetchThemeConcern + def theme + @theme ||= fetch_theme.call + end + + def layout + theme.find_layout(page.layout_id).tap do |layout| + raise Maglev::Errors::MissingLayout, "The page #{page.id} misses the layout_id property" if layout.nil? + end + end + + def layout_page_groups + layout.groups.find_all { |group| group.page_store? } + end + + def sections_content_stores + Maglev::SectionsContentStore + end +end \ No newline at end of file diff --git a/app/services/maglev/app_container.rb b/app/services/maglev/app_container.rb index 284cc63a..5a9bc6cf 100644 --- a/app/services/maglev/app_container.rb +++ b/app/services/maglev/app_container.rb @@ -45,7 +45,7 @@ class AppContainer fetch_sections_content] dependency :get_page_section_names, class: Maglev::GetPageSectionNames, depends_on: :fetch_theme - dependency :clone_page, class: Maglev::ClonePage, depends_on: :fetch_site + dependency :clone_page, class: Maglev::ClonePage, depends_on: %i[fetch_site fetch_theme] dependency :persist_page, class: Maglev::PersistPage, depends_on: %i[fetch_theme] dependency :persist_sections_content, class: Maglev::PersistSectionsContent, depends_on: %i[fetch_theme] diff --git a/app/services/maglev/clone_page.rb b/app/services/maglev/clone_page.rb index f8de5949..131627a3 100644 --- a/app/services/maglev/clone_page.rb +++ b/app/services/maglev/clone_page.rb @@ -2,10 +2,13 @@ module Maglev # Clone a page in all the locales. - # The service also makes sure that - # the path of the cloned page will be unique. + # The service also makes sure that the path of the cloned page will be unique. class ClonePage include Injectable + include Maglev::FetchThemeConcern + + dependency :fetch_site + dependency :fetch_theme argument :page @@ -22,6 +25,7 @@ def create_page! cloned_page.disable_spawn_redirection clone_paths(cloned_page) cloned_page.save! + clone_sections_content_stores(cloned_page) end end @@ -29,13 +33,13 @@ def create_page! def cloned_attributes { + layout_id: page.layout_id, title_translations: clone_title, seo_title_translations: page.seo_title_translations, meta_description_translations: page.meta_description_translations, og_title_translations: page.og_title_translations, og_description_translations: page.og_description_translations, og_image_url_translations: page.og_image_url_translations, - sections_translations: page.sections_translations } end @@ -58,5 +62,22 @@ def generate_clone_code(number) charset = Array('A'..'Z') + Array('a'..'z') Array.new(number) { charset.sample }.join end + + def clone_sections_content_stores(cloned_page) + layout_page_groups.each do |group| + store = sections_content_stores.find_by_handle(group.guess_store_handle(page)) + + next if store.nil? + + clone_sections_content_store(store, group.guess_store_handle(cloned_page)) + end + end + + def clone_sections_content_store(store, handle) + sections_content_stores.create!( + handle: handle, + sections_translations: store.sections_translations + ) + end end end diff --git a/spec/models/maglev/page_spec.rb b/spec/models/maglev/page_spec.rb index 96fe9bf7..bceae7ca 100644 --- a/spec/models/maglev/page_spec.rb +++ b/spec/models/maglev/page_spec.rb @@ -21,23 +21,6 @@ end end - describe '#prepare_sections' do - let(:page) { build(:page) } - let(:theme) { build(:theme) } - - before { page.prepare_sections(theme) } - - it 'assign an id to each section and block' do - expect(page.sections.first['id']).not_to eq nil - expect(page.sections.last['id']).not_to eq nil - expect(page.sections.last['blocks'].first['id']).not_to eq nil - end - - it 'casts the value of an image setting type' do - expect(page.sections.last['blocks'].last['settings'].last.dig('value', 'url')).to eq '/assets/screenshot-01.png' - end - end - describe 'scopes' do describe '.by_id_or_path' do let!(:page) { create(:page) } diff --git a/spec/models/maglev/site_spec.rb b/spec/models/maglev/site_spec.rb index 299268e9..51d5a35f 100644 --- a/spec/models/maglev/site_spec.rb +++ b/spec/models/maglev/site_spec.rb @@ -57,20 +57,6 @@ # rubocop:enable Style/StringHashKeys end end - - describe '#prepare_sections' do - let(:site) { build(:site, :with_preset_navbar) } - let(:theme) { build(:theme) } - - before { site.prepare_sections(theme) } - - it 'assign an id to each section and block' do - expect(site.sections.first['blocks'].count).to eq(2) - expect(site.sections.first['blocks'].first['id']).not_to eq nil - expect(site.sections.first['blocks'].last['id']).not_to eq nil - expect(site.sections.first['blocks'].last['parent_id']).not_to eq nil - end - end end # == Schema Information diff --git a/spec/services/maglev/clone_page_spec.rb b/spec/services/maglev/clone_page_spec.rb index 0b0dd311..ab317b9a 100644 --- a/spec/services/maglev/clone_page_spec.rb +++ b/spec/services/maglev/clone_page_spec.rb @@ -5,9 +5,9 @@ describe Maglev::ClonePage do subject { service.call(page: page) } - let(:site) { create(:site) } - let(:fetch_site) { double('FetchSite', call: site) } - let(:service) { described_class.new(fetch_site: fetch_site) } + let(:fetch_site) { double('FetchSite', call: create(:site)) } + let(:fetch_theme) { double('FetchTheme', call: build(:theme, :basic_layouts)) } + let(:service) { described_class.new(fetch_site: fetch_site, fetch_theme: fetch_theme) } context "the original page doesn't exist yet" do let(:page) { build(:page) } @@ -22,10 +22,10 @@ let!(:page) { create(:page, :with_navbar) } it 'creates another page with the same attributes' do - expect { subject }.to change(Maglev::Page, :count).by(1) + expect { subject }.to change(Maglev::Page, :count).by(1).and(change(Maglev::SectionsContentStore, :count).by(1)) expect(subject.title).to eq 'Home COPY' expect(subject.path).not_to eq page.path - expect(subject.sections.count).to eq 3 + expect(Maglev::SectionsContentStore.last.sections.size).to eq 2 end # rubocop:disable Style/StringHashKeys From 90b5512f3475b6081454c4c540a3be2357c3ef29 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Thu, 20 Mar 2025 18:28:52 +0100 Subject: [PATCH 18/70] feat: set a default layout in the new page form --- app/frontend/editor/components/page/new.vue | 4 +++- app/frontend/editor/services/page.js | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/frontend/editor/components/page/new.vue b/app/frontend/editor/components/page/new.vue index cd4ec9f5..3b54ca1a 100644 --- a/app/frontend/editor/components/page/new.vue +++ b/app/frontend/editor/components/page/new.vue @@ -36,7 +36,9 @@ export default { return { page: {}, errors: {}, submitState: 'default' } }, mounted() { - this.page = this.services.page.build() + this.page = this.services.page.build({ + layoutId: this.currentTheme.layouts[0].id + }) }, computed: { tabs() { diff --git a/app/frontend/editor/services/page.js b/app/frontend/editor/services/page.js index 54ed8beb..7b4f6851 100644 --- a/app/frontend/editor/services/page.js +++ b/app/frontend/editor/services/page.js @@ -34,11 +34,11 @@ export default (api) => ({ return page.path === 'index' || page.path === '/index' }, - build: () => { + build: ({ layoutId }) => { return { title: '', path: '', - layoutId: null, + layoutId, visible: true, seoTitle: '', metaDescription: '', From fde11debd10de5c92c01a5b744b76b97e09827fb Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Thu, 20 Mar 2025 23:12:06 +0100 Subject: [PATCH 19/70] feat: reload the preview if the layoutId has changed --- app/frontend/editor/components/page/edit.vue | 6 ++++++ app/frontend/editor/services/live-preview.js | 5 +++++ app/frontend/editor/store/actions/page.js | 11 ++++++++--- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/frontend/editor/components/page/edit.vue b/app/frontend/editor/components/page/edit.vue index a80b419b..8e422cbc 100644 --- a/app/frontend/editor/components/page/edit.vue +++ b/app/frontend/editor/components/page/edit.vue @@ -58,6 +58,9 @@ export default { }, ] }, + hasLayoutIdChanged() { + return this.editedPage.layoutId !== this.page.layoutId + } }, methods: { updatePage() { @@ -74,6 +77,9 @@ export default { ...attributes, lockVersion: headers['page-lock-version'], }) + + if (this.hasLayoutIdChanged) + this.$store.dispatch('reloadPage', { id: pageId }) }) .catch(({ response: { status, data } }) => { console.log('[Maglev] could not update the page', status) diff --git a/app/frontend/editor/services/live-preview.js b/app/frontend/editor/services/live-preview.js index 88ff6479..68605a7d 100644 --- a/app/frontend/editor/services/live-preview.js +++ b/app/frontend/editor/services/live-preview.js @@ -67,6 +67,11 @@ export const start = (newIframe) => { listenMessages() } +export const reload = () => { + if (!iframe) return + iframe.contentWindow.location.reload() +} + const listenMessages = () => { window.addEventListener('message', ({ data: { type, ...data } }) => { // a message MUST have a type diff --git a/app/frontend/editor/store/actions/page.js b/app/frontend/editor/store/actions/page.js index afcf0f38..99c3f589 100644 --- a/app/frontend/editor/store/actions/page.js +++ b/app/frontend/editor/store/actions/page.js @@ -4,12 +4,10 @@ export default (services) => ({ // editPage : Action triggered when the user wants to edit another page // or to change the locale of the current page. async editPage({ state, dispatch }, { id, locale }) { - console.log('editPage', id, locale) - // display the loader dispatch('resetPreview') - if (state.locale !== locale) { + if (locale && state.locale !== locale) { dispatch('setLocale', locale) await Promise.all([dispatch('fetchPage', id), dispatch('fetchSite')]) } else await dispatch('fetchPage', id) @@ -21,6 +19,13 @@ export default (services) => ({ setPage({ commit }, page) { commit('SET_PAGE', page) }, + + // Reload a page: get fresh content + reload the preview iframe + async reloadPage({ state, dispatch }, { id }) { + await dispatch('editPage', { id }) + services.livePreview.reload() + }, + // Fetch a page from an id (or a path) async fetchPage({ commit, state: { site } }, id) { return services.page From 43543aa322dae9477554491483a197a4f541a620 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sat, 22 Mar 2025 17:07:58 +0100 Subject: [PATCH 20/70] feat: implement the mirrored section feature (WIP) --- app/frontend/editor/components/kit/index.js | 2 + .../editor/components/link-picker/page.vue | 2 +- .../section-mirror-setup/actions.vue | 25 ++++++ .../components/section-mirror-setup/index.vue | 55 ++++++++++++ .../section-mirror-setup/selector.vue | 84 +++++++++++++++++++ .../editor/components/section-pane/index.vue | 14 +++- .../components/section-pane/setting-list.vue | 46 +++++++--- .../components/theme-section-list/index.vue | 7 +- .../theme-section-list/list-item.vue | 1 - .../theme-section-list/mirror-button.vue | 44 ++++++++++ app/frontend/editor/locales/editor.en.json | 25 ++++++ .../editor/services/sections-content.js | 3 + app/frontend/editor/store/actions/section.js | 39 +++++++++ app/frontend/editor/store/getters.js | 7 +- app/frontend/editor/store/mutations.js | 9 +- app/models/maglev/section.rb | 11 ++- app/services/maglev/get_page_section_names.rb | 23 +++-- .../maglev/api/themes/_show.json.jbuilder | 2 +- .../maglev/get_page_section_names_spec.rb | 7 +- 19 files changed, 366 insertions(+), 40 deletions(-) create mode 100644 app/frontend/editor/components/section-mirror-setup/actions.vue create mode 100644 app/frontend/editor/components/section-mirror-setup/index.vue create mode 100644 app/frontend/editor/components/section-mirror-setup/selector.vue create mode 100644 app/frontend/editor/components/theme-section-list/mirror-button.vue diff --git a/app/frontend/editor/components/kit/index.js b/app/frontend/editor/components/kit/index.js index ff081129..c4893b55 100644 --- a/app/frontend/editor/components/kit/index.js +++ b/app/frontend/editor/components/kit/index.js @@ -17,6 +17,7 @@ import TextInput from './text-input.vue' import RichTextInput from './rich-text-input.vue' import CheckboxInput from './checkbox-input.vue' import SearchInput from './search-input.vue' +import MirrorSectionInput from './mirror-section-input.vue' import Pagination from './pagination/index.vue' import PageIcon from './page-icon.vue' import ColorInput from './color-input.vue' @@ -47,6 +48,7 @@ Vue.component('uikit-search-input', SearchInput) Vue.component('uikit-pagination', Pagination) Vue.component('uikit-page-icon', PageIcon) Vue.component('uikit-color-input', ColorInput) +Vue.component('uikit-mirror-section-input', MirrorSectionInput) Vue.component('uikit-simple-select', SimpleSelect) Vue.component('uikit-collection-item-input', CollectionItemInput) Vue.component('uikit-list-item-button', ListItemButton) diff --git a/app/frontend/editor/components/link-picker/page.vue b/app/frontend/editor/components/link-picker/page.vue index 8791c213..f83920bf 100644 --- a/app/frontend/editor/components/link-picker/page.vue +++ b/app/frontend/editor/components/link-picker/page.vue @@ -82,7 +82,7 @@ export default { }, hasPageSections() { return !this.isBlank(this.page?.sectionNames) - }, + } }, methods: { async fetchPageSectionNames() { diff --git a/app/frontend/editor/components/section-mirror-setup/actions.vue b/app/frontend/editor/components/section-mirror-setup/actions.vue new file mode 100644 index 00000000..bee44666 --- /dev/null +++ b/app/frontend/editor/components/section-mirror-setup/actions.vue @@ -0,0 +1,25 @@ + + + \ No newline at end of file diff --git a/app/frontend/editor/components/section-mirror-setup/index.vue b/app/frontend/editor/components/section-mirror-setup/index.vue new file mode 100644 index 00000000..58dcd714 --- /dev/null +++ b/app/frontend/editor/components/section-mirror-setup/index.vue @@ -0,0 +1,55 @@ + + + + diff --git a/app/frontend/editor/components/section-mirror-setup/selector.vue b/app/frontend/editor/components/section-mirror-setup/selector.vue new file mode 100644 index 00000000..4379e918 --- /dev/null +++ b/app/frontend/editor/components/section-mirror-setup/selector.vue @@ -0,0 +1,84 @@ + + + \ No newline at end of file diff --git a/app/frontend/editor/components/section-pane/index.vue b/app/frontend/editor/components/section-pane/index.vue index bb026af5..91433418 100644 --- a/app/frontend/editor/components/section-pane/index.vue +++ b/app/frontend/editor/components/section-pane/index.vue @@ -14,6 +14,7 @@ import SettingList from './setting-list.vue' import BlockList from './block-list/index.vue' import BlockTree from './block-tree/index.vue' +import MirrorSettings from './mirror-settings.vue' export default { name: 'SectionPane', @@ -39,9 +40,15 @@ export default { name: this.$t('sectionPane.tabs.advanced'), tab: SettingList, type: 'advanced', - condition: () => this.hasAdvancedSettings, - props: () => ({ advanced: true }), + condition: () => this.hasAdvancedSettings || this.hasMirrorFeatureEnabled, + props: () => ({ advanced: true, mirrorFeature: this.hasMirrorFeatureEnabled }), }, + // { + // name: 'POC', + // tab: MirrorSettings, + // type: 'mirror', + // condition: () => this.hasMirrorFeatureEnabled + // }, ] }, tabs() { @@ -58,6 +65,9 @@ export default { hasAdvancedSettings() { return !this.isBlank(this.currentSectionAdvancedSettings) }, + hasMirrorFeatureEnabled() { + return this.currentSectionDefinition.mirror + }, hasBlocks() { return !this.isBlank(this.currentSectionDefinition.blocks) }, diff --git a/app/frontend/editor/components/section-pane/setting-list.vue b/app/frontend/editor/components/section-pane/setting-list.vue index 3a4827de..add24ffa 100644 --- a/app/frontend/editor/components/section-pane/setting-list.vue +++ b/app/frontend/editor/components/section-pane/setting-list.vue @@ -1,14 +1,21 @@ diff --git a/app/frontend/editor/components/theme-section-list/index.vue b/app/frontend/editor/components/theme-section-list/index.vue index de5b9155..a218981a 100644 --- a/app/frontend/editor/components/theme-section-list/index.vue +++ b/app/frontend/editor/components/theme-section-list/index.vue @@ -1,5 +1,5 @@ diff --git a/app/frontend/editor/locales/editor.en.json b/app/frontend/editor/locales/editor.en.json index fc7cb836..e47efd4e 100644 --- a/app/frontend/editor/locales/editor.en.json +++ b/app/frontend/editor/locales/editor.en.json @@ -171,6 +171,31 @@ "title": "Icons", "pickerTitle": "Pick an icon" }, + "mirrorSectionInput": { + "label": "Is a mirror of", + "none": "None" + }, + "mirrorSectionSetup": { + "addButton": "...or add a mirrored section", + "title": "Setup mirror section", + "enabled": "Enable section mirror", + "confirmButton": "Setup", + "cancelButton": "Cancel", + "page": { + "name": "Page", + "input": { + "label": "Page", + "placeholder": "Select a page", + "searchPlaceholder": "Search...", + "emptyLabel": "No pages found" + }, + "sectionInput": { + "label": "Section", + "placeholder": "Select a section", + "emptyLabel": "No section selected" + } + } + }, "linkInput": { "placeholder": "Click here to select a link", "withNestedTextLabel": "Enable text", diff --git a/app/frontend/editor/services/sections-content.js b/app/frontend/editor/services/sections-content.js index f83f41ef..22ccfe6c 100644 --- a/app/frontend/editor/services/sections-content.js +++ b/app/frontend/editor/services/sections-content.js @@ -18,6 +18,9 @@ export default (api) => ({ normalize: (content) => { return coreNormalize(content, SECTIONS_CONTENT_SCHEMA) }, + normalizeSection: (content) => { + return coreNormalize(content, SECTION_SCHEMA) + }, denormalize: (content, entities) => { return coreDenormalize(content, SECTIONS_CONTENT_SCHEMA, entities) }, diff --git a/app/frontend/editor/store/actions/section.js b/app/frontend/editor/store/actions/section.js index a6ea4fe3..265f7153 100644 --- a/app/frontend/editor/store/actions/section.js +++ b/app/frontend/editor/store/actions/section.js @@ -42,6 +42,45 @@ export default (services) => ({ change, ) }, + // source: the information related to the section we want to mirror in the current page + // target: the information about where to put the new section (layoutGroupId, insertAt) + async addMirroredSection( + { commit, getters }, + { source, target: { layoutGroupId, insertAt } }, + ) { + // get the content of the mirror section + const pageContent = await services.sectionsContent.find(source.pageId) + const layoutGroup = pageContent.find(layoutGroup => layoutGroup.id === source.layoutGroupId) + const section = layoutGroup.sections.find(section => section.id === source.sectionId) + + section.mirrorOf = source + + commit('ADD_SECTION', { layoutGroupId, section, insertAt }) + commit('TOUCH_SECTION', section.id) + + services.livePreview.addSection(layoutGroupId, getters.content, section, insertAt) + + return section + }, + async mirrorSectionContent({ commit, getters }, { source, target }) { + // get the content of the mirror section + const pageContent = await services.sectionsContent.find(source.pageId) + const layoutGroup = pageContent.find(layoutGroup => layoutGroup.id === source.layoutGroupId) + const section = layoutGroup.sections.find(section => section.id === source.sectionId) + + section.id = target.sectionId + + commit('SET_SECTION', section) // required to update the current section form + commit('SET_SECTION_CONTENT', section) // required to update the preview iframe + commit('TOUCH_SECTION', target.sectionId) + + services.livePreview.updateSection( + getters.sectionLayoutGroupIdMap[target.sectionId], + getters.content, + getters.denormalizedSection, + {}, + ) + }, moveSection( { commit, diff --git a/app/frontend/editor/store/getters.js b/app/frontend/editor/store/getters.js index 2e5eb5e6..1a1df8d9 100644 --- a/app/frontend/editor/store/getters.js +++ b/app/frontend/editor/store/getters.js @@ -101,12 +101,7 @@ export default (services) => ({ const section = sections.find(s => s.id === sectionId) if (section) return section } - return null // it mustn't happen - // // const pageContent = services.page.denormalize(page, { - // // sections, - // // blocks: sectionBlocks, - // // }) - // return pageContent.sections.find((s) => s.id == section.id) + return null }, sectionContent: ({ section }) => { return section ? [...section.settings] : null diff --git a/app/frontend/editor/store/mutations.js b/app/frontend/editor/store/mutations.js index 13b1e9d9..aeb58e4f 100644 --- a/app/frontend/editor/store/mutations.js +++ b/app/frontend/editor/store/mutations.js @@ -50,17 +50,20 @@ export default (services) => ({ }, // === SECTIONS CONTENT === SET_SECTIONS_CONTENT(state, content) { - console.log('SET_SECTIONS_CONTENT', content) const { entities, result } = services.sectionsContent.normalize(content) - console.log(entities, result) - state.sectionsContent = [...result] state.layoutGroups = { ...state.layoutGroups, ...entities.layoutGroups } state.sections = { ...state.sections, ...entities.sections } state.sectionBlocks = { ...state.sectionBlocks, ...entities.blocks } state.hoveredSection = null }, + SET_SECTION_CONTENT(state, content) { + const { entities, result } = services.sectionsContent.normalizeSection(content) + + state.sections = { ...state.sections, ...entities.sections } + state.sectionBlocks = { ...state.sectionBlocks, ...entities.blocks } + }, SET_SECTIONS_CONTENT_LOCK_VERSIONS(state, lockVersions) { for (const layoutGroupId in lockVersions) { state.layoutGroups[layoutGroupId] = { diff --git a/app/models/maglev/section.rb b/app/models/maglev/section.rb index c09814d1..b4f0797b 100644 --- a/app/models/maglev/section.rb +++ b/app/models/maglev/section.rb @@ -6,7 +6,7 @@ class Section include ActiveModel::Serializers::JSON include ::Maglev::Section::ContentConcern - HASH_ATTRIBUTES = %w[id theme name site_scoped singleton viewport_fixed_position insert_button max_width_pane + HASH_ATTRIBUTES = %w[id theme name site_scoped singleton viewport_fixed_position insert_button max_width_pane mirror insert_at category blocks_label blocks_presentation sample screenshot_timestamp].freeze ## attributes ## @@ -14,7 +14,8 @@ class Section :site_scoped, :singleton, :viewport_fixed_position, :insert_button, :insert_at, :max_width_pane, :settings, :blocks, :blocks_label, :blocks_presentation, - :sample, :screenshot_timestamp + :sample, :screenshot_timestamp, + :mirror ## validations ## validates :id, :theme, :name, :category, presence: true @@ -35,6 +36,10 @@ def viewport_fixed_position? !!viewport_fixed_position? end + def mirror? + !!mirror + end + def assign_attributes_from_yaml(hash) attributes = prepare_default_attributes(hash).merge( settings: ::Maglev::Section::Setting.build_many(hash['settings']), @@ -59,7 +64,7 @@ def self.build(hash) def prepare_default_attributes(hash) attributes = hash.slice(*HASH_ATTRIBUTES) - %w[site_scoped singleton viewport_fixed_position max_width_pane].each do |name| + %w[site_scoped singleton viewport_fixed_position max_width_pane mirror].each do |name| attributes[name] = false if attributes[name].nil? end diff --git a/app/services/maglev/get_page_section_names.rb b/app/services/maglev/get_page_section_names.rb index dc2f71a5..9dd00480 100644 --- a/app/services/maglev/get_page_section_names.rb +++ b/app/services/maglev/get_page_section_names.rb @@ -10,16 +10,15 @@ class GetPageSectionNames argument :page # [ - # { id: 'abc', name: 'Navbar', layoutGroupLabel: 'Header' }, - # { id: 'dfdf', name: 'Jumbotron', layoutGroupLabel: 'Main' }, - # { id: 'gdgg', name: 'BigFooter', layoutGroupLabel: 'Footer' } + # { id: 'abc', name: 'Navbar', layoutGroupId: 'header', layoutGroupLabel: 'Header' }, + # { id: 'dfdf', name: 'Jumbotron', layoutGroupId: 'main', layoutGroupLabel: 'Main' }, + # { id: 'gdgg', name: 'BigFooter', layoutGroupId: 'footer', layoutGroupLabel: 'Footer' } # ] def call - fetch_stores.map do |(store, group_label)| + fetch_stores.map do |(store, group)| # if the store hasn't been translated yet, there won't any sections (store.sections || []).map do |section| - definition = theme.sections.find(section['type']) - { id: section['id'], name: definition.name, layout_group_label: group_label } + build_item(section, group) end end.flatten rescue Maglev::Errors::MissingLayout => e @@ -31,9 +30,19 @@ def call protected + def build_item(section, group) + definition = theme.sections.find(section['type']) + { + id: section['id'], + name: definition.name, + layout_group_id: group.id, + layout_group_label: group.label + } + end + def fetch_stores handles = layout.groups.inject({}) do |memo, group| - memo[group.guess_store_handle(page)] = group.label + memo[group.guess_store_handle(page)] = group memo end scoped_store.by_handles(handles.keys).map do |store| diff --git a/app/views/maglev/api/themes/_show.json.jbuilder b/app/views/maglev/api/themes/_show.json.jbuilder index 902ed447..0e508cd5 100644 --- a/app/views/maglev/api/themes/_show.json.jbuilder +++ b/app/views/maglev/api/themes/_show.json.jbuilder @@ -5,7 +5,7 @@ json.deep_format_keys! json.call(theme, :id, :name, :description, :layouts) json.sections theme.sections do |section| json.call(section, :id, :name, :category, :site_scoped, :singleton, :viewport_fixed_position, - :insert_button, :insert_at, :max_width_pane, + :insert_button, :insert_at, :max_width_pane, :mirror, :blocks_label, :blocks_presentation, :sample) json.settings section.settings.as_json json.blocks section.blocks.as_json diff --git a/spec/services/maglev/get_page_section_names_spec.rb b/spec/services/maglev/get_page_section_names_spec.rb index 0a912a38..4734c398 100644 --- a/spec/services/maglev/get_page_section_names_spec.rb +++ b/spec/services/maglev/get_page_section_names_spec.rb @@ -20,10 +20,11 @@ let(:page) { create(:page) } let(:handle) { "main-#{page.id}" } - let!(:store) { create(:sections_content_store, page: page) } - it 'returns an array of hashes containing the id and name of a page section' do - expect(subject).to match([a_hash_including(name: 'Jumbotron'), a_hash_including(name: 'Showcase')]) + expect(subject).to match([ + a_hash_including(name: 'Jumbotron'), + a_hash_including(name: 'Showcase') + ]) end end end From 4e22b8514507b8bbfb6bd4a90f074057f1d18ef9 Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sun, 23 Mar 2025 12:46:10 +0100 Subject: [PATCH 21/70] feat: mirrored section can be detached/re-attached --- app/frontend/editor/components/kit/index.js | 2 - .../editor/components/section-pane/index.vue | 8 +--- .../components/section-pane/mirror-input.vue | 45 +++++++++++++++++++ .../components/section-pane/setting-list.vue | 29 +++--------- .../components/theme-section-list/index.vue | 9 +++- app/frontend/editor/locales/editor.en.json | 6 +-- .../editor/services/sections-content.js | 11 ++++- app/frontend/editor/store/actions/section.js | 34 +++++++------- app/frontend/editor/store/mutations.js | 7 +++ app/models/maglev/section.rb | 11 ++--- app/models/maglev/theme.rb | 2 +- .../maglev/api/themes/_show.json.jbuilder | 3 +- .../templates/theme/app/theme/theme.yml.tt | 17 ++++++- lib/maglev/theme_filesystem_loader.rb | 3 +- spec/dummy/app/theme/theme.yml | 23 ---------- 15 files changed, 119 insertions(+), 91 deletions(-) create mode 100644 app/frontend/editor/components/section-pane/mirror-input.vue diff --git a/app/frontend/editor/components/kit/index.js b/app/frontend/editor/components/kit/index.js index c4893b55..ff081129 100644 --- a/app/frontend/editor/components/kit/index.js +++ b/app/frontend/editor/components/kit/index.js @@ -17,7 +17,6 @@ import TextInput from './text-input.vue' import RichTextInput from './rich-text-input.vue' import CheckboxInput from './checkbox-input.vue' import SearchInput from './search-input.vue' -import MirrorSectionInput from './mirror-section-input.vue' import Pagination from './pagination/index.vue' import PageIcon from './page-icon.vue' import ColorInput from './color-input.vue' @@ -48,7 +47,6 @@ Vue.component('uikit-search-input', SearchInput) Vue.component('uikit-pagination', Pagination) Vue.component('uikit-page-icon', PageIcon) Vue.component('uikit-color-input', ColorInput) -Vue.component('uikit-mirror-section-input', MirrorSectionInput) Vue.component('uikit-simple-select', SimpleSelect) Vue.component('uikit-collection-item-input', CollectionItemInput) Vue.component('uikit-list-item-button', ListItemButton) diff --git a/app/frontend/editor/components/section-pane/index.vue b/app/frontend/editor/components/section-pane/index.vue index 91433418..ed7fefe0 100644 --- a/app/frontend/editor/components/section-pane/index.vue +++ b/app/frontend/editor/components/section-pane/index.vue @@ -43,12 +43,6 @@ export default { condition: () => this.hasAdvancedSettings || this.hasMirrorFeatureEnabled, props: () => ({ advanced: true, mirrorFeature: this.hasMirrorFeatureEnabled }), }, - // { - // name: 'POC', - // tab: MirrorSettings, - // type: 'mirror', - // condition: () => this.hasMirrorFeatureEnabled - // }, ] }, tabs() { @@ -66,7 +60,7 @@ export default { return !this.isBlank(this.currentSectionAdvancedSettings) }, hasMirrorFeatureEnabled() { - return this.currentSectionDefinition.mirror + return !this.isBlank(this.currentSection.mirrorOf) }, hasBlocks() { return !this.isBlank(this.currentSectionDefinition.blocks) diff --git a/app/frontend/editor/components/section-pane/mirror-input.vue b/app/frontend/editor/components/section-pane/mirror-input.vue new file mode 100644 index 00000000..8bb4759f --- /dev/null +++ b/app/frontend/editor/components/section-pane/mirror-input.vue @@ -0,0 +1,45 @@ + + + diff --git a/app/frontend/editor/components/section-pane/setting-list.vue b/app/frontend/editor/components/section-pane/setting-list.vue index add24ffa..9ec9aa68 100644 --- a/app/frontend/editor/components/section-pane/setting-list.vue +++ b/app/frontend/editor/components/section-pane/setting-list.vue @@ -1,11 +1,7 @@ @@ -51,6 +55,9 @@ export default { categories() { return this.services.theme.buildCategories(this.currentTheme) }, + allowSectionMirroring() { + return this.currentTheme.mirrorSection + } }, } diff --git a/app/frontend/editor/locales/editor.en.json b/app/frontend/editor/locales/editor.en.json index e47efd4e..1d138c43 100644 --- a/app/frontend/editor/locales/editor.en.json +++ b/app/frontend/editor/locales/editor.en.json @@ -171,14 +171,10 @@ "title": "Icons", "pickerTitle": "Pick an icon" }, - "mirrorSectionInput": { - "label": "Is a mirror of", - "none": "None" - }, "mirrorSectionSetup": { + "inputLabel": "Enable section mirroring", "addButton": "...or add a mirrored section", "title": "Setup mirror section", - "enabled": "Enable section mirror", "confirmButton": "Setup", "cancelButton": "Cancel", "page": { diff --git a/app/frontend/editor/services/sections-content.js b/app/frontend/editor/services/sections-content.js index 22ccfe6c..4f57ac65 100644 --- a/app/frontend/editor/services/sections-content.js +++ b/app/frontend/editor/services/sections-content.js @@ -14,6 +14,10 @@ export const LAYOUT_GROUP_SCHEMA = new schema.Entity('layoutGroups', { }) export const SECTIONS_CONTENT_SCHEMA = new schema.Array(LAYOUT_GROUP_SCHEMA) +const findSectionsContent = (api, pageId) => { + return api.get(`/pages/${pageId}/sections_content`).then(({ data }) => data) +} + export default (api) => ({ normalize: (content) => { return coreNormalize(content, SECTIONS_CONTENT_SCHEMA) @@ -25,10 +29,15 @@ export default (api) => ({ return coreDenormalize(content, SECTIONS_CONTENT_SCHEMA, entities) }, find: (pageId) => { - return api.get(`/pages/${pageId}/sections_content`).then(({ data }) => data) + return findSectionsContent(api, pageId) }, update: (pageId, content) => { console.log('[SectionsContentService] Updating content of page #', pageId) return api.put(`/pages/${pageId}/sections_content`, { sections_content: content }).then(({ data }) => data) }, + findSingleSection: async (pageId, layoutGroupId, sectionId) => { + const pageContent = await findSectionsContent(api, pageId) + const layoutGroup = pageContent?.find(layoutGroup => layoutGroup.id === layoutGroupId) + return layoutGroup?.sections?.find(section => section.id === sectionId) + } }) diff --git a/app/frontend/editor/store/actions/section.js b/app/frontend/editor/store/actions/section.js index 265f7153..59a7f7e5 100644 --- a/app/frontend/editor/store/actions/section.js +++ b/app/frontend/editor/store/actions/section.js @@ -48,12 +48,10 @@ export default (services) => ({ { commit, getters }, { source, target: { layoutGroupId, insertAt } }, ) { - // get the content of the mirror section - const pageContent = await services.sectionsContent.find(source.pageId) - const layoutGroup = pageContent.find(layoutGroup => layoutGroup.id === source.layoutGroupId) - const section = layoutGroup.sections.find(section => section.id === source.sectionId) + // get the content of the section we want to mirror + const section = await services.sectionsContent.findSingleSection(mirrorOf.pageId, mirrorOf.layoutGroupId, mirrorOf.sectionId) - section.mirrorOf = source + section.mirrorOf = { enabled: true, ...source } commit('ADD_SECTION', { layoutGroupId, section, insertAt }) commit('TOUCH_SECTION', section.id) @@ -62,25 +60,31 @@ export default (services) => ({ return section }, - async mirrorSectionContent({ commit, getters }, { source, target }) { - // get the content of the mirror section - const pageContent = await services.sectionsContent.find(source.pageId) - const layoutGroup = pageContent.find(layoutGroup => layoutGroup.id === source.layoutGroupId) - const section = layoutGroup.sections.find(section => section.id === source.sectionId) + async toggleMirroredSectionEnabled({ commit, dispatch }, enabled) { + commit('SET_SECTION_MIRROR_OF_ENABLED', enabled) - section.id = target.sectionId + if (!enabled) return + + // update the content of the current section with the one from the mirror + dispatch('updateMirrorOfSectionContent') + }, + async updateMirrorOfSectionContent({ state, commit, getters }) { + const mirrorOf = state.section.mirrorOf + const section = await services.sectionsContent.findSingleSection(mirrorOf.pageId, mirrorOf.layoutGroupId, mirrorOf.sectionId) + + section.mirrorOf = { enabled: true, ...mirrorOf } commit('SET_SECTION', section) // required to update the current section form - commit('SET_SECTION_CONTENT', section) // required to update the preview iframe - commit('TOUCH_SECTION', target.sectionId) + commit('SET_SECTION_CONTENT', section) // required to prepare the update of the preview iframe + commit('TOUCH_SECTION', state.section.id) services.livePreview.updateSection( - getters.sectionLayoutGroupIdMap[target.sectionId], + getters.sectionLayoutGroupIdMap[state.section.id], getters.content, getters.denormalizedSection, {}, ) - }, + }, moveSection( { commit, diff --git a/app/frontend/editor/store/mutations.js b/app/frontend/editor/store/mutations.js index aeb58e4f..3b4b5639 100644 --- a/app/frontend/editor/store/mutations.js +++ b/app/frontend/editor/store/mutations.js @@ -110,6 +110,13 @@ export default (services) => ({ state.sections[state.section.id] = updatedSection state.section = updatedSection }, + SET_SECTION_MIRROR_OF_ENABLED(state, enabled) { + let updatedSection = { ...state.section } + updatedSection.mirrorOf.enabled = enabled + + state.sections[state.section.id] = updatedSection + state.section = updatedSection + }, ADD_SECTION(state, { layoutGroupId, section, insertAt }) { const { entities: { sections, blocks }, diff --git a/app/models/maglev/section.rb b/app/models/maglev/section.rb index b4f0797b..c09814d1 100644 --- a/app/models/maglev/section.rb +++ b/app/models/maglev/section.rb @@ -6,7 +6,7 @@ class Section include ActiveModel::Serializers::JSON include ::Maglev::Section::ContentConcern - HASH_ATTRIBUTES = %w[id theme name site_scoped singleton viewport_fixed_position insert_button max_width_pane mirror + HASH_ATTRIBUTES = %w[id theme name site_scoped singleton viewport_fixed_position insert_button max_width_pane insert_at category blocks_label blocks_presentation sample screenshot_timestamp].freeze ## attributes ## @@ -14,8 +14,7 @@ class Section :site_scoped, :singleton, :viewport_fixed_position, :insert_button, :insert_at, :max_width_pane, :settings, :blocks, :blocks_label, :blocks_presentation, - :sample, :screenshot_timestamp, - :mirror + :sample, :screenshot_timestamp ## validations ## validates :id, :theme, :name, :category, presence: true @@ -36,10 +35,6 @@ def viewport_fixed_position? !!viewport_fixed_position? end - def mirror? - !!mirror - end - def assign_attributes_from_yaml(hash) attributes = prepare_default_attributes(hash).merge( settings: ::Maglev::Section::Setting.build_many(hash['settings']), @@ -64,7 +59,7 @@ def self.build(hash) def prepare_default_attributes(hash) attributes = hash.slice(*HASH_ATTRIBUTES) - %w[site_scoped singleton viewport_fixed_position max_width_pane mirror].each do |name| + %w[site_scoped singleton viewport_fixed_position max_width_pane].each do |name| attributes[name] = false if attributes[name].nil? end diff --git a/app/models/maglev/theme.rb b/app/models/maglev/theme.rb index 0b616f8d..c6c84fb3 100644 --- a/app/models/maglev/theme.rb +++ b/app/models/maglev/theme.rb @@ -6,7 +6,7 @@ class Theme include ActiveModel::Model ## attributes ## - attr_accessor :id, :name, :description, :section_categories, :sections, :layouts, :style_settings, :pages, :icons + attr_accessor :id, :name, :description, :section_categories, :sections, :layouts, :style_settings, :pages, :icons, :mirror_section ## validations ## validates :id, :name, presence: true diff --git a/app/views/maglev/api/themes/_show.json.jbuilder b/app/views/maglev/api/themes/_show.json.jbuilder index 0e508cd5..b414c4ad 100644 --- a/app/views/maglev/api/themes/_show.json.jbuilder +++ b/app/views/maglev/api/themes/_show.json.jbuilder @@ -5,7 +5,7 @@ json.deep_format_keys! json.call(theme, :id, :name, :description, :layouts) json.sections theme.sections do |section| json.call(section, :id, :name, :category, :site_scoped, :singleton, :viewport_fixed_position, - :insert_button, :insert_at, :max_width_pane, :mirror, + :insert_button, :insert_at, :max_width_pane, :blocks_label, :blocks_presentation, :sample) json.settings section.settings.as_json json.blocks section.blocks.as_json @@ -15,3 +15,4 @@ end json.section_categories theme.section_categories.as_json json.icons theme.icons || [] json.style_settings theme.style_settings.as_json +json.mirror_section theme.mirror_section \ No newline at end of file diff --git a/lib/generators/maglev/templates/theme/app/theme/theme.yml.tt b/lib/generators/maglev/templates/theme/app/theme/theme.yml.tt index 8a90caa6..fdfbb3cf 100644 --- a/lib/generators/maglev/templates/theme/app/theme/theme.yml.tt +++ b/lib/generators/maglev/templates/theme/app/theme/theme.yml.tt @@ -18,5 +18,18 @@ pages: # List of CSS class names used by your library of icons (font awesome, remixicons, ...etc) icons: [] - - +# Enable the section mirroring feature (default: false) +# mirror_section: true + +layouts: +- label: "Default" + id: "default" + groups: + - label: "Header" + id: "header" + store: "header" + # accept: ["navbar"] + - label: "Main" + id: "main" + store: "page" + - "Footer" diff --git a/lib/maglev/theme_filesystem_loader.rb b/lib/maglev/theme_filesystem_loader.rb index a30d5dc3..5416901b 100644 --- a/lib/maglev/theme_filesystem_loader.rb +++ b/lib/maglev/theme_filesystem_loader.rb @@ -24,7 +24,8 @@ def add(hash) section_categories: Maglev::Theme::SectionCategory.build_many(hash['section_categories']), style_settings: Maglev::Theme::StyleSetting.build_many(hash['style_settings']), layouts: Maglev::Theme::Layout.build_many(hash['layouts']), - sections: [] + sections: [], + mirror_section: false ) Maglev::Theme.new(HashWithIndifferentAccess.new(attributes)).tap do |theme| diff --git a/spec/dummy/app/theme/theme.yml b/spec/dummy/app/theme/theme.yml index 38fe07cd..e008de17 100644 --- a/spec/dummy/app/theme/theme.yml +++ b/spec/dummy/app/theme/theme.yml @@ -42,29 +42,6 @@ layouts: - "Sidebar" - "Footer" -# Option #1 - -# - Knees layout - -# Option #2 - -# Page A with the sidebar layout: -# - sidebar: showcase, ad section - -# Page B with the sidebar layout: -# - sidebar: knees_menu - -# Page C with the sidebar layout: -# - sidebar: knees_menu (with the same content as page B) - -# knees_menu section will have the store attribute with the `knees` value for instance. -# -> store: "knees" - -# Option #3: (disclaimer feature) - -# "married section" -> (clone) - - pages: - title: "Home page" path: "index" From 881f31b112c30eb0175e45e47175f3d80b502efa Mon Sep 17 00:00:00 2001 From: Didier Lafforgue Date: Sun, 23 Mar 2025 13:45:25 +0100 Subject: [PATCH 22/70] feat: display an icon for mirrored type sections (+ placeholder) --- .../assets/remixicons/ri-links-line.svg | 1 + .../editor/components/section-pane/index.vue | 1 - .../components/section-pane/mirror-input.vue | 2 +- .../components/sections-content/list-item.vue | 30 ++++++++++++++----- app/frontend/editor/layouts/slide-pane.vue | 7 +++++ app/frontend/editor/locales/editor.en.json | 1 + app/frontend/editor/store/getters.js | 2 ++ app/frontend/editor/views/content-pane.vue | 25 ++++++++++++++++ 8 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 app/frontend/editor/assets/remixicons/ri-links-line.svg diff --git a/app/frontend/editor/assets/remixicons/ri-links-line.svg b/app/frontend/editor/assets/remixicons/ri-links-line.svg new file mode 100644 index 00000000..b4fd9602 --- /dev/null +++ b/app/frontend/editor/assets/remixicons/ri-links-line.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/frontend/editor/components/section-pane/index.vue b/app/frontend/editor/components/section-pane/index.vue index ed7fefe0..004fc8e1 100644 --- a/app/frontend/editor/components/section-pane/index.vue +++ b/app/frontend/editor/components/section-pane/index.vue @@ -14,7 +14,6 @@ import SettingList from './setting-list.vue' import BlockList from './block-list/index.vue' import BlockTree from './block-tree/index.vue' -import MirrorSettings from './mirror-settings.vue' export default { name: 'SectionPane', diff --git a/app/frontend/editor/components/section-pane/mirror-input.vue b/app/frontend/editor/components/section-pane/mirror-input.vue index 8bb4759f..405bb6ae 100644 --- a/app/frontend/editor/components/section-pane/mirror-input.vue +++ b/app/frontend/editor/components/section-pane/mirror-input.vue @@ -21,7 +21,7 @@ export default { return { mirrorSectionEnabled: undefined } }, mounted() { - this.mirrorSectionEnabled = !this.isBlank(this.currentSection?.mirrorOf?.enabled) + this.mirrorSectionEnabled = this.currentSection?.mirrorOf?.enabled }, computed: { mirrorOf() { diff --git a/app/frontend/editor/components/sections-content/list-item.vue b/app/frontend/editor/components/sections-content/list-item.vue index 81475773..0d1024d3 100644 --- a/app/frontend/editor/components/sections-content/list-item.vue +++ b/app/frontend/editor/components/sections-content/list-item.vue @@ -1,13 +1,22 @@ diff --git a/app/frontend/editor/components/sections-content/list.vue b/app/frontend/editor/components/sections-content/list.vue index bfaa2717..51f0fd81 100644 --- a/app/frontend/editor/components/sections-content/list.vue +++ b/app/frontend/editor/components/sections-content/list.vue @@ -1,10 +1,26 @@ @@ -65,6 +72,9 @@ export default { canAdd() { return this.canAddSection(this.layoutGroupId) // return false + }, + displayQuickAddButton() { + return this.canAdd && !this.isListEmpty } }, methods: { @@ -75,7 +85,7 @@ export default { from: event.oldIndex, to: event.newIndex, }) - }, + } }, } diff --git a/app/frontend/editor/components/theme-section-list/index.vue b/app/frontend/editor/components/theme-section-list/index.vue index 52ef1d71..185cc150 100644 --- a/app/frontend/editor/components/theme-section-list/index.vue +++ b/app/frontend/editor/components/theme-section-list/index.vue @@ -29,6 +29,11 @@

Bar - TEST' + end + end + + # work with the sidebar trait + trait :page_link_in_link do + after :build do |record| + record.find_section('navbar')['blocks'][0]['settings'][1]['value'] = { + link_type: 'page', + link_id: '42', + open_new_window: true, + href: '/path-to-something' + } + end + end + + trait :with_unused_settings do + sections do + [ + { + id: 'ghi', + type: 'showcase', + settings: [{ id: :title, value: 'Our projects' }, { id: :foo, value: 'foo' }], + blocks: [ + { + type: 'showcase_item', + settings: [ + { id: :name, value: 'My first project' }, + { id: :screenshot, value: '/assets/screenshot-01.png' }, + { id: :bar, value: 'bar' } + ] + } + ] + } + ] + end + end + + trait :featured_product do + sections do + [ + { + type: 'featured_product', + settings: [ + { id: :title, value: 'My awesome product' }, + { id: :product, value: { id: 42 } } + ], + blocks: [] + } + ] + end + end + + trait :any_featured_product do + sections do + [ + { + type: 'featured_product', + settings: [ + { id: :title, value: 'My awesome product' }, + { id: :product, value: 'any' } + ], + blocks: [] + } + ] + end + end end end diff --git a/spec/services/maglev/fetch_sections_from_store_spec.rb b/spec/services/maglev/fetch_sections_from_store_spec.rb new file mode 100644 index 00000000..656f73b1 --- /dev/null +++ b/spec/services/maglev/fetch_sections_from_store_spec.rb @@ -0,0 +1,134 @@ +# frozen_string_literal: true + +require 'rails_helper' + +describe Maglev::FetchSectionsFromStore do + subject { service.call(handle: handle, locale: :en) } + + let(:site) { build(:site) } + let(:theme) { build(:theme, :basic_layouts) } + let(:get_page_fullpath) { double('GetPageFullPath', call: nil) } + let(:fetch_collection_items) { double('FetchCollectionItems', call: nil) } + let(:service) do + described_class.new( + fetch_site: double('FetchSite', call: site), + fetch_theme: double('FetchTheme', call: theme), + get_page_fullpath: get_page_fullpath, + fetch_collection_items: fetch_collection_items + ) + end + + context 'the store doesn\'t exist yet' do + let(:handle) { 'unknown' } + + it { is_expected.to eq([]) } + end + + # rubocop:disable Style/StringHashKeys + context 'the store has some sections' do + let(:page) { create(:page) } + let(:handle) { "main-#{page.id}" } + + let!(:store) { create(:section_content_store, page: page) } + + it 'returns the sections' do + expect(subject).to eq([ + { + 'id' => 'def', + 'type' => 'jumbotron', + 'settings' => [ + { 'id' => 'title', 'value' => 'Hello world' }, + { 'id' => 'body', 'value' => '