@font-face {
  font-family: octicons-link;
  src: url(data:font/woff;charset=utf-8;base64,d09GRgABAAAAAAZwABAAAAAACFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEU0lHAAAGaAAAAAgAAAAIAAAAAUdTVUIAAAZcAAAACgAAAAoAAQAAT1MvMgAAAyQAAABJAAAAYFYEU3RjbWFwAAADcAAAAEUAAACAAJThvmN2dCAAAATkAAAABAAAAAQAAAAAZnBnbQAAA7gAAACyAAABCUM+8IhnYXNwAAAGTAAAABAAAAAQABoAI2dseWYAAAFsAAABPAAAAZwcEq9taGVhZAAAAsgAAAA0AAAANgh4a91oaGVhAAADCAAAABoAAAAkCA8DRGhtdHgAAAL8AAAADAAAAAwGAACfbG9jYQAAAsAAAAAIAAAACABiATBtYXhwAAACqAAAABgAAAAgAA8ASm5hbWUAAAToAAABQgAAAlXu73sOcG9zdAAABiwAAAAeAAAAME3QpOBwcmVwAAAEbAAAAHYAAAB/aFGpk3jaTY6xa8JAGMW/O62BDi0tJLYQincXEypYIiGJjSgHniQ6umTsUEyLm5BV6NDBP8Tpts6F0v+k/0an2i+itHDw3v2+9+DBKTzsJNnWJNTgHEy4BgG3EMI9DCEDOGEXzDADU5hBKMIgNPZqoD3SilVaXZCER3/I7AtxEJLtzzuZfI+VVkprxTlXShWKb3TBecG11rwoNlmmn1P2WYcJczl32etSpKnziC7lQyWe1smVPy/Lt7Kc+0vWY/gAgIIEqAN9we0pwKXreiMasxvabDQMM4riO+qxM2ogwDGOZTXxwxDiycQIcoYFBLj5K3EIaSctAq2kTYiw+ymhce7vwM9jSqO8JyVd5RH9gyTt2+J/yUmYlIR0s04n6+7Vm1ozezUeLEaUjhaDSuXHwVRgvLJn1tQ7xiuVv/ocTRF42mNgZGBgYGbwZOBiAAFGJBIMAAizAFoAAABiAGIAznjaY2BkYGAA4in8zwXi+W2+MjCzMIDApSwvXzC97Z4Ig8N/BxYGZgcgl52BCSQKAA3jCV8CAABfAAAAAAQAAEB42mNgZGBg4f3vACQZQABIMjKgAmYAKEgBXgAAeNpjYGY6wTiBgZWBg2kmUxoDA4MPhGZMYzBi1AHygVLYQUCaawqDA4PChxhmh/8ODDEsvAwHgMKMIDnGL0x7gJQCAwMAJd4MFwAAAHjaY2BgYGaA4DAGRgYQkAHyGMF8NgYrIM3JIAGVYYDT+AEjAwuDFpBmA9KMDEwMCh9i/v8H8sH0/4dQc1iAmAkALaUKLgAAAHjaTY9LDsIgEIbtgqHUPpDi3gPoBVyRTmTddOmqTXThEXqrob2gQ1FjwpDvfwCBdmdXC5AVKFu3e5MfNFJ29KTQT48Ob9/lqYwOGZxeUelN2U2R6+cArgtCJpauW7UQBqnFkUsjAY/kOU1cP+DAgvxwn1chZDwUbd6CFimGXwzwF6tPbFIcjEl+vvmM/byA48e6tWrKArm4ZJlCbdsrxksL1AwWn/yBSJKpYbq8AXaaTb8AAHja28jAwOC00ZrBeQNDQOWO//sdBBgYGRiYWYAEELEwMTE4uzo5Zzo5b2BxdnFOcALxNjA6b2ByTswC8jYwg0VlNuoCTWAMqNzMzsoK1rEhNqByEyerg5PMJlYuVueETKcd/89uBpnpvIEVomeHLoMsAAe1Id4AAAAAAAB42oWQT07CQBTGv0JBhagk7HQzKxca2sJCE1hDt4QF+9JOS0nbaaYDCQfwCJ7Au3AHj+LO13FMmm6cl7785vven0kBjHCBhfpYuNa5Ph1c0e2Xu3jEvWG7UdPDLZ4N92nOm+EBXuAbHmIMSRMs+4aUEd4Nd3CHD8NdvOLTsA2GL8M9PODbcL+hD7C1xoaHeLJSEao0FEW14ckxC+TU8TxvsY6X0eLPmRhry2WVioLpkrbp84LLQPGI7c6sOiUzpWIWS5GzlSgUzzLBSikOPFTOXqly7rqx0Z1Q5BAIoZBSFihQYQOOBEdkCOgXTOHA07HAGjGWiIjaPZNW13/+lm6S9FT7rLHFJ6fQbkATOG1j2OFMucKJJsxIVfQORl+9Jyda6Sl1dUYhSCm1dyClfoeDve4qMYdLEbfqHf3O/AdDumsjAAB42mNgYoAAZQYjBmyAGYQZmdhL8zLdDEydARfoAqIAAAABAAMABwAKABMAB///AA8AAQAAAAAAAAAAAAAAAAABAAAAAA==)
    format("woff");
}

.markdown-preview .octicon {
  display: inline-block;
  fill: currentColor;
  vertical-align: text-bottom;
}

.markdown-preview .anchor {
  float: left;
  line-height: 1;
  margin-left: -20px;
  padding-right: 4px;
}

.markdown-preview .anchor:focus {
  outline: none;
}

.markdown-preview h1 .octicon-link,
.markdown-preview h2 .octicon-link,
.markdown-preview h3 .octicon-link,
.markdown-preview h4 .octicon-link,
.markdown-preview h5 .octicon-link,
.markdown-preview h6 .octicon-link {
  color: #1b1f23;
  vertical-align: middle;
  visibility: hidden;
}

.markdown-preview h1:hover .anchor,
.markdown-preview h2:hover .anchor,
.markdown-preview h3:hover .anchor,
.markdown-preview h4:hover .anchor,
.markdown-preview h5:hover .anchor,
.markdown-preview h6:hover .anchor {
  text-decoration: none;
}

.markdown-preview h1:hover .anchor .octicon-link,
.markdown-preview h2:hover .anchor .octicon-link,
.markdown-preview h3:hover .anchor .octicon-link,
.markdown-preview h4:hover .anchor .octicon-link,
.markdown-preview h5:hover .anchor .octicon-link,
.markdown-preview h6:hover .anchor .octicon-link {
  visibility: visible;
}

.markdown-preview {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  color: #24292e;
  line-height: 1.5;
  font-family: Microsoft YaHei, -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;
}

.markdown-preview .pl-c {
  color: #6a737d;
}

.markdown-preview .pl-c1,
.markdown-preview .pl-s .pl-v {
  color: #005cc5;
}

.markdown-preview .pl-e,
.markdown-preview .pl-en {
  color: #6f42c1;
}

.markdown-preview .pl-s .pl-s1,
.markdown-preview .pl-smi {
  color: #24292e;
}

.markdown-preview .pl-ent {
  color: #22863a;
}

.markdown-preview .pl-k {
  color: #d73a49;
}

.markdown-preview .pl-pds,
.markdown-preview .pl-s,
.markdown-preview .pl-s .pl-pse .pl-s1,
.markdown-preview .pl-sr,
.markdown-preview .pl-sr .pl-cce,
.markdown-preview .pl-sr .pl-sra,
.markdown-preview .pl-sr .pl-sre {
  color: #032f62;
}

.markdown-preview .pl-smw,
.markdown-preview .pl-v {
  color: #e36209;
}

.markdown-preview .pl-bu {
  color: #b31d28;
}

.markdown-preview .pl-ii {
  background-color: #b31d28;
  color: #fafbfc;
}

.markdown-preview .pl-c2 {
  background-color: #d73a49;
  color: #fafbfc;
}

.markdown-preview .pl-c2:before {
  content: "^M";
}

.markdown-preview .pl-sr .pl-cce {
  color: #22863a;
  font-weight: bold;
}

.markdown-preview .pl-ml {
  color: #735c0f;
}

.markdown-preview .pl-mh,
.markdown-preview .pl-mh .pl-en,
.markdown-preview .pl-ms {
  color: #005cc5;
  font-weight: bold;
}

.markdown-preview .pl-mi {
  color: #24292e;
  font-style: italic;
}

.markdown-preview .pl-mb {
  color: #24292e;
  font-weight: bold;
}

.markdown-preview .pl-md {
  background-color: #ffeef0;
  color: #b31d28;
}

.markdown-preview .pl-mi1 {
  background-color: #f0fff4;
  color: #22863a;
}

.markdown-preview .pl-mc {
  background-color: #ffebda;
  color: #e36209;
}

.markdown-preview .pl-mi2 {
  background-color: #005cc5;
  color: #f6f8fa;
}

.markdown-preview .pl-mdr {
  color: #6f42c1;
  font-weight: bold;
}

.markdown-preview .pl-ba {
  color: #586069;
}

.markdown-preview .pl-sg {
  color: #959da5;
}

.markdown-preview .pl-corl {
  color: #032f62;
  text-decoration: underline;
}

.markdown-preview details {
  display: block;
}

.markdown-preview summary {
  display: list-item;
}

.markdown-preview a {
  background-color: transparent;
}

.markdown-preview a:active,
.markdown-preview a:hover {
  outline-width: 0;
}

.markdown-preview strong {
  font-weight: inherit;
  font-weight: bolder;
}

.markdown-preview h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

.markdown-preview img {
  border-style: none;
}

.markdown-preview code,
.markdown-preview kbd,
.markdown-preview pre {
  font-size: 1em;
}

.markdown-preview hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

.markdown-preview input {
  font: inherit;
  margin: 0;
}

.markdown-preview input {
  overflow: visible;
}

.markdown-preview [type="checkbox"] {
  box-sizing: border-box;
  padding: 0;
}

.markdown-preview * {
  box-sizing: border-box;
}

.markdown-preview input {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.markdown-preview strong {
  font-weight: bold;
}

.markdown-preview hr {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #dfe2e5;
  height: 0;
  margin: 15px 0;
  overflow: hidden;
}

.markdown-preview hr:before {
  content: "";
  display: table;
}

.markdown-preview hr:after {
  clear: both;
  content: "";
  display: table;
}

.markdown-preview table:not(.hljs-ln) {
  border-collapse: collapse;
  border-spacing: 0;
}

.markdown-preview td,
.markdown-preview th {
  padding: 0;
}

.markdown-preview details summary {
  cursor: pointer;
}

.markdown-preview h1,
.markdown-preview h2,
.markdown-preview h3,
.markdown-preview h4,
.markdown-preview h5,
.markdown-preview h6 {
  margin-bottom: 0;
  margin-top: 0;
}

.markdown-preview h1 {
  font-size: 32px;
}

.markdown-preview h2 {
  font-size: 24px;
}

.markdown-preview h3 {
  font-size: 20px;
}

.markdown-preview h4 {
  font-size: 16px;
}

.markdown-preview h5 {
  font-size: 14px;
}

.markdown-preview h6 {
  font-size: 12px;
}

.markdown-preview p {
  margin-bottom: 10px;
  margin-top: 0;
}

.markdown-preview blockquote {
  margin: 0;
}

/** add for overriding 3ms style **/

.markdown-preview em {
  font-style: italic;
}

.markdown-preview ol li,
.markdown-preview ul li {
  margin-left: 0 !important;
}

.markdown-preview ol,
.markdown-preview ol li {
  list-style-type: decimal;
}

.markdown-preview ul,
.markdown-preview ul li {
  list-style-type: disc;
}

.markdown-preview ul ul,
.markdown-preview ul ul li {
  list-style-type: circle;
}
.markdown-preview ul ul ul,
.markdown-preview ul ul ul li {
  list-style-type: square;
}
.markdown-preview ol li {
  list-style-position: outside !important;
  padding-left: 0 !important;
}
/* end*/

.markdown-preview ol,
.markdown-preview ul {
  margin-bottom: 0;
  margin-top: 0;
  padding-left: 0;
}

.markdown-preview ol ol,
.markdown-preview ul ol {
  list-style-type: lower-roman;
}

.markdown-preview ol ol ol,
.markdown-preview ol ul ol,
.markdown-preview ul ol ol,
.markdown-preview ul ul ol {
  list-style-type: lower-alpha;
}

.markdown-preview dd {
  margin-left: 0;
}

.markdown-preview pre {
  margin-bottom: 0;
  margin-top: 0;
  border: 1px solid #e1e4e8;
}

.markdown-preview input::-webkit-inner-spin-button,
.markdown-preview input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

.markdown-preview .border {
  border: 1px solid #e1e4e8 !important;
}

.markdown-preview .border-0 {
  border: 0 !important;
}

.markdown-preview .border-bottom {
  border-bottom: 1px solid #e1e4e8 !important;
}

.markdown-preview .rounded-1 {
  border-radius: 3px !important;
}

.markdown-preview .bg-white {
  background-color: #fff !important;
}

.markdown-preview .bg-gray-light {
  background-color: #fafbfc !important;
}

.markdown-preview .text-gray-light {
  color: #6a737d !important;
}

.markdown-preview .mb-0 {
  margin-bottom: 0 !important;
}

.markdown-preview .my-2 {
  margin-bottom: 8px !important;
  margin-top: 8px !important;
}

.markdown-preview .pl-0 {
  padding-left: 0 !important;
}

.markdown-preview .py-0 {
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

.markdown-preview .pl-1 {
  padding-left: 4px !important;
}

.markdown-preview .pl-2 {
  padding-left: 8px !important;
}

.markdown-preview .py-2 {
  padding-bottom: 8px !important;
  padding-top: 8px !important;
}

.markdown-preview .pl-3,
.markdown-preview .px-3 {
  padding-left: 16px !important;
}

.markdown-preview .px-3 {
  padding-right: 16px !important;
}

.markdown-preview .pl-4 {
  padding-left: 24px !important;
}

.markdown-preview .pl-5 {
  padding-left: 32px !important;
}

.markdown-preview .pl-6 {
  padding-left: 40px !important;
}

.markdown-preview .f6 {
  font-size: 12px !important;
}

.markdown-preview .lh-condensed {
  line-height: 1.25 !important;
}

.markdown-preview .text-bold {
  font-weight: 600 !important;
}

.markdown-preview:before {
  content: "";
  display: table;
}

.markdown-preview:after {
  clear: both;
  content: "";
  display: table;
}

.markdown-preview > :first-child {
  margin-top: 0 !important;
}

.markdown-preview > :last-child {
  margin-bottom: 0 !important;
}

.markdown-preview a:not([href]) {
  color: inherit;
  text-decoration: none;
}

.markdown-preview blockquote,
.markdown-preview dl,
.markdown-preview ol,
.markdown-preview p,
.markdown-preview pre,
.markdown-preview table::not(.hljs-ln),
.markdown-preview ul {
  margin-bottom: 16px;
  margin-top: 0;
}

.markdown-preview hr {
  background-color: #e1e4e8;
  border: 0;
  height: 1px;
  margin: 24px 0;
  padding: 0;
}

.markdown-preview blockquote {
  border-left: 0.25em solid #dfe2e5;
  color: #6a737d;
  padding: 0 1em;
}

.markdown-preview blockquote > :first-child {
  margin-top: 0;
}

.markdown-preview blockquote > :last-child {
  margin-bottom: 0;
}

.markdown-preview kbd {
  background-color: #fafbfc;
  border: 1px solid #c6cbd1;
  border-bottom-color: #959da5;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 #959da5;
  color: #444d56;
  display: inline-block;
  font-size: 11px;
  line-height: 10px;
  padding: 3px 5px;
  vertical-align: middle;
}

.markdown-preview h1,
.markdown-preview h2,
.markdown-preview h3,
.markdown-preview h4,
.markdown-preview h5,
.markdown-preview h6 {
  font-weight: bold;
  line-height: 1.25;
  margin-bottom: 16px;
  margin-top: 24px;
}

.markdown-preview h1 {
  font-size: 2em;
}

.markdown-preview h1,
.markdown-preview h2 {
  border-bottom: 1px solid #eaecef;
  padding-bottom: 0.3em;
}

.markdown-preview h2 {
  font-size: 1.5em;
}

.markdown-preview h3 {
  font-size: 1.25em;
}

.markdown-preview h4 {
  font-size: 1em;
}

.markdown-preview h5 {
  font-size: 0.875em;
}

.markdown-preview h6 {
  color: #6a737d;
  font-size: 0.85em;
}

.markdown-preview ol,
.markdown-preview ul {
  padding-left: 2em;
}

.markdown-preview ol ol,
.markdown-preview ol ul,
.markdown-preview ul ol,
.markdown-preview ul ul {
  margin-bottom: 0;
  margin-top: 0;
}

.markdown-preview li {
  word-wrap: break-all;
}

.markdown-preview li > p {
  margin-top: 16px;
}

.markdown-preview li + li {
  margin-top: 0.25em;
}

.markdown-preview dl {
  padding: 0;
}

.markdown-preview dl dt {
  font-size: 1em;
  font-style: italic;
  font-weight: bold;
  margin-top: 16px;
  padding: 0;
}

.markdown-preview dl dd {
  margin-bottom: 16px;
  padding: 0 16px;
}

.markdown-preview table:not(.hljs-ln) {
  display: block;
  overflow: auto;
  width: 100%;
}

.markdown-preview table:not(.hljs-ln) th {
  font-weight: bold;
}

.markdown-preview table:not(.hljs-ln) td,
.markdown-preview table:not(.hljs-ln) th {
  border: 1px solid #dfe2e5;
  padding: 6px 13px;
}

.markdown-preview table:not(.hljs-ln) tr {
  background-color: #fff;
  border-top: 1px solid #c6cbd1;
}

.markdown-preview table:not(.hljs-ln) tr:nth-child(2n) {
  background-color: #f6f8fa;
}

.markdown-preview img {
  background-color: #fff;
  box-sizing: content-box;
  max-width: 100%;
}

.markdown-preview img[align="right"] {
  padding-left: 20px;
}

.markdown-preview img[align="left"] {
  padding-right: 20px;
}

.markdown-preview .commit-tease-sha {
  color: #444d56;
  display: inline-block;
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier,
    monospace;
  font-size: 90%;
}

.markdown-preview .blob-wrapper {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  overflow-x: auto;
  overflow-y: hidden;
}

.markdown-preview .blob-wrapper-embedded {
  max-height: 240px;
  overflow-y: auto;
}

.markdown-preview .blob-num {
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  color: rgba(27, 31, 35, 0.3);
  cursor: pointer;
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier,
    monospace;
  font-size: 12px;
  line-height: 20px;
  min-width: 50px;
  padding-left: 10px;
  padding-right: 10px;
  text-align: right;
  user-select: none;
  vertical-align: top;
  white-space: nowrap;
  width: 1%;
}

.markdown-preview .blob-num:hover {
  color: rgba(27, 31, 35, 0.6);
}

.markdown-preview .blob-num:before {
  content: attr(data-line-number);
}

.markdown-preview .blob-code {
  line-height: 20px;
  padding-left: 10px;
  padding-right: 10px;
  position: relative;
  vertical-align: top;
}

.markdown-preview .blob-code-inner {
  color: #24292e;
  font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier,
    monospace;
  font-size: 12px;
  overflow: visible;
  white-space: pre;
  word-wrap: normal;
}

.markdown-preview .pl-token.active,
.markdown-preview .pl-token:hover {
  background: #ffea7f;
  cursor: pointer;
}

.markdown-preview kbd {
  background-color: #fafbfc;
  border: 1px solid #d1d5da;
  border-bottom-color: #c6cbd1;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 #c6cbd1;
  color: #444d56;
  display: inline-block;
  font: 11px SFMono-Regular, Consolas, Liberation Mono, Menlo, Courier,
    monospace;
  line-height: 10px;
  padding: 3px 5px;
  vertical-align: middle;
}

.markdown-preview :checked + .radio-label {
  border-color: #0366d6;
  position: relative;
  z-index: 1;
}

.markdown-preview .tab-size[data-tab-size="1"] {
  -moz-tab-size: 1;
  tab-size: 1;
}

.markdown-preview .tab-size[data-tab-size="2"] {
  -moz-tab-size: 2;
  tab-size: 2;
}

.markdown-preview .tab-size[data-tab-size="3"] {
  -moz-tab-size: 3;
  tab-size: 3;
}

.markdown-preview .tab-size[data-tab-size="4"] {
  -moz-tab-size: 4;
  tab-size: 4;
}

.markdown-preview .tab-size[data-tab-size="5"] {
  -moz-tab-size: 5;
  tab-size: 5;
}

.markdown-preview .tab-size[data-tab-size="6"] {
  -moz-tab-size: 6;
  tab-size: 6;
}

.markdown-preview .tab-size[data-tab-size="7"] {
  -moz-tab-size: 7;
  tab-size: 7;
}

.markdown-preview .tab-size[data-tab-size="8"] {
  -moz-tab-size: 8;
  tab-size: 8;
}

.markdown-preview .tab-size[data-tab-size="9"] {
  -moz-tab-size: 9;
  tab-size: 9;
}

.markdown-preview .tab-size[data-tab-size="10"] {
  -moz-tab-size: 10;
  tab-size: 10;
}

.markdown-preview .tab-size[data-tab-size="11"] {
  -moz-tab-size: 11;
  tab-size: 11;
}

.markdown-preview .tab-size[data-tab-size="12"] {
  -moz-tab-size: 12;
  tab-size: 12;
}

.markdown-preview .task-list-item {
  list-style-type: none;
}

.markdown-preview .task-list-item + .task-list-item {
  margin-top: 3px;
}

.markdown-preview .task-list-item input {
  margin: 0 0.2em 0.25em -1.6em;
  vertical-align: middle;
}

.markdown-preview hr {
  border-bottom-color: #eee;
}

.markdown-preview .pl-0 {
  padding-left: 0 !important;
}

.markdown-preview .pl-1 {
  padding-left: 4px !important;
}

.markdown-preview .pl-2 {
  padding-left: 8px !important;
}

.markdown-preview .pl-3 {
  padding-left: 16px !important;
}

.markdown-preview .pl-4 {
  padding-left: 24px !important;
}

.markdown-preview .pl-5 {
  padding-left: 32px !important;
}

.markdown-preview .pl-6 {
  padding-left: 40px !important;
}

.markdown-preview .pl-7 {
  padding-left: 48px !important;
}

.markdown-preview .pl-8 {
  padding-left: 64px !important;
}

.markdown-preview .pl-9 {
  padding-left: 80px !important;
}

.markdown-preview .pl-10 {
  padding-left: 96px !important;
}

.markdown-preview .pl-11 {
  padding-left: 112px !important;
}

.markdown-preview .pl-12 {
  padding-left: 128px !important;
}
[id^='mermaid-demo-'] .label {
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
  color: #333;
}

[id^='mermaid-demo-'] .label text {
  fill: #333;
}

[id^='mermaid-demo-'] .node rect,
[id^='mermaid-demo-'] .node circle,
[id^='mermaid-demo-'] .node ellipse,
[id^='mermaid-demo-'] .node polygon,
[id^='mermaid-demo-'] .node path {
  fill: #cde498;
  stroke: #13540c;
  stroke-width: 1px;
}

[id^='mermaid-demo-'] .node .label {
  text-align: center;
}

[id^='mermaid-demo-'] .node.clickable {
  cursor: pointer;
}

[id^='mermaid-demo-'] .arrowheadPath {
  fill: green;
}

[id^='mermaid-demo-'] .edgePath .path {
  stroke: green;
  stroke-width: 1.5px;
}

[id^='mermaid-demo-'] .edgeLabel {
  background-color: #e8e8e8;
  text-align: center;
}
[id^='mermaid-demo-'] .edgeLabel rect {
  opacity: 0.5;
}

[id^='mermaid-demo-'] .cluster rect {
  fill: #cdffb2;
  stroke: #6eaa49;
  stroke-width: 1px;
}

[id^='mermaid-demo-'] .cluster text {
  fill: #333;
}

[id^='mermaid-demo-'] div.mermaidTooltip {
  position: absolute;
  text-align: center;
  max-width: 200px;
  padding: 2px;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
  font-size: 12px;
  background: #cdffb2;
  border: 1px solid #6eaa49;
  border-radius: 2px;
  pointer-events: none;
  z-index: 100;
}

[id^='mermaid-demo-'] .actor {
  stroke: #13540c;
  fill: #cde498;
}

[id^='mermaid-demo-'] text.actor {
  fill: black;
  stroke: none;
}

[id^='mermaid-demo-'] .actor-line {
  stroke: grey;
}

[id^='mermaid-demo-'] .messageLine0 {
  stroke-width: 1.5;
  stroke-dasharray: "2 2";
  stroke: #333;
}

[id^='mermaid-demo-'] .messageLine1 {
  stroke-width: 1.5;
  stroke-dasharray: "2 2";
  stroke: #333;
}

[id^='mermaid-demo-'] #arrowhead {
  fill: #333;
}

[id^='mermaid-demo-'] .sequenceNumber {
  fill: white;
}

[id^='mermaid-demo-'] #sequencenumber {
  fill: #333;
}

[id^='mermaid-demo-'] #crosshead path {
  fill: #333 !important;
  stroke: #333 !important;
}

