jekyll-lenciel-theme 1.0.10 → 1.0.24

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7fad96e4649beb852d3cd32e0124e33d8732485aa93c76caa175122e0e65ae29
4
- data.tar.gz: 30d1ac818afe0941ed5b91ca7e5192ad949da123588c62f9567c2bcf94c1b64f
3
+ metadata.gz: e450a40da61c971bbcd6251b141aa203917c3b9f3ac99808715c49d41376a8e9
4
+ data.tar.gz: 643710e607f24b779b208afaf2f3bf27feca6f79479b27a3a49ce10e0fadc547
5
5
  SHA512:
6
- metadata.gz: f418d73390615b1f24f6d252057005c65cc91a520bb1632e464a6e699c6576ac278b35e47bf4eb47471d21b0c320c482a5935f92fc7a15d032c33a8de3e6915c
7
- data.tar.gz: 185f341e842f5dc26734a18a6e8537a281ef22ae9113c60c58a4ea543592ff6a57bb07dad97160e2708fccec023c31a2b8dcb825d1fb1d727a90cf06ec07f0fb
6
+ metadata.gz: '0593ace58a898dceda9b34ef0d4ff0cf7d683ed9b5d2213d5af2f24bce45fb6c649adc4fa930d788c2e63cca0b50554208e64596e42ce928fbc2c86bc5922ecf'
7
+ data.tar.gz: fae3cee37a0dc659d366bb2b87a5dc164093e2142953c6a30719a21573c38c358dc265e418af2a994c788ba6a39ea855b0fb217deb3a908b94938cd359994db5
data/README.md CHANGED
@@ -30,7 +30,10 @@ Or install it yourself as:
30
30
 
31
31
  to update css, update scss, use 'compass compile'.
32
32
 
33
- to update js, just update it and see take care of app.js yourself.
33
+ to update js, just update it and take care of app.js yourself.
34
+
35
+ **make sure you've turn off Chrome cache to get the updated local version files!!!!**
36
+
34
37
  ## Contributing
35
38
 
36
39
  Bug reports and pull requests are welcome on GitHub at https://github.com/lenciel/jekyll-lenciel-theme. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
@@ -1,21 +1,57 @@
1
- <link rel="preload" href="{{ site.static_base }}/assets/stylesheets/screen.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
1
+ <link rel="preload" href="{{ site.static_base }}/assets/stylesheets/screen.css" as="style"
2
+ onload="this.onload=null;this.rel='stylesheet'">
2
3
  <link rel="stylesheet" href="{{ site.static_base }}/assets/stylesheets/screen.css">
3
4
 
4
- <script src="{{ site.static_base }}/assets/javascripts/app.js" async></script>
5
+ <script src="{{ site.static_base }}/assets/javascripts/app.js" defer></script>
5
6
 
6
7
  <script>
7
- (function() {
8
+ (function () {
8
9
  window.lazyLoadOptions = {
9
10
  threshold: 0
10
- };
11
- })();
11
+ };
12
+ })();
13
+ </script>
14
+ <script defer>
15
+ document.addEventListener("DOMContentLoaded", (event) => {
16
+ if ($('body').hasClass('no-sidebar')) {
17
+ $('.sidenote').hide();
18
+ $('.marginnote').hide();
19
+ }
20
+
21
+ if (!$('body').hasClass('sidebar-footer')) {
22
+ $('#content').append('<span class="toggle-sidebar"></span>');
23
+ $('.toggle-sidebar').bind('click', function (e) {
24
+ e.preventDefault();
25
+ if ($('body').hasClass('collapse-sidebar')) {
26
+ $('body').removeClass('collapse-sidebar');
27
+ $('.sidenote').show();
28
+ $('.marginnote').show();
29
+ } else {
30
+ $('body').addClass('collapse-sidebar');
31
+ $('.sidenote').hide();
32
+ $('.marginnote').hide();
33
+ }
34
+ });
35
+ }
36
+ var sections = $('aside.sidebar > section');
37
+ if (sections.length > 1) {
38
+ sections.each(function (section, index) {
39
+ if ((sections.length >= 3) && index % 3 === 0) {
40
+ $(section).addClass("first");
41
+ }
42
+ var count = ((index + 1) % 2) ? "odd" : "even";
43
+ $(section).addClass(count);
44
+ });
45
+ }
46
+ if (sections.length >= 3) { $('aside.sidebar').addClass('thirds'); }
47
+ });
12
48
  </script>
13
49
  <script>
14
50
  new Valine({
15
- placeholder: '说点儿什么...',
16
- el: '#vcomments',
17
- visitor: true,
18
- appId: '{{ site.comment_appId }}',
19
- appKey: '{{ site.comment_appKey }}'
51
+ placeholder: '说点儿什么...',
52
+ el: '#vcomments',
53
+ visitor: true,
54
+ appId: '{{ site.comment_appId }}',
55
+ appKey: '{{ site.comment_appKey }}'
20
56
  })
21
57
  </script>
@@ -1,4 +1,11 @@
1
1
  <p>
2
- Blog theme: <a href="https://github.com/lenciel/jekyll-lenciel-theme">jekyll-lenciel-theme</a>
3
- <span class="theme-version">{{ site.beian }}&nbsp;&nbsp;&nbsp;&nbsp;Copyright &copy; 2004-{{ site.time | date: "%Y" }} by <a href="mailto:{{ site.email }}">{{ site.author }}</a></span>
2
+ Blog theme:
3
+ <a href="https://github.com/lenciel/jekyll-lenciel-theme"
4
+ >jekyll-lenciel-theme</a
5
+ >
6
+ <span class="theme-version"
7
+ ><a href="https://beian.miit.gov.cn/">{{ site.beian }}</a
8
+ >&nbsp;&nbsp;&nbsp;&nbsp;Copyright &copy; 2004-{{ site.time | date: "%Y" }}
9
+ by <a href="mailto:{{ site.email }}">{{ site.author }}</a></span
10
+ >
4
11
  </p>
@@ -1,23 +1,49 @@
1
- {% if page.title %}<meta property="og:title" content="{{ page.title }}" /><meta itemprop="name" content="{{ page.title }}" />{% endif %}
1
+ {% if page.title %}<meta property="og:title" content="{{ page.title }}" /><meta
2
+ itemprop="name"
3
+ content="{{ page.title }}"
4
+ />{% endif %}
2
5
  <meta property="og:type" content="article" />
3
6
  <meta property="og:url" content="{{ canonical }}" />
4
- <meta property="og:description" content="{{ description | strip_html | condense_spaces | truncate:150 }}" />
5
- {% if page.ogimage %}<meta property="og:image" content="{{ page.ogimage }}" /><meta itemprop="image" content="{{ page.ogimage }}" />{% endif %}
7
+ <meta
8
+ property="og:description"
9
+ content="{{ description | strip_html | condense_spaces | truncate:150 }}"
10
+ />
11
+ {% if page.ogimage %}<meta
12
+ property="og:image"
13
+ content="{{ page.ogimage }}"
14
+ /><meta itemprop="image" content="{{ page.ogimage }}" />{% endif %}
6
15
  <meta property="og:site_name" content="{{ site.url }}" />
7
- <meta property="article:author" content="http://lenciel.com">
8
- {% if page.date %}<meta property="article:published_time" content="{{ page.date }}" />{% endif %}
9
- {% capture category %}{% if page.categories %}{{ page.categories }}{% endif %}{% endcapture %}
10
- {% if page.categories %}<meta property="article:section" content="{{ page.categories }}" />{% endif %}
11
- {% if page.keywords %}<meta name="keywords" content="{{ page.keywords }}" />{% for keyword in page.keywords %}<meta property="article:tag" content="{{ keyword | replace: ',', '' }}" />{% endfor %}{% endif %}
12
-
13
- {% if page.mathjax %}
14
- <script type="text/javascript" src="https://cdn.bootcss.com/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
16
+ <meta property="article:author" content="http://lenciel.com" />
17
+ {% if page.date %}<meta
18
+ property="article:published_time"
19
+ content="{{ page.date }}"
20
+ />{% endif %} {% capture category %}{% if page.categories %}{{ page.categories
21
+ }}{% endif %}{% endcapture %} {% if page.categories %}<meta
22
+ property="article:section"
23
+ content="{{ page.categories }}"
24
+ />{% endif %} {% if page.keywords %}<meta
25
+ name="keywords"
26
+ content="{{ page.keywords }}"
27
+ />{% for keyword in page.keywords %}<meta
28
+ property="article:tag"
29
+ content="{{ keyword | replace: ',', '' }}"
30
+ />{% endfor %}{% endif %} {% if page.mathjax %}
31
+ <script
32
+ type="text/javascript"
33
+ src="https://cdn.bootcss.com/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
34
+ ></script>
15
35
  {% endif %}
16
36
 
17
- <script src='{{ site.static_base }}/assets/javascripts/Valine.min.js'></script>
37
+ <script src="{{ site.static_base }}/assets/javascripts/Valine.min.js"></script>
38
+ <script
39
+ async
40
+ defer
41
+ data-website-id="57808f92-2188-4e05-bcc7-a27aa3262adf"
42
+ src="https://umami.lenciel.com/umami.js"
43
+ ></script>
18
44
  <!-- Prefetch DNS for external assets -->
19
- <link href="https://cdn.lenciel.com" rel="preconnect" crossorigin>
20
- <link rel="dns-prefetch" href="//stats.g.doubleclick.net">
21
- <link rel="dns-prefetch" href="//www.google-analytics.com">
22
- <link rel="dns-prefetch" href="//cdn.lenciel.com">
23
- <link rel="dns-prefetch" href="//cdn.bootcss.com">
45
+ <link href="https://cdn.lenciel.com" rel="preconnect" crossorigin />
46
+ <link rel="dns-prefetch" href="//stats.g.doubleclick.net" />
47
+ <link rel="dns-prefetch" href="//www.google-analytics.com" />
48
+ <link rel="dns-prefetch" href="//cdn.lenciel.com" />
49
+ <link rel="dns-prefetch" href="//cdn.bootcss.com" />
data/_includes/head.html CHANGED
@@ -17,7 +17,13 @@
17
17
 
18
18
  {% capture canonical %}{{ site.url }}{% if site.permalink contains '.html' %}{{ page.url }}{% else %}{{ page.url | remove:'index.html' | strip_slash }}{% endif %}{% endcapture %}
19
19
  <link rel="canonical" href="{{ canonical }}">
20
- <link href="{{ site.static_base }}/favicon.png" rel="icon">
20
+ <link rel="apple-touch-icon" sizes="180x180" href="{{ site.static_base }}/apple-touch-icon.png">
21
+ <link rel="icon" type="image/png" sizes="32x32" href="{{ site.static_base }}/favicon-32x32.png">
22
+ <link rel="icon" type="image/png" sizes="16x16" href="{{ site.static_base }}/favicon-16x16.png">
23
+ <link rel="manifest" href="{{ site.static_base }}/site.webmanifest">
24
+ <link rel="mask-icon" href="{{ site.static_base }}/safari-pinned-tab.svg" color="#5bbad5">
25
+ <meta name="msapplication-TileColor" content="#da532c">
26
+ <meta name="theme-color" content="#ffffff">
21
27
  <link href="{{ site.subscribe_rss }}" rel="alternate" title="{{site.title}}" type="application/atom+xml">
22
28
  {% include custom/head.html %}
23
29
  {% include google_analytics.html %}
@@ -0,0 +1,10 @@
1
+ <h1>Archive of posts from {{ page.date | date: "%Y" }}</h1>
2
+
3
+ <ul class="posts">
4
+ {% for post in page.posts %}
5
+ <li>
6
+ <span class="post-date">{{ post.date | date: "%b %-d, %Y" }}</span>
7
+ <a class="post-link" href="{{ post.url | relative_url }}">{{ post.title }}</a>
8
+ </li>
9
+ {% endfor %}
10
+ </ul>
@@ -1,6 +1,9 @@
1
1
  {% capture root_url %}{{ site.root | strip_slash }}{% endcapture %}
2
2
  {% include head.html %}
3
- <body {% if page.body_id %} id="{{ page.body_id }}" {% endif %} {% if page.sidebar == false %} class="no-sidebar" {% endif %} {% if page.sidebar == 'collapse' or site.sidebar == 'collapse' %} class="collapse-sidebar sidebar-footer" {% endif %}>
3
+
4
+ <body {% if page.body_id %} id="{{ page.body_id }}" {% endif %} {% if post.sidebar==false or page.sidebar==false %}
5
+ class="no-sidebar" {% endif %} {% if page.sidebar=='collapse' or site.sidebar=='collapse' or page.sidenote==false %}
6
+ class="collapse-sidebar sidebar-footer" {% endif %}>
4
7
  <header role="banner">{% include header.html %}</header>
5
8
  <nav role="navigation">{% include navigation.html %}</nav>
6
9
  <div id="main">
@@ -11,4 +14,5 @@
11
14
  <footer role="contentinfo">{% include footer.html %}</footer>
12
15
  {% include after_footer.html %}
13
16
  </body>
14
- </html>
17
+
18
+ </html>
data/_layouts/page.html CHANGED
@@ -3,15 +3,16 @@ layout: default
3
3
  ---
4
4
 
5
5
  <div>
6
- <article role="article">
7
- {% if page.title %}
8
- <header>
9
- <h1 class="entry-title">{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %}</h1>
10
- {% if page.date %}<p class="meta">{% include post/date.html %}{{ time }}</p>{% endif %}
11
- </header>
12
- {% endif %}
13
- {{ content }}
14
- {% unless page.footer == false %}
6
+ <article role="article">
7
+ {% if page.title %}
8
+ <header>
9
+ <h1 class="entry-title">{% if site.titlecase %}{{ page.title | titlecase }}{% else %}{{ page.title }}{% endif %}
10
+ </h1>
11
+ {% if page.date %}<p class="meta">{% include post/date.html %}{{ time }}</p>{% endif %}
12
+ </header>
13
+ {% endif %}
14
+ {{ content }}
15
+ {% unless page.footer == false %}
15
16
  <footer>
16
17
  {% if page.date or page.author %}<p class="meta">
17
18
  {% if page.author %}{% include post/author.html %}{% endif %}
@@ -19,21 +20,30 @@ layout: default
19
20
  {% if page.categories %}{% include post/categories.html %}{% endif %}
20
21
  </p>{% endif %}
21
22
  {% unless page.sharing == false %}
22
- {% include post/sharing.html %}
23
+ {% include post/sharing.html %}
23
24
  {% endunless %}
24
25
  </footer>
25
- {% endunless %}
26
- </article>
27
- {% if site.disqus_short_name and page.comments == true %}
26
+ {% endunless %}
27
+ </article>
28
+ {% if site.disqus_short_name and page.comments == true %}
28
29
  <section>
29
30
  <h1>Comments</h1>
30
31
  <div id="disqus_thread" aria-live="polite">{% include post/disqus_thread.html %}</div>
31
32
  </section>
32
- {% endif %}
33
- {% if site.comment_appId and page.comments == true %}
33
+ {% endif %}
34
+ {% if site.comment_appId and page.comments == true %}
34
35
  <section>
35
36
  <h1>欢迎留言</h1>
36
37
  <div id="vcomments" aria-live="polite"></div>
37
38
  </section>
38
- {% endif %}
39
+ {% endif %}
39
40
  </div>
41
+ {% unless page.sidebar == false %}
42
+ <aside class="sidebar">
43
+ {% if site.page_asides.size %}
44
+ {% include_array page_asides %}
45
+ {% else %}
46
+ {% include_array default_asides %}
47
+ {% endif %}
48
+ </aside>
49
+ {% endunless %}
data/_layouts/post.html CHANGED
@@ -4,31 +4,42 @@ single: true
4
4
  ---
5
5
 
6
6
  <div>
7
- <article class="hentry" role="article">
8
- {% include article.html %}
9
- <footer>
10
- <p class="meta">
11
- {% include post/author.html %}
12
- {% include post/date.html %}{{ time }}{% if updated %} {{ updated }}{% endif %}
13
- {% include post/categories.html %}
14
- </p>
15
- {% unless page.sharing == false %}
7
+ <article class="hentry" role="article">
8
+ {% include article.html %}
9
+ <footer>
10
+ <p class="meta">
11
+ {% include post/author.html %}
12
+ {% include post/date.html %}{{ time }}{% if updated %} {{ updated }}{% endif %}
13
+ {% include post/categories.html %}
14
+ </p>
15
+ {% unless page.sharing == false %}
16
16
  {% include post/sharing.html %}
17
- {% endunless %}
18
- <p class="meta">
19
- {% if page.previous.url %}
20
- <a class="basic-alignment left" href="{{page.previous.url}}" title="Previous Post: {{page.previous.title}}">&laquo; {{page.previous.title}}</a>
21
- {% endif %}
22
- {% if page.next.url %}
23
- <a class="basic-alignment right" href="{{page.next.url}}" title="Next Post: {{page.next.title}}">{{page.next.title}} &raquo;</a>
24
- {% endif %}
25
- </p>
26
- </footer>
27
- </article>
28
- {% if site.comment_appId and page.comments == true %}
17
+ {% endunless %}
18
+ <p class="meta">
19
+ {% if page.previous.url %}
20
+ <a class="basic-alignment left" href="{{page.previous.url}}"
21
+ title="Previous Post: {{page.previous.title}}">&laquo; {{page.previous.title}}</a>
22
+ {% endif %}
23
+ {% if page.next.url %}
24
+ <a class="basic-alignment right" href="{{page.next.url}}"
25
+ title="Next Post: {{page.next.title}}">{{page.next.title}} &raquo;</a>
26
+ {% endif %}
27
+ </p>
28
+ </footer>
29
+ </article>
30
+ {% if site.comment_appId and page.comments == true %}
29
31
  <section>
30
32
  <h1>欢迎留言</h1>
31
33
  <div id="vcomments" aria-live="polite"></div>
32
34
  </section>
