Compare commits

...

No commits in common. "gh-pages" and "master" have entirely different histories.

292 changed files with 1628 additions and 12118 deletions

31
.github/workflows/main.yml vendored Normal file
View File

@ -0,0 +1,31 @@
name: GitHub Pages
on:
push:
branches:
- master
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
- name: Build
run: hugo --minify
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
public

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "themes/toastersrocks"]
path = themes/toastersrocks
url = https://github.com/juju2143/hugo-theme-toastersrocks.git

View File

View File

@ -1,16 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="404 Page not found"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="http://toasters.rocks/404.html"><meta name=twitter:card content="summary"><meta name=twitter:title content="404 Page not found"><meta name=twitter:description content><meta name=theme-color content="#660066"><title>404 Page not found - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article style=text-align:center><h1 style=font-size:12em>404</h1><p>That's a 404 in a pretty big font.</p></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,18 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Introducing a39.ca"><meta property="og:description" content="New project. New goals. Same old thing."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/a39/"><meta property="og:image" content="http://toasters.rocks/images/2021/12/a39logo.png"><meta property="article:section" content><meta property="article:published_time" content="2021-12-31T22:00:00-05:00"><meta property="article:modified_time" content="2021-12-31T22:00:00-05:00"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="http://toasters.rocks/images/2021/12/a39logo.png"><meta name=twitter:title content="Introducing a39.ca"><meta name=twitter:description content="New project. New goals. Same old thing."><meta name=theme-color content="#660066"><title>Introducing a39.ca - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article style=background-image:url(/images/2021/12/a39logo.png)><div class=metadata style="height:calc((var(--height) - 2em) * .5212264150943396 - 3.5em)"><h2 name=top>Introducing a39.ca</h2><p>New project. New goals. Same old thing.</p><i class="far fa-calendar-alt"></i>
<time datetime=2021-12-31>December 31, 2021</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/meta>Meta</a><br><i class="fas fa-hourglass"></i> ~2 minutes</div><p>Hey, been a while. 2021 was weird. Probably as much as 2020 was, and as much as 2022 probably will. I kind of took 2021 leisurely, mostly because of family illness, the Backstreet Boys Reunion Tour*, my day job, and helping family and friends that all took most of my time. I hope it gets better in 2022, so I kinda want to set some goals for now on.</p><p>Introducing here a39.ca, which will be my new brand for my current projects. Kind of like a game studio overseeing all of this. That includes Horse Life 98, upcoming Zarmina, and CodeWalrus (as a joint venture with DJ Omnimaga and other admins), along with a few secret projects Ill be cooking up eventually until I realize its stupid. Its going to be major projects Ill be working on in 2022, hoping one day I can call at least one of them my day job. One can dream, I guess.</p><p>Now you may ask, why is it called that?</p><ol><li><p>In The 12 Tasks of Asterix (1976), the titular Asterix and his friend Obelix are tasked to fetch a permit A38 at the Place That Sends You Mad, which will literally send you mad going through all of the bureaucracy required to get that permit. Asterix eventually realizes its not going to work and, the wise guy he is, asks for a non-existent permit A39, which turns the whole place into an asylum until someone realizes they can just skip the whole bureaucracy altogether. It symbolizes perseverance and stuff, idk, look it sounds kinda cool isnt it?</p></li><li><p>It sounds like “thank you” in Japanese. Thanks, Miku.</p></li><li><p>Its short, memorable, and Im still surprised I still can get domains this short for regular price.</p></li></ol><p>So yeah. Have fun. Its going to be my work in progress in 2022. I got 2 weeks of vacation, almost 3 with all the Xmas holidays, so Im going to take this time to work on that and take care of myself. Hopefully.</p><p>Happy new year, y&rsquo;all.</p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/toasters-rocks-4/>« Toasters Rocks 4.0</a></li><li class=page-item><a class=next href=http://toasters.rocks/twitter-tips/>Twitter tips and tricks I'm reasonably sure I came up with but I kinda wish more people should use »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,32 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="about me"><meta property="og:description" content="Hi, I&rsquo;m J. P. Savard. (Obviously a pen name. Or is it?) Also known as Juju or Yuki.
I&rsquo;m just a random freelance programmer from Québec City, Canada. I write things sometimes. It feels good.
Here you will find random musings about life, development logs, code experiments, educational content, or anything I deem worth to put on this silly blog. Might write in French sometimes, if you don&rsquo;t understand, it might not concern you, look somewhere else."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/about/"><meta property="article:section" content><meta property="article:published_time" content="2019-11-25T06:54:19+00:00"><meta property="article:modified_time" content="2020-02-07T00:12:34+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="about me"><meta name=twitter:description content="Hi, I&rsquo;m J. P. Savard. (Obviously a pen name. Or is it?) Also known as Juju or Yuki.
I&rsquo;m just a random freelance programmer from Québec City, Canada. I write things sometimes. It feels good.
Here you will find random musings about life, development logs, code experiments, educational content, or anything I deem worth to put on this silly blog. Might write in French sometimes, if you don&rsquo;t understand, it might not concern you, look somewhere else."><meta name=theme-color content="#660066"><title>about me - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><div><h2 name=top>about me</h2><p></p></div><p>Hi, I&rsquo;m J. P. Savard. (Obviously a pen name. Or is it?) Also known as Juju or Yuki.</p><p>I&rsquo;m just a random freelance programmer from Québec City, Canada. I write things sometimes. It feels good.</p><p>Here you will find random musings about life, development logs, code experiments, educational content, or anything I deem worth to put on this silly blog. Might write in French sometimes, if you don&rsquo;t understand, it might not concern you, look somewhere else.</p><p>None of my thoughts represent the opinion of my employers, clients, anyone I might know or even myself from next week. They often agree with me, but take nothing for granted.</p><p>If you like the content I put here, please tip me on <a href=http://www.patreon.com/juju2143>Patreon</a>!</p><h2 id=legal-stuff>legal stuff</h2><p>Horse Life 98 strips uses art assets from Microsoft Chat and <a href=https://pony.town>Pony Town</a>, the latter are licensed under <a href=https://creativecommons.org/licenses/by-nc/4.0/>CC BY-NC 4.0</a>. Character designs and the jokes are mine, unless indicated otherwise. Yes, it&rsquo;s low-quality, that&rsquo;s part of the joke. We&rsquo;re in 1998.</p><p>The rest are mine, unless indicated otherwise. The pieces of code are usually licensed under <a href=https://forge.gouv.qc.ca/licence/liliq-v1-1/>LiLiQ-P-1.1</a>, unless indicated otherwise.</p><p>I&rsquo;m clearly abusing this phrase, unless indicated otherwise.</p><h2 id=my-stuff>my stuff</h2><p><a href=http://zarmina.xyz/>Zarmina</a> My sci-fi fiction stuff.
<a href=http://mlp.quebec/>MLP Québec</a> My other blog about fandoms.
<a href=https://codewalr.us/>CodeWalrus</a> A nice community of programmers. We have walruses.
<a href=http://julosoft.net/>julosoft</a> Games I did, back when I was trying.</p><h2 id=me-and-my-stuff-elsewhere>me and my stuff, elsewhere</h2><p><a href="https://github.com/juju2143?tab=repositories">GitHub</a> Source code I wrote for random stuff.
<a href=https://www.youtube.com/user/julosoft>YouTube</a> Random videos I put together when I&rsquo;m bored.
<a href=https://www.youtube.com/c/juju2143>YouTube</a> Animated stuff and other videos I actually give some of myself into.
<a href=https://vimeo.com/juju2143>Vimeo</a> Short films I did at school.
<a href=http://juju2143.deviantart.com/>deviantArt</a> Things I draw and characters I design.
<a href=http://soundcloud.com/juju2143>SoundCloud</a> Some music I do when I&rsquo;m bored.
<a href=http://www.patreon.com/juju2143>Patreon</a> Send me some money!</p><h2 id=best-ways-to-contact-me>best ways to contact me</h2><p>Discord: <a href=https://discord.gg/cuZcfcF>CodeWalrus</a>
Twitter: <a href=https://twitter.com/juju2143>@juju2143</a>
Mastodon: <a href=https://im-in.space/@Yuki>@Yuki@im-in.space</a>
Email: juju at juju2143 dot ca</p></article><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,20 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="April Fools 2019"><meta property="og:description" content="As usual, I like to prank people with good, original jokes on April 1st across my properties. Not these overused jokes everyone hates (for instance the local furry group deleted pranks because they were getting too much instances of the same overused, boring joke), but rather original and fun jokes. Or I try to, anyway. I didn&rsquo;t took much effort and time doing any of them this year as I didn&rsquo;t had any good ideas in advance, and I didn&rsquo;t had time to do an elaborate one, but here&rsquo;s a rundown of my pranks of this year."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/april-fools-2019/"><meta property="article:section" content><meta property="article:published_time" content="2019-04-02T12:00:00+00:00"><meta property="article:modified_time" content="2019-11-29T02:53:53+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="April Fools 2019"><meta name=twitter:description content="As usual, I like to prank people with good, original jokes on April 1st across my properties. Not these overused jokes everyone hates (for instance the local furry group deleted pranks because they were getting too much instances of the same overused, boring joke), but rather original and fun jokes. Or I try to, anyway. I didn&rsquo;t took much effort and time doing any of them this year as I didn&rsquo;t had any good ideas in advance, and I didn&rsquo;t had time to do an elaborate one, but here&rsquo;s a rundown of my pranks of this year."><meta name=theme-color content="#660066"><title>April Fools 2019 - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><div><h2 name=top>April Fools 2019</h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2019-04-02>April 2, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/random>Random</a><br><i class="fas fa-hourglass"></i> ~3 minutes</div><p>As usual, I like to prank people with good, original jokes on April 1st across my properties. Not these overused jokes everyone hates (for instance the local furry group deleted pranks because they were getting too much instances of the same overused, boring joke), but rather original and fun jokes. Or I try to, anyway. I didn&rsquo;t took much effort and time doing any of them this year as I didn&rsquo;t had any good ideas in advance, and I didn&rsquo;t had time to do an elaborate one, but here&rsquo;s a rundown of my pranks of this year.</p><h2 id=codewalrus>CodeWalrus</h2><p>I took one of our nastiest and weirdest members we haven&rsquo;t banned yet and I gave him the role of “President of CodeWalrus” on our Discord server (no additional permissions that what he already had, don&rsquo;t worry) and told him he bought CodeWalrus while drunk. Kinda fun to see him getting confused by this. Could also had done a press release with that, but eh.</p><h2 id=zarmina>Zarmina</h2><p>For context, only the first chapter was online by then, and I was distributing some business cards of it at Nadeshicon this weekend. So I thought I could release Chapter 2 and just end it there with a downer ending where everyone dies? Didn&rsquo;t had a lot of feedback on it, though. I only released it in French for now but here&rsquo;s the ending for posterity:</p><blockquote><p>Soudain, le rubis s&rsquo;illumine à une vitesse et une intensité folles, puis explose. Tous meurent sur le coup. Les corps ne sont retrouvés que quelques semaines plus tard et eurent droit à des funérailles de héros.</p></blockquote><blockquote><p>Le vaisseau du précédent chapitre a également explosé en entrant dans l&rsquo;atmosphère de la planète et personne s&rsquo;en est rendu compte, seulement une pluie de débris dans un désert dans la partie chaude de la planète. Après quelques semaines sans nouvelles des astronautes, la Terre assument leur mort et leur firent des funérailles nationales.</p></blockquote><h2 id=mlp-québec>MLP Québec</h2><p>Again for context, the site is pretty much dead and unmaintained, but I thought I could announce we discovered a portal to Equestria somewhere in my hometown of Québec City on the Twitter account. Kinda low quality, but the tweets got a bunch of retweets and likes, so thanks for that :)</p><blockquote><p>Bonjour, nous avons trouvé un portail vers Equestria dans le fond de Loretteville</p><p>Nous envoyons des renforts
— MLP Québec (@MLPQuebec) <a href="https://twitter.com/MLPQuebec/status/1112608895053246465?ref_src=twsrc%5Etfw">April 1, 2019</a></p></blockquote><p>Click to see replies
Well, that was it for this year, I thought of all of those the same day and I wasn&rsquo;t really prepared for those, but eh, that was fun :)</p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/writing-a-book/>« Reflections on 2018, part 1: Writing a book</a></li><li class=page-item><a class=next href=http://toasters.rocks/zarmina-3-0-rewrite-again/>Zarmina 3.0: rewrite (again) »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,33 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="My Arch Linux packages: how to create your own repo"><meta property="og:description" content="As I use Arch Linux as my daily driver on my main machine now and I use a lot the AUR nowadays (most notably I maintain the packages for The 8-Bit Guy&rsquo;s Commander X16), figured I might create my own repository, right?
So there you go, after figuring it out on the Arch Wiki, here&rsquo;s a collection of software I maintain on the AUR, some of my own things I bothered to make a PKGBUILD for, or just software not found in other binary repos I know the users of my communities will like."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/arch-linux-packages/"><meta property="article:section" content><meta property="article:published_time" content="2020-02-22T07:41:21+00:00"><meta property="article:modified_time" content="2020-02-22T21:49:44+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="My Arch Linux packages: how to create your own repo"><meta name=twitter:description content="As I use Arch Linux as my daily driver on my main machine now and I use a lot the AUR nowadays (most notably I maintain the packages for The 8-Bit Guy&rsquo;s Commander X16), figured I might create my own repository, right?
So there you go, after figuring it out on the Arch Wiki, here&rsquo;s a collection of software I maintain on the AUR, some of my own things I bothered to make a PKGBUILD for, or just software not found in other binary repos I know the users of my communities will like."><meta name=theme-color content="#660066"><title>My Arch Linux packages: how to create your own repo - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><div><h2 name=top>My Arch Linux packages: how to create your own repo</h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2020-02-22>February 22, 2020</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/tech>Tech</a><br><i class="fas fa-hourglass"></i> ~2 minutes</div><p>As I use Arch Linux as my daily driver on my main machine now and I use a lot the AUR nowadays (most notably I maintain the packages for The 8-Bit Guy&rsquo;s Commander X16), figured I might create my own repository, right?</p><p>So there you go, after figuring it out on the Arch Wiki, here&rsquo;s a collection of software I maintain on the AUR, some of my own things I bothered to make a PKGBUILD for, or just software not found in other binary repos I know the users of my communities will like. So, as I write this, mostly Commander X16 stuff and TI-83 stuff.</p><pre><code>[juju]
SigLevel = Never
Server = https://repo.juju2143.ca/archlinux/$repo/os/$arch
</code></pre><p>Add this to your pacman.conf
Then, you can see every package I added with <code>pacman -Sl juju</code>.</p><p>But why? Here&rsquo;s the gory details. A friend of mine told me about this service called <a href=https://www.netlify.com/>Netlify</a>, which is pretty much for those who made their website with a site generator, it automatically builds the website each time you push it to Git. From what I understand, anyway. Kinda like GitHub, I guess. The free plan comes with custom domains, HTTPS, 300 build minutes a month, 100 GB of bandwidth and&mldr; no storage limit? Well, that&rsquo;d probably make for a good use case for this project.</p><p>So I follow <a href=https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Custom_local_repository>the instructions on the wiki</a>, I throw in some index.html generated from stuff I stole from the x16-emulator package, I do a manual deploy and there you go!</p><pre><code>repo-add archlinux/juju/os/x86_64/juju.db.tar.gz archlinux/juju/os/x86_64/some-package.pkg.tar.xz
pandoc --from gfm --to html -c github-pandoc.css --standalone --metadata pagetitle=&quot;repo.juju2143.ca&quot; README.md --output index.html
tree archlinux -P &quot;*.pkg.tar.xz&quot; -v -H &quot;https://repo.juju2143.ca/archlinux&quot; &gt; archlinux/index.html
netlify deploy --prod --dir=.
</code></pre><p>To do everytime I update something
Symlinks don&rsquo;t work for some reason, so you&rsquo;d need to add a file called <code>_redirects</code>:</p><pre><code>/archlinux/:repo/os/:arch/:repo.db /archlinux/:repo/os/:arch/:repo.db.tar.gz
/archlinux/:repo/os/:arch/:repo.files /archlinux/:repo/os/:arch/:repo.files.tar.gz
/* /404.html 404
</code></pre><p>Mind the very long lines
So there you go. It&rsquo;s very much in line with the principle that drives Arch Linux, the famous &ldquo;keep it simple, stupid&rdquo; (KISS), so that was pretty easy. So if you want a package I should add and/or build, feel free to suggest away :)</p><p><a href=https://repo.juju2143.ca>Check out the repo here!</a></p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/emoji-region-flags/>« Emoji region flags</a></li><li class=page-item><a class=next href=http://toasters.rocks/pandemic-story/>Pandemic Story »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

13
archetypes/default.md Normal file
View File

@ -0,0 +1,13 @@
---
title: "{{ replace .Name "-" " " | title }}"
slug: {{ .Name }}
publishDate: {{ .Date }}
date: {{ .Date }}
lastmod: {{ .Date }}
tags:
description:
isPage: false
hideComments: false
draft: true
---

View File

@ -1,16 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><link rel=alternate type=application/rss+xml href=http://toasters.rocks/categories/index.xml title="toasters rocks"><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Categories"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="http://toasters.rocks/categories/"><meta name=twitter:card content="summary"><meta name=twitter:title content="Categories"><meta name=twitter:description content><meta name=theme-color content="#660066"><title>Categories - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><h2>Categories</h2></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on toasters rocks</title><link>http://toasters.rocks/categories/</link><description>Recent content in Categories on toasters rocks</description><generator>Hugo -- gohugo.io</generator><copyright>Copyright © 2020 J.P. Savard</copyright><atom:link href="http://toasters.rocks/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>

View File

@ -1 +0,0 @@
<!doctype html><html lang=en><head><title>http://toasters.rocks/categories/</title><link rel=canonical href=http://toasters.rocks/categories/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=http://toasters.rocks/categories/"></head></html>

View File

@ -1,20 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="commissions"><meta property="og:description" content="You like this website? You wish to get a website just like this one to advertise your stuff? Super simple, not a pain to manage, tailored to your needs? Look no further, I can help you!
Included in the package:
Free hosting Custom theme You get control of everything Free training Domain name included Some guy with years of experience in internet things Contact me for a quote!"><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/commissions/"><meta property="article:section" content><meta property="article:published_time" content="2019-11-27T07:32:50+00:00"><meta property="article:modified_time" content="2019-11-27T07:32:50+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="commissions"><meta name=twitter:description content="You like this website? You wish to get a website just like this one to advertise your stuff? Super simple, not a pain to manage, tailored to your needs? Look no further, I can help you!
Included in the package:
Free hosting Custom theme You get control of everything Free training Domain name included Some guy with years of experience in internet things Contact me for a quote!"><meta name=theme-color content="#660066"><title>commissions - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><div><h2 name=top>commissions</h2><p></p></div><p>You like this website? You wish to get a website just like this one to advertise your stuff? Super simple, not a pain to manage, tailored to your needs? Look no further, I can help you!</p><p>Included in the package:</p><ul><li>Free hosting</li><li>Custom theme</li><li>You get control of everything</li><li>Free training</li><li>Domain name included</li><li>Some guy with years of experience in internet things</li></ul><p><a href=/about>Contact me</a> for a quote!</p></article><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

200
config.toml Normal file
View File

@ -0,0 +1,200 @@
baseURL = "http://toasters.rocks/"
title = "toasters rocks"
theme = "toastersrocks"
disqusShortname = "juju2143"
defaultContentLanguage = "en"
copyright = "Copyright © 2020 J.P. Savard"
paginate = 10
[languages]
[languages.en]
languageName = "English"
weight = 1
contentDir = "content/en"
[languages.fr]
languageName = "Français"
weight = 2
contentDir = "content/fr"
[[languages.en.menu.main]]
name = "Home"
pre = "fas fa-home"
url = "/"
weight = 1
[[languages.en.menu.main]]
name = "About"
pre = "fas fa-user"
url = "http://juju2143.ca/"
weight = 2
[[languages.en.menu.main]]
name = "Français"
pre = "fas fa-globe"
url = "/fr/"
weight = 3
[[languages.en.menu.main]]
name = "Comics"
pre = "far fa-comment"
url = "https://yukiis.moe/"
weight = 4
[[languages.en.menu.main]]
name = "Forums"
pre = "far fa-folder-open"
url = "https://codewalr.us/"
weight = 5
[[languages.fr.menu.main]]
name = "Accueil"
pre = "fas fa-home"
url = "/fr/"
weight = 1
[[languages.fr.menu.main]]
name = "À propos"
pre = "fas fa-user"
url = "http://juju2143.ca/"
weight = 2
[[languages.fr.menu.main]]
name = "English"
pre = "fas fa-globe"
url = "/"
weight = 3
[[languages.fr.menu.main]]
name = "Comics"
pre = "far fa-comment"
url = "https://yukiis.moe/"
weight = 4
[[languages.fr.menu.main]]
name = "Forums"
pre = "far fa-folder-open"
url = "https://codewalr.us/"
weight = 5
[[languages.en.menu.social]]
name = "Twitter"
pre = "fab fa-twitter"
url = "https://twitter.com/juju2143"
post = "#4da7de"
weight = 1
[[languages.en.menu.social]]
name = "Discord"
pre = "fab fa-discord"
url = "https://discord.gg/cuZcfcF"
post = "#7289da"
weight = 2
[[languages.en.menu.social]]
name = "GitHub"
pre = "fab fa-github"
url = "https://github.com/juju2143"
post = "#fafafa"
weight = 3
[[languages.en.menu.social]]
name = "Patreon"
pre = "fab fa-patreon"
url = "https://patreon.com/juju2143"
post = "#F96854"
weight = 4
[[languages.en.menu.social]]
name = "YouTube"
pre = "fab fa-youtube"
url = "https://youtube.com/user/julosoft"
post = "#e02a20"
weight = 5
[[languages.en.menu.social]]
name = "YouTube 2"
pre = "fab fa-youtube"
url = "https://youtube.com/c/juju2143"
post = "#e02a20"
weight = 6
[[languages.en.menu.social]]
name = "Twitch"
pre = "fab fa-twitch"
url = "https://twitch.tv/juju2143"
post = "#6441a5"
weight = 7
[[languages.en.menu.social]]
name = "Instagram"
pre = "fab fa-instagram"
url = "https://instagram.com/j.p.savard"
post = "#d6249f"
weight = 8
[[languages.en.menu.social]]
name = "DeviantArt"
pre = "fab fa-deviantart"
url = "https://deviantart.com/juju2143"
post = "#c5d200"
weight = 9
[[languages.en.menu.social]]
name = "SoundCloud"
pre = "fab fa-soundcloud"
url = "https://soundcloud.com/juju2143"
post = "#fe3801"
weight = 10
[[languages.fr.menu.social]]
name = "Twitter"
pre = "fab fa-twitter"
url = "https://twitter.com/juju2143"
post = "#4da7de"
weight = 1
[[languages.fr.menu.social]]
name = "Discord"
pre = "fab fa-discord"
url = "https://discord.gg/cuZcfcF"
post = "#7289da"
weight = 2
[[languages.fr.menu.social]]
name = "GitHub"
pre = "fab fa-github"
url = "https://github.com/juju2143"
post = "#fafafa"
weight = 3
[[languages.fr.menu.social]]
name = "Patreon"
pre = "fab fa-patreon"
url = "https://patreon.com/juju2143"
post = "#F96854"
weight = 4
[[languages.fr.menu.social]]
name = "YouTube"
pre = "fab fa-youtube"
url = "https://youtube.com/user/julosoft"
post = "#e02a20"
weight = 5
[[languages.fr.menu.social]]
name = "YouTube 2"
pre = "fab fa-youtube"
url = "https://youtube.com/c/juju2143"
post = "#e02a20"
weight = 6
[[languages.fr.menu.social]]
name = "Twitch"
pre = "fab fa-twitch"
url = "https://twitch.tv/juju2143"
post = "#6441a5"
weight = 7
[[languages.fr.menu.social]]
name = "Instagram"
pre = "fab fa-instagram"
url = "https://instagram.com/j.p.savard"
post = "#d6249f"
weight = 8
[[languages.fr.menu.social]]
name = "DeviantArt"
pre = "fab fa-deviantart"
url = "https://deviantart.com/juju2143"
post = "#c5d200"
weight = 9
[[languages.fr.menu.social]]
name = "SoundCloud"
pre = "fab fa-soundcloud"
url = "https://soundcloud.com/juju2143"
post = "#fe3801"
weight = 10
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[markup.highlight]
lineNos = true
lineNumbersInTable = true
noClasses = false

View File

@ -0,0 +1,24 @@
---
title: How to repost a video correctly on your social media page
slug: how-to-repost-a-video-correctly-on-your-social-media-page
publishDate: 2016-02-07T12:00:00.000Z
lastmod: 2019-11-25T06:58:37.000Z
tags: [Tech]
description: Well, I usually dont give a damn about this, but after seeing my good friend Minty Root allegedly being butthurt over this and seeing a GIF of his work being (re)posted on Facebook without credit, it stroke me, and I figured I had a good argument about this.
---
*This article was originally published on Tumblr, reposting it here for completeness.*
Well, I usually dont give a damn about this, but after seeing my good friend Minty Root allegedly being butthurt over this and seeing a GIF of his work being (re)posted on Facebook without credit, it stroke me, and I figured I had a good argument about this.
For this post, Ill use Minty as an example here, because I know how hes set up on YouTube, but it works for most, if not all content creators out there. If you dont know, Minty has monetization enabled on his YouTube channel, and his network, Channel Frederator, is giving him a good unspecified wad of money for his work depending of the views on his monetization-enabled videos. (If you wanna know, Im not sure hes allowed to tell, so Im not saying anything, but I do know its definitely helping him pay his bills.) So if you repost his videos on your Facebook page like many do (including full GIFs, although a GIF of only one scene can be debatable), for each view the video gets on your page, I dont know the exact rate but its probably one less cent in his pockets. So if your video has a lot of views, were talking about quite a lot of money here. Personally, I wouldnt care if there isnt any money at stake (like the creator hasnt monetized the video, its blocked in your country and/or its a big company such as Hasbro, in that case a credit would still be appreciated, if known), but in this case I think its probably what you can call piracy and/or stealing from a small content creator.
So heres a few best practices I can suggest you if youre the owner of one such page:
- **Dont download the video off YouTube (or anything) and repost on your page.** Instead, link it directly from the source. In many cases, such as Facebook and Twitter, the video will still embed directly in your post when you click on it. In YouTubes case, it have a lot of ways to put the video on your profile without outright reposting it, such as playlists.
- **At least credit the work you post with a link to the creators page, if youre not already link to their work.** If people liked that work, people will click on that link because they want to see more of that artist. You should always link to their site anyway.
- **Dont follow advices to get more views on your page.** Its probably a conspiracy to make you steal videos as I explained, or at least a side effect of big companies marketing plans. Its well-established Facebook wants to compete with YouTube and Twitter wants to do just like Facebook, so dont let them.
- **Subscribe to your favourite creators Patreon or donate to them, if you like their work.** It will make their day. Seriously. Or just support them in any way they let you. As I stated, it might help them pay their rent.
- **Disable AdBlock on your favourite websites or creators.** It will also help them and give them some ad money, if they set up these ads. Beware, in some cases, its just the creators platforms ads and its not actually going to them.
Its a pretty long post, but I bolded the tl;dr parts for better reading. I dont want to go in a crusade against those pages, I still love you, but we all do want a better world without all this bullshit. If I missed anything, please tell! I hope my point is understood and more people will follow those advices, so reblog this post wildly! (Of course, if youre gonna reshare it on other sites than Tumblr, credit me with a link, I probably spent at least a full hour to write this…)

View File

@ -0,0 +1,13 @@
---
title: Those Create Your Taste Booths at McDonalds
slug: those-create-your-taste-booths-at-mcdonalds
publishDate: 2016-07-17T12:00:00.000Z
lastmod: 2019-11-25T07:09:31.000Z
tags: [Rant]
---
*This article was originally published on Tumblr, reposting it here for completeness.*
You know what? I love those. They recently added some of them at the one in my town, pretty popular place after the summer festival taking place in Québec City each summer (we had the Red Hot Chili Peppers tonight, and tomorrow well have Rammstein, so its pretty big). So yeah, after those shows the place is pretty crowded and no employee is getting a rest. So, since they added those booths, I do feel its helping them. I feel its helping the customers as well. You tap what you want, you pay there with your card or iPhone or whatever, you get a number, and you wait for your number. Thats it. Before (and guess you still can go that way), you had to yell at the cashier what you want, after checking the menu above them if theres something interesting (and nowadays its TV screens so they put ads once every few seconds covering the whole menu its weird), and worse, if youre a picky eater like me (shame on me I guess) you have to tell the cashier a list of condiments you dont like (no pickles, no onion, etc.) and youre never sure which condiments they put in what and theyll forget to remove them half of the time its awkward and/or basically hell so I just ended up ordering chicken McNuggets all the time… And you dont have a number so you just wait in a line your your order, not really a good thing if theres a lot of people. But with the booths they tell you outright what you want in your sandwich plus whether you want like, 10 patties in your burger and numerous other options I should try someday. This opens up a ton of burger possibilities. And you get a number you wait for, so they can give the orders out in the order they want and process a lot at the same time pretty seamlessly, nothing that lines up endlessly, its pretty cool. Plus they can remove half of the cash registers (theres still some for those who want to pay cash or order manually) without much hassle. 10/10 best move by McDos ever.
Anyway, I should write more rants like this on my blog that I hardly use anymore (Tumblr is beginning to get cancerous, guess I needed to get out of this for a while). And this one is not sponsored by McDonalds Canada (although if you want to offer me this gold free meals forever card like Jérémy Demay got the other day Id gladly accept lol). Join me tomorrow on another rant on SaGGeek, or how to get invited as a guest at a convention and cancel at the last minute. Not writing it now because I wonder if there will be more things to write about in the aftermath tomorrow (the con was today), but that was kinda sad. Ill also have some project updates going soon, for those interested.

View File

@ -0,0 +1,33 @@
---
title: How to tell your AdBlock users to disable it like a boss
slug: how-to-tell-your-adblock-users-to-disable-it-like-a-boss
publishDate: 2017-01-28T12:00:00.000Z
lastmod: 2019-11-25T07:03:18.000Z
tags: [Tech]
---
*This article was originally published on Tumblr, reposting it here for completeness.*
Boy, I dont use Tumblr very often nowadays. Well, I wanted to write this article because, first of all, I hate ads and I know everyone else hates ads, myself I have uBlock with the anti-AdBlock killer on, but I also know people depends on it to make some good internet money and they want to do everything so their users can see the ads, even going as far as blocking the sites content unless AdBlock is disabled… I have reasons to believe youd piss these users off instead. I want to help fellow webmasters into making a better Internet, so this article attempts to show a way to have ads on and keep your users the most diligent way possible. Here goes the long post…
## Choose a good ad network
First of all, one of the first reasons, if not the first, people install AdBlock or similar software is that ads are one of the easiest ways to carry viruses and other malware, with Flash/HTML5 ads and such. So youll want to make sure, with the right settings on whichever network you choose, to only serve images, no Flash, no foreign Javascript that could carry malware inserted into the ad. The popular one is Google AdSense, I personally use Project Wonderful, which also lets your users continually bid on your ad boxes instead of the standard CPM/CPC model and only accept image ads, as far as I know. I wont show you how to place your ads, but it does help if youre reasonable about them. Think like a normal user who dont want ads in their way and find a good compromise. Actually, more on that in the next paragraph…
## Subscribe to AdBlock Plus Acceptable Ads Initiative
If you can convince your users your ads are not annoying and full of viruses, they are probably more likely to disable their AdBlock for you. The fine guys behind AdBlock Plus have published a set of guidelines to follow so your ad wont be considered annoying. If you follow these guidelines to the letter and if you ask them nicely, they might whitelist your ad in their software, which would give you a bit of a boost in ad views and clicks! And its free! (That is, if your site is not a giant and make “more than 10 million additional ad impressions per month due to participation in the Acceptable Ads initiative”…) Its a bit controversial, but hey, it works. If you contact them, it might take something like 2 weeks before they even get to your case and another 3-4 days before they add your ads to the whitelist, so be patient, its worth it.
Read more about it: [https://adblockplus.org/acceptable-ads](https://adblockplus.org/acceptable-ads)
## Dont block your content and convince your users
What is more annoying than an intrusive popup telling you to disable AdBlock? Your visitors with AdBlock on might as well leave your site instead of actually disabling AdBlock and you might lose views. So just dont do that, or youd give the impression youre a greedy person and your site exists for the money. You definitely dont want that. So when you detect your user has AdBlock enabled, youll still want to write a nice message above the fold, but nothing intrusive, saying something along the lines, “the website wouldnt exist without the ad money” (because, well, thats often why you put ads in there and users will understand that) and/or “I promise the ads are not annoying and full of viruses” (because you did the above like a nice admin). Maybe even mention the Acceptable Ads Initiative, youll show them its true and you followed guidelines from AdBlock software.
## I mean, convince your users, and make as simple as possible
Another thing you can do, and I dont think anyone did that yet, is to provide a subscription link to an AdBlock filter you made that unblocks your ads with the above message, like, “Click here to disable AdBlock/AdBlock Plus/uBlock for this site”. Your users will click on that link like if it was any other link to, for instance, close that message, its that simple for them. Again, I wont show you how to do that (maybe in another blog post?), I believe theres a bunch of tutorials on [how to write filter lists](https://adblockplus.org/filters) and [provide an abp: URL pointing to it](https://adblockplus.org/abp_linkfactory), but I do think its infinitely better than providing something like 4 different sets of instructions for each adblock software, browser and operating system out there. If you did the Acceptable Ads step above, they will provide you with a set of filter rules they will put in their list, you can definitely use that, you can also ask them for assistance for making a simple list with those rules to host on your server.
So there you go, I think I went around the subject, I hope these guidelines worked on your website and boosted your ads a bit! Of course, you cant convince everyone, some people are convinced ads are bad no matter what (thats why the Acceptable Ads Initiative is controversial), but you still can add some nice users with these guidelines. Obviously, Im not your visitors, so I dont guarantee this will work at all, but eh, at least you tried and made your site better.
Read it all? Have a walrus, you can thank me later. Dont forget to share it with all your friends who have websites!

View File

@ -0,0 +1,19 @@
---
title: Life update.
slug: life-update
publishDate: 2018-05-18T12:00:00.000Z
lastmod: 2019-11-25T07:04:31.000Z
tags: [Random]
---
*This article was originally published on Tumblr, reposting it here for completeness.*
Well. I didnt blogged that much in the past year or two on this toasters dot rocks blog, for some reason. My Tumblr timeline was looking like a disaster. Kinda like Facebook, actually, but thats another kind of disaster. Oh well. I probably should blog a bit more and publish some texts I usually just condense in 280 characters on Twitter. Kind of a diary.
So yeah. A ton of stuff happened since then, in the past year or two. Dropped school, got a job in web development and now Im working on a rather big project with a bunch of friends related to podcasts and content creators. (BTW, Ill let you know when its ready :)) So yeah, after being generally terrible in college and having stayed way too long there, thanks to a Youtuber, podcaster and entrepreneur friend, Im now in a situation one could just dream of. You might want to get all of the diplomas to get far in life, but if youre creative enough, you dont need to… Anyway, I cant wait to see this project taking off, cause its a pretty good concept overall, it just needs a lot of thinking and challenges to overcome.
Ive also been thinking a lot of my pet project, Zarmina, its also a project I wanna see done, I worked quite a bit on it lately, I finished the script for a demo, but I prefer putting the time on this other project since, well, this pays my bills :)
Anyway, cant wait what live is gonna give me next, who knows?
So yeah, stay tuned for more entries in my diary…

View File

@ -0,0 +1,15 @@
---
title: "Toasters Rocks: The Reboot"
slug: toasters-rocks-the-reboot
publishDate: 2018-11-22T12:00:00.000Z
lastmod: 2019-11-25T07:10:10.000Z
tags: [Meta]
---
Yeah, let's try this out, cause why not. It used to be Tumblr (which you can still follow [here](http://tumblr.toasters.rocks/)), but I recently switched to Write Freely, just to see how nicer it is. And looks like it works so far.
A while ago I realized I followed way too much people and it distracts me a lot from writing long texts, that and there was way too much NSFW to go there at school, so I kinda stopped going there. And I've been meaning to create a self-hosted blog in its stead for a long while, I wanted something real simple, so when I saw this, I was like, yeah why not, looks like the thing I wanted, easy to customize, not a ton of Javascript and PHP that comes with it, and as a bonus you can follow this blog on the Fediverse, gonna try this.
So there you go. First blog post and I hope to write more on random things.
Edit: I'm reposting my best blog posts from elsewhere here for completeness. Have fun.

View File

@ -0,0 +1,21 @@
---
title: Facebook sucks
slug: facebook-sucks
publishDate: 2018-11-23T12:00:00.000Z
lastmod: 2019-11-25T07:10:25.000Z
tags: [Rant, Tech]
---
Well, I guess this thing will be a really nice place to vent. Because, allow me to say this, and I think everyone here will agree: Facebook sucks.
I mean, if you ever need to talk to their tech support to either change the name of your page, there's a problem with it, or you even just want access to their API to integrate with your website (all true stories), let me get this straight, it's going to be a pain in the ass and take you months to get anywhere. What else, the timeline is not making sense anymore and it's showing more and more ads (actually, if you scroll too far it's going to give up, tell you you reached the end and just show you ads). Yet, it's still basically useful to reach your users and friends (even if it's going to cost you money to reach just half of your followers). I'd like to quit Facebook anytime, but that would mean moving all of my friends and their friends and their friends to something less terrible. And it's not going to happen anytime soon. Unless there's a new Facebook-killer out there... and that might probably be Instagram, and guess what? They got bought out by Facebook.
And that's just the tip of the iceberg, I'd tell you all night long about pretty much every social network out there. Talking about Twitter, YouTube, things like that. Thing is, these social networks have upwards of hundreds of millions of active users. Anything they'll do, someone is going to be angry. And they won't care if it's going to make the company stay afloat. It also makes it almost impossible to moderate because they're dealing with so much users daily. They're not going to sit with you and personally explain what's wrong with you and how you can improve (which is to me something any good moderator should do), they don't have time for that, instead pointing at their terms of service and make you try to figure it out, at best. They're too busy to code the perfect thing to make the copyright holders and governments happy, which is to me almost impossible without said good moderation or at least a decent rate of false alarms that would make the users happy. Which is probably also almost impossible without the AIs turning sentient, but eh, who knows?
In the end, it just makes your social network a terrible place to go. You long for the good ol' days where forums were still a nice place to build a community. It still kind of is, but Facebook groups are way easier to build and invite your friends on. Also easier to attract cancer, I guess. Discord is also a very nice one I'd actually recommend (and also Skype and IRC-killer), but it's a chat application and not very adapted to easily searchable long-form writing.
Enter the Fediverse. It's a set of applications that resembles Twitter, Tumblr, Instagram, YouTube and the like and have mostly the same functions as them, but they're broken down in thousands of servers that can talk to each other with a common protocol. And the best thing, you can have one of them! Of course, it'd need a bit of configuration and resources just like hosting a forum, but eh, worth it. That means millions of users you can talk to just like the big, centralized, for-profit ones, except it's broken down in units you can easily moderate yourself or with a small team. There's no central admin and you can just ban other people, but also other instances (that's what we call these units) if you don't like them. And it's very manageable.
In conclusion, well, there's no perfect solution, but it seems to go back to self-host everything. It's great if you know your way with Linux and you have a $10/month to spend on a VPS, or else you can always ask a friend. Just install the software you want and make your own rules. Even this blog, you can follow it on the fediverse. But yeah, if you're fed up with the rules, make your own. That's the internet for you. I really like the feel to be in control of everything, which is why I want to move to things like those, and if you're like that I really recommend you to do that, but I understand that some people are the complete opposite, they have no technical know-how and they'll like services that take their hands and do everything for them, so there is where general services like Facebook are useful, and even fediverse sites to a point (the biggest instances are half a million users already). But my point is, there will always be some place on the internet where you can be comfortable.
On that, I run things like [codewalr.us](https://codewalr.us/) (a forum for programmers), [calc.news](https://calc.news/) (a Mastodon instance) and this blog, feel free to join us if you want to be in a nice community :)

View File

@ -0,0 +1,52 @@
---
title: How to thoroughly destroy spam accounts from Mastodon
slug: how-to-thoroughly-destroy-spam-accounts-from-mastodon
publishDate: 2018-11-26T12:00:00.000Z
lastmod: 2019-11-26T06:10:02.000Z
tags: [Tech]
---
Well, it seems Mastodon have a problem with a particular spambot. As an instance admin, I investigated and here's my findings.
Symptoms: Accounts keep singing up on your instance. The username are all random syllables (kind of sounds like Japanese), they have random full English/American-sounding names, their email address are all from random domains as if their owner have a pretty big budget on that and they all have different IPs.
First step: Pass all of those IPs through the Whois database and find something in common. And indeed, they all seem to come from the same ISP, for the most part, so it's trivial to craft a command to get their IP ranges.
(Note: The next commands have been tested at the time of writing on a Debian 9 server, on other OSes, your mileage may vary. I say this because the BSD implementation of the whois tool is very different from its GNU counterpart, from what I can see. This also assumes that you're on the account Mastodon runs and `cd`'d in its live directory and you know that you shouldn't type the `$` as it's your prompt. And you actually know what you're doing, make backups first, etc. Also install the `ipcalc` package first, it'll help.)
$ whois -i admin-c,tech-c GS19550-RIPE | grep inetnum | cut -f9- -d" " | sed "s/ //g" | xargs -n1 ipcalc -rn | grep -v deaggregate >> banlist.txt
(Actual command will vary from spambot to spambot, but it's the one the fediverse is currently plagued with and I have no doubt if there's another spammer it's going to be similar. Also from here, the instructions are for Mastodon 2.6, for any other software it's going to be something else, but yeah, you're basically going to kick IP ranges out.)
Now that you have a bunch of IPs to ban, enter the Rails console:
```sh
$ RAILS_ENV=production bundle exec rails c
```
Now this bit of code will tell you their usernames, to make sure you have no false positives.
```ruby
File.open("banlist.txt","r").each_line { |ip| User.where("last_sign_in_ip << ?", ip.strip).each { |u| puts u.account.username } };0
```
And now, this is the fun part, destroy them!
```ruby
File.open("banlist.txt","r").each_line { |ip| User.where("last_sign_in_ip << ?", ip.strip).each { |u| u.account.user.destroy; u.account.destroy } };0
```
Now you can't see them anymore. If you missed a few, you can always put their IPs in `banlist.txt` and repeat the process. Now to make sure they're not going to come back, you can either put them in your iptables or your favourite firewall, or put a blacklist in your nginx. Run this as your normal admin user:
```sh
$ cat banlist.txt | xargs -n1 -I'{}' echo deny '{}'\; | sudo tee /etc/nginx/blacklist
```
Then edit your nginx config and put an `include blacklist;` somewhere in your instance's server block. Don't forget to reload nginx!
And there you go. How to find out and destroy spambots for dummies. Have fun and don't forget to do this once in a while :)
Sources:
[https://mastodon.at/@pfigel/100076564629123760](https://mastodon.at/@pfigel/100076564629123760)
[https://github.com/tootsuite/mastodon/issues/109#issuecomment-298767655](https://github.com/tootsuite/mastodon/issues/109#issuecomment-298767655)

View File

@ -0,0 +1,25 @@
---
title: "Reflections on 2018, part 1: Writing a book"
slug: writing-a-book
publishDate: 2018-12-10T12:00:00.000Z
lastmod: 2019-11-25T07:12:51.000Z
tags: [Zarmina]
---
So yeah. I'm writing a book. It's called Zarmina. Pretty huge project I'm working on on and off for the last few years and it went through a bunch of iterations before what it is now... I do believe that if you sit on a project for long enough, it's going to evolve until it turns out pretty great. It's still a pretty big undertaking and a very ambitious project, I rewrote the first part I don't know how many times now under countless concepts and I procrastinated a lot of it, but I do think it's turning out great.
Think of it as what if Europeans discovered America today, in the 21st century. It's the story of Earth astronauts on a planet far, far away making first contact with its inhabitants. And they definitely know what this implies and what humanity have done in the past. Oh, and they're magic furries, because why not. (Actually, there's a reason for that, and it's so they're more adapted for the kind of cold climate they have and so they look more like a weird mix between a human and a cat.)
It's inspired a lot of *Dans une Galaxie près de chez vous*, a Canadian comedy/sci-fi show that aired in 1999-2002, with two movies in 2004 and 2008, right during my childhood. It follows Captain Patenaude and his crew trying to find in 2034 a new planet to move humanity on because they completely destroyed their old one beyond repair. Thorough the series, it's pretty clear that the Captain wants to do good: if humanity is given a new planet, maybe they'll take care of this one... He also take care to find a planet that isn't already inhabited by a civilisation, for fear the humans will completely destroy it. And in the last episode, they finally find the perfect planet to move humanity on, but of course the second the first settlers arrive, war is waged over the best grounds available and it's pretty clear they're going to destroy this one too. Even though the mission to find a new planet was a success, the Captain and his crew considers their own personal mission a failure.
Last month, I had the pleasure to be part of the team that organized a small convention about this show (think about these brony or trekkie cons, but we were a duggie con). Half of the actors were there, as well as the writers and creators. And what the creators said during their panel or video message stroke me. The message they sent 20 years ago about the fact we only have one planet and we should take care of it, well, it's still valid today. With the current geopolitical climate we have today and, um, (should I really name him) Trump, among others, it's more valid than it ever been before. And this is why they want to go back to this universe and write a third movie eventually. And a comic book. It's planned for 2019, from what I heard. And as a fan, I hope it's happening.
I think it's something like this that made this show great. One of a kind, even. It sends a message and it does it well while being funny and captivating people all around French-speaking Canada. It's kind of our own locally-produced *Doctor Who* or *Star Trek*.
So, obviously, if humanity would meet a race of magical cat people, what would they do with that? Who knows? This is an issue neither captain would want to go bad and get in a deadly war about that. This thing is about friendship, really. Friendship between people who are different and could potentially be abused because of said differences. And this is what Zarmina is about, two astronauts stranded on an inhabited planet with quite powerful beings who will need to overcome their differences in order to get back to Earth and hope these people on Earth will think like them when they'll get back to them.
So this is one of the things I want to do with Zarmina. We don't have a lot of good sci-fi over here that sends a good message and this is something I'd really like to do. And this is the kind of message I'd like to send with this. The other, it's kinda because of my experience as a web developer, I want to do something completely original, something that makes good use of the web as a media. Every chapter is going to have music, maybe even animations and other interactivity, if I can and when the story will need it. (Well, I'm not the best at drawing, but eh, gotta do my best...) Maybe also... learning? You're definitely going to learn something, won't say more :) Anyway, this is something I learned with the Internet, if you want to be successful, you gotta standout.
I've written 3 chapters and a half so far (under its current form, that is, I have a story under a previous form that covers the first 4 chapters or so I'm currently rewriting), the first one is online [on the website](http://zarmina.xyz/) and the others will be published soon once they're ready, in French and English. Meanwhile, you can have a sneak peek on [Patreon](https://patreon.com/juju2143) and help me financially while I'm working on this, but yeah, I really like how it's finally ending up. It's going to be quite an experience... and I hope to show you all of this real soon.
So this is one of the things I worked on in 2018 that I'm proud of it and will definitely keep doing in 2019. Stay tuned for more of these things... 2018 sure was a weird year.

View File

@ -0,0 +1,33 @@
---
title: April Fools 2019
slug: april-fools-2019
publishDate: 2019-04-02T12:00:00.000Z
lastmod: 2019-11-29T02:53:53.000Z
tags: [Random]
---
As usual, I like to prank people with good, original jokes on April 1st across my properties. Not these overused jokes everyone hates (for instance the local furry group deleted pranks because they were getting too much instances of the same overused, boring joke), but rather original and fun jokes. Or I try to, anyway. I didn't took much effort and time doing any of them this year as I didn't had any good ideas in advance, and I didn't had time to do an elaborate one, but here's a rundown of my pranks of this year.
## CodeWalrus
I took one of our nastiest and weirdest members we haven't banned yet and I gave him the role of “President of CodeWalrus” on our Discord server (no additional permissions that what he already had, don't worry) and told him he bought CodeWalrus while drunk. Kinda fun to see him getting confused by this. Could also had done a press release with that, but eh.
## Zarmina
For context, only the first chapter was online by then, and I was distributing some business cards of it at Nadeshicon this weekend. So I thought I could release Chapter 2 and just end it there with a downer ending where everyone dies? Didn't had a lot of feedback on it, though. I only released it in French for now but here's the ending for posterity:
> Soudain, le rubis s'illumine à une vitesse et une intensité folles, puis explose. Tous meurent sur le coup. Les corps ne sont retrouvés que quelques semaines plus tard et eurent droit à des funérailles de héros.
> Le vaisseau du précédent chapitre a également explosé en entrant dans l'atmosphère de la planète et personne s'en est rendu compte, seulement une pluie de débris dans un désert dans la partie chaude de la planète. Après quelques semaines sans nouvelles des astronautes, la Terre assument leur mort et leur firent des funérailles nationales.
## MLP Québec
Again for context, the site is pretty much dead and unmaintained, but I thought I could announce we discovered a portal to Equestria somewhere in my hometown of Québec City on the Twitter account. Kinda low quality, but the tweets got a bunch of retweets and likes, so thanks for that :)
> Bonjour, nous avons trouvé un portail vers Equestria dans le fond de Loretteville
>
> Nous envoyons des renforts
> &mdash; MLP Québec (@MLPQuebec) [April 1, 2019](https://twitter.com/MLPQuebec/status/1112608895053246465?ref_src=twsrc%5Etfw)
Click to see replies
Well, that was it for this year, I thought of all of those the same day and I wasn't really prepared for those, but eh, that was fun :)

View File

@ -0,0 +1,21 @@
---
title: "DevLog #1: Making the trailer"
slug: devlog-1-making-the-trailer
publishDate: 2019-11-07T03:15:00.000Z
lastmod: 2019-11-25T08:00:18.000Z
tags: [Zarmina]
---
***This article was originally published on *[Patreon](https://www.patreon.com/juju2143)*, reposting it here for completeness.***
I told you I'm keeping you updated, so I'm keeping a dev log here on Patreon. Everything you need to know, so it sounds like I'm actually active at doing something and you can learn from my errors. Don't want to decieve anyone who might want to throw money at me here.
First thing on my new plan is to post a trailer on YouTube, redirect people here and hope The Algorithm™ does its job somewhat soon.
Unfortunately, I work on Linux on a semi-ancient iMac (back when they were still somewhat good), the graphic card is crapping its life out and I don't have money to buy a semi-decent computer that could run my software of choice, Adobe After Effects. And all the alternatives, either they can't run on my weird setup or I don't like them.
So, what else could I do? Might do it directly in Ren'Py while I'm at it, that would be pretty cool as an intro in the game itself. Now trying to figure out the Ren'Py language. Which sounds like someone abused and mangled the Python engine during its sleep. Pretty cool language, though.
So yeah, coding a semi-decent intro, finding free images that goes with it (the NASA will be useful here), abusing the heck out of Ren'Py, posting everything everywhere once done and throw a bit of climate change and everything in there in hopes someone gets interested. Can't go wrong, right? Right.
Wish me luck.

View File

@ -0,0 +1,24 @@
---
title: "Zarmina 3.0: rewrite (again)"
slug: zarmina-3-0-rewrite-again
translationKey: zarmina-3-0-rewrite-again
publishDate: 2019-11-07T02:53:00.000Z
lastmod: 2019-11-26T02:03:11.000Z
tags: [Zarmina]
---
***This article was originally published on **[Patreon](https://www.patreon.com/juju2143)**, reposting it here for completeness.***
*This is a semi-Google Translation of the last post, for the English-speaking friends I might have here. I'm probably going to do this in both English and my native language that is French. Maybe also other languages too.*
And that's where I lost my motivation. Once again. I have not written anything since last winter, because, you see, I realized that it was not going anywhere in its current form. Blank page syndrome. Small panic. It's not the vision of the project that I had. I can not do this alone, with no funding. And I put it on pause, I focused on something else, other projects, waiting for things to happen.
Fast forward to the end of September. Inktober was coming. I wasn't too shabby at drawing. I went back to the idea and I thought, why not draw all my characters?
Unfortunately, no, it didn't happen. I did not have the time, nor the motivation, for several reasons out of, but also in my control. It's the 28th day and I made half of Miyuki's drawing. Yeah, that was a nice Inktober this year. But, I planned my idea. How was I going to do it this time? It will take more planning than that. This time, I go all in and do the project that I have always dreamed of doing. Go get funding to do this full time and set up a studio worthy of the name. Engage employees who are better than me on some things. Create jobs. Maybe even get help from the government, if it's possible. They like that, create jobs.
I have a vision, somewhat ambitious, certainly, but today is the day. Zarmina version 3.0: The Visual Novel. A 100% Quebec visual novel unlike anything else in Quebec, or anywhere else, probably. With art, music, programming, available on Steam and / or any other distribution platform. A masterpiece of fantasy and science fiction, nothing less. I'll keep you informed. In the meantime, I've posted the rest of what I wrote to date for Zarmina 2.0: The Regular Novel, before scraping it. For free. Because it's going to be bigger than just a novel with music on it.
There was a certain person who mentioned me the other time in a meetup in Old Quebec that she was eager to see more. This is for you. And for all those who have believed in me. Anyone who told me that my catgirl was cute when I posted my drawings on their Discord server. It's for you, guys. Your encouragement is precious.
I need you. Give generously. Or at least give all your encouragement. It's gonna be a bumpy ride. And I will try to update you when I can. It's going to be big. Hoping to finally see the end of this project. Who is with me?

View File

@ -0,0 +1,18 @@
---
title: Trailer is out
slug: trailer-is-out
translationKey: trailer-is-out
publishDate: 2019-11-23T06:36:00.000Z
lastmod: 2019-12-13T05:53:57.000Z
tags: [Zarmina]
---
*This article was originally published on [Itch.io](https://juju2143.itch.io/zarmina), reposting it here for completeness.*
{{< youtube y39JZ2c7YsA >}}
New trailer for the project, it's not the complete game but I hope you'll like it :) It's been done with Ren'Py cause it's gonna be the intro to the game and I wasn't able to get a good video editing software working on my computer... You can see it straight on the game's page or if it's buggy there's a YouTube video.
For you English speakers, don't worry, there will be an English version soon. Once I figure out how the translation module works. It's kinda weird.
Anyway. If you liked it, please throw me some money here or on Patreon, that'd be super appreciated. But in all, I hope you have fun!

View File

@ -0,0 +1,49 @@
---
title: about me
slug: about
publishDate: 2019-11-25T06:54:19.000Z
lastmod: 2020-02-07T00:12:34.000Z
isPage: true
---
Hi, I'm J. P. Savard. (Obviously a pen name. Or is it?) Also known as Juju or Yuki.
I'm just a random freelance programmer from Québec City, Canada. I write things sometimes. It feels good.
Here you will find random musings about life, development logs, code experiments, educational content, or anything I deem worth to put on this silly blog. Might write in French sometimes, if you don't understand, it might not concern you, look somewhere else.
None of my thoughts represent the opinion of my employers, clients, anyone I might know or even myself from next week. They often agree with me, but take nothing for granted.
If you like the content I put here, please tip me on [Patreon](http://www.patreon.com/juju2143)!
## legal stuff
Horse Life 98 strips uses art assets from Microsoft Chat and [Pony Town](https://pony.town), the latter are licensed under [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/). Character designs and the jokes are mine, unless indicated otherwise. Yes, it's low-quality, that's part of the joke. We're in 1998.
The rest are mine, unless indicated otherwise. The pieces of code are usually licensed under [LiLiQ-P-1.1](https://forge.gouv.qc.ca/licence/liliq-v1-1/), unless indicated otherwise.
I'm clearly abusing this phrase, unless indicated otherwise.
## my stuff
[Zarmina](http://zarmina.xyz/) My sci-fi fiction stuff.
[MLP Québec](http://mlp.quebec/) My other blog about fandoms.
[CodeWalrus](https://codewalr.us/) A nice community of programmers. We have walruses.
[julosoft](http://julosoft.net/) Games I did, back when I was trying.
## me and my stuff, elsewhere
[GitHub](https://github.com/juju2143?tab=repositories) Source code I wrote for random stuff.
[YouTube](https://www.youtube.com/user/julosoft) Random videos I put together when I'm bored.
[YouTube](https://www.youtube.com/c/juju2143) Animated stuff and other videos I actually give some of myself into.
[Vimeo](https://vimeo.com/juju2143) Short films I did at school.
[deviantArt](http://juju2143.deviantart.com/) Things I draw and characters I design.
[SoundCloud](http://soundcloud.com/juju2143) Some music I do when I'm bored.
[Patreon](http://www.patreon.com/juju2143) Send me some money!
## best ways to contact me
Discord: [CodeWalrus](https://discord.gg/cuZcfcF)
Twitter: [@juju2143](https://twitter.com/juju2143)
Mastodon: [@Yuki@im-in.space](https://im-in.space/@Yuki)
Email: juju at juju2143 dot ca

View File

@ -0,0 +1,13 @@
---
title: New blog, again
slug: new-blog-again
publishDate: 2019-11-25T07:57:22.000Z
lastmod: 2019-11-25T18:25:56.000Z
tags: [Meta]
---
Yeah, I complain a lot about the fact I don't write on my blog. I moved it again, this time on Ghost, after I found out I had free web hosting and it could run Node.js apps on it, so let's try this. It was a bitch to install, though, as if Murphy's law was playing against me. If it has a chance to fail, then it will fail. It took like 3 days, but I hope it's worth it. Of course WordPress is a huge power house I don't want to mess with anymore, and Write Freely is less of a power house than I thought it would be (I believed a lot in the Fediverse back then, and now the Mastodon instance I host broke), I found out about Ghost which is in Node.js, so yeah, hope it's going to be fast and simple. I moved all content to the new blog, and I'll probably copy content from other sites on here as well, I blogged a bit on Patreon and Itch.io this year, gonna repost those here as well.
Anyway. Expect new content soon. I'm now developing Zarmina as a visual novel, I'll try to post some devlogs here, that or random doodles I made with Processing or something.
Oh, also new domain that has my name in it, cause why not, it looks professionnal. Not that I don't like toasters.rocks, that's a good domain, but, eh, I dunno. Might go back to it. Anyway. Welcome to Juju's Stupid Random Crap v3 and have some fun.

View File

@ -0,0 +1,80 @@
---
title: trippy perlin noise
slug: trippy-perlin-noise
publishDate: 2019-11-25T18:16:14.000Z
lastmod: 2019-11-29T01:06:04.000Z
tags: [Experiments, p5.js]
description: "Warning: contains some intensive JavaScript that might break your computer"
images:
- /images/2019/11/perlin.png
---
<script src="https://unpkg.com/p5@^0.10/lib/p5.min.js"></script>
<script>
function setup() {
var c = createCanvas(256, 256);
c.parent('sketch-holder');
background(0);
}
function draw() {
var n = 0;
var z = 1;
var speed = 0.005;
noiseDetail(8, 0.65);
loadPixels();
for(a=0; a<3; a++)
{
noiseSeed(a+n);
for(i=0; i<width*height*4; i+=4)
{
x = ((i/4)%width)/width*z;
y = floor((i/4)/width)/height*z;
pixels[i+a] = noise(x,y,frameCount*speed)*255;
}
}
updatePixels();
}
</script>
&nbsp;
<div id="sketch-holder"></div>
Now that I can easily embed JavaScript on this blog, I should put here some of my experiments and weird code that does nothing, cause why not. This one is some colored Perlin noise made using p5.js, it would be pretty cool as a background for something, isn't it?
It is quite simple using the `noise` function, one the simplest things you can do with it is `color = noise(x, y, time)` for each pixel on the canvas, usually you make it grayscale but this time I'm generating 3 of them for each color component (red, green, blue) with a different seed. It looks pretty cool, if you ask me.
```js
function setup() {
createCanvas(256, 256);
background(0);
}
function draw() {
var n = 0;
var z = 1;
var speed = 0.005;
noiseDetail(8, 0.65);
loadPixels();
for(a=0; a<3; a++)
{
noiseSeed(a+n);
for(i=0; i<width*height*4; i+=4)
{
x = ((i/4)%width)/width*z;
y = floor((i/4)/width)/height*z;
pixels[i+a] = noise(x,y,frameCount*speed)*255;
}
}
updatePixels();
}
```
p5.js code for the above canvas.
On that, I recommend [p5.js](http://p5js.org), or its big sister [Processing](https://processing.org), if you want to learn code and do some cool artsy stuff with it, I've been recommending to a bunch of people lately :) If you want to learn and you're a complete beginner, there's a series about that on [The Coding Train](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA) on YouTube.
(P.S.: Sorry if I break your computer by executing some intensive JavaScript on this post! The above image isn't an image but the actual code running in your browser, and the whole calculation is a bit intensive, so I kept the canvas size rather small so it's bearable on older computers like mine :))
Edit (26/11): Updated the post with code and some explanations.

View File

@ -0,0 +1,20 @@
---
title: commissions
slug: commissions
publishDate: 2019-11-27T07:32:50.000Z
lastmod: 2019-11-27T07:32:50.000Z
isPage: true
---
You like this website? You wish to get a website just like this one to advertise your stuff? Super simple, not a pain to manage, tailored to your needs? Look no further, I can help you!
Included in the package:
- Free hosting
- Custom theme
- You get control of everything
- Free training
- Domain name included
- Some guy with years of experience in internet things
[Contact me](/about) for a quote!

View File

@ -0,0 +1,161 @@
---
title: ecco the dolphin
slug: ecco-the-dolphin
publishDate: 2019-11-29T02:47:27.000Z
lastmod: 2019-12-01T06:13:10.000Z
tags: [Experiments, p5.js]
description: Let's recreate this weird effect from Ecco the Dolphin.
images:
- /images/2019/11/background.png
---
<script src="https://unpkg.com/p5@^0.10/lib/p5.min.js"></script>
<script>
// Ecco effect v2 by juju2143
// based on original code by foone
// https://github.com/foone/ecco-distortion-effect
// Licenced under GPL3
var shifts = "gDkZcB510pQ:3pSf]>4oLh\>41pS;nWd_@lYcB5oT;nJ82pSfCkH7nV<3oL82pN9nV<31pNh\c_?lH7nKiE6210000pOg\cB5oL82pN931pOg\>mWe^aA5110pO9nKh\bAlYdCkG7oL8nVe^a`@5oL82pSf\>lXd^?lX=3oM9nV<31pNhEjF6oL8nJiEjF6oU;310pQ:3pSfC6oU;mW=41pN9nK8nJ8nV;nV<310000pPgD6oUe]>4oL9nVe^a`@";
function preload() {
img = loadImage('/images/2019/11/background.png');
}
function setup() {
var c = createCanvas(320, 224);
c.parent('sketch-holder');
}
function draw() {
for (var i = 0; i < height; i++)
image(img, 0, i, width, 1, shifts.charCodeAt((i + frameCount) & 0xFF)-0x30, i, width, 1);
}
</script>
&nbsp;
<div id="sketch-holder"></div>
Welcome to the second installment of my code experiments! This time we're gonna look into the weird effect used in the background of messages in Ecco the Dolphin for the Sega Genesis (or MegaDrive, if you're asking someone outside the Americas). I got the idea from Twitter user @Foone who helpfully reverse engineered the game ROM (with Twitter user @Reaper_man02) to figure out how it works and wrote an implementation in Python. Then I went ahead and adapted it in p5.js.
{{< twitter 1199590443538796549 >}}
Read the replies for some explanations.
Turns out it's pretty simple: there's a table in ROM, it's basically how much each line should be shifted in the x axis. Then for each frame we shift the values around so it looks like it's scrolling.
![](/images/2019/11/background.png)
Base image.
```js
function generate_for_offsets(offset) {
var SCREEN_SHIFTS = [
55, 20, 59, 42, 51, 18, 5, 1, 0, 64, 33, 10, 3, 64, 35, 54, 45, 14, 4, 63,
28, 56, 44, 14, 4, 1, 64, 35, 11, 62, 39, 52, 47, 16, 60, 41, 51, 18, 5,
63, 36, 11, 62, 26, 8, 2, 64, 35, 54, 19, 59, 24, 7, 62, 38, 12, 3, 63,
28, 8, 2, 64, 30, 9, 62, 38, 12, 3, 1, 64, 30, 56, 44, 51, 47, 15, 60, 24,
7, 62, 27, 57, 21, 6, 2, 1, 0, 0, 0, 0, 64, 31, 55, 44, 51, 18, 5, 63, 28,
8, 2, 64, 30, 9, 3, 1, 64, 31, 55, 44, 14, 61, 39, 53, 46, 49, 17, 5, 1, 1,
0, 64, 31, 9, 62, 27, 56, 44, 50, 17, 60, 41, 52, 19, 59, 23, 7, 63, 28, 8,
62, 38, 53, 46, 49, 48, 16, 5, 63, 28, 8, 2, 64, 35, 54, 44, 14, 60, 40,
52, 46, 15, 60, 40, 13, 3, 63, 29, 9, 62, 38, 12, 3, 1, 64, 30, 56, 21, 58,
22, 6, 63, 28, 8, 62, 26, 57, 21, 58, 22, 6, 63, 37, 11, 3, 1, 0, 64, 33,
10, 3, 64, 35, 54, 19, 6, 63, 37, 11, 61, 39, 13, 4, 1, 64, 30, 9, 62, 27,
8, 62, 26, 8, 62, 38, 11, 62, 38, 12, 3, 1, 0, 0, 0, 0, 64, 32, 55, 20, 6,
63, 37, 53, 45, 14, 4, 63, 28, 9, 62, 38, 53, 46, 49, 48, 16
]
var output_shifts = [];
for (var current_line = 0; current_line < height; current_line++) {
output_shifts[current_line] = SCREEN_SHIFTS[(current_line + offset) & 0xFF];
}
return output_shifts;
}
```
p5.js code for the above canvas, part 1
This function basically computes a table of offsets for the current frame by adding the line number with the frame number, mod 256. Then a bit of initialization code:
```js
function preload() {
img = loadImage('https://toasters.rocks/images/2019/11/background.png');
}
function setup() {
createCanvas(320, 224);
}
```
p5.js code for the above canvas, part 2
And now this is where it gets interesting. For each line we call the `image` function which crops a 320x1 portion of the image with the appropriate x offset we calculated earlier. Note that the original image is 384x224.
```js
function draw() {
var adjusts = generate_for_offsets(frameCount);
for (var i = 0; i < height; i++)
image(img, 0, i, width, 1, adjusts[i], i, width, 1);
}
```
p5.js code for the above canvas, part 3
We can also completely forego the `generate_for_offsets` function and make it simpler:
```js
var shifts = [
55, 20, 59, 42, 51, 18, 5, 1, 0, 64, 33, 10, 3, 64, 35, 54, 45, 14, 4, 63,
28, 56, 44, 14, 4, 1, 64, 35, 11, 62, 39, 52, 47, 16, 60, 41, 51, 18, 5,
63, 36, 11, 62, 26, 8, 2, 64, 35, 54, 19, 59, 24, 7, 62, 38, 12, 3, 63,
28, 8, 2, 64, 30, 9, 62, 38, 12, 3, 1, 64, 30, 56, 44, 51, 47, 15, 60, 24,
7, 62, 27, 57, 21, 6, 2, 1, 0, 0, 0, 0, 64, 31, 55, 44, 51, 18, 5, 63, 28,
8, 2, 64, 30, 9, 3, 1, 64, 31, 55, 44, 14, 61, 39, 53, 46, 49, 17, 5, 1, 1,
0, 64, 31, 9, 62, 27, 56, 44, 50, 17, 60, 41, 52, 19, 59, 23, 7, 63, 28, 8,
62, 38, 53, 46, 49, 48, 16, 5, 63, 28, 8, 2, 64, 35, 54, 44, 14, 60, 40,
52, 46, 15, 60, 40, 13, 3, 63, 29, 9, 62, 38, 12, 3, 1, 64, 30, 56, 21, 58,
22, 6, 63, 28, 8, 62, 26, 57, 21, 58, 22, 6, 63, 37, 11, 3, 1, 0, 64, 33,
10, 3, 64, 35, 54, 19, 6, 63, 37, 11, 61, 39, 13, 4, 1, 64, 30, 9, 62, 27,
8, 62, 26, 8, 62, 38, 11, 62, 38, 12, 3, 1, 0, 0, 0, 0, 64, 32, 55, 20, 6,
63, 37, 53, 45, 14, 4, 63, 28, 9, 62, 38, 53, 46, 49, 48, 16
]
function preload() {
img = loadImage('https://toasters.rocks/images/2019/11/background.png');
}
function setup() {
createCanvas(320, 224);
}
function draw() {
for (var i = 0; i < height; i++)
image(img, 0, i, width, 1, shifts[(i + frameCount) & 0xFF], i, width, 1);
}
```
p5.js code for the above canvas, version 2
Now that huge array is a bit unwieldy, maybe you can compress it? Sure thing.
```js
console.log(String.fromCharCode(...shifts.map(x => x + 0x30)));
```
Let's transform that stupid array into something better
```js
var shifts = "gDkZcB510pQ:3pSf]>4oLh\>41pS;nWd_@lYcB5oT;nJ82pSfCkH7nV<3oL82pN9nV<31pNh\c_?lH7nKiE6210000pOg\cB5oL82pN931pOg\>mWe^aA5110pO9nKh\bAlYdCkG7oL8nVe^a`@5oL82pSf\>lXd^?lX=3oM9nV<31pNhEjF6oL8nJiEjF6oU;310pQ:3pSfC6oU;mW=41pN9nK8nJ8nV;nV<310000pPgD6oUe]>4oL9nVe^a`@";
function preload() {
img = loadImage('https://toasters.rocks/images/2019/11/background.png');
}
function setup() {
createCanvas(320, 224);
}
function draw() {
   for (var i = 0; i < height; i++)
       image(img, 0, i, width, 1, shifts.charCodeAt((i + frameCount) & 0xFF)-0x30, i, width, 1);
}
```
p5.js code for the above canvas, version 3
From there, there's a lot of tricks to compress your code so it goes a bit faster. With that much code, we went from something that looks complex into something simple, which is pretty cool. Well, that's all for today, hope you learned a bit with that :)
All content owned by their respective owners: game, data and assets by [Novotrade International](https://en.wikipedia.org/wiki/Appaloosa_Interactive), code by Foone and adapted by myself licenced under GPL3.

View File

@ -0,0 +1,17 @@
---
title: Horse Life 98
slug: horse-life-98
publishDate: 2019-12-15T00:55:25.000Z
lastmod: 2019-12-15T00:56:43.000Z
tags: [Writing]
images:
- /images/2019/12/ponylife98-000-1.png
---
Been a while I wanted to make a webcomic, but I never got around at drawing one, and if I do I'm not that good at drawing, so...
I recently started messing up with a Windows 98 VM (for various reasons, including a future redesign of this website), I re-discovered Microsoft Comic Chat, I decided to import my [Pony Town](https://pony.town) avatars in it, and the rest is history. It's simple to make, it doesn't take too much of my attention span and it looks good, so yeah, winning formula.
It's going to be rather absurd, kinda like one of these comics that looks the same but with different punch lines. Hope you like it.
Check it out at [https://toasters.rocks/horselife](/horselife)

View File

@ -0,0 +1,130 @@
---
title: Esoteric uses of CGI
slug: esoteric-uses-of-cgi
publishDate: 2019-12-21T04:41:19.000Z
lastmod: 2019-12-21T05:34:28.000Z
tags: [Tech]
description: Or how to program the back-end of your website using Commodore BASIC.
images:
- /images/2019/12/photo-1461749280684-dccba630e2f6.jpg
---
Well, you probably all heard of [esoteric programming languages](https://esolangs.org/) before, but the question today is, programming languages used outside its intended use, would that be esoteric?
If I tell you back-end web languages, you'd immediately think PHP, Node.js, Ruby, C maybe, but what if I tell you... Commodore BASIC? Sure, just get a Commodore 64 with a TCP/IP stack and write a web server for it you'd say, but I mean, actually using it on an actual, everyday web server on some Linux box? It's clearly not made for that.
Enter [CGI](https://en.wikipedia.org/wiki/Common_Gateway_Interface), which is a protocol that was basically made so your web server can run a Perl script that could do more than directly serving some static HTML file so your user could actually interact with your website. A standard setup would be PHP running as a FastCGI server on top of Nginx, that or running as a plugin on Apache. In the first case, PHP communicates with Nginx via a UNIX socket, the web server forwards a request, PHP processes it and sends it back, so it would be more efficient and not spawn a process every request, which might slow your site down if it's popular enough.
## Installation
We're going to use [fcgiwrap](https://github.com/gnosek/fcgiwrap), a little piece of software that plugs into Nginx just like PHP does, but it runs just about any software you can run on command line, be it a shell script, a program, or a script written using your favourite language interpreter. You just install it using your Linux distro's package manager, activate the socket with a `sudo systemctl start fcgiwrap.socket`, install it in your `nginx.conf` just like you did with PHP, that's it, just like in the good ol' days.
```nginx
location ~* \.cgi {
root /srv/http;
fastcgi_pass unix:/run/fcgiwrap.sock;
fastcgi_index index.cgi;
include fastcgi.conf;
}
```
Example nginx config block.
So, as long as you have an interpreter, you can turn it into a web back-end server language, right? Theorically, yes. We'll take our good ol' Commodore 64 BASIC [that has been ported to C](https://github.com/mist64/cbmbasic) so it could work on your modern computer as a case study.
So basically, you need a console program that opens a file and interprets it:
```bash
$ cat program.bas
#!/usr/bin/cbmbasic
10 PRINT"Hello, world!"
$ chmod +x program.bas
$ ./program.bas
Hello, world!
```
Example console session.
Mind the shebang (the `#!/usr/bin/cbmbasic` line), it basically turns `./program.bas` into the proper `cbmbasic program.bas`. You'll need to run `chmod +x` on it for it to work. It's going to be useful later as you have no way otherwise to tell your web server which interpreter you want to run that file with.
So now you can dump in your web directory a file like this:
```basic
#!/usr/bin/cbmbasic
10 PRINT"HTTP/1.1 200 OK
20 PRINT"Content-Type: text/html;charset=utf-8
30 PRINT
40 PRINT"<html><head><title>Hello</title></head><body>
50 PRINT"Hello, world!
60 PRINT"<br/>Time is: ";
70 PRINT TI$
1000 PRINT"</body></html>
```
index.cgi
Navigate to it with your browser and sure enough, you have a nice "Hello, world!" with the current time. So it's really easy to code something to show up in your browser. But of course, this ain't PHP, you have to send the HTTP headers yourself (lines 10-30, anything followed by two newlines should be sufficient, but for best results you should send the HTTP code and the content type), but still, quite easy. But the question here is, how is it useful?
## $_POST
Obviously, you'd need some kind of input, right? The HTTP protocol allows for GET and POST. POST allows you to send data in the body of the request, otherwise you can also get some data from the URL. In PHP that would be respectively the `$_POST` and `$_GET` arrays. But of course it won't automatically parse these, so let's do that.
For POST data, it's just as easy as reading keyboard input, or STDIN, depending of how it works. If it's a GET request, then you should get nothing (or a 0xFF byte in case of BASIC), otherwise you'd get the data your user sent in your POST form.
```basic
100 PRINT"<form method=POST action=''>
110 PRINT"<input name='input'></input>
120 PRINT"<input type=hidden name='hidden' value='value'></input>
130 PRINT"<button type=submit>Submit</button>
140 PRINT"</form><pre>
200 B$=""
210 GET A$
220 IF A$="&" GOTO 260
230 IF ASC(A$)>127 GOTO 260
240 B$=B$+A$
250 GOTO 210
260 PRINT B$
270 IF ASC(A$)<128 GOTO 200
280 PRINT"</pre>
```
Add this code to get and print POST variables. Good thing there's line numbers so I don't have to tell you where to add them.
It's safe to assume anything over 127 is the end of input, as anything above that will be percent-encoded. In particular, in BASIC, you get 199 if you're past the end (EOF) and 255 if there's nothing. Parsing the resulting string is left as an exercise to the reader. And now if you send some data in the form you'll get:
```
input=Something
hidden=value
```
You can even use brainfuck or something similar:
100 PRINT"<form method=POST action='bf.cgi'>
Replace line 100 from above...
```bf
#!/usr/bin/bfi
-[------->+<]>-.>-[--->+<]>-..----.[->+++++++<]>-.++.---.+++.-[--->++<]>.[-->+++<]>++.--..[--->++<]>.[-->+++++<]>-.----.>++++++++++..,+[-.,+]
```
...and create bf.cgi
## $_SERVER, $_GET, $_COOKIES, etc.
Now you'll want some of the sweet variables the server sends you that tells where the request came from and similar stuff, which is `$_SERVER` in PHP. If your language doesn't support environment variables from the OS, unfortunately (for brainfuck), you'll need to open files here. On Linux, it's `/proc/self/environ`, your mileage may vary on other OSes. It's mostly the same code, except the lines are separated by null bytes.
```basic
300 OPEN 1, 1, 0, "/proc/self/environ"
310 B$=""
320 GET#1, A$
330 IF A$="" GOTO 370
340 IF ASC(A$)>127 GOTO 370
350 B$=B$+A$
360 GOTO 320
370 PRINT B$
380 IF A$="" GOTO 210
390 IF ASC(A$)<128 GOTO 310
395 CLOSE 1
```
You know what to do at this point.
Again, parsing the results is left as an exercise to the reader. Notice that Commodore BASIC treats null bytes as an empty string here, which completely breaks the `ASC()` function and so should be handled separately.
Interesting variables are `QUERY_STRING` (PHP's `$_GET`, parses just like we did with POST), `HTTP_COOKIE` (cookies are here), `REQUEST_METHOD` (GET or POST), `REMOTE_ADDR` (your user's IP), `REQUEST_SCHEME` (https?), you can find a lot of them [just here](https://www.php.net/manual/reserved.variables.server.php) (at least those who aren't specific to PHP) or [here](https://www.rfc-editor.org/rfc/rfc3875.html#section-4.1).
On that, that's it for today, hope you have fun with this! I wonder what kind of weird stuff you'd make with this, please tell me if you code your website in an esoteric language :)

View File

@ -0,0 +1,17 @@
---
title: Miyuki 2019
slug: miyuki-2019
publishDate: 2020-01-01T01:13:43.000Z
lastmod: 2020-01-01T19:28:28.000Z
tags: [Zarmina]
---
![](/images/2020/01/miyuki3.png)
Now this is a lot closer to the style I'm shooting for on Zarmina, which is now going to be a visual novel made in an actual visual novel engine, if you don't know already. I love how it turned out: Minty Root suggested to make the lines thicker (that gives it a nice style), no shading (I think that adds to it), she now have a bow (although she isn't gonna wear it until later in the story), the jewel is a bit more detailed (it's a bitch to draw lol), her skirt is a bit shorter, boobs are a bit more, um, detailed (we're shooting anime style after all!) and her face is 20% cuter.
I hope to make the other characters in the beginning of 2020, Daisuke is definitely going to improve, then write the script and have a working game for, I dunno, eventually.
Anyway, I love how I'm improving art-wise since the last few years, I feel I'm finally closer to the point I can do both art and programming and it'll look at least half-good. I procrastinated quite a bit because of that, that feel I'm not super good at art (that and it took a while to make my good ol' computer cooperate). But eh, it's going to take the time it's going to take, even if it's gonna be released by 2030.
So yeah, stay tuned and happy new year 2020!

View File

@ -0,0 +1,83 @@
---
title: "King James Bible: An Adventure in Compression"
slug: king-james-bible
publishDate: 2020-01-11T00:38:16.000Z
lastmod: 2020-01-11T00:59:58.000Z
tags: [Tech]
description: Figuring out how much space the Bible takes on a calculator or a Game Boy is fun
images:
- /images/2020/01/screenshot20200110191340.png
---
Well, time for another adventure, and with every adventure it begins with a very silly thought that isn't even mine this time:
![Discord screenshot of DJ Omnimaga who says &quot;I wonder if one can fit the entire bible on a TI-Nspire CX with mViewer GX PDF converter&quot;](/images/2020/01/screenshot20200110194154.png)
"I wonder if one can fit the entire bible on a TI-Nspire CX with mViewer GX PDF converter", says our friend DJ
And there you go, am I searching for the answer:
{{< twitter 1215378475277787137 >}}
That's the Wikipedia effect right there, you look for something and before you know you know everything there is to know about religion and now you're on some completely unrelated page about quantum theory.
So I downloaded the whole King James Version on [Project Gutenberg](http://www.gutenberg.org/), removed the header and footer they put there for better text processing, it's about 4.4 MB, converted to PDF, since the format support plain text directly it's not that much more (I got a 3 MB file), then converted to work on a TI-Nspire with the [mViewer GX PDF converter](https://tiplanet.org/forum/editgx.php) I... I think I broke TI-Planet. Well, from what it was able to generate (76 pages out of 1664, pretty much the book of Genesis?) each 10 pages is about 1.3 MB, so by extension the whole thing should be around 216 MB. We're dealing with images now, and not just plain text, so yeah. Could be lower if you set the resolution to something almost unreadable, but at this point you're better using a plain text reader on your calc.
So in conclusion, maybe. Maybe you can manage to do it. But it's gonna take most of your calc space, which is, with nothing installed, is about 100 MB.
But wait a minute, we have another contender...
{{< twitter 1215378787652833282 >}}
what are you talkin' about Minty
Oh God, we're gonna have some fun with that. Sure enough, there was an unlicensed King James Bible for the Game Boy published by Wisdom Tree in 1994, if you want to see it in action there was an [Angry Video Game Nerd episode about it](https://www.youtube.com/watch?v=Kz0TOQ1BF-M), but what's amazing about it is that is that the ROM is only one megabyte, including the entire text of the Bible, a search engine and two word search games.
(Note, if you're emulating it, use [BGB](http://bgb.bircd.org/). Any other emulator will introduce bugs due to its weird mapping no one will understand except BGB. Of course, I will not provide the ROM for the usual copyright reasons.)
![Screenshot of the hangman game running in an emulator that is not BGB featuring characters you can't normally input](/images/2020/01/screenshot20200109163510.png)
Here's what I mean. The reader will crash and the games will make you guess garbage you can't input.
So for fun, with the KJB text I have in hand, I tested some of the most common compression utilities, all set to their maximum/best/slowest settings:
|Compression|Size|Ratio|
|:----------|---:|----:|
|zpaq -m5|739407|16.682%|
|bzip2 -9|993406|22.412%|
|lzma -9|1048408|23.653%|
|xz -9|1048616|23.658%|
|7z -mx9|1048710|23.660%|
|zstd --ultra -22|1068137|24.099%|
|rar -m5|1142360|25.773%|
|gzip -9|1385457|31.258%|
|zip -9|1385595|31.261%|
|lz4 -9|1596418|36.017%|
|lzop -9|1611939|36.367%|
|Uncompressed|4432375|100%|
Note that some of these are different containers for the same algorithm, hence similar filesizes, and some of them are better suited for other uses, e.g. lz4 and lzop are better to decompress the Linux kernel at boot time because they're fast and use less memory, and zstd is starting to replace xz because it's 1300% faster despite producing slightly bigger files.
So, with our goal of a ROM size of 1048576 bytes with enough space left to fit some code for the decompressor that is fast enough to be playable on a Game Boy, a good-looking UI, a search engine and some games, only zpaq and bzip2 would fit the bill, and even then. (Special mention to lzma which fits a megabyte almost exactly.) Most of those algorithms were devised after 1994, bzip2 in particular was devised between 1996 and 2000, but even though it has the best compression ratio it's way slower than gzip.
Anyway, I'm not an expert, but yeah, there's more efficient compressors out there, but we don't usually use them because they're either experimental and/or very, very slow, the PAQ ones in particular. So I'd imagine a slow compressor with a fast decompressor that is tuned for English text.
So, now that we have our compression benchmark on file size, it's appropriate to make a decompression benchmark based on time, because that's what we need, right? So here's some tests under a normal load on my good ol' iMac 27" mid-2011 running Linux (don't laugh, it's old af but it's still my daily driver and it still works for me) using the above files decompressed to `/dev/null` and ran several times until it gives somewhat consistent approximate results. I didn't bothered to time the software during the compression phase because it's irrelevant to our use case (and I haven't thought of that when I tested), but all of them were quite fast except zpaq.
|Decompression|Time (s)|
|:------------|-------:|
|lz4|0.008|
|zstd|0.015|
|lzo|0.016|
|rar|0.035|
|gzip/zip|0.040|
|lzma/xz/7z|0.080|
|bzip|20.210|
|zpaq|16.203|
So you have a list that is rather backwards from the other list, with the notable exception of zpaq. Of course, it's going to be at least a thousand times slower on a Game Boy (could try to run these tests on a 486 or something to get better numbers), and it's kinda hard to quantify compessed bytes versus decompression time, but it's quite enough to draw conclusions about what kind of compression we're dealing with. The more compressed it is, the slower it will be, which is rather in contradiction with our "efficient compressor, fast decompressor" theory. One solution would be decompressing in chunks only when needed, and the Game Boy screen is rather small, so it could work. The search engine have the ability to search words fast and the games included deals with words too, so maybe there is something to do with whole words as well, such as mapping words to IDs or a similar technique.
Now time to actually figure out what the decompression is in that bible ROM. Sadly, I'm not well-versed in Z80 debugging to figure it out, but I can already imagine it's a very efficient algorithm even by today's standards and if you figure it out it could probably compete with gzip and zstd or something.
{{< twitter 1215496156526075910 >}}
I have ideas of grandeur here, as usual
So there you go, open-ended thoughts about obscure ways to read the Bible. If you have any information about it or you feel like doing the gruesome work of debugging the ROM, feel free to comment below or share it with me on [Twitter](https://twitter.com/juju2143), and I will make a follow-up eventually, a part 2 if you will, likewise if you have any suggestions such as adding a compression algorithm I can review for the tables above.
It's a pretty interesting project since, well, I'm not that religious and I'm definitely not the kind of idiot who quote the Bible out of context (please don't do that) but I still like to research about it, and I still consider myself as a nice Christian who believe in science. I always said that it's about what you personally believe and not what others believe, always read everything with a rational mind and uh, yeah I could rant a long time about that and it's not that much the point here, maybe for another time, but yeah. If you followed up until here and you want to look out for more about this, well for that quite interesting ROM that is, I wish you good luck, and I'll see you for another blog post :)

View File

@ -0,0 +1,33 @@
---
title: Emoji region flags
slug: emoji-region-flags
publishDate: 2020-01-21T20:36:56.000Z
lastmod: 2020-01-21T20:40:28.000Z
tags: [Experiments]
description: All of the emoji flags in one convenient font?
images:
- /images/2020/01/CA-QC-2.png
---
For this project, I've been inspired by the [#emojibzh](https://www.emoji.bzh) movement which attempts to include the flag of the Brittany region of France in the emoji repertoire. So, I've been looking at it and here's what I found.
<!--more-->
So far, Unicode does allow for regional flags: while for instance the United Kingdom would be represented as a combination of Regional Indicator Symbol Letter G (U+1F1EC) plus Regional Indicator Symbol Letter B (U+1F1E7) (which is its ISO 3166-1 alpha-2 code made out of Regional Indicator Symbol Letters), Scotland would be a Black Flag (U+1F3F4), its ISO 3166-2 code made out of Tag Latin Small Letters (?U+E0067, U+E0062, U+E0073, U+E0063, U+E0074, spelling out "GBSCT") and finally a Cancel Tag (U+E007F). That's fairly complicated, but it works. This way, every region, state or province of every country that has a flag would theorically be represented.
So if I want the flag of Québec, Canada, where I live, theorically the code would be U+1F3F4 (the black flag), U+E0063, U+E0061, U+E0071, U+E0063 (CAQC), U+E007F (the cancel tag), right? It is valid, yet it won't work. Yet, at the time I write those lines. That's because this sequence is not part of RGI (Recommended For General Interchange), which means vendors don't have to support it (and in practice unless the entire Internet is asking about it it's not supported at all). So far, only 3 subdivisions are part of RGI, namely England, Scotland, and Wales, all added in 2017. (Interestingly, Northern Ireland could also be part of that club, but their flag never was official.)
So what gives? There's some proposals for RGI, namely [L2/17-382](https://www.unicode.org/L2/L2017/17382-rgi-flag-omnibus.pdf) and others that aren't public yet but are [known to be forwarded to the UTC](https://www.unicode.org/emoji/emoji-requests.html), but looks like they're in limbo so far. I guess vendors (such as Google, Facebook, Twitter and other companies who made emoji fonts for their messaging apps) don't want to litter their fonts and emoji pickers with too much flags.
I believe we should at least have one emoji font with all (or most) of them, so I've been looking at it and I found out the Noto font is [open source](https://github.com/googlefonts/noto-emoji) and comes with Python scripts to make it very easy to add more emojis to it. And guess what, the repository includes all flags for the provinces of Canada, the US states, Mexico states, and Northern Ireland, but they're disabled by default! So I did the thing and I enabled them (very easy edit in the Makefile), added Catalonia and Bretagne for good measure and generated a new font with them. The scripts makes a beautiful stylization out of the flags they pulled from Wikipedia.
![](/images/2020/01/CA-QC.png)
![](/images/2020/01/FR-BRE-1.png)
![](/images/2020/01/ES-CT.png)
![](/images/2020/01/GB-NIR.png)
There you go, #emojibzh, here's your emoji in Google style. Clockwise from top left, Québec (CA-QC), Bretagne (FR-BRE), Northern Ireland (GB-NIR), Catalonia (ES-CT)
You can find the modified GitHub repository with new flags [right here](https://github.com/juju2143/noto-emoji) where you can comment on it and you can download the latest build of the font [here](https://github.com/juju2143/noto-emoji/raw/master/fonts/NotoColorEmoji.ttf) to install on your computer and get all of the flags if you need them. You can test them on Emojipedia on pages like [here](https://emojipedia.org/flag-for-bretagne-frbre/) and [here](https://emojipedia.org/flag-for-quebec-caqc/) (I still haven't figured out how to make a test page but I guess that will come later), but unfortunately, it's not going to work on most apps like Twitter, Facebook, Discord and the like, since tons of emojis are added to the Unicode standard every year, they can't guarantee the same emojis are supported on every computer and so they prefer coming up with their own font so they have a consistent look across their network. You still can view them on web pages, I guess that's a good start, but that's why it's still important to support RGI proposals and to keep tweeting about them :)
On that, have fun with them! ??????

View File

@ -0,0 +1,39 @@
---
title: "My Arch Linux packages: how to create your own repo"
slug: arch-linux-packages
publishDate: 2020-02-22T07:41:21.000Z
lastmod: 2020-02-22T21:49:44.000Z
tags: [Tech]
---
As I use Arch Linux as my daily driver on my main machine now and I use a lot the AUR nowadays (most notably I maintain the packages for The 8-Bit Guy's Commander X16), figured I might create my own repository, right?
So there you go, after figuring it out on the Arch Wiki, here's a collection of software I maintain on the AUR, some of my own things I bothered to make a PKGBUILD for, or just software not found in other binary repos I know the users of my communities will like. So, as I write this, mostly Commander X16 stuff and TI-83 stuff.
[juju]
SigLevel = Never
Server = https://repo.juju2143.ca/archlinux/$repo/os/$arch
Add this to your pacman.conf
Then, you can see every package I added with `pacman -Sl juju`.
But why? Here's the gory details. A friend of mine told me about this service called [Netlify](https://www.netlify.com/), which is pretty much for those who made their website with a site generator, it automatically builds the website each time you push it to Git. From what I understand, anyway. Kinda like GitHub, I guess. The free plan comes with custom domains, HTTPS, 300 build minutes a month, 100 GB of bandwidth and... no storage limit? Well, that'd probably make for a good use case for this project.
So I follow [the instructions on the wiki](https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Custom_local_repository), I throw in some index.html generated from stuff I stole from the x16-emulator package, I do a manual deploy and there you go!
repo-add archlinux/juju/os/x86_64/juju.db.tar.gz archlinux/juju/os/x86_64/some-package.pkg.tar.xz
pandoc --from gfm --to html -c github-pandoc.css --standalone --metadata pagetitle="repo.juju2143.ca" README.md --output index.html
tree archlinux -P "*.pkg.tar.xz" -v -H "https://repo.juju2143.ca/archlinux" > archlinux/index.html
netlify deploy --prod --dir=.
To do everytime I update something
Symlinks don't work for some reason, so you'd need to add a file called `_redirects`:
/archlinux/:repo/os/:arch/:repo.db /archlinux/:repo/os/:arch/:repo.db.tar.gz
/archlinux/:repo/os/:arch/:repo.files /archlinux/:repo/os/:arch/:repo.files.tar.gz
/* /404.html 404
Mind the very long lines
So there you go. It's very much in line with the principle that drives Arch Linux, the famous "keep it simple, stupid" (KISS), so that was pretty easy. So if you want a package I should add and/or build, feel free to suggest away :)
[Check out the repo here!](https://repo.juju2143.ca)

View File

@ -0,0 +1,21 @@
---
title: Pandemic Story
slug: pandemic-story
publishDate: 2020-05-06T03:30:29.000Z
lastmod: 2020-05-06T03:33:55.000Z
tags: [Rant, Tech]
---
Here's a bit of my life story. For starters, I've always had trouble finding a proper job, probably because I'm on the autism spectrum (of course, not something I'd like to explicitely tell everyone, for reasons), and/or I've had a very pelicular story on my resumé (in short, you know, the whole you need to have experience to have experience thing, the classic catch-22), I don't know for sure. I've always worked freelance on some small projects with friends, friends of friends or for myself, comfortably at home, and I wanted to work in a big company that could provide me with a stable job and work in an office, for a change. We're around mid-March. I finally got a proper company that bothered hiring me. That took a while, but I was happy. I was in the last step of their hiring process. But unfortunately... The pandemic happened.
You know, my field is definitely one that isn't particularly essential and you can easily arrange for working from home, but this company being an IT consulting firm they have a lot of clients, mostly the government and major banks and insurance companies who nevertheless decided or had to take a break during the pandemic, and as such they also had to take a break on hiring new employees. So yeah, that means I'll have to wait out this COVID-19 crisis that is going on since the last month or so no one knows when this will end and start accepting these little freelance contracts, or look somewhere else which might take just as long given my situation.
Little note on working freelance: it's pretty great if you want to be more independent, and to do what you want, but unless you get very popular it comes at the cost of job security. I'm still at this point where friends come to me to fix their problems, or to help work on their project, and I'm still afraid to ask for too much cause I know they probably wouldn't afford it otherwise, and once they really get started (if they ever do) they might afford to hire me at a more reasonable rate. You might accuse me of thinking too much of others rather than myself, but eh. I'm a philantropist. But of course, I need money to pay my bills, my hosting and domain names needed to host my little projects, but also food and stuff. And my daily driver computer I had since 2011 also broke down recently, a little iMac 27" I bought with my student loans thinking I could program software for both Windows and Mac but over time I got to hate how Apple is locking down their OS while Microsoft seems to embrace the open-source software they despiced with all their might 20 years ago. It toughed for a solid 8 years, despite all of the problems with the hard drive, the power supply and the graphics card. (For the record, I recently installed Arch Linux on it. Which greatly increases the life of a system and is very, very customizable.) I might have to buy a better one. Which is not a very good timing right now. Anyway. I'm 28 and I still live with my mom and my brother, you might hear on the news that more and more young adults are doing the same because the economy is collapsing, I feel like I'm a prime example of this. I have never really worked enough to have any sort of benefit from the government, or if I did, I don't know, I'm not really getting it. Sure, I'm getting a bit more freelance contracts these days, or promises of contracts, but eh. I'm getting tired of that waiting game.
For a few years I had this story I want to adapt as a video game or something. Something epic I've always wanted to see being done. I've written the first few chapters as a novel, but I've always wanted it to be fully illustrated, maybe as some sort of Japanese-style visual novel. Programming it would be easy, but the graphics part is where the problem is. I've never been super good at this (and I tried!) and I'd rather pay artists for this. Ideally I'd set up a little visual novel development studio, working as a director with artists, musicians, and people helping me wherever I need. But I'd need funding to pay those people, and I hoped to get a job to get that funding, so meanwhile I work on some smaller projects with a smaller goal, or write a bit of that story once in a while. But these projects never really worked out; most end in failure, if they don't they don't get as popular as I'd have hoped, and none so far is making me a profit.
But I still have hope. Let's do this.
kofiwidget2.init('Support Me on Ko-fi', '#29abe0', 'H2H69D43');kofiwidget2.draw();[Become a Patron!](https://www.patreon.com/bePatron?u=130661)
I guess you can use Ko-Fi or Patreon (unless you have a better solution, GoFundMe?) to send some money, funds will be used to buy a new computer and to kickstart the studio. I don't really know what to offer in return just yet, but I could probably draw you something. And definitely offer you some goodies and/or the game in the future once it's done. Your name in the credits. Stuff like that. I kinda hate asking for money, usually, but eh, I tried. And follow this blog, I'm going to keep you updated.
In any case, thanks for reading and for supporting me :)

View File

@ -0,0 +1,24 @@
---
title: I left social networks
slug: i-left-social-networks
publishDate: 2020-06-01T20:13:04.000Z
lastmod: 2020-06-01T20:13:04.000Z
tags: [Experiments]
description: Some sort of virtual quarantine? How long will it last, this time?
images:
- /images/2020/06/Screenshot_20200601-150643.png
---
I have a love-hate relationship with Facebook and Twitter. On one hand, it's a big forum with millions of people, all my friends are there, I meet new friends, they say some funny stuff, some cute stuff, I get all of my news there. It's super useful to share my work, and to reach people who might like it. I love just saying randomly what's on my mind for comedy, at the attention to whoever might hear it and find this funny. It's probably the greatest invention humanity have ever made. And at the same time, it's also probably the worst invention ever. You see greatness at its best, yes, but also stupidity at its worst.
It's also very addictive, there's a wealth of information out there and they made it very easy to scroll all day for entertainment. After all that's how the companies behind them make money, I guess. The more people pay for ads, the more people see them on their feeds, and the more people stay on those feeds, the more Facebook makes money. But at what cost? Unproductivity? I work freelance, working on my projects in the comfort of my home, hoping one of them gets somewhat popular enough I could live from it. The huge problem with that is that those social media are very distractive and as you're your own boss, there's nothing from keeping you off them other than self-control.
So, yesterday, Sunday morning, after a heated debate about #BlackLivesMatter with one friend on Facebook (I won't detail what I think about it here as it's definitely out of scope for this article, but know that I'm with you), I decided this was enough. People getting beaten up in protests by police officers, people getting angry about it and acting irrationally, selecting what they want to hear, confusing terminology leading to miscommunications, officials who seemingly don't have time to react correctly with how fast everything goes on the social networks, among other things, that was too sad and depressing to watch. Something I could watch helplessly for hours, other than contributing my opinions in a sea of other opinions. Cute anime girls won't make up for it this time. Even meme and satire pages gave up making funny memes about it without looking out of place or straight up offensive.
That was the last straw for me. I realized I needed more of that self-control. I closed both the Facebook and Twitter tabs I usually have on all the time. I removed their respective icons from the launcher on my phone. I'm only going to check them for notifications, in case someone wants to talk to me, and to post updates such as this post. Just when I need it. I did a similar experiment a few weeks ago with only Facebook, while I reduced the amount of time the tab was open in my browser, this generally failed. I still found myself scrolling Facebook for hours, not knowing what to do with my life, just like I did for the past 10 years I've been there. But an earlier experiment years ago with Tumblr was a success, though. Been a while I've been there. I'm going more drastic this time, hoping to use this time better. I'm going to try to stick to more than 2 virtual metres from Mark Zuckerberg and Jack Dorsey's websites, hoping this is going to stick this time. This is probably not going to happen overnight, but eh.
Day 1. It kinda felt like the classic five stages of grief, except I actually wanted it gone. Kinda felt bad for everyone I might have hurt (which in reality it's probably no one as this debate ended nicely), then missed the good things about it. That was weird. Kind of like a good friend I don't want to leave. I still wasn't quite productive, but eh. We have to start somewhere. And it was Sunday, so I just took a break from everything, watching some YouTube, playing some games and dealing with random stuff. YouTube thankfully doesn't have the same problems as their algorithm is more fine-tuned to what I actually like and less what the people I follow like, since it's videos it's more for entertainment and less for weird thoughts everyone can immediately reply to without going out of your way to get a recording setup. Anyway. Attempted to start a project, but eh. It was late by now.
It is now Day 2 of virtual confinement. I feel pretty good today. I wrote this 890-word blog post. I like writing. Which is the point of this blog. I'm still haunted by a white page syndrome on Zarmina, hopefully writing about something else would work. Also kinda why I picked [Horse Life 98](/horselife/) back up. I had some new ideas for it. Maybe I'd do some programming again, been a while I did that. And I'm a programmer. Or something else entirely. I have so much ideas, and I can't do that much at the same time.
Anyway. Wish me luck, and see ya next time on this blog.

View File

@ -0,0 +1,48 @@
---
title: Why is my OC a girl
slug: why-is-my-oc-a-girl
publishDate: 2020-10-10T21:00:00.000Z
lastmod: 2020-10-10T21:00:00.000Z
tags: [Rant]
description: An essay about gender and ponies.
images:
- /images/2020/10/tumblr_nf5ohq1Tn01qexvxeo2_1280.png
---
An OC, short for "original character", is often used, especially in the brony and furry fandoms, as an avatar of oneself, and in those fandoms you're encouraged to create one for yourself. And so is what I did as a brony around 2012, as a fan of *My Little Pony: Friendship is Magic*, this show that somehow went hugely popular outside its intended target audience due to being overly cute and wholesome, while not trying too much so the kids' parents could get behind as well.
So I fired up General Zoi's Pony Creator and started making something. Some people try to make their pony look like themselves, make it as colorful as they want, and honestly that's their choice, but I prefered something that could actually fit into the show.
![](/images/2020/10/yukikagayaki.png)This is the OG Yuki. Don't mind the low-quality cutie mark.
And so this is the pony I came up with. A mare named Yuki Kagayaki (roughly translates to Snow Sparkle because I was a huge weeb), themed around [snow](/fr/yuki/). And that character followed me ever since. Playing as her in roleplays and games at every opportunity helped me shape her world and her personality.
Of course, there's a lot of female representation in the show, but while stallions exist people generally take the female build as it looks better. But for me, Yuki was a representation of the ideal girl I had at the time, or at least a pretty nice character to play with. Or so I thought.
![](/images/2020/10/tumblr_nf5ohq1Tn01qexvxeo2_1280.png)
![](/images/2020/10/hl16p4.png)
![](/images/2020/10/Happyyuki.png)
![](/images/2020/10/dcmrn1h-f45b3e9c-3090-4e07-a62e-55f993b2e7c7.png)
![](/images/2020/10/hl14p3.png)
![](/images/2020/10/yuki2.png)
The evolution of a Yuki.
A note on bronies: I've been part of the local brony group from 2012 when I founded my website on the local brony fandom in the province of Québec (BroniesQC, later renamed MLP Québec when the .quebec TLD came out) until when it died down as most people moved on to something else, and with that I met a ton of amazing friends. I've also met a lot of good friends in Europe through a regroupment of French-language pony websites, as well as around the world, so thanks to all of you for being there. It's been 10 years to this day this show was around, time goes fast when you have fun, I guess.
Around the same time as watching a cartoon marketed for young girls became more accepted and people realized there's no shame anymore admitting you were watching The Powerpuff Girls when it came on TV back in 1998, so is exploring your sexuality and coming to terms one's gender might not match what's expected of them. Of course, I don't think there's a strong relation to those two concepts, but I do think the show certainly helped some people. Anyway, we're now in an era where putting your preferred pronouns in your bio became important because you can easily get the wrong one, or even something so wildly different from the usual gender norms you probably would never have guessed.
Looking at this, while I respected that idea, personally I felt those ideas weren't applying to me as strongly as you might expect. I felt the need to find a way to say I wouldn't be mad if you get the wrong pronoun on me, so I wasn't specifying them, or saying I use all of them when asked. And then it dawned on me: maybe the concept of non-binary was applying to me? Maybe even genderfluidity? I figured, maybe it'd be nice to be a woman, but at the same time I didn't mind being a man either. And anyway, that doesn't really matter, as the society is going toward entirely new gender norms. People are free to be what they want, and this is good. And thus I came out as non-binary.
That was a while ago, but one morning a few months ago I woke up, and it dawned on me yet again: maybe this representation of an ideal girl is actually who I want to be, hiding behind this persona of a bearded manly man I was building for myself in the real life? Maybe this is gender dysphoria I am experiencing? Maybe I am Yuki? A lot of stuff checked out to me.
I had this NSFW Twitter account I had laying around to practice drawing nudes but I barely got around drawing at all, so I decided to go full trans on it, just to test the waters. Sharing dysphoria thoughts felt kinda good. I also ended up coming out on my main account, and the response was amazing. Probably I had a lot supportive friends, it definitely depends of who you hang out with.
In the end, that was a pretty good experience that let me to know myself a bit better, it does feels pretty good when one refers to me as she or her on the internet, but I'm still not sure if I want to transition further than this for now, which is why you'll still can see mentions of "non-binary" and "genderfluid" in my bio, and my Facebook account is still the same with my IRL dead name which is still not really dead. You still can call me your bearded princess, after all (thanks Zoey!) ;) And of course, the experiment is definitely not done, but I guess we'll see what's going on next.
In conclusion, there was actually a few people who came out to me questioning about their own gender identity after I did so on Twitter and this is why I'm writing this piece. Of course, this is personal experience and your mileage may definitely vary, but I hope this blog post will help you.

View File

@ -0,0 +1,22 @@
---
title: "Zarmina updates"
slug: zarmina-updates
publishDate: 2020-10-17T18:23:00-04:00
lastmod: 2020-11-26T14:36:22-05:00
tags:
- Zarmina
---
*This article was originally published on **[Patreon](https://www.patreon.com/juju2143)**, reposting it here for completeness.*
Almost forgot I had a Patreon and someone is giving me a dollar a month, lol (thanks Pieman7373 :))
Anyway, here's some updates... It's been years I'm talking about Zarmina and not much came up out of it. I had some work done this summer, the outline of the story is now finally complete, and I now started writing a bible, organizing all my notes together so someone else can look at it and have a good idea of the whole picture. The story might change a bit from what I already published (consider that a beta, if we can say), but I already can say it's going to be way better.
The huge problem I had before is that I had no direction yet so I could hit walls pretty easily, so I decided to take a break and write the entire outline before going further. And I think it worked quite well, I can't wait to show you all of it :) I also realized that now that I have a job that pays well I could get artists involved to help out, which pretty much was my plan in the first place. So I guess it's gonna go quite fast from now, can't wait to show all of this.
Of course, the Patreon is gonna stay on if you want to get involved financially, I plan paying the artists is probably gonna take a small chunk of my paycheck so Patreon would definitely be a small relief. I'm going to show things here before it's going to be released to the public, small excerpts of my notes, devlogs, announcements, anything interesting pertaining to the project, so if you want to see cool stuff before anyone else this is here :)
I'm also working on a small absurd webcomic called Horse Life 98, but since I usually finish comics not long before they get published it's probably not worth it to put them here... But oh well. I'm also going to take a break from it while I work on Zarmina, finding the force to edit a panel a day for the whole month of October was harder than I thought...
Anyway, have fun :)

View File

@ -0,0 +1,26 @@
---
title: "November updates"
slug: november-updates
publishDate: 2020-11-17T18:35:00-05:00
lastmod: 2020-11-28T10:23:00-05:00
tags:
- Zarmina
---
*This article was originally published on **[Patreon](https://www.patreon.com/juju2143)**, reposting it here for completeness.*
First of all, thanks to our newest Patron, Terrence Wong, very appreciated :)
So I'm working on and off on this show bible for Zarmina, gathering pages of notes and failed scripts I wrote for myself into one concise document meant to show other people who dare help... As I probably said in every post so far, the worst thing is motivation, I have a 9 to 5 job in the way and I have a family to care of, but eh, I'd say I'm half through the synopsis so far. Maybe 5 pages of summaries so far. Which is a good thing, cause I see the story unfolding before my eyes, and I'm getting new and better ideas... This is going to be very interesting.
So, the plan so far:
- Write that bible
- Show it it to some artists
- Hope they like it
- ????
- PROFIT
Of course, while I have money to properly pay that artist, I'd love if this project would be entirely funded through Patreon. That would probably mean getting this page to at least $200 a month (and I'm lowballing here, assuming a twice a month release). Unfortunately, I don't have much to show other than crappy, made in 10 minutes Horse Life 98 jokes done in some software whose technology is due to die next month. (Yeah. Kisekae is made with Flash Player, while it seems to be still maintained I have no idea how the creator of that thing will deal with that. Which is one of the reasons why HL98 is on hiatus, but not the only one.) I'd love to show you my progress so far, but at the same time I don't really want to get you massively spoiled... But oh well, only time will tell. I'm also thinking of tinkering with Twitch and play some games, but I dunno, I still don't have the setup for that just yet. But I'm working on it!
Anyway. What would you like to see on this page? A Q&A? More old stuff from my archives? More rants like this one? Comment, subscribe, throw your money at me. Thanks for believing in me and have a good day!

View File

@ -0,0 +1,69 @@
---
title: "Toasters Rocks 4.0"
slug: toasters-rocks-4
publishDate: 2020-11-28T11:16:57-05:00
date: 2020-11-28T11:16:57-05:00
lastmod: 2020-11-28T21:15:50-05:00
tags:
- Meta
description: Brand new blog, again.
images:
- /images/2020/11/bg.png
---
Well, it seems to be a tradition around this time of the year, every 368 days or so. A brand new blog. But this time, the story is quite interesting.
### Genesis
The first iteration of this blog was basically my Tumblr blog. By November 2018, I became largely disinterested by Tumblr due to various reasons, and I found this blog engine called [WriteFreely](https://writefreely.org), written in Go, could do federation so the blog posts would show up in people's Mastodon feeds, effectively replicating some of Tumblr's social features. It looked pretty cool at first, but it was really beta software at best, didn't really work fantastically, and I had to run the binary in the background. But eh, I had a pretty nice minimalistic design.
Later in November 2019, I was messing with some Plesk-based web hosting account I got for free with a cheap VPS (which hosted the blog, and later died), I discovered it could do Node.js hosting, so I decided to install [Ghost](https://ghost.org), just to try out if it could work, and if it could be a nice solution if I ever run out of money for the VPS. Of course, being Node.js, it's a bit finicky and it expects you to run it on an actual VPS and not on some Plesk-based that barely could run `npm install`, but eh, it worked. Kind of. The server stopped when it's idle until there's a new request, so if it's been a while no one visited the site you'd be greeted with a "The blog is starting up" message, people are idiot enough to not get you'd have to come back later and then message me the blog is broken, in which I'll just tell them, just try again... Anyway, it worked for me, since it was free. Until they upgrade their version of Node.js or something, maybe.
### And this is where it breaks for good
Around November 2020, said hoster moved their servers closer to Paris, France where most of their clients are, apparently. (I'm not even anywhere near Paris, so eh, probably not going to be significantly faster for me.) Downtime expected, change your IPs, the usual for a small host. From what I see, the migration went quite well, and I hope they had a nice roadtrip since they had to physically move servers from about 4 hours drive away from Paris. But what they didn't say, unbeknownst to me, is that they axed the Node.js option in their Plesk... I complained to their Discord server and they said something along the line of it was only getting used by people uploading huge scripts and abusing the available resources. Well, bummer. At least the files and database are still there.
### Time for another engine?
Why, of course. My goal still was about building something better than WordPress. Something self-hosted, simple to maintain, very customizable, and faster than the humongous PHP script WordPress is. Which is not that hard, really. WriteFreely, while it embraces minimalism, was too minimalistic for my needs, Ghost, while it's 17x faster than WordPress and way closer to my needs, still wasn't cutting it, and Tumblr obviously shot themselves in the foot and is a prime example why you don't want to go self-hosted.
So, why not a static site generator? Back then I was also messing with Pandoc, which basically converts Markdown files to HTML and I thought I could use that. I quickly realized that would basically be reinventing the wheel, so I asked around. A friend of mine recommended [Hugo](https://gohugo.io), which is perfect for my needs.
Now the plan is:
1. Build a new theme for Hugo (because I can)
2. Export the posts from my Ghost install (which is ironically now only a ghost of itself)
3. Import them into Hugo
4. ????
5. PROFIT
### Build the theme
Ah, I didn't really do that since my Tumblr days. I did changed the font a bit on the WriteFreely default theme, and I started a theme for Ghost a while ago based on the Windows 95 UI, but it never went anywhere. But this time, didn't even looked at the default themes and starting porting that one I did for [my bio page](http://juju2143.ca). And, yeah, I really like Hugo. In all, it took me about a week of free time or so. Looks pretty cool, isn't it?
### Export the data
Now that's the hardest part. I kinda wish here they'd give at least a headstart before they took it down so I could export the data, but eh. If you know Node.js you'd probably know if you leave some code unmaintained for more than 6 months something will surely break in a later major version of Node.js. And sure enough, something wasn't compatible with Node 15. So I dusted off my old copy of Node 12, and now I had to figure out how the config file worked because I somehow configured it with environment variables like an idiot and now they're gone. I also attempted to import the database dump into SQLite, but it's too different from MySQL and I ended up installing a MariaDB server.
Now that everything is working somewhat, I could access the old blog from localhost and hit the export button.
### Import the data
Now you'll want to convert your backup file to a bunch of Markdown files. `ghost-to-md` is a tool that does exactly that:
```sh
npm install -g ghost-to-md
ghost-to-md yourwebsitebackup.json
```
Now you'll want to dump the resulting Markdown files in the content folder, the images from the old Ghost install to the static folder, fix front matter variables to the correct name, fix image URLs (both of which can be done with search and replace), and there you go, a nice website.
### Aftermath
Now I need to fix the posts one by one, since the converter didn't do a very good job at converting stuff, in particular header images, embeds and tables, plus that script wasn't written specifically for Hugo, and there's a few bugs to squash here and there, but eh, since I don't have a ton of posts it's kinda doable. It's still gonna be wonky a bit at first but I hope you like it.
### Update (2020-10-29)
Okay, now the workflow is completely automated. I uploaded the source to GitHub (you can [look it up](https://github.com/juju2143/toasters.rocks) [if you want](https://github.com/juju2143/hugo-theme-toastersrocks), you can even use it for all I care but I pretty much made it for myself, so YMMV), then used GitHub Actions so it builds it and pushes the compiled, minified result to GitHub Pages automatically. It's pretty cool, really. So, since GitHub lets you edit files and commit directly from the website, I can actually use it as a CMS, which is perfect for my needs. And since it's just a bunch of HTML files and it's on a bunch of CDNs all around the world, this thing can't be faster. Almost.
So, I hope you like it, I hope it works for you, and if you find any issues, feel free to complain about it in the comment section or [on GitHub](https://github.com/juju2143/hugo-theme-toastersrocks/issues).

View File

@ -0,0 +1,26 @@
---
title: "Introducing a39.ca"
slug: a39
date: 2021-12-31T22:00:00-05:00
tags:
- Meta
description: New project. New goals. Same old thing.
images:
- /images/2021/12/a39logo.png
---
Hey, been a while. 2021 was weird. Probably as much as 2020 was, and as much as 2022 probably will. I kind of took 2021 leisurely, mostly because of family illness, the Backstreet Boys Reunion Tour*, my day job, and helping family and friends that all took most of my time. I hope it gets better in 2022, so I kinda want to set some goals for now on.
Introducing here a39.ca, which will be my new brand for my current projects. Kind of like a game studio overseeing all of this. That includes Horse Life 98, upcoming Zarmina, and CodeWalrus (as a joint venture with DJ Omnimaga and other admins), along with a few secret projects Ill be cooking up eventually until I realize its stupid. Its going to be major projects Ill be working on in 2022, hoping one day I can call at least one of them my day job. One can dream, I guess.
Now you may ask, why is it called that?
1. In The 12 Tasks of Asterix (1976), the titular Asterix and his friend Obelix are tasked to fetch a permit A38 at the Place That Sends You Mad, which will literally send you mad going through all of the bureaucracy required to get that permit. Asterix eventually realizes its not going to work and, the wise guy he is, asks for a non-existent permit A39, which turns the whole place into an asylum until someone realizes they can just skip the whole bureaucracy altogether. It symbolizes perseverance and stuff, idk, look it sounds kinda cool isnt it?
2. It sounds like “thank you” in Japanese. Thanks, Miku.
3. Its short, memorable, and Im still surprised I still can get domains this short for regular price.
So yeah. Have fun. Its going to be my work in progress in 2022. I got 2 weeks of vacation, almost 3 with all the Xmas holidays, so Im going to take this time to work on that and take care of myself. Hopefully.
Happy new year, y'all.

View File

@ -0,0 +1,35 @@
---
title: "Twitter tips and tricks I'm reasonably sure I came up with but I kinda wish more people should use"
slug: twitter-tips
publishDate: 2022-10-11T21:00:00.000Z
lastmod: 2022-10-14T21:00:00.000Z
tags: [Rant]
description: "Warning: Those are kinda involved and features characters you won't find on your keyboard. If you're too lazy to fetch them from a random website I don't blame you I guess"
---
## 1. How to evade bots and algorithmic censorship
Use [Mathematical Alphanumeric Symbols](https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols) and you'll be none the wiser.
Example: 𝖼𝗋𝗒𝗉𝗍𝗈 𝖭𝖥𝖳
It's indisguishable from basic ASCII, except if you're blind and you use a screen reader. In which case I hope you won't mind for the sake of avoiding bots.
Which is why _Mathematical Alphanumeric Symbols_ has made a lot of people very angry and been widely regarded as a bad move. If possible, only use them for this exact use case.
## 2. Mention usernames without spamming them with notifications
Some people do for instance `@.juju2143` or `@/juju2143` to avoid sending useless notifications to someone on a tweet they know is going to be very popular or they don't want you to see because they hate you but that's kinda weird (also I don't ever mind if you don't do that send them notifications away ;))
Instead, wedge a zero-width space between the @ and the username! Impress your crowd! How do you do that! Here's a few characters that should work:
- `U+200B` _Zero-width space_
- `U+200C` _Zero-width non-joiner_
- `U+200D` _Zero-width joiner_
- `U+2060` _Word joiner_
- `U+FEFF` _Zero-width no-break space_
Example: [@&#x200B;juju2143](https://twitter.com/juju2143/status/1579984904103677953)
Again, indistinguishable from a normal mention, except no link, but it's also hard to copy and paste and will most likely break a lot of stuff, so use cautiously.
Have fun!

9
content/en/_index.md Normal file
View File

@ -0,0 +1,9 @@
---
title: "Welcome."
description: "Toasters Rocks: J.P.'s stupid random crap"
images:
- /img/bg.png
---
Oh. I didn't see you there. My name is J. P. Savard - but you can call me Yuki - and welcome to my abode. This is a repository of silly things, poetry, rants, ideas and experiments I made on my free time, I hope you will like them, and that the information will be useful.
Here be dragons below, have fun.

View File

@ -0,0 +1,26 @@
---
title: "Zarmina 3.0: réécriture (encore)."
slug: zarmina-3-0-reecriture
translationKey: zarmina-3-0-rewrite-again
publishDate: 2019-10-28T22:34:00.000Z
lastmod: 2019-11-26T02:02:49.000Z
tags: [Zarmina]
---
*Cet article a originellement été publié sur[Patreon](https://www.patreon.com/juju2143).*
Et c'est à ce point que j'ai perdu ma motivation. Encore une fois. Je n'ai rien écrit depuis l'hiver passé, parce que, vous voyez, je me suis rendu compte que ça n'allait nulle part sous sa forme actuelle. Syndrome de la page blanche. Petite panique. C'est pas la vision du projet que j'avais. Je ne peux pas faire ça tout seul, pas de financement. Et j'ai mis ça en pause, je me suis concentré sur autre chose, d'autres projets, en attendant la suite des choses.
Fast forward à fin septembre. Inktober s'en venait. Je me trouvais pas pire en dessin. Je suis retourné sur l'idée et je me suis dit, pourquoi pas dessiner tous mes personnages?
Malhereusement, non, ça s'est pas fait. J'ai pas eu le temps, ni la motivation, pour plusieurs raisons hors de, mais aussi dans mon contrôle. On est le 28e jour et j'ai fait la moitié d'un dessin de Miyuki. Ouais, ça allait bien, Inktober, cette année. Mais, j'ai planifié mon idée. Comment j'allais m'y prendre cette fois-ci? Ça va prendre plus de planification que ça. Cette fois, j'y vais *all in* et faire le projet que j'ai toujours rêvé de faire. Aller chercher du financement pour pouvoir faire ça temps plein et monter un studio digne de ce nom. Engager des collaborateurs qui sont meilleurs que moi sur certaines choses. Créer des emplois. Peut-être même obtenir de l'aide du gouvernement, si c'est possible. Ils aiment ça, créer des emplois.
J'ai une vision, quelque peu ambitieuse, certes, mais c'est aujourd'hui que ça se passe. Zarmina version 3.0: Le Visual Novel. Un *visual novel* 100% québécois comme ça se fait pas vraiment au Québec, ni ailleurs, probablement. Avec de l'art, de la musique, de la programmation, disponible sur Steam et/ou toute autre plateforme de distribution. Un chef-d'oeuvre de fantasy et de science-fiction, rien de moins. Je vous tiens au courant. En attendant, je vous ai posté le reste de ce que j'ai d'écrit à date pour Zarmina 2.0: Le Roman, avant de *scrapper* ça. [Gratuitement.](https://www.patreon.com/posts/31097262) Parce que ça va être plus gros que juste un roman avec de la musique dessus.
Y'a une certaine personne qui m'avait mentionné l'autre fois dans un meetup dans le Vieux-Québec qu'elle avait hâte de voir la suite. Ceci est pour toi. Et pour tous ceux qui ont crû en moi. Tous ceux qui m'ont dit que ma catgirl était cute quand j'ai posté mes dessins sur leur serveur Discord. À la vôtre, gang. Votre encouragement est précieux.
J'ai besoin de vous. Donnez généreusement. Ou du moins, donnez tous vos encouragements. *It's gonna be a bumpy ride. *Et je vais essayer de vous mettre à jour quand je peux. Ça va être *****big*****. En espérant finalement voir la fin de ce projet. Qui est avec moi?
Sur ce, joyeuse St-Bernard-Legault, gang.
P.S.: Vous pouvez aussi me trouver sur [Picarto](http://picarto.tv/juju2143), [Facebook](http://fb.com/zarminaxyz), [Twitter](http://twitter.com/juju2143) ou [Discord](http://discord.gg/32sJN6g) si ça vous tente de jaser de ça avec moi ;)

View File

@ -0,0 +1,18 @@
---
title: Nouvelle bande-annonce
slug: nouvelle-bande-annonce
translationKey: trailer-is-out
publishDate: 2019-11-23T06:36:00.000Z
lastmod: 2019-11-26T02:10:10.000Z
tags: [Zarmina]
---
*Cet article a originellement été publié sur [Itch.io](https://juju2143.itch.io/zarmina).*
{{< youtube 988PCgDoUkw >}}
Nouvelle bande-annonce pour le projet, c'est pas le jeu complet mais j'espère que vous aimez :) Entièrement réalisé avec Ren'Py parce que de un, ça va servir comme intro au jeu, et de deux, y'avait aucun logiciel de montage vidéo qui marchait convenablement sur mon ordi... Vous pouvez le voir directement sur la page du jeu, sinon si ça bug je l'ai enregistré sur YouTube.
For you English speakers, don't worry, there will be an English version soon. Once I figure out how the translation module works. It's kinda weird.
Anyway. If you liked it, please throw me some money here or on Patreon, that'd be super appreciated. But in all, I hope you have fun!

View File

@ -0,0 +1,36 @@
---
title: Machine de la mort
slug: machine-de-la-mort
publishDate: 2019-12-01T00:15:00.000Z
lastmod: 2019-12-01T00:15:17.000Z
tags: [Writing]
description: "Aujourd'hui, je suis un peu gore. TL: mort. Comme dit le titre. C'est pas kid-friendly."
images:
- /images/2019/12/photo-1515853191710-4db39aa5fe54.jpg
---
C'était Halloween le mois passé et j'ai demandé à mes amis Facebook de me donner un mot et je leur écris une fic [Machine of Death](https://en.wikipedia.org/wiki/Machine_of_Death) style. Y'a une personne qui a participé, alors, voilà. Je devrais en faire d'autres.
## Temps
> Ce n'est pas dans l'habitude de la Machine de la mort de donner une réponse aussi vague. Le temps. Ça peut être n'importe quoi. Mort de vieilesse? Par une horloge? Tu préfères ne pas trop y penser. Ton ami s'en vient te chercher avec sa nouvelle voiture.
> T'es en route avec lui. Tu remarques un fil qui pend sur le dash. "Coudonc, c'est quoi ça?" tu demandes à ton ami. "Ouais, j'ai pas fini le dash, touches-y pas..." Trop tard. Tu l'accroches accidentellement et tu t'électrocutes sur du 120V. C'était pas trop safe. Ton ami t'emmène à l'hôpital, mais trop tard, tu meurs dû à une condition préexistante que t'as pas eu le temps d'aller regarder. Le choc électrique n'a certainement pas aidé.
> Parce que, tu vois, c'était le fil pour une horloge. L'horloge dans une reproduction de la DeLorean dans Back to the Future. Tu es mort dans une machine à voyager dans le temps.
## Bonus: Fursuit
> Depuis que tu as ce fursuit, tu est devenu vraiment populaire, comme on dit dans le jargon, un popufur, parce que tséin, ça prend un fursuit pour être populaire, non? Tu as également réussi à capitaliser là-dessus avec une chaîne YouTube de vlogs et tu t'es bâti tout un empire médiatique autour de ce fursuit.
> Ce jour-là, tes suiveux te suggèrent d'essayer cette nouvelle "machine de la mort" qui vient de sortir dans ton quartier, et bien sûr, tu l'essaies parce que, pourquoi pas? Qu'est-ce qui pourrait mal tourner? C'est pas comme si ça pourrait affecter ta carrière, non?
> Tu insères le dollar dans la machine. On t'assure que la machine ne se trompe jamais. Une carte sort de la machine. Elle dit... Fursuit.
> Tu vas mourir dans ton fursuit, ou un truc du genre. Cool. Probablement comment un furry voudrait mourir, asphyxié par un fursuit. Ou pas... Et si tu mourrais demain à cause de ça? Tu préfères ne pas prendre de chances.
> Tu arrêtes ton vlog, tu vends ton fursuit, ta communauté le digère mal. Ça prend pas longtemps qu'on t'envoie des messages de haine, des menaces de mort. On trouve ton adresse. Rien ne va plus.
> Un illuminé en fursuit entre par effraction chez toi, tu appelles la police. Trop tard, il a sorti les grosses armes. Tu meurs assassiné chez toi par... un fursuit.
Si vous avez aimé ça, [abonnez-vous gratuitement](/signup/) pour avoir toutes les mises à jour par email, laissez un commentaire ci-dessous avec d'autres thèmes et je risque d'en faire d'autres si ça m'inspire :)

View File

@ -0,0 +1,49 @@
---
title: Mathieu Bock-Côté Simulator 2020
slug: mathieu-bot-cote
publishDate: 2019-12-24T04:05:50.000Z
lastmod: 2019-12-24T05:32:20.000Z
tags: [Experiments]
---
Mathieu Bock-Côté est l'un de ces chroniqueurs reconnu pour ses pavés qu'on retrouve presque quotidiennement dans le *Journal de Montréal*, donc je me suis dit qu'il serait un sujet parfait pour entraîner une intelligence artificielle sur ses textes. Donc si vous avez toujours rêvé de lui poser une question, ou lui suggérer un sujet, vous pouvez le faire ci-dessous avec un Bock-Côté virtuel! Ou sinon vous pouvez juste cliquer sur le bouton et il va quand même émettre un bout de chronique.
<p><textarea id="bot-query" style="width: 100%" placeholder="Posez une question ou mettez un sujet (optionnel)" maxlength="280"></textarea></p>
<p style="text-align: center"><button id="bot-generate">Générer une chronique</button></p>
<div id="bot-generated-text"><em>Le générateur n'est pas disponible pour l'instant. Il est probablement parti acheter des cigarettes au dépanneur.</em></div>
---
Disclaimer: Ce générateur ne reflète pas nécessairement l'opinion émise par le vrai Mathieu Bock-Côté ou le *Journal de Montréal.* Je compte sur vous pour ne pas en abuser (genre, copiez pas le texte généré en disant que c'est le vrai, ça se fait pas, ou n'envoyez-moi pas un DDoS, ça coûte cher de Google Cloud), et si vous êtes le susmentionné Bock-Côté ou le *Journal* et vous n'aimez pas ça, on peut toujours s'en parler :)
Et si vous vous demandez comment ça marche, il y a [ce billet ici](https://minimaxir.com/2019/09/howto-gpt2/) qui explique comment ça marche. J'ai suivi le tutorial avec un corpus de texte que j'ai pompé sur le site du Journal de Montréal, je l'ai entraîné durant 6 heures sur le petit modèle 124M, j'ai uploadé ça sur Google Cloud, écrit un petit script pour interagir avec le tout et voilà! Le modèle GPT-2 original utilisé ci-dessus a été conçu et entraîné en anglais, mais je trouve qu'il s'en sort pas trop mal en français. Je risque d'en faire un autre avec Richard Martineau, si vous avez aimé. Sur ce, [suivez mon blogue](/signin/) ou mon [Twitter](https://twitter.com/juju2143) pour d'autres expérimentations weird du genre, ou envoyez-moi un peu de cash sur [Patreon](https://patreon.com/juju2143) pour pouvoir me soutenir financièrement et financer ces expérimentations qui n'ont somme toute plus d'allure :)
Sur ce, joyeuses fêtes!
<script>
$("#bot-generate").click(function(){
$("#bot-generated-text").html("<em>Je pense... (ça peut prendre une minute ou deux)</em>");
$.ajax({
url: "https://mathieubotcote-j4sh32wzea-ue.a.run.app",
data: {
length: 500,
prefix: "\n"+$("#bot-query").val()
}
})
.done(function(data){
$("#bot-generated-text").html("");
var text = data.text.split("\n");
console.log(text);
for(var i = 0; i < text.length; i++)
{
var $p = $("<p>").html(text[i]);
$("#bot-generated-text").append($p);
}
})
.fail(function(){
$("#bot-generated-text").html("<em>Le générateur n'est pas disponible pour l'instant. Il est probablement parti prendre un café.</em>");
});
});
</script>

View File

@ -0,0 +1,21 @@
---
title: Yuki
slug: yuki
publishDate: 2020-01-15T04:43:03.000Z
lastmod: 2020-01-15T04:47:19.000Z
tags:
- Random
description: Lettre d'amour à la neige.
images:
- /images/2020/01/image.png
---
Yuki (雪). Ça veut dire neige en japonais.
C'est le soir, il neige à gros flocons, il vente pas trop, pas trop froid, c'est poudreux dans les petites rues du quartier Saint-Sauveur. Le déneigeur a pas encore eu le temps de passer, faut presque passer en raquette pour espérer avancer. C'est pas super sécuritaire sur les routes, mais il y a quand même quelque chose de magique. La neige qui réfléchit sous les lampadaires. Magnifique. Tu veux presque aller à la butte de neige la plus proche et juste glisser. Être plein de neige. Toute la journée. Ça sent la froide sensation de nostalgie.
T'as tous les problèmes du monde. Faut que tu grattes la neige sur ta voiture. Essayer de la conduire sans tuer quelqu'un ou toi-même. T'as toutes les raisons de détester la neige. Grosse marde blanche, comme l'on dit. Mais pour un moment, tu veux juste oublier tout ça et profiter du moment présent. Te lâcher lousse et juste glisser là ou le vent t'amène. Jouer avec, ne faire qu'un avec la neige. Loin de tout tracas et juste... être heureux. Comme dans le temps.
Yuki (幸). Ça veut dire bonheur en japonais.
*Source image: [La disparition de Haruhi Suzumiya](https://fr.wikipedia.org/wiki/La_Disparition_de_Haruhi_Suzumiya)*

9
content/fr/_index.md Normal file
View File

@ -0,0 +1,9 @@
---
title: "Bienvenue."
description: "Toasters Rocks: J.P.'s stupid random crap"
images:
- /img/bg.png
---
Oh. Je t'ai pas vu ici. Mon nom est J. P. Savard - mais tu peux m'appeler Yuki - et bienvenue dans ma demeure. Ceci est un répertoire de choses idiotes, de poésie, de diatribes, d'idées et d'expériences que j'ai faites pendant mon temps libre, j'espère que vous les aimerez et que les informations vous seront utiles.
Ci-bas sont les dragons, amusez-vous.

File diff suppressed because one or more lines are too long

View File

@ -1,22 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="DevLog #1: Making the trailer"><meta property="og:description" content="This article was originally published on Patreon, reposting it here for completeness.
I told you I&rsquo;m keeping you updated, so I&rsquo;m keeping a dev log here on Patreon. Everything you need to know, so it sounds like I&rsquo;m actually active at doing something and you can learn from my errors. Don&rsquo;t want to decieve anyone who might want to throw money at me here.
First thing on my new plan is to post a trailer on YouTube, redirect people here and hope The Algorithm™ does its job somewhat soon."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/devlog-1-making-the-trailer/"><meta property="article:section" content><meta property="article:published_time" content="2019-11-07T03:15:00+00:00"><meta property="article:modified_time" content="2019-11-25T08:00:18+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="DevLog #1: Making the trailer"><meta name=twitter:description content="This article was originally published on Patreon, reposting it here for completeness.
I told you I&rsquo;m keeping you updated, so I&rsquo;m keeping a dev log here on Patreon. Everything you need to know, so it sounds like I&rsquo;m actually active at doing something and you can learn from my errors. Don&rsquo;t want to decieve anyone who might want to throw money at me here.
First thing on my new plan is to post a trailer on YouTube, redirect people here and hope The Algorithm™ does its job somewhat soon."><meta name=theme-color content="#660066"><title>DevLog #1: Making the trailer - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><div><h2 name=top>DevLog #1: Making the trailer</h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2019-11-07>November 7, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/zarmina>Zarmina</a><br><i class="fas fa-hourglass"></i> ~2 minutes</div><p><em><strong>This article was originally published on <em><a href=https://www.patreon.com/juju2143>Patreon</a></em>, reposting it here for completeness.</strong></em></p><p>I told you I&rsquo;m keeping you updated, so I&rsquo;m keeping a dev log here on Patreon. Everything you need to know, so it sounds like I&rsquo;m actually active at doing something and you can learn from my errors. Don&rsquo;t want to decieve anyone who might want to throw money at me here.</p><p>First thing on my new plan is to post a trailer on YouTube, redirect people here and hope The Algorithm™ does its job somewhat soon.</p><p>Unfortunately, I work on Linux on a semi-ancient iMac (back when they were still somewhat good), the graphic card is crapping its life out and I don&rsquo;t have money to buy a semi-decent computer that could run my software of choice, Adobe After Effects. And all the alternatives, either they can&rsquo;t run on my weird setup or I don&rsquo;t like them.</p><p>So, what else could I do? Might do it directly in Ren&rsquo;Py while I&rsquo;m at it, that would be pretty cool as an intro in the game itself. Now trying to figure out the Ren&rsquo;Py language. Which sounds like someone abused and mangled the Python engine during its sleep. Pretty cool language, though.</p><p>So yeah, coding a semi-decent intro, finding free images that goes with it (the NASA will be useful here), abusing the heck out of Ren&rsquo;Py, posting everything everywhere once done and throw a bit of climate change and everything in there in hopes someone gets interested. Can&rsquo;t go wrong, right? Right.</p><p>Wish me luck.</p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/zarmina-3-0-rewrite-again/>« Zarmina 3.0: rewrite (again)</a></li><li class=page-item><a class=next href=http://toasters.rocks/trailer-is-out/>Trailer is out »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,178 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="ecco the dolphin"><meta property="og:description" content="Let's recreate this weird effect from Ecco the Dolphin."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/ecco-the-dolphin/"><meta property="og:image" content="http://toasters.rocks/images/2019/11/background.png"><meta property="article:section" content><meta property="article:published_time" content="2019-11-29T02:47:27+00:00"><meta property="article:modified_time" content="2019-12-01T06:13:10+00:00"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="http://toasters.rocks/images/2019/11/background.png"><meta name=twitter:title content="ecco the dolphin"><meta name=twitter:description content="Let's recreate this weird effect from Ecco the Dolphin."><meta name=theme-color content="#660066"><title>ecco the dolphin - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article style=background-image:url(/images/2019/11/background.png)><div class=metadata style="height:calc((var(--height) - 2em) * .5833333333333334 - 3.5em)"><h2 name=top>ecco the dolphin</h2><p>Let's recreate this weird effect from Ecco the Dolphin.</p><i class="far fa-calendar-alt"></i>
<time datetime=2019-11-29>November 29, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/experiments>Experiments</a>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/p5.js>p5.js</a><br><i class="fas fa-hourglass"></i> ~6 minutes</div><script src=https://unpkg.com/p5@^0.10/lib/p5.min.js></script>
<script>var shifts="gDkZcB510pQ:3pSf]>4oLh>41pS;nWd_@lYcB5oT;nJ82pSfCkH7nV<3oL82pN9nV<31pNhc_?lH7nKiE6210000pOgcB5oL82pN931pOg>mWe^aA5110pO9nKhAlYdCkG7oL8nVe^a`@5oL82pSf>lXd^?lX=3oM9nV<31pNhEjF6oL8nJiEjF6oU;310pQ:3pSfC6oU;mW=41pN9nK8nJ8nV;nV<310000pPgD6oUe]>4oL9nVe^a`@";function preload(){img=loadImage("/images/2019/11/background.png")}function setup(){var e=createCanvas(320,224);e.parent("sketch-holder")}function draw(){for(var e=0;e<height;e++)image(img,0,e,width,1,shifts.charCodeAt(e+frameCount&255)-48,e,width,1)}</script><p> </p><div id=sketch-holder></div><p>Welcome to the second installment of my code experiments! This time we&rsquo;re gonna look into the weird effect used in the background of messages in Ecco the Dolphin for the Sega Genesis (or MegaDrive, if you&rsquo;re asking someone outside the Americas). I got the idea from Twitter user @Foone who helpfully reverse engineered the game ROM (with Twitter user @Reaper_man02) to figure out how it works and wrote an implementation in Python. Then I went ahead and adapted it in p5.js.</p><p><blockquote class=twitter-tweet><p lang=en dir=ltr>it won't look great here (THANKS, TWITTER)<br>but I've finished reverse engineering the Ecco the Dolphin background distortion effect.<br>This is the output of the script provided here:<a href=https://t.co/oPUb3tJJAC>https://t.co/oPUb3tJJAC</a> <a href=https://t.co/UQtW4ZyTKu>pic.twitter.com/UQtW4ZyTKu</a></p>&mdash; foone🏳 (@Foone) <a href="https://twitter.com/Foone/status/1199590443538796549?ref_src=twsrc%5Etfw">November 27, 2019</a></blockquote><script async src=https://platform.twitter.com/widgets.js></script>
Read the replies for some explanations.</p><p>Turns out it&rsquo;s pretty simple: there&rsquo;s a table in ROM, it&rsquo;s basically how much each line should be shifted in the x axis. Then for each frame we shift the values around so it looks like it&rsquo;s scrolling.</p><p><img src=/images/2019/11/background.png alt>
Base image.</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt> 1
</span><span class=lnt> 2
</span><span class=lnt> 3
</span><span class=lnt> 4
</span><span class=lnt> 5
</span><span class=lnt> 6
</span><span class=lnt> 7
</span><span class=lnt> 8
</span><span class=lnt> 9
</span><span class=lnt>10
</span><span class=lnt>11
</span><span class=lnt>12
</span><span class=lnt>13
</span><span class=lnt>14
</span><span class=lnt>15
</span><span class=lnt>16
</span><span class=lnt>17
</span><span class=lnt>18
</span><span class=lnt>19
</span><span class=lnt>20
</span><span class=lnt>21
</span><span class=lnt>22
</span><span class=lnt>23
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-js data-lang=js><span class=line><span class=cl><span class=kd>function</span> <span class=nx>generate_for_offsets</span><span class=p>(</span><span class=nx>offset</span><span class=p>)</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=kd>var</span> <span class=nx>SCREEN_SHIFTS</span> <span class=o>=</span> <span class=p>[</span>
</span></span><span class=line><span class=cl> <span class=mi>55</span><span class=p>,</span> <span class=mi>20</span><span class=p>,</span> <span class=mi>59</span><span class=p>,</span> <span class=mi>42</span><span class=p>,</span> <span class=mi>51</span><span class=p>,</span> <span class=mi>18</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>33</span><span class=p>,</span> <span class=mi>10</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>54</span><span class=p>,</span> <span class=mi>45</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>4</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>28</span><span class=p>,</span> <span class=mi>56</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>4</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>39</span><span class=p>,</span> <span class=mi>52</span><span class=p>,</span> <span class=mi>47</span><span class=p>,</span> <span class=mi>16</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>41</span><span class=p>,</span> <span class=mi>51</span><span class=p>,</span> <span class=mi>18</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>63</span><span class=p>,</span> <span class=mi>36</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>26</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>54</span><span class=p>,</span> <span class=mi>19</span><span class=p>,</span> <span class=mi>59</span><span class=p>,</span> <span class=mi>24</span><span class=p>,</span> <span class=mi>7</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>12</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>28</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>12</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>56</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>51</span><span class=p>,</span> <span class=mi>47</span><span class=p>,</span> <span class=mi>15</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>24</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>7</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>27</span><span class=p>,</span> <span class=mi>57</span><span class=p>,</span> <span class=mi>21</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>31</span><span class=p>,</span> <span class=mi>55</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>51</span><span class=p>,</span> <span class=mi>18</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>8</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>31</span><span class=p>,</span> <span class=mi>55</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>61</span><span class=p>,</span> <span class=mi>39</span><span class=p>,</span> <span class=mi>53</span><span class=p>,</span> <span class=mi>46</span><span class=p>,</span> <span class=mi>49</span><span class=p>,</span> <span class=mi>17</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>31</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>27</span><span class=p>,</span> <span class=mi>56</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>50</span><span class=p>,</span> <span class=mi>17</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>41</span><span class=p>,</span> <span class=mi>52</span><span class=p>,</span> <span class=mi>19</span><span class=p>,</span> <span class=mi>59</span><span class=p>,</span> <span class=mi>23</span><span class=p>,</span> <span class=mi>7</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>53</span><span class=p>,</span> <span class=mi>46</span><span class=p>,</span> <span class=mi>49</span><span class=p>,</span> <span class=mi>48</span><span class=p>,</span> <span class=mi>16</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>54</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>40</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>52</span><span class=p>,</span> <span class=mi>46</span><span class=p>,</span> <span class=mi>15</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>40</span><span class=p>,</span> <span class=mi>13</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>29</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>12</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>56</span><span class=p>,</span> <span class=mi>21</span><span class=p>,</span> <span class=mi>58</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>22</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>26</span><span class=p>,</span> <span class=mi>57</span><span class=p>,</span> <span class=mi>21</span><span class=p>,</span> <span class=mi>58</span><span class=p>,</span> <span class=mi>22</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>37</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>33</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>10</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>54</span><span class=p>,</span> <span class=mi>19</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>37</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>61</span><span class=p>,</span> <span class=mi>39</span><span class=p>,</span> <span class=mi>13</span><span class=p>,</span> <span class=mi>4</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>27</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>8</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>26</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>12</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>32</span><span class=p>,</span> <span class=mi>55</span><span class=p>,</span> <span class=mi>20</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>63</span><span class=p>,</span> <span class=mi>37</span><span class=p>,</span> <span class=mi>53</span><span class=p>,</span> <span class=mi>45</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>4</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>53</span><span class=p>,</span> <span class=mi>46</span><span class=p>,</span> <span class=mi>49</span><span class=p>,</span> <span class=mi>48</span><span class=p>,</span> <span class=mi>16</span>
</span></span><span class=line><span class=cl> <span class=p>]</span>
</span></span><span class=line><span class=cl> <span class=kd>var</span> <span class=nx>output_shifts</span> <span class=o>=</span> <span class=p>[];</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl> <span class=k>for</span> <span class=p>(</span><span class=kd>var</span> <span class=nx>current_line</span> <span class=o>=</span> <span class=mi>0</span><span class=p>;</span> <span class=nx>current_line</span> <span class=o>&lt;</span> <span class=nx>height</span><span class=p>;</span> <span class=nx>current_line</span><span class=o>++</span><span class=p>)</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nx>output_shifts</span><span class=p>[</span><span class=nx>current_line</span><span class=p>]</span> <span class=o>=</span> <span class=nx>SCREEN_SHIFTS</span><span class=p>[(</span><span class=nx>current_line</span> <span class=o>+</span> <span class=nx>offset</span><span class=p>)</span> <span class=o>&amp;</span> <span class=mh>0xFF</span><span class=p>];</span>
</span></span><span class=line><span class=cl> <span class=p>}</span>
</span></span><span class=line><span class=cl> <span class=k>return</span> <span class=nx>output_shifts</span><span class=p>;</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></td></tr></table></div></div><p>p5.js code for the above canvas, part 1</p><p>This function basically computes a table of offsets for the current frame by adding the line number with the frame number, mod 256. Then a bit of initialization code:</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt>1
</span><span class=lnt>2
</span><span class=lnt>3
</span><span class=lnt>4
</span><span class=lnt>5
</span><span class=lnt>6
</span><span class=lnt>7
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-js data-lang=js><span class=line><span class=cl><span class=kd>function</span> <span class=nx>preload</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nx>img</span> <span class=o>=</span> <span class=nx>loadImage</span><span class=p>(</span><span class=s1>&#39;https://toasters.rocks/images/2019/11/background.png&#39;</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=kd>function</span> <span class=nx>setup</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nx>createCanvas</span><span class=p>(</span><span class=mi>320</span><span class=p>,</span> <span class=mi>224</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></td></tr></table></div></div><p>p5.js code for the above canvas, part 2</p><p>And now this is where it gets interesting. For each line we call the <code>image</code> function which crops a 320x1 portion of the image with the appropriate x offset we calculated earlier. Note that the original image is 384x224.</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt>1
</span><span class=lnt>2
</span><span class=lnt>3
</span><span class=lnt>4
</span><span class=lnt>5
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-js data-lang=js><span class=line><span class=cl><span class=kd>function</span> <span class=nx>draw</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=kd>var</span> <span class=nx>adjusts</span> <span class=o>=</span> <span class=nx>generate_for_offsets</span><span class=p>(</span><span class=nx>frameCount</span><span class=p>);</span>
</span></span><span class=line><span class=cl> <span class=k>for</span> <span class=p>(</span><span class=kd>var</span> <span class=nx>i</span> <span class=o>=</span> <span class=mi>0</span><span class=p>;</span> <span class=nx>i</span> <span class=o>&lt;</span> <span class=nx>height</span><span class=p>;</span> <span class=nx>i</span><span class=o>++</span><span class=p>)</span>
</span></span><span class=line><span class=cl> <span class=nx>image</span><span class=p>(</span><span class=nx>img</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=nx>i</span><span class=p>,</span> <span class=nx>width</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=nx>adjusts</span><span class=p>[</span><span class=nx>i</span><span class=p>],</span> <span class=nx>i</span><span class=p>,</span> <span class=nx>width</span><span class=p>,</span> <span class=mi>1</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></td></tr></table></div></div><p>p5.js code for the above canvas, part 3</p><p>We can also completely forego the <code>generate_for_offsets</code> function and make it simpler:</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt> 1
</span><span class=lnt> 2
</span><span class=lnt> 3
</span><span class=lnt> 4
</span><span class=lnt> 5
</span><span class=lnt> 6
</span><span class=lnt> 7
</span><span class=lnt> 8
</span><span class=lnt> 9
</span><span class=lnt>10
</span><span class=lnt>11
</span><span class=lnt>12
</span><span class=lnt>13
</span><span class=lnt>14
</span><span class=lnt>15
</span><span class=lnt>16
</span><span class=lnt>17
</span><span class=lnt>18
</span><span class=lnt>19
</span><span class=lnt>20
</span><span class=lnt>21
</span><span class=lnt>22
</span><span class=lnt>23
</span><span class=lnt>24
</span><span class=lnt>25
</span><span class=lnt>26
</span><span class=lnt>27
</span><span class=lnt>28
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-js data-lang=js><span class=line><span class=cl><span class=kd>var</span> <span class=nx>shifts</span> <span class=o>=</span> <span class=p>[</span>
</span></span><span class=line><span class=cl> <span class=mi>55</span><span class=p>,</span> <span class=mi>20</span><span class=p>,</span> <span class=mi>59</span><span class=p>,</span> <span class=mi>42</span><span class=p>,</span> <span class=mi>51</span><span class=p>,</span> <span class=mi>18</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>33</span><span class=p>,</span> <span class=mi>10</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>54</span><span class=p>,</span> <span class=mi>45</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>4</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>28</span><span class=p>,</span> <span class=mi>56</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>4</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>39</span><span class=p>,</span> <span class=mi>52</span><span class=p>,</span> <span class=mi>47</span><span class=p>,</span> <span class=mi>16</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>41</span><span class=p>,</span> <span class=mi>51</span><span class=p>,</span> <span class=mi>18</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>63</span><span class=p>,</span> <span class=mi>36</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>26</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>54</span><span class=p>,</span> <span class=mi>19</span><span class=p>,</span> <span class=mi>59</span><span class=p>,</span> <span class=mi>24</span><span class=p>,</span> <span class=mi>7</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>12</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>28</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>12</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>56</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>51</span><span class=p>,</span> <span class=mi>47</span><span class=p>,</span> <span class=mi>15</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>24</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>7</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>27</span><span class=p>,</span> <span class=mi>57</span><span class=p>,</span> <span class=mi>21</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>31</span><span class=p>,</span> <span class=mi>55</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>51</span><span class=p>,</span> <span class=mi>18</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>8</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>31</span><span class=p>,</span> <span class=mi>55</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>61</span><span class=p>,</span> <span class=mi>39</span><span class=p>,</span> <span class=mi>53</span><span class=p>,</span> <span class=mi>46</span><span class=p>,</span> <span class=mi>49</span><span class=p>,</span> <span class=mi>17</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>31</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>27</span><span class=p>,</span> <span class=mi>56</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>50</span><span class=p>,</span> <span class=mi>17</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>41</span><span class=p>,</span> <span class=mi>52</span><span class=p>,</span> <span class=mi>19</span><span class=p>,</span> <span class=mi>59</span><span class=p>,</span> <span class=mi>23</span><span class=p>,</span> <span class=mi>7</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>53</span><span class=p>,</span> <span class=mi>46</span><span class=p>,</span> <span class=mi>49</span><span class=p>,</span> <span class=mi>48</span><span class=p>,</span> <span class=mi>16</span><span class=p>,</span> <span class=mi>5</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>2</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>54</span><span class=p>,</span> <span class=mi>44</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>40</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>52</span><span class=p>,</span> <span class=mi>46</span><span class=p>,</span> <span class=mi>15</span><span class=p>,</span> <span class=mi>60</span><span class=p>,</span> <span class=mi>40</span><span class=p>,</span> <span class=mi>13</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>29</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>12</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>56</span><span class=p>,</span> <span class=mi>21</span><span class=p>,</span> <span class=mi>58</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>22</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>26</span><span class=p>,</span> <span class=mi>57</span><span class=p>,</span> <span class=mi>21</span><span class=p>,</span> <span class=mi>58</span><span class=p>,</span> <span class=mi>22</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>37</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>33</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>10</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>35</span><span class=p>,</span> <span class=mi>54</span><span class=p>,</span> <span class=mi>19</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>37</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>61</span><span class=p>,</span> <span class=mi>39</span><span class=p>,</span> <span class=mi>13</span><span class=p>,</span> <span class=mi>4</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>30</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>27</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>8</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>26</span><span class=p>,</span> <span class=mi>8</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>11</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>12</span><span class=p>,</span> <span class=mi>3</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=mi>64</span><span class=p>,</span> <span class=mi>32</span><span class=p>,</span> <span class=mi>55</span><span class=p>,</span> <span class=mi>20</span><span class=p>,</span> <span class=mi>6</span><span class=p>,</span>
</span></span><span class=line><span class=cl> <span class=mi>63</span><span class=p>,</span> <span class=mi>37</span><span class=p>,</span> <span class=mi>53</span><span class=p>,</span> <span class=mi>45</span><span class=p>,</span> <span class=mi>14</span><span class=p>,</span> <span class=mi>4</span><span class=p>,</span> <span class=mi>63</span><span class=p>,</span> <span class=mi>28</span><span class=p>,</span> <span class=mi>9</span><span class=p>,</span> <span class=mi>62</span><span class=p>,</span> <span class=mi>38</span><span class=p>,</span> <span class=mi>53</span><span class=p>,</span> <span class=mi>46</span><span class=p>,</span> <span class=mi>49</span><span class=p>,</span> <span class=mi>48</span><span class=p>,</span> <span class=mi>16</span>
</span></span><span class=line><span class=cl><span class=p>]</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=kd>function</span> <span class=nx>preload</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nx>img</span> <span class=o>=</span> <span class=nx>loadImage</span><span class=p>(</span><span class=s1>&#39;https://toasters.rocks/images/2019/11/background.png&#39;</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=kd>function</span> <span class=nx>setup</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nx>createCanvas</span><span class=p>(</span><span class=mi>320</span><span class=p>,</span> <span class=mi>224</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=kd>function</span> <span class=nx>draw</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=k>for</span> <span class=p>(</span><span class=kd>var</span> <span class=nx>i</span> <span class=o>=</span> <span class=mi>0</span><span class=p>;</span> <span class=nx>i</span> <span class=o>&lt;</span> <span class=nx>height</span><span class=p>;</span> <span class=nx>i</span><span class=o>++</span><span class=p>)</span>
</span></span><span class=line><span class=cl> <span class=nx>image</span><span class=p>(</span><span class=nx>img</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=nx>i</span><span class=p>,</span> <span class=nx>width</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=nx>shifts</span><span class=p>[(</span><span class=nx>i</span> <span class=o>+</span> <span class=nx>frameCount</span><span class=p>)</span> <span class=o>&amp;</span> <span class=mh>0xFF</span><span class=p>],</span> <span class=nx>i</span><span class=p>,</span> <span class=nx>width</span><span class=p>,</span> <span class=mi>1</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></td></tr></table></div></div><p>p5.js code for the above canvas, version 2</p><p>Now that huge array is a bit unwieldy, maybe you can compress it? Sure thing.</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt>1
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-js data-lang=js><span class=line><span class=cl><span class=nx>console</span><span class=p>.</span><span class=nx>log</span><span class=p>(</span><span class=nb>String</span><span class=p>.</span><span class=nx>fromCharCode</span><span class=p>(...</span><span class=nx>shifts</span><span class=p>.</span><span class=nx>map</span><span class=p>(</span><span class=nx>x</span> <span class=p>=&gt;</span> <span class=nx>x</span> <span class=o>+</span> <span class=mh>0x30</span><span class=p>)));</span>
</span></span></code></pre></td></tr></table></div></div><p>Let&rsquo;s transform that stupid array into something better</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt> 1
</span><span class=lnt> 2
</span><span class=lnt> 3
</span><span class=lnt> 4
</span><span class=lnt> 5
</span><span class=lnt> 6
</span><span class=lnt> 7
</span><span class=lnt> 8
</span><span class=lnt> 9
</span><span class=lnt>10
</span><span class=lnt>11
</span><span class=lnt>12
</span><span class=lnt>13
</span><span class=lnt>14
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-js data-lang=js><span class=line><span class=cl><span class=kd>var</span> <span class=nx>shifts</span> <span class=o>=</span> <span class=s2>&#34;gDkZcB510pQ:3pSf]&gt;4oLh\&gt;41pS;nWd_@lYcB5oT;nJ82pSfCkH7nV&lt;3oL82pN9nV&lt;31pNh\c_?lH7nKiE6210000pOg\cB5oL82pN931pOg\&gt;mWe^aA5110pO9nKh\bAlYdCkG7oL8nVe^a`@5oL82pSf\&gt;lXd^?lX=3oM9nV&lt;31pNhEjF6oL8nJiEjF6oU;310pQ:3pSfC6oU;mW=41pN9nK8nJ8nV;nV&lt;310000pPgD6oUe]&gt;4oL9nVe^a`@&#34;</span><span class=p>;</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=kd>function</span> <span class=nx>preload</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nx>img</span> <span class=o>=</span> <span class=nx>loadImage</span><span class=p>(</span><span class=s1>&#39;https://toasters.rocks/images/2019/11/background.png&#39;</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=kd>function</span> <span class=nx>setup</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=nx>createCanvas</span><span class=p>(</span><span class=mi>320</span><span class=p>,</span> <span class=mi>224</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=kd>function</span> <span class=nx>draw</span><span class=p>()</span> <span class=p>{</span>
</span></span><span class=line><span class=cl>    <span class=k>for</span> <span class=p>(</span><span class=kd>var</span> <span class=nx>i</span> <span class=o>=</span> <span class=mi>0</span><span class=p>;</span> <span class=nx>i</span> <span class=o>&lt;</span> <span class=nx>height</span><span class=p>;</span> <span class=nx>i</span><span class=o>++</span><span class=p>)</span>
</span></span><span class=line><span class=cl>        <span class=nx>image</span><span class=p>(</span><span class=nx>img</span><span class=p>,</span> <span class=mi>0</span><span class=p>,</span> <span class=nx>i</span><span class=p>,</span> <span class=nx>width</span><span class=p>,</span> <span class=mi>1</span><span class=p>,</span> <span class=nx>shifts</span><span class=p>.</span><span class=nx>charCodeAt</span><span class=p>((</span><span class=nx>i</span> <span class=o>+</span> <span class=nx>frameCount</span><span class=p>)</span> <span class=o>&amp;</span> <span class=mh>0xFF</span><span class=p>)</span><span class=o>-</span><span class=mh>0x30</span><span class=p>,</span> <span class=nx>i</span><span class=p>,</span> <span class=nx>width</span><span class=p>,</span> <span class=mi>1</span><span class=p>);</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></td></tr></table></div></div><p>p5.js code for the above canvas, version 3</p><p>From there, there&rsquo;s a lot of tricks to compress your code so it goes a bit faster. With that much code, we went from something that looks complex into something simple, which is pretty cool. Well, that&rsquo;s all for today, hope you learned a bit with that :)</p><p>All content owned by their respective owners: game, data and assets by <a href=https://en.wikipedia.org/wiki/Appaloosa_Interactive>Novotrade International</a>, code by Foone and adapted by myself licenced under GPL3.</p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/commissions/>« commissions</a></li><li class=page-item><a class=next href=http://toasters.rocks/horse-life-98/>Horse Life 98 »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,19 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Emoji region flags"><meta property="og:description" content="All of the emoji flags in one convenient font?"><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/emoji-region-flags/"><meta property="og:image" content="http://toasters.rocks/images/2020/01/CA-QC-2.png"><meta property="article:section" content><meta property="article:published_time" content="2020-01-21T20:36:56+00:00"><meta property="article:modified_time" content="2020-01-21T20:40:28+00:00"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="http://toasters.rocks/images/2020/01/CA-QC-2.png"><meta name=twitter:title content="Emoji region flags"><meta name=twitter:description content="All of the emoji flags in one convenient font?"><meta name=theme-color content="#660066"><title>Emoji region flags - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article style=background-image:url(/images/2020/01/CA-QC-2.png)><div class=metadata style="height:calc((var(--height) - 2em) * .6666666666666666 - 3.5em)"><h2 name=top>Emoji region flags</h2><p>All of the emoji flags in one convenient font?</p><i class="far fa-calendar-alt"></i>
<time datetime=2020-01-21>January 21, 2020</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/experiments>Experiments</a><br><i class="fas fa-hourglass"></i> ~3 minutes</div><p>For this project, I&rsquo;ve been inspired by the <a href=https://www.emoji.bzh>#emojibzh</a> movement which attempts to include the flag of the Brittany region of France in the emoji repertoire. So, I&rsquo;ve been looking at it and here&rsquo;s what I found.</p><p>So far, Unicode does allow for regional flags: while for instance the United Kingdom would be represented as a combination of Regional Indicator Symbol Letter G (U+1F1EC) plus Regional Indicator Symbol Letter B (U+1F1E7) (which is its ISO 3166-1 alpha-2 code made out of Regional Indicator Symbol Letters), Scotland would be a Black Flag (U+1F3F4), its ISO 3166-2 code made out of Tag Latin Small Letters (?U+E0067, U+E0062, U+E0073, U+E0063, U+E0074, spelling out &ldquo;GBSCT&rdquo;) and finally a Cancel Tag (U+E007F). That&rsquo;s fairly complicated, but it works. This way, every region, state or province of every country that has a flag would theorically be represented.</p><p>So if I want the flag of Québec, Canada, where I live, theorically the code would be U+1F3F4 (the black flag), U+E0063, U+E0061, U+E0071, U+E0063 (CAQC), U+E007F (the cancel tag), right? It is valid, yet it won&rsquo;t work. Yet, at the time I write those lines. That&rsquo;s because this sequence is not part of RGI (Recommended For General Interchange), which means vendors don&rsquo;t have to support it (and in practice unless the entire Internet is asking about it it&rsquo;s not supported at all). So far, only 3 subdivisions are part of RGI, namely England, Scotland, and Wales, all added in 2017. (Interestingly, Northern Ireland could also be part of that club, but their flag never was official.)</p><p>So what gives? There&rsquo;s some proposals for RGI, namely <a href=https://www.unicode.org/L2/L2017/17382-rgi-flag-omnibus.pdf>L2/17-382</a> and others that aren&rsquo;t public yet but are <a href=https://www.unicode.org/emoji/emoji-requests.html>known to be forwarded to the UTC</a>, but looks like they&rsquo;re in limbo so far. I guess vendors (such as Google, Facebook, Twitter and other companies who made emoji fonts for their messaging apps) don&rsquo;t want to litter their fonts and emoji pickers with too much flags.</p><p>I believe we should at least have one emoji font with all (or most) of them, so I&rsquo;ve been looking at it and I found out the Noto font is <a href=https://github.com/googlefonts/noto-emoji>open source</a> and comes with Python scripts to make it very easy to add more emojis to it. And guess what, the repository includes all flags for the provinces of Canada, the US states, Mexico states, and Northern Ireland, but they&rsquo;re disabled by default! So I did the thing and I enabled them (very easy edit in the Makefile), added Catalonia and Bretagne for good measure and generated a new font with them. The scripts makes a beautiful stylization out of the flags they pulled from Wikipedia.</p><p><img src=/images/2020/01/CA-QC.png alt></p><p><img src=/images/2020/01/FR-BRE-1.png alt></p><p><img src=/images/2020/01/ES-CT.png alt></p><p><img src=/images/2020/01/GB-NIR.png alt></p><p>There you go, #emojibzh, here&rsquo;s your emoji in Google style. Clockwise from top left, Québec (CA-QC), Bretagne (FR-BRE), Northern Ireland (GB-NIR), Catalonia (ES-CT)
You can find the modified GitHub repository with new flags <a href=https://github.com/juju2143/noto-emoji>right here</a> where you can comment on it and you can download the latest build of the font <a href=https://github.com/juju2143/noto-emoji/raw/master/fonts/NotoColorEmoji.ttf>here</a> to install on your computer and get all of the flags if you need them. You can test them on Emojipedia on pages like <a href=https://emojipedia.org/flag-for-bretagne-frbre/>here</a> and <a href=https://emojipedia.org/flag-for-quebec-caqc/>here</a> (I still haven&rsquo;t figured out how to make a test page but I guess that will come later), but unfortunately, it&rsquo;s not going to work on most apps like Twitter, Facebook, Discord and the like, since tons of emojis are added to the Unicode standard every year, they can&rsquo;t guarantee the same emojis are supported on every computer and so they prefer coming up with their own font so they have a consistent look across their network. You still can view them on web pages, I guess that&rsquo;s a good start, but that&rsquo;s why it&rsquo;s still important to support RGI proposals and to keep tweeting about them :)</p><p>On that, have fun with them! ??????</p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/king-james-bible/>« King James Bible: An Adventure in Compression</a></li><li class=page-item><a class=next href=http://toasters.rocks/arch-linux-packages/>My Arch Linux packages: how to create your own repo »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1 +0,0 @@
<!doctype html><html lang=en><head><title>http://toasters.rocks/</title><link rel=canonical href=http://toasters.rocks/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=http://toasters.rocks/"></head></html>

File diff suppressed because one or more lines are too long

View File

@ -1,120 +0,0 @@
<!doctype html><html lang=en><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Esoteric uses of CGI"><meta property="og:description" content="Or how to program the back-end of your website using Commodore BASIC."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/esoteric-uses-of-cgi/"><meta property="og:image" content="http://toasters.rocks/images/2019/12/photo-1461749280684-dccba630e2f6.jpg"><meta property="article:section" content><meta property="article:published_time" content="2019-12-21T04:41:19+00:00"><meta property="article:modified_time" content="2019-12-21T05:34:28+00:00"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="http://toasters.rocks/images/2019/12/photo-1461749280684-dccba630e2f6.jpg"><meta name=twitter:title content="Esoteric uses of CGI"><meta name=twitter:description content="Or how to program the back-end of your website using Commodore BASIC."><meta name=theme-color content="#660066"><title>Esoteric uses of CGI - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/><i class="fas fa-home"></i>
Home</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
About</a><br><a href=/fr/><i class="fas fa-globe"></i>
Français</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article style=background-image:url(/images/2019/12/photo-1461749280684-dccba630e2f6.jpg)><div class=metadata style="height:calc((var(--height) - 2em) * .6675 - 3.5em)"><h2 name=top>Esoteric uses of CGI</h2><p>Or how to program the back-end of your website using Commodore BASIC.</p><i class="far fa-calendar-alt"></i>
<time datetime=2019-12-21>December 21, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/tech>Tech</a><br><i class="fas fa-hourglass"></i> ~6 minutes</div><p>Well, you probably all heard of <a href=https://esolangs.org/>esoteric programming languages</a> before, but the question today is, programming languages used outside its intended use, would that be esoteric?</p><p>If I tell you back-end web languages, you&rsquo;d immediately think PHP, Node.js, Ruby, C maybe, but what if I tell you&mldr; Commodore BASIC? Sure, just get a Commodore 64 with a TCP/IP stack and write a web server for it you&rsquo;d say, but I mean, actually using it on an actual, everyday web server on some Linux box? It&rsquo;s clearly not made for that.</p><p>Enter <a href=https://en.wikipedia.org/wiki/Common_Gateway_Interface>CGI</a>, which is a protocol that was basically made so your web server can run a Perl script that could do more than directly serving some static HTML file so your user could actually interact with your website. A standard setup would be PHP running as a FastCGI server on top of Nginx, that or running as a plugin on Apache. In the first case, PHP communicates with Nginx via a UNIX socket, the web server forwards a request, PHP processes it and sends it back, so it would be more efficient and not spawn a process every request, which might slow your site down if it&rsquo;s popular enough.</p><h2 id=installation>Installation</h2><p>We&rsquo;re going to use <a href=https://github.com/gnosek/fcgiwrap>fcgiwrap</a>, a little piece of software that plugs into Nginx just like PHP does, but it runs just about any software you can run on command line, be it a shell script, a program, or a script written using your favourite language interpreter. You just install it using your Linux distro&rsquo;s package manager, activate the socket with a <code>sudo systemctl start fcgiwrap.socket</code>, install it in your <code>nginx.conf</code> just like you did with PHP, that&rsquo;s it, just like in the good ol&rsquo; days.</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt>1
</span><span class=lnt>2
</span><span class=lnt>3
</span><span class=lnt>4
</span><span class=lnt>5
</span><span class=lnt>6
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-nginx data-lang=nginx><span class=line><span class=cl><span class=k>location</span> <span class=p>~</span><span class=sr>*</span> <span class=s>\.cgi</span> <span class=p>{</span>
</span></span><span class=line><span class=cl> <span class=kn>root</span> <span class=s>/srv/http</span><span class=p>;</span>
</span></span><span class=line><span class=cl> <span class=kn>fastcgi_pass</span> <span class=s>unix:/run/fcgiwrap.sock</span><span class=p>;</span>
</span></span><span class=line><span class=cl> <span class=kn>fastcgi_index</span> <span class=s>index.cgi</span><span class=p>;</span>
</span></span><span class=line><span class=cl> <span class=kn>include</span> <span class=s>fastcgi.conf</span><span class=p>;</span>
</span></span><span class=line><span class=cl><span class=p>}</span>
</span></span></code></pre></td></tr></table></div></div><p>Example nginx config block.</p><p>So, as long as you have an interpreter, you can turn it into a web back-end server language, right? Theorically, yes. We&rsquo;ll take our good ol&rsquo; Commodore 64 BASIC <a href=https://github.com/mist64/cbmbasic>that has been ported to C</a> so it could work on your modern computer as a case study.</p><p>So basically, you need a console program that opens a file and interprets it:</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt>1
</span><span class=lnt>2
</span><span class=lnt>3
</span><span class=lnt>4
</span><span class=lnt>5
</span><span class=lnt>6
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-bash data-lang=bash><span class=line><span class=cl>$ cat program.bas
</span></span><span class=line><span class=cl><span class=c1>#!/usr/bin/cbmbasic</span>
</span></span><span class=line><span class=cl><span class=m>10</span> PRINT<span class=s2>&#34;Hello, world!&#34;</span>
</span></span><span class=line><span class=cl>$ chmod +x program.bas
</span></span><span class=line><span class=cl>$ ./program.bas
</span></span><span class=line><span class=cl>Hello, world!
</span></span></code></pre></td></tr></table></div></div><p>Example console session.</p><p>Mind the shebang (the <code>#!/usr/bin/cbmbasic</code> line), it basically turns <code>./program.bas</code> into the proper <code>cbmbasic program.bas</code>. You&rsquo;ll need to run <code>chmod +x</code> on it for it to work. It&rsquo;s going to be useful later as you have no way otherwise to tell your web server which interpreter you want to run that file with.</p><p>So now you can dump in your web directory a file like this:</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt>1
</span><span class=lnt>2
</span><span class=lnt>3
</span><span class=lnt>4
</span><span class=lnt>5
</span><span class=lnt>6
</span><span class=lnt>7
</span><span class=lnt>8
</span><span class=lnt>9
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-basic data-lang=basic><span class=line><span class=cl><span class=err>#</span><span class=o>!/</span><span class=vg>usr</span><span class=o>/</span><span class=vg>bin</span><span class=o>/</span><span class=vg>cbmbasic</span>
</span></span><span class=line><span class=cl><span class=nl>10</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=vg>HTTP</span><span class=o>/</span><span class=mf>1.1</span><span class=w> </span><span class=il>200</span><span class=w> </span><span class=vg>OK</span>
</span></span><span class=line><span class=cl><span class=nl>20</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=vg>Content</span><span class=o>-</span><span class=nl>Type:</span><span class=w> </span><span class=vg>text</span><span class=o>/</span><span class=vg>html</span><span class=p>;</span><span class=vg>charset</span><span class=o>=</span><span class=vg>utf</span><span class=il>-8</span>
</span></span><span class=line><span class=cl><span class=nl>30</span><span class=w> </span><span class=kr>PRINT</span>
</span></span><span class=line><span class=cl><span class=nl>40</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=o>&lt;</span><span class=vg>html</span><span class=o>&gt;&lt;</span><span class=vg>head</span><span class=o>&gt;&lt;</span><span class=vg>title</span><span class=o>&gt;</span><span class=vg>Hello</span><span class=o>&lt;/</span><span class=vg>title</span><span class=o>&gt;&lt;/</span><span class=vg>head</span><span class=o>&gt;&lt;</span><span class=vg>body</span><span class=o>&gt;</span>
</span></span><span class=line><span class=cl><span class=nl>50</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=vg>Hello</span><span class=p>,</span><span class=w> </span><span class=vg>world!</span>
</span></span><span class=line><span class=cl><span class=nl>60</span><span class=w> </span><span class=kr>PRINT</span><span class=s2>&#34;&lt;br/&gt;Time is: &#34;</span><span class=p>;</span>
</span></span><span class=line><span class=cl><span class=nl>70</span><span class=w> </span><span class=kr>PRINT</span><span class=w> </span><span class=vg>TI$</span>
</span></span><span class=line><span class=cl><span class=nl>1000</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=o>&lt;/</span><span class=vg>body</span><span class=o>&gt;&lt;/</span><span class=vg>html</span><span class=o>&gt;</span>
</span></span></code></pre></td></tr></table></div></div><p>index.cgi</p><p>Navigate to it with your browser and sure enough, you have a nice &ldquo;Hello, world!&rdquo; with the current time. So it&rsquo;s really easy to code something to show up in your browser. But of course, this ain&rsquo;t PHP, you have to send the HTTP headers yourself (lines 10-30, anything followed by two newlines should be sufficient, but for best results you should send the HTTP code and the content type), but still, quite easy. But the question here is, how is it useful?</p><h2 id=_post>$_POST</h2><p>Obviously, you&rsquo;d need some kind of input, right? The HTTP protocol allows for GET and POST. POST allows you to send data in the body of the request, otherwise you can also get some data from the URL. In PHP that would be respectively the <code>$_POST</code> and <code>$_GET</code> arrays. But of course it won&rsquo;t automatically parse these, so let&rsquo;s do that.</p><p>For POST data, it&rsquo;s just as easy as reading keyboard input, or STDIN, depending of how it works. If it&rsquo;s a GET request, then you should get nothing (or a 0xFF byte in case of BASIC), otherwise you&rsquo;d get the data your user sent in your POST form.</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt> 1
</span><span class=lnt> 2
</span><span class=lnt> 3
</span><span class=lnt> 4
</span><span class=lnt> 5
</span><span class=lnt> 6
</span><span class=lnt> 7
</span><span class=lnt> 8
</span><span class=lnt> 9
</span><span class=lnt>10
</span><span class=lnt>11
</span><span class=lnt>12
</span><span class=lnt>13
</span><span class=lnt>14
</span><span class=lnt>15
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-basic data-lang=basic><span class=line><span class=cl><span class=nl>100</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=o>&lt;</span><span class=vg>form</span><span class=w> </span><span class=vg>method</span><span class=o>=</span><span class=vg>POST</span><span class=w> </span><span class=vg>action</span><span class=o>=</span><span class=c1>&#39;&#39;&gt;</span>
</span></span><span class=line><span class=cl><span class=nl>110</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=o>&lt;</span><span class=vg>input</span><span class=w> </span><span class=vg>name</span><span class=o>=</span><span class=c1>&#39;input&#39;&gt;&lt;/input&gt;</span>
</span></span><span class=line><span class=cl><span class=nl>120</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=o>&lt;</span><span class=vg>input</span><span class=w> </span><span class=vg>type</span><span class=o>=</span><span class=vg>hidden</span><span class=w> </span><span class=vg>name</span><span class=o>=</span><span class=c1>&#39;hidden&#39; value=&#39;value&#39;&gt;&lt;/input&gt;</span>
</span></span><span class=line><span class=cl><span class=nl>130</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=o>&lt;</span><span class=vg>button</span><span class=w> </span><span class=vg>type</span><span class=o>=</span><span class=vg>submit</span><span class=o>&gt;</span><span class=vg>Submit</span><span class=o>&lt;/</span><span class=vg>button</span><span class=o>&gt;</span>
</span></span><span class=line><span class=cl><span class=nl>140</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=o>&lt;/</span><span class=vg>form</span><span class=o>&gt;&lt;</span><span class=vg>pre</span><span class=o>&gt;</span>
</span></span><span class=line><span class=cl>
</span></span><span class=line><span class=cl><span class=nl>200</span><span class=w> </span><span class=vg>B$</span><span class=o>=</span><span class=s2>&#34;&#34;</span>
</span></span><span class=line><span class=cl><span class=nl>210</span><span class=w> </span><span class=kr>GET</span><span class=w> </span><span class=vg>A$</span>
</span></span><span class=line><span class=cl><span class=nl>220</span><span class=w> </span><span class=kr>IF</span><span class=w> </span><span class=vg>A$</span><span class=o>=</span><span class=s2>&#34;&amp;&#34;</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>260</span>
</span></span><span class=line><span class=cl><span class=nl>230</span><span class=w> </span><span class=kr>IF</span><span class=w> </span><span class=kr>ASC</span><span class=p>(</span><span class=vg>A$</span><span class=p>)</span><span class=o>&gt;</span><span class=il>127</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>260</span>
</span></span><span class=line><span class=cl><span class=nl>240</span><span class=w> </span><span class=vg>B$</span><span class=o>=</span><span class=vg>B$</span><span class=o>+</span><span class=vg>A$</span>
</span></span><span class=line><span class=cl><span class=nl>250</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>210</span>
</span></span><span class=line><span class=cl><span class=nl>260</span><span class=w> </span><span class=kr>PRINT</span><span class=w> </span><span class=vg>B$</span>
</span></span><span class=line><span class=cl><span class=nl>270</span><span class=w> </span><span class=kr>IF</span><span class=w> </span><span class=kr>ASC</span><span class=p>(</span><span class=vg>A$</span><span class=p>)</span><span class=o>&lt;</span><span class=il>128</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>200</span>
</span></span><span class=line><span class=cl><span class=nl>280</span><span class=w> </span><span class=kr>PRINT</span><span class=err>&#34;</span><span class=o>&lt;/</span><span class=vg>pre</span><span class=o>&gt;</span>
</span></span></code></pre></td></tr></table></div></div><p>Add this code to get and print POST variables. Good thing there&rsquo;s line numbers so I don&rsquo;t have to tell you where to add them.
It&rsquo;s safe to assume anything over 127 is the end of input, as anything above that will be percent-encoded. In particular, in BASIC, you get 199 if you&rsquo;re past the end (EOF) and 255 if there&rsquo;s nothing. Parsing the resulting string is left as an exercise to the reader. And now if you send some data in the form you&rsquo;ll get:</p><pre tabindex=0><code> input=Something
hidden=value
</code></pre><p>You can even use brainfuck or something similar:</p><pre><code>100 PRINT&quot;&lt;form method=POST action='bf.cgi'&gt;
</code></pre><p>Replace line 100 from above&mldr;</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt>1
</span><span class=lnt>2
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-bf data-lang=bf><span class=line><span class=cl><span class=c>#!/usr/bin/bfi
</span></span></span><span class=line><span class=cl><span class=c></span><span class=nb>-</span><span class=k>[</span><span class=nb>-------</span><span class=nv>&gt;</span><span class=nb>+</span><span class=nv>&lt;</span><span class=k>]</span><span class=nv>&gt;</span><span class=nb>-</span><span class=nt>.</span><span class=nv>&gt;</span><span class=nb>-</span><span class=k>[</span><span class=nb>---</span><span class=nv>&gt;</span><span class=nb>+</span><span class=nv>&lt;</span><span class=k>]</span><span class=nv>&gt;</span><span class=nb>-</span><span class=nt>..</span><span class=nb>----</span><span class=nt>.</span><span class=k>[</span><span class=nb>-</span><span class=nv>&gt;</span><span class=nb>+++++++</span><span class=nv>&lt;</span><span class=k>]</span><span class=nv>&gt;</span><span class=nb>-</span><span class=nt>.</span><span class=nb>++</span><span class=nt>.</span><span class=nb>---</span><span class=nt>.</span><span class=nb>+++</span><span class=nt>.</span><span class=nb>-</span><span class=k>[</span><span class=nb>---</span><span class=nv>&gt;</span><span class=nb>++</span><span class=nv>&lt;</span><span class=k>]</span><span class=nv>&gt;</span><span class=nt>.</span><span class=k>[</span><span class=nb>--</span><span class=nv>&gt;</span><span class=nb>+++</span><span class=nv>&lt;</span><span class=k>]</span><span class=nv>&gt;</span><span class=nb>++</span><span class=nt>.</span><span class=nb>--</span><span class=nt>..</span><span class=k>[</span><span class=nb>---</span><span class=nv>&gt;</span><span class=nb>++</span><span class=nv>&lt;</span><span class=k>]</span><span class=nv>&gt;</span><span class=nt>.</span><span class=k>[</span><span class=nb>--</span><span class=nv>&gt;</span><span class=nb>+++++</span><span class=nv>&lt;</span><span class=k>]</span><span class=nv>&gt;</span><span class=nb>-</span><span class=nt>.</span><span class=nb>----</span><span class=nt>.</span><span class=nv>&gt;</span><span class=nb>++++++++++</span><span class=nt>..,</span><span class=nb>+</span><span class=k>[</span><span class=nb>-</span><span class=nt>.,</span><span class=nb>+</span><span class=k>]</span><span class=c>
</span></span></span></code></pre></td></tr></table></div></div><p>&mldr;and create bf.cgi</p><h2 id=_server-_get-_cookies-etc>$_SERVER, $_GET, $_COOKIES, etc.</h2><p>Now you&rsquo;ll want some of the sweet variables the server sends you that tells where the request came from and similar stuff, which is <code>$_SERVER</code> in PHP. If your language doesn&rsquo;t support environment variables from the OS, unfortunately (for brainfuck), you&rsquo;ll need to open files here. On Linux, it&rsquo;s <code>/proc/self/environ</code>, your mileage may vary on other OSes. It&rsquo;s mostly the same code, except the lines are separated by null bytes.</p><div class=highlight><div class=chroma><table class=lntable><tr><td class=lntd><pre tabindex=0 class=chroma><code><span class=lnt> 1
</span><span class=lnt> 2
</span><span class=lnt> 3
</span><span class=lnt> 4
</span><span class=lnt> 5
</span><span class=lnt> 6
</span><span class=lnt> 7
</span><span class=lnt> 8
</span><span class=lnt> 9
</span><span class=lnt>10
</span><span class=lnt>11
</span></code></pre></td><td class=lntd><pre tabindex=0 class=chroma><code class=language-basic data-lang=basic><span class=line><span class=cl><span class=nl>300</span><span class=w> </span><span class=kr>OPEN</span><span class=w> </span><span class=il>1</span><span class=p>,</span><span class=w> </span><span class=il>1</span><span class=p>,</span><span class=w> </span><span class=il>0</span><span class=p>,</span><span class=w> </span><span class=s2>&#34;/proc/self/environ&#34;</span>
</span></span><span class=line><span class=cl><span class=nl>310</span><span class=w> </span><span class=vg>B$</span><span class=o>=</span><span class=s2>&#34;&#34;</span>
</span></span><span class=line><span class=cl><span class=nl>320</span><span class=w> </span><span class=kr>GET</span><span class=err>#</span><span class=il>1</span><span class=p>,</span><span class=w> </span><span class=vg>A$</span>
</span></span><span class=line><span class=cl><span class=nl>330</span><span class=w> </span><span class=kr>IF</span><span class=w> </span><span class=vg>A$</span><span class=o>=</span><span class=s2>&#34;&#34;</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>370</span>
</span></span><span class=line><span class=cl><span class=nl>340</span><span class=w> </span><span class=kr>IF</span><span class=w> </span><span class=kr>ASC</span><span class=p>(</span><span class=vg>A$</span><span class=p>)</span><span class=o>&gt;</span><span class=il>127</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>370</span>
</span></span><span class=line><span class=cl><span class=nl>350</span><span class=w> </span><span class=vg>B$</span><span class=o>=</span><span class=vg>B$</span><span class=o>+</span><span class=vg>A$</span>
</span></span><span class=line><span class=cl><span class=nl>360</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>320</span>
</span></span><span class=line><span class=cl><span class=nl>370</span><span class=w> </span><span class=kr>PRINT</span><span class=w> </span><span class=vg>B$</span>
</span></span><span class=line><span class=cl><span class=nl>380</span><span class=w> </span><span class=kr>IF</span><span class=w> </span><span class=vg>A$</span><span class=o>=</span><span class=s2>&#34;&#34;</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>210</span>
</span></span><span class=line><span class=cl><span class=nl>390</span><span class=w> </span><span class=kr>IF</span><span class=w> </span><span class=kr>ASC</span><span class=p>(</span><span class=vg>A$</span><span class=p>)</span><span class=o>&lt;</span><span class=il>128</span><span class=w> </span><span class=kr>GOTO</span><span class=w> </span><span class=nl>310</span>
</span></span><span class=line><span class=cl><span class=nl>395</span><span class=w> </span><span class=kr>CLOSE</span><span class=w> </span><span class=il>1</span>
</span></span></code></pre></td></tr></table></div></div><p>You know what to do at this point.</p><p>Again, parsing the results is left as an exercise to the reader. Notice that Commodore BASIC treats null bytes as an empty string here, which completely breaks the <code>ASC()</code> function and so should be handled separately.</p><p>Interesting variables are <code>QUERY_STRING</code> (PHP&rsquo;s <code>$_GET</code>, parses just like we did with POST), <code>HTTP_COOKIE</code> (cookies are here), <code>REQUEST_METHOD</code> (GET or POST), <code>REMOTE_ADDR</code> (your user&rsquo;s IP), <code>REQUEST_SCHEME</code> (https?), you can find a lot of them <a href=https://www.php.net/manual/reserved.variables.server.php>just here</a> (at least those who aren&rsquo;t specific to PHP) or <a href=https://www.rfc-editor.org/rfc/rfc3875.html#section-4.1>here</a>.</p><p>On that, that&rsquo;s it for today, hope you have fun with this! I wonder what kind of weird stuff you&rsquo;d make with this, please tell me if you code your website in an esoteric language :)</p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/horse-life-98/>« Horse Life 98</a></li><li class=page-item><a class=next href=http://toasters.rocks/miyuki-2019/>Miyuki 2019 »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 730 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,801 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
<metadata>
Created by FontForge 20200314 at Mon Oct 5 09:50:45 2020
By Robert Madole
Copyright (c) Font Awesome
</metadata>
<!-- Font Awesome Free 5.15.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) --><defs>
<font id="FontAwesome5Free-Regular" horiz-adv-x="512" >
<font-face
font-family="Font Awesome 5 Free Regular"
font-weight="400"
font-stretch="normal"
units-per-em="512"
panose-1="2 0 5 3 0 0 0 0 0 0"
ascent="448"
descent="-64"
bbox="-0.0663408 -64.0662 640.004 448.1"
underline-thickness="25"
underline-position="-50"
unicode-range="U+0020-F5C8"
/>
<missing-glyph />
<glyph glyph-name="heart" unicode="&#xf004;"
d="M458.4 383.7c75.2998 -63.4004 64.0996 -166.601 10.5996 -221.3l-175.4 -178.7c-10 -10.2002 -23.2998 -15.7998 -37.5996 -15.7998c-14.2002 0 -27.5996 5.69922 -37.5996 15.8994l-175.4 178.7c-53.5996 54.7002 -64.5996 157.9 10.5996 221.2
c57.8008 48.7002 147.101 41.2998 202.4 -15c55.2998 56.2998 144.6 63.5996 202.4 15zM434.8 196.2c36.2002 36.8994 43.7998 107.7 -7.2998 150.8c-38.7002 32.5996 -98.7002 27.9004 -136.5 -10.5996l-35 -35.7002l-35 35.7002
c-37.5996 38.2998 -97.5996 43.1992 -136.5 10.5c-51.2002 -43.1006 -43.7998 -113.5 -7.2998 -150.7l175.399 -178.7c2.40039 -2.40039 4.40039 -2.40039 6.80078 0z" />
<glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="576"
d="M528.1 276.5c26.2002 -3.7998 36.7002 -36.0996 17.7002 -54.5996l-105.7 -103l25 -145.5c4.5 -26.3008 -23.1992 -45.9004 -46.3994 -33.7002l-130.7 68.7002l-130.7 -68.7002c-23.2002 -12.2998 -50.8994 7.39941 -46.3994 33.7002l25 145.5l-105.7 103
c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2998l65.2998 132.4c11.7998 23.8994 45.7002 23.5996 57.4004 0l65.2998 -132.4zM388.6 135.7l100.601 98l-139 20.2002l-62.2002 126l-62.2002 -126l-139 -20.2002l100.601 -98l-23.7002 -138.4l124.3 65.2998
l124.3 -65.2998z" />
<glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="448"
d="M313.6 144c74.2002 0 134.4 -60.2002 134.4 -134.4v-25.5996c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v25.5996c0 74.2002 60.2002 134.4 134.4 134.4c28.7998 0 42.5 -16 89.5996 -16s60.9004 16 89.5996 16zM400 -16v25.5996
c0 47.6006 -38.7998 86.4004 -86.4004 86.4004c-14.6992 0 -37.8994 -16 -89.5996 -16c-51.2998 0 -75 16 -89.5996 16c-47.6006 0 -86.4004 -38.7998 -86.4004 -86.4004v-25.5996h352zM224 160c-79.5 0 -144 64.5 -144 144s64.5 144 144 144s144 -64.5 144 -144
s-64.5 -144 -144 -144zM224 400c-52.9004 0 -96 -43.0996 -96 -96s43.0996 -96 96 -96s96 43.0996 96 96s-43.0996 96 -96 96z" />
<glyph glyph-name="clock" unicode="&#xf017;"
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM317.8 96.4004l-84.8994 61.6992
c-3.10059 2.30078 -4.90039 5.90039 -4.90039 9.7002v164.2c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12v-141.7l66.7998 -48.5996c5.40039 -3.90039 6.5 -11.4004 2.60059 -16.7998l-18.8008 -25.9004c-3.89941 -5.2998 -11.3994 -6.5 -16.7998 -2.59961z
" />
<glyph glyph-name="list-alt" unicode="&#xf022;"
d="M464 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h416zM458 16c3.31152 0 6 2.68848 6 6v340c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-340
c0 -3.31152 2.68848 -6 6 -6h404zM416 108v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 204v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12
v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM416 300v-24c0 -6.62695 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h200c6.62695 0 12 -5.37305 12 -12zM164 288c0 -19.8818 -16.1182 -36 -36 -36
s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 192c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36zM164 96c0 -19.8818 -16.1182 -36 -36 -36s-36 16.1182 -36 36s16.1182 36 36 36s36 -16.1182 36 -36z" />
<glyph glyph-name="flag" unicode="&#xf024;"
d="M336.174 368c35.4668 0 73.0195 12.6914 108.922 28.1797c31.6406 13.6514 66.9043 -9.65723 66.9043 -44.1162v-239.919c0 -16.1953 -8.1543 -31.3057 -21.7129 -40.1631c-26.5762 -17.3643 -70.0693 -39.9814 -128.548 -39.9814c-68.6084 0 -112.781 32 -161.913 32
c-56.5674 0 -89.957 -11.2803 -127.826 -28.5566v-83.4434c0 -8.83691 -7.16309 -16 -16 -16h-16c-8.83691 0 -16 7.16309 -16 16v406.438c-14.3428 8.2998 -24 23.7979 -24 41.5615c0 27.5693 23.2422 49.71 51.2012 47.8965
c22.9658 -1.49023 41.8662 -19.4717 44.4805 -42.3379c0.213867 -1.83398 0.308594 -3.65918 0.308594 -5.5498c0 -5.30273 -0.860352 -10.4053 -2.4502 -15.1768c22.418 8.68555 49.4199 15.168 80.7207 15.168c68.6084 0 112.781 -32 161.913 -32zM464 112v240
c-31.5059 -14.6338 -84.5547 -32 -127.826 -32c-59.9111 0 -101.968 32 -161.913 32c-41.4365 0 -80.4766 -16.5879 -102.261 -32v-232c31.4473 14.5967 84.4648 24 127.826 24c59.9111 0 101.968 -32 161.913 -32c41.4365 0 80.4775 16.5879 102.261 32z" />
<glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="384"
d="M336 448c26.5098 0 48 -21.4902 48 -48v-464l-192 112l-192 -112v464c0 26.5098 21.4902 48 48 48h288zM336 19.5703v374.434c0 3.31348 -2.68555 5.99609 -6 5.99609h-276c-3.31152 0 -6 -2.68848 -6 -6v-374.43l144 84z" />
<glyph glyph-name="image" unicode="&#xf03e;"
d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM458 48c3.31152 0 6 2.68848 6 6v276c0 3.31152 -2.68848 6 -6 6h-404c-3.31152 0 -6 -2.68848 -6 -6v-276
c0 -3.31152 2.68848 -6 6 -6h404zM128 296c22.0908 0 40 -17.9092 40 -40s-17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40zM96 96v48l39.5137 39.5146c4.6875 4.68652 12.2852 4.68652 16.9717 0l39.5146 -39.5146l119.514 119.515
c4.6875 4.68652 12.2852 4.68652 16.9717 0l87.5146 -87.5146v-80h-320z" />
<glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="576"
d="M402.3 103.1l32 32c5 5 13.7002 1.5 13.7002 -5.69922v-145.4c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h273.5c7.09961 0 10.7002 -8.59961 5.7002 -13.7002l-32 -32c-1.5 -1.5 -3.5 -2.2998 -5.7002 -2.2998h-241.5v-352h352
v113.5c0 2.09961 0.799805 4.09961 2.2998 5.59961zM558.9 304.9l-262.601 -262.601l-90.3994 -10c-26.2002 -2.89941 -48.5 19.2002 -45.6006 45.6006l10 90.3994l262.601 262.601c22.8994 22.8994 59.8994 22.8994 82.6992 0l43.2002 -43.2002
c22.9004 -22.9004 22.9004 -60 0.100586 -82.7998zM460.1 274l-58.0996 58.0996l-185.8 -185.899l-7.2998 -65.2998l65.2998 7.2998zM524.9 353.7l-43.2002 43.2002c-4.10059 4.09961 -10.7998 4.09961 -14.7998 0l-30.9004 -30.9004l58.0996 -58.0996l30.9004 30.8994
c4 4.2002 4 10.7998 -0.0996094 14.9004z" />
<glyph glyph-name="times-circle" unicode="&#xf057;"
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM357.8 254.2l-62.2002 -62.2002l62.2002 -62.2002
c4.7002 -4.7002 4.7002 -12.2998 0 -17l-22.5996 -22.5996c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-62.2002 62.2002l-62.2002 -62.2002c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-22.5996 22.5996c-4.7002 4.7002 -4.7002 12.2998 0 17l62.2002 62.2002l-62.2002 62.2002
c-4.7002 4.7002 -4.7002 12.2998 0 17l22.5996 22.5996c4.7002 4.7002 12.2998 4.7002 17 0l62.2002 -62.2002l62.2002 62.2002c4.7002 4.7002 12.2998 4.7002 17 0l22.5996 -22.5996c4.7002 -4.7002 4.7002 -12.2998 0 -17z" />
<glyph glyph-name="check-circle" unicode="&#xf058;"
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200z
M396.204 261.733c4.66699 -4.70508 4.63672 -12.3037 -0.0673828 -16.9717l-172.589 -171.204c-4.70508 -4.66797 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66797 4.70605 -4.63672 12.3047 0.0683594 16.9717l22.7188 22.5361
c4.70508 4.66699 12.3027 4.63574 16.9697 -0.0693359l59.792 -60.2773l141.353 140.216c4.70508 4.66797 12.3027 4.6377 16.9697 -0.0673828z" />
<glyph glyph-name="question-circle" unicode="&#xf059;"
d="M256 440c136.957 0 248 -111.083 248 -248c0 -136.997 -111.043 -248 -248 -248s-248 111.003 -248 248c0 136.917 111.043 248 248 248zM256 -8c110.569 0 200 89.4697 200 200c0 110.529 -89.5088 200 -200 200c-110.528 0 -200 -89.5049 -200 -200
c0 -110.569 89.4678 -200 200 -200zM363.244 247.2c0 -67.0518 -72.4209 -68.084 -72.4209 -92.8633v-6.33691c0 -6.62695 -5.37305 -12 -12 -12h-45.6475c-6.62695 0 -12 5.37305 -12 12v8.65918c0 35.7451 27.1006 50.0342 47.5791 61.5156
c17.5615 9.84473 28.3242 16.541 28.3242 29.5791c0 17.2461 -21.999 28.6934 -39.7842 28.6934c-23.1885 0 -33.8936 -10.9775 -48.9424 -29.9697c-4.05664 -5.11914 -11.46 -6.07031 -16.666 -2.12402l-27.8232 21.0986
c-5.10742 3.87207 -6.25098 11.0654 -2.64453 16.3633c23.627 34.6934 53.7217 54.1846 100.575 54.1846c49.0713 0 101.45 -38.3037 101.45 -88.7998zM298 80c0 -23.1592 -18.8408 -42 -42 -42s-42 18.8408 -42 42s18.8408 42 42 42s42 -18.8408 42 -42z" />
<glyph glyph-name="eye" unicode="&#xf06e;" horiz-adv-x="576"
d="M288 304c0.114258 0 0.240234 -0.0175781 0.354492 -0.0175781c61.6543 0 111.71 -50.0557 111.71 -111.71s-50.0557 -111.71 -111.71 -111.71s-111.71 50.0557 -111.71 111.71c0 10.7422 1.51953 21.1328 4.35547 30.9678
c7.95898 -4.52637 17.2129 -7.17188 27 -7.24023c30.9072 0 56 25.0928 56 56c-0.0683594 9.78711 -2.71387 19.041 -7.24023 27c9.88379 3.07617 20.3896 4.83008 31.2402 5zM572.52 206.6c2.21387 -4.37793 3.46094 -9.38965 3.46094 -14.626
c0 -5.2373 -1.24707 -10.1855 -3.46094 -14.5635c-54.1992 -105.771 -161.59 -177.41 -284.52 -177.41s-230.29 71.5898 -284.52 177.4c-2.21387 4.37793 -3.46094 9.38965 -3.46094 14.626c0 5.2373 1.24707 10.1855 3.46094 14.5635
c54.1992 105.771 161.59 177.41 284.52 177.41s230.29 -71.5898 284.52 -177.4zM288 48c98.6602 0 189.1 55 237.93 144c-48.8398 89 -139.27 144 -237.93 144s-189.09 -55 -237.93 -144c48.8398 -89 139.279 -144 237.93 -144z" />
<glyph glyph-name="eye-slash" unicode="&#xf070;" horiz-adv-x="640"
d="M634 -23c3.66895 -2.93262 6.00391 -7.45117 6.00391 -12.5088c0 -3.7832 -1.31543 -7.26074 -3.51367 -10.001l-10 -12.4902c-2.93359 -3.66309 -7.44824 -5.99414 -12.502 -5.99414c-3.77637 0 -7.25 1.31152 -9.98828 3.50391l-598 467.49
c-3.66895 2.93262 -6.00391 7.45117 -6.00391 12.5088c0 3.7832 1.31543 7.26074 3.51367 10.001l10 12.4902c2.93359 3.66309 7.44824 5.99414 12.502 5.99414c3.77637 0 7.25 -1.31152 9.98828 -3.50391zM296.79 301.53c7.51172 1.60254 15.2266 2.45508 23.21 2.46973
c60.4805 0 109.36 -47.9102 111.58 -107.85zM343.21 82.46c-7.51367 -1.59375 -15.2285 -2.44336 -23.21 -2.45996c-60.4697 0 -109.35 47.9102 -111.58 107.84zM320 336c-19.8799 0 -39.2803 -2.7998 -58.2197 -7.09961l-46.4102 36.29
c32.9199 11.8096 67.9297 18.8096 104.63 18.8096c122.93 0 230.29 -71.5898 284.57 -177.4c2.21289 -4.37793 3.45996 -9.38965 3.45996 -14.626c0 -5.2373 -1.24707 -10.1855 -3.45996 -14.5635c-14.1924 -27.5625 -31.9229 -52.6689 -52.9004 -75.1104l-37.7402 29.5
c17.2305 18.0527 31.9385 38.1318 44 60.2002c-48.8398 89 -139.279 144 -237.93 144zM320 48c19.8896 0 39.2803 2.7998 58.2197 7.08984l46.4102 -36.2803c-32.9199 -11.7598 -67.9297 -18.8096 -104.63 -18.8096c-122.92 0 -230.28 71.5898 -284.51 177.4
c-2.21387 4.37793 -3.46094 9.38965 -3.46094 14.626c0 5.2373 1.24707 10.1855 3.46094 14.5635c14.1885 27.5586 31.916 52.6621 52.8896 75.1006l37.7402 -29.5c-17.249 -18.0469 -31.9727 -38.1221 -44.0498 -60.1904c48.8496 -89 139.279 -144 237.93 -144z" />
<glyph glyph-name="calendar-alt" unicode="&#xf073;" horiz-adv-x="448"
d="M148 160h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM256 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-40zM352 172c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM256 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM160 76c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM352 76c0 -6.59961 -5.40039 -12 -12 -12h-40
c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="comment" unicode="&#xf075;"
d="M256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5c-3.80078 8.7998 -2 19 4.59961 26
c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004
l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" />
<glyph glyph-name="folder" unicode="&#xf07b;"
d="M464 320c26.5098 0 48 -21.4902 48 -48v-224c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h146.74c8.49023 0 16.6299 -3.37012 22.6299 -9.37012l54.6299 -54.6299h192zM464 48v224h-198.62
c-8.49023 0 -16.6299 3.37012 -22.6299 9.37012l-54.6299 54.6299h-140.12v-288h416z" />
<glyph glyph-name="folder-open" unicode="&#xf07c;" horiz-adv-x="576"
d="M527.9 224c37.6992 0 60.6992 -41.5 40.6992 -73.4004l-79.8994 -128c-8.7998 -14.0996 -24.2002 -22.5996 -40.7002 -22.5996h-400c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h160l64 -64h160c26.5 0 48 -21.5 48 -48v-48h47.9004zM48 330v-233.4l62.9004 104.2
c8.69922 14.4004 24.2998 23.2002 41.0996 23.2002h280v42c0 3.2998 -2.7002 6 -6 6h-173.9l-64 64h-134.1c-3.2998 0 -6 -2.7002 -6 -6zM448 48l80 128h-378.8l-77.2002 -128h376z" />
<glyph glyph-name="chart-bar" unicode="&#xf080;"
d="M396.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v230.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-230.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM204.8 96
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v198.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-198.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM300.8 96
c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v134.4c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-134.4c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004zM496 48c8.83984 0 16 -7.16016 16 -16v-16
c0 -8.83984 -7.16016 -16 -16 -16h-464c-17.6699 0 -32 14.3301 -32 32v336c0 8.83984 7.16016 16 16 16h16c8.83984 0 16 -7.16016 16 -16v-320h448zM108.8 96c-6.39941 0 -12.7998 6.40039 -12.7998 12.7998v70.4004c0 6.39941 6.40039 12.7998 12.7998 12.7998h22.4004
c6.39941 0 12.7998 -6.40039 12.7998 -12.7998v-70.4004c0 -6.39941 -6.40039 -12.7998 -12.7998 -12.7998h-22.4004z" />
<glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="576"
d="M532 61.7998c15.2998 -30.7002 37.4004 -54.5 37.7998 -54.7998c6.2998 -6.7002 8 -16.5 4.40039 -25c-3.7002 -8.5 -12 -14 -21.2002 -14c-53.5996 0 -96.7002 20.2998 -125.2 38.7998c-19 -4.39941 -39 -6.7998 -59.7998 -6.7998
c-86.2002 0 -159.9 40.4004 -191.3 97.7998c-9.7002 1.2002 -19.2002 2.7998 -28.4004 4.90039c-28.5 -18.6006 -71.7002 -38.7998 -125.2 -38.7998c-9.19922 0 -17.5996 5.5 -21.1992 14c-3.7002 8.5 -1.90039 18.2998 4.39941 25
c0.400391 0.399414 22.4004 24.1992 37.7002 54.8994c-27.5 27.2002 -44 61.2002 -44 98.2002c0 88.4004 93.0996 160 208 160c86.2998 0 160.3 -40.5 191.8 -98.0996c99.7002 -11.8008 176.2 -77.9004 176.2 -157.9c0 -37.0996 -16.5 -71.0996 -44 -98.2002zM139.2 154.1
l19.7998 -4.5c16 -3.69922 32.5 -5.59961 49 -5.59961c86.7002 0 160 51.2998 160 112s-73.2998 112 -160 112s-160 -51.2998 -160 -112c0 -28.7002 16.2002 -50.5996 29.7002 -64l24.7998 -24.5l-15.5 -31.0996c-2.59961 -5.10059 -5.2998 -10.1006 -8 -14.8008
c14.5996 5.10059 29 12.3008 43.0996 21.4004zM498.3 96c13.5 13.4004 29.7002 35.2998 29.7002 64c0 49.2002 -48.2998 91.5 -112.7 106c0.299805 -3.2998 0.700195 -6.59961 0.700195 -10c0 -80.9004 -78 -147.5 -179.3 -158.3
c29.0996 -29.6006 77.2998 -49.7002 131.3 -49.7002c16.5 0 33 1.90039 49 5.59961l19.9004 4.60059l17.0996 -11.1006c14.0996 -9.09961 28.5 -16.2998 43.0996 -21.3994c-2.69922 4.7002 -5.39941 9.7002 -8 14.7998l-15.5 31.0996z" />
<glyph glyph-name="star-half" unicode="&#xf089;" horiz-adv-x="576"
d="M288 62.7002v-54.2998l-130.7 -68.6006c-23.3994 -12.2998 -50.8994 7.60059 -46.3994 33.7002l25 145.5l-105.7 103c-19 18.5 -8.5 50.7998 17.7002 54.5996l146.1 21.2002l65.2998 132.4c5.90039 11.8994 17.2998 17.7998 28.7002 17.7998v-68.0996l-62.2002 -126
l-139 -20.2002l100.601 -98l-23.7002 -138.4z" />
<glyph glyph-name="lemon" unicode="&#xf094;"
d="M484.112 420.111c28.1221 -28.123 35.9434 -68.0039 19.0215 -97.0547c-23.0576 -39.584 50.1436 -163.384 -82.3311 -295.86c-132.301 -132.298 -256.435 -59.3594 -295.857 -82.3291c-29.0459 -16.917 -68.9219 -9.11426 -97.0576 19.0205
c-28.1221 28.1221 -35.9434 68.0029 -19.0215 97.0547c23.0566 39.5859 -50.1436 163.386 82.3301 295.86c132.308 132.309 256.407 59.3496 295.862 82.332c29.0498 16.9219 68.9307 9.09863 97.0537 -19.0234zM461.707 347.217
c13.5166 23.2031 -27.7578 63.7314 -50.4883 50.4912c-66.6025 -38.7939 -165.646 45.5898 -286.081 -74.8457c-120.444 -120.445 -36.0449 -219.472 -74.8447 -286.08c-13.542 -23.2471 27.8145 -63.6953 50.4932 -50.4883
c66.6006 38.7949 165.636 -45.5996 286.076 74.8428c120.444 120.445 36.0449 219.472 74.8447 286.08zM291.846 338.481c1.37012 -10.96 -6.40332 -20.957 -17.3643 -22.3271c-54.8467 -6.85547 -135.779 -87.7871 -142.636 -142.636
c-1.37305 -10.9883 -11.3984 -18.7334 -22.3262 -17.3643c-10.9609 1.37012 -18.7344 11.3652 -17.3643 22.3262c9.16211 73.2852 104.167 168.215 177.364 177.364c10.9531 1.36816 20.9561 -6.40234 22.3262 -17.3633z" />
<glyph glyph-name="credit-card" unicode="&#xf09d;" horiz-adv-x="576"
d="M527.9 416c26.5996 0 48.0996 -21.5 48.0996 -48v-352c0 -26.5 -21.5 -48 -48.0996 -48h-479.801c-26.5996 0 -48.0996 21.5 -48.0996 48v352c0 26.5 21.5 48 48.0996 48h479.801zM54.0996 368c-3.2998 0 -6 -2.7002 -6 -6v-42h479.801v42c0 3.2998 -2.7002 6 -6 6
h-467.801zM521.9 16c3.2998 0 6 2.7002 6 6v170h-479.801v-170c0 -3.2998 2.7002 -6 6 -6h467.801zM192 116v-40c0 -6.59961 -5.40039 -12 -12 -12h-72c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h72c6.59961 0 12 -5.40039 12 -12zM384 116v-40
c0 -6.59961 -5.40039 -12 -12 -12h-136c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h136c6.59961 0 12 -5.40039 12 -12z" />
<glyph glyph-name="hdd" unicode="&#xf0a0;" horiz-adv-x="576"
d="M567.403 212.358c5.59668 -8.04688 8.59668 -17.6113 8.59668 -27.4121v-136.946c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v136.946c0 10.167 3.19531 19.6465 8.59668 27.4121l105.08 151.053
c8.67383 12.4678 23.0791 20.5889 39.4043 20.5889h269.838c16.3252 0 30.7305 -8.12109 39.4043 -20.5889zM153.081 336l-77.9131 -112h425.664l-77.9131 112h-269.838zM528 48v128h-480v-128h480zM496 112c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32
s14.3271 32 32 32s32 -14.3271 32 -32zM400 112c0 -17.6729 -14.3271 -32 -32 -32s-32 14.3271 -32 32s14.3271 32 32 32s32 -14.3271 32 -32z" />
<glyph glyph-name="hand-point-right" unicode="&#xf0a4;"
d="M428.8 310.4c45.0996 0 83.2002 -38.1016 83.2002 -83.2002c0 -45.6162 -37.7646 -83.2002 -83.2002 -83.2002h-35.6475c-1.71387 -7.70605 -4.43555 -15.2051 -7.92969 -22.0645c2.50586 -22.0059 -3.50293 -44.9775 -15.9844 -62.791
c-1.14062 -52.4863 -37.3984 -91.1445 -99.9404 -91.1445h-21.2988c-60.0635 0 -98.5117 40 -127.2 40h-2.67871c-5.74707 -4.95215 -13.5361 -8 -22.1201 -8h-64c-17.6729 0 -32 12.8936 -32 28.7998v230.4c0 15.9062 14.3271 28.7998 32 28.7998h64.001
c8.58398 0 16.373 -3.04785 22.1201 -8h2.67871c6.96387 0 14.8623 6.19336 30.1816 23.6689l0.128906 0.148438l0.130859 0.145508c8.85645 9.93652 18.1162 20.8398 25.8506 33.2529c18.7051 30.2471 30.3936 78.7842 75.707 78.7842c56.9277 0 92 -35.2861 92 -83.2002
c0 -0.0283203 0 0.0361328 0 0.0078125c0 -7.66602 -0.748047 -15.1582 -2.17578 -22.4072h86.1768zM428.8 192c18.9756 0 35.2002 16.2246 35.2002 35.2002c0 18.7002 -16.7754 35.2002 -35.2002 35.2002h-158.399c0 17.3242 26.3994 35.1992 26.3994 70.3994
c0 26.4004 -20.625 35.2002 -44 35.2002c-8.79395 0 -20.4443 -32.7119 -34.9258 -56.0996c-9.07422 -14.5752 -19.5244 -27.2256 -30.7988 -39.875c-16.1094 -18.374 -33.8359 -36.6328 -59.0752 -39.5967v-176.753c42.79 -3.7627 74.5088 -39.6758 120 -39.6758h21.2988
c40.5244 0 57.124 22.1973 50.6006 61.3252c14.6113 8.00098 24.1514 33.9785 12.9248 53.625c19.3652 18.2246 17.7871 46.3809 4.9502 61.0498h91.0254zM88 64c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
<glyph glyph-name="hand-point-left" unicode="&#xf0a5;"
d="M0 227.2c0 45.0986 38.1006 83.2002 83.2002 83.2002h86.1758c-1.3623 6.91016 -2.17578 14.374 -2.17578 22.3994c0 47.9141 35.0723 83.2002 92 83.2002c45.3135 0 57.002 -48.5371 75.7061 -78.7852c7.73438 -12.4121 16.9951 -23.3154 25.8506 -33.2529
l0.130859 -0.145508l0.128906 -0.148438c15.3213 -17.4746 23.2197 -23.668 30.1836 -23.668h2.67871c5.74707 4.95215 13.5361 8 22.1201 8h64c17.6729 0 32 -12.8936 32 -28.7998v-230.4c0 -15.9062 -14.3271 -28.7998 -32 -28.7998h-64
c-8.58398 0 -16.373 3.04785 -22.1201 8h-2.67871c-28.6885 0 -67.1367 -40 -127.2 -40h-21.2988c-62.542 0 -98.8008 38.6582 -99.9404 91.1445c-12.4814 17.8135 -18.4922 40.7852 -15.9844 62.791c-3.49414 6.85938 -6.21582 14.3584 -7.92969 22.0645h-35.6465
c-45.4355 0 -83.2002 37.584 -83.2002 83.2002zM48 227.2c0 -18.9756 16.2246 -35.2002 35.2002 -35.2002h91.0244c-12.8369 -14.6689 -14.415 -42.8252 4.9502 -61.0498c-11.2256 -19.6465 -1.68652 -45.624 12.9248 -53.625
c-6.52246 -39.1279 10.0771 -61.3252 50.6016 -61.3252h21.2988c45.4912 0 77.21 35.9131 120 39.6768v176.752c-25.2393 2.96289 -42.9658 21.2227 -59.0752 39.5967c-11.2744 12.6494 -21.7246 25.2998 -30.7988 39.875
c-14.4814 23.3877 -26.1318 56.0996 -34.9258 56.0996c-23.375 0 -44 -8.7998 -44 -35.2002c0 -35.2002 26.3994 -53.0752 26.3994 -70.3994h-158.399c-18.4248 0 -35.2002 -16.5 -35.2002 -35.2002zM448 88c-13.2549 0 -24 -10.7451 -24 -24s10.7451 -24 24 -24
s24 10.7451 24 24s-10.7451 24 -24 24z" />
<glyph glyph-name="hand-point-up" unicode="&#xf0a6;" horiz-adv-x="448"
d="M105.6 364.8c0 45.0996 38.1016 83.2002 83.2002 83.2002c45.6162 0 83.2002 -37.7646 83.2002 -83.2002v-35.6465c7.70605 -1.71387 15.2051 -4.43555 22.0645 -7.92969c22.0059 2.50684 44.9775 -3.50293 62.791 -15.9844
c52.4863 -1.14062 91.1445 -37.3984 91.1445 -99.9404v-21.2988c0 -60.0635 -40 -98.5117 -40 -127.2v-2.67871c4.95215 -5.74707 8 -13.5361 8 -22.1201v-64c0 -17.6729 -12.8936 -32 -28.7998 -32h-230.4c-15.9062 0 -28.7998 14.3271 -28.7998 32v64
c0 8.58398 3.04785 16.373 8 22.1201v2.67871c0 6.96387 -6.19336 14.8623 -23.6689 30.1816l-0.148438 0.128906l-0.145508 0.130859c-9.93652 8.85645 -20.8398 18.1162 -33.2529 25.8506c-30.2471 18.7051 -78.7842 30.3936 -78.7842 75.707
c0 56.9277 35.2861 92 83.2002 92c0.0283203 0 -0.0361328 0 -0.0078125 0c7.66602 0 15.1582 -0.748047 22.4072 -2.17578v86.1768zM224 364.8c0 18.9756 -16.2246 35.2002 -35.2002 35.2002c-18.7002 0 -35.2002 -16.7754 -35.2002 -35.2002v-158.399
c-17.3242 0 -35.1992 26.3994 -70.3994 26.3994c-26.4004 0 -35.2002 -20.625 -35.2002 -44c0 -8.79395 32.7119 -20.4443 56.0996 -34.9258c14.5752 -9.07422 27.2256 -19.5244 39.875 -30.7988c18.374 -16.1094 36.6328 -33.8359 39.5967 -59.0752h176.753
c3.7627 42.79 39.6758 74.5088 39.6758 120v21.2988c0 40.5244 -22.1973 57.124 -61.3252 50.6006c-8.00098 14.6113 -33.9785 24.1514 -53.625 12.9248c-18.2246 19.3652 -46.3809 17.7871 -61.0498 4.9502v91.0254zM352 24c-13.2549 0 -24 -10.7451 -24 -24
s10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24z" />
<glyph glyph-name="hand-point-down" unicode="&#xf0a7;" horiz-adv-x="448"
d="M188.8 -64c-45.0986 0 -83.2002 38.1006 -83.2002 83.2002v86.1758c-6.91016 -1.3623 -14.374 -2.17578 -22.3994 -2.17578c-47.9141 0 -83.2002 35.0723 -83.2002 92c0 45.3135 48.5371 57.002 78.7852 75.707c12.4121 7.73438 23.3154 16.9951 33.2529 25.8506
l0.145508 0.130859l0.148438 0.128906c17.4746 15.3213 23.668 23.2197 23.668 30.1836v2.67871c-4.95215 5.74707 -8 13.5361 -8 22.1201v64c0 17.6729 12.8936 32 28.7998 32h230.4c15.9062 0 28.7998 -14.3271 28.7998 -32v-64.001
c0 -8.58398 -3.04785 -16.373 -8 -22.1201v-2.67871c0 -28.6885 40 -67.1367 40 -127.2v-21.2988c0 -62.542 -38.6582 -98.8008 -91.1445 -99.9404c-17.8135 -12.4814 -40.7852 -18.4922 -62.791 -15.9844c-6.85938 -3.49414 -14.3584 -6.21582 -22.0645 -7.92969v-35.6465
c0 -45.4355 -37.584 -83.2002 -83.2002 -83.2002zM188.8 -16c18.9756 0 35.2002 16.2246 35.2002 35.2002v91.0244c14.6689 -12.8369 42.8252 -14.415 61.0498 4.9502c19.6465 -11.2256 45.624 -1.68652 53.625 12.9248c39.1279 -6.52246 61.3252 10.0771 61.3252 50.6016
v21.2988c0 45.4912 -35.9131 77.21 -39.6768 120h-176.752c-2.96289 -25.2393 -21.2227 -42.9658 -39.5967 -59.0752c-12.6494 -11.2744 -25.2998 -21.7246 -39.875 -30.7988c-23.3877 -14.4814 -56.0996 -26.1318 -56.0996 -34.9258c0 -23.375 8.7998 -44 35.2002 -44
c35.2002 0 53.0752 26.3994 70.3994 26.3994v-158.399c0 -18.4248 16.5 -35.2002 35.2002 -35.2002zM328 384c0 -13.2549 10.7451 -24 24 -24s24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24z" />
<glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="448"
d="M433.941 382.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-80v-48c0 -26.5098 -21.4902 -48 -48 -48h-224c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h80v48c0 26.5098 21.4902 48 48 48
h172.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM266 -16c3.31152 0 6 2.68848 6 6v42h-96c-26.5098 0 -48 21.4902 -48 48v224h-74c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM394 80c3.31152 0 6 2.68848 6 6v202h-88
c-13.2549 0 -24 10.7451 -24 24v88h-106c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h212zM400 336v9.63184c0 1.65527 -0.670898 3.15723 -1.75684 4.24316l-48.3682 48.3682c-1.12598 1.125 -2.65234 1.75684 -4.24316 1.75684h-9.63184v-64h64z" />
<glyph glyph-name="save" unicode="&#xf0c7;" horiz-adv-x="448"
d="M433.941 318.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-268.118c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h268.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM272 368h-128v-80h128v80z
M394 16c3.31152 0 6 2.68848 6 6v259.632c0 1.65527 -0.670898 3.15723 -1.75684 4.24316l-78.2432 78.2432v-100.118c0 -13.2549 -10.7451 -24 -24 -24h-176c-13.2549 0 -24 10.7451 -24 24v104h-42c-3.31152 0 -6 -2.68848 -6 -6v-340c0 -3.31152 2.68848 -6 6 -6h340z
M224 216c48.5234 0 88 -39.4766 88 -88s-39.4766 -88 -88 -88s-88 39.4766 -88 88s39.4766 88 88 88zM224 88c22.0557 0 40 17.9443 40 40s-17.9443 40 -40 40s-40 -17.9443 -40 -40s17.9443 -40 40 -40z" />
<glyph glyph-name="square" unicode="&#xf0c8;" horiz-adv-x="448"
d="M400 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352zM394 16c3.2998 0 6 2.7002 6 6v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340z" />
<glyph glyph-name="envelope" unicode="&#xf0e0;"
d="M464 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h416zM464 336h-416v-40.8047c22.4248 -18.2627 58.1797 -46.6602 134.587 -106.49
c16.834 -13.2422 50.2051 -45.0762 73.4131 -44.7012c23.2119 -0.371094 56.5723 31.4541 73.4131 44.7012c76.4189 59.8389 112.165 88.2305 134.587 106.49v40.8047zM48 48h416v185.601c-22.915 -18.252 -55.4189 -43.8691 -104.947 -82.6523
c-22.5439 -17.748 -60.3359 -55.1787 -103.053 -54.9473c-42.9277 -0.231445 -81.2051 37.75 -103.062 54.9551c-49.5293 38.7842 -82.0244 64.3945 -104.938 82.6455v-185.602z" />
<glyph glyph-name="lightbulb" unicode="&#xf0eb;" horiz-adv-x="352"
d="M176 368c8.83984 0 16 -7.16016 16 -16s-7.16016 -16 -16 -16c-35.2803 0 -64 -28.7002 -64 -64c0 -8.83984 -7.16016 -16 -16 -16s-16 7.16016 -16 16c0 52.9404 43.0596 96 96 96zM96.0596 -11.1699l-0.0400391 43.1797h159.961l-0.0507812 -43.1797
c-0.00976562 -3.13965 -0.939453 -6.21973 -2.67969 -8.83984l-24.5098 -36.8398c-2.95996 -4.45996 -7.95996 -7.14062 -13.3203 -7.14062h-78.8496c-5.35059 0 -10.3506 2.68066 -13.3203 7.14062l-24.5098 36.8398c-1.75 2.62012 -2.68066 5.68945 -2.68066 8.83984z
M176 448c97.2002 0 176 -78.7998 176 -176c0 -44.3701 -16.4502 -84.8496 -43.5498 -115.79c-16.6406 -18.9795 -42.7402 -58.79 -52.4199 -92.1602v-0.0498047h-48v0.0996094c0.00488281 4.98145 0.790039 9.78809 2.21973 14.3008
c5.67969 17.9893 22.9902 64.8496 62.0996 109.46c20.4102 23.29 31.6504 53.1699 31.6504 84.1396c0 70.5801 -57.4199 128 -128 128c-68.2803 0 -128.15 -54.3604 -127.95 -128c0.0898438 -30.9902 11.0703 -60.71 31.6104 -84.1396
c39.3496 -44.9004 56.5801 -91.8604 62.1699 -109.67c1.42969 -4.56055 2.13965 -9.30078 2.15039 -14.0703v-0.120117h-48v0.0595703c-9.68066 33.3604 -35.7803 73.1709 -52.4209 92.1602c-27.1094 30.9307 -43.5596 71.4102 -43.5596 115.78
c0 93.0303 73.7197 176 176 176z" />
<glyph glyph-name="bell" unicode="&#xf0f3;" horiz-adv-x="448"
d="M439.39 85.71c6 -6.44043 8.66016 -14.1602 8.61035 -21.71c-0.0996094 -16.4004 -12.9805 -32 -32.0996 -32h-383.801c-19.1191 0 -31.9893 15.5996 -32.0996 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c19.3193 20.7598 55.4697 51.9902 55.4697 154.29
c0 77.7002 54.4795 139.9 127.939 155.16v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -102.3 36.1504 -133.53 55.4697 -154.29zM67.5303 80h312.939
c-21.2197 27.96 -44.4199 74.3203 -44.5293 159.42c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112s-112 -50.1396 -112 -112c0 -0.200195 0.0595703 -0.379883 0.0595703 -0.580078
c-0.109375 -85.0898 -23.3096 -131.45 -44.5293 -159.42zM224 -64c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
<glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="448"
d="M128 204v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12zM268 192c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40
c0 -6.62695 -5.37305 -12 -12 -12h-40zM192 108c0 -6.62695 -5.37305 -12 -12 -12h-40c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-40zM268 96c-6.62695 0 -12 5.37305 -12 12v40c0 6.62695 5.37305 12 12 12h40
c6.62695 0 12 -5.37305 12 -12v-40c0 -6.62695 -5.37305 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.62695 5.37305 12 12 12h19.5v378.965c0 11.6172 10.7451 21.0352 24 21.0352h88.5v40c0 13.2549 10.7451 24 24 24h112c13.2549 0 24 -10.7451 24 -24v-40h88.5
c13.2549 0 24 -9.41797 24 -21.0352v-378.965h19.5c6.62695 0 12 -5.37305 12 -12zM79.5 -15h112.5v67c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-67h112.5v351h-64.5v-24c0 -13.2549 -10.7451 -24 -24 -24h-112c-13.2549 0 -24 10.7451 -24 24v24
h-64.5v-351zM266 384h-26v26c0 3.31152 -2.68848 6 -6 6h-20c-3.31152 0 -6 -2.68848 -6 -6v-26h-26c-3.31152 0 -6 -2.68848 -6 -6v-20c0 -3.31152 2.68848 -6 6 -6h26v-26c0 -3.31152 2.68848 -6 6 -6h20c3.31152 0 6 2.68848 6 6v26h26c3.31152 0 6 2.68848 6 6v20
c0 3.31152 -2.68848 6 -6 6z" />
<glyph glyph-name="plus-square" unicode="&#xf0fe;" horiz-adv-x="448"
d="M352 208v-32c0 -6.59961 -5.40039 -12 -12 -12h-88v-88c0 -6.59961 -5.40039 -12 -12 -12h-32c-6.59961 0 -12 5.40039 -12 12v88h-88c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h88v88c0 6.59961 5.40039 12 12 12h32c6.59961 0 12 -5.40039 12 -12
v-88h88c6.59961 0 12 -5.40039 12 -12zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340
c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="circle" unicode="&#xf111;"
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200z" />
<glyph glyph-name="smile" unicode="&#xf118;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM332 135.4c8.5 10.1992 23.7002 11.5 33.7998 3.09961c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998
c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.0996 8.40039 25.2998 7.09961 33.7998 -3.09961c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004z" />
<glyph glyph-name="frown" unicode="&#xf119;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 144c40.2002 0 78 -17.7002 103.8 -48.5996c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008
c-10.7002 -8.7998 -25.7002 -6.59961 -33.7998 3.10059c-16.6006 20 -41 31.3994 -66.9004 31.3994s-50.2998 -11.5 -66.9004 -31.3994c-8.5 -10.2002 -23.5996 -11.5 -33.7998 -3.10059c-10.2002 8.5 -11.5996 23.6006 -3.09961 33.8008
c25.7998 30.8994 63.5996 48.5996 103.8 48.5996z" />
<glyph glyph-name="meh" unicode="&#xf11a;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM336 128c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-176c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h176z
" />
<glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="576"
d="M528 384c26.5098 0 48 -21.4902 48 -48v-288c0 -26.5098 -21.4902 -48 -48 -48h-480c-26.5098 0 -48 21.4902 -48 48v288c0 26.5098 21.4902 48 48 48h480zM536 48v288c0 4.41113 -3.58887 8 -8 8h-480c-4.41113 0 -8 -3.58887 -8 -8v-288c0 -4.41113 3.58887 -8 8 -8
h480c4.41113 0 8 3.58887 8 8zM170 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM266 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28
c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM362 178c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM458 178c0 -6.62695 -5.37305 -12 -12 -12h-28
c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 96c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 96
c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM122 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28
c6.62695 0 12 -5.37305 12 -12v-28zM218 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM314 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28
c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM410 260c0 -6.62695 -5.37305 -12 -12 -12h-28c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM506 260c0 -6.62695 -5.37305 -12 -12 -12h-28
c-6.62695 0 -12 5.37305 -12 12v28c0 6.62695 5.37305 12 12 12h28c6.62695 0 12 -5.37305 12 -12v-28zM408 102c0 -6.62695 -5.37305 -12 -12 -12h-216c-6.62695 0 -12 5.37305 -12 12v16c0 6.62695 5.37305 12 12 12h216c6.62695 0 12 -5.37305 12 -12v-16z" />
<glyph glyph-name="calendar" unicode="&#xf133;" horiz-adv-x="448"
d="M400 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12
v-52h48zM394 -16c3.2998 0 6 2.7002 6 6v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340z" />
<glyph glyph-name="play-circle" unicode="&#xf144;"
d="M371.7 210c16.3994 -9.2002 16.3994 -32.9004 0 -42l-176 -101c-15.9004 -8.7998 -35.7002 2.59961 -35.7002 21v208c0 18.5 19.9004 29.7998 35.7002 21zM504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192
c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200z" />
<glyph glyph-name="minus-square" unicode="&#xf146;" horiz-adv-x="448"
d="M108 164c-6.59961 0 -12 5.40039 -12 12v32c0 6.59961 5.40039 12 12 12h232c6.59961 0 12 -5.40039 12 -12v-32c0 -6.59961 -5.40039 -12 -12 -12h-232zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h352
c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="check-square" unicode="&#xf14a;" horiz-adv-x="448"
d="M400 416c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h352zM400 16v352h-352v-352h352zM364.136 257.724l-172.589 -171.204
c-4.70508 -4.66699 -12.3027 -4.63672 -16.9697 0.0683594l-90.7812 91.5156c-4.66699 4.70508 -4.63672 12.3037 0.0693359 16.9717l22.7188 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l59.792 -60.2773l141.353 140.217
c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0683594l22.5361 -22.7178c4.66699 -4.70605 4.63672 -12.3047 -0.0683594 -16.9717z" />
<glyph glyph-name="share-square" unicode="&#xf14d;" horiz-adv-x="576"
d="M561.938 289.94c18.75 -18.7402 18.75 -49.1406 0 -67.8809l-143.998 -144c-29.9727 -29.9727 -81.9404 -9.05273 -81.9404 33.9404v53.7998c-101.266 -7.83691 -99.625 -31.6406 -84.1104 -78.7598c14.2285 -43.0889 -33.4736 -79.248 -71.0195 -55.7402
c-51.6924 32.3057 -84.8701 83.0635 -84.8701 144.76c0 39.3408 12.2197 72.7402 36.3301 99.3008c19.8398 21.8398 47.7402 38.4697 82.9102 49.4199c36.7295 11.4395 78.3096 16.1094 120.76 17.9893v57.1982c0 42.9355 51.9258 63.9541 81.9404 33.9404zM384 112l144 144
l-144 144v-104.09c-110.86 -0.90332 -240 -10.5166 -240 -119.851c0 -52.1396 32.79 -85.6094 62.3096 -104.06c-39.8174 120.65 48.999 141.918 177.69 143.84v-103.84zM408.74 27.5068c7.4375 2.125 14.5508 5.30566 20.9736 9.30273
c7.97656 4.95215 18.2861 -0.825195 18.2861 -10.2139v-42.5957c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h132c6.62695 0 12 -5.37305 12 -12v-4.48633c0 -4.91699 -2.9873 -9.36914 -7.56934 -11.1514
c-13.7021 -5.33105 -26.3955 -11.5371 -38.0498 -18.585c-1.82715 -1.11523 -3.98633 -1.76953 -6.28027 -1.77734h-86.1006c-3.31152 0 -6 -2.68848 -6 -6v-340c0 -3.31152 2.68848 -6 6 -6h340c3.31152 0 6 2.68848 6 6v25.9658c0 5.37012 3.5791 10.0596 8.74023 11.541z
" />
<glyph glyph-name="compass" unicode="&#xf14e;" horiz-adv-x="496"
d="M347.94 318.14c16.6592 7.61035 33.8096 -9.54004 26.1992 -26.1992l-65.9697 -144.341c-3.19238 -6.9834 -8.78613 -12.5771 -15.7695 -15.7695l-144.341 -65.9697c-16.6592 -7.61035 -33.8096 9.5498 -26.1992 26.1992l65.9697 144.341
c3.19238 6.9834 8.78613 12.5771 15.7695 15.7695zM270.58 169.42c12.4697 12.4697 12.4697 32.6904 0 45.1602s-32.6904 12.4697 -45.1602 0s-12.4697 -32.6904 0 -45.1602s32.6904 -12.4697 45.1602 0zM248 440c136.97 0 248 -111.03 248 -248s-111.03 -248 -248 -248
s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" />
<glyph glyph-name="caret-square-down" unicode="&#xf150;" horiz-adv-x="448"
d="M125.1 240h197.801c10.6992 0 16.0996 -13 8.5 -20.5l-98.9004 -98.2998c-4.7002 -4.7002 -12.2002 -4.7002 -16.9004 0l-98.8994 98.2998c-7.7002 7.5 -2.2998 20.5 8.39941 20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="caret-square-up" unicode="&#xf151;" horiz-adv-x="448"
d="M322.9 144h-197.801c-10.6992 0 -16.0996 13 -8.5 20.5l98.9004 98.2998c4.7002 4.7002 12.2002 4.7002 16.9004 0l98.8994 -98.2998c7.7002 -7.5 2.2998 -20.5 -8.39941 -20.5zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="caret-square-right" unicode="&#xf152;" horiz-adv-x="448"
d="M176 93.0996v197.801c0 10.6992 13 16.0996 20.5 8.5l98.2998 -98.9004c4.7002 -4.7002 4.7002 -12.2002 0 -16.9004l-98.2998 -98.8994c-7.5 -7.7002 -20.5 -2.2998 -20.5 8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="file" unicode="&#xf15b;" horiz-adv-x="384"
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416z" />
<glyph glyph-name="file-alt" unicode="&#xf15c;" horiz-adv-x="384"
d="M288 200v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v28c0 6.59961 5.40039 12 12 12h168c6.59961 0 12 -5.40039 12 -12zM276 128c6.59961 0 12 -5.40039 12 -12v-28c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12
v28c0 6.59961 5.40039 12 12 12h168zM384 316.1v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996l83.9004 -83.9004c9 -8.90039 14.0996 -21.2002 14.0996 -33.9004z
M256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288z" />
<glyph glyph-name="thumbs-up" unicode="&#xf164;"
d="M466.27 161.31c4.6748 -22.6465 0.864258 -44.5371 -8.98926 -62.9893c2.95898 -23.8682 -4.02148 -48.5654 -17.3398 -66.9902c-0.954102 -55.9072 -35.8232 -95.3301 -112.94 -95.3301c-7 0 -15 0.00976562 -22.2197 0.00976562
c-102.742 0 -133.293 38.9395 -177.803 39.9404c-3.56934 -13.7764 -16.085 -23.9502 -30.9775 -23.9502h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h98.7598c19.1455 16.9531 46.0137 60.6533 68.7598 83.4004
c13.667 13.667 10.1533 108.6 71.7607 108.6c57.5801 0 95.2695 -31.9355 95.2695 -104.73c0 -18.4092 -3.92969 -33.7295 -8.84961 -46.5391h36.4795c48.6025 0 85.8203 -41.5654 85.8203 -85.5801c0 -19.1504 -4.95996 -34.9902 -13.7305 -49.8408zM404.52 107.48
c21.5811 20.3838 18.6992 51.0645 5.21094 65.6191c9.44922 0 22.3594 18.9102 22.2695 37.8105c-0.0898438 18.9102 -16.71 37.8203 -37.8203 37.8203h-103.989c0 37.8193 28.3594 55.3691 28.3594 94.5391c0 23.75 0 56.7305 -47.2695 56.7305
c-18.9102 -18.9102 -9.45996 -66.1797 -37.8203 -94.54c-26.5596 -26.5703 -66.1797 -97.46 -94.54 -97.46h-10.9199v-186.17c53.6113 0 100.001 -37.8203 171.64 -37.8203h37.8203c35.5117 0 60.8203 17.1201 53.1201 65.9004
c15.2002 8.16016 26.5 36.4395 13.9395 57.5703zM88 16c0 13.2549 -10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24s24 10.7451 24 24z" />
<glyph glyph-name="thumbs-down" unicode="&#xf165;"
d="M466.27 222.69c8.77051 -14.8506 13.7305 -30.6904 13.7305 -49.8408c0 -44.0146 -37.2178 -85.5801 -85.8203 -85.5801h-36.4795c4.91992 -12.8096 8.84961 -28.1299 8.84961 -46.5391c0 -72.7949 -37.6895 -104.73 -95.2695 -104.73
c-61.6074 0 -58.0938 94.9326 -71.7607 108.6c-22.7461 22.7471 -49.6133 66.4473 -68.7598 83.4004h-7.05176c-5.5332 -9.56152 -15.8662 -16 -27.708 -16h-64c-17.6729 0 -32 14.3271 -32 32v240c0 17.6729 14.3271 32 32 32h64c8.11328 0 15.5146 -3.02539 21.1553 -8
h10.8447c40.9971 0 73.1953 39.9902 176.78 39.9902c7.21973 0 15.2197 0.00976562 22.2197 0.00976562c77.1172 0 111.986 -39.4229 112.94 -95.3301c13.3184 -18.4248 20.2979 -43.1221 17.3398 -66.9902c9.85352 -18.4521 13.6641 -40.3428 8.98926 -62.9893zM64 152
c13.2549 0 24 10.7451 24 24s-10.7451 24 -24 24s-24 -10.7451 -24 -24s10.7451 -24 24 -24zM394.18 135.27c21.1104 0 37.7305 18.9102 37.8203 37.8203c0.0898438 18.9004 -12.8203 37.8105 -22.2695 37.8105c13.4883 14.5547 16.3701 45.2354 -5.21094 65.6191
c12.5605 21.1309 1.26074 49.4102 -13.9395 57.5703c7.7002 48.7803 -17.6084 65.9004 -53.1201 65.9004h-37.8203c-71.6387 0 -118.028 -37.8203 -171.64 -37.8203v-186.17h10.9199c28.3604 0 67.9805 -70.8896 94.54 -97.46
c28.3604 -28.3604 18.9102 -75.6299 37.8203 -94.54c47.2695 0 47.2695 32.9805 47.2695 56.7305c0 39.1699 -28.3594 56.7197 -28.3594 94.5391h103.989z" />
<glyph glyph-name="sun" unicode="&#xf185;"
d="M494.2 226.1c11.2002 -7.59961 17.7998 -20.0996 17.8994 -33.6992c0 -13.4004 -6.69922 -26 -17.7998 -33.5l-59.7998 -40.5l13.7002 -71c2.5 -13.2002 -1.60059 -26.8008 -11.1006 -36.3008s-22.8994 -13.7998 -36.2998 -11.0996l-70.8994 13.7002l-40.4004 -59.9004
c-7.5 -11.0996 -20.0996 -17.7998 -33.5 -17.7998s-26 6.7002 -33.5 17.9004l-40.4004 59.8994l-70.7998 -13.7002c-13.3994 -2.59961 -26.7998 1.60059 -36.2998 11.1006s-13.7002 23.0996 -11.0996 36.2998l13.6992 71l-59.7998 40.5
c-11.0996 7.5 -17.7998 20 -17.7998 33.5s6.59961 26 17.7998 33.5996l59.7998 40.5l-13.6992 71c-2.60059 13.2002 1.59961 26.7002 11.0996 36.3008c9.5 9.59961 23 13.6992 36.2998 11.1992l70.7998 -13.6992l40.4004 59.8994c15.0996 22.2998 51.9004 22.2998 67 0
l40.4004 -59.8994l70.8994 13.6992c13 2.60059 26.6006 -1.59961 36.2002 -11.0996c9.5 -9.59961 13.7002 -23.2002 11.0996 -36.4004l-13.6992 -71zM381.3 140.5l76.7998 52.0996l-76.7998 52l17.6006 91.1006l-91 -17.6006l-51.9004 76.9004l-51.7998 -76.7998
l-91 17.5996l17.5996 -91.2002l-76.7998 -52l76.7998 -52l-17.5996 -91.1992l90.8994 17.5996l51.9004 -77l51.9004 76.9004l91 -17.6006zM256 296c57.2998 0 104 -46.7002 104 -104s-46.7002 -104 -104 -104s-104 46.7002 -104 104s46.7002 104 104 104zM256 136
c30.9004 0 56 25.0996 56 56s-25.0996 56 -56 56s-56 -25.0996 -56 -56s25.0996 -56 56 -56z" />
<glyph glyph-name="moon" unicode="&#xf186;"
d="M279.135 -64c-141.424 0 -256 114.64 -256 256c0 141.425 114.641 256 256 256c16.0342 -0.00292969 31.5078 -1.46875 46.7354 -4.27734c44.0205 -8.13086 53.7666 -66.8691 15.0215 -88.9189c-41.374 -23.5439 -67.4336 -67.4121 -67.4336 -115.836
c0 -83.5234 75.9238 -146.475 158.272 -130.792c43.6904 8.32129 74.5186 -42.5693 46.248 -77.4004c-47.8613 -58.9717 -120.088 -94.7754 -198.844 -94.7754zM279.135 400c-114.875 0 -208 -93.125 -208 -208s93.125 -208 208 -208
c65.2314 0 123.439 30.0361 161.575 77.0244c-111.611 -21.2568 -215.252 64.0957 -215.252 177.943c0 67.5127 36.9326 126.392 91.6934 157.555c-12.3271 2.27637 -25.0312 3.47754 -38.0166 3.47754z" />
<glyph glyph-name="caret-square-left" unicode="&#xf191;" horiz-adv-x="448"
d="M272 290.9v-197.801c0 -10.6992 -13 -16.0996 -20.5 -8.5l-98.2998 98.9004c-4.7002 4.7002 -4.7002 12.2002 0 16.9004l98.2998 98.8994c7.5 7.7002 20.5 2.2998 20.5 -8.39941zM448 368v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352
c0 26.5 21.5 48 48 48h352c26.5 0 48 -21.5 48 -48zM400 22v340c0 3.2998 -2.7002 6 -6 6h-340c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="dot-circle" unicode="&#xf192;"
d="M256 392c-110.549 0 -200 -89.4678 -200 -200c0 -110.549 89.4678 -200 200 -200c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200zM256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248z
M256 272c44.1826 0 80 -35.8174 80 -80s-35.8174 -80 -80 -80s-80 35.8174 -80 80s35.8174 80 80 80z" />
<glyph glyph-name="building" unicode="&#xf1ad;" horiz-adv-x="448"
d="M128 300v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12zM268 288c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40
c0 -6.59961 -5.40039 -12 -12 -12h-40zM140 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM268 192c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM192 108c0 -6.59961 -5.40039 -12 -12 -12h-40c-6.59961 0 -12 5.40039 -12 12v40c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40zM268 96c-6.59961 0 -12 5.40039 -12 12v40
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-40zM448 -28v-36h-448v36c0 6.59961 5.40039 12 12 12h19.5v440c0 13.2998 10.7002 24 24 24h337c13.2998 0 24 -10.7002 24 -24v-440h19.5
c6.59961 0 12 -5.40039 12 -12zM79.5 -15h112.5v67c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-67h112.5v414l-288.5 1z" />
<glyph glyph-name="file-pdf" unicode="&#xf1c1;" horiz-adv-x="384"
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM298.2 127.7c10.5 -10.5 8 -38.7002 -17.5 -38.7002c-14.7998 0 -36.9004 6.7998 -55.7998 17c-21.6006 -3.59961 -46 -12.7002 -68.4004 -20.0996c-50.0996 -86.4004 -79.4004 -47 -76.0996 -31.2002
c4 20 31 35.8994 51 46.2002c10.5 18.3994 25.3994 50.5 35.3994 74.3994c-7.39941 28.6006 -11.3994 51 -7 67.1006c4.7998 17.6992 38.4004 20.2998 42.6006 -5.90039c4.69922 -15.4004 -1.5 -39.9004 -5.40039 -56c8.09961 -21.2998 19.5996 -35.7998 36.7998 -46.2998
c17.4004 2.2002 52.2002 5.5 64.4004 -6.5zM100.1 49.9004c0 -0.700195 11.4004 4.69922 30.4004 35c-5.90039 -5.5 -25.2998 -21.3008 -30.4004 -35zM181.7 240.5c-2.5 0 -2.60059 -26.9004 1.7998 -40.7998c4.90039 8.7002 5.59961 40.7998 -1.7998 40.7998zM157.3 103.9
c15.9004 6.09961 34 14.8994 54.7998 19.1992c-11.1992 8.30078 -21.7998 20.4004 -30.0996 35.5c-6.7002 -17.6992 -15 -37.7998 -24.7002 -54.6992zM288.9 108.9c3.59961 2.39941 -2.2002 10.3994 -37.3008 7.7998c32.3008 -13.7998 37.3008 -7.7998 37.3008 -7.7998z" />
<glyph glyph-name="file-word" unicode="&#xf1c2;" horiz-adv-x="384"
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM268.1 192v0.200195h15.8008c7.7998 0 13.5 -7.2998 11.5996 -14.9004c-4.2998 -17 -13.7002 -54.0996 -34.5 -136c-1.2998 -5.39941 -6.09961 -9.09961 -11.5996 -9.09961h-24.7002
c-5.5 0 -10.2998 3.7998 -11.6006 9.09961c-5.2998 20.9004 -17.7998 71 -17.8994 71.4004l-2.90039 17.2998c-0.5 -5.2998 -1.5 -11.0996 -3 -17.2998l-17.8994 -71.4004c-1.30078 -5.39941 -6.10059 -9.09961 -11.6006 -9.09961h-25.2002
c-5.59961 0 -10.3994 3.7002 -11.6992 9.09961c-6.5 26.5 -25.2002 103.4 -33.2002 136c-1.7998 7.5 3.89941 14.7998 11.7002 14.7998h16.7998c5.7998 0 10.7002 -4.09961 11.7998 -9.69922c5 -25.7002 18.4004 -93.8008 19.0996 -99
c0.300781 -1.7002 0.400391 -3.10059 0.5 -4.2002c0.800781 7.5 0.400391 4.7002 24.8008 103.7c1.39941 5.2998 6.19922 9.09961 11.6992 9.09961h13.3008c5.59961 0 10.3994 -3.7998 11.6992 -9.2002c23.9004 -99.7002 22.8008 -94.3994 23.6006 -99.5
c0.299805 -1.7002 0.5 -3.09961 0.700195 -4.2998c0.599609 8.09961 0.399414 5.7998 21 103.5c1.09961 5.5 6 9.5 11.6992 9.5z" />
<glyph glyph-name="file-excel" unicode="&#xf1c3;" horiz-adv-x="384"
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM260 224c9.2002 0 15 -10 10.2998 -18c-16 -27.5 -45.5996 -76.9004 -46.2998 -78l46.4004 -78c4.59961 -8 -1.10059 -18 -10.4004 -18h-28.7998c-4.40039 0 -8.5 2.40039 -10.6006 6.2998
c-22.6992 41.7998 -13.6992 27.5 -28.5996 57.7002c-5.59961 -12.7002 -6.90039 -17.7002 -28.5996 -57.7002c-2.10059 -3.89941 -6.10059 -6.2998 -10.5 -6.2998h-28.9004c-9.2998 0 -15.0996 10 -10.4004 18l46.3008 78l-46.3008 78c-4.59961 8 1.10059 18 10.4004 18
h28.9004c4.39941 0 8.5 -2.40039 10.5996 -6.2998c21.7002 -40.4004 14.7002 -28.6006 28.5996 -57.7002c6.40039 15.2998 10.6006 24.5996 28.6006 57.7002c2.09961 3.89941 6.09961 6.2998 10.5 6.2998h28.7998z" />
<glyph glyph-name="file-powerpoint" unicode="&#xf1c4;" horiz-adv-x="384"
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM120 44v168c0 6.59961 5.40039 12 12 12h69.2002c36.7002 0 62.7998 -27 62.7998 -66.2998c0 -74.2998 -68.7002 -66.5 -95.5 -66.5v-47.2002c0 -6.59961 -5.40039 -12 -12 -12h-24.5c-6.59961 0 -12 5.40039 -12 12z
M168.5 131.4h23c7.90039 0 13.9004 2.39941 18.0996 7.19922c8.5 9.80078 8.40039 28.5 0.100586 37.8008c-4.10059 4.59961 -9.90039 7 -17.4004 7h-23.8994v-52h0.0996094z" />
<glyph glyph-name="file-image" unicode="&#xf1c5;" horiz-adv-x="384"
d="M369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM332.1 320l-76.0996 76.0996v-76.0996h76.0996zM48 -16h288v288
h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416zM80 32v64l39.5 39.5c4.7002 4.7002 12.2998 4.7002 17 0l39.5 -39.5l87.5 87.5c4.7002 4.7002 12.2998 4.7002 17 0l23.5 -23.5v-128h-224zM128 272c26.5 0 48 -21.5 48 -48s-21.5 -48 -48 -48s-48 21.5 -48 48
s21.5 48 48 48z" />
<glyph glyph-name="file-archive" unicode="&#xf1c6;" horiz-adv-x="384"
d="M128.3 288h32v-32h-32v32zM192.3 384v-32h-32v32h32zM128.3 352h32v-32h-32v32zM192.3 320v-32h-32v32h32zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1
c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-48.2998v-16h-32v16h-79.7002v-416h288zM194.2 182.3l17.2998 -87.7002c6.40039 -32.3994 -18.4004 -62.5996 -51.5 -62.5996
c-33.2002 0 -58 30.4004 -51.4004 62.9004l19.7002 97.0996v32h32v-32h22.1006c5.7998 0 10.6992 -4.09961 11.7998 -9.7002zM160.3 57.9004c17.9004 0 32.4004 12.0996 32.4004 27c0 14.8994 -14.5 27 -32.4004 27c-17.8994 0 -32.3994 -12.1006 -32.3994 -27
c0 -14.9004 14.5 -27 32.3994 -27zM192.3 256v-32h-32v32h32z" />
<glyph glyph-name="file-audio" unicode="&#xf1c7;" horiz-adv-x="384"
d="M369.941 350.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM332.118 320
l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM192 60.0244c0 -10.6914 -12.9258 -16.0459 -20.4854 -8.48535l-35.5146 35.9746h-28c-6.62695 0 -12 5.37305 -12 12v56c0 6.62695 5.37305 12 12 12h28
l35.5146 36.9473c7.56055 7.56055 20.4854 2.20605 20.4854 -8.48535v-135.951zM233.201 107.154c9.05078 9.29688 9.05957 24.1328 0.000976562 33.4385c-22.1494 22.752 12.2344 56.2461 34.3945 33.4814c27.1982 -27.9404 27.2119 -72.4443 0.000976562 -100.401
c-21.793 -22.3857 -56.9463 10.3154 -34.3965 33.4814z" />
<glyph glyph-name="file-video" unicode="&#xf1c8;" horiz-adv-x="384"
d="M369.941 350.059c8.68848 -8.68848 14.0586 -20.6943 14.0586 -33.9404v-332.118c0 -26.5098 -21.4902 -48 -48 -48h-288c-26.5098 0 -48 21.4902 -48 48v416c0 26.5098 21.4902 48 48 48h204.118c13.2461 0 25.252 -5.37012 33.9404 -14.0586zM332.118 320
l-76.1182 76.1182v-76.1182h76.1182zM48 -16h288v288h-104c-13.2549 0 -24 10.7451 -24 24v104h-160v-416zM276.687 195.303c10.0049 10.0049 27.3135 2.99707 27.3135 -11.3135v-111.976c0 -14.2939 -17.2959 -21.332 -27.3135 -11.3135l-52.6865 52.6738v-37.374
c0 -11.0459 -8.9541 -20 -20 -20h-104c-11.0459 0 -20 8.9541 -20 20v104c0 11.0459 8.9541 20 20 20h104c11.0459 0 20 -8.9541 20 -20v-37.374z" />
<glyph glyph-name="file-code" unicode="&#xf1c9;" horiz-adv-x="384"
d="M149.9 98.9004c3.5 -3.30078 3.69922 -8.90039 0.399414 -12.4004l-17.3994 -18.5996c-1.60059 -1.80078 -4 -2.80078 -6.40039 -2.80078c-2.2002 0 -4.40039 0.900391 -6 2.40039l-57.7002 54.0996c-3.7002 3.40039 -3.7002 9.30078 0 12.8008l57.7002 54.0996
c3.40039 3.2998 9 3.2002 12.4004 -0.400391l17.3994 -18.5996l0.200195 -0.200195c3.2002 -3.59961 2.7998 -9.2002 -0.799805 -12.3994l-32.7998 -28.9004l32.7998 -28.9004zM369.9 350.1c9 -9 14.0996 -21.2998 14.0996 -34v-332.1c0 -26.5 -21.5 -48 -48 -48h-288
c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48.0996h204.1c12.7002 0 24.9004 -5.09961 33.9004 -14.0996zM256 396.1v-76.0996h76.0996zM336 -16v288h-104c-13.2998 0 -24 10.7002 -24 24v104h-160v-416h288zM209.6 234l24.4004 -7
c4.7002 -1.2998 7.40039 -6.2002 6 -10.9004l-54.7002 -188.199c-1.2998 -4.60059 -6.2002 -7.40039 -10.8994 -6l-24.4004 7.09961c-4.7002 1.2998 -7.40039 6.2002 -6 10.9004l54.7002 188.1c1.39941 4.7002 6.2002 7.40039 10.8994 6zM234.1 157.1
c-3.5 3.30078 -3.69922 8.90039 -0.399414 12.4004l17.3994 18.5996c3.30078 3.60059 8.90039 3.7002 12.4004 0.400391l57.7002 -54.0996c3.7002 -3.40039 3.7002 -9.30078 0 -12.8008l-57.7002 -54.0996c-3.5 -3.2998 -9.09961 -3.09961 -12.4004 0.400391
l-17.3994 18.5996l-0.200195 0.200195c-3.2002 3.59961 -2.7998 9.2002 0.799805 12.3994l32.7998 28.9004l-32.7998 28.9004z" />
<glyph glyph-name="life-ring" unicode="&#xf1cd;"
d="M256 -56c-136.967 0 -248 111.033 -248 248s111.033 248 248 248s248 -111.033 248 -248s-111.033 -248 -248 -248zM152.602 20.7197c63.2178 -38.3184 143.579 -38.3184 206.797 0l-53.4111 53.4111c-31.8467 -13.5215 -68.168 -13.5059 -99.9746 0zM336 192
c0 44.1123 -35.8877 80 -80 80s-80 -35.8877 -80 -80s35.8877 -80 80 -80s80 35.8877 80 80zM427.28 88.6016c38.3184 63.2178 38.3184 143.579 0 206.797l-53.4111 -53.4111c13.5215 -31.8467 13.5049 -68.168 0 -99.9746zM359.397 363.28
c-63.2168 38.3184 -143.578 38.3184 -206.796 0l53.4111 -53.4111c31.8457 13.5215 68.167 13.5049 99.9736 0zM84.7197 295.398c-38.3184 -63.2178 -38.3184 -143.579 0 -206.797l53.4111 53.4111c-13.5215 31.8467 -13.5059 68.168 0 99.9746z" />
<glyph glyph-name="paper-plane" unicode="&#xf1d8;"
d="M440 441.5c34.5996 19.9004 77.5996 -8.7998 71.5 -48.9004l-59.4004 -387.199c-2.2998 -14.5 -11.0996 -27.3008 -23.8994 -34.5c-7.2998 -4.10059 -15.4004 -6.2002 -23.6006 -6.2002c-6.19922 0 -12.3994 1.2002 -18.2998 3.59961l-111.899 46.2002l-43.8008 -59.0996
c-27.3994 -36.9004 -86.5996 -17.8008 -86.5996 28.5996v84.4004l-114.3 47.2998c-36.7998 15.0996 -40.1006 66 -5.7002 85.8994zM192 -16l36.5996 49.5l-36.5996 15.0996v-64.5996zM404.6 12.7002l59.4004 387.3l-416 -240l107.8 -44.5996l211.5 184.3
c14.2002 12.2998 34.4004 -5.7002 23.7002 -21.2002l-140.2 -202.3z" />
<glyph glyph-name="futbol" unicode="&#xf1e3;" horiz-adv-x="496"
d="M483.8 268.6c42.2998 -130.199 -29 -270.1 -159.2 -312.399c-25.5 -8.2998 -51.2998 -12.2002 -76.6992 -12.2002c-104.5 0 -201.7 66.5996 -235.7 171.4c-42.2998 130.199 29 270.1 159.2 312.399c25.5 8.2998 51.2998 12.2002 76.6992 12.2002
c104.5 0 201.7 -66.5996 235.7 -171.4zM409.3 74.9004c6.10059 8.39941 12.1006 16.8994 16.7998 26.1992c14.3008 28.1006 21.5 58.5 21.7002 89.2002l-38.8994 36.4004l-71.1006 -22.1006l-24.3994 -75.1992l43.6992 -60.9004zM409.3 310.3
c-24.5 33.4004 -58.7002 58.4004 -97.8994 71.4004l-47.4004 -26.2002v-73.7998l64.2002 -46.5l70.7002 22zM184.9 381.6c-39.9004 -13.2998 -73.5 -38.5 -97.8008 -71.8994l10.1006 -52.5l70.5996 -22l64.2002 46.5v73.7998zM139 68.5l43.5 61.7002l-24.2998 74.2998
l-71.1006 22.2002l-39 -36.4004c0.5 -55.7002 23.4004 -95.2002 37.8008 -115.3zM187.2 1.5c64.0996 -20.4004 115.5 -1.7998 121.7 0l22.3994 48.0996l-44.2998 61.7002h-78.5996l-43.6006 -61.7002z" />
<glyph glyph-name="newspaper" unicode="&#xf1ea;" horiz-adv-x="576"
d="M552 384c13.2549 0 24 -10.7451 24 -24v-336c0 -13.2549 -10.7451 -24 -24 -24h-496c-30.9277 0 -56 25.0723 -56 56v272c0 13.2549 10.7451 24 24 24h42.752c6.60547 18.623 24.3896 32 45.248 32h440zM48 56c0 -4.41113 3.58887 -8 8 -8s8 3.58887 8 8v248h-16v-248z
M528 48v288h-416v-280c0 -2.7168 -0.204102 -5.38574 -0.578125 -8h416.578zM172 168c-6.62695 0 -12 5.37305 -12 12v96c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-96c0 -6.62695 -5.37305 -12 -12 -12h-136zM200 248v-40h80v40h-80zM160 108v24
c0 6.62695 5.37305 12 12 12h136c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-136c-6.62695 0 -12 5.37305 -12 12zM352 108v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104
c-6.62695 0 -12 5.37305 -12 12zM352 252v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12zM352 180v24c0 6.62695 5.37305 12 12 12h104c6.62695 0 12 -5.37305 12 -12v-24
c0 -6.62695 -5.37305 -12 -12 -12h-104c-6.62695 0 -12 5.37305 -12 12z" />
<glyph glyph-name="bell-slash" unicode="&#xf1f6;" horiz-adv-x="640"
d="M633.99 -23.0195c6.91016 -5.52051 8.01953 -15.5908 2.5 -22.4902l-10 -12.4902c-5.53027 -6.88965 -15.5898 -8.00977 -22.4902 -2.49023l-598 467.51c-6.90039 5.52051 -8.01953 15.5908 -2.49023 22.4902l10 12.4902
c5.52051 6.90039 15.5898 8.00977 22.4902 2.49023zM163.53 80h182.84l61.3994 -48h-279.659c-19.1201 0 -31.9902 15.5996 -32.1006 32c-0.0498047 7.5498 2.61035 15.2598 8.61035 21.71c18.3701 19.7402 51.5703 49.6904 54.8398 140.42l45.4697 -35.5498
c-6.91992 -54.7803 -24.6895 -88.5498 -41.3994 -110.58zM320 352c-23.3496 0 -45 -7.17969 -62.9404 -19.4004l-38.1699 29.8408c19.6807 15.7793 43.1104 27.3096 69.1299 32.7197v20.8398c0 17.6699 14.3203 32 31.9805 32s31.9805 -14.3301 31.9805 -32v-20.8398
c73.46 -15.2598 127.939 -77.46 127.939 -155.16c0 -41.3604 6.03027 -70.7197 14.3398 -92.8496l-59.5293 46.54c-1.63086 13.96 -2.77051 28.8896 -2.79004 45.7295c0 0.200195 0.0595703 0.379883 0.0595703 0.580078c0 61.8604 -50.1396 112 -112 112zM320 -64
c-35.3203 0 -63.9697 28.6504 -63.9697 64h127.939c0 -35.3496 -28.6494 -64 -63.9697 -64z" />
<glyph glyph-name="copyright" unicode="&#xf1f9;"
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z
M363.351 93.0645c-9.61328 -9.71289 -45.5293 -41.3965 -104.064 -41.3965c-82.4297 0 -140.484 61.4248 -140.484 141.567c0 79.1514 60.2754 139.4 139.763 139.4c55.5303 0 88.7373 -26.6201 97.5928 -34.7783c2.37793 -2.1875 3.86914 -5.3252 3.86914 -8.80762
c0 -2.39746 -0.717773 -4.64258 -1.93359 -6.51465l-18.1543 -28.1133c-3.8418 -5.9502 -11.9668 -7.28223 -17.499 -2.9209c-8.5957 6.77637 -31.8145 22.5381 -61.708 22.5381c-48.3037 0 -77.916 -35.3301 -77.916 -80.082c0 -41.5889 26.8877 -83.6924 78.2764 -83.6924
c32.6572 0 56.8428 19.0391 65.7266 27.2256c5.26953 4.85645 13.5957 4.03906 17.8193 -1.73828l19.8652 -27.1699c1.45996 -1.98145 2.32422 -4.42969 2.32422 -7.07715c0 -3.28809 -1.32422 -6.2793 -3.47656 -8.44043z" />
<glyph glyph-name="closed-captioning" unicode="&#xf20a;"
d="M464 384c26.5 0 48 -21.5 48 -48v-288c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v288c0 26.5 21.5 48 48 48h416zM458 48c3.2998 0 6 2.7002 6 6v276c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-276c0 -3.2998 2.7002 -6 6 -6h404z
M246.9 133.7c1.69922 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.6006 -56.7998 -172.801 -32.0996 -172.801 67.9004c0 97.2998 121.7 119.5 172.5 70.0996c2.10059 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.89941 -3.09961 -6.19922 -4 -9.09961 -1.7002
c-40.7998 32 -94.5996 14.9004 -94.5996 -31.1992c0 -48 51 -70.5 92.1992 -32.6006c2.80078 2.5 7.10059 2.10059 9.2002 -0.899414zM437.3 133.7c1.7002 -2.40039 1.5 -5.60059 -0.5 -7.7002c-53.5996 -56.9004 -172.8 -32.0996 -172.8 67.9004
c0 97.2998 121.7 119.5 172.5 70.0996c2.09961 -2 2.5 -3.2002 1 -5.7002l-17.5 -30.5c-1.90039 -3.09961 -6.2002 -4 -9.09961 -1.7002c-40.8008 32 -94.6006 14.9004 -94.6006 -31.1992c0 -48 51 -70.5 92.2002 -32.6006c2.7998 2.5 7.09961 2.10059 9.2002 -0.899414z
" />
<glyph glyph-name="object-group" unicode="&#xf247;"
d="M500 320h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v256h-12
c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM448 384v-32h32v32h-32zM32 384v-32h32v32h-32zM64 0v32
h-32v-32h32zM480 0v32h-32v-32h32zM440 64v256h-12c-6.62695 0 -12 5.37305 -12 12v12h-320v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-256h12c6.62695 0 12 -5.37305 12 -12v-12h320v12c0 6.62695 5.37305 12 12 12h12zM404 256c6.62695 0 12 -5.37207 12 -12v-168
c0 -6.62793 -5.37305 -12 -12 -12h-200c-6.62695 0 -12 5.37207 -12 12v52h-84c-6.62695 0 -12 5.37207 -12 12v168c0 6.62793 5.37305 12 12 12h200c6.62695 0 12 -5.37207 12 -12v-52h84zM136 280v-112h144v112h-144zM376 104v112h-56v-76
c0 -6.62793 -5.37305 -12 -12 -12h-76v-24h144z" />
<glyph glyph-name="object-ungroup" unicode="&#xf248;" horiz-adv-x="576"
d="M564 224h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v24h-88v-12
c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v72c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h72
c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-12v-24h88v12c0 6.62695 5.37305 12 12 12h72c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12zM352 384v-32h32v32h-32zM352 128v-32h32v32h-32zM64 96v32h-32v-32h32zM64 352v32
h-32v-32h32zM96 136h224v12c0 6.62695 5.37305 12 12 12h12v160h-12c-6.62695 0 -12 5.37305 -12 12v12h-224v-12c0 -6.62695 -5.37305 -12 -12 -12h-12v-160h12c6.62695 0 12 -5.37305 12 -12v-12zM224 0v32h-32v-32h32zM504 64v160h-12c-6.62695 0 -12 5.37305 -12 12v12
h-88v-88h12c6.62695 0 12 -5.37305 12 -12v-72c0 -6.62695 -5.37305 -12 -12 -12h-72c-6.62695 0 -12 5.37305 -12 12v12h-88v-24h12c6.62695 0 12 -5.37305 12 -12v-12h224v12c0 6.62695 5.37305 12 12 12h12zM544 0v32h-32v-32h32zM544 256v32h-32v-32h32z" />
<glyph glyph-name="sticky-note" unicode="&#xf249;" horiz-adv-x="448"
d="M448 99.8936c0 -13.2451 -5.37012 -25.252 -14.0586 -33.9404l-83.8828 -83.8818c-8.68848 -8.68848 -20.6943 -14.0596 -33.9404 -14.0596h-268.118c-26.5098 0 -48 21.4902 -48 48v351.988c0 26.5098 21.4902 48 48 48h352c26.5098 0 48 -21.4902 48 -48v-268.106z
M320 19.8936l76.1182 76.1182h-76.1182v-76.1182zM400 368h-352v-351.988h224v104c0 13.2549 10.7451 24 24 24h104v223.988z" />
<glyph glyph-name="clone" unicode="&#xf24d;"
d="M464 448c26.5098 0 48 -21.4902 48 -48v-320c0 -26.5098 -21.4902 -48 -48 -48h-48v-48c0 -26.5098 -21.4902 -48 -48 -48h-320c-26.5098 0 -48 21.4902 -48 48v320c0 26.5098 21.4902 48 48 48h48v48c0 26.5098 21.4902 48 48 48h320zM362 -16c3.31152 0 6 2.68848 6 6
v42h-224c-26.5098 0 -48 21.4902 -48 48v224h-42c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308zM458 80c3.31152 0 6 2.68848 6 6v308c0 3.31152 -2.68848 6 -6 6h-308c-3.31152 0 -6 -2.68848 -6 -6v-308c0 -3.31152 2.68848 -6 6 -6h308z" />
<glyph glyph-name="hourglass" unicode="&#xf254;" horiz-adv-x="384"
d="M368 400c0 -80.0996 -31.8984 -165.619 -97.1797 -208c64.9912 -42.1934 97.1797 -127.436 97.1797 -208h4c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-360c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h4
c0 80.0996 31.8994 165.619 97.1797 208c-64.9912 42.1934 -97.1797 127.436 -97.1797 208h-4c-6.62695 0 -12 5.37305 -12 12v24c0 6.62695 5.37305 12 12 12h360c6.62695 0 12 -5.37305 12 -12v-24c0 -6.62695 -5.37305 -12 -12 -12h-4zM64 400
c0 -101.621 57.3066 -184 128 -184s128 82.3799 128 184h-256zM320 -16c0 101.62 -57.3076 184 -128 184s-128 -82.3799 -128 -184h256z" />
<glyph glyph-name="hand-rock" unicode="&#xf255;"
d="M408.864 368.948c48.8213 20.751 103.136 -15.0723 103.136 -67.9111v-114.443c0 -15.3955 -3.08887 -30.3906 -9.18262 -44.5674l-42.835 -99.6562c-4.99707 -11.625 -3.98242 -18.8574 -3.98242 -42.3701c0 -17.6729 -14.3271 -32 -32 -32h-252
c-17.6729 0 -32 14.3271 -32 32c0 27.3301 1.1416 29.2012 -3.11035 32.9033l-97.71 85.0811c-24.8994 21.6797 -39.1797 52.8926 -39.1797 85.6338v56.9531c0 47.4277 44.8457 82.0215 91.0459 71.1807c1.96094 55.751 63.5107 87.8262 110.671 60.8057
c29.1895 31.0713 78.8604 31.4473 108.334 -0.0214844c32.7051 18.6846 76.4121 10.3096 98.8135 -23.5879zM464 186.594v114.445c0 34.29 -52 33.8232 -52 0.676758c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v26.751
c0 34.457 -52 33.707 -52 0.676758v-27.4287c0 -8.83594 -7.16309 -16 -16 -16h-7c-8.83691 0 -16 7.16406 -16 16v40.4658c0 34.3525 -52 33.8115 -52 0.677734v-41.1436c0 -8.83594 -7.16406 -16 -16 -16h-7c-8.83594 0 -16 7.16406 -16 16v26.751
c0 34.4023 -52 33.7744 -52 0.676758v-116.571c0 -8.83105 -7.17773 -15.9961 -16.0078 -15.9961c-4.0166 0 -7.68848 1.48242 -10.499 3.92969l-7 6.09473c-3.37012 2.93457 -5.49316 7.25293 -5.49316 12.0674v41.2275c0 34.2148 -52 33.8857 -52 0.677734v-56.9531
c0 -18.8555 8.27441 -36.874 22.7002 -49.4365l97.71 -85.0801c12.4502 -10.8398 19.5898 -26.4463 19.5898 -42.8164v-10.2861h220v7.07617c0 13.21 2.65332 26.0791 7.88281 38.25l42.835 99.6553c3.37891 7.82715 5.28223 16.501 5.28223 25.5625v0.0498047z" />
<glyph glyph-name="hand-paper" unicode="&#xf256;" horiz-adv-x="448"
d="M372.57 335.359c39.9062 5.63281 75.4297 -25.7393 75.4297 -66.3594v-131.564c-0.00292969 -15.7393 -1.80566 -30.9482 -5.19531 -45.666l-30.1836 -130.958c-3.34668 -14.5234 -16.2783 -24.8125 -31.1816 -24.8125h-222.897
c-10.7539 0 -20.2588 5.28613 -26.0615 13.4316l-119.97 168.415c-21.2441 29.8203 -14.8047 71.3574 14.5498 93.1533c18.7754 13.9395 42.1309 16.2979 62.083 8.87109v126.13c0 44.0547 41.125 75.5439 82.4053 64.9834c23.8926 48.1963 92.3535 50.2471 117.982 0.74707
c42.5186 11.1445 83.0391 -21.9346 83.0391 -65.5469v-10.8242zM399.997 137.437l-0.00195312 131.563c0 24.9492 -36.5703 25.5508 -36.5703 -0.691406v-76.3086c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v154.184
c0 25.501 -36.5703 26.3633 -36.5703 0.691406v-154.875c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v188.309c0 25.501 -36.5703 26.3545 -36.5703 0.691406v-189c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16
v153.309c0 25.501 -36.5713 26.3359 -36.5713 0.691406v-206.494c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832l-27.1279 38.0791c-14.3711 20.1709 -43.833 -2.33496 -29.3945 -22.6045l115.196 -161.697h201.92l27.3252 118.551
c2.63086 11.417 3.96484 23.1553 3.96484 34.8857z" />
<glyph glyph-name="hand-scissors" unicode="&#xf257;"
d="M256 -32c-44.9561 0 -77.3428 43.2627 -64.0244 85.8535c-21.6484 13.71 -34.0156 38.7617 -30.3408 65.0068h-87.6348c-40.8037 0 -74 32.8105 -74 73.1406c0 40.3291 33.1963 73.1396 74 73.1396l94 -9.14062l-78.8496 18.6787
c-38.3076 14.7422 -57.04 57.4707 -41.9424 95.1123c15.0303 37.4736 57.7549 55.7803 95.6416 41.2012l144.929 -55.7568c24.9551 30.5566 57.8086 43.9932 92.2178 24.7324l97.999 -54.8525c20.9746 -11.7393 34.0049 -33.8457 34.0049 -57.6904v-205.702
c0 -30.7422 -21.4404 -57.5576 -51.7979 -64.5537l-118.999 -27.4268c-4.97168 -1.14648 -10.0889 -1.72949 -15.2031 -1.72949zM256 16.0127l70 -0.000976562c1.52441 0 2.99707 0.174805 4.42285 0.501953l119.001 27.4277
c8.58203 1.97754 14.5762 9.29102 14.5762 17.7812v205.701c0 6.4873 -3.62109 12.542 -9.44922 15.8047l-98 54.8545c-8.13965 4.55566 -18.668 2.61914 -24.4873 -4.50781l-21.7646 -26.6475c-2.93457 -3.59375 -7.40332 -5.87305 -12.4004 -5.87305
c-2.02246 0 -3.95703 0.375977 -5.73828 1.06152l-166.549 64.0908c-32.6543 12.5664 -50.7744 -34.5771 -19.2227 -46.7168l155.357 -59.7852c6 -2.30859 10.2539 -8.12402 10.2539 -14.9326v-11.6328c0 -8.83691 -7.16309 -16 -16 -16h-182
c-34.375 0 -34.4297 -50.2803 0 -50.2803h182c8.83691 0 16 -7.16309 16 -16v-6.85645c0 -8.83691 -7.16309 -16 -16 -16h-28c-25.1221 0 -25.1592 -36.5674 0 -36.5674h28c8.83691 0 16 -7.16211 16 -16v-6.85547c0 -8.83691 -7.16309 -16 -16 -16
c-25.1201 0 -25.1602 -36.5674 0 -36.5674z" />
<glyph glyph-name="hand-lizard" unicode="&#xf258;" horiz-adv-x="576"
d="M556.686 157.458c12.6357 -19.4863 19.3145 -42.0615 19.3145 -65.2871v-124.171h-224v71.582l-99.751 38.7871c-2.7832 1.08203 -5.70996 1.63086 -8.69727 1.63086h-131.552c-30.8789 0 -56 25.1211 -56 56c0 48.5234 39.4766 88 88 88h113.709l18.333 48h-196.042
c-44.1123 0 -80 35.8877 -80 80v8c0 30.8779 25.1211 56 56 56h293.917c24.5 0 47.084 -12.2725 60.4111 -32.8291zM528 16v76.1709c0 0.0166016 -0.0439453 0.106445 -0.0439453 0.12207c0 14.3945 -4.24219 27.8057 -11.5439 39.0498l-146.358 225.715
c-4.44336 6.85254 -11.9707 10.9424 -20.1367 10.9424h-293.917c-4.41113 0 -8 -3.58887 -8 -8v-8c0 -17.6445 14.3555 -32 32 -32h213.471c25.2021 0 42.626 -25.293 33.6299 -48.8457l-24.5518 -64.2812c-7.05371 -18.4658 -25.0732 -30.873 -44.8398 -30.873h-113.709
c-22.0557 0 -40 -17.9443 -40 -40c0 -4.41113 3.58887 -8 8 -8h131.552c0.0175781 0 0.0712891 -0.0273438 0.0888672 -0.0273438c9.16992 0 17.9404 -1.72461 26.0039 -4.86621l99.752 -38.7881c18.5898 -7.22852 30.6035 -24.7881 30.6035 -44.7363v-23.582h128z" />
<glyph glyph-name="hand-spock" unicode="&#xf259;"
d="M501.03 331.824c6.92773 -11.1826 10.9697 -24.4053 10.9697 -38.5146c0 -5.92676 -0.706055 -11.6885 -2.03809 -17.208l-57.623 -241.963c-13.2236 -56.1904 -63.707 -98.1387 -123.908 -98.1387h-0.352539h-107.455
c-0.0761719 0 -0.193359 0.00195312 -0.270508 0.00195312c-40.9248 0 -78.1475 15.9814 -105.761 42.0391l-91.3652 85.9766c-14.3076 13.4434 -23.2246 32.5547 -23.2246 53.7168c0 19.5254 7.61035 37.2861 20.0254 50.4766
c5.31836 5.66406 29.875 29.3926 68.1152 21.8477l-24.3594 82.1973c-1.97363 6.64844 -2.97656 13.6836 -2.97656 20.9688c0 38.6953 29.8926 70.4639 67.8262 73.4531c-0.246094 2.45117 -0.34082 4.85547 -0.34082 7.37207c0 34.4199 23.585 63.376 55.4619 71.5752
c43.248 10.9785 80.5645 -17.7012 89.6602 -53.0723l13.6836 -53.207l4.64648 22.6602c6.99023 33.5186 36.6826 58.8037 72.2373 58.916c8.73438 0 56.625 -3.26953 70.7383 -54.0801c15.0664 0.710938 46.9199 -3.50977 66.3105 -35.0176zM463.271 287.219
c7.86914 32.9844 -42.1211 45.2695 -50.0859 11.9219l-24.8008 -104.146c-4.38867 -18.4141 -31.7783 -11.8926 -28.0557 6.2168l28.5479 139.166c7.39844 36.0703 -43.3076 45.0703 -50.1182 11.9629l-31.791 -154.971
c-3.54883 -17.3086 -28.2832 -18.0469 -32.7109 -0.804688l-47.3262 184.035c-8.43359 32.8105 -58.3691 20.2676 -49.8652 -12.8359l42.4414 -165.039c4.81641 -18.7207 -23.3711 -26.9121 -28.9648 -8.00781l-31.3438 105.779
c-9.6875 32.6465 -59.1191 18.2578 -49.3867 -14.625l36.0137 -121.539c6.59375 -22.2441 10.1777 -45.7803 10.1777 -70.1523c0 -6.54297 -8.05664 -10.9355 -13.4824 -5.82617l-51.123 48.1074c-24.7852 23.4082 -60.0527 -14.1875 -35.2793 -37.4902l91.3691 -85.9805
c19.0469 -17.9736 44.75 -28.998 72.9795 -28.998h0.157227h107.455c0.0732422 0 0.138672 0.0429688 0.212891 0.0429688c37.5791 0 69.1016 26.1416 77.3564 61.2168z" />
<glyph glyph-name="hand-pointer" unicode="&#xf25a;" horiz-adv-x="448"
d="M358.182 268.639c43.1934 16.6348 89.8184 -15.7949 89.8184 -62.6387v-84c-0.000976562 -5.24023 -0.600586 -10.3037 -1.72754 -15.2041l-27.4297 -118.999c-6.98242 -30.2969 -33.7549 -51.7969 -64.5566 -51.7969h-178.286
c-21.2588 0 -41.3682 10.4102 -53.791 27.8457l-109.699 154.001c-21.2432 29.8193 -14.8047 71.3574 14.5498 93.1523c18.8115 13.9658 42.1748 16.2822 62.083 8.87207v161.129c0 36.9443 29.7363 67 66.2861 67s66.2861 -30.0557 66.2861 -67v-73.6338
c20.4131 2.85742 41.4678 -3.94238 56.5947 -19.6289c27.1934 12.8467 60.3799 5.66992 79.8721 -19.0986zM80.9854 168.303c-14.4004 20.2119 -43.8008 -2.38281 -29.3945 -22.6055l109.712 -154c3.43457 -4.81934 8.92871 -7.69727 14.6973 -7.69727h178.285
c8.49219 0 15.8037 5.99414 17.7822 14.5762l27.4297 119.001c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285v84c0 25.1602 -36.5713 25.1211 -36.5713 0c0 -8.83594 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16406 -16 16v21
c0 25.1602 -36.5713 25.1201 -36.5713 0v-21c0 -8.83594 -7.16309 -16 -16 -16h-6.85938c-8.83691 0 -16 7.16406 -16 16v35c0 25.1602 -36.5703 25.1201 -36.5703 0v-35c0 -8.83594 -7.16309 -16 -16 -16h-6.85742c-8.83691 0 -16 7.16406 -16 16v175
c0 25.1602 -36.5713 25.1201 -36.5713 0v-241.493c0 -15.5703 -20.0352 -21.9092 -29.0303 -9.2832zM176.143 48v96c0 8.83691 6.26855 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16zM251.571 48v96
c0 8.83691 6.26758 16 14 16h6c7.73145 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26855 -16 -14 -16h-6c-7.73242 0 -14 7.16309 -14 16zM327 48v96c0 8.83691 6.26758 16 14 16h6c7.73242 0 14 -7.16309 14 -16v-96c0 -8.83691 -6.26758 -16 -14 -16h-6
c-7.73242 0 -14 7.16309 -14 16z" />
<glyph glyph-name="hand-peace" unicode="&#xf25b;" horiz-adv-x="448"
d="M362.146 256.024c42.5908 13.3184 85.8535 -19.0684 85.8535 -64.0244l-0.0117188 -70.001c-0.000976562 -5.24023 -0.600586 -10.3027 -1.72949 -15.2031l-27.4268 -118.999c-6.99707 -30.3564 -33.8105 -51.7969 -64.5547 -51.7969h-205.702
c-23.8447 0 -45.9502 13.0303 -57.6904 34.0059l-54.8525 97.999c-19.2607 34.4092 -5.82422 67.2617 24.7324 92.2178l-55.7568 144.928c-14.5791 37.8867 3.72754 80.6113 41.2012 95.6416c37.6406 15.0977 80.3691 -3.63477 95.1123 -41.9424l18.6787 -78.8496
l-9.14062 94c0 40.8037 32.8096 74 73.1396 74s73.1406 -33.1963 73.1406 -74v-87.6348c26.2451 3.6748 51.2959 -8.69238 65.0068 -30.3408zM399.987 122l-0.000976562 70c0 25.1602 -36.5674 25.1201 -36.5674 0c0 -8.83691 -7.16309 -16 -16 -16h-6.85547
c-8.83789 0 -16 7.16309 -16 16v28c0 25.1592 -36.5674 25.1221 -36.5674 0v-28c0 -8.83691 -7.16309 -16 -16 -16h-6.85645c-8.83691 0 -16 7.16309 -16 16v182c0 34.4297 -50.2803 34.375 -50.2803 0v-182c0 -8.83691 -7.16309 -16 -16 -16h-11.6328
c-6.80859 0 -12.624 4.25391 -14.9326 10.2539l-59.7842 155.357c-12.1396 31.5518 -59.2842 13.4326 -46.7168 -19.2227l64.0898 -166.549c0.685547 -1.78125 1.07812 -3.71875 1.07812 -5.74121c0 -4.99707 -2.2959 -9.46289 -5.88965 -12.3975l-26.6475 -21.7646
c-7.12695 -5.81934 -9.06445 -16.3467 -4.50781 -24.4873l54.8535 -98c3.26367 -5.82812 9.31934 -9.44922 15.8057 -9.44922h205.701c8.49121 0 15.8037 5.99414 17.7812 14.5762l27.4277 119.001c0.333008 1.44629 0.501953 2.93457 0.501953 4.42285z" />
<glyph glyph-name="registered" unicode="&#xf25d;"
d="M256 440c136.967 0 248 -111.033 248 -248s-111.033 -248 -248 -248s-248 111.033 -248 248s111.033 248 248 248zM256 -8c110.549 0 200 89.4678 200 200c0 110.549 -89.4678 200 -200 200c-110.549 0 -200 -89.4688 -200 -200c0 -110.549 89.4678 -200 200 -200z
M366.442 73.791c4.40332 -7.99219 -1.37012 -17.791 -10.5107 -17.791h-42.8096c-0.00488281 0 -0.000976562 -0.0126953 -0.00585938 -0.0126953c-4.58594 0 -8.57422 2.58301 -10.5869 6.37305l-47.5156 89.3027h-31.958v-83.6631c0 -6.61719 -5.38281 -12 -12 -12
h-38.5674c-6.61719 0 -12 5.38281 -12 12v248.304c0 6.61719 5.38281 12 12 12h78.667c71.251 0 101.498 -32.749 101.498 -85.252c0 -31.6123 -15.2148 -59.2969 -39.4824 -73.1758c3.02148 -4.61719 0.225586 0.199219 53.2715 -96.085zM256.933 208.094
c20.9131 0 32.4307 11.5186 32.4316 32.4316c0 19.5752 -6.5127 31.709 -38.9297 31.709h-27.377v-64.1406h33.875z" />
<glyph glyph-name="calendar-plus" unicode="&#xf271;" horiz-adv-x="448"
d="M336 156v-24c0 -6.59961 -5.40039 -12 -12 -12h-76v-76c0 -6.59961 -5.40039 -12 -12 -12h-24c-6.59961 0 -12 5.40039 -12 12v76h-76c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h76v76c0 6.59961 5.40039 12 12 12h24c6.59961 0 12 -5.40039 12 -12
v-76h76c6.59961 0 12 -5.40039 12 -12zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40
c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="calendar-minus" unicode="&#xf272;" horiz-adv-x="448"
d="M124 120c-6.59961 0 -12 5.40039 -12 12v24c0 6.59961 5.40039 12 12 12h200c6.59961 0 12 -5.40039 12 -12v-24c0 -6.59961 -5.40039 -12 -12 -12h-200zM448 336v-352c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52
c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="calendar-times" unicode="&#xf273;" horiz-adv-x="448"
d="M311.7 73.2998l-17 -17c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-53.7002 53.7998l-53.7002 -53.6992c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-17 17c-4.7002 4.69922 -4.7002 12.2998 0 17l53.7002 53.6992l-53.7002 53.7002c-4.7002 4.7002 -4.7002 12.2998 0 17
l17 17c4.7002 4.7002 12.2998 4.7002 17 0l53.7002 -53.7002l53.7002 53.7002c4.7002 4.7002 12.2998 4.7002 17 0l17 -17c4.7002 -4.7002 4.7002 -12.2998 0 -17l-53.7998 -53.7998l53.6992 -53.7002c4.80078 -4.7002 4.80078 -12.2998 0.100586 -17zM448 336v-352
c0 -26.5 -21.5 -48 -48 -48h-352c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h48v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h128v52c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-52h48c26.5 0 48 -21.5 48 -48zM400 -10
v298h-352v-298c0 -3.2998 2.7002 -6 6 -6h340c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="calendar-check" unicode="&#xf274;" horiz-adv-x="448"
d="M400 384c26.5098 0 48 -21.4902 48 -48v-352c0 -26.5098 -21.4902 -48 -48 -48h-352c-26.5098 0 -48 21.4902 -48 48v352c0 26.5098 21.4902 48 48 48h48v52c0 6.62695 5.37305 12 12 12h40c6.62695 0 12 -5.37305 12 -12v-52h128v52c0 6.62695 5.37305 12 12 12h40
c6.62695 0 12 -5.37305 12 -12v-52h48zM394 -16c3.31152 0 6 2.68848 6 6v298h-352v-298c0 -3.31152 2.68848 -6 6 -6h340zM341.151 184.65l-142.31 -141.169c-4.70508 -4.66699 -12.3027 -4.6377 -16.9707 0.0673828l-75.0908 75.6992
c-4.66699 4.70508 -4.6377 12.3027 0.0673828 16.9707l22.7197 22.5361c4.70508 4.66699 12.3027 4.63672 16.9697 -0.0693359l44.1035 -44.4609l111.072 110.182c4.70508 4.66699 12.3027 4.63672 16.9707 -0.0683594l22.5361 -22.7178
c4.66699 -4.70508 4.63672 -12.3027 -0.0683594 -16.9697z" />
<glyph glyph-name="map" unicode="&#xf279;" horiz-adv-x="576"
d="M560.02 416c8.4502 0 15.9805 -6.83008 15.9805 -16.0195v-346.32c0 -13.4707 -8.32422 -24.9951 -20.1201 -29.71l-151.83 -52.8105c-6.23242 -2.02832 -12.9023 -3.12305 -19.8076 -3.12305c-7.07324 0 -13.8799 1.15039 -20.2422 3.27344l-172 60.71l-170.05 -62.8398
c-1.99023 -0.790039 -4 -1.16016 -5.95996 -1.16016c-8.45996 0 -15.9902 6.83008 -15.9902 16.0195v346.32c0.00292969 13.4697 8.32617 24.9932 20.1201 29.71l151.83 52.8105c6.43945 2.08984 13.1201 3.13965 19.8096 3.13965
c7.06641 -0.00292969 13.8789 -1.16602 20.2402 -3.28027l172 -60.7197h0.00976562l170.05 62.8398c1.98047 0.790039 4 1.16016 5.95996 1.16016zM224 357.58v-285.97l128 -45.1904v285.97zM48 29.9502l127.36 47.0801l0.639648 0.229492v286.2l-128 -44.5303v-288.979z
M528 65.0801v288.97l-127.36 -47.0693l-0.639648 -0.240234v-286.19z" />
<glyph glyph-name="comment-alt" unicode="&#xf27a;"
d="M448 448c35.2998 0 64 -28.7002 64 -64v-288c0 -35.2998 -28.7002 -64 -64 -64h-144l-124.9 -93.5996c-2.19922 -1.7002 -4.69922 -2.40039 -7.09961 -2.40039c-6.2002 0 -12 4.90039 -12 12v84h-96c-35.2998 0 -64 28.7002 -64 64v288c0 35.2998 28.7002 64 64 64h384z
M464 96v288c0 8.7998 -7.2002 16 -16 16h-384c-8.7998 0 -16 -7.2002 -16 -16v-288c0 -8.7998 7.2002 -16 16 -16h144v-60l67.2002 50.4004l12.7998 9.59961h160c8.7998 0 16 7.2002 16 16z" />
<glyph glyph-name="pause-circle" unicode="&#xf28b;"
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48
c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16zM240 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-48c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h48c8.7998 0 16 -7.2002 16 -16z" />
<glyph glyph-name="stop-circle" unicode="&#xf28d;"
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM352 272v-160c0 -8.7998 -7.2002 -16 -16 -16h-160
c-8.7998 0 -16 7.2002 -16 16v160c0 8.7998 7.2002 16 16 16h160c8.7998 0 16 -7.2002 16 -16z" />
<glyph glyph-name="handshake" unicode="&#xf2b5;" horiz-adv-x="640"
d="M519.2 320.1h120.8v-255.699h-64c-17.5 0 -31.7998 14.1992 -31.9004 31.6992h-57.8994c-1.7998 -8.19922 -5.2998 -16.0996 -10.9004 -23l-26.2002 -32.2998c-15.7998 -19.3994 -41.8994 -25.5 -64 -16.7998c-13.5 -16.5996 -30.5996 -24 -48.7998 -24
c-15.0996 0 -28.5996 5.09961 -41.0996 15.9004c-31.7998 -21.9004 -74.7002 -21.3008 -105.601 3.7998l-84.5996 76.3994h-9.09961c-0.100586 -17.5 -14.3008 -31.6992 -31.9004 -31.6992h-64v255.699h118l47.5996 47.6006c10.5 10.3994 24.8008 16.2998 39.6006 16.2998
h226.8c15.4326 0 29.4326 -6.22168 39.5996 -16.2998zM48 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16zM438 103.3c2.7002 3.40039 2.2002 8.5 -1.2002 11.2998l-108.2 87.8008l-8.19922 -7.5
c-40.3008 -36.8008 -86.7002 -11.8008 -101.5 4.39941c-26.7002 29 -25 74.4004 4.39941 101.3l38.7002 35.5h-56.7002c-2 -0.799805 -3.7002 -1.5 -5.7002 -2.2998l-61.6992 -61.5996h-41.9004v-128.101h27.7002l97.2998 -88
c16.0996 -13.0996 41.4004 -10.5 55.2998 6.60059l15.6006 19.2002l36.7998 -31.5c3 -2.40039 12 -4.90039 18 2.39941l30 36.5l23.8994 -19.3994c3.5 -2.80078 8.5 -2.2002 11.3008 1.19922zM544 144.1v128h-44.7002l-61.7002 61.6006
c-1.39941 1.5 -3.39941 2.2998 -5.5 2.2998l-83.6992 -0.200195c-10 0 -19.6006 -3.7002 -27 -10.5l-65.6006 -60.0996c-9.7002 -8.7998 -10.5 -24 -1.2002 -33.9004c8.90039 -9.39941 25.1006 -8.7002 34.6006 0l55.2002 50.6006c6.5 5.89941 16.5996 5.5 22.5996 -1
l10.9004 -11.7002c6 -6.5 5.5 -16.6006 -1 -22.6006l-12.5 -11.3994l102.699 -83.4004c2.80078 -2.2998 5.40039 -4.89941 7.7002 -7.7002h69.2002zM592 96.4004c8.7998 0 16 7.09961 16 16c0 8.7998 -7.2002 16 -16 16s-16 -7.2002 -16 -16c0 -8.80078 7.2002 -16 16 -16z
" />
<glyph glyph-name="envelope-open" unicode="&#xf2b6;"
d="M494.586 283.484c10.6523 -8.80762 17.4141 -22.1064 17.4141 -36.9932v-262.491c0 -26.5098 -21.4902 -48 -48 -48h-416c-26.5098 0 -48 21.4902 -48 48v262.515c0 14.9355 6.80469 28.2705 17.5146 37.0771c4.08008 3.35449 110.688 89.0996 135.15 108.549
c22.6992 18.1426 60.1299 55.8594 103.335 55.8594c43.4365 0 81.2314 -38.1914 103.335 -55.8594c23.5283 -18.707 130.554 -104.773 135.251 -108.656zM464 -10v253.632c0 0.00195312 0.00390625 0.000976562 0.00390625 0.00292969
c0 1.88184 -0.869141 3.56152 -2.22754 4.66016c-15.8633 12.8232 -108.793 87.5752 -132.366 106.316c-17.5527 14.0195 -49.7168 45.3887 -73.4102 45.3887c-23.6016 0 -55.2451 -30.8799 -73.4102 -45.3887c-23.5713 -18.7393 -116.494 -93.4795 -132.364 -106.293
c-1.40918 -1.13965 -2.22559 -2.85254 -2.22559 -4.66504v-253.653c0 -3.31152 2.68848 -6 6 -6h404c3.31152 0 6 2.68848 6 6zM432.009 177.704c4.24902 -5.15918 3.46484 -12.7949 -1.74512 -16.9814c-28.9746 -23.2822 -59.2734 -47.5967 -70.9287 -56.8623
c-22.6992 -18.1436 -60.1299 -55.8604 -103.335 -55.8604c-43.4521 0 -81.2871 38.2373 -103.335 55.8604c-11.2793 8.9668 -41.7441 33.4131 -70.9268 56.8643c-5.20996 4.1875 -5.99316 11.8223 -1.74512 16.9814l15.2578 18.5283
c4.17773 5.07227 11.6572 5.84277 16.7793 1.72559c28.6182 -23.001 58.5654 -47.0352 70.5596 -56.5713c17.5527 -14.0195 49.7168 -45.3887 73.4102 -45.3887c23.6016 0 55.2461 30.8799 73.4102 45.3887c11.9941 9.53516 41.9434 33.5703 70.5625 56.5684
c5.12207 4.11621 12.6016 3.3457 16.7783 -1.72656z" />
<glyph glyph-name="address-book" unicode="&#xf2b9;" horiz-adv-x="448"
d="M436 288h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-64h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12h-20v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48
h320c26.5 0 48 -21.5 48 -48v-48h20c6.59961 0 12 -5.40039 12 -12v-40c0 -6.59961 -5.40039 -12 -12 -12zM368 -16v416h-320v-416h320zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM118.4 64
c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002
h-179.199z" />
<glyph glyph-name="address-card" unicode="&#xf2bb;" horiz-adv-x="576"
d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v352h-480v-352h480zM208 192c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z
M118.4 64c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002
c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199zM360 128c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 192c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112
c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 256c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112z" />
<glyph glyph-name="user-circle" unicode="&#xf2bd;" horiz-adv-x="496"
d="M248 344c53 0 96 -43 96 -96s-43 -96 -96 -96s-96 43 -96 96s43 96 96 96zM248 200c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8
c49.7002 0 95.0996 18.2998 130.1 48.4004c-14.8994 23 -40.3994 38.5 -69.5996 39.5c-20.7998 -6.5 -40.5996 -9.60059 -60.5 -9.60059s-39.7002 3.2002 -60.5 9.60059c-29.2002 -0.900391 -54.7002 -16.5 -69.5996 -39.5c35 -30.1006 80.3994 -48.4004 130.1 -48.4004z
M410.7 76.0996c23.3994 32.7002 37.2998 72.7002 37.2998 115.9c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -43.2002 13.9004 -83.2002 37.2998 -115.9c24.5 31.4004 62.2002 51.9004 105.101 51.9004c10.1992 0 26.0996 -9.59961 57.5996 -9.59961
c31.5996 0 47.4004 9.59961 57.5996 9.59961c43 0 80.7002 -20.5 105.101 -51.9004z" />
<glyph glyph-name="id-badge" unicode="&#xf2c1;" horiz-adv-x="384"
d="M336 448c26.5 0 48 -21.5 48 -48v-416c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v416c0 26.5 21.5 48 48 48h288zM336 -16v416h-288v-416h288zM144 336c-8.7998 0 -16 7.2002 -16 16s7.2002 16 16 16h96c8.7998 0 16 -7.2002 16 -16s-7.2002 -16 -16 -16
h-96zM192 160c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64zM102.4 32c-12.4004 0 -22.4004 8.59961 -22.4004 19.2002v19.2002c0 31.7998 30.0996 57.5996 67.2002 57.5996c11.3994 0 17.8994 -8 44.7998 -8
c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996v-19.2002c0 -10.6006 -10 -19.2002 -22.4004 -19.2002h-179.199z" />
<glyph glyph-name="id-card" unicode="&#xf2c2;" horiz-adv-x="576"
d="M528 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-480c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h480zM528 16v288h-480v-288h32.7998c-1 4.5 -0.799805 -3.59961 -0.799805 22.4004c0 31.7998 30.0996 57.5996 67.2002 57.5996
c11.3994 0 17.8994 -8 44.7998 -8c26.0996 0 34 8 44.7998 8c37.1006 0 67.2002 -25.7998 67.2002 -57.5996c0 -26 0.0996094 -17.9004 -0.799805 -22.4004h224.8zM360 96c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16
c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 160c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM360 224c-4.40039 0 -8 3.59961 -8 8v16c0 4.40039 3.59961 8 8 8h112
c4.40039 0 8 -3.59961 8 -8v-16c0 -4.40039 -3.59961 -8 -8 -8h-112zM192 128c-35.2998 0 -64 28.7002 -64 64s28.7002 64 64 64s64 -28.7002 64 -64s-28.7002 -64 -64 -64z" />
<glyph glyph-name="window-maximize" unicode="&#xf2d0;"
d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v234h-416v-234c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="window-minimize" unicode="&#xf2d1;"
d="M480 -32h-448c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32h448c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
<glyph glyph-name="window-restore" unicode="&#xf2d2;"
d="M464 448c26.5 0 48 -21.5 48 -48v-320c0 -26.5 -21.5 -48 -48 -48h-48v-48c0 -26.5 -21.5 -48 -48 -48h-320c-26.5 0 -48 21.5 -48 48v320c0 26.5 21.5 48 48 48h48v48c0 26.5 21.5 48 48 48h320zM368 -16v208h-320v-208h320zM464 80v320h-320v-48h224
c26.5 0 48 -21.5 48 -48v-224h48z" />
<glyph glyph-name="snowflake" unicode="&#xf2dc;" horiz-adv-x="448"
d="M440.1 92.7998c7.60059 -4.39941 10.1006 -14.2002 5.5 -21.7002l-7.89941 -13.8994c-4.40039 -7.7002 -14 -10.2998 -21.5 -5.90039l-39.2002 23l9.09961 -34.7002c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.5996l-15.2002 -4.09961
c-8.39941 -2.30078 -17.0996 2.7998 -19.2998 11.2998l-21.2998 81l-71.9004 42.2002v-84.5l58.2998 -59.3008c6.10059 -6.19922 6.10059 -16.3994 0 -22.5996l-11.0996 -11.2998c-6.09961 -6.2002 -16.0996 -6.2002 -22.2002 0l-24.8994 25.3994v-46.0996
c0 -8.7998 -7 -16 -15.7002 -16h-15.7002c-8.7002 0 -15.7002 7.2002 -15.7002 16v45.9004l-24.8994 -25.4004c-6.10059 -6.2002 -16.1006 -6.2002 -22.2002 0l-11.1006 11.2998c-6.09961 6.2002 -6.09961 16.4004 0 22.6006l58.3008 59.2998v84.5l-71.9004 -42.2002
l-21.2998 -81c-2.2998 -8.5 -10.9004 -13.5996 -19.2998 -11.2998l-15.2002 4.09961c-8.40039 2.2998 -13.2998 11.1006 -11.1006 19.6006l9.10059 34.6992l-39.2002 -23c-7.5 -4.39941 -17.2002 -1.7998 -21.5 5.90039l-7.90039 13.9004
c-4.2998 7.69922 -1.69922 17.5 5.80078 21.8994l39.1992 23l-34.0996 9.2998c-8.40039 2.30078 -13.2998 11.1006 -11.0996 19.6006l4.09961 15.5c2.2998 8.5 10.9004 13.5996 19.2998 11.2998l79.7002 -21.7002l71.9004 42.2002l-71.9004 42.2002l-79.7002 -21.7002
c-8.39941 -2.2998 -17.0996 2.7998 -19.2998 11.2998l-4.09961 15.5c-2.30078 8.5 2.69922 17.2998 11.0996 19.6006l34.0996 9.09961l-39.1992 23c-7.60059 4.5 -10.1006 14.2002 -5.80078 21.9004l7.90039 13.8994c4.40039 7.7002 14 10.2998 21.5 5.90039l39.2002 -23
l-9.10059 34.7002c-2.2998 8.5 2.7002 17.2998 11.1006 19.5996l15.2002 4.09961c8.39941 2.30078 17.0996 -2.7998 19.2998 -11.2998l21.2998 -81l71.9004 -42.2002v84.5l-58.3008 59.3008c-6.09961 6.19922 -6.09961 16.3994 0 22.5996l11.5 11.2998
c6.10059 6.2002 16.1006 6.2002 22.2002 0l24.9004 -25.3994v46.0996c0 8.7998 7 16 15.7002 16h15.6992c8.7002 0 15.7002 -7.2002 15.7002 -16v-45.9004l24.9004 25.4004c6.09961 6.2002 16.0996 6.2002 22.2002 0l11.0996 -11.2998
c6.09961 -6.2002 6.09961 -16.4004 0 -22.6006l-58.2998 -59.2998v-84.5l71.8994 42.2002l21.3008 81c2.2998 8.5 10.8994 13.5996 19.2998 11.2998l15.2002 -4.09961c8.39941 -2.2998 13.2998 -11.1006 11.0996 -19.6006l-9.09961 -34.6992l39.1992 23
c7.5 4.39941 17.2002 1.7998 21.5 -5.90039l7.90039 -13.9004c4.2998 -7.69922 1.7002 -17.5 -5.7998 -21.8994l-39.2002 -23l34.0996 -9.2998c8.40039 -2.30078 13.3008 -11.1006 11.1006 -19.6006l-4.10059 -15.5c-2.2998 -8.5 -10.8994 -13.5996 -19.2998 -11.2998
l-79.7002 21.7002l-71.8994 -42.2002l71.7998 -42.2002l79.7002 21.7002c8.39941 2.2998 17.0996 -2.7998 19.2998 -11.2998l4.09961 -15.5c2.30078 -8.5 -2.69922 -17.2998 -11.0996 -19.6006l-34.0996 -9.2998z" />
<glyph glyph-name="trash-alt" unicode="&#xf2ed;" horiz-adv-x="448"
d="M268 32c-6.62305 0 -12 5.37695 -12 12v216c0 6.62305 5.37695 12 12 12h24c6.62305 0 12 -5.37695 12 -12v-216c0 -6.62305 -5.37695 -12 -12 -12h-24zM432 368c8.83105 0 16 -7.16895 16 -16v-16c0 -8.83105 -7.16895 -16 -16 -16h-16v-336
c0 -26.4922 -21.5078 -48 -48 -48h-288c-26.4922 0 -48 21.5078 -48 48v336h-16c-8.83105 0 -16 7.16895 -16 16v16c0 8.83105 7.16895 16 16 16h82.4102l34.0195 56.7002c8.39258 13.9844 23.6777 23.2998 41.1602 23.2998h100.82
c0.0078125 0 -0.015625 0.0517578 -0.0078125 0.0517578c17.4824 0 32.7949 -9.36719 41.1875 -23.3516l34 -56.7002h82.4102zM171.84 397.09l-17.4502 -29.0898h139.221l-17.46 29.0898c-1.0498 1.74707 -2.95898 2.91016 -5.14355 2.91016h-0.00683594h-94
c-0.00585938 0 -0.00683594 0.00683594 -0.0126953 0.00683594c-2.18457 0 -4.09766 -1.16992 -5.14746 -2.91699zM368 -16v336h-288v-336h288zM156 32c-6.62305 0 -12 5.37695 -12 12v216c0 6.62305 5.37695 12 12 12h24c6.62305 0 12 -5.37695 12 -12v-216
c0 -6.62305 -5.37695 -12 -12 -12h-24z" />
<glyph glyph-name="images" unicode="&#xf302;" horiz-adv-x="576"
d="M480 32v-16c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256c0 26.5098 21.4902 48 48 48h16v-48h-10c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v10h48zM522 368h-372
c-3.31152 0 -6 -2.68848 -6 -6v-244c0 -3.31152 2.68848 -6 6 -6h372c3.31152 0 6 2.68848 6 6v244c0 3.31152 -2.68848 6 -6 6zM528 416c26.5098 0 48 -21.4902 48 -48v-256c0 -26.5098 -21.4902 -48 -48 -48h-384c-26.5098 0 -48 21.4902 -48 48v256
c0 26.5098 21.4902 48 48 48h384zM264 304c0 -22.0908 -17.9092 -40 -40 -40s-40 17.9092 -40 40s17.9092 40 40 40s40 -17.9092 40 -40zM192 208l39.5146 39.5146c4.68652 4.68652 12.2842 4.68652 16.9717 0l39.5137 -39.5146l103.515 103.515
c4.68652 4.68652 12.2842 4.68652 16.9717 0l71.5137 -71.5146v-80h-288v48z" />
<glyph glyph-name="clipboard" unicode="&#xf328;" horiz-adv-x="384"
d="M336 384c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-288c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h80c0 35.2998 28.7002 64 64 64s64 -28.7002 64 -64h80zM192 408c-13.2998 0 -24 -10.7002 -24 -24s10.7002 -24 24 -24s24 10.7002 24 24
s-10.7002 24 -24 24zM336 -10v340c0 3.2998 -2.7002 6 -6 6h-42v-36c0 -6.59961 -5.40039 -12 -12 -12h-168c-6.59961 0 -12 5.40039 -12 12v36h-42c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h276c3.2998 0 6 2.7002 6 6z" />
<glyph glyph-name="arrow-alt-circle-down" unicode="&#xf358;"
d="M256 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM256 -8c110.5 0 200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200zM224 308c0 6.59961 5.40039 12 12 12h40c6.59961 0 12 -5.40039 12 -12v-116
h67c10.7002 0 16.0996 -12.9004 8.5 -20.5l-99 -99c-4.7002 -4.7002 -12.2998 -4.7002 -17 0l-99 99c-7.5 7.59961 -2.2002 20.5 8.5 20.5h67v116z" />
<glyph glyph-name="arrow-alt-circle-left" unicode="&#xf359;"
d="M8 192c0 137 111 248 248 248s248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248zM456 192c0 110.5 -89.5 200 -200 200s-200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200zM384 212v-40c0 -6.59961 -5.40039 -12 -12 -12h-116v-67
c0 -10.7002 -12.9004 -16 -20.5 -8.5l-99 99c-4.7002 4.7002 -4.7002 12.2998 0 17l99 99c7.59961 7.59961 20.5 2.2002 20.5 -8.5v-67h116c6.59961 0 12 -5.40039 12 -12z" />
<glyph glyph-name="arrow-alt-circle-right" unicode="&#xf35a;"
d="M504 192c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248s248 -111 248 -248zM56 192c0 -110.5 89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200s-200 -89.5 -200 -200zM128 172v40c0 6.59961 5.40039 12 12 12h116v67
c0 10.7002 12.9004 16 20.5 8.5l99 -99c4.7002 -4.7002 4.7002 -12.2998 0 -17l-99 -99c-7.59961 -7.59961 -20.5 -2.2002 -20.5 8.5v67h-116c-6.59961 0 -12 5.40039 -12 12z" />
<glyph glyph-name="arrow-alt-circle-up" unicode="&#xf35b;"
d="M256 -56c-137 0 -248 111 -248 248s111 248 248 248s248 -111 248 -248s-111 -248 -248 -248zM256 392c-110.5 0 -200 -89.5 -200 -200s89.5 -200 200 -200s200 89.5 200 200s-89.5 200 -200 200zM276 64h-40c-6.59961 0 -12 5.40039 -12 12v116h-67
c-10.7002 0 -16 12.9004 -8.5 20.5l99 99c4.7002 4.7002 12.2998 4.7002 17 0l99 -99c7.59961 -7.59961 2.2002 -20.5 -8.5 -20.5h-67v-116c0 -6.59961 -5.40039 -12 -12 -12z" />
<glyph glyph-name="gem" unicode="&#xf3a5;" horiz-adv-x="576"
d="M464 448c4.09961 0 7.7998 -2 10.0996 -5.40039l99.9004 -147.199c2.90039 -4.40039 2.59961 -10.1006 -0.700195 -14.2002l-276 -340.8c-4.7998 -5.90039 -13.7998 -5.90039 -18.5996 0l-276 340.8c-3.2998 4 -3.60059 9.7998 -0.700195 14.2002l100 147.199
c2.2002 3.40039 6 5.40039 10 5.40039h352zM444.7 400h-56.7998l51.6992 -96h68.4004zM242.6 400l-51.5996 -96h194l-51.7002 96h-90.7002zM131.3 400l-63.2998 -96h68.4004l51.6992 96h-56.7998zM88.2998 256l119.7 -160l-68.2998 160h-51.4004zM191.2 256l96.7998 -243.3
l96.7998 243.3h-193.6zM368 96l119.6 160h-51.3994z" />
<glyph glyph-name="money-bill-alt" unicode="&#xf3d1;" horiz-adv-x="640"
d="M320 304c53.0195 0 96 -50.1396 96 -112c0 -61.8701 -43 -112 -96 -112c-53.0195 0 -96 50.1504 -96 112c0 61.8604 42.9805 112 96 112zM360 136v16c0 4.41992 -3.58008 8 -8 8h-16v88c0 4.41992 -3.58008 8 -8 8h-13.5801
c-4.91113 0 -9.50586 -1.49316 -13.3096 -4.03027l-15.3301 -10.2197c-2.15332 -1.43262 -3.55957 -3.88379 -3.55957 -6.66113c0 -1.6377 0.493164 -3.16113 1.33887 -4.42871l8.88086 -13.3105c1.43164 -2.15234 3.88379 -3.55957 6.66113 -3.55957
c1.6377 0 3.16016 0.494141 4.42871 1.33984l0.469727 0.310547v-55.4404h-16c-4.41992 0 -8 -3.58008 -8 -8v-16c0 -4.41992 3.58008 -8 8 -8h64c4.41992 0 8 3.58008 8 8zM608 384c17.6699 0 32 -14.3301 32 -32v-320c0 -17.6699 -14.3301 -32 -32 -32h-576
c-17.6699 0 -32 14.3301 -32 32v320c0 17.6699 14.3301 32 32 32h576zM592 112v160c-35.3496 0 -64 28.6504 -64 64h-416c0 -35.3496 -28.6504 -64 -64 -64v-160c35.3496 0 64 -28.6504 64 -64h416c0 35.3496 28.6504 64 64 64z" />
<glyph glyph-name="window-close" unicode="&#xf410;"
d="M464 416c26.5 0 48 -21.5 48 -48v-352c0 -26.5 -21.5 -48 -48 -48h-416c-26.5 0 -48 21.5 -48 48v352c0 26.5 21.5 48 48 48h416zM464 22v340c0 3.2998 -2.7002 6 -6 6h-404c-3.2998 0 -6 -2.7002 -6 -6v-340c0 -3.2998 2.7002 -6 6 -6h404c3.2998 0 6 2.7002 6 6z
M356.5 253.4l-61.4004 -61.4004l61.4004 -61.4004c4.59961 -4.59961 4.59961 -12.0996 0 -16.7998l-22.2998 -22.2998c-4.60059 -4.59961 -12.1006 -4.59961 -16.7998 0l-61.4004 61.4004l-61.4004 -61.4004c-4.59961 -4.59961 -12.0996 -4.59961 -16.7998 0
l-22.2998 22.2998c-4.59961 4.60059 -4.59961 12.1006 0 16.7998l61.4004 61.4004l-61.4004 61.4004c-4.59961 4.59961 -4.59961 12.0996 0 16.7998l22.2998 22.2998c4.60059 4.59961 12.1006 4.59961 16.7998 0l61.4004 -61.4004l61.4004 61.4004
c4.59961 4.59961 12.0996 4.59961 16.7998 0l22.2998 -22.2998c4.7002 -4.60059 4.7002 -12.1006 0 -16.7998z" />
<glyph glyph-name="comment-dots" unicode="&#xf4ad;"
d="M144 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM256 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM368 240c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
s-32 14.2998 -32 32s14.2998 32 32 32zM256 416c141.4 0 256 -93.0996 256 -208s-114.6 -208 -256 -208c-32.7998 0 -64 5.2002 -92.9004 14.2998c-29.0996 -20.5996 -77.5996 -46.2998 -139.1 -46.2998c-9.59961 0 -18.2998 5.7002 -22.0996 14.5
c-3.80078 8.7998 -2 19 4.59961 26c0.5 0.400391 31.5 33.7998 46.4004 73.2002c-33 35.0996 -52.9004 78.7002 -52.9004 126.3c0 114.9 114.6 208 256 208zM256 48c114.7 0 208 71.7998 208 160s-93.2998 160 -208 160s-208 -71.7998 -208 -160
c0 -42.2002 21.7002 -74.0996 39.7998 -93.4004l20.6006 -21.7998l-10.6006 -28.0996c-5.5 -14.5 -12.5996 -28.1006 -19.8994 -40.2002c23.5996 7.59961 43.1992 18.9004 57.5 29l19.5 13.7998l22.6992 -7.2002c25.3008 -8 51.7002 -12.0996 78.4004 -12.0996z" />
<glyph glyph-name="smile-wink" unicode="&#xf4da;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM365.8 138.4c10.2002 -8.5 11.6006 -23.6006 3.10059 -33.8008
c-30 -36 -74.1006 -56.5996 -120.9 -56.5996s-90.9004 20.5996 -120.9 56.5996c-8.39941 10.2002 -7.09961 25.3008 3.10059 33.8008c10.0996 8.39941 25.2998 7.09961 33.7998 -3.10059c20.7998 -25.0996 51.5 -39.3994 84 -39.3994s63.2002 14.3994 84 39.3994
c8.5 10.2002 23.5996 11.6006 33.7998 3.10059zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 268c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008l-9.5 8.5
c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996z" />
<glyph glyph-name="angry" unicode="&#xf556;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 136c33.5996 0 65.2002 -14.7998 86.7998 -40.5996
c8.40039 -10.2002 7.10059 -25.3008 -3.09961 -33.8008c-10.6006 -8.89941 -25.7002 -6.69922 -33.7998 3c-24.8008 29.7002 -75 29.7002 -99.8008 0c-8.5 -10.1992 -23.5996 -11.5 -33.7998 -3s-11.5996 23.6006 -3.09961 33.8008
c21.5996 25.7998 53.2002 40.5996 86.7998 40.5996zM200 208c0 -17.7002 -14.2998 -32.0996 -32 -32.0996s-32 14.2998 -32 32c0 6.19922 2.2002 11.6992 5.2998 16.5996l-28.2002 8.5c-12.6992 3.7998 -19.8994 17.2002 -16.0996 29.9004
c3.7998 12.6992 17.0996 20 29.9004 16.0996l80 -24c12.6992 -3.7998 19.8994 -17.2002 16.0996 -29.9004c-3.09961 -10.3994 -12.7002 -17.0996 -23 -17.0996zM399 262.9c3.7998 -12.7002 -3.40039 -26.1006 -16.0996 -29.8008l-28.2002 -8.5
c3.09961 -4.89941 5.2998 -10.3994 5.2998 -16.5996c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32c-10.2998 0 -19.9004 6.7002 -23 17.0996c-3.7998 12.7002 3.40039 26.1006 16.0996 29.9004l80 24c12.8008 3.7998 26.1006 -3.40039 29.9004 -16.0996z" />
<glyph glyph-name="dizzy" unicode="&#xf567;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM214.2 209.9
c-7.90039 -7.90039 -20.5 -7.90039 -28.4004 -0.200195l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998
c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.9004c7.7998 7.7998 20.5 7.7998 28.2998 0s7.7998 -20.5 0 -28.2998l-17.9004 -17.9004l17.9004 -17.7998c7.7998 -7.7998 7.7998 -20.5 0 -28.2998zM374.2 302.1
c7.7002 -7.7998 7.7002 -20.3994 0 -28.1992l-17.9004 -17.9004l17.7998 -18c7.80078 -7.7998 7.80078 -20.5 0 -28.2998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0l-17.7998 17.7998l-17.7998 -17.7998c-7.7998 -7.7998 -20.5 -7.7998 -28.2998 0
c-7.80078 7.7998 -7.80078 20.5 0 28.2998l17.8994 17.9004l-17.8994 17.8994c-7.80078 7.7998 -7.80078 20.5 0 28.2998c7.7998 7.80078 20.5 7.80078 28.2998 0l17.7998 -17.7998l17.9004 17.7998c7.7998 7.80078 20.5 7.80078 28.2998 0zM248 176
c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64s-64 28.7002 -64 64s28.7002 64 64 64z" />
<glyph glyph-name="flushed" unicode="&#xf579;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM344 304c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80
s-80 35.7998 -80 80s35.7998 80 80 80zM344 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM344 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM232 224c0 -44.2002 -35.7998 -80 -80 -80
s-80 35.7998 -80 80s35.7998 80 80 80s80 -35.7998 80 -80zM152 176c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM152 248c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM312 104
c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" />
<glyph glyph-name="frown-open" unicode="&#xf57a;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32
s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM248 160c35.5996 0 88.7998 -21.2998 95.7998 -61.2002c2 -11.7998 -9.09961 -21.5996 -20.5 -18.0996
c-31.2002 9.59961 -59.3994 15.2998 -75.2998 15.2998s-44.0996 -5.7002 -75.2998 -15.2998c-11.5 -3.40039 -22.5 6.2998 -20.5 18.0996c7 39.9004 60.2002 61.2002 95.7998 61.2002z" />
<glyph glyph-name="grimace" unicode="&#xf57f;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM344 192c26.5 0 48 -21.5 48 -48v-32c0 -26.5 -21.5 -48 -48 -48h-192c-26.5 0 -48 21.5 -48 48v32c0 26.5 21.5 48 48 48
h192zM176 96v24h-40v-8c0 -8.7998 7.2002 -16 16 -16h24zM176 136v24h-24c-8.7998 0 -16 -7.2002 -16 -16v-8h40zM240 96v24h-48v-24h48zM240 136v24h-48v-24h48zM304 96v24h-48v-24h48zM304 136v24h-48v-24h48zM360 112v8h-40v-24h24c8.7998 0 16 7.2002 16 16zM360 136v8
c0 8.7998 -7.2002 16 -16 16h-24v-24h40z" />
<glyph glyph-name="grin" unicode="&#xf580;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z" />
<glyph glyph-name="grin-alt" unicode="&#xf581;" horiz-adv-x="496"
d="M200.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56
c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM328.3 200c-7.5 -11.4004 -24.5996 -12 -32.7002 0c-12.3994 18.7002 -15.1992 37.2998 -15.6992 56c0.599609 18.7002 3.2998 37.2998 15.6992 56c7.60059 11.4004 24.7002 12 32.7002 0
c12.4004 -18.7002 15.2002 -37.2998 15.7002 -56c-0.599609 -18.7002 -3.2998 -37.2998 -15.7002 -56zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200
s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006
s79.7002 4.7998 105.6 13.1006z" />
<glyph glyph-name="grin-beam" unicode="&#xf582;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM117.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996
l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002zM277.7 216.3c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998
c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002z" />
<glyph glyph-name="grin-beam-sweat" unicode="&#xf583;" horiz-adv-x="496"
d="M440 288c-29.5 0 -53.2998 26.2998 -53.2998 58.7002c0 25 31.7002 75.5 46.2002 97.2998c3.5 5.2998 10.5996 5.2998 14.1992 0c14.5 -21.7998 46.2002 -72.2998 46.2002 -97.2998c0 -32.4004 -23.7998 -58.7002 -53.2998 -58.7002zM248 48
c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM378.3 216.3
c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM483.6 269.2c8 -24.2998 12.4004 -50.2002 12.4004 -77.2002c0 -137 -111 -248 -248 -248s-248 111 -248 248s111 248 248 248
c45.7002 0 88.4004 -12.5996 125.2 -34.2002c-10.9004 -21.5996 -15.5 -36.2002 -17.2002 -45.7002c-31.2002 20.1006 -68.2002 31.9004 -108 31.9004c-110.3 0 -200 -89.7002 -200 -200s89.7002 -200 200 -200s200 89.7002 200 200
c0 22.5 -3.90039 44.0996 -10.7998 64.2998c0.399414 0 21.7998 -2.7998 46.3994 12.9004zM168 258.6c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998
c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" />
<glyph glyph-name="grin-hearts" unicode="&#xf584;" horiz-adv-x="496"
d="M353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM200.8 192.3
l-70.2002 18.1006c-20.3994 5.2998 -31.8994 27 -24.1992 47.1992c6.69922 17.7002 26.6992 26.7002 44.8994 22l7.10059 -1.89941l2 7.09961c5.09961 18.1006 22.8994 30.9004 41.5 27.9004c21.3994 -3.40039 34.3994 -24.2002 28.7998 -44.5l-19.4004 -69.9004
c-1.2998 -4.5 -6 -7.2002 -10.5 -6zM389.6 257.6c7.7002 -20.1992 -3.7998 -41.7998 -24.1992 -47.0996l-70.2002 -18.2002c-4.60059 -1.2002 -9.2998 1.5 -10.5 6l-19.4004 69.9004c-5.59961 20.2998 7.40039 41.0996 28.7998 44.5c18.7002 3 36.5 -9.7998 41.5 -27.9004
l2 -7.09961l7.10059 1.89941c18.2002 4.7002 38.2002 -4.39941 44.8994 -22zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200
s89.7002 -200 200 -200z" />
<glyph glyph-name="grin-squint" unicode="&#xf585;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.9004 -123.3 80c-1.7002 9.90039 7.7998 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM118.9 184.2c-3.80078 4.39941 -3.90039 11 -0.100586 15.5l33.6006 40.2998
l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5c3.89941 4.40039 10.1992 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5zM361.8 181.7
l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5.10059 2.90039 11.5 1.90039 15.2998 -2.5c3.80078 -4.5 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5
c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5z" />
<glyph glyph-name="grin-squint-tears" unicode="&#xf586;"
d="M117.1 63.9004c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998
c16.8994 16.9004 75.0996 26.9004 100.899 30.6006zM75.9004 105.6c-19.6006 -3.89941 -35.1006 -8.09961 -47.3008 -12.1992c-39.2998 90.5996 -22.0996 199.899 52 274c48.5 48.3994 111.9 72.5996 175.4 72.5996c38.9004 0 77.7998 -9.2002 113.2 -27.4004
c-4 -12.1992 -8.2002 -28 -12 -48.2998c-30.4004 17.9004 -65 27.7002 -101.2 27.7002c-53.4004 0 -103.6 -20.7998 -141.4 -58.5996c-61.5996 -61.5 -74.2998 -153.4 -38.6992 -227.801zM428.2 293.2c20.2998 3.89941 36.2002 8 48.5 12
c47.8994 -93.2002 32.8994 -210.5 -45.2002 -288.601c-48.5 -48.3994 -111.9 -72.5996 -175.4 -72.5996c-33.6992 0 -67.2998 7 -98.6992 20.5996c4.19922 12.2002 8.2998 27.7002 12.1992 47.2002c26.6006 -12.7998 55.9004 -19.7998 86.4004 -19.7998
c53.4004 0 103.6 20.7998 141.4 58.5996c65.6992 65.7002 75.7998 166 30.7998 242.601zM394.9 320.1c-6.30078 -0.899414 -11.7002 4.5 -10.9004 10.9004c3.7002 25.7998 13.7002 84 30.5996 100.9c22 21.8994 57.9004 21.5 80.3008 -0.900391
c22.3994 -22.4004 22.7998 -58.4004 0.899414 -80.2998c-16.8994 -16.9004 -75.0996 -26.9004 -100.899 -30.6006zM207.9 211.8c3 -3 4.19922 -7.2998 3.19922 -11.5l-22.5996 -90.5c-1.40039 -5.39941 -6.2002 -9.09961 -11.7002 -9.09961h-0.899414
c-5.80078 0.5 -10.5 5.09961 -11 10.8994l-4.80078 52.3008l-52.2998 4.7998c-5.7998 0.5 -10.3994 5.2002 -10.8994 11c-0.400391 5.89941 3.39941 11.2002 9.09961 12.5996l90.5 22.7002c4.2002 1 8.40039 -0.200195 11.4004 -3.2002zM247.6 236.9
c-0.0996094 0 -6.39941 -1.80078 -11.3994 3.19922c-3 3 -4.2002 7.30078 -3.2002 11.4004l22.5996 90.5c1.40039 5.7002 7 9.2002 12.6006 9.09961c5.7998 -0.5 10.5 -5.09961 11 -10.8994l4.7998 -52.2998l52.2998 -4.80078c5.7998 -0.5 10.4004 -5.19922 10.9004 -11
c0.399414 -5.89941 -3.40039 -11.1992 -9.10059 -12.5996zM299.6 148.4c29.1006 29.0996 53 59.5996 65.3008 83.7998c4.89941 9.2998 17.5996 9.89941 23.3994 1.7002c27.7002 -38.9004 6.10059 -106.9 -30.5996 -143.7s-104.8 -58.2998 -143.7 -30.6006
c-8.2998 5.90039 -7.5 18.6006 1.7002 23.4004c24.2002 12.5 54.7998 36.2998 83.8994 65.4004z" />
<glyph glyph-name="grin-stars" unicode="&#xf587;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM353.6 143.4c10 3.09961 19.3008 -5.5 17.7002 -15.3008
c-8 -47.0996 -71.2998 -80 -123.3 -80s-115.4 32.8008 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.3008c26 -8.30078 64.3994 -13.1006 105.6 -13.1006s79.7002 4.7998 105.6 13.1006zM125.7 200.9l6.09961 34.8994l-25.3994 24.6006
c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006l34.9004 -5c6.19922 -1 8.7998 -8.69922 4.2998 -13.1992l-25.4004 -24.6006l6 -34.8994c1 -6.2002 -5.39941 -11 -11 -7.90039
l-31.2998 16.2998l-31.2998 -16.2998c-5.60059 -3.09961 -12 1.7002 -11 7.90039zM385.4 273.6c6.19922 -1 8.89941 -8.59961 4.39941 -13.1992l-25.3994 -24.6006l6 -34.8994c1 -6.2002 -5.40039 -11 -11 -7.90039l-31.3008 16.2998l-31.2998 -16.2998
c-5.59961 -3.09961 -12 1.7002 -11 7.90039l6 34.8994l-25.3994 24.6006c-4.60059 4.59961 -1.90039 12.2998 4.2998 13.1992l34.8994 5l15.5 31.6006c2.90039 5.7998 11 5.7998 13.9004 0l15.5 -31.6006z" />
<glyph glyph-name="grin-tears" unicode="&#xf588;" horiz-adv-x="640"
d="M117.1 191.9c6.30078 0.899414 11.7002 -4.5 10.9004 -10.9004c-3.7002 -25.7998 -13.7002 -84 -30.5996 -100.9c-22 -21.8994 -57.9004 -21.5 -80.3008 0.900391c-22.3994 22.4004 -22.7998 58.4004 -0.899414 80.2998c16.8994 16.9004 75.0996 26.9004 100.899 30.6006
zM623.8 161.3c21.9004 -21.8994 21.5 -57.8994 -0.799805 -80.2002c-22.4004 -22.3994 -58.4004 -22.7998 -80.2998 -0.899414c-16.9004 16.8994 -26.9004 75.0996 -30.6006 100.899c-0.899414 6.30078 4.5 11.7002 10.8008 10.8008
c25.7998 -3.7002 84 -13.7002 100.899 -30.6006zM497.2 99.5996c12.3994 -37.2998 25.0996 -43.7998 28.2998 -46.5c-44.5996 -65.7998 -120 -109.1 -205.5 -109.1s-160.9 43.2998 -205.5 109.1c3.09961 2.60059 15.7998 9.10059 28.2998 46.5
c33.4004 -63.8994 100.3 -107.6 177.2 -107.6s143.8 43.7002 177.2 107.6zM122.7 223.5c-2.40039 0.299805 -5 2.5 -49.5 -6.90039c12.3994 125.4 118.1 223.4 246.8 223.4s234.4 -98 246.8 -223.5c-44.2998 9.40039 -47.3994 7.2002 -49.5 7
c-15.2002 95.2998 -97.7998 168.5 -197.3 168.5s-182.1 -73.2002 -197.3 -168.5zM320 48c-51.9004 0 -115.3 32.9004 -123.3 80c-1.7002 10 7.89941 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996
c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-8 -47.0996 -71.3994 -80 -123.3 -80zM450.3 216.3c-3.09961 -0.899414 -7.2002 0.100586 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17
c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998zM240 258.6
c-12.2998 0 -23.7998 -7.7998 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996z" />
<glyph glyph-name="grin-tongue" unicode="&#xf589;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0
l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200
s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996
s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32
s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
<glyph glyph-name="grin-tongue-squint" unicode="&#xf58a;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0
l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200
s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996
s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5l-33.6006 -40.2998
l33.6006 -40.2998c3.7002 -4.5 3.7002 -11 -0.100586 -15.5c-3.59961 -4.2002 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 3 11.5 1.90039 15.2998 -2.5zM214.2 250.3
c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998s-2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7002 -1.7002 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7002 4.5 -3.7002 11 0.100586 15.5
c3.89941 4.5 10.2998 5.5 15.2998 2.5z" />
<glyph glyph-name="grin-tongue-wink" unicode="&#xf58b;" horiz-adv-x="496"
d="M152 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5
c-3.7998 -3.39941 -9.2998 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM328 320c44.2002 0 80 -35.7998 80 -80s-35.7998 -80 -80 -80s-80 35.7998 -80 80s35.7998 80 80 80zM328 192
c26.5 0 48 21.5 48 48s-21.5 48 -48 48s-48 -21.5 -48 -48s21.5 -48 48 -48zM328 264c13.2998 0 24 -10.7002 24 -24s-10.7002 -24 -24 -24s-24 10.7002 -24 24s10.7002 24 24 24zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248z
M312 40h0.0996094v43.7998l-17.6992 8.7998c-15.1006 7.60059 -31.5 -1.69922 -34.9004 -16.5l-2.7998 -12.0996c-2.10059 -9.2002 -15.2002 -9.2002 -17.2998 0l-2.80078 12.0996c-3.39941 14.8008 -19.8994 24 -34.8994 16.5l-17.7002 -8.7998v-42.7998
c0 -35.2002 28 -64.5 63.0996 -65c35.8008 -0.5 64.9004 28.4004 64.9004 64zM340.2 14.7002c64 33.3994 107.8 100.3 107.8 177.3c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -77 43.7998 -143.9 107.8 -177.3
c-2.2002 8.09961 -3.7998 16.5 -3.7998 25.2998v43.5c-14.2002 12.4004 -24.4004 27.5 -27.2998 44.5c-1.7002 10 7.7998 18.4004 17.7002 15.2998c26 -8.2998 64.3994 -13.0996 105.6 -13.0996s79.7002 4.7998 105.6 13.0996c10 3.2002 19.4004 -5.39941 17.7002 -15.2998
c-2.89941 -17 -13.0996 -32.0996 -27.2998 -44.5v-43.5c0 -8.7998 -1.59961 -17.2002 -3.7998 -25.2998z" />
<glyph glyph-name="grin-wink" unicode="&#xf58c;" horiz-adv-x="496"
d="M328 268c25.6904 0 55.8799 -16.9199 59.8701 -42.1201c1.72949 -11.0898 -11.3506 -18.2695 -19.8301 -10.8398l-9.5498 8.47949c-14.8105 13.1904 -46.1602 13.1904 -60.9707 0l-9.5498 -8.47949c-8.33008 -7.40039 -21.5801 -0.379883 -19.8301 10.8398
c3.98047 25.2002 34.1699 42.1201 59.8604 42.1201zM168 208c-17.6699 0 -32 14.3301 -32 32s14.3301 32 32 32s32 -14.3301 32 -32s-14.3301 -32 -32 -32zM353.55 143.36c10.04 3.13965 19.3906 -5.4502 17.71 -15.3408
c-7.92969 -47.1494 -71.3193 -80.0195 -123.26 -80.0195s-115.33 32.8701 -123.26 80.0195c-1.69043 9.9707 7.76953 18.4707 17.71 15.3408c25.9297 -8.31055 64.3994 -13.0605 105.55 -13.0605s79.6201 4.75977 105.55 13.0605zM248 440c136.97 0 248 -111.03 248 -248
s-111.03 -248 -248 -248s-248 111.03 -248 248s111.03 248 248 248zM248 -8c110.28 0 200 89.7197 200 200s-89.7197 200 -200 200s-200 -89.7197 -200 -200s89.7197 -200 200 -200z" />
<glyph glyph-name="kiss" unicode="&#xf596;" horiz-adv-x="496"
d="M168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5
c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM248 440c137 0 248 -111 248 -248
s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z
" />
<glyph glyph-name="kiss-beam" unicode="&#xf597;" horiz-adv-x="496"
d="M168 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004zM248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8
c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM304 140c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5
c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM328 296
c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.299805 -3.7998 -2 -7.19922 -5.59961 -8.2998c-3.10059 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996c-12.3008 0 -23.8008 -7.89941 -31.5 -21.5996l-9.5 -17
c-1.80078 -3.2002 -5.80078 -4.7002 -9.30078 -3.7002c-3.59961 1.10059 -5.89941 4.60059 -5.59961 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
<glyph glyph-name="kiss-wink-heart" unicode="&#xf598;" horiz-adv-x="504"
d="M304 139.5c0 -13 -13.4004 -27.2998 -35.0996 -36.4004c21.7998 -8.69922 35.1992 -23 35.1992 -36c0 -19.1992 -28.6992 -41.5 -71.5 -44h-0.5c-3.69922 0 -7 2.60059 -7.7998 6.2002c-0.899414 3.7998 1.10059 7.7002 4.7002 9.2002l17 7.2002
c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.2002c-6 2.59961 -5.7002 12.3994 0 14.7998l17 7.2002c12.9004 5.5 20.7002 13.5 20.7002 21.5s-7.7998 16 -20.7998 21.5l-16.9004 7.19922c-3.59961 1.5 -5.59961 5.40039 -4.7002 9.2002
c0.799805 3.7998 4.40039 6.60059 8.2002 6.2002c42.7002 -2.5 71.5 -24.7998 71.5 -44zM374.5 223c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-2.5 -2.2998 -7.90039 -4.7002 -13.7002 -1.59961c-4.39941 2.39941 -6.89941 7.39941 -6.09961 12.3994
c3.89941 25.2002 34.2002 42.1006 59.7998 42.1006s55.7998 -16.9004 59.7998 -42.1006c0.799805 -5 -1.7002 -10 -6.09961 -12.3994c-4.40039 -2.40039 -9.90039 -1.7002 -13.7002 1.59961zM136 239.5c0 17.7002 14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32
s-32 14.2998 -32 32zM501.1 45.5c9.2002 -23.9004 -4.39941 -49.4004 -28.5 -55.7002l-83 -21.5c-5.39941 -1.39941 -10.8994 1.7998 -12.3994 7.10059l-22.9004 82.5996c-6.59961 24 8.7998 48.5996 34 52.5996c22 3.5 43.1006 -11.5996 49 -33l2.2998 -8.39941
l8.40039 2.2002c21.5996 5.59961 45.0996 -5.10059 53.0996 -25.9004zM334 11.7002c17.7002 -64 10.9004 -39.5 13.4004 -46.7998c-30.5 -13.4004 -64 -20.9004 -99.4004 -20.9004c-137 0 -248 111 -248 248s111 248 248 248s248 -111 247.9 -248
c0 -31.7998 -6.2002 -62.0996 -17.1006 -90c-6 1.5 -12.2002 2.7998 -18.5996 2.90039c-5.60059 9.69922 -13.6006 17.5 -22.6006 23.8994c6.7002 19.9004 10.4004 41.1006 10.4004 63.2002c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200
c30.7998 0 59.9004 7.2002 86 19.7002z" />
<glyph glyph-name="laugh" unicode="&#xf599;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM168 224
c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
<glyph glyph-name="laugh-beam" unicode="&#xf59a;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 296c23.7998 0 52.7002 -29.2998 55.7998 -71.4004c0.700195 -8.5 -10.7998 -11.8994 -14.8994 -4.5
l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006c-12.3008 0 -23.8008 -7.90039 -31.5 -21.6006l-9.5 -17c-4.10059 -7.39941 -15.6006 -4.09961 -14.9004 4.5c3.2998 42.1006 32.2002 71.4004 56 71.4004zM127 220.1c-4.2002 -7.39941 -15.7002 -4 -15.0996 4.5
c3.2998 42.1006 32.1992 71.4004 56 71.4004c23.7998 0 52.6992 -29.2998 56 -71.4004c0.699219 -8.5 -10.8008 -11.8994 -14.9004 -4.5l-9.5 17c-7.7002 13.7002 -19.2002 21.6006 -31.5 21.6006s-23.7998 -7.90039 -31.5 -21.6006zM362.4 160c8.19922 0 14.5 -7 13.5 -15
c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
<glyph glyph-name="laugh-squint" unicode="&#xf59b;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM343.6 252l33.6006 -40.2998c8.59961 -10.4004 -3.90039 -24.7998 -15.4004 -18l-80 48
c-7.7998 4.7002 -7.7998 15.8994 0 20.5996l80 48c11.6006 6.7998 24 -7.7002 15.4004 -18zM134.2 193.7c-11.6006 -6.7998 -24.1006 7.59961 -15.4004 18l33.6006 40.2998l-33.6006 40.2998c-8.59961 10.2998 3.7998 24.9004 15.4004 18l80 -48
c7.7998 -4.7002 7.7998 -15.8994 0 -20.5996zM362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
<glyph glyph-name="laugh-wink" unicode="&#xf59c;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM389.4 50.5996c37.7998 37.8008 58.5996 88 58.5996 141.4s-20.7998 103.6 -58.5996 141.4c-37.8008 37.7998 -88 58.5996 -141.4 58.5996s-103.6 -20.7998 -141.4 -58.5996
c-37.7998 -37.8008 -58.5996 -88 -58.5996 -141.4s20.7998 -103.6 58.5996 -141.4c37.8008 -37.7998 88 -58.5996 141.4 -58.5996s103.6 20.7998 141.4 58.5996zM328 284c25.7002 0 55.9004 -16.9004 59.7002 -42.0996c1.7998 -11.1006 -11.2998 -18.2002 -19.7998 -10.8008
l-9.5 8.5c-14.8008 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5c-8.30078 -7.39941 -21.5 -0.399414 -19.8008 10.8008c4 25.1992 34.2002 42.0996 59.9004 42.0996zM168 224c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32s-14.2998 -32 -32 -32z
M362.4 160c8.19922 0 14.5 -7 13.5 -15c-7.5 -59.2002 -58.9004 -105 -121.101 -105h-13.5996c-62.2002 0 -113.601 45.7998 -121.101 105c-1 8 5.30078 15 13.5 15h228.801z" />
<glyph glyph-name="meh-blank" unicode="&#xf5a4;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM168 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32
s-32 14.2998 -32 32s14.2998 32 32 32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
<glyph glyph-name="meh-rolling-eyes" unicode="&#xf5a5;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM336 296c39.7998 0 72 -32.2002 72 -72s-32.2002 -72 -72 -72
s-72 32.2002 -72 72s32.2002 72 72 72zM336 184c22.0996 0 40 17.9004 40 40c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998
c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998c0 -22.0996 17.9004 -40 40 -40zM232 224c0 -39.7998 -32.2002 -72 -72 -72s-72 32.2002 -72 72s32.2002 72 72 72s72 -32.2002 72 -72zM120 224c0 -22.0996 17.9004 -40 40 -40s40 17.9004 40 40
c0 13.5996 -7.2998 25.0996 -17.7002 32.2998c1 -2.59961 1.7002 -5.39941 1.7002 -8.2998c0 -13.2998 -10.7002 -24 -24 -24s-24 10.7002 -24 24c0 3 0.700195 5.7002 1.7002 8.2998c-10.4004 -7.2002 -17.7002 -18.7002 -17.7002 -32.2998zM312 96
c13.2002 0 24 -10.7998 24 -24s-10.7998 -24 -24 -24h-128c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24h128z" />
<glyph glyph-name="sad-cry" unicode="&#xf5b3;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM392 53.5996c34.5996 35.9004 56 84.7002 56 138.4c0 110.3 -89.7002 200 -200 200s-200 -89.7002 -200 -200c0 -53.7002 21.4004 -102.4 56 -138.4v114.4
c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-151.4c28.5 -15.5996 61.2002 -24.5996 96 -24.5996s67.5 9 96 24.5996v151.4c0 13.2002 10.7998 24 24 24s24 -10.7998 24 -24v-114.4zM205.8 213.5c-5.7998 -3.2002 -11.2002 -0.700195 -13.7002 1.59961l-9.5 8.5
c-14.7998 13.2002 -46.1992 13.2002 -61 0l-9.5 -8.5c-3.7998 -3.39941 -9.2998 -4 -13.6992 -1.59961c-4.40039 2.40039 -6.90039 7.40039 -6.10059 12.4004c3.90039 25.1992 34.2002 42.0996 59.7998 42.0996c25.6006 0 55.8008 -16.9004 59.8008 -42.0996
c0.799805 -5 -1.7002 -10 -6.10059 -12.4004zM344 268c25.7002 0 55.9004 -16.9004 59.7998 -42.0996c0.799805 -5 -1.7002 -10 -6.09961 -12.4004c-5.7002 -3.09961 -11.2002 -0.599609 -13.7002 1.59961l-9.5 8.5c-14.7998 13.2002 -46.2002 13.2002 -61 0l-9.5 -8.5
c-3.7998 -3.39941 -9.2002 -4 -13.7002 -1.59961c-4.39941 2.40039 -6.89941 7.40039 -6.09961 12.4004c3.89941 25.1992 34.0996 42.0996 59.7998 42.0996zM248 176c30.9004 0 56 -28.7002 56 -64s-25.0996 -64 -56 -64s-56 28.7002 -56 64s25.0996 64 56 64z" />
<glyph glyph-name="sad-tear" unicode="&#xf5b4;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM256 144c38.0996 0 74 -16.7998 98.5 -46.0996
c8.5 -10.2002 7.09961 -25.3008 -3.09961 -33.8008c-10.6006 -8.7998 -25.7002 -6.69922 -33.8008 3.10059c-15.2998 18.2998 -37.7998 28.7998 -61.5996 28.7998c-13.2002 0 -24 10.7998 -24 24s10.7998 24 24 24zM168 208c-17.7002 0 -32 14.2998 -32 32s14.2998 32 32 32
s32 -14.2998 32 -32s-14.2998 -32 -32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32zM162.4 173.2c2.7998 3.7002 8.39941 3.7002 11.1992 0c11.4004 -15.2998 36.4004 -50.6006 36.4004 -68.1006
c0 -22.6992 -18.7998 -41.0996 -42 -41.0996s-42 18.4004 -42 41.0996c0 17.5 25 52.8008 36.4004 68.1006z" />
<glyph glyph-name="smile-beam" unicode="&#xf5b8;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM332 135.4c8.5 10.1992 23.5996 11.5 33.7998 3.09961
c10.2002 -8.5 11.6006 -23.5996 3.10059 -33.7998c-30 -36 -74.1006 -56.6006 -120.9 -56.6006s-90.9004 20.6006 -120.9 56.6006c-8.39941 10.2002 -7.09961 25.2998 3.10059 33.7998c10.2002 8.40039 25.2998 7.09961 33.7998 -3.09961
c20.7998 -25.1006 51.5 -39.4004 84 -39.4004s63.2002 14.4004 84 39.4004zM136.5 237l-9.5 -17c-1.90039 -3.2002 -5.90039 -4.7998 -9.2998 -3.7002c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004s52.7002 -29.2998 56 -71.4004
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996zM328 296c23.7998 0 52.7002 -29.2998 56 -71.4004
c0.299805 -3.7998 -2.09961 -7.19922 -5.7002 -8.2998c-3.09961 -1 -7.2002 0 -9.2998 3.7002l-9.5 17c-7.7002 13.7002 -19.2002 21.5996 -31.5 21.5996s-23.7998 -7.89941 -31.5 -21.5996l-9.5 -17c-1.90039 -3.2002 -5.7998 -4.7998 -9.2998 -3.7002
c-3.60059 1.10059 -6 4.60059 -5.7002 8.2998c3.2998 42.1006 32.2002 71.4004 56 71.4004z" />
<glyph glyph-name="surprise" unicode="&#xf5c2;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM248 168c35.2998 0 64 -28.7002 64 -64s-28.7002 -64 -64 -64
s-64 28.7002 -64 64s28.7002 64 64 64zM200 240c0 -17.7002 -14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32s32 -14.2998 32 -32zM328 272c17.7002 0 32 -14.2998 32 -32s-14.2998 -32 -32 -32s-32 14.2998 -32 32s14.2998 32 32 32z" />
<glyph glyph-name="tired" unicode="&#xf5c8;" horiz-adv-x="496"
d="M248 440c137 0 248 -111 248 -248s-111 -248 -248 -248s-248 111 -248 248s111 248 248 248zM248 -8c110.3 0 200 89.7002 200 200s-89.7002 200 -200 200s-200 -89.7002 -200 -200s89.7002 -200 200 -200zM377.1 295.8c3.80078 -4.39941 3.90039 -11 0.100586 -15.5
l-33.6006 -40.2998l33.6006 -40.2998c3.7998 -4.5 3.7002 -11 -0.100586 -15.5c-3.5 -4.10059 -9.89941 -5.7002 -15.2998 -2.5l-80 48c-3.59961 2.2002 -5.7998 6.09961 -5.7998 10.2998s2.2002 8.09961 5.7998 10.2998l80 48c5 2.90039 11.5 1.90039 15.2998 -2.5z
M220 240c0 -4.2002 -2.2002 -8.09961 -5.7998 -10.2998l-80 -48c-5.40039 -3.2002 -11.7998 -1.60059 -15.2998 2.5c-3.80078 4.5 -3.90039 11 -0.100586 15.5l33.6006 40.2998l-33.6006 40.2998c-3.7998 4.5 -3.7002 11 0.100586 15.5
c3.7998 4.40039 10.2998 5.5 15.2998 2.5l80 -48c3.59961 -2.2002 5.7998 -6.09961 5.7998 -10.2998zM248 176c45.4004 0 100.9 -38.2998 107.8 -93.2998c1.5 -11.9004 -7 -21.6006 -15.5 -17.9004c-22.7002 9.7002 -56.2998 15.2002 -92.2998 15.2002
s-69.5996 -5.5 -92.2998 -15.2002c-8.60059 -3.7002 -17 6.10059 -15.5 17.9004c6.89941 55 62.3994 93.2998 107.8 93.2998z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 896 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,793 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="pxplus_ibm_vga8regular" horiz-adv-x="800" >
<font-face units-per-em="1600" ascent="1200" descent="-400" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" d="M0 200h100v100h100v700h600v-300h-400v-600h-100v-100h-300v200zM400 900v-100h200v100h-200z" />
<glyph d="M0 100v800h100v-800h-100zM200 400v100h400v-100h-100v-100h-200v100h-100zM200 700v100h100v-100h-100zM600 700h-100v100h100v-100zM800 100h-100v800h100v-800zM100 100h600v-100h-600v100zM100 900v100h600v-100h-600z" />
<glyph d="M0 100v800h100v100h600v-100h100v-800h-100v-100h-600v100h-100zM200 500v-100h100v-100h200v100h100v100h-400zM200 700h100v100h-100v-100zM600 700v100h-100v-100h100z" />
<glyph d="M0 300v400h100v100h200v-100h100v100h200v-100h100v-400h-100v-100h-100v-100h-100v-100h-100v100h-100v100h-100v100h-100z" />
<glyph d="M0 400v100h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-100h-100v-100h-100v-100h-100v-100h-100v100h-100v100h-100v100h-100z" />
<glyph d="M0 300v300h200v200h100v100h200v-100h100v-200h200v-300h-300v300h-200v-300h-300zM200 0v100h100v200h200v-200h100v-100h-400z" />
<glyph d="M0 400v200h100v100h100v100h100v100h200v-100h100v-100h100v-100h100v-200h-100v-100h-200v-200h100v-100h-400v100h100v200h-200v100h-100z" />
<glyph d="M500 200h-200v100h-100v200h100v100h200v-100h100v-200h-100v-100z" />
<glyph d="M0 -400v1600h800v-1600h-800zM200 300h100v-100h200v100h100v200h-100v100h-200v-100h-100v-200z" />
<glyph unicode="&#x9;" d="M100 200v400h100v100h400v-100h100v-400h-100v-100h-400v100h-100zM200 300h100v-100h200v100h100v200h-100v100h-200v-100h-100v-200z" />
<glyph unicode="&#xa;" d="M0 -400v1600h800v-1600h-800zM200 200v-100h400v100h100v400h-100v100h-400v-100h-100v-400h100zM200 500h100v100h200v-100h100v-200h-100v-100h-200v100h-100v200z" />
<glyph d="M0 100v400h100v100h100v100h100v100h100v100h-100v100h400v-400h-100v200h-100v-100h-100v-100h100v-100h100v-400h-100v-100h-400v100h-100zM200 100h200v400h-200v-400z" />
<glyph d="M200 500h-100v400h100v100h400v-100h100v-400h-100v-100h-100v-100h200v-100h-200v-200h-200v200h-200v100h200v100h-100v100zM300 500h200v400h-200v-400z" />
<glyph d="M0 200h100v800h700v-900h-100v-100h-200v300h100v400h-300v-700h-100v-100h-200v300zM300 900v-100h300v100h-300z" />
<glyph d="M0 200v100h200v-100h-200zM0 400v100h200v100h100v300h200v-300h100v-100h200v-100h-200v-100h-100v-300h-200v300h-100v100h-200zM0 600v100h200v-100h-200zM600 200v100h200v-100h-200zM600 600v100h200v-100h-200zM300 500v-100h200v100h-200z" />
<glyph d="M0 0v1100h100v-100h100v-100h100v-100h100v-100h100v-100h200v-100h-200v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100z" />
<glyph d="M0 500v100h200v100h100v100h100v100h100v100h100v100h100v-1100h-100v100h-100v100h-100v100h-100v100h-100v100h-200z" />
<glyph d="M200 200v100h-100v100h200v300h-200v100h100v100h100v100h200v-100h100v-100h100v-100h-200v-300h200v-100h-100v-100h-100v-100h-200v100h-100z" />
<glyph d="M100 200h200v-200h-200v200zM100 300v700h200v-700h-200zM500 200h200v-200h-200v200zM500 300v700h200v-700h-200z" />
<glyph d="M800 0h-200v900h-100v-900h-200v500h-200v100h-100v300h100v100h700v-1000zM200 600h100v300h-100v-300z" />
<glyph d="M0 0v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v200h100v100h100v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-200h-100v-100h-100v-100h100v-100h100v-100h-100v-100h-500v100h-100zM400 300v100 h100v200h-100v100h-100v-100h-100v-200h100v-100h100z" />
<glyph d="M0 0v400h700v-400h-700z" />
<glyph d="M200 200v100h-100v100h200v300h-200v100h100v100h100v100h200v-100h100v-100h100v-100h-200v-300h200v-100h-100v-100h-100v-100h200v-100h-600v100h200v100h-100z" />
<glyph d="M100 700v100h100v100h100v100h200v-100h100v-100h100v-100h-200v-700h-200v700h-200z" />
<glyph d="M100 200v100h200v700h200v-700h200v-100h-100v-100h-100v-100h-200v100h-100v100h-100z" />
<glyph d="M0 400v100h400v100h-100v100h200v-100h100v-100h100v-100h-100v-100h-100v-100h-200v100h100v100h-400z" />
<glyph d="M0 400v100h100v100h100v100h200v-100h-100v-100h400v-100h-400v-100h100v-100h-200v100h-100v100h-100z" />
<glyph d="M0 200v400h200v-300h500v-100h-700z" />
<glyph d="M0 400v100h100v100h100v100h100v-200h100v200h100v-100h100v-100h100v-100h-100v-100h-100v-100h-100v200h-100v-200h-100v100h-100v100h-100z" />
<glyph d="M0 100v200h100v200h100v200h100v100h100v-100h100v-200h100v-200h100v-200h-700z" />
<glyph d="M0 600v200h700v-200h-100v-200h-100v-200h-100v-100h-100v100h-100v200h-100v200h-100z" />
<glyph unicode=" " />
<glyph unicode="!" d="M200 600v300h100v100h200v-100h100v-300h-100v-300h-200v300h-100zM300 200h200v-200h-200v200z" />
<glyph unicode="&#x22;" d="M100 1100h200v-400h-100v100h-100v300zM500 1100h200v-300h-100v-100h-100v400z" />
<glyph unicode="#" d="M0 200v100h100v300h-100v100h100v200h200v-200h100v200h200v-200h100v-100h-100v-300h100v-100h-100v-200h-200v200h-100v-200h-200v200h-100zM400 300v300h-100v-300h100z" />
<glyph unicode="$" d="M0 100v200h100v-100h100v-100h300v400h-400v100h-100v300h100v100h200v200h200v-200h100v-100h100v-200h-100v100h-100v100h-300v-300h400v-100h100v-400h-100v-100h-100v-200h-200v200h-200v100h-100z" />
<glyph unicode="%" d="M0 200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v200zM0 600v200h200v-200h-200zM500 200h200v-200h-200v200z" />
<glyph unicode="&#x26;" d="M0 100v400h100v100h100v100h-100v200h100v100h300v-100h100v-200h-100v-100h-100v-100h100v100h200v-100h-100v-400h100v-100h-200v100h-100v300h-100v100h-100v-400h200v-100h-300v100h-100zM400 700v200h-100v-200h100z" />
<glyph unicode="'" d="M400 800h-100v-100h-200v100h100v300h200v-300z" />
<glyph unicode="(" d="M200 200v600h100v100h100v100h200v-100h-100v-100h-100v-600h100v-100h100v-100h-200v100h-100v100h-100z" />
<glyph unicode=")" d="M200 0v100h100v100h100v600h-100v100h-100v100h200v-100h100v-100h100v-600h-100v-100h-100v-100h-200z" />
<glyph unicode="*" d="M0 400v100h200v100h-100v100h200v-100h200v100h200v-100h-100v-100h200v-100h-200v-100h100v-100h-200v100h-200v-100h-200v100h100v100h-200z" />
<glyph unicode="+" d="M500 200h-200v200h-200v100h200v200h200v-200h200v-100h-200v-200z" />
<glyph unicode="," d="M400 0v-100h-200v100h100v300h200v-300h-100z" />
<glyph unicode="-" d="M0 400v100h700v-100h-700z" />
<glyph unicode="." d="M500 200v-200h-200v200h200z" />
<glyph unicode="/" d="M0 200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v200z" />
<glyph unicode="0" d="M0 200v600h100v100h100v100h300v-100h100v-100h100v-600h-100v-100h-100v-100h-300v100h-100v100h-100zM200 200h100v-100h100v100h100v600h-100v100h-100v-100h-100v-600zM400 400h-100v200h100v-200z" />
<glyph unicode="1" d="M100 0v100h200v600h-200v100h100v100h100v100h200v-900h200v-100h-600z" />
<glyph unicode="2" d="M0 0v300h100v100h100v100h100v100h100v100h100v200h-300v-100h-200v100h100v100h500v-100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-200h300v100h200v-200h-700z" />
<glyph unicode="3" d="M0 100v100h200v-100h300v400h-300v100h300v300h-300v-100h-200v100h100v100h500v-100h100v-300h-100v-100h100v-400h-100v-100h-500v100h-100z" />
<glyph unicode="4" d="M0 400v200h100v100h100v100h100v100h100v100h200v-500h100v-100h-100v-300h100v-100h-400v100h100v300h-400zM200 500h200v200h-100v-100h-100v-100z" />
<glyph unicode="5" d="M0 100v100h200v-100h300v400h-500v500h700v-100h-500v-300h400v-100h100v-400h-100v-100h-500v100h-100z" />
<glyph unicode="6" d="M0 100v700h100v100h100v100h300v-100h-200v-100h-100v-200h400v-100h100v-400h-100v-100h-500v100h-100zM200 100h300v400h-300v-400z" />
<glyph unicode="7" d="M0 1000h700v-400h-100v-100h-100v-100h-100v-400h-200v400h100v100h100v100h100v300h-300v-100h-200v200z" />
<glyph unicode="8" d="M0 100v400h100v100h-100v300h100v100h500v-100h100v-300h-100v-100h100v-400h-100v-100h-500v100h-100zM200 100h300v400h-300v-400zM200 600h300v300h-300v-300z" />
<glyph unicode="9" d="M0 600v300h100v100h500v-100h100v-700h-100v-100h-100v-100h-400v100h300v100h100v300h-400v100h-100zM200 600h300v300h-300v-300z" />
<glyph unicode=":" d="M500 100h-200v200h200v-200zM500 600h-200v200h200v-200z" />
<glyph unicode=";" d="M400 100v-100h-200v100h100v200h200v-200h-100zM500 600h-200v200h200v-200z" />
<glyph unicode="&#x3c;" d="M200 500v100h100v100h100v100h100v100h200v-100h-100v-100h-100v-100h-100v-100h-100v-100h100v-100h100v-100h100v-100h100v-100h-200v100h-100v100h-100v100h-100v100h-100v100h100z" />
<glyph unicode="=" d="M100 300v100h600v-100h-600zM100 600v100h600v-100h-600z" />
<glyph unicode="&#x3e;" d="M200 100v100h100v100h100v100h100v100h-100v100h-100v100h-100v100h-100v100h200v-100h100v-100h100v-100h100v-100h100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-200v100h100z" />
<glyph unicode="?" d="M0 700v200h100v100h500v-100h100v-200h-100v-100h-100v-300h-200v300h100v100h100v200h-300v-200h-200zM300 200h200v-200h-200v200z" />
<glyph unicode="@" d="M0 100v700h100v100h500v-100h100v-500h-100v-100h-300v400h200v200h-300v-700h400v-100h-500v100h-100z" />
<glyph unicode="A" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM200 500h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="B" d="M0 0v100h100v800h-100v100h600v-100h100v-300h-100v-100h100v-400h-100v-100h-600zM300 100h200v400h-200v-400zM300 600h200v300h-200v-300z" />
<glyph unicode="C" d="M0 200v600h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-600h100v-100h200v100h100v100h100v-200h-100v-100h-400v100h-100v100h-100z" />
<glyph unicode="D" d="M0 0v100h100v800h-100v100h500v-100h100v-100h100v-600h-100v-100h-100v-100h-500zM300 100h100v100h100v600h-100v100h-100v-800z" />
<glyph unicode="E" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-400h200v100h100v100h100v-300h-700z" />
<glyph unicode="F" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-400h100v-100h-400z" />
<glyph unicode="G" d="M0 200v600h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-600h100v-100h200v-100h-300v100h-100v100h-100zM600 100h-100v300h-200v100h400v-500h-100v100z" />
<glyph unicode="H" d="M0 0v1000h200v-400h300v400h200v-1000h-200v500h-300v-500h-200z" />
<glyph unicode="I" d="M500 100h100v-100h-400v100h100v800h-100v100h400v-100h-100v-800z" />
<glyph unicode="J" d="M0 100v300h200v-300h200v800h-100v100h400v-100h-100v-800h-100v-100h-400v100h-100z" />
<glyph unicode="K" d="M0 0v100h100v800h-100v100h300v-400h100v100h100v300h200v-300h-100v-100h-100v-200h100v-100h100v-300h-200v300h-100v100h-100v-400h-300z" />
<glyph unicode="L" d="M0 0v100h100v800h-100v100h400v-100h-100v-800h200v100h100v100h100v-300h-700z" />
<glyph unicode="M" d="M0 0v1000h200v-100h100v-100h100v100h100v100h200v-1000h-200v600h-100v-100h-100v100h-100v-600h-200z" />
<glyph unicode="N" d="M0 0v1000h200v-100h100v-100h100v-100h100v300h200v-1000h-200v400h-100v100h-100v100h-100v-600h-200z" />
<glyph unicode="O" d="M0 100v800h100v100h500v-100h100v-800h-100v-100h-500v100h-100zM200 100h300v800h-300v-800z" />
<glyph unicode="P" d="M0 0v100h100v800h-100v100h600v-100h100v-300h-100v-100h-300v-400h100v-100h-400zM300 600h200v300h-200v-300z" />
<glyph unicode="Q" d="M0 100v800h100v100h500v-100h100v-800h-100v-200h100v-100h-300v200h-300v100h-100zM200 100h100v200h100v-100h100v700h-300v-800z" />
<glyph unicode="R" d="M0 0v100h100v800h-100v100h600v-100h100v-300h-100v-200h100v-400h-200v400h-100v100h-100v-500h-300zM300 600h200v300h-200v-300z" />
<glyph unicode="S" d="M0 100v200h200v-200h300v300h-100v100h-200v100h-100v100h-100v200h100v100h500v-100h100v-200h-200v200h-300v-200h100v-100h200v-100h100v-100h100v-300h-100v-100h-500v100h-100z" />
<glyph unicode="T" d="M100 700v300h600v-300h-100v100h-100v-700h100v-100h-400v100h100v700h-100v-100h-100z" />
<glyph unicode="U" d="M0 100v900h200v-900h300v900h200v-900h-100v-100h-500v100h-100z" />
<glyph unicode="V" d="M0 300v700h200v-700h100v-100h100v100h100v700h200v-700h-100v-100h-100v-100h-100v-100h-100v100h-100v100h-100v100h-100z" />
<glyph unicode="W" d="M0 100v900h200v-700h100v300h100v-300h100v700h200v-900h-100v-100h-200v200h-100v-200h-200v100h-100z" />
<glyph unicode="X" d="M0 200h100v200h100v200h-100v200h-100v200h200v-200h100v-100h100v100h100v200h200v-200h-100v-200h-100v-200h100v-200h100v-200h-200v200h-100v100h-100v-100h-100v-200h-200v200z" />
<glyph unicode="Y" d="M100 600v400h200v-400h200v400h200v-400h-100v-100h-100v-400h100v-100h-400v100h100v400h-100v100h-100z" />
<glyph unicode="Z" d="M0 0v300h100v100h100v100h100v100h100v100h100v200h-300v-100h-100v-100h-100v300h700v-300h-100v-100h-100v-100h-100v-100h-100v-100h-100v-200h300v100h100v100h100v-300h-700z" />
<glyph unicode="[" d="M400 100h200v-100h-400v1000h400v-100h-200v-800z" />
<glyph unicode="\" d="M0 600v300h100v-100h100v-100h100v-100h100v-100h100v-100h100v-100h100v-300h-100v100h-100v100h-100v100h-100v100h-100v100h-100v100h-100z" />
<glyph unicode="]" d="M400 100v800h-200v100h400v-1000h-400v100h200z" />
<glyph unicode="^" d="M0 800v100h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-100h-200v100h-100v100h-100v-100h-100v-100h-200z" />
<glyph unicode="_" d="M0 -200v100h800v-100h-800z" />
<glyph unicode="`" d="M400 1000h100v-100h-200v100h-100v200h200v-200z" />
<glyph unicode="a" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100z" />
<glyph unicode="b" d="M0 900v100h300v-300h200v-100h100v-100h100v-400h-100v-100h-500v900h-100zM300 100h200v400h-100v100h-100v-500z" />
<glyph unicode="c" d="M0 100v500h100v100h500v-100h100v-100h-200v100h-300v-500h300v100h200v-100h-100v-100h-500v100h-100z" />
<glyph unicode="d" d="M0 100v400h100v100h100v100h200v200h-100v100h300v-900h100v-100h-200v100h-100v500h-100v-100h-100v-400h200v-100h-300v100h-100z" />
<glyph unicode="e" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100z" />
<glyph unicode="f" d="M0 0v100h100v400h-100v100h100v300h100v100h300v-100h100v-200h-100v100h-100v100h-100v-300h100v-100h-100v-400h100v-100h-400z" />
<glyph unicode="g" d="M0 -200v100h200v-100h200v200h-300v100h-100v500h100v100h300v-100h-200v-500h200v500h100v100h200v-100h-100v-800h-100v-100h-400v100h-100z" />
<glyph unicode="h" d="M0 0v100h100v800h-100v100h300v-400h100v-100h-100v-500h-300zM400 600v100h200v-100h100v-600h-200v600h-100z" />
<glyph unicode="i" d="M200 0v100h100v500h-100v100h300v-600h100v-100h-400zM300 1000h200v-200h-200v200z" />
<glyph unicode="j" d="M100 0h200v-200h200v800h-100v100h300v-900h-100v-100h-400v100h-100v200zM500 1000h200v-200h-200v200z" />
<glyph unicode="k" d="M0 0v100h100v800h-100v100h300v-500h100v100h100v100h200v-100h-100v-100h-100v-200h100v-100h100v-200h-200v200h-100v100h-100v-300h-300z" />
<glyph unicode="l" d="M500 100h100v-100h-400v100h100v800h-100v100h300v-900z" />
<glyph unicode="m" d="M0 0v700h300v-100h100v100h200v-100h100v-600h-200v500h-100v-400h-100v400h-100v-500h-200z" />
<glyph unicode="n" d="M0 600v100h200v-100h100v-600h-200v600h-100zM300 600v100h300v-100h100v-600h-200v600h-200z" />
<glyph unicode="o" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 100h300v500h-300v-500z" />
<glyph unicode="p" d="M0 -200h100v800h-100v100h200v-100h100v-500h200v500h-200v100h300v-100h100v-500h-100v-100h-300v-200h100v-100h-400v100z" />
<glyph unicode="q" d="M0 100v500h100v100h300v-100h-200v-500h200v500h100v100h200v-100h-100v-800h100v-100h-400v100h100v200h-300v100h-100z" />
<glyph unicode="r" d="M0 0v100h100v500h-100v100h200v-100h100v100h300v-100h100v-200h-200v200h-100v-100h-100v-400h100v-100h-400z" />
<glyph unicode="s" d="M0 100v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-100h-100v-100h-500v100h-100z" />
<glyph unicode="t" d="M0 600v100h200v200h100v100h100v-300h200v-100h-200v-500h100v100h200v-100h-100v-100h-300v100h-100v500h-200z" />
<glyph unicode="u" d="M0 100v600h200v-600h200v-100h-300v100h-100zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="v" d="M100 200v500h200v-500h200v500h200v-500h-100v-100h-100v-100h-200v100h-100v100h-100z" />
<glyph unicode="w" d="M0 100v600h200v-500h100v300h100v-300h100v500h200v-600h-100v-100h-200v100h-100v-100h-200v100h-100z" />
<glyph unicode="x" d="M0 0v100h100v100h100v300h-100v100h-100v100h200v-100h100v-100h100v100h100v100h200v-100h-100v-100h-100v-300h100v-100h100v-100h-200v100h-100v100h-100v-100h-100v-100h-200z" />
<glyph unicode="y" d="M0 100v600h200v-600h300v600h200v-800h-100v-100h-100v-100h-500v100h400v100h100v100h-400v100h-100z" />
<glyph unicode="z" d="M0 200h100v100h100v100h100v100h100v100h-200v-100h-200v200h700v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h300v100h200v-200h-700v200z" />
<glyph unicode="{" d="M100 500v100h200v300h100v100h300v-100h-200v-300h-100v-100h100v-400h200v-100h-300v100h-100v400h-200z" />
<glyph unicode="|" d="M500 0h-200v500h200v-500zM500 600h-200v400h200v-400z" />
<glyph unicode="}" d="M100 0v100h200v400h100v100h-100v300h-200v100h300v-100h100v-300h200v-100h-200v-400h-100v-100h-300z" />
<glyph unicode="~" d="M0 800v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200z" />
<glyph d="M0 100v400h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-400h-700zM200 200h300v300h-100v100h-100v-100h-100v-300z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#xa1;" d="M200 100v300h100v300h200v-300h100v-300h-100v-100h-200v100h-100zM300 1000h200v-200h-200v200z" />
<glyph unicode="&#xa2;" d="M200 200v100h-100v500h100v100h100v200h200v-200h100v-100h100v-100h-200v100h-200v-500h200v100h200v-100h-100v-100h-100v-200h-200v200h-100z" />
<glyph unicode="&#xa3;" d="M0 200h100v400h-100v100h100v300h100v100h300v-100h100v-200h-100v100h-100v100h-100v-300h100v-100h-100v-500h200v100h200v-100h-100v-100h-600v200z" />
<glyph unicode="&#xa4;" d="M0 0v100h100v100h-100v400h100v100h-100v100h200v-100h300v100h200v-100h-100v-100h100v-400h-100v-100h100v-100h-200v100h-300v-100h-200zM200 200h300v400h-300v-400z" />
<glyph unicode="&#xa5;" d="M200 700v100h-100v200h200v-200h200v200h200v-200h-100v-100h-100v-100h200v-100h-200v-100h200v-100h-200v-300h-200v300h-200v100h200v100h-200v100h200v100h-100z" />
<glyph unicode="&#xa6;" d="M500 0h-200v500h200v-500zM500 600h-200v400h200v-400z" />
<glyph unicode="&#xa7;" d="M0 0v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v200h100v100h100v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-200h-100v-100h-100v-100h100v-100h100v-100h-100v-100h-500v100h-100zM400 300v100 h100v200h-100v100h-100v-100h-100v-200h100v-100h100z" />
<glyph unicode="&#xa8;" d="M500 1100h200v-100h-200v100zM0 1000v100h200v-100h-200z" />
<glyph unicode="&#xa9;" d="M0 200v700h100v-700h-100zM100 200h500v-100h-500v100zM100 900v100h500v-100h-500zM200 400v300h100v-300h-100zM300 400h200v-100h-200v100zM300 700v100h200v-100h-200zM600 200v700h100v-700h-100z" />
<glyph unicode="&#xaa;" d="M100 500v100h600v-100h-600zM100 1000h100v100h400v-300h100v-100h-500v100h-100v200zM300 800h100v200h-100v-200z" />
<glyph unicode="&#xab;" d="M0 400v100h100v100h100v100h200v-100h-100v-100h-100v-100h100v-100h100v-100h-200v100h-100v100h-100zM400 500v100h100v100h200v-100h-100v-100h-100v-100h100v-100h100v-100h-200v100h-100v100h-100v100h100z" />
<glyph unicode="&#xac;" d="M0 500v100h700v-500h-200v400h-500z" />
<glyph unicode="&#xad;" d="M0 400v100h700v-100h-700z" />
<glyph unicode="&#xae;" d="M0 200v700h100v-700h-100zM200 300v500h200v-100h-100v-100h100v-100h-100v-200h-100zM400 500h100v-200h-100v200zM400 700h100v-100h-100v100zM600 200v-100h-500v100h500zM600 1000v-100h-500v100h500zM600 900h100v-700h-100v700z" />
<glyph unicode="&#xaf;" d="M0 1000v100h800v-100h-800z" />
<glyph unicode="&#xb0;" d="M100 1000h100v100h300v-100h100v-200h-100v-100h-300v100h-100v200zM300 800h100v200h-100v-200z" />
<glyph unicode="&#xb1;" d="M0 0v100h800v-100h-800zM100 500v100h200v200h200v-200h200v-100h-200v-200h-200v200h-200z" />
<glyph unicode="&#xb2;" d="M0 500v200h100v100h100v100h100v100h-100v-100h-200v100h100v100h300v-100h100v-100h-100v-100h-100v-100h-100v-100h200v100h100v-200h-500z" />
<glyph unicode="&#xb3;" d="M0 500v100h300v200h-200v100h200v100h-300v100h400v-100h100v-100h-100v-100h100v-200h-100v-100h-400z" />
<glyph unicode="&#xb4;" d="M400 1000v100h200v-100h-100v-100h-100v-100h-200v100h100v100h100z" />
<glyph unicode="&#xb5;" d="M0 -100v100h100v800h200v-500h200v500h200v-500h-100v-100h-300v-200h-100v-100h-200z" />
<glyph unicode="&#xb6;" d="M800 0h-200v900h-100v-900h-200v500h-200v100h-100v300h100v100h700v-1000zM200 600h100v300h-100v-300z" />
<glyph unicode="&#xb7;" d="M500 400v-100h-200v100h200z" />
<glyph unicode="&#xb8;" d="M400 0h-100v100h200v-100h100v-100h-100v-100h-400v100h300v100z" />
<glyph unicode="&#xb9;" d="M400 600h100v-100h-400v100h100v300h-100v100h100v100h200v-500z" />
<glyph unicode="&#xba;" d="M100 500v100h500v-100h-500zM100 1000h100v100h300v-100h100v-200h-100v-100h-300v100h-100v200zM300 800h100v200h-100v-200z" />
<glyph unicode="&#xbb;" d="M0 200v100h100v100h100v100h-100v100h-100v100h200v-100h100v-100h100v-100h-100v-100h-100v-100h-200zM400 500v100h-100v100h200v-100h100v-100h100v-100h-100v-100h-100v-100h-200v100h100v100h100v100h-100z" />
<glyph unicode="&#xbc;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v500h200v-500h-200zM200 0v100h100v100h100v100h100v100h200v-600h-200v200h-300z" />
<glyph unicode="&#xbd;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v500h200v-500h-200zM400 0v100h100v100h-200v100h300v-100h100v-100h-100v-100h-100v-100h200v-100h-500v100h100v100 h100z" />
<glyph unicode="&#xbe;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v100h200v100h-100v100h100v100h-200v100h300v-100h100v-100h-100v-100h100v-100h-100v-100h-300zM400 200v-100h100v100 h-100zM400 300h100v100h200v-600h-200v200h-300v100h100v100h100v100z" />
<glyph unicode="&#xbf;" d="M0 100v300h100v100h100v200h200v-200h-100v-100h-100v-300h300v200h200v-200h-100v-100h-500v100h-100zM200 1000h200v-200h-200v200z" />
<glyph unicode="&#xc0;" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM200 500h300v200h-100v100h-100v-100h-100v-200zM400 1100v100h200v-100h100v-100h-200v100h-100z" />
<glyph unicode="&#xc1;" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM0 1000v100h100v100h200v-100h-100v-100h-200zM200 500h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#xc2;" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM0 1000v100h100v100h500v-100h100v-100h-200v100h-300v-100h-200zM200 500h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#xc3;" d="M0 0v600h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-600h-200v300h-300v-300h-200zM0 1000v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200zM200 400h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#xc4;" d="M0 0v600h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-600h-200v300h-300v-300h-200zM0 1000v100h200v-100h-200zM200 400h300v200h-100v100h-100v-100h-100v-200zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#xc5;" d="M0 0v600h100v100h100v100h300v-100h100v-100h100v-600h-200v300h-300v-300h-200zM200 400h300v200h-100v100h-100v-100h-100v-200zM200 1000h-100v100h100v100h300v-100h100v-100h-100v-100h-300v100zM400 1000v100h-100v-100h100z" />
<glyph unicode="&#xc6;" d="M0 0v800h100v100h100v100h500v-100h-100v-300h100v-100h-100v-400h100v-100h-300v500h-200v-500h-200zM200 600h200v300h-100v-100h-100v-200z" />
<glyph unicode="&#xc7;" d="M0 300v500h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-500h100v-100h200v100h100v100h100v-200h-100v-200h100v-100h-100v-100h-500v100h400v100h-100v100h-200v100h-100v100h-100z" />
<glyph unicode="&#xc8;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM200 1100v100h200v-100h100v-100h-200v100h-100z" />
<glyph unicode="&#xc9;" d="M0 0v100h100v600h-100v100h700v-200h-200v100h-200v-200h300v-100h-300v-300h200v100h200v-200h-700zM200 1000v100h100v100h200v-100h-100v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#xca;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM200 1100v100h300v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#xcb;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM0 1000v100h200v-100h-200zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#xcc;" d="M200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400zM300 1100h-100v100h200v-100h100v-100h-200v100z" />
<glyph unicode="&#xcd;" d="M200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400zM300 1100h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#xce;" d="M100 1100h100v100h400v-100h100v-100h-200v100h-200v-100h-200v100zM200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400z" />
<glyph unicode="&#xcf;" d="M100 1100h200v-100h-200v100zM200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#xd0;" d="M0 0v100h100v400h-100v100h100v300h-100v100h500v-100h100v-100h100v-600h-100v-100h-100v-100h-500zM400 100v100h100v600h-100v100h-100v-300h100v-100h-100v-400h100z" />
<glyph unicode="&#xd1;" d="M0 0v900h200v-100h100v-100h100v-100h100v300h200v-900h-200v300h-100v100h-100v100h-100v-500h-200zM0 1000v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200z" />
<glyph unicode="&#xd2;" d="M0 100v700h100v100h500v-100h100v-700h-100v-100h-500v100h-100zM300 1100h-100v100h200v-100h100v-100h-200v100zM200 100h300v700h-300v-700z" />
<glyph unicode="&#xd3;" d="M0 100v700h100v100h500v-100h100v-700h-100v-100h-500v100h-100zM300 1100v100h200v-100h-100v-100h-200v100h100zM200 100h300v700h-300v-700z" />
<glyph unicode="&#xd4;" d="M0 100v700h100v100h500v-100h100v-700h-100v-100h-500v100h-100zM200 100h300v700h-300v-700zM200 1100v100h300v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#xd5;" d="M0 100v700h100v100h500v-100h100v-700h-100v-100h-500v100h-100zM0 1000v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200zM200 100h300v700h-300v-700z" />
<glyph unicode="&#xd6;" d="M0 100v700h100v100h500v-100h100v-700h-100v-100h-500v100h-100zM0 1000v100h200v-100h-200zM200 100h300v700h-300v-700zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#xd7;" d="M0 100v100h100v100h100v200h-100v100h-100v100h200v-100h100v-100h100v100h100v100h200v-100h-100v-100h-100v-200h100v-100h100v-100h-200v100h-100v100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#xd8;" d="M0 100v800h100v100h400v100h100v-200h100v-800h-100v-100h-400v-100h-100v200h-100zM200 300h100v-200h200v600h-100v200h-200v-600zM400 300h-100v400h100v-400z" />
<glyph unicode="&#xd9;" d="M0 100v800h200v-800h300v800h200v-800h-100v-100h-500v100h-100zM300 1100h-100v100h200v-100h100v-100h-200v100z" />
<glyph unicode="&#xda;" d="M0 100v800h200v-800h300v800h200v-800h-100v-100h-500v100h-100zM300 1100v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#xdb;" d="M0 100v800h200v-800h300v800h200v-800h-100v-100h-500v100h-100zM100 1100h100v100h300v-100h100v-100h-200v100h-100v-100h-200v100z" />
<glyph unicode="&#xdc;" d="M0 100v800h200v-800h300v800h200v-800h-100v-100h-500v100h-100zM0 1000v100h200v-100h-200zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#xdd;" d="M200 0v100h100v300h-100v100h-100v400h200v-400h200v400h200v-400h-100v-100h-100v-300h100v-100h-400zM400 1100v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#xde;" d="M0 0v100h100v800h-100v100h400v-100h-100v-100h300v-100h100v-400h-100v-100h-300v-100h100v-100h-400zM300 300h200v400h-200v-400z" />
<glyph unicode="&#xdf;" d="M0 0v900h100v100h400v-100h100v-300h-100v-100h100v-100h100v-300h-100v-100h-200v100h100v300h-100v100h-100v100h100v300h-200v-900h-200z" />
<glyph unicode="&#xe0;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM200 1000h-100v100h200v-100h100v-100h100v-100h-200v100h-100v100z" />
<glyph unicode="&#xe1;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM200 900v100h100v100h200v-100h-100v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#xe2;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM200 900v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#xe3;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM0 800v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200z" />
<glyph unicode="&#xe4;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM0 900v100h200v-100h-200zM400 900v100h200v-100h-200z" />
<glyph unicode="&#xe5;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM200 1000v100h300v-100h100v-100h-100v-100h-300v100h-100v100h100zM400 1000h-100v-100h100v100z" />
<glyph unicode="&#xe6;" d="M0 100v200h100v100h100v100h-100v100h-100v100h200v-100h200v-200h100v200h-100v100h200v-100h100v-300h-200v-200h200v-100h-300v100h-100v200h-100v-200h100v-100h-200v100h-100z" />
<glyph unicode="&#xe7;" d="M200 200v100h-100v400h100v100h400v-100h100v-100h-200v100h-200v-400h200v100h200v-100h-100v-200h100v-100h-100v-100h-400v100h300v100h-100v100h-200z" />
<glyph unicode="&#xe8;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100zM200 1000h-100v100h200v-100h100v-100h100v-100h-200v100h-100v100z" />
<glyph unicode="&#xe9;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#xea;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100zM200 900v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#xeb;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM0 900v100h200v-100h-200zM200 500h300v100h-300v-100zM500 900v100h200v-100h-200z" />
<glyph unicode="&#xec;" d="M100 1100h200v-100h100v-100h100v-100h-200v100h-100v100h-100v100zM200 0v100h100v500h-100v100h300v-600h100v-100h-400z" />
<glyph unicode="&#xed;" d="M200 0v100h100v500h-100v100h300v-600h100v-100h-400zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#xee;" d="M200 0v100h100v500h-100v100h300v-600h100v-100h-400zM200 900v100h100v100h200v-100h100v-100h100v-100h-200v100h-200v-100h-200v100h100z" />
<glyph unicode="&#xef;" d="M100 900v100h200v-100h-200zM200 0v100h100v500h-100v100h300v-600h100v-100h-400zM500 900v100h200v-100h-200z" />
<glyph unicode="&#xf0;" d="M200 100h-100v400h100v100h300v100h-100v100h-100v100h-100v100h200v-100h100v-100h100v-100h100v-600h-100v-100h-400v100zM200 700v100h100v-100h-100zM600 1000v-100h-100v100h100zM300 100h200v400h-200v-400z" />
<glyph unicode="&#xf1;" d="M0 600v100h200v-100h100v-600h-200v600h-100zM0 800v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200zM600 700v-100h100v-600h-200v600h-200v100h300z" />
<glyph unicode="&#xf2;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 100h300v500h-300v-500zM200 1000h-100v100h200v-100h100v-100h100v-100h-200v100h-100v100z" />
<glyph unicode="&#xf3;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 100h300v500h-300v-500zM200 900v100h100v100h200v-100h-100v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#xf4;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 100h300v500h-300v-500zM200 900v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#xf5;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM0 800v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200zM200 100h300v500h-300v-500z" />
<glyph unicode="&#xf6;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM0 900v100h200v-100h-200zM200 100h300v500h-300v-500zM500 900v100h200v-100h-200z" />
<glyph unicode="&#xf7;" d="M500 100h-200v200h200v-200zM100 400v100h600v-100h-600zM500 600h-200v200h200v-200z" />
<glyph unicode="&#xf8;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 200v-100h300v300h-100v-100h-100v-100h-100zM200 400h100v100h100v100h-200v-200z" />
<glyph unicode="&#xf9;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM200 1000h-100v100h200v-100h100v-100h100v-100h-200v100h-100v100zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#xfa;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM200 900v100h100v100h200v-100h-100v-100h-100v-100h-200v100h100zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#xfb;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM0 800v100h100v100h100v100h200v-100h100v-100h100v-100h-200v100h-200v-100h-200zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#xfc;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM0 900v100h200v-100h-200zM400 100v600h200v-600h100v-100h-200v100h-100zM400 900v100h200v-100h-200z" />
<glyph unicode="&#xfd;" d="M0 100v600h200v-600h300v600h200v-800h-100v-100h-100v-100h-500v100h400v100h100v100h-400v100h-100zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#xfe;" d="M0 -200h100v1100h-100v100h300v-300h300v-100h100v-500h-100v-100h-300v-200h100v-100h-400v100zM300 100h200v500h-200v-500z" />
<glyph unicode="&#xff;" d="M0 100v600h200v-600h300v600h200v-800h-100v-100h-100v-100h-400v100h300v100h100v100h-400v100h-100zM0 900v100h200v-100h-200zM500 900v100h200v-100h-200z" />
<glyph unicode="&#x100;" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM200 500h300v200h-100v100h-100v-100h-100v-200zM600 1200v-100h-500v100h500z" />
<glyph unicode="&#x101;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM600 1000v-100h-500v100h500z" />
<glyph unicode="&#x102;" d="M0 0v600h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-600h-200v300h-300v-300h-200zM0 1100v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100zM200 400h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#x103;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM0 900v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100z" />
<glyph unicode="&#x104;" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM200 -200v100h100v100h200v-100h-100v-100h300v-100h-400v100h-100zM200 500h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#x105;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h100v-100h-100v-100h300v-100h-400v100h-100v100h100v100h-200v100h-100z" />
<glyph unicode="&#x106;" d="M0 200v500h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-500h100v-100h200v100h100v100h100v-200h-100v-100h-400v100h-100v100h-100zM400 1100v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x107;" d="M0 100v500h100v100h500v-100h100v-100h-200v100h-300v-500h300v100h200v-100h-100v-100h-500v100h-100zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x108;" d="M0 200v500h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-500h100v-100h200v100h100v100h100v-200h-100v-100h-400v100h-100v100h-100zM200 1000v100h100v100h300v-100h100v-100h-200v100h-100v-100h-200z" />
<glyph unicode="&#x109;" d="M0 100v500h100v100h500v-100h100v-100h-200v100h-300v-500h300v100h200v-100h-100v-100h-500v100h-100zM200 900v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#x10a;" d="M0 200v500h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-500h100v-100h200v100h100v100h100v-200h-100v-100h-400v100h-100v100h-100zM300 1200h200v-200h-200v200z" />
<glyph unicode="&#x10b;" d="M0 100v500h100v100h500v-100h100v-100h-200v100h-300v-500h300v100h200v-100h-100v-100h-500v100h-100zM300 1000h200v-200h-200v200z" />
<glyph unicode="&#x10c;" d="M0 200v500h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-500h100v-100h200v100h100v100h100v-200h-100v-100h-400v100h-100v100h-100zM200 1000v100h-100v100h200v-100h200v100h200v-100h-100v-100h-400z" />
<glyph unicode="&#x10d;" d="M0 100v500h100v100h500v-100h100v-100h-200v100h-300v-500h300v100h200v-100h-100v-100h-500v100h-100zM200 900h-100v100h200v-100h100v100h200v-100h-100v-100h-300v100z" />
<glyph unicode="&#x10e;" d="M0 0v100h100v700h-100v100h500v-100h100v-100h100v-500h-100v-100h-100v-100h-500zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300zM400 100v100h100v500h-100v100h-100v-700h100z" />
<glyph unicode="&#x10f;" d="M0 100v300h100v100h100v100h200v200h-100v100h300v-800h100v-100h-200v100h-100v400h-100v-100h-100v-300h200v-100h-300v100h-100zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300z" />
<glyph unicode="&#x110;" d="M0 0v100h100v400h-100v100h100v300h-100v100h500v-100h100v-100h100v-600h-100v-100h-100v-100h-500zM400 100v100h100v600h-100v100h-100v-300h100v-100h-100v-400h100z" />
<glyph unicode="&#x111;" d="M0 100v300h100v100h100v100h200v100h-300v100h300v200h200v-200h100v-100h-100v-600h100v-100h-200v100h-100v400h-100v-100h-100v-300h200v-100h-300v100h-100z" />
<glyph unicode="&#x112;" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-400h200v100h100v100h100v-300h-700zM600 1200v-100h-500v100h500z" />
<glyph unicode="&#x113;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100zM600 1000v-100h-500v100h500z" />
<glyph unicode="&#x114;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM0 1100v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100z" />
<glyph unicode="&#x115;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM0 900v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100z" />
<glyph unicode="&#x116;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM300 1200h200v-200h-200v200z" />
<glyph unicode="&#x117;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100zM300 1000h200v-200h-200v200z" />
<glyph unicode="&#x118;" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-400h200v100h100v100h100v-300h-200v-100h-100v-100h300v-100h-400v100h-100v100h100v100h-300z" />
<glyph unicode="&#x119;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-200v-100h-100v-100h300v-100h-400v100h-100v100h100v100h-100v100h-100zM200 500h300v100h-300v-100z" />
<glyph unicode="&#x11a;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300z" />
<glyph unicode="&#x11b;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100zM200 900h-100v100h200v-100h200v100h200v-100h-100v-100h-400v100z" />
<glyph unicode="&#x11c;" d="M0 200v500h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-500h100v-100h200v-100h-300v100h-100v100h-100zM200 1000v100h100v100h300v-100h100v-100h-200v100h-100v-100h-200zM600 100h-100v200h-200v100h400v-400h-100v100z" />
<glyph unicode="&#x11d;" d="M0 -200v100h200v-100h200v200h-300v100h-100v500h100v100h300v-100h-200v-500h200v500h100v100h200v-100h-100v-800h-100v-100h-400v100h-100zM200 900v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#x11e;" d="M0 200v500h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-500h100v-100h200v-100h-300v100h-100v100h-100zM200 1000v100h-100v100h200v-100h200v100h200v-100h-100v-100h-400zM600 100h-100v200h-200v100h400v-400h-100v100z" />
<glyph unicode="&#x11f;" d="M0 -200v100h200v-100h200v200h-300v100h-100v500h100v100h300v-100h-200v-500h200v500h100v100h200v-100h-100v-800h-100v-100h-400v100h-100zM0 900v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100z" />
<glyph unicode="&#x120;" d="M0 200v500h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-500h100v-100h200v-100h-300v100h-100v100h-100zM600 100h-100v200h-200v100h400v-400h-100v100zM300 1200h200v-200h-200v200z" />
<glyph unicode="&#x121;" d="M0 -200v100h200v-100h200v200h-300v100h-100v500h100v100h300v-100h-200v-500h200v500h100v100h200v-100h-100v-800h-100v-100h-400v100h-100zM300 1000h200v-200h-200v200z" />
<glyph unicode="&#x122;" d="M0 200v600h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-600h100v-100h200v-200h100v-100h-100v-100h-400v100h300v100h-100v100h-100v100h-100v100h-100zM600 100h-100v300h-200v100h400v-500h-100v100z" />
<glyph unicode="&#x123;" d="M0 -200v100h200v-100h200v200h-300v100h-100v500h100v100h300v-100h-200v-500h200v500h100v100h200v-100h-100v-800h-100v-100h-400v100h-100zM200 900v100h100v100h400v-100h-300v-100h100v-100h-200v100h-100z" />
<glyph unicode="&#x124;" d="M0 0v900h200v-400h300v400h200v-900h-200v400h-300v-400h-200zM100 1100h100v100h300v-100h100v-100h-200v100h-100v-100h-200v100z" />
<glyph unicode="&#x125;" d="M0 0v100h100v700h-100v100h300v-400h100v-100h-100v-400h-300zM200 1100v100h300v-100h100v-100h-200v100h-100v-100h-200v100h100zM400 500v100h200v-100h100v-500h-200v500h-100z" />
<glyph unicode="&#x126;" d="M0 700v100h100v200h200v-200h200v200h200v-200h100v-100h-100v-700h-200v500h-200v-500h-200v700h-100zM300 700v-100h200v100h-200z" />
<glyph unicode="&#x127;" d="M0 0v100h100v600h-100v100h100v100h-100v100h300v-200h200v-100h-200v-200h100v-100h-100v-400h-300zM400 500v100h200v-100h100v-500h-200v500h-100z" />
<glyph unicode="&#x128;" d="M0 1000v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200zM200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400z" />
<glyph unicode="&#x129;" d="M0 800v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200zM200 0v100h100v500h-100v100h300v-600h100v-100h-400z" />
<glyph unicode="&#x12a;" d="M100 1100v100h600v-100h-600zM200 0v100h100v800h-100v100h400v-100h-100v-800h100v-100h-400z" />
<glyph unicode="&#x12b;" d="M100 900v100h500v-100h-500zM200 0v100h100v500h-100v100h300v-600h100v-100h-400z" />
<glyph unicode="&#x12c;" d="M100 1100v100h200v-100h200v100h200v-100h-100v-100h-400v100h-100zM200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400z" />
<glyph unicode="&#x12d;" d="M100 900v100h200v-100h200v100h200v-100h-100v-100h-400v100h-100zM200 0v100h100v500h-100v100h300v-600h100v-100h-400z" />
<glyph unicode="&#x12e;" d="M200 0v100h100v800h-100v100h400v-100h-100v-800h100v-100h-100v-100h-100v-100h300v-100h-400v100h-100v100h100v100h-100z" />
<glyph unicode="&#x12f;" d="M200 0v100h100v500h-100v100h300v-600h100v-100h-100v-100h-100v-100h300v-100h-400v100h-100v100h100v100h-100zM300 1000h200v-200h-200v200z" />
<glyph unicode="&#x130;" d="M200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400zM300 1200h200v-200h-200v200z" />
<glyph unicode="&#x131;" d="M500 100h100v-100h-400v100h100v500h-100v100h300v-600z" />
<glyph unicode="&#x132;" d="M0 0v1000h200v-1000h-200zM300 100v300h100v-300h-100zM400 100h100v800h-100v100h300v-900h-100v-100h-200v100z" />
<glyph unicode="&#x133;" d="M0 0v700h200v-700h-200zM0 1000h200v-200h-200v200zM200 0h200v-200h100v800h-100v100h300v-900h-100v-100h-300v100h-100v200zM500 1000h200v-200h-200v200z" />
<glyph unicode="&#x134;" d="M0 100v200h200v-200h200v700h-100v100h400v-100h-100v-700h-100v-100h-400v100h-100zM200 1000v100h100v100h300v-100h100v-100h-200v100h-100v-100h-200z" />
<glyph unicode="&#x135;" d="M0 0h200v-200h200v800h-100v100h300v-900h-100v-100h-400v100h-100v200zM200 800v100h100v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200z" />
<glyph unicode="&#x136;" d="M0 0v100h100v800h-100v100h300v-400h100v100h100v300h200v-300h-100v-100h-100v-200h100v-100h100v-300h-200v300h-100v100h-100v-400h-300zM400 -100h-100v100h200v-100h100v-100h-100v-100h-400v100h300v100z" />
<glyph unicode="&#x137;" d="M0 0v100h100v800h-100v100h300v-500h100v100h100v100h200v-100h-100v-100h-100v-200h100v-100h100v-200h-200v200h-100v100h-100v-300h-300zM400 -100h-100v100h200v-100h100v-100h-100v-100h-400v100h300v100z" />
<glyph unicode="&#x138;" d="M0 0v100h100v500h-100v100h300v-300h100v100h100v200h200v-200h-100v-100h-100v-100h100v-100h100v-200h-200v200h-100v100h-100v-300h-300z" />
<glyph unicode="&#x139;" d="M0 0v100h100v800h-100v100h400v-100h-100v-800h200v100h100v100h100v-300h-700zM400 900h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#x13a;" d="M0 0v100h100v800h-100v100h300v-900h100v-100h-400zM400 800v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x13b;" d="M0 0v100h100v800h-100v100h400v-100h-100v-800h200v100h100v100h100v-300h-200v-100h100v-100h-100v-100h-400v100h300v100h-100v100h-300z" />
<glyph unicode="&#x13c;" d="M100 -200h300v100h-100v100h-100v100h100v800h-100v100h300v-900h100v-100h-100v-100h100v-100h-100v-100h-400v100z" />
<glyph unicode="&#x13d;" d="M0 0v100h100v800h-100v100h300v-900h200v100h100v100h100v-300h-700zM400 1000h-100v100h200v-100h100v100h200v-100h-100v-100h-300v100z" />
<glyph unicode="&#x13e;" d="M0 0v100h100v800h-100v100h300v-900h100v-100h-400zM800 1000h-100v-100h-300v100h-100v100h200v-100h100v100h200v-100z" />
<glyph unicode="&#x13f;" d="M0 0v100h100v800h-100v100h400v-100h-100v-800h200v100h100v100h100v-300h-700zM500 500v200h200v-200h-200z" />
<glyph unicode="&#x140;" d="M100 0v100h100v800h-100v100h300v-900h100v-100h-400zM500 400v200h200v-200h-200z" />
<glyph unicode="&#x141;" d="M0 0v100h100v200h-100v200h100v400h-100v100h400v-100h-100v-200h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-400h200v100h100v100h100v-300h-700z" />
<glyph unicode="&#x142;" d="M200 200h-100v200h100v100h100v400h-100v100h300v-200h100v100h100v-200h-100v-100h-100v-500h100v-100h-400v100h100v200h-100v-100z" />
<glyph unicode="&#x143;" d="M0 0v900h200v-100h100v-100h100v-100h100v300h200v-900h-200v300h-100v100h-100v100h-100v-500h-200zM400 1100v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x144;" d="M0 600v100h200v-100h100v-600h-200v600h-100zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200zM600 700v-100h100v-600h-200v600h-200v100h300z" />
<glyph unicode="&#x145;" d="M0 0v1000h200v-100h100v-100h100v-100h100v300h200v-1000h-200v400h-100v100h-100v100h-100v-600h-200zM400 -100h-100v100h200v-100h100v-100h-100v-100h-400v100h300v100z" />
<glyph unicode="&#x146;" d="M0 600v100h200v-100h100v-600h-200v600h-100zM400 -100h-100v100h200v-100h100v-100h-100v-100h-400v100h300v100zM600 700v-100h100v-600h-200v600h-200v100h300z" />
<glyph unicode="&#x147;" d="M0 0v900h200v-100h100v-100h100v-100h100v300h200v-900h-200v300h-100v100h-100v100h-100v-500h-200zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300z" />
<glyph unicode="&#x148;" d="M0 600v100h200v-100h100v-600h-200v600h-100zM200 900h-100v100h200v-100h100v100h200v-100h-100v-100h-300v100zM600 700v-100h100v-600h-200v600h-200v100h300z" />
<glyph unicode="&#x149;" d="M100 1200h200v-300h-100v-100h-200v100h100v300zM0 600v100h200v-100h100v-600h-200v600h-100zM300 600v100h300v-100h100v-600h-200v600h-200z" />
<glyph unicode="&#x14a;" d="M0 0v1000h200v-100h100v-100h100v-100h100v300h200v-1200h-100v-100h-300v100h200v600h-100v100h-100v100h-100v-600h-200z" />
<glyph unicode="&#x14b;" d="M0 600v100h200v-100h100v-600h-200v600h-100zM300 -200h200v800h-200v100h300v-100h100v-800h-100v-100h-300v100z" />
<glyph unicode="&#x14c;" d="M0 100v800h100v100h500v-100h100v-800h-100v-100h-500v100h-100zM100 1100v100h500v-100h-500zM200 100h300v800h-300v-800z" />
<glyph unicode="&#x14d;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM100 900v100h500v-100h-500zM200 100h300v500h-300v-500z" />
<glyph unicode="&#x14e;" d="M0 100v700h100v100h500v-100h100v-700h-100v-100h-500v100h-100zM0 1100v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100zM200 100h300v700h-300v-700z" />
<glyph unicode="&#x14f;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM0 900v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100zM200 100h300v500h-300v-500z" />
<glyph unicode="&#x150;" d="M0 100v700h100v100h500v-100h100v-700h-100v-100h-500v100h-100zM200 100h300v700h-300v-700zM200 1100v100h200v-100h-100v-100h-200v100h100zM400 1000v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x151;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 100h300v500h-300v-500zM200 900v100h200v-100h-100v-100h-200v100h100zM400 900h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#x152;" d="M0 100v800h100v100h600v-100h-100v-300h100v-100h-100v-400h100v-100h-600v100h-100zM200 100h200v800h-200v-800z" />
<glyph unicode="&#x153;" d="M0 100v500h100v100h200v-100h-100v-500h100v-100h-200v100h-100zM400 100h-100v500h100v-200h100v200h-100v100h200v-100h100v-300h-200v-200h200v-100h-300v100z" />
<glyph unicode="&#x154;" d="M0 0v100h100v700h-100v100h600v-100h100v-300h-100v-200h100v-300h-200v300h-100v100h-100v-400h-300zM200 1000v100h100v100h200v-100h-100v-100h-200zM300 500h200v300h-200v-300z" />
<glyph unicode="&#x155;" d="M0 0v100h100v500h-100v100h200v-100h100v100h300v-100h100v-200h-200v200h-100v-100h-100v-400h100v-100h-400zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x156;" d="M0 0v100h100v800h-100v100h600v-100h100v-300h-100v-200h100v-400h-200v400h-100v100h-100v-500h-300zM400 -100h-100v100h200v-100h100v-100h-100v-100h-400v100h300v100zM300 600h200v300h-200v-300z" />
<glyph unicode="&#x157;" d="M0 0v100h100v500h-100v100h200v-100h100v100h300v-100h100v-200h-200v200h-100v-100h-100v-400h100v-100h100v-100h100v-100h-100v-100h-400v100h300v100h-100v100h-300z" />
<glyph unicode="&#x158;" d="M0 0v100h100v700h-100v100h600v-100h100v-300h-100v-200h100v-300h-200v300h-100v100h-100v-400h-300zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300zM300 500h200v300h-200v-300z" />
<glyph unicode="&#x159;" d="M0 0v100h100v500h-100v100h200v-100h100v100h300v-100h100v-200h-200v200h-100v-100h-100v-400h100v-100h-400zM200 900h-100v100h200v-100h100v100h200v-100h-100v-100h-300v100z" />
<glyph unicode="&#x15a;" d="M0 100v200h200v-200h300v200h-100v100h-200v100h-100v100h-100v200h100v100h500v-100h100v-200h-200v200h-300v-200h100v-100h200v-100h100v-100h100v-200h-100v-100h-500v100h-100zM200 1000v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x15b;" d="M0 100v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-100h-100v-100h-500v100h-100zM400 900v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x15c;" d="M0 100v200h200v-200h300v200h-100v100h-200v100h-100v100h-100v200h100v100h500v-100h100v-200h-200v200h-300v-200h100v-100h200v-100h100v-100h100v-200h-100v-100h-500v100h-100zM200 1100v100h300v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#x15d;" d="M0 100v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-100h-100v-100h-500v100h-100zM400 1000h100v-100h100v-100h-200v100h-100v-100h-200v100h100v100h100v100h100v-100z " />
<glyph unicode="&#x15e;" d="M0 100v200h200v-200h300v300h-100v100h-200v100h-100v100h-100v200h100v100h500v-100h100v-200h-200v200h-300v-200h100v-100h200v-100h100v-100h100v-300h-100v-100h-100v-100h100v-100h-100v-100h-400v100h300v100h-100v100h-200v100h-100z" />
<glyph unicode="&#x15f;" d="M0 100v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-100h-100v-100h-100v-100h100v-100h-100v-100h-400v100h300v100h-100v100h-200v100h-100z" />
<glyph unicode="&#x160;" d="M0 100v100h200v-100h300v200h-100v100h-200v100h-100v100h-100v200h100v100h500v-100h100v-100h-200v100h-300v-200h100v-100h200v-100h100v-100h100v-200h-100v-100h-500v100h-100zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300z" />
<glyph unicode="&#x161;" d="M0 100v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-100h-100v-100h-500v100h-100zM200 900h-100v100h200v-100h100v100h200v-100h-100v-100h-300v100z" />
<glyph unicode="&#x162;" d="M200 0v100h100v700h-100v-100h-100v300h600v-300h-100v100h-100v-700h100v-100h-100v-100h100v-100h-100v-100h-400v100h300v100h-100v100h-100z" />
<glyph unicode="&#x163;" d="M0 600v100h200v200h100v100h100v-300h200v-100h-200v-500h100v100h200v-100h-100v-100h-100v-100h100v-100h-100v-100h-400v100h300v100h-100v200h-100v500h-200z" />
<glyph unicode="&#x164;" d="M200 0v100h100v600h-100v-100h-100v300h600v-300h-100v100h-100v-600h100v-100h-400zM200 1000v100h-100v100h200v-100h200v100h200v-100h-100v-100h-400z" />
<glyph unicode="&#x165;" d="M0 500v100h200v200h100v100h100v-300h200v-100h-200v-400h100v100h200v-100h-100v-100h-300v100h-100v400h-200zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300z" />
<glyph unicode="&#x166;" d="M100 400v100h200v300h-100v-100h-100v300h600v-300h-100v100h-100v-300h200v-100h-200v-300h100v-100h-400v100h100v300h-200z" />
<glyph unicode="&#x167;" d="M0 400v100h200v100h-200v100h200v200h100v100h100v-300h200v-100h-200v-100h200v-100h-200v-300h100v100h200v-100h-100v-100h-300v100h-100v300h-200z" />
<glyph unicode="&#x168;" d="M0 100v800h200v-800h300v800h200v-800h-100v-100h-500v100h-100zM0 1000v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200z" />
<glyph unicode="&#x169;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM0 800v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#x16a;" d="M0 100v900h200v-900h300v900h200v-900h-100v-100h-500v100h-100zM0 1100v100h700v-100h-700z" />
<glyph unicode="&#x16b;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM0 900v100h600v-100h-600zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#x16c;" d="M0 100v800h200v-800h300v800h200v-800h-100v-100h-500v100h-100zM100 1100h-100v100h200v-100h300v100h200v-100h-100v-100h-500v100z" />
<glyph unicode="&#x16d;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM0 900v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#x16e;" d="M0 100v700h200v-700h300v700h200v-700h-100v-100h-500v100h-100zM200 1000h-100v100h100v100h300v-100h100v-100h-100v-100h-300v100zM400 1000v100h-100v-100h100z" />
<glyph unicode="&#x16f;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM0 900v100h100v100h400v-100h100v-100h-100v-100h-400v100h-100zM200 1000v-100h200v100h-200zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#x170;" d="M0 100v800h200v-800h300v800h200v-800h-100v-100h-500v100h-100zM200 1100v100h200v-100h-100v-100h-200v100h100zM400 1000v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x171;" d="M0 100v600h200v-600h200v-100h-300v100h-100zM200 900v100h200v-100h-100v-100h-200v100h100zM400 100v600h200v-600h100v-100h-200v100h-100zM400 900h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#x172;" d="M0 100v900h200v-900h300v900h200v-900h-100v-100h-100v-100h-100v-100h300v-100h-400v100h-100v100h100v100h-200v100h-100z" />
<glyph unicode="&#x173;" d="M0 100v600h200v-600h200v-100h100v-100h-100v-100h300v-100h-400v100h-100v100h100v100h-200v100h-100zM400 100v600h200v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#x174;" d="M0 100v800h200v-600h100v300h100v-300h100v600h200v-800h-100v-100h-200v200h-100v-200h-200v100h-100zM200 1100v100h300v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#x175;" d="M0 100v600h200v-500h100v300h100v-300h100v500h200v-600h-100v-100h-200v100h-100v-100h-200v100h-100zM200 900v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#x176;" d="M200 0v100h100v300h-100v100h-100v400h200v-400h200v400h200v-400h-100v-100h-100v-300h100v-100h-400zM200 1100v100h400v-100h100v-100h-200v100h-200v-100h-200v100h100z" />
<glyph unicode="&#x177;" d="M0 100v600h200v-600h300v600h200v-800h-100v-100h-100v-100h-500v100h400v100h100v100h-400v100h-100zM200 900v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200v100h100z" />
<glyph unicode="&#x178;" d="M200 0v100h100v300h-100v100h-100v400h200v-400h200v400h200v-400h-100v-100h-100v-300h100v-100h-400zM100 1100h200v-100h-200v100zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#x179;" d="M0 0v300h100v100h100v100h100v100h100v100h100v100h-300v-100h-100v-100h-100v300h700v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-200h300v100h100v100h100v-300h-700zM200 1000v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x17a;" d="M0 200h100v100h100v100h100v100h100v100h-200v-100h-200v200h700v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h300v100h200v-200h-700v200zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x17b;" d="M0 0v300h100v100h100v100h100v100h100v100h100v100h-300v-100h-100v-100h-100v300h700v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-200h300v100h100v100h100v-300h-700zM300 1200h200v-200h-200v200z" />
<glyph unicode="&#x17c;" d="M0 200h100v100h100v100h100v100h100v100h-200v-100h-200v200h700v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h300v100h200v-200h-700v200zM300 1000h200v-200h-200v200z" />
<glyph unicode="&#x17d;" d="M0 0v300h100v100h100v100h100v100h100v100h100v100h-300v-100h-100v-100h-100v300h700v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-200h300v100h100v100h100v-300h-700zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300z" />
<glyph unicode="&#x17e;" d="M0 200h100v100h100v100h100v100h100v100h-200v-100h-200v200h700v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h300v100h200v-200h-700v200zM200 900h-100v100h200v-100h100v100h200v-100h-100v-100h-300v100z" />
<glyph unicode="&#x17f;" d="M100 0v100h100v800h100v100h300v-100h100v-200h-100v100h-100v100h-100v-800h100v-100h-400z" />
<glyph unicode="&#x192;" d="M0 -100v100h200v-100h100v600h-200v100h200v400h100v100h300v-100h100v-100h-200v100h-100v-400h200v-100h-200v-600h-100v-100h-300v100h-100z" />
<glyph unicode="&#x1a1;" d="M0 100v500h100v100h600v-100h-200v-500h-100v-100h-300v100h-100zM200 100h100v500h-100v-500z" />
<glyph unicode="&#x1b7;" d="M0 100v100h200v-100h300v400h-300v100h100v100h100v100h100v100h-300v-100h-200v200h700v-200h-100v-100h-100v-100h100v-100h100v-400h-100v-100h-500v100h-100z" />
<glyph unicode="&#x1fa;" d="M0 0v600h100v100h100v100h300v-100h100v-100h100v-600h-200v300h-300v-300h-200zM200 400h300v200h-100v100h-100v-100h-100v-200zM200 1000h-100v100h100v100h300v-100h100v-100h-100v-100h-300v100zM400 1000v100h-100v-100h100zM600 1100v100h100v-100h-100z" />
<glyph unicode="&#x1fb;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100zM200 1000v100h200v100h200v-100h-100v-100h100v-100h-100v-100h-300v100h-100v100h100zM400 1000h-100v-100h100v100z" />
<glyph unicode="&#x1fc;" d="M0 0v700h100v100h100v100h500v-100h-100v-300h100v-100h-100v-300h100v-100h-300v400h-200v-400h-200zM200 500h200v300h-100v-100h-100v-200zM400 1100v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x1fd;" d="M0 100v200h100v100h100v100h-100v100h-100v100h200v-100h200v-200h100v200h-100v100h200v-100h100v-300h-200v-200h200v-100h-300v100h-100v200h-100v-200h100v-100h-200v100h-100zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x1fe;" d="M0 100v700h100v100h400v100h100v-200h100v-700h-100v-100h-400v-100h-100v200h-100zM200 300h100v-200h200v500h-100v200h-200v-500zM200 1000v100h100v100h200v-100h-100v-100h-200zM400 300h-100v300h100v-300z" />
<glyph unicode="&#x1ff;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 200v-100h300v300h-100v-100h-100v-100h-100zM200 400h100v100h100v100h-200v-200zM200 900v100h100v100h200v-100h-100v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x218;" d="M0 100v200h200v-200h300v300h-100v100h-200v100h-100v100h-100v200h100v100h500v-100h100v-200h-200v200h-300v-200h100v-100h200v-100h100v-100h100v-300h-100v-100h-500v100h-100zM200 -200h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#x219;" d="M0 100v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-100h-100v-100h-500v100h-100zM200 -200h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#x21a;" d="M100 700v300h600v-300h-100v100h-100v-700h100v-100h-400v100h100v700h-100v-100h-100zM200 -200h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#x21b;" d="M0 600v100h200v200h100v100h100v-300h200v-100h-200v-500h100v100h200v-100h-100v-100h-300v100h-100v500h-200zM200 -200h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#x251;" d="M0 100v500h100v100h300v-100h100v100h200v-100h-100v-100h-100v-300h100v-100h100v-100h-200v100h-100v-100h-300v100h-100zM200 100h100v500h-100v-500z" />
<glyph unicode="&#x278;" d="M200 200v100h-100v300h100v100h100v100h-200v100h600v-100h-200v-100h100v-100h100v-300h-100v-100h-100v-100h200v-100h-600v100h200v100h-100zM300 300h200v300h-200v-300z" />
<glyph unicode="&#x2c6;" d="M100 800v100h100v100h100v100h100v-100h100v-100h100v-100h-200v100h-100v-100h-200z" />
<glyph unicode="&#x2c7;" d="M100 1100h200v-100h100v100h200v-100h-100v-100h-300v100h-100v100z" />
<glyph unicode="&#x2c9;" d="M100 1100h500v-100h-500v100z" />
<glyph unicode="&#x2d8;" d="M500 1100h200v-100h-100v-100h-500v100h-100v100h200v-100h300v100z" />
<glyph unicode="&#x2d9;" d="M500 1100v-200h-200v200h200z" />
<glyph unicode="&#x2da;" d="M100 1000h100v100h300v-100h100v-200h-100v-100h-300v100h-100v200zM300 800h100v200h-100v-200z" />
<glyph unicode="&#x2db;" d="M400 0v-100h-100v-100h300v-100h-400v100h-100v100h100v100h200z" />
<glyph unicode="&#x2dc;" d="M100 1100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200v100h100v100z" />
<glyph unicode="&#x2dd;" d="M0 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200zM300 900h100v100h100v100h200v-100h-100v-100h-100v-100h-200v100z" />
<glyph unicode="&#x37e;" d="M400 100v-100h-200v100h100v200h200v-200h-100zM500 600h-200v200h200v-200z" />
<glyph unicode="&#x384;" d="M500 1100v-100h-100v-100h-100v200h100v100h200v-100h-100z" />
<glyph unicode="&#x385;" d="M0 800v100h200v-100h-200zM300 1100v100h200v-100h-100v-100h-200v100h100zM400 800v100h200v-100h-200z" />
<glyph unicode="&#x386;" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM0 1000v100h100v100h200v-100h-100v-100h-200zM200 500h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#x387;" d="M500 500h-200v200h200v-200z" />
<glyph unicode="&#x388;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM0 1000v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x389;" d="M0 0v900h200v-400h300v400h200v-900h-200v400h-300v-400h-200zM100 1100v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x38a;" d="M100 1100v100h200v-100h-100v-100h-200v100h100zM200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400z" />
<glyph unicode="&#x38c;" d="M0 100v700h100v100h500v-100h100v-700h-100v-100h-500v100h-100zM100 1100v100h200v-100h-100v-100h-200v100h100zM200 100h300v700h-300v-700z" />
<glyph unicode="&#x38e;" d="M0 1000v100h100v100h200v-100h-100v-100h-200zM200 0v100h100v300h-100v100h-100v400h200v-400h200v400h200v-400h-100v-100h-100v-300h100v-100h-400z" />
<glyph unicode="&#x38f;" d="M0 0v100h100v200h-100v400h100v100h100v100h300v-100h100v-100h100v-400h-100v-200h100v-100h-300v300h100v400h-100v100h-100v-100h-100v-400h100v-300h-300zM0 1000v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x390;" d="M0 800v100h200v-100h-200zM200 100v600h200v-600h100v-100h-200v100h-100zM200 1000v100h100v100h200v-100h-100v-100h-200zM400 800v100h200v-100h-200zM600 200v-100h-100v100h100z" />
<glyph unicode="&#x391;" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM200 500h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#x392;" d="M0 0v100h100v800h-100v100h600v-100h100v-300h-100v-100h100v-400h-100v-100h-600zM300 100h200v400h-200v-400zM300 600h200v300h-200v-300z" />
<glyph unicode="&#x393;" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-800h100v-100h-400z" />
<glyph unicode="&#x394;" d="M0 0v400h100v200h100v200h100v200h100v-200h100v-200h100v-200h100v-400h-700zM200 100h300v300h-100v200h-100v-200h-100v-300z" />
<glyph unicode="&#x395;" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-400h200v100h100v100h100v-300h-700z" />
<glyph unicode="&#x396;" d="M0 0v300h100v100h100v100h100v100h100v100h100v200h-300v-100h-100v-100h-100v300h700v-300h-100v-100h-100v-100h-100v-100h-100v-100h-100v-200h300v100h100v100h100v-300h-700z" />
<glyph unicode="&#x397;" d="M0 0v1000h200v-400h300v400h200v-1000h-200v500h-300v-500h-200z" />
<glyph unicode="&#x398;" d="M0 200v600h100v100h100v100h300v-100h100v-100h100v-600h-100v-100h-100v-100h-300v100h-100v100h-100zM200 200h100v-100h100v100h100v300h-300v-300zM200 600h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#x399;" d="M500 100h100v-100h-400v100h100v800h-100v100h400v-100h-100v-800z" />
<glyph unicode="&#x39a;" d="M0 0v100h100v800h-100v100h300v-400h100v100h100v300h200v-300h-100v-100h-100v-200h100v-100h100v-300h-200v300h-100v100h-100v-400h-300z" />
<glyph unicode="&#x39b;" d="M0 0v400h100v200h100v200h100v200h100v-200h100v-200h100v-200h100v-400h-200v400h-100v200h-100v-200h-100v-400h-200z" />
<glyph unicode="&#x39c;" d="M0 0v1000h200v-100h100v-100h100v100h100v100h200v-1000h-200v600h-100v-100h-100v100h-100v-600h-200z" />
<glyph unicode="&#x39d;" d="M0 0v1000h200v-100h100v-100h100v-100h100v300h200v-1000h-200v400h-100v100h-100v100h-100v-600h-200z" />
<glyph unicode="&#x39e;" d="M0 200h200v-100h300v100h200v-200h-700v200zM0 1000h700v-200h-200v100h-300v-100h-200v200zM100 500v100h500v-100h-500z" />
<glyph unicode="&#x39f;" d="M0 100v800h100v100h500v-100h100v-800h-100v-100h-500v100h-100zM200 100h300v800h-300v-800z" />
<glyph unicode="&#x3a0;" d="M0 0v1000h700v-1000h-200v900h-300v-900h-200z" />
<glyph unicode="&#x3a1;" d="M0 0v100h100v800h-100v100h600v-100h100v-300h-100v-100h-300v-400h100v-100h-400zM300 600h200v300h-200v-300z" />
<glyph unicode="&#x3a3;" d="M0 200h100v100h100v100h100v200h-100v100h-100v100h-100v200h700v-300h-100v100h-100v100h-300v-100h100v-100h100v-100h100v-200h-100v-100h-100v-100h-100v-100h300v100h100v100h100v-300h-700v200z" />
<glyph unicode="&#x3a4;" d="M100 700v300h600v-300h-100v100h-100v-700h100v-100h-400v100h100v700h-100v-100h-100z" />
<glyph unicode="&#x3a5;" d="M100 600v400h200v-400h200v400h200v-400h-100v-100h-100v-400h100v-100h-400v100h100v400h-100v100h-100z" />
<glyph unicode="&#x3a6;" d="M0 300v400h100v100h200v100h-100v100h300v-100h-100v-100h200v-100h100v-400h-100v-100h-200v-100h100v-100h-300v100h100v100h-200v100h-100zM200 300h100v400h-100v-400zM400 300h100v400h-100v-400z" />
<glyph unicode="&#x3a7;" d="M0 200h100v200h100v200h-100v200h-100v200h200v-200h100v-100h100v100h100v200h200v-200h-100v-200h-100v-200h100v-200h100v-200h-200v200h-100v100h-100v-100h-100v-200h-200v200z" />
<glyph unicode="&#x3a8;" d="M0 400v600h200v-600h100v600h100v-600h100v600h200v-600h-100v-100h-200v-200h100v-100h-300v100h100v200h-200v100h-100z" />
<glyph unicode="&#x3a9;" d="M0 0v100h100v300h-100v400h100v100h100v100h300v-100h100v-100h100v-400h-100v-300h100v-100h-300v400h100v400h-100v100h-100v-100h-100v-400h100v-400h-300z" />
<glyph unicode="&#x3aa;" d="M100 1100h200v-100h-200v100zM200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#x3ab;" d="M200 0v100h100v300h-100v100h-100v400h200v-400h200v400h200v-400h-100v-100h-100v-300h100v-100h-400zM100 1100h200v-100h-200v100zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#x3ac;" d="M0 100v500h100v100h300v-100h-200v-500h200v-100h-300v100h-100zM400 100v500h100v100h100v-600h100v-100h-200v100h-100zM400 900v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x3ad;" d="M200 100h-100v200h100v100h-100v200h100v100h500v-100h-400v-200h200v-100h-200v-200h400v-100h-500v100zM400 800v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x3ae;" d="M0 600v100h200v-100h100v-600h-200v600h-100zM300 600v100h300v-100h100v-900h-200v900h-200zM300 800v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x3af;" d="M200 100v600h200v-600h100v-100h-200v100h-100zM300 800v100h100v100h200v-100h-100v-100h-200zM500 100v100h100v-100h-100z" />
<glyph unicode="&#x3b0;" d="M0 100v600h200v-600h200v600h300v-100h-100v-500h-100v-100h-400v100h-100zM0 800v100h200v-100h-200zM200 1000v100h100v100h200v-100h-100v-100h-200zM400 800v100h200v-100h-200z" />
<glyph unicode="&#x3b1;" d="M0 100v500h100v100h300v-100h-200v-500h200v-100h-300v100h-100zM400 100v500h100v100h100v-600h100v-100h-200v100h-100z" />
<glyph unicode="&#x3b2;" d="M0 -300v1200h100v100h400v-100h100v-200h-100v-100h100v-100h100v-400h-100v-100h-400v-200h-100v-100h-100zM200 100h300v400h-300v-400zM200 600h100v100h100v200h-200v-300z" />
<glyph unicode="&#x3b3;" d="M0 600v100h200v-100h100v-200h100v200h100v100h200v-100h-100v-200h-100v-300h100v-300h-100v-100h-300v100h-100v300h100v300h-100v200h-100zM400 100h-100v-300h100v300z" />
<glyph unicode="&#x3b4;" d="M200 100h-100v400h100v100h200v100h-100v100h-100v100h100v100h400v-100h-300v-100h100v-100h100v-100h100v-500h-100v-100h-400v100zM300 100h200v400h-200v-400z" />
<glyph unicode="&#x3b5;" d="M100 100v200h100v100h-100v200h100v100h500v-100h-400v-200h200v-100h-200v-200h400v-100h-500v100h-100z" />
<glyph unicode="&#x3b6;" d="M0 200v400h100v100h100v100h-100v100h-100v100h200v-100h400v-100h-200v-100h-100v-100h-100v-400h100v-100h300v-100h100v-100h-100v-100h-300v100h200v100h-300v100h-100v100h-100z" />
<glyph unicode="&#x3b7;" d="M0 600v100h200v-100h100v-600h-200v600h-100zM300 600v100h300v-100h100v-900h-200v900h-200z" />
<glyph unicode="&#x3b8;" d="M0 300v100h200v-100h100v-200h200v300h-200v100h-100v100h-100v300h100v100h400v-100h100v-800h-100v-100h-400v100h-100v200h-100zM400 500h100v400h-200v-300h100v-100z" />
<glyph unicode="&#x3b9;" d="M400 100h100v-100h-200v100h-100v600h200v-600zM500 100v100h100v-100h-100z" />
<glyph unicode="&#x3ba;" d="M0 0v700h200v-300h100v100h100v100h100v100h200v-100h-100v-100h-100v-200h100v-100h100v-200h-200v200h-100v100h-100v-100h-100v-200h-200z" />
<glyph unicode="&#x3bb;" d="M200 300v100h100v100h100v100h100v300h-200v-100h-200v100h100v100h400v-100h100v-900h-200v400h-100v-100h-100v-300h-200v300h100z" />
<glyph unicode="&#x3bc;" d="M0 -300v1000h200v-500h100v-100h-100v-400h-200zM300 100h100v600h200v-600h-100v-100h-200v100zM600 100h100v-100h-100v100z" />
<glyph unicode="&#x3bd;" d="M0 600v100h300v-500h100v100h100v400h200v-400h-100v-100h-100v-100h-100v-100h-200v100h-100v500h-100z" />
<glyph unicode="&#x3be;" d="M0 100v200h100v200h-100v200h100v200h-100v100h200v-100h400v-100h-300v-100h-100v-200h400v-100h-300v-100h-100v-200h400v-100h100v-100h-100v-100h-300v100h200v100h-400v100h-100z" />
<glyph unicode="&#x3bf;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 100h300v500h-300v-500z" />
<glyph unicode="&#x3c0;" d="M400 0v600h-100v-600h-200v600h-100v100h700v-100h-100v-600h-200z" />
<glyph unicode="&#x3c1;" d="M0 -300v900h100v100h500v-100h100v-500h-100v-100h-300v100h200v500h-300v-400h100v-100h-100v-400h-200z" />
<glyph unicode="&#x3c2;" d="M0 300v300h100v100h500v-100h100v-100h-200v100h-300v-300h100v-100h300v-100h100v-200h-100v-100h-500v100h400v200h-300v100h-100v100h-100z" />
<glyph unicode="&#x3c3;" d="M0 100v500h100v100h600v-100h-200v-100h100v-400h-100v-100h-400v100h-100zM200 100h200v500h-200v-500z" />
<glyph unicode="&#x3c4;" d="M100 600v100h600v-100h-200v-500h100v-100h-200v100h-100v500h-200zM600 100v100h100v-100h-100z" />
<glyph unicode="&#x3c5;" d="M0 100v600h200v-600h200v600h300v-100h-100v-500h-100v-100h-400v100h-100z" />
<glyph unicode="&#x3c6;" d="M0 100v400h100v100h100v-500h100v600h300v-100h100v-500h-100v-100h-200v-300h-100v300h-200v100h-100zM400 100h100v500h-100v-500z" />
<glyph unicode="&#x3c7;" d="M0 0v100h100v-100h-100zM0 600v100h200v-100h100v-100h100v100h200v-100h-100v-300h100v-100h100v-100h-200v100h-100v100h-100v-100h-200v100h100v300h-100v100h-100zM600 600v100h100v-100h-100z" />
<glyph unicode="&#x3c8;" d="M0 100v600h200v-600h100v500h100v-500h100v600h200v-600h-100v-100h-200v-300h-100v300h-200v100h-100z" />
<glyph unicode="&#x3c9;" d="M0 100v500h100v100h100v-600h100v-100h-200v100h-100zM300 100v300h100v-300h-100zM400 100h100v600h100v-100h100v-500h-100v-100h-200v100z" />
<glyph unicode="&#x3ca;" d="M0 900v100h200v-100h-200zM200 100v600h200v-600h100v-100h-200v100h-100zM400 900v100h200v-100h-200zM500 100v100h100v-100h-100z" />
<glyph unicode="&#x3cb;" d="M0 100v600h200v-600h200v600h300v-100h-100v-500h-100v-100h-400v100h-100zM0 900v100h200v-100h-200zM400 900v100h200v-100h-200z" />
<glyph unicode="&#x3cc;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 100h300v500h-300v-500zM300 800v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x3cd;" d="M0 100v600h200v-600h200v600h300v-100h-100v-500h-100v-100h-400v100h-100zM300 800v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x3ce;" d="M0 100v500h100v100h100v-600h100v-100h-200v100h-100zM400 100h100v600h100v-100h100v-500h-100v-100h-200v100zM400 400v-300h-100v300h100zM400 900v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x3d0;" d="M0 0v900h100v100h400v-100h100v-300h-100v-100h100v-100h100v-300h-100v-100h-200v100h100v300h-100v100h-100v100h100v300h-200v-900h-200z" />
<glyph unicode="&#x3f4;" d="M0 200v500h100v100h100v100h300v-100h100v-100h100v-500h-100v-100h-100v-100h-300v100h-100v100h-100zM200 200h100v-100h100v100h100v200h-300v-200zM200 500h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#x400;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM200 1100v100h200v-100h100v-100h-200v100h-100z" />
<glyph unicode="&#x401;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-300h200v100h100v100h100v-300h-700zM0 1000v100h200v-100h-200zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#x402;" d="M0 0v100h100v800h-100v100h600v-200h-100v100h-200v-300h100v-100h-100v-500h-300zM400 -100v100h100v600h-100v100h200v-100h100v-600h-100v-100h-200z" />
<glyph unicode="&#x403;" d="M0 0v100h100v700h-100v100h700v-300h-100v100h-100v100h-200v-700h100v-100h-400zM300 1100h100v100h200v-100h-100v-100h-200v100z" />
<glyph unicode="&#x404;" d="M0 200v600h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-200h200v100h100v-300h-100v100h-200v-300h100v-100h200v100h100v100h100v-200h-100v-100h-400v100h-100v100h-100z" />
<glyph unicode="&#x405;" d="M0 100v200h200v-200h300v300h-100v100h-200v100h-100v100h-100v200h100v100h500v-100h100v-200h-200v200h-300v-200h100v-100h200v-100h100v-100h100v-300h-100v-100h-500v100h-100z" />
<glyph unicode="&#x406;" d="M500 100h100v-100h-400v100h100v800h-100v100h400v-100h-100v-800z" />
<glyph unicode="&#x407;" d="M100 1100h200v-100h-200v100zM200 0v100h100v700h-100v100h400v-100h-100v-700h100v-100h-400zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#x408;" d="M0 100v300h200v-300h200v800h-100v100h400v-100h-100v-800h-100v-100h-400v100h-100z" />
<glyph unicode="&#x409;" d="M0 0v1000h600v-100h-100v-300h100v-100h-100v-400h100v-100h-300v900h-100v-900h-200zM600 100v400h100v-400h-100z" />
<glyph unicode="&#x40a;" d="M0 0v1000h200v-400h100v400h200v-400h100v-100h-100v-400h100v-100h-300v500h-100v-500h-200zM600 100v400h100v-400h-100z" />
<glyph unicode="&#x40b;" d="M0 0v100h100v800h-100v100h600v-200h-100v100h-200v-300h300v-100h100v-500h-200v500h-200v-500h-300z" />
<glyph unicode="&#x40c;" d="M0 0v100h100v700h-100v100h300v-400h100v100h100v300h200v-300h-100v-100h-100v-100h100v-100h100v-300h-200v300h-100v100h-100v-400h-300zM400 1100v100h200v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x40d;" d="M0 0v900h200v-500h100v100h100v100h100v300h200v-900h-200v300h-100v-100h-100v-100h-100v-100h-200zM200 1100v100h200v-100h100v-100h-200v100h-100z" />
<glyph unicode="&#x40e;" d="M0 100v100h200v-100h300v300h-400v100h-100v400h200v-400h300v400h200v-800h-100v-100h-500v100h-100zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300z" />
<glyph unicode="&#x40f;" d="M0 0v100h100v800h-100v100h300v-900h100v900h300v-100h-100v-800h100v-100h-300v-200h-100v200h-300z" />
<glyph unicode="&#x410;" d="M0 0v700h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-700h-200v400h-300v-400h-200zM200 500h300v200h-100v100h-100v-100h-100v-200z" />
<glyph unicode="&#x411;" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-300h300v-100h100v-400h-100v-100h-600zM300 100h200v400h-200v-400z" />
<glyph unicode="&#x412;" d="M0 0v100h100v800h-100v100h600v-100h100v-300h-100v-100h100v-400h-100v-100h-600zM300 100h200v400h-200v-400zM300 600h200v300h-200v-300z" />
<glyph unicode="&#x413;" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-800h100v-100h-400z" />
<glyph unicode="&#x414;" d="M0 100h100v700h100v100h100v100h400v-900h100v-300h-100v100h-100v100h-400v-100h-100v-100h-100v300zM400 900v-100h-100v-700h200v800h-100z" />
<glyph unicode="&#x415;" d="M0 0v100h100v800h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-400h200v100h100v100h100v-300h-700z" />
<glyph unicode="&#x416;" d="M0 0v400h100v100h100v100h-100v100h-100v300h200v-300h100v300h100v-300h100v300h200v-300h-100v-100h-100v-100h100v-100h100v-400h-200v400h-100v-400h-100v400h-100v-400h-200z" />
<glyph unicode="&#x417;" d="M0 100v200h100v-100h100v-100h300v400h-300v100h300v300h-300v-100h-100v-100h-100v200h100v100h500v-100h100v-300h-100v-100h100v-400h-100v-100h-500v100h-100z" />
<glyph unicode="&#x418;" d="M0 0v1000h200v-500h100v100h100v100h100v300h200v-1000h-200v400h-100v-100h-100v-100h-100v-200h-200z" />
<glyph unicode="&#x419;" d="M0 0v900h200v-500h100v100h100v100h100v300h200v-900h-200v300h-100v-100h-100v-100h-100v-100h-200zM200 1000v100h-100v100h200v-100h100v100h200v-100h-100v-100h-300z" />
<glyph unicode="&#x41a;" d="M0 0v100h100v800h-100v100h300v-400h100v100h100v300h200v-300h-100v-100h-100v-200h100v-100h100v-300h-200v300h-100v100h-100v-400h-300z" />
<glyph unicode="&#x41b;" d="M0 0v100h100v700h100v100h100v100h400v-1000h-200v900h-100v-100h-100v-700h-100v-100h-200z" />
<glyph unicode="&#x41c;" d="M0 0v1000h200v-100h100v-100h100v100h100v100h200v-1000h-200v600h-100v-100h-100v100h-100v-600h-200z" />
<glyph unicode="&#x41d;" d="M0 0v1000h200v-400h300v400h200v-1000h-200v500h-300v-500h-200z" />
<glyph unicode="&#x41e;" d="M0 100v800h100v100h500v-100h100v-800h-100v-100h-500v100h-100zM200 100h300v800h-300v-800z" />
<glyph unicode="&#x41f;" d="M0 0v1000h700v-1000h-200v900h-300v-900h-200z" />
<glyph unicode="&#x420;" d="M0 0v100h100v800h-100v100h600v-100h100v-300h-100v-100h-300v-400h100v-100h-400zM300 600h200v300h-200v-300z" />
<glyph unicode="&#x421;" d="M0 200v600h100v100h100v100h400v-100h100v-200h-100v100h-100v100h-200v-100h-100v-600h100v-100h200v100h100v100h100v-200h-100v-100h-400v100h-100v100h-100z" />
<glyph unicode="&#x422;" d="M100 700v300h600v-300h-100v100h-100v-700h100v-100h-400v100h100v700h-100v-100h-100z" />
<glyph unicode="&#x423;" d="M0 100v100h200v-100h300v300h-400v100h-100v500h200v-500h300v500h200v-900h-100v-100h-500v100h-100z" />
<glyph unicode="&#x424;" d="M0 300v400h100v100h200v100h-100v100h300v-100h-100v-100h200v-100h100v-400h-100v-100h-200v-100h100v-100h-300v100h100v100h-200v100h-100zM200 300h100v400h-100v-400zM400 300h100v400h-100v-400z" />
<glyph unicode="&#x425;" d="M0 200h100v200h100v200h-100v200h-100v200h200v-200h100v-100h100v100h100v200h200v-200h-100v-200h-100v-200h100v-200h100v-200h-200v200h-100v100h-100v-100h-100v-200h-200v200z" />
<glyph unicode="&#x426;" d="M0 0v1000h200v-900h200v900h200v-900h100v-300h-100v100h-100v100h-500z" />
<glyph unicode="&#x427;" d="M0 500v500h200v-500h300v500h200v-1000h-200v400h-400v100h-100z" />
<glyph unicode="&#x428;" d="M0 0v1000h200v-900h100v900h100v-900h100v900h200v-1000h-700z" />
<glyph unicode="&#x429;" d="M0 0v1000h200v-900h100v900h100v-900h100v900h200v-900h100v-300h-100v100h-100v100h-600z" />
<glyph unicode="&#x42a;" d="M0 700v300h400v-400h200v-100h100v-400h-100v-100h-500v100h100v800h-100v-200h-100zM400 100h100v400h-100v-400z" />
<glyph unicode="&#x42b;" d="M0 0v1000h200v-400h100v-100h-100v-400h100v-100h-300zM300 100v400h100v-400h-100zM500 0v1000h200v-1000h-200z" />
<glyph unicode="&#x42c;" d="M0 0v100h100v800h-100v100h400v-100h-100v-300h300v-100h100v-400h-100v-100h-600zM300 100h200v400h-200v-400z" />
<glyph unicode="&#x42d;" d="M0 100v200h100v-100h100v-100h200v100h100v300h-200v-100h-100v300h100v-100h200v200h-100v100h-200v-100h-100v-100h-100v200h100v100h400v-100h100v-100h100v-600h-100v-100h-100v-100h-400v100h-100z" />
<glyph unicode="&#x42e;" d="M0 0v1000h200v-400h100v300h100v-800h-100v400h-100v-500h-200zM400 100h100v800h-100v100h200v-100h100v-800h-100v-100h-200v100z" />
<glyph unicode="&#x42f;" d="M0 0v400h100v200h-100v300h100v100h600v-100h-100v-800h100v-100h-300v500h-100v-100h-100v-400h-200zM200 600h200v300h-200v-300z" />
<glyph unicode="&#x430;" d="M0 100v300h100v100h300v100h-300v100h400v-100h100v-500h100v-100h-200v100h-100v300h-200v-300h200v-100h-300v100h-100z" />
<glyph unicode="&#x431;" d="M0 100v600h100v100h300v100h200v-100h-100v-100h-300v-200h400v-100h100v-300h-100v-100h-500v100h-100zM200 100h300v300h-300v-300z" />
<glyph unicode="&#x432;" d="M0 0v100h100v500h-100v100h600v-100h100v-200h-100v-100h100v-200h-100v-100h-600zM300 100h200v200h-200v-200zM300 400h200v200h-200v-200z" />
<glyph unicode="&#x433;" d="M0 0v100h100v500h-100v100h700v-300h-100v100h-100v100h-200v-500h100v-100h-400z" />
<glyph unicode="&#x434;" d="M0 -200v600h100v100h100v200h400v-600h100v-300h-100v100h-100v100h-300v-100h-100v-100h-100zM200 100h200v400h-100v-100h-100v-300z" />
<glyph unicode="&#x435;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100z" />
<glyph unicode="&#x436;" d="M0 0v300h100v100h-100v300h200v-300h100v300h100v-300h100v300h200v-300h-100v-100h100v-300h-200v300h-100v-300h-100v300h-100v-300h-200z" />
<glyph unicode="&#x437;" d="M0 100v100h200v-100h300v200h-200v100h200v200h-300v-100h-200v100h100v100h500v-100h100v-200h-100v-100h100v-200h-100v-100h-500v100h-100z" />
<glyph unicode="&#x438;" d="M0 0v700h200v-400h100v100h100v100h100v200h200v-700h-200v300h-100v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x439;" d="M0 0v700h200v-400h100v100h100v100h100v200h200v-700h-200v300h-100v-100h-100v-100h-100v-100h-200zM200 900h-100v100h200v-100h100v100h200v-100h-100v-100h-300v100z" />
<glyph unicode="&#x43a;" d="M0 0v100h100v500h-100v100h300v-300h100v100h100v200h200v-200h-100v-100h-100v-100h100v-100h100v-200h-200v200h-100v100h-100v-300h-300z" />
<glyph unicode="&#x43b;" d="M0 0v100h100v400h100v100h100v100h400v-700h-200v600h-100v-100h-100v-400h-100v-100h-200z" />
<glyph unicode="&#x43c;" d="M0 0v700h200v-100h100v-100h100v100h100v100h200v-700h-200v400h-100v-200h-100v200h-100v-400h-200z" />
<glyph unicode="&#x43d;" d="M0 0v700h200v-300h300v300h200v-700h-200v300h-300v-300h-200z" />
<glyph unicode="&#x43e;" d="M0 100v500h100v100h500v-100h100v-500h-100v-100h-500v100h-100zM200 100h300v500h-300v-500z" />
<glyph unicode="&#x43f;" d="M0 0v700h700v-700h-200v600h-300v-600h-200z" />
<glyph unicode="&#x440;" d="M0 -200h100v800h-100v100h200v-100h100v-500h200v500h-200v100h300v-100h100v-500h-100v-100h-300v-200h100v-100h-400v100z" />
<glyph unicode="&#x441;" d="M0 100v500h100v100h500v-100h100v-100h-200v100h-300v-500h300v100h200v-100h-100v-100h-500v100h-100z" />
<glyph unicode="&#x442;" d="M100 500v200h600v-200h-100v100h-100v-500h100v-100h-400v100h100v500h-100v-100h-100z" />
<glyph unicode="&#x443;" d="M0 100v600h200v-600h300v600h200v-800h-100v-100h-100v-100h-500v100h400v100h100v100h-400v100h-100z" />
<glyph unicode="&#x444;" d="M0 100v500h100v100h200v300h100v-300h200v-100h100v-500h-100v-100h-200v-300h-100v300h-200v100h-100zM200 100h100v500h-100v-500zM400 100h100v500h-100v-500z" />
<glyph unicode="&#x445;" d="M0 0v100h100v100h100v300h-100v100h-100v100h200v-100h100v-100h100v100h100v100h200v-100h-100v-100h-100v-300h100v-100h100v-100h-200v100h-100v100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x446;" d="M0 0v700h200v-600h200v600h200v-600h100v-300h-100v100h-100v100h-500z" />
<glyph unicode="&#x447;" d="M0 400v300h200v-300h300v300h200v-700h-200v300h-400v100h-100z" />
<glyph unicode="&#x448;" d="M0 0v700h200v-600h100v600h100v-600h100v600h200v-700h-700z" />
<glyph unicode="&#x449;" d="M0 0v700h200v-600h100v600h100v-600h100v600h200v-600h100v-300h-100v100h-100v100h-600z" />
<glyph unicode="&#x44a;" d="M0 500v200h400v-300h200v-100h100v-200h-100v-100h-500v100h100v500h-100v-100h-100zM400 100h100v200h-100v-200z" />
<glyph unicode="&#x44b;" d="M0 0v700h200v-300h100v-100h-100v-200h100v-100h-300zM300 100v200h100v-200h-100zM500 0v700h200v-700h-200z" />
<glyph unicode="&#x44c;" d="M100 0v100h100v500h-100v100h400v-100h-100v-200h200v-100h100v-200h-100v-100h-500zM400 100h100v200h-100v-200z" />
<glyph unicode="&#x44d;" d="M0 100v100h200v-100h300v300h-200v100h200v100h-300v-100h-200v100h100v100h500v-100h100v-500h-100v-100h-500v100h-100z" />
<glyph unicode="&#x44e;" d="M0 0v700h200v-300h100v200h100v-500h-100v200h-100v-300h-200zM400 100h100v500h-100v100h200v-100h100v-500h-100v-100h-200v100z" />
<glyph unicode="&#x44f;" d="M0 0v100h100v200h100v100h-100v200h100v100h500v-100h-100v-500h100v-100h-300v300h-100v-300h-300zM300 400h100v200h-100v-200z" />
<glyph unicode="&#x450;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100zM200 1000h-100v100h200v-100h100v-100h100v-100h-200v100h-100v100z" />
<glyph unicode="&#x451;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM0 900v100h200v-100h-200zM200 500h300v100h-300v-100zM500 900v100h200v-100h-200z" />
<glyph unicode="&#x452;" d="M0 0v100h100v700h-100v100h100v100h200v-100h200v-100h-200v-200h100v-100h-100v-500h-300zM400 -200h100v800h-100v100h200v-100h100v-800h-100v-100h-200v100z" />
<glyph unicode="&#x453;" d="M0 0v100h100v500h-100v100h700v-300h-100v100h-100v100h-200v-500h100v-100h-400zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x454;" d="M0 100v500h100v100h500v-100h100v-100h-200v100h-300v-200h300v-100h-300v-200h300v100h200v-100h-100v-100h-500v100h-100z" />
<glyph unicode="&#x455;" d="M0 100v100h200v-100h300v100h-100v100h-200v100h-100v100h-100v100h100v100h500v-100h100v-100h-200v100h-300v-100h100v-100h200v-100h100v-100h100v-100h-100v-100h-500v100h-100z" />
<glyph unicode="&#x456;" d="M200 0v100h100v500h-100v100h300v-600h100v-100h-400zM300 1000h200v-200h-200v200z" />
<glyph unicode="&#x457;" d="M100 900v100h200v-100h-200zM200 0v100h100v500h-100v100h300v-600h100v-100h-400zM500 900v100h200v-100h-200z" />
<glyph unicode="&#x458;" d="M0 0h200v-200h200v800h-100v100h300v-900h-100v-100h-400v100h-100v200zM400 1000h200v-200h-200v200z" />
<glyph unicode="&#x459;" d="M0 0v700h600v-100h-100v-200h100v-100h-100v-200h100v-100h-300v600h-100v-600h-200zM600 100v200h100v-200h-100z" />
<glyph unicode="&#x45a;" d="M0 0v700h200v-300h100v300h200v-300h100v-100h-100v-200h100v-100h-300v300h-100v-300h-200zM600 100v200h100v-200h-100z" />
<glyph unicode="&#x45b;" d="M0 0v100h100v700h-100v100h100v100h200v-100h200v-100h-200v-100h300v-100h100v-600h-200v600h-200v-600h-300z" />
<glyph unicode="&#x45c;" d="M0 0v100h100v500h-100v100h300v-300h100v100h100v200h200v-200h-100v-100h-100v-100h100v-100h100v-200h-200v200h-100v100h-100v-300h-300zM200 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x45d;" d="M0 0v700h200v-400h100v100h100v100h100v200h200v-700h-200v300h-100v-100h-100v-100h-100v-100h-200zM200 1000h-100v100h200v-100h100v-100h100v-100h-200v100h-100v100z" />
<glyph unicode="&#x45e;" d="M0 100v600h200v-600h300v600h200v-800h-100v-100h-100v-100h-500v100h400v100h100v100h-400v100h-100zM200 900h-100v100h200v-100h100v100h200v-100h-100v-100h-300v100z" />
<glyph unicode="&#x45f;" d="M0 0v100h100v500h-100v100h300v-600h100v600h300v-100h-100v-500h100v-100h-300v-200h-100v200h-300z" />
<glyph unicode="&#x490;" d="M0 0v100h100v800h-100v100h500v100h100v100h100v-300h-400v-800h100v-100h-400z" />
<glyph unicode="&#x491;" d="M0 0v100h100v500h-100v100h500v100h100v100h100v-300h-400v-500h100v-100h-400z" />
<glyph unicode="&#x5be;" d="M100 700v100h600v-100h-600z" />
<glyph unicode="&#x5d0;" d="M0 0v400h100v200h-100v200h200v-200h100v-100h100v-100h100v400h200v-400h-100v-200h100v-200h-200v200h-100v100h-100v100h-100v-400h-200z" />
<glyph unicode="&#x5d1;" d="M0 0v100h400v600h-400v100h500v-100h100v-600h100v-100h-700z" />
<glyph unicode="&#x5d2;" d="M0 0v100h200v100h100v100h100v400h-200v100h300v-100h100v-500h100v-200h-200v200h-100v-100h-100v-100h-300z" />
<glyph unicode="&#x5d3;" d="M400 0v700h-400v100h700v-100h-100v-700h-200z" />
<glyph unicode="&#x5d4;" d="M0 0v400h200v-400h-200zM0 700v100h600v-100h100v-700h-200v700h-500z" />
<glyph unicode="&#x5d5;" d="M400 700h100v-700h-200v700h-200v100h300v-100z" />
<glyph unicode="&#x5d6;" d="M0 700v100h600v-100h-200v-300h100v-200h-100v-100h-100v-100h-200v100h100v100h100v200h-100v300h-200z" />
<glyph unicode="&#x5d7;" d="M0 0v600h100v100h-100v100h600v-100h100v-700h-200v700h-200v-100h-100v-600h-200z" />
<glyph unicode="&#x5d8;" d="M0 100v700h200v-700h300v600h-100v100h200v-100h100v-600h-100v-100h-500v100h-100zM300 500v200h100v-200h-100z" />
<glyph unicode="&#x5d9;" d="M400 400v-100h-200v100h100v300h-200v100h300v-100h100v-300h-100z" />
<glyph unicode="&#x5da;" d="M0 700v100h600v-100h100v-300h-100v-600h100v-100h-300v700h100v300h-500z" />
<glyph unicode="&#x5db;" d="M0 0v100h500v600h-500v100h600v-100h100v-600h-100v-100h-600z" />
<glyph unicode="&#x5dc;" d="M0 700v300h200v-200h400v-100h100v-400h-100v-100h-100v-200h-200v200h100v100h100v400h-500z" />
<glyph unicode="&#x5dd;" d="M0 0v600h100v100h-100v100h600v-100h100v-700h-700zM200 100h300v600h-200v-100h-100v-500z" />
<glyph unicode="&#x5de;" d="M0 0v500h100v200h-100v100h200v-100h100v100h300v-100h100v-700h-400v100h200v600h-100v-100h-100v-100h-100v-500h-200z" />
<glyph unicode="&#x5df;" d="M200 700v100h300v-100h100v-200h-100v-700h100v-100h-300v800h100v200h-200z" />
<glyph unicode="&#x5e0;" d="M400 100v600h-200v100h300v-100h100v-700h-500v100h300z" />
<glyph unicode="&#x5e1;" d="M0 100v500h100v100h-100v100h600v-100h100v-500h-100v-100h-100v-100h-400v100h-100zM200 100h200v100h100v500h-200v-100h-100v-500z" />
<glyph unicode="&#x5e2;" d="M0 0v100h200v100h-100v500h-100v100h300v-700h100v100h100v500h-100v100h300v-600h-100v-100h-100v-100h-500z" />
<glyph unicode="&#x5e3;" d="M0 300v300h100v100h-100v100h500v-100h100v-900h100v-100h-300v1000h-200v-300h100v-100h-300z" />
<glyph unicode="&#x5e4;" d="M0 0v100h500v600h-300v-300h100v-100h-300v300h100v100h-100v100h600v-100h100v-700h-700z" />
<glyph unicode="&#x5e5;" d="M0 700v100h300v-400h100v100h100v200h-100v100h300v-300h-100v-100h-100v-100h-200v-500h100v-100h-300v1000h-100z" />
<glyph unicode="&#x5e6;" d="M0 0v100h500v100h-100v100h-100v100h-100v100h-100v200h-100v100h300v-300h100v-100h100v-100h100v-100h100v-200h-700zM400 700v100h300v-300h-100v-100h-100v300h-100z" />
<glyph unicode="&#x5e7;" d="M0 700v100h600v-100h100v-300h-100v-200h100v-100h-300v200h100v400h-500zM100 500h200v-800h-200v800z" />
<glyph unicode="&#x5e8;" d="M0 700v100h600v-100h100v-700h-200v700h-500z" />
<glyph unicode="&#x5e9;" d="M0 100v700h200v-500h100v500h100v-600h-200v-100h300v700h200v-700h-100v-100h-500v100h-100z" />
<glyph unicode="&#x5ea;" d="M0 200h100v500h-100v100h600v-100h100v-700h-200v700h-200v-700h-300v200z" />
<glyph unicode="&#x5f0;" d="M0 700v100h200v-100h100v-700h-200v700h-100zM400 700v100h200v-100h100v-700h-200v700h-100z" />
<glyph unicode="&#x5f1;" d="M0 700v100h200v-100h100v-300h-200v300h-100zM400 700v100h200v-100h100v-700h-200v700h-100z" />
<glyph unicode="&#x5f2;" d="M0 700v100h200v-100h100v-300h-200v300h-100zM400 700v100h200v-100h100v-300h-200v300h-100z" />
<glyph unicode="&#x5f3;" d="M400 700v-100h-200v100h100v200h200v-200h-100z" />
<glyph unicode="&#x5f4;" d="M0 600v100h100v200h200v-200h-100v-100h-200zM400 600v100h100v200h200v-200h-100v-100h-200z" />
<glyph unicode="&#x1d1b;" d="M0 600v100h100v100h300v-100h100v100h200v-100h-100v-100h-100v-600h-200v700h-100v-100h-200z" />
<glyph unicode="&#x1d26;" d="M0 0v1000h700v-300h-200v200h-300v-900h-200z" />
<glyph unicode="&#x1d28;" d="M400 0v700h-100v-700h-200v700h-100v100h700v-100h-100v-700h-200z" />
<glyph unicode="&#x1e80;" d="M0 100v800h200v-600h100v300h100v-300h100v600h200v-800h-100v-100h-200v200h-100v-200h-200v100h-100zM200 1100v100h200v-100h100v-100h-200v100h-100z" />
<glyph unicode="&#x1e81;" d="M0 100v600h200v-500h100v300h100v-300h100v500h200v-600h-100v-100h-200v100h-100v-100h-200v100h-100zM200 1000h-100v100h200v-100h100v-100h100v-100h-200v100h-100v100z" />
<glyph unicode="&#x1e82;" d="M0 100v800h200v-600h100v300h100v-300h100v600h200v-800h-100v-100h-200v200h-100v-200h-200v100h-100zM200 1000v100h100v100h200v-100h-100v-100h-200z" />
<glyph unicode="&#x1e83;" d="M0 100v600h200v-500h100v300h100v-300h100v500h200v-600h-100v-100h-200v100h-100v-100h-200v100h-100zM200 900v100h100v100h200v-100h-100v-100h-100v-100h-200v100h100z" />
<glyph unicode="&#x1e84;" d="M0 100v800h200v-600h100v300h100v-300h100v600h200v-800h-100v-100h-200v200h-100v-200h-200v100h-100zM0 1000v100h200v-100h-200zM500 1100h200v-100h-200v100z" />
<glyph unicode="&#x1e85;" d="M0 100v600h200v-500h100v300h100v-300h100v500h200v-600h-100v-100h-200v100h-100v-100h-200v100h-100zM0 900v100h200v-100h-200zM500 900v100h200v-100h-200z" />
<glyph unicode="&#x1e9f;" d="M200 100h-100v400h100v100h200v100h-100v100h-100v100h100v100h400v-100h-300v-100h100v-100h100v-100h100v-500h-100v-100h-400v100zM300 100h200v400h-200v-400z" />
<glyph unicode="&#x1ef2;" d="M200 0v100h100v300h-100v100h-100v400h200v-400h200v400h200v-400h-100v-100h-100v-300h100v-100h-400zM200 1100v100h200v-100h100v-100h-200v100h-100z" />
<glyph unicode="&#x1ef3;" d="M0 100v600h200v-600h300v600h200v-800h-100v-100h-100v-100h-500v100h400v100h100v100h-400v100h-100zM200 1000h-100v100h200v-100h100v-100h100v-100h-200v100h-100v100z" />
<glyph unicode="&#x2010;" d="M100 400v100h600v-100h-600z" />
<glyph unicode="&#x2012;" d="M100 400v100h500v-100h-500z" />
<glyph unicode="&#x2013;" d="M100 400v100h500v-100h-500z" />
<glyph unicode="&#x2014;" d="M0 400v100h800v-100h-800z" />
<glyph unicode="&#x2015;" d="M0 400v100h800v-100h-800z" />
<glyph unicode="&#x2017;" d="M0 -100v100h800v-100h-800zM0 -200h800v-100h-800v100z" />
<glyph unicode="&#x2018;" d="M500 1100v-100h-100v-200h-200v200h100v100h200z" />
<glyph unicode="&#x2019;" d="M500 1100v-200h-100v-100h-200v100h100v200h200z" />
<glyph unicode="&#x201a;" d="M400 -200v-100h-200v100h100v200h200v-200h-100z" />
<glyph unicode="&#x201b;" d="M400 900h100v-100h-200v100h-100v200h200v-200z" />
<glyph unicode="&#x201c;" d="M100 1100h200v-100h-100v-200h-200v200h100v100zM500 1100h200v-100h-100v-200h-200v200h100v100z" />
<glyph unicode="&#x201d;" d="M100 1100h200v-200h-100v-100h-200v100h100v200zM500 1100h200v-200h-100v-100h-200v100h100v200z" />
<glyph unicode="&#x201e;" d="M0 -200h100v200h200v-200h-100v-100h-200v100zM400 -200h100v200h200v-200h-100v-100h-200v100z" />
<glyph unicode="&#x201f;" d="M0 900v200h200v-200h100v-100h-200v100h-100zM400 900v200h200v-200h100v-100h-200v100h-100z" />
<glyph unicode="&#x2020;" d="M500 1100v-400h200v-100h-200v-800h-200v800h-200v100h200v400h200z" />
<glyph unicode="&#x2021;" d="M100 200v100h200v300h-200v100h200v400h200v-400h200v-100h-200v-300h200v-100h-200v-400h-200v400h-200z" />
<glyph unicode="&#x2022;" d="M500 200h-200v100h-100v200h100v100h200v-100h100v-200h-100v-100z" />
<glyph unicode="&#x2026;" d="M0 200h200v-200h-200v200zM800 200v-200h-200v200h200zM500 200v-200h-200v200h200z" />
<glyph unicode="&#x2027;" d="M500 500v-200h-200v200h200z" />
<glyph unicode="&#x2030;" d="M0 100v100h100v100h100v100h100v100h100v100h100v100h200v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-200zM0 500v200h200v-200h-200zM600 200h200v-200h-200v200zM300 200h200v-200h-200v200z" />
<glyph unicode="&#x2032;" d="M400 1000v100h200v-100h-100v-100h-100v-100h-200v100h100v100h100z" />
<glyph unicode="&#x2033;" d="M0 800v100h100v100h100v100h200v-100h-100v-100h-100v-100h-200zM300 900h100v100h100v100h200v-100h-100v-100h-100v-100h-200v100z" />
<glyph unicode="&#x2035;" d="M400 1000h100v-100h100v-100h-200v100h-100v100h-100v100h200v-100z" />
<glyph unicode="&#x2039;" d="M200 400v100h100v100h100v100h200v-100h-100v-100h-100v-100h100v-100h100v-100h-200v100h-100v100h-100z" />
<glyph unicode="&#x203a;" d="M200 200v100h100v100h100v100h-100v100h-100v100h200v-100h100v-100h100v-100h-100v-100h-100v-100h-200z" />
<glyph unicode="&#x203c;" d="M100 200h200v-200h-200v200zM100 300v700h200v-700h-200zM500 200h200v-200h-200v200zM500 300v700h200v-700h-200z" />
<glyph unicode="&#x203e;" d="M100 1100h600v-100h-600v100z" />
<glyph unicode="&#x203f;" d="M0 -200v100h200v-100h300v100h200v-100h-100v-100h-500v100h-100z" />
<glyph unicode="&#x2040;" d="M100 1100h500v-100h100v-100h-200v100h-300v-100h-200v100h100v100z" />
<glyph unicode="&#x2044;" d="M0 200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v200z" />
<glyph unicode="&#x2054;" d="M0 -200h100v100h500v-100h100v-100h-200v100h-300v-100h-200v100z" />
<glyph unicode="&#x2074;" d="M0 700v100h100v100h100v-100h100v100h-100v100h100v100h200v-600h-200v200h-300z" />
<glyph unicode="&#x2075;" d="M0 500v100h300v200h-300v300h500v-100h-300v-100h200v-100h100v-200h-100v-100h-400z" />
<glyph unicode="&#x2076;" d="M100 1100h300v-100h-200v-100h200v-100h100v-200h-100v-100h-300v100h-100v400h100v100zM200 600h100v200h-100v-200z" />
<glyph unicode="&#x2077;" d="M0 900v200h500v-200h-100v-100h-100v-300h-200v300h100v100h100v100h-200v-100h-100z" />
<glyph unicode="&#x2078;" d="M0 600v200h100v100h-100v100h100v100h300v-100h100v-100h-100v-100h100v-200h-100v-100h-300v100h-100zM200 600h100v200h-100v-200zM200 1000v-100h100v100h-100z" />
<glyph unicode="&#x2079;" d="M100 1100h300v-100h100v-400h-100v-100h-300v100h200v100h-200v100h-100v200h100v100zM200 800h100v200h-100v-200z" />
<glyph unicode="&#x207a;" d="M400 600h-200v200h-200v100h200v200h200v-200h200v-100h-200v-200z" />
<glyph unicode="&#x207b;" d="M100 800v100h500v-100h-500z" />
<glyph unicode="&#x207f;" d="M0 1000v100h200v-100h100v-500h-200v500h-100zM300 1100h200v-100h100v-500h-200v500h-100v100z" />
<glyph unicode="&#x2081;" d="M400 -200h100v-100h-400v100h100v300h-100v100h100v100h200v-500z" />
<glyph unicode="&#x2082;" d="M0 100v100h100v100h300v-100h100v-100h-100v-100h-100v-100h-100v-100h200v100h100v-200h-500v200h100v100h100v100h100v100h-100v-100h-200z" />
<glyph unicode="&#x2083;" d="M0 200v100h400v-100h100v-100h-100v-100h100v-200h-100v-100h-400v100h300v200h-200v100h200v100h-300z" />
<glyph unicode="&#x2084;" d="M0 -100v100h100v100h100v-100h100v100h-100v100h100v100h200v-600h-200v200h-300z" />
<glyph unicode="&#x2085;" d="M0 0v300h500v-100h-300v-100h200v-100h100v-200h-100v-100h-400v100h300v200h-300z" />
<glyph unicode="&#x2086;" d="M0 200h100v100h300v-100h-200v-100h200v-100h100v-200h-100v-100h-300v100h-100v400zM200 -200h100v200h-100v-200z" />
<glyph unicode="&#x2087;" d="M0 100v200h500v-200h-100v-100h-100v-300h-200v300h100v100h100v100h-200v-100h-100z" />
<glyph unicode="&#x2088;" d="M0 100v100h100v100h300v-100h100v-100h-100v-100h100v-200h-100v-100h-300v100h-100v200h100v100h-100zM200 200v-100h100v100h-100zM200 -200h100v200h-100v-200z" />
<glyph unicode="&#x2089;" d="M0 200h100v100h300v-100h100v-400h-100v-100h-300v100h200v100h-200v100h-100v200zM200 0h100v200h-100v-200z" />
<glyph unicode="&#x208a;" d="M0 -100v100h200v200h200v-200h200v-100h-200v-200h-200v200h-200z" />
<glyph unicode="&#x208b;" d="M100 -100v100h500v-100h-500z" />
<glyph unicode="&#x20a3;" d="M0 200v100h100v600h-100v100h700v-300h-100v100h-100v100h-200v-300h100v100h100v-300h-100v100h-100v-200h100v-100h-100v-100h100v-100h-400v100h100v100h-100z" />
<glyph unicode="&#x20a4;" d="M0 200h100v200h-100v100h100v100h-100v100h100v300h100v100h300v-100h100v-200h-100v100h-100v100h-100v-300h100v-100h-100v-100h100v-100h-100v-300h200v100h200v-100h-100v-100h-600v200z" />
<glyph unicode="&#x20a7;" d="M0 0v1100h500v-100h100v-200h-100v-100h-300v-700h-200zM200 1000v-200h200v200h-200zM400 100v300h-100v100h100v100h100v100h100v-200h100v-100h-100v-300h100v-100h-200v100h-100z" />
<glyph unicode="&#x20aa;" d="M0 100v700h500v-500h-100v400h-300v-600h-100zM200 100v500h100v-400h300v600h100v-700h-500z" />
<glyph unicode="&#x20ac;" d="M0 500v100h100v100h100v100h100v100h300v-100h100v-100h-200v100h-100v-100h-100v-100h300v-100h-300v-100h200v-100h-200v-100h100v-100h100v100h200v-100h-100v-100h-300v100h-100v100h-100v100h-100v100h100v100h-100z" />
<glyph unicode="&#x2105;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 700v300h100v100h200v-100h-100v-300h100v-100h-200v100h-100zM400 -100h100v300h-100v-300zM400 700h-100v100h100v-100z M400 1000v-100h-100v100h100zM300 200v100h300v-100h100v-300h-100v-100h-300v100h-100v300h100z" />
<glyph unicode="&#x2113;" d="M200 200v-100h-100v100h100zM200 400h-100v400h100v100h100v100h100v-100h100v-100h100v-400h-100v-100h-100v-100h100v-100h100v-100h-200v100h-100v100h-100v200zM400 400v400h-100v-400h100zM600 100v100h100v-100h-100z" />
<glyph unicode="&#x2116;" d="M0 0v1000h100v-100h100v-100h100v-100h100v300h400v-400h-200v-100h200v-100h-200v-400h-200v400h-100v100h-100v-500h-200zM600 700h100v200h-100v-200z" />
<glyph unicode="&#x2122;" d="M800 600h-100v300h-100v100h100v100h100v-500zM0 1000v100h400v-100h100v-100h-100v-300h-100v400h-100v-400h-100v400h-100zM500 900h100v-100h-100v100z" />
<glyph unicode="&#x2126;" d="M0 0v100h100v400h-100v300h100v100h100v100h300v-100h100v-100h100v-300h-100v-400h100v-100h-300v500h100v300h-100v100h-100v-100h-100v-300h100v-500h-300z" />
<glyph unicode="&#x212e;" d="M0 100v500h100v100h500v-100h100v-200h-500v-300h300v100h200v-100h-100v-100h-500v100h-100zM200 500h300v100h-300v-100z" />
<glyph unicode="&#x2150;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v500h200v-500h-200zM400 0v100h100v100h-200v100h400v-200h-100v-100h-100v-200h-200v200h100z" />
<glyph unicode="&#x2151;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v500h200v-500h-200zM400 200v-100h100v100h-100zM300 200v100h300v-100h100v-300h-100v-100h-300v100h200v100h-200v100 h-100v100h100z" />
<glyph unicode="&#x2153;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v500h200v-500h-200zM300 200v100h300v-100h100v-100h-100v-100h100v-100h-100v-100h-300v100h200v100h-200v100h200v100 h-200z" />
<glyph unicode="&#x2154;" d="M0 100v200h100v100h100v100h100v100h-300v200h100v100h100v100h-200v100h300v-100h100v-100h-100v-100h-100v-100h300v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM300 200v100h300v-100h100v-100h-100v-100h100v-100h-100 v-100h-300v100h200v100h-200v100h200v100h-200z" />
<glyph unicode="&#x2155;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v500h200v-500h-200zM600 100v-100h100v-100h-100v-100h-300v100h200v100h-200v300h400v-100h-200v-100h100z" />
<glyph unicode="&#x2156;" d="M0 100v200h100v100h100v100h100v100h-300v200h100v100h100v100h-200v100h300v-100h100v-100h-100v-100h-100v-100h300v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM300 -200v100h200v100h-200v300h400v-100h-200v-100h100 v-100h100v-100h-100v-100h-300z" />
<glyph unicode="&#x2157;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v100h200v100h-200v100h200v100h-200v100h300v-100h100v-100h-100v-100h100v-100h-100v-100h-300zM300 -200v100h200v100 h-200v300h400v-100h-200v-100h100v-100h100v-100h-100v-100h-300z" />
<glyph unicode="&#x2158;" d="M0 100v200h100v100h100v100h100v100h-100v100h-200v200h100v-100h100v100h-100v100h100v100h200v-400h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM300 -200v100h200v100h-200v300h400v-100h-200v-100h100v-100h100 v-100h-100v-100h-300z" />
<glyph unicode="&#x2159;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v500h200v-500h-200zM400 200v-100h200v-100h100v-100h-100v-100h-300v100h-100v300h100v100h300v-100h-200zM400 0v-100 h100v100h-100z" />
<glyph unicode="&#x215a;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v100h200v100h-200v300h400v-100h-200v-100h100v-100h100v-100h-100v-100h-300zM400 200v-100h200v-100h100v-100h-100 v-100h-300v100h-100v300h100v100h300v-100h-200zM400 0v-100h100v100h-100z" />
<glyph unicode="&#x215b;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v500h200v-500h-200zM400 200v-100h100v100h-100zM400 0v-100h100v100h-100zM300 200v100h300v-100h100v-100h-100v-100 h100v-100h-100v-100h-300v100h-100v100h100v100h-100v100h100z" />
<glyph unicode="&#x215c;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v100h200v100h-200v100h200v100h-200v100h300v-100h100v-100h-100v-100h100v-100h-100v-100h-300zM400 200v-100h100v100 h-100zM400 0v-100h100v100h-100zM300 200v100h300v-100h100v-100h-100v-100h100v-100h-100v-100h-300v100h-100v100h100v100h-100v100h100z" />
<glyph unicode="&#x215d;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v100h200v100h-200v300h400v-100h-200v-100h100v-100h100v-100h-100v-100h-300zM400 200v-100h100v100h-100zM400 0v-100 h100v100h-100zM300 200v100h300v-100h100v-100h-100v-100h100v-100h-100v-100h-300v100h-100v100h100v100h-100v100h100z" />
<glyph unicode="&#x215e;" d="M0 100v200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100zM0 600v200h100v100h100v100h-200v100h400v-200h-100v-100h-100v-200h-200zM400 200v-100h100v100h-100zM400 0v-100h100v100 h-100zM300 200v100h300v-100h100v-100h-100v-100h100v-100h-100v-100h-300v100h-100v100h100v100h-100v100h100z" />
<glyph unicode="&#x2190;" d="M0 400v100h100v100h100v100h200v-100h-100v-100h400v-100h-400v-100h100v-100h-200v100h-100v100h-100z" />
<glyph unicode="&#x2191;" d="M100 700v100h100v100h100v100h200v-100h100v-100h100v-100h-200v-700h-200v700h-200z" />
<glyph unicode="&#x2192;" d="M0 400v100h400v100h-100v100h200v-100h100v-100h100v-100h-100v-100h-100v-100h-200v100h100v100h-400z" />
<glyph unicode="&#x2193;" d="M100 200v100h200v700h200v-700h200v-100h-100v-100h-100v-100h-200v100h-100v100h-100z" />
<glyph unicode="&#x2194;" d="M0 400v100h100v100h100v100h100v-200h100v200h100v-100h100v-100h100v-100h-100v-100h-100v-100h-100v200h-100v-200h-100v100h-100v100h-100z" />
<glyph unicode="&#x2195;" d="M200 200v100h-100v100h200v300h-200v100h100v100h100v100h200v-100h100v-100h100v-100h-200v-300h200v-100h-100v-100h-100v-100h-200v100h-100z" />
<glyph unicode="&#x21a8;" d="M200 200v100h-100v100h200v300h-200v100h100v100h100v100h200v-100h100v-100h100v-100h-200v-300h200v-100h-100v-100h-100v-100h200v-100h-600v100h200v100h-100z" />
<glyph unicode="&#x2202;" d="M0 100v300h100v100h100v100h300v200h-100v100h-100v-100h-200v100h100v100h300v-100h100v-100h100v-600h-100v-100h-100v-100h-400v100h-100zM200 100h200v100h100v300h-200v-100h-100v-300z" />
<glyph unicode="&#x2205;" d="M0 0v100h100v200h-100v300h100v100h400v100h100v100h200v-100h-100v-200h100v-300h-100v-100h-400v-100h-100v-100h-200zM200 400h100v200h-100v-200zM400 400v-100h200v300h-100v-200h-100z" />
<glyph unicode="&#x2206;" d="M0 100v500h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-500h-700zM200 200h300v400h-100v100h-100v-100h-100v-400z" />
<glyph unicode="&#x2208;" d="M100 200v600h100v100h100v100h300v-100h-200v-100h-100v-200h300v-100h-300v-300h100v-100h200v-100h-300v100h-100v100h-100z" />
<glyph unicode="&#x220f;" d="M0 -200v1200h700v-1200h-200v1100h-300v-1100h-200z" />
<glyph unicode="&#x2211;" d="M0 200h100v100h100v100h100v100h-100v100h-100v100h-100v200h700v-200h-200v100h-300v-100h100v-100h100v-100h100v-100h-100v-100h-100v-100h-100v-100h300v100h200v-200h-700v200z" />
<glyph unicode="&#x2212;" d="M0 400v100h700v-100h-700z" />
<glyph unicode="&#x2215;" d="M0 200h100v100h100v100h100v100h100v100h100v100h100v100h100v-200h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100v200z" />
<glyph unicode="&#x2219;" d="M500 500v-200h-200v200h200z" />
<glyph unicode="&#x221a;" d="M0 400v100h300v-300h100v900h400v-100h-200v-1000h-300v100h-100v100h-100v200h-100z" />
<glyph unicode="&#x221e;" d="M0 300v300h100v100h600v-100h100v-300h-100v-100h-600v100h-100zM200 300h100v300h-100v-300zM500 300h100v300h-100v-300z" />
<glyph unicode="&#x221f;" d="M0 200v400h200v-300h500v-100h-700z" />
<glyph unicode="&#x2229;" d="M0 0v800h100v100h500v-100h100v-800h-200v800h-300v-800h-200z" />
<glyph unicode="&#x222b;" d="M0 0h200v-300h100v1400h100v100h300v-100h100v-200h-200v200h-100v-1400h-100v-100h-300v100h-100v300z" />
<glyph unicode="&#x2248;" d="M0 200v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200zM0 500v100h100v100h300v-100h100v100h200v-100h-100v-100h-300v100h-100v-100h-200z" />
<glyph unicode="&#x2260;" d="M0 100v100h100v100h-100v100h200v100h100v100h-300v100h400v100h100v100h200v-100h-100v-100h100v-100h-200v-100h-100v-100h300v-100h-400v-100h-100v-100h-200z" />
<glyph unicode="&#x2261;" d="M0 100v100h700v-100h-700zM0 400v100h700v-100h-700zM0 700v100h700v-100h-700z" />
<glyph unicode="&#x2264;" d="M200 500h-100v100h100v100h100v100h100v100h200v-100h-100v-100h-100v-100h-100v-100h100v-100h100v-100h100v-100h-200v100h-100v100h-100v100zM100 0v100h600v-100h-600z" />
<glyph unicode="&#x2265;" d="M200 200v100h100v100h100v100h100v100h-100v100h-100v100h-100v100h200v-100h100v-100h100v-100h100v-100h-100v-100h-100v-100h-100v-100h-200zM100 0v100h600v-100h-600z" />
<glyph unicode="&#x2299;" d="M0 100v800h100v100h500v-100h100v-800h-100v-100h-500v100h-100zM200 100h300v800h-300v-800zM300 400v200h100v-200h-100z" />
<glyph unicode="&#x2300;" d="M0 100v800h100v100h500v-100h100v-800h-100v-100h-500v100h-100zM200 100h300v400h-100v-100h-100v-100h-100v-200zM200 500h100v100h100v100h100v200h-300v-400z" />
<glyph unicode="&#x2302;" d="M0 100v400h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-400h-700zM200 200h300v300h-100v100h-100v-100h-100v-300z" />
<glyph unicode="&#x2310;" d="M0 100v500h700v-100h-500v-400h-200z" />
<glyph unicode="&#x2320;" d="M800 700h-200v200h-100v-1300h-200v1300h100v100h300v-100h100v-200z" />
<glyph unicode="&#x2321;" d="M0 100v300h200v-300h100v1100h200v-1100h-100v-100h-300v100h-100z" />
<glyph unicode="&#x2500;" d="M0 400v100h800v-100h-800z" />
<glyph unicode="&#x2502;" d="M500 1200v-1600h-200v1600h200z" />
<glyph unicode="&#x250c;" d="M800 500v-100h-300v-800h-200v900h500z" />
<glyph unicode="&#x2510;" d="M0 400v100h500v-900h-200v800h-300z" />
<glyph unicode="&#x2514;" d="M500 1200v-700h300v-100h-500v800h200z" />
<glyph unicode="&#x2518;" d="M500 1200v-800h-500v100h300v700h200z" />
<glyph unicode="&#x251c;" d="M500 1200v-700h300v-100h-300v-800h-200v1600h200z" />
<glyph unicode="&#x2524;" d="M500 1200v-1600h-200v800h-300v100h300v700h200z" />
<glyph unicode="&#x252c;" d="M0 400v100h800v-100h-300v-800h-200v800h-300z" />
<glyph unicode="&#x2534;" d="M500 1200v-700h300v-100h-800v100h300v700h200z" />
<glyph unicode="&#x253c;" d="M500 1200v-700h300v-100h-300v-800h-200v800h-300v100h300v700h200z" />
<glyph unicode="&#x2550;" d="M0 400v100h800v-100h-800zM0 600v100h800v-100h-800z" />
<glyph unicode="&#x2551;" d="M500 1200h200v-1600h-200v1600zM400 -400h-200v1600h200v-1600z" />
<glyph unicode="&#x2552;" d="M800 500v-100h-300v-800h-200v1100h500v-100h-300v-100h300z" />
<glyph unicode="&#x2553;" d="M400 400v-800h-200v900h600v-100h-100v-800h-200v800h-100z" />
<glyph unicode="&#x2554;" d="M400 -400h-200v1100h600v-100h-400v-1000zM800 500v-100h-100v-800h-200v900h300z" />
<glyph unicode="&#x2555;" d="M0 400v100h300v100h-300v100h500v-1100h-200v800h-300z" />
<glyph unicode="&#x2556;" d="M0 400v100h700v-900h-200v800h-100v-800h-200v800h-200z" />
<glyph unicode="&#x2557;" d="M0 400v100h400v-900h-200v800h-200zM0 600v100h700v-1100h-200v1000h-500z" />
<glyph unicode="&#x2558;" d="M500 1200v-500h300v-100h-300v-100h300v-100h-500v800h200z" />
<glyph unicode="&#x2559;" d="M500 1200h200v-700h100v-100h-600v800h200v-700h100v700z" />
<glyph unicode="&#x255a;" d="M500 1200h200v-500h100v-100h-300v600zM400 500h400v-100h-600v800h200v-700z" />
<glyph unicode="&#x255b;" d="M500 1200v-800h-500v100h300v100h-300v100h300v500h200z" />
<glyph unicode="&#x255c;" d="M500 1200h200v-800h-700v100h200v700h200v-700h100v700z" />
<glyph unicode="&#x255d;" d="M500 1200h200v-800h-700v100h500v700zM0 600v100h200v500h200v-600h-400z" />
<glyph unicode="&#x255e;" d="M500 1200v-500h300v-100h-300v-100h300v-100h-300v-800h-200v1600h200z" />
<glyph unicode="&#x255f;" d="M500 1200h200v-700h100v-100h-100v-800h-200v1600zM400 -400h-200v1600h200v-1600z" />
<glyph unicode="&#x2560;" d="M800 500v-100h-100v-800h-200v900h300zM800 700v-100h-300v600h200v-500h100zM200 -400v1600h200v-1600h-200z" />
<glyph unicode="&#x2561;" d="M500 1200v-1600h-200v800h-300v100h300v100h-300v100h300v500h200z" />
<glyph unicode="&#x2562;" d="M500 1200h200v-1600h-200v1600zM0 400v100h200v700h200v-1600h-200v800h-200z" />
<glyph unicode="&#x2563;" d="M0 400v100h400v-900h-200v800h-200zM0 600v100h200v500h200v-600h-400zM500 1200h200v-1600h-200v1600z" />
<glyph unicode="&#x2564;" d="M0 400v100h800v-100h-300v-800h-200v800h-300zM0 600v100h800v-100h-800z" />
<glyph unicode="&#x2565;" d="M0 400v100h800v-100h-100v-800h-200v800h-100v-800h-200v800h-200z" />
<glyph unicode="&#x2566;" d="M0 400v100h400v-900h-200v800h-200zM800 500v-100h-100v-800h-200v900h300zM0 600v100h800v-100h-800z" />
<glyph unicode="&#x2567;" d="M500 1200v-500h300v-100h-800v100h300v500h200zM0 400v100h800v-100h-800z" />
<glyph unicode="&#x2568;" d="M500 1200h200v-700h100v-100h-800v100h200v700h200v-700h100v700z" />
<glyph unicode="&#x2569;" d="M0 400v100h800v-100h-800zM0 600v100h200v500h200v-600h-400zM800 700v-100h-300v600h200v-500h100z" />
<glyph unicode="&#x256a;" d="M0 400v100h300v100h-300v100h300v500h200v-500h300v-100h-300v-100h300v-100h-300v-800h-200v800h-300z" />
<glyph unicode="&#x256b;" d="M0 400v100h200v700h200v-700h100v700h200v-700h100v-100h-100v-800h-200v800h-100v-800h-200v800h-200z" />
<glyph unicode="&#x256c;" d="M0 400v100h400v-900h-200v800h-200zM800 500v-100h-100v-800h-200v900h300zM0 600v100h200v500h200v-600h-400zM800 700v-100h-300v600h200v-500h100z" />
<glyph unicode="&#x2580;" d="M0 500v700h800v-700h-800z" />
<glyph unicode="&#x2581;" d="M0 -100h800v-200h-800v200z" />
<glyph unicode="&#x2584;" d="M0 500h800v-900h-800v900z" />
<glyph unicode="&#x2588;" d="M0 -400v1600h800v-1600h-800z" />
<glyph unicode="&#x258c;" d="M0 -400v1600h400v-1600h-400z" />
<glyph unicode="&#x2590;" d="M400 -400v1600h400v-1600h-400z" />
<glyph unicode="&#x2591;" d="M800 200v-100h-100v100h100zM800 0v-100h-100v100h100zM800 -200v-100h-100v100h100zM800 500h-100v100h100v-100zM800 400v-100h-100v100h100zM800 700h-100v100h100v-100zM800 1000v-100h-100v100h100zM800 1200v-100h-100v100h100zM300 1100v100h100v-100h-100z M300 100v100h100v-100h-100zM300 -100v100h100v-100h-100zM300 -200h100v-100h-100v100zM300 500v100h100v-100h-100zM300 300v100h100v-100h-100zM300 700v100h100v-100h-100zM300 900v100h100v-100h-100zM600 200h-100v100h100v-100zM600 100v-100h-100v100h100zM600 -100 v-100h-100v100h100zM600 500v-100h-100v100h100zM600 -300v-100h-100v100h100zM600 700v-100h-100v100h100zM600 1000h-100v100h100v-100zM600 900v-100h-100v100h100zM100 1100h100v-100h-100v100zM100 200v100h100v-100h-100zM100 0v100h100v-100h-100zM100 -200v100h100 v-100h-100zM100 400v100h100v-100h-100zM100 -400v100h100v-100h-100zM100 600v100h100v-100h-100zM100 800v100h100v-100h-100z" />
<glyph unicode="&#x2592;" d="M0 200v100h100v-100h-100zM0 0v100h100v-100h-100zM0 -200v100h100v-100h-100zM0 400v100h100v-100h-100zM0 -400v100h100v-100h-100zM0 600v100h100v-100h-100zM0 1000v100h100v-100h-100zM0 800v100h100v-100h-100zM800 200v-100h-100v100h100zM800 0v-100h-100v100 h100zM800 -200v-100h-100v100h100zM800 500h-100v100h100v-100zM800 400v-100h-100v100h100zM800 700h-100v100h100v-100zM800 1000v-100h-100v100h100zM800 1200v-100h-100v100h100zM300 1100v100h100v-100h-100zM300 200h100v-100h-100v100zM300 100v-100h-100v100h100z M300 0h100v-100h-100v100zM300 -100v-100h-100v100h100zM300 -200h100v-100h-100v100zM300 500v-100h-100v100h100zM300 400h100v-100h-100v100zM300 300v-100h-100v100h100zM300 -300v-100h-100v100h100zM300 700v-100h-100v100h100zM300 600h100v-100h-100v100zM300 1000 h100v-100h-100v100zM300 900v-100h-100v100h100zM300 800h100v-100h-100v100zM600 200v-100h-100v100h100zM600 100h100v-100h-100v100zM600 0v-100h-100v100h100zM600 -100h100v-100h-100v100zM600 -200v-100h-100v100h100zM600 500h-100v100h100v-100zM600 400v100h100 v-100h-100zM600 300h-100v100h100v-100zM600 -300h100v-100h-100v100zM600 700h-100v100h100v-100zM600 600v100h100v-100h-100zM600 1000v-100h-100v100h100zM600 900h100v-100h-100v100zM600 1200v-100h-100v100h100zM600 1100h100v-100h-100v100zM100 1100v100h100v-100 h-100zM100 200h100v-100h-100v100zM100 0h100v-100h-100v100zM100 -200h100v-100h-100v100zM100 500v100h100v-100h-100zM100 400h100v-100h-100v100zM100 700v100h100v-100h-100zM100 1000h100v-100h-100v100zM400 200v100h100v-100h-100zM400 100h100v-100h-100v100z M400 -100h100v-100h-100v100zM400 500h100v-100h-100v100zM400 -300h100v-100h-100v100zM400 700h100v-100h-100v100zM400 1000v100h100v-100h-100zM400 900h100v-100h-100v100zM700 200h-100v100h100v-100zM200 1000v100h100v-100h-100z" />
<glyph unicode="&#x2593;" d="M0 100v100h100v100h-100v100h100v100h-100v100h100v100h-100v100h100v100h-100v100h100v100h-100v100h200v-100h100v100h300v-100h100v100h100v-1600h-300v100h-100v-100h-300v100h-100v100h100v100h-100v100h100v100h-100zM300 200h-100v-100h100v100zM300 0h-100v-100 h100v100zM300 -200h-100v-100h100v100zM300 500v100h-100v-100h100zM300 400h-100v-100h100v100zM300 700v100h-100v-100h100zM300 1000h-100v-100h100v100zM600 200v-100h100v100h-100zM600 0v-100h100v100h-100zM600 -200v-100h100v100h-100zM600 500h100v100h-100v-100z M600 400v-100h100v100h-100zM600 700h100v100h-100v-100zM600 1000v-100h100v100h-100zM400 200h100v100h-100v-100zM400 100v-100h100v100h-100zM400 -100v-100h100v100h-100zM400 500v-100h100v100h-100zM400 700v-100h100v100h-100zM400 1000h100v100h-100v-100zM400 900 v-100h100v100h-100z" />
<glyph unicode="&#x25a0;" d="M100 100v700h500v-700h-500z" />
<glyph unicode="&#x25a1;" d="M100 100v700h600v-700h-600zM500 200v500h-200v-500h200z" />
<glyph unicode="&#x25aa;" d="M100 200v400h500v-400h-500z" />
<glyph unicode="&#x25ab;" d="M400 500h-100v-200h100v200zM100 200v400h500v-400h-500z" />
<glyph unicode="&#x25ac;" d="M0 0v400h700v-400h-700z" />
<glyph unicode="&#x25b2;" d="M0 100v200h100v200h100v200h100v100h100v-100h100v-200h100v-200h100v-200h-700z" />
<glyph unicode="&#x25ba;" d="M0 0v1100h100v-100h100v-100h100v-100h100v-100h100v-100h200v-100h-200v-100h-100v-100h-100v-100h-100v-100h-100v-100h-100z" />
<glyph unicode="&#x25bc;" d="M0 600v200h700v-200h-100v-200h-100v-200h-100v-100h-100v100h-100v200h-100v200h-100z" />
<glyph unicode="&#x25c4;" d="M0 500v100h200v100h100v100h100v100h100v100h100v100h100v-1100h-100v100h-100v100h-100v100h-100v100h-100v100h-200z" />
<glyph unicode="&#x25ca;" d="M0 400v100h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-100h-100v-100h-100v-100h-100v-100h-100v100h-100v100h-100v100h-100zM200 500v-100h100v-100h100v100h100v100h-100v100h-100v-100h-100z" />
<glyph unicode="&#x25cb;" d="M100 200v400h100v100h400v-100h100v-400h-100v-100h-400v100h-100zM200 300h100v-100h200v100h100v200h-100v100h-200v-100h-100v-200z" />
<glyph unicode="&#x25cf;" d="M100 200v400h100v100h400v-100h100v-400h-100v-100h-400v100h-100z" />
<glyph unicode="&#x25d8;" d="M0 -400v1600h800v-1600h-800zM200 300h100v-100h200v100h100v200h-100v100h-200v-100h-100v-200z" />
<glyph unicode="&#x25d9;" d="M0 -400v1600h800v-1600h-800zM200 200v-100h400v100h100v400h-100v100h-400v-100h-100v-400h100zM200 500h100v100h200v-100h100v-200h-100v-100h-200v100h-100v200z" />
<glyph unicode="&#x25e6;" d="M100 500h100v100h300v-100h100v-200h-100v-100h-300v100h-100v200zM300 300h100v200h-100v-200z" />
<glyph unicode="&#x25fc;" horiz-adv-x="700" d="M0 700h700v-700h-700v700z" />
<glyph unicode="&#x263a;" d="M0 100v800h100v-800h-100zM200 400v100h400v-100h-100v-100h-200v100h-100zM200 700v100h100v-100h-100zM600 700h-100v100h100v-100zM800 100h-100v800h100v-800zM100 100h600v-100h-600v100zM100 900v100h600v-100h-600z" />
<glyph unicode="&#x263b;" d="M0 100v800h100v100h600v-100h100v-800h-100v-100h-600v100h-100zM200 500v-100h100v-100h200v100h100v100h-400zM200 700h100v100h-100v-100zM600 700v100h-100v-100h100z" />
<glyph unicode="&#x263c;" d="M0 200v100h200v-100h-200zM0 400v100h200v100h100v300h200v-300h100v-100h200v-100h-200v-100h-100v-300h-200v300h-100v100h-200zM0 600v100h200v-100h-200zM600 200v100h200v-100h-200zM600 600v100h200v-100h-200zM300 500v-100h200v100h-200z" />
<glyph unicode="&#x2640;" d="M200 500h-100v400h100v100h400v-100h100v-400h-100v-100h-100v-100h200v-100h-200v-200h-200v200h-200v100h200v100h-100v100zM300 500h200v400h-200v-400z" />
<glyph unicode="&#x2642;" d="M0 100v400h100v100h100v100h100v100h100v100h-100v100h400v-400h-100v200h-100v-100h-100v-100h100v-100h100v-400h-100v-100h-400v100h-100zM200 100h200v400h-200v-400z" />
<glyph unicode="&#x2660;" d="M0 400v200h100v100h100v100h100v100h200v-100h100v-100h100v-100h100v-200h-100v-100h-200v-200h100v-100h-400v100h100v200h-200v100h-100z" />
<glyph unicode="&#x2663;" d="M0 300v300h200v200h100v100h200v-100h100v-200h200v-300h-300v300h-200v-300h-300zM200 0v100h100v200h200v-200h100v-100h-400z" />
<glyph unicode="&#x2665;" d="M0 300v400h100v100h200v-100h100v100h200v-100h100v-400h-100v-100h-100v-100h-100v-100h-100v100h-100v100h-100v100h-100z" />
<glyph unicode="&#x2666;" d="M0 400v100h100v100h100v100h100v100h100v-100h100v-100h100v-100h100v-100h-100v-100h-100v-100h-100v-100h-100v100h-100v100h-100v100h-100z" />
<glyph unicode="&#x266a;" d="M0 200h100v100h100v700h600v-300h-400v-600h-100v-100h-300v200zM400 900v-100h200v100h-200z" />
<glyph unicode="&#x266b;" d="M0 200h100v800h700v-900h-100v-100h-200v300h100v400h-300v-700h-100v-100h-200v300zM300 900v-100h300v100h-300z" />
<glyph unicode="&#x2713;" d="M0 200v200h100v-100h100v-100h100v200h100v400h100v300h200v-300h-100v-400h-100v-300h-100v-100h-200v100h-100v100h-100z" />
<glyph unicode="&#xfb01;" d="M0 0v100h100v400h-100v100h100v300h100v100h500v-200h-200v100h-200v-300h400v-500h100v-100h-300v500h-200v-400h100v-100h-400z" />
<glyph unicode="&#xfb02;" d="M0 0v100h100v400h-100v100h100v300h100v100h500v-900h100v-100h-300v900h-200v-300h100v-100h-100v-400h100v-100h-400z" />
<glyph unicode="&#xfffd;" d="M0 -400v1100h200v200h300v-200h-100v-100h-100v-300h200v300h100v100h100v200h-100v100h-500v-100h-100v300h800v-1600h-800zM300 200v-200h200v200h-200z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,16 +0,0 @@
<!doctype html><html lang=fr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="404 Page not found"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="http://toasters.rocks/fr/404.html"><meta name=twitter:card content="summary"><meta name=twitter:title content="404 Page not found"><meta name=twitter:description content><meta name=theme-color content="#660066"><title>404 Page not found - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/fr/><i class="fas fa-home"></i>
Accueil</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
À propos</a><br><a href=/><i class="fas fa-globe"></i>
English</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article style=text-align:center><h1 style=font-size:12em>404</h1><p>That's a 404 in a pretty big font.</p></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,16 +0,0 @@
<!doctype html><html lang=fr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><link rel=alternate type=application/rss+xml href=http://toasters.rocks/fr/categories/index.xml title="toasters rocks"><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Categories"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="http://toasters.rocks/fr/categories/"><meta name=twitter:card content="summary"><meta name=twitter:title content="Categories"><meta name=twitter:description content><meta name=theme-color content="#660066"><title>Categories - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/fr/><i class="fas fa-home"></i>
Accueil</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
À propos</a><br><a href=/><i class="fas fa-globe"></i>
English</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><h2>Categories</h2></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Categories on toasters rocks</title><link>http://toasters.rocks/fr/categories/</link><description>Recent content in Categories on toasters rocks</description><generator>Hugo -- gohugo.io</generator><copyright>Copyright © 2020 J.P. Savard</copyright><atom:link href="http://toasters.rocks/fr/categories/index.xml" rel="self" type="application/rss+xml"/></channel></rss>

View File

@ -1 +0,0 @@
<!doctype html><html lang=fr><head><title>http://toasters.rocks/fr/categories/</title><link rel=canonical href=http://toasters.rocks/fr/categories/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=http://toasters.rocks/fr/categories/"></head></html>

View File

@ -1,32 +0,0 @@
<!doctype html><html lang=fr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><link rel=alternate type=application/rss+xml href=http://toasters.rocks/fr/index.xml title="toasters rocks"><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Bienvenue."><meta property="og:description" content="Toasters Rocks: J.P.'s stupid random crap"><meta property="og:type" content="website"><meta property="og:url" content="http://toasters.rocks/fr/"><meta property="og:image" content="http://toasters.rocks/img/bg.png"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="http://toasters.rocks/img/bg.png"><meta name=twitter:title content="Bienvenue."><meta name=twitter:description content="Toasters Rocks: J.P.'s stupid random crap"><meta name=theme-color content="#660066"><title>Bienvenue. - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/fr/><i class="fas fa-home"></i>
Accueil</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
À propos</a><br><a href=/><i class="fas fa-globe"></i>
English</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><h2>Bienvenue.</h2><p>Oh. Je t&rsquo;ai pas vu ici. Mon nom est J. P. Savard - mais tu peux m&rsquo;appeler Yuki - et bienvenue dans ma demeure. Ceci est un répertoire de choses idiotes, de poésie, de diatribes, d&rsquo;idées et d&rsquo;expériences que j&rsquo;ai faites pendant mon temps libre, j&rsquo;espère que vous les aimerez et que les informations vous seront utiles.</p><p>Ci-bas sont les dragons, amusez-vous.</p></article><article style=background-image:url(/images/2020/01/image.png)><div class=metadata style="height:calc((var(--height) - 2em) * .5620805369127517 - 3.5em)"><h2><a class=title href=/fr/yuki/>Yuki</a></h2><p>Lettre d'amour à la neige.</p><i class="far fa-calendar-alt"></i>
<time datetime=2020-01-15>January 15, 2020</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/random>Random</a><br><i class="fas fa-hourglass"></i> ~1 minute</div><p>Yuki (雪). Ça veut dire neige en japonais.
C&rsquo;est le soir, il neige à gros flocons, il vente pas trop, pas trop froid, c&rsquo;est poudreux dans les petites rues du quartier Saint-Sauveur. Le déneigeur a pas encore eu le temps de passer, faut presque passer en raquette pour espérer avancer. C&rsquo;est pas super sécuritaire sur les routes, mais il y a quand même quelque chose de magique. La neige qui réfléchit sous les lampadaires.</p><p><a href=/fr/yuki/>Lire la suite...</a></p></article><article><div><h2><a class=title href=/fr/mathieu-bot-cote/>Mathieu Bock-Côté Simulator 2020</a></h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2019-12-24>December 24, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/experiments>Experiments</a><br><i class="fas fa-hourglass"></i> ~2 minutes</div><p>Mathieu Bock-Côté est l&rsquo;un de ces chroniqueurs reconnu pour ses pavés qu&rsquo;on retrouve presque quotidiennement dans le Journal de Montréal, donc je me suis dit qu&rsquo;il serait un sujet parfait pour entraîner une intelligence artificielle sur ses textes. Donc si vous avez toujours rêvé de lui poser une question, ou lui suggérer un sujet, vous pouvez le faire ci-dessous avec un Bock-Côté virtuel! Ou sinon vous pouvez juste cliquer sur le bouton et il va quand même émettre un bout de chronique.</p><p><a href=/fr/mathieu-bot-cote/>Lire la suite...</a></p></article><article style=background-image:url(/images/2019/12/photo-1515853191710-4db39aa5fe54.jpg)><div class=metadata style="height:calc((var(--height) - 2em) * .6445 - 3.5em)"><h2><a class=title href=/fr/machine-de-la-mort/>Machine de la mort</a></h2><p>Aujourd'hui, je suis un peu gore. TL: mort. Comme dit le titre. C'est pas kid-friendly.</p><i class="far fa-calendar-alt"></i>
<time datetime=2019-12-01>December 1, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/writing>Writing</a><br><i class="fas fa-hourglass"></i> ~3 minutes</div><p>C&rsquo;était Halloween le mois passé et j&rsquo;ai demandé à mes amis Facebook de me donner un mot et je leur écris une fic Machine of Death style. Y&rsquo;a une personne qui a participé, alors, voilà. Je devrais en faire d&rsquo;autres.
Temps Ce n&rsquo;est pas dans l&rsquo;habitude de la Machine de la mort de donner une réponse aussi vague. Le temps. Ça peut être n&rsquo;importe quoi. Mort de vieilesse? Par une horloge?</p><p><a href=/fr/machine-de-la-mort/>Lire la suite...</a></p></article><article><div><h2><a class=title href=/fr/nouvelle-bande-annonce/>Nouvelle bande-annonce</a></h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2019-11-23>November 23, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/zarmina>Zarmina</a><br><i class="fas fa-globe"></i>
<a href=http://toasters.rocks/trailer-is-out/>English</a><br><i class="fas fa-hourglass"></i> ~1 minute</div><p>Cet article a originellement été publié sur Itch.io.
Nouvelle bande-annonce pour le projet, c&rsquo;est pas le jeu complet mais j&rsquo;espère que vous aimez :) Entièrement réalisé avec Ren&rsquo;Py parce que de un, ça va servir comme intro au jeu, et de deux, y&rsquo;avait aucun logiciel de montage vidéo qui marchait convenablement sur mon ordi&mldr; Vous pouvez le voir directement sur la page du jeu, sinon si ça bug je l&rsquo;ai enregistré sur YouTube.</p><p><a href=/fr/nouvelle-bande-annonce/>Lire la suite...</a></p></article><article><div><h2><a class=title href=/fr/zarmina-3-0-reecriture/>Zarmina 3.0: réécriture (encore).</a></h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2019-10-28>October 28, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/zarmina>Zarmina</a><br><i class="fas fa-globe"></i>
<a href=http://toasters.rocks/zarmina-3-0-rewrite-again/>English</a><br><i class="fas fa-hourglass"></i> ~3 minutes</div><p>Cet article a originellement été publié surPatreon.
Et c&rsquo;est à ce point que j&rsquo;ai perdu ma motivation. Encore une fois. Je n&rsquo;ai rien écrit depuis l&rsquo;hiver passé, parce que, vous voyez, je me suis rendu compte que ça n&rsquo;allait nulle part sous sa forme actuelle. Syndrome de la page blanche. Petite panique. C&rsquo;est pas la vision du projet que j&rsquo;avais. Je ne peux pas faire ça tout seul, pas de financement.</p><p><a href=/fr/zarmina-3-0-reecriture/>Lire la suite...</a></p></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bienvenue. on toasters rocks</title><link>http://toasters.rocks/fr/</link><description>Recent content in Bienvenue. on toasters rocks</description><generator>Hugo -- gohugo.io</generator><copyright>Copyright © 2020 J.P. Savard</copyright><lastBuildDate>Wed, 15 Jan 2020 04:43:03 +0000</lastBuildDate><atom:link href="http://toasters.rocks/fr/index.xml" rel="self" type="application/rss+xml"/><item><title>Yuki</title><link>http://toasters.rocks/fr/yuki/</link><pubDate>Wed, 15 Jan 2020 04:43:03 +0000</pubDate><guid>http://toasters.rocks/fr/yuki/</guid><description>Yuki (雪). Ça veut dire neige en japonais.
C&amp;rsquo;est le soir, il neige à gros flocons, il vente pas trop, pas trop froid, c&amp;rsquo;est poudreux dans les petites rues du quartier Saint-Sauveur. Le déneigeur a pas encore eu le temps de passer, faut presque passer en raquette pour espérer avancer. C&amp;rsquo;est pas super sécuritaire sur les routes, mais il y a quand même quelque chose de magique. La neige qui réfléchit sous les lampadaires.</description></item><item><title>Mathieu Bock-Côté Simulator 2020</title><link>http://toasters.rocks/fr/mathieu-bot-cote/</link><pubDate>Tue, 24 Dec 2019 04:05:50 +0000</pubDate><guid>http://toasters.rocks/fr/mathieu-bot-cote/</guid><description>Mathieu Bock-Côté est l&amp;rsquo;un de ces chroniqueurs reconnu pour ses pavés qu&amp;rsquo;on retrouve presque quotidiennement dans le Journal de Montréal, donc je me suis dit qu&amp;rsquo;il serait un sujet parfait pour entraîner une intelligence artificielle sur ses textes. Donc si vous avez toujours rêvé de lui poser une question, ou lui suggérer un sujet, vous pouvez le faire ci-dessous avec un Bock-Côté virtuel! Ou sinon vous pouvez juste cliquer sur le bouton et il va quand même émettre un bout de chronique.</description></item><item><title>Machine de la mort</title><link>http://toasters.rocks/fr/machine-de-la-mort/</link><pubDate>Sun, 01 Dec 2019 00:15:00 +0000</pubDate><guid>http://toasters.rocks/fr/machine-de-la-mort/</guid><description>C&amp;rsquo;était Halloween le mois passé et j&amp;rsquo;ai demandé à mes amis Facebook de me donner un mot et je leur écris une fic Machine of Death style. Y&amp;rsquo;a une personne qui a participé, alors, voilà. Je devrais en faire d&amp;rsquo;autres.
Temps Ce n&amp;rsquo;est pas dans l&amp;rsquo;habitude de la Machine de la mort de donner une réponse aussi vague. Le temps. Ça peut être n&amp;rsquo;importe quoi. Mort de vieilesse? Par une horloge?</description></item><item><title>Nouvelle bande-annonce</title><link>http://toasters.rocks/fr/nouvelle-bande-annonce/</link><pubDate>Sat, 23 Nov 2019 06:36:00 +0000</pubDate><guid>http://toasters.rocks/fr/nouvelle-bande-annonce/</guid><description>Cet article a originellement été publié sur Itch.io.
Nouvelle bande-annonce pour le projet, c&amp;rsquo;est pas le jeu complet mais j&amp;rsquo;espère que vous aimez :) Entièrement réalisé avec Ren&amp;rsquo;Py parce que de un, ça va servir comme intro au jeu, et de deux, y&amp;rsquo;avait aucun logiciel de montage vidéo qui marchait convenablement sur mon ordi&amp;hellip; Vous pouvez le voir directement sur la page du jeu, sinon si ça bug je l&amp;rsquo;ai enregistré sur YouTube.</description></item><item><title>Zarmina 3.0: réécriture (encore).</title><link>http://toasters.rocks/fr/zarmina-3-0-reecriture/</link><pubDate>Mon, 28 Oct 2019 22:34:00 +0000</pubDate><guid>http://toasters.rocks/fr/zarmina-3-0-reecriture/</guid><description>Cet article a originellement été publié surPatreon.
Et c&amp;rsquo;est à ce point que j&amp;rsquo;ai perdu ma motivation. Encore une fois. Je n&amp;rsquo;ai rien écrit depuis l&amp;rsquo;hiver passé, parce que, vous voyez, je me suis rendu compte que ça n&amp;rsquo;allait nulle part sous sa forme actuelle. Syndrome de la page blanche. Petite panique. C&amp;rsquo;est pas la vision du projet que j&amp;rsquo;avais. Je ne peux pas faire ça tout seul, pas de financement.</description></item></channel></rss>

View File

@ -1,18 +0,0 @@
<!doctype html><html lang=fr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Machine de la mort"><meta property="og:description" content="Aujourd'hui, je suis un peu gore. TL: mort. Comme dit le titre. C'est pas kid-friendly."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/fr/machine-de-la-mort/"><meta property="og:image" content="http://toasters.rocks/images/2019/12/photo-1515853191710-4db39aa5fe54.jpg"><meta property="article:section" content><meta property="article:published_time" content="2019-12-01T00:15:00+00:00"><meta property="article:modified_time" content="2019-12-01T00:15:17+00:00"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="http://toasters.rocks/images/2019/12/photo-1515853191710-4db39aa5fe54.jpg"><meta name=twitter:title content="Machine de la mort"><meta name=twitter:description content="Aujourd'hui, je suis un peu gore. TL: mort. Comme dit le titre. C'est pas kid-friendly."><meta name=theme-color content="#660066"><title>Machine de la mort - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/fr/><i class="fas fa-home"></i>
Accueil</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
À propos</a><br><a href=/><i class="fas fa-globe"></i>
English</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article style=background-image:url(/images/2019/12/photo-1515853191710-4db39aa5fe54.jpg)><div class=metadata style="height:calc((var(--height) - 2em) * .6445 - 3.5em)"><h2 name=top>Machine de la mort</h2><p>Aujourd'hui, je suis un peu gore. TL: mort. Comme dit le titre. C'est pas kid-friendly.</p><i class="far fa-calendar-alt"></i>
<time datetime=2019-12-01>December 1, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/writing>Writing</a><br><i class="fas fa-hourglass"></i> ~3 minutes</div><p>C&rsquo;était Halloween le mois passé et j&rsquo;ai demandé à mes amis Facebook de me donner un mot et je leur écris une fic <a href=https://en.wikipedia.org/wiki/Machine_of_Death>Machine of Death</a> style. Y&rsquo;a une personne qui a participé, alors, voilà. Je devrais en faire d&rsquo;autres.</p><h2 id=temps>Temps</h2><blockquote><p>Ce n&rsquo;est pas dans l&rsquo;habitude de la Machine de la mort de donner une réponse aussi vague. Le temps. Ça peut être n&rsquo;importe quoi. Mort de vieilesse? Par une horloge? Tu préfères ne pas trop y penser. Ton ami s&rsquo;en vient te chercher avec sa nouvelle voiture.</p></blockquote><blockquote><p>T&rsquo;es en route avec lui. Tu remarques un fil qui pend sur le dash. &ldquo;Coudonc, c&rsquo;est quoi ça?&rdquo; tu demandes à ton ami. &ldquo;Ouais, j&rsquo;ai pas fini le dash, touches-y pas&mldr;&rdquo; Trop tard. Tu l&rsquo;accroches accidentellement et tu t&rsquo;électrocutes sur du 120V. C&rsquo;était pas trop safe. Ton ami t&rsquo;emmène à l&rsquo;hôpital, mais trop tard, tu meurs dû à une condition préexistante que t&rsquo;as pas eu le temps d&rsquo;aller regarder. Le choc électrique n&rsquo;a certainement pas aidé.</p></blockquote><blockquote><p>Parce que, tu vois, c&rsquo;était le fil pour une horloge. L&rsquo;horloge dans une reproduction de la DeLorean dans Back to the Future. Tu es mort dans une machine à voyager dans le temps.</p></blockquote><h2 id=bonus-fursuit>Bonus: Fursuit</h2><blockquote><p>Depuis que tu as ce fursuit, tu est devenu vraiment populaire, comme on dit dans le jargon, un popufur, parce que tséin, ça prend un fursuit pour être populaire, non? Tu as également réussi à capitaliser là-dessus avec une chaîne YouTube de vlogs et tu t&rsquo;es bâti tout un empire médiatique autour de ce fursuit.</p></blockquote><blockquote><p>Ce jour-là, tes suiveux te suggèrent d&rsquo;essayer cette nouvelle &ldquo;machine de la mort&rdquo; qui vient de sortir dans ton quartier, et bien sûr, tu l&rsquo;essaies parce que, pourquoi pas? Qu&rsquo;est-ce qui pourrait mal tourner? C&rsquo;est pas comme si ça pourrait affecter ta carrière, non?</p></blockquote><blockquote><p>Tu insères le dollar dans la machine. On t&rsquo;assure que la machine ne se trompe jamais. Une carte sort de la machine. Elle dit&mldr; Fursuit.</p></blockquote><blockquote><p>Tu vas mourir dans ton fursuit, ou un truc du genre. Cool. Probablement comment un furry voudrait mourir, asphyxié par un fursuit. Ou pas&mldr; Et si tu mourrais demain à cause de ça? Tu préfères ne pas prendre de chances.</p></blockquote><blockquote><p>Tu arrêtes ton vlog, tu vends ton fursuit, ta communauté le digère mal. Ça prend pas longtemps qu&rsquo;on t&rsquo;envoie des messages de haine, des menaces de mort. On trouve ton adresse. Rien ne va plus.</p></blockquote><blockquote><p>Un illuminé en fursuit entre par effraction chez toi, tu appelles la police. Trop tard, il a sorti les grosses armes. Tu meurs assassiné chez toi par&mldr; un fursuit.</p></blockquote><p>Si vous avez aimé ça, <a href=/signup/>abonnez-vous gratuitement</a> pour avoir toutes les mises à jour par email, laissez un commentaire ci-dessous avec d&rsquo;autres thèmes et je risque d&rsquo;en faire d&rsquo;autres si ça m&rsquo;inspire :)</p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/fr/nouvelle-bande-annonce/>« Nouvelle bande-annonce</a></li><li class=page-item><a class=next href=http://toasters.rocks/fr/mathieu-bot-cote/>Mathieu Bock-Côté Simulator 2020 »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,20 +0,0 @@
<!doctype html><html lang=fr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Mathieu Bock-Côté Simulator 2020"><meta property="og:description" content="Mathieu Bock-Côté est l&rsquo;un de ces chroniqueurs reconnu pour ses pavés qu&rsquo;on retrouve presque quotidiennement dans le Journal de Montréal, donc je me suis dit qu&rsquo;il serait un sujet parfait pour entraîner une intelligence artificielle sur ses textes. Donc si vous avez toujours rêvé de lui poser une question, ou lui suggérer un sujet, vous pouvez le faire ci-dessous avec un Bock-Côté virtuel! Ou sinon vous pouvez juste cliquer sur le bouton et il va quand même émettre un bout de chronique."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/fr/mathieu-bot-cote/"><meta property="article:section" content><meta property="article:published_time" content="2019-12-24T04:05:50+00:00"><meta property="article:modified_time" content="2019-12-24T05:32:20+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="Mathieu Bock-Côté Simulator 2020"><meta name=twitter:description content="Mathieu Bock-Côté est l&rsquo;un de ces chroniqueurs reconnu pour ses pavés qu&rsquo;on retrouve presque quotidiennement dans le Journal de Montréal, donc je me suis dit qu&rsquo;il serait un sujet parfait pour entraîner une intelligence artificielle sur ses textes. Donc si vous avez toujours rêvé de lui poser une question, ou lui suggérer un sujet, vous pouvez le faire ci-dessous avec un Bock-Côté virtuel! Ou sinon vous pouvez juste cliquer sur le bouton et il va quand même émettre un bout de chronique."><meta name=theme-color content="#660066"><title>Mathieu Bock-Côté Simulator 2020 - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/fr/><i class="fas fa-home"></i>
Accueil</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
À propos</a><br><a href=/><i class="fas fa-globe"></i>
English</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><div><h2 name=top>Mathieu Bock-Côté Simulator 2020</h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2019-12-24>December 24, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/experiments>Experiments</a><br><i class="fas fa-hourglass"></i> ~2 minutes</div><p>Mathieu Bock-Côté est l&rsquo;un de ces chroniqueurs reconnu pour ses pavés qu&rsquo;on retrouve presque quotidiennement dans le <em>Journal de Montréal</em>, donc je me suis dit qu&rsquo;il serait un sujet parfait pour entraîner une intelligence artificielle sur ses textes. Donc si vous avez toujours rêvé de lui poser une question, ou lui suggérer un sujet, vous pouvez le faire ci-dessous avec un Bock-Côté virtuel! Ou sinon vous pouvez juste cliquer sur le bouton et il va quand même émettre un bout de chronique.</p><p><textarea id=bot-query style=width:100% placeholder="Posez une question ou mettez un sujet (optionnel)" maxlength=280></textarea></p><p style=text-align:center><button id=bot-generate>Générer une chronique</button></p><div id=bot-generated-text><em>Le générateur n'est pas disponible pour l'instant. Il est probablement parti acheter des cigarettes au dépanneur.</em></div><hr><p>Disclaimer: Ce générateur ne reflète pas nécessairement l&rsquo;opinion émise par le vrai Mathieu Bock-Côté ou le <em>Journal de Montréal.</em> Je compte sur vous pour ne pas en abuser (genre, copiez pas le texte généré en disant que c&rsquo;est le vrai, ça se fait pas, ou n&rsquo;envoyez-moi pas un DDoS, ça coûte cher de Google Cloud), et si vous êtes le susmentionné Bock-Côté ou le <em>Journal</em> et vous n&rsquo;aimez pas ça, on peut toujours s&rsquo;en parler :)</p><p>Et si vous vous demandez comment ça marche, il y a <a href=https://minimaxir.com/2019/09/howto-gpt2/>ce billet ici</a> qui explique comment ça marche. J&rsquo;ai suivi le tutorial avec un corpus de texte que j&rsquo;ai pompé sur le site du Journal de Montréal, je l&rsquo;ai entraîné durant 6 heures sur le petit modèle 124M, j&rsquo;ai uploadé ça sur Google Cloud, écrit un petit script pour interagir avec le tout et voilà! Le modèle GPT-2 original utilisé ci-dessus a été conçu et entraîné en anglais, mais je trouve qu&rsquo;il s&rsquo;en sort pas trop mal en français. Je risque d&rsquo;en faire un autre avec Richard Martineau, si vous avez aimé. Sur ce, <a href=/signin/>suivez mon blogue</a> ou mon <a href=https://twitter.com/juju2143>Twitter</a> pour d&rsquo;autres expérimentations weird du genre, ou envoyez-moi un peu de cash sur <a href=https://patreon.com/juju2143>Patreon</a> pour pouvoir me soutenir financièrement et financer ces expérimentations qui n&rsquo;ont somme toute plus d&rsquo;allure :)</p><p>Sur ce, joyeuses fêtes!</p><script>$("#bot-generate").click(function(){$("#bot-generated-text").html("<em>Je pense... (ça peut prendre une minute ou deux)</em>"),$.ajax({url:"https://mathieubotcote-j4sh32wzea-ue.a.run.app",data:{length:500,prefix:`
`+$("#bot-query").val()}}).done(function(e){$("#bot-generated-text").html("");var t,s,n=e.text.split(`
`);console.log(n);for(t=0;t<n.length;t++)s=$("<p>").html(n[t]),$("#bot-generated-text").append(s)}).fail(function(){$("#bot-generated-text").html("<em>Le générateur n'est pas disponible pour l'instant. Il est probablement parti prendre un café.</em>")})})</script><blockquote></blockquote></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/fr/machine-de-la-mort/>« Machine de la mort</a></li><li class=page-item><a class=next href=http://toasters.rocks/fr/yuki/>Yuki »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1,21 +0,0 @@
<!doctype html><html lang=fr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Nouvelle bande-annonce"><meta property="og:description" content="Cet article a originellement été publié sur Itch.io.
Nouvelle bande-annonce pour le projet, c&rsquo;est pas le jeu complet mais j&rsquo;espère que vous aimez :) Entièrement réalisé avec Ren&rsquo;Py parce que de un, ça va servir comme intro au jeu, et de deux, y&rsquo;avait aucun logiciel de montage vidéo qui marchait convenablement sur mon ordi&mldr; Vous pouvez le voir directement sur la page du jeu, sinon si ça bug je l&rsquo;ai enregistré sur YouTube."><meta property="og:type" content="article"><meta property="og:url" content="http://toasters.rocks/fr/nouvelle-bande-annonce/"><meta property="article:section" content><meta property="article:published_time" content="2019-11-23T06:36:00+00:00"><meta property="article:modified_time" content="2019-11-26T02:10:10+00:00"><meta name=twitter:card content="summary"><meta name=twitter:title content="Nouvelle bande-annonce"><meta name=twitter:description content="Cet article a originellement été publié sur Itch.io.
Nouvelle bande-annonce pour le projet, c&rsquo;est pas le jeu complet mais j&rsquo;espère que vous aimez :) Entièrement réalisé avec Ren&rsquo;Py parce que de un, ça va servir comme intro au jeu, et de deux, y&rsquo;avait aucun logiciel de montage vidéo qui marchait convenablement sur mon ordi&mldr; Vous pouvez le voir directement sur la page du jeu, sinon si ça bug je l&rsquo;ai enregistré sur YouTube."><meta name=theme-color content="#660066"><title>Nouvelle bande-annonce - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/fr/><i class="fas fa-home"></i>
Accueil</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
À propos</a><br><a href=/><i class="fas fa-globe"></i>
English</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><div><h2 name=top>Nouvelle bande-annonce</h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2019-11-23>November 23, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/zarmina>Zarmina</a><br><i class="fas fa-globe"></i>
<a href=http://toasters.rocks/trailer-is-out/>English</a><br><i class="fas fa-hourglass"></i> ~1 minute</div><p><em>Cet article a originellement été publié sur <a href=https://juju2143.itch.io/zarmina>Itch.io</a>.</em></p><div style=position:relative;padding-bottom:56.25%;height:0;overflow:hidden><iframe src=https://www.youtube.com/embed/988PCgDoUkw style=position:absolute;top:0;left:0;width:100%;height:100%;border:0 allowfullscreen title="YouTube Video"></iframe></div><p>Nouvelle bande-annonce pour le projet, c&rsquo;est pas le jeu complet mais j&rsquo;espère que vous aimez :) Entièrement réalisé avec Ren&rsquo;Py parce que de un, ça va servir comme intro au jeu, et de deux, y&rsquo;avait aucun logiciel de montage vidéo qui marchait convenablement sur mon ordi&mldr; Vous pouvez le voir directement sur la page du jeu, sinon si ça bug je l&rsquo;ai enregistré sur YouTube.</p><p>For you English speakers, don&rsquo;t worry, there will be an English version soon. Once I figure out how the translation module works. It&rsquo;s kinda weird.</p><p>Anyway. If you liked it, please throw me some money here or on Patreon, that&rsquo;d be super appreciated. But in all, I hope you have fun!</p></article><ul class=pagination><li class=page-item><a class=previous href=http://toasters.rocks/fr/zarmina-3-0-reecriture/>« Zarmina 3.0: réécriture (encore).</a></li><li class=page-item><a class=next href=http://toasters.rocks/fr/machine-de-la-mort/>Machine de la mort »</a></li></ul><article><div id=disqus_thread></div><script type=application/javascript>window.disqus_config=function(){},function(){if(["localhost","127.0.0.1"].indexOf(window.location.hostname)!=-1){document.getElementById("disqus_thread").innerHTML="Disqus comments not available by default when the website is previewed locally.";return}var t=document,e=t.createElement("script");e.async=!0,e.src="//juju2143.disqus.com/embed.js",e.setAttribute("data-timestamp",+new Date),(t.head||t.body).appendChild(e)}()</script><noscript>Please enable JavaScript to view the <a href=https://disqus.com/?ref_noscript>comments powered by Disqus.</a></noscript><a href=https://disqus.com class=dsq-brlink>comments powered by <span class=logo-disqus>Disqus</span></a></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1 +0,0 @@
<!doctype html><html lang=fr><head><title>http://toasters.rocks/fr/</title><link rel=canonical href=http://toasters.rocks/fr/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=http://toasters.rocks/fr/"></head></html>

View File

@ -1 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>http://toasters.rocks/fr/</loc><lastmod>2020-01-15T04:47:19+00:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/"/></url><url><loc>http://toasters.rocks/fr/tags/random/</loc><lastmod>2020-01-15T04:47:19+00:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/tags/random/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/tags/random/"/></url><url><loc>http://toasters.rocks/fr/tags/</loc><lastmod>2020-01-15T04:47:19+00:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/tags/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/tags/"/></url><url><loc>http://toasters.rocks/fr/yuki/</loc><lastmod>2020-01-15T04:47:19+00:00</lastmod></url><url><loc>http://toasters.rocks/fr/tags/experiments/</loc><lastmod>2019-12-24T05:32:20+00:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/tags/experiments/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/tags/experiments/"/></url><url><loc>http://toasters.rocks/fr/mathieu-bot-cote/</loc><lastmod>2019-12-24T05:32:20+00:00</lastmod></url><url><loc>http://toasters.rocks/fr/machine-de-la-mort/</loc><lastmod>2019-12-01T00:15:17+00:00</lastmod></url><url><loc>http://toasters.rocks/fr/tags/writing/</loc><lastmod>2019-12-01T00:15:17+00:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/tags/writing/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/tags/writing/"/></url><url><loc>http://toasters.rocks/fr/nouvelle-bande-annonce/</loc><lastmod>2019-11-26T02:10:10+00:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/trailer-is-out/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/nouvelle-bande-annonce/"/></url><url><loc>http://toasters.rocks/fr/tags/zarmina/</loc><lastmod>2019-11-26T02:10:10+00:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/tags/zarmina/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/tags/zarmina/"/></url><url><loc>http://toasters.rocks/fr/zarmina-3-0-reecriture/</loc><lastmod>2019-11-26T02:02:49+00:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/zarmina-3-0-rewrite-again/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/zarmina-3-0-reecriture/"/></url><url><loc>http://toasters.rocks/fr/categories/</loc><xhtml:link rel="alternate" hreflang="en" href="http://toasters.rocks/categories/"/><xhtml:link rel="alternate" hreflang="fr" href="http://toasters.rocks/fr/categories/"/></url></urlset>

View File

@ -1,18 +0,0 @@
<!doctype html><html lang=fr><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel="shortcut icon" href=/img/icon.png type=image/png><link rel=alternate type=application/rss+xml href=http://toasters.rocks/fr/tags/experiments/index.xml title="toasters rocks"><meta name=generator content="Hugo 0.105.0"><meta property="og:title" content="Experiments"><meta property="og:description" content><meta property="og:type" content="website"><meta property="og:url" content="http://toasters.rocks/fr/tags/experiments/"><meta name=twitter:card content="summary"><meta name=twitter:title content="Experiments"><meta name=twitter:description content><meta name=theme-color content="#660066"><title>Experiments - toasters rocks</title><link rel=stylesheet href=http://toasters.rocks/css/toastersrocks.min.css></head><body><header><img src=/img/icon.png><h1>toasters rocks</h1></header><main><aside><nav><a href=/fr/><i class="fas fa-home"></i>
Accueil</a><br><a href=http://juju2143.ca/><i class="fas fa-user"></i>
À propos</a><br><a href=/><i class="fas fa-globe"></i>
English</a><br><a href=https://yukiis.moe/><i class="far fa-comment"></i>
Comics</a><br><a href=https://codewalr.us/><i class="far fa-folder-open"></i>
Forums</a><br></nav><br><nav><a title="Twitter " href=https://twitter.com/juju2143><i style=color:#4da7de class="fab fa-twitter"></i>
<span style=color:#4da7de>Twitter</span></a><br><a title="Discord " href=https://discord.gg/cuZcfcF><i style=color:#7289da class="fab fa-discord"></i>
<span style=color:#7289da>Discord</span></a><br><a title="GitHub " href=https://github.com/juju2143><i style=color:#fafafa class="fab fa-github"></i>
<span style=color:#fafafa>GitHub</span></a><br><a title="Patreon " href=https://patreon.com/juju2143><i style=color:#f96854 class="fab fa-patreon"></i>
<span style=color:#f96854>Patreon</span></a><br><a title="YouTube " href=https://youtube.com/user/julosoft><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube</span></a><br><a title="YouTube 2 " href=https://youtube.com/c/juju2143><i style=color:#e02a20 class="fab fa-youtube"></i>
<span style=color:#e02a20>YouTube 2</span></a><br><a title="Twitch " href=https://twitch.tv/juju2143><i style=color:#6441a5 class="fab fa-twitch"></i>
<span style=color:#6441a5>Twitch</span></a><br><a title="Instagram " href=https://instagram.com/j.p.savard><i style=color:#d6249f class="fab fa-instagram"></i>
<span style=color:#d6249f>Instagram</span></a><br><a title="DeviantArt " href=https://deviantart.com/juju2143><i style=color:#c5d200 class="fab fa-deviantart"></i>
<span style=color:#c5d200>DeviantArt</span></a><br><a title="SoundCloud " href=https://soundcloud.com/juju2143><i style=color:#fe3801 class="fab fa-soundcloud"></i>
<span style=color:#fe3801>SoundCloud</span></a><br></nav></aside><article><h2>Experiments</h2></article><article><div><h2><a class=title href=/fr/mathieu-bot-cote/>Mathieu Bock-Côté Simulator 2020</a></h2><p></p><i class="far fa-calendar-alt"></i>
<time datetime=2019-12-24>December 24, 2019</time><br><i class="fas fa-tags"></i>
#<a class="btn btn-sm btn-outline-dark tag-btn" href=http://toasters.rocks/tags/experiments>Experiments</a><br><i class="fas fa-hourglass"></i> ~2 minutes</div><p>Mathieu Bock-Côté est l&rsquo;un de ces chroniqueurs reconnu pour ses pavés qu&rsquo;on retrouve presque quotidiennement dans le Journal de Montréal, donc je me suis dit qu&rsquo;il serait un sujet parfait pour entraîner une intelligence artificielle sur ses textes. Donc si vous avez toujours rêvé de lui poser une question, ou lui suggérer un sujet, vous pouvez le faire ci-dessous avec un Bock-Côté virtuel! Ou sinon vous pouvez juste cliquer sur le bouton et il va quand même émettre un bout de chronique.</p><p><a href=/fr/mathieu-bot-cote/>Lire la suite...</a></p></article></main><footer>Copyright © 2020 J.P. Savard - Theme by <a href=https://github.com/juju2143/hugo-theme-toastersrocks>J. P. Savard</a> - Powered by Hugo 0.105.0</footer></body></html>

View File

@ -1 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Experiments on toasters rocks</title><link>http://toasters.rocks/fr/tags/experiments/</link><description>Recent content in Experiments on toasters rocks</description><generator>Hugo -- gohugo.io</generator><copyright>Copyright © 2020 J.P. Savard</copyright><lastBuildDate>Tue, 24 Dec 2019 04:05:50 +0000</lastBuildDate><atom:link href="http://toasters.rocks/fr/tags/experiments/index.xml" rel="self" type="application/rss+xml"/><item><title>Mathieu Bock-Côté Simulator 2020</title><link>http://toasters.rocks/fr/mathieu-bot-cote/</link><pubDate>Tue, 24 Dec 2019 04:05:50 +0000</pubDate><guid>http://toasters.rocks/fr/mathieu-bot-cote/</guid><description>Mathieu Bock-Côté est l&amp;rsquo;un de ces chroniqueurs reconnu pour ses pavés qu&amp;rsquo;on retrouve presque quotidiennement dans le Journal de Montréal, donc je me suis dit qu&amp;rsquo;il serait un sujet parfait pour entraîner une intelligence artificielle sur ses textes. Donc si vous avez toujours rêvé de lui poser une question, ou lui suggérer un sujet, vous pouvez le faire ci-dessous avec un Bock-Côté virtuel! Ou sinon vous pouvez juste cliquer sur le bouton et il va quand même émettre un bout de chronique.</description></item></channel></rss>

View File

@ -1 +0,0 @@
<!doctype html><html lang=fr><head><title>http://toasters.rocks/fr/tags/experiments/</title><link rel=canonical href=http://toasters.rocks/fr/tags/experiments/><meta name=robots content="noindex"><meta charset=utf-8><meta http-equiv=refresh content="0; url=http://toasters.rocks/fr/tags/experiments/"></head></html>

Some files were not shown because too many files have changed in this diff Show More