pre code.hljs{display:block;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}.page_markdown__SVl4d{width:100%;max-width:100%;padding:13px 14px;color:#d4d4d4;font-size:var(--body-base);line-height:var(--line-height-relaxed);font-family:var(--font-mono);white-space:pre-wrap}.page_markdown__SVl4d a{text-decoration:underline;-webkit-text-decoration-color:#095fe9;text-decoration-color:#095fe9;text-underline-offset:1px;color:inherit;transition:color .2s ease}.page_markdown__SVl4d a:hover{color:#144ba5!important}.page_markdown__SVl4d h1,.page_markdown__SVl4d h2,.page_markdown__SVl4d h3,.page_markdown__SVl4d h4,.page_markdown__SVl4d h5,.page_markdown__SVl4d h6{margin-top:1rem;margin-bottom:0;font-weight:var(--font-weight-bold);color:var(--text);line-height:var(--line-height-tight)}.page_markdown__SVl4d h1{font-size:var(--heading-3);border-bottom:2px solid var(--border);padding-bottom:.3rem;background:none}.page_markdown__SVl4d h2{font-size:var(--heading-4);border-bottom:1px solid var(--border);padding-bottom:.2rem;background:none}.page_markdown__SVl4d h3{font-size:var(--body-large);background:none}.page_markdown__SVl4d h4,.page_markdown__SVl4d h5,.page_markdown__SVl4d h6{font-size:var(--body-base);background:none}.page_markdown__SVl4d ol,.page_markdown__SVl4d ul{margin:-.1rem .3rem;padding-left:1rem;line-height:var(--line-height-normal)}.page_markdown__SVl4d ol,.page_markdown__SVl4d ul{list-style-type:disc}.page_markdown__SVl4d li{margin:-.3rem .5rem -.5rem 0;line-height:var(--line-height-normal)}.page_markdown__SVl4d ul+pre{margin-left:2rem}.page_markdown__SVl4d pre{overflow-x:auto;line-height:var(--line-height-normal)}.page_markdown__SVl4d pre,.page_markdown__SVl4d pre code{background:none;color:inherit;border-radius:0;font-size:var(--code-small);margin:0;padding:0;box-shadow:none;border:none}.page_markdown__SVl4d pre code{display:block;line-height:var(--line-height-tight)}.page_markdown__SVl4d code{font-family:var(--font-mono);font-size:var(--code-small);background:#f4f4f4;color:#d6336c;border-radius:3px;padding:.1em .2em;vertical-align:middle;line-height:var(--line-height-tight);box-shadow:none;border:none;margin:0}[data-theme=dark] .page_markdown__SVl4d code{background:#2d2f34;color:#e06c75}.page_markdown__SVl4d blockquote{border-left:3px solid rgba(42,224,217,.86);margin:.7rem 0;padding:.7rem 1rem;border-left:4px solid var(--primary);background:#f8f9fa;color:#555;font-style:italic;border-radius:0 8px 8px 0}.page_markdown__SVl4d img{margin:.7rem auto;max-width:90%;height:auto;display:block;border-radius:5px;box-shadow:0 2px 10px rgba(0,0,0,.08)}.page_markdown__SVl4d{font-size:var(--body-small);line-height:var(--line-height-normal);color:var(--text);word-break:break-word;background:none;padding:0 .5rem;letter-spacing:.01em}.page_markdown__SVl4d p{margin:0;line-height:var(--line-height-normal)}.page_markdown__SVl4d table{width:100%;border-collapse:collapse;margin:.7rem 0;font-size:var(--body-small)}.page_markdown__SVl4d td,.page_markdown__SVl4d th{border:1px solid var(--border);padding:.7rem 1rem;text-align:left}.page_markdown__SVl4d th{background:var(--hover);font-weight:var(--font-weight-semibold)}.page_container__CFDdT{max-width:850px;margin:0 auto;padding:2.5rem 1.5rem 4rem;background:var(--background);border-radius:12px;box-shadow:0 2px 16px rgba(0,0,0,.04)}.page_postHeader___iSb4{margin-bottom:2.5rem;border-bottom:1px solid var(--border);padding-bottom:1.5rem}.page_postTags__JGle_{display:flex;flex-wrap:wrap;gap:.5rem}.page_postDate__6YkZ2{font-size:var(--body-small);padding-bottom:.5rem}.page_title__Jntln{font-size:var(--heading-2);font-weight:var(--font-weight-bold);color:var(--text);margin-bottom:.5rem;line-height:var(--line-height-tight)}.page_description__uTVGc{font-size:var(--body-large)}.page_description__uTVGc,.page_meta__O68pM{color:var(--text-secondary);margin-bottom:.5rem}.page_meta__O68pM{display:flex;gap:1.2rem;font-size:var(--body-base)}.page_tagPill__QVlvT{display:flex;align-items:center;gap:.1rem;padding:.1rem .5rem;background-color:#f2f4f8;color:#6b7684;border-radius:1.2rem;font-size:var(--ui-xs);-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;box-shadow:0 1px 4px 0 rgba(60,80,120,.04);transition:all .2s ease;margin-bottom:2px}.page_tagPill__QVlvT:focus,.page_tagPill__QVlvT:hover{background-color:#e3e8ef;color:#425066;outline:none}.page_tagPill__QVlvT.page_active__ubndq{background:#d0d6dd;color:#222e3a;font-weight:var(--font-weight-semibold)}@media screen and (max-width:768px){.page_markdown__SVl4d{padding:1px;font-size:var(--body-xs);line-height:var(--line-height-relaxed)}.page_markdown__SVl4d h1{font-size:var(--heading-5)}.page_markdown__SVl4d h2{font-size:var(--body-large)}.page_markdown__SVl4d h3{font-size:var(--body-base)}.page_markdown__SVl4d h4,.page_markdown__SVl4d h5,.page_markdown__SVl4d h6{font-size:var(--body-small)}.page_markdown__SVl4d ol,.page_markdown__SVl4d ul{margin:-.1rem .3rem -.1rem .2rem;padding:0 0 0 1rem;line-height:var(--line-height-normal)}.page_markdown__SVl4d li,.page_markdown__SVl4d ol,.page_markdown__SVl4d ul{line-height:var(--line-height-normal)}.page_markdown__SVl4d li{margin:.5rem .1rem -.5rem}.page_markdown__SVl4d ul+pre{margin-left:1.7rem}.page_markdown__SVl4d pre{font-size:var(--code-small);padding:.7rem;line-height:var(--line-height-tight)}.page_markdown__SVl4d pre code{font-size:var(--code-xs)}.page_markdown__SVl4d img{max-width:100%;margin:1rem auto}.page_markdown__SVl4d{font-size:var(--body-small);padding:0 .1rem;line-height:var(--line-height-tight)}.page_markdown__SVl4d p{line-height:var(--line-height-normal)}.page_markdown__SVl4d table{font-size:var(--body-xs)}.page_markdown__SVl4d td,.page_markdown__SVl4d th{padding:.4rem .5rem}.page_container__CFDdT{max-width:100%;padding:1.5rem .5rem 2rem}.page_postHeader___iSb4{padding-bottom:1rem;margin-bottom:1.2rem}.page_postDate__6YkZ2{font-size:var(--body-small);padding-bottom:.5rem}.page_title__Jntln{font-size:var(--heading-4)}}[data-theme=dark] .page_tagPill__QVlvT{background:#36393f;color:#bdbdbd;border:1px solid #44474e}[data-theme=dark] .page_tagPill__QVlvT.page_active__ubndq{background:#44474e;color:#fff;font-weight:600;border:1px solid #5a5f67}[data-theme=dark] .page_markdown__SVl4d pre code{background:none!important}details summary{cursor:pointer}details summary,details ul{font-size:var(--body-small)}details ul{padding:0 0 0 1.5rem!important}@media(max-width:768px){details summary,details ul{font-size:var(--body-xs)}}details ul li{margin:.15em 0}html{scroll-behavior:smooth}.tocCard{background:#f5f5f5;border-radius:5px;padding:.5rem .5rem 0 .7rem;margin-bottom:2rem;box-shadow:0 2px 8px rgba(0,0,0,.04);border:1px solid #e0e0e0;color:#222}[data-theme=dark] .tocCard{background:#23272e;color:#eaeaea;border:1px solid #36393f}.scrollTopBtn{position:fixed;right:2.2rem;bottom:2.2rem;z-index:100;background:none;border:none;padding:0;cursor:pointer;opacity:.6;transition:opacity .2s;box-shadow:none}.scrollTopBtn:hover{opacity:1;box-shadow:none}@media(max-width:768px){.scrollTopBtn{right:1rem;bottom:1rem}}.CodeBlock_custom-codeblock-root__w41lw{border-radius:10px;background:#23272e;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08);font-family:var(--font-mono);padding:0}.CodeBlock_custom-codeblock-header__zVM_G{display:flex;align-items:center;justify-content:space-between;background:#23272e;color:#bdbdbd;font-size:.93em;padding:.35rem .9rem;border-bottom:3px solid #2d313a}.CodeBlock_custom-codeblock-lang__jFz0c{font-weight:600;text-transform:capitalize;letter-spacing:.03em}.CodeBlock_custom-codeblock-copy__1ty9b{background:none;border:none;color:#bdbdbd;font-size:.93em;cursor:pointer;padding:.1em .7em;border-radius:4px;transition:background .15s,color .15s}.CodeBlock_custom-codeblock-copy__1ty9b:hover{background:#31343c;color:#fff}.CodeBlock_custom-codeblock-copy__1ty9b:active{background:#444950}.CodeBlock_custom-codeblock-root__w41lw pre{background:none!important;border-radius:0!important;color:#eaeaea;margin:0;padding:.7rem 1rem;font-size:1em;overflow-x:auto;box-shadow:none;border:none}.CodeBlock_custom-codeblock-root__w41lw pre code{background:none;color:inherit;font-size:1em;font-family:var(--font-mono);line-height:1.6;border-radius:0;box-shadow:none;border:none;margin:0}.ScrollProgressBar_progressBarContainer__oDS56{position:fixed;top:0;left:0;width:100%;height:4px;background-color:#e0e0e0;z-index:1000}.ScrollProgressBar_progressBar__gEML5{height:100%;background-color:#f0b3ff;width:0;transition:width .1s ease-out}