From 9ef149a79c4a1bcf42241989b4ba85eaaebb1716 Mon Sep 17 00:00:00 2001 From: Tyrel Souza Date: Tue, 26 Sep 2023 16:21:53 -0400 Subject: [PATCH] blue-penguin-theme --- .../blog/2023-09-26_which-which-is-which.rst | 13 +- content/pages/blogroll.rst | 2 +- content/pages/references.rst | 2 +- pelicanconf.py | 5 +- .../.github/workflows/screenshot.yml | 38 ++ themes/blue-penguin-dark/CONTRIBUTORS.md | 20 + themes/blue-penguin-dark/LICENSE.md | 24 + themes/blue-penguin-dark/README.md | 70 +++ .../blue-penguin-dark/sample/content/code.md | 11 + .../blue-penguin-dark/sample/content/post.md | 8 + themes/blue-penguin-dark/sample/settings.py | 22 + themes/blue-penguin-dark/screenshot.png | Bin 0 -> 52022 bytes themes/blue-penguin-dark/static/css/main.css | 465 ++++++++++++++++++ .../blue-penguin-dark/static/css/pygments.css | 87 ++++ .../templates/analytics.html | 11 + .../blue-penguin-dark/templates/archives.html | 22 + .../blue-penguin-dark/templates/article.html | 17 + .../templates/article_stub.html | 36 ++ .../blue-penguin-dark/templates/author.html | 7 + themes/blue-penguin-dark/templates/base.html | 121 +++++ .../blue-penguin-dark/templates/category.html | 6 + .../blue-penguin-dark/templates/disqus.html | 12 + themes/blue-penguin-dark/templates/index.html | 17 + themes/blue-penguin-dark/templates/page.html | 11 + .../templates/pagination.html | 17 + themes/blue-penguin-dark/templates/tag.html | 5 + .../templates/translations.html | 6 + themes/solarized/static/css/main.css | 6 +- 28 files changed, 1047 insertions(+), 14 deletions(-) create mode 100644 themes/blue-penguin-dark/.github/workflows/screenshot.yml create mode 100644 themes/blue-penguin-dark/CONTRIBUTORS.md create mode 100644 themes/blue-penguin-dark/LICENSE.md create mode 100644 themes/blue-penguin-dark/README.md create mode 100644 themes/blue-penguin-dark/sample/content/code.md create mode 100644 themes/blue-penguin-dark/sample/content/post.md create mode 100644 themes/blue-penguin-dark/sample/settings.py create mode 100644 themes/blue-penguin-dark/screenshot.png create mode 100644 themes/blue-penguin-dark/static/css/main.css create mode 100644 themes/blue-penguin-dark/static/css/pygments.css create mode 100644 themes/blue-penguin-dark/templates/analytics.html create mode 100644 themes/blue-penguin-dark/templates/archives.html create mode 100644 themes/blue-penguin-dark/templates/article.html create mode 100644 themes/blue-penguin-dark/templates/article_stub.html create mode 100644 themes/blue-penguin-dark/templates/author.html create mode 100644 themes/blue-penguin-dark/templates/base.html create mode 100644 themes/blue-penguin-dark/templates/category.html create mode 100644 themes/blue-penguin-dark/templates/disqus.html create mode 100644 themes/blue-penguin-dark/templates/index.html create mode 100644 themes/blue-penguin-dark/templates/page.html create mode 100644 themes/blue-penguin-dark/templates/pagination.html create mode 100644 themes/blue-penguin-dark/templates/tag.html create mode 100644 themes/blue-penguin-dark/templates/translations.html diff --git a/content/blog/2023-09-26_which-which-is-which.rst b/content/blog/2023-09-26_which-which-is-which.rst index a696027..db88835 100644 --- a/content/blog/2023-09-26_which-which-is-which.rst +++ b/content/blog/2023-09-26_which-which-is-which.rst @@ -13,14 +13,16 @@ I was talking to a `friend `_ about updating from ``exa`` to I did this by showing the following picture: -.. figure:: {static}/images/2023/09/26_which.png - :alt: Screnshot of shell text saying "Which LS" and then the line under it saying "/usr/bin/ls" +.. code:: shell + + $ which ls + /usr/bin/ls Because I expected it to show me which alias was being pointed to by ``ls``. My friend pointed out that "Which doesn't show aliases, it only points to files" to which I replied along the lines of "What? No way, I've used ``which`` to show me aliases and functions loads of times." -And promptly sent a screenshot of my system NOT showing that for other aliases I have set up. Things then got conversational and be being confused, to the point of me questioning if "Had I ever successfully done that? Maybe my macbook is set up differrently" and went and grabbed that. +And promptly sent a screenshot of my system NOT showing that for other aliases I have set up. Things then got conversational and me being confused, to the point of me questioning if "Had I ever successfully done that? Maybe my macbook is set up differrently" and went and grabbed that. Friend then looked at the man page for which, and noticed that there's the ``--read-alias`` and ``--read-functions`` flags on ``which``, and I didn't have those set. I then swapped over to bash "Maybe it's a bash thing only? I'm using Fish". @@ -32,6 +34,7 @@ It turns out that ZSH's ``which`` is equivalent to the ZSH shell built-in ``when After running ``/usr/bin/zsh`` and sourcing my aliases (I don't have a zshrc file anymore, I need to set that back up), I was able to settle my fears and prove to myself that I wasn't making things up. There is a which which shows you which aliases you have set up, which is default for ZSH. -.. figure:: {static}/images/2023/09/26_ls.png - :alt: Screnshot of shell text saying "Which LS" and then the line under it saying "/usr/bin/ls" +.. code:: shell + $ which ls + ls: aliased to exa -lhFgxUm --git --time-style long-iso --group-directories-first diff --git a/content/pages/blogroll.rst b/content/pages/blogroll.rst index b119712..42e7c93 100644 --- a/content/pages/blogroll.rst +++ b/content/pages/blogroll.rst @@ -4,7 +4,7 @@ Blogroll :author: tyrel :category: Blogroll :slug: blogroll -:status: published +:status: draft * Blogs I Read diff --git a/content/pages/references.rst b/content/pages/references.rst index 223e8c7..75bdd65 100644 --- a/content/pages/references.rst +++ b/content/pages/references.rst @@ -4,7 +4,7 @@ References :author: tyrel :category: References :slug: references -:status: published +:status: draft Blog Citations ~~~~~~~~~~~~~~ diff --git a/pelicanconf.py b/pelicanconf.py index 087e8be..f8be4a9 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -43,7 +43,7 @@ FEED_ALL_ATOM = 'tyrel-dev.all.xml' PLUGINS = ["webassets"] -DEFAULT_PAGINATION = False +DEFAULT_PAGINATION = True DISPLAY_CATEGORIES_ON_MENU = False DELETE_OUTPUT_DIRECTORY = True @@ -71,4 +71,5 @@ SOCIAL = () DISPLAY_PAGES_ON_MENU=True LANDING_PAGE_ABOUT=True THEME = pwd / "themes" / "solarized" -#THEME = pwd / "themes" / "waterspill-en" +THEME = pwd / "themes" / "waterspill-en" +THEME = pwd / "themes" / "blue-penguin-dark" diff --git a/themes/blue-penguin-dark/.github/workflows/screenshot.yml b/themes/blue-penguin-dark/.github/workflows/screenshot.yml new file mode 100644 index 0000000..1218248 --- /dev/null +++ b/themes/blue-penguin-dark/.github/workflows/screenshot.yml @@ -0,0 +1,38 @@ +name: Create-Screenshot + +on: + release: + types: [ created ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + - name: Install pelican + run: | + python -m pip install --upgrade pip + python -m pip install "pelican[markdown]" + - name: Setup Node + uses: actions/setup-node@v3 + - run: | + mkdir dist + npm install --global capture-website-cli + pelican sample/content -s sample/settings.py -t . + pelican --listen & + - run: capture-website "http://127.0.0.1:8000" --dark-mode --output "dist/out.png" + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: screenshot + path: dist/out.png + - name: Upload screenshot + uses: genietim/ftp-action@releases/v2 + with: + host: ${{ secrets.FTP_SERVER }} + user: ${{ secrets.FTP_USERNAME }} + password: ${{ secrets.FTP_PASSWORD }} + localdir: "dist" + remoteDir: "/" diff --git a/themes/blue-penguin-dark/CONTRIBUTORS.md b/themes/blue-penguin-dark/CONTRIBUTORS.md new file mode 100644 index 0000000..de4e6ac --- /dev/null +++ b/themes/blue-penguin-dark/CONTRIBUTORS.md @@ -0,0 +1,20 @@ +# Contributors + +* [Nevan Scott](https://github.com/nevanscott/Mockingbird) (original author) +* [wrl](https://github.com/wrl/pelican-mockingbird) (port to pelican, pelican-mockingbird) +* [Jody Frankowski](http://github.com/jody-frankowski) (Blue Penguin) +* [Grimbox](https://github.com/Grimbox) +* [ix5](https://github.com/ix5) +* [dn0](https://github.com/dn0) +* [anhtuann](https://github.com/anhtuann) +* [aperep](https://github.com/aperep) +* [iranzo](https://github.com/iranzo) +* [thetlk](https://github.com/thetlk) +* [SnorlaxYum](https://github.com/SnorlaxYum) +* [guikcd](https://github.com/guikcd) +* [jorgesumle](https://github.com/jorgesumle) +* [crxxn](https://github.com/crxxn) +* [gavinzbq](https://github.com/gavinzbq) +* [sylvainmetayer](https://github.com/sylvainmetayer) +* [wbob](https://github.com/wbob) +* [Tyler Carr](https://github.com/tcarwash) diff --git a/themes/blue-penguin-dark/LICENSE.md b/themes/blue-penguin-dark/LICENSE.md new file mode 100644 index 0000000..fdddb29 --- /dev/null +++ b/themes/blue-penguin-dark/LICENSE.md @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/themes/blue-penguin-dark/README.md b/themes/blue-penguin-dark/README.md new file mode 100644 index 0000000..7c71e43 --- /dev/null +++ b/themes/blue-penguin-dark/README.md @@ -0,0 +1,70 @@ +![screenshot](https://tyler-carr.com/images/ftp/out.png) + +# Blue Penguin Dark for pelican +A simple dark theme for pelican, with light/dark mode support using media queries available. Solarized pygments. Feeds support. + +This theme has been adapted from the original [Blue Penguin Theme](https://github.com/jody-frankowski/blue-penguin) for use on [my website](https://tyler-carr.com), all changes are generic and this theme can be used interchangeably with the original. + +## Settings +```python +# all the following settings are *optional* + +# HTML metadata +SITEDESCRIPTION = '' + +# all defaults to True. +DISPLAY_HEADER = True +DISPLAY_FOOTER = True +DISPLAY_HOME = True +DISPLAY_MENU = True +DARK_LIGHT_SWITCHING_OFF = True + +# provided as examples, they make ‘clean’ urls. used by MENU_INTERNAL_PAGES. +TAGS_URL = 'tags' +TAGS_SAVE_AS = 'tags/index.html' +AUTHORS_URL = 'authors' +AUTHORS_SAVE_AS = 'authors/index.html' +CATEGORIES_URL = 'categories' +CATEGORIES_SAVE_AS = 'categories/index.html' +ARCHIVES_URL = 'archives' +ARCHIVES_SAVE_AS = 'archives/index.html' + +# use those if you want pelican standard pages to appear in your menu +MENU_INTERNAL_PAGES = ( + ('Tags', TAGS_URL, TAGS_SAVE_AS), + ('Authors', AUTHORS_URL, AUTHORS_SAVE_AS), + ('Categories', CATEGORIES_URL, CATEGORIES_SAVE_AS), + ('Archives', ARCHIVES_URL, ARCHIVES_SAVE_AS), +) +# additional menu items +MENUITEMS = ( + ('GitHub', 'https://github.com/'), + ('Linux Kernel', 'https://www.kernel.org/'), +) + +# example pagination pattern +PAGINATION_PATTERNS = ( + (1, '{url}', '{save_as}'), + (2, '{base_name}/page/{number}/', '{base_name}/page/{number}/index.html'), +) + +``` + +Dark/Light switching is disabled by default, but can be enabled in the config file by adding: + +``` +DARK_LIGHT_SWITCHING_OFF = FALSE +``` + + +## How to contribute +Contributions are very welcome. Keep in mind that this theme goal is to be +minimalistic/simple. Contributions will be accepted through Github Pull +Requests. If you don’t have a Github account you can suggest me your +changes by email. + +## Contributors +See [CONTRIBUTORS.md](CONTRIBUTORS.md). + +## License +Public domain. diff --git a/themes/blue-penguin-dark/sample/content/code.md b/themes/blue-penguin-dark/sample/content/code.md new file mode 100644 index 0000000..e01dac9 --- /dev/null +++ b/themes/blue-penguin-dark/sample/content/code.md @@ -0,0 +1,11 @@ +Title: Solarized Pygments +Date: 2022-6-28 12:00 +Category: Python +Tags: pelican, publishing +Authors: Alexis Metaireau, Conan Doyle +Summary: Short version for index and feeds + +``` +while True: + print("Pelican is neat!") +``` diff --git a/themes/blue-penguin-dark/sample/content/post.md b/themes/blue-penguin-dark/sample/content/post.md new file mode 100644 index 0000000..19c44c2 --- /dev/null +++ b/themes/blue-penguin-dark/sample/content/post.md @@ -0,0 +1,8 @@ +Title: Blue Penguin Dark +Date: 2022-6-28 13:00 +Category: Python +Tags: pelican, publishing +Authors: Alexis Metaireau, Conan Doyle +Summary: Short version for index and feeds + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/themes/blue-penguin-dark/sample/settings.py b/themes/blue-penguin-dark/sample/settings.py new file mode 100644 index 0000000..0c7bf28 --- /dev/null +++ b/themes/blue-penguin-dark/sample/settings.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- # + +AUTHOR = 'Tyler Carr' +SITENAME = 'Blue Penguin Dark' +SITEURL = 'http://localhost:8000' +SITELOGO = 'https://www.gravatar.com/avatar/de3ba847c89c8cab9dd7080abebf9df1' +DEFAULT_METADATE = { + 'status': 'draft', + } + + +PATH = 'content' + +TIMEZONE = 'America/Los_Angeles' + +DEFAULT_LANG = 'en' + + +MENUITEMS = ( + ('About', '/'), + ) diff --git a/themes/blue-penguin-dark/screenshot.png b/themes/blue-penguin-dark/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..ee4afb78c9535609ad3d8469219d23295d3f0401 GIT binary patch literal 52022 zcmeFYc~sM9`#wm;6%cH#0*0m5Ds=%wlmKCIc@+A zii)x;LV#>YDiIN)B5O!K#0Y_eY=kV3?e_`oJM*2He`n5|ne%dv2Z$tjp8L6<`?~Jy zy7TKvf4|ix8%&Ihj8-2x{IAnSMk~-pM#isJE(af3cb{nre)}rw>?MxweM_t#Ecd-cj;1;Lpn7% zJh^-BhknOEdCk$?hnB@1UbD*O&6irlV1g3+*y<5RT=`GlkqWlH+>uV+3a-@1sE4x-m=`<_;;%Kjc5sWtu>5PA zPn+y3I`S;Q$Y}lj4okyd-95Z@Y511MK3^GyTwD@qcqHWe$7@pV-&t5{bm8_Y^jF{` z7k<67|NW)Y|9zqV#^}F!^xrG;|E)6O@uNN9>!|NR7Ae0na=*2dVmQFYe|?lBx8Q8c zbhrZwhJGz&fFRUssWcw!k`3l4X4gAbR6kOYTgZ;9oLxpS>gd@!ZomekV~@W5rEktz zSH6v*rRoN#qFA+tx}Xna>ZYkb<8ZsT%e&VUH=v$*V*BaGn1t*?R^=@I@Hou82pUGH zYg}yHk#xlqIx`Ac!iBQUfSMO)w6?X7N&8G0xSe-aM~gmX9ya>EJSIOfknWyBKeaijhhM zxrVSRy1+=u0^f3JfI?`;T=lzPFBB6ymtH={dL;r8X!JkPpEXLUAG9S*;4WtquUHpo zs~N(FZWhT7m-c)mLF!JZs;*dfBVX@q_j?v_IaA4Q+`1|_m}1j&#CZ6r<}hz}ts`Jt zlHHMdcnA2RK?nZF*__R7rimoNRTpH$)S+)wllWi#bsi;I;z@ymaA4H)PTY$6i4G_k zPB8fmCf3*CVh6R6F-Kz1KakGpDw@i`obRSCMe5o8zQL)VXJzQ z70>&?n0I-+#@+Nfbm7?)2R`Dsu6O$rNx8lhC{`W{U zFQHEU^A)2D*8fR}z}+ddp2gqRx{CA|DG`(e+cPYy;#H;;q4 z_`{R0M3ec@zV~c`?UJHCVBy4kwL^MOO)sE1q4L!;^sX8iPU=iMqaPn>6hHuz^7h$e&WS2& zlc(G2tYuU~Wiraeg9&kWRYDQ{?TdOwbX@B9(fO{(gqgXKmJVIA2p=uHO&~&N2mfI-g3u5#@4F`rIy*PIgSeEgt z^%J=H$Q;}pUUy2)Gj%4d(Q$k=xtum$S0Z#{NQI__Y2^w?!yN?kT)&rW0`f_VYgfyAlpDg&oB za<>96cF6kF_YmVDJo=|l)e44>rMZp!$@vDo06fKD{Qz#j1X~Wi+_t$qe41`L0JotG zqZr{ctc=8LGK{1oi&q<>L37r0I^P%~P40=hbm{SnOFeh_vQ-WxYuNLB$RM>24<3e9 zeXBxN(4KM~sI51=xsloTl4aLY5jNFb3GzaOyGN}4t$i*|$Ixe}s`PW^IeHFGW#5TY z0$SuiX{+?qyDJjN0l;dus{_hrL1=817|BWvP9Gw&*X4UFhPTb+MQHiKxkF@8DkrcZ zGjQD!zeF_zP<17ASx4Uxk5AIwxMGs~n5L|)KxGtyag*Y`36p=ao7>osSzUv`UuhR~|OSx3NNUV!b*9szi z+iohq6a<)4r4Z`ZK9Vepv-o6PbELXivYk4+ol}IJF6xA^B{`BFs-}md#Oakad*^Yw zay>7BF{JyUCUQ1DvclOAn~rKjg0il5vY|Nyl6Iz%ix)k!Yp@YdYRh$1`e!C+{fMtR zn$w_PXs7|>Aq69&`Zv$2uj{?ikiwm=46if4GCw1S!jey@z}wiH(C5LsVS!W8IMp@v zCInVmsN5fDz-a}X*&b&L1XfmD^PT%|dOPFs2CTe>1MXX|bm>{dZpDQ8qPUkz>BUwIR3oL(DvPcweqA_pdFtu(n_{7^~2 z3J9Igs>(L>`KV{MUC7TunB8yCjLnr&ZvV3wIf!MAb^}pjNPxHNjD{av^H3R}`w~#S z*G-qv<4CxH5|argSKt>QKo3e#N65*w$GU6ASNJ~Fp{FWxtGSAqk+pWHndcIg7z@=* z`T3gQ=KOGHg(!x%@+?v=8f~r_RTcx9%c?#km&UG~nkh7O|>(E*;*kNAvM zMlfZzkgsYLBTD3DLFD51NR2=6$lGv|M&E)kbblcJrb9s>g*+)t%x&=szl(_ zOim6Y{;6FzdSSXMSJnq>Xg5}hwPdO#8>~CIb)kfu?G2<|=t2cH#>WwKp1O8J>iV=m>FwpGQq>Yv!RWLq?zTwRgj)}A)pgVS_tI2b|N%~ zOw|dfc32(~TjdE@N0)r~wgm>hn$7Jg+nkbVbHAS3INo!9Zj(GJ5A=xVeu^j^Q!z zbY6!2%1Hgf5O^DM$SybXqGl@bKId5+bq#f)Ch#6aJVXBc+xF@;?(7VRJz0|jC2h0; zD<|j1TK|r#29gnoz}*Fngplk^BE!Wr0ecJ>)Sno(R73t(hLJ;b#!TJ zP+%IVSOvFNhotjhz`5+VQW20oB<`kW9#zc`@q~u~9+PblW{f)SfY3I0bK8t9V2k1v ziR*tER^_u17(r;^WH?Fc&rU}o%#yg3MO4*m=OBDC7OWzX7)yJl&Gm6B1!Zzi!?Rxi ztB(;$-J1t0OT{EvUxHq%4EB-!8gN5NQIf%p9pI!>tW-YIzt#?@F}|u-7D4+G$9N^l zeXGP73{*AjH?GHLTM8nxzqlHfi}#)GEmfqybX{B=+ED%-9uQH!Dh@s{3PDo4E%f_p z`?pQ8h)9H-X8;twh^@+JsX`{L-jt<({&gU{wI~vsA!oByI=0oMt_z_#wC?R8mq&T{ zi}~U?GB+RA>8%_)ll>YeS%F&7fW)nAMFQgPVLldn~6& zzh+1i`&^Far+RRL{dc^ihyR_0GD89Me%i^FvdA#qR2g5|3!%mV<5fWcfP=PRd6IGb(nyNROyt|NN5w#yYydH}oG6-I1kigYK++`Gn~W5DScaWt4X8`S=qeKoRVzdUe-&#M%~hk|YfxYr zI*X5_7$ABDhzk6AW_oVCSxhl<)@Sbhfr00dy4fOHwq=A>guFU95XtSjpyb-?(^HEQ z%x=S<+Fbw4z$%&oLu|y~>0Vi2PnJgW`bq~-82B)R@Ol<3Q)3C>ZOaBLep7o7l6Cu`VG&uBiZb+U_W+Abw?oCs>&J(voYkc* zdxRTSQ1&k>ch^e5d$K+pgA~W$CO&Pu7RP2nUXQ!6Q`KZKrlGwbn)6(0&Q4dxp)JKs zwxUG>VkXEF-Ud@nXVadk4)efU6@Z;B0EvRj!@P>PZwYkd61wa)a*mzSe`3JnPwpV$6<--*=D1tO>wMTF>7TX_V%pVWVzx{kK zc1)Tc;=vnBvd-{Hu#kXV0z5OWObZLy5giUQF$O;6II~VU@e=;-?sqsE z=nOt%hW)=XgnWf8$Z0=e&Ky? z^*EH04E4$JSl$UkJNU5nK#aa5DkNCSm4kZq15BIB5W+y#==%Fj2Q&C6APIaKd; zx5IJspgG&?TfYxO37ZS8mOy!UUWNgWuoJ=9#~;Up5V0ul68$?>Doz>f8CT*nm?6&+ zZ>Pvkhh!knvop=mmC>}f))OxV>ngn@d2V4vdW#jgw-7^fKU>WQ*#mD z(hL>)TQNURJeXGzqfz!aQ@z02>M_8*3qK42x*_5(+IP`DYg-UNg!fwyN+p#2O#Rpy z^UNd;-UvA`V)e1BQH2qsBIQ`X%ABtKoVZvQoyc<^B`6T|I0h`2$B&2fm1{@J11rQ^ zt4dCLZ}6m0l?G&TC`~ynHwV(I5F}LV?1Q1y(P2x~dfMn(z|sx3@T_s;2!bZRGSzY| zODrNsCC8}mNA;W|+$bzv@kD(qwlzNVg+=bzyS?(c#tFwzzhne1M)X?GxzMlvs5RdN zo*;-&AHM-h!}m3IJR9Q=YiTT)?rG*78QAhv!%!gFoiangr$#l_U<9Isi-n!!@{+6; z5o?H5W4Aow*qSwF@;qK}fsv>5<_La+69v&NS_qDBfd3@)%Dt^_VzcMGDTbQ<17hUGW)eTJ!Gx;fM{awWJVx1TAxlMbVx*4j?V;S3(YH8|ULHJss%1yLX=?r$=s|^PW_6R+chGt=)v^t+DCuBZ#iy zT69KxBq=6cRv2(1-+L0m$SE{sJUB%?1tDD0ul?&bNoEDc`5Mh1#EP4>CTJjJ*`G=l z4k!PSr?O+KDC|RMT)Y_yWXdAIiqiGF8(0Vc4#apQ-2s6H;>~{JwzNi?#c;!4NnIHB z>S1~{ECJ-R*GH`QIxoRsr0?{6yp>+HW`ghHoMJbQ6lHx26tkVtVLqQ zcLE3?FmZYj*yMB?gnjbYi8wZ?Z5!1DXDYN=K|$7Sm9P?ogBO_`6ST8gF;&v}!_M=Pw!9U8Bmt?BDP^kQ1p6Ifh21v;*pMbe^HtFlcK7yiP5nNb_0gym(Rp zGzaVs`&_29otBhE#&N{TMtM{HFPw&s3uAqN(1ukaR(h}q#+K$Ah-hX$J~#iXc(j+y z&?*Hnxk#yqqXKbo=1Ns*5KFGkvOqr^T@Ng?5wFKiY>%|YaxAeMH5!H<9jJ5Go}M-b zpn*a#BxR&Mu@n&~Tx7b{mOKz8-&+C%ccz@7ANZhnW)tC6LDE|Ikj~>$e?Vro_*^Nm-WT7gw^T`pF=JasN zhg>>P{@isQd$wvYd|KE6MZWWvhuq;KBR0I$rw;#KXb^Wh7C;s7+QFce=t>Y^Yrg@z zd$R& z^2F@Cig=Bzxd9U=4>ya2#*c+$6I@<;>oqbO*ne1pR3IR5UqbTO{phlD-h=aX2uzGS z_m*olSoPuD%0Ic!PpCq#MsJmr3OJUXPd?0#Ub4;aP$oy6NrKMg*eY{-9ftPttqC_y z5T7vfM{fJ3wZ&c@M`_xkdQgXit%&pSFQpHT2{3~px$ z5|s9c8DUcFlQHnLtTN6aVuKrS5122uLtR_~z$q@HSbx&?j87JpGpiu|eo;#HzS8?p z-_zyk+eVa+r^ElM-1UI+<^ZdANQuv|Qw6~@Kc}EJHvk!xXnPy;A zjRe0KNXfZxR9In*@&w38fB`0n09_6OlDI*4D=VIK6S}m0@9@(h9$FYp+mWMIK8Lu%6pGQ zt0ll-_?>|4La(ziae(iSVPUo8;B zyCHr?w+%#%RIPHUyUzGgq$ zYOpH-2~aTL8R`_^}k700)4MKAQ1n+Jy_9+am~oG5n7?ho+w9!u(R3~Yta zK7(u^3A}Y&C8+3Km4no2<)qaYL)Q`l5x-w-uosygpk)E84cw;_q3J^0faiNW8C_2s zQ;B_*$-co_lotb`9Yh53^28RPM$%LR%i+RHiZ7(goJrOFUA>iVcb5S1?(Rvm*-^6B zc!J#}^=}BTvZWUV4ic7R+%$@tmrcAkbiTZ~MbDbHrFjblj%qL}+1KV0R#1e}V{8s; z?0%H2s@w$fasFJ=Q)A%v>PQt@X}~n2!DR*(_+p#HHiPwRlt7HzqM0w(&;Kx!2Xe5_ zC^Qx1mp6n=LasBKV>$pY;o4GM-sEM)BqQU|!D3?zuQdkwMPz7e=O>DCk2$qH%8V9w zJCuik)!mzNHil^4Sym zI?5&8vY zlTc~xi~cTl?74F-df{&4Y_`s`c?mGXqOPr5IOu%i#E@@ciFjnT@}VJRLedQx^Ye*u zP&uzxhJ`F6OGRT_X7Z3qb|T$2@I3@zLd3)1uUMU|+@h)^>FB!lcxH=Z7)~qaSm?$r zs_D>3jC`OFEE5)3$@Rbvi1=MzmJn2>CM9^E*)~X`zQxIv6S%}Qw%PE<|Xw)owXt#toE*-S3FLrtZKuDP@)~V{7ePl~|*+QWY zD}l=!rQ0H-U`C~>GtHp|+(S+yLnenUzn8?3H_bQDTnNA^1am`B+GYSCyT%@2*T8E0 zYb?-yTr4NMQtZ5XyV4);{X`sM$gK4b47GQ3w*({nl^U^(1XdAy?Udg@<$X}XvqULu@9_93pnc5m-UqWghIWY`|jxFV+-KFY(n_(5QN`UOfPkGB#C))cJ3w zR6)yJMal{b%+qbYIlV43m@l{es*%gfb$v3=xLP}&m%GHIEbA~ zPaRtSDNZ%p*EsRl2PM56hBZUHsIyhEzHxgjzJQr})|k}S#*K4`To;t~!#*hn^@LZ< zdAI}sld(5T+*Y}(SX^1u`6M7>kGX3AX?Luy(^N=29|~$yO|TKg`=6QCl`dW)klmN4 zn-aa=8Uu@s!Hl%FZ(1MQST``3$K<;_EAf#%?*$`Wu+Tgyub8+0#t>omc7ww5DliM7 zwF6*cU8TelC$$_XrMQsD{OX!c!>|sh%kD#%VSQ!y88;vZl1m9n)D|d#h$r)ydKF&Z z>bYfko78C>)Z{N1x;dRS*rg(+T}q*$o@Yo;y^k(QJhbj}*LUvmYNd{hbJo!HQk;!$ z5LgHW)c}_nEfc3k3RZ9&qFq6TZNsd#Z;9#ZS}m86I=_gIpPQ{@h{ zsQg)0pA8<#04$RWN_<+dU&_mhM@NedVy*XbPoFQiv(k! znTsyQj(o9kzCTR(Qt}*+sWmBSX!XQ>D=FsFJ@CeWW6Vl4J|h7a;<3ju`OrAz`g6f7 z@l=%?Is-TBGqOW+3-8FrUby_GT{^m3Q!IRF3^ae@U04E~!zd-DQ4X+GKk>y z(l_>~-3s#IEOAcg13wQ3C-x99nA?BBi@aTX0W9%nkU4n;M2f|&1s5`Lv3)sc5L>gM zpgQt4CcrF`G(E{LCApBmcAdIGL=;nwf*~TJz@8X1X6#rhah}yTkzj*va2Fcb4G??4 z1{hk@H-5^;U({LXuInFWo|PHIVzL;@=0L6kRz~*8?_4;b-J@qo$~6x9BkShkha012 zdCuC8&ViTy^7Ek+Zv=Qr|Ki^(@b`RXf~kRJ1M)I|=1-_De6r7#xs3F2BIgxIIt3#0 zV(zByUFO(yRL?9nG5@e)8Vl(YV+~Dp)gO6N$^O1Bn#9K zd~R>I`uZX|#2V0H#YeiQey~kkeuE5FbtsKy;Txv4_60Hpb%75-850ePZfEf*ok8SW z_7_+U(^n*rKvn;h%bh%=yz4!bod>x-20BzaLd`got%Vqmh4`E0azRp3sh{$#R{Z)E z0-Yl3%7fJ4aJ?}RXIKM}*R!9)Dbm}0&o!!hQw0G&9wqY%WD4_JNX=(UQ0Av2 z6^C3vBA_6P+6A41b)hv3P?h$VTk(Ra3j+hJHmQh(;{o%?YFIj0nsH>4D-4*JbT!lr ziJOeZKFPe5tWg#g7H<1CKMH}ql}xIE{*c<#fb`DaimNETT@?2onp^T80f42BXF#QTcXTeG`|A$a{=3l zNOApGGQ*p*J#zkNDghxA8=R@sDlzCkcS{!a&>m<`n?bg(fh81!dn2N_#B}%?o9kns z0rJ=c2?s&EAC%&)zQm8bc>E3F^RH|__uA2 zT{z@1ej;uPrC*F<<7Gp>22{US<_*}sXh3U=JA8s^ie^4T^&<~F z&8AF**x({;lW4VoUJDjeQ>WJNNIY-xDua*WF8_3x+i-V@eMJ`%<=*Dh=g0m!*I2rIFAEHkEQq zDN=LLrRbu2AOH#(?4f&{h_#@gu0x^m;)$Y2yOucSdR-qd4>KUw8|~{z&1=3tdl9?B z$K(46^9!J?U=va2!#iG9&%t@6#=N8@~oBv zShbMz$1$f>H~~UiCvgS2UIE>mZh)S4(0)ZOg@X8v0fDs`hUO|kF0&g1==m-f3O=qL z1>jVCU5b!8zlV! z7S+(}4nK$cfifw2OtxqdH2JEV0*4_7SYRjP2P;RiGXi&_X{(_(477Ei<SJ!b9$ zpOIdKK$pl2dUC=lvN&CiM-*&KB{7jS5gukSqBc(fL~^d69|r`m>NF^{ZZ9>KOEFc`Xw?4 zRP7XF7`moIVb9*B4@Z)1G2GJfr37Y?zTlQ0Hd zP6Kb8=yOoXiykz z#It!7VuN$wJvwjDtw9VPYkh8#P`MjySmaMC46_gvsW%nuW^OikxRGXC!PMu%@`{O> zGNi%;wb&yE9Rsz_o~kzDKf{<6BZ*VZJ7ZGGgRed zJj-g)J2>B75awMyZy9Nel@>*;jga$)a)K$7t&I~!?46#X8{JZPa@ z%WHuK^!&JCMMH)JwhGr|lzwlab;}pW<>bzY#d2`qAQ-b-*M~jt^wNOmSAGxuhCom- z4zQo5EdIZd`ETIb4j(rjy`p0N{L9!M3QGU)&~2p#(rR?=z&`NF?@s2nT=_S%>hIYu z@ZsF+;8PaAF6;wS`tKjt8!YMnKKTF7fLz!*wq8L|{gnQ^MLGG=$M1fDlS%N5X5X;> z-AlH!j~+d&SJfxHMg_!(QPakpsw3*lD9UIT6Wr2Az?R$~;8(l|@8 zU^v42>7YCY+9>2tSI>02SPTfg1n+*b7O?3`2kmp;+B*u5JLh@ZZ^Bx&`egD#qq;Xj4g-`jW zHz#Ui{G!H-MqCkAFs90Wq>J^ROfSO9CfeGM}m2c zj4;_Q7CFN)ODP|kq9$%7of8b6vQr&`)c5FfuhR~LHv^nwd}l!0Z`c1QA!|bGBx!mm zVkNKCb3ym0iRLF-*q81!(jqRq`S#KyC)PTJ16?!6gl4-QQ@hZvH7fp6X7`q3x5XY- zFcUBv+8r;96H$oau~F>h;iN&ws7t)8X`fAydgk33+D54BNpJ7ijGn;{V@%)yN{VwI zo};8t|BuT6M`mT6{ju8QLinN6}M2cV;BM8p3)x%I+hw1Dab9 ztCiY|=M@2B;6dzm_bZ{TV!wWEQDX_ zp-!V~-B`%)Y|e-+0f#Vhe`=w4q|{b5m`~jlJKFy#`irP^#HXeb^yUTUeEqM?&bN+?oYj>rX8~_e z2D6gWCJA}`5*uj$`@Qndn7a4MdrVV&nomsh@Jrd_Mh@p9)f(P3J28!w)^mD;efD@L z?jgJ&K~7#VhqQ;{#_nnZ*7(i#!NG&NaK#`?Y_-YiP~LZ-QL3uc&EED3taRqlJ8Y2< zy-PE9pGQk(;PX+Mz67wb8sR7~{YkuK6#JtzE)SeI@g$P$Wwnl=mlfyfle=9)-f2)x z3LZ8IK+SwY@_XFLanx8#;|rLFUkr86Cx>n&e! z1;l@=`9-CmF&V|P5+oCS{wF@6NP8S5{@jXVdrzEecL?&*raKJt;CeIY*9PyDyvrQMj@x$VUbVtbjF zq^@i3uW7~62&(Lm@VK2dIf`c-m26Wmx2S&{Fw~J_oWn~gELc21(so}|gA%es__y&# z!5M-2nCLN4Q)yvh z8JwJZb)w=_Th%9eL$gnv0?a%Amwz)P;o<97N zo87pP%yoaTPNf(?4z`M|2MF`_i~Q4kt%0#+Z~9ubehKUPYBYo5hSvJ^NX z%}@jz!k#f@!L*An85a{}9~2$&|B!caZSg<_f8~mBnHz4UvCpB_WQmVVb8q7>jH47M zgh(S_+4Tgq_+9#~WbQ|>Gjrgf4M+*D>B`=5X6t134>Ly(yt%#-trnd=f!{uMqJ4dg z$q$g2ItEFhj6<+EC{UjK&g04RK^PhjSi33W%1;4BP>DCRcC3E}`bYk&mT0Ef6|34i z+zO8jnV)lvnlRO-UR_2RA>tg)%Wp=kEUw3G^8lJA{Pr0fahvZAaO&WsIzMa0AmRCMs>cFKUsWhG9QBdNDq zD9b$3`nkB9MRoSEj>m;&&a@0}`aKe@Lvfy1=q9Js{hh_m%&+ZmJ|k{PDr3O3b2Wa8 zct-odn6v3hx;K3_5Z4EtRh1^&>EG=T-~b4#p}i?_R`=2R(#3tO9A~jv zsJ{&cr)lHTC0m%IS%72InFaH~+%l8xyb>5YZ8i|BFyDL&5TY|F*5=zJ;W3y&8&w%> zThqKx=2lQc4CL;V{dJ5s=}dZ0scBA~dFlhguSH%Rc0AvLQRQ-+#rkxULI zR%Ju%9L1qYt;PVnAr3g@)&JB{$PJ#?v76ahq?FMp;YlHJL-bM#z2S*whlIEbbr$g< zt8w~sR21{oGRmfyXN(7+nmZW&I$WEDSfA3DIJcBSi)|HEKe}Z>5Vx?v+lpRz3Qp&r zOz3SA>QFl|;<;Y+RI1z6|%+tyDXFb@^34iWbd?m`G&c zoM%{2Ejry8Xri3}5DNQ;YgK(2_KE)Eu=jj$)pld{LFe(DvaeNL7iQWu@t>Zpj%1gU z0^Cf!xbT|<`+L?e;z@3+^_O8&9Y{yH$Gr|@5a6xZAJRq<+fp`-lnyvr2rY{Lpzm`& z4T`&WCr|bLdQ&MU$T_>M0>npshdYp8K9xpsztoG3E3wDLPKL2t_uU4v*Jq<hv&NEMxJNyodd^T{xg{b zu`4Ts(=ebVf77Q#2xGolLHV#vkbE)=@hyV@jUDq|{Qx>+HQ>#D{lJ!ag>eo>ds6Cr zA|EzcQPkNLnij+@$|?0jjfW1X738RiT2%;tzx9V~uFL%vd3K|;Yj{v$+W~2~PoZo6 zuVS*f!H{j7>&j~BC`z4r8(kIk<$-Z57!sp=gKT%9I~+pMy}QYIUGBBU=j@odUxNab z9tloUjE?O?XAURzX+iU!~0^ zZ=me-iRq$-2s3AjyJF1M*Bmb+d8XFP9Ha~=E z^b>Wkzp4HFDE_7zT88>u!`XE18u7`(;u23TDz{$_M6OmJ-FS7&@>Ya@zWRO1xZ5a_ zvAHhU7A0hlyowW6DG{Z1gsy*{W9V#Bzr0vc=Ko8-eQrY}>WDmK0?rs-AFtQRx?3D* z;o=57Z2CzfZ+=p3)xx&!gQd=CpM^5%UfQ~ZkuPD{i+z#e0ZGCGzM8@IQ6|xX@u)<%f(zyy~~@ zJG?J{`3VnjJp0gUZWTc=A!10T_EAQBo9bxe?tzrjx z%k4pRI;zxdn`=gj%mSG$`%T>}|7WvU!)BL91M3xA#M9bo`%P^a}$&oUdc$CwFQ;Yqo(ZZqz2~&`fEuEjzl{4$QSxrsGfI^Y6Z)Q~y zfyTBhSMkS)DBk~kD|$Y8rY0(K`*F;!vD9;FR$DG8bGtSG5bWrkwcg;TV-z#9l)R1q zgst2Vwr8MFTc=>PxLm^^pvTFdnJd80YxZ|8W8&77#k{r35d9j?d2vRj9nBg1`v4dB zlsij|D@URIS|9RUx-HQ{djEU5gT)Pt=9Wmqt$tZTr`}odqAD9dCcC(OhNbUl=DZv9 z39otfcam%WE{dpgYVUTnSbyBTq7nG38CB4s=uS{G|A@06ExaR7X%&CG$b54jigWf* z%r`2JS!Tlvgqv&X|9%a!;Wf%iFrmZ6q_s%BmN~h+G1Py9ZNbt;hIeMPyR%RJ{HHpO zLhOJ?VHZLnS~c3N~gX-$dZ%Cc(kVj{gi*mwCTr{aXl*$7?TAS^u^ zG;Oc{v)6-*&!DKtKP8M-L7qmeaU#YbhLtHVfc}6SZvsL{f-8S%(6$B+#-@&=-v50z z-+>nAVhS3CoCKf0_;qa=D9--h_~6|>CIYi#2B7+m5$i~pjipp?uU%Kq#184SMB3m- zAKTzuR50cp=eZO8Ms`zbaI*J|1%7NHt6LdUTF#xdGliB%vMC#KU({ajR}xR*^iv9n zVo>Kyy{y?rtalRiJI9H?=IbYw=z&zsygdBCG4am4=@}rK(gx$55AVkX?D&HMG-9Vo z3Sg^I$A_aJ=h#b)BRZId<;febq2`u4G;Z#}=9gKN7gq+c)ORqI9J!&HRn(EE?D9dOSXWQ8koMMRAs z4F|FDuZfTJ&H-aO{<9&R7xF8ee|`w0MeaktWr8lqKL15<=w!8^ zu`zi7xMI|}!vHVuHcG;Oh&lH!?~eOepz^m4!p{S#25j^5 z00Gk|*=#ksSi2#cz9PufKR7^Hyn}?dtlUDsOR>j5v6_hX0CmZM^-WJM?Uo9eWSs3{tIcL5t=f9In1V;SAGD{4@F%7#l3 zdJAK|6+okJy`Wg*4{l8ooB~D`9;~ zpX~(i4bPuoPW}zf(ox)%T%T-R{oLHp%ko3zL$k^NpIlFjyLtoP6_r1yb?Q~IY7|$7 z9*3}}ke3Gmc@w>vrzzd_O}2~BzF-Er@oiUX*dY$GB3l2veKjW8;Vr%G^g^#Sp+d$S zUWiW#t07%3{}^^eO^DHHA~E+rq?>)D2=4Z8xVb=5=7S$B)|Emd>e@c==>r<2#LJsr z*p-rS->BnH!)Fh6`ZXEdb^NjAlj(`>??0w*bUc?(yd&wgn7^y$V59VT>A{iC&%wxj z=<~YteF;IfYX_vl*BzJlB_`!Rp-lgIj!o(QK4P?NLFG^UV;Ni1I_D+N=;to%o;YC% zF@*;z1Eb3y)w2#Vu3Iyn+zK0W5Xz(;qww=q1@|xcPsq3T=63&?7!`kFf!H58?>>ns zKtw*)pzE-27=c!~7tNb{4*SrbA5}jeWzY4ND0*un8CI9nUoNHaLeD-pz@o(EMMV() z&}8y$&JYOwz9aW0RMe`(gf&=JI2?;LJT^Zre~DV@A;A=VLCPf1=&(L`3P% zX}up&52*ttGyDCHSkKFMdBg`11q@kzh0kk`KL}J_$#kOJqrW{(9lHS8r+rZe(l;IH*qT(X4DvAup{nO zHcl0FTXuKlIJyVYpO{AVA`4`xmh#^&ty^!4TBoR6ulP-FB_66jv%7kzep<)k<_lC-b6(OkHar{afC_GksUp z8wYI56Gynut=-Ix>+wGU`2t@erbz&Gau8FcE<)YULy70HO_dp;p&F1&7w6mf$f zo|upgN{a3(Kh&y5M#x3g?3zuCo0QCzuv#qnCs(W@4+T=lL#;CktWcIJI1>*v$_l?7 zg_J{GhlgPkMaT06Ef_40!EcaKd2-wHm)T`6g-r_; ztS-B3kJE+sTGpP5i_S6ho*(CV)|e%%8C?s0P2z^!CY-@%VL z&q=^B^}CNODs1_R$jeL>)O{pE<9$rvQlszZnrPim4^+8BqX}1Zi4(G~j0A=c*Lu`pRGaf6} ze@g8Uxcq$E8RphNdv%MqgDbnGZg4Hn$?x8gO01S<>=qB5j%3&quBspPJ@deLy-^KQ zp4+*ZAE?J?mOl}7Q<|7iBKB0IeqB#(&(=Iz?Te2TAuO%sk+w49w$m`4Sza{cjX+}8 zE3CT(L(dR_{^3P0No4|$fjCr!c^yzY&Fl8b7S#UOb~ow7Io86rlRrh22W}{@^gt%n zd&nX7MTDl5x;vke-2rC-F={CKNI16pO9|__?MHyDUAL|a8-E|e4Q6mv+VPmD0UR6d zu44~mce-9A^zARc$-Vn2YPj`opD&|vp_%@uY`bfp>(BbWjJMnpd@vGQ`*<}xgL+qS z|1lAVG&85XyZwdmSO$FUJw%(^@Z(&-r)gjoE8}5CG~7)7GNZ-mV57;WmIIe}xSy~j zeiX}=eY7?WD}6n1_DWRh@SpI8iklq+*pbf>FRbo~0B{Nqx*rR z+rBmL!0t!26gXyz7XqXU} zx0m-|T%1snJ)f#}-ksQW=5dQEaXt7{@r$Ghn7JOi%iXVV|^wt^pP z^-kr{&yViBt3+KXKi95C(#J3K*x<@q9-oN_@IApCbd4w#JoWPbCytZLj2cCT=I>r* z#M$kRf4)9g8y<{Y-`zEv-7x#hnfYNbl+7oDqCPwijsiaZa_&4~^6S>#7U>f9%UdET zjX!+uqz&o!5~VnVNNTS|Z)~ilr+nDea3JG&PF{4wDO{d?I80m5Z+b$?f}eJaKD@0b;O&O{*sonC?oQl?OLe*-beR;9jLFMz||=V#`>9P zd1B0Qn5?NWph75=;q$NLogtG)abXcC8)kc)^QVn5KzjK(8G&)0f9BrJ(uLa2cfc*M zG+?=1M~99cVc7IdcGR}Hs%>Nqw?7W|3B`LfU48bnBv7bj@N*UN50yLp-d=ig6n@T~ z*Fg==Y5CvEfposu<-Tw5av|WsxZ34WY9Dij7Qz-k#$28j0k+q#Z%^Kv@fv7)DZVVn z>4;-wpDtbxkBye$x0hQOh2R$X(JAK(sp~&{T=ppQRZY{qBB#A_NB2~`ZF!SN3vuPp zj`rTrl$n8Z=o-sS{bGLdZk}+*H^Iy*%pU}##-j#Vk>F> zYTDL-5{cYD@s2Xe!|f-ey?kJZa$hd6uIzLPEafMsFn8X?`Rc~vLkW&e6PNM@#eGft z)q(}W!b?|Q0r!vg-SQK>1hs|>Us!mNg3iqQ61TN*sE#*BygQg)RLDP5I8cr7T%Rr2 zT6`1!*dur+4+>AynhaeCXaC*;#oQf4y&0R%KZV~vKfPzyR@9(Pt#3e|ZxyvmO%S-n zpNTRnkfo_T8vYl1ZyuL)_V<4~HPuX(&P=5(F4NSsnVOlJ8&3HxD^oLb%PliC7bHa_ zM6hMdnQ@`AGFNKcS8@Xd1{aE1{w|Cm0dNB42d)tim2wz%sFovp2dLUP1dVcwh?6B9gIkc&X=F zIVg+H+@Y4r5sr)T41Hyq%@hBC(V)1C8aLe4TcI1p*S9r%*R_AA?lZpW&4!mgtAHC* z9#)e(=0a82A3p^=Fok~Xi(B~5e}3=RY=_N~P_45*NoIXN9jOi)<6TX|EZIeV#+2$K zt&@3`P8C~`)}K}bw1E?4|HkD3p6~yhFT5G4tihzHlyZ!S2)O^$6?VsgeltvrHpEoa zu^(`LIm`p{m^?H$JwTzq@f472N^-c&h!@rLj80DY$SQGzO$P8rpCv_h%LL{h3+QS6 zX$0cgYVEn%)An(~E$6wTVBDORpC(nW$xFqxRlBdOMrqxh#TDR`cFKWyTS5<1&lvg! z-lr9U)j!8H)ObTyuR1;@i9berYI;ilo(>L(zIBr=j+{Ta9oco}%cTF6z@qrNroq0N zclZMaH%3v`TEA>%W6GQSksE7Z-y{y|)-q?`DczB6hOw#hxz_nw@>aV_H1oVbRw~^? zpWLLGWK^{-DTtjx?Zz?HkHCWJc|zZu2up3CXX1r`dA3rU=jy9%C-6Pz-bBuOeMH_G z(R`j359e0jt2Bq}yg{XQv1;v4@72$t>|hL9G<0#>I+sasy}q(vZvSRC6M#3Vi;OkAE`CIg_=Vqx_-})7zCZBAIQn5{+^sd&AC^ski);wG zFWIXejEBB15EfdzlPen%Reuo4qR!67#Md!#m+MiAKnnF;Kf6@vq9d(el$y#$F-z&^ zVUbNGl_C1yjc}U`>zETdQ~aYcmo{!ZTl}WUlbaN5RS^=4jG?WKZJ22^m{J{@8c})Z zXGcdVigEc%`sps#SQ{qyTy$S7*?dSpNq4C_C=_k;xk#?NT*RlQOIHfeQ(EYFUqrPNMz2EO6++q z$EGZ(VdbR0aE;rFgosxPocX>b;dX6H$u)!m~@sT=j zo&sL-0}rB)kLmGWmGL^i3D4nX-$kHmZ(+O7dac%iAWgq9j%Na}y=Tw!OyXT+Imd}E zy?aa-FRVzx-GThY-Dv}&V4Gvpn#SvAH^GL}Y@0zvu%Htw>BsQ!%Tx5O{m){cN z4lJKnVCc#m=G~`L{gIOYUCgdpEd|&^ck) zV$;K-d~52$+TMuTC*A0c7(b{!i?!IQ(_2e_9+b?Zck5jbQKbe3ZDEsZ#bz!o1&G08 z1Y0LtX2fcKW8E?MdCnnGjvmnODT$ws?rgziy#a0_Cg(2sW9Q-t}vQ2Bia@a?gM_V zCtXvl^CekwZ>3Gai$NQ2l=uua6ug%i>O=Xw0D@o}D1D8FRO;u&139TFWNfG_at>s_`TyL%(WO??8$07ecA97+LFzN~D5a3pBxyt{6oChhJmU zl!3`9G&0Oe(&|*u1Q3lI^Xln2UPZuXRSHZaHMSnMZYqHYhK+yXhx;M&IcU#eX zo#t#0Qh z&_Xd0#Dg{}58Fy|h1g>OM!-DFnO|G67_eu)YO#dZVpvT^q_rI-L;}q=3e8aV*@hGJ z-Cr9wwTJ?TEzC_qrtL1VcTroQ8Mi|02$G_C>!CzXQJ$W6IXpNMwo`HAii7rU`Z8x6 z;eK+4^LmToWm)+2Ahl$n1q&H?jgTv?LJ{O zg`UOwrKoIqL>6=>KAZ@Bb)w6$HqAfSpA_<NpO0B^GG`9VmEq9A}LTLQM+kacF(&&Z!Lc?#_G4y^G<;2Stx)!)}^6o5&sMODoEzn4o2qXztiEiY_Q zBSqKbORXqy6d_nPI6_h&@lCEn0;Cd#~ ztQ*@h5F!(~JYU_*mFe{7YXv&n_wYV}qzGq`p3w;D8nZS39mr9En7R9cb=Abdz1)M4 zFK*^5Kf~r;n0+A}Az3b1mM%ao!}QI^3hB~Y>#o>cIA*auYO%z|WR^`9qPt)xYS}(f zF-_8I_D-++`d*ot^x-mF*SAvRyAIlV6HGX$9_4dI=voqPDFay#4kH=yp#26w zMz~EK1s^aCx?KG^&0Bi&YLrwphk+q3TOm^8bv}Pug9_ZQ z{}UxYM=;=|P)F_ooqN9oKgFL}lDC46HA24pa?1}Cv;eMIc$8mM$)7__V_ZhmqnUXU zhf9;1{?}n#mig7XU&>t|gkyd-z=nhcRadNWh}wJE76eFSYchI!bsfl;O%V48+()e( znAa-AHH)-dtQ53J8v{FCyX_2)Au;3o(|cc9V=7N}foId*=kvi+h!c|5ltk^EkQCHr z>EgZlbZ&ov?yp}5FF`&lb0VY<`M`VoaT&4J_RM$f=7|@Bf7sQ0f)ZB{2lOsKHlfxRy1#;cogXT1 ze)7qB-<0*B4&C0Q!Q5Np9_%8JUTNPZJ?k0#`gp+ZeWnLX(ynq+$`>|-6F+)lqb7ct z`K)~RDI}`S#M9?a6?^bl5scglg5}k3YN-qum3uVk&L{SO1zs~;{5MJ_w@K&w#gvY- zhMDZAGI$_U0ln%<{^P?Eb!oicZ0u~96M|CNnslb&RD!;0s!0fnivC;dAJ`w;2J7o8 zYI#(u)D<|uWB!%0I340}vV41uFgV(d9Ccgy%4X?^-aZQyLje-A(?@d!4j&cQqm%+v zBL81dF>QAvW>2;)*n3#JMtHEwZB*PiUKyZ5arN_Bv0E3R&-rti=dR7LS*r=Uf>R%J zBYI}@oc!P=(A&Q`T%%s@70N;tC}rz>b1ZvtF?|G_W1-uHVi`B!u;H=*%R+a8aY|ys zXMUvvp|)S#OrSr)6yVyALC^k8q3m5FhV9|y7MiTxai4x_4dV~odXL!?VT`4YtYqf63b)rE{6y#dh zXXxv6pX|Bo87g_+0igzle-bBxnkp2Xl!> zmlfSIXxygg_Y+ww_&5B##J4FI*IgB5BzkMyg0R>&EJgN=CY_m)TccwN8vL*c1-)QH zOpprAk7ggAiggp7C=3y)1c)vF5t;Q#OEiNLZ;bCYorY0@G)8|B&vizBypfJJJT&?C z2Oc-e?#Q=(=D1vyR5;)9Rt&lcg}ph<*)uttBAfR70yNN{v5MB`C1#atmn7Jg6f`7O^&c9>5L@DU^Z-)CJkXXRwzF+}8o*0k3 z3&e6uhJkRNgc$ddw2{rN(dSf)Nd^ zy7>**&gSfXJZE?lBlF?zY~py)&0y7y<5z738o{10AnjaL7dU+eGcRHG?r7EP;nJEO z{o>^Ia^e1+#iAnM(7In2FRPD!=$1cxedGBE6P@XQCfC~h9@2Jie*@%_6Xzv=Iighz z=nefxJdO6ZYG`r$Yp+dbog8nx(Hcn`tD>-LTaVZTUNi6=xbtyp8!ym+N1}M?hE-4P z-fJqH8Rv%SUDD1BF?Q!wx zX_Ot`-0)S$4L)Akv20+IdiqO7mu7ET%W}(_PAC7zWrGOdsymkP-zAYY_q*Mf^hO#} z_6sEvOCa-n=kvc4Vc*jt$389IePS{OlGD1!raaSfE+U3EvF9InN>wv@HL6M|zSl(; zU#b*q`BnY4f5nb95$PBnYhML9nqID(U8dYA>y__$^9NU)7QMf5H1kO@w@kEWG}uqs zD%$j=*iDno4q=1gB($_ekkF*C6Jzld3#SE}%k<$KzXKh*$Ma&1jDNP`>p}KiV-{0} zZQ=!|L;P)(u8RFRA^r0Oi&KjyE_EHu({4NC^jd#P7;;V4Ka8SImB4N*n)t-air@*m zNTa3(Td}CcyO3GX@>J?>qm5MljEj1`UMkura#&1sJ_wzA;)g55Bd(Us5s%P1L^Y@( z87+!lZMFxpPoJsi7s$>9?Wq!AR^fF|u~lWJVSR1;4vQc?Jw4^8pm!r#kYSr=%KA1p zXGZCKbMYean#^ayVN~`Ga#kWeeGA>lx?S}J9dz9<7E@?FDLoO~B`5H4MxlVBy<@>mj zL~WFijG_D<94-kPo!Qvc^h6G2iOH6id-P8pE>mF-CeXbAd z$us!~(`{JTL@eCYI5$2|T2t_)V4a1hn?5LBUfgql2ZhOVUijUPawfOgYZch+6j;w@ zx2Av2uPa0pw4`qQ>)0D;(i^EYXa3xF*D$S}N76G%?ECk};1co6@R?LXtB< zRALFNM)4|%yu!TnTC}oqej&EvT4;YRq$Q@s1z_L0U`(Hl);QX)3sghod@Bq~5NCtR zWi$=A71+q6?765?g0?{9!CA;tl}V3fgopj4_fKMpl0U_V)i}TvO#xi8tZ!ddX>|mL zgtEY;pHaC>h6_?TvAJAbPK%X^gK^aaDC+Xx?_#q+-SoVri_YjaCSDu~bSXwtYCM;P z>1=ch>&LVPW$|(?pR=wcXBSfZ7}ez27L)U$$V{vifhel!y-fG64v$G_3*ow946z}t zkX5-@4=gM2UdOlM>TR~?b|7p8sLe9K3mFbUb{P%oWywe9K=0Wc5kc&4I#M$FC>}X+ zn6p^200q*qBUpV-?4CH)G?v6`d!f(~YydFFY74FKO!Jui+kG*BcqbbYWg1qpaIT{J zW`O@GBZEBCFVA(x6gs0USfB3uzY&^c1&Tw;bm0}Bd+FEt*d{l(AQ*m>U)^(o?qFZ) z!E8ZYndu$8JMPznO3F;&JS87xwD|=R=+3O*4ZS=mKc9#J;Y-PfGS4EvJvN$|S444$l-(e-FrJCDW@d zqsF8YTQ;w@nUN-@P7YHH{ZuC-hnM{qh1k7V)0`+++hM-`sZ`RGwxH;0o1%*VIW9c8 zAjF~is!{b(sJP4W>*ev&t}T$N`pxw2*gXwh)yU`y2WSd$`wTZJ$yq9f^!m&b$_Ctk zsI)qi^@@4d{iuoF)X=8)iIYa?^_dWJU0+h#6%UlAk0@lb$#or_i_TMYztf@^%uvev z`L%*`6vhfthb2g%3~d;1t`#ZVcIs?1S~)xO7*vj#O^;}p@&7^SR~rP6CZZ-9F4$C1 zZ?9ce;3pW&iI!Z%Sb@jj-9VRKeJ^Ix@jU3rLIUidQn&UwV$n>%XefO6Ynyb>)fjO5 z2AHIomg7`|a$+$PivpPBL_DUSW%VU@R`f74W_>$x!e;AK`YC8bRT-*jHK}t^dw14Q zY)y;xEq}g@+Pr;=`(QS9QTcbc_*{xjBWo}mfI=D@Vc~4NThH;#{`bvo!xCHmk-n)I zU&m=D1ork2UkbSvg?+bjSP5VotX^QoMklAI^`dgIDb`oY!((FFst^N7-nrUiYlHU` zWefA--N1JUu`b74g5DTdy)>fagQN6^t#n}PmRtgT*xbREZzLg9T3g@fdn65y0jq4+ z@>QF|DCQhR`a#j%Tk#@1LB4eOKa#UEp8nS^O{GCnI;%&jJNuKKR1Jc{KK?zGt2@UI zeJ%vzxHh%nKi0t3=0OE1Z(Ailp-}F#wkCdd`m8O(k`O;(96vpzC13m@UM>`8$z#JW zPmh!Yp=!?}o!O5@nvw?_4S1JklMbvj?_ya%K<7D$veAea`==ONrFsnS166vY7-dmH z0F_@Tw|&xNDp7XzwFkdAi^Y9P%sYk&XfeEMp6N{Uwp+hvc2u8PIs7=bfNeNs`I*`; zNh@s8-6c3dX?+3=_u}eVP*I{dS8Qv7LuGcabt7!}yW{P(atupQU0fGs{TsK*RY%3^ z1G78=mxyF(f9>ECukv3@4X~!NfFNw9Cx34o_#i9f>WSN0aB9RA!|i(97~ek&W%$er zdABlV96wtpTKo*HV;rp-c=W`xzx$gI%W4N`l!QAEFIq6-km;B`$%VA6n4Br}1`URx zdc{xyPN09ddj##BFZsymRXgvta!cRlea*LheGZCD?)3+qHfF+G>CIXQRbeIM7|&ZeGeM5C|F?Z1 ztWO6)eocux-=lhbOrKe>Woj{7`HQDbt-TdL+l=CnI1Nr1UnS4vArGY3Y}@)^bLLcK z&t8>R<8-uC)rzp2lfUsJ>|ZQ;<5tE=K_${1qS7zr))T^$wfnJt9GT8^`#p+P7!!F7 zQ>`_+R=0jW6k{l|<9KCwG_9{H%BE$USJvbDWoJ;=PRD#$z4V;T28A&|!vNoIHc<09 z4d!vX<3gY;dP-43L|qZk$M-6&@MaKr=?CwN0Ys^>e22!HwXbCcuLCbc8tY}~>hT_U zlFPk}{}qlOT@5&kx2`dtKpjL6HgDdkI+ z9K*3gEgmIk3~Ub;?w{HiBuFe(U7dLt+m?HB5zm-ngvQg&e(J3TDu=u=jsz_Z`X%1B z3hr?}9DR%DH;45Hg5TPQU>AfrN!%c2c>q_OpPM`$8iSMN#FtE66%=>W zp@z3=w&$oGQZDaZrK`094+2nWu+r|=$?DxN*OnkrkzIRVIjjK1j63|V_vppZm zTOcX>^86ll{p~{^uTI1eN~qra3|M(Djao4V4^*+Y!peJaY{FmGgOO2ae-&bsnh~!g z)vzbRV%(^Bk{d@{>}JES5T2|F3eI;1Um%-ez(nqcakG6R*p{oDg#;!xjq)5EVa-!m zQa`JPp5d%w9`K4`~lM0=ShwI4^M(IJJfdLI`d%=<=`h}>s zch9d(MU|j3)!ugEbfZ0&y0d5q)QM5!A|6WvzX}1e^CnBP-aD#g}5~4MG{?+DWo-3yCve9>OL5v7AyP`xOg(!5amz-B?SSS zEY}s-z9GrYg2ULuOm{gvZdFyi!a5MR(H>pXq9KIAZe7M~m!eVnqyJ@9ZEeO*#PYaX{Tu1XR$C1(+N*9|=?!%=;2RgV(- z4H~RfInT^rV3EsGzvpZl`Grx&yzFLBlj7#J>CcOe{WW#R8GAH*wAIbYlq_Ozg`rqe4|;R6?u67%0J7wVzjo#z}Ez|);IS}_4aJA4>NPPVU~g8tWt`) z;L>UMiH#a+hzG!YF_#bi)xQ6Uz0PRU`Lva9(rOmD9-9h?f8-Z z)*tUItE;=~0ep+0J<+}uwZvfrNcm5Ygk71|J*_GRRj0I84>bK&aca#z@%VTWIzkB~ zwiSfRWJ4`VqMm@_Xu}?+gv%sae$L9rIm2a6K8wn|>eTjMO1*w9I#;`diPwN`aL5JMk~ylA{JABtLqSk-{0x+AgX8KbzKGccEgw zNqCK0i3~=;nEkovjf@q^r^$ro+NSJvdD0)!FMh2dQetnw*U+jl^?n4@3+3oTRKP@x9B`M$0&(!mt=Njd=)brYX%|NyT$2Xa>g}n&VqqT+ZZA4C93pOODl2?G z?G7&y!A|eZpjk(Bl#{Jwjb)VDi@rO6y8Ou339E>tiAGTW&6~;gUWTVeLiSdOAm`HIvQK#1SpN||$|WHt)N59A&2bl9fg zTojy)TXLa{G}O+dn{&(vDG)8Fr-P3B9w?_+mjKKaSEkp`yIC z=U?cN6fDmAd=?#3J^CEto9j5QJfpITI-V*_2ak#$Dvi?)fsaZZ!?g}xLJ=!hMsUl@ z$0HDbJ~;|9&gB8yy_S~I)Ro;!LEei~%&zh|A8uuTM_0L0X&xj=GNrXh9!cWKZ2g3# zLaQi`0695Pw*F%Km0aZ5a$_$RD*kNs8mAx2ZZwwO^;`!XQ%>)P*6`&=a`O*hbqD9> zMHDX~?>g!^ebN{D%UGez4b?BhH=MGp+T*8j!3E%Uyd6P4iuZCj$S-LmNQcfI2A6d-M409=u*E^EOuP8E_4m=OeXm5bPSzwh{A^R>6nOp`z2TzuN~=*{ z$64#FP9^}uDxCfVD!?B`aU+qZ0&ali^j5RNk^%gu-F*gGN!xN02z(E@KO%sN&8tUt zy#_H`>us5Biy&m%-%+R9 zx)#uvl>4zeN>Bn~G2f)I!h0BZ(a#2DSs`rhiwN4OcnuZH{L{L?N9Kn2^cHIs#HB6; zA&zfJLk&l;)2$x|Gz^CfsWux}c@W%EWlp|>XLATRI}{)l zh}rf*6|H2m>&^}t+XQ(FaLyt_Wxj`5UAwZj5#6geg|ZOt?GxIq`D2scHN6+sJZ==U6dh&ygVV~Vn|}`!ie=WC(7{)oEqkOs&xxv>tI3(d zAK1F|fO6-d%rGph{0P`y z9v7f%3e#MN7v?+pQ%mw2HIz^h{(RML+@%P+M^Y#Ea6O?}B+Kha_=SB$ zW%^G3}vZx64dlc0Z_Ycub<09D;t>I~`FW@GPlL2(^=&7XcOr-yZY&K@0)gGoUfGt|PQ!%@XG2K+98?$EdCFDD6mf$W@8EA;E^6fzEL;j1WfsP#E2Sb^ zv2a=S*enNHTd5yQ8EnmvLKJ2#ptw4F9E59qUux%PL6Z%)PHl^DM4*?X?sL3%u+buW>RwJg)8_oIQ?hvB zRTl1Ubizbj-cOy0hoJE@$;j<3n}w)DPzN(m?K*3Bc2;!WOGX>cG_}7ec#$I4Lv0SI z5<%q!2Ml{@cK$qI&8c=%2YrWE)nL=7Hox*IE>r7c%FMsPjBRZZsn$4wRU6;aKejCs>V#QJV$C(YY;&z zO26nS8QsIa5(%#}tzVp;im#p|RF{WSy!2CFc*?^Q!8_Txvz)R!6Jm15^!nq(#%)9| zHs1h(bvSIZc;|}kf3X92#<}Ttv5PvDHd9)GNA!-0{Y-!M(v0M!v>`O_82cgtPhV}N zy*vRM&F1>{)e?T?Qf;omDuq`1y+o7Flet8=?$NUUumRz+4{#*`m+vc$0*VJo4Jc}; zE6|g;Q(m0Jcu$;#_@jv4#A=)4xt$9@@UO{tv!Wpv4(xACg=9)( zi_NQzxCPLkxz;0MijRbBcDo1s+~XysA-(qkeUFeKN{irVhIrCDb5J%OK+G87ZF|VG z;3mR1NVhhx)Nr`PzW`@bddkGbu-}w4V%6|W@Dsm%d6{UEwU9@I$ss7_h|!(~+VW0? zmFZ!JQfOf}91-*@AM`D1N2sAdD9lLpLK>k6 zCPL(U=fvhe2~P+}G02;oyb$Nb2!Bcfr(v!97WD6x@!Tlb%It0(^y0!=PL+TwTjNAo zILO~vyFVY^!<2zIifPn08r9xva?E^Rb~mCPbQ?phw!sjZsK0VRj9kO4&b|agCs6`{ zu6$nuoNA=A7)jZM4aFl66zYxyU(KnT=tS7t;Bi6Ww}Z?%AivRu%Yjs^Ff@TX z#e3=>4(+9726Vh^RMd`cDFXGN;h#XfO$+n3NApm_t za~yLTYps;^3+-oddw5>CrYLBOTU+uveFfWh- zr=m{akjUsPi4zNzO)s03C9K1QEE6Qn->7f>B4SJ~QZ!8gMNA2}(ZaetITnX)rgjS0 zd(srkjJoa>z_C(u`q~v&Oq2Sr|G}F&5%@u`{`R(1$EE@BedQNF2KVC!v0c*V$9q$K z93QY9JGp)u8pjRPj-~KnyZlJ#WPUc_y?p1}!~J+y9;`I6)3R6prCQ8RxkOuO$T64*97q2^;~E(J87cv4wo$^`L3}d+LicmHGS2@} z$qpRT$Lq)=oP|je`~pb*3_qyd@YAc)zt?XGWs6sWV^C|^hrj6WOKtAhz`ev#6C8oo zpx*2IY~YciwcS42R?iW*iVuPfT$^H@ufF+-H1#&;*MDmr-$4D_D5`Ex{`uLymG^@= zdL3}|{8S&NSqICb0U;v`OuQ=@`I%AG0faX&`?i$LA|c_w7hdGB?hChE4}Br;4yE3b z>~rN-`TYs*R+g@StZN6iCy`*$O%2~CK}566Xv#(Fh&H7H!2}N{Lu95)q3g?;AS@RY z<{50Me&Ez}^%Lz8e6-Mv^m`kzL*eqE%jSLbrcx<9Vzn!)sy8@a9MF$8b^BBv_RwI_(JPv+5w@$iXx_LAFBW@+-F*APx^#CQHPI4_4X zwlj(i?!9&SkaCpTDGBTU`cX5#Q} zjTHb|nwxrBY=aG0f4`s=`m@gwApnYA3BZ*=f1Sn_z4*3q7}{q-dV&pEMX(?RHho)@ zs-PG;`+HwNq#S6@>RI(0#q|UH$i}y4eN%t_(*JM-I1cZ*k2o0_BCMTT^|a4}_8lcL zVw?yLHlpL3$vkKV2B=c&5V`s(05uEsDSaQcqM?Q&baL|aOrGI)UT1C|{XuW1Nv-jh zf=3xr{*pheMRosH0A1G|J+mvqb}M^Hb9ymOnBbzk zbHjnTu#h_sZVI*F<>^^XlzoNaXrvaZzkN>ETaM4R?T4}O0Q>FVMP=QIUkKQ?Depv+ zPRIL0ebN8Cdh>l~6sP{uWblq>j6?TB)>N_x{p-QEk5%z6?64yUe|)}S;QH&;1cy;7 zUU6f@EsNeQb4L)FxO#Q~I7)4VmHl{QRqI{C%^ z-Q-D)FAM5&O<(|Q@NH~|ClQ3=Hx??g4O|wGp!;R~as9RRN>Df4QD!}Ih(Gr|9++G0 z`~Q8C=iWn0EkJjTp=In0uX8n!vk7kcLoV`&2ZIXnNVojr?Hof7;=`t`zhs3#jDLUK z;u`Su%Nx&$3-o{n&)+y>j3sX+bk{9;%Ck}Vu)<6A;d?R_HL^7O71r_=4i%}rUTt-;|2dlSz7 zLqiA#OgUv*>kGvGZAqH2J*lG{1;LSeEvVT>jJr8wL+GokG_=_t_S0RhasEIL%c6yC zHC8qvUs*l{yDWJio-;rEB?G%f_N&I55C67CcLoIQR+>NhVa&zfbFV9(ZFtu=u5miD zpi1vf!aMfmdGUwV?a+;#^DWtjzKGI;f&)iHz3hp-)I!97K@?zMPyDY=^V-TiU)f%x zC04u}_d4Re<@W=fC*q5DDqwP#hm1nv_V2Ry@$TI9$1ws*f$K?sTGp~IZFMsmzzkVG znX@v$%%clJt}9PbUvybib+nVe)zHZUj0e!PuDg}zK0;o6#pE2e$7_ksb7318Pp*E< z6X#WK7$pzjOz%d6u`fLJvDu^EvVWS5(+roj9!tGzIpF}mW>qZcR#Q=4sRc-Zwx#Cq z7nhAhFQ4ogO${TLWm`_*)}*wzv;W*9mT;LYe#O)`pYHuur$>~H9NoM7>I=uggm$}I zSjQ51?fA{_*dqDT@D@S-Fk|&J+nrT*jNnJOTK-`-)8hNk z!_|$&RV*LJ+efTXTNaMr!uWXW={+vtb>$!s`E@!%stBQjmMV{jFK0h9RtsTDC<`6X> zn@YI&-p7Xjȇ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 literal 0 HcmV?d00001 diff --git a/themes/blue-penguin-dark/static/css/main.css b/themes/blue-penguin-dark/static/css/main.css new file mode 100644 index 0000000..e13e955 --- /dev/null +++ b/themes/blue-penguin-dark/static/css/main.css @@ -0,0 +1,465 @@ +/* http://meyerweb.com/eric/tools/css/reset/ +v2.0 | 20110126 +License: none (public domain) + */ +/* Mockingbird Theme by Nevan Scott nevanscott.com */ +/* Modified by Jody Frankowski */ +/* Modified by ix5 */ +/* Modified by Tyler Carr */ + +:root { + --main-bg-color: #1c2833; + --code-bg-color: #17202a; + --accent-color: #C7254E; + --tab-bg-hover: var(--code-bg-color); + --info-bg-color: var(--code-gb-color); +} + + + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + color: #BBB; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +em { + font-style: italic; +} +strong { + font-weight: bold; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; + background-color: var(--main-bg-color); +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} + +body { + font-family: Georgia, serif; + font-size: 16px; + line-height: 1.5em; +} + +header, #wrapper { + padding: 0 10px; + max-width: 910px; + margin: auto; + clear:both; +} + +a { + text-decoration: none; + color: #15A9DB; +} + +ul { + list-style: outside disc; +} + +ol { + list-style: outside decimal; +} + +h1, h2, h3, h4, h5, h6 { + font-family: sans-serif; + font-weight: bold; +} +h1, h2, h3 { + font-size: 1.5em; + line-height: 1em; + margin: 1em 0; +} + +img, p, .post > .highlight, .highlighttable, h4, h5, h6 { + margin-top: 1.2em; +} +img + em { + font-size: .8em; +} + +blockquote { + margin: 1.5em 1.5em 1.5em .75em; + padding-left: .75em; + border-left: 1px solid #EEE; +} + +table { + width: 100%; + margin: 1em 0; +} +thead { + border-bottom: 1px solid black; +} + +.avatar { + border-radius: 50%; + -mox-border-radius: 50%; + -webkit-border-radius: 50%; + position: relative; + bottom: 0; + top: 0; + margin: auto; + display: inline; + padding-right: 5px; +} + +.date { + color: #CCC; + float: left; + clear: both; + width: 130px; + font-size: 1.5em; + line-height: 1em; + margin: 0 20px 1em 0; +} + +.info { + margin-top: 1.3em; + font-family: sans-serif; + text-align: right; + color: #BBB; +} +.info a { + color: inherit; +} +.info a.tags { + background: var(--info-bg-color); + color: #FFF; + display: inline-block; + padding: 0 .3em; + border: 1px transparent solid; + border-radius: 5px; + margin: 0 0 0.3em 0; +} +.info a.tags:hover { + background: inherit; + color: inherit; +} +.info a.tags.selected { + border: 1px #999 solid; +} + +.post { + margin: 0 0 4.5em 150px; +} +.post.archives { + margin-bottom: 1.5em; + margin-left: 160px; +} +.post p { + text-align: justify; +} + +.page { + margin: 0 90px; +} + +.highlight { + border-radius: 3px; +} +.code > .highlight { + border-radius: 0px 3px 3px 0px; + background-color: var(--code-bg-color); +} +.linenos { + border-radius: 3px 0px 0px 3px; + background-color: var(--code-bg-color); + border-right: 1px solid #00232C; + color: #586E75; + text-shadow: 0px -1px #021014; + font-size: 12.6px; +} +td.code { + width: 100%; + max-width: 100px; +} +.linenos a { + color: #586E75; +} + +img { + box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.15); + border-radius: 0.3em; + max-width: 100%; + display: block; + margin-left: auto; + margin-right: auto; +} + +/*sub and sup stolen from Twitter bootstrap.*/ +sub, sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +.post pre, .page pre{ + padding: .8em; + font-size: 12.6px; + font-family: Monaco,Menlo,Consolas,"Courier New",monospace; + line-height: 18px; + overflow: auto; + background-color: var(--code-bg-color); +} + +.literal { + padding: .5em; + overflow: pre-line; + font-size: 12.6px; + font-family: Monaco,Menlo,Consolas,"Courier New",monospace; + background-color: var(--code-bg-color); +} + +form.inline_edit { + clear: both; + margin: 4.5em 0; + background-color: #DDD; + color: #000; + padding: 20px; + border-radius: 5px; +} +.inline_edit .sub { + color: #888; + white-space: nowrap; +} +.inline_edit label { + float: left; + clear: both; + width: 140px; + margin-right: 20px; +} +.inline_edit .buttons { + display: block; + text-align: right; +} + +nav ul { + float: right; + list-style: none; + margin: 0 0 0 3em; + padding: 0; +} +nav li { + float: left; +} +nav a { + display: block; + padding: 1.5em 10px 10px 10px; +} +nav a:hover { + background-color: var(--tab-bg-hover); + color: var(--accent-color); +} +nav li.selected a { + background-color: #15A9DB; + color: #FFF; +} + +header .header_box { + padding-top: 1.5em; + text-align: justify; + -moz-text-align-last: justify; + text-align-last: justify; + +} +.site_title { + color: #15A9DB; + display: inline-block; + margin:0; +} +.site_subtitle { + display: inline-block; + margin: 0; + +} +header h1 { + font-size: 1.5em; + line-height: 1em; + margin: 0; +} +header h2 { + font-size: 1em; + margin: .3em 0; + color: #DDD; +} + +#content { + margin-top: 3em; +} + +.pages { + font-family: sans-serif; + line-height: 2.5em; + margin: 4.5em 0 3em; + background-color: #2e4053; + border-radius: 5px; +} +.pages a.next_page { + float: right; + width: 140px; + text-align: center; + border-top-right-radius: 5px; + border-bottom-right-radius: 5px; + background-color: #EEE; +} +.pages a.prev_page { + float: left; + width: 140px; + text-align: center; + border-top-left-radius: 5px; + border-bottom-left-radius: 5px; + background-color: #EEE; +} +.pages a { + color: inherit; + border: none; +} +.pages a:hover { + background-color: #DDD; +} +.pages span { + display: block; + margin: 0 160px; + text-align: center; +} + +code { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + box-sizing: border-box; + background-color: #17202a; + color: #C7254E; + font-family: Monaco,Menlo,Consolas,"Courier New",monospace; + font-size: 12.6px; + line-height: 18px; + padding-bottom: 2px; + padding-left: 0px; + padding-right: 4px; + padding-top: 2px; +} + +footer { + font-family: sans-serif; + line-height: 2.5em; + text-align: center; + color: #BBB; + margin: 3em 0; + border: 1px solid #EEE; + border-radius: 5px; +} +footer p { margin: 0; } + +.right { float: right; } + +.clear { clear: both; } + +@media screen and (max-width: 1024px) { + #wrapper { + margin-left: 2.6em; + padding:1em; + } +} + +@media screen and (max-width: 800px), print { + #wrapper { + margin: 0; + padding: 1em; + } + .date { + width: 100%; + margin: 0 0 .5em 0; + } + .post { + margin: 0 0 4.5em 0; + } + .post pre, + .post code { + white-space: pre-wrap; + } + .archives { + margin: 0 0 1.5em 0 !important; + } + nav ul { + margin: 0 0 1em 0; + } +} +@media print { + * { + background: #fff; + } + #wrapper, #content { + margin: 0; + padding: 0; + } + header, footer, nav { + display: none; + } + img { + break-inside: avoid; + } + p, table, pre { + widows: 3; + orphans: 3; + } + h1, h2, h3, h4, h5, h6 { + break-after: avoid; + } + h1, h2 { + font-size: 14pt; + } + h3, h4, h4.date { + font-size: 12pt; + } + .post p, .post ul li, .post ol li, .post table { + font-size: 11pt; + } +} +@page { + margin: 1.5cm; +} diff --git a/themes/blue-penguin-dark/static/css/pygments.css b/themes/blue-penguin-dark/static/css/pygments.css new file mode 100644 index 0000000..cb38d12 --- /dev/null +++ b/themes/blue-penguin-dark/static/css/pygments.css @@ -0,0 +1,87 @@ +/* Solarized Dark + +For use with Jekyll and Pygments + +http://ethanschoonover.com/solarized + +SOLARIZED HEX ROLE +--------- -------- ------------------------------------------ +base03 #002b36 background +base01 #586e75 comments / secondary content +base1 #93a1a1 body text / default code / primary content +orange #cb4b16 constants +red #dc322f regex, special keywords +blue #268bd2 reserved keywords +cyan #2aa198 strings, numbers +green #859900 operators, other keywords +*/ + +.highlight { color: #93a1a1; background-color: #17202a;} +.highlight .c { color: #586e75 } /* Comment */ +.highlight .err { color: #93a1a1 } /* Error */ +.highlight .g { color: #93a1a1 } /* Generic */ +.highlight .k { color: #859900 } /* Keyword */ +.highlight .l { color: #93a1a1 } /* Literal */ +.highlight .n { color: #93a1a1 } /* Name */ +.highlight .o { color: #859900 } /* Operator */ +.highlight .x { color: #cb4b16 } /* Other */ +.highlight .p { color: #93a1a1 } /* Punctuation */ +.highlight .cm { color: #586e75 } /* Comment.Multiline */ +.highlight .cp { color: #859900 } /* Comment.Preproc */ +.highlight .c1 { color: #586e75 } /* Comment.Single */ +.highlight .cs { color: #859900 } /* Comment.Special */ +.highlight .gd { color: #2aa198 } /* Generic.Deleted */ +.highlight .ge { color: #93a1a1; font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #dc322f } /* Generic.Error */ +.highlight .gh { color: #cb4b16 } /* Generic.Heading */ +.highlight .gi { color: #859900 } /* Generic.Inserted */ +.highlight .go { color: #93a1a1 } /* Generic.Output */ +.highlight .gp { color: #93a1a1 } /* Generic.Prompt */ +.highlight .gs { color: #93a1a1; font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #cb4b16 } /* Generic.Subheading */ +.highlight .gt { color: #93a1a1 } /* Generic.Traceback */ +.highlight .kc { color: #cb4b16 } /* Keyword.Constant */ +.highlight .kd { color: #268bd2 } /* Keyword.Declaration */ +.highlight .kn { color: #859900 } /* Keyword.Namespace */ +.highlight .kp { color: #859900 } /* Keyword.Pseudo */ +.highlight .kr { color: #268bd2 } /* Keyword.Reserved */ +.highlight .kt { color: #dc322f } /* Keyword.Type */ +.highlight .ld { color: #93a1a1 } /* Literal.Date */ +.highlight .m { color: #2aa198 } /* Literal.Number */ +.highlight .s { color: #2aa198 } /* Literal.String */ +.highlight .na { color: #93a1a1 } /* Name.Attribute */ +.highlight .nb { color: #B58900 } /* Name.Builtin */ +.highlight .nc { color: #268bd2 } /* Name.Class */ +.highlight .no { color: #cb4b16 } /* Name.Constant */ +.highlight .nd { color: #268bd2 } /* Name.Decorator */ +.highlight .ni { color: #cb4b16 } /* Name.Entity */ +.highlight .ne { color: #cb4b16 } /* Name.Exception */ +.highlight .nf { color: #268bd2 } /* Name.Function */ +.highlight .nl { color: #93a1a1 } /* Name.Label */ +.highlight .nn { color: #93a1a1 } /* Name.Namespace */ +.highlight .nx { color: #93a1a1 } /* Name.Other */ +.highlight .py { color: #93a1a1 } /* Name.Property */ +.highlight .nt { color: #268bd2 } /* Name.Tag */ +.highlight .nv { color: #268bd2 } /* Name.Variable */ +.highlight .ow { color: #859900 } /* Operator.Word */ +.highlight .w { color: #93a1a1 } /* Text.Whitespace */ +.highlight .mf { color: #2aa198 } /* Literal.Number.Float */ +.highlight .mh { color: #2aa198 } /* Literal.Number.Hex */ +.highlight .mi { color: #2aa198 } /* Literal.Number.Integer */ +.highlight .mo { color: #2aa198 } /* Literal.Number.Oct */ +.highlight .sb { color: #586e75 } /* Literal.String.Backtick */ +.highlight .sc { color: #2aa198 } /* Literal.String.Char */ +.highlight .sd { color: #93a1a1 } /* Literal.String.Doc */ +.highlight .s2 { color: #2aa198 } /* Literal.String.Double */ +.highlight .se { color: #cb4b16 } /* Literal.String.Escape */ +.highlight .sh { color: #93a1a1 } /* Literal.String.Heredoc */ +.highlight .si { color: #2aa198 } /* Literal.String.Interpol */ +.highlight .sx { color: #2aa198 } /* Literal.String.Other */ +.highlight .sr { color: #dc322f } /* Literal.String.Regex */ +.highlight .s1 { color: #2aa198 } /* Literal.String.Single */ +.highlight .ss { color: #2aa198 } /* Literal.String.Symbol */ +.highlight .bp { color: #268bd2 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #268bd2 } /* Name.Variable.Class */ +.highlight .vg { color: #268bd2 } /* Name.Variable.Global */ +.highlight .vi { color: #268bd2 } /* Name.Variable.Instance */ +.highlight .il { color: #2aa198 } /* Literal.Number.Integer.Long */ diff --git a/themes/blue-penguin-dark/templates/analytics.html b/themes/blue-penguin-dark/templates/analytics.html new file mode 100644 index 0000000..f349491 --- /dev/null +++ b/themes/blue-penguin-dark/templates/analytics.html @@ -0,0 +1,11 @@ +{% if GOOGLE_ANALYTICS %} + + + +{% endif %} diff --git a/themes/blue-penguin-dark/templates/archives.html b/themes/blue-penguin-dark/templates/archives.html new file mode 100644 index 0000000..73c53ba --- /dev/null +++ b/themes/blue-penguin-dark/templates/archives.html @@ -0,0 +1,22 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} | Archives{% endblock %} +{% block content %} + +

