jekyll-lenciel-theme 1.0.10 → 1.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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