From ae5cd0606ab17c66813330ba1fad8c8238b0f1e4 Mon Sep 17 00:00:00 2001 From: Nicolas SANS Date: Mon, 11 Aug 2025 07:48:38 +0200 Subject: [PATCH] Add Wallos subscription tracking application with Docker Compose setup (#268) Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> --- blueprints/wallos/docker-compose.yml | 16 ++++++++++++++++ blueprints/wallos/template.toml | 10 ++++++++++ blueprints/wallos/wallos.png | Bin 0 -> 14816 bytes meta.json | 15 ++++++++++++++- 4 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 blueprints/wallos/docker-compose.yml create mode 100644 blueprints/wallos/template.toml create mode 100644 blueprints/wallos/wallos.png diff --git a/blueprints/wallos/docker-compose.yml b/blueprints/wallos/docker-compose.yml new file mode 100644 index 00000000..0399ef95 --- /dev/null +++ b/blueprints/wallos/docker-compose.yml @@ -0,0 +1,16 @@ +version: '3.8' +services: + wallos: + image: bellamy/wallos:latest + ports: + - '80' + environment: + TZ: 'Europe/Paris' + volumes: + - wallos_db:/var/www/html/db + - wallos_logos:/var/www/html/images/uploads/logos + restart: unless-stopped + +volumes: + wallos_db: + wallos_logos: \ No newline at end of file diff --git a/blueprints/wallos/template.toml b/blueprints/wallos/template.toml new file mode 100644 index 00000000..089a5385 --- /dev/null +++ b/blueprints/wallos/template.toml @@ -0,0 +1,10 @@ +[variables] +main_domain = "${domain}" + +[config] +mounts = [] + +[[config.domains]] +serviceName = "wallos" +port = 80 +host = "${main_domain}" \ No newline at end of file diff --git a/blueprints/wallos/wallos.png b/blueprints/wallos/wallos.png new file mode 100644 index 0000000000000000000000000000000000000000..fd718ddf08bc711b43a42f6f1df87478653bce6d GIT binary patch literal 14816 zcmW+-1yob-8@{7^C?Jwka)8n$jR;6LQj*f4bdD4xMY^QBOIkuw32A9YNJ;k?u>JS@ z-?N>a@1A?Uz2Eyj&-2F4qBPYNNr`BQ001CWdi_cp06=$`_YDCa=FYp^*gODuQL6Mx zR@Vn~u!5b;Vz?N*-qGy5^#505$A-e2W1qvrpg4;+%VkGR&P$K=2ICe#2RX)N>}hkJ z`Tq7D8obW_PD9Z1mrL7yJjHT&<#k17DSC7KCLRmmrC;)D5{cpny5RAom{3G(B`lWW z0Ot1_FT2jnDwoWvpDo(&LW0K7PyiS@3?BEgh3?-WQ*gx&tM6cUg%cF)L_i&g=b)Y9 zIH`TQ=Gm}R%h`476e#ylodGaUbuu>T^3FKBN(mR0yJyoMYqVUEdI7-j``hmgwYF@m z34h!9>!WB6k^*5y__v+dGOE64v{69CQr}L+Hg`T4c=G4)$D=#KRDGgp0w8)|+s%6T z)^NA-XrBu`+WQR%HrTnX_C76Nc*sT%992qZgm<1s&qxWVG65!YCXDqSs1z%EVt;qe ziXYRxETG^97wLyOw<-{&0}WZ z+3oW}BR>Z+#v69nn@%7-sebtOv)^9%eK!ysF2TvyGH4tnO&4D%_RnhRgJqOh3f}e8Va;Xnb>D->Xd3&SkGJw1)yfgzteu}1x zi&@O_2{$*~mnkjhGierx{x7z53Pie|SmV&7DPX_u0YI+fKE%HzNzr-nZHKA@?Nd_6 z2=Jz5-l~sJO*gl9Y8em%(2DIz=XuEI31&8ZXI)*I+AG^dM!In?W zI?K)=&#T5>WBl2O%XVA@JShn%l5dLIo3m&D$fwWVJ}(SY>zDA^MR|JIfngUKQ4$2yhmHSlX9pH3>L*f2_c-Noo07`85b6BQy ztGN7QFkqPtccQTu6oN;I<5QCr;>u_VrA6sU4KigOMcX6y-#%XEjC}-HXXn1Na46C{ zjKTOW$h1pijHnRQ^Iv2#7Bvi{Xm#Lm<>FR=s1*BRGCZx#;e(@!ZIwNrv?#!9BHtMx zu423F3v&U?*}6K?iqU02&qV6|gVeE)MR0!?2Dvq9PN+^`B&&d7xvx54?mm#*?eIfY zx8l4-!j1X^Nki1O^q;r=p&9+U7zjdud3yO2v|XF(y9$$fa2-cTmY|F3e@ktJ+k zzh$fLNbu1xWzh;g{bcr2pz3%ez|x`1DnnJ#p^E}A=%^OYQZZ)INxs4X{?w@YN~^rf z)HZAyCj+Whn+JXjJo|Dv^Z9hVy1@k;gaH{1V32LFGiUf@I(;}9{s1sR@8G^Tdn*M5 zJ*eEqP95|py-ETFZ@wuCm`y)Rcr=(?s)7F*EjR^dCf5lpu+GnsfE_b}g3(kujROUm z1o#}5#{?B@L z?H33bF}>#jTB%q*8nj3^QqJrQiv>vmjo&|TOs#P|3PqY`oaG$Gtb}9rR7GKp%qn<2=0IQ|0(5#q@7 zUl0U5O=7;)I>noIwfZ0Q(iMR7m>XrjEjaDAk@u|X{XHX9$pabHoA^pbuf(hV87U!E zis1CrZ4YXj*X14A7;17blg z*qCK!K=;J^95BGxz+7IIIp_V>_7F%aufl7Y|CY~gh^!?8lAt946Wb)>zHh$k69GwV z+`?Nvw*_a6YZSgv#F<^{|)w^`|DRBzYuR6n*2SdEK(3t`_20hvFf)H_eGAd_h7 zD$PCZZCzKz*{&$gBJrMA;?zL}JZ29r7``R(omZ;J%ym&4W9@4NKIbV2oUn`)Z+BVD zsEXwoh+aw555xCQgHr<1z~t0t_X-jREP6MG7RkWyjFk1v|G)Z803zO&s1S>{1ap3e z97Y8kljim5d!9kz1D3;u`a*G~$85m{EgF#Hx+L9_yLo{3nRxpVOT9~w^_sF|mn9^x z%ILTwjjf1D=ot2YGR)Cm+`g1l;^L_x$|8Ki-R#;BkzI6?TuUQNETg(YW0fLp+oRky z;{9>aO7oAeJ^!cdxo=3@vI2+IM*tGN(pl6nJV$^i0@G;~efOODlwGvlVbKX}gOAi9 zI$3Of6H2pY%9+NaZ;19mWCe%%-;Be%&8P_AnDtfm@rUcL^n8V&w?lSs9Smq zTSGf#r}q>DeYBJ{#0gmm!}w?TJ=qX$-s>>|$@F4~lJ&64dN-)Q-Pg1hFXu0-{9$uN zrxL;&;M(wH;wZzCa>X$g7% zw>w%nr{_wG4Xqyeypq8_yL>y*_kybk^1rryIkH4@n1%>@stN* zmbiS4BTU_kXO3tNs1o;AZ4>fgi7R~miNW&<;5MS~G9b-y+I>xH3;JN)RfLk}Y%j}9 z!wpcj@xf#tOF)^{U(bD>c)C`DE_e)+>57R5DsB=in7!%jUbb5T^jnqapE1KF(PsgxX>D8JC}Djsoog$^(7q?*;iJb^DSw+F922lplDpYPeu0C zWtltpYab6Wo@noWJN51VNgJe5ypEvK3(T^Z3}fjO!gLR$<>JLpC(~G}N527gwdrT5 zh*xIZB^astZU&%qmRH`kRxMePL`ku>Sq9x&dglXoDu!D_bmTBq?H<4miOCW%ZBW;`VpDavlu&tgo+iAlSu(fOW5@pyZyM0t9s_S0C8LA6TS* z(^D&F|GhS-`k&eUtw6(*^L>en@pOHH`gJ3aTdAro4QcATGEbgm5p`;NeN`K@aWogFj%QzqB>&z^~;4b#)r@vJ1(RzwB zW)HND(BNOVbrIz`rVicrqTw1p1r79a|Do!faM z{*GCv(wN7;WGhLyDO=3v#uPoG}Xmym>jxD!XcXAOONc%2AdG8 z#yTFCX8*Blfz3CX+{-6lac zGw<6I=7C|PzrcHmf)x#1CGEkqnGX%HmehVM%|F$d-qQ&$-yBo0IK~N8lyYu*7pEqT zN=m$^)w-)oDL4J<-I$Q-+MV_+?^~dVgIH&>a21CDq4`>p_N@kCgWoM zn~ELc35^9|8p7hMAj-dsEfKUD+=VdX3*3Lk3TIBww7;!r;I#1^yO-n|;Ou@LlZJlT@M;^(5xQ7!FkzPeIN zZZ0<8!9ErMB5M{a_KTQ8^+)|7B)ng75kPV8QOPWP@Uc--^)OJUB`tPUWYMlIV(8)& zAca<=Us>ES&{0gzmTkkrqLCYN=z1YwcJkTT*)@^nv@t#Y@3%Ik)Eay_bT9 zc$0yzGJelllLYg-WbZm=eC1xjgKi!dw4MEAEAeYn1vDSGc+Fg@zO-NADKZAE6#`YQ ztP}h(a7k6g(zNUL9Q9OF5KeIcC7+5+>h58p$`6_!ALpK8HCK9%OUoH%5LB-EAn)Sm zb@J)8yb-)Vg3ekjxbwOuXK+M_Kgvs*D!9X=LDk~!gNk<-mkw@K&;v1`FL7bE9{s|5hh{OhzH(RV{<4}sd$%MB>Zx4zDE$RYW z+5mwvdLpwT_=c+ey$e6t2fp97Q#@WwGVxHI&h(rZ0b^%9Nx4UO(AeB;p9G41W2}qU z82o?jMQrYM5)|HNIGA42`tk#64_m?BXFbDfMo|~|En8TZEj_)6a~&R+%%$f%G7#wg zaWQ`3DD=&)6rR!I{j-~1wiYgdI~x#Erm63Z)nOdd`6>jB7J~W`OiX1DOmTZ?+XYnt zFx|`#lAVt&s-!*ptSYDpdRAeK5Awz_RQ+W7*Eu6nPft>wCdhYVKy?uX#(IUpvg=n^ zul$cGC(Xm(1@Rn2YC0upA9O74hHxXT41=ir_!sXCGl_>IvRVz;ZoYDF0`p8P#iwaX z0{JuR#(UI!51#Ocdr23FY^qv_#k@Y3F+83>R+bR1g37!b{^4(094np07{|Z!db2LM z+jQ|dB~k1@;L3g#&3{~=Sg59$38I7ONovppJ(SP&TlTHa|3`}Ts%+M)J5P}Yu`6JG zM}V6fs7yze!~tsciEs79vCkun0us0|G-=uIGH!W5;r*Ak#IN~@S+VQB&Mrv+OJoTA z{)6i&Zm5JahUr|JJMSjmz5Cgz7>tuVcq}_Um=)qX>yLZG;XFa<^C+WnT~?%9<_loT zVkC{5m=h-^{%-DpNk-5$7sr8911TM>*sx8$Qk(gr3t%Xc#8kWQM>cuo1_X}GK7 zbjR1NLJ^f4xaQ(`Y1w%s5XG^0-T8SnPCQfsx~W1WmURG?u}m&Et%{Y7LB)v*)3Zk6 zU#}#QZtL?rEQ)d-(4V;<=;?OU7Z1??QWB?n>0rIQMJa#{nY3DSWGtITf3(K2*Iq;m zm0Gg6xc?GL*0J`%#g+eG6y!NRI|y z3tHgBlfEzKW0vqF$||&ocE33``iouAanCxnv`X+tQhL+Q5BcErNn)k(Tvv_gW^~LG z(s0+xcW*xaWduEZqc^LQG zNx&2P;g6^Iff91L^L6=ob2(E*o&E)l3C7u3FTp|OX7aL+ z5de0s^}TBZD$*R8d=*s8OM_U!uluCYE_|Yx;w8Ox1D`I6g$vbVF=d8;1s&JiQ_UWC zN16YF6A4Q-`xQ^2bfXgm0)koZYs`}Renr$w59HUbIE0pKIit0r(?h_#C$_>xTrIn5 zm+9f4O=-0U52L7hdTb5RArdIz&TQPIu47Z3$X5WKl#;zPJi-xwF}vkgf1b4%ycFR^ zh7HklzRsFLPQLbw+lkvf%HE^)`>V*$2aOf~h{Z+{@F7A&+hnn}`{%Fz;9h2u073gT z_bnJ!U)NjPhaZ%-yrmdLADBts1<6|dS{GLy=v=5aWZweS1fD?WkizWTany1rW^_M{H zbX+m2%*`YaxjC_DH`=|rDg7RG+kv_+()*MsP<_1jWXK5Nu-oEHBD;=FB;6Ti7?k0- za23EU#OZgY#~Bb{{2CQT>akuV^Tx)NUG;Ae*KtV1$&h8B$@WlME8T^J*2(TWz2%!< zwT{X67L@dPCl4sQF0n?I#ONyqY;a( zQPY|Iu6{@QyVQjvr*C_G5Hn1J#D|3vRiBKvdYjqyJH#yp>x#EO<42WEM~YVokKfUg zt<{~~Z7cl7C5=+FMxx%9WMgGjn|wd{g>6*Un`%8o=Q!}ITuJ?%CD1>mBEG2HU;?e(ivQ6tr;`fsW(Vl|*JTzIS<|YZbL^;dy ztmEBkZttg&TFPb>WGE?ylC$fA6C~cZu+gWo<*bxHQ(~ zcFR_an{?|o@?I<+drHEqqxHXggZ~f7r#Il5{1`S|yS2LhR6RT*ahELQHhilz)Ed7a zwX0WLCHDm@{~R8)LiA&AD9X+M(j?-Ez2FJoxVuQaPty+U!rZ0I#0M_M3EL}N6+RJ~ z4|o&UdJ-m}sXrm|A4AL<+#oBO&4b@(1_q1qx7+TBj|}CCE5lgy6eYiu{=$&?#d_Cm zF_bHkxVCk?MnvuD>$cJ@YQ7wC*@2Pk3Cb74gA#Qsi4ia41o9So> zGqN|`CQG$+$u(H@E=VKhrE-eDasc*NB>*QzGFi zW)@zm1Aa(;A|g!$K_EQ=b=RuOx+6o&(#p2`htnUrE%6v@Ww%m(Xmpj7{zF@P#V%Ej zK%tT1HB^{T7%F352+31<;zbXB9qi8UKTfwl*fn>`&ppeTzmHO#sSsTd??uA5LcbLty%k_v3!FJ!{M+1sAil)V9k$bR~3XR4k^%+8F z$t%zT^Y3>AmX$ObuI}GzZRf1~?Npx%?;5J>Z=mT!Qjr|!U$FJ5W6{V@F8Q{xq4l28)rXCf#R=TkZSjW(&tUOtUI%H_CAH9svR6-8AMK7yU!3Zs1<_B4`o zLw|r`#d#u&88Sa-3~jm< zXs27?DLYv}uhB$yyzoYp+ieB)rv3Y-GW!F*^x=^4|6(-Oko)X*?;|vA4d7nMfX?YG za6!UFPMbE6#=+!=S`knFbUnK3Jek`s*dfzC>XZ_*5RHB=c5osR^w`8lBm3ramm#7= z{MnU!HL1dl%#`myM8m9N*Eo59XhIw6jXc#MUZUi4!TaB8(BAZ(T`cJ>$%a|z{UbN` zb)Ku~mMX!NZU)?Bq9>=RF^@wH+&zv-gR&nFXgbiD%j=m(CD?5pD_Lye+?g;lbXKXULxcD*Qhhow=5z&9Vax8Z$ z!|t>yNA9h*pEm(6ssv9)22iHCvj+Yd^hDEg8hfTMn*_;iY!p$}XhmgdiJF75FlIpW zoBV4M_Dvyg#aM%H*W>9-_*rF$kFOH`5+-U_-wTA}E8A(5-UZVGwWz^|5Nm#%dYN~6 zu|gtyR1ys#cw+}a3)m(C%rfC4*GXS1<}N5}=i?ecBPWsTB(ha}?eNCk0q?yjV@+Lh z>6TRr3?f!p3;iXZE!^~9wg3hrioEUJS``wi?nft+hMTa zza#{LzV*r*zpRy!54oh-#r(oh={zJ5K6bwpPCsCteO^{gh)$1NPp8ch9{Q;#G|N2UR z`&{4x*C%}*-;A!{-cN%0RzrafVZD$B6kUd)V9(b+-VUB$>a9a-}FtMALzZe_iOWH@+inQWxwRttiUB$t{5r0 zG;b9uz3&lcfWHI7067aNq2jZYpdCt>Qhiv~<|?x!sZr#<1|4q3@ExZZ+r*-o6?8WOD?c?pXya; z!@+-epZLR;%9&eo29XrWxT08djJ5<1bI;GNm1k-1m$LhrJwOe9Xn%E@=B=o}I~K0r z3WlNt%IISfS-;^@KS`tSrrQP2(UaAJOmp!Mu^fL@ydNK}=-BlEFD`@@0QiO@p9Kh* z&QrTND-aVV9pjzdpe-!@uef$1GYwrOPQ);I{Q>o49MLFaD*VTx^l;t4#$MbM2{hST z-Up7?=6as}NLmby2qbj5 z9JZ1z{csB)D;B_s;&Z7@cS?q3g^Z5*iKJK_GFCau{GpX5g5)I~T}2B#4!s~>nC3Uy zX0l7|MUuV;8Q1eI@+mm5Mg)vTH+e!>_ zu%%(;eQecv`qW-) z2w%GhRc%0=I&BCB-|cq2pTQ>FNT*~quIf3?3IbY!C)KX`91fLorPmKc<{tghLnQ2T1GNk2F44Np7vS8R}?yV7YZjmi8X1x zB0TT>hBMIHOBlQ7ajBZN(n#t(iyWShL;WoBzT_xe|3g!w0=|F7zw%lbi#x0#Lh|p^ z&haB9x-j)JI|ku;_0_IHdUvY5wzN)ZBLsZ&06l@t4G{5M-G_iYH*`UF%e~ zw~Y)7Vq&6)eCgH321~iJ{{YliQuj))WOZaU`TE39%u|pE`@p%!bD!gyjE^=vC;(_4 z@w{-3Fc90SY?7ueMm1|)9Af%mgrxe`rxm|=a5#ueQ?ZZwyJzWt`nV2(^uUlpgYQ>J z>i_*TP2_A6`Kw%bz*VTRIg-G98&B0GP;w5681*UaDhlliA$CWCR0y9`BAsl?*SP(| z_p|;+j`?v?&5; z_TJtd6V!7^6dPV$YR7>Wfi^TM9+WQYtHCW^n`oO>TXRZ?>TMScJUh>ke+0Ym^rw^( zUHH`}{0*+@VfTy(^5hh&3NA}2Ix4%?}bQxYYZY5GKDX0&oA5FW!8z>N2r z?cRB_1s>fx&qeSHyLL>V@nBML8&JLTx1xG4df*#*gHBn8OWm{)2vpZ%%I|YDs{fXwB7Q!tqkfUn>%OLiR#5aRkJY}J6*Yw}Y8K?V3PP}v5q%+d@ z&k@jYX^QY;8R%W06g|*G(cT!8d%D!2y1jBFY?_oyjq-d9Eyw7{J$C>QiE4ktGW!ABQW8dWW zvWG)H@>#}I)zO?6R^ML=1ah@cSaUB@zW;Pmwz5~GT(ur{Z;k0INrDv{ZigV@nNmf= zZ0%n949eJb5n!ORlh&rR;MIa+V&&(lrpCGc<1FV#!+01ouXer_{6z$DylI&zV$ITg zXs%(X^?T}AV;wtKr?l@B-EhKT5>Nbi9Xqcdsf$F2?VXxH5d-=d$r_&r-MfF7%~u1^ma-gRRi>jwAYQ%bG*8NZ&dvbX1 zyAENe8`fti@%6sZq$CT`xu#9F3O~MLyiUjfdTzxU)N;jf3*!G(zvxX{rzeWtQ|h}9`g_L7~DXR zJ0{XZ*iJQFah`F#xJ1(2Kykchz*4qG4|C~-cyf&kA2FoRzfO`;iUr$cq>nc6AnUTV ziKyGja{?N$90P9l{^B`iSz|_d{E5ILfNYA6$gF7+EVDw{rCS{CGDas#QVhC!+bw;F zyv(&qh}!JKZY{#|`NnKBZLJJfm?Kc+2+&zg!r#R-J!EyYcH!~fr<>p{u&9bzoK!)} z8Eu!zb11r8fwC)m{r1V@u-A}0LWNHyUiRMKQ-=@VcD^F(SZp6*CePZke;6MDc zB72}c#*qfb2nYE1RmCVJT_$y^#fN!nXY5v2yjD2CYq<g-1RoPuf~4Es}|P{Cyxndc>se>i}b2wzr{1 zf&{XSh+6Ua74HVjg$mHVk_s%2==G+j4D@M1`Qu?U47+Gy}Su=D!ow3PV4Zb@4 zBpXs&zsgi;X}^OF%unEmCKDFk^`^X^STlqM)PWy4R-rV9_xKw$))b_G34gN@u*QC^ zm@@Iv+ZZNLR+;f*|8@TX#u&-3=~Fw8SFnoC0t4JzP&8IrY+i{8Io9xt+kLDzbq1R? z513CTtUh6;MBR-SF}eQngVe?W=ZrG?hc>bcyo|-F`yfJ z_Ty!PBXuL{)#+qBWzN?z|HqPRDH1@3L}iTWi&qrGC((@aL5EUq$!Pv)b{g^1`UtR( z@PRfmpW#;Hs3@dQQ?MK#+btmD86zKfUG@R16%i!Y3J{lU!Ho3O+>c)07)h-O{!r_t zF};O7s{Lv5jkPuMLnh-8tyFM!df{ET_pKdf`c%DzJ)@=I)j7IBWAAxBPFW*V5WMlx z>YlNOaJ*i3R@I6KJ2@eA`WjFlUA-Vvc~$gp?KnyJ-`~AfL$Ex!*}o*%QP-|&3*2KQ z#j+55;OWf1QzahH$~h2-e5A~=ZXLfdWFKJ8jF}iK)?mh@|Deg_EaMz~BFNv6S%iFQ z*)w0?V`@z6@e&Kd_&xg5;d2*XS%RgSX-3uH5G$sS~{%f@4WFEb>+7gUrPLC&_n{7XQTTHdsfL1 zvk!|W&jpK%e9=X$7r3dz(25h9GVirJj({Gn1Wg2@S=40>`@4I01WNe+$(Xi>h>GXC zRlnzqXJi1Ny``A%el^~ikES~ZxHIZrf3C3Ix-SU*1vq?^W0ji45b5+RyvZN}=C2 zp6u{*4Hi$?Qq{JC;i3Q_@~=tr=>F1!RT+Y;`i$bcSIguebZgsf934(*yV7o#J^%nW zPk}AzZxP&IKTgF{9kte$p4Y-v8k7Ivr%S%f?Y)o!Wb7!+M)z<2E3DNih~g(yMeaik zrE-z;T>hSWs5)#Qx$ERn-00BCjbvC-gUAHpyIi$9<-LT>5Y&`UNvkPr@2(DeZH*0T z+LfiSy{?&a^n-(0cuI8c={f8+t=4-oEyG#vqTC~B9t4~*mX%K8LScy3(E~qP;cJ+? zBC2vbQMA$j(cHu_rJi8PH8vO!je1XP{d^Y+3l3Ru+&hb^ZHn{klumfT(eNoS@dzvq zta*0ceVTiqfc%oNB9o>jVV+ZT{ktj=-2LNg`anf`!H4x9ec-+J2r|u+pLocfWe?a} zF#jjv33-vj(x?G71$#5PQ@yvX;s z+ZsuzQVKP7E^F(GPe_@Lr;Eb@e8IvK@E!9aNJsFY$nIO8zOK|?tcs3?Vv3jog;MW8 zEe)SxE*UHMz`i6@QDn;VoNvmzJ>-SsZerH;^hDeH`~Cl;^EzGU-i7Cp(TmOh4Oa-uIH_yuff*@s3)N8hO^XJpXyHUH&3cTGP{Z%9l!G#<*f^Y~ne zx3%mqApPUtVKmzD}}Ujxbu!+Y3>i4J+kBW_IeyH2qoBs@#Gc#jCSW^R#%&;$WYc z`O5X#`Nx^CQ%js#BNcB_qGJequz{t~UPOG%UhK-MXgWA(N-oASo%pvTw|^)q*h9P3n-X`&O%GmZU_p3vh1+mxu&#yF-sg!mPByfV_yUXN70 zjqbx_OQMV{lX0Ef<9V$eqo=MsoN~7)+>{B&_T808aq^uAgR#Y^VYp6M&+v!oCv|(f zRGL-@JiszaQdT6;D@P9qYKgn(7)@I@n`1oq0Z{c;BqnSu3%bP0` zmS3fKW%Mk0?PewE3x2$1qx*{Rj_x3JipffO)8|LG1$wVM>(fqea~)GlLT(&sLEM6I zfOD-3cn~)-c-`NgoO}J*$~}xDyGwwkH8yYbJqIY0$%OA;<8*SDIj zKwiowt4%xmYB2?Ghp*#b`dj;{UbEykUR$h}+0e_-xS3O?qA2C(JioRAuzVk#rMT*A z4;iN5afj&k3Q_i*($7m-e%AUo%2$-x!rAs^+@*fle%tP5cNMO5-v!kM6?`QNbba#g z)AgN#!_&?|dU-NJVOB<_TM6>JXjnIw=WW3c5!v5VRc;NesmWp^ajc$C4y;o}-AY+Q z=(i~TK0M*rs#$ni)-2Pc9<@#zUFyU>LugtW&E@MPGHl9GD&Ni zNCO#Rn-jceNA%Yn@zL7DBihPF9P##qcwB;-Jf~2`l$Jc_kbq!Z47^u*r}n~G$|6JE z3<8CF){vR$q>{ML^WZ4_{YsdT9277!6I#MIO`NHy${|X_&vzYQ{)(HBcMIB8a^RJk zn?k%(vT6IsEZA)&(t|DB!@yP)274M0`5W%&h9m!Xc;Y!+IKT~M*cwlPu}la%&Z>l3 zI5u0$K-|yILg;IU+swt?8OB~^#!Ma5;@86+8