[id^='mermaid-demo-'] .messageText {
  fill: #333;
  stroke: none;
}

[id^='mermaid-demo-'] .labelBox {
  stroke: #326932;
  fill: #cde498;
}

[id^='mermaid-demo-'] .labelText {
  fill: black;
  stroke: none;
}

[id^='mermaid-demo-'] .loopText {
  fill: black;
  stroke: none;
}

[id^='mermaid-demo-'] .loopLine {
  stroke-width: 2;
  stroke-dasharray: "2 2";
  stroke: #326932;
}

[id^='mermaid-demo-'] .note {
  stroke: #6eaa49;
  fill: #fff5ad;
}

[id^='mermaid-demo-'] .noteText {
  fill: black;
  stroke: none;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
  font-size: 14px;
}

[id^='mermaid-demo-'] .activation0 {
  fill: #f4f4f4;
  stroke: #666;
}

[id^='mermaid-demo-'] .activation1 {
  fill: #f4f4f4;
  stroke: #666;
}

[id^='mermaid-demo-'] .activation2 {
  fill: #f4f4f4;
  stroke: #666;
}

[id^='mermaid-demo-'] .mermaid-main-font {
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] .section {
  stroke: none;
  opacity: 0.2;
}

[id^='mermaid-demo-'] .section0 {
  fill: #6eaa49;
}

