(function(){"use strict";try{if(typeof document!="undefined"){var o=document.createElement("style");o.appendChild(document.createTextNode(".code-diff-view[theme=light]{color:var(--fgColor-default, var(--color-fg-default));background-color:var(--bgColor-default, var(--color-canvas-default));--color-canvas-default-transparent: rgba(255,255,255,0);--color-page-header-bg: #f6f8fa;--color-marketing-icon-primary: #218bff;--color-marketing-icon-secondary: #54aeff;--color-diff-blob-addition-num-text: #1F2328;--color-diff-blob-addition-fg: #1F2328;--color-diff-blob-addition-num-bg: #ccffd8;--color-diff-blob-addition-line-bg: #e6ffec;--color-diff-blob-addition-word-bg: #abf2bc;--color-diff-blob-deletion-num-text: #1F2328;--color-diff-blob-deletion-fg: #1F2328;--color-diff-blob-deletion-num-bg: #ffd7d5;--color-diff-blob-deletion-line-bg: #ffebe9;--color-diff-blob-deletion-word-bg: rgba(255,129,130,.4);--color-diff-blob-hunk-num-bg: rgba(84,174,255,.4);--color-diff-blob-expander-icon: #656d76;--color-diff-blob-selected-line-highlight-mix-blend-mode: multiply;--color-diffstat-deletion-border: rgba(31,35,40,.15);--color-diffstat-addition-border: rgba(31,35,40,.15);--color-diffstat-addition-bg: #1f883d;--color-search-keyword-hl: #fff8c5;--color-prettylights-syntax-comment: #6e7781;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-storage-modifier-import: #24292f;--color-prettylights-syntax-entity-tag: #116329;--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-variable: #953800;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--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: #24292f;--color-prettylights-syntax-markup-bold: #24292f;--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: #eaeef2;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-brackethighlighter-angle: #57606a;--color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-codemirror-text: #1F2328;--color-codemirror-bg: #ffffff;--color-codemirror-gutters-bg: #ffffff;--color-codemirror-guttermarker-text: #ffffff;--color-codemirror-guttermarker-subtle-text: #6e7781;--color-codemirror-linenumber-text: #656d76;--color-codemirror-cursor: #1F2328;--color-codemirror-selection-bg: rgba(84,174,255,.4);--color-codemirror-activeline-bg: rgba(234,238,242,.5);--color-codemirror-matchingbracket-text: #1F2328;--color-codemirror-lines-bg: #ffffff;--color-codemirror-syntax-comment: #24292f;--color-codemirror-syntax-constant: #0550ae;--color-codemirror-syntax-entity: #8250df;--color-codemirror-syntax-keyword: #cf222e;--color-codemirror-syntax-storage: #cf222e;--color-codemirror-syntax-string: #0a3069;--color-codemirror-syntax-support: #0550ae;--color-codemirror-syntax-variable: #953800;--color-checks-bg: #24292f;--color-checks-run-border-width: 0px;--color-checks-container-border-width: 0px;--color-checks-text-primary: #f6f8fa;--color-checks-text-secondary: #8c959f;--color-checks-text-link: #54aeff;--color-checks-btn-icon: #afb8c1;--color-checks-btn-hover-icon: #f6f8fa;--color-checks-btn-hover-bg: rgba(255,255,255,.125);--color-checks-input-text: #eaeef2;--color-checks-input-placeholder-text: #8c959f;--color-checks-input-focus-text: #8c959f;--color-checks-input-bg: #32383f;--color-checks-input-shadow: none;--color-checks-donut-error: #fa4549;--color-checks-donut-pending: #bf8700;--color-checks-donut-success: #1f883d;--color-checks-donut-neutral: #afb8c1;--color-checks-dropdown-text: #afb8c1;--color-checks-dropdown-bg: #32383f;--color-checks-dropdown-border: #424a53;--color-checks-dropdown-shadow: rgba(31,35,40,.3);--color-checks-dropdown-hover-text: #f6f8fa;--color-checks-dropdown-hover-bg: #424a53;--color-checks-dropdown-btn-hover-text: #f6f8fa;--color-checks-dropdown-btn-hover-bg: #32383f;--color-checks-scrollbar-thumb-bg: #57606a;--color-checks-header-label-text: #d0d7de;--color-checks-header-label-open-text: #f6f8fa;--color-checks-header-border: #32383f;--color-checks-header-icon: #8c959f;--color-checks-line-text: #d0d7de;--color-checks-line-num-text: rgba(140,149,159,.75);--color-checks-line-timestamp-text: #8c959f;--color-checks-line-hover-bg: #32383f;--color-checks-line-selected-bg: rgba(33,139,255,.15);--color-checks-line-selected-num-text: #54aeff;--color-checks-line-dt-fm-text: #24292f;--color-checks-line-dt-fm-bg: #9a6700;--color-checks-gate-bg: rgba(125,78,0,.15);--color-checks-gate-text: #d0d7de;--color-checks-gate-waiting-text: #d4a72c;--color-checks-step-header-open-bg: #32383f;--color-checks-step-error-text: #ff8182;--color-checks-step-warning-text: #d4a72c;--color-checks-logline-text: #8c959f;--color-checks-logline-num-text: rgba(140,149,159,.75);--color-checks-logline-debug-text: #c297ff;--color-checks-logline-error-text: #d0d7de;--color-checks-logline-error-num-text: #ff8182;--color-checks-logline-error-bg: rgba(164,14,38,.15);--color-checks-logline-warning-text: #d0d7de;--color-checks-logline-warning-num-text: #d4a72c;--color-checks-logline-warning-bg: rgba(125,78,0,.15);--color-checks-logline-command-text: #54aeff;--color-checks-logline-section-text: #4ac26b;--color-checks-ansi-black: #24292f;--color-checks-ansi-black-bright: #32383f;--color-checks-ansi-white: #d0d7de;--color-checks-ansi-white-bright: #d0d7de;--color-checks-ansi-gray: #8c959f;--color-checks-ansi-red: #ff8182;--color-checks-ansi-red-bright: #ffaba8;--color-checks-ansi-green: #4ac26b;--color-checks-ansi-green-bright: #6fdd8b;--color-checks-ansi-yellow: #d4a72c;--color-checks-ansi-yellow-bright: #eac54f;--color-checks-ansi-blue: #54aeff;--color-checks-ansi-blue-bright: #80ccff;--color-checks-ansi-magenta: #c297ff;--color-checks-ansi-magenta-bright: #d8b9ff;--color-checks-ansi-cyan: #76e3ea;--color-checks-ansi-cyan-bright: #b3f0ff;--color-project-header-bg: #24292f;--color-project-sidebar-bg: #ffffff;--color-project-gradient-in: #ffffff;--color-project-gradient-out: rgba(255,255,255,0);--color-mktg-btn-bg: #1b1f23;--color-mktg-btn-shadow-outline: rgb(0 0 0 / 15%) 0 0 0 1px inset;--color-mktg-btn-shadow-focus: rgb(0 0 0 / 15%) 0 0 0 4px;--color-mktg-btn-shadow-hover: 0 3px 2px rgba(0, 0, 0, .07), 0 7px 5px rgba(0, 0, 0, .04), 0 12px 10px rgba(0, 0, 0, .03), 0 22px 18px rgba(0, 0, 0, .03), 0 42px 33px rgba(0, 0, 0, .02), 0 100px 80px rgba(0, 0, 0, .02);--color-mktg-btn-shadow-hover-muted: rgb(0 0 0 / 70%) 0 0 0 2px inset;--color-control-border-color-emphasis: #858F99;--color-avatar-bg: #ffffff;--color-avatar-border: rgba(31,35,40,.15);--color-avatar-stack-fade: #afb8c1;--color-avatar-stack-fade-more: #d0d7de;--color-avatar-child-shadow: 0 0 0 2px rgba(255,255,255,.8);--color-topic-tag-border: rgba(0,0,0,0);--color-counter-border: rgba(0,0,0,0);--color-select-menu-backdrop-border: rgba(0,0,0,0);--color-select-menu-tap-highlight: rgba(175,184,193,.5);--color-select-menu-tap-focus-bg: #b6e3ff;--color-overlay-shadow: 0 1px 3px rgba(31,35,40,.12), 0 8px 24px rgba(66,74,83,.12);--color-overlay-backdrop: rgba(140,149,159,.2);--color-header-text: rgba(255,255,255,.7);--color-header-bg: #24292f;--color-header-divider: #57606a;--color-header-logo: #ffffff;--color-header-search-bg: #24292f;--color-header-search-border: #57606a;--color-sidenav-selected-bg: #ffffff;--color-menu-bg-active: rgba(0,0,0,0);--color-input-disabled-bg: rgba(175,184,193,.2);--color-timeline-badge-bg: #eaeef2;--color-ansi-black: #24292f;--color-ansi-black-bright: #57606a;--color-ansi-white: #6e7781;--color-ansi-white-bright: #8c959f;--color-ansi-gray: #6e7781;--color-ansi-red: #cf222e;--color-ansi-red-bright: #a40e26;--color-ansi-green: #116329;--color-ansi-green-bright: #1a7f37;--color-ansi-yellow: #4d2d00;--color-ansi-yellow-bright: #633c01;--color-ansi-blue: #0969da;--color-ansi-blue-bright: #218bff;--color-ansi-magenta: #8250df;--color-ansi-magenta-bright: #a475f9;--color-ansi-cyan: #1b7c83;--color-ansi-cyan-bright: #3192aa;--color-btn-text: #24292f;--color-btn-bg: #f6f8fa;--color-btn-border: rgba(31,35,40,.15);--color-btn-shadow: 0 1px 0 rgba(31,35,40,.04);--color-btn-inset-shadow: inset 0 1px 0 rgba(255,255,255,.25);--color-btn-hover-bg: #f3f4f6;--color-btn-hover-border: rgba(31,35,40,.15);--color-btn-active-bg: hsla(220,14%,93%,1);--color-btn-active-border: rgba(31,35,40,.15);--color-btn-selected-bg: hsla(220,14%,94%,1);--color-btn-counter-bg: rgba(31,35,40,.08);--color-btn-primary-text: #ffffff;--color-btn-primary-bg: #1f883d;--color-btn-primary-border: rgba(31,35,40,.15);--color-btn-primary-shadow: 0 1px 0 rgba(31,35,40,.1);--color-btn-primary-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-primary-hover-bg: #1a7f37;--color-btn-primary-hover-border: rgba(31,35,40,.15);--color-btn-primary-selected-bg: hsla(137,66%,28%,1);--color-btn-primary-selected-shadow: inset 0 1px 0 rgba(0,45,17,.2);--color-btn-primary-disabled-text: rgba(255,255,255,.8);--color-btn-primary-disabled-bg: #94d3a2;--color-btn-primary-disabled-border: rgba(31,35,40,.15);--color-btn-primary-icon: rgba(255,255,255,.8);--color-btn-primary-counter-bg: rgba(0,45,17,.2);--color-btn-outline-text: #0969da;--color-btn-outline-hover-text: #ffffff;--color-btn-outline-hover-bg: #0969da;--color-btn-outline-hover-border: rgba(31,35,40,.15);--color-btn-outline-hover-shadow: 0 1px 0 rgba(31,35,40,.1);--color-btn-outline-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-outline-hover-counter-bg: rgba(255,255,255,.2);--color-btn-outline-selected-text: #ffffff;--color-btn-outline-selected-bg: hsla(212,92%,42%,1);--color-btn-outline-selected-border: rgba(31,35,40,.15);--color-btn-outline-selected-shadow: inset 0 1px 0 rgba(0,33,85,.2);--color-btn-outline-disabled-text: rgba(9,105,218,.5);--color-btn-outline-disabled-bg: #f6f8fa;--color-btn-outline-disabled-counter-bg: rgba(9,105,218,.05);--color-btn-outline-counter-bg: #0969da1a;--color-btn-outline-counter-fg: #0550ae;--color-btn-outline-hover-counter-fg: #ffffff;--color-btn-outline-disabled-counter-fg: rgba(9,105,218,.5);--color-btn-danger-text: #cf222e;--color-btn-danger-hover-text: #ffffff;--color-btn-danger-hover-bg: #a40e26;--color-btn-danger-hover-border: rgba(31,35,40,.15);--color-btn-danger-hover-shadow: 0 1px 0 rgba(31,35,40,.1);--color-btn-danger-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-danger-hover-counter-bg: rgba(255,255,255,.2);--color-btn-danger-selected-text: #ffffff;--color-btn-danger-selected-bg: hsla(356,72%,44%,1);--color-btn-danger-selected-border: rgba(31,35,40,.15);--color-btn-danger-selected-shadow: inset 0 1px 0 rgba(76,0,20,.2);--color-btn-danger-disabled-text: rgba(207,34,46,.5);--color-btn-danger-disabled-bg: #f6f8fa;--color-btn-danger-disabled-counter-bg: rgba(207,34,46,.05);--color-btn-danger-counter-bg: rgba(207,34,46,.1);--color-btn-danger-icon: #cf222e;--color-btn-danger-hover-icon: #ffffff;--color-btn-danger-counter-fg: #a40e26;--color-btn-danger-hover-counter-fg: #ffffff;--color-btn-danger-disabled-counter-fg: rgba(207,34,46,.5);--color-underlinenav-icon: #6e7781;--color-underlinenav-border-hover: rgba(175,184,193,.2);--color-action-list-item-inline-divider: rgba(208,215,222,.48);--color-action-list-item-default-hover-bg: rgba(208,215,222,.32);--color-action-list-item-default-hover-border: rgba(0,0,0,0);--color-action-list-item-default-active-bg: rgba(208,215,222,.48);--color-action-list-item-default-active-border: rgba(0,0,0,0);--color-action-list-item-default-selected-bg: rgba(208,215,222,.24);--color-action-list-item-danger-hover-bg: rgba(255,235,233,.64);--color-action-list-item-danger-active-bg: #ffebe9;--color-action-list-item-danger-hover-text: #d1242f;--color-switch-track-bg: #eaeef2;--color-switch-track-hover-bg: hsla(210,24%,90%,1);--color-switch-track-active-bg: hsla(210,24%,88%,1);--color-switch-track-disabled-bg: #8c959f;--color-switch-track-fg: #656d76;--color-switch-track-disabled-fg: #ffffff;--color-switch-track-border: rgba(0,0,0,0);--color-switch-track-checked-bg: #0969da;--color-switch-track-checked-hover-bg: #0860CA;--color-switch-track-checked-active-bg: #0757BA;--color-switch-track-checked-fg: #ffffff;--color-switch-track-checked-disabled-fg: #ffffff;--color-switch-track-checked-border: rgba(0,0,0,0);--color-switch-knob-bg: #ffffff;--color-switch-knob-disabled-bg: #f6f8fa;--color-switch-knob-border: #858F99;--color-switch-knob-checked-bg: #ffffff;--color-switch-knob-checked-disabled-bg: #f6f8fa;--color-switch-knob-checked-border: #0969da;--color-segmented-control-bg: #eaeef2;--color-segmented-control-button-bg: #ffffff;--color-segmented-control-button-hover-bg: rgba(175,184,193,.2);--color-segmented-control-button-active-bg: rgba(175,184,193,.4);--color-segmented-control-button-selected-border: #8c959f;--color-tree-view-item-chevron-hover-bg: rgba(208,215,222,.32);--color-tree-view-item-directory-fill: #54aeff;--color-fg-default: #1F2328;--color-fg-muted: #656d76;--color-fg-subtle: #6e7781;--color-fg-on-emphasis: #ffffff;--color-canvas-default: #ffffff;--color-canvas-overlay: #ffffff;--color-canvas-inset: #f6f8fa;--color-canvas-subtle: #f6f8fa;--color-border-default: #d0d7de;--color-border-muted: hsla(210,18%,87%,1);--color-border-subtle: rgba(31,35,40,.15);--color-shadow-small: 0 1px 0 rgba(31,35,40,.04);--color-shadow-medium: 0 3px 6px rgba(140,149,159,.15);--color-shadow-large: 0 8px 24px rgba(140,149,159,.2);--color-shadow-extra-large: 0 12px 28px rgba(140,149,159,.3);--color-neutral-emphasis-plus: #24292f;--color-neutral-emphasis: #6e7781;--color-neutral-muted: rgba(175,184,193,.2);--color-neutral-subtle: rgba(234,238,242,.5);--color-accent-fg: #0969da;--color-accent-emphasis: #0969da;--color-accent-muted: rgba(84,174,255,.4);--color-accent-subtle: #ddf4ff;--color-success-fg: #1a7f37;--color-success-emphasis: #1f883d;--color-success-muted: rgba(74,194,107,.4);--color-success-subtle: #dafbe1;--color-attention-fg: #9a6700;--color-attention-emphasis: #9a6700;--color-attention-muted: rgba(212,167,44,.4);--color-attention-subtle: #fff8c5;--color-severe-fg: #bc4c00;--color-severe-emphasis: #bc4c00;--color-severe-muted: rgba(251,143,68,.4);--color-severe-subtle: #fff1e5;--color-danger-fg: #d1242f;--color-danger-emphasis: #cf222e;--color-danger-muted: rgba(255,129,130,.4);--color-danger-subtle: #ffebe9;--color-open-fg: #1a7f37;--color-open-emphasis: #1f883d;--color-open-muted: rgba(74,194,107,.4);--color-open-subtle: #dafbe1;--color-closed-fg: #d1242f;--color-closed-emphasis: #cf222e;--color-closed-muted: rgba(255,129,130,.4);--color-closed-subtle: #ffebe9;--color-done-fg: #8250df;--color-done-emphasis: #8250df;--color-done-muted: rgba(194,151,255,.4);--color-done-subtle: #fbefff;--color-sponsors-fg: #bf3989;--color-sponsors-emphasis: #bf3989;--color-sponsors-muted: rgba(255,128,200,.4);--color-sponsors-subtle: #ffeff7;--color-primer-fg-disabled: #8c959f;--color-primer-canvas-backdrop: rgba(31,35,40,.5);--color-primer-canvas-sticky: rgba(255,255,255,.95);--color-primer-border-active: #fd8c73;--color-primer-border-contrast: rgba(31,35,40,.1);--color-primer-shadow-highlight: inset 0 1px 0 rgba(255,255,255,.25);--color-primer-shadow-inset: inset 0 1px 0 rgba(208,215,222,.2);--color-scale-black: #1F2328;--color-scale-white: #ffffff;--color-scale-gray-0: #f6f8fa;--color-scale-gray-1: #eaeef2;--color-scale-gray-2: #d0d7de;--color-scale-gray-3: #afb8c1;--color-scale-gray-4: #8c959f;--color-scale-gray-5: #6e7781;--color-scale-gray-6: #57606a;--color-scale-gray-7: #424a53;--color-scale-gray-8: #32383f;--color-scale-gray-9: #24292f;--color-scale-blue-0: #ddf4ff;--color-scale-blue-1: #b6e3ff;--color-scale-blue-2: #80ccff;--color-scale-blue-3: #54aeff;--color-scale-blue-4: #218bff;--color-scale-blue-5: #0969da;--color-scale-blue-6: #0550ae;--color-scale-blue-7: #033d8b;--color-scale-blue-8: #0a3069;--color-scale-blue-9: #002155;--color-scale-green-0: #dafbe1;--color-scale-green-1: #aceebb;--color-scale-green-2: #6fdd8b;--color-scale-green-3: #4ac26b;--color-scale-green-4: #2da44e;--color-scale-green-5: #1a7f37;--color-scale-green-6: #116329;--color-scale-green-7: #044f1e;--color-scale-green-8: #003d16;--color-scale-green-9: #002d11;--color-scale-yellow-0: #fff8c5;--color-scale-yellow-1: #fae17d;--color-scale-yellow-2: #eac54f;--color-scale-yellow-3: #d4a72c;--color-scale-yellow-4: #bf8700;--color-scale-yellow-5: #9a6700;--color-scale-yellow-6: #7d4e00;--color-scale-yellow-7: #633c01;--color-scale-yellow-8: #4d2d00;--color-scale-yellow-9: #3b2300;--color-scale-orange-0: #fff1e5;--color-scale-orange-1: #ffd8b5;--color-scale-orange-2: #ffb77c;--color-scale-orange-3: #fb8f44;--color-scale-orange-4: #e16f24;--color-scale-orange-5: #bc4c00;--color-scale-orange-6: #953800;--color-scale-orange-7: #762c00;--color-scale-orange-8: #5c2200;--color-scale-orange-9: #471700;--color-scale-red-0: #ffebe9;--color-scale-red-1: #ffcecb;--color-scale-red-2: #ffaba8;--color-scale-red-3: #ff8182;--color-scale-red-4: #fa4549;--color-scale-red-5: #cf222e;--color-scale-red-6: #a40e26;--color-scale-red-7: #82071e;--color-scale-red-8: #660018;--color-scale-red-9: #4c0014;--color-scale-purple-0: #fbefff;--color-scale-purple-1: #ecd8ff;--color-scale-purple-2: #d8b9ff;--color-scale-purple-3: #c297ff;--color-scale-purple-4: #a475f9;--color-scale-purple-5: #8250df;--color-scale-purple-6: #6639ba;--color-scale-purple-7: #512a97;--color-scale-purple-8: #3e1f79;--color-scale-purple-9: #2e1461;--color-scale-pink-0: #ffeff7;--color-scale-pink-1: #ffd3eb;--color-scale-pink-2: #ffadda;--color-scale-pink-3: #ff80c8;--color-scale-pink-4: #e85aad;--color-scale-pink-5: #bf3989;--color-scale-pink-6: #99286e;--color-scale-pink-7: #772057;--color-scale-pink-8: #611347;--color-scale-pink-9: #4d0336;--color-scale-coral-0: #fff0eb;--color-scale-coral-1: #ffd6cc;--color-scale-coral-2: #ffb4a1;--color-scale-coral-3: #fd8c73;--color-scale-coral-4: #ec6547;--color-scale-coral-5: #c4432b;--color-scale-coral-6: #9e2f1c;--color-scale-coral-7: #801f0f;--color-scale-coral-8: #691105;--color-scale-coral-9: #510901}.code-diff-view[theme=light] pre code.hljs{display:block;overflow-x:auto;padding:1em}.code-diff-view[theme=light] code.hljs{padding:3px 5px}.code-diff-view[theme=light] .hljs{color:#24292e;background:#fff}.code-diff-view[theme=light] .hljs-doctag,.code-diff-view[theme=light] .hljs-keyword,.code-diff-view[theme=light] .hljs-meta .hljs-keyword,.code-diff-view[theme=light] .hljs-template-tag,.code-diff-view[theme=light] .hljs-template-variable,.code-diff-view[theme=light] .hljs-type,.code-diff-view[theme=light] .hljs-variable.language_{color:#d73a49}.code-diff-view[theme=light] .hljs-title,.code-diff-view[theme=light] .hljs-title.class_,.code-diff-view[theme=light] .hljs-title.class_.inherited__,.code-diff-view[theme=light] .hljs-title.function_{color:#6f42c1}.code-diff-view[theme=light] .hljs-attr,.code-diff-view[theme=light] .hljs-attribute,.code-diff-view[theme=light] .hljs-literal,.code-diff-view[theme=light] .hljs-meta,.code-diff-view[theme=light] .hljs-number,.code-diff-view[theme=light] .hljs-operator,.code-diff-view[theme=light] .hljs-variable,.code-diff-view[theme=light] .hljs-selector-attr,.code-diff-view[theme=light] .hljs-selector-class,.code-diff-view[theme=light] .hljs-selector-id{color:#005cc5}.code-diff-view[theme=light] .hljs-regexp,.code-diff-view[theme=light] .hljs-string,.code-diff-view[theme=light] .hljs-meta .hljs-string{color:#032f62}.code-diff-view[theme=light] .hljs-built_in,.code-diff-view[theme=light] .hljs-symbol{color:#e36209}.code-diff-view[theme=light] .hljs-comment,.code-diff-view[theme=light] .hljs-code,.code-diff-view[theme=light] .hljs-formula{color:#6a737d}.code-diff-view[theme=light] .hljs-name,.code-diff-view[theme=light] .hljs-quote,.code-diff-view[theme=light] .hljs-selector-tag,.code-diff-view[theme=light] .hljs-selector-pseudo{color:#22863a}.code-diff-view[theme=light] .hljs-subst{color:#24292e}.code-diff-view[theme=light] .hljs-section{color:#005cc5;font-weight:700}.code-diff-view[theme=light] .hljs-bullet{color:#735c0f}.code-diff-view[theme=light] .hljs-emphasis{color:#24292e;font-style:italic}.code-diff-view[theme=light] .hljs-strong{color:#24292e;font-weight:700}.code-diff-view[theme=light] .hljs-addition{color:#22863a;background-color:#f0fff4}.code-diff-view[theme=light] .hljs-deletion{color:#b31d28;background-color:#ffeef0}.code-diff-view[theme=dark]{color:var(--fgColor-default, var(--color-fg-default));background-color:var(--bgColor-default, var(--color-canvas-default));--color-canvas-default-transparent: rgba(13,17,23,0);--color-page-header-bg: #0d1117;--color-marketing-icon-primary: #79c0ff;--color-marketing-icon-secondary: #1f6feb;--color-diff-blob-addition-num-text: #e6edf3;--color-diff-blob-addition-fg: #e6edf3;--color-diff-blob-addition-num-bg: rgba(63,185,80,.3);--color-diff-blob-addition-line-bg: rgba(46,160,67,.15);--color-diff-blob-addition-word-bg: rgba(46,160,67,.4);--color-diff-blob-deletion-num-text: #e6edf3;--color-diff-blob-deletion-fg: #e6edf3;--color-diff-blob-deletion-num-bg: rgba(248,81,73,.3);--color-diff-blob-deletion-line-bg: rgba(248,81,73,.1);--color-diff-blob-deletion-word-bg: rgba(248,81,73,.4);--color-diff-blob-hunk-num-bg: rgba(56,139,253,.4);--color-diff-blob-expander-icon: #7d8590;--color-diff-blob-selected-line-highlight-mix-blend-mode: screen;--color-diffstat-deletion-border: rgba(240,246,252,.1);--color-diffstat-addition-border: rgba(240,246,252,.1);--color-diffstat-addition-bg: #3fb950;--color-search-keyword-hl: rgba(210,153,34,.4);--color-prettylights-syntax-comment: #8b949e;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #c9d1d9;--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-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: #c9d1d9;--color-prettylights-syntax-markup-bold: #c9d1d9;--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: #c9d1d9;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-brackethighlighter-angle: #8b949e;--color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-codemirror-text: #e6edf3;--color-codemirror-bg: #0d1117;--color-codemirror-gutters-bg: #0d1117;--color-codemirror-guttermarker-text: #0d1117;--color-codemirror-guttermarker-subtle-text: #6e7681;--color-codemirror-linenumber-text: #7d8590;--color-codemirror-cursor: #e6edf3;--color-codemirror-selection-bg: rgba(56,139,253,.4);--color-codemirror-activeline-bg: rgba(110,118,129,.1);--color-codemirror-matchingbracket-text: #e6edf3;--color-codemirror-lines-bg: #0d1117;--color-codemirror-syntax-comment: #8b949e;--color-codemirror-syntax-constant: #79c0ff;--color-codemirror-syntax-entity: #d2a8ff;--color-codemirror-syntax-keyword: #ff7b72;--color-codemirror-syntax-storage: #ff7b72;--color-codemirror-syntax-string: #a5d6ff;--color-codemirror-syntax-support: #79c0ff;--color-codemirror-syntax-variable: #ffa657;--color-checks-bg: #010409;--color-checks-run-border-width: 1px;--color-checks-container-border-width: 1px;--color-checks-text-primary: #e6edf3;--color-checks-text-secondary: #7d8590;--color-checks-text-link: #2f81f7;--color-checks-btn-icon: #7d8590;--color-checks-btn-hover-icon: #e6edf3;--color-checks-btn-hover-bg: rgba(110,118,129,.1);--color-checks-input-text: #7d8590;--color-checks-input-placeholder-text: #6e7681;--color-checks-input-focus-text: #e6edf3;--color-checks-input-bg: #161b22;--color-checks-donut-error: #f85149;--color-checks-donut-pending: #d29922;--color-checks-donut-success: #2ea043;--color-checks-donut-neutral: #8b949e;--color-checks-dropdown-text: #e6edf3;--color-checks-dropdown-bg: #161b22;--color-checks-dropdown-border: #30363d;--color-checks-dropdown-shadow: rgba(1,4,9,.3);--color-checks-dropdown-hover-text: #e6edf3;--color-checks-dropdown-hover-bg: rgba(110,118,129,.1);--color-checks-dropdown-btn-hover-text: #e6edf3;--color-checks-dropdown-btn-hover-bg: rgba(110,118,129,.1);--color-checks-scrollbar-thumb-bg: rgba(110,118,129,.4);--color-checks-header-label-text: #7d8590;--color-checks-header-label-open-text: #e6edf3;--color-checks-header-border: #21262d;--color-checks-header-icon: #7d8590;--color-checks-line-text: #7d8590;--color-checks-line-num-text: #6e7681;--color-checks-line-timestamp-text: #6e7681;--color-checks-line-hover-bg: rgba(110,118,129,.1);--color-checks-line-selected-bg: rgba(56,139,253,.1);--color-checks-line-selected-num-text: #2f81f7;--color-checks-line-dt-fm-text: #ffffff;--color-checks-line-dt-fm-bg: #9e6a03;--color-checks-gate-bg: rgba(187,128,9,.15);--color-checks-gate-text: #7d8590;--color-checks-gate-waiting-text: #d29922;--color-checks-step-header-open-bg: #161b22;--color-checks-step-error-text: #f85149;--color-checks-step-warning-text: #d29922;--color-checks-logline-text: #7d8590;--color-checks-logline-num-text: #6e7681;--color-checks-logline-debug-text: #a371f7;--color-checks-logline-error-text: #7d8590;--color-checks-logline-error-num-text: #6e7681;--color-checks-logline-error-bg: rgba(248,81,73,.1);--color-checks-logline-warning-text: #7d8590;--color-checks-logline-warning-num-text: #d29922;--color-checks-logline-warning-bg: rgba(187,128,9,.15);--color-checks-logline-command-text: #2f81f7;--color-checks-logline-section-text: #3fb950;--color-checks-ansi-black: #0d1117;--color-checks-ansi-black-bright: #161b22;--color-checks-ansi-white: #b1bac4;--color-checks-ansi-white-bright: #b1bac4;--color-checks-ansi-gray: #6e7681;--color-checks-ansi-red: #ff7b72;--color-checks-ansi-red-bright: #ffa198;--color-checks-ansi-green: #3fb950;--color-checks-ansi-green-bright: #56d364;--color-checks-ansi-yellow: #d29922;--color-checks-ansi-yellow-bright: #e3b341;--color-checks-ansi-blue: #58a6ff;--color-checks-ansi-blue-bright: #79c0ff;--color-checks-ansi-magenta: #bc8cff;--color-checks-ansi-magenta-bright: #d2a8ff;--color-checks-ansi-cyan: #76e3ea;--color-checks-ansi-cyan-bright: #b3f0ff;--color-project-header-bg: #0d1117;--color-project-sidebar-bg: #161b22;--color-project-gradient-in: #161b22;--color-project-gradient-out: rgba(22,27,34,0);--color-mktg-btn-bg: #f6f8fa;--color-mktg-btn-shadow-outline: rgb(255 255 255 / 25%) 0 0 0 1px inset;--color-mktg-btn-shadow-focus: rgb(255 255 255 / 25%) 0 0 0 4px;--color-mktg-btn-shadow-hover: 0 4px 7px rgba(0, 0, 0, .15), 0 100px 80px rgba(255, 255, 255, .02), 0 42px 33px rgba(255, 255, 255, .024), 0 22px 18px rgba(255, 255, 255, .028), 0 12px 10px rgba(255, 255, 255, .034), 0 7px 5px rgba(255, 255, 255, .04), 0 3px 2px rgba(255, 255, 255, .07);--color-mktg-btn-shadow-hover-muted: rgb(255 255 255) 0 0 0 2px inset;--color-control-border-color-emphasis: #606771;--color-avatar-bg: rgba(255,255,255,.1);--color-avatar-border: rgba(240,246,252,.1);--color-avatar-stack-fade: #30363d;--color-avatar-stack-fade-more: #21262d;--color-avatar-child-shadow: 0 0 0 2px #0d1117;--color-topic-tag-border: rgba(0,0,0,0);--color-counter-border: rgba(0,0,0,0);--color-select-menu-backdrop-border: #484f58;--color-select-menu-tap-highlight: rgba(48,54,61,.5);--color-select-menu-tap-focus-bg: #0c2d6b;--color-overlay-shadow: 0 0 0 1px #30363d, 0 16px 32px rgba(1,4,9,.85);--color-overlay-backdrop: rgba(22,27,34,.4);--color-header-text: rgba(255,255,255,.7);--color-header-bg: #161b22;--color-header-divider: #8b949e;--color-header-logo: #f0f6fc;--color-header-search-bg: #0d1117;--color-header-search-border: #30363d;--color-sidenav-selected-bg: #21262d;--color-menu-bg-active: #161b22;--color-input-disabled-bg: rgba(110,118,129,0);--color-timeline-badge-bg: #21262d;--color-ansi-black: #484f58;--color-ansi-black-bright: #6e7681;--color-ansi-white: #b1bac4;--color-ansi-white-bright: #ffffff;--color-ansi-gray: #6e7681;--color-ansi-red: #ff7b72;--color-ansi-red-bright: #ffa198;--color-ansi-green: #3fb950;--color-ansi-green-bright: #56d364;--color-ansi-yellow: #d29922;--color-ansi-yellow-bright: #e3b341;--color-ansi-blue: #58a6ff;--color-ansi-blue-bright: #79c0ff;--color-ansi-magenta: #bc8cff;--color-ansi-magenta-bright: #d2a8ff;--color-ansi-cyan: #39c5cf;--color-ansi-cyan-bright: #56d4dd;--color-btn-text: #c9d1d9;--color-btn-bg: #21262d;--color-btn-border: rgba(240,246,252,.1);--color-btn-shadow: 0 0 transparent;--color-btn-inset-shadow: 0 0 transparent;--color-btn-hover-bg: #30363d;--color-btn-hover-border: #8b949e;--color-btn-active-bg: hsla(212,12%,18%,1);--color-btn-active-border: #6e7681;--color-btn-selected-bg: #161b22;--color-btn-counter-bg: #30363d;--color-btn-primary-text: #ffffff;--color-btn-primary-bg: #238636;--color-btn-primary-border: rgba(240,246,252,.1);--color-btn-primary-shadow: 0 0 transparent;--color-btn-primary-inset-shadow: 0 0 transparent;--color-btn-primary-hover-bg: #2ea043;--color-btn-primary-hover-border: rgba(240,246,252,.1);--color-btn-primary-selected-bg: #238636;--color-btn-primary-selected-shadow: 0 0 transparent;--color-btn-primary-disabled-text: rgba(255,255,255,.5);--color-btn-primary-disabled-bg: rgba(35,134,54,.6);--color-btn-primary-disabled-border: rgba(240,246,252,.1);--color-btn-primary-icon: #ffffff;--color-btn-primary-counter-bg: rgba(4,38,15,.2);--color-btn-outline-text: #388bfd;--color-btn-outline-hover-text: #58a6ff;--color-btn-outline-hover-bg: #30363d;--color-btn-outline-hover-border: rgba(240,246,252,.1);--color-btn-outline-hover-shadow: 0 1px 0 rgba(1,4,9,.1);--color-btn-outline-hover-inset-shadow: inset 0 1px 0 rgba(255,255,255,.03);--color-btn-outline-hover-counter-bg: rgba(5,29,77,.2);--color-btn-outline-selected-text: #ffffff;--color-btn-outline-selected-bg: #0d419d;--color-btn-outline-selected-border: rgba(240,246,252,.1);--color-btn-outline-selected-shadow: 0 0 transparent;--color-btn-outline-disabled-text: rgba(88,166,255,.5);--color-btn-outline-disabled-bg: #0d1117;--color-btn-outline-disabled-counter-bg: rgba(31,111,235,.05);--color-btn-outline-counter-bg: rgba(5,29,77,.2);--color-btn-outline-hover-counter-fg: #58a6ff;--color-btn-outline-disabled-counter-fg: rgba(47,129,247,.5);--color-btn-outline-counter-fg: #388bfd;--color-btn-danger-text: #f85149;--color-btn-danger-hover-text: #ffffff;--color-btn-danger-hover-bg: #da3633;--color-btn-danger-hover-border: #f85149;--color-btn-danger-hover-shadow: 0 0 transparent;--color-btn-danger-hover-inset-shadow: 0 0 transparent;--color-btn-danger-hover-icon: #ffffff;--color-btn-danger-hover-counter-bg: rgba(255,255,255,.2);--color-btn-danger-selected-text: #ffffff;--color-btn-danger-selected-bg: #b62324;--color-btn-danger-selected-border: #ff7b72;--color-btn-danger-selected-shadow: 0 0 transparent;--color-btn-danger-disabled-text: rgba(248,81,73,.5);--color-btn-danger-disabled-bg: #0d1117;--color-btn-danger-disabled-counter-bg: rgba(218,54,51,.05);--color-btn-danger-counter-bg: rgba(73,2,2,.2);--color-btn-danger-icon: #f85149;--color-btn-danger-counter-fg: #f85149;--color-btn-danger-disabled-counter-fg: rgba(248,81,73,.5);--color-btn-danger-hover-counter-fg: #ffffff;--color-underlinenav-icon: #6e7681;--color-underlinenav-border-hover: rgba(110,118,129,.4);--color-action-list-item-inline-divider: rgba(48,54,61,.48);--color-action-list-item-default-hover-bg: rgba(177,186,196,.12);--color-action-list-item-default-hover-border: rgba(0,0,0,0);--color-action-list-item-default-active-bg: rgba(177,186,196,.2);--color-action-list-item-default-active-border: rgba(0,0,0,0);--color-action-list-item-default-selected-bg: rgba(177,186,196,.08);--color-action-list-item-danger-hover-bg: rgba(248,81,73,.16);--color-action-list-item-danger-active-bg: rgba(248,81,73,.24);--color-action-list-item-danger-hover-text: #ff7b72;--color-switch-track-bg: rgba(110,118,129,.1);--color-switch-track-hover-bg: hsla(215,8%,72%,.1);--color-switch-track-active-bg: rgba(110,118,129,.4);--color-switch-track-disabled-bg: #21262d;--color-switch-track-fg: #7d8590;--color-switch-track-disabled-fg: #010409;--color-switch-track-border: rgba(0,0,0,0);--color-switch-track-checked-bg: rgba(31,111,235,.35);--color-switch-track-checked-hover-bg: rgba(31,111,235,.5);--color-switch-track-checked-active-bg: rgba(31,111,235,.65);--color-switch-track-checked-fg: #ffffff;--color-switch-track-checked-disabled-fg: #010409;--color-switch-track-checked-border: rgba(0,0,0,0);--color-switch-knob-bg: #0d1117;--color-switch-knob-border: #606771;--color-switch-knob-disabled-bg: #161b22;--color-switch-knob-checked-bg: #0d1117;--color-switch-knob-checked-disabled-bg: #161b22;--color-switch-knob-checked-border: rgba(31,111,235,.35);--color-segmented-control-bg: rgba(110,118,129,.1);--color-segmented-control-button-bg: #0d1117;--color-segmented-control-button-hover-bg: #30363d;--color-segmented-control-button-active-bg: #21262d;--color-segmented-control-button-selected-border: #6e7681;--color-tree-view-item-chevron-hover-bg: rgba(177,186,196,.12);--color-tree-view-item-directory-fill: #7d8590;--color-fg-default: #e6edf3;--color-fg-muted: #7d8590;--color-fg-subtle: #6e7681;--color-fg-on-emphasis: #ffffff;--color-canvas-default: #0d1117;--color-canvas-overlay: #161b22;--color-canvas-inset: #010409;--color-canvas-subtle: #161b22;--color-border-default: #30363d;--color-border-muted: #21262d;--color-border-subtle: rgba(240,246,252,.1);--color-shadow-small: 0 0 transparent;--color-shadow-medium: 0 3px 6px #010409;--color-shadow-large: 0 8px 24px #010409;--color-shadow-extra-large: 0 12px 48px #010409;--color-neutral-emphasis-plus: #6e7681;--color-neutral-emphasis: #6e7681;--color-neutral-muted: rgba(110,118,129,.4);--color-neutral-subtle: rgba(110,118,129,.1);--color-accent-fg: #2f81f7;--color-accent-emphasis: #1f6feb;--color-accent-muted: rgba(56,139,253,.4);--color-accent-subtle: rgba(56,139,253,.1);--color-success-fg: #3fb950;--color-success-emphasis: #238636;--color-success-muted: rgba(46,160,67,.4);--color-success-subtle: rgba(46,160,67,.15);--color-attention-fg: #d29922;--color-attention-emphasis: #9e6a03;--color-attention-muted: rgba(187,128,9,.4);--color-attention-subtle: rgba(187,128,9,.15);--color-severe-fg: #db6d28;--color-severe-emphasis: #bd561d;--color-severe-muted: rgba(219,109,40,.4);--color-severe-subtle: rgba(219,109,40,.1);--color-danger-fg: #f85149;--color-danger-emphasis: #da3633;--color-danger-muted: rgba(248,81,73,.4);--color-danger-subtle: rgba(248,81,73,.1);--color-open-fg: #3fb950;--color-open-emphasis: #238636;--color-open-muted: rgba(46,160,67,.4);--color-open-subtle: rgba(46,160,67,.15);--color-closed-fg: #f85149;--color-closed-emphasis: #da3633;--color-closed-muted: rgba(248,81,73,.4);--color-closed-subtle: rgba(248,81,73,.15);--color-done-fg: #a371f7;--color-done-emphasis: #8957e5;--color-done-muted: rgba(163,113,247,.4);--color-done-subtle: rgba(163,113,247,.1);--color-sponsors-fg: #db61a2;--color-sponsors-emphasis: #bf4b8a;--color-sponsors-muted: rgba(219,97,162,.4);--color-sponsors-subtle: rgba(219,97,162,.1);--color-primer-fg-disabled: #484f58;--color-primer-canvas-backdrop: rgba(1,4,9,.8);--color-primer-canvas-sticky: rgba(13,17,23,.95);--color-primer-border-active: #f78166;--color-primer-border-contrast: rgba(255,255,255,.2);--color-primer-shadow-highlight: 0 0 transparent;--color-primer-shadow-inset: 0 0 transparent;--color-scale-black: #010409;--color-scale-white: #ffffff;--color-scale-gray-0: #f0f6fc;--color-scale-gray-1: #c9d1d9;--color-scale-gray-2: #b1bac4;--color-scale-gray-3: #8b949e;--color-scale-gray-4: #6e7681;--color-scale-gray-5: #484f58;--color-scale-gray-6: #30363d;--color-scale-gray-7: #21262d;--color-scale-gray-8: #161b22;--color-scale-gray-9: #0d1117;--color-scale-blue-0: #cae8ff;--color-scale-blue-1: #a5d6ff;--color-scale-blue-2: #79c0ff;--color-scale-blue-3: #58a6ff;--color-scale-blue-4: #388bfd;--color-scale-blue-5: #1f6feb;--color-scale-blue-6: #1158c7;--color-scale-blue-7: #0d419d;--color-scale-blue-8: #0c2d6b;--color-scale-blue-9: #051d4d;--color-scale-green-0: #aff5b4;--color-scale-green-1: #7ee787;--color-scale-green-2: #56d364;--color-scale-green-3: #3fb950;--color-scale-green-4: #2ea043;--color-scale-green-5: #238636;--color-scale-green-6: #196c2e;--color-scale-green-7: #0f5323;--color-scale-green-8: #033a16;--color-scale-green-9: #04260f;--color-scale-yellow-0: #f8e3a1;--color-scale-yellow-1: #f2cc60;--color-scale-yellow-2: #e3b341;--color-scale-yellow-3: #d29922;--color-scale-yellow-4: #bb8009;--color-scale-yellow-5: #9e6a03;--color-scale-yellow-6: #845306;--color-scale-yellow-7: #693e00;--color-scale-yellow-8: #4b2900;--color-scale-yellow-9: #341a00;--color-scale-orange-0: #ffdfb6;--color-scale-orange-1: #ffc680;--color-scale-orange-2: #ffa657;--color-scale-orange-3: #f0883e;--color-scale-orange-4: #db6d28;--color-scale-orange-5: #bd561d;--color-scale-orange-6: #9b4215;--color-scale-orange-7: #762d0a;--color-scale-orange-8: #5a1e02;--color-scale-orange-9: #3d1300;--color-scale-red-0: #ffdcd7;--color-scale-red-1: #ffc1ba;--color-scale-red-2: #ffa198;--color-scale-red-3: #ff7b72;--color-scale-red-4: #f85149;--color-scale-red-5: #da3633;--color-scale-red-6: #b62324;--color-scale-red-7: #8e1519;--color-scale-red-8: #67060c;--color-scale-red-9: #490202;--color-scale-purple-0: #eddeff;--color-scale-purple-1: #e2c5ff;--color-scale-purple-2: #d2a8ff;--color-scale-purple-3: #bc8cff;--color-scale-purple-4: #a371f7;--color-scale-purple-5: #8957e5;--color-scale-purple-6: #6e40c9;--color-scale-purple-7: #553098;--color-scale-purple-8: #3c1e70;--color-scale-purple-9: #271052;--color-scale-pink-0: #ffdaec;--color-scale-pink-1: #ffbedd;--color-scale-pink-2: #ff9bce;--color-scale-pink-3: #f778ba;--color-scale-pink-4: #db61a2;--color-scale-pink-5: #bf4b8a;--color-scale-pink-6: #9e3670;--color-scale-pink-7: #7d2457;--color-scale-pink-8: #5e103e;--color-scale-pink-9: #42062a;--color-scale-coral-0: #ffddd2;--color-scale-coral-1: #ffc2b2;--color-scale-coral-2: #ffa28b;--color-scale-coral-3: #f78166;--color-scale-coral-4: #ea6045;--color-scale-coral-5: #cf462d;--color-scale-coral-6: #ac3220;--color-scale-coral-7: #872012;--color-scale-coral-8: #640d04;--color-scale-coral-9: #460701}.code-diff-view[theme=dark] pre code.hljs{display:block;overflow-x:auto;padding:1em}.code-diff-view[theme=dark] code.hljs{padding:3px 5px}.code-diff-view[theme=dark] .hljs{color:#c9d1d9;background:#0d1117}.code-diff-view[theme=dark] .hljs-doctag,.code-diff-view[theme=dark] .hljs-keyword,.code-diff-view[theme=dark] .hljs-meta .hljs-keyword,.code-diff-view[theme=dark] .hljs-template-tag,.code-diff-view[theme=dark] .hljs-template-variable,.code-diff-view[theme=dark] .hljs-type,.code-diff-view[theme=dark] .hljs-variable.language_{color:#ff7b72}.code-diff-view[theme=dark] .hljs-title,.code-diff-view[theme=dark] .hljs-title.class_,.code-diff-view[theme=dark] .hljs-title.class_.inherited__,.code-diff-view[theme=dark] .hljs-title.function_{color:#d2a8ff}.code-diff-view[theme=dark] .hljs-attr,.code-diff-view[theme=dark] .hljs-attribute,.code-diff-view[theme=dark] .hljs-literal,.code-diff-view[theme=dark] .hljs-meta,.code-diff-view[theme=dark] .hljs-number,.code-diff-view[theme=dark] .hljs-operator,.code-diff-view[theme=dark] .hljs-variable,.code-diff-view[theme=dark] .hljs-selector-attr,.code-diff-view[theme=dark] .hljs-selector-class,.code-diff-view[theme=dark] .hljs-selector-id{color:#79c0ff}.code-diff-view[theme=dark] .hljs-regexp,.code-diff-view[theme=dark] .hljs-string,.code-diff-view[theme=dark] .hljs-meta .hljs-string{color:#a5d6ff}.code-diff-view[theme=dark] .hljs-built_in,.code-diff-view[theme=dark] .hljs-symbol{color:#ffa657}.code-diff-view[theme=dark] .hljs-comment,.code-diff-view[theme=dark] .hljs-code,.code-diff-view[theme=dark] .hljs-formula{color:#8b949e}.code-diff-view[theme=dark] .hljs-name,.code-diff-view[theme=dark] .hljs-quote,.code-diff-view[theme=dark] .hljs-selector-tag,.code-diff-view[theme=dark] .hljs-selector-pseudo{color:#7ee787}.code-diff-view[theme=dark] .hljs-subst{color:#c9d1d9}.code-diff-view[theme=dark] .hljs-section{color:#1f6feb;font-weight:700}.code-diff-view[theme=dark] .hljs-bullet{color:#f2cc60}.code-diff-view[theme=dark] .hljs-emphasis{color:#c9d1d9;font-style:italic}.code-diff-view[theme=dark] .hljs-strong{color:#c9d1d9;font-weight:700}.code-diff-view[theme=dark] .hljs-addition{color:#aff5b4;background-color:#033a16}.code-diff-view[theme=dark] .hljs-deletion{color:#ffdcd7;background-color:#67060c}.code-diff-view{position:relative;margin-top:16px;margin-bottom:16px;border:1px solid var(--color-border-default, #ddd);border-radius:6px;overflow-y:auto}.code-diff-view *{position:static;box-sizing:border-box}.code-diff-view .file-header{position:sticky;top:0;z-index:1;background-color:var(--color-canvas-subtle);border-bottom:1px solid var(--color-border-default);padding:8px 16px;font-size:12px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.code-diff-view .file-header .file-info{display:flex;justify-content:space-between;align-items:center;margin-left:8px;height:24px}.code-diff-view .file-header .file-info .info-left{color:var(--color-fg-default)}.code-diff-view .file-header .file-info .info-right{display:flex;justify-content:space-between;align-items:center;width:50%}.code-diff-view .file-header .file-info .diff-stat{display:inline-flex;align-items:center;gap:8px}.code-diff-view .file-header .file-info .diff-stat .diff-stat-added{color:var(--color-diffstat-addition-bg)}.code-diff-view .file-header .file-info .diff-stat .diff-stat-deleted{color:var(--color-danger-emphasis)}.code-diff-view .file-header .file-info .diff-stat .diff-stat-ignored{color:var(--color-fg-subtle)}.code-diff-view .file-header .file-info .diff-commandbar{margin-left:auto;margin-right:1rem}.code-diff-view .file-header .file-info .diff-commandbar .command-item-button{background-color:transparent;color:var(--color-fg-subtle);border:none}.code-diff-view .file-header .file-info .diff-commandbar .command-item-button svg{fill:var(--color-fg-subtle)}.code-diff-view .file-header .file-info .diff-commandbar .command-item-button:hover{background-color:var(--color-btn-outline-hover-border)}.code-diff-view table{border-spacing:0}.code-diff-view .diff-table{width:100%}.code-diff-view .diff-table .blob-num{position:relative;width:1%;min-width:50px;padding-right:10px;padding-left:10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:20px;color:var(--color-fg-subtle);text-align:right;white-space:nowrap;vertical-align:top;cursor:pointer;-webkit-user-select:none;user-select:none}.code-diff-view .diff-table .blob-num-deletion{color:var(--color-diff-blob-deletion-num-text);background-color:var(--color-diff-blob-deletion-num-bg);border-color:var(--color-danger-emphasis)}.code-diff-view .diff-table .blob-num-addition{color:var(--color-diff-blob-addition-num-text);background-color:var(--color-diff-blob-addition-num-bg);border-color:var(--color-success-emphasis)}.code-diff-view .diff-table .blob-code{position:relative;padding-right:10px;padding-left:10px;line-height:20px;vertical-align:top}.code-diff-view .diff-table .blob-code .blob-code-inner{display:table-cell;overflow:visible;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;color:var(--color-fg-default);word-wrap:anywhere;white-space:pre-wrap}.code-diff-view .diff-table .blob-code-deletion{background-color:var(--color-diff-blob-deletion-line-bg);outline:1px dashed transparent}.code-diff-view .diff-table .blob-code-deletion .x{color:var(--color-diff-blob-deletion-fg);background-color:var(--color-diff-blob-deletion-word-bg)}.code-diff-view .diff-table .blob-code-addition{background-color:var(--color-diff-blob-addition-line-bg);outline:1px dotted transparent}.code-diff-view .diff-table .blob-code-addition .x{color:var(--color-diff-blob-addition-fg);background-color:var(--color-diff-blob-addition-word-bg)}.code-diff-view .diff-table .current-diff{border:1px solid var(--color-border-muted)}.code-diff-view .diff-table .blob-code-context,.code-diff-view .diff-table .blob-code-addition,.code-diff-view .diff-table .blob-code-deletion{padding-left:22px!important}.code-diff-view .diff-table .blob-code-marker:before{position:absolute;top:1px;left:8px;padding-right:8px;content:attr(data-code-marker)}.code-diff-view .diff-table .blob-num-hunk{background-color:var(--color-diff-blob-hunk-num-bg)}.code-diff-view .diff-table .blob-code-hunk{background-color:var(--color-accent-subtle)}.code-diff-view .file-diff-split{table-layout:fixed}.code-diff-view .file-diff-split .blob-code+.blob-num{border-left:1px solid var(--color-border-muted)}.code-diff-view .file-diff-split .no-select{user-select:none}.code-diff-view .empty-cell{cursor:default;background-color:var(--color-neutral-subtle);border-right-color:var(--color-border-muted)}.code-diff-view[data-v-8b22b876] :deep(td:nth-child(1)){display:none}")),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})(); import Ue from "vue"; import qn, { computed as he, ref as Ve, watch as jn } from "@vue/composition-api/dist/vue-composition-api.mjs"; function Qn(e) { e = e || Ue, e && !e.__composition_api_installed__ && e.use(qn); } Qn(Ue); Ue.version; function ne() { } ne.prototype = { diff: function(n, s) { var u, d = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, t = d.callback; typeof d == "function" && (t = d, d = {}), this.options = d; var r = this; function i(y) { return t ? (setTimeout(function() { t(void 0, y); }, 0), !0) : y; } n = this.castInput(n), s = this.castInput(s), n = this.removeEmpty(this.tokenize(n)), s = this.removeEmpty(this.tokenize(s)); var a = s.length, o = n.length, l = 1, c = a + o; d.maxEditLength && (c = Math.min(c, d.maxEditLength)); var f = (u = d.timeout) !== null && u !== void 0 ? u : 1 / 0, h = Date.now() + f, g = [{ oldPos: -1, lastComponent: void 0 }], p = this.extractCommon(g[0], s, n, 0); if (g[0].oldPos + 1 >= o && p + 1 >= a) return i([{ value: this.join(s), count: s.length }]); var _ = -1 / 0, v = 1 / 0; function m() { for (var y = Math.max(_, -l); y <= Math.min(v, l); y += 2) { var T = void 0, N = g[y - 1], A = g[y + 1]; N && (g[y - 1] = void 0); var R = !1; if (A) { var C = A.oldPos - y; R = A && 0 <= C && C < a; } var L = N && N.oldPos + 1 < o; if (!R && !L) { g[y] = void 0; continue; } if (!L || R && N.oldPos + 1 < A.oldPos ? T = r.addToPath(A, !0, void 0, 0) : T = r.addToPath(N, void 0, !0, 1), p = r.extractCommon(T, s, n, y), T.oldPos + 1 >= o && p + 1 >= a) return i(Zn(r, T.lastComponent, s, n, r.useLongestToken)); g[y] = T, T.oldPos + 1 >= o && (v = Math.min(v, y - 1)), p + 1 >= a && (_ = Math.max(_, y + 1)); } l++; } if (t) (function y() { setTimeout(function() { if (l > c || Date.now() > h) return t(); m() || y(); }, 0); })(); else for (; l <= c && Date.now() <= h; ) { var E = m(); if (E) return E; } }, addToPath: function(n, s, u, d) { var t = n.lastComponent; return t && t.added === s && t.removed === u ? { oldPos: n.oldPos + d, lastComponent: { count: t.count + 1, added: s, removed: u, previousComponent: t.previousComponent } } : { oldPos: n.oldPos + d, lastComponent: { count: 1, added: s, removed: u, previousComponent: t } }; }, extractCommon: function(n, s, u, d) { for (var t = s.length, r = u.length, i = n.oldPos, a = i - d, o = 0; a + 1 < t && i + 1 < r && this.equals(s[a + 1], u[i + 1]); ) a++, i++, o++; return o && (n.lastComponent = { count: o, previousComponent: n.lastComponent }), n.oldPos = i, a; }, equals: function(n, s) { return this.options.comparator ? this.options.comparator(n, s) : n === s || this.options.ignoreCase && n.toLowerCase() === s.toLowerCase(); }, removeEmpty: function(n) { for (var s = [], u = 0; u < n.length; u++) n[u] && s.push(n[u]); return s; }, castInput: function(n) { return n; }, tokenize: function(n) { return n.split(""); }, join: function(n) { return n.join(""); } }; function Zn(e, n, s, u, d) { for (var t = [], r; n; ) t.push(n), r = n.previousComponent, delete n.previousComponent, n = r; t.reverse(); for (var i = 0, a = t.length, o = 0, l = 0; i < a; i++) { var c = t[i]; if (c.removed) { if (c.value = e.join(u.slice(l, l + c.count)), l += c.count, i && t[i - 1].added) { var h = t[i - 1]; t[i - 1] = t[i], t[i] = h; } } else { if (!c.added && d) { var f = s.slice(o, o + c.count); f = f.map(function(p, _) { var v = u[l + _]; return v.length > p.length ? v : p; }), c.value = e.join(f); } else c.value = e.join(s.slice(o, o + c.count)); o += c.count, c.added || (l += c.count); } } var g = t[a - 1]; return a > 1 && typeof g.value == "string" && (g.added || g.removed) && e.equals("", g.value) && (t[a - 2].value += g.value, t.pop()), t; } var Yn = new ne(); function Vn(e, n, s) { return Yn.diff(e, n, s); } function Xn(e, n) { if (typeof e == "function") n.callback = e; else if (e) for (var s in e) e.hasOwnProperty(s) && (n[s] = e[s]); return n; } var Xe = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/, Je = /\S/, xe = new ne(); xe.equals = function(e, n) { return this.options.ignoreCase && (e = e.toLowerCase(), n = n.toLowerCase()), e === n || this.options.ignoreWhitespace && !Je.test(e) && !Je.test(n); }; xe.tokenize = function(e) { for (var n = e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/), s = 0; s < n.length - 1; s++) !n[s + 1] && n[s + 2] && Xe.test(n[s]) && Xe.test(n[s + 2]) && (n[s] += n[s + 2], n.splice(s + 1, 2), s--); return n; }; function Jn(e, n, s) { return s = Xn(s, { ignoreWhitespace: !0 }), xe.diff(e, n, s); } var vn = new ne(); vn.tokenize = function(e) { this.options.stripTrailingCr && (e = e.replace(/\r\n/g, ` `)); var n = [], s = e.split(/(\n|\r\n)/); s[s.length - 1] || s.pop(); for (var u = 0; u < s.length; u++) { var d = s[u]; u % 2 && !this.options.newlineIsToken ? n[n.length - 1] += d : (this.options.ignoreWhitespace && (d = d.trim()), n.push(d)); } return n; }; var et = new ne(); et.tokenize = function(e) { return e.split(/(\S.+?[.!?])(?=\s+|$)/); }; var nt = new ne(); nt.tokenize = function(e) { return e.split(/([{}:;,]|\s+)/); }; function Se(e) { "@babel/helpers - typeof"; return typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? Se = function(n) { return typeof n; } : Se = function(n) { return n && typeof Symbol == "function" && n.constructor === Symbol && n !== Symbol.prototype ? "symbol" : typeof n; }, Se(e); } var tt = Object.prototype.toString, de = new ne(); de.useLongestToken = !0; de.tokenize = vn.tokenize; de.castInput = function(e) { var n = this.options, s = n.undefinedReplacement, u = n.stringifyReplacer, d = u === void 0 ? function(t, r) { return typeof r == "undefined" ? s : r; } : u; return typeof e == "string" ? e : JSON.stringify(Be(e, null, null, d), d, " "); }; de.equals = function(e, n) { return ne.prototype.equals.call(de, e.replace(/,([\r\n])/g, "$1"), n.replace(/,([\r\n])/g, "$1")); }; function Be(e, n, s, u, d) { n = n || [], s = s || [], u && (e = u(d, e)); var t; for (t = 0; t < n.length; t += 1) if (n[t] === e) return s[t]; var r; if (tt.call(e) === "[object Array]") { for (n.push(e), r = new Array(e.length), s.push(r), t = 0; t < e.length; t += 1) r[t] = Be(e[t], n, s, u, d); return n.pop(), s.pop(), r; } if (e && e.toJSON && (e = e.toJSON()), Se(e) === "object" && e !== null) { n.push(e), r = {}, s.push(r); var i = [], a; for (a in e) e.hasOwnProperty(a) && i.push(a); for (i.sort(), t = 0; t < i.length; t += 1) a = i[t], r[a] = Be(e[a], n, s, u, a); n.pop(), s.pop(); } else r = e; return r; } var Pe = new ne(); Pe.tokenize = function(e) { return e.slice(); }; Pe.join = Pe.removeEmpty = function(e) { return e; }; function rt(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var mn = { exports: {} }; (function(e) { var n = function() { this.Diff_Timeout = 1, this.Diff_EditCost = 4, this.Match_Threshold = 0.5, this.Match_Distance = 1e3, this.Patch_DeleteThreshold = 0.5, this.Patch_Margin = 4, this.Match_MaxBits = 32; }, s = -1, u = 1, d = 0; n.Diff = function(t, r) { return [t, r]; }, n.prototype.diff_main = function(t, r, i, a) { typeof a == "undefined" && (this.Diff_Timeout <= 0 ? a = Number.MAX_VALUE : a = (/* @__PURE__ */ new Date()).getTime() + this.Diff_Timeout * 1e3); var o = a; if (t == null || r == null) throw new Error("Null input. (diff_main)"); if (t == r) return t ? [new n.Diff(d, t)] : []; typeof i == "undefined" && (i = !0); var l = i, c = this.diff_commonPrefix(t, r), f = t.substring(0, c); t = t.substring(c), r = r.substring(c), c = this.diff_commonSuffix(t, r); var h = t.substring(t.length - c); t = t.substring(0, t.length - c), r = r.substring(0, r.length - c); var g = this.diff_compute_(t, r, l, o); return f && g.unshift(new n.Diff(d, f)), h && g.push(new n.Diff(d, h)), this.diff_cleanupMerge(g), g; }, n.prototype.diff_compute_ = function(t, r, i, a) { var o; if (!t) return [new n.Diff(u, r)]; if (!r) return [new n.Diff(s, t)]; var l = t.length > r.length ? t : r, c = t.length > r.length ? r : t, f = l.indexOf(c); if (f != -1) return o = [ new n.Diff(u, l.substring(0, f)), new n.Diff(d, c), new n.Diff( u, l.substring(f + c.length) ) ], t.length > r.length && (o[0][0] = o[2][0] = s), o; if (c.length == 1) return [ new n.Diff(s, t), new n.Diff(u, r) ]; var h = this.diff_halfMatch_(t, r); if (h) { var g = h[0], p = h[1], _ = h[2], v = h[3], m = h[4], E = this.diff_main(g, _, i, a), y = this.diff_main(p, v, i, a); return E.concat( [new n.Diff(d, m)], y ); } return i && t.length > 100 && r.length > 100 ? this.diff_lineMode_(t, r, a) : this.diff_bisect_(t, r, a); }, n.prototype.diff_lineMode_ = function(t, r, i) { var a = this.diff_linesToChars_(t, r); t = a.chars1, r = a.chars2; var o = a.lineArray, l = this.diff_main(t, r, !1, i); this.diff_charsToLines_(l, o), this.diff_cleanupSemantic(l), l.push(new n.Diff(d, "")); for (var c = 0, f = 0, h = 0, g = "", p = ""; c < l.length; ) { switch (l[c][0]) { case u: h++, p += l[c][1]; break; case s: f++, g += l[c][1]; break; case d: if (f >= 1 && h >= 1) { l.splice( c - f - h, f + h ), c = c - f - h; for (var _ = this.diff_main(g, p, !1, i), v = _.length - 1; v >= 0; v--) l.splice(c, 0, _[v]); c = c + _.length; } h = 0, f = 0, g = "", p = ""; break; } c++; } return l.pop(), l; }, n.prototype.diff_bisect_ = function(t, r, i) { for (var a = t.length, o = r.length, l = Math.ceil((a + o) / 2), c = l, f = 2 * l, h = new Array(f), g = new Array(f), p = 0; p < f; p++) h[p] = -1, g[p] = -1; h[c + 1] = 0, g[c + 1] = 0; for (var _ = a - o, v = _ % 2 != 0, m = 0, E = 0, y = 0, T = 0, N = 0; N < l && !((/* @__PURE__ */ new Date()).getTime() > i); N++) { for (var A = -N + m; A <= N - E; A += 2) { var R = c + A, C; A == -N || A != N && h[R - 1] < h[R + 1] ? C = h[R + 1] : C = h[R - 1] + 1; for (var L = C - A; C < a && L < o && t.charAt(C) == r.charAt(L); ) C++, L++; if (h[R] = C, C > a) E += 2; else if (L > o) m += 2; else if (v) { var B = c + _ - A; if (B >= 0 && B < f && g[B] != -1) { var $ = a - g[B]; if (C >= $) return this.diff_bisectSplit_(t, r, C, L, i); } } } for (var H = -N + y; H <= N - T; H += 2) { var B = c + H, $; H == -N || H != N && g[B - 1] < g[B + 1] ? $ = g[B + 1] : $ = g[B - 1] + 1; for (var K = $ - H; $ < a && K < o && t.charAt(a - $ - 1) == r.charAt(o - K - 1); ) $++, K++; if (g[B] = $, $ > a) T += 2; else if (K > o) y += 2; else if (!v) { var R = c + _ - H; if (R >= 0 && R < f && h[R] != -1) { var C = h[R], L = c + C - R; if ($ = a - $, C >= $) return this.diff_bisectSplit_(t, r, C, L, i); } } } } return [ new n.Diff(s, t), new n.Diff(u, r) ]; }, n.prototype.diff_bisectSplit_ = function(t, r, i, a, o) { var l = t.substring(0, i), c = r.substring(0, a), f = t.substring(i), h = r.substring(a), g = this.diff_main(l, c, !1, o), p = this.diff_main(f, h, !1, o); return g.concat(p); }, n.prototype.diff_linesToChars_ = function(t, r) { var i = [], a = {}; i[0] = ""; function o(h) { for (var g = "", p = 0, _ = -1, v = i.length; _ < h.length - 1; ) { _ = h.indexOf(` `, p), _ == -1 && (_ = h.length - 1); var m = h.substring(p, _ + 1); (a.hasOwnProperty ? a.hasOwnProperty(m) : a[m] !== void 0) ? g += String.fromCharCode(a[m]) : (v == l && (m = h.substring(p), _ = h.length), g += String.fromCharCode(v), a[m] = v, i[v++] = m), p = _ + 1; } return g; } var l = 4e4, c = o(t); l = 65535; var f = o(r); return { chars1: c, chars2: f, lineArray: i }; }, n.prototype.diff_charsToLines_ = function(t, r) { for (var i = 0; i < t.length; i++) { for (var a = t[i][1], o = [], l = 0; l < a.length; l++) o[l] = r[a.charCodeAt(l)]; t[i][1] = o.join(""); } }, n.prototype.diff_commonPrefix = function(t, r) { if (!t || !r || t.charAt(0) != r.charAt(0)) return 0; for (var i = 0, a = Math.min(t.length, r.length), o = a, l = 0; i < o; ) t.substring(l, o) == r.substring(l, o) ? (i = o, l = i) : a = o, o = Math.floor((a - i) / 2 + i); return o; }, n.prototype.diff_commonSuffix = function(t, r) { if (!t || !r || t.charAt(t.length - 1) != r.charAt(r.length - 1)) return 0; for (var i = 0, a = Math.min(t.length, r.length), o = a, l = 0; i < o; ) t.substring(t.length - o, t.length - l) == r.substring(r.length - o, r.length - l) ? (i = o, l = i) : a = o, o = Math.floor((a - i) / 2 + i); return o; }, n.prototype.diff_commonOverlap_ = function(t, r) { var i = t.length, a = r.length; if (i == 0 || a == 0) return 0; i > a ? t = t.substring(i - a) : i < a && (r = r.substring(0, i)); var o = Math.min(i, a); if (t == r) return o; for (var l = 0, c = 1; ; ) { var f = t.substring(o - c), h = r.indexOf(f); if (h == -1) return l; c += h, (h == 0 || t.substring(o - c) == r.substring(0, c)) && (l = c, c++); } }, n.prototype.diff_halfMatch_ = function(t, r) { if (this.Diff_Timeout <= 0) return null; var i = t.length > r.length ? t : r, a = t.length > r.length ? r : t; if (i.length < 4 || a.length * 2 < i.length) return null; var o = this; function l(E, y, T) { for (var N = E.substring(T, T + Math.floor(E.length / 4)), A = -1, R = "", C, L, B, $; (A = y.indexOf(N, A + 1)) != -1; ) { var H = o.diff_commonPrefix( E.substring(T), y.substring(A) ), K = o.diff_commonSuffix( E.substring(0, T), y.substring(0, A) ); R.length < K + H && (R = y.substring(A - K, A) + y.substring(A, A + H), C = E.substring(0, T - K), L = E.substring(T + H), B = y.substring(0, A - K), $ = y.substring(A + H)); } return R.length * 2 >= E.length ? [ C, L, B, $, R ] : null; } var c = l( i, a, Math.ceil(i.length / 4) ), f = l( i, a, Math.ceil(i.length / 2) ), h; if (!c && !f) return null; f ? c ? h = c[4].length > f[4].length ? c : f : h = f : h = c; var g, p, _, v; t.length > r.length ? (g = h[0], p = h[1], _ = h[2], v = h[3]) : (_ = h[0], v = h[1], g = h[2], p = h[3]); var m = h[4]; return [g, p, _, v, m]; }, n.prototype.diff_cleanupSemantic = function(t) { for (var r = !1, i = [], a = 0, o = null, l = 0, c = 0, f = 0, h = 0, g = 0; l < t.length; ) t[l][0] == d ? (i[a++] = l, c = h, f = g, h = 0, g = 0, o = t[l][1]) : (t[l][0] == u ? h += t[l][1].length : g += t[l][1].length, o && o.length <= Math.max(c, f) && o.length <= Math.max( h, g ) && (t.splice( i[a - 1], 0, new n.Diff(s, o) ), t[i[a - 1] + 1][0] = u, a--, a--, l = a > 0 ? i[a - 1] : -1, c = 0, f = 0, h = 0, g = 0, o = null, r = !0)), l++; for (r && this.diff_cleanupMerge(t), this.diff_cleanupSemanticLossless(t), l = 1; l < t.length; ) { if (t[l - 1][0] == s && t[l][0] == u) { var p = t[l - 1][1], _ = t[l][1], v = this.diff_commonOverlap_(p, _), m = this.diff_commonOverlap_(_, p); v >= m ? (v >= p.length / 2 || v >= _.length / 2) && (t.splice(l, 0, new n.Diff( d, _.substring(0, v) )), t[l - 1][1] = p.substring(0, p.length - v), t[l + 1][1] = _.substring(v), l++) : (m >= p.length / 2 || m >= _.length / 2) && (t.splice(l, 0, new n.Diff( d, p.substring(0, m) )), t[l - 1][0] = u, t[l - 1][1] = _.substring(0, _.length - m), t[l + 1][0] = s, t[l + 1][1] = p.substring(m), l++), l++; } l++; } }, n.prototype.diff_cleanupSemanticLossless = function(t) { function r(m, E) { if (!m || !E) return 6; var y = m.charAt(m.length - 1), T = E.charAt(0), N = y.match(n.nonAlphaNumericRegex_), A = T.match(n.nonAlphaNumericRegex_), R = N && y.match(n.whitespaceRegex_), C = A && T.match(n.whitespaceRegex_), L = R && y.match(n.linebreakRegex_), B = C && T.match(n.linebreakRegex_), $ = L && m.match(n.blanklineEndRegex_), H = B && E.match(n.blanklineStartRegex_); return $ || H ? 5 : L || B ? 4 : N && !R && C ? 3 : R || C ? 2 : N || A ? 1 : 0; } for (var i = 1; i < t.length - 1; ) { if (t[i - 1][0] == d && t[i + 1][0] == d) { var a = t[i - 1][1], o = t[i][1], l = t[i + 1][1], c = this.diff_commonSuffix(a, o); if (c) { var f = o.substring(o.length - c); a = a.substring(0, a.length - c), o = f + o.substring(0, o.length - c), l = f + l; } for (var h = a, g = o, p = l, _ = r(a, o) + r(o, l); o.charAt(0) === l.charAt(0); ) { a += o.charAt(0), o = o.substring(1) + l.charAt(0), l = l.substring(1); var v = r(a, o) + r(o, l); v >= _ && (_ = v, h = a, g = o, p = l); } t[i - 1][1] != h && (h ? t[i - 1][1] = h : (t.splice(i - 1, 1), i--), t[i][1] = g, p ? t[i + 1][1] = p : (t.splice(i + 1, 1), i--)); } i++; } }, n.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/, n.whitespaceRegex_ = /\s/, n.linebreakRegex_ = /[\r\n]/, n.blanklineEndRegex_ = /\n\r?\n$/, n.blanklineStartRegex_ = /^\r?\n\r?\n/, n.prototype.diff_cleanupEfficiency = function(t) { for (var r = !1, i = [], a = 0, o = null, l = 0, c = !1, f = !1, h = !1, g = !1; l < t.length; ) t[l][0] == d ? (t[l][1].length < this.Diff_EditCost && (h || g) ? (i[a++] = l, c = h, f = g, o = t[l][1]) : (a = 0, o = null), h = g = !1) : (t[l][0] == s ? g = !0 : h = !0, o && (c && f && h && g || o.length < this.Diff_EditCost / 2 && c + f + h + g == 3) && (t.splice( i[a - 1], 0, new n.Diff(s, o) ), t[i[a - 1] + 1][0] = u, a--, o = null, c && f ? (h = g = !0, a = 0) : (a--, l = a > 0 ? i[a - 1] : -1, h = g = !1), r = !0)), l++; r && this.diff_cleanupMerge(t); }, n.prototype.diff_cleanupMerge = function(t) { t.push(new n.Diff(d, "")); for (var r = 0, i = 0, a = 0, o = "", l = "", c; r < t.length; ) switch (t[r][0]) { case u: a++, l += t[r][1], r++; break; case s: i++, o += t[r][1], r++; break; case d: i + a > 1 ? (i !== 0 && a !== 0 && (c = this.diff_commonPrefix(l, o), c !== 0 && (r - i - a > 0 && t[r - i - a - 1][0] == d ? t[r - i - a - 1][1] += l.substring(0, c) : (t.splice(0, 0, new n.Diff( d, l.substring(0, c) )), r++), l = l.substring(c), o = o.substring(c)), c = this.diff_commonSuffix(l, o), c !== 0 && (t[r][1] = l.substring(l.length - c) + t[r][1], l = l.substring(0, l.length - c), o = o.substring(0, o.length - c))), r -= i + a, t.splice(r, i + a), o.length && (t.splice( r, 0, new n.Diff(s, o) ), r++), l.length && (t.splice( r, 0, new n.Diff(u, l) ), r++), r++) : r !== 0 && t[r - 1][0] == d ? (t[r - 1][1] += t[r][1], t.splice(r, 1)) : r++, a = 0, i = 0, o = "", l = ""; break; } t[t.length - 1][1] === "" && t.pop(); var f = !1; for (r = 1; r < t.length - 1; ) t[r - 1][0] == d && t[r + 1][0] == d && (t[r][1].substring(t[r][1].length - t[r - 1][1].length) == t[r - 1][1] ? (t[r][1] = t[r - 1][1] + t[r][1].substring(0, t[r][1].length - t[r - 1][1].length), t[r + 1][1] = t[r - 1][1] + t[r + 1][1], t.splice(r - 1, 1), f = !0) : t[r][1].substring(0, t[r + 1][1].length) == t[r + 1][1] && (t[r - 1][1] += t[r + 1][1], t[r][1] = t[r][1].substring(t[r + 1][1].length) + t[r + 1][1], t.splice(r + 1, 1), f = !0)), r++; f && this.diff_cleanupMerge(t); }, n.prototype.diff_xIndex = function(t, r) { var i = 0, a = 0, o = 0, l = 0, c; for (c = 0; c < t.length && (t[c][0] !== u && (i += t[c][1].length), t[c][0] !== s && (a += t[c][1].length), !(i > r)); c++) o = i, l = a; return t.length != c && t[c][0] === s ? l : l + (r - o); }, n.prototype.diff_prettyHtml = function(t) { for (var r = [], i = /&/g, a = //g, l = /\n/g, c = 0; c < t.length; c++) { var f = t[c][0], h = t[c][1], g = h.replace(i, "&").replace(a, "<").replace(o, ">").replace(l, "¶
"); switch (f) { case u: r[c] = '' + g + ""; break; case s: r[c] = '' + g + ""; break; case d: r[c] = "" + g + ""; break; } } return r.join(""); }, n.prototype.diff_text1 = function(t) { for (var r = [], i = 0; i < t.length; i++) t[i][0] !== u && (r[i] = t[i][1]); return r.join(""); }, n.prototype.diff_text2 = function(t) { for (var r = [], i = 0; i < t.length; i++) t[i][0] !== s && (r[i] = t[i][1]); return r.join(""); }, n.prototype.diff_levenshtein = function(t) { for (var r = 0, i = 0, a = 0, o = 0; o < t.length; o++) { var l = t[o][0], c = t[o][1]; switch (l) { case u: i += c.length; break; case s: a += c.length; break; case d: r += Math.max(i, a), i = 0, a = 0; break; } } return r += Math.max(i, a), r; }, n.prototype.diff_toDelta = function(t) { for (var r = [], i = 0; i < t.length; i++) switch (t[i][0]) { case u: r[i] = "+" + encodeURI(t[i][1]); break; case s: r[i] = "-" + t[i][1].length; break; case d: r[i] = "=" + t[i][1].length; break; } return r.join(" ").replace(/%20/g, " "); }, n.prototype.diff_fromDelta = function(t, r) { for (var i = [], a = 0, o = 0, l = r.split(/\t/g), c = 0; c < l.length; c++) { var f = l[c].substring(1); switch (l[c].charAt(0)) { case "+": try { i[a++] = new n.Diff(u, decodeURI(f)); } catch (p) { throw new Error("Illegal escape in diff_fromDelta: " + f); } break; case "-": case "=": var h = parseInt(f, 10); if (isNaN(h) || h < 0) throw new Error("Invalid number in diff_fromDelta: " + f); var g = t.substring(o, o += h); l[c].charAt(0) == "=" ? i[a++] = new n.Diff(d, g) : i[a++] = new n.Diff(s, g); break; default: if (l[c]) throw new Error("Invalid diff operation in diff_fromDelta: " + l[c]); } } if (o != t.length) throw new Error("Delta length (" + o + ") does not equal source text length (" + t.length + ")."); return i; }, n.prototype.match_main = function(t, r, i) { if (t == null || r == null || i == null) throw new Error("Null input. (match_main)"); return i = Math.max(0, Math.min(i, t.length)), t == r ? 0 : t.length ? t.substring(i, i + r.length) == r ? i : this.match_bitap_(t, r, i) : -1; }, n.prototype.match_bitap_ = function(t, r, i) { if (r.length > this.Match_MaxBits) throw new Error("Pattern too long for this browser."); var a = this.match_alphabet_(r), o = this; function l(C, L) { var B = C / r.length, $ = Math.abs(i - L); return o.Match_Distance ? B + $ / o.Match_Distance : $ ? 1 : B; } var c = this.Match_Threshold, f = t.indexOf(r, i); f != -1 && (c = Math.min(l(0, f), c), f = t.lastIndexOf(r, i + r.length), f != -1 && (c = Math.min(l(0, f), c))); var h = 1 << r.length - 1; f = -1; for (var g, p, _ = r.length + t.length, v, m = 0; m < r.length; m++) { for (g = 0, p = _; g < p; ) l(m, i + p) <= c ? g = p : _ = p, p = Math.floor((_ - g) / 2 + g); _ = p; var E = Math.max(1, i - p + 1), y = Math.min(i + p, t.length) + r.length, T = Array(y + 2); T[y + 1] = (1 << m) - 1; for (var N = y; N >= E; N--) { var A = a[t.charAt(N - 1)]; if (m === 0 ? T[N] = (T[N + 1] << 1 | 1) & A : T[N] = (T[N + 1] << 1 | 1) & A | ((v[N + 1] | v[N]) << 1 | 1) | v[N + 1], T[N] & h) { var R = l(m, N - 1); if (R <= c) if (c = R, f = N - 1, f > i) E = Math.max(1, 2 * i - f); else break; } } if (l(m + 1, i) > c) break; v = T; } return f; }, n.prototype.match_alphabet_ = function(t) { for (var r = {}, i = 0; i < t.length; i++) r[t.charAt(i)] = 0; for (var i = 0; i < t.length; i++) r[t.charAt(i)] |= 1 << t.length - i - 1; return r; }, n.prototype.patch_addContext_ = function(t, r) { if (r.length != 0) { if (t.start2 === null) throw Error("patch not initialized"); for (var i = r.substring(t.start2, t.start2 + t.length1), a = 0; r.indexOf(i) != r.lastIndexOf(i) && i.length < this.Match_MaxBits - this.Patch_Margin - this.Patch_Margin; ) a += this.Patch_Margin, i = r.substring( t.start2 - a, t.start2 + t.length1 + a ); a += this.Patch_Margin; var o = r.substring(t.start2 - a, t.start2); o && t.diffs.unshift(new n.Diff(d, o)); var l = r.substring( t.start2 + t.length1, t.start2 + t.length1 + a ); l && t.diffs.push(new n.Diff(d, l)), t.start1 -= o.length, t.start2 -= o.length, t.length1 += o.length + l.length, t.length2 += o.length + l.length; } }, n.prototype.patch_make = function(t, r, i) { var a, o; if (typeof t == "string" && typeof r == "string" && typeof i == "undefined") a = /** @type {string} */ t, o = this.diff_main( a, /** @type {string} */ r, !0 ), o.length > 2 && (this.diff_cleanupSemantic(o), this.diff_cleanupEfficiency(o)); else if (t && typeof t == "object" && typeof r == "undefined" && typeof i == "undefined") o = /** @type {!Array.} */ t, a = this.diff_text1(o); else if (typeof t == "string" && r && typeof r == "object" && typeof i == "undefined") a = /** @type {string} */ t, o = /** @type {!Array.} */ r; else if (typeof t == "string" && typeof r == "string" && i && typeof i == "object") a = /** @type {string} */ t, o = /** @type {!Array.} */ i; else throw new Error("Unknown call format to patch_make."); if (o.length === 0) return []; for (var l = [], c = new n.patch_obj(), f = 0, h = 0, g = 0, p = a, _ = a, v = 0; v < o.length; v++) { var m = o[v][0], E = o[v][1]; switch (!f && m !== d && (c.start1 = h, c.start2 = g), m) { case u: c.diffs[f++] = o[v], c.length2 += E.length, _ = _.substring(0, g) + E + _.substring(g); break; case s: c.length1 += E.length, c.diffs[f++] = o[v], _ = _.substring(0, g) + _.substring(g + E.length); break; case d: E.length <= 2 * this.Patch_Margin && f && o.length != v + 1 ? (c.diffs[f++] = o[v], c.length1 += E.length, c.length2 += E.length) : E.length >= 2 * this.Patch_Margin && f && (this.patch_addContext_(c, p), l.push(c), c = new n.patch_obj(), f = 0, p = _, h = g); break; } m !== u && (h += E.length), m !== s && (g += E.length); } return f && (this.patch_addContext_(c, p), l.push(c)), l; }, n.prototype.patch_deepCopy = function(t) { for (var r = [], i = 0; i < t.length; i++) { var a = t[i], o = new n.patch_obj(); o.diffs = []; for (var l = 0; l < a.diffs.length; l++) o.diffs[l] = new n.Diff(a.diffs[l][0], a.diffs[l][1]); o.start1 = a.start1, o.start2 = a.start2, o.length1 = a.length1, o.length2 = a.length2, r[i] = o; } return r; }, n.prototype.patch_apply = function(t, r) { if (t.length == 0) return [r, []]; t = this.patch_deepCopy(t); var i = this.patch_addPadding(t); r = i + r + i, this.patch_splitMax(t); for (var a = 0, o = [], l = 0; l < t.length; l++) { var c = t[l].start2 + a, f = this.diff_text1(t[l].diffs), h, g = -1; if (f.length > this.Match_MaxBits ? (h = this.match_main( r, f.substring(0, this.Match_MaxBits), c ), h != -1 && (g = this.match_main( r, f.substring(f.length - this.Match_MaxBits), c + f.length - this.Match_MaxBits ), (g == -1 || h >= g) && (h = -1))) : h = this.match_main(r, f, c), h == -1) o[l] = !1, a -= t[l].length2 - t[l].length1; else { o[l] = !0, a = h - c; var p; if (g == -1 ? p = r.substring(h, h + f.length) : p = r.substring(h, g + this.Match_MaxBits), f == p) r = r.substring(0, h) + this.diff_text2(t[l].diffs) + r.substring(h + f.length); else { var _ = this.diff_main(f, p, !1); if (f.length > this.Match_MaxBits && this.diff_levenshtein(_) / f.length > this.Patch_DeleteThreshold) o[l] = !1; else { this.diff_cleanupSemanticLossless(_); for (var v = 0, m, E = 0; E < t[l].diffs.length; E++) { var y = t[l].diffs[E]; y[0] !== d && (m = this.diff_xIndex(_, v)), y[0] === u ? r = r.substring(0, h + m) + y[1] + r.substring(h + m) : y[0] === s && (r = r.substring(0, h + m) + r.substring(h + this.diff_xIndex( _, v + y[1].length ))), y[0] !== s && (v += y[1].length); } } } } } return r = r.substring(i.length, r.length - i.length), [r, o]; }, n.prototype.patch_addPadding = function(t) { for (var r = this.Patch_Margin, i = "", a = 1; a <= r; a++) i += String.fromCharCode(a); for (var a = 0; a < t.length; a++) t[a].start1 += r, t[a].start2 += r; var o = t[0], l = o.diffs; if (l.length == 0 || l[0][0] != d) l.unshift(new n.Diff(d, i)), o.start1 -= r, o.start2 -= r, o.length1 += r, o.length2 += r; else if (r > l[0][1].length) { var c = r - l[0][1].length; l[0][1] = i.substring(l[0][1].length) + l[0][1], o.start1 -= c, o.start2 -= c, o.length1 += c, o.length2 += c; } if (o = t[t.length - 1], l = o.diffs, l.length == 0 || l[l.length - 1][0] != d) l.push(new n.Diff(d, i)), o.length1 += r, o.length2 += r; else if (r > l[l.length - 1][1].length) { var c = r - l[l.length - 1][1].length; l[l.length - 1][1] += i.substring(0, c), o.length1 += c, o.length2 += c; } return i; }, n.prototype.patch_splitMax = function(t) { for (var r = this.Match_MaxBits, i = 0; i < t.length; i++) if (!(t[i].length1 <= r)) { var a = t[i]; t.splice(i--, 1); for (var o = a.start1, l = a.start2, c = ""; a.diffs.length !== 0; ) { var f = new n.patch_obj(), h = !0; for (f.start1 = o - c.length, f.start2 = l - c.length, c !== "" && (f.length1 = f.length2 = c.length, f.diffs.push(new n.Diff(d, c))); a.diffs.length !== 0 && f.length1 < r - this.Patch_Margin; ) { var g = a.diffs[0][0], p = a.diffs[0][1]; g === u ? (f.length2 += p.length, l += p.length, f.diffs.push(a.diffs.shift()), h = !1) : g === s && f.diffs.length == 1 && f.diffs[0][0] == d && p.length > 2 * r ? (f.length1 += p.length, o += p.length, h = !1, f.diffs.push(new n.Diff(g, p)), a.diffs.shift()) : (p = p.substring( 0, r - f.length1 - this.Patch_Margin ), f.length1 += p.length, o += p.length, g === d ? (f.length2 += p.length, l += p.length) : h = !1, f.diffs.push(new n.Diff(g, p)), p == a.diffs[0][1] ? a.diffs.shift() : a.diffs[0][1] = a.diffs[0][1].substring(p.length)); } c = this.diff_text2(f.diffs), c = c.substring(c.length - this.Patch_Margin); var _ = this.diff_text1(a.diffs).substring(0, this.Patch_Margin); _ !== "" && (f.length1 += _.length, f.length2 += _.length, f.diffs.length !== 0 && f.diffs[f.diffs.length - 1][0] === d ? f.diffs[f.diffs.length - 1][1] += _ : f.diffs.push(new n.Diff(d, _))), h || t.splice(++i, 0, f); } } }, n.prototype.patch_toText = function(t) { for (var r = [], i = 0; i < t.length; i++) r[i] = t[i]; return r.join(""); }, n.prototype.patch_fromText = function(t) { var r = []; if (!t) return r; for (var i = t.split(` `), a = 0, o = /^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/; a < i.length; ) { var l = i[a].match(o); if (!l) throw new Error("Invalid patch string: " + i[a]); var c = new n.patch_obj(); for (r.push(c), c.start1 = parseInt(l[1], 10), l[2] === "" ? (c.start1--, c.length1 = 1) : l[2] == "0" ? c.length1 = 0 : (c.start1--, c.length1 = parseInt(l[2], 10)), c.start2 = parseInt(l[3], 10), l[4] === "" ? (c.start2--, c.length2 = 1) : l[4] == "0" ? c.length2 = 0 : (c.start2--, c.length2 = parseInt(l[4], 10)), a++; a < i.length; ) { var f = i[a].charAt(0); try { var h = decodeURI(i[a].substring(1)); } catch (g) { throw new Error("Illegal escape in patch_fromText: " + h); } if (f == "-") c.diffs.push(new n.Diff(s, h)); else if (f == "+") c.diffs.push(new n.Diff(u, h)); else if (f == " ") c.diffs.push(new n.Diff(d, h)); else { if (f == "@") break; if (f !== "") throw new Error('Invalid patch mode "' + f + '" in: ' + h); } a++; } } return r; }, n.patch_obj = function() { this.diffs = [], this.start1 = null, this.start2 = null, this.length1 = 0, this.length2 = 0; }, n.patch_obj.prototype.toString = function() { var t, r; this.length1 === 0 ? t = this.start1 + ",0" : this.length1 == 1 ? t = this.start1 + 1 : t = this.start1 + 1 + "," + this.length1, this.length2 === 0 ? r = this.start2 + ",0" : this.length2 == 1 ? r = this.start2 + 1 : r = this.start2 + 1 + "," + this.length2; for (var i = ["@@ -" + t + " +" + r + ` @@ `], a, o = 0; o < this.diffs.length; o++) { switch (this.diffs[o][0]) { case u: a = "+"; break; case s: a = "-"; break; case d: a = " "; break; } i[o + 1] = a + encodeURI(this.diffs[o][1]) + ` `; } return i.join("").replace(/%20/g, " "); }, e.exports = n, e.exports.diff_match_patch = n, e.exports.DIFF_DELETE = s, e.exports.DIFF_INSERT = u, e.exports.DIFF_EQUAL = d; })(mn); var ke = mn.exports; function En(e) { return e instanceof Map ? e.clear = e.delete = e.set = function() { throw new Error("map is read-only"); } : e instanceof Set && (e.add = e.clear = e.delete = function() { throw new Error("set is read-only"); }), Object.freeze(e), Object.getOwnPropertyNames(e).forEach((n) => { const s = e[n], u = typeof s; (u === "object" || u === "function") && !Object.isFrozen(s) && En(s); }), e; } class en { /** * @param {CompiledMode} mode */ constructor(n) { n.data === void 0 && (n.data = {}), this.data = n.data, this.isMatchIgnored = !1; } ignoreMatch() { this.isMatchIgnored = !0; } } function yn(e) { return e.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); } function re(e, ...n) { const s = /* @__PURE__ */ Object.create(null); for (const u in e) s[u] = e[u]; return n.forEach(function(u) { for (const d in u) s[d] = u[d]; }), /** @type {T} */ s; } const it = "", nn = (e) => !!e.scope, st = (e, { prefix: n }) => { if (e.startsWith("language:")) return e.replace("language:", "language-"); if (e.includes(".")) { const s = e.split("."); return [ `${n}${s.shift()}`, ...s.map((u, d) => `${u}${"_".repeat(d + 1)}`) ].join(" "); } return `${n}${e}`; }; class at { /** * Creates a new HTMLRenderer * * @param {Tree} parseTree - the parse tree (must support `walk` API) * @param {{classPrefix: string}} options */ constructor(n, s) { this.buffer = "", this.classPrefix = s.classPrefix, n.walk(this); } /** * Adds texts to the output stream * * @param {string} text */ addText(n) { this.buffer += yn(n); } /** * Adds a node open to the output stream (if needed) * * @param {Node} node */ openNode(n) { if (!nn(n)) return; const s = st( n.scope, { prefix: this.classPrefix } ); this.span(s); } /** * Adds a node close to the output stream (if needed) * * @param {Node} node */ closeNode(n) { nn(n) && (this.buffer += it); } /** * returns the accumulated buffer */ value() { return this.buffer; } // helpers /** * Builds a span element * * @param {string} className */ span(n) { this.buffer += ``; } } const tn = (e = {}) => { const n = { children: [] }; return Object.assign(n, e), n; }; class Fe { constructor() { this.rootNode = tn(), this.stack = [this.rootNode]; } get top() { return this.stack[this.stack.length - 1]; } get root() { return this.rootNode; } /** @param {Node} node */ add(n) { this.top.children.push(n); } /** @param {string} scope */ openNode(n) { const s = tn({ scope: n }); this.add(s), this.stack.push(s); } closeNode() { if (this.stack.length > 1) return this.stack.pop(); } closeAllNodes() { for (; this.closeNode(); ) ; } toJSON() { return JSON.stringify(this.rootNode, null, 4); } /** * @typedef { import("./html_renderer").Renderer } Renderer * @param {Renderer} builder */ walk(n) { return this.constructor._walk(n, this.rootNode); } /** * @param {Renderer} builder * @param {Node} node */ static _walk(n, s) { return typeof s == "string" ? n.addText(s) : s.children && (n.openNode(s), s.children.forEach((u) => this._walk(n, u)), n.closeNode(s)), n; } /** * @param {Node} node */ static _collapse(n) { typeof n != "string" && n.children && (n.children.every((s) => typeof s == "string") ? n.children = [n.children.join("")] : n.children.forEach((s) => { Fe._collapse(s); })); } } class ot extends Fe { /** * @param {*} options */ constructor(n) { super(), this.options = n; } /** * @param {string} text */ addText(n) { n !== "" && this.add(n); } /** @param {string} scope */ startScope(n) { this.openNode(n); } endScope() { this.closeNode(); } /** * @param {Emitter & {root: DataNode}} emitter * @param {string} name */ __addSublanguage(n, s) { const u = n.root; s && (u.scope = `language:${s}`), this.add(u); } toHTML() { return new at(this, this.options).value(); } finalize() { return this.closeAllNodes(), !0; } } function pe(e) { return e ? typeof e == "string" ? e : e.source : null; } function wn(e) { return oe("(?=", e, ")"); } function lt(e) { return oe("(?:", e, ")*"); } function ct(e) { return oe("(?:", e, ")?"); } function oe(...e) { return e.map((s) => pe(s)).join(""); } function ut(e) { const n = e[e.length - 1]; return typeof n == "object" && n.constructor === Object ? (e.splice(e.length - 1, 1), n) : {}; } function He(...e) { return "(" + (ut(e).capture ? "" : "?:") + e.map((u) => pe(u)).join("|") + ")"; } function Mn(e) { return new RegExp(e.toString() + "|").exec("").length - 1; } function ft(e, n) { const s = e && e.exec(n); return s && s.index === 0; } const gt = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./; function ze(e, { joinWith: n }) { let s = 0; return e.map((u) => { s += 1; const d = s; let t = pe(u), r = ""; for (; t.length > 0; ) { const i = gt.exec(t); if (!i) { r += t; break; } r += t.substring(0, i.index), t = t.substring(i.index + i[0].length), i[0][0] === "\\" && i[1] ? r += "\\" + String(Number(i[1]) + d) : (r += i[0], i[0] === "(" && s++); } return r; }).map((u) => `(${u})`).join(n); } const ht = /\b\B/, An = "[a-zA-Z]\\w*", Ge = "[a-zA-Z_]\\w*", Nn = "\\b\\d+(\\.\\d+)?", Tn = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)", Sn = "\\b(0b[01]+)", dt = "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", pt = (e = {}) => { const n = /^#![ ]*\//; return e.binary && (e.begin = oe( n, /.*\b/, e.binary, /\b.*/ )), re({ scope: "meta", begin: n, end: /$/, relevance: 0, /** @type {ModeCallback} */ "on:begin": (s, u) => { s.index !== 0 && u.ignoreMatch(); } }, e); }, _e = { begin: "\\\\[\\s\\S]", relevance: 0 }, _t = { scope: "string", begin: "'", end: "'", illegal: "\\n", contains: [_e] }, bt = { scope: "string", begin: '"', end: '"', illegal: "\\n", contains: [_e] }, vt = { begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ }, Re = function(e, n, s = {}) { const u = re( { scope: "comment", begin: e, end: n, contains: [] }, s ); u.contains.push({ scope: "doctag", // hack to avoid the space from being included. the space is necessary to // match here to prevent the plain text rule below from gobbling up doctags begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/, excludeBegin: !0, relevance: 0 }); const d = He( // list of common 1 and 2 letter words in English "I", "a", "is", "so", "us", "to", "at", "if", "in", "it", "on", // note: this is not an exhaustive list of contractions, just popular ones /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc /[A-Za-z]+[-][a-z]+/, // `no-way`, etc. /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences ); return u.contains.push( { // TODO: how to include ", (, ) without breaking grammars that use these for // comment delimiters? // begin: /[ ]+([()"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()":]?([.][ ]|[ ]|\))){3}/ // --- // this tries to find sequences of 3 english words in a row (without any // "programming" type syntax) this gives us a strong signal that we've // TRULY found a comment - vs perhaps scanning with the wrong language. // It's possible to find something that LOOKS like the start of the // comment - but then if there is no readable text - good chance it is a // false match and not a comment. // // for a visual example please see: // https://github.com/highlightjs/highlight.js/issues/2827 begin: oe( /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */ "(", d, /[.]?[:]?([.][ ]|[ ])/, "){3}" ) // look for 3 words in a row } ), u; }, mt = Re("//", "$"), Et = Re("/\\*", "\\*/"), yt = Re("#", "$"), wt = { scope: "number", begin: Nn, relevance: 0 }, Mt = { scope: "number", begin: Tn, relevance: 0 }, At = { scope: "number", begin: Sn, relevance: 0 }, Nt = { scope: "regexp", begin: /\/(?=[^/\n]*\/)/, end: /\/[gimuy]*/, contains: [ _e, { begin: /\[/, end: /\]/, relevance: 0, contains: [_e] } ] }, Tt = { scope: "title", begin: An, relevance: 0 }, St = { scope: "title", begin: Ge, relevance: 0 }, Dt = { // excludes method names from keyword processing begin: "\\.\\s*" + Ge, relevance: 0 }, Ct = function(e) { return Object.assign( e, { /** @type {ModeCallback} */ "on:begin": (n, s) => { s.data._beginMatch = n[1]; }, /** @type {ModeCallback} */ "on:end": (n, s) => { s.data._beginMatch !== n[1] && s.ignoreMatch(); } } ); }; var Ae = /* @__PURE__ */ Object.freeze({ __proto__: null, APOS_STRING_MODE: _t, BACKSLASH_ESCAPE: _e, BINARY_NUMBER_MODE: At, BINARY_NUMBER_RE: Sn, COMMENT: Re, C_BLOCK_COMMENT_MODE: Et, C_LINE_COMMENT_MODE: mt, C_NUMBER_MODE: Mt, C_NUMBER_RE: Tn, END_SAME_AS_BEGIN: Ct, HASH_COMMENT_MODE: yt, IDENT_RE: An, MATCH_NOTHING_RE: ht, METHOD_GUARD: Dt, NUMBER_MODE: wt, NUMBER_RE: Nn, PHRASAL_WORDS_MODE: vt, QUOTE_STRING_MODE: bt, REGEXP_MODE: Nt, RE_STARTERS_RE: dt, SHEBANG: pt, TITLE_MODE: Tt, UNDERSCORE_IDENT_RE: Ge, UNDERSCORE_TITLE_MODE: St }); function Rt(e, n) { e.input[e.index - 1] === "." && n.ignoreMatch(); } function Lt(e, n) { e.className !== void 0 && (e.scope = e.className, delete e.className); } function Ot(e, n) { n && e.beginKeywords && (e.begin = "\\b(" + e.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)", e.__beforeBegin = Rt, e.keywords = e.keywords || e.beginKeywords, delete e.beginKeywords, e.relevance === void 0 && (e.relevance = 0)); } function It(e, n) { Array.isArray(e.illegal) && (e.illegal = He(...e.illegal)); } function kt(e, n) { if (e.match) { if (e.begin || e.end) throw new Error("begin & end are not supported with match"); e.begin = e.match, delete e.match; } } function $t(e, n) { e.relevance === void 0 && (e.relevance = 1); } const Bt = (e, n) => { if (!e.beforeMatch) return; if (e.starts) throw new Error("beforeMatch cannot be used with starts"); const s = Object.assign({}, e); Object.keys(e).forEach((u) => { delete e[u]; }), e.keywords = s.keywords, e.begin = oe(s.beforeMatch, wn(s.begin)), e.starts = { relevance: 0, contains: [ Object.assign(s, { endsParent: !0 }) ] }, e.relevance = 0, delete s.beforeMatch; }, Pt = [ "of", "and", "for", "in", "not", "or", "if", "then", "parent", // common variable name "list", // common variable name "value" // common variable name ], Ut = "keyword"; function Dn(e, n, s = Ut) { const u = /* @__PURE__ */ Object.create(null); return typeof e == "string" ? d(s, e.split(" ")) : Array.isArray(e) ? d(s, e) : Object.keys(e).forEach(function(t) { Object.assign( u, Dn(e[t], n, t) ); }), u; function d(t, r) { n && (r = r.map((i) => i.toLowerCase())), r.forEach(function(i) { const a = i.split("|"); u[a[0]] = [t, xt(a[0], a[1])]; }); } } function xt(e, n) { return n ? Number(n) : Ft(e) ? 0 : 1; } function Ft(e) { return Pt.includes(e.toLowerCase()); } const rn = {}, ae = (e) => { console.error(e); }, sn = (e, ...n) => { console.log(`WARN: ${e}`, ...n); }, ce = (e, n) => { rn[`${e}/${n}`] || (console.log(`Deprecated as of ${e}. ${n}`), rn[`${e}/${n}`] = !0); }, De = new Error(); function Cn(e, n, { key: s }) { let u = 0; const d = e[s], t = {}, r = {}; for (let i = 1; i <= n.length; i++) r[i + u] = d[i], t[i + u] = !0, u += Mn(n[i - 1]); e[s] = r, e[s]._emit = t, e[s]._multi = !0; } function Ht(e) { if (Array.isArray(e.begin)) { if (e.skip || e.excludeBegin || e.returnBegin) throw ae("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), De; if (typeof e.beginScope != "object" || e.beginScope === null) throw ae("beginScope must be object"), De; Cn(e, e.begin, { key: "beginScope" }), e.begin = ze(e.begin, { joinWith: "" }); } } function zt(e) { if (Array.isArray(e.end)) { if (e.skip || e.excludeEnd || e.returnEnd) throw ae("skip, excludeEnd, returnEnd not compatible with endScope: {}"), De; if (typeof e.endScope != "object" || e.endScope === null) throw ae("endScope must be object"), De; Cn(e, e.end, { key: "endScope" }), e.end = ze(e.end, { joinWith: "" }); } } function Gt(e) { e.scope && typeof e.scope == "object" && e.scope !== null && (e.beginScope = e.scope, delete e.scope); } function Kt(e) { Gt(e), typeof e.beginScope == "string" && (e.beginScope = { _wrap: e.beginScope }), typeof e.endScope == "string" && (e.endScope = { _wrap: e.endScope }), Ht(e), zt(e); } function Wt(e) { function n(r, i) { return new RegExp( pe(r), "m" + (e.case_insensitive ? "i" : "") + (e.unicodeRegex ? "u" : "") + (i ? "g" : "") ); } class s { constructor() { this.matchIndexes = {}, this.regexes = [], this.matchAt = 1, this.position = 0; } // @ts-ignore addRule(i, a) { a.position = this.position++, this.matchIndexes[this.matchAt] = a, this.regexes.push([a, i]), this.matchAt += Mn(i) + 1; } compile() { this.regexes.length === 0 && (this.exec = () => null); const i = this.regexes.map((a) => a[1]); this.matcherRe = n(ze(i, { joinWith: "|" }), !0), this.lastIndex = 0; } /** @param {string} s */ exec(i) { this.matcherRe.lastIndex = this.lastIndex; const a = this.matcherRe.exec(i); if (!a) return null; const o = a.findIndex((c, f) => f > 0 && c !== void 0), l = this.matchIndexes[o]; return a.splice(0, o), Object.assign(a, l); } } class u { constructor() { this.rules = [], this.multiRegexes = [], this.count = 0, this.lastIndex = 0, this.regexIndex = 0; } // @ts-ignore getMatcher(i) { if (this.multiRegexes[i]) return this.multiRegexes[i]; const a = new s(); return this.rules.slice(i).forEach(([o, l]) => a.addRule(o, l)), a.compile(), this.multiRegexes[i] = a, a; } resumingScanAtSamePosition() { return this.regexIndex !== 0; } considerAll() { this.regexIndex = 0; } // @ts-ignore addRule(i, a) { this.rules.push([i, a]), a.type === "begin" && this.count++; } /** @param {string} s */ exec(i) { const a = this.getMatcher(this.regexIndex); a.lastIndex = this.lastIndex; let o = a.exec(i); if (this.resumingScanAtSamePosition() && !(o && o.index === this.lastIndex)) { const l = this.getMatcher(0); l.lastIndex = this.lastIndex + 1, o = l.exec(i); } return o && (this.regexIndex += o.position + 1, this.regexIndex === this.count && this.considerAll()), o; } } function d(r) { const i = new u(); return r.contains.forEach((a) => i.addRule(a.begin, { rule: a, type: "begin" })), r.terminatorEnd && i.addRule(r.terminatorEnd, { type: "end" }), r.illegal && i.addRule(r.illegal, { type: "illegal" }), i; } function t(r, i) { const a = ( /** @type CompiledMode */ r ); if (r.isCompiled) return a; [ Lt, // do this early so compiler extensions generally don't have to worry about // the distinction between match/begin kt, Kt, Bt ].forEach((l) => l(r, i)), e.compilerExtensions.forEach((l) => l(r, i)), r.__beforeBegin = null, [ Ot, // do this later so compiler extensions that come earlier have access to the // raw array if they wanted to perhaps manipulate it, etc. It, // default to 1 relevance if not specified $t ].forEach((l) => l(r, i)), r.isCompiled = !0; let o = null; return typeof r.keywords == "object" && r.keywords.$pattern && (r.keywords = Object.assign({}, r.keywords), o = r.keywords.$pattern, delete r.keywords.$pattern), o = o || /\w+/, r.keywords && (r.keywords = Dn(r.keywords, e.case_insensitive)), a.keywordPatternRe = n(o, !0), i && (r.begin || (r.begin = /\B|\b/), a.beginRe = n(a.begin), !r.end && !r.endsWithParent && (r.end = /\B|\b/), r.end && (a.endRe = n(a.end)), a.terminatorEnd = pe(a.end) || "", r.endsWithParent && i.terminatorEnd && (a.terminatorEnd += (r.end ? "|" : "") + i.terminatorEnd)), r.illegal && (a.illegalRe = n( /** @type {RegExp | string} */ r.illegal )), r.contains || (r.contains = []), r.contains = [].concat(...r.contains.map(function(l) { return qt(l === "self" ? r : l); })), r.contains.forEach(function(l) { t( /** @type Mode */ l, a ); }), r.starts && t(r.starts, i), a.matcher = d(a), a; } if (e.compilerExtensions || (e.compilerExtensions = []), e.contains && e.contains.includes("self")) throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation."); return e.classNameAliases = re(e.classNameAliases || {}), t( /** @type Mode */ e ); } function Rn(e) { return e ? e.endsWithParent || Rn(e.starts) : !1; } function qt(e) { return e.variants && !e.cachedVariants && (e.cachedVariants = e.variants.map(function(n) { return re(e, { variants: null }, n); })), e.cachedVariants ? e.cachedVariants : Rn(e) ? re(e, { starts: e.starts ? re(e.starts) : null }) : Object.isFrozen(e) ? re(e) : e; } var jt = "11.10.0"; class Qt extends Error { constructor(n, s) { super(n), this.name = "HTMLInjectionError", this.html = s; } } const $e = yn, an = re, on = Symbol("nomatch"), Zt = 7, Ln = function(e) { const n = /* @__PURE__ */ Object.create(null), s = /* @__PURE__ */ Object.create(null), u = []; let d = !0; const t = "Could not find the language '{}', did you forget to load/include a language module?", r = { disableAutodetect: !0, name: "Plain text", contains: [] }; let i = { ignoreUnescapedHTML: !1, throwUnescapedHTML: !1, noHighlightRe: /^(no-?highlight)$/i, languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i, classPrefix: "hljs-", cssSelector: "pre code", languages: null, // beta configuration options, subject to change, welcome to discuss // https://github.com/highlightjs/highlight.js/issues/1086 __emitter: ot }; function a(b) { return i.noHighlightRe.test(b); } function o(b) { let M = b.className + " "; M += b.parentNode ? b.parentNode.className : ""; const O = i.languageDetectRe.exec(M); if (O) { const P = C(O[1]); return P || (sn(t.replace("{}", O[1])), sn("Falling back to no-highlight mode for this block.", b)), P ? O[1] : "no-highlight"; } return M.split(/\s+/).find((P) => a(P) || C(P)); } function l(b, M, O) { let P = "", F = ""; typeof M == "object" ? (P = b, O = M.ignoreIllegals, F = M.language) : (ce("10.7.0", "highlight(lang, code, ...args) has been deprecated."), ce("10.7.0", `Please use highlight(code, options) instead. https://github.com/highlightjs/highlight.js/issues/2277`), F = b, P = M), O === void 0 && (O = !0); const W = { code: P, language: F }; te("before:highlight", W); const Z = W.result ? W.result : c(W.language, W.code, O); return Z.code = W.code, te("after:highlight", Z), Z; } function c(b, M, O, P) { const F = /* @__PURE__ */ Object.create(null); function W(w, S) { return w.keywords[S]; } function Z() { if (!I.keywords) { z.addText(x); return; } let w = 0; I.keywordPatternRe.lastIndex = 0; let S = I.keywordPatternRe.exec(x), k = ""; for (; S; ) { k += x.substring(w, S.index); const U = V.case_insensitive ? S[0].toLowerCase() : S[0], G = W(I, U); if (G) { const [X, Kn] = G; if (z.addText(k), k = "", F[U] = (F[U] || 0) + 1, F[U] <= Zt && (Me += Kn), X.startsWith("_")) k += S[0]; else { const Wn = V.classNameAliases[X] || X; Y(S[0], Wn); } } else k += S[0]; w = I.keywordPatternRe.lastIndex, S = I.keywordPatternRe.exec(x); } k += x.substring(w), z.addText(k); } function ye() { if (x === "") return; let w = null; if (typeof I.subLanguage == "string") { if (!n[I.subLanguage]) { z.addText(x); return; } w = c(I.subLanguage, x, !0, Ye[I.subLanguage]), Ye[I.subLanguage] = /** @type {CompiledMode} */ w._top; } else w = h(x, I.subLanguage.length ? I.subLanguage : null); I.relevance > 0 && (Me += w.relevance), z.__addSublanguage(w._emitter, w.language); } function q() { I.subLanguage != null ? ye() : Z(), x = ""; } function Y(w, S) { w !== "" && (z.startScope(S), z.addText(w), z.endScope()); } function qe(w, S) { let k = 1; const U = S.length - 1; for (; k <= U; ) { if (!w._emit[k]) { k++; continue; } const G = V.classNameAliases[w[k]] || w[k], X = S[k]; G ? Y(X, G) : (x = X, Z(), x = ""), k++; } } function je(w, S) { return w.scope && typeof w.scope == "string" && z.openNode(V.classNameAliases[w.scope] || w.scope), w.beginScope && (w.beginScope._wrap ? (Y(x, V.classNameAliases[w.beginScope._wrap] || w.beginScope._wrap), x = "") : w.beginScope._multi && (qe(w.beginScope, S), x = "")), I = Object.create(w, { parent: { value: I } }), I; } function Qe(w, S, k) { let U = ft(w.endRe, k); if (U) { if (w["on:end"]) { const G = new en(w); w["on:end"](S, G), G.isMatchIgnored && (U = !1); } if (U) { for (; w.endsParent && w.parent; ) w = w.parent; return w; } } if (w.endsWithParent) return Qe(w.parent, S, k); } function xn(w) { return I.matcher.regexIndex === 0 ? (x += w[0], 1) : (Ie = !0, 0); } function Fn(w) { const S = w[0], k = w.rule, U = new en(k), G = [k.__beforeBegin, k["on:begin"]]; for (const X of G) if (X && (X(w, U), U.isMatchIgnored)) return xn(S); return k.skip ? x += S : (k.excludeBegin && (x += S), q(), !k.returnBegin && !k.excludeBegin && (x = S)), je(k, w), k.returnBegin ? 0 : S.length; } function Hn(w) { const S = w[0], k = M.substring(w.index), U = Qe(I, w, k); if (!U) return on; const G = I; I.endScope && I.endScope._wrap ? (q(), Y(S, I.endScope._wrap)) : I.endScope && I.endScope._multi ? (q(), qe(I.endScope, w)) : G.skip ? x += S : (G.returnEnd || G.excludeEnd || (x += S), q(), G.excludeEnd && (x = S)); do I.scope && z.closeNode(), !I.skip && !I.subLanguage && (Me += I.relevance), I = I.parent; while (I !== U.parent); return U.starts && je(U.starts, w), G.returnEnd ? 0 : S.length; } function zn() { const w = []; for (let S = I; S !== V; S = S.parent) S.scope && w.unshift(S.scope); w.forEach((S) => z.openNode(S)); } let we = {}; function Ze(w, S) { const k = S && S[0]; if (x += w, k == null) return q(), 0; if (we.type === "begin" && S.type === "end" && we.index === S.index && k === "") { if (x += M.slice(S.index, S.index + 1), !d) { const U = new Error(`0 width match regex (${b})`); throw U.languageName = b, U.badRule = we.rule, U; } return 1; } if (we = S, S.type === "begin") return Fn(S); if (S.type === "illegal" && !O) { const U = new Error('Illegal lexeme "' + k + '" for mode "' + (I.scope || "") + '"'); throw U.mode = I, U; } else if (S.type === "end") { const U = Hn(S); if (U !== on) return U; } if (S.type === "illegal" && k === "") return 1; if (Oe > 1e5 && Oe > S.index * 3) throw new Error("potential infinite loop, way more iterations than matches"); return x += k, k.length; } const V = C(b); if (!V) throw ae(t.replace("{}", b)), new Error('Unknown language: "' + b + '"'); const Gn = Wt(V); let Le = "", I = P || Gn; const Ye = {}, z = new i.__emitter(i); zn(); let x = "", Me = 0, se = 0, Oe = 0, Ie = !1; try { if (V.__emitTokens) V.__emitTokens(M, z); else { for (I.matcher.considerAll(); ; ) { Oe++, Ie ? Ie = !1 : I.matcher.considerAll(), I.matcher.lastIndex = se; const w = I.matcher.exec(M); if (!w) break; const S = M.substring(se, w.index), k = Ze(S, w); se = w.index + k; } Ze(M.substring(se)); } return z.finalize(), Le = z.toHTML(), { language: b, value: Le, relevance: Me, illegal: !1, _emitter: z, _top: I }; } catch (w) { if (w.message && w.message.includes("Illegal")) return { language: b, value: $e(M), illegal: !0, relevance: 0, _illegalBy: { message: w.message, index: se, context: M.slice(se - 100, se + 100), mode: w.mode, resultSoFar: Le }, _emitter: z }; if (d) return { language: b, value: $e(M), illegal: !1, relevance: 0, errorRaised: w, _emitter: z, _top: I }; throw w; } } function f(b) { const M = { value: $e(b), illegal: !1, relevance: 0, _top: r, _emitter: new i.__emitter(i) }; return M._emitter.addText(b), M; } function h(b, M) { M = M || i.languages || Object.keys(n); const O = f(b), P = M.filter(C).filter(B).map( (q) => c(q, b, !1) ); P.unshift(O); const F = P.sort((q, Y) => { if (q.relevance !== Y.relevance) return Y.relevance - q.relevance; if (q.language && Y.language) { if (C(q.language).supersetOf === Y.language) return 1; if (C(Y.language).supersetOf === q.language) return -1; } return 0; }), [W, Z] = F, ye = W; return ye.secondBest = Z, ye; } function g(b, M, O) { const P = M && s[M] || O; b.classList.add("hljs"), b.classList.add(`language-${P}`); } function p(b) { let M = null; const O = o(b); if (a(O)) return; if (te( "before:highlightElement", { el: b, language: O } ), b.dataset.highlighted) { console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.", b); return; } if (b.children.length > 0 && (i.ignoreUnescapedHTML || (console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), console.warn("The element with unescaped HTML:"), console.warn(b)), i.throwUnescapedHTML)) throw new Qt( "One of your code blocks includes unescaped HTML.", b.innerHTML ); M = b; const P = M.textContent, F = O ? l(P, { language: O, ignoreIllegals: !0 }) : h(P); b.innerHTML = F.value, b.dataset.highlighted = "yes", g(b, O, F.language), b.result = { language: F.language, // TODO: remove with version 11.0 re: F.relevance, relevance: F.relevance }, F.secondBest && (b.secondBest = { language: F.secondBest.language, relevance: F.secondBest.relevance }), te("after:highlightElement", { el: b, result: F, text: P }); } function _(b) { i = an(i, b); } const v = () => { y(), ce("10.6.0", "initHighlighting() deprecated. Use highlightAll() now."); }; function m() { y(), ce("10.6.0", "initHighlightingOnLoad() deprecated. Use highlightAll() now."); } let E = !1; function y() { if (document.readyState === "loading") { E = !0; return; } document.querySelectorAll(i.cssSelector).forEach(p); } function T() { E && y(); } typeof window != "undefined" && window.addEventListener && window.addEventListener("DOMContentLoaded", T, !1); function N(b, M) { let O = null; try { O = M(e); } catch (P) { if (ae("Language definition for '{}' could not be registered.".replace("{}", b)), d) ae(P); else throw P; O = r; } O.name || (O.name = b), n[b] = O, O.rawDefinition = M.bind(null, e), O.aliases && L(O.aliases, { languageName: b }); } function A(b) { delete n[b]; for (const M of Object.keys(s)) s[M] === b && delete s[M]; } function R() { return Object.keys(n); } function C(b) { return b = (b || "").toLowerCase(), n[b] || n[s[b]]; } function L(b, { languageName: M }) { typeof b == "string" && (b = [b]), b.forEach((O) => { s[O.toLowerCase()] = M; }); } function B(b) { const M = C(b); return M && !M.disableAutodetect; } function $(b) { b["before:highlightBlock"] && !b["before:highlightElement"] && (b["before:highlightElement"] = (M) => { b["before:highlightBlock"]( Object.assign({ block: M.el }, M) ); }), b["after:highlightBlock"] && !b["after:highlightElement"] && (b["after:highlightElement"] = (M) => { b["after:highlightBlock"]( Object.assign({ block: M.el }, M) ); }); } function H(b) { $(b), u.push(b); } function K(b) { const M = u.indexOf(b); M !== -1 && u.splice(M, 1); } function te(b, M) { const O = b; u.forEach(function(P) { P[O] && P[O](M); }); } function le(b) { return ce("10.7.0", "highlightBlock will be removed entirely in v12.0"), ce("10.7.0", "Please use highlightElement now."), p(b); } Object.assign(e, { highlight: l, highlightAuto: h, highlightAll: y, highlightElement: p, // TODO: Remove with v12 API highlightBlock: le, configure: _, initHighlighting: v, initHighlightingOnLoad: m, registerLanguage: N, unregisterLanguage: A, listLanguages: R, getLanguage: C, registerAliases: L, autoDetection: B, inherit: an, addPlugin: H, removePlugin: K }), e.debugMode = function() { d = !1; }, e.safeMode = function() { d = !0; }, e.versionString = jt, e.regex = { concat: oe, lookahead: wn, either: He, optional: ct, anyNumberOfTimes: lt }; for (const b in Ae) typeof Ae[b] == "object" && En(Ae[b]); return Object.assign(e, Ae), e; }, fe = Ln({}); fe.newInstance = () => Ln({}); var Yt = fe; fe.HighlightJS = fe; fe.default = fe; const Q = /* @__PURE__ */ rt(Yt); function Vt(e) { const n = e.regex, s = n.concat(/[\p{L}_]/u, n.optional(/[\p{L}0-9_.-]*:/u), /[\p{L}0-9_.-]*/u), u = /[\p{L}0-9._:-]+/u, d = { className: "symbol", begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/ }, t = { begin: /\s/, contains: [ { className: "keyword", begin: /#?[a-z_][a-z1-9_-]+/, illegal: /\n/ } ] }, r = e.inherit(t, { begin: /\(/, end: /\)/ }), i = e.inherit(e.APOS_STRING_MODE, { className: "string" }), a = e.inherit(e.QUOTE_STRING_MODE, { className: "string" }), o = { endsWithParent: !0, illegal: /`]+/ } ] } ] } ] }; return { name: "HTML, XML", aliases: [ "html", "xhtml", "rss", "atom", "xjb", "xsd", "xsl", "plist", "wsf", "svg" ], case_insensitive: !0, unicodeRegex: !0, contains: [ { className: "meta", begin: //, relevance: 10, contains: [ t, a, i, r, { begin: /\[/, end: /\]/, contains: [ { className: "meta", begin: //, contains: [ t, r, a, i ] } ] } ] }, e.COMMENT( //, { relevance: 10 } ), { begin: //, relevance: 10 }, d, // xml processing instructions { className: "meta", end: /\?>/, variants: [ { begin: /<\?xml/, relevance: 10, contains: [ a ] }, { begin: /<\?[a-z][a-z0-9]+/ } ] }, { className: "tag", /* The lookahead pattern (?=...) ensures that 'begin' only matches ')/, end: />/, keywords: { name: "style" }, contains: [o], starts: { end: /<\/style>/, returnEnd: !0, subLanguage: [ "css", "xml" ] } }, { className: "tag", // See the comment in the