diff --git a/index.css b/index.css index 077daf8..7af027a 100644 --- a/index.css +++ b/index.css @@ -1 +1 @@ -.markdown-body{--base-size-4: .25rem;--base-size-8: .5rem;--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-40: 2.5rem;--base-text-weight-normal: 400;--base-text-weight-medium: 500;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent: Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--focus-outlineColor: #1f6feb;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;--fgColor-success: #3fb950;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-done: #ab7df8;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--bgColor-attention-muted: #bb800926;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--borderColor-accent-emphasis: #1f6feb;--borderColor-success-emphasis: #238636;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-done-emphasis: #8957e5;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=light]{color-scheme:light;--focus-outlineColor: #0969da;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;--fgColor-success: #1a7f37;--fgColor-attention: #9a6700;--fgColor-danger: #d1242f;--fgColor-done: #8250df;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--bgColor-attention-muted: #fff8c5;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--borderColor-accent-emphasis: #0969da;--borderColor-success-emphasis: #1a7f37;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-done-emphasis: #8250df;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #1f2328;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word;scroll-behavior:auto!important}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}@media only print{.terminal,.notification,.commander,.mobile-dock{display:none}.preview{background-color:#fff;color:#000;display:block}.preview>*{display:block}.preview.hidden{display:block}}@property --info{syntax: ""; inherits: false; initial-value: rgba(0,123,255,.85);}@property --success{syntax: ""; inherits: false; initial-value: rgba(0,255,0,.85);}@property --warning{syntax: ""; inherits: false; initial-value: rgba(255,255,0,.85);}@property --error{syntax: ""; inherits: false; initial-value: rgba(255,0,0,.85);}.preview{flex:1;padding:10px;height:100%;overflow-y:auto;margin:auto}.preview img.cover{width:100%;height:100%;object-fit:cover;display:block}.preview p:has(img.cover){height:200px}.preview .task-list{padding:0}.preview .task-list .checked{color:gray;position:relative}.preview .task-list .checked:before{content:"\2714\fe0f"}.preview .task-list .unchecked{position:relative}.preview .task-list .unchecked:before{content:"\25fb\fe0f"}.preview .info{background-color:#007bff26;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #ffffff25,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .info p{margin-bottom:0}.preview .info:before{content:"\2139\fe0f";position:absolute;left:10px;top:calc(50% - 12px);width:25px;height:25px;text-align:center}.preview .warning{background-color:#ffff0026;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #ffffff25,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .warning p{margin-bottom:0}.preview .warning:before{content:"\26a0\fe0f";position:absolute;left:10px;top:calc(50% - 12px)}.preview .error{background-color:#ff000026;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #ffffff25,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .error p{margin-bottom:0}.preview .error:before{content:"\2757";position:absolute;left:12px;top:calc(50% - 12px)}.preview .success{background-color:#00ff0026;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #ffffff25,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .success p{margin-bottom:0}.preview .success:before{content:"\2747\fe0f";position:absolute;left:13px;top:calc(50% - 12px)}html,*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}input{font-size:1rem}body{background:#000;width:100%;height:100vh;margin:0;padding:0;display:flex;flex-flow:row wrap}body>*{flex:1 100%}main{display:flex;flex:4 0px;order:1;background-color:#24292e;height:100vh;max-width:100%;position:relative}aside{display:flex;flex:1;order:2}@media only screen and (max-width: 600px){aside{position:fixed;height:calc(100vh - 60px);background:#fff;bottom:0;z-index:1;right:0}}footer{display:flex;order:3;z-index:1}.header{z-index:10;top:0;width:100%;height:60px;max-width:calc(100% - 20px);position:fixed;background-color:#111518;display:flex;align-items:center;color:#fff;padding:0 10px;justify-content:space-between}.header .title{height:100%;display:flex;flex-direction:column;white-space:nowrap;overflow:hidden}.header .title h3{margin:0;font-weight:400}.header .title .version{font-size:.6em;position:absolute;margin-left:3px;font-weight:300}.header div.brand{flex-grow:1;overflow:hidden}.header>div{display:flex;align-items:center}.header .logo{color:#00ec00;width:30px;height:30px;line-height:30px;text-align:center;background:#000;border-radius:10px;margin:10px;align-items:center;justify-content:center;display:block;position:relative;transition:transform .2s ease-in-out;cursor:pointer}.logo.loading #circle-loader{display:block}.logo.loading svg{width:20px;height:20px}.header .logo.loading{width:20px;height:20px;line-height:20px;margin:0 15px}#circle-loader{display:none;position:absolute;top:50%;left:50%;height:20px;width:20px;margin:-15px 0 0 -15px;border:5px rgba(0,0,0,.95) solid;border-top:5px #189038 solid;border-radius:50%;-webkit-animation:spin2 1s infinite linear;animation:spin2 .8s infinite linear}@-webkit-keyframes spin2{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin2{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}header .anchor{fill:#00ec00;display:flex;justify-content:center;cursor:pointer;opacity:.5;padding-right:10px}header .anchor.hidden{display:none}header .anchor:hover{opacity:1}header .logo.unsaved:after{width:7px;height:7px;background-color:red;border-radius:50%;content:"";top:-2px;right:-2px;position:absolute}header .logo:hover{transform:scale(1.2)}header .logo:active{transform:scale(.9)}.clickable{cursor:pointer}.markdown-body{box-sizing:border-box;max-width:800px;margin:0 auto;padding:45px}.preview.markdown-body{margin:auto;padding-top:60px;padding-bottom:60px}@media (max-width: 767px){.markdown-body{padding:15px}}.terminal{flex:1;font-family:monospace;margin:0;width:100%;height:auto;background:#000;color:#34bd4f;font-size:25px;padding:60px 10px 10px;outline-color:red;resize:none;border:none}.notification{position:fixed;right:5px;min-width:30%;max-width:80%;background:#000;color:#fff;text-align:center;padding:10px;margin:auto;border-radius:4px;border:2px solid rgba(255,255,255,.25);top:-100%;transition:all .25s cubic-bezier(1,0,.7,1);cursor:pointer;z-index:10}.notification.info{border:1px solid var(--info);background:var(--info);top:5px;transition:all .5s linear}.notification.success{border:1px solid var(--success);background:var(--success);top:5px;transition:all .5s linear}.notification.error{border:1px solid var(--error);background:var(--error);top:5px;transition:all .5s linear}.notification.warning{border:1px solid var(--warning);background:var(--warning);top:5px;transition:all .5s linear}::-webkit-scrollbar{width:2px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:gray}::-webkit-scrollbar-thumb:hover{background:#ff0}.commander{top:0;position:absolute;z-index:10;display:flex;justify-content:center;width:100%;max-width:600px;min-width:250px;margin:0 auto;left:0;right:0;border-radius:12px;outline:none;overflow:hidden;box-shadow:0 0 0 1px #ffffff25,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f}@media only screen and (min-width: 600px){.commander{top:20%;max-height:60vh}}.commander .palette{width:100%;justify-content:center;padding:12px;display:flex;flex-direction:column;max-height:100vh;border-radius:5px}.commander .palette>div{display:flex;min-height:40px}.commander .palette ul{color:#fff;list-style:none;padding:0;margin:8px 0;overflow-y:auto}.commander .palette ul li{display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center;opacity:.5;padding:0 2px 0 10px;cursor:pointer}.commander .palette ul li.selected{background-color:#ffffff40;opacity:1;border-left:2px solid red;padding-left:8px;font-size:1.15em}.commander .palette ul li:hover img{width:35px}.commander .palette ul li.selected img{width:40px}.commander .palette ul li:hover{opacity:1;border-left:2px solid red;padding-left:8px}.commander .palette input{background-color:#424242;color:#fff;padding:5px;border:none;border-radius:4px;flex-grow:1}.commander .palette input:focus-visible{outline:0}.commander .palette button{border:none;background:transparent;color:#ffffffbf;font-size:medium;padding:0 1em;cursor:pointer}.commander .palette button:focus,.commander .palette button:hover{color:#fff}.commander .palette ul li a{color:#fff;text-decoration:none;flex-grow:1;padding:10px 0}.commander .palette ul li>div{padding:10px 0;cursor:pointer;flex-grow:1}.secondary{opacity:.5;align-self:left;font-size:small}.divider{width:1px;height:15px;background:#ffffff40;margin:0 10px}.menu{display:flex;align-items:center;max-height:100%;cursor:pointer}.menu:after{content:"\22ee";font-size:30px;color:#ffffffb3;line-height:1}.menu:hover:after{color:#fff}code{cursor:pointer}pre{position:relative}pre button{position:absolute;top:10px;right:10px}.console{cursor:pointer;color:#fff;background-color:#0e1628;position:fixed;width:100%;height:20vh;padding:20px;box-shadow:2px -4px 10px #0003;bottom:0;transition:all .5s linear;z-index:1}.console.hidden{display:block;transition:all .25s cubic-bezier(1,0,.7,1);bottom:-100%}.mobile-dock{display:none;padding:1.5px 0}.mobile-dock button{color:#fff;display:flex;flex-direction:column;font-size:.75em;align-items:center;opacity:.75;position:relative;padding:2.5px}.mobile-dock button:hover{opacity:1}.mobile-dock button:disabled,.mobile-dock button[disabled]{opacity:.3;cursor:auto}.mobile-dock button.unsaved:after{width:7px;height:7px;background-color:red;border-radius:50%;content:"";top:0;right:0;position:absolute}.frost{background:#111518d9;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}@media only screen and (max-width: 600px){.mobile-dock{position:fixed;bottom:0;width:100%;display:flex;justify-content:space-evenly;border-top:1px solid grey;z-index:1}.mobile-dock button{background:transparent;border:none;cursor:pointer}.mobile-dock button img{width:25px}}.rotate90{transform:rotate(90deg)}.suggestion{position:absolute;color:#00ec00;font-style:italic;z-index:10;font-family:monospace;font-size:20px;cursor:pointer}#inlineSuggestion{opacity:.4}.switch{position:relative;display:inline-block;width:50px;height:25px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:3.5px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#00ec00}input:focus+.slider{box-shadow:0 0 1px #00ec00}input:checked+.slider:before{-webkit-transform:translateX(25px);-ms-transform:translateX(25px);transform:translate(25px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.icon-button{background:transparent;border:none;color:#fff;cursor:pointer;width:auto;height:auto;padding:0;margin:0;display:flex;opacity:.75}.icon-button:hover{opacity:1}.icon-button svg{fill:currentColor}.note-info{display:block;flex:1;order:2;position:fixed;width:20%;min-width:200px;height:100%;box-shadow:0 10px 20px #ffffff30,0 6px 6px #ffffff3b;color:#fff;right:0;padding:0 25px;z-index:10}.note-info-header{display:flex;flex-direction:row;align-items:center;height:50px;width:100%;justify-content:space-between}.note-info .details label{opacity:.8;font-size:.8em}.note-info .details p{display:flex;align-items:center;justify-content:space-between;border-top:.5px solid chartreuse;padding:7.5px 0;margin:0}.note-info .details p button{width:100%;display:flex;background:#dc143c;color:#fff;font-size:15px;font-weight:200;border:1px solid white;border-radius:5px;padding:5px;justify-content:center;align-items:center;cursor:pointer}.hidden{display:none}editable-list{width:100%;padding:0 1.5em}ul.options{line-height:1.5;color:#fff;list-style:none;padding:2.5px;margin:0;overflow-y:auto;border-radius:5px}ul.options li{color:#fff;list-style:none;line-height:1.5;-webkit-text-size-adjust:100%;display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center;padding:0 8px;cursor:pointer;font-size:smaller}ul.options li div{opacity:.25}ul.options li.selected div,ul.options li div:hover,ul.options li .secondary:hover{opacity:1}ul.options li.selected{opacity:1;border-left:2px solid red} +.markdown-body{--base-size-4: .25rem;--base-size-8: .5rem;--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-40: 2.5rem;--base-text-weight-normal: 400;--base-text-weight-medium: 500;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fgColor-accent: Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--focus-outlineColor: #1f6feb;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;--fgColor-success: #3fb950;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-done: #ab7df8;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--bgColor-attention-muted: #bb800926;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--borderColor-accent-emphasis: #1f6feb;--borderColor-success-emphasis: #238636;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-done-emphasis: #8957e5;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-variable: #ffa657;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-invalid-illegal-text: #f0f6fc;--color-prettylights-syntax-invalid-illegal-bg: #8e1519;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=light]{color-scheme:light;--focus-outlineColor: #0969da;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;--fgColor-success: #1a7f37;--fgColor-attention: #9a6700;--fgColor-danger: #d1242f;--fgColor-done: #8250df;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--bgColor-attention-muted: #fff8c5;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--borderColor-accent-emphasis: #0969da;--borderColor-success-emphasis: #1a7f37;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-done-emphasis: #8250df;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #1f2328;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-invalid-illegal-text: #f6f8fa;--color-prettylights-syntax-invalid-illegal-bg: #82071e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.5;word-wrap:break-word;scroll-behavior:auto!important}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,");mask-image:url("data:image/svg+xml,")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:transparent;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:transparent;border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px transparent}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:transparent}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:auto;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip:auto}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}@media only print{.terminal,.notification,.commander,.mobile-dock{display:none}.preview{background-color:#fff;color:#000;display:block}.preview>*{display:block}.preview.hidden{display:block}}@property --info{syntax: ""; inherits: false; initial-value: rgba(0,123,255,.85);}@property --success{syntax: ""; inherits: false; initial-value: rgba(0,255,0,.85);}@property --warning{syntax: ""; inherits: false; initial-value: rgba(255,255,0,.85);}@property --error{syntax: ""; inherits: false; initial-value: rgba(255,0,0,.85);}.preview{flex:1;padding:10px;height:100%;overflow-y:auto;margin:auto}.preview img.cover{width:100%;height:100%;object-fit:cover;display:block}.preview p:has(img.cover){height:200px}.preview .task-list{padding:0}.preview .task-list .checked{color:gray;position:relative}.preview .task-list .checked:before{content:"\2714\fe0f"}.preview .task-list .unchecked{position:relative}.preview .task-list .unchecked:before{content:"\25fb\fe0f"}.preview .info{background-color:#007bff26;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #007bff80,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .info p{margin-bottom:0}.preview .info:before{content:"\2139\fe0f";position:absolute;left:10px;top:calc(50% - 12px);width:25px;height:25px;text-align:center}.preview .warning{background-color:#ffff0026;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #ffff0080,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .warning p{margin-bottom:0}.preview .warning:before{content:"\26a0\fe0f";position:absolute;left:10px;top:calc(50% - 12px)}.preview .error{background-color:#ff000026;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #ff000080,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .error p{margin-bottom:0}.preview .error:before{content:"\2757";position:absolute;left:12px;top:calc(50% - 12px)}.preview .success{background-color:#00ff0026;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #00ff0080,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .success p{margin-bottom:0}.preview .success:before{content:"\2728";position:absolute;left:13px;top:calc(50% - 12px)}.preview .highlight{color:#fdba74;background-color:#fdba7426;padding:1rem 1rem 1rem 3rem;box-shadow:0 0 0 1px #fdba74a6,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f;margin-bottom:2rem;border-radius:5px;position:relative}.preview .highlight p{margin-bottom:0}.preview .highlight:before{content:"\1f4a1";position:absolute;left:13px;top:calc(50% - 12px)}html,*{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}input{font-size:1rem}body{background:#000;width:100%;height:100vh;margin:0;padding:0;display:flex;flex-flow:row wrap}body>*{flex:1 100%}main{display:flex;flex:4 0px;order:1;background-color:#24292e;height:100vh;max-width:100%;position:relative}aside{display:flex;flex:1;order:2}@media only screen and (max-width: 600px){aside{position:fixed;height:calc(100vh - 60px);background:#fff;bottom:0;z-index:1;right:0}}footer{display:flex;order:3;z-index:1}.header{z-index:10;top:0;width:100%;height:60px;max-width:calc(100% - 20px);position:fixed;background-color:#111518;display:flex;align-items:center;color:#fff;padding:0 10px;justify-content:space-between}.header .title{height:100%;display:flex;flex-direction:column;white-space:nowrap;overflow:hidden}.header .title h3{margin:0;font-weight:400}.header .title .version{font-size:.6em;position:absolute;margin-left:3px;font-weight:300}.header div.brand{flex-grow:1;overflow:hidden}.header>div{display:flex;align-items:center}.header .logo{color:#00ec00;width:30px;height:30px;line-height:30px;text-align:center;background:#000;border-radius:10px;margin:10px;align-items:center;justify-content:center;display:block;position:relative;transition:transform .2s ease-in-out;cursor:pointer}.logo.loading #circle-loader{display:block}.logo.loading svg{width:20px;height:20px}.header .logo.loading{width:20px;height:20px;line-height:20px;margin:0 15px}#circle-loader{display:none;position:absolute;top:50%;left:50%;height:20px;width:20px;margin:-15px 0 0 -15px;border:5px rgba(0,0,0,.95) solid;border-top:5px #189038 solid;border-radius:50%;-webkit-animation:spin2 1s infinite linear;animation:spin2 .8s infinite linear}@-webkit-keyframes spin2{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes spin2{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}header .anchor{fill:#00ec00;display:flex;justify-content:center;cursor:pointer;opacity:.5;padding-right:10px}header .anchor.hidden{display:none}header .anchor:hover{opacity:1}header .logo.unsaved:after{width:7px;height:7px;background-color:red;border-radius:50%;content:"";top:-2px;right:-2px;position:absolute}header .logo:hover{transform:scale(1.2)}header .logo:active{transform:scale(.9)}.clickable{cursor:pointer}.markdown-body{box-sizing:border-box;max-width:800px;margin:0 auto;padding:45px}.preview.markdown-body{margin:auto;padding-top:60px;padding-bottom:60px}@media (max-width: 767px){.markdown-body{padding:15px}}.terminal{flex:1;font-family:monospace;margin:0;width:100%;height:auto;background:#000;color:#34bd4f;font-size:25px;padding:60px 10px 10px;outline-color:red;resize:none;border:none}.notification{position:fixed;right:5px;min-width:30%;max-width:80%;background:#000;color:#fff;text-align:center;padding:10px;margin:auto;border-radius:4px;border:2px solid rgba(255,255,255,.25);top:-100%;transition:all .25s cubic-bezier(1,0,.7,1);cursor:pointer;z-index:10}.notification.info{border:1px solid var(--info);background:var(--info);top:5px;transition:all .5s linear}.notification.success{border:1px solid var(--success);background:var(--success);top:5px;transition:all .5s linear}.notification.error{border:1px solid var(--error);background:var(--error);top:5px;transition:all .5s linear}.notification.warning{border:1px solid var(--warning);background:var(--warning);top:5px;transition:all .5s linear}::-webkit-scrollbar{width:2px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:gray}::-webkit-scrollbar-thumb:hover{background:#ff0}.commander{top:0;position:absolute;z-index:10;display:flex;justify-content:center;width:100%;max-width:600px;min-width:250px;margin:0 auto;left:0;right:0;border-radius:12px;outline:none;overflow:hidden;box-shadow:0 0 0 1px #ffffff25,0 1px 1px #00000005,0 8px 16px -4px #0000000a,0 24px 32px -8px #0000000f}@media only screen and (min-width: 600px){.commander{top:20%;max-height:60vh}}.commander .palette{width:100%;justify-content:center;padding:12px;display:flex;flex-direction:column;max-height:100vh;border-radius:5px}.commander .palette>div{display:flex;min-height:40px}.commander .palette ul{color:#fff;list-style:none;padding:0;margin:8px 0;overflow-y:auto}.commander .palette ul li{display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center;opacity:.5;padding:0 2px 0 10px;cursor:pointer}.commander .palette ul li.selected{background-color:#ffffff40;opacity:1;border-left:2px solid red;padding-left:8px;font-size:1.15em}.commander .palette ul li:hover img{width:35px}.commander .palette ul li.selected img{width:40px}.commander .palette ul li:hover{opacity:1;border-left:2px solid red;padding-left:8px}.commander .palette input{background-color:#424242;color:#fff;padding:5px;border:none;border-radius:4px;flex-grow:1}.commander .palette input:focus-visible{outline:0}.commander .palette button{border:none;background:transparent;color:#ffffffbf;font-size:medium;padding:0 1em;cursor:pointer}.commander .palette button:focus,.commander .palette button:hover{color:#fff}.commander .palette ul li a{color:#fff;text-decoration:none;flex-grow:1;padding:10px 0}.commander .palette ul li>div{padding:10px 0;cursor:pointer;flex-grow:1}.secondary{opacity:.5;align-self:left;font-size:small}.divider{width:1px;height:15px;background:#ffffff40;margin:0 10px}.menu{display:flex;align-items:center;max-height:100%;cursor:pointer}.menu:after{content:"\22ee";font-size:30px;color:#ffffffb3;line-height:1}.menu:hover:after{color:#fff}code{cursor:pointer}pre{position:relative}pre button{position:absolute;top:10px;right:10px}.console{cursor:pointer;color:#fff;background-color:#0e1628;position:fixed;width:100%;height:20vh;padding:20px;box-shadow:2px -4px 10px #0003;bottom:0;transition:all .5s linear;z-index:1}.console.hidden{display:block;transition:all .25s cubic-bezier(1,0,.7,1);bottom:-100%}.mobile-dock{display:none;padding:1.5px 0}.mobile-dock button{color:#fff;display:flex;flex-direction:column;font-size:.75em;align-items:center;opacity:.75;position:relative;padding:2.5px}.mobile-dock button:hover{opacity:1}.mobile-dock button:disabled,.mobile-dock button[disabled]{opacity:.3;cursor:auto}.mobile-dock button.unsaved:after{width:7px;height:7px;background-color:red;border-radius:50%;content:"";top:0;right:0;position:absolute}.frost{background:#111518d9;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}@media only screen and (max-width: 600px){.mobile-dock{position:fixed;bottom:0;width:100%;display:flex;justify-content:space-evenly;border-top:1px solid grey;z-index:1}.mobile-dock button{background:transparent;border:none;cursor:pointer}.mobile-dock button img{width:25px}}.rotate90{transform:rotate(90deg)}.suggestion{position:absolute;color:#00ec00;font-style:italic;z-index:10;font-family:monospace;font-size:20px;cursor:pointer}#inlineSuggestion{opacity:.4}.switch{position:relative;display:inline-block;width:50px;height:25px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;-webkit-transition:.4s;transition:.4s}.slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;bottom:3.5px;background-color:#fff;-webkit-transition:.4s;transition:.4s}input:checked+.slider{background-color:#00ec00}input:focus+.slider{box-shadow:0 0 1px #00ec00}input:checked+.slider:before{-webkit-transform:translateX(25px);-ms-transform:translateX(25px);transform:translate(25px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.icon-button{background:transparent;border:none;color:#fff;cursor:pointer;width:auto;height:auto;padding:0;margin:0;display:flex;opacity:.75}.icon-button:hover{opacity:1}.icon-button svg{fill:currentColor}.note-info{display:block;flex:1;order:2;position:fixed;width:20%;min-width:200px;height:100%;box-shadow:0 10px 20px #ffffff30,0 6px 6px #ffffff3b;color:#fff;right:0;padding:0 25px;z-index:10}.note-info-header{display:flex;flex-direction:row;align-items:center;height:50px;width:100%;justify-content:space-between}.note-info .details label{opacity:.8;font-size:.8em}.note-info .details p{display:flex;align-items:center;justify-content:space-between;border-top:.5px solid chartreuse;padding:7.5px 0;margin:0}.note-info .details p button{width:100%;display:flex;background:#dc143c;color:#fff;font-size:15px;font-weight:200;border:1px solid white;border-radius:5px;padding:5px;justify-content:center;align-items:center;cursor:pointer}.hidden{display:none}editable-list{width:100%;padding:0 1.5em}ul.options{line-height:1.5;color:#fff;list-style:none;padding:2.5px;margin:0;overflow-y:auto;border-radius:5px}ul.options li{color:#fff;list-style:none;line-height:1.5;-webkit-text-size-adjust:100%;display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center;padding:0 8px;cursor:pointer;font-size:smaller}ul.options li div{opacity:.25}ul.options li.selected div,ul.options li div:hover,ul.options li .secondary:hover{opacity:1}ul.options li.selected{opacity:1;border-left:2px solid red} diff --git a/index.js b/index.js index 7fcd796..0ff9f04 100644 --- a/index.js +++ b/index.js @@ -38,7 +38,7 @@ import{a as hr}from"./chunk-O6K42FSI.js";import{a as Fn}from"./chunk-SFY74CKZ.js

& Ctrl+P: to format a JSON doc

`,100),localStorage.setItem("miropad.user",new Date().toLocaleDateString())},jn=sa;var aa={set:function(e,t){return localStorage.setItem(e,t),this},update:function(e,t){let r=JSON.parse(this.get(e));return localStorage.setItem(e,JSON.stringify({...r,...t})),this},remove:function(e){return localStorage.removeItem(e),this},get:function(e){return Pt(e)?e.reduce((t,r)=>({...t,[r]:this.get(r)}),{}):localStorage.getItem(e)},parse:function(e){let t=this.get(e);return JSON.parse(t)},getDictionary:function(){let e=localStorage.getItem("__dictionary__");return e?JSON.parse(e):[]},removeFromDictionary:function(e){let r=this.getDictionary().filter(n=>n!==e);localStorage.setItem("__dictionary__",JSON.stringify(r))},saveToDictionary:async function(e){if(e.length)try{let t=e.toLowerCase().replace(/[^a-zA-Zά-ώΑ-Ω]/g," "),r=await this.getDictionary(),n=[...t.split(" ").filter(i=>i.length>3),...r],o=[...new Set(n)];localStorage.setItem("__dictionary__",JSON.stringify(o))}catch(t){E.error(`\u{1F631} Something went wrong while trying to save to local storage ${t}`)}else E.warning("\u{1F615} Nothing to save!");return this}},I=aa;var dt={github:{client_id:"70c1955dfe4914c52c10",request_state:"miro-pad"},auth_service:"https://vercel-api-phi.vercel.app/api/auth",mail_service:{api:"https://vercel-api-phi.vercel.app/api/mail",signature:`Theo Mironidis
Software Engineer
- https://teomrd.github.io`},file_service:{api:"https://vercel-api-phi.vercel.app/api/upload"}};var ue=(e,t=I.get("authToken"))=>fetch(`https://api.github.com/gists/${e}`,{headers:{Authorization:`token ${t}`}}).then(r=>{if(!r.ok)throw Error(r.statusText);return r.json()}),Gn=(e=I.get("authToken"))=>fetch("https://api.github.com/gists",{headers:{Authorization:`token ${e}`}}).then(t=>{if(!t.ok)throw Error(t.statusText);return t.json()}),$n=async(e,t=I.get("gistId"),r=I.get("authToken"))=>{let n=await fetch(`https://api.github.com/gists/${t}`,{method:"PATCH",headers:{Authorization:`token ${r}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:{[e]:null},description:"MiroPad Gist",public:!1})});if(!n.ok)throw new Error(n.statusText);let o=await n.json();return E.info(`${e} deleted on Gist!`),o},Rn=(e=lt(),t=I.get("gistId"),r=I.get("authToken"))=>{if(t&&r){let n=e.reduce((o,{id:i,text:s,deleted:c})=>({...o,[i]:c?null:{content:s}}),{});return fetch(`https://api.github.com/gists/${t}`,{method:"PATCH",headers:{Authorization:`token ${r}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:n,description:"MiroPad Gist",public:!1})}).then(o=>{if(!o.ok)throw new Error(o.statusText);return o.json()}).then(o=>(e.map(({id:i,deleted:s})=>{s&&localStorage.removeItem(i)}),o))}},Un=async(e=I.get("authToken"))=>{let r=lt().reduce((i,s)=>({...i,[s.id]:{content:s.text}}),{}),n=await fetch("https://api.github.com/gists",{method:"POST",headers:{Authorization:`token ${e}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:r,description:"MiroPad Gist",public:!1})});if(!n.ok)throw Error(n.statusText);return await n.json()},Vn=(e,t)=>fetch(`${dt.auth_service}?state=${t}&code=${e}`,{headers:{Accept:"application/json","Content-Type":"application/json"}}).then(r=>{if(!r.ok)throw Error(r.statusText);return r.json()}).then(r=>r),qn=async({note:e,token:t=I.get("authToken")})=>{let r=await fetch("https://api.github.com/gists",{method:"POST",headers:{Authorization:`token ${t}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:{[e.id]:{content:e.text}},description:"MiroPad Gist",public:!0})});if(!r.ok)throw Error(r.statusText);return await r.json()};var Xh=new Uint8Array(0);function Wn(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n>>0,k=new Uint8Array($);x!==v;){for(var q=M[x],W=0,_=$-1;(q!==0||W>>0,k[_]=q%c>>>0,q=q/c>>>0;if(q!==0)throw new Error("Non-zero carry");S=W,x++}for(var Z=$-S;Z!==$&&k[Z]===0;)Z++;for(var at=l.repeat(N);Z<$;++Z)at+=e.charAt(k[Z]);return at}function C(M){if(typeof M!="string")throw new TypeError("Expected String");if(M.length===0)return new Uint8Array;var N=0;if(M[N]!==" "){for(var S=0,x=0;M[N]===l;)S++,N++;for(var v=(M.length-N)*d+1>>>0,$=new Uint8Array(v);M[N];){var k=r[M.charCodeAt(N)];if(k===255)return;for(var q=0,W=v-1;(k!==0||q>>0,$[W]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");x=q,N++}if(M[N]!==" "){for(var _=v-x;_!==v&&$[_]===0;)_++;for(var Z=new Uint8Array(S+(v-_)),at=S;_!==v;)Z[at++]=$[_++];return Z}}}function P(M){var N=C(M);if(N)return N;throw new Error(`Non-${t} character`)}return{encode:y,decodeUnsafe:C,decode:P}}var la=ca,da=la,Hn=da;var mr=class{constructor(t,r,n){F(this,"name");F(this,"prefix");F(this,"baseEncode");this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},gr=class{constructor(t,r,n){F(this,"name");F(this,"prefix");F(this,"baseDecode");F(this,"prefixCodePoint");this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Yn(this,t)}},br=class{constructor(t){F(this,"decoders");this.decoders=t}or(t){return Yn(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Yn(e,t){return new br({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var wr=class{constructor(t,r,n,o){F(this,"name");F(this,"prefix");F(this,"baseEncode");F(this,"baseDecode");F(this,"encoder");F(this,"decoder");this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new mr(t,r,n),this.decoder=new gr(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Jn({name:e,prefix:t,encode:r,decode:n}){return new wr(e,t,r,n)}function Ot({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Hn(r,e);return Jn({prefix:t,name:e,encode:n,decode:i=>Lt(o(i))})}function ha(e,t,r,n){let o={};for(let g=0;g=8&&(c-=8,s[d++]=255&l>>c)}if(c>=r||255&l<<8-c)throw new SyntaxError("Unexpected end of data");return s}function ua(e,t,r){let n=t[t.length-1]==="=",o=(1<r;)s-=r,i+=t[o&c>>s];if(s!==0&&(i+=t[o&c<=ga;)t[r++]=e&255|Kn,e/=128;for(;e&ma;)t[r++]=e&255|Kn,e>>>=7;return t[r]=e|0,Qn.bytes=r-n+1,t}var ba=yr,wa=128,Xn=127;function yr(e,n){var r=0,n=n||0,o=0,i=n,s,c=e.length;do{if(i>=c)throw yr.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&Xn)<=wa);return yr.bytes=i-n,r}var ya=Math.pow(2,7),va=Math.pow(2,14),xa=Math.pow(2,21),ka=Math.pow(2,28),Ca=Math.pow(2,35),_a=Math.pow(2,42),Sa=Math.pow(2,49),Ta=Math.pow(2,56),Aa=Math.pow(2,63),Ma=function(e){return e{let[y,C]=Qt(t.subarray(r));return r+=C,y},o=n(),i=te;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),l=n(),d=r+l,g=d-s;return{version:o,codec:i,multihashCode:c,digestSize:l,multihashSize:g,size:d}}static parse(t,r){let[n,o]=Ia(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return vr(i).set(n,t),i}};function Ia(e,t){switch(e[0]){case"Q":{let r=t??bt;return[bt.prefix,r.decode(`${bt.prefix}${e}`)]}case bt.prefix:{let r=t??bt;return[bt.prefix,r.decode(e)]}case Kt.prefix:{let r=t??Kt;return[Kt.prefix,r.decode(e)]}case pe.prefix:{let r=t??pe;return[pe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function Pa(e,t,r){let{prefix:n}=r;if(n!==bt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o}function Da(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o}var te=112,La=18;function io(e,t,r){let n=Bt(e),o=n+Bt(t),i=new Uint8Array(o+r.byteLength);return zt(e,i,0),zt(t,i,n),i.set(r,o),i}var Oa=Symbol.for("@ipld/js-cid/CID");var za=new TextEncoder,Iu=new TextDecoder;var ao=512;function co(e){return za.encode(JSON.stringify(e))}function kr({name:e,code:t,encode:r}){return new xr(e,t,r)}var xr=class{constructor(t,r,n){F(this,"name");F(this,"code");F(this,"encode");this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Zt(this.code,r):r.then(n=>Zt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function lo(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var ho=kr({name:"sha2-256",code:18,encode:lo("SHA-256")}),Ou=kr({name:"sha2-512",code:19,encode:lo("SHA-512")});var Fa=async e=>{let t=co(e),r=await ho.digest(t);return fe.create(1,ao,r).toString()},me=Fa;var ja=e=>{try{JSON.parse(e)}catch{return!1}return!0},ge=ja;var uo=()=>document.title.split("|")[0],Cr=e=>{let t=uo();document.title=t.trim()+" | "+e.trim(),m(".title h3").html(e.trim())},be=()=>{let e=uo();document.title=e,m("title").innerHTML("\u270D\uFE0F MiroPad v3.1.17"),m(".title h3").innerHTML('\u270D\uFE0F MiroPad v3.1.17')};var O={baseUrl:`${globalThis.location.origin}${globalThis.location.pathname}`,get:function(){return globalThis.location.href},getPageId:function(e=globalThis.location.href){return new URL(e).hash.slice(1).split("?")[0]||null},getSearchParams:function(e=globalThis.location.href){let n=new URL(e).href.split("?")[1]||"";return new URLSearchParams(n)},getParamsObject:function(e=globalThis.location.href){let t=this.getSearchParams(e),r={};for(let n of t.keys())r={...r,[n]:this.getSearchParam(n,e)};return r},getSearchParam(e,t=globalThis.location.href){return this.getSearchParams(t).get(e)},deleteParam:function(e){let t=this.getSearchParams();Array.isArray(e)?e.forEach(o=>{t.delete(o)}):t.delete(e);let{pathname:r}=globalThis.location,n=this.getPageId();return globalThis.location.assign(`${n?`#${n}`:r}${t.toString()?`?${t.toString()}`:""}`)},set:function(e=this.getPageId(),t=this.getParamsObject()){let r={...this.getParamsObject(),...t},n=new URLSearchParams(r);return globalThis.location.assign(`#${e}?${n.toString()}`)}};var St=(e=!0)=>{e?(m("#save").removeClass("unsaved"),m("#logo").removeClass("unsaved")):(m("#save").addClass("unsaved"),m("#logo").addClass("unsaved"))};var po=e=>{let t=encodeURIComponent(e);if(t.length===0)throw new Error("You need to start with a valid title for your note!");return t},we=e=>{let t=mo(e),r=Y(t);if(r){let{dateCreated:n}=r;return n}throw new Error(`Note "${e}" cannot found!`)},Ga=e=>{let t=Y(e);t&&localStorage.setItem(e,JSON.stringify({title:t.title,deleted:!0,revisions:t.revisions}))},Y=(e=O.getPageId(),t)=>{let r;try{if(r=JSON.parse(I.get(e)),!r.revisions)throw new Error("This is not a note!")}catch{return null}let n=r?Object.values(r.revisions).reduce((i,s)=>s.dateCreated>i.dateCreated?s:i,{dateCreated:0}):{},o=t?r.revisions[t]:n;return e?{...r,id:e,...o||{},numberOfRevisions:r&&r.revisions?Object.keys(r.revisions).length:void 0,title:r.title}:null},fo=e=>{let t=Y();t&&(I.update(t.id,{disableSync:e}),E.info(`"${t.title}" cloud sync ${e?"disabled \u{1F636}":"enabled \u26A1\uFE0F"}`))},ye=(e=O.getPageId())=>{if(e){let t=O.getSearchParam("v")||void 0,r=Y(void 0,t);r&&(m("#revisions").html(`${r.numberOfRevisions} revision${r.numberOfRevisions>1?"s":""}`),Cr(r.title),m(".terminal").setValue(r.text)),r||E.error("404 Note not found \u{1F937}\u200D\u2642\uFE0F")}},ve=()=>{location.hash="",be(),m("#revisions").html(""),m(".terminal").setValue("").focus(),St()},jt=(e="")=>e.split(` + https://teomrd.github.io`},file_service:{api:"https://vercel-api-phi.vercel.app/api/upload"}};var ue=(e,t=I.get("authToken"))=>fetch(`https://api.github.com/gists/${e}`,{headers:{Authorization:`token ${t}`}}).then(r=>{if(!r.ok)throw Error(r.statusText);return r.json()}),Gn=(e=I.get("authToken"))=>fetch("https://api.github.com/gists",{headers:{Authorization:`token ${e}`}}).then(t=>{if(!t.ok)throw Error(t.statusText);return t.json()}),$n=async(e,t=I.get("gistId"),r=I.get("authToken"))=>{let n=await fetch(`https://api.github.com/gists/${t}`,{method:"PATCH",headers:{Authorization:`token ${r}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:{[e]:null},description:"MiroPad Gist",public:!1})});if(!n.ok)throw new Error(n.statusText);let o=await n.json();return E.info(`${e} deleted on Gist!`),o},Rn=(e=lt(),t=I.get("gistId"),r=I.get("authToken"))=>{if(t&&r){let n=e.reduce((o,{id:i,text:s,deleted:c})=>({...o,[i]:c?null:{content:s}}),{});return fetch(`https://api.github.com/gists/${t}`,{method:"PATCH",headers:{Authorization:`token ${r}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:n,description:"MiroPad Gist",public:!1})}).then(o=>{if(!o.ok)throw new Error(o.statusText);return o.json()}).then(o=>(e.map(({id:i,deleted:s})=>{s&&localStorage.removeItem(i)}),o))}},Un=async(e=I.get("authToken"))=>{let r=lt().reduce((i,s)=>({...i,[s.id]:{content:s.text}}),{}),n=await fetch("https://api.github.com/gists",{method:"POST",headers:{Authorization:`token ${e}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:r,description:"MiroPad Gist",public:!1})});if(!n.ok)throw Error(n.statusText);return await n.json()},Vn=(e,t)=>fetch(`${dt.auth_service}?state=${t}&code=${e}`,{headers:{Accept:"application/json","Content-Type":"application/json"}}).then(r=>{if(!r.ok)throw Error(r.statusText);return r.json()}).then(r=>r),qn=async({note:e,token:t=I.get("authToken")})=>{let r=await fetch("https://api.github.com/gists",{method:"POST",headers:{Authorization:`token ${t}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({files:{[e.id]:{content:e.text}},description:"MiroPad Gist",public:!0})});if(!r.ok)throw Error(r.statusText);return await r.json()};var Xh=new Uint8Array(0);function Wn(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n>>0,k=new Uint8Array($);x!==v;){for(var q=M[x],W=0,_=$-1;(q!==0||W>>0,k[_]=q%c>>>0,q=q/c>>>0;if(q!==0)throw new Error("Non-zero carry");S=W,x++}for(var Z=$-S;Z!==$&&k[Z]===0;)Z++;for(var at=l.repeat(N);Z<$;++Z)at+=e.charAt(k[Z]);return at}function C(M){if(typeof M!="string")throw new TypeError("Expected String");if(M.length===0)return new Uint8Array;var N=0;if(M[N]!==" "){for(var S=0,x=0;M[N]===l;)S++,N++;for(var v=(M.length-N)*d+1>>>0,$=new Uint8Array(v);M[N];){var k=r[M.charCodeAt(N)];if(k===255)return;for(var q=0,W=v-1;(k!==0||q>>0,$[W]=k%256>>>0,k=k/256>>>0;if(k!==0)throw new Error("Non-zero carry");x=q,N++}if(M[N]!==" "){for(var _=v-x;_!==v&&$[_]===0;)_++;for(var Z=new Uint8Array(S+(v-_)),at=S;_!==v;)Z[at++]=$[_++];return Z}}}function P(M){var N=C(M);if(N)return N;throw new Error(`Non-${t} character`)}return{encode:y,decodeUnsafe:C,decode:P}}var la=ca,da=la,Hn=da;var mr=class{constructor(t,r,n){F(this,"name");F(this,"prefix");F(this,"baseEncode");this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},gr=class{constructor(t,r,n){F(this,"name");F(this,"prefix");F(this,"baseDecode");F(this,"prefixCodePoint");this.name=t,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Yn(this,t)}},br=class{constructor(t){F(this,"decoders");this.decoders=t}or(t){return Yn(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Yn(e,t){return new br({...e.decoders??{[e.prefix]:e},...t.decoders??{[t.prefix]:t}})}var wr=class{constructor(t,r,n,o){F(this,"name");F(this,"prefix");F(this,"baseEncode");F(this,"baseDecode");F(this,"encoder");F(this,"decoder");this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new mr(t,r,n),this.decoder=new gr(t,r,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Jn({name:e,prefix:t,encode:r,decode:n}){return new wr(e,t,r,n)}function Ot({name:e,prefix:t,alphabet:r}){let{encode:n,decode:o}=Hn(r,e);return Jn({prefix:t,name:e,encode:n,decode:i=>Lt(o(i))})}function ha(e,t,r,n){let o={};for(let g=0;g=8&&(c-=8,s[d++]=255&l>>c)}if(c>=r||255&l<<8-c)throw new SyntaxError("Unexpected end of data");return s}function ua(e,t,r){let n=t[t.length-1]==="=",o=(1<r;)s-=r,i+=t[o&c>>s];if(s!==0&&(i+=t[o&c<=ga;)t[r++]=e&255|Kn,e/=128;for(;e&ma;)t[r++]=e&255|Kn,e>>>=7;return t[r]=e|0,Qn.bytes=r-n+1,t}var ba=yr,wa=128,Xn=127;function yr(e,n){var r=0,n=n||0,o=0,i=n,s,c=e.length;do{if(i>=c)throw yr.bytes=0,new RangeError("Could not decode varint");s=e[i++],r+=o<28?(s&Xn)<=wa);return yr.bytes=i-n,r}var ya=Math.pow(2,7),va=Math.pow(2,14),xa=Math.pow(2,21),ka=Math.pow(2,28),Ca=Math.pow(2,35),_a=Math.pow(2,42),Sa=Math.pow(2,49),Ta=Math.pow(2,56),Aa=Math.pow(2,63),Ma=function(e){return e{let[y,C]=Qt(t.subarray(r));return r+=C,y},o=n(),i=te;if(o===18?(o=0,r=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=r,c=n(),l=n(),d=r+l,g=d-s;return{version:o,codec:i,multihashCode:c,digestSize:l,multihashSize:g,size:d}}static parse(t,r){let[n,o]=Ia(t,r),i=e.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return vr(i).set(n,t),i}};function Ia(e,t){switch(e[0]){case"Q":{let r=t??bt;return[bt.prefix,r.decode(`${bt.prefix}${e}`)]}case bt.prefix:{let r=t??bt;return[bt.prefix,r.decode(e)]}case Kt.prefix:{let r=t??Kt;return[Kt.prefix,r.decode(e)]}case pe.prefix:{let r=t??pe;return[pe.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}}function Pa(e,t,r){let{prefix:n}=r;if(n!==bt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=t.get(n);if(o==null){let i=r.encode(e).slice(1);return t.set(n,i),i}else return o}function Da(e,t,r){let{prefix:n}=r,o=t.get(n);if(o==null){let i=r.encode(e);return t.set(n,i),i}else return o}var te=112,La=18;function io(e,t,r){let n=Bt(e),o=n+Bt(t),i=new Uint8Array(o+r.byteLength);return zt(e,i,0),zt(t,i,n),i.set(r,o),i}var Oa=Symbol.for("@ipld/js-cid/CID");var za=new TextEncoder,Iu=new TextDecoder;var ao=512;function co(e){return za.encode(JSON.stringify(e))}function kr({name:e,code:t,encode:r}){return new xr(e,t,r)}var xr=class{constructor(t,r,n){F(this,"name");F(this,"code");F(this,"encode");this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Zt(this.code,r):r.then(n=>Zt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function lo(e){return async t=>new Uint8Array(await crypto.subtle.digest(e,t))}var ho=kr({name:"sha2-256",code:18,encode:lo("SHA-256")}),Ou=kr({name:"sha2-512",code:19,encode:lo("SHA-512")});var Fa=async e=>{let t=co(e),r=await ho.digest(t);return fe.create(1,ao,r).toString()},me=Fa;var ja=e=>{try{JSON.parse(e)}catch{return!1}return!0},ge=ja;var uo=()=>document.title.split("|")[0],Cr=e=>{let t=uo();document.title=t.trim()+" | "+e.trim(),m(".title h3").html(e.trim())},be=()=>{let e=uo();document.title=e,m("title").innerHTML("\u270D\uFE0F MiroPad v3.1.18"),m(".title h3").innerHTML('\u270D\uFE0F MiroPad v3.1.18')};var O={baseUrl:`${globalThis.location.origin}${globalThis.location.pathname}`,get:function(){return globalThis.location.href},getPageId:function(e=globalThis.location.href){return new URL(e).hash.slice(1).split("?")[0]||null},getSearchParams:function(e=globalThis.location.href){let n=new URL(e).href.split("?")[1]||"";return new URLSearchParams(n)},getParamsObject:function(e=globalThis.location.href){let t=this.getSearchParams(e),r={};for(let n of t.keys())r={...r,[n]:this.getSearchParam(n,e)};return r},getSearchParam(e,t=globalThis.location.href){return this.getSearchParams(t).get(e)},deleteParam:function(e){let t=this.getSearchParams();Array.isArray(e)?e.forEach(o=>{t.delete(o)}):t.delete(e);let{pathname:r}=globalThis.location,n=this.getPageId();return globalThis.location.assign(`${n?`#${n}`:r}${t.toString()?`?${t.toString()}`:""}`)},set:function(e=this.getPageId(),t=this.getParamsObject()){let r={...this.getParamsObject(),...t},n=new URLSearchParams(r);return globalThis.location.assign(`#${e}?${n.toString()}`)}};var St=(e=!0)=>{e?(m("#save").removeClass("unsaved"),m("#logo").removeClass("unsaved")):(m("#save").addClass("unsaved"),m("#logo").addClass("unsaved"))};var po=e=>{let t=encodeURIComponent(e);if(t.length===0)throw new Error("You need to start with a valid title for your note!");return t},we=e=>{let t=mo(e),r=Y(t);if(r){let{dateCreated:n}=r;return n}throw new Error(`Note "${e}" cannot found!`)},Ga=e=>{let t=Y(e);t&&localStorage.setItem(e,JSON.stringify({title:t.title,deleted:!0,revisions:t.revisions}))},Y=(e=O.getPageId(),t)=>{let r;try{if(r=JSON.parse(I.get(e)),!r.revisions)throw new Error("This is not a note!")}catch{return null}let n=r?Object.values(r.revisions).reduce((i,s)=>s.dateCreated>i.dateCreated?s:i,{dateCreated:0}):{},o=t?r.revisions[t]:n;return e?{...r,id:e,...o||{},numberOfRevisions:r&&r.revisions?Object.keys(r.revisions).length:void 0,title:r.title}:null},fo=e=>{let t=Y();t&&(I.update(t.id,{disableSync:e}),E.info(`"${t.title}" cloud sync ${e?"disabled \u{1F636}":"enabled \u26A1\uFE0F"}`))},ye=(e=O.getPageId())=>{if(e){let t=O.getSearchParam("v")||void 0,r=Y(void 0,t);r&&(m("#revisions").html(`${r.numberOfRevisions} revision${r.numberOfRevisions>1?"s":""}`),Cr(r.title),m(".terminal").setValue(r.text)),r||E.error("404 Note not found \u{1F937}\u200D\u2642\uFE0F")}},ve=()=>{location.hash="",be(),m("#revisions").html(""),m(".terminal").setValue("").focus(),St()},jt=(e="")=>e.split(` `)[0].trim().replace("#","").trim(),mo=e=>{let t=jt(e);return po(t)},go=async e=>{if(e.length){let t=mo(e),r=jt(e),n=Y(t);if(n===null)return xe(e);let{text:o}=n,i=await me(e),s=await me(o);if(i===s)return;let c=I.get(t),l=JSON.parse(c);I.set(t,JSON.stringify({...l,title:r,revisions:{...l&&l.revisions||{},[i]:{dateCreated:Date.now(),text:e}}}))}},xe=async(e=m(".terminal").getValue())=>{if(await I.saveToDictionary(e),e.length){let t=await me(e);try{let r=e.split(` `)[0].trim().replace("#","").trim();Cr(r);let n=po(r),o=I.get(n),i=JSON.parse(o);I.set(n,JSON.stringify({...i,title:r,lines:e.split(` `),revisions:{...i&&i.revisions||{},[t]:{dateCreated:Date.now(),text:e}}})),O.set(n,{v:t}),I.set("lastLocalUpdate",new Date),E.success("\u{1F44C} Note saved!"),St()}catch(r){E.error(`\u{1F631} Something went wrong while trying to save to local storage ${r}`)}}else E.warning("\u{1F615} Nothing to save!")},lt=({includeDeleted:e=!1}={})=>Object.entries(localStorage).filter(([,t])=>typeof t=="string").filter(([t,r])=>!t.startsWith("__")&&ge(r)).map(([t,r])=>[t,JSON.parse(r)]).filter(([,t])=>!!t.title).reduce((t,[r])=>[...t,Y(r)],[]).filter(({deleted:t})=>e?!0:!t),bo=(e=null)=>e?lt().map(({id:r})=>Y(r)).filter(r=>r!==null).filter(({text:r})=>r.toLowerCase().includes(e.toLowerCase()))[0]:void 0,ke=()=>{if(confirm("Are you sure you want do that?")){let t=Y();ve(),t&&t.id&&($n(t.id),Ga(t.id))}B.hide()};var wo=()=>!!I.get("authToken");var xt=({title:e,secondary:t,onclick:r,onSecondaryClick:n,icon:o},i=!1)=>{let s=document.createElement("LI");if(s.className=i?"selected":"",o){let d=o.cloneNode(!0);s.appendChild(d)}let c=Dt(e)?e:document.createTextNode(e);c.onclick=r,s.appendChild(c);let l=document.createElement("span");if(t){l.className="secondary";let d=Dt(t)?t:document.createTextNode(t);d.onclick=n,l.appendChild(d)}return s.appendChild(l),s};var yo=(e,t)=>{let r=e.toLowerCase().split(t),n=0;return r.reduce((o,i,s)=>[...o,...s===0?[i]:[t,i]],[]).filter(o=>o!=="").map(o=>{n=n+o.length;let i=n-o.length,s=i+o.length;return e.slice(i,s)})};var vo=e=>{let t=document.createElement("mark");return t.appendChild(document.createTextNode(e)),t},wt=({content:e="",highlight:t=""})=>{let r=document.createElement("div"),n=e.split(" "),o=t.toLowerCase().split(" ");return t.trim()===""?(r.appendChild(document.createTextNode(e)),r):(n.map(i=>{let s=o.map(c=>i.toLocaleLowerCase().includes(c)?c:void 0).filter(c=>c!==void 0);return{word:i,matches:s}}).forEach(({word:i,matches:s})=>{if(s.length>0){let c=s[0];if(i===c)r.appendChild(vo(` ${i}`));else{let d=yo(i,c).map(g=>g.toLowerCase()===c?vo(g):document.createTextNode(g));r.appendChild(document.createTextNode(" ")),d.forEach(g=>{r.appendChild(g)})}}else r.appendChild(document.createTextNode(` ${i} `))}),r)};var xo=()=>(E.info("You need to be authenticated!"),B.hide(),globalThis.location.replace(`https://github.com/login/oauth/authorize?client_id=${dt.github.client_id}&scope=gist&state=${dt.github.request_state}`)),ko=async e=>{E.info("Downloading my Gists!");let t=await Gn(e);B.setState({mode:B.getModes().gists}),E.info("Select Gist to sync with");let r=t.sort((o,i)=>new Date(i.updated_at).getTime()-new Date(o.updated_at).getTime()).map(({description:o,updated_at:i,id:s})=>({title:wt({content:`${o}(${s})`}),secondary:i,onclick:async()=>{await I.set("gistId",s),E.success(`${o}(${s}) selected for synchronization!`),ee(),B.hide()}})),n=xt([{title:"Create a new Gist",onclick:async()=>{E.info("Syncing your MiroPads to a new Gist");try{let{id:o}=await Un();I.set("gistId",o),E.success("MiroPads synced to a new Gist \u{1F389}")}catch(o){E.error(o.message)}B.hide()}},...r]);m("#commands").html(""),m("#commands").append(n)},ee=async(e=I.get("gistId"))=>{if(I.get("authToken")&&e){m("#logo").addClass("loading");let{files:r}=await ue(e);Object.values(r).forEach(({content:n})=>{go(n)}),I.set("lastSync",new Date),E.success("\u2B07 MiroPad synced \u2705"),m("#logo").removeClass("loading")}},Co=async()=>{let e=O.getSearchParam("code"),t=O.getSearchParam("state");if(e&&t){m("#logo").addClass("loading"),E.info("\u{1F510} Authenticating...");try{let{token:r}=await Vn(e,t);I.set("authToken",r),E.info("\u26F3 You have been authenticated!"),O.deleteParam(["code","state"])}catch(r){E.error(r.message)}m("#logo").removeClass("loading")}};var $a=async(e="no-titled")=>{let t={suggestedName:`${e}`,types:[{description:"MiroPad text notes",accept:{"text/plain":[".miropad"]}}]};return await globalThis.showSaveFilePicker(t)},Ra=async(e,t)=>{let r=await e.createWritable();await r.write(t),await r.close()},_o=async(e,t)=>{try{let r=await $a(t);await Ra(r,e)}catch{E.error("An error occurred trying to save the file.");return}},So=(()=>{let e=document.createElement("a");return e.setAttribute("style","display: none"),e.setAttribute("id","download-to-file"),e.setAttribute("href","#"),document.body.appendChild(e),(t,r=`MiroPad-${new Date().toISOString()}.json`)=>{let n=JSON.stringify(t),o=new Blob([n],{type:"octet/stream"}),i=globalThis.URL.createObjectURL(o);e.href=i,e.download=r,e.click(),globalThis.URL.revokeObjectURL(i)}})();var $e=mn(ri()),Re=e=>(0,$e.renderHTML)((0,$e.parse)(e,{warn:t=>console.log(t.render())}),{overrides:{code_block:t=>`

${t.text}
`}});var Qr=e=>{if(e.status.toString().slice(0,1)==="2")return e;throw new Error(e)},pl=(e="")=>` @@ -84,7 +84,7 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(r+=` :root { --mermaid-font-family: ${e.fontFamily}}`),e.altFontFamily!==void 0&&(r+=` :root { --mermaid-alt-font-family: ${e.altFontFamily}}`),t instanceof Map){let c=e.htmlLabels??((n=e.flowchart)==null?void 0:n.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];t.forEach(l=>{dr(l.styles)||c.forEach(d=>{r+=_i(l.id,d,l.styles)}),dr(l.textStyles)||(r+=_i(l.id,"tspan",((l==null?void 0:l.textStyles)||[]).map(d=>d.replace("color","fill"))))})}return r},"createCssStyles"),L0=w((e,t,r,n)=>{let o=D0(e,r),i=Mn(t,o,e.themeVariables);return Ze(vi(`${n}{${i}}`),xi)},"createUserStyles"),O0=w((e="",t,r)=>{let n=e;return!r&&!t&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=On(n),n=n.replace(/
/g,"
"),n},"cleanUpSvgCode"),z0=w((e="",t)=>{var o,i;let r=(i=(o=t==null?void 0:t.viewBox)==null?void 0:o.baseVal)!=null&&i.height?t.viewBox.baseVal.height+"px":T0,n=es(`${e}`);return``},"putIntoIFrame"),Si=w((e,t,r,n,o)=>{let i=e.append("div");i.attr("id",r),n&&i.attr("style",n);let s=i.append("svg").attr("id",t).attr("width","100%").attr("xmlns",k0);return o&&s.attr("xmlns:xlink",o),s.append("g"),e},"appendDivSvgG");function nn(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}w(nn,"sandboxedIframe");var B0=w((e,t,r,n)=>{var o,i,s;(o=e.getElementById(t))==null||o.remove(),(i=e.getElementById(r))==null||i.remove(),(s=e.getElementById(n))==null||s.remove()},"removeExistingElements"),F0=w(async function(e,t,r){var u,p,f,h,a,b;er();let n=sn(t);t=n.code;let o=Et();H.debug(o),t.length>((o==null?void 0:o.maxTextSize)??w0)&&(t=y0);let i="#"+e,s="i"+e,c="#"+s,l="d"+e,d="#"+l,g=w(()=>{let D=gt(C?c:d).node();D&&"remove"in D&&D.remove()},"removeTempElements"),y=gt("body"),C=o.securityLevel===v0,P=o.securityLevel===x0,M=o.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),C){let T=nn(gt(r),s);y=gt(T.nodes()[0].contentDocument.body),y.node().style.margin=0}else y=gt(r);Si(y,e,l,`font-family: ${M}`,C0)}else{if(B0(document,e,l,s),C){let T=nn(gt("body"),s);y=gt(T.nodes()[0].contentDocument.body),y.node().style.margin=0}else y=gt("body");Si(y,e,l)}let N,S;try{N=await rn.fromText(t,{title:n.title})}catch(T){if(o.suppressErrorRendering)throw g(),T;N=await rn.fromText("error"),S=T}let x=y.select(d).node(),v=N.type,$=x.firstChild,k=$.firstChild,q=(p=(u=N.renderer).getClasses)==null?void 0:p.call(u,t,N),W=L0(o,v,q,i),_=document.createElement("style");_.innerHTML=W,$.insertBefore(_,k);try{await N.renderer.draw(t,e,hr,N)}catch(T){throw o.suppressErrorRendering?g():Id.draw(t,e,hr),T}let Z=y.select(`${d} svg`),at=(h=(f=N.db).getAccTitle)==null?void 0:h.call(f),mt=(b=(a=N.db).getAccDescription)==null?void 0:b.call(a);is(v,Z,at,mt),y.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",_0);let ct=y.select(d).node().innerHTML;if(H.debug("config.arrowMarkerAbsolute",o.arrowMarkerAbsolute),ct=O0(ct,C,Tn(o.arrowMarkerAbsolute)),C){let T=y.select(d+" svg").node();ct=z0(ct,T)}else P||(ct=gn.sanitize(ct,{ADD_TAGS:I0,ADD_ATTR:P0,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(p0(),S)throw S;return g(),{diagramType:v,svg:ct,bindFunctions:N.db.bindFunctions}},"render");function ns(e={}){var n;let t=vn({},e);t!=null&&t.fontFamily&&!((n=t.themeVariables)!=null&&n.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),kn(t),t!=null&&t.theme&&t.theme in de?t.themeVariables=de[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=de.default.getThemeVariables(t.themeVariables));let r=typeof t=="object"?xn(t):cr();nr(r.logLevel),er()}w(ns,"initialize");var os=w((e,t={})=>{let{code:r}=on(e);return rn.fromText(r,t)},"getDiagramFromText");function is(e,t,r,n){Qi(t,e),Zi(t,r,n,t.attr("id"))}w(is,"addA11yInfo");var Nt=Object.freeze({render:F0,parse:rs,getDiagramFromText:os,initialize:ns,getConfig:Et,setConfig:_n,getSiteConfig:cr,updateSiteConfig:Cn,reset:w(()=>{Yt()},"reset"),globalReset:w(()=>{Yt(ar)},"globalReset"),defaultConfig:ar});nr(Et().logLevel);Yt(Et());var j0=w((e,t,r)=>{H.warn(e),lr(e)?(r&&r(e.str,e.hash),t.push({...e,message:e.str,error:e})):(r&&r(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),ss=w(async function(e={querySelector:".mermaid"}){try{await G0(e)}catch(t){if(lr(t)&&H.error(t.str),rt.parseError&&rt.parseError(t),!e.suppressErrors)throw H.error("Use the suppressErrors option to suppress these errors"),t}},"run"),G0=w(async function({postRenderCallback:e,querySelector:t,nodes:r}={querySelector:".mermaid"}){let n=Nt.getConfig();H.debug(`${e?"":"No "}Callback function found`);let o;if(r)o=r;else if(t)o=document.querySelectorAll(t);else throw new Error("Nodes and querySelector are both undefined");H.debug(`Found ${o.length} diagrams`),(n==null?void 0:n.startOnLoad)!==void 0&&(H.debug("Start On Load: "+(n==null?void 0:n.startOnLoad)),Nt.updateSiteConfig({startOnLoad:n==null?void 0:n.startOnLoad}));let i=new It.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,c=[];for(let l of Array.from(o)){if(H.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");let d=`mermaid-${i.next()}`;s=l.innerHTML,s=zn(It.entityDecode(s)).trim().replace(//gi,"
");let g=It.detectInit(s);g&&H.debug("Detected early reinit: ",g);try{let{svg:y,bindFunctions:C}=await ds(d,s,l);l.innerHTML=y,e&&await e(d),C&&C(l)}catch(y){j0(y,c,rt.parseError)}}if(c.length>0)throw c[0]},"runThrowsErrors"),as=w(function(e){Nt.initialize(e)},"initialize"),$0=w(async function(e,t,r){H.warn("mermaid.init is deprecated. Please use run instead."),e&&as(e);let n={postRenderCallback:r,querySelector:".mermaid"};typeof t=="string"?n.querySelector=t:t&&(t instanceof HTMLElement?n.nodes=[t]:n.nodes=t),await ss(n)},"init"),R0=w(async(e,{lazyLoad:t=!0}={})=>{er(),sr(...e),t===!1&&await h0()},"registerExternalDiagrams"),cs=w(function(){if(rt.startOnLoad){let{startOnLoad:e}=Nt.getConfig();e&&rt.run().catch(t=>H.error("Mermaid failed to initialize",t))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",cs,!1);var U0=w(function(e){rt.parseError=e},"setParseErrorHandler"),tr=[],en=!1,ls=w(async()=>{if(!en){for(en=!0;tr.length>0;){let e=tr.shift();if(e)try{await e()}catch(t){H.error("Error executing queue",t)}}en=!1}},"executeQueue"),V0=w(async(e,t)=>new Promise((r,n)=>{let o=w(()=>new Promise((i,s)=>{Nt.parse(e,t).then(c=>{i(c),r(c)},c=>{var l;H.error("Error parsing",c),(l=rt.parseError)==null||l.call(rt,c),s(c),n(c)})}),"performCall");tr.push(o),ls().catch(n)}),"parse"),ds=w((e,t,r)=>new Promise((n,o)=>{let i=w(()=>new Promise((s,c)=>{Nt.render(e,t,r).then(l=>{s(l),n(l)},l=>{var d;H.error("Error parsing",l),(d=rt.parseError)==null||d.call(rt,l),c(l),o(l)})}),"performCall");tr.push(i),ls().catch(o)}),"render"),rt={startOnLoad:!0,mermaidAPI:Nt,parse:V0,render:ds,init:$0,run:ss,registerExternalDiagrams:R0,registerLayoutLoaders:Bn,initialize:as,parseError:void 0,contentLoaded:cs,setParseErrorHandler:U0,detectType:ir,registerIconPacks:In},an=rt;an.initialize({startOnLoad:!0,theme:"dark",logLevel:"info"});var q0={view:m(".preview"),init:function(){return this.update(),m(".terminal").listen("input",()=>this.update()),!!O.getSearchParam("md")?this.view.show():this.view.hide(),this},autoLink:function(){let e=I.parse("__auto-links__");if(!e)return;let t=Object.keys(e).map(o=>`${o}\\w+`).join("|"),r=new RegExp(`(${t})`,"g"),n=this.view.el.innerHTML.replace(r,o=>{let i=Object.keys(e).find(c=>o.startsWith(c)),s=e[i];return s.startsWith("http")?`${o}`:`${o}`});this.view.innerHTML(n)},update:function(){let md=m(".terminal").getValue();this.view.innerHTML(Re(md)),this.autoLink();let{elements}=m("pre");Array.prototype.slice.call(elements).forEach(e=>{let t=Ue("\u{1F4CB} Copy",async r=>{r.stopPropagation();let n=r.srcElement.previousSibling.innerHTML;await kt(n,"\u{1F4CB} Code copied to clipboard")});e.appendChild(t)}),m("code").listenAll("click",({innerHTML})=>{let result=eval(innerHTML);m(".console").show().innerHTML(result)}),m(".console").listen("click",async e=>{e.srcElement.classList.add("hidden");let t=e.srcElement.innerHTML;await kt(t,"\u{1F4CB} Code copied to clipboard")}),an.contentLoaded()},show:function(e=!0){this.view.show(),O.set(void 0,{md:e})},hide:function(){this.view.hide(),O.deleteParam("md")},toggle:function(e="true"){return O.getSearchParam("md")===e?this.hide():this.show(e),this}},_t=q0;var W0=e=>{let t=document.querySelector(e);if(ge(t.value)){let r=JSON.stringify(JSON.parse(t.value),null,2);t.value=r,E.success("\u{1F44D} JSON value prettified")}else E.error("\u{1F627} Value is not in valid JSON format")},hs=W0;var us=(e=1e3)=>new Promise(t=>{setTimeout(t,e)});var V=(e,t,r)=>{let n=document.createElement("IMG");return r&&n.classList.add(r),t&&n.setAttribute("alt",t),n.setAttribute("src",e),n};var ps="./list-LK7OCHR7.svg";var ae="./trash-RDL437QG.svg";var fs="./checkmark-circle-JQ7ADSUI.svg";var ms="./cloud-sync-F3RLGHML.svg";var gs="./lighter-UBEI67LL.svg";var bs="./enter-down-6TVO6OFR.svg";var ws="./download-FVXMIYZ4.svg";var ys="./envelope-Z2VRVSLR.svg";var vs="./bug-36UGMUXT.svg";var xs="./picture-3TDOSVS3.svg";var ks="./printer-B7RMPYZC.svg";var Cs="./page-break-BLVP5QBQ.svg";var _s="./frame-expand-CX6CNP53.svg";var Ss="./arrow-right-circle-2Q6EHM2H.svg";var Ts="./magic-wand-JQJ6EKRO.svg";var As="./rocket-AIY2RJJS.svg";var Ms="./spell-check-V6QYTGNT.svg";var Ns="./pencil-X3ZMY3QU.svg";var cn="./exit-up-GH6BPN2X.svg";var Es="./leaf-CGBE7XAJ.svg";var Is=async()=>{try{let e=Y(),t=O.get();await navigator.share({title:e?e.title:"\u270D\uFE0F MiroPad",text:e?e.text:"Temporary note keeping app for the browser",url:t})}catch(e){E.info(`${e.message}`)}};var ph=()=>{let e=I.get("gistId");return I.get("authToken")?e?"Sync: Notes with my GitHub Gist":"Sync: Pick your Gist to sync with":"Sync: Authorize your GitHub account for synchronisation"},fh={title:"Share note",icon:V(cn,"share note"),sortTitle:"Share",call:Is},mh={title:"Share public link",key:null,icon:V(cn,"share public link"),sortTitle:"Share public link",call:async()=>{B.hide(),await xe(m(".terminal").getValue());let e=Y();if(e){let r=(await qn({note:e})).history[0].url,n=await fetch(r).then(g=>g.json()),{files:o}=n,i=Object.values(o),[s]=i,{raw_url:c}=s,l=`${O.baseUrl}?raw=${c}`;kt(l,"MiroPad public link copied to clipboard \u{1F4CB}!")}}},ln=()=>[{title:"New note",icon:V(Ns,"new note"),sortTitle:"New",key:"n",call:ve},{title:"Save",key:"s",icon:V(fs,"save note"),sortTitle:"Save",call:async()=>{B.hide(),await xe(m(".terminal").getValue());let e=Y();e&&!e.disableSync&&Rn([e]),St()}},...navigator.share?[fh]:[],{title:"Toggle MarkDown Viewer",icon:V(Cs,"toggle markdown viewer","rotate90"),sortTitle:"Split",key:"m",call:()=>{_t.toggle(),B.hide()}},{title:"Full MarkDown view",icon:V(_s,"full view mode"),sortTitle:"Full view",key:"shift m",call:()=>{_t.toggle("full"),B.hide()}},...wo()?[mh]:[],{title:"Zen mode",icon:V(Es,"switch to zen mode"),sortTitle:"Zen mode",key:"shift z",call:()=>{!!O.getSearchParam("zen")?O.deleteParam("zen"):O.set(void 0,{zen:!0}),B.hide()}},{title:"List saved notes",icon:V(ps,"list notes"),sortTitle:"Notes",key:"p",call:()=>B.toggle(B.getModes().notes)},{title:"Delete note",key:"shift d",icon:V(ae,"delete note"),sortTitle:"Delete",call:ke},{title:ph(),icon:V(ms,"sync with github"),key:null,call:async()=>{let e=I.get("authToken");if(!e)return xo();if(!I.get("gistId"))return await ko(e);B.hide(),await ee()}},{title:"Sync: Reset Gist settings",icon:V(gs,"reset github settings"),key:null,call:()=>{localStorage.removeItem("authToken"),localStorage.removeItem("gistId"),localStorage.removeItem("lastLocalUpdate"),localStorage.removeItem("lastSync"),E.info("Gist setting have been reset!"),B.hide()}},{title:"Toggle sidebar",experimental:!0,key:"shift l",call:()=>{m("aside").toggle()}},{title:"Save to File System...",experimental:!0,icon:V(bs,"save file"),key:"shift s",call:()=>{let e=Y();if(e){let{text:t,title:r}=e;_o(t,r),B.hide()}}},{title:"Email note to...",experimental:!0,icon:V(ys,"email"),key:"e",call:()=>{let e=m(".terminal").getValue();ni(e),B.hide()}},{title:"Toggle experimental features",experimental:!1,icon:V(vs,"lab"),key:null,call:()=>{let e=!!I.get("__experimental__");e?I.remove("__experimental__"):I.set("__experimental__",!0),E.showNotification(`Experimental features turned ${e?"off":"on"}`),B.hide()}},{title:"Toggle Autocompletion",experimental:!1,icon:V(Ss,"autocompletion"),key:null,call:()=>{let e=!!I.get("__autocomplete__");e?I.remove("__autocomplete__"):I.set("__autocomplete__",!0),E.showNotification(`Autocomplete feature turned ${e?"off":"on"}`),B.hide(),m(".terminal").focus()}},{title:"Add a cover picture",experimental:!0,icon:V(xs,"cover picture"),key:null,call:async()=>{let e=prompt("Paste the image URL in here...");B.hide(),await us(200),kt(`![bg](${e}){.cover}`,"\u{1F44C}Copied! Paste the code on the MiroPad editor"),m(".terminal").focus(),E.info("Paste the cover picture wherever you prefer on the MirPad editor")}},{title:"Print MarkDown output",experimental:!0,icon:V(ks,"print"),key:null,call:()=>{m(".preview").show(),_t.init(),globalThis.print(),B.hide()}},{key:"j",title:"Prettify JSON document",icon:V(Ts,"prettify json"),call:()=>{hs(".terminal"),B.hide()}},{title:"Toggle command palette",icon:V(As,"toggle command palette"),key:["shift p","k"],call:()=>B.toggle(B.getModes().commands)},{title:"Find and Replace...",experimental:!0,icon:V(Ms,"find and replace"),key:"shift f",call:()=>{let e=m(".terminal").getValue().slice(m(".terminal").el.selectionStart,m(".terminal").el.selectionEnd),t=prompt("What do you wanna find?",e);if(!t)return E.info("Value not found");let r=m(".terminal").getValue().indexOf(t);m(".terminal").el.setSelectionRange(r,r+t.length);let n=prompt(`Replace ${t} with...`);n&&m(".terminal").el.setRangeText(n)}},{title:"Download all notes!",icon:V(ws,"Download all notes on your local file system"),call:()=>{let e=lt({includeDeleted:!0});So(e),B.hide()}},{title:"Permanently delete ALL notes \u2757",icon:V(ae,"delete note"),call:()=>{confirm("Are you sure you want do delete ALL your notes?")&&(lt({includeDeleted:!0}).forEach(r=>{I.remove(r.id)}),ve()),B.hide()}}];var gh={events:[],on(e,t){return Array.isArray(e)?(e.forEach(r=>{let n=r.key||r,o=r.call||t;this.on(n,o)}),this):(e&&typeof e=="string"&&t&&typeof t=="function"&&(this.events=[...this.events,{key:e.includes("shift")?e.replace("shift","").trim():e,shift:e.includes("shift"),fn(){t()}}]),this)},listen(){return document.addEventListener("keydown",e=>{this.handleEvent(e)}),this},handleEvent(e){this.events.map(t=>(t.key===e.key&&(e.ctrlKey===!0||e.metaKey===!0)&&e.shiftKey===t.shift&&(e.preventDefault(),t.fn()),!0))}},Ps=gh;var Ds=(e,t)=>{let r=document.createElement("a");return r.href=t,r.appendChild(Dt(e)?e:document.createTextNode(e)),r};var dn=(e,t=new Date)=>{let r=new Date(e).getFullYear(),n=new Date(t).getFullYear();return r===n},zs=(e,t=new Date)=>{let r=new Date(e).getMonth(),n=new Date(t).getMonth();return r===n},bh=(e,t=new Date)=>{let r=new Date(e).getDate(),n=new Date(t).getDate();return r===n},Ls=(e,t=new Date)=>dn(e,t)&&zs(e,t)&&bh(e,t),wh=["January","February","March","April","May","June","July","August","September","October","November","December"],yh=wh.map(e=>e.slice(0,3)),Os=(e=new Date)=>{let t=new Date(e),r=new Date().getDate()-1;return zs(t)&&dn(t)&&t.getDate()===r},ce=e=>{let t=new Date(e),r=Os(e)?"":yh[t.getMonth()],n=dn(t)?"":t.getFullYear(),o=Os(t)?"Yesterday":t.getDate();return`${Ls(t)?"":`${o} ${r} ${n}`} ${Ls(t)?t.toLocaleTimeString():""}`};var Bs=e=>e.reduce((r,n)=>{if(r.length===0)return[n];let o=Math.max(...r);return[...r,...n>=o?[n]:[]]},[]).length===e.length;var hn=(e,t)=>{let r=e.split(" ").map(i=>i.toLowerCase()),o=t.split(" ").map(i=>i.toLowerCase()).map(i=>r.map((l,d)=>l.includes(i)?d:-1).reduce((l,d)=>d>-1?d:l,-1));return o.includes(-1)?!1:Bs(o)};var Fs=()=>globalThis.Notification.requestPermission(),js=()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register(`${globalThis.location.pathname.slice(-1)==="/"?globalThis.location.pathname:`${globalThis.location.origin}/`}service-worker.js?v=v3.1.17`)};var Gs=e=>Array.isArray(e)?e.map(t=>Gs(t)).join(", "):e?`\u2318+${e.toUpperCase()}`:"",vh=(()=>{let e;(c=>(c.off="off",c.notes="notes",c.revisions="revisions",c.commands="commands",c.gists="gists"))(e||(e={}));let t={input:"",mode:"off",options:{selected:0,length:0}};return{getState:function(){return t},getModes:function(){return e},setState:function(r){return t={...t,...r},t},show:function(r="commands"){switch(m("#commander").show(),m("#commander input").focus(),r){case"commands":this.generateCommands(),m("#commander input").setValue("> "),this.setState({mode:"commands"});break;case"notes":this.generateNotes(),m("#commander input").setValue(""),this.setState({mode:"notes"});break;case"revisions":this.generateRevisions(),m("#commander input").setValue(""),this.setState({mode:"revisions"});break;default:break}return this},hide:function(){return m("#commander").hide(),t.mode="off",this},toggle:function(r){return Fs(),t.mode==="off"||t.mode!==r?this.show(r):this.hide(),this},commands:function(){return ln()},selectOption:function(r="down"){let n=t.options.selected,o=t.options.length-1,l=r==="down"?n===o?0:n+1:n===0?o:n-1;t.options={...t.options,selected:l}},initCommander:function(){return ln().slice(0,5).map(r=>{m(".mobile-dock").append(Ue([r.icon,document.createTextNode(r.sortTitle)],r.call,r.title.toLowerCase().replace(/\s/g,"-")))}),m("#commander button").listen("click",()=>{this.hide()}),m("#commander input").listen("keydown",r=>{r.keyCode===40&&(t.mode==="revisions"&&m("#commands li.selected").click(),this.selectOption("down")),r.keyCode===38&&(t.mode==="revisions"&&m("#commands li.selected").click(),this.selectOption("up"))}).listen("keyup",r=>{r.keyCode===13&&(t.mode==="commands"?m("#commands li.selected div").click():m("#commands li.selected a").click()),r.keyCode===27&&m(".terminal").focus();let n=r.target;t.input!==n.value&&(t.options.selected=0),t.input=n.value,this.generateOptions(n.value)}),this},init:function(){return this.initCommander(),Ps.listen().on(this.commands()),m(".menu").listen("click",()=>this.toggle()),m("#revisions").listen("click",()=>this.generateRevisions()),this},generateRevisions:function(){this.show(),t.mode="revisions";let r=Y();if(r){let{revisions:n}=r,o=t.options.selected,i=Object.keys(n).sort((s,c)=>{let{dateCreated:l}=n[s],{dateCreated:d}=n[c];return d-l}).map((s,c)=>({title:wt({content:`...${s.slice(-10)}`}),secondary:`${ce(n[s].dateCreated)}`,onclick:()=>{O.set(void 0,{v:s}),t.options.selected=c,this.generateRevisions()}})).map((s,c)=>xt(s,c===o));m("#commands").html(i),t.options={...t.options,length:i.length}}return this},generateOptions:function(r){switch(t.mode){case"commands":case"notes":r.slice(0,1)===">"?(t.mode="commands",this.generateCommands(r.slice(1).trim()),m("#commander input").placeholder("Search for commands...")):(t.mode="notes",this.generateNotes(r));return;case"revisions":return this.generateRevisions();case"off":break;default:break}},generateNotes:function(r=""){let n=t.options.selected,o=lt().filter(({title:i})=>hn(i,r)).filter(({id:i,deleted:s})=>!s&&i!==O.getPageId()).sort((i,s)=>{let c=we(i.title);return we(s.title)-c}).map(({id:i,title:s},c)=>{let l=we(s),d=`${globalThis.location.origin}${globalThis.location.pathname}#${i}`,g=Ds(wt({content:s,highlight:r}),d);return xt({title:g,secondary:ce(l),onclick:()=>{this.hide(),m(".terminal").focus()}},c===n)});return m("#commands").html(o),m("#commander input").placeholder(`Search from ${o.length} saved notes...`),t.options={...t.options,length:o.length},this},generateCommands:function(r=""){let n=t.options.selected,o=this.commands().filter(({title:i})=>hn(i,r)).filter(({experimental:i=!1})=>I.get("__experimental__")?!0:!i).map(({title:i,key:s,call:c,icon:l},d)=>xt({title:wt({content:i,highlight:r}),icon:l,secondary:Gs(s),onclick:c},d===n));return m("#commands").html(o),t.options={...t.options,length:o.length},this}}})(),B=vh;var $s="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Rs=(e=21)=>{let t="",r=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+=$s[r[e]&63];return t};var Vs=mn(Us());var xh=e=>{let t=e.replace(/[\r\n\t]+/g,"").toLowerCase();return le.getMatchingWords(t)},un=(e,t)=>{let r="",n=t-1;do{let o=e[n]||"";n=o.trim()===""?-1:n-1,r=o.trim()!==""?`${o}${r}`:r}while(n>=0);return r},pn=e=>{let t=(0,Vs.default)(e,e.selectionEnd),{top:r,left:n}=t,o=m(".terminal").el.scrollHeight,i=m("main").el;i.style.height=`${o}px`,m(".suggestion").el.style.top=`${r}px`,m(".suggestion").el.style.left=`${n}px`},fn=(e,t)=>e[t]===void 0||e[t].trim()==="",qs=e=>{let t=e.target.selectionEnd,r=z.el.getValue(),n=r[t-1];if(e.inputType==="deleteContentBackward"||n===" ")return z.setState({prediction:null,currentWord:null}),m(".suggestion").hide();let o=un(r,t);if(e.inputType==="insertText"&&fn(r,t)&&!o.startsWith("#")){pn(e.target);let s=xh(o),[c]=s,l=c||"";z.setState({prediction:l,currentWord:o,matches:s.slice(0,10),options:{selected:0,length:s.length}});let d=z.getState();d.currentWord&&d.prediction&&d.currentWord.length>1?(z.renderInlineSuggestion(),z.renderOptions()):m(".suggestion").hide()}};var Ws=(e,t)=>e.split(` +`},"putIntoIFrame"),Si=w((e,t,r,n,o)=>{let i=e.append("div");i.attr("id",r),n&&i.attr("style",n);let s=i.append("svg").attr("id",t).attr("width","100%").attr("xmlns",k0);return o&&s.attr("xmlns:xlink",o),s.append("g"),e},"appendDivSvgG");function nn(e,t){return e.append("iframe").attr("id",t).attr("style","width: 100%; height: 100%;").attr("sandbox","")}w(nn,"sandboxedIframe");var B0=w((e,t,r,n)=>{var o,i,s;(o=e.getElementById(t))==null||o.remove(),(i=e.getElementById(r))==null||i.remove(),(s=e.getElementById(n))==null||s.remove()},"removeExistingElements"),F0=w(async function(e,t,r){var u,p,f,h,a,b;er();let n=sn(t);t=n.code;let o=Et();H.debug(o),t.length>((o==null?void 0:o.maxTextSize)??w0)&&(t=y0);let i="#"+e,s="i"+e,c="#"+s,l="d"+e,d="#"+l,g=w(()=>{let D=gt(C?c:d).node();D&&"remove"in D&&D.remove()},"removeTempElements"),y=gt("body"),C=o.securityLevel===v0,P=o.securityLevel===x0,M=o.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),C){let T=nn(gt(r),s);y=gt(T.nodes()[0].contentDocument.body),y.node().style.margin=0}else y=gt(r);Si(y,e,l,`font-family: ${M}`,C0)}else{if(B0(document,e,l,s),C){let T=nn(gt("body"),s);y=gt(T.nodes()[0].contentDocument.body),y.node().style.margin=0}else y=gt("body");Si(y,e,l)}let N,S;try{N=await rn.fromText(t,{title:n.title})}catch(T){if(o.suppressErrorRendering)throw g(),T;N=await rn.fromText("error"),S=T}let x=y.select(d).node(),v=N.type,$=x.firstChild,k=$.firstChild,q=(p=(u=N.renderer).getClasses)==null?void 0:p.call(u,t,N),W=L0(o,v,q,i),_=document.createElement("style");_.innerHTML=W,$.insertBefore(_,k);try{await N.renderer.draw(t,e,hr,N)}catch(T){throw o.suppressErrorRendering?g():Id.draw(t,e,hr),T}let Z=y.select(`${d} svg`),at=(h=(f=N.db).getAccTitle)==null?void 0:h.call(f),mt=(b=(a=N.db).getAccDescription)==null?void 0:b.call(a);is(v,Z,at,mt),y.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",_0);let ct=y.select(d).node().innerHTML;if(H.debug("config.arrowMarkerAbsolute",o.arrowMarkerAbsolute),ct=O0(ct,C,Tn(o.arrowMarkerAbsolute)),C){let T=y.select(d+" svg").node();ct=z0(ct,T)}else P||(ct=gn.sanitize(ct,{ADD_TAGS:I0,ADD_ATTR:P0,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(p0(),S)throw S;return g(),{diagramType:v,svg:ct,bindFunctions:N.db.bindFunctions}},"render");function ns(e={}){var n;let t=vn({},e);t!=null&&t.fontFamily&&!((n=t.themeVariables)!=null&&n.fontFamily)&&(t.themeVariables||(t.themeVariables={}),t.themeVariables.fontFamily=t.fontFamily),kn(t),t!=null&&t.theme&&t.theme in de?t.themeVariables=de[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=de.default.getThemeVariables(t.themeVariables));let r=typeof t=="object"?xn(t):cr();nr(r.logLevel),er()}w(ns,"initialize");var os=w((e,t={})=>{let{code:r}=on(e);return rn.fromText(r,t)},"getDiagramFromText");function is(e,t,r,n){Qi(t,e),Zi(t,r,n,t.attr("id"))}w(is,"addA11yInfo");var Nt=Object.freeze({render:F0,parse:rs,getDiagramFromText:os,initialize:ns,getConfig:Et,setConfig:_n,getSiteConfig:cr,updateSiteConfig:Cn,reset:w(()=>{Yt()},"reset"),globalReset:w(()=>{Yt(ar)},"globalReset"),defaultConfig:ar});nr(Et().logLevel);Yt(Et());var j0=w((e,t,r)=>{H.warn(e),lr(e)?(r&&r(e.str,e.hash),t.push({...e,message:e.str,error:e})):(r&&r(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),ss=w(async function(e={querySelector:".mermaid"}){try{await G0(e)}catch(t){if(lr(t)&&H.error(t.str),rt.parseError&&rt.parseError(t),!e.suppressErrors)throw H.error("Use the suppressErrors option to suppress these errors"),t}},"run"),G0=w(async function({postRenderCallback:e,querySelector:t,nodes:r}={querySelector:".mermaid"}){let n=Nt.getConfig();H.debug(`${e?"":"No "}Callback function found`);let o;if(r)o=r;else if(t)o=document.querySelectorAll(t);else throw new Error("Nodes and querySelector are both undefined");H.debug(`Found ${o.length} diagrams`),(n==null?void 0:n.startOnLoad)!==void 0&&(H.debug("Start On Load: "+(n==null?void 0:n.startOnLoad)),Nt.updateSiteConfig({startOnLoad:n==null?void 0:n.startOnLoad}));let i=new It.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed),s,c=[];for(let l of Array.from(o)){if(H.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");let d=`mermaid-${i.next()}`;s=l.innerHTML,s=zn(It.entityDecode(s)).trim().replace(//gi,"
");let g=It.detectInit(s);g&&H.debug("Detected early reinit: ",g);try{let{svg:y,bindFunctions:C}=await ds(d,s,l);l.innerHTML=y,e&&await e(d),C&&C(l)}catch(y){j0(y,c,rt.parseError)}}if(c.length>0)throw c[0]},"runThrowsErrors"),as=w(function(e){Nt.initialize(e)},"initialize"),$0=w(async function(e,t,r){H.warn("mermaid.init is deprecated. Please use run instead."),e&&as(e);let n={postRenderCallback:r,querySelector:".mermaid"};typeof t=="string"?n.querySelector=t:t&&(t instanceof HTMLElement?n.nodes=[t]:n.nodes=t),await ss(n)},"init"),R0=w(async(e,{lazyLoad:t=!0}={})=>{er(),sr(...e),t===!1&&await h0()},"registerExternalDiagrams"),cs=w(function(){if(rt.startOnLoad){let{startOnLoad:e}=Nt.getConfig();e&&rt.run().catch(t=>H.error("Mermaid failed to initialize",t))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",cs,!1);var U0=w(function(e){rt.parseError=e},"setParseErrorHandler"),tr=[],en=!1,ls=w(async()=>{if(!en){for(en=!0;tr.length>0;){let e=tr.shift();if(e)try{await e()}catch(t){H.error("Error executing queue",t)}}en=!1}},"executeQueue"),V0=w(async(e,t)=>new Promise((r,n)=>{let o=w(()=>new Promise((i,s)=>{Nt.parse(e,t).then(c=>{i(c),r(c)},c=>{var l;H.error("Error parsing",c),(l=rt.parseError)==null||l.call(rt,c),s(c),n(c)})}),"performCall");tr.push(o),ls().catch(n)}),"parse"),ds=w((e,t,r)=>new Promise((n,o)=>{let i=w(()=>new Promise((s,c)=>{Nt.render(e,t,r).then(l=>{s(l),n(l)},l=>{var d;H.error("Error parsing",l),(d=rt.parseError)==null||d.call(rt,l),c(l),o(l)})}),"performCall");tr.push(i),ls().catch(o)}),"render"),rt={startOnLoad:!0,mermaidAPI:Nt,parse:V0,render:ds,init:$0,run:ss,registerExternalDiagrams:R0,registerLayoutLoaders:Bn,initialize:as,parseError:void 0,contentLoaded:cs,setParseErrorHandler:U0,detectType:ir,registerIconPacks:In},an=rt;an.initialize({startOnLoad:!0,theme:"dark",logLevel:"info"});var q0={view:m(".preview"),init:function(){return this.update(),m(".terminal").listen("input",()=>this.update()),!!O.getSearchParam("md")?this.view.show():this.view.hide(),this},autoLink:function(){let e=I.parse("__auto-links__");if(!e)return;let t=Object.keys(e).map(o=>`${o}\\w+`).join("|"),r=new RegExp(`(${t})`,"g"),n=this.view.el.innerHTML.replace(r,o=>{let i=Object.keys(e).find(c=>o.startsWith(c)),s=e[i];return s.startsWith("http")?`${o}`:`${o}`});this.view.innerHTML(n)},update:function(){let md=m(".terminal").getValue();this.view.innerHTML(Re(md)),this.autoLink();let{elements}=m("pre");Array.prototype.slice.call(elements).forEach(e=>{let t=Ue("\u{1F4CB} Copy",async r=>{r.stopPropagation();let n=r.srcElement.previousSibling.innerHTML;await kt(n,"\u{1F4CB} Code copied to clipboard")});e.appendChild(t)}),m("code").listenAll("click",({innerHTML})=>{let result=eval(innerHTML);m(".console").show().innerHTML(result)}),m(".console").listen("click",async e=>{e.srcElement.classList.add("hidden");let t=e.srcElement.innerHTML;await kt(t,"\u{1F4CB} Code copied to clipboard")}),an.contentLoaded()},show:function(e=!0){this.view.show(),O.set(void 0,{md:e})},hide:function(){this.view.hide(),O.deleteParam("md")},toggle:function(e="true"){return O.getSearchParam("md")===e?this.hide():this.show(e),this}},_t=q0;var W0=e=>{let t=document.querySelector(e);if(ge(t.value)){let r=JSON.stringify(JSON.parse(t.value),null,2);t.value=r,E.success("\u{1F44D} JSON value prettified")}else E.error("\u{1F627} Value is not in valid JSON format")},hs=W0;var us=(e=1e3)=>new Promise(t=>{setTimeout(t,e)});var V=(e,t,r)=>{let n=document.createElement("IMG");return r&&n.classList.add(r),t&&n.setAttribute("alt",t),n.setAttribute("src",e),n};var ps="./list-LK7OCHR7.svg";var ae="./trash-RDL437QG.svg";var fs="./checkmark-circle-JQ7ADSUI.svg";var ms="./cloud-sync-F3RLGHML.svg";var gs="./lighter-UBEI67LL.svg";var bs="./enter-down-6TVO6OFR.svg";var ws="./download-FVXMIYZ4.svg";var ys="./envelope-Z2VRVSLR.svg";var vs="./bug-36UGMUXT.svg";var xs="./picture-3TDOSVS3.svg";var ks="./printer-B7RMPYZC.svg";var Cs="./page-break-BLVP5QBQ.svg";var _s="./frame-expand-CX6CNP53.svg";var Ss="./arrow-right-circle-2Q6EHM2H.svg";var Ts="./magic-wand-JQJ6EKRO.svg";var As="./rocket-AIY2RJJS.svg";var Ms="./spell-check-V6QYTGNT.svg";var Ns="./pencil-X3ZMY3QU.svg";var cn="./exit-up-GH6BPN2X.svg";var Es="./leaf-CGBE7XAJ.svg";var Is=async()=>{try{let e=Y(),t=O.get();await navigator.share({title:e?e.title:"\u270D\uFE0F MiroPad",text:e?e.text:"Temporary note keeping app for the browser",url:t})}catch(e){E.info(`${e.message}`)}};var ph=()=>{let e=I.get("gistId");return I.get("authToken")?e?"Sync: Notes with my GitHub Gist":"Sync: Pick your Gist to sync with":"Sync: Authorize your GitHub account for synchronisation"},fh={title:"Share note",icon:V(cn,"share note"),sortTitle:"Share",call:Is},mh={title:"Share public link",key:null,icon:V(cn,"share public link"),sortTitle:"Share public link",call:async()=>{B.hide(),await xe(m(".terminal").getValue());let e=Y();if(e){let r=(await qn({note:e})).history[0].url,n=await fetch(r).then(g=>g.json()),{files:o}=n,i=Object.values(o),[s]=i,{raw_url:c}=s,l=`${O.baseUrl}?raw=${c}`;kt(l,"MiroPad public link copied to clipboard \u{1F4CB}!")}}},ln=()=>[{title:"New note",icon:V(Ns,"new note"),sortTitle:"New",key:"n",call:ve},{title:"Save",key:"s",icon:V(fs,"save note"),sortTitle:"Save",call:async()=>{B.hide(),await xe(m(".terminal").getValue());let e=Y();e&&!e.disableSync&&Rn([e]),St()}},...navigator.share?[fh]:[],{title:"Toggle MarkDown Viewer",icon:V(Cs,"toggle markdown viewer","rotate90"),sortTitle:"Split",key:"m",call:()=>{_t.toggle(),B.hide()}},{title:"Full MarkDown view",icon:V(_s,"full view mode"),sortTitle:"Full view",key:"shift m",call:()=>{_t.toggle("full"),B.hide()}},...wo()?[mh]:[],{title:"Zen mode",icon:V(Es,"switch to zen mode"),sortTitle:"Zen mode",key:"shift z",call:()=>{!!O.getSearchParam("zen")?O.deleteParam("zen"):O.set(void 0,{zen:!0}),B.hide()}},{title:"List saved notes",icon:V(ps,"list notes"),sortTitle:"Notes",key:"p",call:()=>B.toggle(B.getModes().notes)},{title:"Delete note",key:"shift d",icon:V(ae,"delete note"),sortTitle:"Delete",call:ke},{title:ph(),icon:V(ms,"sync with github"),key:null,call:async()=>{let e=I.get("authToken");if(!e)return xo();if(!I.get("gistId"))return await ko(e);B.hide(),await ee()}},{title:"Sync: Reset Gist settings",icon:V(gs,"reset github settings"),key:null,call:()=>{localStorage.removeItem("authToken"),localStorage.removeItem("gistId"),localStorage.removeItem("lastLocalUpdate"),localStorage.removeItem("lastSync"),E.info("Gist setting have been reset!"),B.hide()}},{title:"Toggle sidebar",experimental:!0,key:"shift l",call:()=>{m("aside").toggle()}},{title:"Save to File System...",experimental:!0,icon:V(bs,"save file"),key:"shift s",call:()=>{let e=Y();if(e){let{text:t,title:r}=e;_o(t,r),B.hide()}}},{title:"Email note to...",experimental:!0,icon:V(ys,"email"),key:"e",call:()=>{let e=m(".terminal").getValue();ni(e),B.hide()}},{title:"Toggle experimental features",experimental:!1,icon:V(vs,"lab"),key:null,call:()=>{let e=!!I.get("__experimental__");e?I.remove("__experimental__"):I.set("__experimental__",!0),E.showNotification(`Experimental features turned ${e?"off":"on"}`),B.hide()}},{title:"Toggle Autocompletion",experimental:!1,icon:V(Ss,"autocompletion"),key:null,call:()=>{let e=!!I.get("__autocomplete__");e?I.remove("__autocomplete__"):I.set("__autocomplete__",!0),E.showNotification(`Autocomplete feature turned ${e?"off":"on"}`),B.hide(),m(".terminal").focus()}},{title:"Add a cover picture",experimental:!0,icon:V(xs,"cover picture"),key:null,call:async()=>{let e=prompt("Paste the image URL in here...");B.hide(),await us(200),kt(`![bg](${e}){.cover}`,"\u{1F44C}Copied! Paste the code on the MiroPad editor"),m(".terminal").focus(),E.info("Paste the cover picture wherever you prefer on the MirPad editor")}},{title:"Print MarkDown output",experimental:!0,icon:V(ks,"print"),key:null,call:()=>{m(".preview").show(),_t.init(),globalThis.print(),B.hide()}},{key:"j",title:"Prettify JSON document",icon:V(Ts,"prettify json"),call:()=>{hs(".terminal"),B.hide()}},{title:"Toggle command palette",icon:V(As,"toggle command palette"),key:["shift p","k"],call:()=>B.toggle(B.getModes().commands)},{title:"Find and Replace...",experimental:!0,icon:V(Ms,"find and replace"),key:"shift f",call:()=>{let e=m(".terminal").getValue().slice(m(".terminal").el.selectionStart,m(".terminal").el.selectionEnd),t=prompt("What do you wanna find?",e);if(!t)return E.info("Value not found");let r=m(".terminal").getValue().indexOf(t);m(".terminal").el.setSelectionRange(r,r+t.length);let n=prompt(`Replace ${t} with...`);n&&m(".terminal").el.setRangeText(n)}},{title:"Download all notes!",icon:V(ws,"Download all notes on your local file system"),call:()=>{let e=lt({includeDeleted:!0});So(e),B.hide()}},{title:"Permanently delete ALL notes \u2757",icon:V(ae,"delete note"),call:()=>{confirm("Are you sure you want do delete ALL your notes?")&&(lt({includeDeleted:!0}).forEach(r=>{I.remove(r.id)}),ve()),B.hide()}}];var gh={events:[],on(e,t){return Array.isArray(e)?(e.forEach(r=>{let n=r.key||r,o=r.call||t;this.on(n,o)}),this):(e&&typeof e=="string"&&t&&typeof t=="function"&&(this.events=[...this.events,{key:e.includes("shift")?e.replace("shift","").trim():e,shift:e.includes("shift"),fn(){t()}}]),this)},listen(){return document.addEventListener("keydown",e=>{this.handleEvent(e)}),this},handleEvent(e){this.events.map(t=>(t.key===e.key&&(e.ctrlKey===!0||e.metaKey===!0)&&e.shiftKey===t.shift&&(e.preventDefault(),t.fn()),!0))}},Ps=gh;var Ds=(e,t)=>{let r=document.createElement("a");return r.href=t,r.appendChild(Dt(e)?e:document.createTextNode(e)),r};var dn=(e,t=new Date)=>{let r=new Date(e).getFullYear(),n=new Date(t).getFullYear();return r===n},zs=(e,t=new Date)=>{let r=new Date(e).getMonth(),n=new Date(t).getMonth();return r===n},bh=(e,t=new Date)=>{let r=new Date(e).getDate(),n=new Date(t).getDate();return r===n},Ls=(e,t=new Date)=>dn(e,t)&&zs(e,t)&&bh(e,t),wh=["January","February","March","April","May","June","July","August","September","October","November","December"],yh=wh.map(e=>e.slice(0,3)),Os=(e=new Date)=>{let t=new Date(e),r=new Date().getDate()-1;return zs(t)&&dn(t)&&t.getDate()===r},ce=e=>{let t=new Date(e),r=Os(e)?"":yh[t.getMonth()],n=dn(t)?"":t.getFullYear(),o=Os(t)?"Yesterday":t.getDate();return`${Ls(t)?"":`${o} ${r} ${n}`} ${Ls(t)?t.toLocaleTimeString():""}`};var Bs=e=>e.reduce((r,n)=>{if(r.length===0)return[n];let o=Math.max(...r);return[...r,...n>=o?[n]:[]]},[]).length===e.length;var hn=(e,t)=>{let r=e.split(" ").map(i=>i.toLowerCase()),o=t.split(" ").map(i=>i.toLowerCase()).map(i=>r.map((l,d)=>l.includes(i)?d:-1).reduce((l,d)=>d>-1?d:l,-1));return o.includes(-1)?!1:Bs(o)};var Fs=()=>globalThis.Notification.requestPermission(),js=()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register(`${globalThis.location.pathname.slice(-1)==="/"?globalThis.location.pathname:`${globalThis.location.origin}/`}service-worker.js?v=v3.1.18`)};var Gs=e=>Array.isArray(e)?e.map(t=>Gs(t)).join(", "):e?`\u2318+${e.toUpperCase()}`:"",vh=(()=>{let e;(c=>(c.off="off",c.notes="notes",c.revisions="revisions",c.commands="commands",c.gists="gists"))(e||(e={}));let t={input:"",mode:"off",options:{selected:0,length:0}};return{getState:function(){return t},getModes:function(){return e},setState:function(r){return t={...t,...r},t},show:function(r="commands"){switch(m("#commander").show(),m("#commander input").focus(),r){case"commands":this.generateCommands(),m("#commander input").setValue("> "),this.setState({mode:"commands"});break;case"notes":this.generateNotes(),m("#commander input").setValue(""),this.setState({mode:"notes"});break;case"revisions":this.generateRevisions(),m("#commander input").setValue(""),this.setState({mode:"revisions"});break;default:break}return this},hide:function(){return m("#commander").hide(),t.mode="off",this},toggle:function(r){return Fs(),t.mode==="off"||t.mode!==r?this.show(r):this.hide(),this},commands:function(){return ln()},selectOption:function(r="down"){let n=t.options.selected,o=t.options.length-1,l=r==="down"?n===o?0:n+1:n===0?o:n-1;t.options={...t.options,selected:l}},initCommander:function(){return ln().slice(0,5).map(r=>{m(".mobile-dock").append(Ue([r.icon,document.createTextNode(r.sortTitle)],r.call,r.title.toLowerCase().replace(/\s/g,"-")))}),m("#commander button").listen("click",()=>{this.hide()}),m("#commander input").listen("keydown",r=>{r.keyCode===40&&(t.mode==="revisions"&&m("#commands li.selected").click(),this.selectOption("down")),r.keyCode===38&&(t.mode==="revisions"&&m("#commands li.selected").click(),this.selectOption("up"))}).listen("keyup",r=>{r.keyCode===13&&(t.mode==="commands"?m("#commands li.selected div").click():m("#commands li.selected a").click()),r.keyCode===27&&m(".terminal").focus();let n=r.target;t.input!==n.value&&(t.options.selected=0),t.input=n.value,this.generateOptions(n.value)}),this},init:function(){return this.initCommander(),Ps.listen().on(this.commands()),m(".menu").listen("click",()=>this.toggle()),m("#revisions").listen("click",()=>this.generateRevisions()),this},generateRevisions:function(){this.show(),t.mode="revisions";let r=Y();if(r){let{revisions:n}=r,o=t.options.selected,i=Object.keys(n).sort((s,c)=>{let{dateCreated:l}=n[s],{dateCreated:d}=n[c];return d-l}).map((s,c)=>({title:wt({content:`...${s.slice(-10)}`}),secondary:`${ce(n[s].dateCreated)}`,onclick:()=>{O.set(void 0,{v:s}),t.options.selected=c,this.generateRevisions()}})).map((s,c)=>xt(s,c===o));m("#commands").html(i),t.options={...t.options,length:i.length}}return this},generateOptions:function(r){switch(t.mode){case"commands":case"notes":r.slice(0,1)===">"?(t.mode="commands",this.generateCommands(r.slice(1).trim()),m("#commander input").placeholder("Search for commands...")):(t.mode="notes",this.generateNotes(r));return;case"revisions":return this.generateRevisions();case"off":break;default:break}},generateNotes:function(r=""){let n=t.options.selected,o=lt().filter(({title:i})=>hn(i,r)).filter(({id:i,deleted:s})=>!s&&i!==O.getPageId()).sort((i,s)=>{let c=we(i.title);return we(s.title)-c}).map(({id:i,title:s},c)=>{let l=we(s),d=`${globalThis.location.origin}${globalThis.location.pathname}#${i}`,g=Ds(wt({content:s,highlight:r}),d);return xt({title:g,secondary:ce(l),onclick:()=>{this.hide(),m(".terminal").focus()}},c===n)});return m("#commands").html(o),m("#commander input").placeholder(`Search from ${o.length} saved notes...`),t.options={...t.options,length:o.length},this},generateCommands:function(r=""){let n=t.options.selected,o=this.commands().filter(({title:i})=>hn(i,r)).filter(({experimental:i=!1})=>I.get("__experimental__")?!0:!i).map(({title:i,key:s,call:c,icon:l},d)=>xt({title:wt({content:i,highlight:r}),icon:l,secondary:Gs(s),onclick:c},d===n));return m("#commands").html(o),t.options={...t.options,length:o.length},this}}})(),B=vh;var $s="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Rs=(e=21)=>{let t="",r=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+=$s[r[e]&63];return t};var Vs=mn(Us());var xh=e=>{let t=e.replace(/[\r\n\t]+/g,"").toLowerCase();return le.getMatchingWords(t)},un=(e,t)=>{let r="",n=t-1;do{let o=e[n]||"";n=o.trim()===""?-1:n-1,r=o.trim()!==""?`${o}${r}`:r}while(n>=0);return r},pn=e=>{let t=(0,Vs.default)(e,e.selectionEnd),{top:r,left:n}=t,o=m(".terminal").el.scrollHeight,i=m("main").el;i.style.height=`${o}px`,m(".suggestion").el.style.top=`${r}px`,m(".suggestion").el.style.left=`${n}px`},fn=(e,t)=>e[t]===void 0||e[t].trim()==="",qs=e=>{let t=e.target.selectionEnd,r=z.el.getValue(),n=r[t-1];if(e.inputType==="deleteContentBackward"||n===" ")return z.setState({prediction:null,currentWord:null}),m(".suggestion").hide();let o=un(r,t);if(e.inputType==="insertText"&&fn(r,t)&&!o.startsWith("#")){pn(e.target);let s=xh(o),[c]=s,l=c||"";z.setState({prediction:l,currentWord:o,matches:s.slice(0,10),options:{selected:0,length:s.length}});let d=z.getState();d.currentWord&&d.prediction&&d.currentWord.length>1?(z.renderInlineSuggestion(),z.renderOptions()):m(".suggestion").hide()}};var Ws=(e,t)=>e.split(` `).reduce((o,i)=>{let{isFound:s}=o;if(s)return o;let c=`${o.text}${i} `,l=c.length;return t>=l?{text:c,isFound:!1}:{text:i,isFound:!0}},{text:"",isFound:!1}).text;var Hs=e=>{let t=Ws(e.target.value,e.target.selectionEnd),r={"* [":` * [ ] `,"* ":` diff --git a/version b/version index 13e283c..0feedc6 100644 --- a/version +++ b/version @@ -1 +1 @@ -v3.1.17 +v3.1.18