[id^='mermaid-demo-'] .section2 {
  fill: #6eaa49;
}

[id^='mermaid-demo-'] .section1,
[id^='mermaid-demo-'] .section3 {
  fill: white;
  opacity: 0.2;
}

[id^='mermaid-demo-'] .sectionTitle0 {
  fill: #333;
}

[id^='mermaid-demo-'] .sectionTitle1 {
  fill: #333;
}

[id^='mermaid-demo-'] .sectionTitle2 {
  fill: #333;
}

[id^='mermaid-demo-'] .sectionTitle3 {
  fill: #333;
}

[id^='mermaid-demo-'] .sectionTitle {
  text-anchor: start;
  font-size: 11px;
  text-height: 14px;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] .grid .tick {
  stroke: lightgrey;
  opacity: 0.8;
  shape-rendering: crispEdges;
}
[id^='mermaid-demo-'] .grid .tick text {
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] .grid path {
  stroke-width: 0;
}

[id^='mermaid-demo-'] .today {
  fill: none;
  stroke: red;
  stroke-width: 2px;
}

[id^='mermaid-demo-'] .task {
  stroke-width: 2;
}

[id^='mermaid-demo-'] .taskText {
  text-anchor: middle;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] .taskText:not([font-size]) {
  font-size: 11px;
}