Archives

+ + {# based on http://stackoverflow.com/questions/12764291/jinja2-group-by-month-year #} + + {% for year, year_group in dates|groupby('date.year')|reverse %} + {% for month, month_group in year_group|groupby('date.month')|reverse %} +

{{ (month_group|first).date|strftime('%b %Y') }}

+
+ +
+ {% endfor %} + {% endfor %} +{% endblock %} diff --git a/themes/blue-penguin-dark/templates/article.html b/themes/blue-penguin-dark/templates/article.html new file mode 100644 index 0000000..40c60b1 --- /dev/null +++ b/themes/blue-penguin-dark/templates/article.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} + +{% block head %} + {{ super() }} + {% if article.tags %} + + {% endif %} + {% if article.description %} + + {% endif %} +{% endblock %} + +{% block title %}{{ SITENAME }} | {{ article.title|striptags }}{% endblock %} + +{% block content %} +{% include "article_stub.html" %} +{% endblock %} diff --git a/themes/blue-penguin-dark/templates/article_stub.html b/themes/blue-penguin-dark/templates/article_stub.html new file mode 100644 index 0000000..893ee53 --- /dev/null +++ b/themes/blue-penguin-dark/templates/article_stub.html @@ -0,0 +1,36 @@ + {% if not articles_page or first_article_of_day %} +