33
- {% endif %}
34
- </div>
35
+ {% endif %}
36
+ </div>
37
+ {% unless page.sidebar == false %}
38
+ <aside class="sidebar">
39
+ {% if site.page_asides.size %}
40
+ {% include_array page_asides %}
41
+ {% else %}
42
+ {% include_array default_asides %}
43
+ {% endif %}
44
+ </aside>
45
+ {% endunless %}
@@ -0,0 +1,22 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+ <div>
5
+ <article role="article">
6
+ <header>
7
+ <h1 class="entry-title">Archives</h1>
8
+ </header>
9
+ <div id="blog-archives">
10
+ {% for post in page.posts %}
11
+ {% capture this_year %}{{ page.date | date: "%Y" }}{% endcapture %}
12
+ {% unless year == this_year %}
13
+ {% assign year = this_year %}
14
+ <h2>{{ page.date | date: "%Y" }}</h2>
15
+ {% endunless %}
16
+ <article>
17
+ {% include archive_post.html %}
18
+ </article>
19
+ {% endfor %}
20
+ </div>
21
+ </article>
22
+ </div>
@@ -0,0 +1 @@
1
+ !function(){"use strict";var t=function(t,e,n){var a=t[e];return function(){for(var e=[],i=arguments.length;i--;)e[i]=arguments[i];return n.apply(null,e),a.apply(t,e)}},e=function(){var t=window.doNotTrack,e=window.navigator,n=window.external,a=t||e.doNotTrack||e.msDoNotTrack||n&&"function"==typeof n.msTrackingProtectionEnabled&&n.msTrackingProtectionEnabled();return!0===a||1===a||"yes"===a||"1"===a};!function(n){var a=n.screen,i=a.width,r=a.height,o=n.navigator.language,c=n.location,s=c.hostname,u=c.pathname,l=c.search,d=n.localStorage,f=n.sessionStorage,v=n.document,p=n.history,m=v.querySelector("script[data-website-id]");if(m){var h,g=function(t){return m&&m.getAttribute(t)},w=g("data-website-id"),y=g("data-host-url"),S="false"!==g("data-auto-track"),E=g("data-do-not-track"),k=g("data-cache"),b=g("data-domains"),T=d.getItem("umami.disabled")||E&&e()||b&&!b.split(",").map((function(t){return t.trim()})).includes(s),N=y?(h=y)&&h.length>1&&h.endsWith("/")?h.slice(0,-1):h:m.src.split("/").slice(0,-1).join("/"),j=i+"x"+r,q=[],I=""+u+l,L=v.referrer,O=function(t,e,n){if(!T){var a="umami.cache",i={website:n,hostname:s,screen:j,language:o,cache:k&&f.getItem(a)};e&&Object.keys(e).forEach((function(t){i[t]=e[t]})),function(t,e,n){var a=new XMLHttpRequest;a.open("POST",t,!0),a.setRequestHeader("Content-Type","application/json"),a.onreadystatechange=function(){4===a.readyState&&n&&n(a.response)},a.send(JSON.stringify(e))}(N+"/api/collect",{type:t,payload:i},(function(t){return k&&f.setItem(a,t)}))}},P=function(t,e,n){return void 0===t&&(t=I),void 0===e&&(e=L),void 0===n&&(n=w),O("pageview",{url:t,referrer:e},n)},x=function(t,e,n,a){return void 0===e&&(e="custom"),void 0===n&&(n=I),void 0===a&&(a=w),O("event",{event_type:e,event_value:t,url:n},a)},A=function(){v.querySelectorAll("[class*='umami--']").forEach((function(t){t.className.split(" ").forEach((function(e){if(/^umami--([a-z]+)--([\w]+[\w-]*)$/.test(e)){var n=e.split("--"),a=n[1],i=n[2],r=function(){return x(i,a)};q.push([t,a,r]),t.addEventListener(a,r,!0)}}))}))},H=function(){q.forEach((function(t){var e=t[0],n=t[1],a=t[2];e&&e.removeEventListener(n,a,!0)})),q.length=0},R=function(t,e,n){if(n){H(),L=I;var a=n.toString();(I="http"===a.substring(0,4)?"/"+a.split("/").splice(3).join("/"):a)!==L&&P(I,L),setTimeout(A,300)}};if(!n.umami){var _=function(t){return x(t)};_.trackView=P,_.trackEvent=x,_.addEvents=A,_.removeEvents=H,n.umami=_}S&&!T&&(p.pushState=t(p,"pushState",R),p.replaceState=t(p,"replaceState",R),P(I,L),A())}}(window)}();
@@ -1 +1 @@
1
- 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,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,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}a{color:#1863a1}a:visited{color:#751590}a:focus{color:#0181eb}a:hover{color:#0181eb}a:active{color:#01579f}aside.sidebar a{color:#1863a1}aside.sidebar a:focus{color:#0181eb}aside.sidebar a:hover{color:#0181eb}aside.sidebar a:active{color:#01579f}a{-moz-transition:color .3s;-o-transition:color .3s;-webkit-transition:color .3s;transition:color .3s}html{background:#252525 url('/assets/images/line-tile.png?1490763144') top left}body>div{background:#f2f2f2 url('/assets/images/noise.png?1490763144') top left;border-bottom:1px solid #2d2d30}body>div>div{background:#f8f8f8 url('/assets/images/noise.png?1490763144') top left;border-right:1px solid #e0e0e0}.heading,body>header h1,h1,h2,h3,h4,h5,h6{font-family:PingFang SC,Verdana,Helvetica Neue,Microsoft Yahei,Hiragino Sans GB,Microsoft Sans Serif,WenQuanYi Micro Hei,sans-serif}.sans,body>header h2,article header p.meta,article>footer,#content .blog-index footer,html .gist .gist-file .gist-meta,#blog-archives a.category,#blog-archives time,aside.sidebar section,body>footer{font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif}.serif,body,#content .blog-index a[rel=full-article]{font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif}.mono,pre,code,tt,p code,li code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace}body>header h1{font-family:Verdana-BoldItalic,Microsoft Yahei;font-weight:normal;line-height:1.2em;margin-bottom:0.6667em}body>header h2{font-family:PingFang SC,Verdana,Helvetica Neue,Microsoft Yahei,Hiragino Sans GB,Microsoft Sans Serif,WenQuanYi Micro Hei,sans-serif}body{line-height:1.5em;color:#222}h1{line-height:1.2em}h1,h2,h3,h4,h5,h6{text-rendering:optimizelegibility;text-shadow:1px 1px #efefef,2px 2px #828887;margin-bottom:0.6em;line-height:1.35;font-weight:bold}p,blockquote,ul,ol{margin-bottom:1.5em}ul{list-style-type:disc}ul ul{list-style-type:circle;margin-bottom:0px}ul ul ul{list-style-type:square;margin-bottom:0px}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha;margin-bottom:0px}ol ol ol{list-style-type:lower-roman;margin-bottom:0px}ul,ul ul,ul ol,ol,ol ul,ol ol{margin-left:1.3em}strong{font-weight:bold}em{font-style:italic}sup,sub{font-size:0.8em;position:relative;display:inline-block}sup{top:-.5em}sub{bottom:-.5em}q{font-style:italic}q:before{content:"\201C"}q:after{content:"\201D"}em,dfn{font-style:italic}strong,dfn{font-weight:bold}del,s{text-decoration:line-through}abbr,acronym{border-bottom:1px dotted;cursor:help}sub,sup{line-height:0}hr{margin-bottom:0.2em}small{font-size:.8em}big{font-size:1.2em}blockquote{font-style:italic;position:relative;font-size:1.2em;line-height:1.5em;padding-left:1em;border-left:4px solid rgba(170,170,170,0.5)}blockquote cite{font-style:italic}blockquote cite a{color:#aaa !important;word-wrap:break-word}blockquote cite:before{content:'\2014';padding-right:.3em;padding-left:.3em;color:#aaa}@media only screen and (min-width: 992px){blockquote{padding-left:1.5em;border-left-width:4px}}.pullquote-right:before,.pullquote-left:before{padding:0;border:none;content:attr(data-pullquote);float:right;width:45%;margin:.5em 0 1em 1.5em;position:relative;top:7px;font-size:1.4em;line-height:1.45em}.pullquote-left:before{float:left;margin:.5em 1.5em 1em 0}.force-wrap,aside.sidebar a{white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word}.group,body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section,body div.pagination,aside.sidebar,#main,#content,.sidebar{*zoom:1}.group:after,body>header:after,body>nav:after,body>footer:after,body #content>article:after,body #content>div>article:after,body #content>div>section:after,body div.pagination:after,#main:after,#content:after,.sidebar:after{content:"";display:table;clear:both}body{-webkit-text-size-adjust:none;max-width:1000px;position:relative;margin:0 auto}body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:18px;padding-right:18px}@media only screen and (min-width: 480px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:25px;padding-right:25px}}@media only screen and (min-width: 768px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:35px;padding-right:35px}}@media only screen and (min-width: 992px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:55px;padding-right:55px}}body div.pagination{margin-left:18px;margin-right:18px}@media only screen and (min-width: 480px){body div.pagination{margin-left:25px;margin-right:25px}}@media only screen and (min-width: 768px){body div.pagination{margin-left:35px;margin-right:35px}}@media only screen and (min-width: 992px){body div.pagination{margin-left:55px;margin-right:55px}}body>header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em}#content{overflow:hidden}#content>div,#content>article{width:100%}aside.sidebar{float:none;padding:0 18px 1px;background-color:#f7f7f7;border-top:1px solid #e0e0e0}.flex-content,article img,article video,article .flash-video,aside.sidebar img{max-width:100%;height:auto}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left{float:left;margin-right:1.5em}.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{float:right;margin-left:1.5em}.basic-alignment.center,article img.center,article video.center,article .center.flash-video,aside.sidebar img.center{display:block;margin:0 auto 1.5em}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left,.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{margin-bottom:.8em}.toggle-sidebar,.no-sidebar .toggle-sidebar{display:none}@media only screen and (min-width: 750px){body.sidebar-footer aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}body.sidebar-footer aside.sidebar section.odd,body.sidebar-footer aside.sidebar section.even{float:left;width:48%}body.sidebar-footer aside.sidebar section.odd{margin-left:0}body.sidebar-footer aside.sidebar section.even{margin-left:4%}body.sidebar-footer aside.sidebar.thirds section{width:30%;margin-left:5%}body.sidebar-footer aside.sidebar.thirds section.first{margin-left:0;clear:both}}body.sidebar-footer #content{margin-right:0px}body.sidebar-footer .toggle-sidebar{display:none}@media only screen and (min-width: 550px){body>header{font-size:1em}}@media only screen and (min-width: 750px){aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}aside.sidebar section.odd,aside.sidebar section.even{float:left;width:48%}aside.sidebar section.odd{margin-left:0}aside.sidebar section.even{margin-left:4%}aside.sidebar.thirds section{width:30%;margin-left:5%}aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width: 768px){body{-webkit-text-size-adjust:auto}body>header{font-size:1.2em}#main{padding:0;margin:0 auto}#content{overflow:visible;margin-right:240px;position:relative}.no-sidebar #content{margin-right:0;border-right:0}.collapse-sidebar #content{margin-right:20px}#content>div,#content>article{padding-top:17.5px;padding-bottom:17.5px;float:left}aside.sidebar{width:210px;padding:0 15px 15px;background:none;clear:none;float:left;margin:0 -100% 0 0}aside.sidebar section{width:auto;margin-left:0}aside.sidebar section.odd,aside.sidebar section.even{float:none;width:auto;margin-left:0}.collapse-sidebar aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}.collapse-sidebar aside.sidebar section.odd,.collapse-sidebar aside.sidebar section.even{float:left;width:48%}.collapse-sidebar aside.sidebar section.odd{margin-left:0}.collapse-sidebar aside.sidebar section.even{margin-left:4%}.collapse-sidebar aside.sidebar.thirds section{width:30%;margin-left:5%}.collapse-sidebar aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width: 992px){body>header{font-size:1.3em}#content{margin-right:300px}#content>div,#content>article{padding-top:27.5px;padding-bottom:27.5px}aside.sidebar{width:260px;padding:1.2em 20px 20px}.collapse-sidebar aside.sidebar{padding-left:55px;padding-right:55px}}body>header{background:#333}body>header h1{display:inline-block;margin:0}body>header h1 a,body>header h1 a:visited,body>header h1 a:hover{color:#f2f2f2;text-decoration:none}body>header h2{margin:.2em 0 0;font-size:1em;color:#aaa;font-weight:normal}body>nav{position:relative;background-color:#545454;background:url('/assets/images/noise.png?1490763144'),url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY4Njg2OCIvPjxzdG9wIG9mZnNldD0iNTAlIiBzdG9wLWNvbG9yPSIjNTQ1NDU0Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMzgzODM4Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background:url('/assets/images/noise.png?1490763144'),-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #686868),color-stop(50%, #545454),color-stop(100%, #383838));background:url('/assets/images/noise.png?1490763144'),-moz-linear-gradient(#686868,#545454,#383838);background:url('/assets/images/noise.png?1490763144'),-webkit-linear-gradient(#686868,#545454,#383838);background:url('/assets/images/noise.png?1490763144'),linear-gradient(#686868,#545454,#383838);border-top:1px solid #7a7a7a;border-bottom:1px solid #141414;padding-top:.35em;padding-bottom:.35em}body>nav form{-moz-background-clip:padding;-o-background-clip:padding-box;-webkit-background-clip:padding;background-clip:padding-box;margin:0;padding:0}body>nav form .search{padding:.3em .5em 0;font-size:.85em;font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif;font-display:auto;line-height:1.1em;width:95%;-moz-border-radius:.5em;-webkit-border-radius:.5em;border-radius:.5em;-moz-background-clip:padding;-o-background-clip:padding-box;-webkit-background-clip:padding;background-clip:padding-box;-moz-box-shadow:#595959 0 1px;-webkit-box-shadow:#595959 0 1px;box-shadow:#595959 0 1px;background-color:#7a7a7a;border:1px solid #3a3a3a;color:#888}body>nav form .search:focus{color:#444;border-color:#80b1df;-moz-box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;-webkit-box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;background-color:#fff;outline:none}body>nav fieldset[role=search]{float:right;width:48%}body>nav fieldset.mobile-nav{float:left;width:48%}body>nav fieldset.mobile-nav select{width:100%;font-size:.8em;border:1px solid #888}body>nav ul{display:none}@media only screen and (min-width: 550px){body>nav{font-size:.9em}body>nav ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;float:left;display:block;padding-top:.15em}body>nav ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;float:left;padding-left:0;padding-right:0}body>nav ul li:first-child{padding-left:0}body>nav ul li:last-child{padding-right:0}body>nav ul li.last{padding-right:0}body>nav ul.subscription{margin-left:.8em;float:right}body>nav ul.subscription li:last-child a{padding-right:0}body>nav ul li{margin:0}body>nav a{color:#000;font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif;font-display:auto;text-shadow:#727272 0 1px;float:left;text-decoration:none;font-size:1.1em;padding:.1em 0;line-height:1.5em}body>nav a:visited{color:#000}body>nav a:hover{color:#000}body>nav li+li{border-left:1px solid #383838;margin-left:.8em}body>nav li+li a{padding-left:.8em;border-left:1px solid #656565}body>nav form{float:right;text-align:left;padding-left:.8em;width:175px}body>nav form .search{width:93%;font-size:.95em;line-height:1.2em}body>nav ul[data-subscription$=email]+form{width:97px}body>nav ul[data-subscription$=email]+form .search{width:91%}body>nav fieldset.mobile-nav{display:none}body>nav fieldset[role=search]{width:99%}}@media only screen and (min-width: 992px){body>nav form{width:215px}body>nav ul[data-subscription$=email]+form{width:147px}}.no-placeholder body>nav .search{background:#7a7a7a url('/assets/images/search.png?1490763144') 0.3em 0.25em no-repeat;text-indent:1.3em}@media only screen and (min-width: 550px){.maskImage body>nav ul[data-subscription$=email]+form{width:123px}}@media only screen and (min-width: 992px){.maskImage body>nav ul[data-subscription$=email]+form{width:173px}}.maskImage ul.subscription{position:relative;top:.2em}.maskImage ul.subscription li,.maskImage ul.subscription a{border:0;padding:0}.maskImage a[rel=subscribe-rss]{position:relative;top:0px;text-indent:-999999em;background-color:#656565;border:0;padding:0}.maskImage a[rel=subscribe-rss],.maskImage a[rel=subscribe-rss]:after{-webkit-mask-image:url('/assets/images/rss.png?1490763144');-moz-mask-image:url('/assets/images/rss.png?1490763144');-ms-mask-image:url('/assets/images/rss.png?1490763144');-o-mask-image:url('/assets/images/rss.png?1490763144');mask-image:url('/assets/images/rss.png?1490763144');-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;-ms-mask-repeat:no-repeat;-o-mask-repeat:no-repeat;mask-repeat:no-repeat;width:22px;height:22px}.maskImage a[rel=subscribe-rss]:after{content:"";position:absolute;top:-1px;left:0;background-color:#404040}.maskImage a[rel=subscribe-rss]:hover:after{background-color:#333}.maskImage a[rel=subscribe-email]{position:relative;top:0px;text-indent:-999999em;background-color:#656565;border:0;padding:0}.maskImage a[rel=subscribe-email],.maskImage a[rel=subscribe-email]:after{-webkit-mask-image:url('/assets/images/email.png?1490763144');-moz-mask-image:url('/assets/images/email.png?1490763144');-ms-mask-image:url('/assets/images/email.png?1490763144');-o-mask-image:url('/assets/images/email.png?1490763144');mask-image:url('/assets/images/email.png?1490763144');-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;-ms-mask-repeat:no-repeat;-o-mask-repeat:no-repeat;mask-repeat:no-repeat;width:28px;height:22px}.maskImage a[rel=subscribe-email]:after{content:"";position:absolute;top:-1px;left:0;background-color:#404040}.maskImage a[rel=subscribe-email]:hover:after{background-color:#333}article{padding-top:1em}article a{color:#d0648a;font-weight:bold;text-decoration:none;text-shadow:1px 1px #efefef,2px 2px #ccc;word-wrap:break-word;-webkit-transition-duration:0.5s;-moz-transition-duration:0.5s;-ms-transition-duration:0.5s;-o-transition-duration:0.5s;transition-duration:0.5s}article header{position:relative;padding-top:2em;padding-bottom:1em;margin-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}article header h1{margin:0;text-shadow:1px 1px #efefef,2px 2px #828887}article header h1 a{text-decoration:none}article header h1 a:hover{text-decoration:none}article header p{font-size:.9em;color:#aaa;margin:0}article header p.meta{text-transform:uppercase;position:absolute;top:0}@media only screen and (min-width: 768px){article header{margin-bottom:1.5em;padding-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}}article h2{text-shadow:1px 1px #efefef,2px 2px #828887;padding-top:0.8em;border-top:2px dashed #828887}.entry-content article h2:first-child,article header+h2{padding-top:0}article h2:first-child,article header+h2{background:none}article .feature{padding-top:.5em;margin-bottom:1em;padding-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x;font-size:2.0em;font-style:italic;line-height:1.3em}article img,article video,article .flash-video{-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:#fff 0.5em solid}article video,article .flash-video{margin:0 auto 1.5em}article video{display:block;width:100%}article .flash-video>div{position:relative;display:block;padding-bottom:56.25%;padding-top:1px;height:0;overflow:hidden}article .flash-video>div iframe,article .flash-video>div object,article .flash-video>div embed{position:absolute;top:0;left:0;width:100%;height:100%}article>footer{padding-bottom:2.5em;margin-top:2em}article>footer p.meta{margin-bottom:.8em;font-size:.85em;clear:both;overflow:hidden}.blog-index article+article{border-top:3px dashed #828887}#content .blog-index{padding-top:0;padding-bottom:0}#content .blog-index article{padding-top:2em}#content .blog-index article header{background:none;padding-bottom:0}#content .blog-index article h1{text-shadow:1px 1px #efefef,2px 2px #828887}#content .blog-index article h1 a{text-decoration:none;color:inherit}#content .blog-index article h1 a:hover{text-decoration:none;color:#0181eb}#content .blog-index a[rel=full-article]{background:#ebebeb;display:inline-block;padding:.4em .8em;margin-right:.5em;text-decoration:none;color:#666;-moz-transition:background-color .5s;-o-transition:background-color .5s;-webkit-transition:background-color .5s;transition:background-color .5s}#content .blog-index a[rel=full-article]:hover{background:#0181eb;text-shadow:none;color:#f8f8f8}#content .blog-index footer{margin-top:1em}.separator,article>footer .byline+time:before,article>footer time+time:before,article>footer .comments:before,article>footer .byline ~ .categories:before{content:"\2022 ";padding:0 .4em 0 .2em;display:inline-block}#content div.pagination{text-align:center;font-size:.95em;position:relative;border-top:3px dashed #828887;padding-top:1.5em;padding-bottom:1.5em}#content div.pagination a{text-decoration:none;color:#aaa}#content div.pagination a.prev{position:absolute;left:0}#content div.pagination a.next{position:absolute;right:0}#content div.pagination a:hover{color:#0181eb}#content div.pagination a[href*=archive]:before,#content div.pagination a[href*=archive]:after{content:'\2014';padding:0 .3em}p.meta+.sharing{padding-top:1em;padding-left:0;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x}#fb-root{display:none}.highlight,html .gist .gist-file .gist-syntax .gist-highlight{border:1px solid #05232b !important}.highlight table td.code,html .gist .gist-file .gist-syntax .gist-highlight table td.code{width:100%}.highlight .line-numbers,html .gist .gist-file .gist-syntax .highlight .line_numbers{text-align:right;font-size:13px;line-height:1.45em;background:#073642 url('/assets/images/noise.png?1490763144') top left !important;border-right:1px solid #00232c !important;-moz-box-shadow:#083e4b -1px 0 inset;-webkit-box-shadow:#083e4b -1px 0 inset;box-shadow:#083e4b -1px 0 inset;text-shadow:#021014 0 -1px;padding:.8em !important;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.highlight .line-numbers span,html .gist .gist-file .gist-syntax .highlight .line_numbers span{color:#586e75 !important}.line-data{font-size:13px}figure.code,.gist-file,pre{-moz-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-webkit-box-shadow:rgba(0,0,0,0.06) 0 0 10px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}figure.code .highlight pre,.gist-file .highlight pre,pre .highlight pre{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.gist .highlight *::-moz-selection,figure.code .highlight *::-moz-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.gist .highlight *::-webkit-selection,figure.code .highlight *::-webkit-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.gist .highlight *::selection,figure.code .highlight *::selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}html .gist .gist-file{margin-bottom:1.8em;position:relative;border:none;padding-top:26px !important}html .gist .gist-file .highlight{margin-bottom:0}html .gist .gist-file .gist-syntax{background:#01222d !important;color:#d5dee2 !important;padding:0 2em;border-bottom:0 !important}html .gist .gist-file .gist-syntax .gist-highlight{background:#002b36 !important}html .gist .gist-file .gist-syntax .highlight pre{padding:0}html .gist .gist-file .gist-meta{padding:.6em 0.8em;font-size:.7em !important;background:#01222d url('/assets/images/noise.png?1490763144') top left;text-shadow:none !important;color:#d5dee2;line-height:1.5em}html .gist .gist-file .gist-meta a{color:#76888b !important;text-decoration:none}html .gist .gist-file .gist-meta a:hover,html .gist .gist-file .gist-meta a:focus{text-decoration:underline}html .gist .gist-file .gist-meta a:hover{color:#93a1a1 !important}html .gist .gist-file .gist-meta a[href*='#file']{position:absolute;top:0;left:0;right:0px;color:#474747 !important}html .gist .gist-file .gist-meta a[href*='#file']:hover{color:#1863a1 !important}html .gist .gist-file .gist-meta a[href*=raw]{top:.4em}pre{background:#002b36 url('/assets/images/noise.png?1490763144') top left;-moz-border-radius:.4em;-webkit-border-radius:.4em;border-radius:.4em;border:1px solid #05232b;line-height:1.45em;font-size:13px;margin-bottom:2.1em;padding:.8em 1em;color:#93a1a1;overflow:auto}h3.filename+pre{-moz-border-radius-topleft:0px;-webkit-border-top-left-radius:0px;border-top-left-radius:0px;-moz-border-radius-topright:0px;-webkit-border-top-right-radius:0px;border-top-right-radius:0px}p code,li code{word-wrap:break-word;white-space:pre;display:inline-block;background:#B6DDEF;font-size:90%;line-height:1.5em;color:#555;border:1px dashed #0181EB;-moz-border-radius:.4em;-webkit-border-radius:.4em;border-radius:.4em;padding:0 .3em;margin:-1px 0}p pre code,li pre code{font-size:1em !important;background:none;border:none}.pre-code,html .gist .gist-file .gist-syntax .highlight pre,.highlight code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace !important;overflow:scroll;overflow-y:hidden;display:block;padding:.8em;overflow-x:auto;line-height:1.45em;background:#002b36 url('/assets/images/noise.png?1490763144') top left !important;color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .highlight pre span,.highlight code span{color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .highlight pre span,.highlight code span{font-style:normal !important;font-weight:normal !important}.pre-code .c,html .gist .gist-file .gist-syntax .highlight pre .c,.highlight code .c{color:#586e75 !important;font-style:italic !important}.pre-code .cm,html .gist .gist-file .gist-syntax .highlight pre .cm,.highlight code .cm{color:#586e75 !important;font-style:italic !important}.pre-code .cp,html .gist .gist-file .gist-syntax .highlight pre .cp,.highlight code .cp{color:#586e75 !important;font-style:italic !important}.pre-code .c1,html .gist .gist-file .gist-syntax .highlight pre .c1,.highlight code .c1{color:#586e75 !important;font-style:italic !important}.pre-code .cs,html .gist .gist-file .gist-syntax .highlight pre .cs,.highlight code .cs{color:#586e75 !important;font-weight:bold !important;font-style:italic !important}.pre-code .err,html .gist .gist-file .gist-syntax .highlight pre .err,.highlight code .err{color:#dc322f !important;background:none !important}.pre-code .k,html .gist .gist-file .gist-syntax .highlight pre .k,.highlight code .k{color:#cb4b16 !important}.pre-code .o,html .gist .gist-file .gist-syntax .highlight pre .o,.highlight code .o{color:#93a1a1 !important;font-weight:bold !important}.pre-code .p,html .gist .gist-file .gist-syntax .highlight pre .p,.highlight code .p{color:#93a1a1 !important}.pre-code .ow,html .gist .gist-file .gist-syntax .highlight pre .ow,.highlight code .ow{color:#2aa198 !important;font-weight:bold !important}.pre-code .gd,html .gist .gist-file .gist-syntax .highlight pre .gd,.highlight code .gd{color:#93a1a1 !important;background-color:#372d34 !important;display:inline-block}.pre-code .gd .x,html .gist .gist-file .gist-syntax .highlight pre .gd .x,.highlight code .gd .x{color:#93a1a1 !important;background-color:#4d2d34 !important;display:inline-block}.pre-code .ge,html .gist .gist-file .gist-syntax .highlight pre .ge,.highlight code .ge{color:#93a1a1 !important;font-style:italic !important}.pre-code .gh,html .gist .gist-file .gist-syntax .highlight pre .gh,.highlight code .gh{color:#586e75 !important}.pre-code .gi,html .gist .gist-file .gist-syntax .highlight pre .gi,.highlight code .gi{color:#93a1a1 !important;background-color:#1b412b !important;display:inline-block}.pre-code .gi .x,html .gist .gist-file .gist-syntax .highlight pre .gi .x,.highlight code .gi .x{color:#93a1a1 !important;background-color:#355720 !important;display:inline-block}.pre-code .gs,html .gist .gist-file .gist-syntax .highlight pre .gs,.highlight code .gs{color:#93a1a1 !important;font-weight:bold !important}.pre-code .gu,html .gist .gist-file .gist-syntax .highlight pre .gu,.highlight code .gu{color:#6c71c4 !important}.pre-code .kc,html .gist .gist-file .gist-syntax .highlight pre .kc,.highlight code .kc{color:#859900 !important;font-weight:bold !important}.pre-code .kd,html .gist .gist-file .gist-syntax .highlight pre .kd,.highlight code .kd{color:#268bd2 !important}.pre-code .kp,html .gist .gist-file .gist-syntax .highlight pre .kp,.highlight code .kp{color:#cb4b16 !important;font-weight:bold !important}.pre-code .kr,html .gist .gist-file .gist-syntax .highlight pre .kr,.highlight code .kr{color:#d33682 !important;font-weight:bold !important}.pre-code .kt,html .gist .gist-file .gist-syntax .highlight pre .kt,.highlight code .kt{color:#2aa198 !important}.pre-code .n,html .gist .gist-file .gist-syntax .highlight pre .n,.highlight code .n{color:#268bd2 !important}.pre-code .na,html .gist .gist-file .gist-syntax .highlight pre .na,.highlight code .na{color:#268bd2 !important}.pre-code .nb,html .gist .gist-file .gist-syntax .highlight pre .nb,.highlight code .nb{color:#859900 !important}.pre-code .nc,html .gist .gist-file .gist-syntax .highlight pre .nc,.highlight code .nc{color:#d33682 !important}.pre-code .no,html .gist .gist-file .gist-syntax .highlight pre .no,.highlight code .no{color:#b58900 !important}.pre-code .nl,html .gist .gist-file .gist-syntax .highlight pre .nl,.highlight code .nl{color:#859900 !important}.pre-code .ne,html .gist .gist-file .gist-syntax .highlight pre .ne,.highlight code .ne{color:#268bd2 !important;font-weight:bold !important}.pre-code .nf,html .gist .gist-file .gist-syntax .highlight pre .nf,.highlight code .nf{color:#268bd2 !important;font-weight:bold !important}.pre-code .nn,html .gist .gist-file .gist-syntax .highlight pre .nn,.highlight code .nn{color:#b58900 !important}.pre-code .nt,html .gist .gist-file .gist-syntax .highlight pre .nt,.highlight code .nt{color:#268bd2 !important;font-weight:bold !important}.pre-code .nx,html .gist .gist-file .gist-syntax .highlight pre .nx,.highlight code .nx{color:#b58900 !important}.pre-code .vg,html .gist .gist-file .gist-syntax .highlight pre .vg,.highlight code .vg{color:#268bd2 !important}.pre-code .vi,html .gist .gist-file .gist-syntax .highlight pre .vi,.highlight code .vi{color:#268bd2 !important}.pre-code .nv,html .gist .gist-file .gist-syntax .highlight pre .nv,.highlight code .nv{color:#268bd2 !important}.pre-code .mf,html .gist .gist-file .gist-syntax .highlight pre .mf,.highlight code .mf{color:#2aa198 !important}.pre-code .m,html .gist .gist-file .gist-syntax .highlight pre .m,.highlight code .m{color:#2aa198 !important}.pre-code .mh,html .gist .gist-file .gist-syntax .highlight pre .mh,.highlight code .mh{color:#2aa198 !important}.pre-code .mi,html .gist .gist-file .gist-syntax .highlight pre .mi,.highlight code .mi{color:#2aa198 !important}.pre-code .s,html .gist .gist-file .gist-syntax .highlight pre .s,.highlight code .s{color:#2aa198 !important}.pre-code .sd,html .gist .gist-file .gist-syntax .highlight pre .sd,.highlight code .sd{color:#2aa198 !important}.pre-code .s2,html .gist .gist-file .gist-syntax .highlight pre .s2,.highlight code .s2{color:#2aa198 !important}.pre-code .se,html .gist .gist-file .gist-syntax .highlight pre .se,.highlight code .se{color:#dc322f !important}.pre-code .si,html .gist .gist-file .gist-syntax .highlight pre .si,.highlight code .si{color:#268bd2 !important}.pre-code .sr,html .gist .gist-file .gist-syntax .highlight pre .sr,.highlight code .sr{color:#2aa198 !important}.pre-code .s1,html .gist .gist-file .gist-syntax .highlight pre .s1,.highlight code .s1{color:#2aa198 !important}.pre-code div .gd,html .gist .gist-file .gist-syntax .highlight pre div .gd,.highlight code div .gd,.pre-code div .gd .x,html .gist .gist-file .gist-syntax .highlight pre div .gd .x,.highlight code div .gd .x,.pre-code div .gi,html .gist .gist-file .gist-syntax .highlight pre div .gi,.highlight code div .gi,.pre-code div .gi .x,html .gist .gist-file .gist-syntax .highlight pre div .gi .x,.highlight code div .gi .x{display:inline-block;width:100%}.highlight,.gist-highlight{margin-bottom:1.8em;background:#002b36;overflow-y:hidden;overflow-x:auto}.highlight pre,.gist-highlight pre{background:none;-moz-border-radius:0px;-webkit-border-radius:0px;border-radius:0px;border:none;padding:0;margin-bottom:0}pre::-webkit-scrollbar,.highlight::-webkit-scrollbar,.gist-highlight::-webkit-scrollbar{height:.5em;background:rgba(255,255,255,0.15)}pre::-webkit-scrollbar-thumb:horizontal,.highlight::-webkit-scrollbar-thumb:horizontal,.gist-highlight::-webkit-scrollbar-thumb:horizontal{background:rgba(255,255,255,0.2);-webkit-border-radius:4px;border-radius:4px}.highlight code{background:#000}figure.code{background:none;padding:0;border:0;margin-bottom:1.5em}figure.code pre{margin-bottom:0}figure.code figcaption{position:relative}figure.code .highlight{margin-bottom:0}.code-title,html .gist .gist-file .gist-meta a[href*='#file'],h3.filename,figure.code figcaption{text-align:center;font-size:13px;line-height:2em;text-shadow:#cbcccc 0 1px 0;color:#474747;font-weight:normal;margin-bottom:0;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;font-family:"Helvetica Neue", Arial, "Lucida Grande", "Lucida Sans Unicode", Lucida, sans-serif;background:#aaa url('/assets/images/code_bg.png?1490763144') top repeat-x;border:1px solid #565656;border-top-color:#cbcbcb;border-left-color:#a5a5a5;border-right-color:#a5a5a5;border-bottom:0}.download-source,html .gist .gist-file .gist-meta a[href*=raw],figure.code figcaption a{position:absolute;right:.8em;text-decoration:none;color:#666 !important;z-index:1;font-size:13px;text-shadow:#cbcccc 0 1px 0;padding-left:3em}.download-source:hover,html .gist .gist-file .gist-meta a[href*=raw]:hover,figure.code figcaption a:hover,.download-source:focus,html .gist .gist-file .gist-meta a[href*=raw]:focus,figure.code figcaption a:focus{text-decoration:underline}.gist-file{font-size:.8em !important}table.lines{width:100%}#archive #content>div,#archive #content>div>article{padding-top:0}#blog-archives{color:#aaa}#blog-archives article{padding:1em 0 1em;position:relative;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}#blog-archives article:last-child{background:none}#blog-archives article footer{padding:0;margin:0}#blog-archives h1{color:#222;margin-bottom:.3em}#blog-archives h2{display:none}#blog-archives h1{font-size:1.5em}#blog-archives h1 a{text-decoration:none;color:inherit;font-weight:normal;display:inline-block}#blog-archives h1 a:hover,#blog-archives h1 a:focus{text-decoration:underline}#blog-archives h1 a:hover{color:#0181eb}#blog-archives a.category,#blog-archives time{color:#aaa}#blog-archives .entry-content{display:none}#blog-archives time{font-size:.9em;line-height:1.2em}#blog-archives time .month,#blog-archives time .day{display:inline-block}#blog-archives time .month{text-transform:uppercase}#blog-archives p{margin-bottom:1em}#blog-archives a,#blog-archives .entry-content a{color:inherit}#blog-archives a:hover,#blog-archives .entry-content a:hover{color:#0181eb}#blog-archives a:hover{color:#0181eb}@media only screen and (min-width: 550px){#blog-archives article{margin-left:5em}#blog-archives h2{margin-bottom:.3em;font-weight:normal;display:inline-block;position:relative;top:-1px;float:left}#blog-archives h2:first-child{padding-top:.75em}#blog-archives time{position:absolute;text-align:right;left:0em;top:1.8em}#blog-archives .year{display:none}#blog-archives article{padding-left:4.5em;padding-bottom:.7em}#blog-archives a.category{line-height:1.1em}}#content>.category article{margin-left:0;padding-left:6.8em}#content>.category .year{display:inline}.side-shadow-border,aside.sidebar section h1,aside.sidebar li{-moz-box-shadow:#fff 0 1px;-webkit-box-shadow:#fff 0 1px;box-shadow:#fff 0 1px}aside.sidebar{overflow:hidden;color:#4c4c4c;text-shadow:#fff 0 1px}aside.sidebar section{font-size:.8em;line-height:1.4em;margin-bottom:1.5em}aside.sidebar section h1{margin:1.5em 0 0;padding-bottom:.2em;border-bottom:1px solid #e0e0e0}aside.sidebar section h1+p{padding-top:.4em}aside.sidebar img{-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:#fff 0.3em solid}aside.sidebar ul{margin-bottom:0.5em;margin-left:0}aside.sidebar li{list-style:none;padding:.5em 0;margin:0;border-bottom:1px solid #e0e0e0}aside.sidebar li p:last-child{margin-bottom:0}aside.sidebar a{color:inherit;-moz-transition:color .5s;-o-transition:color .5s;-webkit-transition:color .5s;transition:color .5s}aside.sidebar:hover a{color:#1863a1}aside.sidebar:hover a:hover{color:#0181eb}.aside-alt-link,#tweets a[href*='twitter.com/search'],#pinboard_linkroll .pin-tag{color:#7f7f7f}.aside-alt-link:hover,#tweets a[href*='twitter.com/search']:hover,#pinboard_linkroll .pin-tag:hover{color:#0181eb}@media only screen and (min-width: 768px){.toggle-sidebar{outline:none;position:absolute;right:-10px;top:0;bottom:0;display:inline-block;text-decoration:none;color:#cecece;width:9px;cursor:pointer}.toggle-sidebar:hover{background:#e9e9e9;background:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UwZTBlMCIgc3RvcC1vcGFjaXR5PSIwLjUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMGUwZTAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(224,224,224,0.5)),color-stop(100%, rgba(224,224,224,0)));background:-moz-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:-webkit-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:linear-gradient(to right, rgba(224,224,224,0.5),rgba(224,224,224,0))}.toggle-sidebar:after{position:absolute;right:-11px;top:0;width:20px;font-size:1.2em;line-height:1.1em;padding-bottom:.15em;-moz-border-radius-bottomright:.3em;-webkit-border-bottom-right-radius:.3em;border-bottom-right-radius:.3em;text-align:center;background:#f8f8f8 url('/assets/images/noise.png?1490763144') top left;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;content:"\00BB";text-indent:-1px}.collapse-sidebar .toggle-sidebar{text-indent:0px;right:-20px;width:19px}.collapse-sidebar .toggle-sidebar:hover{background:#e9e9e9}.collapse-sidebar .toggle-sidebar:after{border-left:1px solid #e0e0e0;text-shadow:#fff 0 1px;content:"\00AB";left:0px;right:0;text-align:center;text-indent:0;border:0;border-right-width:0;background:none}}#tweets .loading{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMjgwMTE3NDA3MjA2ODExQTQxQUNFN0NCOEMyNEMzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQkYxMEI5QjQ5QzYxMUUwQTJGN0YyQzFDMzFCQjZCMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQkYxMEI5QTQ5QzYxMUUwQTJGN0YyQzFDMzFCQjZCMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIxREYyRDc2MTIyMDY4MTFBNDFBQ0U3Q0I4QzI0QzM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAyODAxMTc0MDcyMDY4MTFBNDFBQ0U3Q0I4QzI0QzM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+bAX+SwAAAZBJREFUeNrsl+1tgzAQhgF1AHeCphPU3QA2SDcIEzRMUDpB0wlCJ8gIcf+DQicoG5QNqC29SJZl/EHc8oeTTkTCvnvse3048TAM0ZKWRAvbCnDTNE3omBvulHvPnVkBAic/ct/hd4fn/X+VQE4+AjzN0UDK/Zv7njtxTL5Tko9xLgAjPgA96vjG/QcBqCE5wVgT3HkKQgfQcq+UABcESTXjXXaKYr6zBnIFYtzSswbk2bFMVFOmSYBSN1gBGetOPIT64noMmW6wRvX9jB6xlXT2YALIkSSyCNDXTpLYM1MfEBooZqzSxVoskCQOx4v8AQDF7m5MAD0oQ5uImXG/Fbtsa8UVenkRKHmHmMznW9AFLMPH3I8RCyBGsZCDDmDvCJBBvdfUvtcBtOj1W0PzKNH96BXJ2dSFRLx4x7E4AuiT+x0S0gCqr2w3ogqJT+j1aSDF57ZrWaJ0p0edUDxN1PkVsax3wkQzucDZP3gqv5Xmlq5z47quXdpmKmlChv3CVjPpEupl8frXbAVYGuBXgAEAuftfzMLpDZgAAAAASUVORK5CYII=') no-repeat center 0.5em;color:#c4c4c4;text-shadow:#f8f8f8 0 1px;text-align:center;padding:2.5em 0 .5em}#tweets .loading.error{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACLklEQVRYhe2WwY2bQBSG/4f3aEtsB+4gG8kzkk+BDuIKbFcQU0GyFXhdgekgJeAbEiCFErwdIMHN1vw5BK8cAws2K+3F/wm9eTP/x7w3owHuuuuTJbdODMNwPBgMHBEZi8gXkvbZcArgleROa51+GEAQBPZwOFwAmIvIU8dpGUn/eDxuptPp/iaA0nglIj8A2K0TGkTypSiKZ9d1s84AcRw7IrIFML7V+EJ7Y8zsVJp3AaIoWliWte3jRjIVkZTkK4Bvp9IZYzyttd8I0NM8I7k5Ho9+Xd2TJPlO8icArxag3PbgFmeSKcllW/eXPqsKQBAE9mg0+oN+Nc9IzpRSu7ZE6zIwHA5XPc2BfyfF6ZJYARCReU/zk7IwDMdtSW8liOPYITnu2/WXMsYstdZ+I0DZ7Wv0uGDalOf54/nlcy5LRPYAliRbu/YGZSS9JnMAsEhmALZX3O3XyBaRdRRFi0YAEZkbYzySLoDZDSaNf/dmYlnbOI6durEHpZR3HkiSZI8rjqExxjuZtKQ6AHYVuJoFn7uaA8i01r7W2ifpkqwYlPKVUr/qBioA5WKdGpLk5vStlNoppdwGkEWSJLU7VAEAgKIo3A4QWVEUL5fBE4gx5isA/xwiiqJKo9cCuK6bFUXhXizwn4wx7x4vrXU6mUyWeZ4/kvQA7EWkcte0PkiiKHoSkbWIOGdhfzKZLNvmdtFDW4JlWb8vQh9mDnR8E5bvA/twOKR1D4y77uqjv2QXCIW9OIVeAAAAAElFTkSuQmCC') no-repeat center 0.5em}#tweets p{position:relative;padding-right:1em}#tweets a[href*=status]:first-child{color:#a5a5a5;float:right;padding:0 0 .1em 1em;position:relative;right:-1.3em;text-shadow:#fff 0 1px;font-size:.7em;text-decoration:none}#tweets a[href*=status]:first-child span{font-size:1.5em}#tweets a[href*=status]:first-child:hover{color:#0181eb;text-decoration:none}#tweets a[href*='twitter.com/search']{text-decoration:none}#tweets a[href*='twitter.com/search']:hover,#tweets a[href*='twitter.com/search']:focus{text-decoration:underline}.googleplus h1{-moz-box-shadow:none !important;-webkit-box-shadow:none !important;-o-box-shadow:none !important;box-shadow:none !important;border-bottom:0px none !important}.googleplus a{text-decoration:none;white-space:normal !important;line-height:32px}.googleplus a img{float:left;margin-right:0.5em;border:0 none}.googleplus-hidden{position:absolute;top:-1000em;left:-1000em}#pinboard_linkroll .pin-title,#pinboard_linkroll .pin-description{display:block;margin-bottom:.5em}#pinboard_linkroll .pin-tag{text-decoration:none}#pinboard_linkroll .pin-tag:hover,#pinboard_linkroll .pin-tag:focus{text-decoration:underline}#pinboard_linkroll .pin-tag:after{content:','}#pinboard_linkroll .pin-tag:last-child:after{content:''}.delicious-posts a.delicious-link{margin-bottom:.5em;display:block}.delicious-posts p{font-size:1em}body>footer{font-size:.8em;color:#888;text-shadow:#45474a 0 1px;background-color:#393A3D;background:url('/assets/images/noise.png?1490763144'),url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRmNTE1NSIvPjxzdG9wIG9mZnNldD0iNTAlIiBzdG9wLWNvbG9yPSIjMzkzYTNkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMWUxZTIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background:url('/assets/images/noise.png?1490763144'),-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4f5155),color-stop(50%, #393a3d),color-stop(100%, #1e1e20));background:url('/assets/images/noise.png?1490763144'),-moz-linear-gradient(#4f5155,#393a3d,#1e1e20);background:url('/assets/images/noise.png?1490763144'),-webkit-linear-gradient(#4f5155,#393a3d,#1e1e20);background:url('/assets/images/noise.png?1490763144'),linear-gradient(#4f5155,#393a3d,#1e1e20);border-top:1px solid #5e6065;position:relative;padding-top:1em;padding-bottom:1em;margin-bottom:3em;-moz-border-radius-bottomleft:.4em;-webkit-border-bottom-left-radius:.4em;border-bottom-left-radius:.4em;-moz-border-radius-bottomright:.4em;-webkit-border-bottom-right-radius:.4em;border-bottom-right-radius:.4em;z-index:1}body>footer a{color:#1183ee}body>footer a:visited{color:#1183ee}body>footer a:hover{color:#3c9af1}body>footer p:last-child{margin-bottom:0}@font-face{font-family:'icomoon';font-display:swap;src:url("../fonts/IcoMoon.eot");src:url("../fonts/IcoMoon.eot?#iefix") format("embedded-opentype"),url("../fonts/IcoMoon.svg#icomoon") format("svg"),url("../fonts/IcoMoon.woff") format("woff"),url("../fonts/IcoMoon.ttf") format("truetype");font-weight:normal;font-style:normal}[data-icon]:before{font-family:'icomoon';font-display:swap;content:attr(data-icon);speak:none}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:'icomoon';font-style:normal;speak:none}.icon-facebook:before{content:"\23"}.icon-github:before{content:"\24"}.icon-google-plus:before{content:"\25"}.icon-rss:before{content:"\26"}.icon-home:before{content:"\27"}.icon-user:before{content:"\28"}.icon-book-alt:before{content:"\2a"}.icon-twitter:before{content:"\22"}.icon-link:before{content:"\21"}sup,sub{padding:0 0.2em;display:inline}*+table{margin-bottom:1.5em;width:100%;text-align:left;border-collapse:collapse}*+table th{text-align:left;font-weight:normal;padding:8px;background:#b9c9fe url("../images/gradhead.png") repeat-x;border-top:2px solid #d3ddff;border-bottom:1px solid #fff;color:#039}*+table td{padding:8px;border-bottom:1px solid #fff;color:#669;border-top:1px solid #fff;background:#e8edff url("../images/gradback.png") repeat-x}*+table tfoot tr td{background:#e8edff;color:#99c}*+table tbody tr:hover td{background:#d0dafd url("../images/gradhover.png") repeat-x;color:#339}html{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAWCAYAAAC2ew6NAAAEZUlEQVR42oWX12ogMQxFhzTSe4f03ntPSCP1JY2E/P+PaDmCA2Z2s3kQnrElX+lalmaqlpaWQGZnZ2NpaSnW19djdXXVMWVzczP6+vpiZGQkSn2E597e3lhbW4udnZ0ct7e3Y2NjI/fo6OiIpqammJmZCfW1X1xcRA+MtNna2krZ29v7C68CBOFlbm6OzTFiBDjHlZWVmJ6eTsCenh71dTLXDWx3dzftlpeXERxKZ9Uv8RYWFgwI3ZKkDKzEq2RmeHg4Dg8PMdRRmGSDdGR/fz8GBgZicnKyZCb1Tk5OGBEYSV3ZPTo6StDm5ubUr+MhpaNiYzc4OCheMppHcHl5ySIARKXDCHPJ1OnpabKADceCzvn5eZydnck8wTEPMI6yzt7smc6Jpx362IqJjY6CNz8/n6xWn5+f8fDwwIK5wqIRMrIZzmbu3N/fx8fHR7y8vMTT0xNzbA6T6BtYinMHBwdxd3cXX19f8fr6Ch5Mso4++yMEmnY6fHx8HDc3N/H9/R0VE0bEkTGW4DIFo7zDBjrlMakHmBcS/TLPsfOiGQTinJfJk2QekiSqYlLaZdJ3jQHnWSM2Yd0biw4jLOGEzpS3H+FZFrVlP94hg5EAJY93SNNRI85xamoqk7i1tTVlaGiIhM6NdKhkUkcmJiaw85KRj+Qz+jqpLuASAh6XNLHa29ujv7/f6iNBKVV5W3Gos7MzGhoaMObCZIno6upiU4+REce9NNxqEj5tGxsbsUnbsbExwGRRlnSeNUpXHY991IHNfK7MBYBHR0dhA2PLSTrQ3d0d4+PjBoTAFnY8AwAYIOhigy17wLTOcawEZ05j9yMevhgYAVVl4re1tVkr6x0IVr10lhSFNZgETP16B8LG/Db3f8VDR2YrjO0kLMJKrYMgRF8vPToOI4hMlvbM/av0MP6Kh09UIi8TjDLBcWpYZ8aS5THaNpkjR9mYsc4MlcQqwqiYoz/iUXvNa2w5eqNkkdwgR0pmOBoCwVDBxnwjUI6Qo5cZWbEt6yxi6vwXj7bs6aWjHqFl4+LiAkc4MiSBbm9vMbQpyIiAOXd1dcWJeMnIS1ogHQ8d6yq6BsiaeDiLkzgPXq6ZLnn0gNou7bHPz89Ba0UeHx9xEtasoSkGiK1BXl9fx/v7e7y9vdHfZQU7bcsgCQbHbMvg8ZxzBidG5bHrqB0IKT4wZMEW+U+HfS4dK2+7TcMuJK52YsO67VVnq9IJj1LnTHiD8AbCLgwK4Gg71U4QA2Rf9RxtmTLoXVDX9lrRBWh33Fgd0kkDMD3QoU1aoPkKJycB+OGbwXcuG5eFkkRbpk3++s2AHb6BV1EeEDYCVGetmTqJEQlPB6K4WzuZ45b6C4GtHQgmcAgycJICX8fDDhxZLUseQYnnPxNgMiGbjH7a0UIBBAQ22QjhmRJjXnpRzHHWAKNUJUaJh6Pq+qFNsJBUx/OfyWMpCzOGbISzfNkQmWWkrHscZXmjS4H1ZNJeXsfzyw1Hy89DbEq8P07aJTElh3R1AAAAAElFTkSuQmCC)}body>header{background:none}body>header h1,body>header h2{text-shadow:0px 1px 0px #999,0px 2px 0px #888,0px 3px 0px #777,0px 4px 0px #666,0px 5px 0px #555,0px 6px 0px #444,0px 7px 0px #333,0px 8px 7px #001135}body>header h2{margin-top:.5em;display:none}body>nav{-moz-box-shadow:0px 2px 5px 0px #000;-webkit-box-shadow:0px 2px 5px 0px #000;box-shadow:0px 2px 5px 0px #000}body>nav li+li{border-left:none}body>nav li+li a{border-left:none}body>nav ul.main-navigation{padding-left:3px}body>nav a:hover{color:#1183ee;text-shadow:#0e6ec8 0px 0px 5px,#0e6ec8 0px 0px 7px,#1a88ef 0px 0px 9px,#1a88ef 0px 0px 11px,#000 0 0 2px}body>nav a i{color:#1183ee;text-shadow:#0e6ec8 0px 0px 5px,#0e6ec8 0px 0px 7px,#1a88ef 0px 0px 9px,#1a88ef 0px 0px 11px,#000 0 0 2px}body>nav a i.icon-home,body>nav a i.icon-book-alt,body>nav a i.icon-user{padding-right:5px}.divider{position:absolute;display:block;height:42px;width:1px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9IiMyODM2M2UiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTI4MmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(50%, #28363e),color-stop(100%, #1e282f));background-image:-moz-linear-gradient(top, #28363e 50%,#1e282f 100%);background-image:-webkit-linear-gradient(top, #28363e 50%,#1e282f 100%);background-image:linear-gradient(to bottom, #28363e 50%,#1e282f 100%);margin:-.57em 0em 0em 0em;box-shadow:1px 0 0 0 rgba(255,255,255,0.1)}body>div#main{-moz-box-shadow:1px 3px 5px 0px #000;-webkit-box-shadow:1px 3px 5px 0px #000;box-shadow:1px 3px 5px 0px #000}article{line-height:1.618em;overflow:hidden}article div.entry-content{word-break:break-all;word-break:break-word;text-rendering:optimizeLegibility}article h2,article h3,article h4,article h5,article h6{font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif;font-display:auto;margin-bottom:0.6em;line-height:1.35;text-shadow:1px 1px #efefef,2px 2px #828887}article h2{margin-bottom:.5em}article i.icon-twitter{color:#107ee5}article i.icon-facebook{color:#4e6ba9}article i.icon-google-plus{color:#c54a28}article i.icon-github{color:#404040}article section#details{height:54px;width:1200px;background:url("../images/construction.png") repeat-x 50% 0;background-size:116px 54px;margin-left:-100px;margin-bottom:.5em}article blockquote{font-style:normal;font-size:1em;line-height:1.618em;color:#666;padding:15px;border-left:0px;background-color:#f2f2f2;-moz-box-shadow:#c2c2c2 0 1px 5px inset;-webkit-box-shadow:#c2c2c2 0 1px 5px inset;box-shadow:#c2c2c2 0 1px 5px inset;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}article blockquote p:last-child{margin:0}article blockquote footer>strong{font-style:italic}article div.footnotes{color:#878787;padding-top:1.5em;background:url("../images/divider.png") top center no-repeat}article kbd{padding:0.1em 0.6em;border:1px solid #ccc;font-size:11px;font-family:Arial,Helvetica,sans-serif;font-display:auto;background-color:#f7f7f7;color:#333;-moz-box-shadow:0 1px 0px rgba(0,0,0,0.2),0 0 0 2px #fff inset;-webkit-box-shadow:0 1px 0px rgba(0,0,0,0.2),0 0 0 2px #fff inset;box-shadow:0 1px 0px rgba(0,0,0,0.2),0 0 0 2px #fff inset;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;display:inline-block;margin:0 0.1em;text-shadow:0 1px 0 white;line-height:1.4}body>footer{overflow:hidden;-moz-border-radius-bottomleft:0px;-webkit-border-bottom-left-radius:0px;border-bottom-left-radius:0px;-moz-border-radius-bottomright:0px;-webkit-border-bottom-right-radius:0px;border-bottom-right-radius:0px;-moz-box-shadow:1px 3px 5px 0px #000;-webkit-box-shadow:1px 3px 5px 0px #000;box-shadow:1px 3px 5px 0px #000}body>footer p{margin-bottom:0}body>footer p span.theme-version{float:right;color:#9C9EA2}section.contruction-wrap{height:52px;width:200px;position:absolute;right:0;top:14px}section div.contruction{height:15px;width:200px;position:relative;margin-left:105px;background-color:#f4a100;-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjEuMCIgeDI9IjEuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSI2LjI1JSIgc3RvcC1jb2xvcj0iIzEwMTAxMCIvPjxzdG9wIG9mZnNldD0iNi4yNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMi41JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEyLjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSIxOC43NSUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3RvcCBvZmZzZXQ9IjE4Ljc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzEwMTAxMCIvPjxzdG9wIG9mZnNldD0iMzEuMjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSIzMS4yNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIzNy41JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjM3LjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI0My43NSUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3RvcCBvZmZzZXQ9IjQzLjc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzEwMTAxMCIvPjxzdG9wIG9mZnNldD0iNTYuMjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI1Ni4yNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI2Mi41JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjYyLjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI2OC43NSUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3RvcCBvZmZzZXQ9IjY4Ljc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9Ijc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9Ijc1JSIgc3RvcC1jb2xvcj0iIzEwMTAxMCIvPjxzdG9wIG9mZnNldD0iODEuMjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI4MS4yNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI4Ny41JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9Ijg3LjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI5My43NSUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3RvcCBvZmZzZXQ9IjkzLjc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background-size:100%;background-image:-moz-linear-gradient(45deg, #101010 6.25%,rgba(0,0,0,0) 6.25%,rgba(0,0,0,0) 12.5%,#101010 12.5%,#101010 18.75%,rgba(0,0,0,0) 18.75%,rgba(0,0,0,0) 25%,#101010 25%,#101010 31.25%,rgba(0,0,0,0) 31.25%,rgba(0,0,0,0) 37.5%,#101010 37.5%,#101010 43.75%,rgba(0,0,0,0) 43.75%,rgba(0,0,0,0) 50%,#101010 50%,#101010 56.25%,rgba(0,0,0,0) 56.25%,rgba(0,0,0,0) 62.5%,#101010 62.5%,#101010 68.75%,rgba(0,0,0,0) 68.75%,rgba(0,0,0,0) 75%,#101010 75%,#101010 81.25%,rgba(0,0,0,0) 81.25%,rgba(0,0,0,0) 87.5%,#101010 87.5%,#101010 93.75%,rgba(0,0,0,0) 93.75%,rgba(0,0,0,0) 100%);background-image:-webkit-linear-gradient(45deg, #101010 6.25%,rgba(0,0,0,0) 6.25%,rgba(0,0,0,0) 12.5%,#101010 12.5%,#101010 18.75%,rgba(0,0,0,0) 18.75%,rgba(0,0,0,0) 25%,#101010 25%,#101010 31.25%,rgba(0,0,0,0) 31.25%,rgba(0,0,0,0) 37.5%,#101010 37.5%,#101010 43.75%,rgba(0,0,0,0) 43.75%,rgba(0,0,0,0) 50%,#101010 50%,#101010 56.25%,rgba(0,0,0,0) 56.25%,rgba(0,0,0,0) 62.5%,#101010 62.5%,#101010 68.75%,rgba(0,0,0,0) 68.75%,rgba(0,0,0,0) 75%,#101010 75%,#101010 81.25%,rgba(0,0,0,0) 81.25%,rgba(0,0,0,0) 87.5%,#101010 87.5%,#101010 93.75%,rgba(0,0,0,0) 93.75%,rgba(0,0,0,0) 100%);background-image:linear-gradient(45deg, #101010 6.25%,rgba(0,0,0,0) 6.25%,rgba(0,0,0,0) 12.5%,#101010 12.5%,#101010 18.75%,rgba(0,0,0,0) 18.75%,rgba(0,0,0,0) 25%,#101010 25%,#101010 31.25%,rgba(0,0,0,0) 31.25%,rgba(0,0,0,0) 37.5%,#101010 37.5%,#101010 43.75%,rgba(0,0,0,0) 43.75%,rgba(0,0,0,0) 50%,#101010 50%,#101010 56.25%,rgba(0,0,0,0) 56.25%,rgba(0,0,0,0) 62.5%,#101010 62.5%,#101010 68.75%,rgba(0,0,0,0) 68.75%,rgba(0,0,0,0) 75%,#101010 75%,#101010 81.25%,rgba(0,0,0,0) 81.25%,rgba(0,0,0,0) 87.5%,#101010 87.5%,#101010 93.75%,rgba(0,0,0,0) 93.75%,rgba(0,0,0,0) 100%);-moz-box-shadow:rgba(255,255,255,0.2) 0px 1px 2px 1px inset,rgba(0,0,0,0.2) 0px -1px 1px 1px inset;-webkit-box-shadow:rgba(255,255,255,0.2) 0px 1px 2px 1px inset,rgba(0,0,0,0.2) 0px -1px 1px 1px inset;box-shadow:rgba(255,255,255,0.2) 0px 1px 2px 1px inset,rgba(0,0,0,0.2) 0px -1px 1px 1px inset}body>header h1{font-size:2.48832rem}body>header h1{font-size:33.1776px}@media screen and (min-width: 320px){body>header h1{font-size:calc(33.1776px + 26.0928 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){body>header h1{font-size:59.2704px}}h1{font-size:1.728rem}h1{font-size:27.648px}@media screen and (min-width: 320px){h1{font-size:calc(27.648px + 9.984 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h1{font-size:37.632px}}h2,section h1{font-size:1.728rem}h2,section h1{font-size:25.344px}@media screen and (min-width: 320px){h2,section h1{font-size:calc(25.344px + 9.152 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h2,section h1{font-size:34.496px}}h3,section h2,section section h1{font-size:1.44rem}h3,section h2,section section h1{font-size:23.04px}@media screen and (min-width: 320px){h3,section h2,section section h1{font-size:calc(23.04px + 8.32 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h3,section h2,section section h1{font-size:31.36px}}h4,section h3,section section h2,section section section h1{font-size:1.2rem}h4,section h3,section section h2,section section section h1{font-size:19.2px}@media screen and (min-width: 320px){h4,section h3,section section h2,section section section h1{font-size:calc(19.2px + 3.2 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h4,section h3,section section h2,section section section h1{font-size:22.4px}}h5,section h4,section section h3{font-size:1.14rem}h5,section h4,section section h3{font-size:18.24px}@media screen and (min-width: 320px){h5,section h4,section section h3{font-size:calc(18.24px + 1.92 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h5,section h4,section section h3{font-size:20.16px}}h6,section h5,section section h4,section section section h3{font-size:1.02rem}h6,section h5,section section h4,section section section h3{font-size:16.32px}@media screen and (min-width: 320px){h6,section h5,section section h4,section section section h3{font-size:calc(16.32px + 1.6 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h6,section h5,section section h4,section section section h3{font-size:17.92px}}html{font-size:16px}@media screen and (min-width: 320px){html{font-size:calc(16px + 2 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){html{font-size:18px}}html body>div>div{border-right:none}html audio{width:100%}html ::selection{color:#fff;background:#000}html ::-moz-selection{color:#fff;background:#000}@media only screen and (min-width: 1037px){body>nav{-moz-border-radius-topleft:.4em;-webkit-border-top-left-radius:.4em;border-top-left-radius:.4em;-moz-border-radius-topright:.4em;-webkit-border-top-right-radius:.4em;border-top-right-radius:.4em}body>footer{-moz-border-radius-bottomleft:.4em;-webkit-border-bottom-left-radius:.4em;border-bottom-left-radius:.4em;-moz-border-radius-bottomright:.4em;-webkit-border-bottom-right-radius:.4em;border-bottom-right-radius:.4em}}@media only screen and (min-width: 550px){body>header>hgroup section div#banner{display:none}}@media only screen and (min-width: 992px){.divider{height:48px;margin:-.57em 0em 0em 0em}}@media only screen and (max-width: 992px){.divider{height:42px;margin:-.57em 0em 0em 0em}}@media only screen and (max-width: 768px){.divider{height:40px;margin:-.53em 0 0 0}}*+table{font-size:14px}@media screen and (min-width: 320px){*+table{font-size:calc(14px + 2 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){*+table{font-size:16px}}
1
+ 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,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,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}html{line-height:1}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}caption,th,td{text-align:left;font-weight:normal;vertical-align:middle}q,blockquote{quotes:none}q:before,q:after,blockquote:before,blockquote:after{content:"";content:none}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}a{color:#1863a1}a:visited{color:#751590}a:focus{color:#0181eb}a:hover{color:#0181eb}a:active{color:#01579f}aside.sidebar a{color:#1863a1;text-decoration:none}aside.sidebar a:focus{color:#0181eb}aside.sidebar a:hover{color:#0181eb}aside.sidebar a:active{color:#01579f}a{-moz-transition:color .3s;-o-transition:color .3s;-webkit-transition:color .3s;transition:color .3s}html{background:#252525 url('/assets/images/line-tile.png?1621135565') top left}body>div{background:#f2f2f2 url('/assets/images/noise.png?1621135565') top left;border-bottom:1px solid #2d2d30}body>div>div{background:#f8f8f8 url('/assets/images/noise.png?1621135565') top left;border-right:1px solid #e0e0e0}.heading,body>header h1,h1,h2,h3,h4,h5,h6{font-family:PingFang SC,Verdana,Helvetica Neue,Microsoft Yahei,Hiragino Sans GB,Microsoft Sans Serif,WenQuanYi Micro Hei,sans-serif}.sans,body>header h2,article header p.meta,article>footer,#content .blog-index footer,html .gist .gist-file .gist-meta,#blog-archives a.category,#blog-archives time,aside.sidebar section,body>footer{font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif}.serif,body,#content .blog-index a[rel=full-article]{font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif}.mono,pre,code,tt,p code,li code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace}body>header h1{font-family:Verdana-BoldItalic,Microsoft Yahei;font-weight:normal;line-height:1.2em;margin-bottom:0.6667em}body>header h2{font-family:PingFang SC,Verdana,Helvetica Neue,Microsoft Yahei,Hiragino Sans GB,Microsoft Sans Serif,WenQuanYi Micro Hei,sans-serif}body{line-height:1.5em;color:#222}h1{line-height:1.2em}h1,h2,h3,h4,h5,h6{text-rendering:optimizelegibility;text-shadow:1px 1px #efefef,2px 2px #828887;margin-bottom:0.6em;line-height:1.35;font-weight:bold}p,blockquote,ul,ol{margin-bottom:1.5em}ul{list-style-type:disc}ul ul{list-style-type:circle;margin-bottom:0px}ul ul ul{list-style-type:square;margin-bottom:0px}ol{list-style-type:decimal}ol ol{list-style-type:lower-alpha;margin-bottom:0px}ol ol ol{list-style-type:lower-roman;margin-bottom:0px}ul,ul ul,ul ol,ol,ol ul,ol ol{margin-left:1.3em}strong{font-weight:bold}em{font-style:italic}sup,sub{font-size:0.8em;position:relative;display:inline-block}sup{top:-.5em}sub{bottom:-.5em}q{font-style:italic}q:before{content:"\201C"}q:after{content:"\201D"}em,dfn{font-style:italic}strong,dfn{font-weight:bold}del,s{text-decoration:line-through}abbr,acronym{border-bottom:1px dotted;cursor:help}sub,sup{line-height:0}hr{margin-bottom:0.2em}small{font-size:.8em}big{font-size:1.2em}blockquote{font-style:italic;position:relative;font-size:1.2em;line-height:1.5em;padding-left:1em;border-left:4px solid rgba(170,170,170,0.5)}blockquote cite{font-style:italic}blockquote cite a{color:#aaa !important;word-wrap:break-word}blockquote cite:before{content:'\2014';padding-right:.3em;padding-left:.3em;color:#aaa}@media only screen and (min-width: 992px){blockquote{padding-left:1.5em;border-left-width:4px}}.pullquote-right:before,.pullquote-left:before{padding:0;border:none;content:attr(data-pullquote);float:right;width:45%;margin:.5em 0 1em 1.5em;position:relative;top:7px;font-size:1.4em;line-height:1.45em}.pullquote-left:before{float:left;margin:.5em 1.5em 1em 0}.force-wrap,aside.sidebar a{white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word}.group,body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section,body div.pagination,aside.sidebar,#main,#content,.sidebar{*zoom:1}.group:after,body>header:after,body>nav:after,body>footer:after,body #content>article:after,body #content>div>article:after,body #content>div>section:after,body div.pagination:after,#main:after,#content:after,.sidebar:after{content:"";display:table;clear:both}body{-webkit-text-size-adjust:none;counter-reset:sidenote-counter;max-width:1200px;position:relative;margin:0 auto}body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:18px;padding-right:18px}@media only screen and (min-width: 480px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:25px;padding-right:25px}}@media only screen and (min-width: 768px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:35px;padding-right:35px}}@media only screen and (min-width: 992px){body>header,body>nav,body>footer,body #content>article,body #content>div>article,body #content>div>section{padding-left:55px;padding-right:55px}}body div.pagination{margin-left:18px;margin-right:18px}@media only screen and (min-width: 480px){body div.pagination{margin-left:25px;margin-right:25px}}@media only screen and (min-width: 768px){body div.pagination{margin-left:35px;margin-right:35px}}@media only screen and (min-width: 992px){body div.pagination{margin-left:55px;margin-right:55px}}body>header{font-size:1em;padding-top:1.5em;padding-bottom:1.5em}#content{overflow:hidden}#content>div,#content>article{width:100%}aside.sidebar{float:none;padding:0 18px 1px;background-color:#f7f7f7;border-top:1px solid #e0e0e0}.flex-content,article img,article video,article .flash-video,aside.sidebar img{max-width:100%;height:auto}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left{float:left;margin-right:1.5em}.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{float:right;margin-left:1.5em}.basic-alignment.center,article img.center,article video.center,article .center.flash-video,aside.sidebar img.center{display:block;margin:0 auto 1.5em}.basic-alignment.left,article img.left,article video.left,article .left.flash-video,aside.sidebar img.left,.basic-alignment.right,article img.right,article video.right,article .right.flash-video,aside.sidebar img.right{margin-bottom:.8em}.toggle-sidebar,.no-sidebar .toggle-sidebar{display:none}@media only screen and (min-width: 750px){body.sidebar-footer aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}body.sidebar-footer aside.sidebar section.odd,body.sidebar-footer aside.sidebar section.even{float:left;width:48%}body.sidebar-footer aside.sidebar section.odd{margin-left:0}body.sidebar-footer aside.sidebar section.even{margin-left:4%}body.sidebar-footer aside.sidebar.thirds section{width:30%;margin-left:5%}body.sidebar-footer aside.sidebar.thirds section.first{margin-left:0;clear:both}}body.sidebar-footer #content{margin-right:0px}body.sidebar-footer .toggle-sidebar{display:none}@media only screen and (min-width: 550px){body>header{font-size:1em}}@media only screen and (min-width: 750px){aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}aside.sidebar section.odd,aside.sidebar section.even{float:left;width:48%}aside.sidebar section.odd{margin-left:0}aside.sidebar section.even{margin-left:4%}aside.sidebar.thirds section{width:30%;margin-left:5%}aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width: 768px){body{-webkit-text-size-adjust:auto}body>header{font-size:1.2em}#main{padding:0;margin:0 auto}#main article{overflow:visible}#content{overflow:visible;margin-right:240px;position:relative}.no-sidebar #content{margin-right:0;border-right:0}.collapse-sidebar #content{margin-right:20px}#content>div,#content>article{padding-top:17.5px;padding-bottom:17.5px;float:left}aside.sidebar{width:210px;padding:0 15px 15px;background:none;clear:none;float:left;margin:5px -100% 0 0}aside.sidebar section{width:auto;margin-left:0}aside.sidebar section.odd,aside.sidebar section.even{float:none;width:auto;margin-left:0}.collapse-sidebar aside.sidebar{float:none;width:auto;clear:left;margin:0;padding:0 35px 1px;background-color:#f7f7f7;border-top:1px solid #eaeaea}.collapse-sidebar aside.sidebar section.odd,.collapse-sidebar aside.sidebar section.even{float:left;width:48%}.collapse-sidebar aside.sidebar section.odd{margin-left:0}.collapse-sidebar aside.sidebar section.even{margin-left:4%}.collapse-sidebar aside.sidebar.thirds section{width:30%;margin-left:5%}.collapse-sidebar aside.sidebar.thirds section.first{margin-left:0;clear:both}}@media only screen and (min-width: 992px){body>header{font-size:1.3em}#content{margin-right:300px}#content>div,#content>article{padding-top:27.5px;padding-bottom:27.5px}aside.sidebar{width:260px;padding:1.2em 20px 20px}.collapse-sidebar aside.sidebar{padding-left:55px;padding-right:55px}}body>header{background:#333}body>header h1{display:inline-block;margin:0}body>header h1 a,body>header h1 a:visited,body>header h1 a:hover{color:#f2f2f2;text-decoration:none}body>header h2{margin:.2em 0 0;font-size:1em;color:#aaa;font-weight:normal}body>nav{position:relative;background-color:#545454;background:url('/assets/images/noise.png?1621135565'),url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzY4Njg2OCIvPjxzdG9wIG9mZnNldD0iNTAlIiBzdG9wLWNvbG9yPSIjNTQ1NDU0Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMzgzODM4Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background:url('/assets/images/noise.png?1621135565'),-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #686868),color-stop(50%, #545454),color-stop(100%, #383838));background:url('/assets/images/noise.png?1621135565'),-moz-linear-gradient(#686868,#545454,#383838);background:url('/assets/images/noise.png?1621135565'),-webkit-linear-gradient(#686868,#545454,#383838);background:url('/assets/images/noise.png?1621135565'),linear-gradient(#686868,#545454,#383838);border-top:1px solid #7a7a7a;border-bottom:1px solid #141414;padding-top:.35em;padding-bottom:.35em}body>nav form{-moz-background-clip:padding;-o-background-clip:padding-box;-webkit-background-clip:padding;background-clip:padding-box;margin:0;padding:0}body>nav form .search{padding:.3em .5em 0;font-size:.85em;font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif;font-display:auto;line-height:1.1em;width:95%;-moz-border-radius:.5em;-webkit-border-radius:.5em;border-radius:.5em;-moz-background-clip:padding;-o-background-clip:padding-box;-webkit-background-clip:padding;background-clip:padding-box;-moz-box-shadow:#595959 0 1px;-webkit-box-shadow:#595959 0 1px;box-shadow:#595959 0 1px;background-color:#7a7a7a;border:1px solid #3a3a3a;color:#888}body>nav form .search:focus{color:#444;border-color:#80b1df;-moz-box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;-webkit-box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;box-shadow:#80b1df 0 0 4px,#80b1df 0 0 3px inset;background-color:#fff;outline:none}body>nav fieldset[role=search]{float:right;width:48%}body>nav fieldset.mobile-nav{float:left;width:48%}body>nav fieldset.mobile-nav select{width:100%;font-size:.8em;border:1px solid #888}body>nav ul{display:none}@media only screen and (min-width: 550px){body>nav{font-size:.9em}body>nav ul{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;float:left;display:block;padding-top:.15em}body>nav ul li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;float:left;padding-left:0;padding-right:0}body>nav ul li:first-child{padding-left:0}body>nav ul li:last-child{padding-right:0}body>nav ul li.last{padding-right:0}body>nav ul.subscription{margin-left:.8em;float:right}body>nav ul.subscription li:last-child a{padding-right:0}body>nav ul li{margin:0}body>nav a{color:#000;font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif;font-display:auto;text-shadow:#727272 0 1px;float:left;text-decoration:none;font-size:1.1em;padding:.1em 0;line-height:1.5em}body>nav a:visited{color:#000}body>nav a:hover{color:#000}body>nav li+li{border-left:1px solid #383838;margin-left:.8em}body>nav li+li a{padding-left:.8em;border-left:1px solid #656565}body>nav form{float:right;text-align:left;padding-left:.8em;width:175px}body>nav form .search{width:93%;font-size:.95em;line-height:1.2em}body>nav ul[data-subscription$=email]+form{width:97px}body>nav ul[data-subscription$=email]+form .search{width:91%}body>nav fieldset.mobile-nav{display:none}body>nav fieldset[role=search]{width:99%}}@media only screen and (min-width: 992px){body>nav form{width:215px}body>nav ul[data-subscription$=email]+form{width:147px}}.no-placeholder body>nav .search{background:#7a7a7a url('/assets/images/search.png?1621135565') 0.3em 0.25em no-repeat;text-indent:1.3em}@media only screen and (min-width: 550px){.maskImage body>nav ul[data-subscription$=email]+form{width:123px}}@media only screen and (min-width: 992px){.maskImage body>nav ul[data-subscription$=email]+form{width:173px}}.maskImage ul.subscription{position:relative;top:.2em}.maskImage ul.subscription li,.maskImage ul.subscription a{border:0;padding:0}.maskImage a[rel=subscribe-rss]{position:relative;top:0px;text-indent:-999999em;background-color:#656565;border:0;padding:0}.maskImage a[rel=subscribe-rss],.maskImage a[rel=subscribe-rss]:after{-webkit-mask-image:url('/assets/images/rss.png?1621135565');-moz-mask-image:url('/assets/images/rss.png?1621135565');-ms-mask-image:url('/assets/images/rss.png?1621135565');-o-mask-image:url('/assets/images/rss.png?1621135565');mask-image:url('/assets/images/rss.png?1621135565');-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;-ms-mask-repeat:no-repeat;-o-mask-repeat:no-repeat;mask-repeat:no-repeat;width:22px;height:22px}.maskImage a[rel=subscribe-rss]:after{content:"";position:absolute;top:-1px;left:0;background-color:#404040}.maskImage a[rel=subscribe-rss]:hover:after{background-color:#333}.maskImage a[rel=subscribe-email]{position:relative;top:0px;text-indent:-999999em;background-color:#656565;border:0;padding:0}.maskImage a[rel=subscribe-email],.maskImage a[rel=subscribe-email]:after{-webkit-mask-image:url('/assets/images/email.png?1621135565');-moz-mask-image:url('/assets/images/email.png?1621135565');-ms-mask-image:url('/assets/images/email.png?1621135565');-o-mask-image:url('/assets/images/email.png?1621135565');mask-image:url('/assets/images/email.png?1621135565');-webkit-mask-repeat:no-repeat;-moz-mask-repeat:no-repeat;-ms-mask-repeat:no-repeat;-o-mask-repeat:no-repeat;mask-repeat:no-repeat;width:28px;height:22px}.maskImage a[rel=subscribe-email]:after{content:"";position:absolute;top:-1px;left:0;background-color:#404040}.maskImage a[rel=subscribe-email]:hover:after{background-color:#333}article{padding-top:1em}article a{color:#d0648a;font-weight:bold;text-decoration:none;text-shadow:1px 1px #efefef,2px 2px #ccc;word-wrap:break-word;-webkit-transition-duration:0.5s;-moz-transition-duration:0.5s;-ms-transition-duration:0.5s;-o-transition-duration:0.5s;transition-duration:0.5s}article header{position:relative;padding-top:2em;padding-bottom:1em;margin-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}article header h1{margin:0;text-shadow:1px 1px #efefef,2px 2px #828887}article header h1 a{text-decoration:none}article header h1 a:hover{text-decoration:none}article header p{font-size:.9em;color:#aaa;margin:0}article header p.meta{text-transform:uppercase;position:absolute;top:0}@media only screen and (min-width: 768px){article header{margin-bottom:1.5em;padding-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}}article h2{text-shadow:1px 1px #efefef,2px 2px #828887;padding-top:0.8em;border-top:2px dashed #828887}.entry-content article h2:first-child,article header+h2{padding-top:0}article h2:first-child,article header+h2{background:none}article .feature{padding-top:.5em;margin-bottom:1em;padding-bottom:1em;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x;font-size:2.0em;font-style:italic;line-height:1.3em}article img,article video,article .flash-video{-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:#fff 0.5em solid}article video,article .flash-video{margin:0 auto 1.5em}article video{display:block;width:100%}article .flash-video>div{position:relative;display:block;padding-bottom:56.25%;padding-top:1px;height:0;overflow:hidden}article .flash-video>div iframe,article .flash-video>div object,article .flash-video>div embed{position:absolute;top:0;left:0;width:100%;height:100%}article>footer{padding-bottom:2.5em;margin-top:2em}article>footer p.meta{margin-bottom:.8em;font-size:.85em;clear:both;overflow:hidden}.blog-index article+article{border-top:3px dashed #828887}#content .blog-index{padding-top:0;padding-bottom:0}#content .blog-index article{padding-top:2em}#content .blog-index article header{background:none;padding-bottom:0}#content .blog-index article h1{text-shadow:1px 1px #efefef,2px 2px #828887}#content .blog-index article h1 a{text-decoration:none;color:inherit}#content .blog-index article h1 a:hover{text-decoration:none;color:#0181eb}#content .blog-index a[rel=full-article]{background:#ebebeb;display:inline-block;padding:.4em .8em;margin-right:.5em;text-decoration:none;color:#666;-moz-transition:background-color .5s;-o-transition:background-color .5s;-webkit-transition:background-color .5s;transition:background-color .5s}#content .blog-index a[rel=full-article]:hover{background:#0181eb;text-shadow:none;color:#f8f8f8}#content .blog-index footer{margin-top:1em}.separator,article>footer .byline+time:before,article>footer time+time:before,article>footer .comments:before,article>footer .byline ~ .categories:before{content:"\2022 ";padding:0 .4em 0 .2em;display:inline-block}#content div.pagination{text-align:center;font-size:.95em;position:relative;border-top:3px dashed #828887;padding-top:1.5em;padding-bottom:1.5em}#content div.pagination a{text-decoration:none;color:#aaa}#content div.pagination a.prev{position:absolute;left:0}#content div.pagination a.next{position:absolute;right:0}#content div.pagination a:hover{color:#0181eb}#content div.pagination a[href*=archive]:before,#content div.pagination a[href*=archive]:after{content:'\2014';padding:0 .3em}p.meta+.sharing{padding-top:1em;padding-left:0;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') top left repeat-x}#fb-root{display:none}.highlight,html .gist .gist-file .gist-syntax .gist-highlight{border:1px solid #05232b !important}.highlight table td.code,html .gist .gist-file .gist-syntax .gist-highlight table td.code{width:100%}.highlight .line-numbers,html .gist .gist-file .gist-syntax .highlight .line_numbers{text-align:right;font-size:13px;line-height:1.45em;background:#073642 url('/assets/images/noise.png?1621135565') top left !important;border-right:1px solid #00232c !important;-moz-box-shadow:#083e4b -1px 0 inset;-webkit-box-shadow:#083e4b -1px 0 inset;box-shadow:#083e4b -1px 0 inset;text-shadow:#021014 0 -1px;padding:.8em !important;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.highlight .line-numbers span,html .gist .gist-file .gist-syntax .highlight .line_numbers span{color:#586e75 !important}.line-data{font-size:13px}figure.code,.gist-file,pre{-moz-box-shadow:rgba(0,0,0,0.06) 0 0 10px;-webkit-box-shadow:rgba(0,0,0,0.06) 0 0 10px;box-shadow:rgba(0,0,0,0.06) 0 0 10px}figure.code .highlight pre,.gist-file .highlight pre,pre .highlight pre{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.gist .highlight *::-moz-selection,figure.code .highlight *::-moz-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.gist .highlight *::-webkit-selection,figure.code .highlight *::-webkit-selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}.gist .highlight *::selection,figure.code .highlight *::selection{background:#386774;color:inherit;text-shadow:#002b36 0 1px}html .gist .gist-file{margin-bottom:1.8em;position:relative;border:none;padding-top:26px !important}html .gist .gist-file .highlight{margin-bottom:0}html .gist .gist-file .gist-syntax{background:#01222d !important;color:#d5dee2 !important;padding:0 2em;border-bottom:0 !important}html .gist .gist-file .gist-syntax .gist-highlight{background:#002b36 !important}html .gist .gist-file .gist-syntax .highlight pre{padding:0}html .gist .gist-file .gist-meta{padding:.6em 0.8em;font-size:.7em !important;background:#01222d url('/assets/images/noise.png?1621135565') top left;text-shadow:none !important;color:#d5dee2;line-height:1.5em}html .gist .gist-file .gist-meta a{color:#76888b !important;text-decoration:none}html .gist .gist-file .gist-meta a:hover,html .gist .gist-file .gist-meta a:focus{text-decoration:underline}html .gist .gist-file .gist-meta a:hover{color:#93a1a1 !important}html .gist .gist-file .gist-meta a[href*='#file']{position:absolute;top:0;left:0;right:0px;color:#474747 !important}html .gist .gist-file .gist-meta a[href*='#file']:hover{color:#1863a1 !important}html .gist .gist-file .gist-meta a[href*=raw]{top:.4em}pre{background:#002b36 url('/assets/images/noise.png?1621135565') top left;-moz-border-radius:.4em;-webkit-border-radius:.4em;border-radius:.4em;border:1px solid #05232b;line-height:1.45em;font-size:13px;margin-bottom:2.1em;padding:.8em 1em;color:#93a1a1;overflow:auto}h3.filename+pre{-moz-border-radius-topleft:0px;-webkit-border-top-left-radius:0px;border-top-left-radius:0px;-moz-border-radius-topright:0px;-webkit-border-top-right-radius:0px;border-top-right-radius:0px}p code,li code{word-wrap:break-word;white-space:pre;display:inline-block;background:#B6DDEF;font-size:90%;line-height:1.5em;color:#555;border:1px dashed #0181EB;-moz-border-radius:.4em;-webkit-border-radius:.4em;border-radius:.4em;padding:0 .3em;margin:-1px 0}p pre code,li pre code{font-size:1em !important;background:none;border:none}.pre-code,html .gist .gist-file .gist-syntax .highlight pre,.highlight code{font-family:Menlo,Monaco,"Andale Mono","lucida console","Courier New",monospace !important;overflow:scroll;overflow-y:hidden;display:block;padding:.8em;overflow-x:auto;line-height:1.45em;background:#002b36 url('/assets/images/noise.png?1621135565') top left !important;color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .highlight pre span,.highlight code span{color:#93a1a1 !important}.pre-code span,html .gist .gist-file .gist-syntax .highlight pre span,.highlight code span{font-style:normal !important;font-weight:normal !important}.pre-code .c,html .gist .gist-file .gist-syntax .highlight pre .c,.highlight code .c{color:#586e75 !important;font-style:italic !important}.pre-code .cm,html .gist .gist-file .gist-syntax .highlight pre .cm,.highlight code .cm{color:#586e75 !important;font-style:italic !important}.pre-code .cp,html .gist .gist-file .gist-syntax .highlight pre .cp,.highlight code .cp{color:#586e75 !important;font-style:italic !important}.pre-code .c1,html .gist .gist-file .gist-syntax .highlight pre .c1,.highlight code .c1{color:#586e75 !important;font-style:italic !important}.pre-code .cs,html .gist .gist-file .gist-syntax .highlight pre .cs,.highlight code .cs{color:#586e75 !important;font-weight:bold !important;font-style:italic !important}.pre-code .err,html .gist .gist-file .gist-syntax .highlight pre .err,.highlight code .err{color:#dc322f !important;background:none !important}.pre-code .k,html .gist .gist-file .gist-syntax .highlight pre .k,.highlight code .k{color:#cb4b16 !important}.pre-code .o,html .gist .gist-file .gist-syntax .highlight pre .o,.highlight code .o{color:#93a1a1 !important;font-weight:bold !important}.pre-code .p,html .gist .gist-file .gist-syntax .highlight pre .p,.highlight code .p{color:#93a1a1 !important}.pre-code .ow,html .gist .gist-file .gist-syntax .highlight pre .ow,.highlight code .ow{color:#2aa198 !important;font-weight:bold !important}.pre-code .gd,html .gist .gist-file .gist-syntax .highlight pre .gd,.highlight code .gd{color:#93a1a1 !important;background-color:#372d34 !important;display:inline-block}.pre-code .gd .x,html .gist .gist-file .gist-syntax .highlight pre .gd .x,.highlight code .gd .x{color:#93a1a1 !important;background-color:#4d2d34 !important;display:inline-block}.pre-code .ge,html .gist .gist-file .gist-syntax .highlight pre .ge,.highlight code .ge{color:#93a1a1 !important;font-style:italic !important}.pre-code .gh,html .gist .gist-file .gist-syntax .highlight pre .gh,.highlight code .gh{color:#586e75 !important}.pre-code .gi,html .gist .gist-file .gist-syntax .highlight pre .gi,.highlight code .gi{color:#93a1a1 !important;background-color:#1b412b !important;display:inline-block}.pre-code .gi .x,html .gist .gist-file .gist-syntax .highlight pre .gi .x,.highlight code .gi .x{color:#93a1a1 !important;background-color:#355720 !important;display:inline-block}.pre-code .gs,html .gist .gist-file .gist-syntax .highlight pre .gs,.highlight code .gs{color:#93a1a1 !important;font-weight:bold !important}.pre-code .gu,html .gist .gist-file .gist-syntax .highlight pre .gu,.highlight code .gu{color:#6c71c4 !important}.pre-code .kc,html .gist .gist-file .gist-syntax .highlight pre .kc,.highlight code .kc{color:#859900 !important;font-weight:bold !important}.pre-code .kd,html .gist .gist-file .gist-syntax .highlight pre .kd,.highlight code .kd{color:#268bd2 !important}.pre-code .kp,html .gist .gist-file .gist-syntax .highlight pre .kp,.highlight code .kp{color:#cb4b16 !important;font-weight:bold !important}.pre-code .kr,html .gist .gist-file .gist-syntax .highlight pre .kr,.highlight code .kr{color:#d33682 !important;font-weight:bold !important}.pre-code .kt,html .gist .gist-file .gist-syntax .highlight pre .kt,.highlight code .kt{color:#2aa198 !important}.pre-code .n,html .gist .gist-file .gist-syntax .highlight pre .n,.highlight code .n{color:#268bd2 !important}.pre-code .na,html .gist .gist-file .gist-syntax .highlight pre .na,.highlight code .na{color:#268bd2 !important}.pre-code .nb,html .gist .gist-file .gist-syntax .highlight pre .nb,.highlight code .nb{color:#859900 !important}.pre-code .nc,html .gist .gist-file .gist-syntax .highlight pre .nc,.highlight code .nc{color:#d33682 !important}.pre-code .no,html .gist .gist-file .gist-syntax .highlight pre .no,.highlight code .no{color:#b58900 !important}.pre-code .nl,html .gist .gist-file .gist-syntax .highlight pre .nl,.highlight code .nl{color:#859900 !important}.pre-code .ne,html .gist .gist-file .gist-syntax .highlight pre .ne,.highlight code .ne{color:#268bd2 !important;font-weight:bold !important}.pre-code .nf,html .gist .gist-file .gist-syntax .highlight pre .nf,.highlight code .nf{color:#268bd2 !important;font-weight:bold !important}.pre-code .nn,html .gist .gist-file .gist-syntax .highlight pre .nn,.highlight code .nn{color:#b58900 !important}.pre-code .nt,html .gist .gist-file .gist-syntax .highlight pre .nt,.highlight code .nt{color:#268bd2 !important;font-weight:bold !important}.pre-code .nx,html .gist .gist-file .gist-syntax .highlight pre .nx,.highlight code .nx{color:#b58900 !important}.pre-code .vg,html .gist .gist-file .gist-syntax .highlight pre .vg,.highlight code .vg{color:#268bd2 !important}.pre-code .vi,html .gist .gist-file .gist-syntax .highlight pre .vi,.highlight code .vi{color:#268bd2 !important}.pre-code .nv,html .gist .gist-file .gist-syntax .highlight pre .nv,.highlight code .nv{color:#268bd2 !important}.pre-code .mf,html .gist .gist-file .gist-syntax .highlight pre .mf,.highlight code .mf{color:#2aa198 !important}.pre-code .m,html .gist .gist-file .gist-syntax .highlight pre .m,.highlight code .m{color:#2aa198 !important}.pre-code .mh,html .gist .gist-file .gist-syntax .highlight pre .mh,.highlight code .mh{color:#2aa198 !important}.pre-code .mi,html .gist .gist-file .gist-syntax .highlight pre .mi,.highlight code .mi{color:#2aa198 !important}.pre-code .s,html .gist .gist-file .gist-syntax .highlight pre .s,.highlight code .s{color:#2aa198 !important}.pre-code .sd,html .gist .gist-file .gist-syntax .highlight pre .sd,.highlight code .sd{color:#2aa198 !important}.pre-code .s2,html .gist .gist-file .gist-syntax .highlight pre .s2,.highlight code .s2{color:#2aa198 !important}.pre-code .se,html .gist .gist-file .gist-syntax .highlight pre .se,.highlight code .se{color:#dc322f !important}.pre-code .si,html .gist .gist-file .gist-syntax .highlight pre .si,.highlight code .si{color:#268bd2 !important}.pre-code .sr,html .gist .gist-file .gist-syntax .highlight pre .sr,.highlight code .sr{color:#2aa198 !important}.pre-code .s1,html .gist .gist-file .gist-syntax .highlight pre .s1,.highlight code .s1{color:#2aa198 !important}.pre-code div .gd,html .gist .gist-file .gist-syntax .highlight pre div .gd,.highlight code div .gd,.pre-code div .gd .x,html .gist .gist-file .gist-syntax .highlight pre div .gd .x,.highlight code div .gd .x,.pre-code div .gi,html .gist .gist-file .gist-syntax .highlight pre div .gi,.highlight code div .gi,.pre-code div .gi .x,html .gist .gist-file .gist-syntax .highlight pre div .gi .x,.highlight code div .gi .x{display:inline-block;width:100%}.highlight,.gist-highlight{margin-bottom:1.8em;background:#002b36;overflow-y:hidden;overflow-x:auto}.highlight pre,.gist-highlight pre{background:none;-moz-border-radius:0px;-webkit-border-radius:0px;border-radius:0px;border:none;padding:0;margin-bottom:0}pre::-webkit-scrollbar,.highlight::-webkit-scrollbar,.gist-highlight::-webkit-scrollbar{height:.5em;background:rgba(255,255,255,0.15)}pre::-webkit-scrollbar-thumb:horizontal,.highlight::-webkit-scrollbar-thumb:horizontal,.gist-highlight::-webkit-scrollbar-thumb:horizontal{background:rgba(255,255,255,0.2);-webkit-border-radius:4px;border-radius:4px}.highlight code{background:#000}figure.code{background:none;padding:0;border:0;margin-bottom:1.5em}figure.code pre{margin-bottom:0}figure.code figcaption{position:relative}figure.code .highlight{margin-bottom:0}.code-title,html .gist .gist-file .gist-meta a[href*='#file'],h3.filename,figure.code figcaption{text-align:center;font-size:13px;line-height:2em;text-shadow:#cbcccc 0 1px 0;color:#474747;font-weight:normal;margin-bottom:0;-moz-border-radius-topleft:5px;-webkit-border-top-left-radius:5px;border-top-left-radius:5px;-moz-border-radius-topright:5px;-webkit-border-top-right-radius:5px;border-top-right-radius:5px;font-family:"Helvetica Neue", Arial, "Lucida Grande", "Lucida Sans Unicode", Lucida, sans-serif;background:#aaa url('/assets/images/code_bg.png?1621135565') top repeat-x;border:1px solid #565656;border-top-color:#cbcbcb;border-left-color:#a5a5a5;border-right-color:#a5a5a5;border-bottom:0}.download-source,html .gist .gist-file .gist-meta a[href*=raw],figure.code figcaption a{position:absolute;right:.8em;text-decoration:none;color:#666 !important;z-index:1;font-size:13px;text-shadow:#cbcccc 0 1px 0;padding-left:3em}.download-source:hover,html .gist .gist-file .gist-meta a[href*=raw]:hover,figure.code figcaption a:hover,.download-source:focus,html .gist .gist-file .gist-meta a[href*=raw]:focus,figure.code figcaption a:focus{text-decoration:underline}.gist-file{font-size:.8em !important}table.lines{width:100%}#archive #content>div,#archive #content>div>article{padding-top:0}#blog-archives{color:#aaa}#blog-archives article{padding:1em 0 1em;position:relative;background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAABCAYAAACsXeyTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAFUlEQVQIHWNIS0sr/v//PwMMDzY+ADqMahlW4J91AAAAAElFTkSuQmCC') bottom left repeat-x}#blog-archives article:last-child{background:none}#blog-archives article footer{padding:0;margin:0}#blog-archives h1{color:#222;margin-bottom:.3em}#blog-archives h2{display:none}#blog-archives h1{font-size:1.5em}#blog-archives h1 a{text-decoration:none;color:inherit;font-weight:normal;display:inline-block}#blog-archives h1 a:hover,#blog-archives h1 a:focus{text-decoration:underline}#blog-archives h1 a:hover{color:#0181eb}#blog-archives a.category,#blog-archives time{color:#aaa}#blog-archives .entry-content{display:none}#blog-archives time{font-size:.9em;line-height:1.2em}#blog-archives time .month,#blog-archives time .day{display:inline-block}#blog-archives time .month{text-transform:uppercase}#blog-archives p{margin-bottom:1em}#blog-archives a,#blog-archives .entry-content a{color:inherit}#blog-archives a:hover,#blog-archives .entry-content a:hover{color:#0181eb}#blog-archives a:hover{color:#0181eb}@media only screen and (min-width: 550px){#blog-archives article{margin-left:5em}#blog-archives h2{margin-bottom:.3em;font-weight:normal;display:inline-block;position:relative;top:-1px;float:left}#blog-archives h2:first-child{padding-top:.75em}#blog-archives time{position:absolute;text-align:right;left:0em;top:1.8em}#blog-archives .year{display:none}#blog-archives article{padding-left:4.5em;padding-bottom:.7em}#blog-archives a.category{line-height:1.1em}}#content>.category article{margin-left:0;padding-left:6.8em}#content>.category .year{display:inline}.side-shadow-border,aside.sidebar section h1,aside.sidebar li{-moz-box-shadow:#fff 0 1px;-webkit-box-shadow:#fff 0 1px;box-shadow:#fff 0 1px}aside.sidebar{overflow:hidden;color:#4c4c4c;text-shadow:#fff 0 1px}aside.sidebar section{font-size:.8em;line-height:1.4em;margin-bottom:1.5em}aside.sidebar section h1{margin:1.5em 0 0;padding-bottom:.2em;border-bottom:1px solid #e0e0e0}aside.sidebar section h1+p{padding-top:.4em}aside.sidebar img{-moz-border-radius:.3em;-webkit-border-radius:.3em;border-radius:.3em;-moz-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-webkit-box-shadow:rgba(0,0,0,0.15) 0 1px 4px;box-shadow:rgba(0,0,0,0.15) 0 1px 4px;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:#fff 0.3em solid}aside.sidebar ul{margin-bottom:0.5em;margin-left:0}aside.sidebar li{list-style:none;padding:.5em 0;margin:0;border-bottom:1px solid #e0e0e0}aside.sidebar li p:last-child{margin-bottom:0}aside.sidebar a{color:inherit;-moz-transition:color .5s;-o-transition:color .5s;-webkit-transition:color .5s;transition:color .5s}aside.sidebar:hover a{color:#1863a1}aside.sidebar:hover a:hover{color:#0181eb}.aside-alt-link,#tweets a[href*='twitter.com/search'],#pinboard_linkroll .pin-tag{color:#7f7f7f}.aside-alt-link:hover,#tweets a[href*='twitter.com/search']:hover,#pinboard_linkroll .pin-tag:hover{color:#0181eb}@media only screen and (min-width: 768px){.toggle-sidebar{outline:none;position:absolute;right:-10px;top:0;bottom:0;display:inline-block;text-decoration:none;color:#cecece;width:9px;cursor:pointer}.toggle-sidebar:hover{background:#e9e9e9;background:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjAuNSIgeDI9IjEuMCIgeTI9IjAuNSI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2UwZTBlMCIgc3RvcC1vcGFjaXR5PSIwLjUiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlMGUwZTAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background:-webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0%, rgba(224,224,224,0.5)),color-stop(100%, rgba(224,224,224,0)));background:-moz-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:-webkit-linear-gradient(left, rgba(224,224,224,0.5),rgba(224,224,224,0));background:linear-gradient(to right, rgba(224,224,224,0.5),rgba(224,224,224,0))}.toggle-sidebar:after{position:absolute;right:-11px;top:0;width:20px;font-size:1.2em;line-height:1.1em;padding-bottom:.15em;-moz-border-radius-bottomright:.3em;-webkit-border-bottom-right-radius:.3em;border-bottom-right-radius:.3em;text-align:center;background:#f8f8f8 url('/assets/images/noise.png?1621135565') top left;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;content:"\00BB";text-indent:-1px}.collapse-sidebar .toggle-sidebar{text-indent:0px;right:-20px;width:19px}.collapse-sidebar .toggle-sidebar:hover{background:#e9e9e9}.collapse-sidebar .toggle-sidebar:after{border-left:1px solid #e0e0e0;text-shadow:#fff 0 1px;content:"\00AB";left:0px;right:0;text-align:center;text-indent:0;border:0;border-right-width:0;background:none}}#tweets .loading{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMjgwMTE3NDA3MjA2ODExQTQxQUNFN0NCOEMyNEMzNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowQkYxMEI5QjQ5QzYxMUUwQTJGN0YyQzFDMzFCQjZCMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowQkYxMEI5QTQ5QzYxMUUwQTJGN0YyQzFDMzFCQjZCMyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkIxREYyRDc2MTIyMDY4MTFBNDFBQ0U3Q0I4QzI0QzM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAyODAxMTc0MDcyMDY4MTFBNDFBQ0U3Q0I4QzI0QzM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+bAX+SwAAAZBJREFUeNrsl+1tgzAQhgF1AHeCphPU3QA2SDcIEzRMUDpB0wlCJ8gIcf+DQicoG5QNqC29SJZl/EHc8oeTTkTCvnvse3048TAM0ZKWRAvbCnDTNE3omBvulHvPnVkBAic/ct/hd4fn/X+VQE4+AjzN0UDK/Zv7njtxTL5Tko9xLgAjPgA96vjG/QcBqCE5wVgT3HkKQgfQcq+UABcESTXjXXaKYr6zBnIFYtzSswbk2bFMVFOmSYBSN1gBGetOPIT64noMmW6wRvX9jB6xlXT2YALIkSSyCNDXTpLYM1MfEBooZqzSxVoskCQOx4v8AQDF7m5MAD0oQ5uImXG/Fbtsa8UVenkRKHmHmMznW9AFLMPH3I8RCyBGsZCDDmDvCJBBvdfUvtcBtOj1W0PzKNH96BXJ2dSFRLx4x7E4AuiT+x0S0gCqr2w3ogqJT+j1aSDF57ZrWaJ0p0edUDxN1PkVsax3wkQzucDZP3gqv5Xmlq5z47quXdpmKmlChv3CVjPpEupl8frXbAVYGuBXgAEAuftfzMLpDZgAAAAASUVORK5CYII=') no-repeat center 0.5em;color:#c4c4c4;text-shadow:#f8f8f8 0 1px;text-align:center;padding:2.5em 0 .5em}#tweets .loading.error{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACLklEQVRYhe2WwY2bQBSG/4f3aEtsB+4gG8kzkk+BDuIKbFcQU0GyFXhdgekgJeAbEiCFErwdIMHN1vw5BK8cAws2K+3F/wm9eTP/x7w3owHuuuuTJbdODMNwPBgMHBEZi8gXkvbZcArgleROa51+GEAQBPZwOFwAmIvIU8dpGUn/eDxuptPp/iaA0nglIj8A2K0TGkTypSiKZ9d1s84AcRw7IrIFML7V+EJ7Y8zsVJp3AaIoWliWte3jRjIVkZTkK4Bvp9IZYzyttd8I0NM8I7k5Ho9+Xd2TJPlO8icArxag3PbgFmeSKcllW/eXPqsKQBAE9mg0+oN+Nc9IzpRSu7ZE6zIwHA5XPc2BfyfF6ZJYARCReU/zk7IwDMdtSW8liOPYITnu2/WXMsYstdZ+I0DZ7Wv0uGDalOf54/nlcy5LRPYAliRbu/YGZSS9JnMAsEhmALZX3O3XyBaRdRRFi0YAEZkbYzySLoDZDSaNf/dmYlnbOI6durEHpZR3HkiSZI8rjqExxjuZtKQ6AHYVuJoFn7uaA8i01r7W2ifpkqwYlPKVUr/qBioA5WKdGpLk5vStlNoppdwGkEWSJLU7VAEAgKIo3A4QWVEUL5fBE4gx5isA/xwiiqJKo9cCuK6bFUXhXizwn4wx7x4vrXU6mUyWeZ4/kvQA7EWkcte0PkiiKHoSkbWIOGdhfzKZLNvmdtFDW4JlWb8vQh9mDnR8E5bvA/twOKR1D4y77uqjv2QXCIW9OIVeAAAAAElFTkSuQmCC') no-repeat center 0.5em}#tweets p{position:relative;padding-right:1em}#tweets a[href*=status]:first-child{color:#a5a5a5;float:right;padding:0 0 .1em 1em;position:relative;right:-1.3em;text-shadow:#fff 0 1px;font-size:.7em;text-decoration:none}#tweets a[href*=status]:first-child span{font-size:1.5em}#tweets a[href*=status]:first-child:hover{color:#0181eb;text-decoration:none}#tweets a[href*='twitter.com/search']{text-decoration:none}#tweets a[href*='twitter.com/search']:hover,#tweets a[href*='twitter.com/search']:focus{text-decoration:underline}.googleplus h1{-moz-box-shadow:none !important;-webkit-box-shadow:none !important;-o-box-shadow:none !important;box-shadow:none !important;border-bottom:0px none !important}.googleplus a{text-decoration:none;white-space:normal !important;line-height:32px}.googleplus a img{float:left;margin-right:0.5em;border:0 none}.googleplus-hidden{position:absolute;top:-1000em;left:-1000em}#pinboard_linkroll .pin-title,#pinboard_linkroll .pin-description{display:block;margin-bottom:.5em}#pinboard_linkroll .pin-tag{text-decoration:none}#pinboard_linkroll .pin-tag:hover,#pinboard_linkroll .pin-tag:focus{text-decoration:underline}#pinboard_linkroll .pin-tag:after{content:','}#pinboard_linkroll .pin-tag:last-child:after{content:''}.delicious-posts a.delicious-link{margin-bottom:.5em;display:block}.delicious-posts p{font-size:1em}body>footer{font-size:.8em;color:#888;text-shadow:#45474a 0 1px;background-color:#393A3D;background:url('/assets/images/noise.png?1621135565'),url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzRmNTE1NSIvPjxzdG9wIG9mZnNldD0iNTAlIiBzdG9wLWNvbG9yPSIjMzkzYTNkIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMWUxZTIwIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background:url('/assets/images/noise.png?1621135565'),-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #4f5155),color-stop(50%, #393a3d),color-stop(100%, #1e1e20));background:url('/assets/images/noise.png?1621135565'),-moz-linear-gradient(#4f5155,#393a3d,#1e1e20);background:url('/assets/images/noise.png?1621135565'),-webkit-linear-gradient(#4f5155,#393a3d,#1e1e20);background:url('/assets/images/noise.png?1621135565'),linear-gradient(#4f5155,#393a3d,#1e1e20);border-top:1px solid #5e6065;position:relative;padding-top:1em;padding-bottom:1em;margin-bottom:3em;-moz-border-radius-bottomleft:.4em;-webkit-border-bottom-left-radius:.4em;border-bottom-left-radius:.4em;-moz-border-radius-bottomright:.4em;-webkit-border-bottom-right-radius:.4em;border-bottom-right-radius:.4em;z-index:1}body>footer a{color:#1183ee}body>footer a:visited{color:#1183ee}body>footer a:hover{color:#3c9af1}body>footer p:last-child{margin-bottom:0}@font-face{font-family:'icomoon';font-display:swap;src:url("../fonts/IcoMoon.eot");src:url("../fonts/IcoMoon.eot?#iefix") format("embedded-opentype"),url("../fonts/IcoMoon.svg#icomoon") format("svg"),url("../fonts/IcoMoon.woff") format("woff"),url("../fonts/IcoMoon.ttf") format("truetype");font-weight:normal;font-style:normal}[data-icon]:before{font-family:'icomoon';font-display:swap;content:attr(data-icon);speak:none}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:'icomoon';font-style:normal;speak:none}.icon-facebook:before{content:"\23"}.icon-github:before{content:"\24"}.icon-google-plus:before{content:"\25"}.icon-rss:before{content:"\26"}.icon-home:before{content:"\27"}.icon-user:before{content:"\28"}.icon-book-alt:before{content:"\2a"}.icon-twitter:before{content:"\22"}.icon-link:before{content:"\21"}sup,sub{padding:0 0.2em;display:inline}.sidenote,.marginnote{float:right;clear:right;margin-right:-40%;width:30%;margin-top:0.5rem;font-size:0.8em;margin-bottom:0.5rem;line-height:1.2;vertical-align:baseline;position:relative;color:#50545a}.sidenote-number{counter-increment:sidenote-counter}.sidenote-number:after,.sidenote:before{font-family:et-book-roman-old-style;position:relative;vertical-align:baseline;color:#d0648a;font-weight:bold;text-decoration:none;text-shadow:1px 1px #efefef, 2px 2px #ccc;word-wrap:break-word;-webkit-transition-duration:0.5s;-moz-transition-duration:0.5s;-ms-transition-duration:0.5s;-o-transition-duration:0.5s;transition-duration:0.5s}.sidenote-number:after{content:counter(sidenote-counter);font-size:1rem;top:-0.5rem;left:0.1rem}.sidenote:before{content:counter(sidenote-counter) ". ";font-size:1rem;left:-0.4rem}blockquote .sidenote,blockquote .marginnote{margin-right:-82%;min-width:59%;text-align:left}.marginnote>code,.sidenote>code{font-size:1rem}input.margin-toggle{display:none}label.sidenote-number{display:inline}label.margin-toggle:not(.sidenote-number){display:none}*+table{margin-bottom:1.5em;width:100%;text-align:left;border-collapse:collapse}*+table th{text-align:left;font-weight:normal;padding:8px;background:#b9c9fe url("../images/gradhead.png") repeat-x;border-top:2px solid #d3ddff;border-bottom:1px solid #fff;color:#039}*+table td{padding:8px;border-bottom:1px solid #fff;color:#669;border-top:1px solid #fff;background:#e8edff url("../images/gradback.png") repeat-x}*+table tfoot tr td{background:#e8edff;color:#99c}*+table tbody tr:hover td{background:#d0dafd url("../images/gradhover.png") repeat-x;color:#339}html{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAWCAYAAAC2ew6NAAAEZUlEQVR42oWX12ogMQxFhzTSe4f03ntPSCP1JY2E/P+PaDmCA2Z2s3kQnrElX+lalmaqlpaWQGZnZ2NpaSnW19djdXXVMWVzczP6+vpiZGQkSn2E597e3lhbW4udnZ0ct7e3Y2NjI/fo6OiIpqammJmZCfW1X1xcRA+MtNna2krZ29v7C68CBOFlbm6OzTFiBDjHlZWVmJ6eTsCenh71dTLXDWx3dzftlpeXERxKZ9Uv8RYWFgwI3ZKkDKzEq2RmeHg4Dg8PMdRRmGSDdGR/fz8GBgZicnKyZCb1Tk5OGBEYSV3ZPTo6StDm5ubUr+MhpaNiYzc4OCheMppHcHl5ySIARKXDCHPJ1OnpabKADceCzvn5eZydnck8wTEPMI6yzt7smc6Jpx362IqJjY6CNz8/n6xWn5+f8fDwwIK5wqIRMrIZzmbu3N/fx8fHR7y8vMTT0xNzbA6T6BtYinMHBwdxd3cXX19f8fr6Ch5Mso4++yMEmnY6fHx8HDc3N/H9/R0VE0bEkTGW4DIFo7zDBjrlMakHmBcS/TLPsfOiGQTinJfJk2QekiSqYlLaZdJ3jQHnWSM2Yd0biw4jLOGEzpS3H+FZFrVlP94hg5EAJY93SNNRI85xamoqk7i1tTVlaGiIhM6NdKhkUkcmJiaw85KRj+Qz+jqpLuASAh6XNLHa29ujv7/f6iNBKVV5W3Gos7MzGhoaMObCZIno6upiU4+REce9NNxqEj5tGxsbsUnbsbExwGRRlnSeNUpXHY991IHNfK7MBYBHR0dhA2PLSTrQ3d0d4+PjBoTAFnY8AwAYIOhigy17wLTOcawEZ05j9yMevhgYAVVl4re1tVkr6x0IVr10lhSFNZgETP16B8LG/Db3f8VDR2YrjO0kLMJKrYMgRF8vPToOI4hMlvbM/av0MP6Kh09UIi8TjDLBcWpYZ8aS5THaNpkjR9mYsc4MlcQqwqiYoz/iUXvNa2w5eqNkkdwgR0pmOBoCwVDBxnwjUI6Qo5cZWbEt6yxi6vwXj7bs6aWjHqFl4+LiAkc4MiSBbm9vMbQpyIiAOXd1dcWJeMnIS1ogHQ8d6yq6BsiaeDiLkzgPXq6ZLnn0gNou7bHPz89Ba0UeHx9xEtasoSkGiK1BXl9fx/v7e7y9vdHfZQU7bcsgCQbHbMvg8ZxzBidG5bHrqB0IKT4wZMEW+U+HfS4dK2+7TcMuJK52YsO67VVnq9IJj1LnTHiD8AbCLgwK4Gg71U4QA2Rf9RxtmTLoXVDX9lrRBWh33Fgd0kkDMD3QoU1aoPkKJycB+OGbwXcuG5eFkkRbpk3++s2AHb6BV1EeEDYCVGetmTqJEQlPB6K4WzuZ45b6C4GtHQgmcAgycJICX8fDDhxZLUseQYnnPxNgMiGbjH7a0UIBBAQ22QjhmRJjXnpRzHHWAKNUJUaJh6Pq+qFNsJBUx/OfyWMpCzOGbISzfNkQmWWkrHscZXmjS4H1ZNJeXsfzyw1Hy89DbEq8P07aJTElh3R1AAAAAElFTkSuQmCC)}body>header{background:none}body>header h1,body>header h2{text-shadow:0px 1px 0px #999,0px 2px 0px #888,0px 3px 0px #777,0px 4px 0px #666,0px 5px 0px #555,0px 6px 0px #444,0px 7px 0px #333,0px 8px 7px #001135}body>header h2{margin-top:.5em;display:none}body>nav{-moz-box-shadow:0px 2px 5px 0px #000;-webkit-box-shadow:0px 2px 5px 0px #000;box-shadow:0px 2px 5px 0px #000}body>nav li+li{border-left:none}body>nav li+li a{border-left:none}body>nav ul.main-navigation{padding-left:3px}body>nav a:hover{color:#1183ee;text-shadow:#0e6ec8 0px 0px 5px,#0e6ec8 0px 0px 7px,#1a88ef 0px 0px 9px,#1a88ef 0px 0px 11px,#000 0 0 2px}body>nav a i{color:#1183ee;text-shadow:#0e6ec8 0px 0px 5px,#0e6ec8 0px 0px 7px,#1a88ef 0px 0px 9px,#1a88ef 0px 0px 11px,#000 0 0 2px}body>nav a i.icon-home,body>nav a i.icon-book-alt,body>nav a i.icon-user{padding-right:5px}.divider{position:absolute;display:block;height:42px;width:1px;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9IiMyODM2M2UiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMxZTI4MmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiBmaWxsPSJ1cmwoI2dyYWQpIiAvPjwvc3ZnPiA=');background-size:100%;background-image:-webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(50%, #28363e),color-stop(100%, #1e282f));background-image:-moz-linear-gradient(top, #28363e 50%,#1e282f 100%);background-image:-webkit-linear-gradient(top, #28363e 50%,#1e282f 100%);background-image:linear-gradient(to bottom, #28363e 50%,#1e282f 100%);margin:-.57em 0em 0em 0em;box-shadow:1px 0 0 0 rgba(255,255,255,0.1)}body>div#main{-moz-box-shadow:1px 3px 5px 0px #000;-webkit-box-shadow:1px 3px 5px 0px #000;box-shadow:1px 3px 5px 0px #000}article{line-height:1.618em;overflow:hidden}article div.entry-content{word-break:break-all;word-break:break-word;text-rendering:optimizeLegibility}article h2,article h3,article h4,article h5,article h6{font-family:-apple-system,"Noto Sans","Helvetica Neue",Helvetica,"Nimbus Sans L",Arial,"Liberation Sans","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC","Source Han Sans SC","Source Han Sans CN","Microsoft YaHei","Wenquanyi Micro Hei","WenQuanYi Zen Hei","ST Heiti",SimHei,"WenQuanYi Zen Hei Sharp",sans-serif;font-display:auto;margin-bottom:0.6em;line-height:1.35;text-shadow:1px 1px #efefef,2px 2px #828887}article h2{margin-bottom:.5em}article i.icon-twitter{color:#107ee5}article i.icon-facebook{color:#4e6ba9}article i.icon-google-plus{color:#c54a28}article i.icon-github{color:#404040}article section#details{height:54px;width:1200px;background:url("../images/construction.png") repeat-x 50% 0;background-size:116px 54px;margin-left:-100px;margin-bottom:.5em}article blockquote{font-style:normal;font-size:1em;line-height:1.618em;color:#666;padding:15px;border-left:0px;background-color:#f2f2f2;-moz-box-shadow:#c2c2c2 0 1px 5px inset;-webkit-box-shadow:#c2c2c2 0 1px 5px inset;box-shadow:#c2c2c2 0 1px 5px inset;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}article blockquote p:last-child{margin:0}article blockquote footer>strong{font-style:italic}article div.footnotes{color:#878787;padding-top:1.5em;background:url("../images/divider.png") top center no-repeat}article kbd{padding:0.1em 0.6em;border:1px solid #ccc;font-size:11px;font-family:Arial,Helvetica,sans-serif;font-display:auto;background-color:#f7f7f7;color:#333;-moz-box-shadow:0 1px 0px rgba(0,0,0,0.2),0 0 0 2px #fff inset;-webkit-box-shadow:0 1px 0px rgba(0,0,0,0.2),0 0 0 2px #fff inset;box-shadow:0 1px 0px rgba(0,0,0,0.2),0 0 0 2px #fff inset;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;display:inline-block;margin:0 0.1em;text-shadow:0 1px 0 white;line-height:1.4}body>footer{overflow:hidden;-moz-border-radius-bottomleft:0px;-webkit-border-bottom-left-radius:0px;border-bottom-left-radius:0px;-moz-border-radius-bottomright:0px;-webkit-border-bottom-right-radius:0px;border-bottom-right-radius:0px;-moz-box-shadow:1px 3px 5px 0px #000;-webkit-box-shadow:1px 3px 5px 0px #000;box-shadow:1px 3px 5px 0px #000}body>footer p{margin-bottom:0}body>footer p span.theme-version{float:right;color:#9C9EA2}section.contruction-wrap{height:52px;width:200px;position:absolute;right:0;top:14px}section div.contruction{height:15px;width:200px;position:relative;margin-left:105px;background-color:#f4a100;-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);transform:rotate(-45deg);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjEuMCIgeDI9IjEuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSI2LjI1JSIgc3RvcC1jb2xvcj0iIzEwMTAxMCIvPjxzdG9wIG9mZnNldD0iNi4yNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIxMi41JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEyLjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSIxOC43NSUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3RvcCBvZmZzZXQ9IjE4Ljc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjI1JSIgc3RvcC1jb2xvcj0iIzEwMTAxMCIvPjxzdG9wIG9mZnNldD0iMzEuMjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSIzMS4yNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSIzNy41JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjM3LjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI0My43NSUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3RvcCBvZmZzZXQ9IjQzLjc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjUwJSIgc3RvcC1jb2xvcj0iIzEwMTAxMCIvPjxzdG9wIG9mZnNldD0iNTYuMjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI1Ni4yNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI2Mi41JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjYyLjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI2OC43NSUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3RvcCBvZmZzZXQ9IjY4Ljc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9Ijc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9Ijc1JSIgc3RvcC1jb2xvcj0iIzEwMTAxMCIvPjxzdG9wIG9mZnNldD0iODEuMjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI4MS4yNSUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PHN0b3Agb2Zmc2V0PSI4Ny41JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9Ijg3LjUlIiBzdG9wLWNvbG9yPSIjMTAxMDEwIi8+PHN0b3Agb2Zmc2V0PSI5My43NSUiIHN0b3AtY29sb3I9IiMxMDEwMTAiLz48c3RvcCBvZmZzZXQ9IjkzLjc1JSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4wIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');background-size:100%;background-image:-moz-linear-gradient(45deg, #101010 6.25%,rgba(0,0,0,0) 6.25%,rgba(0,0,0,0) 12.5%,#101010 12.5%,#101010 18.75%,rgba(0,0,0,0) 18.75%,rgba(0,0,0,0) 25%,#101010 25%,#101010 31.25%,rgba(0,0,0,0) 31.25%,rgba(0,0,0,0) 37.5%,#101010 37.5%,#101010 43.75%,rgba(0,0,0,0) 43.75%,rgba(0,0,0,0) 50%,#101010 50%,#101010 56.25%,rgba(0,0,0,0) 56.25%,rgba(0,0,0,0) 62.5%,#101010 62.5%,#101010 68.75%,rgba(0,0,0,0) 68.75%,rgba(0,0,0,0) 75%,#101010 75%,#101010 81.25%,rgba(0,0,0,0) 81.25%,rgba(0,0,0,0) 87.5%,#101010 87.5%,#101010 93.75%,rgba(0,0,0,0) 93.75%,rgba(0,0,0,0) 100%);background-image:-webkit-linear-gradient(45deg, #101010 6.25%,rgba(0,0,0,0) 6.25%,rgba(0,0,0,0) 12.5%,#101010 12.5%,#101010 18.75%,rgba(0,0,0,0) 18.75%,rgba(0,0,0,0) 25%,#101010 25%,#101010 31.25%,rgba(0,0,0,0) 31.25%,rgba(0,0,0,0) 37.5%,#101010 37.5%,#101010 43.75%,rgba(0,0,0,0) 43.75%,rgba(0,0,0,0) 50%,#101010 50%,#101010 56.25%,rgba(0,0,0,0) 56.25%,rgba(0,0,0,0) 62.5%,#101010 62.5%,#101010 68.75%,rgba(0,0,0,0) 68.75%,rgba(0,0,0,0) 75%,#101010 75%,#101010 81.25%,rgba(0,0,0,0) 81.25%,rgba(0,0,0,0) 87.5%,#101010 87.5%,#101010 93.75%,rgba(0,0,0,0) 93.75%,rgba(0,0,0,0) 100%);background-image:linear-gradient(45deg, #101010 6.25%,rgba(0,0,0,0) 6.25%,rgba(0,0,0,0) 12.5%,#101010 12.5%,#101010 18.75%,rgba(0,0,0,0) 18.75%,rgba(0,0,0,0) 25%,#101010 25%,#101010 31.25%,rgba(0,0,0,0) 31.25%,rgba(0,0,0,0) 37.5%,#101010 37.5%,#101010 43.75%,rgba(0,0,0,0) 43.75%,rgba(0,0,0,0) 50%,#101010 50%,#101010 56.25%,rgba(0,0,0,0) 56.25%,rgba(0,0,0,0) 62.5%,#101010 62.5%,#101010 68.75%,rgba(0,0,0,0) 68.75%,rgba(0,0,0,0) 75%,#101010 75%,#101010 81.25%,rgba(0,0,0,0) 81.25%,rgba(0,0,0,0) 87.5%,#101010 87.5%,#101010 93.75%,rgba(0,0,0,0) 93.75%,rgba(0,0,0,0) 100%);-moz-box-shadow:rgba(255,255,255,0.2) 0px 1px 2px 1px inset,rgba(0,0,0,0.2) 0px -1px 1px 1px inset;-webkit-box-shadow:rgba(255,255,255,0.2) 0px 1px 2px 1px inset,rgba(0,0,0,0.2) 0px -1px 1px 1px inset;box-shadow:rgba(255,255,255,0.2) 0px 1px 2px 1px inset,rgba(0,0,0,0.2) 0px -1px 1px 1px inset}body>header h1{font-size:2.48832rem}body>header h1{font-size:33.1776px}@media screen and (min-width: 320px){body>header h1{font-size:calc(33.1776px + 26.0928 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){body>header h1{font-size:59.2704px}}h1{font-size:1.728rem}h1{font-size:27.648px}@media screen and (min-width: 320px){h1{font-size:calc(27.648px + 9.984 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h1{font-size:37.632px}}h2,section h1{font-size:1.728rem}h2,section h1{font-size:25.344px}@media screen and (min-width: 320px){h2,section h1{font-size:calc(25.344px + 9.152 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h2,section h1{font-size:34.496px}}h3,section h2,section section h1{font-size:1.44rem}h3,section h2,section section h1{font-size:23.04px}@media screen and (min-width: 320px){h3,section h2,section section h1{font-size:calc(23.04px + 8.32 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h3,section h2,section section h1{font-size:31.36px}}h4,section h3,section section h2,section section section h1{font-size:1.2rem}h4,section h3,section section h2,section section section h1{font-size:19.2px}@media screen and (min-width: 320px){h4,section h3,section section h2,section section section h1{font-size:calc(19.2px + 3.2 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h4,section h3,section section h2,section section section h1{font-size:22.4px}}h5,section h4,section section h3{font-size:1.14rem}h5,section h4,section section h3{font-size:18.24px}@media screen and (min-width: 320px){h5,section h4,section section h3{font-size:calc(18.24px + 1.92 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h5,section h4,section section h3{font-size:20.16px}}h6,section h5,section section h4,section section section h3{font-size:1.02rem}h6,section h5,section section h4,section section section h3{font-size:16.32px}@media screen and (min-width: 320px){h6,section h5,section section h4,section section section h3{font-size:calc(16.32px + 1.6 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){h6,section h5,section section h4,section section section h3{font-size:17.92px}}html{font-size:16px}@media screen and (min-width: 320px){html{font-size:calc(16px + 2 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){html{font-size:18px}}html body>div>div{border-right:none}html audio{width:100%}html ::selection{color:#fff;background:#000}html ::-moz-selection{color:#fff;background:#000}@media only screen and (min-width: 1037px){body>nav{-moz-border-radius-topleft:.4em;-webkit-border-top-left-radius:.4em;border-top-left-radius:.4em;-moz-border-radius-topright:.4em;-webkit-border-top-right-radius:.4em;border-top-right-radius:.4em}body>footer{-moz-border-radius-bottomleft:.4em;-webkit-border-bottom-left-radius:.4em;border-bottom-left-radius:.4em;-moz-border-radius-bottomright:.4em;-webkit-border-bottom-right-radius:.4em;border-bottom-right-radius:.4em}}@media only screen and (min-width: 550px){body>header>hgroup section div#banner{display:none}}@media only screen and (min-width: 992px){.divider{height:48px;margin:-.57em 0em 0em 0em}}@media only screen and (max-width: 992px){.divider{height:42px;margin:-.57em 0em 0em 0em}}@media only screen and (max-width: 768px){.divider{height:40px;margin:-.53em 0 0 0}label.margin-toggle:not(.sidenote-number){display:inline}.sidenote,.marginnote{display:none}.margin-toggle:checked+.sidenote,.margin-toggle:checked+.marginnote{display:block;float:left;font-size:0.9em;clear:both;width:90%;margin:1rem 5%;position:relative}label.margin-toggle.sidenote-number::after{content:"\1f4a1";font-size:1rem;top:-0.5rem;left:0.1rem}.margin-toggle:checked+.sidenote:before{content:"\1F4DC";font-size:1rem;top:-0.1rem;left:-0.4rem}}*+table{font-size:14px}@media screen and (min-width: 320px){*+table{font-size:calc(14px + 2 * ((100vw - 320px) / 880))}}@media screen and (min-width: 1200px){*+table{font-size:16px}}
data/index.html CHANGED
@@ -6,13 +6,13 @@ layout: default
6
6
  {% assign index = true %}
7
7
  {% for post in paginator.posts %}
8
8
  {% assign content = post.content %}
9
- <article>
10
- {% include article.html %}
11
- </article>
9
+ <article>
10
+ {% include article.html %}
11
+ </article>
12
12
  {% endfor %}
13
13
  <div class="pagination">
14
14
  {% if paginator.next_page %}
15
- <a class="prev" href="{{paginator.next_page_path}}">&larr; Older</a>
15
+ <a class="prev" href="{{paginator.next_page_path}}">&larr; Older</a>
16
16
  {% endif %}
17
17
  <a href="/archives">Archives</a>
18
18
  {% if paginator.previous_page %}
@@ -20,3 +20,13 @@ layout: default
20
20
  {% endif %}
21
21
  </div>
22
22
  </div>
23
+
24
+ {% unless page.sidebar == false %}
25
+ <aside class="sidebar">
26
+ {% if site.page_asides.size %}
27
+ {% include_array page_asides %}
28
+ {% else %}
29
+ {% include_array default_asides %}
30
+ {% endif %}
31
+ </aside>
32
+ {% endunless %}
metadata CHANGED
@@ -1,35 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-lenciel-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - lenciel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-20 00:00:00.000000000 Z
11
+ date: 2023-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '3.6'
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '5.0'
19
+ version: 4.2.0
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '3.6'
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '5.0'
26
+ version: 4.2.0
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: jekyll-sitemap
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +53,7 @@ dependencies:
59
53
  - !ruby/object:Gem::Version
60
54
  version: '0'
61
55
  - !ruby/object:Gem::Dependency
62
- name: jekyll-seo-tag
56
+ name: jekyll-archives
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
59
  - - ">="
@@ -73,7 +67,7 @@ dependencies:
73
67
  - !ruby/object:Gem::Version
74
68
  version: '0'
75
69
  - !ruby/object:Gem::Dependency
76
- name: jekyll-feed
70
+ name: jekyll-seo-tag
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
73
  - - ">="
@@ -87,7 +81,7 @@ dependencies:
87
81
  - !ruby/object:Gem::Version
88
82
  version: '0'
89
83
  - !ruby/object:Gem::Dependency
90
- name: jekyll_picture_tag
84
+ name: jekyll-feed
91
85
  requirement: !ruby/object:Gem::Requirement
92
86
  requirements:
93
87
  - - ">="
@@ -100,6 +94,20 @@ dependencies:
100
94
  - - ">="
101
95
  - !ruby/object:Gem::Version
102
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: jekyll_picture_tag
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 1.13.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 1.13.0
103
111
  - !ruby/object:Gem::Dependency
104
112
  name: bundler
105
113
  requirement: !ruby/object:Gem::Requirement
@@ -246,10 +254,12 @@ files:
246
254
  - _includes/post/date.html
247
255
  - _includes/post/disqus_thread.html
248
256
  - _includes/post/sharing.html
257
+ - _includes/yarchive.html
249
258
  - _layouts/default.html
250
259
  - _layouts/home.html
251
260
  - _layouts/page.html
252
261
  - _layouts/post.html
262
+ - _layouts/yarchive.html
253
263
  - assets/fonts/IcoMoon.eot
254
264
  - assets/fonts/IcoMoon.svg
255
265
  - assets/fonts/IcoMoon.ttf
@@ -312,6 +322,7 @@ files:
312
322
  - assets/javascripts/libs/jwplayer/player.swf
313
323
  - assets/javascripts/libs/lazyload.min.js
314
324
  - assets/javascripts/libs/modernizr.custom.55630.js
325
+ - assets/javascripts/umami.js
315
326
  - assets/stylesheets/screen.css
316
327
  - assets/stylesheets/screen.min.css
317
328
  - index.html
@@ -334,7 +345,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
334
345
  - !ruby/object:Gem::Version
335
346
  version: '0'
336
347
  requirements: []
337
- rubygems_version: 3.1.0.pre1
348
+ rubygems_version: 3.1.6
338
349
  signing_key:
339
350
  specification_version: 4
340
351
  summary: Jekyll theme made by lenciel with <3