[id^='mermaid-demo-'] .taskTextOutsideRight {
  fill: black;
  text-anchor: start;
  font-size: 11px;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] .taskTextOutsideLeft {
  fill: black;
  text-anchor: end;
  font-size: 11px;
}

[id^='mermaid-demo-'] .task.clickable {
  cursor: pointer;
}

[id^='mermaid-demo-'] .taskText.clickable {
  cursor: pointer;
  fill: #003163 !important;
  font-weight: bold;
}

[id^='mermaid-demo-'] .taskTextOutsideLeft.clickable {
  cursor: pointer;
  fill: #003163 !important;
  font-weight: bold;
}

[id^='mermaid-demo-'] .taskTextOutsideRight.clickable {
  cursor: pointer;
  fill: #003163 !important;
  font-weight: bold;
}

[id^='mermaid-demo-'] .taskText0,
[id^='mermaid-demo-'] .taskText1,
[id^='mermaid-demo-'] .taskText2,
[id^='mermaid-demo-'] .taskText3 {
  fill: white;
}

[id^='mermaid-demo-'] .task0,
[id^='mermaid-demo-'] .task1,
[id^='mermaid-demo-'] .task2,
[id^='mermaid-demo-'] .task3 {
  fill: #487e3a;
  stroke: #13540c;
}

