pre code.hljs{overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}@custom-variant dark (&:is(.dark *));:root{font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;--max-width:800px;--radius:0.625rem;--card:oklch(1 0 0);--card-foreground:oklch(0.145 0 0);--popover:oklch(1 0 0);--popover-foreground:oklch(0.145 0 0);--primary:oklch(0.205 0 0);--primary-foreground:oklch(0.985 0 0);--secondary:oklch(0.97 0 0);--secondary-foreground:oklch(0.205 0 0);--muted:oklch(0.97 0 0);--muted-foreground:oklch(0.556 0 0);--accent:oklch(0.97 0 0);--accent-foreground:oklch(0.205 0 0);--destructive:oklch(0.577 0.245 27.325);--border:oklch(0.922 0 0);--input:oklch(0.922 0 0);--ring:oklch(0.708 0 0);--chart-1:oklch(0.646 0.222 41.116);--chart-2:oklch(0.6 0.118 184.704);--chart-3:oklch(0.398 0.07 227.392);--chart-4:oklch(0.828 0.189 84.429);--chart-5:oklch(0.769 0.188 70.08);--sidebar:oklch(0.985 0 0);--sidebar-foreground:oklch(0.145 0 0);--sidebar-primary:oklch(0.205 0 0);--sidebar-primary-foreground:oklch(0.985 0 0);--sidebar-accent:oklch(0.97 0 0);--sidebar-accent-foreground:oklch(0.205 0 0);--sidebar-border:oklch(0.922 0 0);--sidebar-ring:oklch(0.708 0 0);--background:oklch(1 0 0);--foreground:oklch(0.145 0 0)}@theme inline{--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--color-background:var(--background);--color-foreground:var(--foreground);--color-card:var(--card);--color-card-foreground:var(--card-foreground);--color-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-primary:var(--primary);--color-primary-foreground:var(--primary-foreground);--color-secondary:var(--secondary);--color-secondary-foreground:var(--secondary-foreground);--color-muted:var(--muted);--color-muted-foreground:var(--muted-foreground);--color-accent:var(--accent);--color-accent-foreground:var(--accent-foreground);--color-destructive:var(--destructive);--color-border:var(--border);--color-input:var(--input);--color-ring:var(--ring);--color-chart-1:var(--chart-1);--color-chart-2:var(--chart-2);--color-chart-3:var(--chart-3);--color-chart-4:var(--chart-4);--color-chart-5:var(--chart-5);--color-sidebar:var(--sidebar);--color-sidebar-foreground:var(--sidebar-foreground);--color-sidebar-primary:var(--sidebar-primary);--color-sidebar-primary-foreground:var(--sidebar-primary-foreground);--color-sidebar-accent:var(--sidebar-accent);--color-sidebar-accent-foreground:var(--sidebar-accent-foreground);--color-sidebar-border:var(--sidebar-border);--color-sidebar-ring:var(--sidebar-ring)}.dark{--background:oklch(0.145 0 0);--foreground:oklch(0.985 0 0);--card:oklch(0.205 0 0);--card-foreground:oklch(0.985 0 0);--popover:oklch(0.205 0 0);--popover-foreground:oklch(0.985 0 0);--primary:oklch(0.922 0 0);--primary-foreground:oklch(0.205 0 0);--secondary:oklch(0.269 0 0);--secondary-foreground:oklch(0.985 0 0);--muted:oklch(0.269 0 0);--muted-foreground:oklch(0.708 0 0);--accent:oklch(0.269 0 0);--accent-foreground:oklch(0.985 0 0);--destructive:oklch(0.704 0.191 22.216);--border:oklch(1 0 0/10%);--input:oklch(1 0 0/15%);--ring:oklch(0.556 0 0);--chart-1:oklch(0.488 0.243 264.376);--chart-2:oklch(0.696 0.17 162.48);--chart-3:oklch(0.769 0.188 70.08);--chart-4:oklch(0.627 0.265 303.9);--chart-5:oklch(0.645 0.246 16.439);--sidebar:oklch(0.205 0 0);--sidebar-foreground:oklch(0.985 0 0);--sidebar-primary:oklch(0.488 0.243 264.376);--sidebar-primary-foreground:oklch(0.985 0 0);--sidebar-accent:oklch(0.269 0 0);--sidebar-accent-foreground:oklch(0.985 0 0);--sidebar-border:oklch(1 0 0/10%);--sidebar-ring:oklch(0.556 0 0)}@layer base{*,body{@apply bg-background text-foreground}}*{box-sizing:border-box}body{margin:0;padding:0;background:var(--background)}#app{max-width:var(--max-width);height:100dvh;margin:auto;display:flex;flex-direction:column;padding:0 2rem;line-height:1.7;position:relative}#mobile-header{padding:1rem 2rem 2rem;top:0;left:0;right:0;background-image:linear-gradient(to bottom,var(--background) 50%,transparent);transition:background-image}#desktop-header,#mobile-header{display:flex;justify-content:flex-end;align-items:center;position:fixed;max-width:var(--max-width);margin:auto;z-index:100}#desktop-header{flex-direction:column;gap:1rem;padding:1rem 0;top:5.5rem;width:4rem;bottom:5.5rem;transform:translateX(calc(-100% - 1rem))}#desktop-header #zen-button{border-radius:50%;position:relative;overflow:unset}#desktop-header #zen-button #zen-button-icon{background:transparent}#desktop-header #zen-button-text{position:absolute;top:50%;width:max-content;left:-.5rem;transform:translate(-100%,-50%);opacity:0;transition:opacity .3s}#desktop-header #zen-button:focus-within #zen-button-text,#desktop-header #zen-button:hover #zen-button-text{opacity:1}main{flex:1 1;margin-top:5rem;font-size:1rem}hr{width:100%}footer{display:flex;align-items:center;justify-content:center;padding:2rem;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}#avatar,#avatar img{height:2rem;width:2rem;border-radius:50%}#avatar{background:var(--card)}#breadcrumb{display:flex;align-items:center;gap:.5rem}#breadcrumb a{color:unset;text-decoration:none}#toc-button,#zen-button{display:flex;align-items:center;background:transparent;border:none;gap:0;padding:0;overflow:hidden;transition:width .3s;cursor:pointer}#zen-button-icon{transform:rotate(0);transition:transform .3s}#toc-button-icon,#zen-button-icon{padding:.25rem;border-radius:var(--radius-sm)}#back-link,#breadcrumb,.toc,footer{transition:opacity .3s}#back-link{position:absolute;top:0;font-size:.75rem;transform:translateY(calc(-100% - .5rem));color:#fff7;opacity:1;transition:opacity .3}#back-link,.row{display:flex;align-items:center;gap:.5rem}a,button{transition:transform .3s;-webkit-tap-highlight-color:transparent}a:focus-within,button:focus-within{outline-offset:.25rem;outline-color:var(--cta,#02b7ff)}a{color:var(--cta,#02b7ff)}h1,h2{line-height:1.2}h2,h3,h4,h5,h6,p{margin-bottom:0}kbd{padding:.125rem .5rem;background:var(--muted);color:var(--muted-foreground);border-radius:.375rem;font-size:.875rem}.image-container{-webkit-margin-before:3rem;margin-block-start:3rem;-webkit-margin-after:3rem;margin-block-end:3rem;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0}img{width:100%;border-radius:var(--radius)}.image-description{text-align:center;font-size:.75rem;opacity:.7;margin:auto;display:block}table{width:100%;max-width:100%;overflow:auto;display:table;background:var(--card);border-radius:var(--radius)}table *{text-align:start}tbody{display:table-row-group;vertical-align:middle;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}thead{position:relative}thead:after{content:"";height:1px;background:#fff3;position:absolute;bottom:0;right:0;left:0}td,th{padding:.5rem 1.25rem;margin:0}abbr{cursor:help}blockquote{margin:1rem 0;-webkit-padding-start:1.4rem;padding-inline-start:1.4rem;border-radius:.25rem;-webkit-border-start:.25rem solid var(--blockquote-border-color,#444);border-inline-start:.25rem solid var(--blockquote-border-color,#444)}blockquote .blockquote-title{color:var(--blockquote-border-color);display:flex;align-items:center;gap:.5rem;font-weight:600}blockquote.note{--blockquote-border-color:#2f81f7}blockquote.warning{--blockquote-border-color:#cd7c3b}blockquote.tip{--blockquote-border-color:#3fb950}blockquote.important{--blockquote-border-color:#ab7df8}blockquote.caution{--blockquote-border-color:#f85149}@media screen and (max-width:850px){:root{--max-width:700px}}@media screen and (min-width:768px){:root{--max-width:700px}#mobile-header{display:none}}@media screen and (max-width:768px){#desktop-header{display:none}main{margin-top:6.5rem}}.skip-link{position:fixed;top:1rem;left:1rem;padding:.5rem;font-size:.75rem;color:var(--primary);opacity:0}.skip-link:focus-within{opacity:1}ul{-webkit-padding-start:1rem;padding-inline-start:1rem}li::marker{color:var(--cta,#02b7ff)}.heading{position:relative}.heading .heading-link{width:.75rem;height:.75rem;opacity:0;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:opacity .3s}.heading .content{display:flex;align-items:center;gap:1rem}.heading-link:focus-within,.heading:hover .heading-link{opacity:1}@media screen and (max-width:768px){.heading .heading-link{opacity:1}}.zen-mode #back-link,.zen-mode #breadcrumb,.zen-mode #zen-button-text,.zen-mode .heading .heading-link,.zen-mode .toc,.zen-mode footer{opacity:0!important}.zen-mode header{background-image:linear-gradient(0,transparent)}.zen-mode #zen-button-icon{transform:rotate(90deg);background:var(--background)}.card{padding:1.5rem;margin-bottom:1rem}.card,pre code.hljs{background:var(--card);border-radius:var(--radius)}pre code.hljs{display:block;padding:1rem}::-webkit-scrollbar{width:.25rem;height:.25rem}::-webkit-scrollbar-thumb{background:#333;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#444}.toc{position:fixed;right:0;top:0;padding:5rem 1rem 0;bottom:0;width:calc((100dvw - var(--max-width)) / 2);max-height:100%;overflow:scroll;font-size:.75rem}.toc:has(.toc-item):before{content:"On this page"}.toc .toc-item{list-style-type:none}.toc .toc-item a{color:#ffffffaa;text-decoration:none}.toc-level.toc-level-1{padding-left:0}.toc-level{padding-left:1rem}@media screen and (max-width:768px){.toc{display:none}}