~evanj/evanjon.es

df41061777335ac62b7fe0b617c8ef0ca27e4b73 — Evan J 1 year, 3 months ago 41cfde1
Feat(*): Restyling.
M internal/s/tmpl/css/main.css => internal/s/tmpl/css/main.css +173 -18
@@ 1,35 1,190 @@
/* Reset CSS */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, menu, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
	display: block;
}

*[hidden] {
    display: none;
}

body {
	line-height: 1;
}

menu, ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* Custom CSS */
body { 
  font-family: 'EB Garamond', serif;
  font-size: 22px;
  line-height: 1.4;
  background-image: url("data:image/gif;base64,R0lGODlhdABuAPcAAP//////zP//mf//Zv//M///AP/M///MzP/Mmf/MZv/MM//MAP+Z//+ZzP+Zmf+ZZv+ZM/+ZAP9m//9mzP9mmf9mZv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8AZv8AM/8AAMz//8z/zMz/mcz/Zsz/M8z/AMzM/8zMzMzMmczMZszMM8zMAMyZ/8yZzMyZmcyZZsyZM8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz/8wzzMwzmcwzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wAAJn//5n/zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZzJmZmZmZZpmZM5mZAJlm/5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkzZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAGb//2b/zGb/mWb/Zmb/M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZAGZm/2ZmzGZmmWZmZmZmM2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA/2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/ZjP/MzP/ADPM/zPMzDPMmTPMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNmmTNmZjNmMzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMAzDMAmTMAZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/AADM/wDMzADMmQDMZgDMMwDMAACZ/wCZzACZmQCZZgCZMwCZAABm/wBmzABmmQBmZgBmMwBmAAAz/wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAdABuAAAI/wABCBxIsCBBEgYTKlyoECHDhxAHOoxIceHEihgPZtwo8CLHih4/RgwpkiHJkhZRglQ5kmVLlw9Pwuw402TNlDcNyqy5c2ZPlz+B5kwYVGVRo0N1JtW4VGJTp0+PopRakupHq1ef0oyqFQBWjl8zhhXbdexKrWbPNk1Lke3LtWXjckUrFy7du3bFktjLt6/fv4ADCx5MuLDhw4PB1l3qFmLjmHjzSk762GZkyoshi6zcMDPmuaAnD+Xc+fJoz6dDM0Z9kzRR1jxhx1b9mXZO10pN35btU/du37Nt/xadWnhw4sNXAz9eG3nr5b2hC5U+3Tnz5tizw7yIm6nx7V6ps/3s7l359+jW0aevvp699uTm48t/f714e6Ti8d/Xv78qWMQABijggAQmthF5UPXnX34Lngeeg+7Rp9589kk4oYURVojheLw9qOBmHXLIYIMUwrchfyU+B6GIK04VIosp1mfijDSq+GFWI+LYoos7khijhz6+lqNiQxJ5o5FHklXkgUsq2aOOSTr5I5BTwlillRpmWeOFWtp4JYon8vgklGGKGaVaZ6JZZpBdculYgXDGKeecSH7J5pZuyuilnSA2iRGC4fmpZpt56lnooVQSmqiiWDLa6J5r9plmWy+ayaekl5IZaZ2bcornop8+CqmjlnbK5JiehgomqaWqWlBAADs=");
  display: flex;
  min-height: calc(100vh - 3em);
  align-items: center;
  justify-content: center;
  padding: 0 1em 3em;
}

p { 
  white-space: pre-wrap;
}

