@font-face{font-family:"Fira Code";src:url(/d1f975d536c54f0191d427afda568305c1529be9/f8aa6/css/fira-code/firacode-regular.ttf);src:url(/d1f975d536c54f0191d427afda568305c1529be9/f8aa6/css/fira-code/firacode-regular.ttf#iefix) format("embedded-opentype"),url(/d1f975d536c54f0191d427afda568305c1529be9/f8aa6/css/fira-code/firacode-regular.ttf) format("woff"),url(/d1f975d536c54f0191d427afda568305c1529be9/f8aa6/css/fira-code/firacode-regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"Fira Code";src:url(/d1f975d536c54f0191d427afda568305c1529be9/f8aa6/css/fira-code/firacode-regular.ttf);src:url(/d1f975d536c54f0191d427afda568305c1529be9/f8aa6/css/fira-code/firacode-regular.ttf#iefix) format("embedded-opentype"),url(/d1f975d536c54f0191d427afda568305c1529be9/f8aa6/css/fira-code/firacode-regular.ttf) format("woff"),url(/d1f975d536c54f0191d427afda568305c1529be9/f8aa6/css/fira-code/firacode-regular.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:"Fira Code";src:url(/43be348fbd39bc96179dd84144b493e60ee508c9/1d4ee/css/fira-code/firacode-bold.ttf);src:url(/43be348fbd39bc96179dd84144b493e60ee508c9/1d4ee/css/fira-code/firacode-bold.ttf#iefix) format("embedded-opentype"),url(/43be348fbd39bc96179dd84144b493e60ee508c9/1d4ee/css/fira-code/firacode-bold.ttf) format("woff"),url(/43be348fbd39bc96179dd84144b493e60ee508c9/1d4ee/css/fira-code/firacode-bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:"Fira Code";src:url(/43be348fbd39bc96179dd84144b493e60ee508c9/1d4ee/css/fira-code/firacode-bold.ttf);src:url(FiraCode/FiraCode-Bold.ttf?#iefix) format("embedded-opentype"),url(FiraCode/FiraCode-BoldItalic.ttf) format("woff"),url(FiraCode/FiraCode-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}html{font-size:12px}body{width:87.5%;margin-left:auto;margin-right:auto;padding-left:12.5%;font-family:FiraCode,monospace;background-color:#fffff8;color:#111;max-width:1400px;counter-reset:sidenote-counter}h1{font-weight:400;margin-top:4rem;margin-bottom:1.5rem;font-size:3.2rem;line-height:1}h2{font-style:italic;font-weight:400;margin-top:2.1rem;margin-bottom:0;font-size:2.2rem;line-height:1}h3{font-style:italic;font-weight:400;font-size:1.7rem;margin-top:2rem;margin-bottom:0;line-height:1}p.subtitle{font-style:italic;margin-top:1rem;margin-bottom:1rem;font-size:1.8rem;display:block;line-height:1}.numeral{font-family:"Fira Code"}.danger{color:red}article{position:relative;padding:5rem 0}section{padding-top:1rem;padding-bottom:1rem}ol,p,ul{font-size:1.4rem}p{line-height:2rem;margin-top:1.4rem;margin-bottom:1.4rem;padding-right:0;vertical-align:baseline}div.epigraph{margin:5em 0}div.epigraph>blockquote{margin-top:3em;margin-bottom:3em}div.epigraph>blockquote,div.epigraph>blockquote>p{font-style:italic}div.epigraph>blockquote>footer{font-style:normal}div.epigraph>blockquote>footer>cite{font-style:italic}blockquote{font-size:1.4rem}blockquote p{width:50%}blockquote footer{width:50%;font-size:1.1rem;text-align:right}ol,ul{width:55%;-webkit-padding-start:5%;-webkit-padding-end:5%}li{padding:.5rem 0}figure{padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;max-width:55%;-webkit-margin-start:0;-webkit-margin-end:0;margin:0 0 3em 0}figcaption{float:right;clear:right;margin-right:-48%;margin-top:0;margin-bottom:0;font-size:1.1rem;line-height:1.6;vertical-align:baseline;position:relative;max-width:40%}figure.fullwidth figcaption{margin-right:24%}a:link,a:visited{color:inherit}a:link{text-decoration:none;background:-webkit-linear-gradient(#fffff8,#fffff8),-webkit-linear-gradient(#fffff8,#fffff8),-webkit-linear-gradient(#333,#333);background:linear-gradient(#fffff8,#fffff8),linear-gradient(#fffff8,#fffff8),linear-gradient(#333,#333);-webkit-background-size:.05em 1px,.05em 1px,1px 1px;-moz-background-size:.05em 1px,.05em 1px,1px 1px;background-size:.05em 1px,.05em 1px,1px 1px;background-repeat:no-repeat,no-repeat,repeat-x;text-shadow:.03em 0 #fffff8,-.03em 0 #fffff8,0 .03em #fffff8,0 -.03em #fffff8,.06em 0 #fffff8,-.06em 0 #fffff8,.09em 0 #fffff8,-.09em 0 #fffff8,.12em 0 #fffff8,-.12em 0 #fffff8,.15em 0 #fffff8,-.15em 0 #fffff8;background-position:0 93%,100% 93%,0 93%}@media screen and (-webkit-min-device-pixel-ratio:0){a:link{background-position-y:87%,87%,87%}}a:link::selection{text-shadow:.03em 0 #b4d5fe,-.03em 0 #b4d5fe,0 .03em #b4d5fe,0 -.03em #b4d5fe,.06em 0 #b4d5fe,-.06em 0 #b4d5fe,.09em 0 #b4d5fe,-.09em 0 #b4d5fe,.12em 0 #b4d5fe,-.12em 0 #b4d5fe,.15em 0 #b4d5fe,-.15em 0 #b4d5fe;background:#b4d5fe}a:link::-moz-selection{text-shadow:.03em 0 #b4d5fe,-.03em 0 #b4d5fe,0 .03em #b4d5fe,0 -.03em #b4d5fe,.06em 0 #b4d5fe,-.06em 0 #b4d5fe,.09em 0 #b4d5fe,-.09em 0 #b4d5fe,.12em 0 #b4d5fe,-.12em 0 #b4d5fe,.15em 0 #b4d5fe,-.15em 0 #b4d5fe;background:#b4d5fe}img{max-width:100%}.marginnote,.sidenote{float:right;clear:right;margin-right:-60%;width:50%;margin-top:0;margin-bottom:0;font-size:1.1rem;line-height:1.3;vertical-align:baseline;position:relative}.table-caption{float:right;clear:right;margin-right:-60%;width:50%;margin-top:0;margin-bottom:0;font-size:1rem;line-height:1.6}.sidenote-number{counter-increment:sidenote-counter}.sidenote-number:after,.sidenote:before{content:counter(sidenote-counter) " ";font-family:et-book-roman-old-style;position:relative;vertical-align:baseline}.sidenote-number:after{content:counter(sidenote-counter);font-size:1rem;top:-.5rem;left:.1rem}.sidenote:before{content:counter(sidenote-counter) " ";top:-.5rem}div.booktabs-wrapper,div.supertable-wrapper>p,div.table-wrapper-small,footer,p,table{width:55%}div.fullwidth,table.fullwidth{width:100%}div.table-wrapper{overflow-x:scroll;font-family:"Trebuchet MS","Gill Sans","Gill Sans MT",sans-serif}@media screen and (max-width:760px){footer,p{width:90%}pre.code{width:87.5%}ul{width:85%}figure{max-width:90%}figcaption,figure.fullwidth figcaption{margin-right:0;max-width:none}blockquote footer,blockquote p{width:90%}}.sans{font-family:"Gill Sans","Gill Sans MT",Calibri,sans-serif;letter-spacing:.03em}.code{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;font-size:1.125rem;line-height:1.6}h1 .code,h2 .code,h3 .code{font-size:.8em}.marginnote .code,.sidenote .code{font-size:1rem}pre.code{width:52.5%;padding-left:2.5%;overflow-x:scroll}.fullwidth{max-width:90%;clear:both}span.newthought{font-variant:small-caps;font-size:1.2em}input.margin-toggle{display:none}label.sidenote-number{display:inline}label.margin-toggle:not(.sidenote-number){display:none}@media (max-width:760px){label.margin-toggle:not(.sidenote-number){display:inline}.marginnote,.sidenote{display:none}.margin-toggle:checked+.marginnote,.margin-toggle:checked+.sidenote{display:block;float:left;left:1rem;clear:both;width:95%;margin:1rem 2.5%;vertical-align:baseline;position:relative}label{cursor:pointer}pre.code{width:90%;padding:0}.table-caption{display:block;float:right;clear:both;width:98%;margin-top:1rem;margin-bottom:.5rem;margin-left:1%;margin-right:1%;vertical-align:baseline;position:relative}div.table-wrapper,table,table.booktabs{width:85%}div.table-wrapper{border-right:1px solid #efefef}img{width:100%}}.pure-g [class*=pure-u],article,button,footer,header,html,input,nav,p,section,select,textarea{font-family:"Fira Code",monospace}p{text-align:left}code{font-family:"Fira Code",monospace;font-size:1.125rem;line-height:1.6}.marginnote,.sidenote{margin-right:-55%;width:45%}h1.content-title a:link,h1.content-title a:visited{background:0 0;text-decoration:none;color:inherit}h1.content-title a:focus,h1.content-title a:hover{color:#a9a9a9}.list-page ul{list-style-type:none;margin:-.25em;width:87.5%;max-width:45rem}.list-page li{margin:0}.list-page .list-date{display:inline;font-size:.75em}table:not(.lntable){margin-top:1em;font-size:1.4rem;width:auto;border-top:2px solid #111;border-bottom:2px solid #111}table:not(.lntable) td,table:not(.lntable) th{font-size:1.25rem;line-height:1.71428571}table:not(.lntable) td{padding-right:.75em}table.lntable{border-spacing:0;padding:0}table.lntable td.lntd{padding:0}footer.page-footer{padding-top:1em;margin-top:3em;color:#aaa;width:95%;max-width:55rem}footer.page-footer p{font-size:1.05rem;margin:0}footer.page-footer a{color:#41464b;text-decoration:none;background:0 0}footer.page-footer a:active,footer.page-footer a:focus,footer.page-footer a:hover{color:#a9a9a9;background:inherit}footer.page-footer hr{text-align:left;margin-left:0;width:100%;border-color:rgba(250,250,250,.25)}footer.page-footer ul.page-footer-menu{list-style:none;display:block;margin:0;padding:0;width:unset}footer.page-footer ul.page-footer-menu li{display:inline-block;margin-right:.5rem}.copyright p{font-size:90%}.highlight{width:55%;overflow-x:scroll;border-radius:.4em}.highlight>div.chroma>table.lntable{margin:.4em 0 .4em 0}.highlight>div.chroma>table.lntable td:first-of-type span:not(.highlight>div.chroma>table.lntabletd:first-of-typespan>span){padding:0 .75em 0 .5em}.highlight>.chroma>code{width:max-content;margin-top:.5em;margin-bottom:.5em;margin-left:.5em}.highlight>.chroma>code>span.hl{margin-left:-.5em;padding-left:.5em}.highlight .chroma .hl{display:block}.highlight::-webkit-scrollbar{border-radius:.4em;width:10px;height:1rem}.highlight::-webkit-scrollbar-thumb{border-radius:.4em}.highlight .lntable{overflow:initial}.highlight pre{margin:0}.highlight pre code{display:block;font-size:1rem}details{border-radius:3px}details summary{vertical-align:top;padding:.3em .5em;outline:0}details summary.year{font-size:1.5rem}.toc summary{font-size:1.5rem;margin-bottom:-1.5rem;padding-left:0}.toc ul{list-style:none;display:block;padding:0;width:87.5%}.toc li{line-height:.5rem;margin:1rem}nav.menu ul{list-style:none;display:block;margin-top:.75rem;padding:0;max-width:45rem;font-size:.9rem;width:87.5%}nav.menu li{display:inline-block;margin-right:1rem}nav.menu li a{text-decoration:none;background:0 0;color:#41464b;letter-spacing:.05em;text-transform:uppercase}nav.menu li a:active,nav.menu li a:focus,nav.menu li a:hover{background:inherit;color:#a9a9a9}header.brand{margin-top:0}header.brand h1{margin:0;font-weight:500;color:#41464b}header.brand h2{margin:0;padding-top:0;color:#64696e}header.brand hr{text-align:left;margin-left:0;width:60%;border-color:rgba(250,250,250,.25)}.content-meta{display:block;color:#64696e;font-size:1.1rem;margin-top:1em}.content-meta .author{color:#41464b}.post-avatar{border-radius:50px;float:right;margin-left:1em}.highlight .hl{background-color:#ffffd4}.highlight{background:#dde2ff}.highlight .c{color:#6a737d}.highlight .k{color:#d73a49}.highlight .ch{color:#6a737d}.highlight .cm{color:#6a737d}.highlight .cp{color:#d73a49}.highlight .cpf{color:#032f62}.highlight .c1{color:#6a737d}.highlight .cs{color:#6a737d}.highlight .gd{color:#b31d28;background-color:#ffeef0}.highlight .gh{color:#005cc5}.highlight .gi{color:#22863a;background-color:#f0fff4}.highlight .gs{font-weight:700}.highlight .gu{color:#6f42c1;font-weight:700}.highlight .gt{color:#04d}.highlight .kc{color:#005cc5}.highlight .kd{color:#d73a49}.highlight .kn{color:#d73a49}.highlight .kp{color:#d73a49}.highlight .kr{color:#d73a49}.highlight .kt{color:#d73a49}.highlight .m{color:#666}.highlight .s{color:#032f62}.highlight .nb{color:#005cc5}.highlight .nc{color:#6f42c1}.highlight .no{color:#005cc5}.highlight .nd{color:#6f42c1}.highlight .ni{color:#005cc5}.highlight .ne{color:#005cc5}.highlight .nf{color:#6f42c1}.highlight .nl{color:#005cc5}.highlight .nn{color:#6f42c1}.highlight .nt{color:#22863a}.highlight .nv{color:#24292e}.highlight .ow{color:#d73a49}.highlight .w{color:#bbb}.highlight .mb{color:#005cc5}.highlight .mf{color:#005cc5}.highlight .mh{color:#005cc5}.highlight .mi{color:#005cc5}.highlight .mo{color:#005cc5}.highlight .sa{color:#d73a49}.highlight .sb{color:#032f62}.highlight .sc{color:#032f62}.highlight .dl{color:#d73a49}.highlight .sd{color:#032f62}.highlight .s2{color:#032f62}.highlight .se{color:#032f62}.highlight .sh{color:#032f62}.highlight .si{color:#005cc5}.highlight .sx{color:#032f62}.highlight .sr{color:#032f62}.highlight .s1{color:#032f62}.highlight .ss{color:#005cc5}.highlight .bp{color:#005cc5}.highlight .fm{color:#005cc5}.highlight .vc{color:#24292e}.highlight .vg{color:#24292e}.highlight .vi{color:#24292e}.highlight .vm{color:#005cc5}.highlight .il{color:#005cc5}.highlight::-webkit-scrollbar{background:#dde2ff}.highlight::-webkit-scrollbar-thumb{background:#c5c8d9}