[id^='mermaid-demo-'] .taskTextOutside0,
[id^='mermaid-demo-'] .taskTextOutside2 {
  fill: black;
}

[id^='mermaid-demo-'] .taskTextOutside1,
[id^='mermaid-demo-'] .taskTextOutside3 {
  fill: black;
}

[id^='mermaid-demo-'] .active0,
[id^='mermaid-demo-'] .active1,
[id^='mermaid-demo-'] .active2,
[id^='mermaid-demo-'] .active3 {
  fill: #cde498;
  stroke: #13540c;
}

[id^='mermaid-demo-'] .activeText0,
[id^='mermaid-demo-'] .activeText1,
[id^='mermaid-demo-'] .activeText2,
[id^='mermaid-demo-'] .activeText3 {
  fill: black !important;
}

[id^='mermaid-demo-'] .done0,
[id^='mermaid-demo-'] .done1,
[id^='mermaid-demo-'] .done2,
[id^='mermaid-demo-'] .done3 {
  stroke: grey;
  fill: lightgrey;
  stroke-width: 2;
}

[id^='mermaid-demo-'] .doneText0,
[id^='mermaid-demo-'] .doneText1,
[id^='mermaid-demo-'] .doneText2,
[id^='mermaid-demo-'] .doneText3 {
  fill: black !important;
}