pre code { 
  white-space: pre;
a { 
  text-decoration: none;
}

a:focus, 
a:hover {
  text-decoration: underline;
}

blockquote { 
  padding-left: 1em;
  border-left: 2px solid black;
  margin-top: 2em;
}

cite { 
  font-style: italic;
  margin-bottom: 2em;
}

cite:before { 
  content: '—';
  margin-right: 0.5em;
}

pre { 
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: white;
  font-family: monospace;
  white-space: pre;
  padding: 1em;
  border: 1px #aaa solid;
  border-radius: 2px;
  font-size: 0.75em;
}

@media (max-width: 766px) { 
  .sidebar-nav li { 
    display: inline-block;
  }
body > div { 
  width: 70ch; 
  max-width: 100%;
}

  .sidebar-nav li a:after { 
    content: ', ';
    margin-right: 0.5em;
  }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
h1 { font-size: 1.75em; margin-left: calc(1em * -6/6); }
h2 { font-size: 1.60em; margin-left: calc(1em * -5/6); }
h3 { font-size: 1.45em; margin-left: calc(1em * -4/6); }
h4 { font-size: 1.30em; margin-left: calc(1em * -3/6); }
h5 { font-size: 1.15em; margin-left: calc(1em * -2/6); }
h6 { font-size: 1.00em; margin-left: calc(1em * -1/6); }

  .sidebar-nav li:last-of-type a:after { 
    display: none;
  }
h1, h2, h3, h4, h5, h6, p, ul, ol, pre { 
  margin-top:    0.5em; 
  margin-bottom: 0.5em; 
}

  .sidebar { 
    padding: 1em 0.5em;
  }
aside ul li { 
  display: inline-block;
}

aside ul li:not(:last-of-type):after { 
  content: ' | ';
  margin: 0 0.5em;
}

main ol li,
main ul li { 
  position: relative;
  margin-bottom: 0.25em;
  padding-left: 1.0em;
}

main ol li:before,
main ul li:before { 
  content: '>';
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0em;
}

table { 
  width: 100%;
}

table td { 
  padding-top: 3em;
}

strong { 
  font-weight: bold;
}

img { 
  max-width: 100%;
  border-radius: 2px;
  overflow: hidden;
}

body.list main h1 { 
  margin-bottom: 0;
}

@media (max-width: 1000px) {
  body { font-size: 20px; }

  h1 { margin-left: 0; }
  h2 { margin-left: 0; }
  h3 { margin-left: 0; }
  h4 { margin-left: 0; }
  h5 { margin-left: 0; }
  h6 { margin-left: 0; }

  .sidebar-about h1 { 
    font-size: 3em;
  table td { 
    display: block;
    width: 100%;
    margin-top: 1em;
    padding-top: 0;
  }
}

M internal/s/tmpl/html/_aside.html => internal/s/tmpl/html/_aside.html +5 -5
@@ 1,13 1,13 @@
{{with .Aside.Must}}
<aside class="sidebar">
  <div class="container sidebar-sticky">
    <div class="sidebar-about">
<aside>
  <div>
    <div>
      <a href="/">
        <h1>{{.Val "string1"}}</h1>
      </a>
      <p class="lead">{{.Val "desc"}}</p>
      <p>{{.Val "desc"}}</p>
      <nav>
        <ul class="sidebar-nav">
        <ul>
          {{range .List "nav"}}
          {{with .Must}}
          <li><a href='{{.Val "slug"}}'>{{.Val "name"}}</a></li>

M internal/s/tmpl/html/_head.html => internal/s/tmpl/html/_head.html +1 -1
@@ 1,3 1,3 @@
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril+Fatface|PT+Sans:400,400i,700">
<link href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500;1,600;1,700;1,800&display=swap" rel="stylesheet">

M internal/s/tmpl/html/_styles.html => internal/s/tmpl/html/_styles.html +0 -3
@@ 1,6 1,3 @@
<style>
  {{ template "css/poole.css" }}
  {{ template "css/syntax.css" }}
  {{ template "css/hyde.css" }}
  {{ template "css/main.css" }}
</style>

M internal/s/tmpl/html/item.html => internal/s/tmpl/html/item.html +33 -31
@@ 9,38 9,40 @@
  <meta name=description content="{{.}}" />
  {{end}}
</head>
<body class="theme-base-0d">
  {{ template "html/_styles.html" $ }}
  {{ template "html/_aside.html" $ }}
  <main class="content container">
    <div class="post">
      <h1 id=more>{{.Val "name"}}</h1>
      {{if $.ShowDate}}
      <time>{{.Val "date" | date}}</time>
      {{end}}
      <article>{{.Val "desc" | html }}</article>
    </div>
    <table>
      <tr>
        {{with .Ref "prev"}}
        <td width="50%">
          <div>
            <a href='/{{.Must.Val "slug"}}'>Prev</a>
            <div>{{.Must.Val "name"}}</div>
          </div>
        </td>
        {{end}}
        {{with .Ref "next"}}
        <td width="50%">
          <div>
            <a href='/{{.Must.Val "slug"}}'>Next</a>
            <div>{{.Must.Val "name"}}</div>
          </div>
        </td>
<body>
  <div>
    {{ template "html/_styles.html" $ }}
    {{ template "html/_aside.html" $ }}
    <main>
      <div>
        <h1 id=more>{{.Val "name"}}</h1>
        {{if $.ShowDate}}
        <time>{{.Val "date" | date}}</time>
        {{end}}
      </tr>
    </table>
  </main>
        <article>{{.Val "desc" | html }}</article>
      </div>
      {{if or (.Ref "prev") (.Ref "next")}}
      <table>
        <tr>
          {{with .Ref "prev"}}
          <td width="50%">
            <div>
              <a href='/{{.Must.Val "slug"}}'>&larr; {{.Must.Val "name"}}</a>
            </div>
          </td>
          {{end}}
          {{with .Ref "next"}}
          <td width="50%">
            <div style='text-align: right;'>
              <a href='/{{.Must.Val "slug"}}'>{{.Must.Val "name"}} &rarr;</a>
            </div>
          </td>
          {{end}}
        </tr>
      </table>
      {{end}}
    </main>
  </div>
  {{ template "html/_tracker.html" $ }}
</body>
</html>

M internal/s/tmpl/html/list.html => internal/s/tmpl/html/list.html +19 -20
@@ 4,27 4,26 @@
  {{template "html/_head.html" $}}
  <title>{{.Aside.Must.Val "string3"}} | {{.Aside.Must.Val "string2"}}</title>
</head>
<body class="theme-base-0d">
  {{template "html/_styles.html" $}}
  {{template "html/_aside.html" $}}
  <main class="content container">
    <div class="posts">
      {{range .List}}
        {{with .Must}}
        <article class="post">
          <h1 class="post-title">
            <a href='/{{.Val "slug"}}'>{{.Val "name"}}</a>
          </h1>
          <time class="post-date">{{.Val "date" | date}}</time>
          <p>{{.Val "short"}}</p>
          <div class="read-more-link">
            <a href='/{{.Val "slug"}}#more'>Read More…</a>
          </div>
        </article>
<body class=list>
  <div>
    {{template "html/_styles.html" $}}
    {{template "html/_aside.html" $}}
    <main>
      <div>
        {{range .List}}
          {{with .Must}}
          <article>
            <h1>
              <a href='/{{.Val "slug"}}'>{{.Val "name"}}</a>
            </h1>
            <time>{{.Val "date" | date}}</time>
            <p>{{.Val "short"}}</p>
          </article>
          {{end}}
        {{end}}
      {{end}}
    </div>
  </main>
      </div>
    </main>
  </div>
  {{ template "html/_tracker.html" $ }}
</body>
</html>

M internal/s/tmpl/tmpls_embed.go => internal/s/tmpl/tmpls_embed.go +6 -6
@@ 16,7 16,7 @@ func init() {

	tmpls["css/hyde.css"] = tostring("LyoKICogIF9fICAgICAgICAgICAgICAgICAgX18KICogL1wgXCAgICAgICAgICAgICAgICAvXCBcCiAqIFwgXCBcX19fICAgX18gIF9fICAgXF9cIFwgICAgIF9fCiAqICBcIFwgIF8gYFwvXCBcL1wgXCAgLydfYCBcICAvJ19fYFwKICogICBcIFwgXCBcIFwgXCBcX1wgXC9cIFxfXCBcL1wgIF9fLwogKiAgICBcIFxfXCBcX1wvYF9fX18gXCBcX19fLF9cIFxfX19fXAogKiAgICAgXC9fL1wvXy9gL19fXy8+IFwvX18sXyAvXC9fX19fLwogKiAgICAgICAgICAgICAgICAvXF9fXy8KICogICAgICAgICAgICAgICAgXC9fXy8KICoKICogRGVzaWduZWQsIGJ1aWx0LCBhbmQgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgYnkgQG1kby4gTGVhcm4gbW9yZSBhdAogKiBodHRwczovL2dpdGh1Yi5jb20vcG9vbGUvaHlkZS4KICovCgoKLyoKICogQ29udGVudHMKICoKICogR2xvYmFsIHJlc2V0cwogKiBTaWRlYmFyCiAqIENvbnRhaW5lcgogKiBSZXZlcnNlIGxheW91dAogKiBUaGVtZXMKICovCgoKLyoKICogR2xvYmFsIHJlc2V0cwogKgogKiBVcGRhdGUgdGhlIGZvdW5kYXRpb25hbCBhbmQgZ2xvYmFsIGFzcGVjdHMgb2YgdGhlIHBhZ2UuCiAqLwoKaHRtbCB7CiAgZm9udC1mYW1pbHk6ICJQVCBTYW5zIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKfQpAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgewogIGh0bWwgewogICAgZm9udC1zaXplOiAxNnB4OwogIH0KfQpAbWVkaWEgKG1pbi13aWR0aDogNThlbSkgewogIGh0bWwgewogICAgZm9udC1zaXplOiAyMHB4OwogIH0KfQoKCi8qCiAqIFNpZGViYXIKICoKICogRmxleGlibGUgYmFubmVyIGZvciBob3VzaW5nIHNpdGUgbmFtZSwgaW50cm8sIGFuZCAiZm9vdGVyIiBjb250ZW50LiBTdGFydHMKICogb3V0IGFib3ZlIGNvbnRlbnQgaW4gbW9iaWxlIGFuZCBsYXRlciBtb3ZlcyB0byB0aGUgc2lkZSB3aXRoIHdpZGVyIHZpZXdwb3J0cy4KICovCgouc2lkZWJhciB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHBhZGRpbmc6IDJyZW0gMXJlbTsKICBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNSk7CiAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDsKfQpAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgewogIC5zaWRlYmFyIHsKICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICBib3R0b206IDA7CiAgICB3aWR0aDogMThyZW07CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogIH0KfQoKLyogU2lkZWJhciBsaW5rcyAqLwouc2lkZWJhciBhIHsKICBjb2xvcjogI2ZmZjsKfQoKLyogQWJvdXQgc2VjdGlvbiAqLwouc2lkZWJhci1hYm91dCBoMSB7CiAgY29sb3I6ICNmZmY7CiAgbWFyZ2luLXRvcDogMDsKICBmb250LWZhbWlseTogIkFicmlsIEZhdGZhY2UiLCBzZXJpZjsKICBmb250LXNpemU6IDMuMjVyZW07Cn0KCi8qIFNpZGViYXIgbmF2ICovCi5zaWRlYmFyLW5hdiB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KLnNpZGViYXItbmF2LWl0ZW0gewogIGRpc3BsYXk6IGJsb2NrOwp9CmEuc2lkZWJhci1uYXYtaXRlbTpob3ZlciwKYS5zaWRlYmFyLW5hdi1pdGVtOmZvY3VzIHsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKfQouc2lkZWJhci1uYXYtaXRlbS5hY3RpdmUgewogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgovKiBTdGlja3kgc2lkZWJhcgogKgogKiBBZGQgdGhlIGBzaWRlYmFyLXN0aWNreWAgY2xhc3MgdG8gdGhlIHNpZGViYXIncyBjb250YWluZXIgdG8gYWZmaXggaXQgdGhlCiAqIGNvbnRlbnRzIHRvIHRoZSBib3R0b20gb2YgdGhlIHNpZGViYXIgaW4gdGFibGV0cyBhbmQgdXAuCiAqLwoKQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHsKICAuc2lkZWJhci1zdGlja3kgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6ICAxcmVtOwogICAgYm90dG9tOiAxcmVtOwogICAgbGVmdDogICAxcmVtOwogIH0KfQoKCi8qIENvbnRhaW5lcgogKgogKiBBbGlnbiB0aGUgY29udGVudHMgb2YgdGhlIHNpdGUgYWJvdmUgdGhlIHByb3BlciB0aHJlc2hvbGQgd2l0aCBzb21lIG1hcmdpbi1mdQogKiB3aXRoIGEgMjUlLXdpZGUgYC5zaWRlYmFyYC4KICovCgouY29udGVudCB7CiAgcGFkZGluZy10b3A6ICAgIDRyZW07CiAgcGFkZGluZy1ib3R0b206IDRyZW07Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7CiAgLmNvbnRlbnQgewogICAgbWF4LXdpZHRoOiAzOHJlbTsKICAgIG1hcmdpbi1sZWZ0OiAyMHJlbTsKICAgIG1hcmdpbi1yaWdodDogMnJlbTsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7CiAgLmNvbnRlbnQgewogICAgbWFyZ2luLWxlZnQ6IDIycmVtOwogICAgbWFyZ2luLXJpZ2h0OiA0cmVtOwogIH0KfQoKCi8qCiAqIFJldmVyc2UgbGF5b3V0CiAqCiAqIEZsaXAgdGhlIG9yaWVudGF0aW9uIG9mIHRoZSBwYWdlIGJ5IHBsYWNpbmcgdGhlIGAuc2lkZWJhcmAgb24gdGhlIHJpZ2h0LgogKi8KCkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7CiAgLmxheW91dC1yZXZlcnNlIC5zaWRlYmFyIHsKICAgIGxlZnQ6IGF1dG87CiAgICByaWdodDogMDsKICB9CiAgLmxheW91dC1yZXZlcnNlIC5jb250ZW50IHsKICAgIG1hcmdpbi1sZWZ0OiAycmVtOwogICAgbWFyZ2luLXJpZ2h0OiAyMHJlbTsKICB9Cn0KCkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7CiAgLmxheW91dC1yZXZlcnNlIC5jb250ZW50IHsKICAgIG1hcmdpbi1sZWZ0OiA0cmVtOwogICAgbWFyZ2luLXJpZ2h0OiAyMnJlbTsKICB9Cn0KCgoKLyoKICogVGhlbWVzCiAqCiAqIEFzIG9mIHYxLjEsIEh5ZGUgaW5jbHVkZXMgb3B0aW9uYWwgdGhlbWVzIHRvIGNvbG9yIHRoZSBzaWRlYmFyIGFuZCBsaW5rcwogKiB3aXRoaW4gYmxvZyBwb3N0cy4gVG8gdXNlLCBhZGQgdGhlIGNsYXNzIG9mIHlvdXIgY2hvb3NpbmcgdG8gdGhlIGBib2R5YC4KICovCgovKiBCYXNlMTYgKGh0dHA6Ly9jaHJpc2tlbXBzb24uZ2l0aHViLmlvL2Jhc2UxNi8jZGVmYXVsdCkgKi8KCi8qIFJlZCAqLwoudGhlbWUtYmFzZS0wOCAuc2lkZWJhciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2FjNDE0MjsKfQoudGhlbWUtYmFzZS0wOCAuY29udGVudCBhLAoudGhlbWUtYmFzZS0wOCAucmVsYXRlZC1wb3N0cyBsaSBhOmhvdmVyIHsKICBjb2xvcjogI2FjNDE0MjsKfQoKLyogT3JhbmdlICovCi50aGVtZS1iYXNlLTA5IC5zaWRlYmFyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDI4NDQ1Owp9Ci50aGVtZS1iYXNlLTA5IC5jb250ZW50IGEsCi50aGVtZS1iYXNlLTA5IC5yZWxhdGVkLXBvc3RzIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjZDI4NDQ1Owp9CgovKiBZZWxsb3cgKi8KLnRoZW1lLWJhc2UtMGEgLnNpZGViYXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmNGJmNzU7Cn0KLnRoZW1lLWJhc2UtMGEgLmNvbnRlbnQgYSwKLnRoZW1lLWJhc2UtMGEgLnJlbGF0ZWQtcG9zdHMgbGkgYTpob3ZlciB7CiAgY29sb3I6ICNmNGJmNzU7Cn0KCi8qIEdyZWVuICovCi50aGVtZS1iYXNlLTBiIC5zaWRlYmFyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTBhOTU5Owp9Ci50aGVtZS1iYXNlLTBiIC5jb250ZW50IGEsCi50aGVtZS1iYXNlLTBiIC5yZWxhdGVkLXBvc3RzIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjOTBhOTU5Owp9CgovKiBDeWFuICovCi50aGVtZS1iYXNlLTBjIC5zaWRlYmFyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzViNWFhOwp9Ci50aGVtZS1iYXNlLTBjIC5jb250ZW50IGEsCi50aGVtZS1iYXNlLTBjIC5yZWxhdGVkLXBvc3RzIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjNzViNWFhOwp9CgovKiBCbHVlICovCi50aGVtZS1iYXNlLTBkIC5zaWRlYmFyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmE5ZmI1Owp9Ci50aGVtZS1iYXNlLTBkIC5jb250ZW50IGEsCi50aGVtZS1iYXNlLTBkIC5yZWxhdGVkLXBvc3RzIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjNmE5ZmI1Owp9CgovKiBNYWdlbnRhICovCi50aGVtZS1iYXNlLTBlIC5zaWRlYmFyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWE3NTlmOwp9Ci50aGVtZS1iYXNlLTBlIC5jb250ZW50IGEsCi50aGVtZS1iYXNlLTBlIC5yZWxhdGVkLXBvc3RzIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjYWE3NTlmOwp9CgovKiBCcm93biAqLwoudGhlbWUtYmFzZS0wZiAuc2lkZWJhciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzhmNTUzNjsKfQoudGhlbWUtYmFzZS0wZiAuY29udGVudCBhLAoudGhlbWUtYmFzZS0wZiAucmVsYXRlZC1wb3N0cyBsaSBhOmhvdmVyIHsKICBjb2xvcjogIzhmNTUzNjsKfQo=")

	tmpls["css/main.css"] = tostring("cCB7IAogIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKfQoKcHJlIGNvZGUgeyAKICB3aGl0ZS1zcGFjZTogcHJlOwp9CgpwcmUgeyAKICBvdmVyZmxvdy14OiBhdXRvOwogIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsKfQoKQG1lZGlhIChtYXgtd2lkdGg6IDc2NnB4KSB7IAogIC5zaWRlYmFyLW5hdiBsaSB7IAogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIH0KCiAgLnNpZGViYXItbmF2IGxpIGE6YWZ0ZXIgeyAKICAgIGNvbnRlbnQ6ICcsICc7CiAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOwogIH0KCiAgLnNpZGViYXItbmF2IGxpOmxhc3Qtb2YtdHlwZSBhOmFmdGVyIHsgCiAgICBkaXNwbGF5OiBub25lOwogIH0KCiAgLnNpZGViYXIgeyAKICAgIHBhZGRpbmc6IDFlbSAwLjVlbTsKICB9CgogIC5zaWRlYmFyLWFib3V0IGgxIHsgCiAgICBmb250LXNpemU6IDNlbTsKICB9Cn0K")
	tmpls["css/main.css"] = tostring("LyogUmVzZXQgQ1NTICovCmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwKaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLAphLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsCmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCwKc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwKYiwgdSwgaSwgY2VudGVyLApkbCwgZHQsIGRkLCBtZW51LCBvbCwgdWwsIGxpLApmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwKdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsCmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLApmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsCm1haW4sIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LAp0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8gewoJbWFyZ2luOiAwOwoJcGFkZGluZzogMDsKCWJvcmRlcjogMDsKCWZvbnQtc2l6ZTogMTAwJTsKCWZvbnQ6IGluaGVyaXQ7Cgl2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7Cn0KCmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsCmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiB7CglkaXNwbGF5OiBibG9jazsKfQoKKltoaWRkZW5dIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCmJvZHkgewoJbGluZS1oZWlnaHQ6IDE7Cn0KCm1lbnUsIG9sLCB1bCB7CglsaXN0LXN0eWxlOiBub25lOwp9CgpibG9ja3F1b3RlLCBxIHsKCXF1b3Rlczogbm9uZTsKfQoKYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsCnE6YmVmb3JlLCBxOmFmdGVyIHsKCWNvbnRlbnQ6ICcnOwoJY29udGVudDogbm9uZTsKfQoKdGFibGUgewoJYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKCWJvcmRlci1zcGFjaW5nOiAwOwp9CgovKiBDdXN0b20gQ1NTICovCmJvZHkgeyAKICBmb250LWZhbWlseTogJ0VCIEdhcmFtb25kJywgc2VyaWY7CiAgZm9udC1zaXplOiAyMnB4OwogIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhkQUJ1QVBjQUFQLy8vLy8velAvL21mLy9adi8vTS8vL0FQL00vLy9NelAvTW1mL01adi9NTS8vTUFQK1ovLytaelArWm1mK1paditaTS8rWkFQOW0vLzltelA5bW1mOW1adjltTS85bUFQOHovLzh6elA4em1mOHpadjh6TS84ekFQOEEvLzhBelA4QW1mOEFadjhBTS84QUFNei8vOHovek16L21jei9ac3ovTTh6L0FNek0vOHpNek16TW1jek1ac3pNTTh6TUFNeVovOHlaek15Wm1jeVpac3laTTh5WkFNeG0vOHhtek14bW1jeG1ac3htTTh4bUFNd3ovOHd6ek13em1jd3pac3d6TTh3ekFNd0EvOHdBek13QW1jd0Fac3dBTTh3QUFKbi8vNW4vekpuL21abi9acG4vTTVuL0FKbk0vNW5NekpuTW1abk1acG5NTTVuTUFKbVovNW1aekptWm1abVpacG1aTTVtWkFKbG0vNWxtekpsbW1abG1acGxtTTVsbUFKa3ovNWt6ekprem1aa3pacGt6TTVrekFKa0EvNWtBekprQW1aa0FacGtBTTVrQUFHYi8vMmIvekdiL21XYi9abWIvTTJiL0FHYk0vMmJNekdiTW1XYk1abWJNTTJiTUFHYVovMmFaekdhWm1XYVpabWFaTTJhWkFHWm0vMlptekdabW1XWm1abVptTTJabUFHWXovMll6ekdZem1XWXpabVl6TTJZekFHWUEvMllBekdZQW1XWUFabVlBTTJZQUFEUC8velAvekRQL21UUC9aalAvTXpQL0FEUE0velBNekRQTW1UUE1aalBNTXpQTUFET1ovek9aekRPWm1UT1paak9aTXpPWkFETm0vek5tekRObW1UTm1aak5tTXpObUFETXovek16ekRNem1UTXpaak16TXpNekFETUEvek1BekRNQW1UTUFaak1BTXpNQUFBRC8vd0QvekFEL21RRC9aZ0QvTXdEL0FBRE0vd0RNekFETW1RRE1aZ0RNTXdETUFBQ1ovd0NaekFDWm1RQ1paZ0NaTXdDWkFBQm0vd0JtekFCbW1RQm1aZ0JtTXdCbUFBQXovd0F6ekFBem1RQXpaZ0F6TXdBekFBQUEvd0FBekFBQW1RQUFaZ0FBTXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ3dBQUFBQWRBQnVBQUFJL3dBQkNCeElzQ0JCRWdZVEtseW9FQ0hEaHhBSE9veEljZUhFaWhnUFp0d284Q0xIaWg0L1Jnd3BraUhKa2haUmdsUTVrbVZMbHc5UHd1dzQwMlRObERjTnlxeTVjMlpQbHorQjVrd1lWR1ZSbzBOMUp0VzRWR0pUcDArUG9wUmFrdXBIcTFlZjBveXFGUUJXamw4emhoWGJkZXhLcldiUE5rMUxrZTNMdFdYamNrVXJGeTdkdTNiRmt0akx0Ni9mdjRBREN4NU11TERodzRQQjFsM3FGbUxqbUhqelNrNzYyR1preW9zaGk2emNNRFBtdWFBbkQrWGMrZkpvejZkRE0wWjlrelJSMWp4aHgxYjltWFpPMTBwTjM1YnRVL2R1MzdOdC94YWRXbmh3NHNOWEF6OWVHM25yNWIyaEM1VSszVG56NXRpenc3eUltNm54N1Y2cHMvM3M3bDM1OStqVzBhZXZ2cDY5OXVUbTQ4dC9mNzE0ZTZUaThkL1h2NzhxV01RQUJpamdnQVFtdGhGNVVQWG5YMzRMbmdlZWcrN1JwOTU4OWtrNG9ZVVJWb2poZUx3OXFPQm1IWExJWUlNVXdyY2hmeVUrQjZHSUswNFZJb3NwMW1maWpEU3ErR0ZXSStMWW9vczdraGlqaHo2K2xxTmlReEo1bzVGSGtsWGtnVXNxMmFPT1NUcjVJNUJUd2xpbGxScG1XZU9GV3RwNEpZb244dmdrbEdHS0dhVmFaNkpaWnBCZGN1bFlnWERHS2VlY1NIN0o1cFp1eXVpbG5TQTJpUkdDNGZtcFpwdDU2bG5vb1ZRU21xaWlXRExhNko1cjlwbG1XeStheWFla2w1SVphWjJiY29ybm9wOCtDcW1qbG5iSzVKaWVoZ29tcWFXcVdsQkFBRHM9Iik7CiAgZGlzcGxheTogZmxleDsKICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gM2VtKTsKICBhbGlnbi1pdGVtczogY2VudGVyOwogIGp1c3RpZnktY29udGVudDogY2VudGVyOwogIHBhZGRpbmc6IDAgMWVtIDNlbTsKfQoKcCB7IAogIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKfQoKYSB7IAogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoKYTpmb2N1cywgCmE6aG92ZXIgewogIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwp9CgpibG9ja3F1b3RlIHsgCiAgcGFkZGluZy1sZWZ0OiAxZW07CiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBibGFjazsKICBtYXJnaW4tdG9wOiAyZW07Cn0KCmNpdGUgeyAKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgbWFyZ2luLWJvdHRvbTogMmVtOwp9CgpjaXRlOmJlZm9yZSB7IAogIGNvbnRlbnQ6ICfigJQnOwogIG1hcmdpbi1yaWdodDogMC41ZW07Cn0KCnByZSB7IAogIG92ZXJmbG93LXg6IGF1dG87CiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOwogIGJhY2tncm91bmQ6IHdoaXRlOwogIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgd2hpdGUtc3BhY2U6IHByZTsKICBwYWRkaW5nOiAxZW07CiAgYm9yZGVyOiAxcHggI2FhYSBzb2xpZDsKICBib3JkZXItcmFkaXVzOiAycHg7CiAgZm9udC1zaXplOiAwLjc1ZW07Cn0KCmJvZHkgPiBkaXYgeyAKICB3aWR0aDogNzBjaDsgCiAgbWF4LXdpZHRoOiAxMDAlOwp9CgpoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KaDEgeyBmb250LXNpemU6IDEuNzVlbTsgbWFyZ2luLWxlZnQ6IGNhbGMoMWVtICogLTYvNik7IH0KaDIgeyBmb250LXNpemU6IDEuNjBlbTsgbWFyZ2luLWxlZnQ6IGNhbGMoMWVtICogLTUvNik7IH0KaDMgeyBmb250LXNpemU6IDEuNDVlbTsgbWFyZ2luLWxlZnQ6IGNhbGMoMWVtICogLTQvNik7IH0KaDQgeyBmb250LXNpemU6IDEuMzBlbTsgbWFyZ2luLWxlZnQ6IGNhbGMoMWVtICogLTMvNik7IH0KaDUgeyBmb250LXNpemU6IDEuMTVlbTsgbWFyZ2luLWxlZnQ6IGNhbGMoMWVtICogLTIvNik7IH0KaDYgeyBmb250LXNpemU6IDEuMDBlbTsgbWFyZ2luLWxlZnQ6IGNhbGMoMWVtICogLTEvNik7IH0KCmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIHVsLCBvbCwgcHJlIHsgCiAgbWFyZ2luLXRvcDogICAgMC41ZW07IAogIG1hcmdpbi1ib3R0b206IDAuNWVtOyAKfQoKYXNpZGUgdWwgbGkgeyAKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KCmFzaWRlIHVsIGxpOm5vdCg6bGFzdC1vZi10eXBlKTphZnRlciB7IAogIGNvbnRlbnQ6ICcgfCAnOwogIG1hcmdpbjogMCAwLjVlbTsKfQoKbWFpbiBvbCBsaSwKbWFpbiB1bCBsaSB7IAogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07CiAgcGFkZGluZy1sZWZ0OiAxLjBlbTsKfQoKbWFpbiBvbCBsaTpiZWZvcmUsCm1haW4gdWwgbGk6YmVmb3JlIHsgCiAgY29udGVudDogJz4nOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMGVtOwp9Cgp0YWJsZSB7IAogIHdpZHRoOiAxMDAlOwp9Cgp0YWJsZSB0ZCB7IAogIHBhZGRpbmctdG9wOiAzZW07Cn0KCnN0cm9uZyB7IAogIGZvbnQtd2VpZ2h0OiBib2xkOwp9CgppbWcgeyAKICBtYXgtd2lkdGg6IDEwMCU7CiAgYm9yZGVyLXJhZGl1czogMnB4OwogIG92ZXJmbG93OiBoaWRkZW47Cn0KCmJvZHkubGlzdCBtYWluIGgxIHsgCiAgbWFyZ2luLWJvdHRvbTogMDsKfQoKQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkgewogIGJvZHkgeyBmb250LXNpemU6IDIwcHg7IH0KCiAgaDEgeyBtYXJnaW4tbGVmdDogMDsgfQogIGgyIHsgbWFyZ2luLWxlZnQ6IDA7IH0KICBoMyB7IG1hcmdpbi1sZWZ0OiAwOyB9CiAgaDQgeyBtYXJnaW4tbGVmdDogMDsgfQogIGg1IHsgbWFyZ2luLWxlZnQ6IDA7IH0KICBoNiB7IG1hcmdpbi1sZWZ0OiAwOyB9CgogIHRhYmxlIHRkIHsgCiAgICBkaXNwbGF5OiBibG9jazsKICAgIHdpZHRoOiAxMDAlOwogICAgbWFyZ2luLXRvcDogMWVtOwogICAgcGFkZGluZy10b3A6IDA7CiAgfQp9Cg==")

	tmpls["css/poole.css"] = tostring("LyoKICogICAgICAgICAgICAgICAgICAgICAgICBfX18KICogICAgICAgICAgICAgICAgICAgICAgIC9cXyBcCiAqICBfX19fXyAgICAgX19fICAgICBfX19cLy9cIFwgICAgICBfXwogKiAvXCAnX19gXCAgLyBfX2BcICAvIF9fYFxcIFwgXCAgIC8nX19gXAogKiBcIFwgXF9cIFwvXCBcX1wgXC9cIFxfXCBcXF9cIFxfL1wgIF9fLwogKiAgXCBcICxfXy9cIFxfX19fL1wgXF9fX18vL1xfX19fXCBcX19fX1wKICogICBcIFwgXC8gIFwvX19fLyAgXC9fX18vIFwvX19fXy9cL19fX18vCiAqICAgIFwgXF9cCiAqICAgICBcL18vCiAqCiAqIERlc2lnbmVkLCBidWlsdCwgYW5kIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlIGJ5IEBtZG8uIExlYXJuIG1vcmUgYXQKICogaHR0cHM6Ly9naXRodWIuY29tL3Bvb2xlL3Bvb2xlLgogKi8KCgovKgogKiBDb250ZW50cwogKgogKiBCb2R5IHJlc2V0cwogKiBDdXN0b20gdHlwZQogKiBNZXNzYWdlcwogKiBDb250YWluZXIKICogTWFzdGhlYWQKICogUG9zdHMgYW5kIHBhZ2VzCiAqIFBhZ2luYXRpb24KICogUmV2ZXJzZSBsYXlvdXQKICogVGhlbWVzCiAqLwoKCi8qCiAqIEJvZHkgcmVzZXRzCiAqCiAqIFVwZGF0ZSB0aGUgZm91bmRhdGlvbmFsIGFuZCBnbG9iYWwgYXNwZWN0cyBvZiB0aGUgcGFnZS4KICovCgoqIHsKICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKfQoKaHRtbCwKYm9keSB7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KCmh0bWwgewogIGZvbnQtZmFtaWx5OiAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTZweDsKICBsaW5lLWhlaWdodDogMS41Owp9CkBtZWRpYSAobWluLXdpZHRoOiAzOGVtKSB7CiAgaHRtbCB7CiAgICBmb250LXNpemU6IDIwcHg7CiAgfQp9Cgpib2R5IHsKICBjb2xvcjogIzUxNTE1MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsKICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlOwp9CgovKiBObyBgOnZpc2l0ZWRgIHN0YXRlIGlzIHJlcXVpcmVkIGJ5IGRlZmF1bHQgKGJyb3dzZXJzIHdpbGwgdXNlIGBhYCkgKi8KYSB7CiAgY29sb3I6ICMyMjdiYjk7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9Ci8qIGA6Zm9jdXNgIGlzIGxpbmtlZCB0byBgOmhvdmVyYCBmb3IgYmFzaWMgYWNjZXNzaWJpbGl0eSAqLwphOmhvdmVyLAphOmZvY3VzIHsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKfQoKLyogSGVhZGluZ3MgKi8KaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7CiAgbWFyZ2luLWJvdHRvbTogLjVyZW07CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgbGluZS1oZWlnaHQ6IDEuMjU7CiAgY29sb3I6ICMzMTMxMzE7CiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsKfQpoMSB7CiAgZm9udC1zaXplOiAycmVtOwp9CmgyIHsKICBtYXJnaW4tdG9wOiAxcmVtOwogIGZvbnQtc2l6ZTogMS41cmVtOwp9CmgzIHsKICBtYXJnaW4tdG9wOiAxLjVyZW07CiAgZm9udC1zaXplOiAxLjI1cmVtOwp9Cmg0LCBoNSwgaDYgewogIG1hcmdpbi10b3A6IDFyZW07CiAgZm9udC1zaXplOiAxcmVtOwp9CgovKiBCb2R5IHRleHQgKi8KcCB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwp9CgpzdHJvbmcgewogIGNvbG9yOiAjMzAzMDMwOwp9CgoKLyogTGlzdHMgKi8KdWwsIG9sLCBkbCB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwp9CgpkdCB7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KZGQgewogIG1hcmdpbi1ib3R0b206IC41cmVtOwp9CgovKiBNaXNjICovCmhyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAxLjVyZW0gMDsKICBib3JkZXI6IDA7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7Cn0KCmFiYnIgewogIGZvbnQtc2l6ZTogODUlOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIGNvbG9yOiAjNTU1OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KYWJiclt0aXRsZV0gewogIGN1cnNvcjogaGVscDsKICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNlNWU1ZTU7Cn0KCi8qIENvZGUgKi8KY29kZSwKcHJlIHsKICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlOwp9CmNvZGUgewogIHBhZGRpbmc6IC4yNWVtIC41ZW07CiAgZm9udC1zaXplOiA4NSU7CiAgY29sb3I6ICNiMzU1NWU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsKICBib3JkZXItcmFkaXVzOiAzcHg7Cn0KcHJlIHsKICBkaXNwbGF5OiBibG9jazsKICBtYXJnaW4tdG9wOiAwOwogIG1hcmdpbi1ib3R0b206IDFyZW07CiAgcGFkZGluZzogMXJlbTsKICBmb250LXNpemU6IC44cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgd2hpdGUtc3BhY2U6IHByZTsKICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgd29yZC1icmVhazogYnJlYWstYWxsOwogIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5Owp9CnByZSBjb2RlIHsKICBwYWRkaW5nOiAwOwogIGZvbnQtc2l6ZTogMTAwJTsKICBjb2xvcjogaW5oZXJpdDsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQouaGlnaGxpZ2h0IHsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIGJvcmRlci1yYWRpdXM6IDRweDsKfQouaGlnaGxpZ2h0IHByZSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoKLyogUXVvdGVzICovCmJsb2NrcXVvdGUgewogIHBhZGRpbmc6IC41cmVtIDFyZW07CiAgbWFyZ2luOiAuOHJlbSAwOwogIGNvbG9yOiAjN2E3YTdhOwogIGJvcmRlci1sZWZ0OiAuMjVyZW0gc29saWQgI2U1ZTVlNTsKfQpibG9ja3F1b3RlIHA6bGFzdC1jaGlsZCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQpAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkgewogIGJsb2NrcXVvdGUgewogICAgcGFkZGluZy1yaWdodDogNXJlbTsKICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsKICB9Cn0KCmltZyB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luOiAwIDAgMXJlbTsKICBib3JkZXItcmFkaXVzOiA1cHg7CiAgbWF4LXdpZHRoOiAxMDAlOwp9CgovKiBUYWJsZXMgKi8KdGFibGUgewogIG1hcmdpbi1ib3R0b206IDFyZW07CiAgd2lkdGg6IDEwMCU7CiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTsKICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwp9CnRkLAp0aCB7CiAgcGFkZGluZzogLjI1cmVtIC41cmVtOwogIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7Cn0KdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQsCnRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRoIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5Owp9CgoKLyoKICogQ3VzdG9tIHR5cGUKICoKICogRXh0ZW5kIHBhcmFncmFwaHMgd2l0aCBgLmxlYWRgIGZvciBsYXJnZXIgaW50cm9kdWN0b3J5IHRleHQuCiAqLwoKLmxlYWQgewogIGZvbnQtc2l6ZTogMS4yNXJlbTsKICBmb250LXdlaWdodDogMzAwOwp9CgoKLyoKICogTWVzc2FnZXMKICoKICogU2hvdyBhbGVydCBtZXNzYWdlcyB0byB1c2Vycy4gWW91IG1heSBhZGQgaXQgdG8gc2luZ2xlIGVsZW1lbnRzIGxpa2UgYSBgPHA+YCwKICogb3IgdG8gYSBwYXJlbnQgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGVsZW1lbnRzIHRvIHNob3cuCiAqLwoKLm1lc3NhZ2UgewogIG1hcmdpbi1ib3R0b206IDFyZW07CiAgcGFkZGluZzogMXJlbTsKICBjb2xvcjogIzcxNzE3MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5Owp9CgoKLyoKICogQ29udGFpbmVyCiAqCiAqIENlbnRlciB0aGUgcGFnZSBjb250ZW50LgogKi8KCi5jb250YWluZXIgewogIG1heC13aWR0aDogMzhyZW07CiAgcGFkZGluZy1sZWZ0OiAgMXJlbTsKICBwYWRkaW5nLXJpZ2h0OiAxcmVtOwogIG1hcmdpbi1sZWZ0OiAgYXV0bzsKICBtYXJnaW4tcmlnaHQ6IGF1dG87Cn0KCgovKgogKiBNYXN0aGVhZAogKgogKiBTdXBlciBzbWFsbCBoZWFkZXIgYWJvdmUgdGhlIGNvbnRlbnQgZm9yIHNpdGUgbmFtZSBhbmQgc2hvcnQgZGVzY3JpcHRpb24uCiAqLwoKLm1hc3RoZWFkIHsKICBwYWRkaW5nLXRvcDogICAgMXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMXJlbTsKICBtYXJnaW4tYm90dG9tOiAzcmVtOwp9Ci5tYXN0aGVhZC10aXRsZSB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAwOwogIGNvbG9yOiAjNTA1MDUwOwp9Ci5tYXN0aGVhZC10aXRsZSBhIHsKICBjb2xvcjogIzUwNTA1MDsKfQoubWFzdGhlYWQtdGl0bGUgc21hbGwgewogIGZvbnQtc2l6ZTogNzUlOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgY29sb3I6ICNjMGMwYzA7CiAgbGV0dGVyLXNwYWNpbmc6IDA7Cn0KCgovKgogKiBQb3N0cyBhbmQgcGFnZXMKICoKICogRWFjaCBwb3N0IGlzIHdyYXBwZWQgaW4gYC5wb3N0YCBhbmQgaXMgdXNlZCBvbiBkZWZhdWx0IGFuZCBwb3N0IGxheW91dHMuIEVhY2gKICogcGFnZSBpcyB3cmFwcGVkIGluIGAucGFnZWAgYW5kIGlzIG9ubHkgdXNlZCBvbiB0aGUgcGFnZSBsYXlvdXQuCiAqLwoKLnBhZ2UsCi5wb3N0IHsKICBtYXJnaW4tYm90dG9tOiA0ZW07Cn0KCi8qIEJsb2cgcG9zdCBvciBwYWdlIHRpdGxlICovCi5wYWdlLXRpdGxlLAoucG9zdC10aXRsZSwKLnBvc3QtdGl0bGUgYSB7CiAgY29sb3I6ICMzMDMwMzA7Cn0KLnBhZ2UtdGl0bGUsCi5wb3N0LXRpdGxlIHsKICBtYXJnaW4tdG9wOiAwOwp9CgovKiBNZXRhIGRhdGEgbGluZSBiZWxvdyBwb3N0IHRpdGxlICovCi5wb3N0LWRhdGUgewogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbi10b3A6IC0uNXJlbTsKICBtYXJnaW4tYm90dG9tOiAxcmVtOwogIGNvbG9yOiAjNzU3NTc1Owp9CgovKiBSZWxhdGVkIHBvc3RzICovCi5yZWxhdGVkIHsKICBwYWRkaW5nLXRvcDogMnJlbTsKICBwYWRkaW5nLWJvdHRvbTogMnJlbTsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTsKfQoucmVsYXRlZC1wb3N0cyB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIGxpc3Qtc3R5bGU6IG5vbmU7Cn0KLnJlbGF0ZWQtcG9zdHMgaDMgewogIG1hcmdpbi10b3A6IDA7Cn0KLnJlbGF0ZWQtcG9zdHMgbGkgc21hbGwgewogIGZvbnQtc2l6ZTogNzUlOwogIGNvbG9yOiAjOTk5Owp9Ci5yZWxhdGVkLXBvc3RzIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjMjI3YmI5OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQoucmVsYXRlZC1wb3N0cyBsaSBhOmhvdmVyIHNtYWxsIHsKICBjb2xvcjogaW5oZXJpdDsKfQoKCi8qCiAqIFBhZ2luYXRpb24KICoKICogU3VwZXIgbGlnaHR3ZWlnaHQgKEhUTUwtd2lzZSkgYmxvZyBwYWdpbmF0aW9uLiBgc3BhbmBzIGFyZSBwcm92aWRlIGZvciB3aGVuCiAqIHRoZXJlIGFyZSBubyBtb3JlIHByZXZpb3VzIG9yIG5leHQgcG9zdHMgdG8gc2hvdy4KICovCgoucGFnaW5hdGlvbiB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogY2xlYXJmaXggKi8KICBtYXJnaW4tbGVmdDogLTFyZW07CiAgbWFyZ2luLXJpZ2h0OiAtMXJlbTsKICBmb250LWZhbWlseTogIlBUIFNhbnMiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOwogIGNvbG9yOiAjY2NjOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLyogUGFnaW5hdGlvbiBpdGVtcyBjYW4gYmUgYHNwYW5gcyBvciBgYWBzICovCi5wYWdpbmF0aW9uLWl0ZW0gewogIGRpc3BsYXk6IGJsb2NrOwogIHBhZGRpbmc6IDFyZW07CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTsKfQoucGFnaW5hdGlvbi1pdGVtOmZpcnN0LWNoaWxkIHsKICBtYXJnaW4tYm90dG9tOiAtMXB4Owp9CgovKiBPbmx5IHByb3ZpZGUgYSBob3ZlciBzdGF0ZSBmb3IgbGlua2VkIHBhZ2luYXRpb24gaXRlbXMgKi8KYS5wYWdpbmF0aW9uLWl0ZW06aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7Cn0KCkBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7CiAgLnBhZ2luYXRpb24gewogICAgbWFyZ2luOiAzcmVtIDA7CiAgfQogIC5wYWdpbmF0aW9uLWl0ZW0gewogICAgZmxvYXQ6IGxlZnQ7CiAgICB3aWR0aDogNTAlOwogIH0KICAucGFnaW5hdGlvbi1pdGVtOmZpcnN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAgICA0cHg7CiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7CiAgfQogIC5wYWdpbmF0aW9uLWl0ZW06bGFzdC1jaGlsZCB7CiAgICBtYXJnaW4tbGVmdDogLTFweDsKICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAgICA0cHg7CiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4OwogIH0KfQo=")



@@ 24,17 24,17 @@ func init() {

	tmpls["css/syntax.css"] = tostring("LmhsbCB7IGJhY2tncm91bmQtY29sb3I6ICNmZmZmY2MgfQogLyp7IGJhY2tncm91bmQ6ICNmMGYzZjM7IH0qLwouYyB7IGNvbG9yOiAjOTk5OyB9IC8qIENvbW1lbnQgKi8KLmVyciB7IGNvbG9yOiAjQUEwMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZBQUFBIH0gLyogRXJyb3IgKi8KLmsgeyBjb2xvcjogIzAwNjY5OTsgfSAvKiBLZXl3b3JkICovCi5vIHsgY29sb3I6ICM1NTU1NTUgfSAvKiBPcGVyYXRvciAqLwouY20geyBjb2xvcjogIzAwOTlGRjsgZm9udC1zdHlsZTogaXRhbGljIH0gLyogQ29tbWVudC5NdWx0aWxpbmUgKi8KLmNwIHsgY29sb3I6ICMwMDk5OTkgfSAvKiBDb21tZW50LlByZXByb2MgKi8KLmMxIHsgY29sb3I6ICM5OTk7IH0gLyogQ29tbWVudC5TaW5nbGUgKi8KLmNzIHsgY29sb3I6ICM5OTk7IH0gLyogQ29tbWVudC5TcGVjaWFsICovCi5nZCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkNDQ0M7IGJvcmRlcjogMXB4IHNvbGlkICNDQzAwMDAgfSAvKiBHZW5lcmljLkRlbGV0ZWQgKi8KLmdlIHsgZm9udC1zdHlsZTogaXRhbGljIH0gLyogR2VuZXJpYy5FbXBoICovCi5nciB7IGNvbG9yOiAjRkYwMDAwIH0gLyogR2VuZXJpYy5FcnJvciAqLwouZ2ggeyBjb2xvcjogIzAwMzMwMDsgfSAvKiBHZW5lcmljLkhlYWRpbmcgKi8KLmdpIHsgYmFja2dyb3VuZC1jb2xvcjogI0NDRkZDQzsgYm9yZGVyOiAxcHggc29saWQgIzAwQ0MwMCB9IC8qIEdlbmVyaWMuSW5zZXJ0ZWQgKi8KLmdvIHsgY29sb3I6ICNBQUFBQUEgfSAvKiBHZW5lcmljLk91dHB1dCAqLwouZ3AgeyBjb2xvcjogIzAwMDA5OTsgfSAvKiBHZW5lcmljLlByb21wdCAqLwouZ3MgeyB9IC8qIEdlbmVyaWMuU3Ryb25nICovCi5ndSB7IGNvbG9yOiAjMDAzMzAwOyB9IC8qIEdlbmVyaWMuU3ViaGVhZGluZyAqLwouZ3QgeyBjb2xvcjogIzk5Q0M2NiB9IC8qIEdlbmVyaWMuVHJhY2ViYWNrICovCi5rYyB7IGNvbG9yOiAjMDA2Njk5OyB9IC8qIEtleXdvcmQuQ29uc3RhbnQgKi8KLmtkIHsgY29sb3I6ICMwMDY2OTk7IH0gLyogS2V5d29yZC5EZWNsYXJhdGlvbiAqLwoua24geyBjb2xvcjogIzAwNjY5OTsgfSAvKiBLZXl3b3JkLk5hbWVzcGFjZSAqLwoua3AgeyBjb2xvcjogIzAwNjY5OSB9IC8qIEtleXdvcmQuUHNldWRvICovCi5rciB7IGNvbG9yOiAjMDA2Njk5OyB9IC8qIEtleXdvcmQuUmVzZXJ2ZWQgKi8KLmt0IHsgY29sb3I6ICMwMDc3ODg7IH0gLyogS2V5d29yZC5UeXBlICovCi5tIHsgY29sb3I6ICNGRjY2MDAgfSAvKiBMaXRlcmFsLk51bWJlciAqLwoucyB7IGNvbG9yOiAjZDQ0OTUwIH0gLyogTGl0ZXJhbC5TdHJpbmcgKi8KLm5hIHsgY29sb3I6ICM0ZjlmY2YgfSAvKiBOYW1lLkF0dHJpYnV0ZSAqLwoubmIgeyBjb2xvcjogIzMzNjY2NiB9IC8qIE5hbWUuQnVpbHRpbiAqLwoubmMgeyBjb2xvcjogIzAwQUE4ODsgfSAvKiBOYW1lLkNsYXNzICovCi5ubyB7IGNvbG9yOiAjMzM2NjAwIH0gLyogTmFtZS5Db25zdGFudCAqLwoubmQgeyBjb2xvcjogIzk5OTlGRiB9IC8qIE5hbWUuRGVjb3JhdG9yICovCi5uaSB7IGNvbG9yOiAjOTk5OTk5OyB9IC8qIE5hbWUuRW50aXR5ICovCi5uZSB7IGNvbG9yOiAjQ0MwMDAwOyB9IC8qIE5hbWUuRXhjZXB0aW9uICovCi5uZiB7IGNvbG9yOiAjQ0MwMEZGIH0gLyogTmFtZS5GdW5jdGlvbiAqLwoubmwgeyBjb2xvcjogIzk5OTlGRiB9IC8qIE5hbWUuTGFiZWwgKi8KLm5uIHsgY29sb3I6ICMwMENDRkY7IH0gLyogTmFtZS5OYW1lc3BhY2UgKi8KLm50IHsgY29sb3I6ICMyZjZmOWY7IH0gLyogTmFtZS5UYWcgKi8KLm52IHsgY29sb3I6ICMwMDMzMzMgfSAvKiBOYW1lLlZhcmlhYmxlICovCi5vdyB7IGNvbG9yOiAjMDAwMDAwOyB9IC8qIE9wZXJhdG9yLldvcmQgKi8KLncgeyBjb2xvcjogI2JiYmJiYiB9IC8qIFRleHQuV2hpdGVzcGFjZSAqLwoubWYgeyBjb2xvcjogI0ZGNjYwMCB9IC8qIExpdGVyYWwuTnVtYmVyLkZsb2F0ICovCi5taCB7IGNvbG9yOiAjRkY2NjAwIH0gLyogTGl0ZXJhbC5OdW1iZXIuSGV4ICovCi5taSB7IGNvbG9yOiAjRkY2NjAwIH0gLyogTGl0ZXJhbC5OdW1iZXIuSW50ZWdlciAqLwoubW8geyBjb2xvcjogI0ZGNjYwMCB9IC8qIExpdGVyYWwuTnVtYmVyLk9jdCAqLwouc2IgeyBjb2xvcjogI0NDMzMwMCB9IC8qIExpdGVyYWwuU3RyaW5nLkJhY2t0aWNrICovCi5zYyB7IGNvbG9yOiAjQ0MzMzAwIH0gLyogTGl0ZXJhbC5TdHJpbmcuQ2hhciAqLwouc2QgeyBjb2xvcjogI0NDMzMwMDsgZm9udC1zdHlsZTogaXRhbGljIH0gLyogTGl0ZXJhbC5TdHJpbmcuRG9jICovCi5zMiB7IGNvbG9yOiAjQ0MzMzAwIH0gLyogTGl0ZXJhbC5TdHJpbmcuRG91YmxlICovCi5zZSB7IGNvbG9yOiAjQ0MzMzAwOyB9IC8qIExpdGVyYWwuU3RyaW5nLkVzY2FwZSAqLwouc2ggeyBjb2xvcjogI0NDMzMwMCB9IC8qIExpdGVyYWwuU3RyaW5nLkhlcmVkb2MgKi8KLnNpIHsgY29sb3I6ICNBQTAwMDAgfSAvKiBMaXRlcmFsLlN0cmluZy5JbnRlcnBvbCAqLwouc3ggeyBjb2xvcjogI0NDMzMwMCB9IC8qIExpdGVyYWwuU3RyaW5nLk90aGVyICovCi5zciB7IGNvbG9yOiAjMzNBQUFBIH0gLyogTGl0ZXJhbC5TdHJpbmcuUmVnZXggKi8KLnMxIHsgY29sb3I6ICNDQzMzMDAgfSAvKiBMaXRlcmFsLlN0cmluZy5TaW5nbGUgKi8KLnNzIHsgY29sb3I6ICNGRkNDMzMgfSAvKiBMaXRlcmFsLlN0cmluZy5TeW1ib2wgKi8KLmJwIHsgY29sb3I6ICMzMzY2NjYgfSAvKiBOYW1lLkJ1aWx0aW4uUHNldWRvICovCi52YyB7IGNvbG9yOiAjMDAzMzMzIH0gLyogTmFtZS5WYXJpYWJsZS5DbGFzcyAqLwoudmcgeyBjb2xvcjogIzAwMzMzMyB9IC8qIE5hbWUuVmFyaWFibGUuR2xvYmFsICovCi52aSB7IGNvbG9yOiAjMDAzMzMzIH0gLyogTmFtZS5WYXJpYWJsZS5JbnN0YW5jZSAqLwouaWwgeyBjb2xvcjogI0ZGNjYwMCB9IC8qIExpdGVyYWwuTnVtYmVyLkludGVnZXIuTG9uZyAqLwoKLmNzcyAubywKLmNzcyAubyArIC5udCwKLmNzcyAubnQgKyAubnQgeyBjb2xvcjogIzk5OTsgfQo=")

	tmpls["html/_aside.html"] = tostring("e3t3aXRoIC5Bc2lkZS5NdXN0fX0KPGFzaWRlIGNsYXNzPSJzaWRlYmFyIj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIgc2lkZWJhci1zdGlja3kiPgogICAgPGRpdiBjbGFzcz0ic2lkZWJhci1hYm91dCI+CiAgICAgIDxhIGhyZWY9Ii8iPgogICAgICAgIDxoMT57ey5WYWwgInN0cmluZzEifX08L2gxPgogICAgICA8L2E+CiAgICAgIDxwIGNsYXNzPSJsZWFkIj57ey5WYWwgImRlc2MifX08L3A+CiAgICAgIDxuYXY+CiAgICAgICAgPHVsIGNsYXNzPSJzaWRlYmFyLW5hdiI+CiAgICAgICAgICB7e3JhbmdlIC5MaXN0ICJuYXYifX0KICAgICAgICAgIHt7d2l0aCAuTXVzdH19CiAgICAgICAgICA8bGk+PGEgaHJlZj0ne3suVmFsICJzbHVnIn19Jz57ey5WYWwgIm5hbWUifX08L2E+PC9saT4KICAgICAgICAgIHt7ZW5kfX0KICAgICAgICAgIHt7ZW5kfX0KICAgICAgICA8L3VsPgogICAgICA8L25hdj4KICA8L2Rpdj4KPC9hc2lkZT4Ke3tlbmR9fQo=")
	tmpls["html/_aside.html"] = tostring("e3t3aXRoIC5Bc2lkZS5NdXN0fX0KPGFzaWRlPgogIDxkaXY+CiAgICA8ZGl2PgogICAgICA8YSBocmVmPSIvIj4KICAgICAgICA8aDE+e3suVmFsICJzdHJpbmcxIn19PC9oMT4KICAgICAgPC9hPgogICAgICA8cD57ey5WYWwgImRlc2MifX08L3A+CiAgICAgIDxuYXY+CiAgICAgICAgPHVsPgogICAgICAgICAge3tyYW5nZSAuTGlzdCAibmF2In19CiAgICAgICAgICB7e3dpdGggLk11c3R9fQogICAgICAgICAgPGxpPjxhIGhyZWY9J3t7LlZhbCAic2x1ZyJ9fSc+e3suVmFsICJuYW1lIn19PC9hPjwvbGk+CiAgICAgICAgICB7e2VuZH19CiAgICAgICAgICB7e2VuZH19CiAgICAgICAgPC91bD4KICAgICAgPC9uYXY+CiAgPC9kaXY+CjwvYXNpZGU+Cnt7ZW5kfX0K")

	tmpls["html/_head.html"] = tostring("PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUFicmlsK0ZhdGZhY2V8UFQrU2Fuczo0MDAsNDAwaSw3MDAiPgo=")
	tmpls["html/_head.html"] = tostring("PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RUIrR2FyYW1vbmQ6aXRhbCx3Z2h0QDAsNDAwOzAsNTAwOzAsNjAwOzAsNzAwOzAsODAwOzEsNDAwOzEsNTAwOzEsNjAwOzEsNzAwOzEsODAwJmRpc3BsYXk9c3dhcCIgcmVsPSJzdHlsZXNoZWV0Ij4K")

	tmpls["html/_styles.html"] = tostring("PHN0eWxlPgogIHt7IHRlbXBsYXRlICJjc3MvcG9vbGUuY3NzIiB9fQogIHt7IHRlbXBsYXRlICJjc3Mvc3ludGF4LmNzcyIgfX0KICB7eyB0ZW1wbGF0ZSAiY3NzL2h5ZGUuY3NzIiB9fQogIHt7IHRlbXBsYXRlICJjc3MvbWFpbi5jc3MiIH19Cjwvc3R5bGU+Cg==")
	tmpls["html/_styles.html"] = tostring("PHN0eWxlPgogIHt7IHRlbXBsYXRlICJjc3MvbWFpbi5jc3MiIH19Cjwvc3R5bGU+Cg==")

	tmpls["html/_tracker.html"] = tostring("e3tpZiAuQX19CjxpbWcgc3R5bGU9J3Bvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAwOyByaWdodDogMDsnIHNyYz0iLy9ldmFuam9uZXMuZ29hdGNvdW50ZXIuY29tL2NvdW50P3A9e3suQS5QYXRofX17e2lmIC5BLlJlZmVyZXJ9fSZyPXt7LkEuUmVmZXJlcn19e3tlbmR9fSZybmQ9e3suQS5STkR9fSI+Cnt7ZW5kfX0K")

	tmpls["html/item.html"] = tostring("e3t3aXRoIC5JdGVtLk11c3R9fQo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KICB7eyB0ZW1wbGF0ZSAiaHRtbC9faGVhZC5odG1sIiAkIH19CiAgPHRpdGxlPnt7LlZhbCAibmFtZSJ9fSB8IHt7JC5Bc2lkZS5NdXN0LlZhbCAic3RyaW5nMiJ9fTwvdGl0bGU+CiAgPCEtLSBGb3Igc29tZSByZWFzb24gdGVtcGxhdGVzIGJsb3dzIGl0cyBicmFpbnMgaGVyZS4gLS0+CiAge3t3aXRoIC5WYWwgInNob3J0In19CiAgPG1ldGEgbmFtZT1kZXNjcmlwdGlvbiBjb250ZW50PSJ7ey59fSIgLz4KICB7e2VuZH19CjwvaGVhZD4KPGJvZHkgY2xhc3M9InRoZW1lLWJhc2UtMGQiPgogIHt7IHRlbXBsYXRlICJodG1sL19zdHlsZXMuaHRtbCIgJCB9fQogIHt7IHRlbXBsYXRlICJodG1sL19hc2lkZS5odG1sIiAkIH19CiAgPG1haW4gY2xhc3M9ImNvbnRlbnQgY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InBvc3QiPgogICAgICA8aDEgaWQ9bW9yZT57ey5WYWwgIm5hbWUifX08L2gxPgogICAgICB7e2lmICQuU2hvd0RhdGV9fQogICAgICA8dGltZT57ey5WYWwgImRhdGUiIHwgZGF0ZX19PC90aW1lPgogICAgICB7e2VuZH19CiAgICAgIDxhcnRpY2xlPnt7LlZhbCAiZGVzYyIgfCBodG1sIH19PC9hcnRpY2xlPgogICAgPC9kaXY+CiAgICA8dGFibGU+CiAgICAgIDx0cj4KICAgICAgICB7e3dpdGggLlJlZiAicHJldiJ9fQogICAgICAgIDx0ZCB3aWR0aD0iNTAlIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxhIGhyZWY9Jy97ey5NdXN0LlZhbCAic2x1ZyJ9fSc+UHJldjwvYT4KICAgICAgICAgICAgPGRpdj57ey5NdXN0LlZhbCAibmFtZSJ9fTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC90ZD4KICAgICAgICB7e2VuZH19CiAgICAgICAge3t3aXRoIC5SZWYgIm5leHQifX0KICAgICAgICA8dGQgd2lkdGg9IjUwJSI+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8YSBocmVmPScve3suTXVzdC5WYWwgInNsdWcifX0nPk5leHQ8L2E+CiAgICAgICAgICAgIDxkaXY+e3suTXVzdC5WYWwgIm5hbWUifX08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvdGQ+CiAgICAgICAge3tlbmR9fQogICAgICA8L3RyPgogICAgPC90YWJsZT4KICA8L21haW4+CiAge3sgdGVtcGxhdGUgImh0bWwvX3RyYWNrZXIuaHRtbCIgJCB9fQo8L2JvZHk+CjwvaHRtbD4Ke3tlbmR9fQo=")
	tmpls["html/item.html"] = tostring("e3t3aXRoIC5JdGVtLk11c3R9fQo8IURPQ1RZUEUgaHRtbD4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KICB7eyB0ZW1wbGF0ZSAiaHRtbC9faGVhZC5odG1sIiAkIH19CiAgPHRpdGxlPnt7LlZhbCAibmFtZSJ9fSB8IHt7JC5Bc2lkZS5NdXN0LlZhbCAic3RyaW5nMiJ9fTwvdGl0bGU+CiAgPCEtLSBGb3Igc29tZSByZWFzb24gdGVtcGxhdGVzIGJsb3dzIGl0cyBicmFpbnMgaGVyZS4gLS0+CiAge3t3aXRoIC5WYWwgInNob3J0In19CiAgPG1ldGEgbmFtZT1kZXNjcmlwdGlvbiBjb250ZW50PSJ7ey59fSIgLz4KICB7e2VuZH19CjwvaGVhZD4KPGJvZHk+CiAgPGRpdj4KICAgIHt7IHRlbXBsYXRlICJodG1sL19zdHlsZXMuaHRtbCIgJCB9fQogICAge3sgdGVtcGxhdGUgImh0bWwvX2FzaWRlLmh0bWwiICQgfX0KICAgIDxtYWluPgogICAgICA8ZGl2PgogICAgICAgIDxoMSBpZD1tb3JlPnt7LlZhbCAibmFtZSJ9fTwvaDE+CiAgICAgICAge3tpZiAkLlNob3dEYXRlfX0KICAgICAgICA8dGltZT57ey5WYWwgImRhdGUiIHwgZGF0ZX19PC90aW1lPgogICAgICAgIHt7ZW5kfX0KICAgICAgICA8YXJ0aWNsZT57ey5WYWwgImRlc2MiIHwgaHRtbCB9fTwvYXJ0aWNsZT4KICAgICAgPC9kaXY+CiAgICAgIHt7aWYgb3IgKC5SZWYgInByZXYiKSAoLlJlZiAibmV4dCIpfX0KICAgICAgPHRhYmxlPgogICAgICAgIDx0cj4KICAgICAgICAgIHt7d2l0aCAuUmVmICJwcmV2In19CiAgICAgICAgICA8dGQgd2lkdGg9IjUwJSI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPGEgaHJlZj0nL3t7Lk11c3QuVmFsICJzbHVnIn19Jz4mbGFycjsge3suTXVzdC5WYWwgIm5hbWUifX08L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZD4KICAgICAgICAgIHt7ZW5kfX0KICAgICAgICAgIHt7d2l0aCAuUmVmICJuZXh0In19CiAgICAgICAgICA8dGQgd2lkdGg9IjUwJSI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9J3RleHQtYWxpZ246IHJpZ2h0Oyc+CiAgICAgICAgICAgICAgPGEgaHJlZj0nL3t7Lk11c3QuVmFsICJzbHVnIn19Jz57ey5NdXN0LlZhbCAibmFtZSJ9fSAmcmFycjs8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC90ZD4KICAgICAgICAgIHt7ZW5kfX0KICAgICAgICA8L3RyPgogICAgICA8L3RhYmxlPgogICAgICB7e2VuZH19CiAgICA8L21haW4+CiAgPC9kaXY+CiAge3sgdGVtcGxhdGUgImh0bWwvX3RyYWNrZXIuaHRtbCIgJCB9fQo8L2JvZHk+CjwvaHRtbD4Ke3tlbmR9fQo=")

	tmpls["html/list.html"] = tostring("PCFET0NUWVBFIGh0bWw+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KPGhlYWQ+CiAge3t0ZW1wbGF0ZSAiaHRtbC9faGVhZC5odG1sIiAkfX0KICA8dGl0bGU+e3suQXNpZGUuTXVzdC5WYWwgInN0cmluZzMifX0gfCB7ey5Bc2lkZS5NdXN0LlZhbCAic3RyaW5nMiJ9fTwvdGl0bGU+CjwvaGVhZD4KPGJvZHkgY2xhc3M9InRoZW1lLWJhc2UtMGQiPgogIHt7dGVtcGxhdGUgImh0bWwvX3N0eWxlcy5odG1sIiAkfX0KICB7e3RlbXBsYXRlICJodG1sL19hc2lkZS5odG1sIiAkfX0KICA8bWFpbiBjbGFzcz0iY29udGVudCBjb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0icG9zdHMiPgogICAgICB7e3JhbmdlIC5MaXN0fX0KICAgICAgICB7e3dpdGggLk11c3R9fQogICAgICAgIDxhcnRpY2xlIGNsYXNzPSJwb3N0Ij4KICAgICAgICAgIDxoMSBjbGFzcz0icG9zdC10aXRsZSI+CiAgICAgICAgICAgIDxhIGhyZWY9Jy97ey5WYWwgInNsdWcifX0nPnt7LlZhbCAibmFtZSJ9fTwvYT4KICAgICAgICAgIDwvaDE+CiAgICAgICAgICA8dGltZSBjbGFzcz0icG9zdC1kYXRlIj57ey5WYWwgImRhdGUiIHwgZGF0ZX19PC90aW1lPgogICAgICAgICAgPHA+e3suVmFsICJzaG9ydCJ9fTwvcD4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlYWQtbW9yZS1saW5rIj4KICAgICAgICAgICAgPGEgaHJlZj0nL3t7LlZhbCAic2x1ZyJ9fSNtb3JlJz5SZWFkIE1vcmXigKY8L2E+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2FydGljbGU+CiAgICAgICAge3tlbmR9fQogICAgICB7e2VuZH19CiAgICA8L2Rpdj4KICA8L21haW4+CiAge3sgdGVtcGxhdGUgImh0bWwvX3RyYWNrZXIuaHRtbCIgJCB9fQo8L2JvZHk+CjwvaHRtbD4K")
	tmpls["html/list.html"] = tostring("PCFET0NUWVBFIGh0bWw+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KPGhlYWQ+CiAge3t0ZW1wbGF0ZSAiaHRtbC9faGVhZC5odG1sIiAkfX0KICA8dGl0bGU+e3suQXNpZGUuTXVzdC5WYWwgInN0cmluZzMifX0gfCB7ey5Bc2lkZS5NdXN0LlZhbCAic3RyaW5nMiJ9fTwvdGl0bGU+CjwvaGVhZD4KPGJvZHkgY2xhc3M9bGlzdD4KICA8ZGl2PgogICAge3t0ZW1wbGF0ZSAiaHRtbC9fc3R5bGVzLmh0bWwiICR9fQogICAge3t0ZW1wbGF0ZSAiaHRtbC9fYXNpZGUuaHRtbCIgJH19CiAgICA8bWFpbj4KICAgICAgPGRpdj4KICAgICAgICB7e3JhbmdlIC5MaXN0fX0KICAgICAgICAgIHt7d2l0aCAuTXVzdH19CiAgICAgICAgICA8YXJ0aWNsZT4KICAgICAgICAgICAgPGgxPgogICAgICAgICAgICAgIDxhIGhyZWY9Jy97ey5WYWwgInNsdWcifX0nPnt7LlZhbCAibmFtZSJ9fTwvYT4KICAgICAgICAgICAgPC9oMT4KICAgICAgICAgICAgPHRpbWU+e3suVmFsICJkYXRlIiB8IGRhdGV9fTwvdGltZT4KICAgICAgICAgICAgPHA+e3suVmFsICJzaG9ydCJ9fTwvcD4KICAgICAgICAgIDwvYXJ0aWNsZT4KICAgICAgICAgIHt7ZW5kfX0KICAgICAgICB7e2VuZH19CiAgICAgIDwvZGl2PgogICAgPC9tYWluPgogIDwvZGl2PgogIHt7IHRlbXBsYXRlICJodG1sL190cmFja2VyLmh0bWwiICQgfX0KPC9ib2R5Pgo8L2h0bWw+Cg==")

	tmpls["img/_code-24px.svg"] = tostring("PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0Ij48cGF0aCBkPSJNMCAwaDI0djI0SDBWMHoiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNOS40IDE2LjZMNC44IDEybDQuNi00LjZMOCA2bC02IDYgNiA2IDEuNC0xLjR6bTUuMiAwbDQuNi00LjYtNC42LTQuNkwxNiA2bDYgNi02IDYtMS40LTEuNHoiLz48L3N2Zz4=")