{{ article.date.strftime("%b %d, %Y") }}

+ {% endif %} + +
+ {% if article.title %} +

+ {{ article.title }} +

+ {% endif %} + + {% if not articles_page %} + {% include "translations.html" %} + {% endif %} + + + {{ article.content }} +
+ +
+ {% if article.category.name != "misc" %} + + {% endif %} + {% if article.tags %} +  · · · + {% for t in article.tags %} +  {{ t }} + {% endfor %} + {% endif %} +
+ {% if articles_page and DISQUS_SITENAME %} + Click to read and post comments + {% else %} + {% include "disqus.html" %} + {% endif %} +
diff --git a/themes/blue-penguin-dark/templates/author.html b/themes/blue-penguin-dark/templates/author.html new file mode 100644 index 0000000..b9ff61e --- /dev/null +++ b/themes/blue-penguin-dark/templates/author.html @@ -0,0 +1,7 @@ +{% extends "index.html" %} + +{% block title %}{{ SITENAME }} | Articles by {{ author }}{% endblock %} +{% block ephemeral_nav %} + + {{ ephemeral_nav_link(author, output_file, True) }} +{% endblock %} diff --git a/themes/blue-penguin-dark/templates/base.html b/themes/blue-penguin-dark/templates/base.html new file mode 100644 index 0000000..843a365 --- /dev/null +++ b/themes/blue-penguin-dark/templates/base.html @@ -0,0 +1,121 @@ +{% macro ephemeral_nav_link(what, where, selected=False) -%} +
  • {{what}}
  • +{%- endmacro -%} + + + + + {% block head %} + + + {% block title %}{{ SITENAME }}{% endblock title %} + {# favicon #} + + + {% if FEED_ALL_ATOM %} + + {% endif %} + {% if FEED_ALL_RSS %} + + {% endif %} + {% if FEED_ATOM %} + + {% endif %} + {% if FEED_RSS %} + + {% endif %} + {% if CATEGORY_FEED_ATOM and category %} + + {% endif %} + {% if CATEGORY_FEED_RSS and category %} + + {% endif %} + {% if TAG_FEED_ATOM and tag %} + + {% endif %} + {% if TAG_FEED_RSS and tag %} + + {% endif %} + + + {% if DARK_LIGHT_SWITCHING_OFF == False %} + + {% endif %} + + + + {% include 'analytics.html' %} + {% endblock head %} + + + {% if DISPLAY_HEADER or DISPLAY_HEADER is not defined %} +
    +
    +

    + + {{ SITENAME }} + +

    + {% if SITESUBTITLE %} +

    {{ SITESUBTITLE }}

    + {% endif %} +
    + + {% if DISPLAY_MENU or DISPLAY_MENU is not defined %} + + {% endif %} +
    + {% endif %} +
    +
    + {%- block content -%}{%- endblock %} + + {% if DISPLAY_FOOTER or DISPLAY_FOOTER is not defined %} +
    + + {% endif %} +
    +
    +
    + + diff --git a/themes/blue-penguin-dark/templates/category.html b/themes/blue-penguin-dark/templates/category.html new file mode 100644 index 0000000..6587d98 --- /dev/null +++ b/themes/blue-penguin-dark/templates/category.html @@ -0,0 +1,6 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} | articles in the "{{ category }}" category{% if articles_page.number != 1 %} | Page {{ articles_page.number }}{% endif %}{% endblock %} +{% block ephemeral_nav %} + + {{ ephemeral_nav_link(category, output_file, True) }} +{% endblock %} diff --git a/themes/blue-penguin-dark/templates/disqus.html b/themes/blue-penguin-dark/templates/disqus.html new file mode 100644 index 0000000..b4093e5 --- /dev/null +++ b/themes/blue-penguin-dark/templates/disqus.html @@ -0,0 +1,12 @@ +{% if DISQUS_SITENAME %} +
    + + +{% endif %} diff --git a/themes/blue-penguin-dark/templates/index.html b/themes/blue-penguin-dark/templates/index.html new file mode 100644 index 0000000..b8b40f4 --- /dev/null +++ b/themes/blue-penguin-dark/templates/index.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }}{% if articles_page.number != 1 %} | Page {{ articles_page.number }}{% endif %}{% endblock %} +{% block content %} +{% set date = None %} +{% for article in articles_page.object_list %} +{% if date != article.date.date() %} +{% set first_article_of_day = True %} +{% else %} +{% set first_article_of_day = False %} +{% endif %} +{% set date = article.date.date() %} +{% include "article_stub.html" %} +{% endfor %} + +{% include "pagination.html" %} +{% endblock %} diff --git a/themes/blue-penguin-dark/templates/page.html b/themes/blue-penguin-dark/templates/page.html new file mode 100644 index 0000000..c285678 --- /dev/null +++ b/themes/blue-penguin-dark/templates/page.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} + +{% block title %}{{ SITENAME }} | {{ page.title }}{% endblock %} + +{% block content %} + +
    +

    {{ page.title }}

    + {{ page.content }} +
    +{% endblock %} diff --git a/themes/blue-penguin-dark/templates/pagination.html b/themes/blue-penguin-dark/templates/pagination.html new file mode 100644 index 0000000..6562444 --- /dev/null +++ b/themes/blue-penguin-dark/templates/pagination.html @@ -0,0 +1,17 @@ +{# Use PAGINATION_PATTERNS or pagination may break #} +{% if DEFAULT_PAGINATION and (articles_page.has_previous() or articles_page.has_next()) %} + +
    +
    + + {% if articles_page.has_previous() %} + ← Previous + {% endif %} + + {% if articles_page.has_next() %} + Next → + {% endif %} + + Page {{ articles_page.number }} of {{ articles_paginator.num_pages }} +
    +{% endif %} diff --git a/themes/blue-penguin-dark/templates/tag.html b/themes/blue-penguin-dark/templates/tag.html new file mode 100644 index 0000000..92c3439 --- /dev/null +++ b/themes/blue-penguin-dark/templates/tag.html @@ -0,0 +1,5 @@ +{% extends "index.html" %} +{% block title %}{{ SITENAME }} | articles tagged "{{ tag }}"{% if articles_page.number != 1 %} | Page {{ articles_page.number }}{% endif %}{% endblock %} +{% block ephemeral_nav %} + {{ ephemeral_nav_link(tag, output_file, True) }} +{% endblock %} diff --git a/themes/blue-penguin-dark/templates/translations.html b/themes/blue-penguin-dark/templates/translations.html new file mode 100644 index 0000000..f0a0fa2 --- /dev/null +++ b/themes/blue-penguin-dark/templates/translations.html @@ -0,0 +1,6 @@ +{% if article.translations %} +Translations: + {% for translation in article.translations %} + {{ translation.lang }} + {% endfor %} +{% endif %} \ No newline at end of file diff --git a/themes/solarized/static/css/main.css b/themes/solarized/static/css/main.css index be9406a..b2d7894 100644 --- a/themes/solarized/static/css/main.css +++ b/themes/solarized/static/css/main.css @@ -60,13 +60,9 @@ p { white-space: nowrap; } .literal { - border-radius: 5px; - -moz-border-radius: 5px; - -webkit-border-radius: 5px; - border: 1px solid #BCBEC0; padding: 2px; font:12px Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace; - white-space: nowrap; + white-space: pre-line; background-color: #b58900; color: #000; }