[id^='mermaid-demo-'] .crit0,
[id^='mermaid-demo-'] .crit1,
[id^='mermaid-demo-'] .crit2,
[id^='mermaid-demo-'] .crit3 {
  stroke: #ff8888;
  fill: red;
  stroke-width: 2;
}

[id^='mermaid-demo-'] .activeCrit0,
[id^='mermaid-demo-'] .activeCrit1,
[id^='mermaid-demo-'] .activeCrit2,
[id^='mermaid-demo-'] .activeCrit3 {
  stroke: #ff8888;
  fill: #cde498;
  stroke-width: 2;
}

[id^='mermaid-demo-'] .doneCrit0,
[id^='mermaid-demo-'] .doneCrit1,
[id^='mermaid-demo-'] .doneCrit2,
[id^='mermaid-demo-'] .doneCrit3 {
  stroke: #ff8888;
  fill: lightgrey;
  stroke-width: 2;
  cursor: pointer;
  shape-rendering: crispEdges;
}

[id^='mermaid-demo-'] .milestone {
  transform: rotate(45deg) scale(0.8, 0.8);
}

[id^='mermaid-demo-'] .milestoneText {
  font-style: italic;
}

[id^='mermaid-demo-'] .doneCritText0,
[id^='mermaid-demo-'] .doneCritText1,
[id^='mermaid-demo-'] .doneCritText2,
[id^='mermaid-demo-'] .doneCritText3 {
  fill: black !important;
}

