From 6b51a947c81e8876a92444542e4b87e915e7e7e0 Mon Sep 17 00:00:00 2001 From: Alex Kanitz Date: Fri, 23 Aug 2024 12:30:36 +0200 Subject: [PATCH 1/5] docs: deploy dedicated docs pages --- .github/workflows/docs.yml | 54 ++++++++++++++ docs/README.md | 69 ++++++++++++++++++ docs/guides/installation.md | 32 ++++++++ docs/images/biozentrum_logo.200px.png | Bin 0 -> 5844 bytes docs/images/sib_logo.200px.png | Bin 0 -> 5349 bytes docs/images/zarp_logo.256px.png | Bin 0 -> 20421 bytes docs/images/zarp_logo.32px.png | Bin 0 -> 1755 bytes docs/images/zarp_logo.384px.png | Bin 0 -> 31328 bytes docs/images/zavolab_logo.200px.png | Bin 0 -> 10344 bytes docs/includes/abbreviations.md | 1 + docs/includes/references.md | 12 +++ docs/overrides/.icons/email.svg | 1 + docs/overrides/.icons/forum.svg | 53 ++++++++++++++ docs/overrides/.icons/github.svg | 101 ++++++++++++++++++++++++++ docs/overrides/.icons/twitter.svg | 62 ++++++++++++++++ docs/requirements.txt | 3 + mkdocs.yml | 68 +++++++++++++++++ 17 files changed, 456 insertions(+) create mode 100644 .github/workflows/docs.yml create mode 100644 docs/README.md create mode 100644 docs/guides/installation.md create mode 100644 docs/images/biozentrum_logo.200px.png create mode 100644 docs/images/sib_logo.200px.png create mode 100644 docs/images/zarp_logo.256px.png create mode 100644 docs/images/zarp_logo.32px.png create mode 100644 docs/images/zarp_logo.384px.png create mode 100644 docs/images/zavolab_logo.200px.png create mode 100644 docs/includes/abbreviations.md create mode 100644 docs/includes/references.md create mode 100644 docs/overrides/.icons/email.svg create mode 100644 docs/overrides/.icons/forum.svg create mode 100644 docs/overrides/.icons/github.svg create mode 100644 docs/overrides/.icons/twitter.svg create mode 100644 docs/requirements.txt create mode 100644 mkdocs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..7c28495 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,54 @@ +name: Docs + +on: + pull: '*' # delete line + push: + branches: '*' # replace with [main, dev] + workflow_dispatch: + +jobs: + + docs: + runs-on: ubuntu-latest + defaults: + run: + shell: bash -l {0} + + steps: + - name: Checkout zarp repository + uses: actions/checkout@v4 + + - name: Setup miniconda & zarp env + uses: conda-incubator/setup-miniconda@v3 + with: + python-version: "3.10" + mamba-version: "*" + channels: conda-forge + channel-priority: true + auto-update-conda: false + activate-environment: zarp + environment-file: install/environment.yml + auto-activate-base: false + + - name: Update zarp env with root. packages + run: mamba env update -p $CONDA_PREFIX -f install/environment.root.yml + + - name: Update zarp env with dev. packages + run: mamba env update -p $CONDA_PREFIX -f install/environment.dev.yml + + - name: Display all miniconda & env info + run: | + conda info -a + conda list + + - name: Cache build artifacts + uses: actions/cache@v4 + with: + key: ${{ github.ref }} + path: .cache + + - name: Install doc requirements + run: pip install -r docs/requirements.txt + + - name: Publish docs + run: mkdocs gh-deploy --force --clean --verbose diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..56ccee9 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,69 @@ +
+ ![ZARP logo](./images/zarp_logo.384px.png){ width="384" } +
+ +# ZARP + +**Welcome to the _ZARP_ documentation pages!** + +_ZARP_ is a [Snakemake][snakemake] workflow ... + +TODO: Complete intro/summary section + +NOTE: Include references in `/includes/references.md` +NOTE: Include abbreviations in `includes/abbreviations.md` (example: EAWNKWIMPR) +NOTE: Include emojis (example: :rocket:) +NOTE: Check out the [ZARP-cli docs pages](https://zavolab.github.io/zarp-cli/) +for inspiration. +NOTE: Check out [MKDocs](https://www.mkdocs.org/) and [Material for +MkDocs](https://squidfunk.github.io/mkdocs-material/) docs for more info + +## How does it work? + +Briefly, when a _ZARP_ run is triggered, ... + +TODO: Complete section + +## How to cite + +If you use _ZARP_ in your work, please kindly cite the following article: + +**ZARP: A user-friendly and versatile RNA-seq analysis workflow** +_Maria Katsantoni, Foivos Gypas, Christina J. Herrmann, Dominik Burri, Maciej +Bak, Paula Iborra, Krish Agarwal, Meric Ataman, Máté Balajti, Noè Pozzan, Niels +Schlusser, Youngbin Moon, Aleksei Mironov, Anastasiya Börsch, Mihaela Zavolan, +Alexander Kanitz_ +F1000Research 2024, 13:533 + + +## Training materials + +Coming soon... + +## Info materials + +Coming soon... + +## Reach out + +There are several ways to get in touch with us: + +- For ZARP usage questions, please use the [_ZARP_ Q&A forum][zarp-qa] + (requires [GitHub registration][github-signup]) +- For feature suggestions and bug reports, please use either the + [ZARP][zarp-issue-tracker] or [ZARP-cli][zarp-cli-issue-tracker] issue + tracker (requires [GitHub registration][github-signup]) +- For any other requests, please reach out to us via [email][contact] + +!!! info "Contributors welcome!" + + Open source contributors are always welcome, for [_ZARP_][zarp], + [_ZARP-cli_][zarp-cli] or any other of the [Zavolab + projects][zavolab-gh]. Simply reach out by [email][contact] to schedule + an onboarding call. + +## Acknowledgements + +[![Zavolab](images/zavolab_logo.200px.png)](https://www.biozentrum.unibas.ch/research/research-groups/research-groups-a-z/overview/unit/research-group-mihaela-zavolan) +[![Biozentrum, University of Basel](images/biozentrum_logo.200px.png)](https://www.biozentrum.unibas.ch/) +[![Swiss Institute of Bioinformatics](images/sib_logo.200px.png)](https://www.sib.swiss/) diff --git a/docs/guides/installation.md b/docs/guides/installation.md new file mode 100644 index 0000000..a8cabf0 --- /dev/null +++ b/docs/guides/installation.md @@ -0,0 +1,32 @@ +# Installation + +On this page, you will find out how to install _ZARP_ on your system. + +## Requirements + +Installation requires the following: + +- Linux (tested with Ubuntu 20.04; macOS has not been tested yet) +- [Conda][conda] (tested with `conda 22.11.1`) +- [Mamba][mamba] (tested with `mamba 1.3.0`) +- [Singularity][singularity] (tested with `singularity 3.8.6`; not required + if you have root permissions on the machine you would like to install + _ZARP-cli_ on; in that case choose one of the `.root.` environment file + flavors [below](#3-install-app-dependencies)) + +> Other versions, especially older ones, are not guaranteed to work. + +TODO: Add/replace requirements/versions + +## Installation steps + +### 1. Clone ZARP + +Clone the [ZARP workflow repository][zarp] with: + +```sh +git clone git@github.com:zavolanlab/zarp +# or: git clone https://github.com/zavolanlab/zarp.git +``` + +TODO: Add on... diff --git a/docs/images/biozentrum_logo.200px.png b/docs/images/biozentrum_logo.200px.png new file mode 100644 index 0000000000000000000000000000000000000000..12ad52b4f971545518c13783705b0bb2c9f63980 GIT binary patch literal 5844 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 M)aZ^O_9is;KLbc_HUIzs literal 0 HcmV?d00001 diff --git a/docs/images/sib_logo.200px.png b/docs/images/sib_logo.200px.png new file mode 100644 index 0000000000000000000000000000000000000000..34ff2defc7706a2d204fe06f78588f591f2d2b58 GIT binary patch literal 5349 zcmb_g2UAm9vmV1PPEpfS`1Q(3`Z2NT{KM0qF_^DN?0KQ@ThAU8*SM z0)o;z0cj$=^4FCXWk=hzYq;ufE1-e1n zD^XQ>qyy*!N1A|0PYCE~Ea?tLYn%H30CYY7EwZ$`blfB%r!NBKYwYRli?R210$?y0 zNw??jK92TiCrM9lm+W0-E&zbV0jU8q3CP)*3k+bMoTu8~dn}5qmm_EvAeIVI2E}!8 zf_DnBGog%R>>4nj#)KJP+nsyZ_`gkv+IO+f3Y+dqg2W`PYU`Tz;^Agla>)AO zKw_D9?{G0PNc636$H?Jn|M$V1Gs5@kjhwgjfG7qyNZ|i#W8#N>i06d-mSv@*ib9e* zhGs?_Tg=^kq7!z-6us;(p^~vpzkGsoG-5DhV~nyGc*YL2?`7=zB~K1<_vV(kbH)4q zN9^qy>Q02kL^YKIOhxA;`~!;Za?#O*z8x~i=p-GD=`I*3lXP`mv~C!{!vV3GbKF?X3%C8?b(^K?b*v9r;<9!1JO{oUQ_yW2n%bic0;qMG zUp#)9aaffejFl37ywHJS~&7c zJjyxsEhaZeD9w*jV~yx5cRe6}$=m}$wr)>km#xt2Bqw%vBsek9&Tda|24T~nr^E(! z;P;a1OGDKja>3O#Q^cN@2T32#b*|psRXGiJT4-)rJ zR9(ZuamrbbaOZw$${2-0Wgjk+VxfP z4aCbRIFinQ1{Ws=Th@@!_8;3Z7Iz%sV@QGqY;iuCagdk|=*N{k+tAzF` z_gbmDa46wEEZ)X~M%@h=GSymVbKvuHt#7aQtA5_{`*cXk!il=Sf_F3382y$*Zo8>duJ1Mk@`n|jY2N>W7&PA;d8Wrk#*6}P~?^Y`&~_kJYz3* z1OOC%=7%d17=(kFgh+7aioqN-^lR#vMYI#kCF8Cu;~Y47Uxv?%zwR)c+P4w)v65GYRO{hR9riL1q-&;I5q7yu`lg~Kfb=I2azzRYhatQqFn*^mn!i905mU0KkWuK zxr`uAOY@C+^)w5CZj{wO;8m58D3bx{I-b_obVnDoz67P5Y z!s~j5WJUjz5}9FD`AhdcC}`(OaQyq_FR5^p!iVYy&p~YhXzoX5!ka==k$jv{rUl)sk8VV*#*&tW++fy;PXWh zBE>1{ID~8=ntjpwSa>y(HbSgBXb^$^)+(`!x$PZElSi3UCtrRzKK_>xVoOz;iEI)|1W0mpaT(TllWR(GMU~Kd@&MUu|*1(^X9@uQ?k#N0DdZ zev_I1Y>%Ff!UNdMBF?gwThir*egPFHEUd!3CV1y9nJ<0WTUqtH8jqXVDk=4`W1#J( zF_Idz(YW-7!&*X969oq;h<)W24Jcz=;YXch^~&A`W)ri&y>NepLbof;fb>eW&3dSn zLqeL}{jQ)jC-khmwciXxJ|(oHE0n0duhPu5*k&Q4?u5XiJtclT100_JVllP^`*V|= zQ*F1>cqMO`>H3UaZa5S;&pHA~iPdCuj!x8NkRAaKmC?~L-~ z^>E~C5BN1i4`VcX3GRrEaK%r8zE@Ay5j~` zWX@UZ$DF=`n>SW^R=q(W9+C|RBeD`-b=q**We_4|Rgv!H3wS7uNf3*G${ z{lzRlRr2h{e^{)~k=y@ame?%3+mRKX_Pi1yelz!Vl;bbmnpgZ395+c?OkXq3)~`cq zb|_vIKH_)FfH;Kli3`Pah0O_b1oLF0+ej|l%gPCrHQlng(O+q7-*)MsmgrfiZg*(f zZHJ-B(a=Z+70;h~vVd>aY{ zFwVDONT7z`XF=hIyxj{|owv6p#zL`D>5Go6eGCD66ajZl3*A|Q`N2L8<^MKgLh zi*9`IR-Yd)&CA8$AcJrY#-~=; zfd;?*Dhn!71VnY5y~aG?ytQ#zfF5pv?#fGwGicZi-Cw<_SU*{-yLgpkfcg1gK;F*- zEH5G>1mjS*oAD3G51`h)*RE5EXa$m`Gk#fY^0AnGsMdGq?^#9}pRdiY?~;1kz!dj? zmO_I(eB4vWuIApza@g@gD+1#~GlpkBoK#xGoP(!)s?8n|G9ZZpHEYm-JQSGtsQLwE zdBdWv6qkM5miL1aA`Qvzmv_>gOpf?-Op_+Zoe}oMEjRMCGTv2;xRohlfLZrj)dmX~ z*{HinxqxSLo}Q|@x5vH+ILBIY8y@?uO3|x zwoLoUevW?=VgFf%1LCJd?r`BCmBGD~A9ln2PpMMH{gtaigJpA0q)-azKYDPPITyMA z!+<>@SxgKDio>>`ltfSxQogSAwKV_-7#Xk#*jzyN2gcs5dO5v*fDIfiM?dc1G-`BY zxW2w6H*5(YmNY6N@)cc^tAt9fL+#t134e3RC37@4n`~GS=g`78xr{@ii9ttWKqr9zJLv^dI0J4uDr8|+Ur zxV@jqlk@MYjrV0VS4qAn>~apE<|zW{RRM=?6wB@Dl-PY}8(S48M*TUu*H`ztFvdRn z!ROwM7alW)va9gPZD2Ml?{U~o5>uJ=s=zs&{_xcJBGKscQy5!y82 z*i4XEd&cniz{8@l$KYQw#J$SMT1?=F1=bnX+f#e=*B5$X2CQUjwB5dIJ<8Jv!p?5;v=}DxNNtm*S?rT4M=sCtp zOS#Eq*mRc5q)Igt{cMmaw(d=%gx0}2+8^QNA;48$5q&Y=ETM9u+!E!2%8EUX zi6A_^BpZc5MON>m<!>cwX>nbFD<|7(k+r%ycXoC6gTpCk0e^`WV%Am)iU+@L9?XKYr9XRFwbL#%oa!*gtak^(0;sYhTinnkaOqhN?z$t_B(?O2YRCgXu%T%hr zqR};dEHE=YHeg!^sZD<&4a9`qSlDt|3U;=(y7z2>=X*z-J%?f(c~waFySJPC!5*IZXr)wG;_1jTH4yVVk$~@;UqjEIg%2o( zyC%p;tJ1&xkfEUeGs*GSE7P)sG`enk(rX$kt(0XdDimVJ}nskDy!qQaa@w+cmL;74Z)9;On^ zJk8+Aw~yk}9iumWg%z{X#bCH^1{JMr!W*puQtAESSs$&cTV?2DW!zC(#d=y5 z>|1ub=37DoGAXvlx7k7DJmb&f@hT+z-q1WXHyiIu({{3cLKKq<2h`!E2N@eQz__O= zTU;daU4?Sy3>5GlRuWooA$9gOueggyV}MQ7iaB;DiEXo(h#T>`05PVb%JmVqNI$zT zZeC>t0g0jTf+Yk&k`-J}&V4F|jN9&-Hi&3^kKLiR&z7UxQT<76Ol+@MIIJA&Un=-p zC`H+NH}6I0pGm3XXFuCWnb)<^O(?`YKhkr~2lQlDv$%vUR>My0IhErcvt8S&AnG1B zSo5t6x;^(1;4-Y=4rJ~>JpXE{lGS81*i?o{7 z8i1&(+v&vLB_WJS6NI|28hqZFqZzhE{->@34bso1c^th5b~Pt#0&c_cY5fmk+Dq%W zLy9Xb{P@@+)|t!YddOiDNx6xg7yNEP`2nuUkVGb7%`SQs%_qbz&@;~qdcpl`tuhri zDe}G0=`D=9ZOHr6K-Aiy`pNX4cIP4c$b6H+pwVX6plcD`Eq#^~pgkk6a*(!AxFkmf zzXE5MzUA{d&NT5a#9_9H*Bp^q_1AIx^s2qSZ(R=lq%)Ios;^x37xuU8De&Ydrwz4R zl87a#u~bfyQ2(B6U#8+G22aD!Sl#oSU05S#S^kPpgIuM5CPYm%Gk@F20k0fD?SB7Y zB_*?^q%`ceHO=A{t|iY7Ep)#g@V=*daf@idMdtZ2oYbNS_}x=qEwx=VZy~>)nolHH zbh$9av#0fr62w2B3a>(NC;+P7&Q4kV8=UU z!$_25bKLUb2aVwXyLXRHZ-HteF}YDaQPR5|&}*>Z(D|?F*r&8N{&za$OUECQ4@P~% z+rSH%^LAK12B%;uv%d9K&`r#VfdZ@&TEK=iTwOU{7A7AFxXMtYE`TUCGuhvmh-0kq zTBoZF_{JE(kVRn2u3L3X!92Z-!*NNQW62^7^{9tt&*d2n~dj%~N*u@{^ zQxxnmsEve<5bDZm?r)fDscF7aD`Eo>*kJ8T!+%d~VuNSIk!CLqj%R4y1300oq4X%gCs$Q~ zt1EB*WBHo~bU<_frHEOPT#!FDO@3kWx|>+ECDIsJ;FeAF;+4CeXmBXdu>A{nUVVnR zSV?gV2aV?rfiv)(2tY;*wzLI7Cmu`^bN~L}0FJdnwlWf-I+Wj%n+R~b4NwTA;wsMg z|Nl+Ta4P^1D%)a35<`jxsaa!~B_;yIue+lnB48g^8KqUc(ft&<0s`P8T0&&$gy8p0 zdjC}6QUU_-ziZCI`S@U;ttta2jhmthk8-j=K&e7LW7D+(1;-bU!~I59gPpRi%>p7M zHwFP74AFrvU`7j-4R|ZR3kR*^Ryzi zjdFBcTzDY6ft(@BJF}`QK};R+dSrez8Sq`EC2P%S?TcN-f5-PRMS2)Tj1vRyT-w11 zOlxk4jL@n3V1hxpl2uINO8^Z2ULr-~oZxHmy%;afBwF7v^Bk^RJfXJ;No z9kmQGuc1zMyYuWvh@VH%1jV*&@P~k)oWEZEyhs@ynzp$!A`0Is2`$XNvNoVY2Ks)_6|Pq8zSIH`6L>go4^L}JTFXGhb)##; zQAT1Q))oM8gvG+9Y{K#YBM0~Hto7dtiz|6~|I|Cj#&$ZcKC7ShcQ0*1UELWW=+{kM z1Hr}sA0EAi)kwXI1AWAJ!1*ZG-$m_R$>}R=fez)w<=`#YS1D^sE>uJaB!RdlWapdS zU{~gRu{+&c_8L5BpGtFJEoVAjCa9jP2#=#SjyukP!WI&lLR+zC5t>A^ljrW4x^bB= zt01kehf+|7S&P3-v_F>ZJGnGSLUYnJ14JyY8_aF8rMi?Gv|L~;QNGjNJkr%CQRqqy z6%}+lKI|p=Zz0W6lAE+N)khH_>iAOJpN$M9Y0Y&&iL=|Z1Tu)o;oi>L6ujQ<_VK9` zTXwFwq!aPUJVYY5Hk56`cCEjPqeCY{Z$8Jt_f0VX@iPa9q%^RNgR(AUH3ChlAx`6e zS-ZX;FD6kPzJvF!mYq+UsDU@=&?VWU;`&C&$681NY2|NEBXr*qV)Wg<^Q1hwl^7Bh z&UV!4vUmF?OHfY%sX9%Y7xK|V1TzDJ4<=!m-Zp&ize^SyWG`o|j^>=d%=hVKmAwI> zH2o7HsKYhbuL4viyXz!Axu(gjM8HRKvj=>Bc;XoQ^OEjpzHhE?KYOeR-1_Zw`VT&q)94Z3H)!GT>30OMcegySduJ6*;8xQw_)6sG?anQa$1s8vUIgr!8S zppvxvx*OT-8xvTBRh#K=sMc3^8l9{&SKdG&W?pxQ9hGXL8(>)0I4jlgoUEdl&X`PS z5qykOe{_;6otdbQd>z>>Bm{sW#Tf0+oz705MMS=Mc&3ge4=)7R5bHaN$aeVr<~PqB zJ+mBY{SQPfOt zHZURPc#)LJ74L==(kWmv5C5l+9T?-qF!p6-MaAuYay}pC{ko1bF0R4ih6>JpFd+w= z@qCwIfx2)=Zc2!HvVd`EdZf}s-i=|UgVD%7UDZJjNFia^qo#g!LS5o#a!FBKH0I!# zYFJVo*`W2+-_0jPz2P#-%V#Gc8)B%XqsPVb!75M>VgXXPJ zyzrNY4_*#sI;b0=vaPL$qjf>V(QjUAdEzb7vfRW*3sQSYu)q}EbfHiMVna+!m-OEY zbfX4Bw<~_;JtYp_nqNLR-$?WPb0r{$)ClN}OZCA{u3++9E}p7`E{axx$jdp!>^_a< z_=rkIWQwl^8|rr5)`iO_Rk*fpR=vue)OcriFBEOi_W?=Gc$czR2YvLZ3Kc|3>$N`7 zUDx}2#@{9?L2Dov&337z?`FTebU?#z)cmZK%#1;q6~e}EG%nRI^%el6clOd6zdNP0 zd?{u|Lti^odVLzFm!&oD*%8{s2CS+FT0@E|)K`2TFE||MtZ#1)siJJ%I#9?5pRfw5 zmOAs9qhc9g@CJh%_a`ueqxX8>oT`|Kp4;(=$n9V!7Pr@37co_P$|D$2 z+4zwQ1$c^chpUPK^%(~5AtD3aHF^fR@fJmo*!HuZR#vMt{i^B21<;33eQq|X*t}sm zk)>~fNL7x3{xZW)_^h6L~Z=stZp%G4y(?qerQuQhAAi2AZkcG zP{xK7YLkT*VA!VTe%fljdVb^4SSG^t)$*WNbI;wyq{ot#Ep=9T>}2H)a#|@m*j4mc z58B586zE(=##6{oWcaSY^7c~kp1iE;=e@qhD<8mvo7y7GiGOD&@(_y9UHTy$h|Dunnxv6q( zqbXmOHz(`@zW(>`Kaw!;@l7!#hI|gqE_H%(7jxAJJUvt9)l2^KtpU$3#+C3Uo*3ur z_oQqnAuEqgh@K!Ir+_&|!h^5jFZ^EDLbAd28lM5}j`&yk3_@xdnbrZ*8oc*Ni{NL$ zU!9rw;!mDJN|Q69fCyR7fI`Mx@Y@=EAOXVxHKI@kkg5`iFS~ftH}NN}CRctuV9|4j z$gg!ExTpYBKW@bo5LJ&36h!S*RF@}cdm@lptpCP27JKH~+t}e!VYL1Ly{T!JbHkI} z=bgCe3n~+zCFw>+K*M9{gp05prwysDhT{uw`a+P~agWBQlFf=;rWgN`wzH6+dy+8_ zn{DUN(&%#YxqWP!4-3THd=O2AcMJzW3>e780?*?YN9q1X2=)j68JGXrc^BcPv5UsK ztZon2r&jzZjTGaGyd+2IK^RIfK?z0wTW)E`e`c;qSipi5k6~_0N~d=J_{$Z~DphNk zW7*k;(a>0-sg!`I(s|RFwsbP;zs(54);}9MqkX={YF#?fp5|dKINOxD|J7$w zvAF+DK98srUT$ITrS5l^u5Y138_}rC2-?13uwfm@J?cC>yVEGHkwfwnkHqg+dAp{B zy(TPaz)+w%tvM&0d}S)S7{US~KohyOAY_3mxqJSrt9EAiB!QPl_%>d7peFQsR9Ft7 z*AH^IfVKKbRG|bu_mKA-^8g@G^5BTV|M6AY=BV)jT`rB0Tq#B zv3DP;vMtQ)`A9*Jt!wMrtfOTH?NF%@W57nek}pz~Tv5&N@g1taenU&Iv1=qf{sv^2 zAi=;t+cN(qM>s942#x{W@5VH)9v#9{>w@LIx@ zr&q>u@vRZmHuS&0~;VA^L{SL6*>OwULG7* z>x8O7^2JG4H4&lp-?xj~g6Qvb;`inVflFMOJM=AUdbabsdM%3mOZKn!QLulT#F4}k zJ@){@FxMx|e-(?l-;Tt^izu9*IUeC}+v{iN*bB%hWKPZ@825cpzWt16k1IEWFJj zviEl&X9Zx=4UI&3Mf&cXw3%9iaetTE=7nz2P|0Uk}^kQo-cVz;i(dN zAoAQ`xxHk}wHa)izi^3*%+YcLkQ7ny2+8`LD)kFbfx}M`Gd;Gh$62*zOy0VJMy_50 zbCn((K2mcIh(yZ=PS82hCoCw{AP^lr_puA<_ZVHM^?kX9I!2IUA5I z97@LHiC@5@P8tU`74pFDrgJd;T3u{N6?EL$2FVuxSfgY!Sf*_36bQMRLI#97;VrDR zUylc=z=ZOhP&{H9e>;%z7=`8 zUh@HYGjsk?%kN&Q(Cn~8XJOK4kP?52+A1X0F{N1IdP0{UU zvfvFJEJpI#DfD-2Z$Ec)G_nWC*6i}OeDHv)v_bGCy`mFtB-Cp`ILAcDLQak}RibVd zo%F=G_=m{IK}|YQ*$rJ=1CiVsgl-eFBc7vCuIpI9;+#ai7#B;9N+ky(l0mq?PcQkX z`X(K70YSYSM9hmI18P%N{;2vBI%RMGelAQ*a*ZJkRs-SdFO&7@cNo1 zG>8pQ_opnuJ(dO#cm2!aFgpRR5at;5J=N9h0-cMBqmix-X(u@1Y2f`I#m97~yb#G^ z_H4D3uQ>_(bkPf~FQiy!J%}!kikt9yS7hr>YG+(KKGg3>gc`{5djo)CD)eyO>EYDq zLF^Stm!ufP`jzzqIS@ecm~zi94Qea%`uqYiV~8r_0^lTwU5J)(yg+w*$kfaP#A2xX zqG*Zs)_Bf%>(RPV&Ug35;2Kg4Gj#dNOZYvadL}p$CdJYjF5NM~Sd=8i%Kz5vzm3P= zo6}eBbUOGnL{@*78_F+IX97&f_8@^At`GkW(M7+>?`-d7V;tR&;up<_-s}sbeBJ?V zTY;#?Y2t;Xth%tc*kitE>D>+@7VpvZOB|~J7k|tDf>02FD=xLy`A?3bYz4hA!h;<~el$L&LdqsiRbyun?goSWk+fVhL4q6K$-edhUg*Yjf zY{X8XVT&0;O-t8;Gvwv!a;r-D^=zA#rSNz!cIIc}s6p^K3RP?tvE8hP%ri^e0>Fpa zd;*sv5u+(*uR}H2E{FbEObk6#ZiO=%JksttI;F6n>#!_480VBd>abPHGK zuS6aWOa$O?eP*rSbAkvV2EjXz4<{5#ew+tl>7t6fkF~UlCZP>)?|1v?Y!1#@IvxT- z<*4+7iL4!e%u|v77?@3WdC-vWc7%BP&nVaF1j^@qXK1)&Me#R9BH@bXsy1sT!ojUAjm7$lLlbY%Z zeLf~&4;m3koSNE@FXCAUsTxx6txr0>c7D*5aQIz?c%k7YYj@P=3s)x*)0N}j#bts1 z@=j=alRrxP9ss(52^)l*cS*5Xt*l22+Szx->748cCf1*H1Y22~Qa0eQmftG#@qCrD?iJBiMQm zf;O?#uhRkGt0ZZ5L;vNfBY0{`XA6XuX}^==nsfM!E=o21eS)t)*c~bVDV{BL-**@k zzYz#2xq=hfqv``zX#Zfv_F^y-cC2ARc|L*?jf4D&)G`cj6ww0=yjMKzE9s8mAU2Zb zKv@&{b4_*jajf((feW6M#iQyd!2m1#+49H$EV8&d24Q&U4y)&t9&Jtwr;I-NJsGeg zr9sFoU;0+=RuXD9<+Oc-9lyS5`)6djkr{#tD!7D)*s$_5$TBGlv#igRJbn3I2LcQt zeN+8J?o~N9Et-T_(x36P`j;n9*n)L7=sk^-GM(V&$0d_pkwF49b^XUhlBe@UZURE) zp@;*1jEozedJDpOFN(lN0aD()12j{K%g*%yqbW3?65|||FJL`a&+OHA{m&@G?_QL? zglB!n3G%(1mW77stf!uAt%lD@S~ArfOmXt(5ya}K<`&hR6Aue#87p60mjx9AwHL^> z637Ie$(p51Tsv@JxOQ}&AJRq!QSHwHAaFAHnDUWD@^vy$p2szue}ftX>lPEOGzSr< zq59jR%v=Cy0DmA~yhxRvK2eUcoN85Dv6o=taCV}TRn`(={ z`GRFfxAFnJ@Y;$z1$M<+qOiB*Cd zxk7kLF9$(T(OxZ`#b+tVpedje6pdNUVGgZNBYySvZkey+!Kk2PPN5%Sj=>F}Z!iF< zRjJXj6%#9bcXK}Y%nGYt(bI!pqo254MQ1#4 zoQ~XW2b*o z7@==+g<|_FhhnKn4jhB+Y^{QAWNiGu+HB)k)B62XF~@UHCXFfAU9ZPu;KHC%hNxPW(8hw@vgejr;@XX zWHy%B+~$I=(H_6I^{%LZ+1*_$Oar+uEJXJFB}G6Dw@?#MMFME>YbiX>FTLJ^j0B#M zNx~5iSSIlJFqJcOZ-yiC-9t)=>8sC!i)hdRB7g#Xe65<3635J{)|xs@+@Nj9sUm&$ z=AWu@w&n(|IEw8aVpiGbsmO=rq0YPQxMv~1_e&HDe~2=;h=}6$}7yp(_??Oe}IOe8P~nO#0%}d7fA`qD}q={fK0L>Kc7B}Nd)i; zP-Y^g@z>~Q?7#z2XEbkdnYF>i>U3+)3FuuqeuaQDc)IM@kG&0*m)bOQaA(xN$=F9* zXiPs;zo;@Hiy($-URAn(5y7w3gh($YN5*WWi)R!bbpFN5-2!IbLTzK#ejcK#TL@HQg&Z z=Meu0)4j&ba|0@FaHHd5uHGWlvro7aWMK_Ym(NELGfk89HKuV* z{8yo|pv#jP+yfR`?Z3AT>Ab^Q=TKH!AX>0F-E8A%FXWe@FtqV|FasIu{Bfsm;>0@9 z_{MScC;wLk0+VMm$dINk8PW{*vCF>-78b84PK#G0a7~!>@FonHe_UnjW_1X(tVD{u zUB;WWTXjBXQhyCyN*||DV*|+%{qu_Yhy#hEjuy9;+(klRUg~lM@~E>u`R$Xo_zJ*V z^&0Q$3i(B47=^6>J+=496XzB7ASj#-d;$KSDP!^+h5$t+z7rYA6vS|EW|(qBbFwh2 zi#NB3?9kV}vCiCJ5H6UWvhDAGaZ2;~(T1 zfHq&rZ0rxykRU=hu;J*OzzCUAAVpk5ce+$=8p6{(N&A*AeUSv0J1Z;=_B`G(`(mR= z*MWj%KNvd@PrRu}q3^$$U<~+*C8JI(%tGK4AcFFv=3QLRiT{-`vyzVitF=UmLc47Y z-mFJz3>8X&{{biXXAD&xP2kr{IS9I3aCNy}3c)qpMD^5=hx`tBX$*XZ3qIShWccGZ z4`L%a(t6zj7z^2vH-d`<5Fz5*jBe|`3fDA(q;Hq_Soks8TQDypq=)AotOV&f<%08j zgn}h{BoHktBWCKc^T0X2gzrvvoo~}#1}EZYAAyhVSm1o{=8#}N1uX#Uw-rc*ajxEZ zQ;P?km1z!Q z7sGzfDvp7`J_SjbXz6RQ#u;JTz~Cp(wYCS>TMDw4(r&_&APSCC`a)J$IBFEItC+$* z%UclN->-pLG~&^Wqw=k#8*3&;C{H&aT)i*{pe%TsP%Lpl5oimhpUxn2tzKzY*M_kK zz3WST|K}gL1lzWBO1RI#Bu**V&w7e@EE>hk1;*ajZ)>lxpjF4Oo9{Qnk#OcRQBo1> zt_K?6QKS9_WotFIpw)Fbs-ktBdkx&_{ht>A@%)CMWOa1#=(2U|J7zLl?&>$Lf_Rl) zIJs7!VA%DHh1A)Z@yyGamW-{L%q6A64mqcz4gN!y@y4TkJ)vqWio^`qLhw`54^W!}tzUVezaJ==lZj zyEkth2RI|!_AM)%{=OzaY)Dq@?|ejTBlI|24LMpaZWsHe$=iH3gTdj*(r(;5;ciHz$S(d?JI*`gtHw?AIpyJsrA&87yM=xEW7w4YBJgDCfvH%{@sG(WD5WCjO+c>KYT_dj@gEXnIjS6_2%@wG-t1?oma~&B!b}U z&yKtVg!Sy!}z`WjDB3i8pV@vC=^63#v6A&Z1K)|vjxGXbL5CHMJ5 zG4s&qPqz=Bf41VgT^Yx-{{s==)>JBJGIdK77MT{p5&`48McnB<8MA@?UiB<@_`4U6 z^--!nqNFTY1n*MQfXCNY0aR)kDHm^W8Q$y+ zG8A42hMTAW>fY=O!H0P#)v?!?X^UqmQ2}k$tjS52pUuwRzWVDb-$AGsi+cZhr54(` z)51E)jUg9qQ4h9N4(=-Qy-GbJ^=g2(ck;22rVSk+^4Lpz#!eZ#U#!sP$&Gn;L9zZv zWe48@_!uhj$a22uZzP@`<0LK?A}GO7$kEgXf%N=|@3g+wG0qQ`yxaWF?Y%KH3Jqu8 z%seC2zlWBuf;Ks&lske2cbx`das`-`?KPF1MQ7u;NloZ%#wBO`3{jZZ#gCbCku6v! za!L~|$*mUw(WmtHI9oV%6bys{ULS>;7HE;j0@voo{$ga>j#!Qw!e|d< zuo!9ia&VYE-&8`%|KU$AeI;K-HR64#u4LHz*c(%setdyXpGgqafCV+9l2rh@br{~P z09z1r@jwSt@4DaM*^&ba3YhqXj6C@F^3}48aPtT|;p56b^mTqXmx#CwSv((d<8Pvs z8tQK-d1U^nJSP;Up+Kr;f-G4YI@PUSb){)7FOGT>%=OYu)l-sD+5M2ckIIM1IxL*N zj@P^Kr@a-A?+Fc=v^Gn$GzZrptxx{y@&P4?x5Kr7Jb=cm%I~S@NsQwAOoDvQY1Nt zaF84Dq+?X_fC+hx4vn53%WeCj2z{=w#YAz@N^B3dt3@UhDMP8E2zOLs2YHEoW`-`17CHqT}`&S$@w(4q*PxCbM~x zQ+C0vuj2IU(^Z?#J42Ue#fZeOIcL9I+@rO|RyA1p_Ow}F(4qzs3j$`yJd#jS*in9d zl!>o@1+6Bd^H z^zC>BYA=6(GLR1z70+vw*H%O^+_!Bvw$%)jd~9yeuxLTaEnSb3~as}M<*ifiR^ zJ&7B7Vjm^`HEO2w{vk&3KVax-+rnmnWmxkt&c)YpRj)CzghM1qB2N*+3HEgmg4_1X za^_vSu==bsSQ54z5988oSAj@qteNoXv^HT%GBQ<{%$K}Iaui|IM^$cD;K=*{0XZwPjI=W8hFKf?4qGPwgTj0JfqOqbF?EF&p}(X04;SjdiNYtPMBo&%_>*a*UW#svE9BjDn4wdJzcd=7}wh9 z)PRtQMv*wydMRw_q=H^=W@1b8Dac?9zA95(;^#&~X72jRhj`@Ab|z5&fNpl`mx@i!lX*3ounH4c{>B*_OG_`+qSwQGFyJ##urxrwMxUSB z_3xEMtSh=KH4m0&qkTaIw=aGI3|1jDMHNKAoL%B|Tzg=|0^32T1xHExYF82i%ZR4p z=L2gSlzy-xu=E8jbqUnQur@^TxV5>}l+G?P!}(2#_qw^9?$Z_(w$#*#k^jwHFi%3g zA^ukz9-AT$1!|Eoa)g&Bg5N_3GV13}2f?s|!{XYt0fq#x4;y4~f!DdRvo2D8g?vOD zs~%BJ6=>j($6RuQH3ddb!)TWA?0g`jz(dL#cz3QRh{R+fcrrup=%Ma9A9aq zT0_^&mY5ft9ElG~oZ5UAZO+n5ph=z2NGmy;(VW*zJqke!gtZ8RpNtT{;<;W2MpP3` zD>)hck=F5TSSFQ_lEMKZwn2Ki`MMpX;LAVOnoKM4of2m!)}GDyGHON4cnMGEw$Ng? zxHXj#20?Tf3UjuDRX*ll_)38!aX~L#@(2(o>h?>m$T^U_`WrM@etz})4&twDuc-i~ zu+GRUjB(z!rEA@|wZGZu?Luxwqf2#+5b8{-{Z1v0_`F$NRG|#Ck=g#$Cxj6~m;@Vkr1wc%-M!l<7{`!M1#`Nq&MNosHV(N<_;U^xT$?!#Kc6@^%545{*C#Jfdve4 zbi1(){%`b=aqCl9aFnL5#{bb_VB8j(;ww!VY9}zEGh$^7M9LLTT9`n9(4Yb0GT~Kb z00D6tfse9@UVC8)LlkYMYUi#!SREnFg6lQa#QUTVlqj#?#U-`mKQKeoLTeBd9F*wS z(tX$16qA%!^j2N4?*$p+@M_f8A;GaPc=tSFhvY8O2|pSj-~KHfJJGki5dfk*w@zgc z%sm((bI4FvjGU2U!3rr>3*5hjEFAet3~*2aq-RWyT!kN#0n+dx)l5U@)loXn*eITn zAJEyPy0CFzt_^{cZrrIc^mmWx)PkMTX>PsJX_-1<=;dd^(o_l<(cL+ea6B}q0C-Z% zM2Y~wqOQqYg_Ahs*BmqhSpK-TMWK?Kr|bwE5@CQ*Lv+Av`TeQYodUZ zAVD`Vpj90J2?`{x8Z&EYU)D%)(!qJHF+ckbFd2QTbf-% z{?~7W+3}Xg**BV|&}a2Y`m=Jr;cf4+wQasnO|fE@WVHCAmo`*N!kS)I!5&9l5?$m? z1b!p$HvL#cZN*0q0*CVX-{Ao)PWIE8S8KeU$n^-RUq=F${)rZ-_w}npz^t*5^1L&3 zj?Z43iLHcuGMP+(w4^E0=QMaVCV)61wpt*(nAa9sxVAj{d)L$H`loLehXUZ6<2P^)(gzMvKHlVeP5k^gx(bTGv zrTfI9ICCJz`6-l7L;*3e>{(cMz5nX##}>0O_UQ;(04dbnh{o6KOIiuX+M9lnhCTT> zFFRVm?8@Tg;-E39W9P${m9a$x)`} z{PMXu)(^bf-MAN_Ok>&ZJ2C=4fi+Y=1F9%i!VblJy&=H6rFzoa>3Y#IhtAq8$Ij~P zs`J@Wy>UxJc|TtE>5bVkV)s^yVg5tIYicR!_73w^wy^1=ldJ*F)G6VQh&EM8Aa~cRb4|JWvS^rs{NY0buD3#07HWfco|O|T zqrkj05<&JLK90^RqtIu|t+ocYjs?k{Km{`4S!Qd7c8O%x_XWP<%4z8a@9b|rlJrm2 z1eu2GYRW}7EI(u@9aw7mvbzH!A`0uKD%Zs@cV?KkgOidb%qGe`sdrkQ=5YLY@QH4B zwN6ZJ8ek$~F=)P#{Q?%`yY+f|+m^2%TTW&C0pWLL060HsTczWYBycs{2Rif)dXWp0 zyq|MhWguh`alB1GWD%KTe*QY3;BxUrUhc{ZZ|OCK!lbGszb#sq-5Mi|D>8WZ)9Rq{ zY0hhD=P2uTo57V|VxP(^4>U76uP^GhlW`ClzINwi8;3k*_WvGYeZw>TB~|}GCJPqV z+=7OZdpoT39imNI0|X81$x7T>t<2QM`c(?rX;ssbBAC{p3*)|IS$pAA5zU!3g*}L1 zO2{HG2Y(0e<-|W&WLrYDwjDkzxb;nbz#KRQw>?4N?OS#_vNBv>S~?(rF^$81lGW7v*o3q zWu=6*p5Z$MOy>!<(;N9@U_Kqg-_GvhQqzl&j8d(Cx3KL}IpJs$8pI3wblIh*rNIs* z@4S~R>Oq9WzoUNJp9WsvGhcGmknK3vq!wy^@VX?O;(T4B^0>If1E@fEd6owsq}NMj zOfd@gx@VGkt{LVS3aEufo}SAOW?FwP#mm5zk8*w;r}T%}Ze(!1CI64TK0f+< z*7MLmd+PKTnB9NWi-*-f(WlU1J`UBNW-!|!Y@*@%Y*>jkkEjfm*0Sv^H?WB@ZG~(o zA@_hRynO#kHneCkxMl6@h>+%T8%h^D;979d`lf#v^dTCwBTM|{V&o%xsFA8+~E42L~woG>5_Ehw{I;28*rM@L~3IvEn+XM8w z{0Hs+)!D4W?@xR|SzarK2;@@7(3<3TQe@h;nD&z{|HVHG6eid^>ki3(%?yJPLYHSd zS$!gE-gSD6o(Bu|%f%1H^z2G?*7^_VeBaKzLQ7}@!J?AQ!Tjq!cs+i8itP(RKqE-k zAFE4HlPE?BnF}9E3{VK6;xE~Q)duMr#ucjn5OjJ!nCMSNFW$Ujb_aY`N8zfEx$6x^ zf=w%wB{adMSqy6(HX$p7!Auw=91oY0>p{Kn&x1(<2IHI{@|?t6?bviHhqn@Qoo_bi zF$Ppo`ySwVo%au$)L7p-b?^q5Ai#S1{X*^XrYS=U0o0iGCm97W5Cid6wFWXU*2Q7| z2(RY9KphQ*l?jEMtWr|e96z-b>x;n`C3Jd8n!JEgo>REr z>}aC0HWhH-K_napGcs??Nu)dqICh_S@8)28;2{JBohdUX?&iwV+i~flJfmH^;)zhW zu<6y%i%%k1bqOAtL$Drpcic$qm0!`9XG)W+7*18i&u z^a&v&7md#y1SF1q+maOUscj8tf`h&S?jUD8sEz7Rqa%D0g24U5_qKbK+9``V1zLpz z_xqjOL~gS|&>{k}?q_T*3pgB1Fs)^E9IM`+u5`a7H?|lBrQ@oMN6K}4AXOuDFK^+q z4sA?lIlNxH0t<@{B5KIKCnvYl_5i=Gxc6)63bL&GV|PL7R{3FJZV-$2?fuGAJSO+= z;fnVtvpAVKeIJe(8}r|iu~-xPlBrmrk`8+HjM*qt4UpnEtotR#{`dfjVpj_K#dS5e zw|aQgY&XakEzH_W1GBC$BnJbRh!Ey|e!%TGC_vOzZtoxO32V_TU?=rFkGuT0>GQAK z+TP(?iHfKZkheK1v>wLd(W!bm=C2wIEsicO2y#E{w*op^ryCMp)v9g9FMQ{xF1H26l)}eLS5X`dgzmQL?w~N z|4R0u!e=S5LeiTh9*4G%t%!8>@6NKzxaQKr4o`wI;Sb(AVI2(lCUoo5K))ctTIC~n zHAre?hrKlar7oCv>MKHVQ)KKd#>6B~?3J-zFM)laaHM#WBr$J$_fX%;I|`_MSQWWb zB_O~|c!;SOP71U=El**={DBW9La9@_IKO&I(OSH|0NRK@td`4OkqzoHsG%Z ze{VyS=SNPnLL{}+XKdIi`@FRSfC(pOuD=mJbf*T4_4X>WZ~(P&YMnIv{P@O+wO5fL zl?0!?;}hfIDGT!W7ao8ID3!%#O(2E(0DCZ!xn`e#snU~7mej%1yA&T}fy}0;g&VJm zC*Jj?uFTI=q8!UOppx<#Zhg~ApR69%30m-Q%)1IFF$}>zjqUxWbAb<#*YDF~6UV6l z_3TQ$OflYjEeW&-;Z9fFOOw{IMeiAE4-LL#lD#5d@dGgP;vKR!h2^mPTlVUWI!7I2 z3R?hH4-V3OzpDP6A5T_&_f}~eaCnE%X z&Kh~S>PH=9_=0tUEA#XLC#+wmwrO%Y0|8>P^J;NPz*wX^S`95qpnqRH`4^go0@NT) z2rPI0y;^Wxy{saKKuiFw95^j9<(yTJ(i;j|)iz^$`ABMuPv!7bqoAp;>zj;ye^;g_ z8>;JuE=f}`{C@g^)NnE7k+UATP^C%o6kSr{JT;$_3Ar)Z%8?iUDO~1g4xX(%RYQk zi|pe@FKu0Tf=J$t56wO)G{Q#9xa9uRjB^ldaE-2i5avL9gwbG40+90lEt6}L!{bVd zyuNaNU5$@WyBv|u+wo_<_0UDI0iMyyj^6jPp+?FeMy?9tZ#~^^qs%bj7ANfX(v=Wi zOL0}da;CY{liOh_c4;45FLiqb`14;5&)qCO6T$l&=i;yRmdA%&%6~6amgGYs~!vC36I&LoqSHE0Z zj;k!q9R6NiN}sh06ob%R*WdUS!o>8T%-EIVLmKo)w?A9T<)^I_Pl;~5CG4W(Q+K`m zEKo@+8)5^@b)zd|>67`JU-m1wZGL3j=~EZ`bZqr7r?m~PS@!W9<7zyyAV0=yZ5P6^ zA-0%E0-v#p61`oJCsJ3I$VNUq??h|XXE_SkKq40g!@n-QB~pkmL2wvN0ufP_JJvt} zEaAP|sQzzWd891 z3-#3b?(h4`8o~d}5f77kI`lwhGMtfCg><8%b95&OnS3=Ug`iTNZah36MD>c;^~$uq z86S4{Irg9>$NS9T*K&Gu6E=*_Rh*R2T|72HjxqS`PeWAXtTVgsK_5*;+kf*_1mHsr zP655a%b%Ar;ls|sL=-TlEroT`bKj#;xX75=AdDdufXGAn6kJ}23dF;vHi^?#8*PTn z22+>xXW$m#zessuiQXaBJOVf>g0ZN{Co?$WQh7 z`x0sLS?g-+eX|g2-cMzOA3welws}9~-P_lOOvH~)SQp%!t#y#!ISV9uQH?$uH{9>D zH-EP9LALV3&Wws+16Yd?a4^?9i{9_t!5FXL_?J~`k_v1wOaFao~(Yn&V{CeW;ex#hB^P z+{p_b4TU7=z>9-^|4}y^UY`~6gbMhuUz(iC1pZb8{c~HV+Kz`UpRVZs3<0GH79VK> zz$IHudSQ%D8UqmbxwPK?%Z9lT>%YBAXE^MYBrf^ zGY)e;Vda^qV#pLC^^qOV5MI9p^c*-|)8@tFn_1J>NQYO1-$uWdlavA35{>B8J2jl_ zz6d8jTSDlV@bzv4&c|jNSp-FDzy|%+>o9vxFPzOZ32Q0RC6f~rCW^8fD9PAl{ha2! zk^Uo~Qh#x-{OoRGe_^u;ZeZ7JS~eE-cpo4Of-BMRZ0al*bHAUfR4#Y)5L~@)Q+;;& z8*;TINOVGA2KC1Tfd6{rCvtKZw^T$?Ta%OFVU!;F-e=sYf)$UK zy+hpQH%x=_F<=|C(2&^i1|a`4wZ_BVeII0s;bPR_!D?+QDW~$^Y;4M>6F^1jI0$?O zeB(gW!;yaK{D=3@Y7%oMF0OdEPlp7UIw4xY`r!BzlO!1zBIlzz)I~vysO%(XvknET z=4~)*?cH(BaLZfRNJE>yfOZbQXYTG#mL+NIst_%N7>)|h-HhCaG7c4pujW0bu%pn+ zpN}B50Q^LlE%WX?wYvmS5I|@~vg!hbW$TP@;G=Zi(>Y%gkXX@H$};a-!9imX=>Y(n z^}pW*Ko)>Q7O=5?#BF)J5H=p3^1~GJ`^SMGS)yeZI0yq^2@jkPwzXwDE!rEWERoDH z7=Uh~Rh=g(vj+n(;EcC>1|vZ9O0T|J8iox4ZWEEO2F=Z%hn-yt#Us{wG%b^!3hLYSzg z`tVG$G1Bk}HqKI|*#CiD`}~LrQ%~4)FS8x5Z|*N_bl6{{9yTIvW@iZOyWN|@CRPLI z2HKy}Xk%!LJhpnjwLczdKrs0ro3w<1_lNX>My@&AGfm`NpLj@IcFn?7M!7!y`i|8S zvyFXhR6`~GQ-K)6ulZfs_!n^Rk68j@5X^%aFI&8U4G)_F2sAMNp8ydK?(v~=*Q5a} z9@%kvp2WME?P?2jR452~=$mddWNK3Y_{rq#78h4pn61ipYf9YJ%(5PImO22n>OW0W zXdB)Xf*@k^Usv$S8~e-78POk@^|tZpx0aG|kEr;EHtDDHdNp&xp z23Ibm(Sm>|?Ne&Ck{_3qS#tQX$d#S`J2}VZ8ks>sP-9L8dMKzZ0Wg-6Fl+k_X(|0- z)r2~C^qHc}{-=S^u9m%7TLSDK?2e14@8N@2_Tu^#ZMJA|C@}L4(p9J?h$3+96tVA5 z@7MS1>k#3KIWP3U_{YO69ujilbPCieo(5nTA}CRnYDV0>lXq&ysJ{c&ADkhvWfKxN zk2)&}wo^lFEdV%{rN0n?=imEs2tE7x9`&m7S41EF3u7Hri<6EFIdd!tEJx>Q)IwZ^mvWR! zP2`mesb`*kbiLQg{~qUTF@XpGq%sy#8Otk6HFg2ez_FzOXmBdOAv`Z2`Y7347Tf=V z0Nf=x02(z<;`C!@17n{e@px;wdlT5Rj-&)@vj78HdSK==T`~2k&aj1Qe)32nFACyO zl#K#4Bt@m_EFYW?Z{o+WI|SYkzD{ZaBL+2h?jq0u;hm|6YAB= zZ;Gqu(@>bNEw-^#0Hh}a%2HxFJTjWx^*yW%qwzc$&9!$O5OWp)@hkKn-U_py>yF3~ zAvT){!1DsmoxBU47mrqP*lo3%kKDB>_T>NEr4FC{G}o(KiaQ5)Us&hG8f#p0At1qIRsq zS^>}?RsMp!QY7BaL3~UWE}u>1uU<+kjk}t`6c?&EK@@2Kl*Q^l0JvC~Fr!uh=MIyk zog4Z}Jpn+RM9Q??5;dEyi^#~Ss3d`+s1qPvbW9 zD^3dnX(bK79l(A7mfQc9pi9x+yACMG)jgXDU zW3v!Se7o4%Gq0`rJ56JC4U)YqhC^#sEf>*R;y(o0H96h>TB)IMNtf#*ahtV zTOT3>=`Z&mfbT%27FR+Lu=LK&oY~Pw645)-f?k9ca{5>@Xqr+Bf_T=-Q@k$Kz$mo6H*{oF)#y^Mb%z-QP~55niGw%6;;nRa1AI zn#<|hhM9xGgdh(9=~WzRryi+F0QhT1aapDEXQUP)J~j(CVlr|4N`~_4g*4^O>sbz> z2#wrV~sLvjsn0p0Nz6MULc?i>3?qtq5xbwO~z?oh%)Ts zcLHQw`4*V(XoFhK|FCCU+{(0j1@LK6JCmwU9KNGgtNFtW^JE=!P2E`CREv)J3m)}8!=hrj(#Ow6>}lI^!l|7 zX=#a?l{-mN1&w&Aq*!$UWRu4Nh*hiVJT~+Wh$C=5{`rAq@{M}3`gau<0!Oz2JJ*no zxr9Oh>i{eTaLvl~tfy(}yTAXq;Qs0d1FSrSY0~Z$AS0#FTKm5uYL$u~e?PP2(4+yY zI{z0vM`}*r#yT7kW~T;J)aO~2r9Try@zu9J9Yh(b{Dt|YxO1y~i0wv9CR0@K|Mu=J zHi{~Y1NeV#+tLy!EfS-N8WKfA)I>reBpMBMIyw2JcveOfbd{K2pADe6le+v z#X{s#q$#LC#p+7C(Csc@u?0#grQJd+h2HNwmvej=R}1a7+jhD;+kU^-ot>UdGylxY zIp_QQj@Ve`wkQghTU-1t{C}Ze0Whe0cZ-Pt_5+v?K>$8n56pPI=OfE61KEeoCAxu9 z-9RbKTl}2>8hZX>zidn#ANOfN^$N?@;0I*xFT^Jck1)=860F;gKQ<;-&YLuO!lN0d z-dEyB_x>)WvAzS7lQsgtTmVNc8UwLd*E@hmVq)YYv2n`e)t|p0I$|WOTXB+II9J_K zdg+eX*w`5xKiYB2p-7h+8`|?3LlMl2{c3xg8uHt?2x0&h0T=_$=iuA5z?ekfndi+< zbqzS{G^g>3++Dxp1h5srG4#BiexP(c>I!WB8&tPxC2O%B(cme*jNBOZnRRX$kOGu zR@JNPtPtjfUJRf!=$WEN9LzNV(-9L3eEcO)QEXoLO?81|Y5}AI*a7ne-;j`HDQn8K z2WMsGF1B=6=5vp2Rj-%U?*Op8&x8AKqT-Oev*$jMkaFNnskeO#k0)%f|!;+JB_oS?dc?*_I8MR^iD?x7qrcK&~w%03Hngiyttb zi(dk84d&eaJ^;@GmNw)yZ0Pqlig)qY}+_HUzmo!R{6=_7Y*^X8tJpk;WfpZ*6-Qw0bAKa5bTdRuV zq8b_2%>RcflQI6$%B4T?6Pb56Djk;;2T_Feg${^iC;)7LF_v=uYQ2)5JGcplb9pzw z3@)JW0w7k~A%L%4_HKsJ^*1CYjRI#Fn&tz<5)=UT;8hf{U{8vd4dx^smk){}-3Cx@ z(YQj!7}gm&-}2te`?R7z&DRg(lH#E2Y%Hinm~Bx2*o3CB_a2&QjA-yqd1}|4HDlbJbA&x`gn) z0PKmOs>b}r`p)xfmS+X_f=~e16a|32Y_Gr5CZGKA-X0!(^SFGFWw9CNvh7IgP*r`l z-){td2nB#mQ2^LWnIuWsX~~{`SJHInR4~rD3+4tUJ7`k<`b@d zpX-xLi|>T|9mY7ku1eNN1CU6l;T$hwcx)mYmM8%1=Y*n2H}`H2y_8>ZVGY_^RT<%* z{|`k4%!*0GhA05+hpDQOlD@mZXl)5?e}Kp3gD44p00WysAR`t9fIX%9{W?2xpeUq+ z^K*S%6ht?u`Y!1w3IKbm1s4wO`oN3Vi?#KnS4#uq(z`N?A#r;yqp2>v83! zb*Qgxx2gar8DS^@>?>b!h=qOa5Ae7uA&7#3$ka0+QH}z@#x#{}J$CpqYN~@5Y5I2o z&;(F(!JJ|k!+kdy9sSC>(^DVN0Hj5FOoWi|nGS%bXD{NiEE)h7M|wbnkT6ml;>Cw2 zj$<(A{~wF=cnBfkwG;rC6|pYT10jTjU%VuV&4M6gM0y}3`uzhC+q#nQ1?wFE0000< KMNUMnLSTXs9)7R@ literal 0 HcmV?d00001 diff --git a/docs/images/zarp_logo.32px.png b/docs/images/zarp_logo.32px.png new file mode 100644 index 0000000000000000000000000000000000000000..26f8b839972e4146a877c8fa2a5ae05f132f839b GIT binary patch literal 1755 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 O1W1X=i`EDm2K^s)UN4UT literal 0 HcmV?d00001 diff --git a/docs/includes/abbreviations.md b/docs/includes/abbreviations.md new file mode 100644 index 0000000..5785b75 --- /dev/null +++ b/docs/includes/abbreviations.md @@ -0,0 +1 @@ +*[EAWNKWIMPR]: Example Abbreviation Where Nobody Knows What It Means, Please Remove diff --git a/docs/includes/references.md b/docs/includes/references.md new file mode 100644 index 0000000..e76293b --- /dev/null +++ b/docs/includes/references.md @@ -0,0 +1,12 @@ +[conda]: +[contact]: +[github-signup]: +[mamba]: +[singularity]: +[snakemake]: +[zarp]: +[zarp-cli]: +[zarp-cli-issue-tracker]: +[zarp-issue-tracker]: +[zarp-qa]: +[zavolab-gh]: diff --git a/docs/overrides/.icons/email.svg b/docs/overrides/.icons/email.svg new file mode 100644 index 0000000..effd393 --- /dev/null +++ b/docs/overrides/.icons/email.svg @@ -0,0 +1 @@ +email \ No newline at end of file diff --git a/docs/overrides/.icons/forum.svg b/docs/overrides/.icons/forum.svg new file mode 100644 index 0000000..7d74006 --- /dev/null +++ b/docs/overrides/.icons/forum.svg @@ -0,0 +1,53 @@ + +image/svg+xml \ No newline at end of file diff --git a/docs/overrides/.icons/github.svg b/docs/overrides/.icons/github.svg new file mode 100644 index 0000000..ca96837 --- /dev/null +++ b/docs/overrides/.icons/github.svg @@ -0,0 +1,101 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/docs/overrides/.icons/twitter.svg b/docs/overrides/.icons/twitter.svg new file mode 100644 index 0000000..04e0462 --- /dev/null +++ b/docs/overrides/.icons/twitter.svg @@ -0,0 +1,62 @@ + + + + \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..27e446d --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,3 @@ +mkdocs>=1.6.0 +mkdocs-awesome-pages-plugin>=2.9.3 +mkdocs-material>=9.5.32 diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..329ca07 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,68 @@ +copyright: '© 2019 Zavolab, University of Basel' + +site_name: ZARP documentation +site_url: https://zavolanlab.github.io/zarp +site_author: Zavolab + +repo_name: zarp +repo_url: https://github.com/zavolanlab/zarp +edit_uri: edit/dev/docs +docs_dir: docs + +theme: + name: material + favicon: images/zarp_logo.32px.png + icon: + repo: fontawesome/brands/github + language: en + logo: images/zarp_logo.256px.png + custom_dir: docs/overrides + features: + - content.code.copy + - navigation.footer + - navigation.instant + - navigation.top + - navigation.tracking + +markdown_extensions: + - abbr + - admonition + - attr_list + - md_in_html + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + options: + custom_icons: + - docs/overrides/.icons + - pymdownx.snippets: + auto_append: + - docs/includes/abbreviations.md + - docs/includes/references.md + - pymdownx.superfences + - toc: + permalink: ¶ + +plugins: + - search + +extra: + generator: false + social: + - icon: github + link: https://github.com/zavolanlab + name: Zavolab GitHub organization + - icon: twitter + link: https://twitter.com/ZavolanLab + name: Zavolab Twitter profile + - icon: forum + link: https://github.com/zavolanlab/zarp/discussions + name: ZARP Q&A forum + - icon: email + link: mailto:zavolab-biozentrum@unibas.ch + +nav: + - Home: README.md + - Installation: guides/installation.md + # ADD ADDITIONAL PAGES HERE From 52ae8d54729615045e235c39bcb52c56e2afe944 Mon Sep 17 00:00:00 2001 From: Alex Kanitz Date: Fri, 23 Aug 2024 12:51:42 +0200 Subject: [PATCH 2/5] fix --- .github/workflows/docs.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 7c28495..3f320b0 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,9 +1,10 @@ name: Docs on: - pull: '*' # delete line push: - branches: '*' # replace with [main, dev] + branches: + - '*' + # replace with [main, dev] workflow_dispatch: jobs: From 9b5f88d8bb1d6830f29805f96eabd10d0ce756a5 Mon Sep 17 00:00:00 2001 From: Alex Kanitz Date: Fri, 23 Aug 2024 13:02:22 +0200 Subject: [PATCH 3/5] fix --- docs/README.md | 20 +++++++++++--------- docs/guides/installation.md | 11 ++++++----- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/docs/README.md b/docs/README.md index 56ccee9..248c37d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -8,21 +8,23 @@ _ZARP_ is a [Snakemake][snakemake] workflow ... -TODO: Complete intro/summary section +**TODO:** Complete intro/summary section -NOTE: Include references in `/includes/references.md` -NOTE: Include abbreviations in `includes/abbreviations.md` (example: EAWNKWIMPR) -NOTE: Include emojis (example: :rocket:) -NOTE: Check out the [ZARP-cli docs pages](https://zavolab.github.io/zarp-cli/) +**NOTES TO SELF:** + +- Include references in `/includes/references.md` +- Include abbreviations in `includes/abbreviations.md` (example: EAWNKWIMPR) +- Include emojis (example: :rocket:) +- Check out the [ZARP-cli docs pages](https://zavolab.github.io/zarp-cli/) for inspiration. -NOTE: Check out [MKDocs](https://www.mkdocs.org/) and [Material for +- Check out [MKDocs](https://www.mkdocs.org/) and [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) docs for more info ## How does it work? Briefly, when a _ZARP_ run is triggered, ... -TODO: Complete section +**TODO:** Complete section ## How to cite @@ -48,8 +50,8 @@ Coming soon... There are several ways to get in touch with us: -- For ZARP usage questions, please use the [_ZARP_ Q&A forum][zarp-qa] - (requires [GitHub registration][github-signup]) +- For ZARP usage questions, please use the [_ZARP_ Q&A forum][zarp-qa] (requires + [GitHub registration][github-signup]) - For feature suggestions and bug reports, please use either the [ZARP][zarp-issue-tracker] or [ZARP-cli][zarp-cli-issue-tracker] issue tracker (requires [GitHub registration][github-signup]) diff --git a/docs/guides/installation.md b/docs/guides/installation.md index a8cabf0..54526d2 100644 --- a/docs/guides/installation.md +++ b/docs/guides/installation.md @@ -10,13 +10,12 @@ Installation requires the following: - [Conda][conda] (tested with `conda 22.11.1`) - [Mamba][mamba] (tested with `mamba 1.3.0`) - [Singularity][singularity] (tested with `singularity 3.8.6`; not required - if you have root permissions on the machine you would like to install - _ZARP-cli_ on; in that case choose one of the `.root.` environment file - flavors [below](#3-install-app-dependencies)) + if you have root permissions on the machine you would like to install _ZARP_ + on; in that case, see [below](#2-set-up-conda-environment)) > Other versions, especially older ones, are not guaranteed to work. -TODO: Add/replace requirements/versions +**TODO:** Add/replace requirements/versions and check that everything is correct ## Installation steps @@ -29,4 +28,6 @@ git clone git@github.com:zavolanlab/zarp # or: git clone https://github.com/zavolanlab/zarp.git ``` -TODO: Add on... +### 2. Set up Conda environment + +**TODO:** Add on... From ead619d5a8ed0311c3ae758b78945b5be6f43658 Mon Sep 17 00:00:00 2001 From: Alex Kanitz Date: Fri, 23 Aug 2024 13:06:50 +0200 Subject: [PATCH 4/5] restrict builds to pushes on dev, main --- .github/workflows/docs.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3f320b0..79646b8 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,9 +2,7 @@ name: Docs on: push: - branches: - - '*' - # replace with [main, dev] + branches: [main, dev] workflow_dispatch: jobs: From 266c772e43f08c6f640c0af56ecf9acdb79b79cd Mon Sep 17 00:00:00 2001 From: Alex Kanitz Date: Fri, 23 Aug 2024 13:27:08 +0200 Subject: [PATCH 5/5] fix docs build warning --- mkdocs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index 329ca07..1c550af 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -31,8 +31,8 @@ markdown_extensions: - md_in_html - pymdownx.details - pymdownx.emoji: - emoji_index: !!python/name:materialx.emoji.twemoji - emoji_generator: !!python/name:materialx.emoji.to_svg + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg options: custom_icons: - docs/overrides/.icons