/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:icon;font-display:'swap';src:url(//at.alicdn.com/t/font_174169_qmgvd10zwbf.eot);src:url(//at.alicdn.com/t/font_174169_qmgvd10zwbf.eot?#iefix) format("embedded-opentype"),url(//at.alicdn.com/t/font_174169_qmgvd10zwbf.woff) format("woff"),url(//at.alicdn.com/t/font_174169_qmgvd10zwbf.ttf) format("truetype"),url(//at.alicdn.com/t/font_174169_qmgvd10zwbf.svg#iconfont) format("svg")}.icon{font-family:icon!important;font-size:1rem;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.icon{-webkit-font-smoothing:subpixel-antialiased}}.icon-facebook::before{content:"\e600"}.icon-close::before{content:"\e646"}.icon-reddit::before{content:"\ebcf"}.icon-stackoverflow::before{content:"\e85a"}.icon-twitter::before{content:"\e89d"}.icon-comment::before{content:"\e66f"}.icon-menu::before{content:"\e692"}.icon-jsfiddle::before{content:"\e753"}.icon-weibo::before{content:"\e892"}.icon-wechat::before{content:"\e628"}.icon-dribbble::before{content:"\e696"}.icon-rss::before{content:"\e6ee"}.icon-github::before{content:"\e629"}.icon-up::before{content:"\e734"}.icon-behance::before{content:"\e601"}.icon-douban::before{content:"\e613"}.icon-quora::before{content:"\e61b"}.icon-email::before{content:"\e664"}.icon-bilibili::before{content:"\e64e"}.icon-codepen::before{content:"\e9eb"}.icon-pinterest::before{content:"\e60a"}.icon-codesandbox::before{content:"\e87e"}.icon-google::before{content:"\e886"}.icon-zhihu::before{content:"\e88b"}.icon-instagram::before{content:"\e88f"}.icon-linkedin::before{content:"\f1e7"}.icon-medium::before{content:"\f1ef"}.icon-npm::before{content:"\f1fe"}.icon-vimeo::before{content:"\f25a"}.icon-youtube::before{content:"\f274"}html{line-height:1.618;font-family:-apple-system,BlinkMacSystemFont,segoe ui,roboto,oxygen,ubuntu,cantarell,fira sans,droid sans,pingfang sc,hiragino sans gb,microsoft yahei,wenquanyi micro hei,helvetica neue,sans-serif;font-size:16px}body{text-rendering:optimizeLegibility;color:#4a4a4a;font-feature-settings:"liga" on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){body{-webkit-font-smoothing:subpixel-antialiased}}a{opacity:.8;text-decoration:none;color:#2970a6}a:focus,a:hover{opacity:1;outline:none;color:#2970a6}.site-header{box-sizing:border-box;position:fixed;top:0;bottom:0;left:0;padding:1rem;width:18rem;text-align:center}.site-header .is-active a{opacity:1;color:#363636;font-weight:700}.site-header a{opacity:.5;color:#242424}.site-header a:focus,.site-header a:hover{opacity:1;color:#363636}@media screen and (max-width:800px){.site-header{position:relative;width:100%}}@media print{.site-header{display:none}}.main{box-sizing:border-box;position:relative;margin-left:18rem;border-right:1px solid rgba(0,0,0,.09);border-left:1px solid rgba(0,0,0,.09);box-shadow:0 1px 4px rgba(0,0,0,.04);background:#fff;padding:1rem 2rem;width:calc(100% - 18rem);max-width:80rem;min-height:100vh}.main .list-footer{padding:1.5rem 0}@media print,screen and (max-width:800px){.main{margin-left:0;border-top:1px solid rgba(0,0,0,.09);border-right:none;border-bottom:1px solid rgba(0,0,0,.09);border-left:none;padding:0 1rem;width:100%;min-height:initial}}.site-footer{display:block;padding:2rem 1rem;text-align:center;color:#4a4a4a}@media screen and (max-width:800px){.site-footer{display:block;padding:2rem 1rem;text-align:center;color:#4a4a4a;font-family:fira code,roboto mono,Menlo,Monaco,Consolas,courier new,Courier,monospace;font-size:.8rem}.site-footer a{opacity:.7;color:#4a4a4a}.site-footer a:focus,.site-footer a:hover{opacity:1}}.avatar{margin-top:1rem;width:8rem;height:8rem;border-radius:50%;border:4px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}@media screen and (max-width:800px){.avatar{position:absolute;top:1rem;left:1rem;width:2rem;height:2rem;margin-top:0;border:2px solid #fff}}.title{font-size:1.5rem;font-family:lobster,cursive,-apple-system,BlinkMacSystemFont,segoe ui,roboto,oxygen,ubuntu,cantarell,fira sans,droid sans,pingfang sc,hiragino sans gb,microsoft yahei,wenquanyi micro hei,helvetica neue,sans-serif;font-weight:700;margin:1rem auto}@media screen and (max-width:800px){.title{margin-top:3rem}}.subtitle{margin-bottom:1.5rem;opacity:.7}.menu-toggle{display:none;border:none;outline:none;width:2rem;height:2rem;font-size:1.5rem;background-color:transparent;transition:all ease-out .5s}@media screen and (max-width:800px){.menu-toggle{position:absolute;top:1rem;right:1rem;display:block}}.site-menu{text-transform:capitalize}.site-menu .menu-list{list-style:none;padding:0}.site-menu .menu-item{padding:.8rem 0}.site-menu .menu-item a{display:inline-block;height:1.5rem;line-height:1.5}@media screen and (max-width:800px){.site-menu.collapsed{max-height:0}}@media screen and (max-width:800px){.site-menu{overflow-y:hidden;max-height:1000px;transition:max-height ease-out .5s}}.social-menu{position:absolute;left:1rem;right:1rem;bottom:1rem;font-size:0}.social-menu .social-list{padding:0;list-style:none;line-height:2}.social-menu .social-item{display:inline-block;font-size:1rem}.social-menu li+li{padding-left:1rem}@media screen and (max-width:800px){.social-menu.collapsed{margin:0 auto;max-height:0}}@media screen and (max-width:800px){.social-menu{position:relative;left:0;right:0;bottom:0;margin:2rem auto;max-height:125px;overflow-y:hidden;transition:all ease-out .5s}}@media screen and (min-width:800px) and (max-height:600px){.social-menu{display:none}}.post-entry{position:relative;line-height:1.8;border-top:1px solid transparent}.post-entry a{color:#4a4a4a}.post-entry a:focus,.post-entry a:hover{color:#00ab6b}.post-entry+.post-entry{border-color:#f4f3f1}.post-entry .post-title{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.3rem;line-height:1.3;font-weight:700}.post-entry .post-title a{opacity:1}.post-entry .post-meta{margin-top:.5rem;margin-bottom:1rem;font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.post-entry .post-cover{position:absolute;top:4.6rem;right:0;width:8rem;height:8rem;object-fit:cover;font-family:'object-fit: cover;';border-radius:3px}.post-entry .post-cover+.post-summary{padding-right:9rem}@media screen and (max-width:800px){.post-entry .post-cover{position:static;width:100vw;height:56.25vw;border-radius:0;margin:0 -1rem}.post-entry .post-cover+.post-summary{padding-right:0}}.post-entry .post-summary{margin-top:1rem;margin-bottom:1rem;font-size:.9rem;text-align:justify;opacity:.8}.post-entry .post-footer{margin-top:1rem;margin-bottom:1.5rem}.post-entry .post-footer .read-more{font-size:.8rem;letter-spacing:1px;text-transform:uppercase}.pagination{position:relative;height:calc(2.9rem + 2px)}.pagination a{color:#4a4a4a}.pagination .pagination-previous,.pagination .pagination-next{position:absolute;padding:1rem;background-color:#fff;border:1px solid #dbdbdb;font-size:.8rem;line-height:1;text-transform:uppercase}.pagination .pagination-previous:focus,.pagination .pagination-previous:hover,.pagination .pagination-next:focus,.pagination .pagination-next:hover{color:#fff;background-color:#00ab6b;border-color:#00ab6b}.pagination .pagination-previous{top:0;left:0}.pagination .pagination-next{top:0;right:0}.post-detail .post-header{margin-bottom:2.5rem}.post-detail .post-header .post-title{font-size:2rem;line-height:1.5;font-weight:700;margin-top:1.5rem;margin-bottom:.5rem}.post-detail .post-header .post-meta{font-size:.8rem;letter-spacing:1px;margin-top:.5rem;margin-bottom:1rem;text-transform:uppercase}.post-detail .post-footer{margin:2rem 0;line-height:1.8}.post-detail .post-footer .post-tags{margin-top:0;margin-bottom:1rem;padding-left:0}.post-detail .post-footer .post-tags li{display:inline-block;margin-bottom:.5rem;border-radius:3px;padding:5px 10px;background:#f4f3f1;font-size:.8rem}.post-detail .post-footer .post-tags li+li{margin-left:.5rem}.post-detail .post-footer .post-copyright{color:#4a4a4a;margin-top:1rem;margin-bottom:0;border-radius:3px;font-size:.9rem;opacity:.5}.post-detail .post-footer .post-copyright:hover{opacity:1}.post-detail .post-footer .post-copyright a{opacity:1}.post-detail .post-footer .post-copyright strong{color:#363636}.post-detail #cyReward>#cy-reward-click{display:block;margin:3rem auto}.post-detail #SOHUCS{margin:2rem auto}.post-detail #SOHUCS .invalidity{box-sizing:border-box}.post-detail #disqus_thread{margin:2rem auto}.post-detail #gitment-container{margin:2rem auto}.post-detail .dsq-brlink{display:none}.post-content{position:relative;color:#4a4a4a;line-height:1.8;word-wrap:break-word;word-break:break-word}.post-content li+li{margin-top:.5rem}.post-content a{padding-bottom:.1em;border-bottom:1px dashed rgba(0,171,107,.5);color:#2970a6;opacity:1}.post-content a:focus,.post-content a:hover{border-bottom:1px solid rgba(0,171,107,.5)}.post-content em{color:#797979;font-style:italic}.post-content strong{color:#363636}.post-content del{color:#797979;text-decoration:line-through}.post-content ins{color:#363636;text-decoration:underline}.post-content hr{position:relative;margin:2rem auto;border-top:1px dashed #dbdbdb;border-bottom:none}.post-content hr::before{content:"sep line";position:absolute;top:-12px;left:calc(50% - 40px);padding:0 .5rem;background-color:#fff;color:#dbdbdb;font-size:.8rem;font-family:fira code,roboto mono,Menlo,Monaco,Consolas,courier new,Courier,monospace}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:#363636;font-weight:500;line-height:1.125;text-align:left}.post-content h1{margin-top:2rem;margin-bottom:1rem;font-size:2.5rem}.post-content h2{padding:5px;color:#00b38a;border-bottom:2px solid #00b38b;display:inline-block;margin-top:20px;margin-bottom:15px}.post-content h3{color:#0000c8;font-size:1.2em}.post-content h4{margin-top:1.25rem;margin-bottom:.25rem;font-size:1em}.post-content h5{margin-top:1rem;margin-bottom:0;font-size:1em}.post-content h6{margin-top:1rem;margin-bottom:0;font-size:.8rem}.post-content p{margin-top:1.5rem;margin-bottom:1.5rem;text-align:justify}.post-content blockquote{background-color:#f4f3f1;border-left:5px solid #dbdbdb;padding:.5rem 1rem;margin:2rem 0}.post-content blockquote p{margin-top:.5rem;margin-bottom:.5rem}.post-content blockquote cite{margin-top:1.5rem;color:#797979;font-size:.9rem}.post-content tt,.post-content code{padding:0;padding-top:.2em;padding-bottom:.2em;margin:0;font-size:.9em;background-color:#f6f8fa;font-family:fira code,roboto mono,Menlo,Monaco,Consolas,courier new,Courier,monospace}.post-content tt::before,.post-content tt::after,.post-content code::before,.post-content code::after{letter-spacing:-.2em;content:"\00a0"}.post-content tt.has-jax,.post-content code.has-jax{padding:0;font-size:1em;background-color:transparent}.post-content kbd{display:inline-block;padding:.25em;background-color:#fafafa;border:1px solid #dbdbdb;border-bottom-color:#b5b5b5;border-radius:3px;box-shadow:inset 0 -1px 0 #b5b5b5;font-size:.8em;line-height:1.25;font-family:fira code,roboto mono,Menlo,Monaco,Consolas,courier new,Courier,monospace;color:#4a4a4a}.post-content pre{margin:2rem auto;padding:1rem;overflow-x:auto;border-radius:3px;font-size:.9rem;line-height:1.618;white-space:pre;word-wrap:normal;word-break:normal;background-color:#f9f9f9}.post-content pre code{font-size:.9rem;background-color:transparent}.post-content pre code::before,.post-content pre code::after{content:none}.post-content sup,.post-content sub{font-size:.8rem}.post-content sup a,.post-content sub a{border-bottom:none}.post-content sup a:focus,.post-content sup a:hover,.post-content sub a:focus,.post-content sub a:hover{border-bottom:none}.post-content ol{margin-left:0;margin-top:2rem;margin-bottom:2rem;padding-left:1.5rem;list-style:decimal outside}.post-content ol ol{margin-top:.5rem;margin-bottom:.5rem;list-style:lower-roman outside}.post-content ol ul{margin-top:.5rem;margin-bottom:.5rem;list-style:disc outside}.post-content ul{margin-left:0;margin-top:2rem;margin-bottom:2rem;padding-left:1.5rem;list-style:disc outside}.post-content ul ul{margin-top:.5rem;margin-bottom:.5rem;list-style:circle outside}.post-content ul ol{margin-top:.5rem;margin-bottom:.5rem;list-style:decimal outside}.post-content .task-list{margin-top:2rem;margin-bottom:2rem;list-style:none;padding-left:0}.post-content .task-list .task-list{margin-top:.5rem;margin-bottom:.5rem;padding-left:1.5rem}.post-content dl{margin-top:2rem;margin-bottom:2rem}.post-content dl dt{color:#00ab6b;margin-top:1rem}.post-content dl dt::after{content:':'}.post-content dl dd{text-indent:2rem;margin-left:0;margin-top:.25rem}.post-content figure{display:block;margin:2rem auto}.post-content figure img{max-width:100%;box-shadow:2px 20px 40px 10px rgba(0,0,0,.15)}@media screen and (max-width:800px){.post-content figure img{box-shadow:none}}.post-content figure figcaption h4{color:#b5b5b5;font-size:.9rem;text-align:center}.post-content img{display:block;margin:0 0 1rem;border-radius:5px;max-width:70%;box-shadow:2px 2px 4px 1px rgba(0,0,0,.15)}@media screen and (max-width:800px){.post-content img{box-shadow:none}}.post-content div.has-jax{margin:2rem auto;overflow-x:auto}.post-content .MathJax_Display:focus,.post-content .MathJax:focus{outline:none}.asciicast{margin:2rem auto!important;text-align:center}@media screen and (max-width:1170px){.asciicast iframe{width:100%!important}}.jsfiddle{margin:2rem auto;width:100%}.cp_embed_wrapper{margin:2rem auto}@media screen and (max-width:800px){.cp_embed_wrapper iframe{height:265px}}.shengxiang{display:block;margin:2rem auto;width:1054px;height:768px}@media screen and (max-width:1440px){.shengxiang{width:100%;height:calc((100vw - 24rem) * 0.729)}}@media screen and (max-width:800px){.shengxiang{width:100%;height:calc((100vw - 2rem) * 0.729)}}.video-js{margin:2rem auto;width:100%;height:0;padding-top:56.25%}.video-js.my-player-dimensions{margin:2rem auto;width:100%;height:0;padding-top:56.25%}.video-js:focus{outline:none}.video-js .vjs-control:focus,.video-js .vjs-big-play-button:focus{outline:none}.video-js .vjs-poster{background-size:cover}.music163{margin:2rem auto;max-width:100%}.gist{margin:2rem auto}.gist td,.gist th{border:none}table{background-color:#fff;color:#363636;margin:2rem auto;width:100%;border-collapse:collapse;border:1px solid #e5e5e5}table td,table th{border:1px solid #dbdbdb;border-width:1px;padding:.5em .75em;vertical-align:center}table td.is-narrow,table th.is-narrow{white-space:nowrap;width:1%}table th{color:#363636}table tr:hover{background-color:#fafafa}table tr.is-selected{background-color:#00ab6b;color:#00ab6b}table tr.is-selected a,table tr.is-selected strong{color:currentColor}table tr.is-selected td,table tr.is-selected th{border-color:#00ab6b;color:currentColor}table thead td,table thead th{border-width:2px;color:#797979}table tfoot td,table tfoot th{border-width:2px 0 0;color:#797979}table tbody tr:last-child td,table tbody tr:last-child th{border-bottom-width:0}table.is-bordered td,table.is-bordered th{border-width:1px}table.is-bordered tr:last-child td,table.is-bordered tr:last-child th{border-bottom-width:1px}table.is-narrow td,table.is-narrow th{padding:.25em .5em}table.is-centered td,table.is-centered th,table.is-centered tr{text-align:center}table.is-striped tbody tr:not(.is-selected):nth-child(even){background-color:#fafafa}table.is-striped tbody tr:not(.is-selected):nth-child(even):hover{background-color:#f4f3f1}.chroma{color:#f8f8f2;background-color:#272822}.chroma .err{color:#960050;background-color:#1e0010}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em}.chroma .ln{margin-right:.4em;padding:0 .4em}.chroma .k{color:#66d9ef}.chroma .kc{color:#66d9ef}.chroma .kd{color:#66d9ef}.chroma .kn{color:#f92672}.chroma .kp{color:#66d9ef}.chroma .kr{color:#66d9ef}.chroma .kt{color:#66d9ef}.chroma .na{color:#a6e22e}.chroma .nc{color:#a6e22e}.chroma .no{color:#66d9ef}.chroma .nd{color:#a6e22e}.chroma .ne{color:#a6e22e}.chroma .nf{color:#a6e22e}.chroma .nx{color:#a6e22e}.chroma .nt{color:#f92672}.chroma .l{color:#ae81ff}.chroma .ld{color:#e6db74}.chroma .s{color:#e6db74}.chroma .sa{color:#e6db74}.chroma .sb{color:#e6db74}.chroma .sc{color:#e6db74}.chroma .dl{color:#e6db74}.chroma .sd{color:#e6db74}.chroma .s2{color:#e6db74}.chroma .se{color:#ae81ff}.chroma .sh{color:#e6db74}.chroma .si{color:#e6db74}.chroma .sx{color:#e6db74}.chroma .sr{color:#e6db74}.chroma .s1{color:#e6db74}.chroma .ss{color:#e6db74}.chroma .m{color:#ae81ff}.chroma .mb{color:#ae81ff}.chroma .mf{color:#ae81ff}.chroma .mh{color:#ae81ff}.chroma .mi{color:#ae81ff}.chroma .il{color:#ae81ff}.chroma .mo{color:#ae81ff}.chroma .o{color:#f92672}.chroma .ow{color:#f92672}.chroma .c{color:#75715e}.chroma .ch{color:#75715e}.chroma .cm{color:#75715e}.chroma .c1{color:#75715e}.chroma .cs{color:#75715e}.chroma .cp{color:#75715e}.chroma .cpf{color:#75715e}.chroma .gd{color:#f92672}.chroma .ge{font-style:italic}.chroma .gi{color:#a6e22e}.chroma .gs{font-weight:700}.chroma .gu{color:#75715e}.links-list{font-size:0;text-align:center}.links-list .link-item{margin:1.5rem auto;display:inline-block;width:25%;box-sizing:border-box}.links-list .link-item+.link-item{padding-left:1rem}.links-list .link-item .link-avatar{width:100px;height:100px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3);transition:transform ease-out .5s}.links-list .link-item .link-avatar:hover{transform:rotate(45deg)}.links-list .link-item .link-title{font-size:1rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;min-width:100px}.links-list .link-item .link-description{font-size:.8rem;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;min-width:100px}@media screen and (max-width:800px){.links-list .link-item{width:50%}}.offscreen{position:absolute;left:-1024rem}.suspension{position:fixed;bottom:3rem;right:2rem;z-index:1000}.suspension a{display:block;width:2.5rem;height:2.5rem;line-height:2.5rem;border-radius:50%;background-color:#fafafa;border:1px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3);text-align:center;opacity:1;cursor:pointer}.suspension a+a{margin-top:1rem}.suspension a.to-top{color:#797979;transition:all ease-out .5s}.suspension a.to-top:hover{color:#fff;background-color:#797979;border-color:#797979}.suspension a.to-comment{color:#00ab6b;transition:all ease-out .5s}.suspension a.to-comment:hover{color:#fff;background-color:#00ab6b;border-color:#00ab6b}.suspension .is-hide{display:none}.not-found{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:100%;height:15.5rem;font-family:fira code,roboto mono,Menlo,Monaco,Consolas,courier new,Courier,monospace;text-align:center}.not-found .error-emoji{color:#363636;font-size:3rem}.not-found .error-text{color:#797979;font-size:1.25rem}.not-found .error-link{margin-top:2rem}.not-found .error-link a{font-size:1rem;color:#00ab6b}.terms-list .tags-cloud{margin:2em auto}.terms-list .tags-cloud a{display:inline-block;position:relative;text-decoration:none;opacity:1;border-radius:5px}.terms-list .tags-cloud a.tag-s{color:#797979;font-size:1rem;line-height:2rem;padding:0 .5rem;opacity:.8}.terms-list .tags-cloud a.tag-m{color:#4a4a4a;font-size:1.25rem;line-height:2.5rem;padding:0 .75rem;opacity:.9}.terms-list .tags-cloud a.tag-l{color:#363636;font-size:1.5rem;line-height:3rem;padding:0 1rem}.terms-list .tags-cloud a.tag-xl{color:#242424;font-size:1.75rem;line-height:3.25rem;padding:0 1.25rem}.terms-list .tags-cloud a.tag-xxl{color:#00ab6b;font-size:2rem;line-height:3.5rem;padding:0 1.5rem}.terms-list .tags-cloud a:hover{color:#fff;background-color:#00ab6b;opacity:.8}.resume{font-family:-apple-system,BlinkMacSystemFont,segoe ui,roboto,oxygen,ubuntu,cantarell,fira sans,droid sans,pingfang sc,hiragino sans gb,microsoft yahei,wenquanyi micro hei,helvetica neue,sans-serif!important}.resume h2{text-align:center}.resume ul.contact{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;text-align:center}.resume ul.contact li{list-style-type:none}.resume h3{border-bottom:1px solid #dbdbdb;width:100%;text-transform:uppercase;color:#00ab6b}.resume .upper-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;width:100%}.resume .upper-row h4{margin-top:0;margin-bottom:0}.resume .job-title{color:#363636;font-weight:700}.resume .year{color:#797979}.resume .school{color:#797979}.resume .company{color:#797979;font-size:.8em}@media print,screen and (max-width:800px){.resume{width:100%}}.blog_anchor{background:#f5f5f5;line-height:150%;margin-bottom:20px}.blog_anchor p{font-size:18px;margin-bottom:.1em}.blog_anchor .anchor_content{padding:2px 0}.blog_anchor li{text-indent:20px;font-size:14px;list-style-type:none}#anchor_content_toggle{font-size:13px;font-weight:400;color:#fff;display:inline-block;line-height:20px;background:#b4b4b4;font-style:normal;padding:1px 8px;margin:10px}.blog_anchor a{text-decoration:none}.copy_right{border:1px dashed #e0e0e0;margin-bottom:15px;padding:10px;background-color:#fffeee;background-repeat:no-repeat;background-attachment:scroll;background-position:1%;-moz-background-size:auto auto;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial}.gitment-container{font-family:sans-serif;font-size:14px;line-height:1.5;color:#333;word-wrap:break-word}.gitment-container *{box-sizing:border-box}.gitment-container *:disabled{cursor:not-allowed}.gitment-container a,.gitment-container a:visited{cursor:pointer;text-decoration:none}.gitment-container a:hover{text-decoration:underline}.gitment-container .gitment-hidden{display:none}.gitment-container .gitment-spinner-icon{fill:#333;-webkit-animation:gitment-spin 1s steps(12) infinite;animation:gitment-spin 1s steps(12) infinite}@-webkit-keyframes gitment-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes gitment-spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.gitment-root-container{margin:19px 0}.gitment-header-container{margin:19px 0}.gitment-header-like-btn,.gitment-comment-like-btn{cursor:pointer}.gitment-comment-like-btn{float:right}.gitment-comment-like-btn.liked{color:#f44336}.gitment-header-like-btn svg{vertical-align:middle;height:30px}.gitment-comment-like-btn svg{vertical-align:middle;height:20px}.gitment-header-like-btn.liked svg,.gitment-comment-like-btn.liked svg{fill:#f44336}a.gitment-header-issue-link,a.gitment-header-issue-link:visited{float:right;line-height:30px;color:#666}a.gitment-header-issue-link:hover{color:#666}.gitment-comments-loading,.gitment-comments-error,.gitment-comments-empty{text-align:center;margin:50px 0}.gitment-comments-list{list-style:none;padding-left:0;margin:0 0 38px}.gitment-comment,.gitment-editor-container{position:relative;min-height:60px;padding-left:60px;margin:19px 0}.gitment-comment-avatar,.gitment-editor-avatar{float:left;margin-left:-60px}.gitment-comment-avatar,.gitment-comment-avatar-img,.gitment-comment-avatar,.gitment-editor-avatar-img,.gitment-editor-avatar svg{width:44px;height:44px;border-radius:3px}.gitment-editor-avatar .gitment-github-icon{fill:#fff;background-color:#333}.gitment-comment-main,.gitment-editor-main{position:relative;border:1px solid #cfd8dc;border-radius:0}.gitment-editor-main::before,.gitment-editor-main::after,.gitment-comment-main::before,.gitment-comment-main::after{position:absolute;top:11px;left:-16px;display:block;width:0;height:0;pointer-events:none;content:"";border-color:transparent;border-style:solid solid outset}.gitment-editor-main::before,.gitment-comment-main::before{border-width:8px;border-right-color:#cfd8dc}.gitment-editor-main::after,.gitment-comment-main::after{margin-top:1px;margin-left:2px;border-width:7px;border-right-color:#fff}.gitment-comment-header{margin:12px 15px;color:#666;background-color:#fff;border-radius:3px}.gitment-editor-header{padding:0;margin:0;border-bottom:1px solid #cfd8dc}a.gitment-comment-name,a.gitment-comment-name:visited{font-weight:600;color:#666}.gitment-editor-tabs{margin-bottom:-1px;margin-left:-1px}.gitment-editor-tab{display:inline-block;padding:11px 12px;font-size:14px;line-height:20px;color:#666;text-decoration:none;background-color:transparent;border-width:0 1px;border-style:solid;border-color:transparent;border-radius:0;white-space:nowrap;cursor:pointer;user-select:none;outline:none}.gitment-editor-tab.gitment-selected{color:#333;background-color:#fff;border-color:#cfd8dc}.gitment-editor-login{float:right;margin-top:-30px;margin-right:15px}a.gitment-footer-project-link,a.gitment-footer-project-link:visited,a.gitment-editor-login-link,a.gitment-editor-login-link:visited{color:#2196f3}a.gitment-editor-logout-link,a.gitment-editor-logout-link:visited{color:#666}a.gitment-editor-logout-link:hover{color:#2196f3;text-decoration:none}.gitment-comment-body{position:relative;margin:12px 15px;overflow:hidden;border-radius:3px}.gitment-comment-body-folded{cursor:pointer}.gitment-comment-body-folded::before{display:block!important;content:"";position:absolute;width:100%;left:0;top:0;bottom:50px;pointer-events:none;background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(255,255,255,0.9));background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,0.9))}.gitment-comment-body-folded::after{display:block!important;content:"Click to Expand"!important;text-align:center;color:#666;position:absolute;width:100%;height:50px;line-height:50px;left:0;bottom:0;pointer-events:none;background:rgba(255,255,255,.9)}.gitment-editor-body{margin:0}.gitment-comment-body>*:first-child,.gitment-editor-preview>*:first-child{margin-top:0!important}.gitment-comment-body>*:last-child,.gitment-editor-preview>*:last-child{margin-bottom:0!important}.gitment-editor-body textarea{display:block;width:100%;min-height:150px;max-height:500px;padding:16px;resize:vertical;max-width:100%;margin:0;font-size:14px;line-height:1.6;background-color:#fff;color:#333;vertical-align:middle;border:none;border-radius:0;outline:none;box-shadow:none;overflow:visible}.gitment-editor-body textarea:focus{background-color:#fff}.gitment-editor-preview{min-height:150px;padding:16px;background-color:transparent;width:100%;font-size:14px;line-height:1.5;word-wrap:break-word}.gitment-editor-footer{padding:0;margin-top:10px}.gitment-editor-footer::after{display:table;clear:both;content:""}a.gitment-editor-footer-tip{display:inline-block;padding-top:10px;font-size:12px;color:#666}a.gitment-editor-footer-tip:hover{color:#2196f3;text-decoration:none}.gitment-comments-pagination{list-style:none;text-align:right;border-radius:0;margin:-19px 0 19px}.gitment-comments-page-item{display:inline-block;cursor:pointer;border:1px solid #cfd8dc;margin-left:-1px;padding:.25rem .5rem}.gitment-comments-page-item:hover{background-color:#f5f5f5}.gitment-comments-page-item.gitment-selected{background-color:#f5f5f5}.gitment-editor-submit,.gitment-comments-init-btn{color:#fff;background-color:#00bcd4;position:relative;display:inline-block;padding:7px 13px;font-size:14px;font-weight:600;line-height:20px;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-size:110% 110%;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.gitment-editor-submit:hover,.gitment-comments-init-btn:hover{background-color:#00acc1}.gitment-comments-init-btn:disabled,.gitment-editor-submit:disabled{color:rgba(255,255,255,.75);background-color:#4dd0e1;box-shadow:none}.gitment-editor-submit{float:right}.gitment-footer-container{margin-top:30px;margin-bottom:20px;text-align:right;font-size:12px}.gitment-markdown{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;line-height:1.5;color:#333;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Helvetica,Arial,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.gitment-markdown .pl-c{color:#969896}.gitment-markdown .pl-c1,.gitment-markdown .pl-s .pl-v{color:#0086b3}.gitment-markdown .pl-e,.gitment-markdown .pl-en{color:#795da3}.gitment-markdown .pl-smi,.gitment-markdown .pl-s .pl-s1{color:#333}.gitment-markdown .pl-ent{color:#63a35c}.gitment-markdown .pl-k{color:#a71d5d}.gitment-markdown .pl-s,.gitment-markdown .pl-pds,.gitment-markdown .pl-s .pl-pse .pl-s1,.gitment-markdown .pl-sr,.gitment-markdown .pl-sr .pl-cce,.gitment-markdown .pl-sr .pl-sre,.gitment-markdown .pl-sr .pl-sra{color:#183691}.gitment-markdown .pl-v,.gitment-markdown .pl-smw{color:#ed6a43}.gitment-markdown .pl-bu{color:#b52a1d}.gitment-markdown .pl-ii{color:#f8f8f8;background-color:#b52a1d}.gitment-markdown .pl-c2{color:#f8f8f8;background-color:#b52a1d}.gitment-markdown .pl-c2::before{content:"^M"}.gitment-markdown .pl-sr .pl-cce{font-weight:700;color:#63a35c}.gitment-markdown .pl-ml{color:#693a17}.gitment-markdown .pl-mh,.gitment-markdown .pl-mh .pl-en,.gitment-markdown .pl-ms{font-weight:700;color:#1d3e81}.gitment-markdown .pl-mq{color:teal}.gitment-markdown .pl-mi{font-style:italic;color:#333}.gitment-markdown .pl-mb{font-weight:700;color:#333}.gitment-markdown .pl-md{color:#bd2c00;background-color:#ffecec}.gitment-markdown .pl-mi1{color:#55a532;background-color:#eaffea}.gitment-markdown .pl-mc{color:#ef9700;background-color:#ffe3b4}.gitment-markdown .pl-mi2{color:#d8d8d8;background-color:gray}.gitment-markdown .pl-mdr{font-weight:700;color:#795da3}.gitment-markdown .pl-mo{color:#1d3e81}.gitment-markdown .pl-ba{color:#595e62}.gitment-markdown .pl-sg{color:silver}.gitment-markdown .pl-corl{text-decoration:underline;color:#183691}.gitment-markdown .octicon{display:inline-block;vertical-align:text-top;fill:currentColor}.gitment-markdown a{background-color:transparent;-webkit-text-decoration-skip:objects}.gitment-markdown a:active,.gitment-markdown a:hover{outline-width:0}.gitment-markdown strong{font-weight:inherit}.gitment-markdown strong{font-weight:bolder}.gitment-markdown h1{font-size:2em;margin:.67em 0}.gitment-markdown img{border-style:none}.gitment-markdown svg:not(:root){overflow:hidden}.gitment-markdown code,.gitment-markdown kbd,.gitment-markdown pre{font-family:monospace,monospace;font-size:1em}.gitment-markdown hr{box-sizing:content-box;height:0;overflow:visible}.gitment-markdown input{font:inherit;margin:0}.gitment-markdown input{overflow:visible}.gitment-markdown [type=checkbox]{box-sizing:border-box;padding:0}.gitment-markdown *{box-sizing:border-box}.gitment-markdown input{font-family:inherit;font-size:inherit;line-height:inherit}.gitment-markdown a{color:#0366d6;text-decoration:none}.gitment-markdown a:hover{text-decoration:underline}.gitment-markdown strong{font-weight:600}.gitment-markdown hr{height:0;margin:15px 0;overflow:hidden;background:transparent;border:0;border-bottom:1px solid #dfe2e5}.gitment-markdown hr::before{display:table;content:""}.gitment-markdown hr::after{display:table;clear:both;content:""}.gitment-markdown table{border-spacing:0;border-collapse:collapse}.gitment-markdown td,.gitment-markdown th{padding:0}.gitment-markdown h1,.gitment-markdown h2,.gitment-markdown h3,.gitment-markdown h4,.gitment-markdown h5,.gitment-markdown h6{margin-top:0;margin-bottom:0}.gitment-markdown h1{font-size:32px;font-weight:600}.gitment-markdown h2{font-size:24px;font-weight:600}.gitment-markdown h3{font-size:20px;font-weight:600}.gitment-markdown h4{font-size:16px;font-weight:600}.gitment-markdown h5{font-size:14px;font-weight:600}.gitment-markdown h6{font-size:12px;font-weight:600}.gitment-markdown p{margin-top:0;margin-bottom:10px}.gitment-markdown blockquote{margin:0}.gitment-markdown ul,.gitment-markdown ol{padding-left:0;margin-top:0;margin-bottom:0}.gitment-markdown ol ol,.gitment-markdown ul ol{list-style-type:lower-roman}.gitment-markdown ul ul ol,.gitment-markdown ul ol ol,.gitment-markdown ol ul ol,.gitment-markdown ol ol ol{list-style-type:lower-alpha}.gitment-markdown dd{margin-left:0}.gitment-markdown code{font-family:sfmono-regular,Consolas,liberation mono,Menlo,Courier,monospace;font-size:12px}.gitment-markdown pre{margin-top:0;margin-bottom:0;font:12px sfmono-regular,Consolas,liberation mono,Menlo,Courier,monospace}.gitment-markdown .octicon{vertical-align:text-bottom}.gitment-markdown .pl-0{padding-left:0!important}.gitment-markdown .pl-1{padding-left:4px!important}.gitment-markdown .pl-2{padding-left:8px!important}.gitment-markdown .pl-3{padding-left:16px!important}.gitment-markdown .pl-4{padding-left:24px!important}.gitment-markdown .pl-5{padding-left:32px!important}.gitment-markdown .pl-6{padding-left:40px!important}.gitment-markdown::before{display:table;content:""}.gitment-markdown::after{display:table;clear:both;content:""}.gitment-markdown>*:first-child{margin-top:0!important}.gitment-markdown>*:last-child{margin-bottom:0!important}.gitment-markdown a:not([href]){color:inherit;text-decoration:none}.gitment-markdown .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.gitment-markdown .anchor:focus{outline:none}.gitment-markdown p,.gitment-markdown blockquote,.gitment-markdown ul,.gitment-markdown ol,.gitment-markdown dl,.gitment-markdown table,.gitment-markdown pre{margin-top:0;margin-bottom:16px}.gitment-markdown hr{height:.25em;padding:0;margin:24px 0;background-color:#e1e4e8;border:0}.gitment-markdown blockquote{padding:0 1em;color:#6a737d;border-left:.25em solid #dfe2e5}.gitment-markdown blockquote>:first-child{margin-top:0}.gitment-markdown blockquote>:last-child{margin-bottom:0}.gitment-markdown kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fafbfc;border:solid 1px #c6cbd1;border-bottom-color:#959da5;border-radius:0;box-shadow:inset 0 -1px 0 #959da5}.gitment-markdown h1,.gitment-markdown h2,.gitment-markdown h3,.gitment-markdown h4,.gitment-markdown h5,.gitment-markdown h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.gitment-markdown h1 .octicon-link,.gitment-markdown h2 .octicon-link,.gitment-markdown h3 .octicon-link,.gitment-markdown h4 .octicon-link,.gitment-markdown h5 .octicon-link,.gitment-markdown h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.gitment-markdown h1:hover .anchor,.gitment-markdown h2:hover .anchor,.gitment-markdown h3:hover .anchor,.gitment-markdown h4:hover .anchor,.gitment-markdown h5:hover .anchor,.gitment-markdown h6:hover .anchor{text-decoration:none}.gitment-markdown h1:hover .anchor .octicon-link,.gitment-markdown h2:hover .anchor .octicon-link,.gitment-markdown h3:hover .anchor .octicon-link,.gitment-markdown h4:hover .anchor .octicon-link,.gitment-markdown h5:hover .anchor .octicon-link,.gitment-markdown h6:hover .anchor .octicon-link{visibility:visible}.gitment-markdown h1{padding-bottom:.3em;font-size:2em;border-bottom:1px solid #eaecef}.gitment-markdown h2{padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid #eaecef}.gitment-markdown h3{font-size:1.25em}.gitment-markdown h4{font-size:1em}.gitment-markdown h5{font-size:.875em}.gitment-markdown h6{font-size:.85em;color:#6a737d}.gitment-markdown ul,.gitment-markdown ol{padding-left:2em}.gitment-markdown ul ul,.gitment-markdown ul ol,.gitment-markdown ol ol,.gitment-markdown ol ul{margin-top:0;margin-bottom:0}.gitment-markdown li>p{margin-top:16px}.gitment-markdown li+li{margin-top:.25em}.gitment-markdown dl{padding:0}.gitment-markdown dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:600}.gitment-markdown dl dd{padding:0 16px;margin-bottom:16px}.gitment-markdown table{display:block;width:100%;overflow:auto}.gitment-markdown table th{font-weight:600}.gitment-markdown table th,.gitment-markdown table td{padding:6px 13px;border:1px solid #dfe2e5}.gitment-markdown table tr{background-color:#fff;border-top:1px solid #c6cbd1}.gitment-markdown table tr:nth-child(2n){background-color:#f5f5f5}.gitment-markdown img{max-width:100%;box-sizing:content-box;background-color:#fff}.gitment-markdown code{padding:0;padding-top:.2em;padding-bottom:.2em;margin:0;font-size:85%;background-color:rgba(27,31,35,.05);border-radius:0}.gitment-markdown code::before,.gitment-markdown code::after{letter-spacing:-.2em;content:"\00a0"}.gitment-markdown pre{word-wrap:normal}.gitment-markdown pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.gitment-markdown .highlight{margin-bottom:16px}.gitment-markdown .highlight pre{margin-bottom:0;word-break:normal}.gitment-markdown .highlight pre,.gitment-markdown pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f5f5f5;border-radius:0}.gitment-markdown pre code{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.gitment-markdown pre code::before,.gitment-markdown pre code::after{content:normal}.gitment-markdown .full-commit .btn-outline:not(:disabled):hover{color:#005cc5;border-color:#005cc5}.gitment-markdown kbd{display:inline-block;padding:3px 5px;font:11px sfmono-regular,Consolas,liberation mono,Menlo,Courier,monospace;line-height:10px;color:#444d56;vertical-align:middle;background-color:#fcfcfc;border:solid 1px #c6cbd1;border-bottom-color:#959da5;border-radius:0;box-shadow:inset 0 -1px 0 #959da5}.gitment-markdown :checked+.radio-label{position:relative;z-index:1;border-color:#0366d6}.gitment-markdown .task-list-item{list-style-type:none}.gitment-markdown .task-list-item+.task-list-item{margin-top:3px}.gitment-markdown .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.gitment-markdown hr{border-bottom-color:#eee}@font-face{font-family:lobster;font-style:normal;font-weight:400;src:local("Lobster Regular"),local(Lobster-Regular),url(/lobster/v20/neILzCirqoswsqX9zo-mM4MwWJXNqA.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:lobster;font-style:normal;font-weight:400;src:local("Lobster Regular"),local(Lobster-Regular),url(/lobster/v20/neILzCirqoswsqX9zoamM4MwWJXNqA.woff2) format("woff2");unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:lobster;font-style:normal;font-weight:400;src:local("Lobster Regular"),local(Lobster-Regular),url(/lobster/v20/neILzCirqoswsqX9zo2mM4MwWJXNqA.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+1EA0-1EF9,U+20AB}@font-face{font-family:lobster;font-style:normal;font-weight:400;src:local("Lobster Regular"),local(Lobster-Regular),url(/lobster/v20/neILzCirqoswsqX9zoymM4MwWJXNqA.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:lobster;font-style:normal;font-weight:400;src:local("Lobster Regular"),local(Lobster-Regular),url(/lobster/v20/neILzCirqoswsqX9zoKmM4MwWJU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}