[id^='mermaid-demo-'] .activeCritText0,
[id^='mermaid-demo-'] .activeCritText1,
[id^='mermaid-demo-'] .activeCritText2,
[id^='mermaid-demo-'] .activeCritText3 {
  fill: black !important;
}

[id^='mermaid-demo-'] .titleText {
  text-anchor: middle;
  font-size: 18px;
  fill: black;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] g.classGroup text {
  fill: #13540c;
  stroke: none;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
  font-size: 10px;
}
[id^='mermaid-demo-'] g.classGroup text .title {
  font-weight: bolder;
}

[id^='mermaid-demo-'] g.clickable {
  cursor: pointer;
}

[id^='mermaid-demo-'] g.classGroup rect {
  fill: #cde498;
  stroke: #13540c;
}

[id^='mermaid-demo-'] g.classGroup line {
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] .classLabel .box {
  stroke: none;
  stroke-width: 0;
  fill: #cde498;
  opacity: 0.5;
}

[id^='mermaid-demo-'] .classLabel .label {
  fill: #13540c;
  font-size: 10px;
}

[id^='mermaid-demo-'] .relation {
  stroke: #13540c;
  stroke-width: 1;
  fill: none;
}

[id^='mermaid-demo-'] .dashed-line {
  stroke-dasharray: 3;
}

[id^='mermaid-demo-'] #compositionStart {
  fill: #13540c;
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] #compositionEnd {
  fill: #13540c;
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] #aggregationStart {
  fill: #cde498;
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] #aggregationEnd {
  fill: #cde498;
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] #dependencyStart {
  fill: #13540c;
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] #dependencyEnd {
  fill: #13540c;
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] #extensionStart {
  fill: #13540c;
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] #extensionEnd {
  fill: #13540c;
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] .commit-id,
[id^='mermaid-demo-'] .commit-msg,
[id^='mermaid-demo-'] .branch-label {
  fill: lightgrey;
  color: lightgrey;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] .pieTitleText {
  text-anchor: middle;
  font-size: 25px;
  fill: black;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] .slice {
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] g.stateGroup text {
  fill: #13540c;
  stroke: none;
  font-size: 10px;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] g.stateGroup text {
  fill: #13540c;
  stroke: none;
  font-size: 10px;
}

