body {
	margin: 0;
	color: #111;
	font-family: 'Times New Roman', Times, serif;
	text-rendering: optimizeLegibility;
	overflow-wrap: break-word;
	hyphens: auto;
	font-size: 19px;
	background-color: #F8F8F8;
	letter-spacing: -0.25px;
}
code {
	font-family: 'Hack';
	font-size: 14px;
	font-weight: 400;
	background-color: #DDD;
	border-radius: 3px;
	padding: 2px;
}
pre {
	font-family: 'Hack';
	font-size: 14px;
	line-height: 130%;
	padding: 8px 12px;
	border-radius: 5px;
	background-color: #222;
	overflow-x: auto;
}
h1 { font-size: 2.625em; }
h2 { font-size: 2em; }
h3 { font-size: 1.7em; }
h4, h5, h6 { font-size: 1.5em; }
/* Make font smaller on small screens. This is necessary to make text justification not as afwful there. */
@media only screen and (max-device-width: 480px) {
	body { font-size: 14px; }
	code, pre { font-size: 11px; }
	h2, h3, h4, h5, h6 { text-align: left; }
	h1 { font-size: 2em; }
	h2 { font-size: 1.75em; }
	h3 { font-size: 1.5em; }
	h4, h5, h6 { font-size: 1.3em; }
}
main {
	padding-top: 30px;
	padding-bottom: 30px;
}
.column {
	max-width: 600px;
	padding: 0 30px;
	margin-left: auto;
	margin-right: auto;
}
h1, h2, h3, h4, h5, h6, p, blockquote, pre, dl, dd, ol, ul, figure {
	margin-top: 0;
	margin-bottom: 0;
}
h1, h2, h3, h4, h5, h6, p, blockquote, pre, ol, ul, figure {
	margin-bottom: 15px;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
	margin-top: 30px;
	line-height: 100%;
}
header h1, header h2, header h3, header h4, header h5, header h6 {
	margin-top: 0px;
}
article {
	line-height: 120%;
	text-align: justify;
}
.post-header {
	margin-bottom: 30px;
	text-align: center;
}
time {
	font-size: 0.8em;
	color: #666;
}
a {
	color: #26D;
	text-decoration: underline 0 transparent;
	transition: 200ms;
}
a:hover {
	color: #111;
	text-decoration: underline 0.1em currentColor;
}
main a:visited {
	color: #72E;
}
main a:hover:visited {
	color: #111;
}
h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor {
	opacity: 0;
	margin-left: 0.2em;
	line-height: 100%;
	transition: 100ms;
}
h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
	opacity: 1;
	margin-left: 0.3em;
}
a.anchor {
	color: #CCC;
	text-decoration: none;
}
a:hover.anchor {
	text-decoration: underline;
}
img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}
canvas {
	display: block;
	width: 100%;
	height: 60%;
	margin: auto;
	border: 8px solid #111;
	border-radius: 5px;
	box-sizing: border-box;
}
.site-header {
	border-bottom: 1px solid #CCC;
	min-height: 56px;
	line-height: 54px;
	position: relative;
}
.site-title {
	font-size: 1.625rem;
	font-weight: 300;
	letter-spacing: -1px;
	float: left;
	color: #111;
}
.site-nav {
	position: static;
	float: right;
	text-align: right;
}
.site-nav a {
	display: inline;
	margin-left: auto;
	color: #111;
	line-height: 1.5;
}
pre code {
	font-family: inherit;
	background-color: inherit;
	padding: 0px;
	border-radius: 0px;
	color: #c8c8c8;
}
blockquote {
	color: #444;
	border-left: 4px solid #CCC;
	padding-left: 15px;
	font-style: italic;
	margin: 0px 0px 15px 0px;
}
kbd {
	font-weight: bold;
	font-size: 13px;
	color: #111;
	background-color: #e8e8e8;
	padding: 1px 3px;
	border: 2px solid;
	border-radius: 8px;
	border-color: #828282;
	box-shadow: inset 0 -1px 0 #828282;
	line-height: 150%;
}
table {
	margin: 0px auto 30px auto;
	width: auto;
	text-align: center;
	border-collapse: collapse;
}
th {
	padding: 10px 15px;
	border-bottom: 2px solid #3f3f3f;
}
td {
	padding: 10px 15px;
}
tbody tr:nth-child(2n+1) {
	background-color: #f7f7f7;
}
footer {
	border-top: 1px solid #CCC;
}
footer .column {
	position: relative;
	padding: 15px 30px;
}
footer .column:after {
	content: '';
	position: absolute;
	left: calc(87% - 4px);
	bottom: 0;
	width: 8px;
	height: calc(100% - 16px);
	background-color: #d8d8d8;
	margin-left: -30px;
	z-index: -100;
}
footer .foot:after {
	content: '';
	clear: both;
	display: block;
}
.contact {
	float: left;
}
.contact p {
	margin: 0;
	line-height: 120%;
}
div.contact:after {
	display: inline;
	clear: left;
	content: '';
}
p.author-name {
	margin-bottom: 4px;
}
nav.signs {
	float: right;
	width: 25%;
	margin: 0 2.5%;
}
nav.signs:after {
	content: '';
	clear: right;
	display: table;
}
.signs ul {
	margin: 0;
	list-style: none;
	padding: 0px;
}
.signs li {
	padding: 6px 0px;
}
.signs a {
	width: 100%;
	padding: 8px 0px;
	text-align: center;
	display: inline-block;
	position: relative;
	text-decoration: none;
	color: #111;
}
.signs a:before, .signs a:after {
	content: '';
	position: absolute;
	left: 0;
	z-index: -1;
	height: 45.5%;
	width: 100%;
	border-left: 2px solid #111;
	border-right: 2px solid #111;
}
.signs a:before {
	top: 0.5px;
	border-top: 2px solid #111;
}
.signs a:after {
	bottom: 0.5px;
	border-bottom: 2px solid #111;
}
a.sign-next:before, a.sign-next:after {
	background: linear-gradient(to left, white 50%, #111 50%) right;
	background-size: 210% 110%;
	transition: 300ms;
}
a.sign-prev:before, a.sign-prev:after {
	background: linear-gradient(to right, white 50%, #111 50%) left;
	background-size: 210% 110%;
	transition: 300ms;
}
a.sign-next:before, a.sign-prev:after { transform: skewX(35deg); }
a.sign-prev:before, a.sign-next:after { transform: skewX(-35deg); }
.signs a:hover { color: white; }
a.sign-next:hover:before, a.sign-next:hover:after { background-position: left; }
a.sign-prev:hover:before, a.sign-prev:hover:after { background-position: right; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.codehilite .hll { background-color: #ffffcc }
.codehilite .c { color: #666; font-style: italic } /* Comment */
.codehilite .ch { color: #666; font-style: italic } /* Comment.Hashbang */
.codehilite .cm { color: #666; font-style: italic } /* Comment.Multiline */
.codehilite .cp { color: #666 } /* Comment.Preproc */
.codehilite .cpf { color: #666 } /* Comment.PreprocFile */
.codehilite .c1 { color: #666; font-style: italic } /* Comment.Single */
.codehilite .cs { color: #666; font-style: italic } /* Comment.Special */
.codehilite .err { border: 1px solid #FF0000 } /* Error */
.codehilite .gd { color: #A00000 } /* Generic.Deleted */
.codehilite .ge { font-style: italic } /* Generic.Emph */
.codehilite .gr { color: #E40000 } /* Generic.Error */
.codehilite .gh { color: #000080 } /* Generic.Heading */
.codehilite .gi { color: #008400 } /* Generic.Inserted */
.codehilite .go { color: #717171 } /* Generic.Output */
.codehilite .gp { color: #000080 } /* Generic.Prompt */
.codehilite .gs { font-weight: bold } /* Generic.Strong */
.codehilite .gu { color: #800080 } /* Generic.Subheading */
.codehilite .gt { color: #0044DD } /* Generic.Traceback */
.codehilite .k { color: #4F9CD6; } /* Keyword */
.codehilite .kc { color: #4F9CD6; } /* Keyword.Constant */
.codehilite .kd { color: #4F9CD6; } /* Keyword.Declaration */
.codehilite .kn { color: #4F9CD6; } /* Keyword.Namespace */
.codehilite .kp { color: #4F9CD6 } /* Keyword.Pseudo */
.codehilite .kr { color: #4F9CD6; } /* Keyword.Reserved */
.codehilite .kt { color: #4F9CD6 } /* Keyword.Type */
.codehilite .m { color: #97DE85 } /* Literal.Number */
.codehilite .mb { color: #97DE85 } /* Literal.Number.Bin */
.codehilite .mf { color: #97DE85 } /* Literal.Number.Float */
.codehilite .mh { color: #97DE85 } /* Literal.Number.Hex */
.codehilite .mi { color: #97DE85 } /* Literal.Number.Integer */
.codehilite .mo { color: #97DE85 } /* Literal.Number.Oct */
.codehilite .n { color: #dddddd } /* Name */
.codehilite .na { color: #687822 } /* Name.Attribute */
.codehilite .nb { color: #4F9CD6 } /* Name.Builtin */
.codehilite .nc { color: #4F9CD6 } /* Name.Class */
.codehilite .no { color: #97DE85 } /* Name.Constant */
.codehilite .nd { color: #AA22FF } /* Name.Decorator */
.codehilite .ni { color: #717171 } /* Name.Entity */
.codehilite .ne { color: #CB3F38 } /* Name.Exception */
.codehilite .nf { color: #D86554 } /* Name.Function */
.codehilite .nl { color: #c8c8c8 } /* Name.Label */
.codehilite .nn { color: #c8c8c8 } /* Name.Namespace */
.codehilite .nt { color: #c8c8c8 } /* Name.Tag */
.codehilite .nv { color: #c8c8c8 } /* Name.Variable */
.codehilite .o { color: #9B9B9B } /* Operator */
.codehilite .ow { color: #4F9CD6 } /* Operator.Word */
.codehilite .p { color: #9B9B9B } /* Punctuation */
.codehilite .s { color: #E7983D } /* Literal.String */
.codehilite .sa { color: #E7983D } /* Literal.String.Affix */
.codehilite .sb { color: #E7983D } /* Literal.String.Backtick */
.codehilite .sc { color: #E7983D } /* Literal.String.Char */
.codehilite .dl { color: #E7983D } /* Literal.String.Delimiter */
.codehilite .sd { color: #E7983D } /* Literal.String.Doc */
.codehilite .s2 { color: #E7983D } /* Literal.String.Double */
.codehilite .se { color: #E7511F } /* Literal.String.Escape */
.codehilite .sh { color: #E7983D } /* Literal.String.Heredoc */
.codehilite .si { color: #E7983D } /* Literal.String.Interpol */
.codehilite .sx { color: #E7983D } /* Literal.String.Other */
.codehilite .sr { color: #E7983D } /* Literal.String.Regex */
.codehilite .s1 { color: #E7983D } /* Literal.String.Single */
.codehilite .ss { color: #E7983D } /* Literal.String.Symbol */
.codehilite .bp { color: #008000 } /* Name.Builtin.Pseudo */
.codehilite .fm { color: #96E1FE } /* Name.Function.Magic */
.codehilite .vc { color: #c8c8c8 } /* Name.Variable.Class */
.codehilite .vg { color: #c8c8c8 } /* Name.Variable.Global */
.codehilite .vi { color: #c8c8c8 } /* Name.Variable.Instance */
.codehilite .vm { color: #c8c8c8 } /* Name.Variable.Magic */
.codehilite .w { color: #bbbbbb } /* Text.Whitespace */
.codehilite .il { color: #666666 } /* Literal.Number.Integer.Long */
@font-face {
	font-family: 'Hack';
	src: url(fonts/hack-regular-subset.woff2) format('woff2'), url(fonts/hack-regular-subset.woff) format('woff'), url(fonts/hack-regular.ttf) format('truetype');
	font-weight: 400;
	font-style: normal;
}  
@font-face {
	font-family: 'Hack';
	src: url(fonts/hack-bold-subset.woff2) format('woff2'), url(fonts/hack-bold-subset.woff) format('woff'), url(fonts/hack-bold.ttf) format('truetype');
	font-weight: 700;
	font-style: normal;
} 
@font-face {
	font-family: 'Hack';
	src: url(fonts/hack-italic-subset.woff2) format('woff2'), url(fonts/hack-italic-subset.woff) format('woff'), url(fonts/hack-italic.ttf) format('truetype');
	font-weight: 400;
	font-style: italic;
} 
@font-face {
	font-family: 'Hack';
	src: url(fonts/hack-bolditalic-subset.woff2) format('woff2'), url(fonts/hack-bolditalic-subset.woff) format('woff'), url(fonts/hack-bolditalic.ttf) format('truetype');
	font-weight: 700;
	font-style: italic;
}
@font-face {
	font-family: 'KaTeX_AMS';
	src: url(fonts/KaTeX_AMS-Regular.woff2) format('woff2'), url(fonts/KaTeX_AMS-Regular.woff) format('woff'), url(fonts/KaTeX_AMS-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Caligraphic';
	src: url(fonts/KaTeX_Caligraphic-Bold.woff2) format('woff2'), url(fonts/KaTeX_Caligraphic-Bold.woff) format('woff'), url(fonts/KaTeX_Caligraphic-Bold.ttf) format('truetype');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Caligraphic';
	src: url(fonts/KaTeX_Caligraphic-Regular.woff2) format('woff2'), url(fonts/KaTeX_Caligraphic-Regular.woff) format('woff'), url(fonts/KaTeX_Caligraphic-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Fraktur';
	src: url(fonts/KaTeX_Fraktur-Bold.woff2) format('woff2'), url(fonts/KaTeX_Fraktur-Bold.woff) format('woff'), url(fonts/KaTeX_Fraktur-Bold.ttf) format('truetype');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Fraktur';
	src: url(fonts/KaTeX_Fraktur-Regular.woff2) format('woff2'), url(fonts/KaTeX_Fraktur-Regular.woff) format('woff'), url(fonts/KaTeX_Fraktur-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Main';
	src: url(fonts/KaTeX_Main-Bold.woff2) format('woff2'), url(fonts/KaTeX_Main-Bold.woff) format('woff'), url(fonts/KaTeX_Main-Bold.ttf) format('truetype');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Main';
	src: url(fonts/KaTeX_Main-BoldItalic.woff2) format('woff2'), url(fonts/KaTeX_Main-BoldItalic.woff) format('woff'), url(fonts/KaTeX_Main-BoldItalic.ttf) format('truetype');
	font-weight: bold;
	font-style: italic;
}
@font-face {
	font-family: 'KaTeX_Main';
	src: url(fonts/KaTeX_Main-Italic.woff2) format('woff2'), url(fonts/KaTeX_Main-Italic.woff) format('woff'), url(fonts/KaTeX_Main-Italic.ttf) format('truetype');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'KaTeX_Main';
	src: url(fonts/KaTeX_Main-Regular.woff2) format('woff2'), url(fonts/KaTeX_Main-Regular.woff) format('woff'), url(fonts/KaTeX_Main-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Math';
	src: url(fonts/KaTeX_Math-BoldItalic.woff2) format('woff2'), url(fonts/KaTeX_Math-BoldItalic.woff) format('woff'), url(fonts/KaTeX_Math-BoldItalic.ttf) format('truetype');
	font-weight: bold;
	font-style: italic;
}
@font-face {
	font-family: 'KaTeX_Math';
	src: url(fonts/KaTeX_Math-Italic.woff2) format('woff2'), url(fonts/KaTeX_Math-Italic.woff) format('woff'), url(fonts/KaTeX_Math-Italic.ttf) format('truetype');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'KaTeX_SansSerif';
	src: url(fonts/KaTeX_SansSerif-Bold.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Bold.woff) format('woff'), url(fonts/KaTeX_SansSerif-Bold.ttf) format('truetype');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_SansSerif';
	src: url(fonts/KaTeX_SansSerif-Italic.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Italic.woff) format('woff'), url(fonts/KaTeX_SansSerif-Italic.ttf) format('truetype');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'KaTeX_SansSerif';
	src: url(fonts/KaTeX_SansSerif-Regular.woff2) format('woff2'), url(fonts/KaTeX_SansSerif-Regular.woff) format('woff'), url(fonts/KaTeX_SansSerif-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Script';
	src: url(fonts/KaTeX_Script-Regular.woff2) format('woff2'), url(fonts/KaTeX_Script-Regular.woff) format('woff'), url(fonts/KaTeX_Script-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Size1';
	src: url(fonts/KaTeX_Size1-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size1-Regular.woff) format('woff'), url(fonts/KaTeX_Size1-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Size2';
	src: url(fonts/KaTeX_Size2-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size2-Regular.woff) format('woff'), url(fonts/KaTeX_Size2-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Size3';
	src: url(fonts/KaTeX_Size3-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size3-Regular.woff) format('woff'), url(fonts/KaTeX_Size3-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Size4';
	src: url(fonts/KaTeX_Size4-Regular.woff2) format('woff2'), url(fonts/KaTeX_Size4-Regular.woff) format('woff'), url(fonts/KaTeX_Size4-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'KaTeX_Typewriter';
	src: url(fonts/KaTeX_Typewriter-Regular.woff2) format('woff2'), url(fonts/KaTeX_Typewriter-Regular.woff) format('woff'), url(fonts/KaTeX_Typewriter-Regular.ttf) format('truetype');
	font-weight: normal;
	font-style: normal;
}
.katex { font-size: 1em; font: normal 1em KaTeX_Main, Times New Roman, serif; line-height: 1.2; text-indent: 0; text-rendering: auto; }
.katex * { -ms-high-contrast-adjust: none !important; border-color: currentColor; }
.katex img { object-fit: fill; padding: unset; display: block; position: absolute; width: 100%; height: inherit; }
.katex .katex-version::after { content: "0.16.2"; }
/* Accessibility hack to only show to screen readers found at: http://a11yproject.com/posts/how-to-hide-content/ */
.katex .katex-mathml { position: absolute; clip: rect(1px, 1px, 1px, 1px); padding: 0; border: 0; height: 1px; width: 1px; overflow: hidden; }
.katex .katex-html > .newline { display: block; }
.katex .base { position: relative; display: inline-block; white-space: nowrap; width: -webkit-min-content; width: -moz-min-content; width: min-content; }
.katex .strut { display: inline-block; }
.katex .textbf { font-weight: bold; }
.katex .textit { font-style: italic; }
.katex .textrm { font-family: KaTeX_Main; }
.katex .textsf { font-family: KaTeX_SansSerif; }
.katex .texttt { font-family: KaTeX_Typewriter; }
.katex .mathnormal { font-family: KaTeX_Math; font-style: italic; }
.katex .mathit { font-family: KaTeX_Main; font-style: italic; }
.katex .mathrm { font-style: normal; }
.katex .mathbf { font-family: KaTeX_Main; font-weight: bold; }
.katex .boldsymbol { font-family: KaTeX_Math; font-weight: bold; font-style: italic; }
.katex .amsrm { font-family: KaTeX_AMS; }
.katex .mathbb, .katex .textbb { font-family: KaTeX_AMS; }
.katex .mathcal { font-family: KaTeX_Caligraphic; }
.katex .mathfrak, .katex .textfrak { font-family: KaTeX_Fraktur; }
.katex .mathtt { font-family: KaTeX_Typewriter; }
.katex .mathscr, .katex .textscr { font-family: KaTeX_Script; }
.katex .mathsf, .katex .textsf { font-family: KaTeX_SansSerif; }
.katex .mathboldsf, .katex .textboldsf { font-family: KaTeX_SansSerif; font-weight: bold; }
.katex .mathitsf, .katex .textitsf { font-family: KaTeX_SansSerif; font-style: italic; }
.katex .mainrm { font-family: KaTeX_Main; font-style: normal; }
.katex .vlist-t { display: inline-table; table-layout: fixed; border-collapse: collapse; }
.katex .vlist-r { display: table-row; }
.katex .vlist { display: table-cell; vertical-align: bottom; position: relative; }
.katex .vlist > span { display: block; height: 0; position: relative; }
.katex .vlist > span > span { display: inline-block; }
.katex .vlist > span > .pstrut { overflow: hidden; width: 0; }
.katex .vlist-t2 { margin-right: -2px; }
.katex .vlist-s { display: table-cell; vertical-align: bottom; font-size: 1px; width: 2px; min-width: 2px; }
.katex .vbox { display: inline-flex; flex-direction: column; align-items: baseline; }
.katex .hbox { display: inline-flex; flex-direction: row; width: 100%; }
.katex .thinbox { display: inline-flex; flex-direction: row; width: 0; max-width: 0; }
.katex .msupsub { text-align: left; }
.katex .mfrac > span > span { text-align: center; }
.katex .mfrac .frac-line { display: inline-block; width: 100%; border-bottom-style: solid; }
.katex .mfrac .frac-line, .katex .overline .overline-line, .katex .underline .underline-line, .katex .hline, .katex .hdashline, .katex .rule { min-height: 1px; }
.katex .mspace { display: inline-block; }
.katex .llap, .katex .rlap, .katex .clap { width: 0; position: relative; }
.katex .llap > .inner, .katex .rlap > .inner, .katex .clap > .inner { position: absolute; }
.katex .llap > .fix, .katex .rlap > .fix, .katex .clap > .fix { display: inline-block; }
.katex .llap > .inner { right: 0; }
.katex .rlap > .inner, .katex .clap > .inner { left: 0; }
.katex .clap > .inner > span { margin-left: -50%; margin-right: 50%; }
.katex .rule { display: inline-block; border: solid 0; position: relative; }
.katex .overline .overline-line,
.katex .underline .underline-line,
.katex .hline { display: inline-block; width: 100%; border-bottom-style: solid; }
.katex .hdashline { display: inline-block; width: 100%; border-bottom-style: dashed; }
/* These values are taken from the definition of `\r@@t`, `\mkern 5mu` and `\mkern -10mu`. */
.katex .sqrt > .root { margin-left: 0.27777778em; margin-right: -0.55555556em; }
.katex .sizing.reset-size1.size1, .katex .fontsize-ensurer.reset-size1.size1 { font-size: 1em; }
.katex .sizing.reset-size1.size2, .katex .fontsize-ensurer.reset-size1.size2 { font-size: 1.2em; }
.katex .sizing.reset-size1.size3, .katex .fontsize-ensurer.reset-size1.size3 { font-size: 1.4em; }
.katex .sizing.reset-size1.size4, .katex .fontsize-ensurer.reset-size1.size4 { font-size: 1.6em; }
.katex .sizing.reset-size1.size5, .katex .fontsize-ensurer.reset-size1.size5 { font-size: 1.8em; }
.katex .sizing.reset-size1.size6, .katex .fontsize-ensurer.reset-size1.size6 { font-size: 2em; }
.katex .sizing.reset-size1.size7, .katex .fontsize-ensurer.reset-size1.size7 { font-size: 2.4em; }
.katex .sizing.reset-size1.size8, .katex .fontsize-ensurer.reset-size1.size8 { font-size: 2.88em; }
.katex .sizing.reset-size1.size9, .katex .fontsize-ensurer.reset-size1.size9 { font-size: 3.456em; }
.katex .sizing.reset-size1.size10, .katex .fontsize-ensurer.reset-size1.size10 { font-size: 4.148em; }
.katex .sizing.reset-size1.size11, .katex .fontsize-ensurer.reset-size1.size11 { font-size: 4.976em; }
.katex .sizing.reset-size2.size1, .katex .fontsize-ensurer.reset-size2.size1 { font-size: 0.83333333em; }
.katex .sizing.reset-size2.size2, .katex .fontsize-ensurer.reset-size2.size2 { font-size: 1em; }
.katex .sizing.reset-size2.size3, .katex .fontsize-ensurer.reset-size2.size3 { font-size: 1.16666667em; }
.katex .sizing.reset-size2.size4, .katex .fontsize-ensurer.reset-size2.size4 { font-size: 1.33333333em; }
.katex .sizing.reset-size2.size5, .katex .fontsize-ensurer.reset-size2.size5 { font-size: 1.5em; }
.katex .sizing.reset-size2.size6, .katex .fontsize-ensurer.reset-size2.size6 { font-size: 1.66666667em; }
.katex .sizing.reset-size2.size7, .katex .fontsize-ensurer.reset-size2.size7 { font-size: 2em; }
.katex .sizing.reset-size2.size8, .katex .fontsize-ensurer.reset-size2.size8 { font-size: 2.4em; }
.katex .sizing.reset-size2.size9, .katex .fontsize-ensurer.reset-size2.size9 { font-size: 2.88em; }
.katex .sizing.reset-size2.size10, .katex .fontsize-ensurer.reset-size2.size10 { font-size: 3.45666667em; }
.katex .sizing.reset-size2.size11, .katex .fontsize-ensurer.reset-size2.size11 { font-size: 4.14666667em; }
.katex .sizing.reset-size3.size1, .katex .fontsize-ensurer.reset-size3.size1 { font-size: 0.71428571em; }
.katex .sizing.reset-size3.size2, .katex .fontsize-ensurer.reset-size3.size2 { font-size: 0.85714286em; }
.katex .sizing.reset-size3.size3, .katex .fontsize-ensurer.reset-size3.size3 { font-size: 1em; }
.katex .sizing.reset-size3.size4, .katex .fontsize-ensurer.reset-size3.size4 { font-size: 1.14285714em; }
.katex .sizing.reset-size3.size5, .katex .fontsize-ensurer.reset-size3.size5 { font-size: 1.28571429em; }
.katex .sizing.reset-size3.size6, .katex .fontsize-ensurer.reset-size3.size6 { font-size: 1.42857143em; }
.katex .sizing.reset-size3.size7, .katex .fontsize-ensurer.reset-size3.size7 { font-size: 1.71428571em; }
.katex .sizing.reset-size3.size8, .katex .fontsize-ensurer.reset-size3.size8 { font-size: 2.05714286em; }
.katex .sizing.reset-size3.size9, .katex .fontsize-ensurer.reset-size3.size9 { font-size: 2.46857143em; }
.katex .sizing.reset-size3.size10, .katex .fontsize-ensurer.reset-size3.size10 { font-size: 2.96285714em; }
.katex .sizing.reset-size3.size11, .katex .fontsize-ensurer.reset-size3.size11 { font-size: 3.55428571em; }
.katex .sizing.reset-size4.size1, .katex .fontsize-ensurer.reset-size4.size1 { font-size: 0.625em; }
.katex .sizing.reset-size4.size2, .katex .fontsize-ensurer.reset-size4.size2 { font-size: 0.75em; }
.katex .sizing.reset-size4.size3, .katex .fontsize-ensurer.reset-size4.size3 { font-size: 0.875em; }
.katex .sizing.reset-size4.size4, .katex .fontsize-ensurer.reset-size4.size4 { font-size: 1em; }
.katex .sizing.reset-size4.size5, .katex .fontsize-ensurer.reset-size4.size5 { font-size: 1.125em; }
.katex .sizing.reset-size4.size6, .katex .fontsize-ensurer.reset-size4.size6 { font-size: 1.25em; }
.katex .sizing.reset-size4.size7, .katex .fontsize-ensurer.reset-size4.size7 { font-size: 1.5em; }
.katex .sizing.reset-size4.size8, .katex .fontsize-ensurer.reset-size4.size8 { font-size: 1.8em; }
.katex .sizing.reset-size4.size9, .katex .fontsize-ensurer.reset-size4.size9 { font-size: 2.16em; }
.katex .sizing.reset-size4.size10, .katex .fontsize-ensurer.reset-size4.size10 { font-size: 2.5925em; }
.katex .sizing.reset-size4.size11, .katex .fontsize-ensurer.reset-size4.size11 { font-size: 3.11em; }
.katex .sizing.reset-size5.size1, .katex .fontsize-ensurer.reset-size5.size1 { font-size: 0.55555556em; }
.katex .sizing.reset-size5.size2, .katex .fontsize-ensurer.reset-size5.size2 { font-size: 0.66666667em; }
.katex .sizing.reset-size5.size3, .katex .fontsize-ensurer.reset-size5.size3 { font-size: 0.77777778em; }
.katex .sizing.reset-size5.size4, .katex .fontsize-ensurer.reset-size5.size4 { font-size: 0.88888889em; }
.katex .sizing.reset-size5.size5, .katex .fontsize-ensurer.reset-size5.size5 { font-size: 1em; }
.katex .sizing.reset-size5.size6, .katex .fontsize-ensurer.reset-size5.size6 { font-size: 1.11111111em; }
.katex .sizing.reset-size5.size7, .katex .fontsize-ensurer.reset-size5.size7 { font-size: 1.33333333em; }
.katex .sizing.reset-size5.size8, .katex .fontsize-ensurer.reset-size5.size8 { font-size: 1.6em; }
.katex .sizing.reset-size5.size9, .katex .fontsize-ensurer.reset-size5.size9 { font-size: 1.92em; }
.katex .sizing.reset-size5.size10, .katex .fontsize-ensurer.reset-size5.size10 { font-size: 2.30444444em; }
.katex .sizing.reset-size5.size11, .katex .fontsize-ensurer.reset-size5.size11 { font-size: 2.76444444em; }
.katex .sizing.reset-size6.size1, .katex .fontsize-ensurer.reset-size6.size1 { font-size: 0.5em; }
.katex .sizing.reset-size6.size2, .katex .fontsize-ensurer.reset-size6.size2 { font-size: 0.6em; }
.katex .sizing.reset-size6.size3, .katex .fontsize-ensurer.reset-size6.size3 { font-size: 0.7em; }
.katex .sizing.reset-size6.size4, .katex .fontsize-ensurer.reset-size6.size4 { font-size: 0.8em; }
.katex .sizing.reset-size6.size5, .katex .fontsize-ensurer.reset-size6.size5 { font-size: 0.9em; }
.katex .sizing.reset-size6.size6, .katex .fontsize-ensurer.reset-size6.size6 { font-size: 1em; }
.katex .sizing.reset-size6.size7, .katex .fontsize-ensurer.reset-size6.size7 { font-size: 1.2em; }
.katex .sizing.reset-size6.size8, .katex .fontsize-ensurer.reset-size6.size8 { font-size: 1.44em; }
.katex .sizing.reset-size6.size9, .katex .fontsize-ensurer.reset-size6.size9 { font-size: 1.728em; }
.katex .sizing.reset-size6.size10, .katex .fontsize-ensurer.reset-size6.size10 { font-size: 2.074em; }
.katex .sizing.reset-size6.size11, .katex .fontsize-ensurer.reset-size6.size11 { font-size: 2.488em; }
.katex .sizing.reset-size7.size1, .katex .fontsize-ensurer.reset-size7.size1 { font-size: 0.41666667em; }
.katex .sizing.reset-size7.size2, .katex .fontsize-ensurer.reset-size7.size2 { font-size: 0.5em; }
.katex .sizing.reset-size7.size3, .katex .fontsize-ensurer.reset-size7.size3 { font-size: 0.58333333em; }
.katex .sizing.reset-size7.size4, .katex .fontsize-ensurer.reset-size7.size4 { font-size: 0.66666667em; }
.katex .sizing.reset-size7.size5, .katex .fontsize-ensurer.reset-size7.size5 { font-size: 0.75em; }
.katex .sizing.reset-size7.size6, .katex .fontsize-ensurer.reset-size7.size6 { font-size: 0.83333333em; }
.katex .sizing.reset-size7.size7, .katex .fontsize-ensurer.reset-size7.size7 { font-size: 1em; }
.katex .sizing.reset-size7.size8, .katex .fontsize-ensurer.reset-size7.size8 { font-size: 1.2em; }
.katex .sizing.reset-size7.size9, .katex .fontsize-ensurer.reset-size7.size9 { font-size: 1.44em; }
.katex .sizing.reset-size7.size10, .katex .fontsize-ensurer.reset-size7.size10 { font-size: 1.72833333em; }
.katex .sizing.reset-size7.size11, .katex .fontsize-ensurer.reset-size7.size11 { font-size: 2.07333333em; }
.katex .sizing.reset-size8.size1, .katex .fontsize-ensurer.reset-size8.size1 { font-size: 0.34722222em; }
.katex .sizing.reset-size8.size2, .katex .fontsize-ensurer.reset-size8.size2 { font-size: 0.41666667em; }
.katex .sizing.reset-size8.size3, .katex .fontsize-ensurer.reset-size8.size3 { font-size: 0.48611111em; }
.katex .sizing.reset-size8.size4, .katex .fontsize-ensurer.reset-size8.size4 { font-size: 0.55555556em; }
.katex .sizing.reset-size8.size5, .katex .fontsize-ensurer.reset-size8.size5 { font-size: 0.625em; }
.katex .sizing.reset-size8.size6, .katex .fontsize-ensurer.reset-size8.size6 { font-size: 0.69444444em; }
.katex .sizing.reset-size8.size7, .katex .fontsize-ensurer.reset-size8.size7 { font-size: 0.83333333em; }
.katex .sizing.reset-size8.size8, .katex .fontsize-ensurer.reset-size8.size8 { font-size: 1em; }
.katex .sizing.reset-size8.size9, .katex .fontsize-ensurer.reset-size8.size9 { font-size: 1.2em; }
.katex .sizing.reset-size8.size10, .katex .fontsize-ensurer.reset-size8.size10 { font-size: 1.44027778em; }
.katex .sizing.reset-size8.size11, .katex .fontsize-ensurer.reset-size8.size11 { font-size: 1.72777778em; }
.katex .sizing.reset-size9.size1, .katex .fontsize-ensurer.reset-size9.size1 { font-size: 0.28935185em; }
.katex .sizing.reset-size9.size2, .katex .fontsize-ensurer.reset-size9.size2 { font-size: 0.34722222em; }
.katex .sizing.reset-size9.size3, .katex .fontsize-ensurer.reset-size9.size3 { font-size: 0.40509259em; }
.katex .sizing.reset-size9.size4, .katex .fontsize-ensurer.reset-size9.size4 { font-size: 0.46296296em; }
.katex .sizing.reset-size9.size5, .katex .fontsize-ensurer.reset-size9.size5 { font-size: 0.52083333em; }
.katex .sizing.reset-size9.size6, .katex .fontsize-ensurer.reset-size9.size6 { font-size: 0.5787037em; }
.katex .sizing.reset-size9.size7, .katex .fontsize-ensurer.reset-size9.size7 { font-size: 0.69444444em; }
.katex .sizing.reset-size9.size8, .katex .fontsize-ensurer.reset-size9.size8 { font-size: 0.83333333em; }
.katex .sizing.reset-size9.size9, .katex .fontsize-ensurer.reset-size9.size9 { font-size: 1em; }
.katex .sizing.reset-size9.size10, .katex .fontsize-ensurer.reset-size9.size10 { font-size: 1.20023148em; }
.katex .sizing.reset-size9.size11, .katex .fontsize-ensurer.reset-size9.size11 { font-size: 1.43981481em; }
.katex .sizing.reset-size10.size1, .katex .fontsize-ensurer.reset-size10.size1 { font-size: 0.24108004em; }
.katex .sizing.reset-size10.size2, .katex .fontsize-ensurer.reset-size10.size2 { font-size: 0.28929605em; }
.katex .sizing.reset-size10.size3, .katex .fontsize-ensurer.reset-size10.size3 { font-size: 0.33751205em; }
.katex .sizing.reset-size10.size4, .katex .fontsize-ensurer.reset-size10.size4 { font-size: 0.38572806em; }
.katex .sizing.reset-size10.size5, .katex .fontsize-ensurer.reset-size10.size5 { font-size: 0.43394407em; }
.katex .sizing.reset-size10.size6, .katex .fontsize-ensurer.reset-size10.size6 { font-size: 0.48216008em; }
.katex .sizing.reset-size10.size7, .katex .fontsize-ensurer.reset-size10.size7 { font-size: 0.57859209em; }
.katex .sizing.reset-size10.size8, .katex .fontsize-ensurer.reset-size10.size8 { font-size: 0.69431051em; }
.katex .sizing.reset-size10.size9, .katex .fontsize-ensurer.reset-size10.size9 { font-size: 0.83317261em; }
.katex .sizing.reset-size10.size10, .katex .fontsize-ensurer.reset-size10.size10 { font-size: 1em; }
.katex .sizing.reset-size10.size11, .katex .fontsize-ensurer.reset-size10.size11 { font-size: 1.19961427em; }
.katex .sizing.reset-size11.size1, .katex .fontsize-ensurer.reset-size11.size1 { font-size: 0.20096463em; }
.katex .sizing.reset-size11.size2, .katex .fontsize-ensurer.reset-size11.size2 { font-size: 0.24115756em; }
.katex .sizing.reset-size11.size3, .katex .fontsize-ensurer.reset-size11.size3 { font-size: 0.28135048em; }
.katex .sizing.reset-size11.size4, .katex .fontsize-ensurer.reset-size11.size4 { font-size: 0.32154341em; }
.katex .sizing.reset-size11.size5, .katex .fontsize-ensurer.reset-size11.size5 { font-size: 0.36173633em; }
.katex .sizing.reset-size11.size6, .katex .fontsize-ensurer.reset-size11.size6 { font-size: 0.40192926em; }
.katex .sizing.reset-size11.size7, .katex .fontsize-ensurer.reset-size11.size7 { font-size: 0.48231511em; }
.katex .sizing.reset-size11.size8, .katex .fontsize-ensurer.reset-size11.size8 { font-size: 0.57877814em; }
.katex .sizing.reset-size11.size9, .katex .fontsize-ensurer.reset-size11.size9 { font-size: 0.69453376em; }
.katex .sizing.reset-size11.size10, .katex .fontsize-ensurer.reset-size11.size10 { font-size: 0.83360129em; }
.katex .sizing.reset-size11.size11, .katex .fontsize-ensurer.reset-size11.size11 { font-size: 1em; }
.katex .delimsizing.size1 { font-family: KaTeX_Size1; }
.katex .delimsizing.size2 { font-family: KaTeX_Size2; }
.katex .delimsizing.size3 { font-family: KaTeX_Size3; }
.katex .delimsizing.size4 { font-family: KaTeX_Size4; }
.katex .delimsizing.mult .delim-size1 > span { font-family: KaTeX_Size1; }
.katex .delimsizing.mult .delim-size4 > span { font-family: KaTeX_Size4; }
.katex .nulldelimiter { display: inline-block; width: 0.12em; }
.katex .delimcenter { position: relative; }
.katex .op-symbol { position: relative; }
.katex .op-symbol.small-op { font-family: KaTeX_Size1; }
.katex .op-symbol.large-op { font-family: KaTeX_Size2; }
.katex .op-limits > .vlist-t { text-align: center; }
.katex .accent > .vlist-t { text-align: center; }
.katex .accent .accent-body { position: relative; }
.katex .accent .accent-body:not(.accent-full) { width: 0; }
.katex .overlay { display: block; }
.katex .mtable .vertical-separator { display: inline-block; min-width: 1px; }
.katex .mtable .arraycolsep { display: inline-block; }
.katex .mtable .col-align-c > .vlist-t { text-align: center; }
.katex .mtable .col-align-l > .vlist-t { text-align: left; }
.katex .mtable .col-align-r > .vlist-t { text-align: right; }
.katex .svg-align { text-align: left; }
.katex svg { display: block; position: absolute; width: 100%; height: inherit; fill: currentColor; stroke: currentColor; fill-rule: nonzero; fill-opacity: 1; stroke-width: 1; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 4; stroke-dasharray: none; stroke-dashoffset: 0; stroke-opacity: 1; }
.katex svg path { stroke: none; }
.katex img { border-style: none; min-width: 0; min-height: 0; max-width: none; max-height: none; }
.katex .stretchy { width: 100%; display: block; position: relative; overflow: hidden; }
.katex .stretchy::before, .katex .stretchy::after { content: ""; }
.katex .hide-tail { width: 100%; position: relative; overflow: hidden; }
.katex .halfarrow-left { position: absolute; left: 0; width: 50.2%; overflow: hidden; }
.katex .halfarrow-right { position: absolute; right: 0; width: 50.2%; overflow: hidden; }
.katex .brace-left { position: absolute; left: 0; width: 25.1%; overflow: hidden; }
.katex .brace-center { position: absolute; left: 25%; width: 50%; overflow: hidden; }
.katex .brace-right { position: absolute; right: 0; width: 25.1%; overflow: hidden; }
.katex .x-arrow-pad { padding: 0 0.5em; }
.katex .cd-arrow-pad { padding: 0 0.55556em 0 0.27778em; }
.katex .x-arrow, .katex .mover, .katex .munder { text-align: center; }
.katex .boxpad { padding: 0 0.3em; }
.katex .fbox, .katex .fcolorbox { box-sizing: border-box; border: 0.04em solid; }
.katex .cancel-pad { padding: 0 0.2em; }
.katex .cancel-lap { margin-left: -0.2em; margin-right: -0.2em; }
.katex .sout { border-bottom-style: solid; border-bottom-width: 0.08em; }
.katex .angl { box-sizing: border-box; border-top: 0.049em solid; border-right: 0.049em solid; margin-right: 0.03889em; }
.katex .anglpad { padding: 0 0.03889em; }
.katex .eqn-num::before { counter-increment: katexEqnNo; content: "(" counter(katexEqnNo) ")"; }
.katex .mml-eqn-num::before { counter-increment: mmlEqnNo; content: "(" counter(mmlEqnNo) ")"; }
.katex .mtr-glue { width: 50%; }
.katex .cd-vert-arrow { display: inline-block; position: relative; }
.katex .cd-label-left { display: inline-block; position: absolute; right: calc(50% + 0.3em); text-align: left; }
.katex .cd-label-right { display: inline-block; position: absolute; left: calc(50% + 0.3em); text-align: right; }
.katex-display { display: block; margin: 1em 0; text-align: center; font-size: 1em; }
.katex-display > .katex { display: block; text-align: center; white-space: nowrap; }
.katex-display > .katex > .katex-html { display: block; position: relative; }
.katex-display > .katex > .katex-html > .tag { position: absolute; right: 0; }
.katex-display.leqno > .katex > .katex-html > .tag { left: 0; right: auto; }
.katex-display.fleqn > .katex { text-align: left; padding-left: 2em; }
body { counter-reset: katexEqnNo mmlEqnNo; }