[id^='mermaid-demo-'] g.stateGroup .state-title {
  font-weight: bolder;
  fill: black;
}

[id^='mermaid-demo-'] g.stateGroup rect {
  fill: #cde498;
  stroke: #13540c;
}

[id^='mermaid-demo-'] g.stateGroup line {
  stroke: #13540c;
  stroke-width: 1;
}

[id^='mermaid-demo-'] .transition {
  stroke: #13540c;
  stroke-width: 1;
  fill: none;
}

[id^='mermaid-demo-'] .stateGroup .composit {
  fill: white;
  border-bottom: 1px;
}

[id^='mermaid-demo-'] .stateGroup .alt-composit {
  fill: #e0e0e0;
  border-bottom: 1px;
}

[id^='mermaid-demo-'] .state-note {
  stroke: #6eaa49;
  fill: #fff5ad;
}
[id^='mermaid-demo-'] .state-note text {
  fill: black;
  stroke: none;
  font-size: 10px;
}

[id^='mermaid-demo-'] .stateLabel .box {
  stroke: none;
  stroke-width: 0;
  fill: #cde498;
  opacity: 0.5;
}

[id^='mermaid-demo-'] .stateLabel text {
  fill: black;
  font-size: 10px;
  font-weight: bold;
  font-family: "trebuchet ms", verdana, arial;
  font-family: var(--mermaid-font-family);
}

[id^='mermaid-demo-'] .node circle.state-start {
  fill: black;
  stroke: black;
}

[id^='mermaid-demo-'] .node circle.state-end {
  fill: black;
  stroke: white;
  stroke-width: 1.5;
}

[id^='mermaid-demo-'] #statediagram-barbEnd {
  fill: #13540c;
}

[id^='mermaid-demo-'] .statediagram-cluster rect {
  fill: #cde498;
  stroke: #13540c;
  stroke-width: 1px;
}

[id^='mermaid-demo-'] .statediagram-cluster rect.outer {
  rx: 5px;
  ry: 5px;
}

[id^='mermaid-demo-'] .statediagram-state .divider {
  stroke: #13540c;
}

[id^='mermaid-demo-'] .statediagram-state .title-state {
  rx: 5px;
  ry: 5px;
}

[id^='mermaid-demo-'] .statediagram-cluster.statediagram-cluster .inner {
  fill: white;
}

[id^='mermaid-demo-'] .statediagram-cluster.statediagram-cluster-alt .inner {
  fill: #e0e0e0;
}

[id^='mermaid-demo-'] .statediagram-cluster .inner {
  rx: 0;
  ry: 0;
}

[id^='mermaid-demo-'] .statediagram-state rect.basic {
  rx: 5px;
  ry: 5px;
}

[id^='mermaid-demo-'] .statediagram-state rect.divider {
  stroke-dasharray: 10, 10;
  fill: #efefef;
}

[id^='mermaid-demo-'] .note-edge {
  stroke-dasharray: 5;
}

[id^='mermaid-demo-'] .statediagram-note rect {
  fill: #fff5ad;
  stroke: #6eaa49;
  stroke-width: 1px;
  rx: 0;
  ry: 0;
}

:root {
  --mermaid-font-family: '"trebuchet ms", verdana, arial';
  --mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive;
}

:root {
  --mermaid-font-family: "trebuchet ms", verdana, arial;
}

[id^='mermaid-demo-'] {
  color: rgb(38, 38, 38);
}
/* stylelint-disable font-family-no-missing-generic-family-keyword */
@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: normal 1.21em KaTeX_Main, Times New Roman, serif;
  line-height: 1.2;
  text-indent: 0;
  text-rendering: auto;
  border-color: currentColor;
}
.katex * {
  -ms-high-contrast-adjust: none !important;
}
.katex .katex-version::after {
  content: "0.12.0";
}
.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 is an empty block at top level, between .base elements */
}
.katex .katex-html > .newline {
  display: block;
}
.katex .base {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  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: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: column;
  flex-direction: column;
  align-items: baseline;
}
.katex .hbox {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-direction: row;
  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;
}
.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 .x-arrow,
.katex .mover,
.katex .munder {
  text-align: center;
}
.katex .boxpad {
  padding: 0 0.3em 0 0.3em;
}
.katex .fbox,
.katex .fcolorbox {
  box-sizing: border-box;
  border: 0.04em solid;
}
.katex .cancel-pad {
  padding: 0 0.2em 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-display {
  display: block;
  margin: 1em 0;
  text-align: center;
}
.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;
}

