diff --git a/js/dist/shinychat.css b/js/dist/shinychat.css index 388fdf5a3..f3146a355 100644 --- a/js/dist/shinychat.css +++ b/js/dist/shinychat.css @@ -4,5 +4,5 @@ * MIT License * https://posit-dev.github.io/shinychat/ */ -@charset "UTF-8";pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}pre:has(>code.hljs){color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#a626a4}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#50a14f}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#986801}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}[data-bs-theme=dark] pre code.hljs{display:block;overflow-x:auto;padding:1em}[data-bs-theme=dark] code.hljs{padding:3px 5px}[data-bs-theme=dark] pre:has(>code.hljs){color:#abb2bf;background:#282c34}[data-bs-theme=dark] .hljs-comment,[data-bs-theme=dark] .hljs-quote{color:#5c6370;font-style:italic}[data-bs-theme=dark] .hljs-doctag,[data-bs-theme=dark] .hljs-keyword,[data-bs-theme=dark] .hljs-formula{color:#c678dd}[data-bs-theme=dark] .hljs-section,[data-bs-theme=dark] .hljs-name,[data-bs-theme=dark] .hljs-selector-tag,[data-bs-theme=dark] .hljs-deletion,[data-bs-theme=dark] .hljs-subst{color:#e06c75}[data-bs-theme=dark] .hljs-literal{color:#56b6c2}[data-bs-theme=dark] .hljs-string,[data-bs-theme=dark] .hljs-regexp,[data-bs-theme=dark] .hljs-addition,[data-bs-theme=dark] .hljs-attribute,[data-bs-theme=dark] .hljs-meta .hljs-string{color:#98c379}[data-bs-theme=dark] .hljs-attr,[data-bs-theme=dark] .hljs-variable,[data-bs-theme=dark] .hljs-template-variable,[data-bs-theme=dark] .hljs-type,[data-bs-theme=dark] .hljs-selector-class,[data-bs-theme=dark] .hljs-selector-attr,[data-bs-theme=dark] .hljs-selector-pseudo,[data-bs-theme=dark] .hljs-number{color:#d19a66}[data-bs-theme=dark] .hljs-symbol,[data-bs-theme=dark] .hljs-bullet,[data-bs-theme=dark] .hljs-link,[data-bs-theme=dark] .hljs-meta,[data-bs-theme=dark] .hljs-selector-id,[data-bs-theme=dark] .hljs-title{color:#61aeee}[data-bs-theme=dark] .hljs-built_in,[data-bs-theme=dark] .hljs-title.class_,[data-bs-theme=dark] .hljs-class .hljs-title{color:#e6c07b}[data-bs-theme=dark] .hljs-emphasis{font-style:italic}[data-bs-theme=dark] .hljs-strong{font-weight:700}[data-bs-theme=dark] .hljs-link{text-decoration:underline}shiny-markdown-stream{display:block}shiny-markdown-stream img{max-width:100%;height:auto}pre:has(.code-copy-button){position:relative}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:transparent}.code-copy-button>.bi{display:flex;gap:.25em}.code-copy-button>.bi:after{content:"";display:block;height:1rem;width:1rem;mask-image:url('data:image/svg+xml,');background-color:var(--bs-body-color, #222)}.code-copy-button-checked>.bi:before{content:"Copied!";font-size:.75em;vertical-align:.25em}.code-copy-button-checked>.bi:after{mask-image:url('data:image/svg+xml,');background-color:var(--bs-success, #198754)}@keyframes markdown-stream-dot-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(.4);opacity:.4}to{transform:scale(1);opacity:1}}.markdown-stream-dot{animation:markdown-stream-dot-pulse 1.75s infinite cubic-bezier(.18,.89,.32,1.28);animation-delay:.25s;display:inline-block;transform-origin:center}shiny-chat-resize-handle{--_resize-handle-hit-target: var(--shiny-chat-resize-handle-hit-target, 8px);--_resize-handle-indicator-color: var(--shiny-chat-resize-handle-indicator-color, currentcolor);position:absolute;z-index:4;top:0;bottom:0;display:block;width:var(--_resize-handle-hit-target);padding:0;color:inherit;cursor:ew-resize;pointer-events:auto;touch-action:none;user-select:none}shiny-chat-resize-handle>[data-shiny-chat-resize-indicator]{position:absolute;z-index:1;top:50%;width:2px;height:30px;background:var(--_resize-handle-indicator-color);border-radius:1px;cursor:ew-resize;opacity:.3;pointer-events:auto;transform:translateY(-50%);transition:background-color .15s ease,height .15s ease,opacity .15s ease,width .15s ease}shiny-chat-resize-handle[data-panel-side=inline-start]>[data-shiny-chat-resize-indicator]{inset-inline-start:0}shiny-chat-resize-handle[data-panel-side=inline-end]>[data-shiny-chat-resize-indicator]{inset-inline-end:0}shiny-chat-resize-handle:hover>[data-shiny-chat-resize-indicator]{opacity:.65}shiny-chat-resize-handle:is(:focus-visible,:active,[data-resizing],[data-boundary-armed])>[data-shiny-chat-resize-indicator],shiny-chat-resize-handle>[data-shiny-chat-resize-indicator]:hover{width:4px;height:40px;opacity:1}shiny-chat-resize-handle:is(:active,[data-resizing])>[data-shiny-chat-resize-indicator]{background:var(--bs-primary, #0d6efd);height:50px}shiny-chat-resize-handle:focus-visible>[data-shiny-chat-resize-indicator]{outline:2px solid var(--bs-focus-ring-color, rgba(13, 110, 253, .25));outline-offset:2px}shiny-chat-resize-handle:focus-visible{outline:0}shiny-chat-resize-handle[data-disabled]{cursor:default;pointer-events:none}@media (any-pointer: fine){shiny-chat-resize-handle[data-boundary-activation]{cursor:default;pointer-events:none}shiny-chat-resize-handle[data-boundary-activation]:after{position:absolute;inset-block:0;width:5px;content:"";pointer-events:auto}shiny-chat-resize-handle[data-boundary-activation][data-panel-side=inline-start]:after{inset-inline-start:-2px}shiny-chat-resize-handle[data-boundary-activation][data-panel-side=inline-end]:after{inset-inline-end:-2px}shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]{cursor:ew-resize;pointer-events:auto}shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]:after{width:24px}shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed][data-panel-side=inline-start]:after{inset-inline-start:-12px}shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed][data-panel-side=inline-end]:after{inset-inline-end:-12px}}.shiny-chat-debug-resize-handle{--shiny-chat-debug-resize-idle-color: rgb(255 193 7 / 28%);--shiny-chat-debug-resize-armed-color: rgb(25 135 84 / 30%);--shiny-chat-debug-resize-coarse-color: rgb(13 110 253 / 28%);--shiny-chat-debug-resize-indicator-color: rgb(220 53 69 / 85%)}.shiny-chat-debug-resize-handle shiny-chat-resize-handle>[data-shiny-chat-resize-indicator]{background:var(--shiny-chat-debug-resize-indicator-color);outline:1px solid var(--shiny-chat-debug-resize-indicator-color);outline-offset:-1px;opacity:1}@media (any-pointer: fine){.shiny-chat-debug-resize-handle shiny-chat-resize-handle[data-boundary-activation]:not([data-boundary-armed]):after{background:var(--shiny-chat-debug-resize-idle-color);outline:1px dashed var(--shiny-chat-debug-resize-idle-color);outline-offset:-1px}.shiny-chat-debug-resize-handle shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]:after{background:var(--shiny-chat-debug-resize-armed-color);outline:1px dashed var(--shiny-chat-debug-resize-armed-color);outline-offset:-1px}}@media (any-pointer: coarse){shiny-chat-resize-handle{--_resize-handle-hit-target: 26px}shiny-chat-resize-handle[data-boundary-activation]{cursor:default;pointer-events:none}.shiny-chat-debug-resize-handle shiny-chat-resize-handle:before{position:absolute;inset:0;width:auto;content:"";background:var(--shiny-chat-debug-resize-coarse-color);outline:1px dashed var(--shiny-chat-debug-resize-coarse-color);outline-offset:-1px;pointer-events:none}}@media (prefers-reduced-motion: reduce){shiny-chat-resize-handle>[data-shiny-chat-resize-indicator]{transition:none}}.shiny-tool-card{max-height:var(--shiny-tool-card-max-height, 500px)}.shiny-tool-card .tool-title{min-width:25%;flex-shrink:2}.shiny-tool-card .tool-intent{opacity:var(--_activity-opacity-muted);font-style:italic;font-weight:400;text-align:end;flex-shrink:3;max-width:60%;min-width:20%}.shiny-tool-card .tool-spacer{margin-inline-start:auto}.shiny-tool-card .tool-icon{--_icon-size: var(--shiny-tool-card-icon-size, 16px);width:var(--_icon-size);height:var(--_icon-size);display:flex;align-items:center;flex:none}.shiny-tool-card .tool-icon [class^=spinner]{--bs-spinner-width: var(--_icon-size);--bs-spinner-height: var(--_icon-size);--bs-spinner-border-width: .2em;color:var(--shiny-tool-card-spinner-color, var(--bs-primary, #007bc2))}.shiny-tool-card .tool-title-name{font-weight:600}.shiny-tool-card .card-header,.shiny-tool-card .card-footer{font-size:inherit;font-weight:400;word-break:break-word}.shiny-tool-card>.card-header{display:flex;flex-direction:row;align-items:center;align-self:stretch;gap:.5rem;width:100%;text-align:left;cursor:pointer;border-top-width:0;border-right-width:0;border-left-width:0}.shiny-tool-card>.card-header[aria-expanded=false]{border-bottom-width:0}.shiny-tool-card>.card-header>*{line-height:1}.shiny-tool-card>.card-header:hover,.shiny-tool-card>.card-header:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.05);outline:none}.shiny-tool-card>.card-header .function-name{font-weight:700}.shiny-tool-card>.card-header .collapse-indicator{display:grid;place-items:center;width:1em;height:1em;opacity:var(--_activity-opacity-muted)}.shiny-tool-card>.card-header .collapse-indicator,.shiny-tool-card>.card-header .collapse-indicator>.horizontal{transition:.3s ease-in-out all;transform-origin:center center}.shiny-tool-card>.card-header[aria-expanded=true]>.collapse-indicator{transform:rotate(-90deg)}.shiny-tool-card>.card-header[aria-expanded=true]>.collapse-indicator .horizontal{transform:scale(0)}.shiny-tool-card>.card-body{position:relative;transition:opacity .2s ease-out;opacity:1;overflow:auto}.shiny-tool-card>.card-body.collapsed{max-height:0;opacity:0;padding:0}.shiny-tool-card>.card-header[aria-expanded=false]~.card-footer{display:none}.shiny-tool-card:hover .tool-fullscreen-toggle,.shiny-tool-card:focus-within .tool-fullscreen-toggle{opacity:.6}.shiny-tool-card pre{margin:0;white-space:pre-wrap;padding:1em;border-radius:var(--bs-border-radius, 4px)}@keyframes shiny-tool-fullscreen-enter{0%{opacity:0}to{opacity:1}}.shiny-tool-fullscreen-backdrop{position:fixed;inset:0;z-index:1049;background-color:rgba(var(--bs-body-color-rgb, 0, 0, 0),.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:shiny-tool-fullscreen-enter .3s ease forwards}.shiny-tool-fullscreen-exit{position:absolute;top:1rem;right:1rem;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;color:rgba(var(--bs-body-bg-rgb, 255, 255, 255),.8);background:none;border:none;padding:0}.shiny-tool-fullscreen-exit:hover{color:rgba(var(--bs-body-bg-rgb, 255, 255, 255),1)}.shiny-tool-fullscreen-exit:focus-visible{outline:2px solid rgba(var(--bs-body-bg-rgb, 255, 255, 255),.8);outline-offset:2px;border-radius:4px}.shiny-tool-fullscreen-exit svg{width:20px;height:20px}@media (max-width: 575.98px){.shiny-tool-card[fullscreen]{inset:2.5rem .5rem .5rem}.shiny-tool-fullscreen-exit{top:.5rem;right:.5rem}}.shiny-tool-card[fullscreen]{position:fixed;inset:3.5rem 1rem 1rem;z-index:1050;max-height:none;border-radius:var(--bs-border-radius, 4px);background:var(--bs-body-bg, #fff)}.shiny-tool-card[fullscreen]>.card-header{cursor:default}.shiny-tool-card[fullscreen]>.card-header:hover,.shiny-tool-card[fullscreen]>.card-header:focus-visible{background-color:inherit}.shiny-tool-card[fullscreen]>.card-header .collapse-indicator{display:none}.shiny-tool-card[fullscreen]>.card-body{max-height:none;overflow:auto}.shiny-tool-card[fullscreen]>.card-body .tool-fullscreen-toggle{display:none}.tool-fullscreen-toggle{position:absolute;bottom:.2rem;right:0;color:var(--bs-card-color);background-color:var(--bs-card-bg, var(--bs-body-bg));border:var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color));box-shadow:0 2px 4px #00000026;margin:.2rem .4rem;padding:.55rem!important;font-size:.8rem;cursor:pointer;opacity:0;transition:opacity .15s}.tool-fullscreen-toggle:hover,.tool-fullscreen-toggle:focus{opacity:1}.tool-fullscreen-toggle:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.tool-fullscreen-toggle svg{height:1em;width:1em;fill:currentColor}.shiny-tool-result,.shiny-tool-request{display:block;margin:1em 0;border-radius:var(--bs-border-radius, 4px);overflow:visible;padding:0;font-size:.8em}.shiny-tool-result[hidden],.shiny-tool-request[hidden]{display:none}.shiny-tool-result+p,.shiny-tool-request+p{margin-top:1rem}.shiny-tool-result:first-child,.shiny-tool-request:first-child{margin-top:0}.shiny-tool-result:last-child,.shiny-tool-request:last-child{margin-bottom:0}.shiny-tool-result__request>strong,.shiny-tool-result__result>strong{display:block;flex:none}.shiny-chat-tool-image{max-width:100%;border-radius:var(--bs-border-radius)}.shiny-chat-tool-group__row,.shiny-chat-tool-call-row__summary,.shiny-tool-card:not([fullscreen]){opacity:var(--_activity-opacity)}.shiny-tool-card:not([fullscreen]){--bslib-card-box-shadow: none;--bslib-card-border-color: var(--bs-card-border-color)}.shiny-chat-tool-loop{display:block;margin:1em 0}.shiny-chat-tool-loop:first-child{margin-top:0}.shiny-chat-tool-loop:last-child{margin-bottom:0}.shiny-chat-tool-loop:has(+.shiny-chat-tool-loop){margin-bottom:0}.shiny-chat-tool-loop+.shiny-chat-tool-loop{margin-top:0}.shiny-chat-tool-loop:has(+.shiny-chat-thinking){margin-bottom:0}.shiny-chat-thinking+.shiny-chat-tool-loop{margin-top:0}.shiny-chat-tool-loop+p,.shiny-chat-thinking+p{margin-top:1rem}.shiny-chat-tool-custom-display{margin:1em 0}.shiny-chat-tool-custom-display:last-child{margin-bottom:0}shiny-chat-raw-html,shinychat-raw-html{display:contents}.shiny-chat-tool-group{font-size:.8em;--_row-indent: 1.125rem;--_row-pad: .4rem;--_row-glyph-width: .9em}.shiny-chat-tool-spacer{margin-inline-start:auto}.shiny-chat-tool-group__row{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2em;padding:.25rem var(--_row-pad);border-radius:6px;background:none;border:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.shiny-chat-tool-group__row:hover,.shiny-chat-tool-group__row:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.05)}.shiny-chat-tool-group__row:focus-visible,.shiny-chat-tool-call-row__summary:focus-visible,.shiny-chat-thinking-header:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.shiny-chat-tool-group__glyph{--_size: var(--_row-glyph-width);width:var(--_size);height:var(--_size);display:flex;align-items:center;justify-content:center;flex:none;color:var(--bs-secondary-color)}.shiny-chat-tool-group__glyph svg{width:100%;height:100%}.shiny-chat-tool-group__glyph.running [class^=spinner]{--bs-spinner-width: var(--_size);--bs-spinner-height: var(--_size);--bs-spinner-border-width: .2em}.shiny-chat-tool-glyph-dot{display:inline-block;width:.4em;height:.4em;margin:auto;border-radius:50%;background-color:var(--bs-secondary-color)}.shiny-chat-thinking-glyph{display:grid;place-items:center;width:var(--_row-glyph-width);height:var(--_row-glyph-width);flex:none}.shiny-chat-thinking-glyph:before{content:"";width:.4em;height:.4em;background-color:var(--bs-secondary-color);transform:rotate(45deg)}.shiny-chat-tool-group__toolname{font-family:var(--bs-font-monospace)}.shiny-chat-tool-group__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .2s ease}.shiny-chat-tool-group__title[data-fading]{opacity:0}.shiny-chat-tool-group__segments{display:block;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-group__segments .shiny-chat-tool-group__title{overflow:visible;text-overflow:clip}.shiny-chat-tool-group__overflow{color:var(--bs-secondary-color)}.shiny-chat-tool-group__segment{display:inline-flex;align-items:baseline;gap:.5rem;min-width:0}.shiny-chat-tool-group__segment+.shiny-chat-tool-group__segment{margin-inline-start:.25em}.shiny-chat-tool-group__titlewrap{display:inline-flex;align-items:baseline;flex:0 1 auto;min-width:0;overflow:hidden}.shiny-chat-tool-group__titlewrap:has(>.shiny-chat-tool-group__label)>.shiny-chat-tool-group__title{flex:none}.shiny-chat-tool-group__titlewrap>.shiny-chat-tool-group__count{align-self:center;margin-inline-start:.5rem}.shiny-chat-tool-group__label{flex:1 1 auto;font-weight:400;opacity:.85;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-group__label code{font-size:.9em}.shiny-chat-tool-group__label code,.shiny-chat-tool-call-row__label code{background:none;padding:0;color:inherit}.shiny-chat-tool-row__intent{font-style:italic;opacity:var(--_activity-opacity-muted);text-align:end;flex-shrink:3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-group__count{font-size:.85em;font-weight:400;color:var(--bs-secondary-color)}.shiny-chat-tool-group__failed{font-size:.85em;color:var(--bs-danger)}.shiny-chat-tool-group__chevron,.shiny-chat-tool-call-row__chevron,.shiny-chat-thinking-disclosure{display:grid;place-items:center;width:.9em;height:.9em;flex:none;opacity:var(--_activity-opacity-muted);transition:transform .3s ease-in-out;transform:rotate(-90deg)}.shiny-chat-tool-group__chevron svg,.shiny-chat-tool-call-row__chevron svg,.shiny-chat-thinking-disclosure svg{display:block;width:100%;height:100%}.shiny-chat-tool-group__row[aria-expanded=true] .shiny-chat-tool-group__chevron,.shiny-chat-tool-call-row__summary[aria-expanded=true] .shiny-chat-tool-call-row__chevron,.shiny-chat-thinking-header[aria-expanded=true] .shiny-chat-thinking-disclosure{transform:rotate(0)}.shiny-chat-tool-group__calls{list-style:none;margin:0;padding:0;position:relative}.shiny-chat-tool-group__calls[hidden]{display:none}.shiny-chat-tool-group__calls:before{content:"";position:absolute;inset-block:0;inset-inline-start:calc(var(--_row-pad) + var(--_row-glyph-width) / 2);width:var(--bs-card-border-width, var(--bs-border-width, 1px));background-color:var(--bs-border-color);opacity:var(--_activity-opacity)}.shiny-chat-tool-call-row__summary{display:flex;align-items:center;gap:.5rem;margin-left:var(--_row-indent);width:calc(100% - var(--_row-indent));min-height:2em;padding:.25rem var(--_row-pad);border-radius:6px;background:none;border:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.shiny-chat-tool-call-row__summary:hover,.shiny-chat-tool-call-row__summary:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.05)}.shiny-chat-tool-call-row__status{--_size: var(--_row-glyph-width);width:var(--_size);height:var(--_size);display:flex;align-items:center;justify-content:center;flex:none;color:var(--bs-secondary-color)}.shiny-chat-tool-call-row__status.running [class^=spinner]{--bs-spinner-width: var(--_size);--bs-spinner-height: var(--_size);--bs-spinner-border-width: .2em}.shiny-chat-tool-call-row__status.text-danger{color:var(--bs-danger, #dc3545)}.shiny-chat-tool-call-row__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-call-row__preview{opacity:var(--_activity-opacity-muted);font-style:italic;flex-shrink:3;min-width:0;text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-call-row__detail{overflow:hidden}.shiny-chat-tool-call-row__detail[hidden]{display:none}.shiny-chat-tool-call-row__detail:not([hidden]){animation:shiny-chat-tool-detail-reveal .2s ease-out}.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen]){margin:0;border:none;border-inline-start:var(--bs-card-border-width, var(--bs-border-width, 1px)) solid var(--bs-border-color);border-radius:0}.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-header{display:none}.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-body{padding-inline-start:calc(var(--_row-glyph-width) / 2 + .5rem - var(--bs-card-border-width, var(--bs-border-width, 1px)))}.shiny-chat-tool-call-row>.shiny-chat-tool-call-row__detail{padding-inline-start:calc(var(--_row-indent) + var(--_row-pad) + var(--_row-glyph-width) / 2)}.shiny-chat-tool-group--single>.shiny-chat-tool-call-row__detail{padding-inline-start:calc(var(--_row-pad) + var(--_row-glyph-width) / 2)}.shiny-chat-tool-group--framed,.shiny-chat-tool-call-row--framed{border:var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);border-radius:var(--bs-border-radius, 4px);overflow:hidden}.shiny-chat-tool-group--framed>.shiny-chat-tool-group__row,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary{border-radius:0;border-bottom:var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);background-color:rgba(var(--bs-emphasis-color-rgb),.05)}.shiny-chat-tool-group--framed>.shiny-chat-tool-group__row:hover,.shiny-chat-tool-group--framed>.shiny-chat-tool-group__row:focus-visible,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary:hover,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.1)}.shiny-chat-tool-group--framed>.shiny-chat-tool-group__row:focus-visible,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary:focus-visible{outline-offset:-2px}.shiny-chat-tool-call-row--framed{margin-inline-start:var(--_row-indent)}.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary{margin-left:0;width:100%}.shiny-chat-tool-group--framed>.shiny-chat-tool-call-row__detail,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__detail{padding-inline-start:0}.shiny-chat-tool-group--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen]),.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen]){margin:0;border:none;border-radius:0;box-shadow:none}.shiny-chat-tool-group--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-body,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-body{padding-inline-start:var(--bs-card-spacer-x, 1rem)}.shiny-chat-tool-group--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-footer,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-footer{padding:var(--bs-card-cap-padding-y, .5rem) var(--bs-card-cap-padding-x, 1rem);border-top:var(--bs-card-border-width, 1px) solid var(--bs-card-border-color)}.shiny-chat-tool-call-row--framed+.shiny-chat-tool-call-row--framed{margin-top:.5rem}@keyframes shiny-chat-tool-detail-reveal{0%{opacity:0}to{opacity:1}}.tool-title-label{font-weight:400;opacity:.85}.tool-status-note{font-size:.85em}.shiny-aside-group{display:inline-block;max-inline-size:calc(100% - .3em);margin-inline-start:.3em;vertical-align:.1em}.shiny-aside-group:has(.shiny-aside-pill--number){margin-inline-start:.1em}.shiny-aside-grounded[data-active]{background:rgba(var(--bs-primary-rgb, 13, 110, 253),.12);border-radius:.12em;text-decoration-line:underline;text-decoration-color:rgba(var(--bs-primary-rgb, 13, 110, 253),.7);text-decoration-thickness:.1em;text-underline-offset:.14em}.shiny-aside-pill{--_aside-marker-color: var(--shiny-chat-aside-marker-color, inherit);--_aside-marker-hover-color: var( --shiny-chat-aside-marker-hover-color, var(--_aside-marker-color) );--_aside-marker-bg: var( --shiny-chat-aside-marker-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), .06) );--_aside-marker-hover-bg: var( --shiny-chat-aside-marker-hover-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), .12) );--_aside-marker-font-family: var( --shiny-chat-aside-marker-font-family, inherit );display:inline-flex;align-items:center;gap:.3em;border:none;border-radius:999px;background:var(--_aside-marker-bg);color:var(--_aside-marker-color);font-family:var(--_aside-marker-font-family);font-size:.72em;font-weight:600;line-height:1;padding:.25em .6em;cursor:pointer;vertical-align:middle;min-height:1.6em;max-inline-size:min(18em,100%)}.shiny-aside-pill:has(img){padding-inline-start:.35em}.shiny-aside-pill.shiny-aside-pill--count{padding-inline:.5em;min-width:1.4em;justify-content:center}.shiny-aside-pill.shiny-aside-pill--number{position:relative;min-inline-size:0;min-height:0;padding:0;border-radius:0;background:transparent;white-space:nowrap}.shiny-aside-pill.shiny-aside-pill--number:before{position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:1.5rem;block-size:1.5rem;border-radius:.25rem;content:"";transform:translate(-50%,-50%)}.shiny-aside-pill.shiny-aside-pill--number .shiny-aside-pill__count{padding:.12em .28em;border-radius:.25rem;background:var(--_aside-marker-bg);transform:translateY(-.25em)}.shiny-aside-pill.shiny-aside-pill--number:hover,.shiny-aside-pill.shiny-aside-pill--number:focus-visible,.shiny-aside-pill.shiny-aside-pill--number[aria-expanded=true]{background:transparent}.shiny-aside-pill.shiny-aside-pill--number:hover .shiny-aside-pill__count,.shiny-aside-pill.shiny-aside-pill--number:focus-visible .shiny-aside-pill__count,.shiny-aside-pill.shiny-aside-pill--number[aria-expanded=true] .shiny-aside-pill__count{background:var(--_aside-marker-hover-bg)}.shiny-aside-pill img{flex:0 0 auto;width:1.1em;height:1.1em;border-radius:50%}.shiny-aside-pill .shiny-aside-pill__overflow{flex:0 0 auto;opacity:.65}.shiny-aside-pill .shiny-aside-pill__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-aside-pill:hover,.shiny-aside-pill:focus-visible,.shiny-aside-pill[aria-expanded=true]{background:var(--_aside-marker-hover-bg);color:var(--_aside-marker-hover-color)}[data-floating-ui-portal]:has(>.shiny-floating-overlay){position:fixed}.shiny-aside-popover{display:flex;flex-direction:column;z-index:1040;box-sizing:border-box;width:min(22em,100vw - 1rem);max-height:min(32rem,100vh - 1rem);overflow:hidden;overflow-wrap:anywhere;word-break:break-word;background:var(--bs-body-bg, #fff);color:var(--bs-body-color, inherit);border:1px solid rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.12);border-radius:.6em;box-shadow:0 .4em 1.2em #0000001f;padding:.7em .8em;font-size:.8em;font-weight:400;text-align:start;white-space:normal}.shiny-aside-popover .shiny-aside-popover__nav{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;opacity:.65;margin-bottom:.5em}.shiny-aside-popover .shiny-aside-popover__nav .shiny-aside-popover__nav-arrows{display:flex;align-items:center;gap:.6em;margin-left:-.55em}.shiny-aside-popover .shiny-aside-popover__nav .shiny-aside-popover__count{font-size:.75em}.shiny-aside-popover .shiny-aside-popover__nav button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:inherit;cursor:pointer;border-radius:.4em;min-width:24px;min-height:24px;padding:.4em .55em;margin:-.4em 0}.shiny-aside-popover .shiny-aside-popover__nav button:hover{background:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.08)}.shiny-aside-popover .shiny-aside-popover__label{flex:0 0 auto;display:flex;align-items:center;gap:.4em;font-weight:600;margin-bottom:.4em;min-width:0;overflow-wrap:anywhere;word-break:break-word}.shiny-aside-popover .shiny-aside-popover__label img{flex:0 0 auto;width:1.1em;height:1.1em;border-radius:50%}.shiny-aside-popover .shiny-aside-popover__label-text{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.shiny-aside-popover .shiny-aside-popover__body{min-height:0;overflow:auto}.shiny-aside-popover .shiny-aside-popover__body p:last-child{margin-bottom:0}.shiny-web-activity{--_chevron-size: 12px;--_header-gap: .35em;--_chevron-center: calc(var(--_chevron-size) / 2);--_rail-indent: calc(var(--_chevron-size) + var(--_header-gap));--_dot-size: .5em;--_dot-center: .7em;--_node-gap: .7em;margin:.5em 0;font-size:.9em}.shiny-web-activity .shiny-web-activity__header{display:inline-flex;align-items:center;gap:var(--_header-gap);background:none;border:none;padding:.15em 0;cursor:pointer;color:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.6);font:inherit}.shiny-web-activity .shiny-web-activity__header:hover,.shiny-web-activity .shiny-web-activity__header:focus-visible{color:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.85);outline:none}.shiny-web-activity .shiny-web-activity__chevron{display:block;flex:none;transition:transform .2s ease}.shiny-web-activity .shiny-web-activity__chevron[data-expanded]{transform:rotate(90deg)}.shiny-web-activity .shiny-web-activity__timeline{position:relative;margin:.3em 0 .2em;padding-left:var(--_rail-indent)}.shiny-web-activity .shiny-web-activity__node{position:relative;margin-bottom:var(--_node-gap)}.shiny-web-activity .shiny-web-activity__node:before{content:"";position:absolute;left:calc(var(--_chevron-center) - var(--_rail-indent) - var(--_dot-size) / 2);top:calc(var(--_dot-center) - var(--_dot-size) / 2);width:var(--_dot-size);height:var(--_dot-size);border-radius:50%;background:var(--bs-body-bg, #fff);box-shadow:0 0 0 1px rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.3)}.shiny-web-activity .shiny-web-activity__node:after{content:"";position:absolute;left:calc(var(--_chevron-center) - var(--_rail-indent) - .5px);top:var(--_dot-center);width:1px;background:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.15)}.shiny-web-activity .shiny-web-activity__node:not(:last-child):after{height:calc(100% + var(--_node-gap))}.shiny-web-activity .shiny-web-activity__node:last-child:after{content:none}.shiny-web-activity .shiny-web-activity__node:last-child:has(.shiny-web-activity__results):after{content:"";bottom:0}.shiny-web-activity .shiny-web-activity__qrow{display:flex;align-items:baseline;gap:.6em}.shiny-web-activity .shiny-web-activity__query{flex:1;font-weight:500}.shiny-web-activity .shiny-web-activity__count{white-space:nowrap;opacity:.6;font-size:.9em}.shiny-web-activity .shiny-web-activity__results{margin-top:.4em;border:1px solid rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.12);border-radius:var(--bs-border-radius, .5rem);max-height:11em;overflow:auto}.shiny-web-activity .shiny-web-activity__result{display:flex;align-items:center;gap:.6em;padding:.4em .6em;color:inherit;text-decoration:none;border-radius:var(--bs-border-radius, .4rem)}.shiny-web-activity .shiny-web-activity__result:hover{background:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.05)}.shiny-web-activity .shiny-web-activity__fav{width:1.1em;height:1.1em;border-radius:3px;flex:none}.shiny-web-activity .shiny-web-activity__title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shiny-web-activity .shiny-web-activity__domain{white-space:nowrap;opacity:.55;font-size:.9em}.shiny-web-activity .shiny-web-activity__fetch{display:flex;align-items:center;gap:.4em}.shiny-web-activity .shiny-web-activity__fetch .shiny-web-activity__fetch-label{opacity:.6}.shiny-web-activity .shiny-web-activity__fetch a{word-break:break-all}.shiny-web-activity .shiny-web-activity__status--error{color:var(--bs-danger, #dc3545)}.shiny-web-activity .shiny-web-activity__status--ok{color:var(--bs-success, #2a9d4a)}.shiny-sources{display:inline-block;margin-top:.5rem}.shiny-sources-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--bs-border-color, #d5d7db);border-radius:999px;padding:.25rem .75rem .25rem .5rem;background:var(--bs-tertiary-bg, #f6f7f9);color:inherit;font-size:.8125rem;cursor:pointer}.shiny-sources-pill__stack{display:inline-flex}.shiny-sources-pill__stack .shiny-sources-favicon{margin-left:-.4375rem;border:2px solid var(--bs-tertiary-bg, #f6f7f9);border-radius:50%}.shiny-sources-pill__stack .shiny-sources-favicon:first-child{margin-left:0}.shiny-sources-favicon{width:1rem;height:1rem;border-radius:.25rem;flex:0 0 auto}.shiny-sources-favicon--blank{background:var(--bs-secondary-bg, #e3e3e6)}.shiny-sources-popover{width:21rem;max-height:18rem;overflow-y:auto;background:var(--bs-body-bg, #fff);border:1px solid var(--bs-border-color, #d5d7db);border-radius:.75rem;box-shadow:0 8px 28px #00000024;padding:.375rem 0;z-index:1040}.shiny-sources-popover__title{font-size:.75rem;font-weight:700;padding:.5rem .875rem .375rem}.shiny-sources-list{list-style:none;margin:0;padding:0}.shiny-sources-item__link{display:flex;gap:.625rem;padding:.5625rem .875rem;text-decoration:none;color:inherit}.shiny-sources-item__link:hover{background:var(--bs-tertiary-bg, #f6f7f9)}.shiny-sources-item__link .shiny-sources-favicon{margin-top:.125rem}.shiny-sources-item__text{display:flex;flex-direction:column;min-width:0}.shiny-sources-item__site{font-size:.71875rem;color:var(--bs-secondary-color, #8a8a8e)}.shiny-sources-item__title{font-size:.8125rem;font-weight:600;line-height:1.35}shiny-chat-container .shiny-chat-suggestion-list{--_card-min-width: var(--shiny-chat-suggestion-card-min-width, 175px);--_card-reveal-stagger: var( --shiny-chat-suggestion-card-reveal-stagger, .1s );list-style:none;padding:0;margin-block:.5rem;font-size:.875rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--_card-min-width),100%),1fr));gap:.75rem}shiny-chat-container .shiny-chat-suggestion-list[data-pending]{display:flex;align-items:center;color:var(--bs-secondary-color, #6c757d);font-style:italic;animation:shiny-chat-suggestion-pending-pulse 1.75s ease-in-out infinite;animation-delay:.25s;gap:.25em}shiny-chat-container .shiny-chat-suggestion-list[data-pending]>li{display:none}shiny-chat-container .shiny-chat-suggestion-list[data-pending]:before{content:"Generating suggestions\2026"}shiny-chat-container .shiny-chat-suggestion-list[data-pending]>.markdown-stream-dot{margin-left:0!important;fill:currentColor}shiny-chat-container .shiny-chat-suggestion-list:has(>li:only-child){grid-template-columns:minmax(0,360px)}shiny-chat-container .shiny-chat-suggestion-list>li{display:contents}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item{display:block;position:relative;padding:.75rem 2rem .75rem 1rem;border:var(--_border);border-radius:var(--shiny-chat-suggestion-card-border-radius, 8px);background-color:var(--bs-body-bg, #fff);cursor:pointer;color:inherit;text-decoration:none;transition:border-color .15s ease,background-color .15s ease,transform .12s ease-out,box-shadow .15s ease;animation:shiny-chat-suggestion-card-reveal .3s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--_card-reveal-stagger) * var(--_card-index, 0))}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:after{content:"\2192";position:absolute;right:.75rem;bottom:.6rem;font-size:.95em;line-height:1;opacity:.35;color:var(--bs-primary, #007bc2);transition:opacity .15s ease-out,transform .18s cubic-bezier(.22,1,.36,1);transform:translate(0);pointer-events:none}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:hover{border-color:rgba(var(--bs-link-color-rgb, 0, 123, 194),.5);background-color:var(--bs-tertiary-bg, #f8f9fa);transform:translateY(-1px);box-shadow:0 4px 12px -6px color-mix(in oklch,var(--bs-primary, #007bc2) 35%,transparent)}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:hover:after{opacity:1;transform:translate(2px)}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:active{transform:translateY(1px)}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:focus-visible:after{opacity:1;transform:translate(2px)}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item[data-last-clicked]{border-color:var(--bs-primary, #007bc2);background-color:color-mix(in oklch,var(--bs-body-bg, #fff) 92%,var(--bs-primary, #007bc2))}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item[data-last-clicked]:after{content:"\2713";opacity:1;transform:translate(2px)}shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item{counter-reset:card-number calc(var(--_card-index, 0) + 1)}shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:before{content:counter(card-number);position:absolute;top:.6rem;right:.85rem;font-size:.7em;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;color:color-mix(in oklch,var(--bs-secondary-color, #6c757d) 70%,var(--bs-primary, #007bc2));opacity:.6;transition:opacity .15s ease-out,color .15s ease-out;pointer-events:none}shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:hover:before,shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:focus-visible:before{opacity:1}shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item[data-last-clicked]:before{opacity:1}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item-title{font-weight:600;margin-bottom:.25rem}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item-body{color:var(--bs-secondary-color, #6c757d)}@keyframes shiny-chat-suggestion-card-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shiny-chat-suggestion-pending-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion: reduce){shiny-chat-container .shiny-chat-suggestion-list[data-pending],shiny-chat-container .shiny-chat-suggestion-list-item{animation:none}shiny-chat-container .shiny-chat-suggestion-list-item,shiny-chat-container .shiny-chat-suggestion-list-item:after{transform:none!important}}shiny-chat-container{--_greeting-max-width: var(--shiny-chat-greeting-max-width, 680px);--_greeting-color: var(--shiny-chat-greeting-color, var(--bs-secondary-color, #6c757d))}.shiny-chat-messages-wrapper:has(.shiny-chat-history-trigger) .shiny-chat-greeting{padding-inline-start:2.5rem}.shiny-chat-greeting{margin-inline:auto;width:100%;max-width:var(--_greeting-max-width);padding:1.5rem;color:var(--_greeting-color)}.shiny-chat-greeting.shiny-chat-greeting--enter{animation:shiny-chat-greeting-reveal .3s cubic-bezier(.22,1,.36,1) both}.shiny-chat-greeting h1,.shiny-chat-greeting h2,.shiny-chat-greeting h3,.shiny-chat-greeting h4,.shiny-chat-greeting h5,.shiny-chat-greeting h6{color:var(--bs-body-color)}.shiny-chat-greeting .shiny-chat-suggestion-list{max-width:var(--_greeting-max-width)}.shiny-chat-greeting[data-dismissing]{animation:shiny-chat-greeting-dismiss .2s ease-out both}.shiny-chat-messages:has(>.shiny-chat-messages-content:is(:empty,[data-greeting-dismissing]))>.shiny-chat-greeting{margin-block:auto}shiny-chat-page .shiny-chat-layout[data-greeting-overflow] .shiny-chat-messages>.shiny-chat-greeting{flex:0 0 auto;margin-block:0}.shiny-chat-messages-content:is(:empty,[data-greeting-dismissing]){padding-bottom:0}.shiny-chat-messages-content[data-greeting-dismissing]>*{display:none}shiny-chat-page .shiny-chat-layout[data-composer-centered] .shiny-chat-greeting{translate:0 var(--_greeting-offset, 0px)}shiny-chat-page .shiny-chat-layout[data-composer-motion-ready][data-composer-centered]:not([data-composer-resizing]) .shiny-chat-greeting{transition:translate .35s cubic-bezier(.16,1,.3,1)}@keyframes shiny-chat-greeting-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shiny-chat-greeting-dismiss{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){shiny-chat-page .shiny-chat-layout[data-composer-motion-ready][data-composer-centered]:not([data-composer-resizing]) .shiny-chat-greeting{transition:none}.shiny-chat-greeting.shiny-chat-greeting--enter,.shiny-chat-greeting[data-dismissing]{animation:none}}.shiny-chat-restoring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:shiny-chat-restoring-fade-in .3s ease-out both}.shiny-chat-restoring>span{padding:.4rem 1rem;border-radius:2rem;font-size:.875rem;color:var(--_greeting-color);background:var(--bs-tertiary-bg, rgba(0, 0, 0, .04));border:1px solid var(--bs-border-color, rgba(0, 0, 0, .1))}@keyframes shiny-chat-restoring-fade-in{0%{opacity:0}to{opacity:1}}.shiny-chat-slash-palette{margin:0;padding:.25rem 0;list-style:none;background:var(--bs-body-bg, #fff);border:var(--_border);border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:15rem;overflow-y:auto;min-width:200px}.shiny-chat-slash-palette-item{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .75rem;cursor:pointer}.shiny-chat-slash-palette-item.highlighted{background:RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0),.06)}.shiny-chat-slash-palette-name{font-weight:600;font-size:.9em}.shiny-chat-slash-palette-desc{font-size:.8em;color:var(--bs-secondary-color, #6c757d)}.shiny-chat-slash-palette-empty{padding:.5rem .75rem;font-size:.85em;color:var(--bs-secondary-color, #6c757d);font-style:italic}.command-chip{--_chip-color: var(--shiny-chat-command-chip-color, var(--bs-primary, #007bc2));display:inline;font-family:var(--bs-font-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:.9em;color:light-dark(color-mix(in srgb,var(--_chip-color) 75%,black),color-mix(in srgb,var(--_chip-color) 75%,white));background:var(--shiny-chat-command-chip-bg, light-dark(color-mix(in srgb, var(--_chip-color) 10%, white), color-mix(in srgb, var(--_chip-color) 15%, black)));border:var(--shiny-chat-command-chip-border, 1px solid var(--shiny-chat-command-chip-border-color, light-dark(color-mix(in srgb, var(--_chip-color) 20%, white), color-mix(in srgb, var(--_chip-color) 25%, black))));border-radius:4px;padding:.1em .35em;white-space:nowrap;line-height:1.4}.shiny-chat-history-trigger{--_history-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));--_history-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));--_history-border-color: var( --shiny-chat-history-border-color, var(--bs-border-color, #dee2e6) );position:absolute;top:.5rem;inset-inline-start:calc(.5rem + var(--_history-trigger-shift, 0px));z-index:5;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:var(--bs-border-width, 1px) solid var(--_history-border-color);border-radius:50%;background-color:var(--_history-bg);color:var(--bs-secondary-color, #6c757d);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;line-height:1}.shiny-chat-history-trigger:hover,.shiny-chat-history-trigger[aria-expanded=true]{color:var(--_history-accent);border-color:color-mix(in srgb,var(--_history-accent) 40%,var(--_history-border-color));background-color:light-dark(color-mix(in srgb,var(--_history-accent) 6%,var(--_history-bg)),color-mix(in srgb,var(--_history-accent) 14%,var(--_history-bg)))}.shiny-chat-history-trigger:focus-visible{outline:2px solid var(--_history-accent);outline-offset:2px}.shiny-chat-history-trigger svg{display:block}.shiny-chat-history{--_history-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));--_history-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));--_history-border-color: var( --shiny-chat-history-border-color, var(--bs-border-color, #dee2e6) );--_history-muted: var(--bs-secondary-color, #6c757d);--_history-fg: var(--bs-body-color, #212529);--_history-danger: var(--bs-danger, #dc3545);--_history-item-hover-bg: var( --shiny-chat-history-item-hover-bg, light-dark( color-mix(in srgb, var(--_history-accent) 7%, transparent), color-mix(in srgb, var(--_history-accent) 14%, transparent) ) );--_history-item-active-bg: var( --shiny-chat-history-item-active-bg, light-dark( color-mix(in srgb, var(--_history-accent) 13%, transparent), color-mix(in srgb, var(--_history-accent) 24%, transparent) ) );position:absolute;inset:0;z-index:6}.shiny-chat-history:focus{outline:none}.shiny-chat-history-scrim{position:absolute;inset:0;background:var(--shiny-chat-history-scrim, rgba(0, 0, 0, .25));animation:shiny-chat-history-scrim-in .2s ease forwards}.shiny-chat-history[data-closing] .shiny-chat-history-scrim{animation:shiny-chat-history-scrim-out .2s ease forwards}.shiny-chat-history-drawer{position:absolute;inset-block:0;inset-inline-start:0;width:min(20rem,85%);display:flex;flex-direction:column;overflow:hidden;background:var(--_history-bg);color:var(--_history-fg);border-inline-end:var(--bs-border-width, 1px) solid var(--_history-border-color);box-shadow:0 0 1.25rem #0000001f;animation:shiny-chat-history-drawer-in .2s ease forwards}.shiny-chat-history[data-closing] .shiny-chat-history-drawer{animation:shiny-chat-history-drawer-out .2s ease forwards}.shiny-chat-history-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .75rem .5rem}.shiny-chat-history-title{margin:0;font-size:.9375rem;font-weight:600;line-height:1.2;color:var(--_history-fg)}.shiny-chat-history-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:.375rem;background:none;color:var(--_history-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.shiny-chat-history-close:hover{background:var(--_history-item-hover-bg);color:var(--_history-fg)}.shiny-chat-history-close:focus-visible{outline:2px solid var(--_history-accent);outline-offset:2px}.shiny-chat-history-close svg{display:block}.shiny-chat-history-toprow{flex-shrink:0;display:flex;align-items:stretch;gap:.375rem;padding:0 .75rem .5rem}.shiny-chat-history-new{--_history-new-focus: var( --shiny-chat-history-accent, var(--bs-primary-text-emphasis, var(--_history-accent)) );flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;white-space:nowrap;padding:.375rem .75rem;font-size:.875rem;font-weight:500;line-height:1.5;border-radius:var(--bs-border-radius, .375rem);border:var(--bs-border-width, 1px) solid var(--_history-border-color);background:var(--bs-body-bg, #fff);color:var(--_history-fg);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.shiny-chat-history-new svg{display:block}.shiny-chat-history-new:hover:not(:disabled){color:var(--_history-new-focus);background:var(--_history-item-hover-bg)}.shiny-chat-history-new:focus-visible{outline:2px solid var(--_history-new-focus);outline-offset:2px}.shiny-chat-history-new:disabled{opacity:.55;cursor:not-allowed}.shiny-chat-history-search-wrap{flex:1;min-width:0;position:relative;display:flex;align-items:stretch}.shiny-chat-history-search-icon{position:absolute;inset-inline-start:.5rem;inset-block:0;display:flex;align-items:center;color:var(--_history-muted);pointer-events:none}.shiny-chat-history-search-icon svg{display:block}.shiny-chat-history-search{flex:1;min-width:0;padding-inline-start:1.75rem;font-size:.875rem}.shiny-chat-history-search.form-control{border-color:var(--_history-border-color)}.shiny-chat-history-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:0 .5rem .5rem}.shiny-chat-history-section{position:sticky;top:0;z-index:1;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--_history-muted);background:var(--_history-bg);padding:.5rem .5rem .25rem}.shiny-chat-history-section:first-child{padding-top:.25rem}.shiny-chat-history-item{position:relative;display:flex;align-items:center;gap:.375rem;padding:.3125rem .5rem;border-radius:.375rem;color:var(--_history-fg)}.shiny-chat-history-item:hover{background:var(--_history-item-hover-bg)}.shiny-chat-history-item:has(>.shiny-chat-history-item-select:focus-visible){outline:2px solid var(--_history-accent);outline-offset:-2px}.shiny-chat-history-item.active{background:var(--_history-item-active-bg)}.shiny-chat-history-item.active .shiny-chat-history-item-title{font-weight:600}.shiny-chat-history-item:has(>.shiny-chat-history-confirm){background:color-mix(in srgb,var(--_history-danger) 9%,transparent)}.shiny-chat-history-item-select{flex:1;min-width:0;display:flex;align-items:baseline;gap:.5rem;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:start;cursor:pointer}.shiny-chat-history-item-select:focus-visible{outline:none}.shiny-chat-history-item-select:disabled{cursor:not-allowed}.shiny-chat-history-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.3}.shiny-chat-history-item-time{flex-shrink:0;font-size:.6875rem;color:var(--_history-muted);font-variant-numeric:tabular-nums}.shiny-chat-history-rename-input{flex:1;min-width:0;font-size:.875rem}.shiny-chat-history-itemmenu{flex-shrink:0;position:relative;opacity:0;transition:opacity .12s ease}.shiny-chat-history-itemmenu>button{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;cursor:pointer;padding:0;color:var(--_history-muted);border-radius:.25rem;line-height:1}.shiny-chat-history-itemmenu>button svg{display:block}.shiny-chat-history-itemmenu>button:hover{background:color-mix(in srgb,var(--_history-accent) 12%,transparent);color:var(--_history-fg)}.shiny-chat-history-itemmenu>button:focus-visible{outline:2px solid var(--_history-accent);outline-offset:1px}.shiny-chat-history-item:hover .shiny-chat-history-itemmenu,.shiny-chat-history-item.active .shiny-chat-history-itemmenu,.shiny-chat-history-itemmenu:focus-within,.shiny-chat-history-itemmenu[data-menu-open]{opacity:1}@media (hover: none){.shiny-chat-history-itemmenu{opacity:1}}.shiny-chat-history-menu{z-index:var(--bs-popover-zindex, 1070);min-width:8rem;display:flex;flex-direction:column;padding:.25rem;background:var(--_history-bg);border:var(--bs-border-width, 1px) solid var(--_history-border-color);border-radius:.5rem;box-shadow:0 6px 16px #00000024}.shiny-chat-history-menu>button{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:.375rem .5rem;border-radius:.375rem;text-align:start;font-size:.8125rem;color:var(--_history-fg)}.shiny-chat-history-menu>button svg{flex-shrink:0;display:block}.shiny-chat-history-menu>button:hover{background:var(--_history-item-hover-bg)}.shiny-chat-history-menu>button:focus-visible{outline:2px solid var(--_history-accent);outline-offset:-2px}.shiny-chat-history-menu>button:disabled{cursor:not-allowed;opacity:.5}.shiny-chat-history-menu-danger{color:var(--_history-danger)}.shiny-chat-history-menu-danger:hover{background:color-mix(in srgb,var(--_history-danger) 10%,transparent)}.shiny-chat-history-confirm{display:flex;align-items:center;gap:.25rem;flex-shrink:0;font-size:.75rem;color:var(--_history-danger)}.shiny-chat-history-confirm>button{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;cursor:pointer;padding:0;border-radius:.25rem;color:var(--_history-muted);line-height:1}.shiny-chat-history-confirm>button svg{display:block}.shiny-chat-history-confirm>button:focus-visible{outline:2px solid var(--_history-accent);outline-offset:1px}.shiny-chat-history-confirm-yes{color:var(--_history-danger)}.shiny-chat-history-confirm-yes:hover{background:color-mix(in srgb,var(--_history-danger) 12%,transparent)}.shiny-chat-history-confirm-no:hover{background:var(--_history-item-hover-bg);color:var(--_history-fg)}.shiny-chat-history-empty{text-align:center;color:var(--_history-muted);padding-block:1.5rem;padding-inline:1rem;font-size:.8125rem;line-height:1.4}@keyframes shiny-chat-history-drawer-in{0%{transform:translate(var(--_drawer-x, -100%))}to{transform:translate(0)}}@keyframes shiny-chat-history-drawer-out{0%{transform:translate(0)}to{transform:translate(var(--_drawer-x, -100%))}}@keyframes shiny-chat-history-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes shiny-chat-history-scrim-out{0%{opacity:1}to{opacity:0}}shiny-chat-container[data-history-placement=right] .shiny-chat-history-trigger{inset-inline-start:auto;inset-inline-end:calc(.5rem + var(--_history-trigger-shift, 0px))}shiny-chat-container[data-history-placement=right] .shiny-chat-history-drawer{inset-inline-start:auto;inset-inline-end:0;--_drawer-x: 100%;border-inline-end:none;border-inline-start:var(--bs-border-width, 1px) solid var(--_history-border-color)}.bslib-sidebar-layout.sidebar-collapsed:not(.sidebar-right):has(shiny-chat-container:not([data-history-placement=right]) .shiny-chat-history)>.collapse-toggle,.bslib-sidebar-layout.sidebar-collapsed.sidebar-right:has(shiny-chat-container[data-history-placement=right] .shiny-chat-history)>.collapse-toggle{display:none}.shiny-chat-history.shiny-chat-history-inline{--_history-inline-bg: var(--_history-bg);position:static;inset:auto;z-index:auto;display:block;min-width:0;overflow:visible;border:0;border-radius:0;background:var(--shiny-chat-history-bg, transparent);color:var(--_history-fg);box-shadow:none}.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-toprow,.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-list{padding-inline:0}.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-list{max-block-size:min(32rem,60vh)}.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-section{background:var(--_history-inline-bg)}shiny-chat-history{display:block;min-width:0}@property --_drawer-layout-width{syntax: ""; inherits: true; initial-value: 0px;}@property --_drawer-layout-gap{syntax: ""; inherits: true; initial-value: 0px;}.shiny-chat-layout{--_drawer-layout-width: 0px;--_drawer-layout-gap: 0px;min-width:0;min-height:0;width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--_drawer-layout-width));grid-template-rows:minmax(0,1fr) auto;column-gap:var(--_drawer-layout-gap);transition:--_drawer-layout-width .18s cubic-bezier(.16,1,.3,1),--_drawer-layout-gap .18s cubic-bezier(.16,1,.3,1)}.shiny-chat-drawer-trigger{--_drawer-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));--_drawer-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));--_drawer-border-color: var(--shiny-chat-history-border-color, var(--bs-border-color, #dee2e6));position:absolute;top:.5rem;inset-inline-end:.5rem;z-index:5;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:var(--bs-border-width, 1px) solid var(--_drawer-border-color);border-radius:50%;background-color:var(--_drawer-bg);color:var(--bs-secondary-color, #6c757d);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;line-height:1}.shiny-chat-drawer-trigger:hover{color:var(--_drawer-accent);border-color:color-mix(in srgb,var(--_drawer-accent) 40%,var(--_drawer-border-color));background-color:light-dark(color-mix(in srgb,var(--_drawer-accent) 6%,var(--_drawer-bg)),color-mix(in srgb,var(--_drawer-accent) 14%,var(--_drawer-bg)))}.shiny-chat-drawer-trigger:focus-visible{outline:2px solid var(--_drawer-accent);outline-offset:2px}.shiny-chat-drawer-trigger svg{display:block}shiny-chat-container[data-history-placement=right] .shiny-chat-drawer-trigger{top:3rem}.shiny-chat-layout[data-drawer-open]{--_drawer-layout-width: var(--_drawer-width, 400px);--_drawer-layout-gap: clamp(.75rem, 1.5cqi, 1.5rem);align-items:stretch}.shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper{box-sizing:border-box;width:100%;justify-self:center}.shiny-chat-layout>.shiny-chat-wrapper{grid-column:1;grid-row:1}.shiny-chat-layout>.shiny-chat-footer{grid-column:1;grid-row:2}.shiny-chat-drawer-width-probe{position:absolute;visibility:hidden;pointer-events:none;contain:layout style;height:0;overflow:hidden}.shiny-chat-layout[data-drawer-takeover]{position:relative;z-index:7}.shiny-chat-drawer{grid-column:2;grid-row:1/-1;position:relative;min-width:0;min-height:0;width:100%;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:visible;border:0;border-inline-start:var(--_border);background:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);box-shadow:-2px 0 8px #2125290f;opacity:1;transform:translate(0);transition:opacity .14s ease-out,transform .18s cubic-bezier(.16,1,.3,1)}.shiny-chat-drawer[data-motion=opening],.shiny-chat-drawer[data-motion=closing]{opacity:0;pointer-events:none;transform:translate(.75rem)}.shiny-chat-layout:is([data-drawer-resizing],[data-drawer-takeover]){transition:none}.shiny-chat-layout[data-drawer-resizing] .shiny-chat-drawer{transition:none}@container shiny-chat (min-width: 640px){.shiny-chat-layout .shiny-chat-wrapper{justify-self:center}}.shiny-chat-drawer-header{min-width:0;min-height:2.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .625rem .5rem 1rem;border-bottom:var(--_border)}.shiny-chat-drawer-header h2{min-width:0;margin:0;overflow:hidden;font-size:1rem;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-drawer-close{width:2rem;height:2rem;flex:0 0 auto;display:inline-grid;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--bs-secondary-color, #6c757d);cursor:pointer}.shiny-chat-drawer-close:hover{background:var(--bs-tertiary-bg, #f2f4f5);color:var(--bs-body-color, #212529)}.shiny-chat-drawer-close:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.shiny-chat-drawer-content{min-width:0;min-height:0;overflow:auto;padding:1rem}.shiny-chat-drawer-generation{display:contents}.shiny-chat-drawer-resizer{inset-inline-start:0}@container shiny-chat (max-width: 639.99px){.shiny-chat-layout[data-drawer-open]{display:block;column-gap:0}.shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper,.shiny-chat-layout[data-drawer-open] .shiny-chat-footer{display:none}.shiny-chat-layout[data-drawer-open] .shiny-chat-drawer{width:100%;min-height:100%;border-inline:0;box-shadow:none}}@media (prefers-reduced-motion: reduce){.shiny-chat-layout,.shiny-chat-drawer,.shiny-chat-layout .shiny-chat-wrapper{transition:none}}shiny-chat-container{--_border: var(--shiny-chat-border, var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef));--_user-message-bg: var(--shiny-chat-user-message-bg, RGBA(var(--bs-primary-rgb, 0, 123, 194), .06));--_chat-container-padding: var(--shiny-chat-fill-padding, .25rem);--_attachment-size: var(--shiny-chat-attachment-size, 4.5rem);--_activity-opacity: var(--shiny-chat-activity-opacity, .7);--_activity-opacity-muted: .66;position:relative;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;container-type:inline-size;container-name:shiny-chat;min-height:var(--_min-height)}shiny-chat-container p:last-child{margin-bottom:0}shiny-chat-container .suggestion,shiny-chat-container [data-suggestion]{cursor:pointer}shiny-chat-container .suggestion{color:var(--bs-link-color, #007bc2);text-decoration-color:var(--bs-link-color, #007bc2);text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:4px;padding-inline:2px}shiny-chat-container .suggestion:hover{text-decoration-style:solid}shiny-chat-container .suggestion:after{content:"\2726";display:inline-block;margin-inline-start:.15em}shiny-chat-container .suggestion.submit:after,shiny-chat-container .suggestion[data-suggestion-submit=""]:after,shiny-chat-container .suggestion[data-suggestion-submit=true]:after{content:"\21b5"}shiny-chat-container .card[data-suggestion]:hover{color:var(--bs-link-color, #007bc2);border-color:rgba(var(--bs-link-color-rgb),.5)}:where(shiny-chat-container:has(>.shiny-chat-history-trigger)){--_min-height: 400px}@media (prefers-contrast: more),(prefers-reduced-transparency: reduce),(forced-colors: active){shiny-chat-container{--_activity-opacity: 1;--_activity-opacity-muted: 1}}.shiny-chat-wrapper{min-width:0;min-height:0;width:100%;max-width:var(--_chat-width, min(680px, 100%));margin-inline:auto;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:0;padding:var(--_chat-container-padding);padding-bottom:0}.shiny-chat-composer{--_chat-composer-input-padding-bottom: var( --shiny-chat-input-padding-bottom, var(--_chat-container-padding, .25rem) );grid-row:2;min-width:0;position:sticky;bottom:calc(-1 * var(--_chat-composer-input-padding-bottom));translate:0 var(--_composer-offset, 0px)}.shiny-chat-layout:has(>.shiny-chat-footer) .shiny-chat-composer{--_chat-composer-input-padding-bottom: 0px}.shiny-chat-input-toolbar{margin-top:calc(-1 * var(--_chat-composer-input-padding-bottom));padding:.25rem 0 var(--_chat-composer-input-padding-bottom)}.shiny-chat-layout[data-composer-motion-ready]:not([data-composer-resizing]) .shiny-chat-composer{transition:translate .35s cubic-bezier(.16,1,.3,1)}shiny-chat-page .shiny-chat-layout[data-composer-revealing] .shiny-chat-composer{animation:shiny-chat-composer-reveal .3s cubic-bezier(.22,1,.36,1) both}@keyframes shiny-chat-composer-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){shiny-chat-page .shiny-chat-layout[data-composer-motion-ready]:not([data-composer-resizing]) .shiny-chat-composer{transition:none}shiny-chat-page .shiny-chat-layout[data-composer-revealing] .shiny-chat-composer{animation:none}}.shiny-chat-messages-wrapper{position:relative;min-height:0;min-width:0;overflow:clip;display:flex;flex-direction:column}:where(shiny-chat-container[data-inline-controls]){--_chat-inline-controls-inset: 3rem}:where(shiny-chat-container[data-history-placement=right][data-inline-controls~=drawer]){--_chat-inline-controls-inset: 5.5rem}shiny-chat-container:not([fill]) .shiny-chat-messages-wrapper{min-height:15rem}shiny-chat-container:not([fill]) .shiny-chat-history{position:fixed}.shiny-chat-messages{flex:1 1 auto;min-height:0;overflow:auto;padding-block-start:var(--_chat-inline-controls-inset, 0px);display:flex;flex-direction:column;--_scroll-margin: 1rem;padding-right:var(--_scroll-margin);margin-right:calc(-1 * var(--_scroll-margin))}.shiny-chat-messages-content{--_messages-padding-bottom: var(--shiny-chat-messages-padding-bottom, 4rem);display:flex;flex-direction:column;gap:2rem;padding-bottom:var(--_messages-padding-bottom)}.shiny-chat-message{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem}.shiny-chat-message>*{height:fit-content}.shiny-chat-message .message-icon{border-radius:50%;border:var(--_border);height:2rem;width:2rem;display:grid;place-items:center;overflow:clip}.shiny-chat-message .message-icon>*{height:100%;width:100%;max-width:100%;max-height:100%;margin:0!important;object-fit:contain}.shiny-chat-message .message-icon>svg,.shiny-chat-message .message-icon>.icon,.shiny-chat-message .message-icon>.fa,.shiny-chat-message .message-icon>.bi{max-height:66%;max-width:66%}.shiny-chat-message .message-icon:has(>.border-0){border:none;border-radius:unset;overflow:unset}.shiny-chat-message .shiny-chat-message-content{align-self:center;padding-right:1px;position:relative}.shiny-chat-message .shiny-chat-message-content[data-pending]{min-height:1.5em}.shiny-chat-message:not(:has(>.message-icon)){grid-template-columns:minmax(0,1fr);gap:0}.shiny-chat-pending-indicator{position:absolute;top:0;left:0;display:inline-flex;align-items:center;height:1.5em;padding-left:.4rem;opacity:0;pointer-events:none;animation:shiny-chat-pending-indicator-appear .2s ease forwards}.shiny-chat-pending-indicator>svg{width:1.35em;height:auto}.shiny-chat-pending-indicator[data-exiting]{animation:shiny-chat-pending-indicator-exit .2s ease forwards}@keyframes shiny-chat-pending-indicator-appear{to{opacity:1}}@keyframes shiny-chat-pending-indicator-exit{to{opacity:0}}.shiny-chat-message-body[data-entering]{animation:shiny-chat-content-enter .2s ease}@keyframes shiny-chat-content-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.shiny-chat-pending-indicator{animation:shiny-chat-pending-indicator-appear 0s ease forwards}.shiny-chat-pending-indicator[data-exiting]{animation:shiny-chat-pending-indicator-exit 0s ease forwards}.shiny-chat-message-body[data-entering]{animation:none}}.shiny-chat-message-content>.shiny-chat-message-body>hr:first-child{display:none}.shiny-chat-message-cancelled{font-size:.8em;opacity:.5;font-style:italic}.shiny-chat-message-cancelled:not(:first-child){margin-top:.5em}.shiny-chat-message-error,.shiny-chat-block-error{color:var(--bs-danger, #dc3545);font-size:.875em;padding:.25rem 0}.shiny-chat-message-error pre,.shiny-chat-block-error pre{color:inherit;margin:0;white-space:pre-wrap}.shiny-chat-user-message{position:relative;align-self:flex-end;padding:var(--shiny-chat-user-message-padding, .75rem 1rem);border-radius:var(--shiny-chat-user-message-border-radius, 10px);background-color:var(--_user-message-bg);max-width:100%;grid-template-columns:auto;user-select:none;touch-action:pan-y}.shiny-chat-user-message .shiny-chat-message-content{user-select:text}.shiny-chat-user-message+.shiny-chat-message{margin-top:calc(-1 * var(--shiny-chat-user-assistant-gap-reduction, 0px))}.shiny-chat-message .content-type-text,.shiny-chat-user-message .content-type-text{white-space:pre;overflow-x:auto}.shiny-chat-btn-send{--_btn-send-state-color: var(--shiny-chat-btn-send-color-ready, var(--bs-primary, #007bc2));--_input-icon-size: var(--shiny-chat-input-icon-size, 24px);position:absolute;bottom:var(--_input-control-inset, 8px);right:var(--_input-control-inset, 8px);width:var(--shiny-chat-btn-send-size, 24px);height:var(--shiny-chat-btn-send-size, 24px);background-color:var(--shiny-chat-btn-send-bg, var(--_btn-send-state-color));color:var(--shiny-chat-btn-send-color, #fff);border:var(--shiny-chat-btn-send-border, none);transition:color .25s ease-in-out,background-color .25s ease-in-out;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.shiny-chat-btn-send svg{display:block!important;flex:none;width:var(--_input-icon-size)!important;height:var(--_input-icon-size)!important;margin:0!important}.shiny-chat-btn-send:hover:not(:disabled){color:var(--shiny-chat-btn-send-color-hover, var(--shiny-chat-btn-send-color, #fff));background-color:var(--shiny-chat-btn-send-bg-hover, color-mix(in srgb, var(--_btn-send-state-color) 92%, black));border-color:var(--shiny-chat-btn-send-border-color-hover, transparent)}.shiny-chat-btn-send:active:not(:disabled){color:var(--shiny-chat-btn-send-color-active, var(--shiny-chat-btn-send-color, #fff));background-color:var(--shiny-chat-btn-send-bg-active, color-mix(in srgb, var(--_btn-send-state-color) 85%, black))}.shiny-chat-btn-send:disabled{cursor:not-allowed;--_btn-send-state-color: var(--shiny-chat-btn-send-color-empty, var(--bs-gray-500, #8d959e))}.shiny-chat-btn-send[data-state=cancel],.shiny-chat-btn-send[data-state=cancelling]{--_btn-send-state-color: var(--shiny-chat-btn-send-color-cancel, var(--bs-danger, #dc3545))}.shiny-chat-btn-send[data-state=pending],.shiny-chat-btn-send[data-state=cancelling]{pointer-events:none;cursor:default}.shiny-chat-btn-send[data-state=pending] svg,.shiny-chat-btn-send[data-state=cancelling] svg{width:calc(var(--_input-icon-size) - 2px)!important;height:calc(var(--_input-icon-size) - 2px)!important;animation:shiny-chat-spin .75s linear infinite;transform-origin:center}.shiny-chat-btn-attach{--_input-icon-size: var(--shiny-chat-input-icon-size, 22px);position:absolute;bottom:var(--_input-control-inset, 8px);left:var(--_input-control-inset, 8px);z-index:1;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background-color:transparent;color:var(--bs-gray-600, #707782);transition:color .25s ease-in-out;border:none;padding:0;cursor:pointer;border-radius:50%}.shiny-chat-btn-attach svg{display:block;width:var(--_input-icon-size);height:var(--_input-icon-size)}.shiny-chat-btn-attach:hover:not(:disabled){color:var(--bs-primary, #007bc2)}.shiny-chat-btn-attach:disabled{cursor:not-allowed;opacity:.5}.shiny-chat-input{--_input-padding-top: 0;--_input-padding-bottom: var(--_chat-composer-input-padding-bottom);--_input-control-inset: 8px;margin-top:calc(-1 * var(--_input-padding-top));position:sticky;bottom:calc(-1 * var(--_input-padding-bottom));padding-block:var(--_input-padding-top) var(--_input-padding-bottom)}.shiny-chat-input .tiptap{--bs-border-radius: 26px;padding-right:36px!important;max-height:175px;overflow-y:auto}.shiny-chat-input .tiptap.is-empty:before{content:attr(data-placeholder);color:var(--bs-gray-600, #707782);float:left;height:0;pointer-events:none}.shiny-chat-input:has(.shiny-chat-btn-attach) .tiptap{padding-left:36px!important}.shiny-chat-input:has(.shiny-chat-input-attachments){border:1px solid var(--bs-border-color, #ced4da);border-radius:20px}.shiny-chat-input:has(.shiny-chat-input-attachments) .tiptap{border-color:transparent!important;background:transparent!important;box-shadow:none!important}.shiny-chat-input:has(.shiny-chat-input-attachments):focus-within{border-color:var(--bs-primary, #007bc2)}.shiny-chat-input .shiny-chat-btn-send,.shiny-chat-input .shiny-chat-btn-attach{bottom:calc(var(--_input-control-inset) - 2px + var(--_input-padding-bottom))}@keyframes shiny-chat-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shiny-chat-footer{--_footer-font-size: var(--shiny-chat-footer-font-size, .8125em);--_footer-color: var(--shiny-chat-footer-color, var(--bs-secondary-color, #6c757d));font-size:var(--_footer-font-size);color:var(--_footer-color);text-align:center;padding:.25rem var(--_chat-container-padding) var(--shiny-chat-input-padding-bottom, .25rem)}.shiny-busy:has(.shiny-chat-input.disabled):after{display:none}.shiny-chat-scroll-to-bottom{position:absolute;bottom:8px;left:50%;transform:translate(-50%);z-index:1;display:flex;align-items:center;justify-content:center;padding:8px;border:var(--_border);border-radius:50%;background-color:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);cursor:pointer;box-shadow:0 2px 8px #0000001f;transition:background-color .15s ease,box-shadow .15s ease;line-height:1}.shiny-chat-scroll-to-bottom:hover{background-color:var(--bs-tertiary-bg, #f8f9fa);box-shadow:0 4px 12px #00000029}.shiny-chat-scroll-to-bottom:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.shiny-chat-scroll-to-bottom svg{display:block}.shiny-chat-scroll-to-bottom.streaming{--_streaming-gradient: var( --shiny-chat-streaming-color, var(--bs-indigo, #4b00c1), var(--bs-purple, #74149c), var(--bs-pink, #bf007f) );--_streaming-arc-length: 30%;--_streaming-arc-thickness: 1.5px}.shiny-chat-scroll-to-bottom.streaming:before{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(transparent,transparent calc(100% - var(--_streaming-arc-length)),var(--_streaming-gradient));animation:shiny-chat-spin 1.2s linear infinite;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--_streaming-arc-thickness) - .5px),#000 calc(100% - .5px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--_streaming-arc-thickness) - .5px),#000 calc(100% - .5px))}@keyframes shiny-chat-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.shiny-chat-scroll-to-bottom.streaming:before{animation:none}}.shiny-chat-external-link-dialog{padding:0;border:none;background:none;max-width:min(680px,90%)}.shiny-chat-external-link-dialog .modal{height:auto}.shiny-chat-external-link-dialog::backdrop{background-color:#00000080}.shiny-chat-external-link-dialog .link-url{word-break:break-all;font-weight:500}.shiny-chat-thinking{--_thinking-header-color: var(--shiny-chat-thinking-header-color, inherit);--_thinking-border-color: var(--shiny-chat-thinking-border-color, var(--bs-border-color, #dee2e6));--_thinking-content-color: var(--shiny-chat-thinking-content-color, var(--bs-secondary-color, #6c757d));--_row-pad: .4rem;--_row-glyph-width: .9em;font-size:.8em}.shiny-chat-thinking-header{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2em;padding:.25rem var(--_row-pad);border-radius:6px;background:none;border:none;text-align:left;color:var(--_thinking-header-color);cursor:pointer;font:inherit;opacity:var(--_activity-opacity)}.shiny-chat-thinking-header:hover,.shiny-chat-thinking-header:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.05)}.shiny-chat-thinking-disclosure{margin-inline-start:auto}.shiny-chat-thinking-label{transition:opacity .2s ease;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-thinking-label[data-fading]{opacity:0}.shiny-chat-thinking-dot{margin-left:0;fill:currentColor;opacity:0;transform-origin:center;animation:shiny-chat-thinking-dot-appear .2s ease .5s forwards,shiny-chat-thinking-dot-pulse 1.75s infinite cubic-bezier(.18,.89,.32,1.28) .5s}@keyframes shiny-chat-thinking-dot-appear{to{opacity:.6}}@keyframes shiny-chat-thinking-dot-pulse{0%{transform:scale(1);opacity:.6}50%{transform:scale(.4);opacity:.3}to{transform:scale(1);opacity:.6}}.shiny-chat-thinking-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease;margin-left:calc(var(--_row-pad) + var(--_row-glyph-width) / 2 - 1px);border-left:2px solid var(--_thinking-border-color)}.shiny-chat-thinking-content[data-expanded]{grid-template-rows:1fr;max-height:33dvh}.shiny-chat-thinking-content-inner{overflow:hidden;padding-left:.75rem;padding-block:0;color:var(--_thinking-content-color);font-size:.9em}[data-expanded]>.shiny-chat-thinking-content-inner{padding-block:.25rem;max-height:33dvh;overflow-y:auto}.shiny-chat-thinking-topic{font-weight:600}@media (prefers-reduced-motion: reduce){.shiny-chat-thinking-dot{animation:shiny-chat-thinking-dot-appear 0s ease .5s forwards}.shiny-chat-thinking-disclosure,.shiny-chat-thinking-content,.shiny-chat-thinking-content-inner,.shiny-chat-thinking-label{transition:none}}.shiny-chat-input-attachments{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem;padding:.625rem .625rem 0;margin-bottom:0}.shiny-chat-input-attachments>*:focus{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.shiny-chat-input-thumbnail{position:relative;width:3.5rem;min-height:3.5rem;border-radius:.5rem;overflow:hidden;border:1px solid var(--bs-border-color, #ccc)}.shiny-chat-input-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.shiny-chat-input-thumbnail button{position:absolute;top:2px;right:2px;width:1rem;height:1rem;line-height:1rem;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:.7rem;cursor:pointer}.shiny-chat-input-notice{font-size:.8em;opacity:.7;padding:.375rem .75rem 0;margin-bottom:0}.shiny-chat-input-attachment-chip,.shiny-chat-message-attachment-chip{position:relative;display:flex;align-items:center;gap:.5rem;min-height:3.5rem;min-width:9rem;max-width:14rem;padding:0 1.4rem 0 .6rem;border-radius:.5rem;border:1px solid var(--bs-border-color, #ccc);background:var(--bs-tertiary-bg, #f3f4f6)}.shiny-chat-input-attachment-chip .shiny-chat-attachment-badge,.shiny-chat-message-attachment-chip .shiny-chat-attachment-badge{flex:0 0 auto;display:flex;align-items:flex-end;justify-content:center;width:2rem;height:2.4rem;padding-bottom:3px;border-radius:3px;background:#b91c1c;color:#fff;font-size:.55rem;font-weight:700}.shiny-chat-input-attachment-chip .shiny-chat-attachment-meta,.shiny-chat-message-attachment-chip .shiny-chat-attachment-meta{display:flex;flex-direction:column;min-width:0}.shiny-chat-input-attachment-chip .shiny-chat-attachment-name,.shiny-chat-message-attachment-chip .shiny-chat-attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:600}.shiny-chat-input-attachment-chip .shiny-chat-attachment-size,.shiny-chat-message-attachment-chip .shiny-chat-attachment-size{font-size:.62rem;opacity:.7}.shiny-chat-input-attachment-chip button,.shiny-chat-message-attachment-chip button{position:absolute;top:2px;right:2px;width:1rem;height:1rem;line-height:1rem;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:.7rem;cursor:pointer}.shiny-chat-message-attachment-chip{height:var(--_attachment-size);min-height:0;padding:.5rem .75rem;font:inherit;color:inherit;text-align:left;cursor:pointer}.shiny-chat-message-attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;align-items:flex-start}.shiny-chat-message-attachments .shiny-chat-text-preview{height:var(--_attachment-size)}.shiny-chat-message-attachments .shiny-chat-text-preview[role=button]{cursor:pointer}.shiny-chat-message-image-btn{width:var(--_attachment-size);height:var(--_attachment-size);padding:0;border:1px solid var(--bs-border-color, #ccc);border-radius:.5rem;overflow:hidden;background:none;cursor:zoom-in}.shiny-chat-text-preview{position:relative;display:flex;flex-direction:column;width:12rem;max-width:14rem;border-radius:.5rem;border:1px solid var(--bs-border-color, #ccc);background:var(--bs-tertiary-bg, #f3f4f6);overflow:hidden}.shiny-chat-text-preview .shiny-chat-text-preview-body{flex:1 1 3.6em;min-height:0;padding:.45rem .55rem .2rem;overflow:hidden;font-family:var(--bs-font-monospace, monospace);font-size:.66rem;line-height:1.2;white-space:pre-wrap;word-break:break-word;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}.shiny-chat-text-preview .shiny-chat-text-preview-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .55rem;border-top:1px solid var(--bs-border-color, #ccc);font-size:.62rem;opacity:.7}.shiny-chat-text-preview .shiny-chat-text-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.shiny-chat-text-preview .shiny-chat-text-preview-size{flex:0 0 auto}.shiny-chat-text-preview button{position:absolute;top:2px;right:2px;width:1rem;height:1rem;line-height:1rem;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:.7rem;cursor:pointer}.shiny-chat-message-image{width:100%;height:100%;object-fit:cover;display:block}.shiny-chat-lightbox{position:fixed;inset:0;z-index:1080;display:flex;align-items:center;justify-content:center;padding:2rem;background:#000000b3;cursor:zoom-out}.shiny-chat-lightbox-content{display:flex;flex-direction:column;align-items:center;gap:.6rem;max-width:90vw;max-height:90vh;cursor:default}.shiny-chat-lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:.5rem}.shiny-chat-lightbox-frame{width:min(90vw,1000px);height:80vh;border:none;border-radius:.5rem;background:#fff}.shiny-chat-lightbox-text{width:min(90vw,1000px);max-height:80vh;margin:0;padding:1rem 1.25rem;overflow:auto;border-radius:.5rem;background:#fff;color:#1a1a1a;font-family:var(--bs-font-monospace, monospace);font-size:.8rem;line-height:1.45;white-space:pre;text-align:left}.shiny-chat-lightbox-name{max-width:90vw;color:#fff;font-size:.85rem;text-align:center;overflow-wrap:anywhere}.shiny-chat-lightbox-close{position:fixed;top:1rem;right:1rem;width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:#0009;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer}.shiny-chat-message-footer{position:absolute;right:.25rem;bottom:-1.5rem;display:flex;align-items:center;gap:.35rem}.shiny-chat-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:none;border:none;border-radius:50%;color:var(--bs-secondary-color, #6c757d);cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background-color .15s}.shiny-chat-edit-btn:hover,.shiny-chat-edit-btn:focus-visible{opacity:1;color:var(--bs-primary, #007bc2);background-color:var(--bs-tertiary-bg, rgba(0, 0, 0, .05))}.shiny-chat-edit-btn svg{display:block}.shiny-chat-user-message:hover .shiny-chat-edit-btn,.shiny-chat-user-message:focus-within .shiny-chat-edit-btn,.shiny-chat-user-message[data-touch-revealed] .shiny-chat-edit-btn{opacity:1}.shiny-chat-edit-wrap{width:100%}.shiny-chat-user-message:has(.shiny-chat-edit-wrap){width:100%}.shiny-chat-edit-box{position:relative;width:100%;border:1px solid var(--bs-border-color, #ced4da);border-radius:20px}.shiny-chat-edit-box:focus-within{border-color:var(--bs-primary, #007bc2)}.shiny-chat-edit-box .tiptap{border-color:transparent!important;background:transparent!important;box-shadow:none!important;padding-right:36px!important;min-height:1.5rem;max-height:16rem;overflow-y:auto;font:inherit;color:inherit}.shiny-chat-edit-box .tiptap.is-empty:before{content:attr(data-placeholder);color:var(--bs-gray-600, #707782);float:left;height:0;pointer-events:none}.shiny-chat-edit-box:has(.shiny-chat-btn-attach) .tiptap{padding-left:36px!important}.shiny-chat-edit-cancel-outside{display:block;margin:.35rem 0 0 auto;padding:.3rem .75rem;border:none;border-radius:14px;background-color:var(--bs-tertiary-bg, rgba(0, 0, 0, .05));color:var(--bs-secondary-color, #6c757d);font-size:.85em;cursor:pointer;transition:background-color .15s,color .15s}.shiny-chat-edit-cancel-outside:hover{background-color:var(--bs-border-color, #ced4da);color:var(--bs-body-color, inherit)}.shiny-chat-sibling-nav{display:flex;align-items:center;gap:.1rem;font-size:.75rem;color:var(--bs-secondary-color, #6c757d)}.shiny-chat-sibling-nav button{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:none;border:none;border-radius:50%;font-size:1rem;line-height:1;cursor:pointer;color:inherit;transition:color .15s,background-color .15s}.shiny-chat-sibling-nav button:disabled{opacity:.35;cursor:not-allowed}.shiny-chat-sibling-nav button:not(:disabled):hover{color:var(--bs-primary, #007bc2);background-color:var(--bs-tertiary-bg, rgba(0, 0, 0, .05))}.shiny-chat-sibling-nav span{min-width:2.5rem;text-align:center}shiny-chat-page{--_page-header-height: var( --shiny-chat-page-header-height, var(--bs-navbar-height, 3.5rem) );--_page-header-padding-x: var(--shiny-chat-page-header-padding-x, .75rem);--_page-header-padding-y: var( --shiny-chat-page-header-padding-y, var(--bs-navbar-padding-y, .5rem) );--_page-sidebar-width: var(--shiny-chat-page-sidebar-width, 280px);--_page-sidebar-padding: var( --shiny-chat-page-sidebar-padding, var(--bslib-sidebar-padding, var(--bslib-spacer, var(--bs-spacer, 1rem))) );--_page-panel-gap: var( --shiny-chat-page-panel-gap, clamp(.25rem, .5vw, .5rem) );--_page-surface-bg: var(--shiny-chat-page-surface-bg, var(--bs-body-bg, #fff));--_page-panel-gap-bg: var( --shiny-chat-page-panel-gap-bg, var(--_page-surface-bg) );--_page-sidebar-bg: var(--shiny-chat-page-sidebar-bg, var(--bs-body-bg, #fff));--_page-canvas-bg: var(--shiny-chat-page-canvas-bg, var(--bs-body-bg, #fff));--_page-border: var(--bs-border-width, 1px) solid var( --shiny-chat-page-border-color, var(--bs-border-color, color-mix(in srgb, var(--bs-body-color, #212529) 12%, transparent)) );--_page-focus-ring-color: var( --shiny-chat-page-focus-ring-color, color-mix(in srgb, var(--bs-primary, #0d6efd) 32%, transparent) );display:grid;grid-template-rows:minmax(var(--_page-header-height),max-content) minmax(0,1fr);width:100%;height:100%;height:100dvh;min-height:0;color:var(--bs-body-color, #212529);background:var(--_page-canvas-bg);overflow:hidden}body:has(shiny-chat-page)>.toast-container:is([data-bslib-toast-container=top-right],[data-bslib-toast-container=top-center],[data-bslib-toast-container=top-left]){top:var(--shiny-chat-page-toast-offset, var(--_page-header-height, 3.25rem))!important}.shiny-chat-page-header{position:relative;z-index:3;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;min-width:0;min-height:var(--_page-header-height);padding:var(--_page-header-padding-y) var(--_page-header-padding-x);border-bottom:var(--_page-border);background:var(--bs-body-bg, var(--_page-surface-bg));color:var(--bs-body-color, #212529)}.shiny-chat-page-sidebar-toggle,.shiny-chat-page-identity,.shiny-chat-page-nav-link{min-height:2.75rem;color:inherit;background:transparent;border:0}.shiny-chat-page-sidebar-toggle{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem;padding:.375rem;border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-sidebar-icon{display:block;width:1rem;height:1rem;fill:currentcolor}.shiny-chat-page-identity{display:inline-flex;align-items:center;justify-self:start;min-width:0;gap:var(--shiny-chat-page-title-gap, .5rem);padding:.375rem .5rem;font-size:var(--shiny-chat-page-title-font-size, var(--bs-navbar-brand-font-size, 1.125rem));font-weight:var(--shiny-chat-page-title-font-weight, var(--bs-body-font-weight, 400));line-height:var(--bs-navbar-brand-line-height, 1.2);text-align:start;border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-identity[data-page-home]{max-width:min(30ch,35%)}.shiny-chat-page-identity[data-page-home]>.shiny-chat-page-identity-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-page-identity-icon,.shiny-chat-page-nav-icon{display:inline-flex;flex:0 0 auto;align-items:center}.shiny-chat-page-controls,.shiny-chat-page-nav,.shiny-chat-page-toolbar{display:flex;align-items:center}.shiny-chat-page-controls-mount-desktop{min-width:0;padding:.25rem;margin:-.25rem;overflow:visible;justify-self:stretch}.shiny-chat-page-controls{min-width:0;max-width:100%;width:100%;gap:var(--shiny-chat-page-controls-gap, var(--bs-navbar-nav-link-padding-x, .5rem))}.shiny-chat-page-nav{flex:1 1 auto;min-width:0;gap:.125rem;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.shiny-chat-page-nav::-webkit-scrollbar{display:none}.shiny-chat-page-toolbar{flex:1 1 auto;min-width:0;gap:.375rem;justify-content:flex-end}.shiny-chat-page-toolbar-scoped,.shiny-chat-page-toolbar-global{display:flex;flex:0 1 auto;min-width:0;max-width:100%;gap:.375rem}.shiny-chat-page-toolbar-content{display:contents}.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-scoped>.shiny-chat-page-toolbar-content>*,.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-global>*{min-width:0;max-width:100%;flex:0 1 auto}.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-scoped>.shiny-chat-page-toolbar-content>.bslib-toolbar,.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-global>.bslib-toolbar{justify-content:flex-start}.shiny-chat-page-toolbar-sources,.shiny-chat-page-toolbar-source{display:none!important}.shiny-chat-page-nav-link{position:relative;display:inline-flex;align-items:center;gap:var(--shiny-chat-page-nav-link-gap, .375rem);padding:var(--shiny-chat-page-nav-link-padding-y, .5rem) var(--shiny-chat-page-nav-link-padding-x, .75rem);font-size:var(--shiny-chat-page-nav-link-font-size, var(--bs-nav-link-font-size, inherit));font-weight:var(--shiny-chat-page-nav-link-font-weight, var(--bs-nav-link-font-weight, inherit));border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-nav-link[aria-current=page]{color:var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd));background:var(--bs-primary-bg-subtle, rgba(13, 110, 253, .1))}.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link{border-radius:0}.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link[aria-current=page]{background:transparent}.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link[aria-current=page]:after{position:absolute;right:.75rem;bottom:-1px;left:.75rem;height:2px;content:"";background:currentcolor}.shiny-chat-page-sidebar-toggle:not(:disabled):hover,button.shiny-chat-page-identity:hover,.shiny-chat-page-nav-link:hover{background:var(--bs-tertiary-bg, #f1f3f5)}.shiny-chat-page-sidebar-toggle:not(:disabled):focus-visible,button.shiny-chat-page-identity:focus-visible,.shiny-chat-page-nav-link:focus-visible{outline:.2rem solid var(--_page-focus-ring-color);outline-offset:.1rem}.shiny-chat-page-nav-control{display:inline-flex;flex:0 0 auto;align-items:center;min-height:2.75rem}.shiny-chat-page-nav>.bslib-nav-spacer{flex:1 1 auto;min-width:.5rem}.shiny-chat-page-nav-menu{position:relative;flex:0 0 auto}.shiny-chat-page-nav-menu-toggle{display:inline-flex;align-items:center;min-height:2.75rem;padding:var(--shiny-chat-page-nav-link-padding-y, .5rem) var(--shiny-chat-page-nav-link-padding-x, .75rem);cursor:pointer;list-style:none;border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-nav-menu-toggle::-webkit-details-marker{display:none}.shiny-chat-page-nav-menu-toggle:hover,.shiny-chat-page-nav-menu-toggle:focus-visible{background:var(--bs-tertiary-bg, #f1f3f5)}.shiny-chat-page-nav-menu-toggle:focus-visible{outline:.2rem solid var(--_page-focus-ring-color);outline-offset:.1rem}.shiny-chat-page-nav-menu-items{position:absolute;z-index:6;top:calc(100% + .25rem);inset-inline-start:0;display:grid;min-width:max-content;padding:.25rem;border:var(--_page-border);border-radius:var(--bs-border-radius, .375rem);background:var(--bs-body-bg, var(--_page-surface-bg));box-shadow:var(--bs-box-shadow, 0 .5rem 1rem rgba(0, 0, 0, .15))}@media (min-width: 800px){.shiny-chat-page-nav-menu[open] .shiny-chat-page-nav-menu-items{position:fixed;top:var(--shiny-chat-page-nav-menu-top, .5rem);inset-inline-start:auto;left:var(--shiny-chat-page-nav-menu-left, .5rem);box-sizing:border-box;width:max-content;min-width:0;max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);overflow:auto}}.shiny-chat-page-nav-menu-items .shiny-chat-page-nav-link{justify-content:flex-start;width:100%}.shiny-chat-page-nav-menu-header,.shiny-chat-page-nav-divider{margin:.25rem 0}.shiny-chat-page-nav-menu-header{padding:.25rem .5rem;color:var(--bs-secondary-color, #6c757d);font-size:.875rem}.shiny-chat-page-sidebar-toggle:disabled{cursor:not-allowed;opacity:.5}.shiny-chat-page-body{--_page-sidebar-track: 0px;position:relative;display:grid;grid-template-columns:minmax(0,var(--_page-sidebar-track)) minmax(0,1fr);min-width:0;min-height:0;background:var(--_page-panel-gap-bg)}.shiny-chat-page-sidebar{display:flex;flex-direction:column;width:var(--_page-sidebar-width);min-width:0;min-height:0;overflow:auto;border-right:var(--_page-border);background:var(--_page-sidebar-bg)}.shiny-chat-page-sidebar .shiny-chat-history.shiny-chat-history-inline{--_history-inline-bg: var(--shiny-chat-history-bg, var(--_page-sidebar-bg))}.shiny-chat-page-sidebar:not([data-sidebar-key]){display:none}.shiny-chat-page-sidebar[hidden],.shiny-chat-page-sidebar-toggle[hidden],.shiny-chat-page-sidebar-resizer[hidden]{display:none}.shiny-chat-page-sidebar-panel{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:var(--_page-sidebar-padding);overflow:auto;padding:var(--_page-sidebar-padding)}.shiny-chat-page-controls-mount-mobile{display:none}.shiny-chat-page-main,.shiny-chat-page-panel,.shiny-chat-page-home{min-width:0;min-height:0}.shiny-chat-page-main{position:relative;grid-column:2;overflow:auto;background:var(--_page-canvas-bg)}shiny-chat-page .shiny-chat-layout[data-drawer-open]{--_drawer-layout-gap: var(--_page-panel-gap);position:relative}shiny-chat-page .shiny-chat-layout[data-drawer-open]:after{position:absolute;z-index:1;inset-block:0;inset-inline-end:var(--_drawer-layout-width);width:var(--_drawer-layout-gap);content:"";pointer-events:none;background:var(--_page-panel-gap-bg)}@container shiny-chat (max-width: 639.99px){shiny-chat-page .shiny-chat-layout[data-drawer-open]:after{display:none}}.shiny-chat-page-sidebar-resizer{inset-inline-start:calc(var(--shiny-chat-page-sidebar-rendered-width, var(--_page-sidebar-width)) - var(--_resize-handle-hit-target, 8px))}@media (min-width: 800px){shiny-chat-page[data-sidebar-motion-ready] .shiny-chat-page-body{transition:grid-template-columns .18s cubic-bezier(.16,1,.3,1)}shiny-chat-page[data-sidebar-open] .shiny-chat-page-body{--_page-sidebar-track: var( --shiny-chat-page-sidebar-rendered-width, var(--_page-sidebar-width) );column-gap:var(--_page-panel-gap)}.shiny-chat-page-main{container-type:inline-size;container-name:shiny-chat-page-main}.shiny-chat-page-header{grid-template-columns:auto fit-content(12rem) minmax(0,1fr)}.shiny-chat-page-header[data-sidebar-toggle-hidden]{grid-template-columns:fit-content(12rem) minmax(0,1fr)}.shiny-chat-page-header:has(.shiny-chat-page-identity[data-page-home]){display:flex}.shiny-chat-page-header:has(.shiny-chat-page-identity[data-page-home]) .shiny-chat-page-controls-mount-desktop{flex:1 1 0}.shiny-chat-page-identity{min-width:auto}.shiny-chat-page-identity[data-page-home]{flex:0 1 auto;min-width:0;max-width:min(30ch,35%)}.shiny-chat-page-header:has(.shiny-chat-page-identity:not([data-page-home])){grid-template-columns:auto minmax(0,max-content) minmax(0,1fr)}.shiny-chat-page-header[data-sidebar-toggle-hidden]:has(.shiny-chat-page-identity:not([data-page-home])){grid-template-columns:minmax(0,max-content) minmax(0,1fr)}.shiny-chat-page-identity:not([data-page-home]){min-width:0}.shiny-chat-page-identity:not([data-page-home])>.shiny-chat-page-identity-title{min-width:0;overflow-wrap:anywhere}.shiny-chat-page-toolbar,.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-scoped>.shiny-chat-page-toolbar-content>.bslib-toolbar,.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-global>.bslib-toolbar{flex-wrap:nowrap}.shiny-chat-page-sidebar{width:100%;min-width:0;max-width:var(--shiny-chat-page-sidebar-max-width, none);overflow:hidden;opacity:0;pointer-events:none;transform:translate(-.75rem)}shiny-chat-page[data-sidebar-motion-ready] .shiny-chat-page-sidebar{transition:opacity .14s ease-out,transform .18s cubic-bezier(.16,1,.3,1)}shiny-chat-page[data-sidebar-open] .shiny-chat-page-sidebar{opacity:1;pointer-events:auto;transform:translate(0)}shiny-chat-page:is([data-sidebar-resizing],[data-responsive-takeover],[data-sidebar-handoff]) :is(.shiny-chat-page-body,.shiny-chat-page-sidebar){transition:none}}@container shiny-chat-page-main (max-width: 704.99px){shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open]{display:block;column-gap:0}shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper,shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-footer{display:none}shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-drawer{width:100%;min-height:100%;border-inline:0;box-shadow:none}}.shiny-chat-page-panel{width:100%;height:100%}.shiny-chat-page-panel-content{width:100%;max-width:var(--shiny-chat-page-content-width, min(680px, 100%));min-width:0;margin-inline:auto;padding-block:var(--shiny-chat-page-panel-padding-block, var(--bs-spacer, 1rem));padding-inline:max(var(--shiny-chat-page-panel-padding-inline, var(--bs-spacer, 1rem)),env(safe-area-inset-left)) max(var(--shiny-chat-page-panel-padding-inline, var(--bs-spacer, 1rem)),env(safe-area-inset-right))}.shiny-chat-page-panel-content[data-content-full-bleed=true]{max-width:none;padding:0}.shiny-chat-page-panel[hidden],.shiny-chat-page-sidebar-panel[hidden]{display:none}.shiny-chat-page-home{overflow:hidden;background:var(--_page-surface-bg)}.shiny-chat-page-home>shiny-chat-container{--shiny-chat-fill-padding: max( var(--shiny-chat-page-fill-padding, .25rem), env(safe-area-inset-left), env(safe-area-inset-right) );--shiny-chat-input-padding-bottom: max( var(--shiny-chat-page-input-padding-bottom, .25rem), env(safe-area-inset-bottom) );width:100%;height:100%;background:var(--_page-surface-bg)}.shiny-chat-page-sidebar-scrim{display:none}.shiny-chat-page-sidebar-close,.shiny-chat-page-sidebar>.bslib-toolbar:has(.shiny-chat-page-sidebar-close){display:none}@media (max-width: 799px){.shiny-chat-page-home :is(.shiny-chat-input,.shiny-chat-edit-box) .tiptap{font-size:16px;font-size:max(1rem,16px)}.shiny-chat-page-header{grid-template-columns:auto minmax(0,1fr);padding-inline:max(var(--_page-header-padding-x),env(safe-area-inset-left)) max(var(--_page-header-padding-x),env(safe-area-inset-right))}.shiny-chat-page-identity[data-page-home]{max-width:100%}.shiny-chat-page-sidebar-toggle{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}.shiny-chat-page-controls-mount-desktop{display:none}.shiny-chat-page-panel-content{padding-block:var(--shiny-chat-page-panel-padding-block-mobile, var(--bs-spacer, 1rem))}.shiny-chat-page-body{display:block}.shiny-chat-page-main{height:100%}.shiny-chat-page-sidebar{position:fixed;z-index:6;inset:0 auto 0 0;display:flex;width:min(88vw,22rem);max-width:none;padding-bottom:env(safe-area-inset-bottom);visibility:hidden;transform:translate(-100%);transition:transform .18s ease-out,visibility 0s linear .18s;box-shadow:.5rem 0 1.5rem #0000002e}.shiny-chat-page-sidebar:not([data-sidebar-key]){display:flex}shiny-chat-page[data-mobile-menu-open] .shiny-chat-page-sidebar{z-index:9;visibility:visible;transform:translate(0);transition-delay:0s}.shiny-chat-page-controls-mount-mobile{display:block;flex:0 0 auto;padding:max(3.5rem,env(safe-area-inset-top) + 3.5rem) .5rem .5rem;border-bottom:var(--_page-border)}.shiny-chat-page-sidebar>.bslib-toolbar:has(.shiny-chat-page-sidebar-close){position:absolute;z-index:1;top:max(.5rem,env(safe-area-inset-top));right:.5rem;display:flex;padding:0;margin:0}.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close{position:absolute;z-index:1;top:max(.5rem,env(safe-area-inset-top));right:.5rem;place-items:center}.shiny-chat-page-sidebar-close{display:grid;width:2.75rem;height:2.75rem;padding:0;color:inherit;background:transparent;border:0;border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close:before,.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close:after{position:absolute;width:1.125rem;height:.125rem;content:"";background:currentcolor;border-radius:.125rem}.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close:before{transform:rotate(45deg)}.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close:after{transform:rotate(-45deg)}.shiny-chat-page-sidebar-resizer{display:none}.shiny-chat-page-sidebar-close:hover{background:var(--bs-tertiary-bg, #f1f3f5)}.shiny-chat-page-sidebar-close:focus-visible{outline:.2rem solid var(--_page-focus-ring-color);outline-offset:.1rem}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-controls,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-scoped,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-global{align-items:stretch;flex-direction:column}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-content>*,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-global>*{flex:0 0 auto;width:100%}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-link{justify-content:flex-start;width:100%}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-control{width:100%}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav>.bslib-nav-spacer{display:none}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu-toggle{width:100%}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu-items{position:static;min-width:0;margin-inline-start:.75rem;box-shadow:none}.shiny-chat-page-sidebar-scrim{position:fixed;z-index:5;inset:0;display:none;padding:0;background:#00000059;border:0}shiny-chat-page[data-mobile-menu-open] .shiny-chat-page-sidebar-scrim{display:block;z-index:8}}@media (prefers-reduced-motion: reduce){.shiny-chat-page-sidebar{transition:none}} +@charset "UTF-8";pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}pre:has(>code.hljs){color:#383a42;background:#fafafa}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#a626a4}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#50a14f}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#986801}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#4078f2}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#c18401}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}[data-bs-theme=dark] pre code.hljs{display:block;overflow-x:auto;padding:1em}[data-bs-theme=dark] code.hljs{padding:3px 5px}[data-bs-theme=dark] pre:has(>code.hljs){color:#abb2bf;background:#282c34}[data-bs-theme=dark] .hljs-comment,[data-bs-theme=dark] .hljs-quote{color:#5c6370;font-style:italic}[data-bs-theme=dark] .hljs-doctag,[data-bs-theme=dark] .hljs-keyword,[data-bs-theme=dark] .hljs-formula{color:#c678dd}[data-bs-theme=dark] .hljs-section,[data-bs-theme=dark] .hljs-name,[data-bs-theme=dark] .hljs-selector-tag,[data-bs-theme=dark] .hljs-deletion,[data-bs-theme=dark] .hljs-subst{color:#e06c75}[data-bs-theme=dark] .hljs-literal{color:#56b6c2}[data-bs-theme=dark] .hljs-string,[data-bs-theme=dark] .hljs-regexp,[data-bs-theme=dark] .hljs-addition,[data-bs-theme=dark] .hljs-attribute,[data-bs-theme=dark] .hljs-meta .hljs-string{color:#98c379}[data-bs-theme=dark] .hljs-attr,[data-bs-theme=dark] .hljs-variable,[data-bs-theme=dark] .hljs-template-variable,[data-bs-theme=dark] .hljs-type,[data-bs-theme=dark] .hljs-selector-class,[data-bs-theme=dark] .hljs-selector-attr,[data-bs-theme=dark] .hljs-selector-pseudo,[data-bs-theme=dark] .hljs-number{color:#d19a66}[data-bs-theme=dark] .hljs-symbol,[data-bs-theme=dark] .hljs-bullet,[data-bs-theme=dark] .hljs-link,[data-bs-theme=dark] .hljs-meta,[data-bs-theme=dark] .hljs-selector-id,[data-bs-theme=dark] .hljs-title{color:#61aeee}[data-bs-theme=dark] .hljs-built_in,[data-bs-theme=dark] .hljs-title.class_,[data-bs-theme=dark] .hljs-class .hljs-title{color:#e6c07b}[data-bs-theme=dark] .hljs-emphasis{font-style:italic}[data-bs-theme=dark] .hljs-strong{font-weight:700}[data-bs-theme=dark] .hljs-link{text-decoration:underline}shiny-markdown-stream{display:block}shiny-markdown-stream img{max-width:100%;height:auto}pre:has(.code-copy-button){position:relative}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:transparent}.code-copy-button>.bi{display:flex;gap:.25em}.code-copy-button>.bi:after{content:"";display:block;height:1rem;width:1rem;mask-image:url('data:image/svg+xml,');background-color:var(--bs-body-color, #222)}.code-copy-button-checked>.bi:before{content:"Copied!";font-size:.75em;vertical-align:.25em}.code-copy-button-checked>.bi:after{mask-image:url('data:image/svg+xml,');background-color:var(--bs-success, #198754)}@keyframes markdown-stream-dot-pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(.4);opacity:.4}to{transform:scale(1);opacity:1}}@keyframes markdown-stream-dot-appear{to{opacity:1}}.markdown-stream-dot{opacity:0;animation:markdown-stream-dot-appear .3s ease forwards,markdown-stream-dot-pulse 1.75s infinite cubic-bezier(.18,.89,.32,1.28) .3s;display:inline-block;transform-origin:center}@media (prefers-reduced-motion: reduce){.markdown-stream-dot{animation:markdown-stream-dot-appear .3s ease forwards}}shiny-chat-resize-handle{--_resize-handle-hit-target: var(--shiny-chat-resize-handle-hit-target, 8px);--_resize-handle-indicator-color: var(--shiny-chat-resize-handle-indicator-color, currentcolor);position:absolute;z-index:4;top:0;bottom:0;display:block;width:var(--_resize-handle-hit-target);padding:0;color:inherit;cursor:ew-resize;pointer-events:auto;touch-action:none;user-select:none}shiny-chat-resize-handle>[data-shiny-chat-resize-indicator]{position:absolute;z-index:1;top:50%;width:2px;height:30px;background:var(--_resize-handle-indicator-color);border-radius:1px;cursor:ew-resize;opacity:.3;pointer-events:auto;transform:translateY(-50%);transition:background-color .15s ease,height .15s ease,opacity .15s ease,width .15s ease}shiny-chat-resize-handle[data-panel-side=inline-start]>[data-shiny-chat-resize-indicator]{inset-inline-start:0}shiny-chat-resize-handle[data-panel-side=inline-end]>[data-shiny-chat-resize-indicator]{inset-inline-end:0}shiny-chat-resize-handle:hover>[data-shiny-chat-resize-indicator]{opacity:.65}shiny-chat-resize-handle:is(:focus-visible,:active,[data-resizing],[data-boundary-armed])>[data-shiny-chat-resize-indicator],shiny-chat-resize-handle>[data-shiny-chat-resize-indicator]:hover{width:4px;height:40px;opacity:1}shiny-chat-resize-handle:is(:active,[data-resizing])>[data-shiny-chat-resize-indicator]{background:var(--bs-primary, #0d6efd);height:50px}shiny-chat-resize-handle:focus-visible>[data-shiny-chat-resize-indicator]{outline:2px solid var(--bs-focus-ring-color, rgba(13, 110, 253, .25));outline-offset:2px}shiny-chat-resize-handle:focus-visible{outline:0}shiny-chat-resize-handle[data-disabled]{cursor:default;pointer-events:none}@media (any-pointer: fine){shiny-chat-resize-handle[data-boundary-activation]{cursor:default;pointer-events:none}shiny-chat-resize-handle[data-boundary-activation]:after{position:absolute;inset-block:0;width:5px;content:"";pointer-events:auto}shiny-chat-resize-handle[data-boundary-activation][data-panel-side=inline-start]:after{inset-inline-start:-2px}shiny-chat-resize-handle[data-boundary-activation][data-panel-side=inline-end]:after{inset-inline-end:-2px}shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]{cursor:ew-resize;pointer-events:auto}shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]:after{width:24px}shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed][data-panel-side=inline-start]:after{inset-inline-start:-12px}shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed][data-panel-side=inline-end]:after{inset-inline-end:-12px}}.shiny-chat-debug-resize-handle{--shiny-chat-debug-resize-idle-color: rgb(255 193 7 / 28%);--shiny-chat-debug-resize-armed-color: rgb(25 135 84 / 30%);--shiny-chat-debug-resize-coarse-color: rgb(13 110 253 / 28%);--shiny-chat-debug-resize-indicator-color: rgb(220 53 69 / 85%)}.shiny-chat-debug-resize-handle shiny-chat-resize-handle>[data-shiny-chat-resize-indicator]{background:var(--shiny-chat-debug-resize-indicator-color);outline:1px solid var(--shiny-chat-debug-resize-indicator-color);outline-offset:-1px;opacity:1}@media (any-pointer: fine){.shiny-chat-debug-resize-handle shiny-chat-resize-handle[data-boundary-activation]:not([data-boundary-armed]):after{background:var(--shiny-chat-debug-resize-idle-color);outline:1px dashed var(--shiny-chat-debug-resize-idle-color);outline-offset:-1px}.shiny-chat-debug-resize-handle shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]:after{background:var(--shiny-chat-debug-resize-armed-color);outline:1px dashed var(--shiny-chat-debug-resize-armed-color);outline-offset:-1px}}@media (any-pointer: coarse){shiny-chat-resize-handle{--_resize-handle-hit-target: 26px}shiny-chat-resize-handle[data-boundary-activation]{cursor:default;pointer-events:none}.shiny-chat-debug-resize-handle shiny-chat-resize-handle:before{position:absolute;inset:0;width:auto;content:"";background:var(--shiny-chat-debug-resize-coarse-color);outline:1px dashed var(--shiny-chat-debug-resize-coarse-color);outline-offset:-1px;pointer-events:none}}@media (prefers-reduced-motion: reduce){shiny-chat-resize-handle>[data-shiny-chat-resize-indicator]{transition:none}}.shiny-tool-card{max-height:var(--shiny-tool-card-max-height, 500px)}.shiny-tool-card .tool-title{min-width:25%;flex-shrink:2}.shiny-tool-card .tool-intent{opacity:var(--_activity-opacity-muted);font-style:italic;font-weight:400;text-align:end;flex-shrink:3;max-width:60%;min-width:20%}.shiny-tool-card .tool-spacer{margin-inline-start:auto}.shiny-tool-card .tool-icon{--_icon-size: var(--shiny-tool-card-icon-size, 16px);width:var(--_icon-size);height:var(--_icon-size);display:flex;align-items:center;flex:none}.shiny-tool-card .tool-icon [class^=spinner]{--bs-spinner-width: var(--_icon-size);--bs-spinner-height: var(--_icon-size);--bs-spinner-border-width: .2em;color:var(--shiny-tool-card-spinner-color, var(--bs-primary, #007bc2))}.shiny-tool-card .tool-title-name{font-weight:600}.shiny-tool-card .card-header,.shiny-tool-card .card-footer{font-size:inherit;font-weight:400;word-break:break-word}.shiny-tool-card>.card-header{display:flex;flex-direction:row;align-items:center;align-self:stretch;gap:.5rem;width:100%;text-align:left;cursor:pointer;border-top-width:0;border-right-width:0;border-left-width:0}.shiny-tool-card>.card-header[aria-expanded=false]{border-bottom-width:0}.shiny-tool-card>.card-header>*{line-height:1}.shiny-tool-card>.card-header:hover,.shiny-tool-card>.card-header:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.05);outline:none}.shiny-tool-card>.card-header .function-name{font-weight:700}.shiny-tool-card>.card-header .collapse-indicator{display:grid;place-items:center;width:1em;height:1em;opacity:var(--_activity-opacity-muted)}.shiny-tool-card>.card-header .collapse-indicator,.shiny-tool-card>.card-header .collapse-indicator>.horizontal{transition:.3s ease-in-out all;transform-origin:center center}.shiny-tool-card>.card-header[aria-expanded=true]>.collapse-indicator{transform:rotate(-90deg)}.shiny-tool-card>.card-header[aria-expanded=true]>.collapse-indicator .horizontal{transform:scale(0)}.shiny-tool-card>.card-body{position:relative;transition:opacity .2s ease-out;opacity:1;overflow:auto}.shiny-tool-card>.card-body.collapsed{max-height:0;opacity:0;padding:0}.shiny-tool-card>.card-header[aria-expanded=false]~.card-footer{display:none}.shiny-tool-card:hover .tool-fullscreen-toggle,.shiny-tool-card:focus-within .tool-fullscreen-toggle{opacity:.6}.shiny-tool-card pre{margin:0;white-space:pre-wrap;padding:1em;border-radius:var(--bs-border-radius, 4px)}@keyframes shiny-tool-fullscreen-enter{0%{opacity:0}to{opacity:1}}.shiny-tool-fullscreen-backdrop{position:fixed;inset:0;z-index:1049;background-color:rgba(var(--bs-body-color-rgb, 0, 0, 0),.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:shiny-tool-fullscreen-enter .3s ease forwards}.shiny-tool-fullscreen-exit{position:absolute;top:1rem;right:1rem;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;color:rgba(var(--bs-body-bg-rgb, 255, 255, 255),.8);background:none;border:none;padding:0}.shiny-tool-fullscreen-exit:hover{color:rgba(var(--bs-body-bg-rgb, 255, 255, 255),1)}.shiny-tool-fullscreen-exit:focus-visible{outline:2px solid rgba(var(--bs-body-bg-rgb, 255, 255, 255),.8);outline-offset:2px;border-radius:4px}.shiny-tool-fullscreen-exit svg{width:20px;height:20px}@media (max-width: 575.98px){.shiny-tool-card[fullscreen]{inset:2.5rem .5rem .5rem}.shiny-tool-fullscreen-exit{top:.5rem;right:.5rem}}.shiny-tool-card[fullscreen]{position:fixed;inset:3.5rem 1rem 1rem;z-index:1050;max-height:none;border-radius:var(--bs-border-radius, 4px);background:var(--bs-body-bg, #fff)}.shiny-tool-card[fullscreen]>.card-header{cursor:default}.shiny-tool-card[fullscreen]>.card-header:hover,.shiny-tool-card[fullscreen]>.card-header:focus-visible{background-color:inherit}.shiny-tool-card[fullscreen]>.card-header .collapse-indicator{display:none}.shiny-tool-card[fullscreen]>.card-body{max-height:none;overflow:auto}.shiny-tool-card[fullscreen]>.card-body .tool-fullscreen-toggle{display:none}.tool-fullscreen-toggle{position:absolute;bottom:.2rem;right:0;color:var(--bs-card-color);background-color:var(--bs-card-bg, var(--bs-body-bg));border:var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color));box-shadow:0 2px 4px #00000026;margin:.2rem .4rem;padding:.55rem!important;font-size:.8rem;cursor:pointer;opacity:0;transition:opacity .15s}.tool-fullscreen-toggle:hover,.tool-fullscreen-toggle:focus{opacity:1}.tool-fullscreen-toggle:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.tool-fullscreen-toggle svg{height:1em;width:1em;fill:currentColor}.shiny-tool-result,.shiny-tool-request{display:block;margin:1em 0;border-radius:var(--bs-border-radius, 4px);overflow:visible;padding:0;font-size:.8em}.shiny-tool-result[hidden],.shiny-tool-request[hidden]{display:none}.shiny-tool-result+p,.shiny-tool-request+p{margin-top:1rem}.shiny-tool-result:first-child,.shiny-tool-request:first-child{margin-top:0}.shiny-tool-result:last-child,.shiny-tool-request:last-child{margin-bottom:0}.shiny-tool-result__request>strong,.shiny-tool-result__result>strong{display:block;flex:none}.shiny-chat-tool-image{max-width:100%;border-radius:var(--bs-border-radius)}.shiny-chat-tool-group__row,.shiny-chat-tool-call-row__summary,.shiny-tool-card:not([fullscreen]){opacity:var(--_activity-opacity)}.shiny-tool-card:not([fullscreen]){--bslib-card-box-shadow: none;--bslib-card-border-color: var(--bs-card-border-color)}.shiny-chat-tool-loop{display:block;margin:1em 0}.shiny-chat-tool-loop:first-child{margin-top:0}.shiny-chat-tool-loop:last-child{margin-bottom:0}.shiny-chat-tool-loop:has(+.shiny-chat-tool-loop){margin-bottom:0}.shiny-chat-tool-loop+.shiny-chat-tool-loop{margin-top:0}.shiny-chat-tool-loop:has(+.shiny-chat-thinking){margin-bottom:0}.shiny-chat-thinking+.shiny-chat-tool-loop{margin-top:0}.shiny-chat-tool-loop+p,.shiny-chat-thinking+p{margin-top:1rem}.shiny-chat-tool-custom-display{margin:1em 0}.shiny-chat-tool-custom-display:last-child{margin-bottom:0}shiny-chat-raw-html,shinychat-raw-html{display:contents}.shiny-chat-tool-group{font-size:.8em;--_row-indent: 1.125rem;--_row-pad: .4rem;--_row-glyph-width: .9em}.shiny-chat-tool-spacer{margin-inline-start:auto}.shiny-chat-tool-group__row{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2em;padding:.25rem var(--_row-pad);border-radius:6px;background:none;border:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.shiny-chat-tool-group__row:hover,.shiny-chat-tool-group__row:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.05)}.shiny-chat-tool-group__row:focus-visible,.shiny-chat-tool-call-row__summary:focus-visible,.shiny-chat-thinking-header:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.shiny-chat-tool-group__glyph{--_size: var(--_row-glyph-width);width:var(--_size);height:var(--_size);display:flex;align-items:center;justify-content:center;flex:none;color:var(--bs-secondary-color)}.shiny-chat-tool-group__glyph svg{width:100%;height:100%}.shiny-chat-tool-group__glyph.running [class^=spinner]{--bs-spinner-width: var(--_size);--bs-spinner-height: var(--_size);--bs-spinner-border-width: .2em}.shiny-chat-tool-glyph-dot{display:inline-block;width:.4em;height:.4em;margin:auto;border-radius:50%;background-color:var(--bs-secondary-color)}.shiny-chat-thinking-glyph{display:grid;place-items:center;width:var(--_row-glyph-width);height:var(--_row-glyph-width);flex:none}.shiny-chat-thinking-glyph:before{content:"";width:.4em;height:.4em;background-color:var(--bs-secondary-color);transform:rotate(45deg)}.shiny-chat-tool-group__toolname{font-family:var(--bs-font-monospace)}.shiny-chat-tool-group__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .2s ease}.shiny-chat-tool-group__title[data-fading]{opacity:0}.shiny-chat-tool-group__segments{display:block;flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-group__segments .shiny-chat-tool-group__title{overflow:visible;text-overflow:clip}.shiny-chat-tool-group__overflow{color:var(--bs-secondary-color)}.shiny-chat-tool-group__segment{display:inline-flex;align-items:baseline;gap:.5rem;min-width:0}.shiny-chat-tool-group__segment+.shiny-chat-tool-group__segment{margin-inline-start:.25em}.shiny-chat-tool-group__titlewrap{display:inline-flex;align-items:baseline;flex:0 1 auto;min-width:0;overflow:hidden}.shiny-chat-tool-group__titlewrap:has(>.shiny-chat-tool-group__label)>.shiny-chat-tool-group__title{flex:none}.shiny-chat-tool-group__titlewrap>.shiny-chat-tool-group__count{align-self:center;margin-inline-start:.5rem}.shiny-chat-tool-group__label{flex:1 1 auto;font-weight:400;opacity:.85;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-group__label code{font-size:.9em}.shiny-chat-tool-group__label code,.shiny-chat-tool-call-row__label code{background:none;padding:0;color:inherit}.shiny-chat-tool-row__intent{font-style:italic;opacity:var(--_activity-opacity-muted);text-align:end;flex-shrink:3;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-group__count{font-size:.85em;font-weight:400;color:var(--bs-secondary-color)}.shiny-chat-tool-group__failed{font-size:.85em;color:var(--bs-danger)}.shiny-chat-tool-group__chevron,.shiny-chat-tool-call-row__chevron,.shiny-chat-thinking-disclosure{display:grid;place-items:center;width:.9em;height:.9em;flex:none;opacity:var(--_activity-opacity-muted);transition:transform .3s ease-in-out;transform:rotate(-90deg)}.shiny-chat-tool-group__chevron svg,.shiny-chat-tool-call-row__chevron svg,.shiny-chat-thinking-disclosure svg{display:block;width:100%;height:100%}.shiny-chat-tool-group__row[aria-expanded=true] .shiny-chat-tool-group__chevron,.shiny-chat-tool-call-row__summary[aria-expanded=true] .shiny-chat-tool-call-row__chevron,.shiny-chat-thinking-header[aria-expanded=true] .shiny-chat-thinking-disclosure{transform:rotate(0)}.shiny-chat-tool-group__calls{list-style:none;margin:0;padding:0;position:relative}.shiny-chat-tool-group__calls[hidden]{display:none}.shiny-chat-tool-group__calls:before{content:"";position:absolute;inset-block:0;inset-inline-start:calc(var(--_row-pad) + var(--_row-glyph-width) / 2);width:var(--bs-card-border-width, var(--bs-border-width, 1px));background-color:var(--bs-border-color);opacity:var(--_activity-opacity)}.shiny-chat-tool-call-row__summary{display:flex;align-items:center;gap:.5rem;margin-left:var(--_row-indent);width:calc(100% - var(--_row-indent));min-height:2em;padding:.25rem var(--_row-pad);border-radius:6px;background:none;border:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.shiny-chat-tool-call-row__summary:hover,.shiny-chat-tool-call-row__summary:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.05)}.shiny-chat-tool-call-row__status{--_size: var(--_row-glyph-width);width:var(--_size);height:var(--_size);display:flex;align-items:center;justify-content:center;flex:none;color:var(--bs-secondary-color)}.shiny-chat-tool-call-row__status.running [class^=spinner]{--bs-spinner-width: var(--_size);--bs-spinner-height: var(--_size);--bs-spinner-border-width: .2em}.shiny-chat-tool-call-row__status.text-danger{color:var(--bs-danger, #dc3545)}.shiny-chat-tool-call-row__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-call-row__preview{opacity:var(--_activity-opacity-muted);font-style:italic;flex-shrink:3;min-width:0;text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-tool-call-row__detail{overflow:hidden}.shiny-chat-tool-call-row__detail[hidden]{display:none}.shiny-chat-tool-call-row__detail:not([hidden]){animation:shiny-chat-tool-detail-reveal .2s ease-out}.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen]){margin:0;border:none;border-inline-start:var(--bs-card-border-width, var(--bs-border-width, 1px)) solid var(--bs-border-color);border-radius:0}.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-header{display:none}.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-body{padding-inline-start:calc(var(--_row-glyph-width) / 2 + .5rem - var(--bs-card-border-width, var(--bs-border-width, 1px)))}.shiny-chat-tool-call-row>.shiny-chat-tool-call-row__detail{padding-inline-start:calc(var(--_row-indent) + var(--_row-pad) + var(--_row-glyph-width) / 2)}.shiny-chat-tool-group--single>.shiny-chat-tool-call-row__detail{padding-inline-start:calc(var(--_row-pad) + var(--_row-glyph-width) / 2)}.shiny-chat-tool-group--framed,.shiny-chat-tool-call-row--framed{border:var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);border-radius:var(--bs-border-radius, 4px);overflow:hidden}.shiny-chat-tool-group--framed>.shiny-chat-tool-group__row,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary{border-radius:0;border-bottom:var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);background-color:rgba(var(--bs-emphasis-color-rgb),.05)}.shiny-chat-tool-group--framed>.shiny-chat-tool-group__row:hover,.shiny-chat-tool-group--framed>.shiny-chat-tool-group__row:focus-visible,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary:hover,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.1)}.shiny-chat-tool-group--framed>.shiny-chat-tool-group__row:focus-visible,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary:focus-visible{outline-offset:-2px}.shiny-chat-tool-call-row--framed{margin-inline-start:var(--_row-indent)}.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__summary{margin-left:0;width:100%}.shiny-chat-tool-group--framed>.shiny-chat-tool-call-row__detail,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__detail{padding-inline-start:0}.shiny-chat-tool-group--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen]),.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen]){margin:0;border:none;border-radius:0;box-shadow:none}.shiny-chat-tool-group--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-body,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-body{padding-inline-start:var(--bs-card-spacer-x, 1rem)}.shiny-chat-tool-group--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-footer,.shiny-chat-tool-call-row--framed>.shiny-chat-tool-call-row__detail>.shiny-tool-card:not([fullscreen])>.card-footer{padding:var(--bs-card-cap-padding-y, .5rem) var(--bs-card-cap-padding-x, 1rem);border-top:var(--bs-card-border-width, 1px) solid var(--bs-card-border-color)}.shiny-chat-tool-call-row--framed+.shiny-chat-tool-call-row--framed{margin-top:.5rem}@keyframes shiny-chat-tool-detail-reveal{0%{opacity:0}to{opacity:1}}.tool-title-label{font-weight:400;opacity:.85}.tool-status-note{font-size:.85em}.shiny-aside-group{display:inline-block;max-inline-size:calc(100% - .3em);margin-inline-start:.3em;vertical-align:.1em}.shiny-aside-group:has(.shiny-aside-pill--number){margin-inline-start:.1em}.shiny-aside-grounded[data-active]{background:rgba(var(--bs-primary-rgb, 13, 110, 253),.12);border-radius:.12em;text-decoration-line:underline;text-decoration-color:rgba(var(--bs-primary-rgb, 13, 110, 253),.7);text-decoration-thickness:.1em;text-underline-offset:.14em}.shiny-aside-pill{--_aside-marker-color: var(--shiny-chat-aside-marker-color, inherit);--_aside-marker-hover-color: var( --shiny-chat-aside-marker-hover-color, var(--_aside-marker-color) );--_aside-marker-bg: var( --shiny-chat-aside-marker-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), .06) );--_aside-marker-hover-bg: var( --shiny-chat-aside-marker-hover-bg, rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), .12) );--_aside-marker-font-family: var( --shiny-chat-aside-marker-font-family, inherit );display:inline-flex;align-items:center;gap:.3em;border:none;border-radius:999px;background:var(--_aside-marker-bg);color:var(--_aside-marker-color);font-family:var(--_aside-marker-font-family);font-size:.72em;font-weight:600;line-height:1;padding:.25em .6em;cursor:pointer;vertical-align:middle;min-height:1.6em;max-inline-size:min(18em,100%)}.shiny-aside-pill:has(img){padding-inline-start:.35em}.shiny-aside-pill.shiny-aside-pill--count{padding-inline:.5em;min-width:1.4em;justify-content:center}.shiny-aside-pill.shiny-aside-pill--number{position:relative;min-inline-size:0;min-height:0;padding:0;border-radius:0;background:transparent;white-space:nowrap}.shiny-aside-pill.shiny-aside-pill--number:before{position:absolute;inset-block-start:50%;inset-inline-start:50%;inline-size:1.5rem;block-size:1.5rem;border-radius:.25rem;content:"";transform:translate(-50%,-50%)}.shiny-aside-pill.shiny-aside-pill--number .shiny-aside-pill__count{padding:.12em .28em;border-radius:.25rem;background:var(--_aside-marker-bg);transform:translateY(-.25em)}.shiny-aside-pill.shiny-aside-pill--number:hover,.shiny-aside-pill.shiny-aside-pill--number:focus-visible,.shiny-aside-pill.shiny-aside-pill--number[aria-expanded=true]{background:transparent}.shiny-aside-pill.shiny-aside-pill--number:hover .shiny-aside-pill__count,.shiny-aside-pill.shiny-aside-pill--number:focus-visible .shiny-aside-pill__count,.shiny-aside-pill.shiny-aside-pill--number[aria-expanded=true] .shiny-aside-pill__count{background:var(--_aside-marker-hover-bg)}.shiny-aside-pill img{flex:0 0 auto;width:1.1em;height:1.1em;border-radius:50%}.shiny-aside-pill .shiny-aside-pill__overflow{flex:0 0 auto;opacity:.65}.shiny-aside-pill .shiny-aside-pill__label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-aside-pill:hover,.shiny-aside-pill:focus-visible,.shiny-aside-pill[aria-expanded=true]{background:var(--_aside-marker-hover-bg);color:var(--_aside-marker-hover-color)}[data-floating-ui-portal]:has(>.shiny-floating-overlay){position:fixed}.shiny-aside-popover{display:flex;flex-direction:column;z-index:1040;box-sizing:border-box;width:min(22em,100vw - 1rem);max-height:min(32rem,100vh - 1rem);overflow:hidden;overflow-wrap:anywhere;word-break:break-word;background:var(--bs-body-bg, #fff);color:var(--bs-body-color, inherit);border:1px solid rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.12);border-radius:.6em;box-shadow:0 .4em 1.2em #0000001f;padding:.7em .8em;font-size:.8em;font-weight:400;text-align:start;white-space:normal}.shiny-aside-popover .shiny-aside-popover__nav{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;opacity:.65;margin-bottom:.5em}.shiny-aside-popover .shiny-aside-popover__nav .shiny-aside-popover__nav-arrows{display:flex;align-items:center;gap:.6em;margin-left:-.55em}.shiny-aside-popover .shiny-aside-popover__nav .shiny-aside-popover__count{font-size:.75em}.shiny-aside-popover .shiny-aside-popover__nav button{display:flex;align-items:center;justify-content:center;background:none;border:none;color:inherit;cursor:pointer;border-radius:.4em;min-width:24px;min-height:24px;padding:.4em .55em;margin:-.4em 0}.shiny-aside-popover .shiny-aside-popover__nav button:hover{background:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.08)}.shiny-aside-popover .shiny-aside-popover__label{flex:0 0 auto;display:flex;align-items:center;gap:.4em;font-weight:600;margin-bottom:.4em;min-width:0;overflow-wrap:anywhere;word-break:break-word}.shiny-aside-popover .shiny-aside-popover__label img{flex:0 0 auto;width:1.1em;height:1.1em;border-radius:50%}.shiny-aside-popover .shiny-aside-popover__label-text{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.shiny-aside-popover .shiny-aside-popover__body{min-height:0;overflow:auto}.shiny-aside-popover .shiny-aside-popover__body p:last-child{margin-bottom:0}.shiny-web-activity{--_chevron-size: 12px;--_header-gap: .35em;--_chevron-center: calc(var(--_chevron-size) / 2);--_rail-indent: calc(var(--_chevron-size) + var(--_header-gap));--_dot-size: .5em;--_dot-center: .7em;--_node-gap: .7em;margin:.5em 0;font-size:.9em}.shiny-web-activity .shiny-web-activity__header{display:inline-flex;align-items:center;gap:var(--_header-gap);background:none;border:none;padding:.15em 0;cursor:pointer;color:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.6);font:inherit}.shiny-web-activity .shiny-web-activity__header:hover,.shiny-web-activity .shiny-web-activity__header:focus-visible{color:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.85);outline:none}.shiny-web-activity .shiny-web-activity__chevron{display:block;flex:none;transition:transform .2s ease}.shiny-web-activity .shiny-web-activity__chevron[data-expanded]{transform:rotate(90deg)}.shiny-web-activity .shiny-web-activity__timeline{position:relative;margin:.3em 0 .2em;padding-left:var(--_rail-indent)}.shiny-web-activity .shiny-web-activity__node{position:relative;margin-bottom:var(--_node-gap)}.shiny-web-activity .shiny-web-activity__node:before{content:"";position:absolute;left:calc(var(--_chevron-center) - var(--_rail-indent) - var(--_dot-size) / 2);top:calc(var(--_dot-center) - var(--_dot-size) / 2);width:var(--_dot-size);height:var(--_dot-size);border-radius:50%;background:var(--bs-body-bg, #fff);box-shadow:0 0 0 1px rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.3)}.shiny-web-activity .shiny-web-activity__node:after{content:"";position:absolute;left:calc(var(--_chevron-center) - var(--_rail-indent) - .5px);top:var(--_dot-center);width:1px;background:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.15)}.shiny-web-activity .shiny-web-activity__node:not(:last-child):after{height:calc(100% + var(--_node-gap))}.shiny-web-activity .shiny-web-activity__node:last-child:after{content:none}.shiny-web-activity .shiny-web-activity__node:last-child:has(.shiny-web-activity__results):after{content:"";bottom:0}.shiny-web-activity .shiny-web-activity__qrow{display:flex;align-items:baseline;gap:.6em}.shiny-web-activity .shiny-web-activity__query{flex:1;font-weight:500}.shiny-web-activity .shiny-web-activity__count{white-space:nowrap;opacity:.6;font-size:.9em}.shiny-web-activity .shiny-web-activity__results{margin-top:.4em;border:1px solid rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.12);border-radius:var(--bs-border-radius, .5rem);max-height:11em;overflow:auto}.shiny-web-activity .shiny-web-activity__result{display:flex;align-items:center;gap:.6em;padding:.4em .6em;color:inherit;text-decoration:none;border-radius:var(--bs-border-radius, .4rem)}.shiny-web-activity .shiny-web-activity__result:hover{background:rgba(var(--bs-emphasis-color-rgb, 0, 0, 0),.05)}.shiny-web-activity .shiny-web-activity__fav{width:1.1em;height:1.1em;border-radius:3px;flex:none}.shiny-web-activity .shiny-web-activity__title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shiny-web-activity .shiny-web-activity__domain{white-space:nowrap;opacity:.55;font-size:.9em}.shiny-web-activity .shiny-web-activity__fetch{display:flex;align-items:center;gap:.4em}.shiny-web-activity .shiny-web-activity__fetch .shiny-web-activity__fetch-label{opacity:.6}.shiny-web-activity .shiny-web-activity__fetch a{word-break:break-all}.shiny-web-activity .shiny-web-activity__status--error{color:var(--bs-danger, #dc3545)}.shiny-web-activity .shiny-web-activity__status--ok{color:var(--bs-success, #2a9d4a)}.shiny-sources{display:inline-block;margin-top:.5rem}.shiny-sources-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--bs-border-color, #d5d7db);border-radius:999px;padding:.25rem .75rem .25rem .5rem;background:var(--bs-tertiary-bg, #f6f7f9);color:inherit;font-size:.8125rem;cursor:pointer}.shiny-sources-pill__stack{display:inline-flex}.shiny-sources-pill__stack .shiny-sources-favicon{margin-left:-.4375rem;border:2px solid var(--bs-tertiary-bg, #f6f7f9);border-radius:50%}.shiny-sources-pill__stack .shiny-sources-favicon:first-child{margin-left:0}.shiny-sources-favicon{width:1rem;height:1rem;border-radius:.25rem;flex:0 0 auto}.shiny-sources-favicon--blank{background:var(--bs-secondary-bg, #e3e3e6)}.shiny-sources-popover{width:21rem;max-height:18rem;overflow-y:auto;background:var(--bs-body-bg, #fff);border:1px solid var(--bs-border-color, #d5d7db);border-radius:.75rem;box-shadow:0 8px 28px #00000024;padding:.375rem 0;z-index:1040}.shiny-sources-popover__title{font-size:.75rem;font-weight:700;padding:.5rem .875rem .375rem}.shiny-sources-list{list-style:none;margin:0;padding:0}.shiny-sources-item__link{display:flex;gap:.625rem;padding:.5625rem .875rem;text-decoration:none;color:inherit}.shiny-sources-item__link:hover{background:var(--bs-tertiary-bg, #f6f7f9)}.shiny-sources-item__link .shiny-sources-favicon{margin-top:.125rem}.shiny-sources-item__text{display:flex;flex-direction:column;min-width:0}.shiny-sources-item__site{font-size:.71875rem;color:var(--bs-secondary-color, #8a8a8e)}.shiny-sources-item__title{font-size:.8125rem;font-weight:600;line-height:1.35}shiny-chat-container .shiny-chat-suggestion-list{--_card-min-width: var(--shiny-chat-suggestion-card-min-width, 175px);--_card-reveal-stagger: var( --shiny-chat-suggestion-card-reveal-stagger, .1s );list-style:none;padding:0;margin-block:.5rem;font-size:.875rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--_card-min-width),100%),1fr));gap:.75rem}shiny-chat-container .shiny-chat-suggestion-list[data-pending]{display:flex;align-items:center;color:var(--bs-secondary-color, #6c757d);font-style:italic;animation:shiny-chat-suggestion-pending-pulse 1.75s ease-in-out infinite;animation-delay:.25s;gap:.25em}shiny-chat-container .shiny-chat-suggestion-list[data-pending]>li{display:none}shiny-chat-container .shiny-chat-suggestion-list[data-pending]:before{content:"Generating suggestions\2026"}shiny-chat-container .shiny-chat-suggestion-list[data-pending]>.markdown-stream-dot{margin-left:0!important;fill:currentColor}shiny-chat-container .shiny-chat-suggestion-list:has(>li:only-child){grid-template-columns:minmax(0,360px)}shiny-chat-container .shiny-chat-suggestion-list>li{display:contents}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item{display:block;position:relative;padding:.75rem 2rem .75rem 1rem;border:var(--_border);border-radius:var(--shiny-chat-suggestion-card-border-radius, 8px);background-color:var(--bs-body-bg, #fff);cursor:pointer;color:inherit;text-decoration:none;transition:border-color .15s ease,background-color .15s ease,transform .12s ease-out,box-shadow .15s ease;animation:shiny-chat-suggestion-card-reveal .3s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--_card-reveal-stagger) * var(--_card-index, 0))}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:after{content:"\2192";position:absolute;right:.75rem;bottom:.6rem;font-size:.95em;line-height:1;opacity:.35;color:var(--bs-primary, #007bc2);transition:opacity .15s ease-out,transform .18s cubic-bezier(.22,1,.36,1);transform:translate(0);pointer-events:none}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:hover{border-color:rgba(var(--bs-link-color-rgb, 0, 123, 194),.5);background-color:var(--bs-tertiary-bg, #f8f9fa);transform:translateY(-1px);box-shadow:0 4px 12px -6px color-mix(in oklch,var(--bs-primary, #007bc2) 35%,transparent)}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:hover:after{opacity:1;transform:translate(2px)}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:active{transform:translateY(1px)}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:focus-visible:after{opacity:1;transform:translate(2px)}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item[data-last-clicked]{border-color:var(--bs-primary, #007bc2);background-color:color-mix(in oklch,var(--bs-body-bg, #fff) 92%,var(--bs-primary, #007bc2))}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item[data-last-clicked]:after{content:"\2713";opacity:1;transform:translate(2px)}shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item{counter-reset:card-number calc(var(--_card-index, 0) + 1)}shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:before{content:counter(card-number);position:absolute;top:.6rem;right:.85rem;font-size:.7em;font-weight:600;font-variant-numeric:tabular-nums;line-height:1;color:color-mix(in oklch,var(--bs-secondary-color, #6c757d) 70%,var(--bs-primary, #007bc2));opacity:.6;transition:opacity .15s ease-out,color .15s ease-out;pointer-events:none}shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:hover:before,shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:focus-visible:before{opacity:1}shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item[data-last-clicked]:before{opacity:1}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item-title{font-weight:600;margin-bottom:.25rem}shiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item-body{color:var(--bs-secondary-color, #6c757d)}@keyframes shiny-chat-suggestion-card-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes shiny-chat-suggestion-pending-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion: reduce){shiny-chat-container .shiny-chat-suggestion-list[data-pending],shiny-chat-container .shiny-chat-suggestion-list-item{animation:none}shiny-chat-container .shiny-chat-suggestion-list-item,shiny-chat-container .shiny-chat-suggestion-list-item:after{transform:none!important}}shiny-chat-container{--_greeting-max-width: var(--shiny-chat-greeting-max-width, 680px);--_greeting-color: var(--shiny-chat-greeting-color, var(--bs-secondary-color, #6c757d))}.shiny-chat-messages-wrapper:has(.shiny-chat-history-trigger) .shiny-chat-greeting{padding-inline-start:2.5rem}.shiny-chat-greeting{margin-inline:auto;width:100%;max-width:var(--_greeting-max-width);padding:1.5rem;color:var(--_greeting-color)}.shiny-chat-greeting.shiny-chat-greeting--enter{animation:shiny-chat-greeting-reveal .3s cubic-bezier(.22,1,.36,1) both}.shiny-chat-greeting h1,.shiny-chat-greeting h2,.shiny-chat-greeting h3,.shiny-chat-greeting h4,.shiny-chat-greeting h5,.shiny-chat-greeting h6{color:var(--bs-body-color)}.shiny-chat-greeting .shiny-chat-suggestion-list{max-width:var(--_greeting-max-width)}.shiny-chat-greeting[data-dismissing]{animation:shiny-chat-greeting-dismiss .2s ease-out both}.shiny-chat-messages:has(>.shiny-chat-messages-content:is(:empty,[data-greeting-dismissing]))>.shiny-chat-greeting{margin-block:auto}shiny-chat-page .shiny-chat-layout[data-greeting-overflow] .shiny-chat-messages>.shiny-chat-greeting{flex:0 0 auto;margin-block:0}.shiny-chat-messages-content:is(:empty,[data-greeting-dismissing]){padding-bottom:0}.shiny-chat-messages-content[data-greeting-dismissing]>*{display:none}shiny-chat-page .shiny-chat-layout[data-composer-centered] .shiny-chat-greeting{translate:0 var(--_greeting-offset, 0px)}shiny-chat-page .shiny-chat-layout[data-composer-motion-ready][data-composer-centered]:not([data-composer-resizing]) .shiny-chat-greeting{transition:translate .35s cubic-bezier(.16,1,.3,1)}@keyframes shiny-chat-greeting-reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shiny-chat-greeting-dismiss{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){shiny-chat-page .shiny-chat-layout[data-composer-motion-ready][data-composer-centered]:not([data-composer-resizing]) .shiny-chat-greeting{transition:none}.shiny-chat-greeting.shiny-chat-greeting--enter,.shiny-chat-greeting[data-dismissing]{animation:none}}.shiny-chat-restoring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:shiny-chat-restoring-fade-in .3s ease-out both}.shiny-chat-restoring>span{padding:.4rem 1rem;border-radius:2rem;font-size:.875rem;color:var(--_greeting-color);background:var(--bs-tertiary-bg, rgba(0, 0, 0, .04));border:1px solid var(--bs-border-color, rgba(0, 0, 0, .1))}@keyframes shiny-chat-restoring-fade-in{0%{opacity:0}to{opacity:1}}.shiny-chat-slash-palette{margin:0;padding:.25rem 0;list-style:none;background:var(--bs-body-bg, #fff);border:var(--_border);border-radius:8px;box-shadow:0 4px 12px #0000001a;max-height:15rem;overflow-y:auto;min-width:200px}.shiny-chat-slash-palette-item{display:flex;flex-direction:column;gap:.125rem;padding:.5rem .75rem;cursor:pointer}.shiny-chat-slash-palette-item.highlighted{background:RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0),.06)}.shiny-chat-slash-palette-name{font-weight:600;font-size:.9em}.shiny-chat-slash-palette-desc{font-size:.8em;color:var(--bs-secondary-color, #6c757d)}.shiny-chat-slash-palette-empty{padding:.5rem .75rem;font-size:.85em;color:var(--bs-secondary-color, #6c757d);font-style:italic}.command-chip{--_chip-color: var(--shiny-chat-command-chip-color, var(--bs-primary, #007bc2));display:inline;font-family:var(--bs-font-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:.9em;color:light-dark(color-mix(in srgb,var(--_chip-color) 75%,black),color-mix(in srgb,var(--_chip-color) 75%,white));background:var(--shiny-chat-command-chip-bg, light-dark(color-mix(in srgb, var(--_chip-color) 10%, white), color-mix(in srgb, var(--_chip-color) 15%, black)));border:var(--shiny-chat-command-chip-border, 1px solid var(--shiny-chat-command-chip-border-color, light-dark(color-mix(in srgb, var(--_chip-color) 20%, white), color-mix(in srgb, var(--_chip-color) 25%, black))));border-radius:4px;padding:.1em .35em;white-space:nowrap;line-height:1.4}.shiny-chat-history-trigger{--_history-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));--_history-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));--_history-border-color: var( --shiny-chat-history-border-color, var(--bs-border-color, #dee2e6) );position:absolute;top:.5rem;inset-inline-start:calc(.5rem + var(--_history-trigger-shift, 0px));z-index:5;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:var(--bs-border-width, 1px) solid var(--_history-border-color);border-radius:50%;background-color:var(--_history-bg);color:var(--bs-secondary-color, #6c757d);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;line-height:1}.shiny-chat-history-trigger:hover,.shiny-chat-history-trigger[aria-expanded=true]{color:var(--_history-accent);border-color:color-mix(in srgb,var(--_history-accent) 40%,var(--_history-border-color));background-color:light-dark(color-mix(in srgb,var(--_history-accent) 6%,var(--_history-bg)),color-mix(in srgb,var(--_history-accent) 14%,var(--_history-bg)))}.shiny-chat-history-trigger:focus-visible{outline:2px solid var(--_history-accent);outline-offset:2px}.shiny-chat-history-trigger svg{display:block}.shiny-chat-history{--_history-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));--_history-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));--_history-border-color: var( --shiny-chat-history-border-color, var(--bs-border-color, #dee2e6) );--_history-muted: var(--bs-secondary-color, #6c757d);--_history-fg: var(--bs-body-color, #212529);--_history-danger: var(--bs-danger, #dc3545);--_history-item-hover-bg: var( --shiny-chat-history-item-hover-bg, light-dark( color-mix(in srgb, var(--_history-accent) 7%, transparent), color-mix(in srgb, var(--_history-accent) 14%, transparent) ) );--_history-item-active-bg: var( --shiny-chat-history-item-active-bg, light-dark( color-mix(in srgb, var(--_history-accent) 13%, transparent), color-mix(in srgb, var(--_history-accent) 24%, transparent) ) );position:absolute;inset:0;z-index:6}.shiny-chat-history:focus{outline:none}.shiny-chat-history-scrim{position:absolute;inset:0;background:var(--shiny-chat-history-scrim, rgba(0, 0, 0, .25));animation:shiny-chat-history-scrim-in .2s ease forwards}.shiny-chat-history[data-closing] .shiny-chat-history-scrim{animation:shiny-chat-history-scrim-out .2s ease forwards}.shiny-chat-history-drawer{position:absolute;inset-block:0;inset-inline-start:0;width:min(20rem,85%);display:flex;flex-direction:column;overflow:hidden;background:var(--_history-bg);color:var(--_history-fg);border-inline-end:var(--bs-border-width, 1px) solid var(--_history-border-color);box-shadow:0 0 1.25rem #0000001f;animation:shiny-chat-history-drawer-in .2s ease forwards}.shiny-chat-history[data-closing] .shiny-chat-history-drawer{animation:shiny-chat-history-drawer-out .2s ease forwards}.shiny-chat-history-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .75rem .5rem}.shiny-chat-history-title{margin:0;font-size:.9375rem;font-weight:600;line-height:1.2;color:var(--_history-fg)}.shiny-chat-history-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:.375rem;background:none;color:var(--_history-muted);cursor:pointer;transition:background-color .15s ease,color .15s ease}.shiny-chat-history-close:hover{background:var(--_history-item-hover-bg);color:var(--_history-fg)}.shiny-chat-history-close:focus-visible{outline:2px solid var(--_history-accent);outline-offset:2px}.shiny-chat-history-close svg{display:block}.shiny-chat-history-toprow{flex-shrink:0;display:flex;align-items:stretch;gap:.375rem;padding:0 .75rem .5rem}.shiny-chat-history-new{--_history-new-focus: var( --shiny-chat-history-accent, var(--bs-primary-text-emphasis, var(--_history-accent)) );flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;white-space:nowrap;padding:.375rem .75rem;font-size:.875rem;font-weight:500;line-height:1.5;border-radius:var(--bs-border-radius, .375rem);border:var(--bs-border-width, 1px) solid var(--_history-border-color);background:var(--bs-body-bg, #fff);color:var(--_history-fg);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.shiny-chat-history-new svg{display:block}.shiny-chat-history-new:hover:not(:disabled){color:var(--_history-new-focus);background:var(--_history-item-hover-bg)}.shiny-chat-history-new:focus-visible{outline:2px solid var(--_history-new-focus);outline-offset:2px}.shiny-chat-history-new:disabled{opacity:.55;cursor:not-allowed}.shiny-chat-history-search-wrap{flex:1;min-width:0;position:relative;display:flex;align-items:stretch}.shiny-chat-history-search-icon{position:absolute;inset-inline-start:.5rem;inset-block:0;display:flex;align-items:center;color:var(--_history-muted);pointer-events:none}.shiny-chat-history-search-icon svg{display:block}.shiny-chat-history-search{flex:1;min-width:0;padding-inline-start:1.75rem;font-size:.875rem}.shiny-chat-history-search.form-control{border-color:var(--_history-border-color)}.shiny-chat-history-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;padding:0 .5rem .5rem}.shiny-chat-history-section{position:sticky;top:0;z-index:1;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--_history-muted);background:var(--_history-bg);padding:.5rem .5rem .25rem}.shiny-chat-history-section:first-child{padding-top:.25rem}.shiny-chat-history-item{position:relative;display:flex;align-items:center;gap:.375rem;padding:.3125rem .5rem;border-radius:.375rem;color:var(--_history-fg)}.shiny-chat-history-item:hover{background:var(--_history-item-hover-bg)}.shiny-chat-history-item:has(>.shiny-chat-history-item-select:focus-visible){outline:2px solid var(--_history-accent);outline-offset:-2px}.shiny-chat-history-item.active{background:var(--_history-item-active-bg)}.shiny-chat-history-item.active .shiny-chat-history-item-title{font-weight:600}.shiny-chat-history-item:has(>.shiny-chat-history-confirm){background:color-mix(in srgb,var(--_history-danger) 9%,transparent)}.shiny-chat-history-item-select{flex:1;min-width:0;display:flex;align-items:baseline;gap:.5rem;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:start;cursor:pointer}.shiny-chat-history-item-select:focus-visible{outline:none}.shiny-chat-history-item-select:disabled{cursor:not-allowed}.shiny-chat-history-item-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;line-height:1.3}.shiny-chat-history-item-time{flex-shrink:0;font-size:.6875rem;color:var(--_history-muted);font-variant-numeric:tabular-nums}.shiny-chat-history-rename-input{flex:1;min-width:0;font-size:.875rem}.shiny-chat-history-itemmenu{flex-shrink:0;position:relative;opacity:0;transition:opacity .12s ease}.shiny-chat-history-itemmenu>button{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;cursor:pointer;padding:0;color:var(--_history-muted);border-radius:.25rem;line-height:1}.shiny-chat-history-itemmenu>button svg{display:block}.shiny-chat-history-itemmenu>button:hover{background:color-mix(in srgb,var(--_history-accent) 12%,transparent);color:var(--_history-fg)}.shiny-chat-history-itemmenu>button:focus-visible{outline:2px solid var(--_history-accent);outline-offset:1px}.shiny-chat-history-item:hover .shiny-chat-history-itemmenu,.shiny-chat-history-item.active .shiny-chat-history-itemmenu,.shiny-chat-history-itemmenu:focus-within,.shiny-chat-history-itemmenu[data-menu-open]{opacity:1}@media (hover: none){.shiny-chat-history-itemmenu{opacity:1}}.shiny-chat-history-menu{z-index:var(--bs-popover-zindex, 1070);min-width:8rem;display:flex;flex-direction:column;padding:.25rem;background:var(--_history-bg);border:var(--bs-border-width, 1px) solid var(--_history-border-color);border-radius:.5rem;box-shadow:0 6px 16px #00000024}.shiny-chat-history-menu>button{display:flex;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;padding:.375rem .5rem;border-radius:.375rem;text-align:start;font-size:.8125rem;color:var(--_history-fg)}.shiny-chat-history-menu>button svg{flex-shrink:0;display:block}.shiny-chat-history-menu>button:hover{background:var(--_history-item-hover-bg)}.shiny-chat-history-menu>button:focus-visible{outline:2px solid var(--_history-accent);outline-offset:-2px}.shiny-chat-history-menu>button:disabled{cursor:not-allowed;opacity:.5}.shiny-chat-history-menu-danger{color:var(--_history-danger)}.shiny-chat-history-menu-danger:hover{background:color-mix(in srgb,var(--_history-danger) 10%,transparent)}.shiny-chat-history-confirm{display:flex;align-items:center;gap:.25rem;flex-shrink:0;font-size:.75rem;color:var(--_history-danger)}.shiny-chat-history-confirm>button{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:none;border:none;cursor:pointer;padding:0;border-radius:.25rem;color:var(--_history-muted);line-height:1}.shiny-chat-history-confirm>button svg{display:block}.shiny-chat-history-confirm>button:focus-visible{outline:2px solid var(--_history-accent);outline-offset:1px}.shiny-chat-history-confirm-yes{color:var(--_history-danger)}.shiny-chat-history-confirm-yes:hover{background:color-mix(in srgb,var(--_history-danger) 12%,transparent)}.shiny-chat-history-confirm-no:hover{background:var(--_history-item-hover-bg);color:var(--_history-fg)}.shiny-chat-history-empty{text-align:center;color:var(--_history-muted);padding-block:1.5rem;padding-inline:1rem;font-size:.8125rem;line-height:1.4}@keyframes shiny-chat-history-drawer-in{0%{transform:translate(var(--_drawer-x, -100%))}to{transform:translate(0)}}@keyframes shiny-chat-history-drawer-out{0%{transform:translate(0)}to{transform:translate(var(--_drawer-x, -100%))}}@keyframes shiny-chat-history-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes shiny-chat-history-scrim-out{0%{opacity:1}to{opacity:0}}shiny-chat-container[data-history-placement=right] .shiny-chat-history-trigger{inset-inline-start:auto;inset-inline-end:calc(.5rem + var(--_history-trigger-shift, 0px))}shiny-chat-container[data-history-placement=right] .shiny-chat-history-drawer{inset-inline-start:auto;inset-inline-end:0;--_drawer-x: 100%;border-inline-end:none;border-inline-start:var(--bs-border-width, 1px) solid var(--_history-border-color)}.bslib-sidebar-layout.sidebar-collapsed:not(.sidebar-right):has(shiny-chat-container:not([data-history-placement=right]) .shiny-chat-history)>.collapse-toggle,.bslib-sidebar-layout.sidebar-collapsed.sidebar-right:has(shiny-chat-container[data-history-placement=right] .shiny-chat-history)>.collapse-toggle{display:none}.shiny-chat-history.shiny-chat-history-inline{--_history-inline-bg: var(--_history-bg);position:static;inset:auto;z-index:auto;display:block;min-width:0;overflow:visible;border:0;border-radius:0;background:var(--shiny-chat-history-bg, transparent);color:var(--_history-fg);box-shadow:none}.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-toprow,.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-list{padding-inline:0}.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-list{max-block-size:min(32rem,60vh)}.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-section{background:var(--_history-inline-bg)}shiny-chat-history{display:block;min-width:0}@property --_drawer-layout-width{syntax: ""; inherits: true; initial-value: 0px;}@property --_drawer-layout-gap{syntax: ""; inherits: true; initial-value: 0px;}.shiny-chat-layout{--_drawer-layout-width: 0px;--_drawer-layout-gap: 0px;min-width:0;min-height:0;width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--_drawer-layout-width));grid-template-rows:minmax(0,1fr) auto;column-gap:var(--_drawer-layout-gap);transition:--_drawer-layout-width .18s cubic-bezier(.16,1,.3,1),--_drawer-layout-gap .18s cubic-bezier(.16,1,.3,1)}.shiny-chat-drawer-trigger{--_drawer-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));--_drawer-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));--_drawer-border-color: var(--shiny-chat-history-border-color, var(--bs-border-color, #dee2e6));position:absolute;top:.5rem;inset-inline-end:.5rem;z-index:5;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:var(--bs-border-width, 1px) solid var(--_drawer-border-color);border-radius:50%;background-color:var(--_drawer-bg);color:var(--bs-secondary-color, #6c757d);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;line-height:1}.shiny-chat-drawer-trigger:hover{color:var(--_drawer-accent);border-color:color-mix(in srgb,var(--_drawer-accent) 40%,var(--_drawer-border-color));background-color:light-dark(color-mix(in srgb,var(--_drawer-accent) 6%,var(--_drawer-bg)),color-mix(in srgb,var(--_drawer-accent) 14%,var(--_drawer-bg)))}.shiny-chat-drawer-trigger:focus-visible{outline:2px solid var(--_drawer-accent);outline-offset:2px}.shiny-chat-drawer-trigger svg{display:block}shiny-chat-container[data-history-placement=right] .shiny-chat-drawer-trigger{top:3rem}.shiny-chat-layout[data-drawer-open]{--_drawer-layout-width: var(--_drawer-width, 400px);--_drawer-layout-gap: clamp(.75rem, 1.5cqi, 1.5rem);align-items:stretch}.shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper{box-sizing:border-box;width:100%;justify-self:center}.shiny-chat-layout>.shiny-chat-wrapper{grid-column:1;grid-row:1}.shiny-chat-layout>.shiny-chat-footer{grid-column:1;grid-row:2}.shiny-chat-drawer-width-probe{position:absolute;visibility:hidden;pointer-events:none;contain:layout style;height:0;overflow:hidden}.shiny-chat-layout[data-drawer-takeover]{position:relative;z-index:7}.shiny-chat-drawer{grid-column:2;grid-row:1/-1;position:relative;min-width:0;min-height:0;width:100%;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:visible;border:0;border-inline-start:var(--_border);background:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);box-shadow:-2px 0 8px #2125290f;opacity:1;transform:translate(0);transition:opacity .14s ease-out,transform .18s cubic-bezier(.16,1,.3,1)}.shiny-chat-drawer[data-motion=opening],.shiny-chat-drawer[data-motion=closing]{opacity:0;pointer-events:none;transform:translate(.75rem)}.shiny-chat-layout:is([data-drawer-resizing],[data-drawer-takeover]){transition:none}.shiny-chat-layout[data-drawer-resizing] .shiny-chat-drawer{transition:none}@container shiny-chat (min-width: 640px){.shiny-chat-layout .shiny-chat-wrapper{justify-self:center}}.shiny-chat-drawer-header{min-width:0;min-height:2.75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .625rem .5rem 1rem;border-bottom:var(--_border)}.shiny-chat-drawer-header h2{min-width:0;margin:0;overflow:hidden;font-size:1rem;font-weight:600;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-drawer-close{width:2rem;height:2rem;flex:0 0 auto;display:inline-grid;place-items:center;border:0;border-radius:4px;background:transparent;color:var(--bs-secondary-color, #6c757d);cursor:pointer}.shiny-chat-drawer-close:hover{background:var(--bs-tertiary-bg, #f2f4f5);color:var(--bs-body-color, #212529)}.shiny-chat-drawer-close:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.shiny-chat-drawer-content{min-width:0;min-height:0;overflow:auto;padding:1rem}.shiny-chat-drawer-generation{display:contents}.shiny-chat-drawer-resizer{inset-inline-start:0}@container shiny-chat (max-width: 639.99px){.shiny-chat-layout[data-drawer-open]{display:block;column-gap:0}.shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper,.shiny-chat-layout[data-drawer-open] .shiny-chat-footer{display:none}.shiny-chat-layout[data-drawer-open] .shiny-chat-drawer{width:100%;min-height:100%;border-inline:0;box-shadow:none}}@media (prefers-reduced-motion: reduce){.shiny-chat-layout,.shiny-chat-drawer,.shiny-chat-layout .shiny-chat-wrapper{transition:none}}shiny-chat-container{--_border: var(--shiny-chat-border, var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef));--_user-message-bg: var(--shiny-chat-user-message-bg, RGBA(var(--bs-primary-rgb, 0, 123, 194), .06));--_chat-container-padding: var(--shiny-chat-fill-padding, .25rem);--_attachment-size: var(--shiny-chat-attachment-size, 4.5rem);--_activity-opacity: var(--shiny-chat-activity-opacity, .7);--_activity-opacity-muted: .66;position:relative;width:100%;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;container-type:inline-size;container-name:shiny-chat;min-height:var(--_min-height)}shiny-chat-container p:last-child{margin-bottom:0}shiny-chat-container .suggestion,shiny-chat-container [data-suggestion]{cursor:pointer}shiny-chat-container .suggestion{color:var(--bs-link-color, #007bc2);text-decoration-color:var(--bs-link-color, #007bc2);text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:2px;text-underline-offset:4px;padding-inline:2px}shiny-chat-container .suggestion:hover{text-decoration-style:solid}shiny-chat-container .suggestion:after{content:"\2726";display:inline-block;margin-inline-start:.15em}shiny-chat-container .suggestion.submit:after,shiny-chat-container .suggestion[data-suggestion-submit=""]:after,shiny-chat-container .suggestion[data-suggestion-submit=true]:after{content:"\21b5"}shiny-chat-container .card[data-suggestion]:hover{color:var(--bs-link-color, #007bc2);border-color:rgba(var(--bs-link-color-rgb),.5)}:where(shiny-chat-container:has(>.shiny-chat-history-trigger)){--_min-height: 400px}@media (prefers-contrast: more),(prefers-reduced-transparency: reduce),(forced-colors: active){shiny-chat-container{--_activity-opacity: 1;--_activity-opacity-muted: 1}}.shiny-chat-wrapper{min-width:0;min-height:0;width:100%;max-width:var(--_chat-width, min(680px, 100%));margin-inline:auto;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:0;padding:var(--_chat-container-padding);padding-bottom:0}.shiny-chat-composer{--_chat-composer-input-padding-bottom: var( --shiny-chat-input-padding-bottom, var(--_chat-container-padding, .25rem) );grid-row:2;min-width:0;position:sticky;bottom:calc(-1 * var(--_chat-composer-input-padding-bottom));translate:0 var(--_composer-offset, 0px)}.shiny-chat-layout:has(>.shiny-chat-footer) .shiny-chat-composer{--_chat-composer-input-padding-bottom: 0px}.shiny-chat-input-toolbar{margin-top:calc(-1 * var(--_chat-composer-input-padding-bottom));padding:.25rem 0 var(--_chat-composer-input-padding-bottom)}.shiny-chat-layout[data-composer-motion-ready]:not([data-composer-resizing]) .shiny-chat-composer{transition:translate .35s cubic-bezier(.16,1,.3,1)}shiny-chat-page .shiny-chat-layout[data-composer-revealing] .shiny-chat-composer{animation:shiny-chat-composer-reveal .3s cubic-bezier(.22,1,.36,1) both}@keyframes shiny-chat-composer-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){shiny-chat-page .shiny-chat-layout[data-composer-motion-ready]:not([data-composer-resizing]) .shiny-chat-composer{transition:none}shiny-chat-page .shiny-chat-layout[data-composer-revealing] .shiny-chat-composer{animation:none}}.shiny-chat-messages-wrapper{position:relative;min-height:0;min-width:0;overflow:clip;display:flex;flex-direction:column}:where(shiny-chat-container[data-inline-controls]){--_chat-inline-controls-inset: 3rem}:where(shiny-chat-container[data-history-placement=right][data-inline-controls~=drawer]){--_chat-inline-controls-inset: 5.5rem}shiny-chat-container:not([fill]) .shiny-chat-messages-wrapper{min-height:15rem}shiny-chat-container:not([fill]) .shiny-chat-history{position:fixed}.shiny-chat-messages{flex:1 1 auto;min-height:0;overflow:auto;padding-block-start:var(--_chat-inline-controls-inset, 0px);display:flex;flex-direction:column;--_scroll-margin: 1rem;padding-right:var(--_scroll-margin);margin-right:calc(-1 * var(--_scroll-margin))}.shiny-chat-messages-content{--_messages-padding-bottom: var(--shiny-chat-messages-padding-bottom, 4rem);display:flex;flex-direction:column;gap:2rem;padding-bottom:var(--_messages-padding-bottom)}.shiny-chat-message{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem}.shiny-chat-message>*{height:fit-content}.shiny-chat-message .message-icon{border-radius:50%;border:var(--_border);height:2rem;width:2rem;display:grid;place-items:center;overflow:clip}.shiny-chat-message .message-icon>*{height:100%;width:100%;max-width:100%;max-height:100%;margin:0!important;object-fit:contain}.shiny-chat-message .message-icon>svg,.shiny-chat-message .message-icon>.icon,.shiny-chat-message .message-icon>.fa,.shiny-chat-message .message-icon>.bi{max-height:66%;max-width:66%}.shiny-chat-message .message-icon:has(>.border-0){border:none;border-radius:unset;overflow:unset}.shiny-chat-message .shiny-chat-message-content{align-self:center;padding-right:1px;position:relative}.shiny-chat-message .shiny-chat-message-content[data-pending]{min-height:1.5em}.shiny-chat-message:not(:has(>.message-icon)){grid-template-columns:minmax(0,1fr);gap:0}.shiny-chat-pending-indicator{position:absolute;top:0;left:0;display:inline-flex;align-items:center;height:1.5em;padding-left:.4rem;opacity:0;pointer-events:none;animation:shiny-chat-pending-indicator-appear .2s ease forwards}.shiny-chat-pending-indicator>svg{width:1.35em;height:auto}.shiny-chat-pending-indicator[data-exiting]{animation:shiny-chat-pending-indicator-exit .2s ease forwards}@keyframes shiny-chat-pending-indicator-appear{to{opacity:1}}@keyframes shiny-chat-pending-indicator-exit{to{opacity:0}}.shiny-chat-message-body[data-entering]{animation:shiny-chat-content-enter .2s ease}@keyframes shiny-chat-content-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.shiny-chat-pending-indicator{animation:shiny-chat-pending-indicator-appear 0s ease forwards}.shiny-chat-pending-indicator[data-exiting]{animation:shiny-chat-pending-indicator-exit 0s ease forwards}.shiny-chat-message-body[data-entering]{animation:none}}.shiny-chat-message-content>.shiny-chat-message-body>hr:first-child{display:none}.shiny-chat-message-cancelled{font-size:.8em;opacity:.5;font-style:italic}.shiny-chat-message-cancelled:not(:first-child){margin-top:.5em}.shiny-chat-message-error,.shiny-chat-block-error{color:var(--bs-danger, #dc3545);font-size:.875em;padding:.25rem 0}.shiny-chat-message-error pre,.shiny-chat-block-error pre{color:inherit;margin:0;white-space:pre-wrap}.shiny-chat-user-message{position:relative;align-self:flex-end;padding:var(--shiny-chat-user-message-padding, .75rem 1rem);border-radius:var(--shiny-chat-user-message-border-radius, 10px);background-color:var(--_user-message-bg);max-width:100%;grid-template-columns:auto;user-select:none;touch-action:pan-y}.shiny-chat-user-message .shiny-chat-message-content{user-select:text}.shiny-chat-user-message+.shiny-chat-message{margin-top:calc(-1 * var(--shiny-chat-user-assistant-gap-reduction, 0px))}.shiny-chat-message .content-type-text,.shiny-chat-user-message .content-type-text{white-space:pre;overflow-x:auto}.shiny-chat-btn-send{--_btn-send-state-color: var(--shiny-chat-btn-send-color-ready, var(--bs-primary, #007bc2));--_input-icon-size: var(--shiny-chat-input-icon-size, 24px);position:absolute;bottom:var(--_input-control-inset, 8px);right:var(--_input-control-inset, 8px);width:var(--shiny-chat-btn-send-size, 24px);height:var(--shiny-chat-btn-send-size, 24px);background-color:var(--shiny-chat-btn-send-bg, var(--_btn-send-state-color));color:var(--shiny-chat-btn-send-color, #fff);border:var(--shiny-chat-btn-send-border, none);transition:color .25s ease-in-out,background-color .25s ease-in-out;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.shiny-chat-btn-send svg{display:block!important;flex:none;width:var(--_input-icon-size)!important;height:var(--_input-icon-size)!important;margin:0!important}.shiny-chat-btn-send:hover:not(:disabled){color:var(--shiny-chat-btn-send-color-hover, var(--shiny-chat-btn-send-color, #fff));background-color:var(--shiny-chat-btn-send-bg-hover, color-mix(in srgb, var(--_btn-send-state-color) 92%, black));border-color:var(--shiny-chat-btn-send-border-color-hover, transparent)}.shiny-chat-btn-send:active:not(:disabled){color:var(--shiny-chat-btn-send-color-active, var(--shiny-chat-btn-send-color, #fff));background-color:var(--shiny-chat-btn-send-bg-active, color-mix(in srgb, var(--_btn-send-state-color) 85%, black))}.shiny-chat-btn-send:disabled{cursor:not-allowed;--_btn-send-state-color: var(--shiny-chat-btn-send-color-empty, var(--bs-gray-500, #8d959e))}.shiny-chat-btn-send[data-state=cancel],.shiny-chat-btn-send[data-state=cancelling]{--_btn-send-state-color: var(--shiny-chat-btn-send-color-cancel, var(--bs-danger, #dc3545))}.shiny-chat-btn-send[data-state=pending],.shiny-chat-btn-send[data-state=cancelling]{pointer-events:none;cursor:default}.shiny-chat-btn-send[data-state=pending] svg,.shiny-chat-btn-send[data-state=cancelling] svg{width:calc(var(--_input-icon-size) - 2px)!important;height:calc(var(--_input-icon-size) - 2px)!important;animation:shiny-chat-spin .75s linear infinite;transform-origin:center}.shiny-chat-btn-attach{--_input-icon-size: var(--shiny-chat-input-icon-size, 22px);position:absolute;bottom:var(--_input-control-inset, 8px);left:var(--_input-control-inset, 8px);z-index:1;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;background-color:transparent;color:var(--bs-gray-600, #707782);transition:color .25s ease-in-out;border:none;padding:0;cursor:pointer;border-radius:50%}.shiny-chat-btn-attach svg{display:block;width:var(--_input-icon-size);height:var(--_input-icon-size)}.shiny-chat-btn-attach:hover:not(:disabled){color:var(--bs-primary, #007bc2)}.shiny-chat-btn-attach:disabled{cursor:not-allowed;opacity:.5}.shiny-chat-input{--_input-padding-top: 0;--_input-padding-bottom: var(--_chat-composer-input-padding-bottom);--_input-control-inset: 8px;margin-top:calc(-1 * var(--_input-padding-top));position:sticky;bottom:calc(-1 * var(--_input-padding-bottom));padding-block:var(--_input-padding-top) var(--_input-padding-bottom)}.shiny-chat-input .tiptap{--bs-border-radius: 26px;padding-right:36px!important;max-height:175px;overflow-y:auto}.shiny-chat-input .tiptap.is-empty:before{content:attr(data-placeholder);color:var(--bs-gray-600, #707782);float:left;height:0;pointer-events:none}.shiny-chat-input:has(.shiny-chat-btn-attach) .tiptap{padding-left:36px!important}.shiny-chat-input:has(.shiny-chat-input-attachments){border:1px solid var(--bs-border-color, #ced4da);border-radius:20px}.shiny-chat-input:has(.shiny-chat-input-attachments) .tiptap{border-color:transparent!important;background:transparent!important;box-shadow:none!important}.shiny-chat-input:has(.shiny-chat-input-attachments):focus-within{border-color:var(--bs-primary, #007bc2)}.shiny-chat-input .shiny-chat-btn-send,.shiny-chat-input .shiny-chat-btn-attach{bottom:calc(var(--_input-control-inset) - 2px + var(--_input-padding-bottom))}@keyframes shiny-chat-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.shiny-chat-footer{--_footer-font-size: var(--shiny-chat-footer-font-size, .8125em);--_footer-color: var(--shiny-chat-footer-color, var(--bs-secondary-color, #6c757d));font-size:var(--_footer-font-size);color:var(--_footer-color);text-align:center;padding:.25rem var(--_chat-container-padding) var(--shiny-chat-input-padding-bottom, .25rem)}.shiny-busy:has(.shiny-chat-input.disabled):after{display:none}.shiny-chat-scroll-to-bottom{position:absolute;bottom:8px;left:50%;transform:translate(-50%);z-index:1;display:flex;align-items:center;justify-content:center;padding:8px;border:var(--_border);border-radius:50%;background-color:var(--bs-body-bg, #fff);color:var(--bs-body-color, #212529);cursor:pointer;box-shadow:0 2px 8px #0000001f;transition:background-color .15s ease,box-shadow .15s ease;line-height:1}.shiny-chat-scroll-to-bottom:hover{background-color:var(--bs-tertiary-bg, #f8f9fa);box-shadow:0 4px 12px #00000029}.shiny-chat-scroll-to-bottom:focus-visible{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.shiny-chat-scroll-to-bottom svg{display:block}.shiny-chat-scroll-to-bottom.streaming{--_streaming-gradient: var( --shiny-chat-streaming-color, var(--bs-indigo, #4b00c1), var(--bs-purple, #74149c), var(--bs-pink, #bf007f) );--_streaming-arc-length: 30%;--_streaming-arc-thickness: 1.5px}.shiny-chat-scroll-to-bottom.streaming:before{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(transparent,transparent calc(100% - var(--_streaming-arc-length)),var(--_streaming-gradient));animation:shiny-chat-spin 1.2s linear infinite;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--_streaming-arc-thickness) - .5px),#000 calc(100% - .5px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--_streaming-arc-thickness) - .5px),#000 calc(100% - .5px))}@keyframes shiny-chat-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.shiny-chat-scroll-to-bottom.streaming:before{animation:none}}.shiny-chat-external-link-dialog{padding:0;border:none;background:none;max-width:min(680px,90%)}.shiny-chat-external-link-dialog .modal{height:auto}.shiny-chat-external-link-dialog::backdrop{background-color:#00000080}.shiny-chat-external-link-dialog .link-url{word-break:break-all;font-weight:500}.shiny-chat-thinking{--_thinking-header-color: var(--shiny-chat-thinking-header-color, inherit);--_thinking-border-color: var(--shiny-chat-thinking-border-color, var(--bs-border-color, #dee2e6));--_thinking-content-color: var(--shiny-chat-thinking-content-color, var(--bs-secondary-color, #6c757d));--_row-pad: .4rem;--_row-glyph-width: .9em;font-size:.8em}.shiny-chat-thinking-header{display:flex;align-items:center;gap:.5rem;width:100%;min-height:2em;padding:.25rem var(--_row-pad);border-radius:6px;background:none;border:none;text-align:left;color:var(--_thinking-header-color);cursor:pointer;font:inherit;opacity:var(--_activity-opacity)}.shiny-chat-thinking-header:hover,.shiny-chat-thinking-header:focus-visible{background-color:rgba(var(--bs-emphasis-color-rgb),.05)}.shiny-chat-thinking-disclosure{margin-inline-start:auto}.shiny-chat-thinking-label{transition:opacity .2s ease;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-thinking-label[data-fading]{opacity:0}.shiny-chat-thinking-dot{margin-left:0;fill:currentColor;opacity:0;transform-origin:center;animation:shiny-chat-thinking-dot-appear .2s ease .5s forwards,shiny-chat-thinking-dot-pulse 1.75s infinite cubic-bezier(.18,.89,.32,1.28) .5s}@keyframes shiny-chat-thinking-dot-appear{to{opacity:.6}}@keyframes shiny-chat-thinking-dot-pulse{0%{transform:scale(1);opacity:.6}50%{transform:scale(.4);opacity:.3}to{transform:scale(1);opacity:.6}}.shiny-chat-thinking-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease;margin-left:calc(var(--_row-pad) + var(--_row-glyph-width) / 2 - 1px);border-left:2px solid var(--_thinking-border-color)}.shiny-chat-thinking-content[data-expanded]{grid-template-rows:1fr;max-height:33dvh}.shiny-chat-thinking-content-inner{overflow:hidden;padding-left:.75rem;padding-block:0;color:var(--_thinking-content-color);font-size:.9em}[data-expanded]>.shiny-chat-thinking-content-inner{padding-block:.25rem;max-height:33dvh;overflow-y:auto}.shiny-chat-thinking-topic{font-weight:600}@media (prefers-reduced-motion: reduce){.shiny-chat-thinking-dot{animation:shiny-chat-thinking-dot-appear 0s ease .5s forwards}.shiny-chat-thinking-disclosure,.shiny-chat-thinking-content,.shiny-chat-thinking-content-inner,.shiny-chat-thinking-label{transition:none}}.shiny-chat-input-attachments{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem;padding:.625rem .625rem 0;margin-bottom:0}.shiny-chat-input-attachments>*:focus{outline:2px solid var(--bs-primary, #007bc2);outline-offset:2px}.shiny-chat-input-thumbnail{position:relative;width:3.5rem;min-height:3.5rem;border-radius:.5rem;overflow:hidden;border:1px solid var(--bs-border-color, #ccc)}.shiny-chat-input-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.shiny-chat-input-thumbnail button{position:absolute;top:2px;right:2px;width:1rem;height:1rem;line-height:1rem;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:.7rem;cursor:pointer}.shiny-chat-input-notice{font-size:.8em;opacity:.7;padding:.375rem .75rem 0;margin-bottom:0}.shiny-chat-input-attachment-chip,.shiny-chat-message-attachment-chip{position:relative;display:flex;align-items:center;gap:.5rem;min-height:3.5rem;min-width:9rem;max-width:14rem;padding:0 1.4rem 0 .6rem;border-radius:.5rem;border:1px solid var(--bs-border-color, #ccc);background:var(--bs-tertiary-bg, #f3f4f6)}.shiny-chat-input-attachment-chip .shiny-chat-attachment-badge,.shiny-chat-message-attachment-chip .shiny-chat-attachment-badge{flex:0 0 auto;display:flex;align-items:flex-end;justify-content:center;width:2rem;height:2.4rem;padding-bottom:3px;border-radius:3px;background:#b91c1c;color:#fff;font-size:.55rem;font-weight:700}.shiny-chat-input-attachment-chip .shiny-chat-attachment-meta,.shiny-chat-message-attachment-chip .shiny-chat-attachment-meta{display:flex;flex-direction:column;min-width:0}.shiny-chat-input-attachment-chip .shiny-chat-attachment-name,.shiny-chat-message-attachment-chip .shiny-chat-attachment-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:600}.shiny-chat-input-attachment-chip .shiny-chat-attachment-size,.shiny-chat-message-attachment-chip .shiny-chat-attachment-size{font-size:.62rem;opacity:.7}.shiny-chat-input-attachment-chip button,.shiny-chat-message-attachment-chip button{position:absolute;top:2px;right:2px;width:1rem;height:1rem;line-height:1rem;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:.7rem;cursor:pointer}.shiny-chat-message-attachment-chip{height:var(--_attachment-size);min-height:0;padding:.5rem .75rem;font:inherit;color:inherit;text-align:left;cursor:pointer}.shiny-chat-message-attachments{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;align-items:flex-start}.shiny-chat-message-attachments .shiny-chat-text-preview{height:var(--_attachment-size)}.shiny-chat-message-attachments .shiny-chat-text-preview[role=button]{cursor:pointer}.shiny-chat-message-image-btn{width:var(--_attachment-size);height:var(--_attachment-size);padding:0;border:1px solid var(--bs-border-color, #ccc);border-radius:.5rem;overflow:hidden;background:none;cursor:zoom-in}.shiny-chat-text-preview{position:relative;display:flex;flex-direction:column;width:12rem;max-width:14rem;border-radius:.5rem;border:1px solid var(--bs-border-color, #ccc);background:var(--bs-tertiary-bg, #f3f4f6);overflow:hidden}.shiny-chat-text-preview .shiny-chat-text-preview-body{flex:1 1 3.6em;min-height:0;padding:.45rem .55rem .2rem;overflow:hidden;font-family:var(--bs-font-monospace, monospace);font-size:.66rem;line-height:1.2;white-space:pre-wrap;word-break:break-word;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%)}.shiny-chat-text-preview .shiny-chat-text-preview-footer{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.3rem .55rem;border-top:1px solid var(--bs-border-color, #ccc);font-size:.62rem;opacity:.7}.shiny-chat-text-preview .shiny-chat-text-preview-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.shiny-chat-text-preview .shiny-chat-text-preview-size{flex:0 0 auto}.shiny-chat-text-preview button{position:absolute;top:2px;right:2px;width:1rem;height:1rem;line-height:1rem;padding:0;border:none;border-radius:50%;background:#0009;color:#fff;font-size:.7rem;cursor:pointer}.shiny-chat-message-image{width:100%;height:100%;object-fit:cover;display:block}.shiny-chat-lightbox{position:fixed;inset:0;z-index:1080;display:flex;align-items:center;justify-content:center;padding:2rem;background:#000000b3;cursor:zoom-out}.shiny-chat-lightbox-content{display:flex;flex-direction:column;align-items:center;gap:.6rem;max-width:90vw;max-height:90vh;cursor:default}.shiny-chat-lightbox-img{max-width:90vw;max-height:80vh;object-fit:contain;border-radius:.5rem}.shiny-chat-lightbox-frame{width:min(90vw,1000px);height:80vh;border:none;border-radius:.5rem;background:#fff}.shiny-chat-lightbox-text{width:min(90vw,1000px);max-height:80vh;margin:0;padding:1rem 1.25rem;overflow:auto;border-radius:.5rem;background:#fff;color:#1a1a1a;font-family:var(--bs-font-monospace, monospace);font-size:.8rem;line-height:1.45;white-space:pre;text-align:left}.shiny-chat-lightbox-name{max-width:90vw;color:#fff;font-size:.85rem;text-align:center;overflow-wrap:anywhere}.shiny-chat-lightbox-close{position:fixed;top:1rem;right:1rem;width:2.25rem;height:2.25rem;border:none;border-radius:50%;background:#0009;color:#fff;font-size:1.25rem;line-height:1;cursor:pointer}.shiny-chat-message-footer{position:absolute;right:.25rem;bottom:-1.5rem;display:flex;align-items:center;gap:.35rem}.shiny-chat-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:none;border:none;border-radius:50%;color:var(--bs-secondary-color, #6c757d);cursor:pointer;opacity:0;transition:opacity .15s,color .15s,background-color .15s}.shiny-chat-edit-btn:hover,.shiny-chat-edit-btn:focus-visible{opacity:1;color:var(--bs-primary, #007bc2);background-color:var(--bs-tertiary-bg, rgba(0, 0, 0, .05))}.shiny-chat-edit-btn svg{display:block}.shiny-chat-user-message:hover .shiny-chat-edit-btn,.shiny-chat-user-message:focus-within .shiny-chat-edit-btn,.shiny-chat-user-message[data-touch-revealed] .shiny-chat-edit-btn{opacity:1}.shiny-chat-edit-wrap{width:100%}.shiny-chat-user-message:has(.shiny-chat-edit-wrap){width:100%}.shiny-chat-edit-box{position:relative;width:100%;border:1px solid var(--bs-border-color, #ced4da);border-radius:20px}.shiny-chat-edit-box:focus-within{border-color:var(--bs-primary, #007bc2)}.shiny-chat-edit-box .tiptap{border-color:transparent!important;background:transparent!important;box-shadow:none!important;padding-right:36px!important;min-height:1.5rem;max-height:16rem;overflow-y:auto;font:inherit;color:inherit}.shiny-chat-edit-box .tiptap.is-empty:before{content:attr(data-placeholder);color:var(--bs-gray-600, #707782);float:left;height:0;pointer-events:none}.shiny-chat-edit-box:has(.shiny-chat-btn-attach) .tiptap{padding-left:36px!important}.shiny-chat-edit-cancel-outside{display:block;margin:.35rem 0 0 auto;padding:.3rem .75rem;border:none;border-radius:14px;background-color:var(--bs-tertiary-bg, rgba(0, 0, 0, .05));color:var(--bs-secondary-color, #6c757d);font-size:.85em;cursor:pointer;transition:background-color .15s,color .15s}.shiny-chat-edit-cancel-outside:hover{background-color:var(--bs-border-color, #ced4da);color:var(--bs-body-color, inherit)}.shiny-chat-sibling-nav{display:flex;align-items:center;gap:.1rem;font-size:.75rem;color:var(--bs-secondary-color, #6c757d)}.shiny-chat-sibling-nav button{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:none;border:none;border-radius:50%;font-size:1rem;line-height:1;cursor:pointer;color:inherit;transition:color .15s,background-color .15s}.shiny-chat-sibling-nav button:disabled{opacity:.35;cursor:not-allowed}.shiny-chat-sibling-nav button:not(:disabled):hover{color:var(--bs-primary, #007bc2);background-color:var(--bs-tertiary-bg, rgba(0, 0, 0, .05))}.shiny-chat-sibling-nav span{min-width:2.5rem;text-align:center}shiny-chat-page{--_page-header-height: var( --shiny-chat-page-header-height, var(--bs-navbar-height, 3.5rem) );--_page-header-padding-x: var(--shiny-chat-page-header-padding-x, .75rem);--_page-header-padding-y: var( --shiny-chat-page-header-padding-y, var(--bs-navbar-padding-y, .5rem) );--_page-sidebar-width: var(--shiny-chat-page-sidebar-width, 280px);--_page-sidebar-padding: var( --shiny-chat-page-sidebar-padding, var(--bslib-sidebar-padding, var(--bslib-spacer, var(--bs-spacer, 1rem))) );--_page-panel-gap: var( --shiny-chat-page-panel-gap, clamp(.25rem, .5vw, .5rem) );--_page-surface-bg: var(--shiny-chat-page-surface-bg, var(--bs-body-bg, #fff));--_page-panel-gap-bg: var( --shiny-chat-page-panel-gap-bg, var(--_page-surface-bg) );--_page-sidebar-bg: var(--shiny-chat-page-sidebar-bg, var(--bs-body-bg, #fff));--_page-canvas-bg: var(--shiny-chat-page-canvas-bg, var(--bs-body-bg, #fff));--_page-border: var(--bs-border-width, 1px) solid var( --shiny-chat-page-border-color, var(--bs-border-color, color-mix(in srgb, var(--bs-body-color, #212529) 12%, transparent)) );--_page-focus-ring-color: var( --shiny-chat-page-focus-ring-color, color-mix(in srgb, var(--bs-primary, #0d6efd) 32%, transparent) );display:grid;grid-template-rows:minmax(var(--_page-header-height),max-content) minmax(0,1fr);width:100%;height:100%;height:100dvh;min-height:0;color:var(--bs-body-color, #212529);background:var(--_page-canvas-bg);overflow:hidden}body:has(shiny-chat-page)>.toast-container:is([data-bslib-toast-container=top-right],[data-bslib-toast-container=top-center],[data-bslib-toast-container=top-left]){top:var(--shiny-chat-page-toast-offset, var(--_page-header-height, 3.25rem))!important}.shiny-chat-page-header{position:relative;z-index:3;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;min-width:0;min-height:var(--_page-header-height);padding:var(--_page-header-padding-y) var(--_page-header-padding-x);border-bottom:var(--_page-border);background:var(--bs-body-bg, var(--_page-surface-bg));color:var(--bs-body-color, #212529)}.shiny-chat-page-sidebar-toggle,.shiny-chat-page-identity,.shiny-chat-page-nav-link{min-height:2.75rem;color:inherit;background:transparent;border:0}.shiny-chat-page-sidebar-toggle{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem;padding:.375rem;border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-sidebar-icon{display:block;width:1rem;height:1rem;fill:currentcolor}.shiny-chat-page-identity{display:inline-flex;align-items:center;justify-self:start;min-width:0;gap:var(--shiny-chat-page-title-gap, .5rem);padding:.375rem .5rem;font-size:var(--shiny-chat-page-title-font-size, var(--bs-navbar-brand-font-size, 1.125rem));font-weight:var(--shiny-chat-page-title-font-weight, var(--bs-body-font-weight, 400));line-height:var(--bs-navbar-brand-line-height, 1.2);text-align:start;border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-identity[data-page-home]{max-width:min(30ch,35%)}.shiny-chat-page-identity[data-page-home]>.shiny-chat-page-identity-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shiny-chat-page-identity-icon,.shiny-chat-page-nav-icon{display:inline-flex;flex:0 0 auto;align-items:center}.shiny-chat-page-controls,.shiny-chat-page-nav,.shiny-chat-page-toolbar{display:flex;align-items:center}.shiny-chat-page-controls-mount-desktop{min-width:0;padding:.25rem;margin:-.25rem;overflow:visible;justify-self:stretch}.shiny-chat-page-controls{min-width:0;max-width:100%;width:100%;gap:var(--shiny-chat-page-controls-gap, var(--bs-navbar-nav-link-padding-x, .5rem))}.shiny-chat-page-nav{flex:1 1 auto;min-width:0;gap:.125rem;justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.shiny-chat-page-nav::-webkit-scrollbar{display:none}.shiny-chat-page-toolbar{flex:1 1 auto;min-width:0;gap:.375rem;justify-content:flex-end}.shiny-chat-page-toolbar-scoped,.shiny-chat-page-toolbar-global{display:flex;flex:0 1 auto;min-width:0;max-width:100%;gap:.375rem}.shiny-chat-page-toolbar-content{display:contents}.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-scoped>.shiny-chat-page-toolbar-content>*,.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-global>*{min-width:0;max-width:100%;flex:0 1 auto}.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-scoped>.shiny-chat-page-toolbar-content>.bslib-toolbar,.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-global>.bslib-toolbar{justify-content:flex-start}.shiny-chat-page-toolbar-sources,.shiny-chat-page-toolbar-source{display:none!important}.shiny-chat-page-nav-link{position:relative;display:inline-flex;align-items:center;gap:var(--shiny-chat-page-nav-link-gap, .375rem);padding:var(--shiny-chat-page-nav-link-padding-y, .5rem) var(--shiny-chat-page-nav-link-padding-x, .75rem);font-size:var(--shiny-chat-page-nav-link-font-size, var(--bs-nav-link-font-size, inherit));font-weight:var(--shiny-chat-page-nav-link-font-weight, var(--bs-nav-link-font-weight, inherit));border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-nav-link[aria-current=page]{color:var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd));background:var(--bs-primary-bg-subtle, rgba(13, 110, 253, .1))}.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link{border-radius:0}.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link[aria-current=page]{background:transparent}.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link[aria-current=page]:after{position:absolute;right:.75rem;bottom:-1px;left:.75rem;height:2px;content:"";background:currentcolor}.shiny-chat-page-sidebar-toggle:not(:disabled):hover,button.shiny-chat-page-identity:hover,.shiny-chat-page-nav-link:hover{background:var(--bs-tertiary-bg, #f1f3f5)}.shiny-chat-page-sidebar-toggle:not(:disabled):focus-visible,button.shiny-chat-page-identity:focus-visible,.shiny-chat-page-nav-link:focus-visible{outline:.2rem solid var(--_page-focus-ring-color);outline-offset:.1rem}.shiny-chat-page-nav-control{display:inline-flex;flex:0 0 auto;align-items:center;min-height:2.75rem}.shiny-chat-page-nav>.bslib-nav-spacer{flex:1 1 auto;min-width:.5rem}.shiny-chat-page-nav-menu{position:relative;flex:0 0 auto}.shiny-chat-page-nav-menu-toggle{display:inline-flex;align-items:center;min-height:2.75rem;padding:var(--shiny-chat-page-nav-link-padding-y, .5rem) var(--shiny-chat-page-nav-link-padding-x, .75rem);cursor:pointer;list-style:none;border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-nav-menu-toggle::-webkit-details-marker{display:none}.shiny-chat-page-nav-menu-toggle:hover,.shiny-chat-page-nav-menu-toggle:focus-visible{background:var(--bs-tertiary-bg, #f1f3f5)}.shiny-chat-page-nav-menu-toggle:focus-visible{outline:.2rem solid var(--_page-focus-ring-color);outline-offset:.1rem}.shiny-chat-page-nav-menu-items{position:absolute;z-index:6;top:calc(100% + .25rem);inset-inline-start:0;display:grid;min-width:max-content;padding:.25rem;border:var(--_page-border);border-radius:var(--bs-border-radius, .375rem);background:var(--bs-body-bg, var(--_page-surface-bg));box-shadow:var(--bs-box-shadow, 0 .5rem 1rem rgba(0, 0, 0, .15))}@media (min-width: 800px){.shiny-chat-page-nav-menu[open] .shiny-chat-page-nav-menu-items{position:fixed;top:var(--shiny-chat-page-nav-menu-top, .5rem);inset-inline-start:auto;left:var(--shiny-chat-page-nav-menu-left, .5rem);box-sizing:border-box;width:max-content;min-width:0;max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);overflow:auto}}.shiny-chat-page-nav-menu-items .shiny-chat-page-nav-link{justify-content:flex-start;width:100%}.shiny-chat-page-nav-menu-header,.shiny-chat-page-nav-divider{margin:.25rem 0}.shiny-chat-page-nav-menu-header{padding:.25rem .5rem;color:var(--bs-secondary-color, #6c757d);font-size:.875rem}.shiny-chat-page-sidebar-toggle:disabled{cursor:not-allowed;opacity:.5}.shiny-chat-page-body{--_page-sidebar-track: 0px;position:relative;display:grid;grid-template-columns:minmax(0,var(--_page-sidebar-track)) minmax(0,1fr);min-width:0;min-height:0;background:var(--_page-panel-gap-bg)}.shiny-chat-page-sidebar{display:flex;flex-direction:column;width:var(--_page-sidebar-width);min-width:0;min-height:0;overflow:auto;border-right:var(--_page-border);background:var(--_page-sidebar-bg)}.shiny-chat-page-sidebar .shiny-chat-history.shiny-chat-history-inline{--_history-inline-bg: var(--shiny-chat-history-bg, var(--_page-sidebar-bg))}.shiny-chat-page-sidebar:not([data-sidebar-key]){display:none}.shiny-chat-page-sidebar[hidden],.shiny-chat-page-sidebar-toggle[hidden],.shiny-chat-page-sidebar-resizer[hidden]{display:none}.shiny-chat-page-sidebar-panel{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:var(--_page-sidebar-padding);overflow:auto;padding:var(--_page-sidebar-padding)}.shiny-chat-page-controls-mount-mobile{display:none}.shiny-chat-page-main,.shiny-chat-page-panel,.shiny-chat-page-home{min-width:0;min-height:0}.shiny-chat-page-main{position:relative;grid-column:2;overflow:auto;background:var(--_page-canvas-bg)}shiny-chat-page .shiny-chat-layout[data-drawer-open]{--_drawer-layout-gap: var(--_page-panel-gap);position:relative}shiny-chat-page .shiny-chat-layout[data-drawer-open]:after{position:absolute;z-index:1;inset-block:0;inset-inline-end:var(--_drawer-layout-width);width:var(--_drawer-layout-gap);content:"";pointer-events:none;background:var(--_page-panel-gap-bg)}@container shiny-chat (max-width: 639.99px){shiny-chat-page .shiny-chat-layout[data-drawer-open]:after{display:none}}.shiny-chat-page-sidebar-resizer{inset-inline-start:calc(var(--shiny-chat-page-sidebar-rendered-width, var(--_page-sidebar-width)) - var(--_resize-handle-hit-target, 8px))}@media (min-width: 800px){shiny-chat-page[data-sidebar-motion-ready] .shiny-chat-page-body{transition:grid-template-columns .18s cubic-bezier(.16,1,.3,1)}shiny-chat-page[data-sidebar-open] .shiny-chat-page-body{--_page-sidebar-track: var( --shiny-chat-page-sidebar-rendered-width, var(--_page-sidebar-width) );column-gap:var(--_page-panel-gap)}.shiny-chat-page-main{container-type:inline-size;container-name:shiny-chat-page-main}.shiny-chat-page-header{grid-template-columns:auto fit-content(12rem) minmax(0,1fr)}.shiny-chat-page-header[data-sidebar-toggle-hidden]{grid-template-columns:fit-content(12rem) minmax(0,1fr)}.shiny-chat-page-header:has(.shiny-chat-page-identity[data-page-home]){display:flex}.shiny-chat-page-header:has(.shiny-chat-page-identity[data-page-home]) .shiny-chat-page-controls-mount-desktop{flex:1 1 0}.shiny-chat-page-identity{min-width:auto}.shiny-chat-page-identity[data-page-home]{flex:0 1 auto;min-width:0;max-width:min(30ch,35%)}.shiny-chat-page-header:has(.shiny-chat-page-identity:not([data-page-home])){grid-template-columns:auto minmax(0,max-content) minmax(0,1fr)}.shiny-chat-page-header[data-sidebar-toggle-hidden]:has(.shiny-chat-page-identity:not([data-page-home])){grid-template-columns:minmax(0,max-content) minmax(0,1fr)}.shiny-chat-page-identity:not([data-page-home]){min-width:0}.shiny-chat-page-identity:not([data-page-home])>.shiny-chat-page-identity-title{min-width:0;overflow-wrap:anywhere}.shiny-chat-page-toolbar,.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-scoped>.shiny-chat-page-toolbar-content>.bslib-toolbar,.shiny-chat-page-toolbar>.shiny-chat-page-toolbar-global>.bslib-toolbar{flex-wrap:nowrap}.shiny-chat-page-sidebar{width:100%;min-width:0;max-width:var(--shiny-chat-page-sidebar-max-width, none);overflow:hidden;opacity:0;pointer-events:none;transform:translate(-.75rem)}shiny-chat-page[data-sidebar-motion-ready] .shiny-chat-page-sidebar{transition:opacity .14s ease-out,transform .18s cubic-bezier(.16,1,.3,1)}shiny-chat-page[data-sidebar-open] .shiny-chat-page-sidebar{opacity:1;pointer-events:auto;transform:translate(0)}shiny-chat-page:is([data-sidebar-resizing],[data-responsive-takeover],[data-sidebar-handoff]) :is(.shiny-chat-page-body,.shiny-chat-page-sidebar){transition:none}}@container shiny-chat-page-main (max-width: 704.99px){shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open]{display:block;column-gap:0}shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper,shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-footer{display:none}shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-drawer{width:100%;min-height:100%;border-inline:0;box-shadow:none}}.shiny-chat-page-panel{width:100%;height:100%}.shiny-chat-page-panel-content{width:100%;max-width:var(--shiny-chat-page-content-width, min(680px, 100%));min-width:0;margin-inline:auto;padding-block:var(--shiny-chat-page-panel-padding-block, var(--bs-spacer, 1rem));padding-inline:max(var(--shiny-chat-page-panel-padding-inline, var(--bs-spacer, 1rem)),env(safe-area-inset-left)) max(var(--shiny-chat-page-panel-padding-inline, var(--bs-spacer, 1rem)),env(safe-area-inset-right))}.shiny-chat-page-panel-content[data-content-full-bleed=true]{max-width:none;padding:0}.shiny-chat-page-panel[hidden],.shiny-chat-page-sidebar-panel[hidden]{display:none}.shiny-chat-page-home{overflow:hidden;background:var(--_page-surface-bg)}.shiny-chat-page-home>shiny-chat-container{--shiny-chat-fill-padding: max( var(--shiny-chat-page-fill-padding, .25rem), env(safe-area-inset-left), env(safe-area-inset-right) );--shiny-chat-input-padding-bottom: max( var(--shiny-chat-page-input-padding-bottom, .25rem), env(safe-area-inset-bottom) );width:100%;height:100%;background:var(--_page-surface-bg)}.shiny-chat-page-sidebar-scrim{display:none}.shiny-chat-page-sidebar-close,.shiny-chat-page-sidebar>.bslib-toolbar:has(.shiny-chat-page-sidebar-close){display:none}@media (max-width: 799px){.shiny-chat-page-home :is(.shiny-chat-input,.shiny-chat-edit-box) .tiptap{font-size:16px;font-size:max(1rem,16px)}.shiny-chat-page-header{grid-template-columns:auto minmax(0,1fr);padding-inline:max(var(--_page-header-padding-x),env(safe-area-inset-left)) max(var(--_page-header-padding-x),env(safe-area-inset-right))}.shiny-chat-page-identity[data-page-home]{max-width:100%}.shiny-chat-page-sidebar-toggle{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem}.shiny-chat-page-controls-mount-desktop{display:none}.shiny-chat-page-panel-content{padding-block:var(--shiny-chat-page-panel-padding-block-mobile, var(--bs-spacer, 1rem))}.shiny-chat-page-body{display:block}.shiny-chat-page-main{height:100%}.shiny-chat-page-sidebar{position:fixed;z-index:6;inset:0 auto 0 0;display:flex;width:min(88vw,22rem);max-width:none;padding-bottom:env(safe-area-inset-bottom);visibility:hidden;transform:translate(-100%);transition:transform .18s ease-out,visibility 0s linear .18s;box-shadow:.5rem 0 1.5rem #0000002e}.shiny-chat-page-sidebar:not([data-sidebar-key]){display:flex}shiny-chat-page[data-mobile-menu-open] .shiny-chat-page-sidebar{z-index:9;visibility:visible;transform:translate(0);transition-delay:0s}.shiny-chat-page-controls-mount-mobile{display:block;flex:0 0 auto;padding:max(3.5rem,env(safe-area-inset-top) + 3.5rem) .5rem .5rem;border-bottom:var(--_page-border)}.shiny-chat-page-sidebar>.bslib-toolbar:has(.shiny-chat-page-sidebar-close){position:absolute;z-index:1;top:max(.5rem,env(safe-area-inset-top));right:.5rem;display:flex;padding:0;margin:0}.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close{position:absolute;z-index:1;top:max(.5rem,env(safe-area-inset-top));right:.5rem;place-items:center}.shiny-chat-page-sidebar-close{display:grid;width:2.75rem;height:2.75rem;padding:0;color:inherit;background:transparent;border:0;border-radius:var(--bs-border-radius, .375rem)}.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close:before,.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close:after{position:absolute;width:1.125rem;height:.125rem;content:"";background:currentcolor;border-radius:.125rem}.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close:before{transform:rotate(45deg)}.shiny-chat-page-sidebar>button.shiny-chat-page-sidebar-close:after{transform:rotate(-45deg)}.shiny-chat-page-sidebar-resizer{display:none}.shiny-chat-page-sidebar-close:hover{background:var(--bs-tertiary-bg, #f1f3f5)}.shiny-chat-page-sidebar-close:focus-visible{outline:.2rem solid var(--_page-focus-ring-color);outline-offset:.1rem}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-controls,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-scoped,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-global{align-items:stretch;flex-direction:column}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-content>*,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-global>*{flex:0 0 auto;width:100%}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-link{justify-content:flex-start;width:100%}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-control{width:100%}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav>.bslib-nav-spacer{display:none}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu,.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu-toggle{width:100%}.shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu-items{position:static;min-width:0;margin-inline-start:.75rem;box-shadow:none}.shiny-chat-page-sidebar-scrim{position:fixed;z-index:5;inset:0;display:none;padding:0;background:#00000059;border:0}shiny-chat-page[data-mobile-menu-open] .shiny-chat-page-sidebar-scrim{display:block;z-index:8}}@media (prefers-reduced-motion: reduce){.shiny-chat-page-sidebar{transition:none}} /*# sourceMappingURL=shinychat.css.map */ diff --git a/js/dist/shinychat.css.map b/js/dist/shinychat.css.map index e6f343342..5819403ab 100644 --- a/js/dist/shinychat.css.map +++ b/js/dist/shinychat.css.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../src/shinychat.scss"], - "sourcesContent": ["@charset \"UTF-8\";\n/************************************************************\n From ../node_modules/highlight.js/styles/atom-one-light.css\n with minor adjustments\n************************************************************/\n/************************************************************\n From ../node_modules/highlight.js/styles/atom-one-dark.css\n with minor adjustments\n************************************************************/\n/* Code highlighting (for both light and dark mode) */\npre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em;\n}\n\ncode.hljs {\n padding: 3px 5px;\n}\n\n/*\n\nAtom One Light by Daniel Gamage\nOriginal One Light Syntax theme from https://github.com/atom/one-light-syntax\n\nbase: #fafafa\nmono-1: #383a42\nmono-2: #686b77\nmono-3: #a0a1a7\nhue-1: #0184bb\nhue-2: #4078f2\nhue-3: #a626a4\nhue-4: #50a14f\nhue-5: #e45649\nhue-5-2: #c91243\nhue-6: #986801\nhue-6-2: #c18401\n\n*/\npre:has(> code.hljs) {\n color: #383a42;\n background: #fafafa;\n}\n\n.hljs-comment,\n.hljs-quote {\n color: #a0a1a7;\n font-style: italic;\n}\n\n.hljs-doctag,\n.hljs-keyword,\n.hljs-formula {\n color: #a626a4;\n}\n\n.hljs-section,\n.hljs-name,\n.hljs-selector-tag,\n.hljs-deletion,\n.hljs-subst {\n color: #e45649;\n}\n\n.hljs-literal {\n color: #0184bb;\n}\n\n.hljs-string,\n.hljs-regexp,\n.hljs-addition,\n.hljs-attribute,\n.hljs-meta .hljs-string {\n color: #50a14f;\n}\n\n.hljs-attr,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-type,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-number {\n color: #986801;\n}\n\n.hljs-symbol,\n.hljs-bullet,\n.hljs-link,\n.hljs-meta,\n.hljs-selector-id,\n.hljs-title {\n color: #4078f2;\n}\n\n.hljs-built_in,\n.hljs-title.class_,\n.hljs-class .hljs-title {\n color: #c18401;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.hljs-strong {\n font-weight: bold;\n}\n\n.hljs-link {\n text-decoration: underline;\n}\n\n[data-bs-theme=dark] {\n /*\n\n Atom One Dark by Daniel Gamage\n Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax\n\n base: #282c34\n mono-1: #abb2bf\n mono-2: #818896\n mono-3: #5c6370\n hue-1: #56b6c2\n hue-2: #61aeee\n hue-3: #c678dd\n hue-4: #98c379\n hue-5: #e06c75\n hue-5-2: #be5046\n hue-6: #d19a66\n hue-6-2: #e6c07b\n\n */\n}\n[data-bs-theme=dark] pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em;\n}\n[data-bs-theme=dark] code.hljs {\n padding: 3px 5px;\n}\n[data-bs-theme=dark] pre:has(> code.hljs) {\n color: #abb2bf;\n background: #282c34;\n}\n[data-bs-theme=dark] .hljs-comment,\n[data-bs-theme=dark] .hljs-quote {\n color: #5c6370;\n font-style: italic;\n}\n[data-bs-theme=dark] .hljs-doctag,\n[data-bs-theme=dark] .hljs-keyword,\n[data-bs-theme=dark] .hljs-formula {\n color: #c678dd;\n}\n[data-bs-theme=dark] .hljs-section,\n[data-bs-theme=dark] .hljs-name,\n[data-bs-theme=dark] .hljs-selector-tag,\n[data-bs-theme=dark] .hljs-deletion,\n[data-bs-theme=dark] .hljs-subst {\n color: #e06c75;\n}\n[data-bs-theme=dark] .hljs-literal {\n color: #56b6c2;\n}\n[data-bs-theme=dark] .hljs-string,\n[data-bs-theme=dark] .hljs-regexp,\n[data-bs-theme=dark] .hljs-addition,\n[data-bs-theme=dark] .hljs-attribute,\n[data-bs-theme=dark] .hljs-meta .hljs-string {\n color: #98c379;\n}\n[data-bs-theme=dark] .hljs-attr,\n[data-bs-theme=dark] .hljs-variable,\n[data-bs-theme=dark] .hljs-template-variable,\n[data-bs-theme=dark] .hljs-type,\n[data-bs-theme=dark] .hljs-selector-class,\n[data-bs-theme=dark] .hljs-selector-attr,\n[data-bs-theme=dark] .hljs-selector-pseudo,\n[data-bs-theme=dark] .hljs-number {\n color: #d19a66;\n}\n[data-bs-theme=dark] .hljs-symbol,\n[data-bs-theme=dark] .hljs-bullet,\n[data-bs-theme=dark] .hljs-link,\n[data-bs-theme=dark] .hljs-meta,\n[data-bs-theme=dark] .hljs-selector-id,\n[data-bs-theme=dark] .hljs-title {\n color: #61aeee;\n}\n[data-bs-theme=dark] .hljs-built_in,\n[data-bs-theme=dark] .hljs-title.class_,\n[data-bs-theme=dark] .hljs-class .hljs-title {\n color: #e6c07b;\n}\n[data-bs-theme=dark] .hljs-emphasis {\n font-style: italic;\n}\n[data-bs-theme=dark] .hljs-strong {\n font-weight: bold;\n}\n[data-bs-theme=dark] .hljs-link {\n text-decoration: underline;\n}\n\nshiny-markdown-stream {\n display: block;\n}\nshiny-markdown-stream img {\n max-width: 100%;\n height: auto;\n}\n\n/*\n Styling for the code-copy button (inspired by Quarto's code-copy feature)\n*/\npre:has(.code-copy-button) {\n position: relative;\n}\n\n.code-copy-button {\n position: absolute;\n top: 0;\n right: 0;\n border: 0;\n margin-top: 5px;\n margin-right: 5px;\n background-color: transparent;\n}\n.code-copy-button > .bi {\n display: flex;\n gap: 0.25em;\n}\n.code-copy-button > .bi::after {\n content: \"\";\n display: block;\n height: 1rem;\n width: 1rem;\n mask-image: url('data:image/svg+xml,');\n background-color: var(--bs-body-color, #222);\n}\n\n.code-copy-button-checked > .bi::before {\n content: \"Copied!\";\n font-size: 0.75em;\n vertical-align: 0.25em;\n}\n.code-copy-button-checked > .bi::after {\n mask-image: url('data:image/svg+xml,');\n background-color: var(--bs-success, #198754);\n}\n\n@keyframes markdown-stream-dot-pulse {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(0.4);\n opacity: 0.4;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n.markdown-stream-dot {\n animation: markdown-stream-dot-pulse 1.75s infinite cubic-bezier(0.18, 0.89, 0.32, 1.28);\n animation-delay: 250ms;\n display: inline-block;\n transform-origin: center;\n}\n\nshiny-chat-resize-handle {\n --_resize-handle-hit-target: var(--shiny-chat-resize-handle-hit-target, 8px);\n --_resize-handle-indicator-color: var(--shiny-chat-resize-handle-indicator-color, currentcolor);\n position: absolute;\n z-index: 4;\n top: 0;\n bottom: 0;\n display: block;\n width: var(--_resize-handle-hit-target);\n padding: 0;\n color: inherit;\n cursor: ew-resize;\n pointer-events: auto;\n touch-action: none;\n user-select: none;\n}\nshiny-chat-resize-handle > [data-shiny-chat-resize-indicator] {\n position: absolute;\n z-index: 1;\n top: 50%;\n width: 2px;\n height: 30px;\n background: var(--_resize-handle-indicator-color);\n border-radius: 1px;\n cursor: ew-resize;\n opacity: 0.3;\n pointer-events: auto;\n transform: translateY(-50%);\n transition: background-color 150ms ease, height 150ms ease, opacity 150ms ease, width 150ms ease;\n}\nshiny-chat-resize-handle[data-panel-side=inline-start] > [data-shiny-chat-resize-indicator] {\n inset-inline-start: 0;\n}\nshiny-chat-resize-handle[data-panel-side=inline-end] > [data-shiny-chat-resize-indicator] {\n inset-inline-end: 0;\n}\nshiny-chat-resize-handle:hover > [data-shiny-chat-resize-indicator] {\n opacity: 0.65;\n}\nshiny-chat-resize-handle:is(:focus-visible,\n:active,\n[data-resizing],\n[data-boundary-armed]) > [data-shiny-chat-resize-indicator],\nshiny-chat-resize-handle > [data-shiny-chat-resize-indicator]:hover {\n width: 4px;\n height: 40px;\n opacity: 1;\n}\nshiny-chat-resize-handle:is(:active, [data-resizing]) > [data-shiny-chat-resize-indicator] {\n background: var(--bs-primary, #0d6efd);\n height: 50px;\n}\nshiny-chat-resize-handle:focus-visible > [data-shiny-chat-resize-indicator] {\n outline: 2px solid var(--bs-focus-ring-color, rgba(13, 110, 253, 0.25));\n outline-offset: 2px;\n}\nshiny-chat-resize-handle:focus-visible {\n outline: 0;\n}\nshiny-chat-resize-handle[data-disabled] {\n cursor: default;\n pointer-events: none;\n}\n\n@media (any-pointer: fine) {\n shiny-chat-resize-handle[data-boundary-activation] {\n cursor: default;\n pointer-events: none;\n }\n shiny-chat-resize-handle[data-boundary-activation]::after {\n position: absolute;\n inset-block: 0;\n width: 5px;\n content: \"\";\n pointer-events: auto;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-panel-side=inline-start]::after {\n inset-inline-start: -2px;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-panel-side=inline-end]::after {\n inset-inline-end: -2px;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed] {\n cursor: ew-resize;\n pointer-events: auto;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]::after {\n width: 24px;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed][data-panel-side=inline-start]::after {\n inset-inline-start: -12px;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed][data-panel-side=inline-end]::after {\n inset-inline-end: -12px;\n }\n}\n.shiny-chat-debug-resize-handle {\n --shiny-chat-debug-resize-idle-color: rgb(255 193 7 / 28%);\n --shiny-chat-debug-resize-armed-color: rgb(25 135 84 / 30%);\n --shiny-chat-debug-resize-coarse-color: rgb(13 110 253 / 28%);\n --shiny-chat-debug-resize-indicator-color: rgb(220 53 69 / 85%);\n}\n.shiny-chat-debug-resize-handle shiny-chat-resize-handle > [data-shiny-chat-resize-indicator] {\n background: var(--shiny-chat-debug-resize-indicator-color);\n outline: 1px solid var(--shiny-chat-debug-resize-indicator-color);\n outline-offset: -1px;\n opacity: 1;\n}\n\n@media (any-pointer: fine) {\n .shiny-chat-debug-resize-handle shiny-chat-resize-handle[data-boundary-activation]:not([data-boundary-armed])::after {\n background: var(--shiny-chat-debug-resize-idle-color);\n outline: 1px dashed var(--shiny-chat-debug-resize-idle-color);\n outline-offset: -1px;\n }\n .shiny-chat-debug-resize-handle shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]::after {\n background: var(--shiny-chat-debug-resize-armed-color);\n outline: 1px dashed var(--shiny-chat-debug-resize-armed-color);\n outline-offset: -1px;\n }\n}\n@media (any-pointer: coarse) {\n shiny-chat-resize-handle {\n --_resize-handle-hit-target: 26px;\n }\n shiny-chat-resize-handle[data-boundary-activation] {\n cursor: default;\n pointer-events: none;\n }\n .shiny-chat-debug-resize-handle shiny-chat-resize-handle::before {\n position: absolute;\n inset: 0;\n width: auto;\n content: \"\";\n background: var(--shiny-chat-debug-resize-coarse-color);\n outline: 1px dashed var(--shiny-chat-debug-resize-coarse-color);\n outline-offset: -1px;\n pointer-events: none;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n shiny-chat-resize-handle > [data-shiny-chat-resize-indicator] {\n transition: none;\n }\n}\n.shiny-tool-card {\n max-height: var(--shiny-tool-card-max-height, 500px);\n}\n.shiny-tool-card .tool-title {\n min-width: 25%;\n flex-shrink: 2;\n}\n.shiny-tool-card .tool-intent {\n opacity: var(--_activity-opacity-muted);\n font-style: italic;\n font-weight: normal;\n text-align: end;\n flex-shrink: 3;\n max-width: 60%;\n min-width: 20%;\n}\n.shiny-tool-card .tool-spacer {\n margin-inline-start: auto;\n}\n.shiny-tool-card .tool-icon {\n --_icon-size: var(--shiny-tool-card-icon-size, 16px);\n width: var(--_icon-size);\n height: var(--_icon-size);\n display: flex;\n align-items: center;\n flex: none;\n}\n.shiny-tool-card .tool-icon [class^=spinner] {\n --bs-spinner-width: var(--_icon-size);\n --bs-spinner-height: var(--_icon-size);\n --bs-spinner-border-width: 0.20em;\n color: var(--shiny-tool-card-spinner-color, var(--bs-primary, #007bc2));\n}\n.shiny-tool-card .tool-title-name {\n font-weight: 600;\n}\n.shiny-tool-card .card-header,\n.shiny-tool-card .card-footer {\n font-size: inherit;\n font-weight: 400;\n word-break: break-word;\n}\n.shiny-tool-card > .card-header {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n gap: 0.5rem;\n width: 100%;\n text-align: left;\n cursor: pointer;\n border-top-width: 0;\n border-right-width: 0;\n border-left-width: 0;\n}\n.shiny-tool-card > .card-header[aria-expanded=false] {\n border-bottom-width: 0;\n}\n.shiny-tool-card > .card-header > * {\n line-height: 1;\n}\n.shiny-tool-card > .card-header:hover, .shiny-tool-card > .card-header:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n outline: none;\n}\n.shiny-tool-card > .card-header .function-name {\n font-weight: bold;\n}\n.shiny-tool-card > .card-header .collapse-indicator {\n display: grid;\n place-items: center;\n width: 1em;\n height: 1em;\n opacity: var(--_activity-opacity-muted);\n}\n.shiny-tool-card > .card-header .collapse-indicator,\n.shiny-tool-card > .card-header .collapse-indicator > .horizontal {\n transition: 0.3s ease-in-out all;\n transform-origin: center center;\n}\n.shiny-tool-card > .card-header[aria-expanded=true] > .collapse-indicator {\n transform: rotate(-90deg);\n}\n.shiny-tool-card > .card-header[aria-expanded=true] > .collapse-indicator .horizontal {\n transform: scale(0);\n}\n.shiny-tool-card > .card-body {\n position: relative;\n transition: opacity 0.2s ease-out;\n opacity: 1;\n overflow: auto;\n}\n.shiny-tool-card > .card-body.collapsed {\n max-height: 0;\n opacity: 0;\n padding: 0;\n}\n.shiny-tool-card > .card-header[aria-expanded=false] ~ .card-footer {\n display: none;\n}\n.shiny-tool-card:hover .tool-fullscreen-toggle, .shiny-tool-card:focus-within .tool-fullscreen-toggle {\n opacity: 0.6;\n}\n.shiny-tool-card pre {\n margin: 0;\n white-space: pre-wrap;\n padding: 1em;\n border-radius: var(--bs-border-radius, 4px);\n}\n\n@keyframes shiny-tool-fullscreen-enter {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.shiny-tool-fullscreen-backdrop {\n position: fixed;\n inset: 0;\n z-index: 1049;\n background-color: rgba(var(--bs-body-color-rgb, 0, 0, 0), 0.6);\n backdrop-filter: blur(2px);\n -webkit-backdrop-filter: blur(2px);\n animation: shiny-tool-fullscreen-enter 300ms ease forwards;\n}\n\n.shiny-tool-fullscreen-exit {\n position: absolute;\n top: 1rem;\n right: 1rem;\n font-size: 0.9rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.8);\n background: none;\n border: none;\n padding: 0;\n}\n.shiny-tool-fullscreen-exit:hover {\n color: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 1);\n}\n.shiny-tool-fullscreen-exit:focus-visible {\n outline: 2px solid rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.8);\n outline-offset: 2px;\n border-radius: 4px;\n}\n.shiny-tool-fullscreen-exit svg {\n width: 20px;\n height: 20px;\n}\n\n@media (max-width: 575.98px) {\n .shiny-tool-card[fullscreen] {\n inset: 2.5rem 0.5rem 0.5rem;\n }\n .shiny-tool-fullscreen-exit {\n top: 0.5rem;\n right: 0.5rem;\n }\n}\n.shiny-tool-card[fullscreen] {\n position: fixed;\n inset: 3.5rem 1rem 1rem;\n z-index: 1050;\n max-height: none;\n border-radius: var(--bs-border-radius, 4px);\n background: var(--bs-body-bg, #fff);\n}\n.shiny-tool-card[fullscreen] > .card-header {\n cursor: default;\n}\n.shiny-tool-card[fullscreen] > .card-header:hover, .shiny-tool-card[fullscreen] > .card-header:focus-visible {\n background-color: inherit;\n}\n.shiny-tool-card[fullscreen] > .card-header .collapse-indicator {\n display: none;\n}\n.shiny-tool-card[fullscreen] > .card-body {\n max-height: none;\n overflow: auto;\n}\n.shiny-tool-card[fullscreen] > .card-body .tool-fullscreen-toggle {\n display: none;\n}\n\n.tool-fullscreen-toggle {\n position: absolute;\n bottom: 0.2rem;\n right: 0;\n color: var(--bs-card-color);\n background-color: var(--bs-card-bg, var(--bs-body-bg));\n border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color));\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n margin: 0.2rem 0.4rem;\n padding: 0.55rem !important;\n font-size: 0.8rem;\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.15s;\n}\n.tool-fullscreen-toggle:hover, .tool-fullscreen-toggle:focus {\n opacity: 1;\n}\n.tool-fullscreen-toggle:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n.tool-fullscreen-toggle svg {\n height: 1em;\n width: 1em;\n fill: currentColor;\n}\n\n.shiny-tool-result,\n.shiny-tool-request {\n display: block;\n margin: 1em 0;\n border-radius: var(--bs-border-radius, 4px);\n overflow: visible;\n padding: 0;\n font-size: 0.8em;\n}\n.shiny-tool-result[hidden],\n.shiny-tool-request[hidden] {\n display: none;\n}\n\n.shiny-tool-result + p,\n.shiny-tool-request + p {\n margin-top: 1rem;\n}\n\n.shiny-tool-result:first-child,\n.shiny-tool-request:first-child {\n margin-top: 0;\n}\n.shiny-tool-result:last-child,\n.shiny-tool-request:last-child {\n margin-bottom: 0;\n}\n\n.shiny-tool-result__request > strong,\n.shiny-tool-result__result > strong {\n display: block;\n flex: none;\n}\n\n.shiny-chat-tool-image {\n max-width: 100%;\n border-radius: var(--bs-border-radius);\n}\n\n.shiny-chat-tool-group__row,\n.shiny-chat-tool-call-row__summary,\n.shiny-tool-card:not([fullscreen]) {\n opacity: var(--_activity-opacity);\n}\n\n.shiny-tool-card:not([fullscreen]) {\n --bslib-card-box-shadow: none;\n --bslib-card-border-color: var(--bs-card-border-color);\n}\n\n.shiny-chat-tool-loop {\n display: block;\n margin: 1em 0;\n}\n.shiny-chat-tool-loop:first-child {\n margin-top: 0;\n}\n.shiny-chat-tool-loop:last-child {\n margin-bottom: 0;\n}\n\n.shiny-chat-tool-loop:has(+ .shiny-chat-tool-loop) {\n margin-bottom: 0;\n}\n\n.shiny-chat-tool-loop + .shiny-chat-tool-loop {\n margin-top: 0;\n}\n\n.shiny-chat-tool-loop:has(+ .shiny-chat-thinking) {\n margin-bottom: 0;\n}\n\n.shiny-chat-thinking + .shiny-chat-tool-loop {\n margin-top: 0;\n}\n\n.shiny-chat-tool-loop + p,\n.shiny-chat-thinking + p {\n margin-top: 1rem;\n}\n\n.shiny-chat-tool-custom-display {\n margin: 1em 0;\n}\n.shiny-chat-tool-custom-display:last-child {\n margin-bottom: 0;\n}\n\nshiny-chat-raw-html,\nshinychat-raw-html {\n display: contents;\n}\n\n.shiny-chat-tool-group {\n font-size: 0.8em;\n --_row-indent: 1.125rem;\n --_row-pad: 0.4rem;\n --_row-glyph-width: 0.9em;\n}\n\n.shiny-chat-tool-spacer {\n margin-inline-start: auto;\n}\n\n.shiny-chat-tool-group__row {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n min-height: 2em;\n padding: 0.25rem var(--_row-pad);\n border-radius: 6px;\n background: none;\n border: none;\n text-align: left;\n cursor: pointer;\n font: inherit;\n color: inherit;\n}\n.shiny-chat-tool-group__row:hover, .shiny-chat-tool-group__row:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n}\n\n.shiny-chat-tool-group__row:focus-visible,\n.shiny-chat-tool-call-row__summary:focus-visible,\n.shiny-chat-thinking-header:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n\n.shiny-chat-tool-group__glyph {\n --_size: var(--_row-glyph-width);\n width: var(--_size);\n height: var(--_size);\n display: flex;\n align-items: center;\n justify-content: center;\n flex: none;\n color: var(--bs-secondary-color);\n}\n.shiny-chat-tool-group__glyph svg {\n width: 100%;\n height: 100%;\n}\n.shiny-chat-tool-group__glyph.running [class^=spinner] {\n --bs-spinner-width: var(--_size);\n --bs-spinner-height: var(--_size);\n --bs-spinner-border-width: 0.2em;\n}\n\n.shiny-chat-tool-glyph-dot {\n display: inline-block;\n width: 0.4em;\n height: 0.4em;\n margin: auto;\n border-radius: 50%;\n background-color: var(--bs-secondary-color);\n}\n\n.shiny-chat-thinking-glyph {\n display: grid;\n place-items: center;\n width: var(--_row-glyph-width);\n height: var(--_row-glyph-width);\n flex: none;\n}\n.shiny-chat-thinking-glyph::before {\n content: \"\";\n width: 0.4em;\n height: 0.4em;\n background-color: var(--bs-secondary-color);\n transform: rotate(45deg);\n}\n\n.shiny-chat-tool-group__toolname {\n font-family: var(--bs-font-monospace);\n}\n\n.shiny-chat-tool-group__title {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition: opacity 0.2s ease;\n}\n.shiny-chat-tool-group__title[data-fading] {\n opacity: 0;\n}\n\n.shiny-chat-tool-group__segments {\n display: block;\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-tool-group__segments .shiny-chat-tool-group__title {\n overflow: visible;\n text-overflow: clip;\n}\n\n.shiny-chat-tool-group__overflow {\n color: var(--bs-secondary-color);\n}\n\n.shiny-chat-tool-group__segment {\n display: inline-flex;\n align-items: baseline;\n gap: 0.5rem;\n min-width: 0;\n}\n.shiny-chat-tool-group__segment + .shiny-chat-tool-group__segment {\n margin-inline-start: 0.25em;\n}\n\n.shiny-chat-tool-group__titlewrap {\n display: inline-flex;\n align-items: baseline;\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n}\n.shiny-chat-tool-group__titlewrap:has(> .shiny-chat-tool-group__label) > .shiny-chat-tool-group__title {\n flex: none;\n}\n.shiny-chat-tool-group__titlewrap > .shiny-chat-tool-group__count {\n align-self: center;\n margin-inline-start: 0.5rem;\n}\n\n.shiny-chat-tool-group__label {\n flex: 1 1 auto;\n font-weight: normal;\n opacity: 0.85;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-tool-group__label code {\n font-size: 0.9em;\n}\n\n.shiny-chat-tool-group__label code,\n.shiny-chat-tool-call-row__label code {\n background: none;\n padding: 0;\n color: inherit;\n}\n\n.shiny-chat-tool-row__intent {\n font-style: italic;\n opacity: var(--_activity-opacity-muted);\n text-align: end;\n flex-shrink: 3;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shiny-chat-tool-group__count {\n font-size: 0.85em;\n font-weight: 400;\n color: var(--bs-secondary-color);\n}\n\n.shiny-chat-tool-group__failed {\n font-size: 0.85em;\n color: var(--bs-danger);\n}\n\n.shiny-chat-tool-group__chevron,\n.shiny-chat-tool-call-row__chevron,\n.shiny-chat-thinking-disclosure {\n display: grid;\n place-items: center;\n width: 0.9em;\n height: 0.9em;\n flex: none;\n opacity: var(--_activity-opacity-muted);\n transition: transform 0.3s ease-in-out;\n transform: rotate(-90deg);\n}\n.shiny-chat-tool-group__chevron svg,\n.shiny-chat-tool-call-row__chevron svg,\n.shiny-chat-thinking-disclosure svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.shiny-chat-tool-group__row[aria-expanded=true] .shiny-chat-tool-group__chevron,\n.shiny-chat-tool-call-row__summary[aria-expanded=true] .shiny-chat-tool-call-row__chevron,\n.shiny-chat-thinking-header[aria-expanded=true] .shiny-chat-thinking-disclosure {\n transform: rotate(0deg);\n}\n\n.shiny-chat-tool-group__calls {\n list-style: none;\n margin: 0;\n padding: 0;\n position: relative;\n}\n.shiny-chat-tool-group__calls[hidden] {\n display: none;\n}\n.shiny-chat-tool-group__calls::before {\n content: \"\";\n position: absolute;\n inset-block: 0;\n inset-inline-start: calc(var(--_row-pad) + var(--_row-glyph-width) / 2);\n width: var(--bs-card-border-width, var(--bs-border-width, 1px));\n background-color: var(--bs-border-color);\n opacity: var(--_activity-opacity);\n}\n\n.shiny-chat-tool-call-row__summary {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-left: var(--_row-indent);\n width: calc(100% - var(--_row-indent));\n min-height: 2em;\n padding: 0.25rem var(--_row-pad);\n border-radius: 6px;\n background: none;\n border: none;\n text-align: left;\n cursor: pointer;\n font: inherit;\n color: inherit;\n}\n.shiny-chat-tool-call-row__summary:hover, .shiny-chat-tool-call-row__summary:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n}\n.shiny-chat-tool-call-row__status {\n --_size: var(--_row-glyph-width);\n width: var(--_size);\n height: var(--_size);\n display: flex;\n align-items: center;\n justify-content: center;\n flex: none;\n color: var(--bs-secondary-color);\n}\n.shiny-chat-tool-call-row__status.running [class^=spinner] {\n --bs-spinner-width: var(--_size);\n --bs-spinner-height: var(--_size);\n --bs-spinner-border-width: 0.2em;\n}\n.shiny-chat-tool-call-row__status.text-danger {\n color: var(--bs-danger, #dc3545);\n}\n.shiny-chat-tool-call-row__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-tool-call-row__preview {\n opacity: var(--_activity-opacity-muted);\n font-style: italic;\n flex-shrink: 3;\n min-width: 0;\n text-align: end;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-tool-call-row__detail {\n overflow: hidden;\n}\n.shiny-chat-tool-call-row__detail[hidden] {\n display: none;\n}\n.shiny-chat-tool-call-row__detail:not([hidden]) {\n animation: shiny-chat-tool-detail-reveal 0.2s ease-out;\n}\n.shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) {\n margin: 0;\n border: none;\n border-inline-start: var(--bs-card-border-width, var(--bs-border-width, 1px)) solid var(--bs-border-color);\n border-radius: 0;\n}\n.shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-header {\n display: none;\n}\n.shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-body {\n padding-inline-start: calc(var(--_row-glyph-width) / 2 + 0.5rem - var(--bs-card-border-width, var(--bs-border-width, 1px)));\n}\n\n.shiny-chat-tool-call-row > .shiny-chat-tool-call-row__detail {\n padding-inline-start: calc(var(--_row-indent) + var(--_row-pad) + var(--_row-glyph-width) / 2);\n}\n\n.shiny-chat-tool-group--single > .shiny-chat-tool-call-row__detail {\n padding-inline-start: calc(var(--_row-pad) + var(--_row-glyph-width) / 2);\n}\n\n.shiny-chat-tool-group--framed,\n.shiny-chat-tool-call-row--framed {\n border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);\n border-radius: var(--bs-border-radius, 4px);\n overflow: hidden;\n}\n\n.shiny-chat-tool-group--framed > .shiny-chat-tool-group__row,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary {\n border-radius: 0;\n border-bottom: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-group__row:hover, .shiny-chat-tool-group--framed > .shiny-chat-tool-group__row:focus-visible,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary:hover,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.1);\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-group__row:focus-visible,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary:focus-visible {\n outline-offset: -2px;\n}\n\n.shiny-chat-tool-call-row--framed {\n margin-inline-start: var(--_row-indent);\n}\n\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary {\n margin-left: 0;\n width: 100%;\n}\n\n.shiny-chat-tool-group--framed > .shiny-chat-tool-call-row__detail,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__detail {\n padding-inline-start: 0;\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]),\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) {\n margin: 0;\n border: none;\n border-radius: 0;\n box-shadow: none;\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-body,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-body {\n padding-inline-start: var(--bs-card-spacer-x, 1rem);\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-footer,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-footer {\n padding: var(--bs-card-cap-padding-y, 0.5rem) var(--bs-card-cap-padding-x, 1rem);\n border-top: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);\n}\n\n.shiny-chat-tool-call-row--framed + .shiny-chat-tool-call-row--framed {\n margin-top: 0.5rem;\n}\n\n@keyframes shiny-chat-tool-detail-reveal {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.tool-title-label {\n font-weight: normal;\n opacity: 0.85;\n}\n\n.tool-status-note {\n font-size: 0.85em;\n}\n\n.shiny-aside-group {\n display: inline-block;\n max-inline-size: calc(100% - 0.3em);\n margin-inline-start: 0.3em;\n vertical-align: 0.1em;\n}\n\n.shiny-aside-group:has(.shiny-aside-pill--number) {\n margin-inline-start: 0.1em;\n}\n\n.shiny-aside-grounded[data-active] {\n background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);\n border-radius: 0.12em;\n text-decoration-line: underline;\n text-decoration-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.7);\n text-decoration-thickness: 0.1em;\n text-underline-offset: 0.14em;\n}\n\n.shiny-aside-pill {\n --_aside-marker-color: var(--shiny-chat-aside-marker-color, inherit);\n --_aside-marker-hover-color: var(\n --shiny-chat-aside-marker-hover-color,\n var(--_aside-marker-color)\n );\n --_aside-marker-bg: var(\n --shiny-chat-aside-marker-bg,\n rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.06)\n );\n --_aside-marker-hover-bg: var(\n --shiny-chat-aside-marker-hover-bg,\n rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.12)\n );\n --_aside-marker-font-family: var(\n --shiny-chat-aside-marker-font-family,\n inherit\n );\n display: inline-flex;\n align-items: center;\n gap: 0.3em;\n border: none;\n border-radius: 999px;\n background: var(--_aside-marker-bg);\n color: var(--_aside-marker-color);\n font-family: var(--_aside-marker-font-family);\n font-size: 0.72em;\n font-weight: 600;\n line-height: 1;\n padding: 0.25em 0.6em;\n cursor: pointer;\n vertical-align: middle;\n min-height: 1.6em;\n max-inline-size: min(18em, 100%);\n}\n.shiny-aside-pill:has(img) {\n padding-inline-start: 0.35em;\n}\n.shiny-aside-pill.shiny-aside-pill--count {\n padding-inline: 0.5em;\n min-width: 1.4em;\n justify-content: center;\n}\n.shiny-aside-pill.shiny-aside-pill--number {\n position: relative;\n min-inline-size: 0;\n min-height: 0;\n padding: 0;\n border-radius: 0;\n background: transparent;\n white-space: nowrap;\n}\n.shiny-aside-pill.shiny-aside-pill--number::before {\n position: absolute;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n inline-size: 1.5rem;\n block-size: 1.5rem;\n border-radius: 0.25rem;\n content: \"\";\n transform: translate(-50%, -50%);\n}\n.shiny-aside-pill.shiny-aside-pill--number .shiny-aside-pill__count {\n padding: 0.12em 0.28em;\n border-radius: 0.25rem;\n background: var(--_aside-marker-bg);\n transform: translateY(-0.25em);\n}\n.shiny-aside-pill.shiny-aside-pill--number:hover, .shiny-aside-pill.shiny-aside-pill--number:focus-visible, .shiny-aside-pill.shiny-aside-pill--number[aria-expanded=true] {\n background: transparent;\n}\n.shiny-aside-pill.shiny-aside-pill--number:hover .shiny-aside-pill__count, .shiny-aside-pill.shiny-aside-pill--number:focus-visible .shiny-aside-pill__count, .shiny-aside-pill.shiny-aside-pill--number[aria-expanded=true] .shiny-aside-pill__count {\n background: var(--_aside-marker-hover-bg);\n}\n.shiny-aside-pill img {\n flex: 0 0 auto;\n width: 1.1em;\n height: 1.1em;\n border-radius: 50%;\n}\n.shiny-aside-pill .shiny-aside-pill__overflow {\n flex: 0 0 auto;\n opacity: 0.65;\n}\n.shiny-aside-pill .shiny-aside-pill__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-aside-pill:hover, .shiny-aside-pill:focus-visible, .shiny-aside-pill[aria-expanded=true] {\n background: var(--_aside-marker-hover-bg);\n color: var(--_aside-marker-hover-color);\n}\n\n[data-floating-ui-portal]:has(> .shiny-floating-overlay) {\n position: fixed;\n}\n\n.shiny-aside-popover {\n display: flex;\n flex-direction: column;\n z-index: 1040;\n box-sizing: border-box;\n width: min(22em, 100vw - 1rem);\n max-height: min(32rem, 100vh - 1rem);\n overflow: hidden;\n overflow-wrap: anywhere;\n word-break: break-word;\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, inherit);\n border: 1px solid rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.12);\n border-radius: 0.6em;\n box-shadow: 0 0.4em 1.2em rgba(0, 0, 0, 0.12);\n padding: 0.7em 0.8em;\n font-size: 0.8em;\n font-weight: 400;\n text-align: start;\n white-space: normal;\n}\n.shiny-aside-popover .shiny-aside-popover__nav {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: space-between;\n opacity: 0.65;\n margin-bottom: 0.5em;\n}\n.shiny-aside-popover .shiny-aside-popover__nav .shiny-aside-popover__nav-arrows {\n display: flex;\n align-items: center;\n gap: 0.6em;\n margin-left: -0.55em;\n}\n.shiny-aside-popover .shiny-aside-popover__nav .shiny-aside-popover__count {\n font-size: 0.75em;\n}\n.shiny-aside-popover .shiny-aside-popover__nav button {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n color: inherit;\n cursor: pointer;\n border-radius: 0.4em;\n min-width: 24px;\n min-height: 24px;\n padding: 0.4em 0.55em;\n margin: -0.4em 0;\n}\n.shiny-aside-popover .shiny-aside-popover__nav button:hover {\n background: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.08);\n}\n.shiny-aside-popover .shiny-aside-popover__label {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: 0.4em;\n font-weight: 600;\n margin-bottom: 0.4em;\n min-width: 0;\n overflow-wrap: anywhere;\n word-break: break-word;\n}\n.shiny-aside-popover .shiny-aside-popover__label img {\n flex: 0 0 auto;\n width: 1.1em;\n height: 1.1em;\n border-radius: 50%;\n}\n.shiny-aside-popover .shiny-aside-popover__label-text {\n display: -webkit-box;\n min-width: 0;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n.shiny-aside-popover .shiny-aside-popover__body {\n min-height: 0;\n overflow: auto;\n}\n.shiny-aside-popover .shiny-aside-popover__body p:last-child {\n margin-bottom: 0;\n}\n\n.shiny-web-activity {\n --_chevron-size: 12px;\n --_header-gap: 0.35em;\n --_chevron-center: calc(var(--_chevron-size) / 2);\n --_rail-indent: calc(var(--_chevron-size) + var(--_header-gap));\n --_dot-size: 0.5em;\n --_dot-center: 0.7em;\n --_node-gap: 0.7em;\n margin: 0.5em 0;\n font-size: 0.9em;\n}\n.shiny-web-activity .shiny-web-activity__header {\n display: inline-flex;\n align-items: center;\n gap: var(--_header-gap);\n background: none;\n border: none;\n padding: 0.15em 0;\n cursor: pointer;\n color: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.6);\n font: inherit;\n}\n.shiny-web-activity .shiny-web-activity__header:hover, .shiny-web-activity .shiny-web-activity__header:focus-visible {\n color: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.85);\n outline: none;\n}\n.shiny-web-activity .shiny-web-activity__chevron {\n display: block;\n flex: none;\n transition: transform 0.2s ease;\n}\n.shiny-web-activity .shiny-web-activity__chevron[data-expanded] {\n transform: rotate(90deg);\n}\n.shiny-web-activity .shiny-web-activity__timeline {\n position: relative;\n margin: 0.3em 0 0.2em;\n padding-left: var(--_rail-indent);\n}\n.shiny-web-activity .shiny-web-activity__node {\n position: relative;\n margin-bottom: var(--_node-gap);\n}\n.shiny-web-activity .shiny-web-activity__node::before {\n content: \"\";\n position: absolute;\n left: calc(var(--_chevron-center) - var(--_rail-indent) - var(--_dot-size) / 2);\n top: calc(var(--_dot-center) - var(--_dot-size) / 2);\n width: var(--_dot-size);\n height: var(--_dot-size);\n border-radius: 50%;\n background: var(--bs-body-bg, #fff);\n box-shadow: 0 0 0 1px rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.3);\n}\n.shiny-web-activity .shiny-web-activity__node::after {\n content: \"\";\n position: absolute;\n left: calc(var(--_chevron-center) - var(--_rail-indent) - 0.5px);\n top: var(--_dot-center);\n width: 1px;\n background: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.15);\n}\n.shiny-web-activity .shiny-web-activity__node:not(:last-child)::after {\n height: calc(100% + var(--_node-gap));\n}\n.shiny-web-activity .shiny-web-activity__node:last-child::after {\n content: none;\n}\n.shiny-web-activity .shiny-web-activity__node:last-child:has(.shiny-web-activity__results)::after {\n content: \"\";\n bottom: 0;\n}\n.shiny-web-activity .shiny-web-activity__qrow {\n display: flex;\n align-items: baseline;\n gap: 0.6em;\n}\n.shiny-web-activity .shiny-web-activity__query {\n flex: 1;\n font-weight: 500;\n}\n.shiny-web-activity .shiny-web-activity__count {\n white-space: nowrap;\n opacity: 0.6;\n font-size: 0.9em;\n}\n.shiny-web-activity .shiny-web-activity__results {\n margin-top: 0.4em;\n border: 1px solid rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.12);\n border-radius: var(--bs-border-radius, 0.5rem);\n max-height: 11em;\n overflow: auto;\n}\n.shiny-web-activity .shiny-web-activity__result {\n display: flex;\n align-items: center;\n gap: 0.6em;\n padding: 0.4em 0.6em;\n color: inherit;\n text-decoration: none;\n border-radius: var(--bs-border-radius, 0.4rem);\n}\n.shiny-web-activity .shiny-web-activity__result:hover {\n background: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05);\n}\n.shiny-web-activity .shiny-web-activity__fav {\n width: 1.1em;\n height: 1.1em;\n border-radius: 3px;\n flex: none;\n}\n.shiny-web-activity .shiny-web-activity__title {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.shiny-web-activity .shiny-web-activity__domain {\n white-space: nowrap;\n opacity: 0.55;\n font-size: 0.9em;\n}\n.shiny-web-activity .shiny-web-activity__fetch {\n display: flex;\n align-items: center;\n gap: 0.4em;\n}\n.shiny-web-activity .shiny-web-activity__fetch .shiny-web-activity__fetch-label {\n opacity: 0.6;\n}\n.shiny-web-activity .shiny-web-activity__fetch a {\n word-break: break-all;\n}\n.shiny-web-activity .shiny-web-activity__status--error {\n color: var(--bs-danger, #dc3545);\n}\n.shiny-web-activity .shiny-web-activity__status--ok {\n color: var(--bs-success, #2a9d4a);\n}\n\n.shiny-sources {\n display: inline-block;\n margin-top: 0.5rem;\n}\n\n.shiny-sources-pill {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n border: 1px solid var(--bs-border-color, #d5d7db);\n border-radius: 999px;\n padding: 0.25rem 0.75rem 0.25rem 0.5rem;\n background: var(--bs-tertiary-bg, #f6f7f9);\n color: inherit;\n font-size: 0.8125rem;\n cursor: pointer;\n}\n\n.shiny-sources-pill__stack {\n display: inline-flex;\n}\n.shiny-sources-pill__stack .shiny-sources-favicon {\n margin-left: -0.4375rem;\n border: 2px solid var(--bs-tertiary-bg, #f6f7f9);\n border-radius: 50%;\n}\n.shiny-sources-pill__stack .shiny-sources-favicon:first-child {\n margin-left: 0;\n}\n\n.shiny-sources-favicon {\n width: 1rem;\n height: 1rem;\n border-radius: 0.25rem;\n flex: 0 0 auto;\n}\n\n.shiny-sources-favicon--blank {\n background: var(--bs-secondary-bg, #e3e3e6);\n}\n\n.shiny-sources-popover {\n width: 21rem;\n max-height: 18rem;\n overflow-y: auto;\n background: var(--bs-body-bg, #fff);\n border: 1px solid var(--bs-border-color, #d5d7db);\n border-radius: 0.75rem;\n box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);\n padding: 0.375rem 0;\n z-index: 1040;\n}\n\n.shiny-sources-popover__title {\n font-size: 0.75rem;\n font-weight: 700;\n padding: 0.5rem 0.875rem 0.375rem;\n}\n\n.shiny-sources-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.shiny-sources-item__link {\n display: flex;\n gap: 0.625rem;\n padding: 0.5625rem 0.875rem;\n text-decoration: none;\n color: inherit;\n}\n.shiny-sources-item__link:hover {\n background: var(--bs-tertiary-bg, #f6f7f9);\n}\n.shiny-sources-item__link .shiny-sources-favicon {\n margin-top: 0.125rem;\n}\n\n.shiny-sources-item__text {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.shiny-sources-item__site {\n font-size: 0.71875rem;\n color: var(--bs-secondary-color, #8a8a8e);\n}\n\n.shiny-sources-item__title {\n font-size: 0.8125rem;\n font-weight: 600;\n line-height: 1.35;\n}\n\nshiny-chat-container .shiny-chat-suggestion-list {\n --_card-min-width: var(--shiny-chat-suggestion-card-min-width, 175px);\n --_card-reveal-stagger: var(\n --shiny-chat-suggestion-card-reveal-stagger,\n 100ms\n );\n list-style: none;\n padding: 0;\n margin-block: 0.5rem;\n font-size: 0.875rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(min(var(--_card-min-width), 100%), 1fr));\n gap: 0.75rem;\n}\nshiny-chat-container .shiny-chat-suggestion-list[data-pending] {\n display: flex;\n align-items: center;\n color: var(--bs-secondary-color, #6c757d);\n font-style: italic;\n animation: shiny-chat-suggestion-pending-pulse 1.75s ease-in-out infinite;\n animation-delay: 250ms;\n gap: 0.25em;\n}\nshiny-chat-container .shiny-chat-suggestion-list[data-pending] > li {\n display: none;\n}\nshiny-chat-container .shiny-chat-suggestion-list[data-pending]::before {\n content: \"Generating suggestions\u2026\";\n}\nshiny-chat-container .shiny-chat-suggestion-list[data-pending] > .markdown-stream-dot {\n margin-left: 0 !important;\n fill: currentColor;\n}\nshiny-chat-container .shiny-chat-suggestion-list:has(> li:only-child) {\n grid-template-columns: minmax(0, 360px);\n}\nshiny-chat-container .shiny-chat-suggestion-list > li {\n display: contents;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item {\n display: block;\n position: relative;\n padding: 0.75rem 2rem 0.75rem 1rem;\n border: var(--_border);\n border-radius: var(--shiny-chat-suggestion-card-border-radius, 8px);\n background-color: var(--bs-body-bg, #fff);\n cursor: pointer;\n color: inherit;\n text-decoration: none;\n transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.12s ease-out, box-shadow 0.15s ease;\n animation: shiny-chat-suggestion-card-reveal 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;\n animation-delay: calc(var(--_card-reveal-stagger) * var(--_card-index, 0));\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item::after {\n content: \"\u2192\";\n position: absolute;\n right: 0.75rem;\n bottom: 0.6rem;\n font-size: 0.95em;\n line-height: 1;\n opacity: 0.35;\n color: var(--bs-primary, #007bc2);\n transition: opacity 0.15s ease-out, transform 0.18s cubic-bezier(0.22, 1, 0.36, 1);\n transform: translateX(0);\n pointer-events: none;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:hover {\n border-color: rgba(var(--bs-link-color-rgb, 0, 123, 194), 0.5);\n background-color: var(--bs-tertiary-bg, #f8f9fa);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px -6px color-mix(in oklch, var(--bs-primary, #007bc2) 35%, transparent);\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:hover::after {\n opacity: 1;\n transform: translateX(2px);\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:active {\n transform: translateY(1px);\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:focus-visible::after {\n opacity: 1;\n transform: translateX(2px);\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item[data-last-clicked] {\n border-color: var(--bs-primary, #007bc2);\n background-color: color-mix(in oklch, var(--bs-body-bg, #fff) 92%, var(--bs-primary, #007bc2));\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item[data-last-clicked]::after {\n content: \"\u2713\";\n opacity: 1;\n transform: translateX(2px);\n}\nshiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item {\n counter-reset: card-number calc(var(--_card-index, 0) + 1);\n}\nshiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item::before {\n content: counter(card-number);\n position: absolute;\n top: 0.6rem;\n right: 0.85rem;\n font-size: 0.7em;\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n line-height: 1;\n color: color-mix(in oklch, var(--bs-secondary-color, #6c757d) 70%, var(--bs-primary, #007bc2));\n opacity: 0.6;\n transition: opacity 0.15s ease-out, color 0.15s ease-out;\n pointer-events: none;\n}\nshiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:hover::before, shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:focus-visible::before {\n opacity: 1;\n}\nshiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item[data-last-clicked]::before {\n opacity: 1;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item-title {\n font-weight: 600;\n margin-bottom: 0.25rem;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item-body {\n color: var(--bs-secondary-color, #6c757d);\n}\n\n@keyframes shiny-chat-suggestion-card-reveal {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes shiny-chat-suggestion-pending-pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.4;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n shiny-chat-container .shiny-chat-suggestion-list[data-pending],\n shiny-chat-container .shiny-chat-suggestion-list-item {\n animation: none;\n }\n shiny-chat-container .shiny-chat-suggestion-list-item,\n shiny-chat-container .shiny-chat-suggestion-list-item::after {\n transform: none !important;\n }\n}\nshiny-chat-container {\n --_greeting-max-width: var(--shiny-chat-greeting-max-width, 680px);\n --_greeting-color: var(--shiny-chat-greeting-color, var(--bs-secondary-color, #6c757d));\n}\n\n.shiny-chat-messages-wrapper:has(.shiny-chat-history-trigger) .shiny-chat-greeting {\n padding-inline-start: 2.5rem;\n}\n\n.shiny-chat-greeting {\n margin-inline: auto;\n width: 100%;\n max-width: var(--_greeting-max-width);\n padding: 1.5rem;\n color: var(--_greeting-color);\n}\n.shiny-chat-greeting.shiny-chat-greeting--enter {\n animation: shiny-chat-greeting-reveal 300ms cubic-bezier(0.22, 1, 0.36, 1) both;\n}\n.shiny-chat-greeting h1,\n.shiny-chat-greeting h2,\n.shiny-chat-greeting h3,\n.shiny-chat-greeting h4,\n.shiny-chat-greeting h5,\n.shiny-chat-greeting h6 {\n color: var(--bs-body-color);\n}\n.shiny-chat-greeting .shiny-chat-suggestion-list {\n max-width: var(--_greeting-max-width);\n}\n.shiny-chat-greeting[data-dismissing] {\n animation: shiny-chat-greeting-dismiss 200ms ease-out both;\n}\n\n.shiny-chat-messages:has(> .shiny-chat-messages-content:is(:empty, [data-greeting-dismissing])) > .shiny-chat-greeting {\n margin-block: auto;\n}\n\nshiny-chat-page .shiny-chat-layout[data-greeting-overflow] .shiny-chat-messages > .shiny-chat-greeting {\n flex: 0 0 auto;\n margin-block: 0;\n}\n\n.shiny-chat-messages-content:is(:empty, [data-greeting-dismissing]) {\n padding-bottom: 0;\n}\n\n.shiny-chat-messages-content[data-greeting-dismissing] > * {\n display: none;\n}\n\nshiny-chat-page .shiny-chat-layout[data-composer-centered] .shiny-chat-greeting {\n translate: 0 var(--_greeting-offset, 0px);\n}\n\nshiny-chat-page .shiny-chat-layout[data-composer-motion-ready][data-composer-centered]:not([data-composer-resizing]) .shiny-chat-greeting {\n transition: translate 350ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes shiny-chat-greeting-reveal {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes shiny-chat-greeting-dismiss {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n shiny-chat-page .shiny-chat-layout[data-composer-motion-ready][data-composer-centered]:not([data-composer-resizing]) .shiny-chat-greeting {\n transition: none;\n }\n .shiny-chat-greeting.shiny-chat-greeting--enter,\n .shiny-chat-greeting[data-dismissing] {\n animation: none;\n }\n}\n.shiny-chat-restoring {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n animation: shiny-chat-restoring-fade-in 300ms ease-out both;\n}\n.shiny-chat-restoring > span {\n padding: 0.4rem 1rem;\n border-radius: 2rem;\n font-size: 0.875rem;\n color: var(--_greeting-color);\n background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.04));\n border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));\n}\n\n@keyframes shiny-chat-restoring-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.shiny-chat-slash-palette {\n margin: 0;\n padding: 0.25rem 0;\n list-style: none;\n background: var(--bs-body-bg, #fff);\n border: var(--_border);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n max-height: 15rem;\n overflow-y: auto;\n min-width: 200px;\n}\n\n.shiny-chat-slash-palette-item {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n padding: 0.5rem 0.75rem;\n cursor: pointer;\n}\n.shiny-chat-slash-palette-item.highlighted {\n background: RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.06);\n}\n\n.shiny-chat-slash-palette-name {\n font-weight: 600;\n font-size: 0.9em;\n}\n\n.shiny-chat-slash-palette-desc {\n font-size: 0.8em;\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.shiny-chat-slash-palette-empty {\n padding: 0.5rem 0.75rem;\n font-size: 0.85em;\n color: var(--bs-secondary-color, #6c757d);\n font-style: italic;\n}\n\n.command-chip {\n --_chip-color: var(--shiny-chat-command-chip-color, var(--bs-primary, #007bc2));\n display: inline;\n font-family: var(--bs-font-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-size: 0.9em;\n color: light-dark(color-mix(in srgb, var(--_chip-color) 75%, black), color-mix(in srgb, var(--_chip-color) 75%, white));\n background: var(--shiny-chat-command-chip-bg, light-dark(color-mix(in srgb, var(--_chip-color) 10%, white), color-mix(in srgb, var(--_chip-color) 15%, black)));\n border: var(--shiny-chat-command-chip-border, 1px solid var(--shiny-chat-command-chip-border-color, light-dark(color-mix(in srgb, var(--_chip-color) 20%, white), color-mix(in srgb, var(--_chip-color) 25%, black))));\n border-radius: 4px;\n padding: 0.1em 0.35em;\n white-space: nowrap;\n line-height: 1.4;\n}\n\n.shiny-chat-history-trigger {\n --_history-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));\n --_history-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));\n --_history-border-color: var(\n --shiny-chat-history-border-color,\n var(--bs-border-color, #dee2e6)\n );\n position: absolute;\n top: 0.5rem;\n inset-inline-start: calc(0.5rem + var(--_history-trigger-shift, 0px));\n z-index: 5;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n padding: 0;\n border: var(--bs-border-width, 1px) solid var(--_history-border-color);\n border-radius: 50%;\n background-color: var(--_history-bg);\n color: var(--bs-secondary-color, #6c757d);\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n line-height: 1;\n}\n.shiny-chat-history-trigger:hover, .shiny-chat-history-trigger[aria-expanded=true] {\n color: var(--_history-accent);\n border-color: color-mix(in srgb, var(--_history-accent) 40%, var(--_history-border-color));\n background-color: light-dark(color-mix(in srgb, var(--_history-accent) 6%, var(--_history-bg)), color-mix(in srgb, var(--_history-accent) 14%, var(--_history-bg)));\n}\n.shiny-chat-history-trigger:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: 2px;\n}\n.shiny-chat-history-trigger svg {\n display: block;\n}\n\n.shiny-chat-history {\n --_history-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));\n --_history-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));\n --_history-border-color: var(\n --shiny-chat-history-border-color,\n var(--bs-border-color, #dee2e6)\n );\n --_history-muted: var(--bs-secondary-color, #6c757d);\n --_history-fg: var(--bs-body-color, #212529);\n --_history-danger: var(--bs-danger, #dc3545);\n --_history-item-hover-bg: var(\n --shiny-chat-history-item-hover-bg,\n light-dark(\n color-mix(in srgb, var(--_history-accent) 7%, transparent),\n color-mix(in srgb, var(--_history-accent) 14%, transparent)\n )\n );\n --_history-item-active-bg: var(\n --shiny-chat-history-item-active-bg,\n light-dark(\n color-mix(in srgb, var(--_history-accent) 13%, transparent),\n color-mix(in srgb, var(--_history-accent) 24%, transparent)\n )\n );\n position: absolute;\n inset: 0;\n z-index: 6;\n}\n.shiny-chat-history:focus {\n outline: none;\n}\n.shiny-chat-history-scrim {\n position: absolute;\n inset: 0;\n background: var(--shiny-chat-history-scrim, rgba(0, 0, 0, 0.25));\n animation: shiny-chat-history-scrim-in 0.2s ease forwards;\n}\n.shiny-chat-history[data-closing] .shiny-chat-history-scrim {\n animation: shiny-chat-history-scrim-out 0.2s ease forwards;\n}\n.shiny-chat-history-drawer {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n width: min(20rem, 85%);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--_history-bg);\n color: var(--_history-fg);\n border-inline-end: var(--bs-border-width, 1px) solid var(--_history-border-color);\n box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.12);\n animation: shiny-chat-history-drawer-in 0.2s ease forwards;\n}\n.shiny-chat-history[data-closing] .shiny-chat-history-drawer {\n animation: shiny-chat-history-drawer-out 0.2s ease forwards;\n}\n.shiny-chat-history-header {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.75rem 0.75rem 0.5rem;\n}\n.shiny-chat-history-title {\n margin: 0;\n font-size: 0.9375rem;\n font-weight: 600;\n line-height: 1.2;\n color: var(--_history-fg);\n}\n.shiny-chat-history-close {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: 0.375rem;\n background: none;\n color: var(--_history-muted);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n.shiny-chat-history-close:hover {\n background: var(--_history-item-hover-bg);\n color: var(--_history-fg);\n}\n.shiny-chat-history-close:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: 2px;\n}\n.shiny-chat-history-close svg {\n display: block;\n}\n.shiny-chat-history-toprow {\n flex-shrink: 0;\n display: flex;\n align-items: stretch;\n gap: 0.375rem;\n padding: 0 0.75rem 0.5rem;\n}\n.shiny-chat-history-new {\n --_history-new-focus: var(\n --shiny-chat-history-accent,\n var(--bs-primary-text-emphasis, var(--_history-accent))\n );\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.375rem;\n white-space: nowrap;\n padding: 0.375rem 0.75rem;\n font-size: 0.875rem;\n font-weight: 500;\n line-height: 1.5;\n border-radius: var(--bs-border-radius, 0.375rem);\n border: var(--bs-border-width, 1px) solid var(--_history-border-color);\n background: var(--bs-body-bg, #fff);\n color: var(--_history-fg);\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n}\n.shiny-chat-history-new svg {\n display: block;\n}\n.shiny-chat-history-new:hover:not(:disabled) {\n color: var(--_history-new-focus);\n background: var(--_history-item-hover-bg);\n}\n.shiny-chat-history-new:focus-visible {\n outline: 2px solid var(--_history-new-focus);\n outline-offset: 2px;\n}\n.shiny-chat-history-new:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n.shiny-chat-history-search-wrap {\n flex: 1;\n min-width: 0;\n position: relative;\n display: flex;\n align-items: stretch;\n}\n.shiny-chat-history-search-icon {\n position: absolute;\n inset-inline-start: 0.5rem;\n inset-block: 0;\n display: flex;\n align-items: center;\n color: var(--_history-muted);\n pointer-events: none;\n}\n.shiny-chat-history-search-icon svg {\n display: block;\n}\n.shiny-chat-history-search {\n flex: 1;\n min-width: 0;\n padding-inline-start: 1.75rem;\n font-size: 0.875rem;\n}\n.shiny-chat-history-search.form-control {\n border-color: var(--_history-border-color);\n}\n.shiny-chat-history-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n padding: 0 0.5rem 0.5rem;\n}\n.shiny-chat-history-section {\n position: sticky;\n top: 0;\n z-index: 1;\n font-size: 0.6875rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--_history-muted);\n background: var(--_history-bg);\n padding: 0.5rem 0.5rem 0.25rem;\n}\n.shiny-chat-history-section:first-child {\n padding-top: 0.25rem;\n}\n.shiny-chat-history-item {\n position: relative;\n display: flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.3125rem 0.5rem;\n border-radius: 0.375rem;\n color: var(--_history-fg);\n}\n.shiny-chat-history-item:hover {\n background: var(--_history-item-hover-bg);\n}\n.shiny-chat-history-item:has(> .shiny-chat-history-item-select:focus-visible) {\n outline: 2px solid var(--_history-accent);\n outline-offset: -2px;\n}\n.shiny-chat-history-item.active {\n background: var(--_history-item-active-bg);\n}\n.shiny-chat-history-item.active .shiny-chat-history-item-title {\n font-weight: 600;\n}\n.shiny-chat-history-item:has(> .shiny-chat-history-confirm) {\n background: color-mix(in srgb, var(--_history-danger) 9%, transparent);\n}\n.shiny-chat-history-item-select {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: 0.5rem;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n text-align: start;\n cursor: pointer;\n}\n.shiny-chat-history-item-select:focus-visible {\n outline: none;\n}\n.shiny-chat-history-item-select:disabled {\n cursor: not-allowed;\n}\n.shiny-chat-history-item-title {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 0.875rem;\n line-height: 1.3;\n}\n.shiny-chat-history-item-time {\n flex-shrink: 0;\n font-size: 0.6875rem;\n color: var(--_history-muted);\n font-variant-numeric: tabular-nums;\n}\n.shiny-chat-history-rename-input {\n flex: 1;\n min-width: 0;\n font-size: 0.875rem;\n}\n.shiny-chat-history-itemmenu {\n flex-shrink: 0;\n position: relative;\n opacity: 0;\n transition: opacity 0.12s ease;\n}\n.shiny-chat-history-itemmenu > button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n color: var(--_history-muted);\n border-radius: 0.25rem;\n line-height: 1;\n}\n.shiny-chat-history-itemmenu > button svg {\n display: block;\n}\n.shiny-chat-history-itemmenu > button:hover {\n background: color-mix(in srgb, var(--_history-accent) 12%, transparent);\n color: var(--_history-fg);\n}\n.shiny-chat-history-itemmenu > button:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: 1px;\n}\n.shiny-chat-history-item:hover .shiny-chat-history-itemmenu, .shiny-chat-history-item.active .shiny-chat-history-itemmenu, .shiny-chat-history-itemmenu:focus-within, .shiny-chat-history-itemmenu[data-menu-open] {\n opacity: 1;\n}\n@media (hover: none) {\n .shiny-chat-history-itemmenu {\n opacity: 1;\n }\n}\n.shiny-chat-history-menu {\n z-index: var(--bs-popover-zindex, 1070);\n min-width: 8rem;\n display: flex;\n flex-direction: column;\n padding: 0.25rem;\n background: var(--_history-bg);\n border: var(--bs-border-width, 1px) solid var(--_history-border-color);\n border-radius: 0.5rem;\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);\n}\n.shiny-chat-history-menu > button {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0.375rem 0.5rem;\n border-radius: 0.375rem;\n text-align: start;\n font-size: 0.8125rem;\n color: var(--_history-fg);\n}\n.shiny-chat-history-menu > button svg {\n flex-shrink: 0;\n display: block;\n}\n.shiny-chat-history-menu > button:hover {\n background: var(--_history-item-hover-bg);\n}\n.shiny-chat-history-menu > button:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: -2px;\n}\n.shiny-chat-history-menu > button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.shiny-chat-history-menu-danger {\n color: var(--_history-danger);\n}\n.shiny-chat-history-menu-danger:hover {\n background: color-mix(in srgb, var(--_history-danger) 10%, transparent);\n}\n.shiny-chat-history-confirm {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n flex-shrink: 0;\n font-size: 0.75rem;\n color: var(--_history-danger);\n}\n.shiny-chat-history-confirm > button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n border-radius: 0.25rem;\n color: var(--_history-muted);\n line-height: 1;\n}\n.shiny-chat-history-confirm > button svg {\n display: block;\n}\n.shiny-chat-history-confirm > button:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: 1px;\n}\n.shiny-chat-history-confirm-yes {\n color: var(--_history-danger);\n}\n.shiny-chat-history-confirm-yes:hover {\n background: color-mix(in srgb, var(--_history-danger) 12%, transparent);\n}\n.shiny-chat-history-confirm-no:hover {\n background: var(--_history-item-hover-bg);\n color: var(--_history-fg);\n}\n.shiny-chat-history-empty {\n text-align: center;\n color: var(--_history-muted);\n padding-block: 1.5rem;\n padding-inline: 1rem;\n font-size: 0.8125rem;\n line-height: 1.4;\n}\n\n@keyframes shiny-chat-history-drawer-in {\n from {\n transform: translateX(var(--_drawer-x, -100%));\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes shiny-chat-history-drawer-out {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(var(--_drawer-x, -100%));\n }\n}\n@keyframes shiny-chat-history-scrim-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes shiny-chat-history-scrim-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\nshiny-chat-container[data-history-placement=right] .shiny-chat-history-trigger {\n inset-inline-start: auto;\n inset-inline-end: calc(0.5rem + var(--_history-trigger-shift, 0px));\n}\nshiny-chat-container[data-history-placement=right] .shiny-chat-history-drawer {\n inset-inline-start: auto;\n inset-inline-end: 0;\n --_drawer-x: 100%;\n border-inline-end: none;\n border-inline-start: var(--bs-border-width, 1px) solid var(--_history-border-color);\n}\n\n.bslib-sidebar-layout.sidebar-collapsed:not(.sidebar-right):has(shiny-chat-container:not([data-history-placement=right]) .shiny-chat-history) > .collapse-toggle,\n.bslib-sidebar-layout.sidebar-collapsed.sidebar-right:has(shiny-chat-container[data-history-placement=right] .shiny-chat-history) > .collapse-toggle {\n display: none;\n}\n\n.shiny-chat-history.shiny-chat-history-inline {\n --_history-inline-bg: var(--_history-bg);\n position: static;\n inset: auto;\n z-index: auto;\n display: block;\n min-width: 0;\n overflow: visible;\n border: 0;\n border-radius: 0;\n background: var(--shiny-chat-history-bg, transparent);\n color: var(--_history-fg);\n box-shadow: none;\n}\n.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-toprow {\n padding-inline: 0;\n}\n.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-list {\n padding-inline: 0;\n}\n.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-list {\n max-block-size: min(32rem, 60vh);\n}\n.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-section {\n background: var(--_history-inline-bg);\n}\n\nshiny-chat-history {\n display: block;\n min-width: 0;\n}\n\n@property --_drawer-layout-width {\n syntax: \"\";\n inherits: true;\n initial-value: 0px;\n}\n@property --_drawer-layout-gap {\n syntax: \"\";\n inherits: true;\n initial-value: 0px;\n}\n.shiny-chat-layout {\n --_drawer-layout-width: 0px;\n --_drawer-layout-gap: 0px;\n min-width: 0;\n min-height: 0;\n width: 100%;\n height: 100%;\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, var(--_drawer-layout-width));\n grid-template-rows: minmax(0, 1fr) auto;\n column-gap: var(--_drawer-layout-gap);\n transition: --_drawer-layout-width 180ms cubic-bezier(0.16, 1, 0.3, 1), --_drawer-layout-gap 180ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.shiny-chat-drawer-trigger {\n --_drawer-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));\n --_drawer-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));\n --_drawer-border-color: var(--shiny-chat-history-border-color, var(--bs-border-color, #dee2e6));\n position: absolute;\n top: 0.5rem;\n inset-inline-end: 0.5rem;\n z-index: 5;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n padding: 0;\n border: var(--bs-border-width, 1px) solid var(--_drawer-border-color);\n border-radius: 50%;\n background-color: var(--_drawer-bg);\n color: var(--bs-secondary-color, #6c757d);\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n line-height: 1;\n}\n.shiny-chat-drawer-trigger:hover {\n color: var(--_drawer-accent);\n border-color: color-mix(in srgb, var(--_drawer-accent) 40%, var(--_drawer-border-color));\n background-color: light-dark(color-mix(in srgb, var(--_drawer-accent) 6%, var(--_drawer-bg)), color-mix(in srgb, var(--_drawer-accent) 14%, var(--_drawer-bg)));\n}\n.shiny-chat-drawer-trigger:focus-visible {\n outline: 2px solid var(--_drawer-accent);\n outline-offset: 2px;\n}\n.shiny-chat-drawer-trigger svg {\n display: block;\n}\n\nshiny-chat-container[data-history-placement=right] .shiny-chat-drawer-trigger {\n top: 3rem;\n}\n\n.shiny-chat-layout[data-drawer-open] {\n --_drawer-layout-width: var(--_drawer-width, 400px);\n --_drawer-layout-gap: clamp(0.75rem, 1.5cqi, 1.5rem);\n align-items: stretch;\n}\n.shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper {\n box-sizing: border-box;\n width: 100%;\n justify-self: center;\n}\n\n.shiny-chat-layout > .shiny-chat-wrapper {\n grid-column: 1;\n grid-row: 1;\n}\n\n.shiny-chat-layout > .shiny-chat-footer {\n grid-column: 1;\n grid-row: 2;\n}\n\n.shiny-chat-drawer-width-probe {\n position: absolute;\n visibility: hidden;\n pointer-events: none;\n contain: layout style;\n height: 0;\n overflow: hidden;\n}\n\n.shiny-chat-layout[data-drawer-takeover] {\n position: relative;\n z-index: 7;\n}\n\n.shiny-chat-drawer {\n grid-column: 2;\n grid-row: 1/-1;\n position: relative;\n min-width: 0;\n min-height: 0;\n width: 100%;\n height: 100%;\n display: grid;\n grid-template-rows: auto minmax(0, 1fr);\n overflow: visible;\n border: 0;\n border-inline-start: var(--_border);\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n box-shadow: -2px 0 8px rgba(33, 37, 41, 0.06);\n opacity: 1;\n transform: translateX(0);\n transition: opacity 140ms ease-out, transform 180ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.shiny-chat-drawer[data-motion=opening],\n.shiny-chat-drawer[data-motion=closing] {\n opacity: 0;\n pointer-events: none;\n transform: translateX(0.75rem);\n}\n\n.shiny-chat-layout:is([data-drawer-resizing], [data-drawer-takeover]) {\n transition: none;\n}\n\n.shiny-chat-layout[data-drawer-resizing] .shiny-chat-drawer {\n transition: none;\n}\n\n@container shiny-chat (min-width: 640px) {\n .shiny-chat-layout .shiny-chat-wrapper {\n justify-self: center;\n }\n}\n.shiny-chat-drawer-header {\n min-width: 0;\n min-height: 2.75rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.75rem;\n padding: 0.5rem 0.625rem 0.5rem 1rem;\n border-bottom: var(--_border);\n}\n.shiny-chat-drawer-header h2 {\n min-width: 0;\n margin: 0;\n overflow: hidden;\n font-size: 1rem;\n font-weight: 600;\n line-height: 1.25;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shiny-chat-drawer-close {\n width: 2rem;\n height: 2rem;\n flex: 0 0 auto;\n display: inline-grid;\n place-items: center;\n border: 0;\n border-radius: 4px;\n background: transparent;\n color: var(--bs-secondary-color, #6c757d);\n cursor: pointer;\n}\n.shiny-chat-drawer-close:hover {\n background: var(--bs-tertiary-bg, #f2f4f5);\n color: var(--bs-body-color, #212529);\n}\n.shiny-chat-drawer-close:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n\n.shiny-chat-drawer-content {\n min-width: 0;\n min-height: 0;\n overflow: auto;\n padding: 1rem;\n}\n\n.shiny-chat-drawer-generation {\n display: contents;\n}\n\n.shiny-chat-drawer-resizer {\n inset-inline-start: 0;\n}\n\n@container shiny-chat (max-width: 639.99px) {\n .shiny-chat-layout[data-drawer-open] {\n display: block;\n column-gap: 0;\n }\n .shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper {\n display: none;\n }\n .shiny-chat-layout[data-drawer-open] .shiny-chat-footer {\n display: none;\n }\n .shiny-chat-layout[data-drawer-open] .shiny-chat-drawer {\n width: 100%;\n min-height: 100%;\n border-inline: 0;\n box-shadow: none;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-layout,\n .shiny-chat-drawer,\n .shiny-chat-layout .shiny-chat-wrapper {\n transition: none;\n }\n}\nshiny-chat-container {\n --_border: var(--shiny-chat-border, var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef));\n --_user-message-bg: var(--shiny-chat-user-message-bg, RGBA(var(--bs-primary-rgb, 0, 123, 194), 0.06));\n --_chat-container-padding: var(--shiny-chat-fill-padding, 0.25rem);\n --_attachment-size: var(--shiny-chat-attachment-size, 4.5rem);\n --_activity-opacity: var(--shiny-chat-activity-opacity, 0.7);\n --_activity-opacity-muted: 0.66;\n position: relative;\n width: 100%;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr;\n container-type: inline-size;\n container-name: shiny-chat;\n min-height: var(--_min-height);\n}\nshiny-chat-container p:last-child {\n margin-bottom: 0;\n}\nshiny-chat-container .suggestion,\nshiny-chat-container [data-suggestion] {\n cursor: pointer;\n}\nshiny-chat-container .suggestion {\n color: var(--bs-link-color, #007bc2);\n text-decoration-color: var(--bs-link-color, #007bc2);\n text-decoration-line: underline;\n text-decoration-style: dotted;\n text-decoration-thickness: 2px;\n text-underline-offset: 4px;\n padding-inline: 2px;\n}\nshiny-chat-container .suggestion:hover {\n text-decoration-style: solid;\n}\nshiny-chat-container .suggestion::after {\n content: \"\u2726\";\n display: inline-block;\n margin-inline-start: 0.15em;\n}\nshiny-chat-container .suggestion.submit::after, shiny-chat-container .suggestion[data-suggestion-submit=\"\"]::after, shiny-chat-container .suggestion[data-suggestion-submit=true]::after {\n content: \"\u21B5\";\n}\nshiny-chat-container .card[data-suggestion]:hover {\n color: var(--bs-link-color, #007bc2);\n border-color: rgba(var(--bs-link-color-rgb), 0.5);\n}\n\n:where(shiny-chat-container:has(> .shiny-chat-history-trigger)) {\n --_min-height: 400px;\n}\n\n@media (prefers-contrast: more), (prefers-reduced-transparency: reduce), (forced-colors: active) {\n shiny-chat-container {\n --_activity-opacity: 1;\n --_activity-opacity-muted: 1;\n }\n}\n.shiny-chat-wrapper {\n min-width: 0;\n min-height: 0;\n width: 100%;\n max-width: var(--_chat-width, min(680px, 100%));\n margin-inline: auto;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: minmax(0, 1fr) auto;\n gap: 0;\n padding: var(--_chat-container-padding);\n padding-bottom: 0;\n}\n\n.shiny-chat-composer {\n --_chat-composer-input-padding-bottom: var(\n --shiny-chat-input-padding-bottom,\n var(--_chat-container-padding, 0.25rem)\n );\n grid-row: 2;\n min-width: 0;\n position: sticky;\n bottom: calc(-1 * var(--_chat-composer-input-padding-bottom));\n translate: 0 var(--_composer-offset, 0px);\n}\n\n.shiny-chat-layout:has(> .shiny-chat-footer) .shiny-chat-composer {\n --_chat-composer-input-padding-bottom: 0px;\n}\n\n.shiny-chat-input-toolbar {\n margin-top: calc(-1 * var(--_chat-composer-input-padding-bottom));\n padding: 0.25rem 0 var(--_chat-composer-input-padding-bottom);\n}\n\n.shiny-chat-layout[data-composer-motion-ready]:not([data-composer-resizing]) .shiny-chat-composer {\n transition: translate 350ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\nshiny-chat-page .shiny-chat-layout[data-composer-revealing] .shiny-chat-composer {\n animation: shiny-chat-composer-reveal 300ms cubic-bezier(0.22, 1, 0.36, 1) both;\n}\n\n@keyframes shiny-chat-composer-reveal {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n shiny-chat-page .shiny-chat-layout[data-composer-motion-ready]:not([data-composer-resizing]) .shiny-chat-composer {\n transition: none;\n }\n shiny-chat-page .shiny-chat-layout[data-composer-revealing] .shiny-chat-composer {\n animation: none;\n }\n}\n.shiny-chat-messages-wrapper {\n position: relative;\n min-height: 0;\n min-width: 0;\n overflow: clip;\n display: flex;\n flex-direction: column;\n}\n\n:where(shiny-chat-container[data-inline-controls]) {\n --_chat-inline-controls-inset: 3rem;\n}\n\n:where(shiny-chat-container[data-history-placement=right][data-inline-controls~=drawer]) {\n --_chat-inline-controls-inset: 5.5rem;\n}\n\nshiny-chat-container:not([fill]) .shiny-chat-messages-wrapper {\n min-height: 15rem;\n}\nshiny-chat-container:not([fill]) .shiny-chat-history {\n position: fixed;\n}\n\n.shiny-chat-messages {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n padding-block-start: var(--_chat-inline-controls-inset, 0px);\n display: flex;\n flex-direction: column;\n --_scroll-margin: 1rem;\n padding-right: var(--_scroll-margin);\n margin-right: calc(-1 * var(--_scroll-margin));\n}\n\n.shiny-chat-messages-content {\n --_messages-padding-bottom: var(--shiny-chat-messages-padding-bottom, 4rem);\n display: flex;\n flex-direction: column;\n gap: 2rem;\n padding-bottom: var(--_messages-padding-bottom);\n}\n\n.shiny-chat-message {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n gap: 1rem;\n /* Vertically center the 2nd column (message content) */\n /* When the icon is removed (icon_assistant=False / icon=False), collapse the\n grid to a single content column so nothing dangles where the icon was. */\n}\n.shiny-chat-message > * {\n height: fit-content;\n}\n.shiny-chat-message .message-icon {\n border-radius: 50%;\n border: var(--_border);\n height: 2rem;\n width: 2rem;\n display: grid;\n place-items: center;\n overflow: clip;\n}\n.shiny-chat-message .message-icon > * {\n height: 100%;\n width: 100%;\n max-width: 100%;\n max-height: 100%;\n margin: 0 !important;\n object-fit: contain;\n}\n.shiny-chat-message .message-icon > svg,\n.shiny-chat-message .message-icon > .icon,\n.shiny-chat-message .message-icon > .fa,\n.shiny-chat-message .message-icon > .bi {\n max-height: 66%;\n max-width: 66%;\n}\n.shiny-chat-message .message-icon:has(> .border-0) {\n border: none;\n border-radius: unset;\n overflow: unset;\n}\n.shiny-chat-message .shiny-chat-message-content {\n align-self: center;\n padding-right: 1px;\n position: relative;\n}\n.shiny-chat-message .shiny-chat-message-content[data-pending] {\n min-height: 1.5em;\n}\n.shiny-chat-message:not(:has(> .message-icon)) {\n grid-template-columns: minmax(0, 1fr);\n gap: 0;\n}\n\n.shiny-chat-pending-indicator {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-flex;\n align-items: center;\n height: 1.5em;\n padding-left: 0.4rem;\n opacity: 0;\n pointer-events: none;\n animation: shiny-chat-pending-indicator-appear 0.2s ease forwards;\n}\n.shiny-chat-pending-indicator > svg {\n width: 1.35em;\n height: auto;\n}\n.shiny-chat-pending-indicator[data-exiting] {\n animation: shiny-chat-pending-indicator-exit 0.2s ease forwards;\n}\n\n@keyframes shiny-chat-pending-indicator-appear {\n to {\n opacity: 1;\n }\n}\n@keyframes shiny-chat-pending-indicator-exit {\n to {\n opacity: 0;\n }\n}\n.shiny-chat-message-body[data-entering] {\n animation: shiny-chat-content-enter 0.2s ease;\n}\n\n@keyframes shiny-chat-content-enter {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-pending-indicator {\n animation: shiny-chat-pending-indicator-appear 0s ease forwards;\n }\n .shiny-chat-pending-indicator[data-exiting] {\n animation: shiny-chat-pending-indicator-exit 0s ease forwards;\n }\n .shiny-chat-message-body[data-entering] {\n animation: none;\n }\n}\n.shiny-chat-message-content > .shiny-chat-message-body > hr:first-child {\n display: none;\n}\n\n.shiny-chat-message-cancelled {\n font-size: 0.8em;\n opacity: 0.5;\n font-style: italic;\n}\n.shiny-chat-message-cancelled:not(:first-child) {\n margin-top: 0.5em;\n}\n\n/* Error-boundary fallbacks: a whole message (MessageErrorBoundary) or a\n single block/tool-card body (BlockErrorBoundary). */\n.shiny-chat-message-error,\n.shiny-chat-block-error {\n color: var(--bs-danger, #dc3545);\n font-size: 0.875em;\n padding: 0.25rem 0;\n}\n.shiny-chat-message-error pre,\n.shiny-chat-block-error pre {\n color: inherit;\n margin: 0;\n white-space: pre-wrap;\n}\n\n/* Align the user message to the right */\n.shiny-chat-user-message {\n position: relative;\n align-self: flex-end;\n padding: var(--shiny-chat-user-message-padding, 0.75rem 1rem);\n border-radius: var(--shiny-chat-user-message-border-radius, 10px);\n background-color: var(--_user-message-bg);\n max-width: 100%;\n grid-template-columns: auto;\n user-select: none;\n touch-action: pan-y;\n}\n.shiny-chat-user-message .shiny-chat-message-content {\n user-select: text;\n}\n\n.shiny-chat-user-message + .shiny-chat-message {\n margin-top: calc(-1 * var(--shiny-chat-user-assistant-gap-reduction, 0px));\n}\n\n.shiny-chat-message .content-type-text,\n.shiny-chat-user-message .content-type-text {\n white-space: pre;\n overflow-x: auto;\n}\n\n.shiny-chat-btn-send {\n --_btn-send-state-color:\n var(--shiny-chat-btn-send-color-ready, var(--bs-primary, #007bc2));\n --_input-icon-size: var(--shiny-chat-input-icon-size, 24px);\n position: absolute;\n bottom: var(--_input-control-inset, 8px);\n right: var(--_input-control-inset, 8px);\n width: var(--shiny-chat-btn-send-size, 24px);\n height: var(--shiny-chat-btn-send-size, 24px);\n background-color: var(--shiny-chat-btn-send-bg, var(--_btn-send-state-color));\n color: var(--shiny-chat-btn-send-color, #fff);\n border: var(--shiny-chat-btn-send-border, none);\n transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n}\n.shiny-chat-btn-send svg {\n display: block !important;\n flex: none;\n width: var(--_input-icon-size) !important;\n height: var(--_input-icon-size) !important;\n margin: 0 !important;\n}\n.shiny-chat-btn-send:hover:not(:disabled) {\n color: var(--shiny-chat-btn-send-color-hover, var(--shiny-chat-btn-send-color, #fff));\n background-color: var(--shiny-chat-btn-send-bg-hover, color-mix(in srgb, var(--_btn-send-state-color) 92%, black));\n border-color: var(--shiny-chat-btn-send-border-color-hover, transparent);\n}\n.shiny-chat-btn-send:active:not(:disabled) {\n color: var(--shiny-chat-btn-send-color-active, var(--shiny-chat-btn-send-color, #fff));\n background-color: var(--shiny-chat-btn-send-bg-active, color-mix(in srgb, var(--_btn-send-state-color) 85%, black));\n}\n.shiny-chat-btn-send:disabled {\n cursor: not-allowed;\n --_btn-send-state-color:\n var(--shiny-chat-btn-send-color-empty, var(--bs-gray-500, #8d959e));\n}\n.shiny-chat-btn-send[data-state=cancel], .shiny-chat-btn-send[data-state=cancelling] {\n --_btn-send-state-color:\n var(--shiny-chat-btn-send-color-cancel, var(--bs-danger, #dc3545));\n}\n.shiny-chat-btn-send[data-state=pending], .shiny-chat-btn-send[data-state=cancelling] {\n pointer-events: none;\n cursor: default;\n}\n.shiny-chat-btn-send[data-state=pending] svg, .shiny-chat-btn-send[data-state=cancelling] svg {\n width: calc(var(--_input-icon-size) - 2px) !important;\n height: calc(var(--_input-icon-size) - 2px) !important;\n animation: shiny-chat-spin 0.75s linear infinite;\n transform-origin: center;\n}\n\n.shiny-chat-btn-attach {\n --_input-icon-size: var(--shiny-chat-input-icon-size, 22px);\n position: absolute;\n bottom: var(--_input-control-inset, 8px);\n left: var(--_input-control-inset, 8px);\n z-index: 1;\n width: 24px;\n height: 24px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n color: var(--bs-gray-600, #707782);\n transition: color 0.25s ease-in-out;\n border: none;\n padding: 0;\n cursor: pointer;\n border-radius: 50%;\n}\n.shiny-chat-btn-attach svg {\n display: block;\n width: var(--_input-icon-size);\n height: var(--_input-icon-size);\n}\n.shiny-chat-btn-attach:hover:not(:disabled) {\n color: var(--bs-primary, #007bc2);\n}\n.shiny-chat-btn-attach:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.shiny-chat-input {\n --_input-padding-top: 0;\n --_input-padding-bottom: var(--_chat-composer-input-padding-bottom);\n --_input-control-inset: 8px;\n margin-top: calc(-1 * var(--_input-padding-top));\n position: sticky;\n bottom: calc(-1 * var(--_input-padding-bottom));\n padding-block: var(--_input-padding-top) var(--_input-padding-bottom);\n}\n.shiny-chat-input .tiptap {\n --bs-border-radius: 26px;\n padding-right: 36px !important;\n max-height: 175px;\n overflow-y: auto;\n}\n.shiny-chat-input .tiptap.is-empty::before {\n content: attr(data-placeholder);\n color: var(--bs-gray-600, #707782);\n float: left;\n height: 0;\n pointer-events: none;\n}\n.shiny-chat-input:has(.shiny-chat-btn-attach) .tiptap {\n padding-left: 36px !important;\n}\n.shiny-chat-input:has(.shiny-chat-input-attachments) {\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 20px;\n}\n.shiny-chat-input:has(.shiny-chat-input-attachments) .tiptap {\n border-color: transparent !important;\n background: transparent !important;\n box-shadow: none !important;\n}\n.shiny-chat-input:has(.shiny-chat-input-attachments):focus-within {\n border-color: var(--bs-primary, #007bc2);\n}\n.shiny-chat-input .shiny-chat-btn-send {\n bottom: calc(var(--_input-control-inset) - 2px + var(--_input-padding-bottom));\n}\n.shiny-chat-input .shiny-chat-btn-attach {\n bottom: calc(var(--_input-control-inset) - 2px + var(--_input-padding-bottom));\n}\n\n@keyframes shiny-chat-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.shiny-chat-footer {\n --_footer-font-size: var(--shiny-chat-footer-font-size, 0.8125em);\n --_footer-color: var(--shiny-chat-footer-color, var(--bs-secondary-color, #6c757d));\n font-size: var(--_footer-font-size);\n color: var(--_footer-color);\n text-align: center;\n padding: 0.25rem var(--_chat-container-padding) var(--shiny-chat-input-padding-bottom, 0.25rem);\n}\n\n/*\n Disable the page-level pulse when the chat input is disabled\n (i.e., when a response is being generated and brought into the chat)\n*/\n.shiny-busy:has(.shiny-chat-input.disabled)::after {\n display: none;\n}\n\n/* Scroll-to-bottom button \u2014 absolutely positioned within the messages wrapper */\n.shiny-chat-scroll-to-bottom {\n position: absolute;\n bottom: 8px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 8px;\n border: var(--_border);\n border-radius: 50%;\n background-color: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n cursor: pointer;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);\n transition: background-color 0.15s ease, box-shadow 0.15s ease;\n line-height: 1;\n}\n.shiny-chat-scroll-to-bottom:hover {\n background-color: var(--bs-tertiary-bg, #f8f9fa);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);\n}\n.shiny-chat-scroll-to-bottom:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n.shiny-chat-scroll-to-bottom svg {\n display: block;\n}\n.shiny-chat-scroll-to-bottom.streaming {\n --_streaming-gradient: var(\n --shiny-chat-streaming-color,\n var(--bs-indigo, #4b00c1),\n var(--bs-purple, #74149c),\n var(--bs-pink, #bf007f)\n );\n --_streaming-arc-length: 30%;\n --_streaming-arc-thickness: 1.5px;\n}\n.shiny-chat-scroll-to-bottom.streaming::before {\n content: \"\";\n position: absolute;\n inset: -1px;\n border-radius: 50%;\n background: conic-gradient(transparent, transparent calc(100% - var(--_streaming-arc-length)), var(--_streaming-gradient));\n animation: shiny-chat-spin 1.2s linear infinite;\n -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--_streaming-arc-thickness) - 0.5px), #000 calc(100% - 0.5px));\n mask: radial-gradient(farthest-side, transparent calc(100% - var(--_streaming-arc-thickness) - 0.5px), #000 calc(100% - 0.5px));\n}\n\n@keyframes shiny-chat-spin {\n to {\n transform: rotate(360deg);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-scroll-to-bottom.streaming::before {\n animation: none;\n }\n}\n/* External link dialog styling */\n.shiny-chat-external-link-dialog {\n padding: 0;\n border: none;\n background: none;\n max-width: min(680px, 90%);\n}\n.shiny-chat-external-link-dialog .modal {\n height: auto;\n}\n\n.shiny-chat-external-link-dialog::backdrop {\n background-color: rgba(0, 0, 0, 0.5);\n}\n\n.shiny-chat-external-link-dialog .link-url {\n word-break: break-all;\n font-weight: 500;\n}\n\n/* Thinking display */\n.shiny-chat-thinking {\n --_thinking-header-color: var(--shiny-chat-thinking-header-color, inherit);\n --_thinking-border-color: var(--shiny-chat-thinking-border-color, var(--bs-border-color, #dee2e6));\n --_thinking-content-color: var(--shiny-chat-thinking-content-color, var(--bs-secondary-color, #6c757d));\n --_row-pad: 0.4rem;\n --_row-glyph-width: 0.9em;\n font-size: 0.8em;\n}\n\n.shiny-chat-thinking-header {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n min-height: 2em;\n padding: 0.25rem var(--_row-pad);\n border-radius: 6px;\n background: none;\n border: none;\n text-align: left;\n color: var(--_thinking-header-color);\n cursor: pointer;\n font: inherit;\n opacity: var(--_activity-opacity);\n}\n.shiny-chat-thinking-header:hover, .shiny-chat-thinking-header:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n}\n\n.shiny-chat-thinking-disclosure {\n margin-inline-start: auto;\n}\n\n.shiny-chat-thinking-label {\n transition: opacity 0.2s ease;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-thinking-label[data-fading] {\n opacity: 0;\n}\n\n.shiny-chat-thinking-dot {\n margin-left: 0;\n fill: currentColor;\n opacity: 0;\n transform-origin: center;\n animation: shiny-chat-thinking-dot-appear 0.2s ease 500ms forwards, shiny-chat-thinking-dot-pulse 1.75s infinite cubic-bezier(0.18, 0.89, 0.32, 1.28) 500ms;\n}\n\n@keyframes shiny-chat-thinking-dot-appear {\n to {\n opacity: 0.6;\n }\n}\n@keyframes shiny-chat-thinking-dot-pulse {\n 0% {\n transform: scale(1);\n opacity: 0.6;\n }\n 50% {\n transform: scale(0.4);\n opacity: 0.3;\n }\n 100% {\n transform: scale(1);\n opacity: 0.6;\n }\n}\n.shiny-chat-thinking-content {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease;\n margin-left: calc(var(--_row-pad) + var(--_row-glyph-width) / 2 - 1px);\n border-left: 2px solid var(--_thinking-border-color);\n}\n.shiny-chat-thinking-content[data-expanded] {\n grid-template-rows: 1fr;\n max-height: 33dvh;\n}\n\n.shiny-chat-thinking-content-inner {\n overflow: hidden;\n padding-left: 0.75rem;\n padding-block: 0;\n color: var(--_thinking-content-color);\n font-size: 0.9em;\n}\n[data-expanded] > .shiny-chat-thinking-content-inner {\n padding-block: 0.25rem;\n max-height: 33dvh;\n overflow-y: auto;\n}\n\n.shiny-chat-thinking-topic {\n font-weight: 600;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-thinking-dot {\n animation: shiny-chat-thinking-dot-appear 0s ease 500ms forwards;\n }\n .shiny-chat-thinking-disclosure {\n transition: none;\n }\n .shiny-chat-thinking-content {\n transition: none;\n }\n .shiny-chat-thinking-content-inner {\n transition: none;\n }\n .shiny-chat-thinking-label {\n transition: none;\n }\n}\n.shiny-chat-input-attachments {\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n gap: 0.5rem;\n padding: 0.625rem 0.625rem 0;\n margin-bottom: 0;\n}\n.shiny-chat-input-attachments > *:focus {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n\n.shiny-chat-input-thumbnail {\n position: relative;\n width: 3.5rem;\n min-height: 3.5rem;\n border-radius: 0.5rem;\n overflow: hidden;\n border: 1px solid var(--bs-border-color, #ccc);\n}\n.shiny-chat-input-thumbnail img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n.shiny-chat-input-thumbnail button {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 1rem;\n height: 1rem;\n line-height: 1rem;\n padding: 0;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 0.7rem;\n cursor: pointer;\n}\n\n.shiny-chat-input-notice {\n font-size: 0.8em;\n opacity: 0.7;\n padding: 0.375rem 0.75rem 0;\n margin-bottom: 0;\n}\n\n.shiny-chat-input-attachment-chip,\n.shiny-chat-message-attachment-chip {\n position: relative;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n min-height: 3.5rem;\n min-width: 9rem;\n max-width: 14rem;\n padding: 0 1.4rem 0 0.6rem;\n border-radius: 0.5rem;\n border: 1px solid var(--bs-border-color, #ccc);\n background: var(--bs-tertiary-bg, #f3f4f6);\n}\n.shiny-chat-input-attachment-chip .shiny-chat-attachment-badge,\n.shiny-chat-message-attachment-chip .shiny-chat-attachment-badge {\n flex: 0 0 auto;\n display: flex;\n align-items: flex-end;\n justify-content: center;\n width: 2rem;\n height: 2.4rem;\n padding-bottom: 3px;\n border-radius: 3px;\n background: #b91c1c;\n color: #fff;\n font-size: 0.55rem;\n font-weight: 700;\n}\n.shiny-chat-input-attachment-chip .shiny-chat-attachment-meta,\n.shiny-chat-message-attachment-chip .shiny-chat-attachment-meta {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n.shiny-chat-input-attachment-chip .shiny-chat-attachment-name,\n.shiny-chat-message-attachment-chip .shiny-chat-attachment-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 0.72rem;\n font-weight: 600;\n}\n.shiny-chat-input-attachment-chip .shiny-chat-attachment-size,\n.shiny-chat-message-attachment-chip .shiny-chat-attachment-size {\n font-size: 0.62rem;\n opacity: 0.7;\n}\n.shiny-chat-input-attachment-chip button,\n.shiny-chat-message-attachment-chip button {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 1rem;\n height: 1rem;\n line-height: 1rem;\n padding: 0;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 0.7rem;\n cursor: pointer;\n}\n\n.shiny-chat-message-attachment-chip {\n height: var(--_attachment-size);\n min-height: 0;\n padding: 0.5rem 0.75rem;\n font: inherit;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n.shiny-chat-message-attachments {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n margin-bottom: 0.5rem;\n align-items: flex-start;\n}\n.shiny-chat-message-attachments .shiny-chat-text-preview {\n height: var(--_attachment-size);\n}\n.shiny-chat-message-attachments .shiny-chat-text-preview[role=button] {\n cursor: pointer;\n}\n\n.shiny-chat-message-image-btn {\n width: var(--_attachment-size);\n height: var(--_attachment-size);\n padding: 0;\n border: 1px solid var(--bs-border-color, #ccc);\n border-radius: 0.5rem;\n overflow: hidden;\n background: none;\n cursor: zoom-in;\n}\n\n.shiny-chat-text-preview {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 12rem;\n max-width: 14rem;\n border-radius: 0.5rem;\n border: 1px solid var(--bs-border-color, #ccc);\n background: var(--bs-tertiary-bg, #f3f4f6);\n overflow: hidden;\n}\n.shiny-chat-text-preview .shiny-chat-text-preview-body {\n flex: 1 1 3.6em;\n min-height: 0;\n padding: 0.45rem 0.55rem 0.2rem;\n overflow: hidden;\n font-family: var(--bs-font-monospace, monospace);\n font-size: 0.66rem;\n line-height: 1.2;\n white-space: pre-wrap;\n word-break: break-word;\n -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);\n mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);\n}\n.shiny-chat-text-preview .shiny-chat-text-preview-footer {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.3rem 0.55rem;\n border-top: 1px solid var(--bs-border-color, #ccc);\n font-size: 0.62rem;\n opacity: 0.7;\n}\n.shiny-chat-text-preview .shiny-chat-text-preview-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 600;\n}\n.shiny-chat-text-preview .shiny-chat-text-preview-size {\n flex: 0 0 auto;\n}\n.shiny-chat-text-preview button {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 1rem;\n height: 1rem;\n line-height: 1rem;\n padding: 0;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 0.7rem;\n cursor: pointer;\n}\n\n.shiny-chat-message-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.shiny-chat-lightbox {\n position: fixed;\n inset: 0;\n z-index: 1080;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n background: rgba(0, 0, 0, 0.7);\n cursor: zoom-out;\n}\n\n.shiny-chat-lightbox-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.6rem;\n max-width: 90vw;\n max-height: 90vh;\n cursor: default;\n}\n\n.shiny-chat-lightbox-img {\n max-width: 90vw;\n max-height: 80vh;\n object-fit: contain;\n border-radius: 0.5rem;\n}\n\n.shiny-chat-lightbox-frame {\n width: min(90vw, 1000px);\n height: 80vh;\n border: none;\n border-radius: 0.5rem;\n background: #fff;\n}\n\n.shiny-chat-lightbox-text {\n width: min(90vw, 1000px);\n max-height: 80vh;\n margin: 0;\n padding: 1rem 1.25rem;\n overflow: auto;\n border-radius: 0.5rem;\n background: #fff;\n color: #1a1a1a;\n font-family: var(--bs-font-monospace, monospace);\n font-size: 0.8rem;\n line-height: 1.45;\n white-space: pre;\n text-align: left;\n}\n\n.shiny-chat-lightbox-name {\n max-width: 90vw;\n color: #fff;\n font-size: 0.85rem;\n text-align: center;\n overflow-wrap: anywhere;\n}\n\n.shiny-chat-lightbox-close {\n position: fixed;\n top: 1rem;\n right: 1rem;\n width: 2.25rem;\n height: 2.25rem;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 1.25rem;\n line-height: 1;\n cursor: pointer;\n}\n\n/* Footer row below a user message \u2014 sibling nav + edit button.\n Positioned outside the bubble (not overlapping its text) and right-aligned\n to match the bubble's alignment. */\n.shiny-chat-message-footer {\n position: absolute;\n right: 0.25rem;\n bottom: -1.5rem;\n display: flex;\n align-items: center;\n gap: 0.35rem;\n}\n\n/* Edit button \u2014 shown on hover over user messages. Deliberately left\n focusable (opacity-only, not visibility/display) so keyboard users can\n Tab to it; visibility:hidden would remove it from the tab order entirely\n and no amount of :focus-within on an ancestor could bring it back. */\n.shiny-chat-edit-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n padding: 0;\n background: none;\n border: none;\n border-radius: 50%;\n color: var(--bs-secondary-color, #6c757d);\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.15s, color 0.15s, background-color 0.15s;\n}\n.shiny-chat-edit-btn:hover, .shiny-chat-edit-btn:focus-visible {\n opacity: 1;\n color: var(--bs-primary, #007bc2);\n background-color: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));\n}\n.shiny-chat-edit-btn svg {\n display: block;\n}\n\n.shiny-chat-user-message:hover .shiny-chat-edit-btn,\n.shiny-chat-user-message:focus-within .shiny-chat-edit-btn,\n.shiny-chat-user-message[data-touch-revealed] .shiny-chat-edit-btn {\n opacity: 1;\n}\n\n/* Edit box \u2014 a boxed mini-composer matching the chrome of the main input at\n the bottom of the chat, so editing a message reuses the same visual\n language as sending one, rather than a bespoke inline form. */\n.shiny-chat-edit-wrap {\n width: 100%;\n}\n\n.shiny-chat-user-message:has(.shiny-chat-edit-wrap) {\n width: 100%;\n}\n\n.shiny-chat-edit-box {\n position: relative;\n width: 100%;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 20px;\n}\n.shiny-chat-edit-box:focus-within {\n border-color: var(--bs-primary, #007bc2);\n}\n.shiny-chat-edit-box .tiptap {\n border-color: transparent !important;\n background: transparent !important;\n box-shadow: none !important;\n padding-right: 36px !important;\n min-height: 1.5rem;\n max-height: 16rem;\n overflow-y: auto;\n font: inherit;\n color: inherit;\n}\n.shiny-chat-edit-box .tiptap.is-empty::before {\n content: attr(data-placeholder);\n color: var(--bs-gray-600, #707782);\n float: left;\n height: 0;\n pointer-events: none;\n}\n.shiny-chat-edit-box:has(.shiny-chat-btn-attach) .tiptap {\n padding-left: 36px !important;\n}\n\n.shiny-chat-edit-cancel-outside {\n display: block;\n margin: 0.35rem 0 0 auto;\n padding: 0.3rem 0.75rem;\n border: none;\n border-radius: 14px;\n background-color: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.85em;\n cursor: pointer;\n transition: background-color 0.15s, color 0.15s;\n}\n.shiny-chat-edit-cancel-outside:hover {\n background-color: var(--bs-border-color, #ced4da);\n color: var(--bs-body-color, inherit);\n}\n\n/* Sibling navigation arrows */\n.shiny-chat-sibling-nav {\n display: flex;\n align-items: center;\n gap: 0.1rem;\n font-size: 0.75rem;\n color: var(--bs-secondary-color, #6c757d);\n}\n.shiny-chat-sibling-nav button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n padding: 0;\n background: none;\n border: none;\n border-radius: 50%;\n font-size: 1rem;\n line-height: 1;\n cursor: pointer;\n color: inherit;\n transition: color 0.15s, background-color 0.15s;\n}\n.shiny-chat-sibling-nav button:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n.shiny-chat-sibling-nav button:not(:disabled):hover {\n color: var(--bs-primary, #007bc2);\n background-color: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));\n}\n.shiny-chat-sibling-nav span {\n min-width: 2.5rem;\n text-align: center;\n}\n\nshiny-chat-page {\n --_page-header-height: var(\n --shiny-chat-page-header-height,\n var(--bs-navbar-height, 3.5rem)\n );\n --_page-header-padding-x: var(--shiny-chat-page-header-padding-x, 0.75rem);\n --_page-header-padding-y: var(\n --shiny-chat-page-header-padding-y,\n var(--bs-navbar-padding-y, 0.5rem)\n );\n --_page-sidebar-width: var(--shiny-chat-page-sidebar-width, 280px);\n --_page-sidebar-padding: var(\n --shiny-chat-page-sidebar-padding,\n var(--bslib-sidebar-padding, var(--bslib-spacer, var(--bs-spacer, 1rem)))\n );\n --_page-panel-gap: var(\n --shiny-chat-page-panel-gap,\n clamp(0.25rem, 0.5vw, 0.5rem)\n );\n --_page-surface-bg: var(--shiny-chat-page-surface-bg, var(--bs-body-bg, #fff));\n --_page-panel-gap-bg: var(\n --shiny-chat-page-panel-gap-bg,\n var(--_page-surface-bg)\n );\n --_page-sidebar-bg: var(--shiny-chat-page-sidebar-bg, var(--bs-body-bg, #fff));\n --_page-canvas-bg: var(--shiny-chat-page-canvas-bg, var(--bs-body-bg, #fff));\n --_page-border: var(--bs-border-width, 1px) solid var(\n --shiny-chat-page-border-color,\n var(--bs-border-color, color-mix(in srgb, var(--bs-body-color, #212529) 12%, transparent))\n );\n --_page-focus-ring-color: var(\n --shiny-chat-page-focus-ring-color,\n color-mix(in srgb, var(--bs-primary, #0d6efd) 32%, transparent)\n );\n display: grid;\n grid-template-rows: minmax(var(--_page-header-height), max-content) minmax(0, 1fr);\n width: 100%;\n height: 100%;\n height: 100dvh;\n min-height: 0;\n color: var(--bs-body-color, #212529);\n background: var(--_page-canvas-bg);\n overflow: hidden;\n}\n\nbody:has(shiny-chat-page) > .toast-container:is([data-bslib-toast-container=top-right],\n[data-bslib-toast-container=top-center],\n[data-bslib-toast-container=top-left]) {\n top: var(--shiny-chat-page-toast-offset, var(--_page-header-height, 3.25rem)) !important;\n}\n\n.shiny-chat-page-header {\n position: relative;\n z-index: 3;\n display: grid;\n grid-template-columns: auto auto minmax(0, 1fr);\n align-items: center;\n min-width: 0;\n min-height: var(--_page-header-height);\n padding: var(--_page-header-padding-y) var(--_page-header-padding-x);\n border-bottom: var(--_page-border);\n background: var(--bs-body-bg, var(--_page-surface-bg));\n color: var(--bs-body-color, #212529);\n}\n\n.shiny-chat-page-sidebar-toggle,\n.shiny-chat-page-identity,\n.shiny-chat-page-nav-link {\n min-height: 2.75rem;\n color: inherit;\n background: transparent;\n border: 0;\n}\n\n.shiny-chat-page-sidebar-toggle {\n display: inline-grid;\n place-items: center;\n width: 2.25rem;\n height: 2.25rem;\n min-width: 2.25rem;\n min-height: 2.25rem;\n padding: 0.375rem;\n border-radius: var(--bs-border-radius, 0.375rem);\n}\n\n.shiny-chat-page-sidebar-icon {\n display: block;\n width: 1rem;\n height: 1rem;\n fill: currentcolor;\n}\n\n.shiny-chat-page-identity {\n display: inline-flex;\n align-items: center;\n justify-self: start;\n min-width: 0;\n gap: var(--shiny-chat-page-title-gap, 0.5rem);\n padding: 0.375rem 0.5rem;\n font-size: var(--shiny-chat-page-title-font-size, var(--bs-navbar-brand-font-size, 1.125rem));\n font-weight: var(--shiny-chat-page-title-font-weight, var(--bs-body-font-weight, 400));\n line-height: var(--bs-navbar-brand-line-height, 1.2);\n text-align: start;\n border-radius: var(--bs-border-radius, 0.375rem);\n}\n\n.shiny-chat-page-identity[data-page-home] {\n max-width: min(30ch, 35%);\n}\n\n.shiny-chat-page-identity[data-page-home] > .shiny-chat-page-identity-title {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shiny-chat-page-identity-icon,\n.shiny-chat-page-nav-icon {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n}\n\n.shiny-chat-page-controls,\n.shiny-chat-page-nav,\n.shiny-chat-page-toolbar {\n display: flex;\n align-items: center;\n}\n\n.shiny-chat-page-controls-mount-desktop {\n min-width: 0;\n padding: 0.25rem;\n margin: -0.25rem;\n overflow: visible;\n justify-self: stretch;\n}\n\n.shiny-chat-page-controls {\n min-width: 0;\n max-width: 100%;\n width: 100%;\n gap: var(--shiny-chat-page-controls-gap, var(--bs-navbar-nav-link-padding-x, 0.5rem));\n}\n\n.shiny-chat-page-nav {\n flex: 1 1 auto;\n min-width: 0;\n gap: 0.125rem;\n justify-content: flex-start;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n.shiny-chat-page-nav::-webkit-scrollbar {\n display: none;\n}\n\n.shiny-chat-page-toolbar {\n flex: 1 1 auto;\n min-width: 0;\n gap: 0.375rem;\n justify-content: flex-end;\n}\n\n.shiny-chat-page-toolbar-scoped,\n.shiny-chat-page-toolbar-global {\n display: flex;\n flex: 0 1 auto;\n min-width: 0;\n max-width: 100%;\n gap: 0.375rem;\n}\n\n.shiny-chat-page-toolbar-content {\n display: contents;\n}\n\n.shiny-chat-page-toolbar > .shiny-chat-page-toolbar-scoped > .shiny-chat-page-toolbar-content > *,\n.shiny-chat-page-toolbar > .shiny-chat-page-toolbar-global > * {\n min-width: 0;\n max-width: 100%;\n flex: 0 1 auto;\n}\n\n.shiny-chat-page-toolbar > .shiny-chat-page-toolbar-scoped > .shiny-chat-page-toolbar-content > .bslib-toolbar,\n.shiny-chat-page-toolbar > .shiny-chat-page-toolbar-global > .bslib-toolbar {\n justify-content: flex-start;\n}\n\n.shiny-chat-page-toolbar-sources,\n.shiny-chat-page-toolbar-source {\n display: none !important;\n}\n\n.shiny-chat-page-nav-link {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--shiny-chat-page-nav-link-gap, 0.375rem);\n padding: var(--shiny-chat-page-nav-link-padding-y, 0.5rem) var(--shiny-chat-page-nav-link-padding-x, 0.75rem);\n font-size: var(--shiny-chat-page-nav-link-font-size, var(--bs-nav-link-font-size, inherit));\n font-weight: var(--shiny-chat-page-nav-link-font-weight, var(--bs-nav-link-font-weight, inherit));\n border-radius: var(--bs-border-radius, 0.375rem);\n}\n\n.shiny-chat-page-nav-link[aria-current=page] {\n color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd));\n background: var(--bs-primary-bg-subtle, rgba(13, 110, 253, 0.1));\n}\n\n.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link {\n border-radius: 0;\n}\n\n.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link[aria-current=page] {\n background: transparent;\n}\n\n.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link[aria-current=page]::after {\n position: absolute;\n right: 0.75rem;\n bottom: -1px;\n left: 0.75rem;\n height: 2px;\n content: \"\";\n background: currentcolor;\n}\n\n.shiny-chat-page-sidebar-toggle:not(:disabled):hover,\nbutton.shiny-chat-page-identity:hover,\n.shiny-chat-page-nav-link:hover {\n background: var(--bs-tertiary-bg, #f1f3f5);\n}\n\n.shiny-chat-page-sidebar-toggle:not(:disabled):focus-visible,\nbutton.shiny-chat-page-identity:focus-visible,\n.shiny-chat-page-nav-link:focus-visible {\n outline: 0.2rem solid var(--_page-focus-ring-color);\n outline-offset: 0.1rem;\n}\n\n.shiny-chat-page-nav-control {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n min-height: 2.75rem;\n}\n\n.shiny-chat-page-nav > .bslib-nav-spacer {\n flex: 1 1 auto;\n min-width: 0.5rem;\n}\n\n.shiny-chat-page-nav-menu {\n position: relative;\n flex: 0 0 auto;\n}\n\n.shiny-chat-page-nav-menu-toggle {\n display: inline-flex;\n align-items: center;\n min-height: 2.75rem;\n padding: var(--shiny-chat-page-nav-link-padding-y, 0.5rem) var(--shiny-chat-page-nav-link-padding-x, 0.75rem);\n cursor: pointer;\n list-style: none;\n border-radius: var(--bs-border-radius, 0.375rem);\n}\n\n.shiny-chat-page-nav-menu-toggle::-webkit-details-marker {\n display: none;\n}\n\n.shiny-chat-page-nav-menu-toggle:hover,\n.shiny-chat-page-nav-menu-toggle:focus-visible {\n background: var(--bs-tertiary-bg, #f1f3f5);\n}\n\n.shiny-chat-page-nav-menu-toggle:focus-visible {\n outline: 0.2rem solid var(--_page-focus-ring-color);\n outline-offset: 0.1rem;\n}\n\n.shiny-chat-page-nav-menu-items {\n position: absolute;\n z-index: 6;\n top: calc(100% + 0.25rem);\n inset-inline-start: 0;\n display: grid;\n min-width: max-content;\n padding: 0.25rem;\n border: var(--_page-border);\n border-radius: var(--bs-border-radius, 0.375rem);\n background: var(--bs-body-bg, var(--_page-surface-bg));\n box-shadow: var(--bs-box-shadow, 0 0.5rem 1rem rgba(0, 0, 0, 0.15));\n}\n\n@media (min-width: 800px) {\n .shiny-chat-page-nav-menu[open] .shiny-chat-page-nav-menu-items {\n position: fixed;\n top: var(--shiny-chat-page-nav-menu-top, 0.5rem);\n inset-inline-start: auto;\n left: var(--shiny-chat-page-nav-menu-left, 0.5rem);\n box-sizing: border-box;\n width: max-content;\n min-width: 0;\n max-width: calc(100vw - 1rem);\n max-height: calc(100vh - 1rem);\n overflow: auto;\n }\n}\n.shiny-chat-page-nav-menu-items .shiny-chat-page-nav-link {\n justify-content: flex-start;\n width: 100%;\n}\n\n.shiny-chat-page-nav-menu-header,\n.shiny-chat-page-nav-divider {\n margin: 0.25rem 0;\n}\n\n.shiny-chat-page-nav-menu-header {\n padding: 0.25rem 0.5rem;\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.875rem;\n}\n\n.shiny-chat-page-sidebar-toggle:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.shiny-chat-page-body {\n --_page-sidebar-track: 0px;\n position: relative;\n display: grid;\n grid-template-columns: minmax(0, var(--_page-sidebar-track)) minmax(0, 1fr);\n min-width: 0;\n min-height: 0;\n background: var(--_page-panel-gap-bg);\n}\n\n.shiny-chat-page-sidebar {\n display: flex;\n flex-direction: column;\n width: var(--_page-sidebar-width);\n min-width: 0;\n min-height: 0;\n overflow: auto;\n border-right: var(--_page-border);\n background: var(--_page-sidebar-bg);\n}\n\n.shiny-chat-page-sidebar .shiny-chat-history.shiny-chat-history-inline {\n --_history-inline-bg: var(--shiny-chat-history-bg, var(--_page-sidebar-bg));\n}\n\n.shiny-chat-page-sidebar:not([data-sidebar-key]) {\n display: none;\n}\n\n.shiny-chat-page-sidebar[hidden],\n.shiny-chat-page-sidebar-toggle[hidden],\n.shiny-chat-page-sidebar-resizer[hidden] {\n display: none;\n}\n\n.shiny-chat-page-sidebar-panel {\n display: flex;\n flex: 1 1 auto;\n min-height: 0;\n flex-direction: column;\n gap: var(--_page-sidebar-padding);\n overflow: auto;\n padding: var(--_page-sidebar-padding);\n}\n\n.shiny-chat-page-controls-mount-mobile {\n display: none;\n}\n\n.shiny-chat-page-main,\n.shiny-chat-page-panel,\n.shiny-chat-page-home {\n min-width: 0;\n min-height: 0;\n}\n\n.shiny-chat-page-main {\n position: relative;\n grid-column: 2;\n overflow: auto;\n background: var(--_page-canvas-bg);\n}\n\nshiny-chat-page .shiny-chat-layout[data-drawer-open] {\n --_drawer-layout-gap: var(--_page-panel-gap);\n position: relative;\n}\n\nshiny-chat-page .shiny-chat-layout[data-drawer-open]::after {\n position: absolute;\n z-index: 1;\n inset-block: 0;\n inset-inline-end: var(--_drawer-layout-width);\n width: var(--_drawer-layout-gap);\n content: \"\";\n pointer-events: none;\n background: var(--_page-panel-gap-bg);\n}\n\n@container shiny-chat (max-width: 639.99px) {\n shiny-chat-page .shiny-chat-layout[data-drawer-open]::after {\n display: none;\n }\n}\n.shiny-chat-page-sidebar-resizer {\n inset-inline-start: calc(var(--shiny-chat-page-sidebar-rendered-width, var(--_page-sidebar-width)) - var(--_resize-handle-hit-target, 8px));\n}\n\n@media (min-width: 800px) {\n shiny-chat-page[data-sidebar-motion-ready] .shiny-chat-page-body {\n transition: grid-template-columns 180ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n shiny-chat-page[data-sidebar-open] .shiny-chat-page-body {\n --_page-sidebar-track: var(\n --shiny-chat-page-sidebar-rendered-width,\n var(--_page-sidebar-width)\n );\n column-gap: var(--_page-panel-gap);\n }\n .shiny-chat-page-main {\n container-type: inline-size;\n container-name: shiny-chat-page-main;\n }\n .shiny-chat-page-header {\n grid-template-columns: auto fit-content(12rem) minmax(0, 1fr);\n }\n .shiny-chat-page-header[data-sidebar-toggle-hidden] {\n grid-template-columns: fit-content(12rem) minmax(0, 1fr);\n }\n .shiny-chat-page-header:has(.shiny-chat-page-identity[data-page-home]) {\n display: flex;\n }\n .shiny-chat-page-header:has(.shiny-chat-page-identity[data-page-home]) .shiny-chat-page-controls-mount-desktop {\n flex: 1 1 0;\n }\n .shiny-chat-page-identity {\n min-width: auto;\n }\n .shiny-chat-page-identity[data-page-home] {\n flex: 0 1 auto;\n min-width: 0;\n max-width: min(30ch, 35%);\n }\n .shiny-chat-page-header:has(.shiny-chat-page-identity:not([data-page-home])) {\n grid-template-columns: auto minmax(0, max-content) minmax(0, 1fr);\n }\n .shiny-chat-page-header[data-sidebar-toggle-hidden]:has(.shiny-chat-page-identity:not([data-page-home])) {\n grid-template-columns: minmax(0, max-content) minmax(0, 1fr);\n }\n .shiny-chat-page-identity:not([data-page-home]) {\n min-width: 0;\n }\n .shiny-chat-page-identity:not([data-page-home]) > .shiny-chat-page-identity-title {\n min-width: 0;\n overflow-wrap: anywhere;\n }\n .shiny-chat-page-toolbar,\n .shiny-chat-page-toolbar > .shiny-chat-page-toolbar-scoped > .shiny-chat-page-toolbar-content > .bslib-toolbar,\n .shiny-chat-page-toolbar > .shiny-chat-page-toolbar-global > .bslib-toolbar {\n flex-wrap: nowrap;\n }\n .shiny-chat-page-sidebar {\n width: 100%;\n min-width: 0;\n max-width: var(--shiny-chat-page-sidebar-max-width, none);\n overflow: hidden;\n opacity: 0;\n pointer-events: none;\n transform: translateX(-0.75rem);\n }\n shiny-chat-page[data-sidebar-motion-ready] .shiny-chat-page-sidebar {\n transition: opacity 140ms ease-out, transform 180ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n shiny-chat-page[data-sidebar-open] .shiny-chat-page-sidebar {\n opacity: 1;\n pointer-events: auto;\n transform: translateX(0);\n }\n shiny-chat-page:is([data-sidebar-resizing],\n [data-responsive-takeover],\n [data-sidebar-handoff]) :is(.shiny-chat-page-body, .shiny-chat-page-sidebar) {\n transition: none;\n }\n}\n@container shiny-chat-page-main (max-width: 704.99px) {\n shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] {\n display: block;\n column-gap: 0;\n }\n shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper,\n shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-footer {\n display: none;\n }\n shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-drawer {\n width: 100%;\n min-height: 100%;\n border-inline: 0;\n box-shadow: none;\n }\n}\n.shiny-chat-page-panel {\n width: 100%;\n height: 100%;\n}\n\n.shiny-chat-page-panel-content {\n width: 100%;\n max-width: var(--shiny-chat-page-content-width, min(680px, 100%));\n min-width: 0;\n margin-inline: auto;\n padding-block: var(--shiny-chat-page-panel-padding-block, var(--bs-spacer, 1rem));\n padding-inline: max(var(--shiny-chat-page-panel-padding-inline, var(--bs-spacer, 1rem)), env(safe-area-inset-left)) max(var(--shiny-chat-page-panel-padding-inline, var(--bs-spacer, 1rem)), env(safe-area-inset-right));\n}\n\n.shiny-chat-page-panel-content[data-content-full-bleed=true] {\n max-width: none;\n padding: 0;\n}\n\n.shiny-chat-page-panel[hidden],\n.shiny-chat-page-sidebar-panel[hidden] {\n display: none;\n}\n\n.shiny-chat-page-home {\n overflow: hidden;\n background: var(--_page-surface-bg);\n}\n\n.shiny-chat-page-home > shiny-chat-container {\n --shiny-chat-fill-padding: max(\n var(--shiny-chat-page-fill-padding, 0.25rem),\n env(safe-area-inset-left),\n env(safe-area-inset-right)\n );\n --shiny-chat-input-padding-bottom: max(\n var(--shiny-chat-page-input-padding-bottom, 0.25rem),\n env(safe-area-inset-bottom)\n );\n width: 100%;\n height: 100%;\n background: var(--_page-surface-bg);\n}\n\n.shiny-chat-page-sidebar-scrim {\n display: none;\n}\n\n.shiny-chat-page-sidebar-close,\n.shiny-chat-page-sidebar > .bslib-toolbar:has(.shiny-chat-page-sidebar-close) {\n display: none;\n}\n\n@media (max-width: 799px) {\n .shiny-chat-page-home :is(.shiny-chat-input, .shiny-chat-edit-box) .tiptap {\n font-size: 16px;\n font-size: max(1rem, 16px);\n }\n .shiny-chat-page-header {\n grid-template-columns: auto minmax(0, 1fr);\n padding-inline: max(var(--_page-header-padding-x), env(safe-area-inset-left)) max(var(--_page-header-padding-x), env(safe-area-inset-right));\n }\n .shiny-chat-page-identity[data-page-home] {\n max-width: 100%;\n }\n .shiny-chat-page-sidebar-toggle {\n width: 2.75rem;\n height: 2.75rem;\n min-width: 2.75rem;\n min-height: 2.75rem;\n }\n .shiny-chat-page-controls-mount-desktop {\n display: none;\n }\n .shiny-chat-page-panel-content {\n padding-block: var(--shiny-chat-page-panel-padding-block-mobile, var(--bs-spacer, 1rem));\n }\n .shiny-chat-page-body {\n display: block;\n }\n .shiny-chat-page-main {\n height: 100%;\n }\n .shiny-chat-page-sidebar {\n position: fixed;\n z-index: 6;\n inset: 0 auto 0 0;\n display: flex;\n width: min(88vw, 22rem);\n max-width: none;\n padding-bottom: env(safe-area-inset-bottom);\n visibility: hidden;\n transform: translateX(-100%);\n transition: transform 180ms ease-out, visibility 0s linear 180ms;\n box-shadow: 0.5rem 0 1.5rem rgba(0, 0, 0, 0.18);\n }\n .shiny-chat-page-sidebar:not([data-sidebar-key]) {\n display: flex;\n }\n shiny-chat-page[data-mobile-menu-open] .shiny-chat-page-sidebar {\n z-index: 9;\n visibility: visible;\n transform: translateX(0);\n transition-delay: 0s;\n }\n .shiny-chat-page-controls-mount-mobile {\n display: block;\n flex: 0 0 auto;\n padding: max(3.5rem, env(safe-area-inset-top) + 3.5rem) 0.5rem 0.5rem;\n border-bottom: var(--_page-border);\n }\n .shiny-chat-page-sidebar > .bslib-toolbar:has(.shiny-chat-page-sidebar-close) {\n position: absolute;\n z-index: 1;\n top: max(0.5rem, env(safe-area-inset-top));\n right: 0.5rem;\n display: flex;\n padding: 0;\n margin: 0;\n }\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close {\n position: absolute;\n z-index: 1;\n top: max(0.5rem, env(safe-area-inset-top));\n right: 0.5rem;\n place-items: center;\n }\n .shiny-chat-page-sidebar-close {\n display: grid;\n width: 2.75rem;\n height: 2.75rem;\n padding: 0;\n color: inherit;\n background: transparent;\n border: 0;\n border-radius: var(--bs-border-radius, 0.375rem);\n }\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close::before,\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close::after {\n position: absolute;\n width: 1.125rem;\n height: 0.125rem;\n content: \"\";\n background: currentcolor;\n border-radius: 0.125rem;\n }\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close::before {\n transform: rotate(45deg);\n }\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close::after {\n transform: rotate(-45deg);\n }\n .shiny-chat-page-sidebar-resizer {\n display: none;\n }\n .shiny-chat-page-sidebar-close:hover {\n background: var(--bs-tertiary-bg, #f1f3f5);\n }\n .shiny-chat-page-sidebar-close:focus-visible {\n outline: 0.2rem solid var(--_page-focus-ring-color);\n outline-offset: 0.1rem;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-controls,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-scoped,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-global {\n align-items: stretch;\n flex-direction: column;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-content > *,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-global > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-link {\n justify-content: flex-start;\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-control {\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav > .bslib-nav-spacer {\n display: none;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu {\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu-toggle {\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu-items {\n position: static;\n min-width: 0;\n margin-inline-start: 0.75rem;\n box-shadow: none;\n }\n .shiny-chat-page-sidebar-scrim {\n position: fixed;\n z-index: 5;\n inset: 0;\n display: none;\n padding: 0;\n background: rgba(0, 0, 0, 0.35);\n border: 0;\n }\n shiny-chat-page[data-mobile-menu-open] .shiny-chat-page-sidebar-scrim {\n display: block;\n z-index: 8;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-page-sidebar {\n transition: none;\n }\n}"], - "mappings": "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", + "sourcesContent": ["@charset \"UTF-8\";\n/************************************************************\n From ../node_modules/highlight.js/styles/atom-one-light.css\n with minor adjustments\n************************************************************/\n/************************************************************\n From ../node_modules/highlight.js/styles/atom-one-dark.css\n with minor adjustments\n************************************************************/\n/* Code highlighting (for both light and dark mode) */\npre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em;\n}\n\ncode.hljs {\n padding: 3px 5px;\n}\n\n/*\n\nAtom One Light by Daniel Gamage\nOriginal One Light Syntax theme from https://github.com/atom/one-light-syntax\n\nbase: #fafafa\nmono-1: #383a42\nmono-2: #686b77\nmono-3: #a0a1a7\nhue-1: #0184bb\nhue-2: #4078f2\nhue-3: #a626a4\nhue-4: #50a14f\nhue-5: #e45649\nhue-5-2: #c91243\nhue-6: #986801\nhue-6-2: #c18401\n\n*/\npre:has(> code.hljs) {\n color: #383a42;\n background: #fafafa;\n}\n\n.hljs-comment,\n.hljs-quote {\n color: #a0a1a7;\n font-style: italic;\n}\n\n.hljs-doctag,\n.hljs-keyword,\n.hljs-formula {\n color: #a626a4;\n}\n\n.hljs-section,\n.hljs-name,\n.hljs-selector-tag,\n.hljs-deletion,\n.hljs-subst {\n color: #e45649;\n}\n\n.hljs-literal {\n color: #0184bb;\n}\n\n.hljs-string,\n.hljs-regexp,\n.hljs-addition,\n.hljs-attribute,\n.hljs-meta .hljs-string {\n color: #50a14f;\n}\n\n.hljs-attr,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-type,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo,\n.hljs-number {\n color: #986801;\n}\n\n.hljs-symbol,\n.hljs-bullet,\n.hljs-link,\n.hljs-meta,\n.hljs-selector-id,\n.hljs-title {\n color: #4078f2;\n}\n\n.hljs-built_in,\n.hljs-title.class_,\n.hljs-class .hljs-title {\n color: #c18401;\n}\n\n.hljs-emphasis {\n font-style: italic;\n}\n\n.hljs-strong {\n font-weight: bold;\n}\n\n.hljs-link {\n text-decoration: underline;\n}\n\n[data-bs-theme=dark] {\n /*\n\n Atom One Dark by Daniel Gamage\n Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax\n\n base: #282c34\n mono-1: #abb2bf\n mono-2: #818896\n mono-3: #5c6370\n hue-1: #56b6c2\n hue-2: #61aeee\n hue-3: #c678dd\n hue-4: #98c379\n hue-5: #e06c75\n hue-5-2: #be5046\n hue-6: #d19a66\n hue-6-2: #e6c07b\n\n */\n}\n[data-bs-theme=dark] pre code.hljs {\n display: block;\n overflow-x: auto;\n padding: 1em;\n}\n[data-bs-theme=dark] code.hljs {\n padding: 3px 5px;\n}\n[data-bs-theme=dark] pre:has(> code.hljs) {\n color: #abb2bf;\n background: #282c34;\n}\n[data-bs-theme=dark] .hljs-comment,\n[data-bs-theme=dark] .hljs-quote {\n color: #5c6370;\n font-style: italic;\n}\n[data-bs-theme=dark] .hljs-doctag,\n[data-bs-theme=dark] .hljs-keyword,\n[data-bs-theme=dark] .hljs-formula {\n color: #c678dd;\n}\n[data-bs-theme=dark] .hljs-section,\n[data-bs-theme=dark] .hljs-name,\n[data-bs-theme=dark] .hljs-selector-tag,\n[data-bs-theme=dark] .hljs-deletion,\n[data-bs-theme=dark] .hljs-subst {\n color: #e06c75;\n}\n[data-bs-theme=dark] .hljs-literal {\n color: #56b6c2;\n}\n[data-bs-theme=dark] .hljs-string,\n[data-bs-theme=dark] .hljs-regexp,\n[data-bs-theme=dark] .hljs-addition,\n[data-bs-theme=dark] .hljs-attribute,\n[data-bs-theme=dark] .hljs-meta .hljs-string {\n color: #98c379;\n}\n[data-bs-theme=dark] .hljs-attr,\n[data-bs-theme=dark] .hljs-variable,\n[data-bs-theme=dark] .hljs-template-variable,\n[data-bs-theme=dark] .hljs-type,\n[data-bs-theme=dark] .hljs-selector-class,\n[data-bs-theme=dark] .hljs-selector-attr,\n[data-bs-theme=dark] .hljs-selector-pseudo,\n[data-bs-theme=dark] .hljs-number {\n color: #d19a66;\n}\n[data-bs-theme=dark] .hljs-symbol,\n[data-bs-theme=dark] .hljs-bullet,\n[data-bs-theme=dark] .hljs-link,\n[data-bs-theme=dark] .hljs-meta,\n[data-bs-theme=dark] .hljs-selector-id,\n[data-bs-theme=dark] .hljs-title {\n color: #61aeee;\n}\n[data-bs-theme=dark] .hljs-built_in,\n[data-bs-theme=dark] .hljs-title.class_,\n[data-bs-theme=dark] .hljs-class .hljs-title {\n color: #e6c07b;\n}\n[data-bs-theme=dark] .hljs-emphasis {\n font-style: italic;\n}\n[data-bs-theme=dark] .hljs-strong {\n font-weight: bold;\n}\n[data-bs-theme=dark] .hljs-link {\n text-decoration: underline;\n}\n\nshiny-markdown-stream {\n display: block;\n}\nshiny-markdown-stream img {\n max-width: 100%;\n height: auto;\n}\n\n/*\n Styling for the code-copy button (inspired by Quarto's code-copy feature)\n*/\npre:has(.code-copy-button) {\n position: relative;\n}\n\n.code-copy-button {\n position: absolute;\n top: 0;\n right: 0;\n border: 0;\n margin-top: 5px;\n margin-right: 5px;\n background-color: transparent;\n}\n.code-copy-button > .bi {\n display: flex;\n gap: 0.25em;\n}\n.code-copy-button > .bi::after {\n content: \"\";\n display: block;\n height: 1rem;\n width: 1rem;\n mask-image: url('data:image/svg+xml,');\n background-color: var(--bs-body-color, #222);\n}\n\n.code-copy-button-checked > .bi::before {\n content: \"Copied!\";\n font-size: 0.75em;\n vertical-align: 0.25em;\n}\n.code-copy-button-checked > .bi::after {\n mask-image: url('data:image/svg+xml,');\n background-color: var(--bs-success, #198754);\n}\n\n@keyframes markdown-stream-dot-pulse {\n 0% {\n transform: scale(1);\n opacity: 1;\n }\n 50% {\n transform: scale(0.4);\n opacity: 0.4;\n }\n 100% {\n transform: scale(1);\n opacity: 1;\n }\n}\n@keyframes markdown-stream-dot-appear {\n to {\n opacity: 1;\n }\n}\n.markdown-stream-dot {\n opacity: 0;\n animation: markdown-stream-dot-appear 0.3s ease forwards, markdown-stream-dot-pulse 1.75s infinite cubic-bezier(0.18, 0.89, 0.32, 1.28) 0.3s;\n display: inline-block;\n transform-origin: center;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .markdown-stream-dot {\n animation: markdown-stream-dot-appear 0.3s ease forwards;\n }\n}\nshiny-chat-resize-handle {\n --_resize-handle-hit-target: var(--shiny-chat-resize-handle-hit-target, 8px);\n --_resize-handle-indicator-color: var(--shiny-chat-resize-handle-indicator-color, currentcolor);\n position: absolute;\n z-index: 4;\n top: 0;\n bottom: 0;\n display: block;\n width: var(--_resize-handle-hit-target);\n padding: 0;\n color: inherit;\n cursor: ew-resize;\n pointer-events: auto;\n touch-action: none;\n user-select: none;\n}\nshiny-chat-resize-handle > [data-shiny-chat-resize-indicator] {\n position: absolute;\n z-index: 1;\n top: 50%;\n width: 2px;\n height: 30px;\n background: var(--_resize-handle-indicator-color);\n border-radius: 1px;\n cursor: ew-resize;\n opacity: 0.3;\n pointer-events: auto;\n transform: translateY(-50%);\n transition: background-color 150ms ease, height 150ms ease, opacity 150ms ease, width 150ms ease;\n}\nshiny-chat-resize-handle[data-panel-side=inline-start] > [data-shiny-chat-resize-indicator] {\n inset-inline-start: 0;\n}\nshiny-chat-resize-handle[data-panel-side=inline-end] > [data-shiny-chat-resize-indicator] {\n inset-inline-end: 0;\n}\nshiny-chat-resize-handle:hover > [data-shiny-chat-resize-indicator] {\n opacity: 0.65;\n}\nshiny-chat-resize-handle:is(:focus-visible,\n:active,\n[data-resizing],\n[data-boundary-armed]) > [data-shiny-chat-resize-indicator],\nshiny-chat-resize-handle > [data-shiny-chat-resize-indicator]:hover {\n width: 4px;\n height: 40px;\n opacity: 1;\n}\nshiny-chat-resize-handle:is(:active, [data-resizing]) > [data-shiny-chat-resize-indicator] {\n background: var(--bs-primary, #0d6efd);\n height: 50px;\n}\nshiny-chat-resize-handle:focus-visible > [data-shiny-chat-resize-indicator] {\n outline: 2px solid var(--bs-focus-ring-color, rgba(13, 110, 253, 0.25));\n outline-offset: 2px;\n}\nshiny-chat-resize-handle:focus-visible {\n outline: 0;\n}\nshiny-chat-resize-handle[data-disabled] {\n cursor: default;\n pointer-events: none;\n}\n\n@media (any-pointer: fine) {\n shiny-chat-resize-handle[data-boundary-activation] {\n cursor: default;\n pointer-events: none;\n }\n shiny-chat-resize-handle[data-boundary-activation]::after {\n position: absolute;\n inset-block: 0;\n width: 5px;\n content: \"\";\n pointer-events: auto;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-panel-side=inline-start]::after {\n inset-inline-start: -2px;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-panel-side=inline-end]::after {\n inset-inline-end: -2px;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed] {\n cursor: ew-resize;\n pointer-events: auto;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]::after {\n width: 24px;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed][data-panel-side=inline-start]::after {\n inset-inline-start: -12px;\n }\n shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed][data-panel-side=inline-end]::after {\n inset-inline-end: -12px;\n }\n}\n.shiny-chat-debug-resize-handle {\n --shiny-chat-debug-resize-idle-color: rgb(255 193 7 / 28%);\n --shiny-chat-debug-resize-armed-color: rgb(25 135 84 / 30%);\n --shiny-chat-debug-resize-coarse-color: rgb(13 110 253 / 28%);\n --shiny-chat-debug-resize-indicator-color: rgb(220 53 69 / 85%);\n}\n.shiny-chat-debug-resize-handle shiny-chat-resize-handle > [data-shiny-chat-resize-indicator] {\n background: var(--shiny-chat-debug-resize-indicator-color);\n outline: 1px solid var(--shiny-chat-debug-resize-indicator-color);\n outline-offset: -1px;\n opacity: 1;\n}\n\n@media (any-pointer: fine) {\n .shiny-chat-debug-resize-handle shiny-chat-resize-handle[data-boundary-activation]:not([data-boundary-armed])::after {\n background: var(--shiny-chat-debug-resize-idle-color);\n outline: 1px dashed var(--shiny-chat-debug-resize-idle-color);\n outline-offset: -1px;\n }\n .shiny-chat-debug-resize-handle shiny-chat-resize-handle[data-boundary-activation][data-boundary-armed]::after {\n background: var(--shiny-chat-debug-resize-armed-color);\n outline: 1px dashed var(--shiny-chat-debug-resize-armed-color);\n outline-offset: -1px;\n }\n}\n@media (any-pointer: coarse) {\n shiny-chat-resize-handle {\n --_resize-handle-hit-target: 26px;\n }\n shiny-chat-resize-handle[data-boundary-activation] {\n cursor: default;\n pointer-events: none;\n }\n .shiny-chat-debug-resize-handle shiny-chat-resize-handle::before {\n position: absolute;\n inset: 0;\n width: auto;\n content: \"\";\n background: var(--shiny-chat-debug-resize-coarse-color);\n outline: 1px dashed var(--shiny-chat-debug-resize-coarse-color);\n outline-offset: -1px;\n pointer-events: none;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n shiny-chat-resize-handle > [data-shiny-chat-resize-indicator] {\n transition: none;\n }\n}\n.shiny-tool-card {\n max-height: var(--shiny-tool-card-max-height, 500px);\n}\n.shiny-tool-card .tool-title {\n min-width: 25%;\n flex-shrink: 2;\n}\n.shiny-tool-card .tool-intent {\n opacity: var(--_activity-opacity-muted);\n font-style: italic;\n font-weight: normal;\n text-align: end;\n flex-shrink: 3;\n max-width: 60%;\n min-width: 20%;\n}\n.shiny-tool-card .tool-spacer {\n margin-inline-start: auto;\n}\n.shiny-tool-card .tool-icon {\n --_icon-size: var(--shiny-tool-card-icon-size, 16px);\n width: var(--_icon-size);\n height: var(--_icon-size);\n display: flex;\n align-items: center;\n flex: none;\n}\n.shiny-tool-card .tool-icon [class^=spinner] {\n --bs-spinner-width: var(--_icon-size);\n --bs-spinner-height: var(--_icon-size);\n --bs-spinner-border-width: 0.20em;\n color: var(--shiny-tool-card-spinner-color, var(--bs-primary, #007bc2));\n}\n.shiny-tool-card .tool-title-name {\n font-weight: 600;\n}\n.shiny-tool-card .card-header,\n.shiny-tool-card .card-footer {\n font-size: inherit;\n font-weight: 400;\n word-break: break-word;\n}\n.shiny-tool-card > .card-header {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n gap: 0.5rem;\n width: 100%;\n text-align: left;\n cursor: pointer;\n border-top-width: 0;\n border-right-width: 0;\n border-left-width: 0;\n}\n.shiny-tool-card > .card-header[aria-expanded=false] {\n border-bottom-width: 0;\n}\n.shiny-tool-card > .card-header > * {\n line-height: 1;\n}\n.shiny-tool-card > .card-header:hover, .shiny-tool-card > .card-header:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n outline: none;\n}\n.shiny-tool-card > .card-header .function-name {\n font-weight: bold;\n}\n.shiny-tool-card > .card-header .collapse-indicator {\n display: grid;\n place-items: center;\n width: 1em;\n height: 1em;\n opacity: var(--_activity-opacity-muted);\n}\n.shiny-tool-card > .card-header .collapse-indicator,\n.shiny-tool-card > .card-header .collapse-indicator > .horizontal {\n transition: 0.3s ease-in-out all;\n transform-origin: center center;\n}\n.shiny-tool-card > .card-header[aria-expanded=true] > .collapse-indicator {\n transform: rotate(-90deg);\n}\n.shiny-tool-card > .card-header[aria-expanded=true] > .collapse-indicator .horizontal {\n transform: scale(0);\n}\n.shiny-tool-card > .card-body {\n position: relative;\n transition: opacity 0.2s ease-out;\n opacity: 1;\n overflow: auto;\n}\n.shiny-tool-card > .card-body.collapsed {\n max-height: 0;\n opacity: 0;\n padding: 0;\n}\n.shiny-tool-card > .card-header[aria-expanded=false] ~ .card-footer {\n display: none;\n}\n.shiny-tool-card:hover .tool-fullscreen-toggle, .shiny-tool-card:focus-within .tool-fullscreen-toggle {\n opacity: 0.6;\n}\n.shiny-tool-card pre {\n margin: 0;\n white-space: pre-wrap;\n padding: 1em;\n border-radius: var(--bs-border-radius, 4px);\n}\n\n@keyframes shiny-tool-fullscreen-enter {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.shiny-tool-fullscreen-backdrop {\n position: fixed;\n inset: 0;\n z-index: 1049;\n background-color: rgba(var(--bs-body-color-rgb, 0, 0, 0), 0.6);\n backdrop-filter: blur(2px);\n -webkit-backdrop-filter: blur(2px);\n animation: shiny-tool-fullscreen-enter 300ms ease forwards;\n}\n\n.shiny-tool-fullscreen-exit {\n position: absolute;\n top: 1rem;\n right: 1rem;\n font-size: 0.9rem;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n color: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.8);\n background: none;\n border: none;\n padding: 0;\n}\n.shiny-tool-fullscreen-exit:hover {\n color: rgba(var(--bs-body-bg-rgb, 255, 255, 255), 1);\n}\n.shiny-tool-fullscreen-exit:focus-visible {\n outline: 2px solid rgba(var(--bs-body-bg-rgb, 255, 255, 255), 0.8);\n outline-offset: 2px;\n border-radius: 4px;\n}\n.shiny-tool-fullscreen-exit svg {\n width: 20px;\n height: 20px;\n}\n\n@media (max-width: 575.98px) {\n .shiny-tool-card[fullscreen] {\n inset: 2.5rem 0.5rem 0.5rem;\n }\n .shiny-tool-fullscreen-exit {\n top: 0.5rem;\n right: 0.5rem;\n }\n}\n.shiny-tool-card[fullscreen] {\n position: fixed;\n inset: 3.5rem 1rem 1rem;\n z-index: 1050;\n max-height: none;\n border-radius: var(--bs-border-radius, 4px);\n background: var(--bs-body-bg, #fff);\n}\n.shiny-tool-card[fullscreen] > .card-header {\n cursor: default;\n}\n.shiny-tool-card[fullscreen] > .card-header:hover, .shiny-tool-card[fullscreen] > .card-header:focus-visible {\n background-color: inherit;\n}\n.shiny-tool-card[fullscreen] > .card-header .collapse-indicator {\n display: none;\n}\n.shiny-tool-card[fullscreen] > .card-body {\n max-height: none;\n overflow: auto;\n}\n.shiny-tool-card[fullscreen] > .card-body .tool-fullscreen-toggle {\n display: none;\n}\n\n.tool-fullscreen-toggle {\n position: absolute;\n bottom: 0.2rem;\n right: 0;\n color: var(--bs-card-color);\n background-color: var(--bs-card-bg, var(--bs-body-bg));\n border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color, var(--bs-border-color));\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n margin: 0.2rem 0.4rem;\n padding: 0.55rem !important;\n font-size: 0.8rem;\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.15s;\n}\n.tool-fullscreen-toggle:hover, .tool-fullscreen-toggle:focus {\n opacity: 1;\n}\n.tool-fullscreen-toggle:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n.tool-fullscreen-toggle svg {\n height: 1em;\n width: 1em;\n fill: currentColor;\n}\n\n.shiny-tool-result,\n.shiny-tool-request {\n display: block;\n margin: 1em 0;\n border-radius: var(--bs-border-radius, 4px);\n overflow: visible;\n padding: 0;\n font-size: 0.8em;\n}\n.shiny-tool-result[hidden],\n.shiny-tool-request[hidden] {\n display: none;\n}\n\n.shiny-tool-result + p,\n.shiny-tool-request + p {\n margin-top: 1rem;\n}\n\n.shiny-tool-result:first-child,\n.shiny-tool-request:first-child {\n margin-top: 0;\n}\n.shiny-tool-result:last-child,\n.shiny-tool-request:last-child {\n margin-bottom: 0;\n}\n\n.shiny-tool-result__request > strong,\n.shiny-tool-result__result > strong {\n display: block;\n flex: none;\n}\n\n.shiny-chat-tool-image {\n max-width: 100%;\n border-radius: var(--bs-border-radius);\n}\n\n.shiny-chat-tool-group__row,\n.shiny-chat-tool-call-row__summary,\n.shiny-tool-card:not([fullscreen]) {\n opacity: var(--_activity-opacity);\n}\n\n.shiny-tool-card:not([fullscreen]) {\n --bslib-card-box-shadow: none;\n --bslib-card-border-color: var(--bs-card-border-color);\n}\n\n.shiny-chat-tool-loop {\n display: block;\n margin: 1em 0;\n}\n.shiny-chat-tool-loop:first-child {\n margin-top: 0;\n}\n.shiny-chat-tool-loop:last-child {\n margin-bottom: 0;\n}\n\n.shiny-chat-tool-loop:has(+ .shiny-chat-tool-loop) {\n margin-bottom: 0;\n}\n\n.shiny-chat-tool-loop + .shiny-chat-tool-loop {\n margin-top: 0;\n}\n\n.shiny-chat-tool-loop:has(+ .shiny-chat-thinking) {\n margin-bottom: 0;\n}\n\n.shiny-chat-thinking + .shiny-chat-tool-loop {\n margin-top: 0;\n}\n\n.shiny-chat-tool-loop + p,\n.shiny-chat-thinking + p {\n margin-top: 1rem;\n}\n\n.shiny-chat-tool-custom-display {\n margin: 1em 0;\n}\n.shiny-chat-tool-custom-display:last-child {\n margin-bottom: 0;\n}\n\nshiny-chat-raw-html,\nshinychat-raw-html {\n display: contents;\n}\n\n.shiny-chat-tool-group {\n font-size: 0.8em;\n --_row-indent: 1.125rem;\n --_row-pad: 0.4rem;\n --_row-glyph-width: 0.9em;\n}\n\n.shiny-chat-tool-spacer {\n margin-inline-start: auto;\n}\n\n.shiny-chat-tool-group__row {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n min-height: 2em;\n padding: 0.25rem var(--_row-pad);\n border-radius: 6px;\n background: none;\n border: none;\n text-align: left;\n cursor: pointer;\n font: inherit;\n color: inherit;\n}\n.shiny-chat-tool-group__row:hover, .shiny-chat-tool-group__row:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n}\n\n.shiny-chat-tool-group__row:focus-visible,\n.shiny-chat-tool-call-row__summary:focus-visible,\n.shiny-chat-thinking-header:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n\n.shiny-chat-tool-group__glyph {\n --_size: var(--_row-glyph-width);\n width: var(--_size);\n height: var(--_size);\n display: flex;\n align-items: center;\n justify-content: center;\n flex: none;\n color: var(--bs-secondary-color);\n}\n.shiny-chat-tool-group__glyph svg {\n width: 100%;\n height: 100%;\n}\n.shiny-chat-tool-group__glyph.running [class^=spinner] {\n --bs-spinner-width: var(--_size);\n --bs-spinner-height: var(--_size);\n --bs-spinner-border-width: 0.2em;\n}\n\n.shiny-chat-tool-glyph-dot {\n display: inline-block;\n width: 0.4em;\n height: 0.4em;\n margin: auto;\n border-radius: 50%;\n background-color: var(--bs-secondary-color);\n}\n\n.shiny-chat-thinking-glyph {\n display: grid;\n place-items: center;\n width: var(--_row-glyph-width);\n height: var(--_row-glyph-width);\n flex: none;\n}\n.shiny-chat-thinking-glyph::before {\n content: \"\";\n width: 0.4em;\n height: 0.4em;\n background-color: var(--bs-secondary-color);\n transform: rotate(45deg);\n}\n\n.shiny-chat-tool-group__toolname {\n font-family: var(--bs-font-monospace);\n}\n\n.shiny-chat-tool-group__title {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n transition: opacity 0.2s ease;\n}\n.shiny-chat-tool-group__title[data-fading] {\n opacity: 0;\n}\n\n.shiny-chat-tool-group__segments {\n display: block;\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-tool-group__segments .shiny-chat-tool-group__title {\n overflow: visible;\n text-overflow: clip;\n}\n\n.shiny-chat-tool-group__overflow {\n color: var(--bs-secondary-color);\n}\n\n.shiny-chat-tool-group__segment {\n display: inline-flex;\n align-items: baseline;\n gap: 0.5rem;\n min-width: 0;\n}\n.shiny-chat-tool-group__segment + .shiny-chat-tool-group__segment {\n margin-inline-start: 0.25em;\n}\n\n.shiny-chat-tool-group__titlewrap {\n display: inline-flex;\n align-items: baseline;\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n}\n.shiny-chat-tool-group__titlewrap:has(> .shiny-chat-tool-group__label) > .shiny-chat-tool-group__title {\n flex: none;\n}\n.shiny-chat-tool-group__titlewrap > .shiny-chat-tool-group__count {\n align-self: center;\n margin-inline-start: 0.5rem;\n}\n\n.shiny-chat-tool-group__label {\n flex: 1 1 auto;\n font-weight: normal;\n opacity: 0.85;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-tool-group__label code {\n font-size: 0.9em;\n}\n\n.shiny-chat-tool-group__label code,\n.shiny-chat-tool-call-row__label code {\n background: none;\n padding: 0;\n color: inherit;\n}\n\n.shiny-chat-tool-row__intent {\n font-style: italic;\n opacity: var(--_activity-opacity-muted);\n text-align: end;\n flex-shrink: 3;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shiny-chat-tool-group__count {\n font-size: 0.85em;\n font-weight: 400;\n color: var(--bs-secondary-color);\n}\n\n.shiny-chat-tool-group__failed {\n font-size: 0.85em;\n color: var(--bs-danger);\n}\n\n.shiny-chat-tool-group__chevron,\n.shiny-chat-tool-call-row__chevron,\n.shiny-chat-thinking-disclosure {\n display: grid;\n place-items: center;\n width: 0.9em;\n height: 0.9em;\n flex: none;\n opacity: var(--_activity-opacity-muted);\n transition: transform 0.3s ease-in-out;\n transform: rotate(-90deg);\n}\n.shiny-chat-tool-group__chevron svg,\n.shiny-chat-tool-call-row__chevron svg,\n.shiny-chat-thinking-disclosure svg {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.shiny-chat-tool-group__row[aria-expanded=true] .shiny-chat-tool-group__chevron,\n.shiny-chat-tool-call-row__summary[aria-expanded=true] .shiny-chat-tool-call-row__chevron,\n.shiny-chat-thinking-header[aria-expanded=true] .shiny-chat-thinking-disclosure {\n transform: rotate(0deg);\n}\n\n.shiny-chat-tool-group__calls {\n list-style: none;\n margin: 0;\n padding: 0;\n position: relative;\n}\n.shiny-chat-tool-group__calls[hidden] {\n display: none;\n}\n.shiny-chat-tool-group__calls::before {\n content: \"\";\n position: absolute;\n inset-block: 0;\n inset-inline-start: calc(var(--_row-pad) + var(--_row-glyph-width) / 2);\n width: var(--bs-card-border-width, var(--bs-border-width, 1px));\n background-color: var(--bs-border-color);\n opacity: var(--_activity-opacity);\n}\n\n.shiny-chat-tool-call-row__summary {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n margin-left: var(--_row-indent);\n width: calc(100% - var(--_row-indent));\n min-height: 2em;\n padding: 0.25rem var(--_row-pad);\n border-radius: 6px;\n background: none;\n border: none;\n text-align: left;\n cursor: pointer;\n font: inherit;\n color: inherit;\n}\n.shiny-chat-tool-call-row__summary:hover, .shiny-chat-tool-call-row__summary:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n}\n.shiny-chat-tool-call-row__status {\n --_size: var(--_row-glyph-width);\n width: var(--_size);\n height: var(--_size);\n display: flex;\n align-items: center;\n justify-content: center;\n flex: none;\n color: var(--bs-secondary-color);\n}\n.shiny-chat-tool-call-row__status.running [class^=spinner] {\n --bs-spinner-width: var(--_size);\n --bs-spinner-height: var(--_size);\n --bs-spinner-border-width: 0.2em;\n}\n.shiny-chat-tool-call-row__status.text-danger {\n color: var(--bs-danger, #dc3545);\n}\n.shiny-chat-tool-call-row__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-tool-call-row__preview {\n opacity: var(--_activity-opacity-muted);\n font-style: italic;\n flex-shrink: 3;\n min-width: 0;\n text-align: end;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-tool-call-row__detail {\n overflow: hidden;\n}\n.shiny-chat-tool-call-row__detail[hidden] {\n display: none;\n}\n.shiny-chat-tool-call-row__detail:not([hidden]) {\n animation: shiny-chat-tool-detail-reveal 0.2s ease-out;\n}\n.shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) {\n margin: 0;\n border: none;\n border-inline-start: var(--bs-card-border-width, var(--bs-border-width, 1px)) solid var(--bs-border-color);\n border-radius: 0;\n}\n.shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-header {\n display: none;\n}\n.shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-body {\n padding-inline-start: calc(var(--_row-glyph-width) / 2 + 0.5rem - var(--bs-card-border-width, var(--bs-border-width, 1px)));\n}\n\n.shiny-chat-tool-call-row > .shiny-chat-tool-call-row__detail {\n padding-inline-start: calc(var(--_row-indent) + var(--_row-pad) + var(--_row-glyph-width) / 2);\n}\n\n.shiny-chat-tool-group--single > .shiny-chat-tool-call-row__detail {\n padding-inline-start: calc(var(--_row-pad) + var(--_row-glyph-width) / 2);\n}\n\n.shiny-chat-tool-group--framed,\n.shiny-chat-tool-call-row--framed {\n border: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);\n border-radius: var(--bs-border-radius, 4px);\n overflow: hidden;\n}\n\n.shiny-chat-tool-group--framed > .shiny-chat-tool-group__row,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary {\n border-radius: 0;\n border-bottom: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-group__row:hover, .shiny-chat-tool-group--framed > .shiny-chat-tool-group__row:focus-visible,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary:hover,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.1);\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-group__row:focus-visible,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary:focus-visible {\n outline-offset: -2px;\n}\n\n.shiny-chat-tool-call-row--framed {\n margin-inline-start: var(--_row-indent);\n}\n\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__summary {\n margin-left: 0;\n width: 100%;\n}\n\n.shiny-chat-tool-group--framed > .shiny-chat-tool-call-row__detail,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__detail {\n padding-inline-start: 0;\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]),\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) {\n margin: 0;\n border: none;\n border-radius: 0;\n box-shadow: none;\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-body,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-body {\n padding-inline-start: var(--bs-card-spacer-x, 1rem);\n}\n.shiny-chat-tool-group--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-footer,\n.shiny-chat-tool-call-row--framed > .shiny-chat-tool-call-row__detail > .shiny-tool-card:not([fullscreen]) > .card-footer {\n padding: var(--bs-card-cap-padding-y, 0.5rem) var(--bs-card-cap-padding-x, 1rem);\n border-top: var(--bs-card-border-width, 1px) solid var(--bs-card-border-color);\n}\n\n.shiny-chat-tool-call-row--framed + .shiny-chat-tool-call-row--framed {\n margin-top: 0.5rem;\n}\n\n@keyframes shiny-chat-tool-detail-reveal {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.tool-title-label {\n font-weight: normal;\n opacity: 0.85;\n}\n\n.tool-status-note {\n font-size: 0.85em;\n}\n\n.shiny-aside-group {\n display: inline-block;\n max-inline-size: calc(100% - 0.3em);\n margin-inline-start: 0.3em;\n vertical-align: 0.1em;\n}\n\n.shiny-aside-group:has(.shiny-aside-pill--number) {\n margin-inline-start: 0.1em;\n}\n\n.shiny-aside-grounded[data-active] {\n background: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.12);\n border-radius: 0.12em;\n text-decoration-line: underline;\n text-decoration-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.7);\n text-decoration-thickness: 0.1em;\n text-underline-offset: 0.14em;\n}\n\n.shiny-aside-pill {\n --_aside-marker-color: var(--shiny-chat-aside-marker-color, inherit);\n --_aside-marker-hover-color: var(\n --shiny-chat-aside-marker-hover-color,\n var(--_aside-marker-color)\n );\n --_aside-marker-bg: var(\n --shiny-chat-aside-marker-bg,\n rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.06)\n );\n --_aside-marker-hover-bg: var(\n --shiny-chat-aside-marker-hover-bg,\n rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.12)\n );\n --_aside-marker-font-family: var(\n --shiny-chat-aside-marker-font-family,\n inherit\n );\n display: inline-flex;\n align-items: center;\n gap: 0.3em;\n border: none;\n border-radius: 999px;\n background: var(--_aside-marker-bg);\n color: var(--_aside-marker-color);\n font-family: var(--_aside-marker-font-family);\n font-size: 0.72em;\n font-weight: 600;\n line-height: 1;\n padding: 0.25em 0.6em;\n cursor: pointer;\n vertical-align: middle;\n min-height: 1.6em;\n max-inline-size: min(18em, 100%);\n}\n.shiny-aside-pill:has(img) {\n padding-inline-start: 0.35em;\n}\n.shiny-aside-pill.shiny-aside-pill--count {\n padding-inline: 0.5em;\n min-width: 1.4em;\n justify-content: center;\n}\n.shiny-aside-pill.shiny-aside-pill--number {\n position: relative;\n min-inline-size: 0;\n min-height: 0;\n padding: 0;\n border-radius: 0;\n background: transparent;\n white-space: nowrap;\n}\n.shiny-aside-pill.shiny-aside-pill--number::before {\n position: absolute;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n inline-size: 1.5rem;\n block-size: 1.5rem;\n border-radius: 0.25rem;\n content: \"\";\n transform: translate(-50%, -50%);\n}\n.shiny-aside-pill.shiny-aside-pill--number .shiny-aside-pill__count {\n padding: 0.12em 0.28em;\n border-radius: 0.25rem;\n background: var(--_aside-marker-bg);\n transform: translateY(-0.25em);\n}\n.shiny-aside-pill.shiny-aside-pill--number:hover, .shiny-aside-pill.shiny-aside-pill--number:focus-visible, .shiny-aside-pill.shiny-aside-pill--number[aria-expanded=true] {\n background: transparent;\n}\n.shiny-aside-pill.shiny-aside-pill--number:hover .shiny-aside-pill__count, .shiny-aside-pill.shiny-aside-pill--number:focus-visible .shiny-aside-pill__count, .shiny-aside-pill.shiny-aside-pill--number[aria-expanded=true] .shiny-aside-pill__count {\n background: var(--_aside-marker-hover-bg);\n}\n.shiny-aside-pill img {\n flex: 0 0 auto;\n width: 1.1em;\n height: 1.1em;\n border-radius: 50%;\n}\n.shiny-aside-pill .shiny-aside-pill__overflow {\n flex: 0 0 auto;\n opacity: 0.65;\n}\n.shiny-aside-pill .shiny-aside-pill__label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-aside-pill:hover, .shiny-aside-pill:focus-visible, .shiny-aside-pill[aria-expanded=true] {\n background: var(--_aside-marker-hover-bg);\n color: var(--_aside-marker-hover-color);\n}\n\n[data-floating-ui-portal]:has(> .shiny-floating-overlay) {\n position: fixed;\n}\n\n.shiny-aside-popover {\n display: flex;\n flex-direction: column;\n z-index: 1040;\n box-sizing: border-box;\n width: min(22em, 100vw - 1rem);\n max-height: min(32rem, 100vh - 1rem);\n overflow: hidden;\n overflow-wrap: anywhere;\n word-break: break-word;\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, inherit);\n border: 1px solid rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.12);\n border-radius: 0.6em;\n box-shadow: 0 0.4em 1.2em rgba(0, 0, 0, 0.12);\n padding: 0.7em 0.8em;\n font-size: 0.8em;\n font-weight: 400;\n text-align: start;\n white-space: normal;\n}\n.shiny-aside-popover .shiny-aside-popover__nav {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: space-between;\n opacity: 0.65;\n margin-bottom: 0.5em;\n}\n.shiny-aside-popover .shiny-aside-popover__nav .shiny-aside-popover__nav-arrows {\n display: flex;\n align-items: center;\n gap: 0.6em;\n margin-left: -0.55em;\n}\n.shiny-aside-popover .shiny-aside-popover__nav .shiny-aside-popover__count {\n font-size: 0.75em;\n}\n.shiny-aside-popover .shiny-aside-popover__nav button {\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n color: inherit;\n cursor: pointer;\n border-radius: 0.4em;\n min-width: 24px;\n min-height: 24px;\n padding: 0.4em 0.55em;\n margin: -0.4em 0;\n}\n.shiny-aside-popover .shiny-aside-popover__nav button:hover {\n background: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.08);\n}\n.shiny-aside-popover .shiny-aside-popover__label {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n gap: 0.4em;\n font-weight: 600;\n margin-bottom: 0.4em;\n min-width: 0;\n overflow-wrap: anywhere;\n word-break: break-word;\n}\n.shiny-aside-popover .shiny-aside-popover__label img {\n flex: 0 0 auto;\n width: 1.1em;\n height: 1.1em;\n border-radius: 50%;\n}\n.shiny-aside-popover .shiny-aside-popover__label-text {\n display: -webkit-box;\n min-width: 0;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n.shiny-aside-popover .shiny-aside-popover__body {\n min-height: 0;\n overflow: auto;\n}\n.shiny-aside-popover .shiny-aside-popover__body p:last-child {\n margin-bottom: 0;\n}\n\n.shiny-web-activity {\n --_chevron-size: 12px;\n --_header-gap: 0.35em;\n --_chevron-center: calc(var(--_chevron-size) / 2);\n --_rail-indent: calc(var(--_chevron-size) + var(--_header-gap));\n --_dot-size: 0.5em;\n --_dot-center: 0.7em;\n --_node-gap: 0.7em;\n margin: 0.5em 0;\n font-size: 0.9em;\n}\n.shiny-web-activity .shiny-web-activity__header {\n display: inline-flex;\n align-items: center;\n gap: var(--_header-gap);\n background: none;\n border: none;\n padding: 0.15em 0;\n cursor: pointer;\n color: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.6);\n font: inherit;\n}\n.shiny-web-activity .shiny-web-activity__header:hover, .shiny-web-activity .shiny-web-activity__header:focus-visible {\n color: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.85);\n outline: none;\n}\n.shiny-web-activity .shiny-web-activity__chevron {\n display: block;\n flex: none;\n transition: transform 0.2s ease;\n}\n.shiny-web-activity .shiny-web-activity__chevron[data-expanded] {\n transform: rotate(90deg);\n}\n.shiny-web-activity .shiny-web-activity__timeline {\n position: relative;\n margin: 0.3em 0 0.2em;\n padding-left: var(--_rail-indent);\n}\n.shiny-web-activity .shiny-web-activity__node {\n position: relative;\n margin-bottom: var(--_node-gap);\n}\n.shiny-web-activity .shiny-web-activity__node::before {\n content: \"\";\n position: absolute;\n left: calc(var(--_chevron-center) - var(--_rail-indent) - var(--_dot-size) / 2);\n top: calc(var(--_dot-center) - var(--_dot-size) / 2);\n width: var(--_dot-size);\n height: var(--_dot-size);\n border-radius: 50%;\n background: var(--bs-body-bg, #fff);\n box-shadow: 0 0 0 1px rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.3);\n}\n.shiny-web-activity .shiny-web-activity__node::after {\n content: \"\";\n position: absolute;\n left: calc(var(--_chevron-center) - var(--_rail-indent) - 0.5px);\n top: var(--_dot-center);\n width: 1px;\n background: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.15);\n}\n.shiny-web-activity .shiny-web-activity__node:not(:last-child)::after {\n height: calc(100% + var(--_node-gap));\n}\n.shiny-web-activity .shiny-web-activity__node:last-child::after {\n content: none;\n}\n.shiny-web-activity .shiny-web-activity__node:last-child:has(.shiny-web-activity__results)::after {\n content: \"\";\n bottom: 0;\n}\n.shiny-web-activity .shiny-web-activity__qrow {\n display: flex;\n align-items: baseline;\n gap: 0.6em;\n}\n.shiny-web-activity .shiny-web-activity__query {\n flex: 1;\n font-weight: 500;\n}\n.shiny-web-activity .shiny-web-activity__count {\n white-space: nowrap;\n opacity: 0.6;\n font-size: 0.9em;\n}\n.shiny-web-activity .shiny-web-activity__results {\n margin-top: 0.4em;\n border: 1px solid rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.12);\n border-radius: var(--bs-border-radius, 0.5rem);\n max-height: 11em;\n overflow: auto;\n}\n.shiny-web-activity .shiny-web-activity__result {\n display: flex;\n align-items: center;\n gap: 0.6em;\n padding: 0.4em 0.6em;\n color: inherit;\n text-decoration: none;\n border-radius: var(--bs-border-radius, 0.4rem);\n}\n.shiny-web-activity .shiny-web-activity__result:hover {\n background: rgba(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05);\n}\n.shiny-web-activity .shiny-web-activity__fav {\n width: 1.1em;\n height: 1.1em;\n border-radius: 3px;\n flex: none;\n}\n.shiny-web-activity .shiny-web-activity__title {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.shiny-web-activity .shiny-web-activity__domain {\n white-space: nowrap;\n opacity: 0.55;\n font-size: 0.9em;\n}\n.shiny-web-activity .shiny-web-activity__fetch {\n display: flex;\n align-items: center;\n gap: 0.4em;\n}\n.shiny-web-activity .shiny-web-activity__fetch .shiny-web-activity__fetch-label {\n opacity: 0.6;\n}\n.shiny-web-activity .shiny-web-activity__fetch a {\n word-break: break-all;\n}\n.shiny-web-activity .shiny-web-activity__status--error {\n color: var(--bs-danger, #dc3545);\n}\n.shiny-web-activity .shiny-web-activity__status--ok {\n color: var(--bs-success, #2a9d4a);\n}\n\n.shiny-sources {\n display: inline-block;\n margin-top: 0.5rem;\n}\n\n.shiny-sources-pill {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n border: 1px solid var(--bs-border-color, #d5d7db);\n border-radius: 999px;\n padding: 0.25rem 0.75rem 0.25rem 0.5rem;\n background: var(--bs-tertiary-bg, #f6f7f9);\n color: inherit;\n font-size: 0.8125rem;\n cursor: pointer;\n}\n\n.shiny-sources-pill__stack {\n display: inline-flex;\n}\n.shiny-sources-pill__stack .shiny-sources-favicon {\n margin-left: -0.4375rem;\n border: 2px solid var(--bs-tertiary-bg, #f6f7f9);\n border-radius: 50%;\n}\n.shiny-sources-pill__stack .shiny-sources-favicon:first-child {\n margin-left: 0;\n}\n\n.shiny-sources-favicon {\n width: 1rem;\n height: 1rem;\n border-radius: 0.25rem;\n flex: 0 0 auto;\n}\n\n.shiny-sources-favicon--blank {\n background: var(--bs-secondary-bg, #e3e3e6);\n}\n\n.shiny-sources-popover {\n width: 21rem;\n max-height: 18rem;\n overflow-y: auto;\n background: var(--bs-body-bg, #fff);\n border: 1px solid var(--bs-border-color, #d5d7db);\n border-radius: 0.75rem;\n box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);\n padding: 0.375rem 0;\n z-index: 1040;\n}\n\n.shiny-sources-popover__title {\n font-size: 0.75rem;\n font-weight: 700;\n padding: 0.5rem 0.875rem 0.375rem;\n}\n\n.shiny-sources-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.shiny-sources-item__link {\n display: flex;\n gap: 0.625rem;\n padding: 0.5625rem 0.875rem;\n text-decoration: none;\n color: inherit;\n}\n.shiny-sources-item__link:hover {\n background: var(--bs-tertiary-bg, #f6f7f9);\n}\n.shiny-sources-item__link .shiny-sources-favicon {\n margin-top: 0.125rem;\n}\n\n.shiny-sources-item__text {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.shiny-sources-item__site {\n font-size: 0.71875rem;\n color: var(--bs-secondary-color, #8a8a8e);\n}\n\n.shiny-sources-item__title {\n font-size: 0.8125rem;\n font-weight: 600;\n line-height: 1.35;\n}\n\nshiny-chat-container .shiny-chat-suggestion-list {\n --_card-min-width: var(--shiny-chat-suggestion-card-min-width, 175px);\n --_card-reveal-stagger: var(\n --shiny-chat-suggestion-card-reveal-stagger,\n 100ms\n );\n list-style: none;\n padding: 0;\n margin-block: 0.5rem;\n font-size: 0.875rem;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(min(var(--_card-min-width), 100%), 1fr));\n gap: 0.75rem;\n}\nshiny-chat-container .shiny-chat-suggestion-list[data-pending] {\n display: flex;\n align-items: center;\n color: var(--bs-secondary-color, #6c757d);\n font-style: italic;\n animation: shiny-chat-suggestion-pending-pulse 1.75s ease-in-out infinite;\n animation-delay: 250ms;\n gap: 0.25em;\n}\nshiny-chat-container .shiny-chat-suggestion-list[data-pending] > li {\n display: none;\n}\nshiny-chat-container .shiny-chat-suggestion-list[data-pending]::before {\n content: \"Generating suggestions\u2026\";\n}\nshiny-chat-container .shiny-chat-suggestion-list[data-pending] > .markdown-stream-dot {\n margin-left: 0 !important;\n fill: currentColor;\n}\nshiny-chat-container .shiny-chat-suggestion-list:has(> li:only-child) {\n grid-template-columns: minmax(0, 360px);\n}\nshiny-chat-container .shiny-chat-suggestion-list > li {\n display: contents;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item {\n display: block;\n position: relative;\n padding: 0.75rem 2rem 0.75rem 1rem;\n border: var(--_border);\n border-radius: var(--shiny-chat-suggestion-card-border-radius, 8px);\n background-color: var(--bs-body-bg, #fff);\n cursor: pointer;\n color: inherit;\n text-decoration: none;\n transition: border-color 0.15s ease, background-color 0.15s ease, transform 0.12s ease-out, box-shadow 0.15s ease;\n animation: shiny-chat-suggestion-card-reveal 0.3s cubic-bezier(0.22, 1, 0.36, 1) both;\n animation-delay: calc(var(--_card-reveal-stagger) * var(--_card-index, 0));\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item::after {\n content: \"\u2192\";\n position: absolute;\n right: 0.75rem;\n bottom: 0.6rem;\n font-size: 0.95em;\n line-height: 1;\n opacity: 0.35;\n color: var(--bs-primary, #007bc2);\n transition: opacity 0.15s ease-out, transform 0.18s cubic-bezier(0.22, 1, 0.36, 1);\n transform: translateX(0);\n pointer-events: none;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:hover {\n border-color: rgba(var(--bs-link-color-rgb, 0, 123, 194), 0.5);\n background-color: var(--bs-tertiary-bg, #f8f9fa);\n transform: translateY(-1px);\n box-shadow: 0 4px 12px -6px color-mix(in oklch, var(--bs-primary, #007bc2) 35%, transparent);\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:hover::after {\n opacity: 1;\n transform: translateX(2px);\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:active {\n transform: translateY(1px);\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item:focus-visible::after {\n opacity: 1;\n transform: translateX(2px);\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item[data-last-clicked] {\n border-color: var(--bs-primary, #007bc2);\n background-color: color-mix(in oklch, var(--bs-body-bg, #fff) 92%, var(--bs-primary, #007bc2));\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item[data-last-clicked]::after {\n content: \"\u2713\";\n opacity: 1;\n transform: translateX(2px);\n}\nshiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item {\n counter-reset: card-number calc(var(--_card-index, 0) + 1);\n}\nshiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item::before {\n content: counter(card-number);\n position: absolute;\n top: 0.6rem;\n right: 0.85rem;\n font-size: 0.7em;\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n line-height: 1;\n color: color-mix(in oklch, var(--bs-secondary-color, #6c757d) 70%, var(--bs-primary, #007bc2));\n opacity: 0.6;\n transition: opacity 0.15s ease-out, color 0.15s ease-out;\n pointer-events: none;\n}\nshiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:hover::before, shiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item:focus-visible::before {\n opacity: 1;\n}\nshiny-chat-container .shiny-chat-suggestion-list.shiny-chat-suggestion-list--ordered .shiny-chat-suggestion-list-item[data-last-clicked]::before {\n opacity: 1;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item-title {\n font-weight: 600;\n margin-bottom: 0.25rem;\n}\nshiny-chat-container .shiny-chat-suggestion-list .shiny-chat-suggestion-list-item-body {\n color: var(--bs-secondary-color, #6c757d);\n}\n\n@keyframes shiny-chat-suggestion-card-reveal {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes shiny-chat-suggestion-pending-pulse {\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.4;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n shiny-chat-container .shiny-chat-suggestion-list[data-pending],\n shiny-chat-container .shiny-chat-suggestion-list-item {\n animation: none;\n }\n shiny-chat-container .shiny-chat-suggestion-list-item,\n shiny-chat-container .shiny-chat-suggestion-list-item::after {\n transform: none !important;\n }\n}\nshiny-chat-container {\n --_greeting-max-width: var(--shiny-chat-greeting-max-width, 680px);\n --_greeting-color: var(--shiny-chat-greeting-color, var(--bs-secondary-color, #6c757d));\n}\n\n.shiny-chat-messages-wrapper:has(.shiny-chat-history-trigger) .shiny-chat-greeting {\n padding-inline-start: 2.5rem;\n}\n\n.shiny-chat-greeting {\n margin-inline: auto;\n width: 100%;\n max-width: var(--_greeting-max-width);\n padding: 1.5rem;\n color: var(--_greeting-color);\n}\n.shiny-chat-greeting.shiny-chat-greeting--enter {\n animation: shiny-chat-greeting-reveal 300ms cubic-bezier(0.22, 1, 0.36, 1) both;\n}\n.shiny-chat-greeting h1,\n.shiny-chat-greeting h2,\n.shiny-chat-greeting h3,\n.shiny-chat-greeting h4,\n.shiny-chat-greeting h5,\n.shiny-chat-greeting h6 {\n color: var(--bs-body-color);\n}\n.shiny-chat-greeting .shiny-chat-suggestion-list {\n max-width: var(--_greeting-max-width);\n}\n.shiny-chat-greeting[data-dismissing] {\n animation: shiny-chat-greeting-dismiss 200ms ease-out both;\n}\n\n.shiny-chat-messages:has(> .shiny-chat-messages-content:is(:empty, [data-greeting-dismissing])) > .shiny-chat-greeting {\n margin-block: auto;\n}\n\nshiny-chat-page .shiny-chat-layout[data-greeting-overflow] .shiny-chat-messages > .shiny-chat-greeting {\n flex: 0 0 auto;\n margin-block: 0;\n}\n\n.shiny-chat-messages-content:is(:empty, [data-greeting-dismissing]) {\n padding-bottom: 0;\n}\n\n.shiny-chat-messages-content[data-greeting-dismissing] > * {\n display: none;\n}\n\nshiny-chat-page .shiny-chat-layout[data-composer-centered] .shiny-chat-greeting {\n translate: 0 var(--_greeting-offset, 0px);\n}\n\nshiny-chat-page .shiny-chat-layout[data-composer-motion-ready][data-composer-centered]:not([data-composer-resizing]) .shiny-chat-greeting {\n transition: translate 350ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes shiny-chat-greeting-reveal {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@keyframes shiny-chat-greeting-dismiss {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n shiny-chat-page .shiny-chat-layout[data-composer-motion-ready][data-composer-centered]:not([data-composer-resizing]) .shiny-chat-greeting {\n transition: none;\n }\n .shiny-chat-greeting.shiny-chat-greeting--enter,\n .shiny-chat-greeting[data-dismissing] {\n animation: none;\n }\n}\n.shiny-chat-restoring {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n animation: shiny-chat-restoring-fade-in 300ms ease-out both;\n}\n.shiny-chat-restoring > span {\n padding: 0.4rem 1rem;\n border-radius: 2rem;\n font-size: 0.875rem;\n color: var(--_greeting-color);\n background: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.04));\n border: 1px solid var(--bs-border-color, rgba(0, 0, 0, 0.1));\n}\n\n@keyframes shiny-chat-restoring-fade-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.shiny-chat-slash-palette {\n margin: 0;\n padding: 0.25rem 0;\n list-style: none;\n background: var(--bs-body-bg, #fff);\n border: var(--_border);\n border-radius: 8px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n max-height: 15rem;\n overflow-y: auto;\n min-width: 200px;\n}\n\n.shiny-chat-slash-palette-item {\n display: flex;\n flex-direction: column;\n gap: 0.125rem;\n padding: 0.5rem 0.75rem;\n cursor: pointer;\n}\n.shiny-chat-slash-palette-item.highlighted {\n background: RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.06);\n}\n\n.shiny-chat-slash-palette-name {\n font-weight: 600;\n font-size: 0.9em;\n}\n\n.shiny-chat-slash-palette-desc {\n font-size: 0.8em;\n color: var(--bs-secondary-color, #6c757d);\n}\n\n.shiny-chat-slash-palette-empty {\n padding: 0.5rem 0.75rem;\n font-size: 0.85em;\n color: var(--bs-secondary-color, #6c757d);\n font-style: italic;\n}\n\n.command-chip {\n --_chip-color: var(--shiny-chat-command-chip-color, var(--bs-primary, #007bc2));\n display: inline;\n font-family: var(--bs-font-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-size: 0.9em;\n color: light-dark(color-mix(in srgb, var(--_chip-color) 75%, black), color-mix(in srgb, var(--_chip-color) 75%, white));\n background: var(--shiny-chat-command-chip-bg, light-dark(color-mix(in srgb, var(--_chip-color) 10%, white), color-mix(in srgb, var(--_chip-color) 15%, black)));\n border: var(--shiny-chat-command-chip-border, 1px solid var(--shiny-chat-command-chip-border-color, light-dark(color-mix(in srgb, var(--_chip-color) 20%, white), color-mix(in srgb, var(--_chip-color) 25%, black))));\n border-radius: 4px;\n padding: 0.1em 0.35em;\n white-space: nowrap;\n line-height: 1.4;\n}\n\n.shiny-chat-history-trigger {\n --_history-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));\n --_history-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));\n --_history-border-color: var(\n --shiny-chat-history-border-color,\n var(--bs-border-color, #dee2e6)\n );\n position: absolute;\n top: 0.5rem;\n inset-inline-start: calc(0.5rem + var(--_history-trigger-shift, 0px));\n z-index: 5;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n padding: 0;\n border: var(--bs-border-width, 1px) solid var(--_history-border-color);\n border-radius: 50%;\n background-color: var(--_history-bg);\n color: var(--bs-secondary-color, #6c757d);\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n line-height: 1;\n}\n.shiny-chat-history-trigger:hover, .shiny-chat-history-trigger[aria-expanded=true] {\n color: var(--_history-accent);\n border-color: color-mix(in srgb, var(--_history-accent) 40%, var(--_history-border-color));\n background-color: light-dark(color-mix(in srgb, var(--_history-accent) 6%, var(--_history-bg)), color-mix(in srgb, var(--_history-accent) 14%, var(--_history-bg)));\n}\n.shiny-chat-history-trigger:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: 2px;\n}\n.shiny-chat-history-trigger svg {\n display: block;\n}\n\n.shiny-chat-history {\n --_history-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));\n --_history-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));\n --_history-border-color: var(\n --shiny-chat-history-border-color,\n var(--bs-border-color, #dee2e6)\n );\n --_history-muted: var(--bs-secondary-color, #6c757d);\n --_history-fg: var(--bs-body-color, #212529);\n --_history-danger: var(--bs-danger, #dc3545);\n --_history-item-hover-bg: var(\n --shiny-chat-history-item-hover-bg,\n light-dark(\n color-mix(in srgb, var(--_history-accent) 7%, transparent),\n color-mix(in srgb, var(--_history-accent) 14%, transparent)\n )\n );\n --_history-item-active-bg: var(\n --shiny-chat-history-item-active-bg,\n light-dark(\n color-mix(in srgb, var(--_history-accent) 13%, transparent),\n color-mix(in srgb, var(--_history-accent) 24%, transparent)\n )\n );\n position: absolute;\n inset: 0;\n z-index: 6;\n}\n.shiny-chat-history:focus {\n outline: none;\n}\n.shiny-chat-history-scrim {\n position: absolute;\n inset: 0;\n background: var(--shiny-chat-history-scrim, rgba(0, 0, 0, 0.25));\n animation: shiny-chat-history-scrim-in 0.2s ease forwards;\n}\n.shiny-chat-history[data-closing] .shiny-chat-history-scrim {\n animation: shiny-chat-history-scrim-out 0.2s ease forwards;\n}\n.shiny-chat-history-drawer {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n width: min(20rem, 85%);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--_history-bg);\n color: var(--_history-fg);\n border-inline-end: var(--bs-border-width, 1px) solid var(--_history-border-color);\n box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.12);\n animation: shiny-chat-history-drawer-in 0.2s ease forwards;\n}\n.shiny-chat-history[data-closing] .shiny-chat-history-drawer {\n animation: shiny-chat-history-drawer-out 0.2s ease forwards;\n}\n.shiny-chat-history-header {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.75rem 0.75rem 0.5rem;\n}\n.shiny-chat-history-title {\n margin: 0;\n font-size: 0.9375rem;\n font-weight: 600;\n line-height: 1.2;\n color: var(--_history-fg);\n}\n.shiny-chat-history-close {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: 0.375rem;\n background: none;\n color: var(--_history-muted);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n}\n.shiny-chat-history-close:hover {\n background: var(--_history-item-hover-bg);\n color: var(--_history-fg);\n}\n.shiny-chat-history-close:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: 2px;\n}\n.shiny-chat-history-close svg {\n display: block;\n}\n.shiny-chat-history-toprow {\n flex-shrink: 0;\n display: flex;\n align-items: stretch;\n gap: 0.375rem;\n padding: 0 0.75rem 0.5rem;\n}\n.shiny-chat-history-new {\n --_history-new-focus: var(\n --shiny-chat-history-accent,\n var(--bs-primary-text-emphasis, var(--_history-accent))\n );\n flex-shrink: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.375rem;\n white-space: nowrap;\n padding: 0.375rem 0.75rem;\n font-size: 0.875rem;\n font-weight: 500;\n line-height: 1.5;\n border-radius: var(--bs-border-radius, 0.375rem);\n border: var(--bs-border-width, 1px) solid var(--_history-border-color);\n background: var(--bs-body-bg, #fff);\n color: var(--_history-fg);\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n}\n.shiny-chat-history-new svg {\n display: block;\n}\n.shiny-chat-history-new:hover:not(:disabled) {\n color: var(--_history-new-focus);\n background: var(--_history-item-hover-bg);\n}\n.shiny-chat-history-new:focus-visible {\n outline: 2px solid var(--_history-new-focus);\n outline-offset: 2px;\n}\n.shiny-chat-history-new:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n.shiny-chat-history-search-wrap {\n flex: 1;\n min-width: 0;\n position: relative;\n display: flex;\n align-items: stretch;\n}\n.shiny-chat-history-search-icon {\n position: absolute;\n inset-inline-start: 0.5rem;\n inset-block: 0;\n display: flex;\n align-items: center;\n color: var(--_history-muted);\n pointer-events: none;\n}\n.shiny-chat-history-search-icon svg {\n display: block;\n}\n.shiny-chat-history-search {\n flex: 1;\n min-width: 0;\n padding-inline-start: 1.75rem;\n font-size: 0.875rem;\n}\n.shiny-chat-history-search.form-control {\n border-color: var(--_history-border-color);\n}\n.shiny-chat-history-list {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n padding: 0 0.5rem 0.5rem;\n}\n.shiny-chat-history-section {\n position: sticky;\n top: 0;\n z-index: 1;\n font-size: 0.6875rem;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--_history-muted);\n background: var(--_history-bg);\n padding: 0.5rem 0.5rem 0.25rem;\n}\n.shiny-chat-history-section:first-child {\n padding-top: 0.25rem;\n}\n.shiny-chat-history-item {\n position: relative;\n display: flex;\n align-items: center;\n gap: 0.375rem;\n padding: 0.3125rem 0.5rem;\n border-radius: 0.375rem;\n color: var(--_history-fg);\n}\n.shiny-chat-history-item:hover {\n background: var(--_history-item-hover-bg);\n}\n.shiny-chat-history-item:has(> .shiny-chat-history-item-select:focus-visible) {\n outline: 2px solid var(--_history-accent);\n outline-offset: -2px;\n}\n.shiny-chat-history-item.active {\n background: var(--_history-item-active-bg);\n}\n.shiny-chat-history-item.active .shiny-chat-history-item-title {\n font-weight: 600;\n}\n.shiny-chat-history-item:has(> .shiny-chat-history-confirm) {\n background: color-mix(in srgb, var(--_history-danger) 9%, transparent);\n}\n.shiny-chat-history-item-select {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: baseline;\n gap: 0.5rem;\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n text-align: start;\n cursor: pointer;\n}\n.shiny-chat-history-item-select:focus-visible {\n outline: none;\n}\n.shiny-chat-history-item-select:disabled {\n cursor: not-allowed;\n}\n.shiny-chat-history-item-title {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 0.875rem;\n line-height: 1.3;\n}\n.shiny-chat-history-item-time {\n flex-shrink: 0;\n font-size: 0.6875rem;\n color: var(--_history-muted);\n font-variant-numeric: tabular-nums;\n}\n.shiny-chat-history-rename-input {\n flex: 1;\n min-width: 0;\n font-size: 0.875rem;\n}\n.shiny-chat-history-itemmenu {\n flex-shrink: 0;\n position: relative;\n opacity: 0;\n transition: opacity 0.12s ease;\n}\n.shiny-chat-history-itemmenu > button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n color: var(--_history-muted);\n border-radius: 0.25rem;\n line-height: 1;\n}\n.shiny-chat-history-itemmenu > button svg {\n display: block;\n}\n.shiny-chat-history-itemmenu > button:hover {\n background: color-mix(in srgb, var(--_history-accent) 12%, transparent);\n color: var(--_history-fg);\n}\n.shiny-chat-history-itemmenu > button:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: 1px;\n}\n.shiny-chat-history-item:hover .shiny-chat-history-itemmenu, .shiny-chat-history-item.active .shiny-chat-history-itemmenu, .shiny-chat-history-itemmenu:focus-within, .shiny-chat-history-itemmenu[data-menu-open] {\n opacity: 1;\n}\n@media (hover: none) {\n .shiny-chat-history-itemmenu {\n opacity: 1;\n }\n}\n.shiny-chat-history-menu {\n z-index: var(--bs-popover-zindex, 1070);\n min-width: 8rem;\n display: flex;\n flex-direction: column;\n padding: 0.25rem;\n background: var(--_history-bg);\n border: var(--bs-border-width, 1px) solid var(--_history-border-color);\n border-radius: 0.5rem;\n box-shadow: 0 6px 16px rgba(0, 0, 0, 0.14);\n}\n.shiny-chat-history-menu > button {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0.375rem 0.5rem;\n border-radius: 0.375rem;\n text-align: start;\n font-size: 0.8125rem;\n color: var(--_history-fg);\n}\n.shiny-chat-history-menu > button svg {\n flex-shrink: 0;\n display: block;\n}\n.shiny-chat-history-menu > button:hover {\n background: var(--_history-item-hover-bg);\n}\n.shiny-chat-history-menu > button:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: -2px;\n}\n.shiny-chat-history-menu > button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.shiny-chat-history-menu-danger {\n color: var(--_history-danger);\n}\n.shiny-chat-history-menu-danger:hover {\n background: color-mix(in srgb, var(--_history-danger) 10%, transparent);\n}\n.shiny-chat-history-confirm {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n flex-shrink: 0;\n font-size: 0.75rem;\n color: var(--_history-danger);\n}\n.shiny-chat-history-confirm > button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n border-radius: 0.25rem;\n color: var(--_history-muted);\n line-height: 1;\n}\n.shiny-chat-history-confirm > button svg {\n display: block;\n}\n.shiny-chat-history-confirm > button:focus-visible {\n outline: 2px solid var(--_history-accent);\n outline-offset: 1px;\n}\n.shiny-chat-history-confirm-yes {\n color: var(--_history-danger);\n}\n.shiny-chat-history-confirm-yes:hover {\n background: color-mix(in srgb, var(--_history-danger) 12%, transparent);\n}\n.shiny-chat-history-confirm-no:hover {\n background: var(--_history-item-hover-bg);\n color: var(--_history-fg);\n}\n.shiny-chat-history-empty {\n text-align: center;\n color: var(--_history-muted);\n padding-block: 1.5rem;\n padding-inline: 1rem;\n font-size: 0.8125rem;\n line-height: 1.4;\n}\n\n@keyframes shiny-chat-history-drawer-in {\n from {\n transform: translateX(var(--_drawer-x, -100%));\n }\n to {\n transform: translateX(0);\n }\n}\n@keyframes shiny-chat-history-drawer-out {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(var(--_drawer-x, -100%));\n }\n}\n@keyframes shiny-chat-history-scrim-in {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes shiny-chat-history-scrim-out {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\nshiny-chat-container[data-history-placement=right] .shiny-chat-history-trigger {\n inset-inline-start: auto;\n inset-inline-end: calc(0.5rem + var(--_history-trigger-shift, 0px));\n}\nshiny-chat-container[data-history-placement=right] .shiny-chat-history-drawer {\n inset-inline-start: auto;\n inset-inline-end: 0;\n --_drawer-x: 100%;\n border-inline-end: none;\n border-inline-start: var(--bs-border-width, 1px) solid var(--_history-border-color);\n}\n\n.bslib-sidebar-layout.sidebar-collapsed:not(.sidebar-right):has(shiny-chat-container:not([data-history-placement=right]) .shiny-chat-history) > .collapse-toggle,\n.bslib-sidebar-layout.sidebar-collapsed.sidebar-right:has(shiny-chat-container[data-history-placement=right] .shiny-chat-history) > .collapse-toggle {\n display: none;\n}\n\n.shiny-chat-history.shiny-chat-history-inline {\n --_history-inline-bg: var(--_history-bg);\n position: static;\n inset: auto;\n z-index: auto;\n display: block;\n min-width: 0;\n overflow: visible;\n border: 0;\n border-radius: 0;\n background: var(--shiny-chat-history-bg, transparent);\n color: var(--_history-fg);\n box-shadow: none;\n}\n.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-toprow {\n padding-inline: 0;\n}\n.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-list {\n padding-inline: 0;\n}\n.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-list {\n max-block-size: min(32rem, 60vh);\n}\n.shiny-chat-history.shiny-chat-history-inline .shiny-chat-history-section {\n background: var(--_history-inline-bg);\n}\n\nshiny-chat-history {\n display: block;\n min-width: 0;\n}\n\n@property --_drawer-layout-width {\n syntax: \"\";\n inherits: true;\n initial-value: 0px;\n}\n@property --_drawer-layout-gap {\n syntax: \"\";\n inherits: true;\n initial-value: 0px;\n}\n.shiny-chat-layout {\n --_drawer-layout-width: 0px;\n --_drawer-layout-gap: 0px;\n min-width: 0;\n min-height: 0;\n width: 100%;\n height: 100%;\n display: grid;\n grid-template-columns: minmax(0, 1fr) minmax(0, var(--_drawer-layout-width));\n grid-template-rows: minmax(0, 1fr) auto;\n column-gap: var(--_drawer-layout-gap);\n transition: --_drawer-layout-width 180ms cubic-bezier(0.16, 1, 0.3, 1), --_drawer-layout-gap 180ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.shiny-chat-drawer-trigger {\n --_drawer-accent: var(--shiny-chat-history-accent, var(--bs-primary, #007bc2));\n --_drawer-bg: var(--shiny-chat-history-bg, var(--bs-body-bg, #fff));\n --_drawer-border-color: var(--shiny-chat-history-border-color, var(--bs-border-color, #dee2e6));\n position: absolute;\n top: 0.5rem;\n inset-inline-end: 0.5rem;\n z-index: 5;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n padding: 0;\n border: var(--bs-border-width, 1px) solid var(--_drawer-border-color);\n border-radius: 50%;\n background-color: var(--_drawer-bg);\n color: var(--bs-secondary-color, #6c757d);\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n line-height: 1;\n}\n.shiny-chat-drawer-trigger:hover {\n color: var(--_drawer-accent);\n border-color: color-mix(in srgb, var(--_drawer-accent) 40%, var(--_drawer-border-color));\n background-color: light-dark(color-mix(in srgb, var(--_drawer-accent) 6%, var(--_drawer-bg)), color-mix(in srgb, var(--_drawer-accent) 14%, var(--_drawer-bg)));\n}\n.shiny-chat-drawer-trigger:focus-visible {\n outline: 2px solid var(--_drawer-accent);\n outline-offset: 2px;\n}\n.shiny-chat-drawer-trigger svg {\n display: block;\n}\n\nshiny-chat-container[data-history-placement=right] .shiny-chat-drawer-trigger {\n top: 3rem;\n}\n\n.shiny-chat-layout[data-drawer-open] {\n --_drawer-layout-width: var(--_drawer-width, 400px);\n --_drawer-layout-gap: clamp(0.75rem, 1.5cqi, 1.5rem);\n align-items: stretch;\n}\n.shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper {\n box-sizing: border-box;\n width: 100%;\n justify-self: center;\n}\n\n.shiny-chat-layout > .shiny-chat-wrapper {\n grid-column: 1;\n grid-row: 1;\n}\n\n.shiny-chat-layout > .shiny-chat-footer {\n grid-column: 1;\n grid-row: 2;\n}\n\n.shiny-chat-drawer-width-probe {\n position: absolute;\n visibility: hidden;\n pointer-events: none;\n contain: layout style;\n height: 0;\n overflow: hidden;\n}\n\n.shiny-chat-layout[data-drawer-takeover] {\n position: relative;\n z-index: 7;\n}\n\n.shiny-chat-drawer {\n grid-column: 2;\n grid-row: 1/-1;\n position: relative;\n min-width: 0;\n min-height: 0;\n width: 100%;\n height: 100%;\n display: grid;\n grid-template-rows: auto minmax(0, 1fr);\n overflow: visible;\n border: 0;\n border-inline-start: var(--_border);\n background: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n box-shadow: -2px 0 8px rgba(33, 37, 41, 0.06);\n opacity: 1;\n transform: translateX(0);\n transition: opacity 140ms ease-out, transform 180ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.shiny-chat-drawer[data-motion=opening],\n.shiny-chat-drawer[data-motion=closing] {\n opacity: 0;\n pointer-events: none;\n transform: translateX(0.75rem);\n}\n\n.shiny-chat-layout:is([data-drawer-resizing], [data-drawer-takeover]) {\n transition: none;\n}\n\n.shiny-chat-layout[data-drawer-resizing] .shiny-chat-drawer {\n transition: none;\n}\n\n@container shiny-chat (min-width: 640px) {\n .shiny-chat-layout .shiny-chat-wrapper {\n justify-self: center;\n }\n}\n.shiny-chat-drawer-header {\n min-width: 0;\n min-height: 2.75rem;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.75rem;\n padding: 0.5rem 0.625rem 0.5rem 1rem;\n border-bottom: var(--_border);\n}\n.shiny-chat-drawer-header h2 {\n min-width: 0;\n margin: 0;\n overflow: hidden;\n font-size: 1rem;\n font-weight: 600;\n line-height: 1.25;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shiny-chat-drawer-close {\n width: 2rem;\n height: 2rem;\n flex: 0 0 auto;\n display: inline-grid;\n place-items: center;\n border: 0;\n border-radius: 4px;\n background: transparent;\n color: var(--bs-secondary-color, #6c757d);\n cursor: pointer;\n}\n.shiny-chat-drawer-close:hover {\n background: var(--bs-tertiary-bg, #f2f4f5);\n color: var(--bs-body-color, #212529);\n}\n.shiny-chat-drawer-close:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n\n.shiny-chat-drawer-content {\n min-width: 0;\n min-height: 0;\n overflow: auto;\n padding: 1rem;\n}\n\n.shiny-chat-drawer-generation {\n display: contents;\n}\n\n.shiny-chat-drawer-resizer {\n inset-inline-start: 0;\n}\n\n@container shiny-chat (max-width: 639.99px) {\n .shiny-chat-layout[data-drawer-open] {\n display: block;\n column-gap: 0;\n }\n .shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper {\n display: none;\n }\n .shiny-chat-layout[data-drawer-open] .shiny-chat-footer {\n display: none;\n }\n .shiny-chat-layout[data-drawer-open] .shiny-chat-drawer {\n width: 100%;\n min-height: 100%;\n border-inline: 0;\n box-shadow: none;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-layout,\n .shiny-chat-drawer,\n .shiny-chat-layout .shiny-chat-wrapper {\n transition: none;\n }\n}\nshiny-chat-container {\n --_border: var(--shiny-chat-border, var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef));\n --_user-message-bg: var(--shiny-chat-user-message-bg, RGBA(var(--bs-primary-rgb, 0, 123, 194), 0.06));\n --_chat-container-padding: var(--shiny-chat-fill-padding, 0.25rem);\n --_attachment-size: var(--shiny-chat-attachment-size, 4.5rem);\n --_activity-opacity: var(--shiny-chat-activity-opacity, 0.7);\n --_activity-opacity-muted: 0.66;\n position: relative;\n width: 100%;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr;\n container-type: inline-size;\n container-name: shiny-chat;\n min-height: var(--_min-height);\n}\nshiny-chat-container p:last-child {\n margin-bottom: 0;\n}\nshiny-chat-container .suggestion,\nshiny-chat-container [data-suggestion] {\n cursor: pointer;\n}\nshiny-chat-container .suggestion {\n color: var(--bs-link-color, #007bc2);\n text-decoration-color: var(--bs-link-color, #007bc2);\n text-decoration-line: underline;\n text-decoration-style: dotted;\n text-decoration-thickness: 2px;\n text-underline-offset: 4px;\n padding-inline: 2px;\n}\nshiny-chat-container .suggestion:hover {\n text-decoration-style: solid;\n}\nshiny-chat-container .suggestion::after {\n content: \"\u2726\";\n display: inline-block;\n margin-inline-start: 0.15em;\n}\nshiny-chat-container .suggestion.submit::after, shiny-chat-container .suggestion[data-suggestion-submit=\"\"]::after, shiny-chat-container .suggestion[data-suggestion-submit=true]::after {\n content: \"\u21B5\";\n}\nshiny-chat-container .card[data-suggestion]:hover {\n color: var(--bs-link-color, #007bc2);\n border-color: rgba(var(--bs-link-color-rgb), 0.5);\n}\n\n:where(shiny-chat-container:has(> .shiny-chat-history-trigger)) {\n --_min-height: 400px;\n}\n\n@media (prefers-contrast: more), (prefers-reduced-transparency: reduce), (forced-colors: active) {\n shiny-chat-container {\n --_activity-opacity: 1;\n --_activity-opacity-muted: 1;\n }\n}\n.shiny-chat-wrapper {\n min-width: 0;\n min-height: 0;\n width: 100%;\n max-width: var(--_chat-width, min(680px, 100%));\n margin-inline: auto;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: minmax(0, 1fr) auto;\n gap: 0;\n padding: var(--_chat-container-padding);\n padding-bottom: 0;\n}\n\n.shiny-chat-composer {\n --_chat-composer-input-padding-bottom: var(\n --shiny-chat-input-padding-bottom,\n var(--_chat-container-padding, 0.25rem)\n );\n grid-row: 2;\n min-width: 0;\n position: sticky;\n bottom: calc(-1 * var(--_chat-composer-input-padding-bottom));\n translate: 0 var(--_composer-offset, 0px);\n}\n\n.shiny-chat-layout:has(> .shiny-chat-footer) .shiny-chat-composer {\n --_chat-composer-input-padding-bottom: 0px;\n}\n\n.shiny-chat-input-toolbar {\n margin-top: calc(-1 * var(--_chat-composer-input-padding-bottom));\n padding: 0.25rem 0 var(--_chat-composer-input-padding-bottom);\n}\n\n.shiny-chat-layout[data-composer-motion-ready]:not([data-composer-resizing]) .shiny-chat-composer {\n transition: translate 350ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\nshiny-chat-page .shiny-chat-layout[data-composer-revealing] .shiny-chat-composer {\n animation: shiny-chat-composer-reveal 300ms cubic-bezier(0.22, 1, 0.36, 1) both;\n}\n\n@keyframes shiny-chat-composer-reveal {\n from {\n opacity: 0;\n transform: translateY(6px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n shiny-chat-page .shiny-chat-layout[data-composer-motion-ready]:not([data-composer-resizing]) .shiny-chat-composer {\n transition: none;\n }\n shiny-chat-page .shiny-chat-layout[data-composer-revealing] .shiny-chat-composer {\n animation: none;\n }\n}\n.shiny-chat-messages-wrapper {\n position: relative;\n min-height: 0;\n min-width: 0;\n overflow: clip;\n display: flex;\n flex-direction: column;\n}\n\n:where(shiny-chat-container[data-inline-controls]) {\n --_chat-inline-controls-inset: 3rem;\n}\n\n:where(shiny-chat-container[data-history-placement=right][data-inline-controls~=drawer]) {\n --_chat-inline-controls-inset: 5.5rem;\n}\n\nshiny-chat-container:not([fill]) .shiny-chat-messages-wrapper {\n min-height: 15rem;\n}\nshiny-chat-container:not([fill]) .shiny-chat-history {\n position: fixed;\n}\n\n.shiny-chat-messages {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n padding-block-start: var(--_chat-inline-controls-inset, 0px);\n display: flex;\n flex-direction: column;\n --_scroll-margin: 1rem;\n padding-right: var(--_scroll-margin);\n margin-right: calc(-1 * var(--_scroll-margin));\n}\n\n.shiny-chat-messages-content {\n --_messages-padding-bottom: var(--shiny-chat-messages-padding-bottom, 4rem);\n display: flex;\n flex-direction: column;\n gap: 2rem;\n padding-bottom: var(--_messages-padding-bottom);\n}\n\n.shiny-chat-message {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n gap: 1rem;\n /* Vertically center the 2nd column (message content) */\n /* When the icon is removed (icon_assistant=False / icon=False), collapse the\n grid to a single content column so nothing dangles where the icon was. */\n}\n.shiny-chat-message > * {\n height: fit-content;\n}\n.shiny-chat-message .message-icon {\n border-radius: 50%;\n border: var(--_border);\n height: 2rem;\n width: 2rem;\n display: grid;\n place-items: center;\n overflow: clip;\n}\n.shiny-chat-message .message-icon > * {\n height: 100%;\n width: 100%;\n max-width: 100%;\n max-height: 100%;\n margin: 0 !important;\n object-fit: contain;\n}\n.shiny-chat-message .message-icon > svg,\n.shiny-chat-message .message-icon > .icon,\n.shiny-chat-message .message-icon > .fa,\n.shiny-chat-message .message-icon > .bi {\n max-height: 66%;\n max-width: 66%;\n}\n.shiny-chat-message .message-icon:has(> .border-0) {\n border: none;\n border-radius: unset;\n overflow: unset;\n}\n.shiny-chat-message .shiny-chat-message-content {\n align-self: center;\n padding-right: 1px;\n position: relative;\n}\n.shiny-chat-message .shiny-chat-message-content[data-pending] {\n min-height: 1.5em;\n}\n.shiny-chat-message:not(:has(> .message-icon)) {\n grid-template-columns: minmax(0, 1fr);\n gap: 0;\n}\n\n.shiny-chat-pending-indicator {\n position: absolute;\n top: 0;\n left: 0;\n display: inline-flex;\n align-items: center;\n height: 1.5em;\n padding-left: 0.4rem;\n opacity: 0;\n pointer-events: none;\n animation: shiny-chat-pending-indicator-appear 0.2s ease forwards;\n}\n.shiny-chat-pending-indicator > svg {\n width: 1.35em;\n height: auto;\n}\n.shiny-chat-pending-indicator[data-exiting] {\n animation: shiny-chat-pending-indicator-exit 0.2s ease forwards;\n}\n\n@keyframes shiny-chat-pending-indicator-appear {\n to {\n opacity: 1;\n }\n}\n@keyframes shiny-chat-pending-indicator-exit {\n to {\n opacity: 0;\n }\n}\n.shiny-chat-message-body[data-entering] {\n animation: shiny-chat-content-enter 0.2s ease;\n}\n\n@keyframes shiny-chat-content-enter {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-pending-indicator {\n animation: shiny-chat-pending-indicator-appear 0s ease forwards;\n }\n .shiny-chat-pending-indicator[data-exiting] {\n animation: shiny-chat-pending-indicator-exit 0s ease forwards;\n }\n .shiny-chat-message-body[data-entering] {\n animation: none;\n }\n}\n.shiny-chat-message-content > .shiny-chat-message-body > hr:first-child {\n display: none;\n}\n\n.shiny-chat-message-cancelled {\n font-size: 0.8em;\n opacity: 0.5;\n font-style: italic;\n}\n.shiny-chat-message-cancelled:not(:first-child) {\n margin-top: 0.5em;\n}\n\n/* Error-boundary fallbacks: a whole message (MessageErrorBoundary) or a\n single block/tool-card body (BlockErrorBoundary). */\n.shiny-chat-message-error,\n.shiny-chat-block-error {\n color: var(--bs-danger, #dc3545);\n font-size: 0.875em;\n padding: 0.25rem 0;\n}\n.shiny-chat-message-error pre,\n.shiny-chat-block-error pre {\n color: inherit;\n margin: 0;\n white-space: pre-wrap;\n}\n\n/* Align the user message to the right */\n.shiny-chat-user-message {\n position: relative;\n align-self: flex-end;\n padding: var(--shiny-chat-user-message-padding, 0.75rem 1rem);\n border-radius: var(--shiny-chat-user-message-border-radius, 10px);\n background-color: var(--_user-message-bg);\n max-width: 100%;\n grid-template-columns: auto;\n user-select: none;\n touch-action: pan-y;\n}\n.shiny-chat-user-message .shiny-chat-message-content {\n user-select: text;\n}\n\n.shiny-chat-user-message + .shiny-chat-message {\n margin-top: calc(-1 * var(--shiny-chat-user-assistant-gap-reduction, 0px));\n}\n\n.shiny-chat-message .content-type-text,\n.shiny-chat-user-message .content-type-text {\n white-space: pre;\n overflow-x: auto;\n}\n\n.shiny-chat-btn-send {\n --_btn-send-state-color:\n var(--shiny-chat-btn-send-color-ready, var(--bs-primary, #007bc2));\n --_input-icon-size: var(--shiny-chat-input-icon-size, 24px);\n position: absolute;\n bottom: var(--_input-control-inset, 8px);\n right: var(--_input-control-inset, 8px);\n width: var(--shiny-chat-btn-send-size, 24px);\n height: var(--shiny-chat-btn-send-size, 24px);\n background-color: var(--shiny-chat-btn-send-bg, var(--_btn-send-state-color));\n color: var(--shiny-chat-btn-send-color, #fff);\n border: var(--shiny-chat-btn-send-border, none);\n transition: color 0.25s ease-in-out, background-color 0.25s ease-in-out;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n}\n.shiny-chat-btn-send svg {\n display: block !important;\n flex: none;\n width: var(--_input-icon-size) !important;\n height: var(--_input-icon-size) !important;\n margin: 0 !important;\n}\n.shiny-chat-btn-send:hover:not(:disabled) {\n color: var(--shiny-chat-btn-send-color-hover, var(--shiny-chat-btn-send-color, #fff));\n background-color: var(--shiny-chat-btn-send-bg-hover, color-mix(in srgb, var(--_btn-send-state-color) 92%, black));\n border-color: var(--shiny-chat-btn-send-border-color-hover, transparent);\n}\n.shiny-chat-btn-send:active:not(:disabled) {\n color: var(--shiny-chat-btn-send-color-active, var(--shiny-chat-btn-send-color, #fff));\n background-color: var(--shiny-chat-btn-send-bg-active, color-mix(in srgb, var(--_btn-send-state-color) 85%, black));\n}\n.shiny-chat-btn-send:disabled {\n cursor: not-allowed;\n --_btn-send-state-color:\n var(--shiny-chat-btn-send-color-empty, var(--bs-gray-500, #8d959e));\n}\n.shiny-chat-btn-send[data-state=cancel], .shiny-chat-btn-send[data-state=cancelling] {\n --_btn-send-state-color:\n var(--shiny-chat-btn-send-color-cancel, var(--bs-danger, #dc3545));\n}\n.shiny-chat-btn-send[data-state=pending], .shiny-chat-btn-send[data-state=cancelling] {\n pointer-events: none;\n cursor: default;\n}\n.shiny-chat-btn-send[data-state=pending] svg, .shiny-chat-btn-send[data-state=cancelling] svg {\n width: calc(var(--_input-icon-size) - 2px) !important;\n height: calc(var(--_input-icon-size) - 2px) !important;\n animation: shiny-chat-spin 0.75s linear infinite;\n transform-origin: center;\n}\n\n.shiny-chat-btn-attach {\n --_input-icon-size: var(--shiny-chat-input-icon-size, 22px);\n position: absolute;\n bottom: var(--_input-control-inset, 8px);\n left: var(--_input-control-inset, 8px);\n z-index: 1;\n width: 24px;\n height: 24px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n color: var(--bs-gray-600, #707782);\n transition: color 0.25s ease-in-out;\n border: none;\n padding: 0;\n cursor: pointer;\n border-radius: 50%;\n}\n.shiny-chat-btn-attach svg {\n display: block;\n width: var(--_input-icon-size);\n height: var(--_input-icon-size);\n}\n.shiny-chat-btn-attach:hover:not(:disabled) {\n color: var(--bs-primary, #007bc2);\n}\n.shiny-chat-btn-attach:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.shiny-chat-input {\n --_input-padding-top: 0;\n --_input-padding-bottom: var(--_chat-composer-input-padding-bottom);\n --_input-control-inset: 8px;\n margin-top: calc(-1 * var(--_input-padding-top));\n position: sticky;\n bottom: calc(-1 * var(--_input-padding-bottom));\n padding-block: var(--_input-padding-top) var(--_input-padding-bottom);\n}\n.shiny-chat-input .tiptap {\n --bs-border-radius: 26px;\n padding-right: 36px !important;\n max-height: 175px;\n overflow-y: auto;\n}\n.shiny-chat-input .tiptap.is-empty::before {\n content: attr(data-placeholder);\n color: var(--bs-gray-600, #707782);\n float: left;\n height: 0;\n pointer-events: none;\n}\n.shiny-chat-input:has(.shiny-chat-btn-attach) .tiptap {\n padding-left: 36px !important;\n}\n.shiny-chat-input:has(.shiny-chat-input-attachments) {\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 20px;\n}\n.shiny-chat-input:has(.shiny-chat-input-attachments) .tiptap {\n border-color: transparent !important;\n background: transparent !important;\n box-shadow: none !important;\n}\n.shiny-chat-input:has(.shiny-chat-input-attachments):focus-within {\n border-color: var(--bs-primary, #007bc2);\n}\n.shiny-chat-input .shiny-chat-btn-send {\n bottom: calc(var(--_input-control-inset) - 2px + var(--_input-padding-bottom));\n}\n.shiny-chat-input .shiny-chat-btn-attach {\n bottom: calc(var(--_input-control-inset) - 2px + var(--_input-padding-bottom));\n}\n\n@keyframes shiny-chat-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n.shiny-chat-footer {\n --_footer-font-size: var(--shiny-chat-footer-font-size, 0.8125em);\n --_footer-color: var(--shiny-chat-footer-color, var(--bs-secondary-color, #6c757d));\n font-size: var(--_footer-font-size);\n color: var(--_footer-color);\n text-align: center;\n padding: 0.25rem var(--_chat-container-padding) var(--shiny-chat-input-padding-bottom, 0.25rem);\n}\n\n/*\n Disable the page-level pulse when the chat input is disabled\n (i.e., when a response is being generated and brought into the chat)\n*/\n.shiny-busy:has(.shiny-chat-input.disabled)::after {\n display: none;\n}\n\n/* Scroll-to-bottom button \u2014 absolutely positioned within the messages wrapper */\n.shiny-chat-scroll-to-bottom {\n position: absolute;\n bottom: 8px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 8px;\n border: var(--_border);\n border-radius: 50%;\n background-color: var(--bs-body-bg, #fff);\n color: var(--bs-body-color, #212529);\n cursor: pointer;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);\n transition: background-color 0.15s ease, box-shadow 0.15s ease;\n line-height: 1;\n}\n.shiny-chat-scroll-to-bottom:hover {\n background-color: var(--bs-tertiary-bg, #f8f9fa);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);\n}\n.shiny-chat-scroll-to-bottom:focus-visible {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n.shiny-chat-scroll-to-bottom svg {\n display: block;\n}\n.shiny-chat-scroll-to-bottom.streaming {\n --_streaming-gradient: var(\n --shiny-chat-streaming-color,\n var(--bs-indigo, #4b00c1),\n var(--bs-purple, #74149c),\n var(--bs-pink, #bf007f)\n );\n --_streaming-arc-length: 30%;\n --_streaming-arc-thickness: 1.5px;\n}\n.shiny-chat-scroll-to-bottom.streaming::before {\n content: \"\";\n position: absolute;\n inset: -1px;\n border-radius: 50%;\n background: conic-gradient(transparent, transparent calc(100% - var(--_streaming-arc-length)), var(--_streaming-gradient));\n animation: shiny-chat-spin 1.2s linear infinite;\n -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--_streaming-arc-thickness) - 0.5px), #000 calc(100% - 0.5px));\n mask: radial-gradient(farthest-side, transparent calc(100% - var(--_streaming-arc-thickness) - 0.5px), #000 calc(100% - 0.5px));\n}\n\n@keyframes shiny-chat-spin {\n to {\n transform: rotate(360deg);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-scroll-to-bottom.streaming::before {\n animation: none;\n }\n}\n/* External link dialog styling */\n.shiny-chat-external-link-dialog {\n padding: 0;\n border: none;\n background: none;\n max-width: min(680px, 90%);\n}\n.shiny-chat-external-link-dialog .modal {\n height: auto;\n}\n\n.shiny-chat-external-link-dialog::backdrop {\n background-color: rgba(0, 0, 0, 0.5);\n}\n\n.shiny-chat-external-link-dialog .link-url {\n word-break: break-all;\n font-weight: 500;\n}\n\n/* Thinking display */\n.shiny-chat-thinking {\n --_thinking-header-color: var(--shiny-chat-thinking-header-color, inherit);\n --_thinking-border-color: var(--shiny-chat-thinking-border-color, var(--bs-border-color, #dee2e6));\n --_thinking-content-color: var(--shiny-chat-thinking-content-color, var(--bs-secondary-color, #6c757d));\n --_row-pad: 0.4rem;\n --_row-glyph-width: 0.9em;\n font-size: 0.8em;\n}\n\n.shiny-chat-thinking-header {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n min-height: 2em;\n padding: 0.25rem var(--_row-pad);\n border-radius: 6px;\n background: none;\n border: none;\n text-align: left;\n color: var(--_thinking-header-color);\n cursor: pointer;\n font: inherit;\n opacity: var(--_activity-opacity);\n}\n.shiny-chat-thinking-header:hover, .shiny-chat-thinking-header:focus-visible {\n background-color: rgba(var(--bs-emphasis-color-rgb), 0.05);\n}\n\n.shiny-chat-thinking-disclosure {\n margin-inline-start: auto;\n}\n\n.shiny-chat-thinking-label {\n transition: opacity 0.2s ease;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.shiny-chat-thinking-label[data-fading] {\n opacity: 0;\n}\n\n.shiny-chat-thinking-dot {\n margin-left: 0;\n fill: currentColor;\n opacity: 0;\n transform-origin: center;\n animation: shiny-chat-thinking-dot-appear 0.2s ease 500ms forwards, shiny-chat-thinking-dot-pulse 1.75s infinite cubic-bezier(0.18, 0.89, 0.32, 1.28) 500ms;\n}\n\n@keyframes shiny-chat-thinking-dot-appear {\n to {\n opacity: 0.6;\n }\n}\n@keyframes shiny-chat-thinking-dot-pulse {\n 0% {\n transform: scale(1);\n opacity: 0.6;\n }\n 50% {\n transform: scale(0.4);\n opacity: 0.3;\n }\n 100% {\n transform: scale(1);\n opacity: 0.6;\n }\n}\n.shiny-chat-thinking-content {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease;\n margin-left: calc(var(--_row-pad) + var(--_row-glyph-width) / 2 - 1px);\n border-left: 2px solid var(--_thinking-border-color);\n}\n.shiny-chat-thinking-content[data-expanded] {\n grid-template-rows: 1fr;\n max-height: 33dvh;\n}\n\n.shiny-chat-thinking-content-inner {\n overflow: hidden;\n padding-left: 0.75rem;\n padding-block: 0;\n color: var(--_thinking-content-color);\n font-size: 0.9em;\n}\n[data-expanded] > .shiny-chat-thinking-content-inner {\n padding-block: 0.25rem;\n max-height: 33dvh;\n overflow-y: auto;\n}\n\n.shiny-chat-thinking-topic {\n font-weight: 600;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-thinking-dot {\n animation: shiny-chat-thinking-dot-appear 0s ease 500ms forwards;\n }\n .shiny-chat-thinking-disclosure {\n transition: none;\n }\n .shiny-chat-thinking-content {\n transition: none;\n }\n .shiny-chat-thinking-content-inner {\n transition: none;\n }\n .shiny-chat-thinking-label {\n transition: none;\n }\n}\n.shiny-chat-input-attachments {\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n gap: 0.5rem;\n padding: 0.625rem 0.625rem 0;\n margin-bottom: 0;\n}\n.shiny-chat-input-attachments > *:focus {\n outline: 2px solid var(--bs-primary, #007bc2);\n outline-offset: 2px;\n}\n\n.shiny-chat-input-thumbnail {\n position: relative;\n width: 3.5rem;\n min-height: 3.5rem;\n border-radius: 0.5rem;\n overflow: hidden;\n border: 1px solid var(--bs-border-color, #ccc);\n}\n.shiny-chat-input-thumbnail img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n.shiny-chat-input-thumbnail button {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 1rem;\n height: 1rem;\n line-height: 1rem;\n padding: 0;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 0.7rem;\n cursor: pointer;\n}\n\n.shiny-chat-input-notice {\n font-size: 0.8em;\n opacity: 0.7;\n padding: 0.375rem 0.75rem 0;\n margin-bottom: 0;\n}\n\n.shiny-chat-input-attachment-chip,\n.shiny-chat-message-attachment-chip {\n position: relative;\n display: flex;\n align-items: center;\n gap: 0.5rem;\n min-height: 3.5rem;\n min-width: 9rem;\n max-width: 14rem;\n padding: 0 1.4rem 0 0.6rem;\n border-radius: 0.5rem;\n border: 1px solid var(--bs-border-color, #ccc);\n background: var(--bs-tertiary-bg, #f3f4f6);\n}\n.shiny-chat-input-attachment-chip .shiny-chat-attachment-badge,\n.shiny-chat-message-attachment-chip .shiny-chat-attachment-badge {\n flex: 0 0 auto;\n display: flex;\n align-items: flex-end;\n justify-content: center;\n width: 2rem;\n height: 2.4rem;\n padding-bottom: 3px;\n border-radius: 3px;\n background: #b91c1c;\n color: #fff;\n font-size: 0.55rem;\n font-weight: 700;\n}\n.shiny-chat-input-attachment-chip .shiny-chat-attachment-meta,\n.shiny-chat-message-attachment-chip .shiny-chat-attachment-meta {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n.shiny-chat-input-attachment-chip .shiny-chat-attachment-name,\n.shiny-chat-message-attachment-chip .shiny-chat-attachment-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 0.72rem;\n font-weight: 600;\n}\n.shiny-chat-input-attachment-chip .shiny-chat-attachment-size,\n.shiny-chat-message-attachment-chip .shiny-chat-attachment-size {\n font-size: 0.62rem;\n opacity: 0.7;\n}\n.shiny-chat-input-attachment-chip button,\n.shiny-chat-message-attachment-chip button {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 1rem;\n height: 1rem;\n line-height: 1rem;\n padding: 0;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 0.7rem;\n cursor: pointer;\n}\n\n.shiny-chat-message-attachment-chip {\n height: var(--_attachment-size);\n min-height: 0;\n padding: 0.5rem 0.75rem;\n font: inherit;\n color: inherit;\n text-align: left;\n cursor: pointer;\n}\n\n.shiny-chat-message-attachments {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n margin-bottom: 0.5rem;\n align-items: flex-start;\n}\n.shiny-chat-message-attachments .shiny-chat-text-preview {\n height: var(--_attachment-size);\n}\n.shiny-chat-message-attachments .shiny-chat-text-preview[role=button] {\n cursor: pointer;\n}\n\n.shiny-chat-message-image-btn {\n width: var(--_attachment-size);\n height: var(--_attachment-size);\n padding: 0;\n border: 1px solid var(--bs-border-color, #ccc);\n border-radius: 0.5rem;\n overflow: hidden;\n background: none;\n cursor: zoom-in;\n}\n\n.shiny-chat-text-preview {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 12rem;\n max-width: 14rem;\n border-radius: 0.5rem;\n border: 1px solid var(--bs-border-color, #ccc);\n background: var(--bs-tertiary-bg, #f3f4f6);\n overflow: hidden;\n}\n.shiny-chat-text-preview .shiny-chat-text-preview-body {\n flex: 1 1 3.6em;\n min-height: 0;\n padding: 0.45rem 0.55rem 0.2rem;\n overflow: hidden;\n font-family: var(--bs-font-monospace, monospace);\n font-size: 0.66rem;\n line-height: 1.2;\n white-space: pre-wrap;\n word-break: break-word;\n -webkit-mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);\n mask-image: linear-gradient(to bottom, #000 60%, transparent 100%);\n}\n.shiny-chat-text-preview .shiny-chat-text-preview-footer {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n padding: 0.3rem 0.55rem;\n border-top: 1px solid var(--bs-border-color, #ccc);\n font-size: 0.62rem;\n opacity: 0.7;\n}\n.shiny-chat-text-preview .shiny-chat-text-preview-name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-weight: 600;\n}\n.shiny-chat-text-preview .shiny-chat-text-preview-size {\n flex: 0 0 auto;\n}\n.shiny-chat-text-preview button {\n position: absolute;\n top: 2px;\n right: 2px;\n width: 1rem;\n height: 1rem;\n line-height: 1rem;\n padding: 0;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 0.7rem;\n cursor: pointer;\n}\n\n.shiny-chat-message-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n.shiny-chat-lightbox {\n position: fixed;\n inset: 0;\n z-index: 1080;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n background: rgba(0, 0, 0, 0.7);\n cursor: zoom-out;\n}\n\n.shiny-chat-lightbox-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 0.6rem;\n max-width: 90vw;\n max-height: 90vh;\n cursor: default;\n}\n\n.shiny-chat-lightbox-img {\n max-width: 90vw;\n max-height: 80vh;\n object-fit: contain;\n border-radius: 0.5rem;\n}\n\n.shiny-chat-lightbox-frame {\n width: min(90vw, 1000px);\n height: 80vh;\n border: none;\n border-radius: 0.5rem;\n background: #fff;\n}\n\n.shiny-chat-lightbox-text {\n width: min(90vw, 1000px);\n max-height: 80vh;\n margin: 0;\n padding: 1rem 1.25rem;\n overflow: auto;\n border-radius: 0.5rem;\n background: #fff;\n color: #1a1a1a;\n font-family: var(--bs-font-monospace, monospace);\n font-size: 0.8rem;\n line-height: 1.45;\n white-space: pre;\n text-align: left;\n}\n\n.shiny-chat-lightbox-name {\n max-width: 90vw;\n color: #fff;\n font-size: 0.85rem;\n text-align: center;\n overflow-wrap: anywhere;\n}\n\n.shiny-chat-lightbox-close {\n position: fixed;\n top: 1rem;\n right: 1rem;\n width: 2.25rem;\n height: 2.25rem;\n border: none;\n border-radius: 50%;\n background: rgba(0, 0, 0, 0.6);\n color: #fff;\n font-size: 1.25rem;\n line-height: 1;\n cursor: pointer;\n}\n\n/* Footer row below a user message \u2014 sibling nav + edit button.\n Positioned outside the bubble (not overlapping its text) and right-aligned\n to match the bubble's alignment. */\n.shiny-chat-message-footer {\n position: absolute;\n right: 0.25rem;\n bottom: -1.5rem;\n display: flex;\n align-items: center;\n gap: 0.35rem;\n}\n\n/* Edit button \u2014 shown on hover over user messages. Deliberately left\n focusable (opacity-only, not visibility/display) so keyboard users can\n Tab to it; visibility:hidden would remove it from the tab order entirely\n and no amount of :focus-within on an ancestor could bring it back. */\n.shiny-chat-edit-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n padding: 0;\n background: none;\n border: none;\n border-radius: 50%;\n color: var(--bs-secondary-color, #6c757d);\n cursor: pointer;\n opacity: 0;\n transition: opacity 0.15s, color 0.15s, background-color 0.15s;\n}\n.shiny-chat-edit-btn:hover, .shiny-chat-edit-btn:focus-visible {\n opacity: 1;\n color: var(--bs-primary, #007bc2);\n background-color: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));\n}\n.shiny-chat-edit-btn svg {\n display: block;\n}\n\n.shiny-chat-user-message:hover .shiny-chat-edit-btn,\n.shiny-chat-user-message:focus-within .shiny-chat-edit-btn,\n.shiny-chat-user-message[data-touch-revealed] .shiny-chat-edit-btn {\n opacity: 1;\n}\n\n/* Edit box \u2014 a boxed mini-composer matching the chrome of the main input at\n the bottom of the chat, so editing a message reuses the same visual\n language as sending one, rather than a bespoke inline form. */\n.shiny-chat-edit-wrap {\n width: 100%;\n}\n\n.shiny-chat-user-message:has(.shiny-chat-edit-wrap) {\n width: 100%;\n}\n\n.shiny-chat-edit-box {\n position: relative;\n width: 100%;\n border: 1px solid var(--bs-border-color, #ced4da);\n border-radius: 20px;\n}\n.shiny-chat-edit-box:focus-within {\n border-color: var(--bs-primary, #007bc2);\n}\n.shiny-chat-edit-box .tiptap {\n border-color: transparent !important;\n background: transparent !important;\n box-shadow: none !important;\n padding-right: 36px !important;\n min-height: 1.5rem;\n max-height: 16rem;\n overflow-y: auto;\n font: inherit;\n color: inherit;\n}\n.shiny-chat-edit-box .tiptap.is-empty::before {\n content: attr(data-placeholder);\n color: var(--bs-gray-600, #707782);\n float: left;\n height: 0;\n pointer-events: none;\n}\n.shiny-chat-edit-box:has(.shiny-chat-btn-attach) .tiptap {\n padding-left: 36px !important;\n}\n\n.shiny-chat-edit-cancel-outside {\n display: block;\n margin: 0.35rem 0 0 auto;\n padding: 0.3rem 0.75rem;\n border: none;\n border-radius: 14px;\n background-color: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.85em;\n cursor: pointer;\n transition: background-color 0.15s, color 0.15s;\n}\n.shiny-chat-edit-cancel-outside:hover {\n background-color: var(--bs-border-color, #ced4da);\n color: var(--bs-body-color, inherit);\n}\n\n/* Sibling navigation arrows */\n.shiny-chat-sibling-nav {\n display: flex;\n align-items: center;\n gap: 0.1rem;\n font-size: 0.75rem;\n color: var(--bs-secondary-color, #6c757d);\n}\n.shiny-chat-sibling-nav button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.5rem;\n height: 1.5rem;\n padding: 0;\n background: none;\n border: none;\n border-radius: 50%;\n font-size: 1rem;\n line-height: 1;\n cursor: pointer;\n color: inherit;\n transition: color 0.15s, background-color 0.15s;\n}\n.shiny-chat-sibling-nav button:disabled {\n opacity: 0.35;\n cursor: not-allowed;\n}\n.shiny-chat-sibling-nav button:not(:disabled):hover {\n color: var(--bs-primary, #007bc2);\n background-color: var(--bs-tertiary-bg, rgba(0, 0, 0, 0.05));\n}\n.shiny-chat-sibling-nav span {\n min-width: 2.5rem;\n text-align: center;\n}\n\nshiny-chat-page {\n --_page-header-height: var(\n --shiny-chat-page-header-height,\n var(--bs-navbar-height, 3.5rem)\n );\n --_page-header-padding-x: var(--shiny-chat-page-header-padding-x, 0.75rem);\n --_page-header-padding-y: var(\n --shiny-chat-page-header-padding-y,\n var(--bs-navbar-padding-y, 0.5rem)\n );\n --_page-sidebar-width: var(--shiny-chat-page-sidebar-width, 280px);\n --_page-sidebar-padding: var(\n --shiny-chat-page-sidebar-padding,\n var(--bslib-sidebar-padding, var(--bslib-spacer, var(--bs-spacer, 1rem)))\n );\n --_page-panel-gap: var(\n --shiny-chat-page-panel-gap,\n clamp(0.25rem, 0.5vw, 0.5rem)\n );\n --_page-surface-bg: var(--shiny-chat-page-surface-bg, var(--bs-body-bg, #fff));\n --_page-panel-gap-bg: var(\n --shiny-chat-page-panel-gap-bg,\n var(--_page-surface-bg)\n );\n --_page-sidebar-bg: var(--shiny-chat-page-sidebar-bg, var(--bs-body-bg, #fff));\n --_page-canvas-bg: var(--shiny-chat-page-canvas-bg, var(--bs-body-bg, #fff));\n --_page-border: var(--bs-border-width, 1px) solid var(\n --shiny-chat-page-border-color,\n var(--bs-border-color, color-mix(in srgb, var(--bs-body-color, #212529) 12%, transparent))\n );\n --_page-focus-ring-color: var(\n --shiny-chat-page-focus-ring-color,\n color-mix(in srgb, var(--bs-primary, #0d6efd) 32%, transparent)\n );\n display: grid;\n grid-template-rows: minmax(var(--_page-header-height), max-content) minmax(0, 1fr);\n width: 100%;\n height: 100%;\n height: 100dvh;\n min-height: 0;\n color: var(--bs-body-color, #212529);\n background: var(--_page-canvas-bg);\n overflow: hidden;\n}\n\nbody:has(shiny-chat-page) > .toast-container:is([data-bslib-toast-container=top-right],\n[data-bslib-toast-container=top-center],\n[data-bslib-toast-container=top-left]) {\n top: var(--shiny-chat-page-toast-offset, var(--_page-header-height, 3.25rem)) !important;\n}\n\n.shiny-chat-page-header {\n position: relative;\n z-index: 3;\n display: grid;\n grid-template-columns: auto auto minmax(0, 1fr);\n align-items: center;\n min-width: 0;\n min-height: var(--_page-header-height);\n padding: var(--_page-header-padding-y) var(--_page-header-padding-x);\n border-bottom: var(--_page-border);\n background: var(--bs-body-bg, var(--_page-surface-bg));\n color: var(--bs-body-color, #212529);\n}\n\n.shiny-chat-page-sidebar-toggle,\n.shiny-chat-page-identity,\n.shiny-chat-page-nav-link {\n min-height: 2.75rem;\n color: inherit;\n background: transparent;\n border: 0;\n}\n\n.shiny-chat-page-sidebar-toggle {\n display: inline-grid;\n place-items: center;\n width: 2.25rem;\n height: 2.25rem;\n min-width: 2.25rem;\n min-height: 2.25rem;\n padding: 0.375rem;\n border-radius: var(--bs-border-radius, 0.375rem);\n}\n\n.shiny-chat-page-sidebar-icon {\n display: block;\n width: 1rem;\n height: 1rem;\n fill: currentcolor;\n}\n\n.shiny-chat-page-identity {\n display: inline-flex;\n align-items: center;\n justify-self: start;\n min-width: 0;\n gap: var(--shiny-chat-page-title-gap, 0.5rem);\n padding: 0.375rem 0.5rem;\n font-size: var(--shiny-chat-page-title-font-size, var(--bs-navbar-brand-font-size, 1.125rem));\n font-weight: var(--shiny-chat-page-title-font-weight, var(--bs-body-font-weight, 400));\n line-height: var(--bs-navbar-brand-line-height, 1.2);\n text-align: start;\n border-radius: var(--bs-border-radius, 0.375rem);\n}\n\n.shiny-chat-page-identity[data-page-home] {\n max-width: min(30ch, 35%);\n}\n\n.shiny-chat-page-identity[data-page-home] > .shiny-chat-page-identity-title {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.shiny-chat-page-identity-icon,\n.shiny-chat-page-nav-icon {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n}\n\n.shiny-chat-page-controls,\n.shiny-chat-page-nav,\n.shiny-chat-page-toolbar {\n display: flex;\n align-items: center;\n}\n\n.shiny-chat-page-controls-mount-desktop {\n min-width: 0;\n padding: 0.25rem;\n margin: -0.25rem;\n overflow: visible;\n justify-self: stretch;\n}\n\n.shiny-chat-page-controls {\n min-width: 0;\n max-width: 100%;\n width: 100%;\n gap: var(--shiny-chat-page-controls-gap, var(--bs-navbar-nav-link-padding-x, 0.5rem));\n}\n\n.shiny-chat-page-nav {\n flex: 1 1 auto;\n min-width: 0;\n gap: 0.125rem;\n justify-content: flex-start;\n overflow-x: auto;\n scrollbar-width: none;\n}\n\n.shiny-chat-page-nav::-webkit-scrollbar {\n display: none;\n}\n\n.shiny-chat-page-toolbar {\n flex: 1 1 auto;\n min-width: 0;\n gap: 0.375rem;\n justify-content: flex-end;\n}\n\n.shiny-chat-page-toolbar-scoped,\n.shiny-chat-page-toolbar-global {\n display: flex;\n flex: 0 1 auto;\n min-width: 0;\n max-width: 100%;\n gap: 0.375rem;\n}\n\n.shiny-chat-page-toolbar-content {\n display: contents;\n}\n\n.shiny-chat-page-toolbar > .shiny-chat-page-toolbar-scoped > .shiny-chat-page-toolbar-content > *,\n.shiny-chat-page-toolbar > .shiny-chat-page-toolbar-global > * {\n min-width: 0;\n max-width: 100%;\n flex: 0 1 auto;\n}\n\n.shiny-chat-page-toolbar > .shiny-chat-page-toolbar-scoped > .shiny-chat-page-toolbar-content > .bslib-toolbar,\n.shiny-chat-page-toolbar > .shiny-chat-page-toolbar-global > .bslib-toolbar {\n justify-content: flex-start;\n}\n\n.shiny-chat-page-toolbar-sources,\n.shiny-chat-page-toolbar-source {\n display: none !important;\n}\n\n.shiny-chat-page-nav-link {\n position: relative;\n display: inline-flex;\n align-items: center;\n gap: var(--shiny-chat-page-nav-link-gap, 0.375rem);\n padding: var(--shiny-chat-page-nav-link-padding-y, 0.5rem) var(--shiny-chat-page-nav-link-padding-x, 0.75rem);\n font-size: var(--shiny-chat-page-nav-link-font-size, var(--bs-nav-link-font-size, inherit));\n font-weight: var(--shiny-chat-page-nav-link-font-weight, var(--bs-nav-link-font-weight, inherit));\n border-radius: var(--bs-border-radius, 0.375rem);\n}\n\n.shiny-chat-page-nav-link[aria-current=page] {\n color: var(--bs-primary-text-emphasis, var(--bs-primary, #0d6efd));\n background: var(--bs-primary-bg-subtle, rgba(13, 110, 253, 0.1));\n}\n\n.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link {\n border-radius: 0;\n}\n\n.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link[aria-current=page] {\n background: transparent;\n}\n\n.shiny-chat-page-header[data-shiny-chat-page-nav-style=underline] .shiny-chat-page-nav-link[aria-current=page]::after {\n position: absolute;\n right: 0.75rem;\n bottom: -1px;\n left: 0.75rem;\n height: 2px;\n content: \"\";\n background: currentcolor;\n}\n\n.shiny-chat-page-sidebar-toggle:not(:disabled):hover,\nbutton.shiny-chat-page-identity:hover,\n.shiny-chat-page-nav-link:hover {\n background: var(--bs-tertiary-bg, #f1f3f5);\n}\n\n.shiny-chat-page-sidebar-toggle:not(:disabled):focus-visible,\nbutton.shiny-chat-page-identity:focus-visible,\n.shiny-chat-page-nav-link:focus-visible {\n outline: 0.2rem solid var(--_page-focus-ring-color);\n outline-offset: 0.1rem;\n}\n\n.shiny-chat-page-nav-control {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n min-height: 2.75rem;\n}\n\n.shiny-chat-page-nav > .bslib-nav-spacer {\n flex: 1 1 auto;\n min-width: 0.5rem;\n}\n\n.shiny-chat-page-nav-menu {\n position: relative;\n flex: 0 0 auto;\n}\n\n.shiny-chat-page-nav-menu-toggle {\n display: inline-flex;\n align-items: center;\n min-height: 2.75rem;\n padding: var(--shiny-chat-page-nav-link-padding-y, 0.5rem) var(--shiny-chat-page-nav-link-padding-x, 0.75rem);\n cursor: pointer;\n list-style: none;\n border-radius: var(--bs-border-radius, 0.375rem);\n}\n\n.shiny-chat-page-nav-menu-toggle::-webkit-details-marker {\n display: none;\n}\n\n.shiny-chat-page-nav-menu-toggle:hover,\n.shiny-chat-page-nav-menu-toggle:focus-visible {\n background: var(--bs-tertiary-bg, #f1f3f5);\n}\n\n.shiny-chat-page-nav-menu-toggle:focus-visible {\n outline: 0.2rem solid var(--_page-focus-ring-color);\n outline-offset: 0.1rem;\n}\n\n.shiny-chat-page-nav-menu-items {\n position: absolute;\n z-index: 6;\n top: calc(100% + 0.25rem);\n inset-inline-start: 0;\n display: grid;\n min-width: max-content;\n padding: 0.25rem;\n border: var(--_page-border);\n border-radius: var(--bs-border-radius, 0.375rem);\n background: var(--bs-body-bg, var(--_page-surface-bg));\n box-shadow: var(--bs-box-shadow, 0 0.5rem 1rem rgba(0, 0, 0, 0.15));\n}\n\n@media (min-width: 800px) {\n .shiny-chat-page-nav-menu[open] .shiny-chat-page-nav-menu-items {\n position: fixed;\n top: var(--shiny-chat-page-nav-menu-top, 0.5rem);\n inset-inline-start: auto;\n left: var(--shiny-chat-page-nav-menu-left, 0.5rem);\n box-sizing: border-box;\n width: max-content;\n min-width: 0;\n max-width: calc(100vw - 1rem);\n max-height: calc(100vh - 1rem);\n overflow: auto;\n }\n}\n.shiny-chat-page-nav-menu-items .shiny-chat-page-nav-link {\n justify-content: flex-start;\n width: 100%;\n}\n\n.shiny-chat-page-nav-menu-header,\n.shiny-chat-page-nav-divider {\n margin: 0.25rem 0;\n}\n\n.shiny-chat-page-nav-menu-header {\n padding: 0.25rem 0.5rem;\n color: var(--bs-secondary-color, #6c757d);\n font-size: 0.875rem;\n}\n\n.shiny-chat-page-sidebar-toggle:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.shiny-chat-page-body {\n --_page-sidebar-track: 0px;\n position: relative;\n display: grid;\n grid-template-columns: minmax(0, var(--_page-sidebar-track)) minmax(0, 1fr);\n min-width: 0;\n min-height: 0;\n background: var(--_page-panel-gap-bg);\n}\n\n.shiny-chat-page-sidebar {\n display: flex;\n flex-direction: column;\n width: var(--_page-sidebar-width);\n min-width: 0;\n min-height: 0;\n overflow: auto;\n border-right: var(--_page-border);\n background: var(--_page-sidebar-bg);\n}\n\n.shiny-chat-page-sidebar .shiny-chat-history.shiny-chat-history-inline {\n --_history-inline-bg: var(--shiny-chat-history-bg, var(--_page-sidebar-bg));\n}\n\n.shiny-chat-page-sidebar:not([data-sidebar-key]) {\n display: none;\n}\n\n.shiny-chat-page-sidebar[hidden],\n.shiny-chat-page-sidebar-toggle[hidden],\n.shiny-chat-page-sidebar-resizer[hidden] {\n display: none;\n}\n\n.shiny-chat-page-sidebar-panel {\n display: flex;\n flex: 1 1 auto;\n min-height: 0;\n flex-direction: column;\n gap: var(--_page-sidebar-padding);\n overflow: auto;\n padding: var(--_page-sidebar-padding);\n}\n\n.shiny-chat-page-controls-mount-mobile {\n display: none;\n}\n\n.shiny-chat-page-main,\n.shiny-chat-page-panel,\n.shiny-chat-page-home {\n min-width: 0;\n min-height: 0;\n}\n\n.shiny-chat-page-main {\n position: relative;\n grid-column: 2;\n overflow: auto;\n background: var(--_page-canvas-bg);\n}\n\nshiny-chat-page .shiny-chat-layout[data-drawer-open] {\n --_drawer-layout-gap: var(--_page-panel-gap);\n position: relative;\n}\n\nshiny-chat-page .shiny-chat-layout[data-drawer-open]::after {\n position: absolute;\n z-index: 1;\n inset-block: 0;\n inset-inline-end: var(--_drawer-layout-width);\n width: var(--_drawer-layout-gap);\n content: \"\";\n pointer-events: none;\n background: var(--_page-panel-gap-bg);\n}\n\n@container shiny-chat (max-width: 639.99px) {\n shiny-chat-page .shiny-chat-layout[data-drawer-open]::after {\n display: none;\n }\n}\n.shiny-chat-page-sidebar-resizer {\n inset-inline-start: calc(var(--shiny-chat-page-sidebar-rendered-width, var(--_page-sidebar-width)) - var(--_resize-handle-hit-target, 8px));\n}\n\n@media (min-width: 800px) {\n shiny-chat-page[data-sidebar-motion-ready] .shiny-chat-page-body {\n transition: grid-template-columns 180ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n shiny-chat-page[data-sidebar-open] .shiny-chat-page-body {\n --_page-sidebar-track: var(\n --shiny-chat-page-sidebar-rendered-width,\n var(--_page-sidebar-width)\n );\n column-gap: var(--_page-panel-gap);\n }\n .shiny-chat-page-main {\n container-type: inline-size;\n container-name: shiny-chat-page-main;\n }\n .shiny-chat-page-header {\n grid-template-columns: auto fit-content(12rem) minmax(0, 1fr);\n }\n .shiny-chat-page-header[data-sidebar-toggle-hidden] {\n grid-template-columns: fit-content(12rem) minmax(0, 1fr);\n }\n .shiny-chat-page-header:has(.shiny-chat-page-identity[data-page-home]) {\n display: flex;\n }\n .shiny-chat-page-header:has(.shiny-chat-page-identity[data-page-home]) .shiny-chat-page-controls-mount-desktop {\n flex: 1 1 0;\n }\n .shiny-chat-page-identity {\n min-width: auto;\n }\n .shiny-chat-page-identity[data-page-home] {\n flex: 0 1 auto;\n min-width: 0;\n max-width: min(30ch, 35%);\n }\n .shiny-chat-page-header:has(.shiny-chat-page-identity:not([data-page-home])) {\n grid-template-columns: auto minmax(0, max-content) minmax(0, 1fr);\n }\n .shiny-chat-page-header[data-sidebar-toggle-hidden]:has(.shiny-chat-page-identity:not([data-page-home])) {\n grid-template-columns: minmax(0, max-content) minmax(0, 1fr);\n }\n .shiny-chat-page-identity:not([data-page-home]) {\n min-width: 0;\n }\n .shiny-chat-page-identity:not([data-page-home]) > .shiny-chat-page-identity-title {\n min-width: 0;\n overflow-wrap: anywhere;\n }\n .shiny-chat-page-toolbar,\n .shiny-chat-page-toolbar > .shiny-chat-page-toolbar-scoped > .shiny-chat-page-toolbar-content > .bslib-toolbar,\n .shiny-chat-page-toolbar > .shiny-chat-page-toolbar-global > .bslib-toolbar {\n flex-wrap: nowrap;\n }\n .shiny-chat-page-sidebar {\n width: 100%;\n min-width: 0;\n max-width: var(--shiny-chat-page-sidebar-max-width, none);\n overflow: hidden;\n opacity: 0;\n pointer-events: none;\n transform: translateX(-0.75rem);\n }\n shiny-chat-page[data-sidebar-motion-ready] .shiny-chat-page-sidebar {\n transition: opacity 140ms ease-out, transform 180ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n shiny-chat-page[data-sidebar-open] .shiny-chat-page-sidebar {\n opacity: 1;\n pointer-events: auto;\n transform: translateX(0);\n }\n shiny-chat-page:is([data-sidebar-resizing],\n [data-responsive-takeover],\n [data-sidebar-handoff]) :is(.shiny-chat-page-body, .shiny-chat-page-sidebar) {\n transition: none;\n }\n}\n@container shiny-chat-page-main (max-width: 704.99px) {\n shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] {\n display: block;\n column-gap: 0;\n }\n shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-wrapper,\n shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-footer {\n display: none;\n }\n shiny-chat-page[data-sidebar-open] .shiny-chat-layout[data-drawer-open] .shiny-chat-drawer {\n width: 100%;\n min-height: 100%;\n border-inline: 0;\n box-shadow: none;\n }\n}\n.shiny-chat-page-panel {\n width: 100%;\n height: 100%;\n}\n\n.shiny-chat-page-panel-content {\n width: 100%;\n max-width: var(--shiny-chat-page-content-width, min(680px, 100%));\n min-width: 0;\n margin-inline: auto;\n padding-block: var(--shiny-chat-page-panel-padding-block, var(--bs-spacer, 1rem));\n padding-inline: max(var(--shiny-chat-page-panel-padding-inline, var(--bs-spacer, 1rem)), env(safe-area-inset-left)) max(var(--shiny-chat-page-panel-padding-inline, var(--bs-spacer, 1rem)), env(safe-area-inset-right));\n}\n\n.shiny-chat-page-panel-content[data-content-full-bleed=true] {\n max-width: none;\n padding: 0;\n}\n\n.shiny-chat-page-panel[hidden],\n.shiny-chat-page-sidebar-panel[hidden] {\n display: none;\n}\n\n.shiny-chat-page-home {\n overflow: hidden;\n background: var(--_page-surface-bg);\n}\n\n.shiny-chat-page-home > shiny-chat-container {\n --shiny-chat-fill-padding: max(\n var(--shiny-chat-page-fill-padding, 0.25rem),\n env(safe-area-inset-left),\n env(safe-area-inset-right)\n );\n --shiny-chat-input-padding-bottom: max(\n var(--shiny-chat-page-input-padding-bottom, 0.25rem),\n env(safe-area-inset-bottom)\n );\n width: 100%;\n height: 100%;\n background: var(--_page-surface-bg);\n}\n\n.shiny-chat-page-sidebar-scrim {\n display: none;\n}\n\n.shiny-chat-page-sidebar-close,\n.shiny-chat-page-sidebar > .bslib-toolbar:has(.shiny-chat-page-sidebar-close) {\n display: none;\n}\n\n@media (max-width: 799px) {\n .shiny-chat-page-home :is(.shiny-chat-input, .shiny-chat-edit-box) .tiptap {\n font-size: 16px;\n font-size: max(1rem, 16px);\n }\n .shiny-chat-page-header {\n grid-template-columns: auto minmax(0, 1fr);\n padding-inline: max(var(--_page-header-padding-x), env(safe-area-inset-left)) max(var(--_page-header-padding-x), env(safe-area-inset-right));\n }\n .shiny-chat-page-identity[data-page-home] {\n max-width: 100%;\n }\n .shiny-chat-page-sidebar-toggle {\n width: 2.75rem;\n height: 2.75rem;\n min-width: 2.75rem;\n min-height: 2.75rem;\n }\n .shiny-chat-page-controls-mount-desktop {\n display: none;\n }\n .shiny-chat-page-panel-content {\n padding-block: var(--shiny-chat-page-panel-padding-block-mobile, var(--bs-spacer, 1rem));\n }\n .shiny-chat-page-body {\n display: block;\n }\n .shiny-chat-page-main {\n height: 100%;\n }\n .shiny-chat-page-sidebar {\n position: fixed;\n z-index: 6;\n inset: 0 auto 0 0;\n display: flex;\n width: min(88vw, 22rem);\n max-width: none;\n padding-bottom: env(safe-area-inset-bottom);\n visibility: hidden;\n transform: translateX(-100%);\n transition: transform 180ms ease-out, visibility 0s linear 180ms;\n box-shadow: 0.5rem 0 1.5rem rgba(0, 0, 0, 0.18);\n }\n .shiny-chat-page-sidebar:not([data-sidebar-key]) {\n display: flex;\n }\n shiny-chat-page[data-mobile-menu-open] .shiny-chat-page-sidebar {\n z-index: 9;\n visibility: visible;\n transform: translateX(0);\n transition-delay: 0s;\n }\n .shiny-chat-page-controls-mount-mobile {\n display: block;\n flex: 0 0 auto;\n padding: max(3.5rem, env(safe-area-inset-top) + 3.5rem) 0.5rem 0.5rem;\n border-bottom: var(--_page-border);\n }\n .shiny-chat-page-sidebar > .bslib-toolbar:has(.shiny-chat-page-sidebar-close) {\n position: absolute;\n z-index: 1;\n top: max(0.5rem, env(safe-area-inset-top));\n right: 0.5rem;\n display: flex;\n padding: 0;\n margin: 0;\n }\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close {\n position: absolute;\n z-index: 1;\n top: max(0.5rem, env(safe-area-inset-top));\n right: 0.5rem;\n place-items: center;\n }\n .shiny-chat-page-sidebar-close {\n display: grid;\n width: 2.75rem;\n height: 2.75rem;\n padding: 0;\n color: inherit;\n background: transparent;\n border: 0;\n border-radius: var(--bs-border-radius, 0.375rem);\n }\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close::before,\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close::after {\n position: absolute;\n width: 1.125rem;\n height: 0.125rem;\n content: \"\";\n background: currentcolor;\n border-radius: 0.125rem;\n }\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close::before {\n transform: rotate(45deg);\n }\n .shiny-chat-page-sidebar > button.shiny-chat-page-sidebar-close::after {\n transform: rotate(-45deg);\n }\n .shiny-chat-page-sidebar-resizer {\n display: none;\n }\n .shiny-chat-page-sidebar-close:hover {\n background: var(--bs-tertiary-bg, #f1f3f5);\n }\n .shiny-chat-page-sidebar-close:focus-visible {\n outline: 0.2rem solid var(--_page-focus-ring-color);\n outline-offset: 0.1rem;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-controls,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-scoped,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-global {\n align-items: stretch;\n flex-direction: column;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-content > *,\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-toolbar-global > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-link {\n justify-content: flex-start;\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-control {\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav > .bslib-nav-spacer {\n display: none;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu {\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu-toggle {\n width: 100%;\n }\n .shiny-chat-page-controls-mount-mobile .shiny-chat-page-nav-menu-items {\n position: static;\n min-width: 0;\n margin-inline-start: 0.75rem;\n box-shadow: none;\n }\n .shiny-chat-page-sidebar-scrim {\n position: fixed;\n z-index: 5;\n inset: 0;\n display: none;\n padding: 0;\n background: rgba(0, 0, 0, 0.35);\n border: 0;\n }\n shiny-chat-page[data-mobile-menu-open] .shiny-chat-page-sidebar-scrim {\n display: block;\n z-index: 8;\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .shiny-chat-page-sidebar {\n transition: none;\n }\n}"], + "mappings": "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", "names": [] } diff --git a/js/dist/shinychat.js b/js/dist/shinychat.js index 8ceea1855..1d771e561 100644 --- a/js/dist/shinychat.js +++ b/js/dist/shinychat.js @@ -4,74 +4,74 @@ * MIT License * https://posit-dev.github.io/shinychat/ */ -var ez=Object.create;var oy=Object.defineProperty;var tz=Object.getOwnPropertyDescriptor;var nz=Object.getOwnPropertyNames;var rz=Object.getPrototypeOf,iz=Object.prototype.hasOwnProperty;var tn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Gh=(e,t)=>{for(var n in t)oy(e,n,{get:t[n],enumerable:!0})},oz=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of nz(t))!iz.call(e,i)&&i!==n&&oy(e,i,{get:()=>t[i],enumerable:!(r=tz(t,i))||r.enumerable});return e};var q=(e,t,n)=>(n=e!=null?ez(rz(e)):{},oz(t||!e||!e.__esModule?oy(n,"default",{value:e,enumerable:!0}):n,e));var hC=tn(It=>{"use strict";function uy(e,t){var n=e.length;e.push(t);e:for(;0>>1,i=e[r];if(0>>1;rKh(a,n))lKh(u,a)?(e[r]=u,e[l]=n,r=l):(e[r]=a,e[s]=n,r=s);else if(lKh(u,n))e[r]=u,e[l]=n,r=l;else break e}}return t}function Kh(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}It.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(iC=performance,It.unstable_now=function(){return iC.now()}):(sy=Date,oC=sy.now(),It.unstable_now=function(){return sy.now()-oC});var iC,sy,oC,ao=[],ss=[],sz=1,Qr=null,Fn=3,cy=!1,Qc=!1,Zc=!1,fy=!1,lC=typeof setTimeout=="function"?setTimeout:null,uC=typeof clearTimeout=="function"?clearTimeout:null,sC=typeof setImmediate<"u"?setImmediate:null;function Yh(e){for(var t=Ri(ss);t!==null;){if(t.callback===null)Wh(ss);else if(t.startTime<=e)Wh(ss),t.sortIndex=t.expirationTime,uy(ao,t);else break;t=Ri(ss)}}function dy(e){if(Zc=!1,Yh(e),!Qc)if(Ri(ao)!==null)Qc=!0,Ll||(Ll=!0,Il());else{var t=Ri(ss);t!==null&&hy(dy,t.startTime-e)}}var Ll=!1,Jc=-1,cC=5,fC=-1;function dC(){return fy?!0:!(It.unstable_now()-fCe&&dC());){var r=Qr.callback;if(typeof r=="function"){Qr.callback=null,Fn=Qr.priorityLevel;var i=r(Qr.expirationTime<=e);if(e=It.unstable_now(),typeof i=="function"){Qr.callback=i,Yh(e),t=!0;break t}Qr===Ri(ao)&&Wh(ao),Yh(e)}else Wh(ao);Qr=Ri(ao)}if(Qr!==null)t=!0;else{var o=Ri(ss);o!==null&&hy(dy,o.startTime-e),t=!1}}break e}finally{Qr=null,Fn=n,cy=!1}t=void 0}}finally{t?Il():Ll=!1}}}var Il;typeof sC=="function"?Il=function(){sC(ay)}:typeof MessageChannel<"u"?(ly=new MessageChannel,aC=ly.port2,ly.port1.onmessage=ay,Il=function(){aC.postMessage(null)}):Il=function(){lC(ay,0)};var ly,aC;function hy(e,t){Jc=lC(function(){e(It.unstable_now())},t)}It.unstable_IdlePriority=5;It.unstable_ImmediatePriority=1;It.unstable_LowPriority=4;It.unstable_NormalPriority=3;It.unstable_Profiling=null;It.unstable_UserBlockingPriority=2;It.unstable_cancelCallback=function(e){e.callback=null};It.unstable_forceFrameRate=function(e){0>e||125r?(e.sortIndex=n,uy(ss,e),Ri(ao)===null&&e===Ri(ss)&&(Zc?(uC(Jc),Jc=-1):Zc=!0,hy(dy,n-r))):(e.sortIndex=i,uy(ao,e),Qc||cy||(Qc=!0,Ll||(Ll=!0,Il()))),e};It.unstable_shouldYield=dC;It.unstable_wrapCallback=function(e){var t=Fn;return function(){var n=Fn;Fn=t;try{return e.apply(this,arguments)}finally{Fn=n}}}});var mC=tn((ple,pC)=>{"use strict";pC.exports=hC()});var CC=tn(He=>{"use strict";var gy=Symbol.for("react.transitional.element"),az=Symbol.for("react.portal"),lz=Symbol.for("react.fragment"),uz=Symbol.for("react.strict_mode"),cz=Symbol.for("react.profiler"),fz=Symbol.for("react.consumer"),dz=Symbol.for("react.context"),hz=Symbol.for("react.forward_ref"),pz=Symbol.for("react.suspense"),mz=Symbol.for("react.memo"),TC=Symbol.for("react.lazy"),gz=Symbol.for("react.activity"),gC=Symbol.iterator;function bz(e){return e===null||typeof e!="object"?null:(e=gC&&e[gC]||e["@@iterator"],typeof e=="function"?e:null)}var SC={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},xC=Object.assign,vC={};function Bl(e,t,n){this.props=e,this.context=t,this.refs=vC,this.updater=n||SC}Bl.prototype.isReactComponent={};Bl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Bl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function AC(){}AC.prototype=Bl.prototype;function by(e,t,n){this.props=e,this.context=t,this.refs=vC,this.updater=n||SC}var yy=by.prototype=new AC;yy.constructor=by;xC(yy,Bl.prototype);yy.isPureReactComponent=!0;var bC=Array.isArray;function my(){}var At={H:null,A:null,T:null,S:null},_C=Object.prototype.hasOwnProperty;function Ey(e,t,n){var r=n.ref;return{$$typeof:gy,type:e,key:t,ref:r!==void 0?r:null,props:n}}function yz(e,t){return Ey(e.type,t,e.props)}function Ty(e){return typeof e=="object"&&e!==null&&e.$$typeof===gy}function Ez(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var yC=/\/+/g;function py(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Ez(""+e.key):t.toString(36)}function Tz(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(my,my):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Pl(e,t,n,r,i){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(o){case"bigint":case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case gy:case az:s=!0;break;case TC:return s=e._init,Pl(s(e._payload),t,n,r,i)}}if(s)return i=i(e),s=r===""?"."+py(e,0):r,bC(i)?(n="",s!=null&&(n=s.replace(yC,"$&/")+"/"),Pl(i,t,n,"",function(u){return u})):i!=null&&(Ty(i)&&(i=yz(i,n+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(yC,"$&/")+"/")+s)),t.push(i)),1;s=0;var a=r===""?".":r+":";if(bC(e))for(var l=0;l{"use strict";wC.exports=CC()});var RC=tn(Zn=>{"use strict";var vz=ge();function NC(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function kC(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kC)}catch(e){console.error(e)}}kC(),MC.exports=RC()});var Vk=tn(Tm=>{"use strict";var hn=mC(),rN=ge(),Cz=lo();function W(e){var t="https://react.dev/errors/"+e;if(1Gl||(e.current=oE[Gl],oE[Gl]=null,Gl--)}function Et(e,t){Gl++,oE[Gl]=e.current,e.current=t}var Di=Ii(null),wf=Ii(null),Es=Ii(null),Rp=Ii(null);function kp(e,t){switch(Et(Es,t),Et(wf,e),Et(Di,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?zw(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=zw(t),e=Rk(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}yn(Di),Et(Di,e)}function lu(){yn(Di),yn(wf),yn(Es)}function sE(e){e.memoizedState!==null&&Et(Rp,e);var t=Di.current,n=Rk(t,e.type);t!==n&&(Et(wf,e),Et(Di,n))}function Mp(e){wf.current===e&&(yn(Di),yn(wf)),Rp.current===e&&(yn(Rp),Hf._currentValue=ba)}var Sy,IC;function ha(e){if(Sy===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Sy=t&&t[1]||"",IC=-1()=>(t||e((t={exports:{}}).exports,t),t.exports),Kh=(e,t)=>{for(var n in t)ly(e,n,{get:t[n],enumerable:!0})},cz=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of az(t))!uz.call(e,i)&&i!==n&&ly(e,i,{get:()=>t[i],enumerable:!(r=sz(t,i))||r.enumerable});return e};var q=(e,t,n)=>(n=e!=null?oz(lz(e)):{},cz(t||!e||!e.__esModule?ly(n,"default",{value:e,enumerable:!0}):n,e));var gC=tn(Lt=>{"use strict";function dy(e,t){var n=e.length;e.push(t);e:for(;0>>1,i=e[r];if(0>>1;rYh(a,n))lYh(u,a)?(e[r]=u,e[l]=n,r=l):(e[r]=a,e[s]=n,r=s);else if(lYh(u,n))e[r]=u,e[l]=n,r=l;else break e}}return t}function Yh(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Lt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(aC=performance,Lt.unstable_now=function(){return aC.now()}):(uy=Date,lC=uy.now(),Lt.unstable_now=function(){return uy.now()-lC});var aC,uy,lC,ao=[],ss=[],fz=1,Qr=null,Fn=3,hy=!1,Jc=!1,ef=!1,py=!1,fC=typeof setTimeout=="function"?setTimeout:null,dC=typeof clearTimeout=="function"?clearTimeout:null,uC=typeof setImmediate<"u"?setImmediate:null;function Wh(e){for(var t=Ri(ss);t!==null;){if(t.callback===null)$h(ss);else if(t.startTime<=e)$h(ss),t.sortIndex=t.expirationTime,dy(ao,t);else break;t=Ri(ss)}}function my(e){if(ef=!1,Wh(e),!Jc)if(Ri(ao)!==null)Jc=!0,Pl||(Pl=!0,Ll());else{var t=Ri(ss);t!==null&&gy(my,t.startTime-e)}}var Pl=!1,tf=-1,hC=5,pC=-1;function mC(){return py?!0:!(Lt.unstable_now()-pCe&&mC());){var r=Qr.callback;if(typeof r=="function"){Qr.callback=null,Fn=Qr.priorityLevel;var i=r(Qr.expirationTime<=e);if(e=Lt.unstable_now(),typeof i=="function"){Qr.callback=i,Wh(e),t=!0;break t}Qr===Ri(ao)&&$h(ao),Wh(e)}else $h(ao);Qr=Ri(ao)}if(Qr!==null)t=!0;else{var o=Ri(ss);o!==null&&gy(my,o.startTime-e),t=!1}}break e}finally{Qr=null,Fn=n,hy=!1}t=void 0}}finally{t?Ll():Pl=!1}}}var Ll;typeof uC=="function"?Ll=function(){uC(cy)}:typeof MessageChannel<"u"?(fy=new MessageChannel,cC=fy.port2,fy.port1.onmessage=cy,Ll=function(){cC.postMessage(null)}):Ll=function(){fC(cy,0)};var fy,cC;function gy(e,t){tf=fC(function(){e(Lt.unstable_now())},t)}Lt.unstable_IdlePriority=5;Lt.unstable_ImmediatePriority=1;Lt.unstable_LowPriority=4;Lt.unstable_NormalPriority=3;Lt.unstable_Profiling=null;Lt.unstable_UserBlockingPriority=2;Lt.unstable_cancelCallback=function(e){e.callback=null};Lt.unstable_forceFrameRate=function(e){0>e||125r?(e.sortIndex=n,dy(ss,e),Ri(ao)===null&&e===Ri(ss)&&(ef?(dC(tf),tf=-1):ef=!0,gy(my,n-r))):(e.sortIndex=i,dy(ao,e),Jc||hy||(Jc=!0,Pl||(Pl=!0,Ll()))),e};Lt.unstable_shouldYield=mC;Lt.unstable_wrapCallback=function(e){var t=Fn;return function(){var n=Fn;Fn=t;try{return e.apply(this,arguments)}finally{Fn=n}}}});var yC=tn((Ale,bC)=>{"use strict";bC.exports=gC()});var RC=tn(He=>{"use strict";var Ey=Symbol.for("react.transitional.element"),dz=Symbol.for("react.portal"),hz=Symbol.for("react.fragment"),pz=Symbol.for("react.strict_mode"),mz=Symbol.for("react.profiler"),gz=Symbol.for("react.consumer"),bz=Symbol.for("react.context"),yz=Symbol.for("react.forward_ref"),Ez=Symbol.for("react.suspense"),Tz=Symbol.for("react.memo"),xC=Symbol.for("react.lazy"),Sz=Symbol.for("react.activity"),EC=Symbol.iterator;function vz(e){return e===null||typeof e!="object"?null:(e=EC&&e[EC]||e["@@iterator"],typeof e=="function"?e:null)}var AC={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_C=Object.assign,CC={};function Hl(e,t,n){this.props=e,this.context=t,this.refs=CC,this.updater=n||AC}Hl.prototype.isReactComponent={};Hl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Hl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function wC(){}wC.prototype=Hl.prototype;function Ty(e,t,n){this.props=e,this.context=t,this.refs=CC,this.updater=n||AC}var Sy=Ty.prototype=new wC;Sy.constructor=Ty;_C(Sy,Hl.prototype);Sy.isPureReactComponent=!0;var TC=Array.isArray;function yy(){}var At={H:null,A:null,T:null,S:null},NC=Object.prototype.hasOwnProperty;function vy(e,t,n){var r=n.ref;return{$$typeof:Ey,type:e,key:t,ref:r!==void 0?r:null,props:n}}function xz(e,t){return vy(e.type,t,e.props)}function xy(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ey}function Az(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var SC=/\/+/g;function by(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Az(""+e.key):t.toString(36)}function _z(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(yy,yy):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Bl(e,t,n,r,i){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(o){case"bigint":case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case Ey:case dz:s=!0;break;case xC:return s=e._init,Bl(s(e._payload),t,n,r,i)}}if(s)return i=i(e),s=r===""?"."+by(e,0):r,TC(i)?(n="",s!=null&&(n=s.replace(SC,"$&/")+"/"),Bl(i,t,n,"",function(u){return u})):i!=null&&(xy(i)&&(i=xz(i,n+(i.key==null||e&&e.key===i.key?"":(""+i.key).replace(SC,"$&/")+"/")+s)),t.push(i)),1;s=0;var a=r===""?".":r+":";if(TC(e))for(var l=0;l{"use strict";kC.exports=RC()});var OC=tn(Zn=>{"use strict";var Nz=pe();function MC(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function DC(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(DC)}catch(e){console.error(e)}}DC(),IC.exports=OC()});var Yk=tn(Sm=>{"use strict";var hn=yC(),sN=pe(),Mz=lo();function W(e){var t="https://react.dev/errors/"+e;if(1Kl||(e.current=lE[Kl],lE[Kl]=null,Kl--)}function Tt(e,t){Kl++,lE[Kl]=e.current,e.current=t}var Di=Ii(null),Rf=Ii(null),Es=Ii(null),kp=Ii(null);function Mp(e,t){switch(Tt(Es,t),Tt(Rf,e),Tt(Di,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vw(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vw(t),e=Ok(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}yn(Di),Tt(Di,e)}function uu(){yn(Di),yn(Rf),yn(Es)}function uE(e){e.memoizedState!==null&&Tt(kp,e);var t=Di.current,n=Ok(t,e.type);t!==n&&(Tt(Rf,e),Tt(Di,n))}function Op(e){Rf.current===e&&(yn(Di),yn(Rf)),kp.current===e&&(yn(kp),zf._currentValue=ya)}var Ay,BC;function pa(e){if(Ay===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Ay=t&&t[1]||"",BC=-1)":-1i||l[r]!==u[i]){var c=` -`+l[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=i);break}}}finally{xy=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?ha(n):""}function Mz(e,t){switch(e.tag){case 26:case 27:case 5:return ha(e.type);case 16:return ha("Lazy");case 13:return e.child!==t&&t!==null?ha("Suspense Fallback"):ha("Suspense");case 19:return ha("SuspenseList");case 0:case 15:return vy(e.type,!1);case 11:return vy(e.type.render,!1);case 1:return vy(e.type,!0);case 31:return ha("Activity");default:return""}}function LC(e){try{var t="",n=null;do t+=Mz(e,n),n=e,e=e.return;while(e);return t}catch(r){return` +`+l[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=i);break}}}finally{_y=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?pa(n):""}function Pz(e,t){switch(e.tag){case 26:case 27:case 5:return pa(e.type);case 16:return pa("Lazy");case 13:return e.child!==t&&t!==null?pa("Suspense Fallback"):pa("Suspense");case 19:return pa("SuspenseList");case 0:case 15:return Cy(e.type,!1);case 11:return Cy(e.type.render,!1);case 1:return Cy(e.type,!0);case 31:return pa("Activity");default:return""}}function HC(e){try{var t="",n=null;do t+=Pz(e,n),n=e,e=e.return;while(e);return t}catch(r){return` Error generating stack: `+r.message+` -`+r.stack}}var aE=Object.prototype.hasOwnProperty,QE=hn.unstable_scheduleCallback,Ay=hn.unstable_cancelCallback,Oz=hn.unstable_shouldYield,Dz=hn.unstable_requestPaint,Hr=hn.unstable_now,Iz=hn.unstable_getCurrentPriorityLevel,cN=hn.unstable_ImmediatePriority,fN=hn.unstable_UserBlockingPriority,Op=hn.unstable_NormalPriority,Lz=hn.unstable_LowPriority,dN=hn.unstable_IdlePriority,Pz=hn.log,Bz=hn.unstable_setDisableYieldValue,qf=null,Fr=null;function ps(e){if(typeof Pz=="function"&&Bz(e),Fr&&typeof Fr.setStrictMode=="function")try{Fr.setStrictMode(qf,e)}catch{}}var zr=Math.clz32?Math.clz32:zz,Hz=Math.log,Fz=Math.LN2;function zz(e){return e>>>=0,e===0?32:31-(Hz(e)/Fz|0)|0}var Qh=256,Zh=262144,Jh=4194304;function pa(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function im(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,o=e.suspendedLanes,s=e.pingedLanes;e=e.warmLanes;var a=r&134217727;return a!==0?(r=a&~o,r!==0?i=pa(r):(s&=a,s!==0?i=pa(s):n||(n=a&~e,n!==0&&(i=pa(n))))):(a=r&~o,a!==0?i=pa(a):s!==0?i=pa(s):n||(n=r&~e,n!==0&&(i=pa(n)))),i===0?0:t!==0&&t!==i&&(t&o)===0&&(o=i&-i,n=t&-t,o>=n||o===32&&(n&4194048)!==0)?t:i}function Vf(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Uz(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function hN(){var e=Jh;return Jh<<=1,(Jh&62914560)===0&&(Jh=4194304),e}function _y(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Gf(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function qz(e,t,n,r,i,o){var s=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var a=e.entanglements,l=e.expirationTimes,u=e.hiddenUpdates;for(n=s&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var $z=/[\n"\\]/g;function ni(e){return e.replace($z,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function cE(e,t,n,r,i,o,s,a){e.name="",s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"?e.type=s:e.removeAttribute("type"),t!=null?s==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Jr(t)):e.value!==""+Jr(t)&&(e.value=""+Jr(t)):s!=="submit"&&s!=="reset"||e.removeAttribute("value"),t!=null?fE(e,s,Jr(t)):n!=null?fE(e,s,Jr(n)):r!=null&&e.removeAttribute("value"),i==null&&o!=null&&(e.defaultChecked=!!o),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"?e.name=""+Jr(a):e.removeAttribute("name")}function xN(e,t,n,r,i,o,s,a){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||n!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){uE(e);return}n=n!=null?""+Jr(n):"",t=t!=null?""+Jr(t):n,a||t===e.value||(e.value=t),e.defaultValue=t}r=r??i,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=a?e.checked:!!r,e.defaultChecked=!!r,s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.name=s),uE(e)}function fE(e,t,n){t==="number"&&Dp(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function nu(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),hE=!1;if(vo)try{Hl={},Object.defineProperty(Hl,"passive",{get:function(){hE=!0}}),window.addEventListener("test",Hl,Hl),window.removeEventListener("test",Hl,Hl)}catch{hE=!1}var Hl,ms=null,r1=null,gp=null;function wN(){if(gp)return gp;var e,t=r1,n=t.length,r,i="value"in ms?ms.value:ms.textContent,o=i.length;for(e=0;e=pf),YC=" ",WC=!1;function RN(e,t){switch(e){case"keyup":return x9.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function kN(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Wl=!1;function A9(e,t){switch(e){case"compositionend":return kN(t);case"keypress":return t.which!==32?null:(WC=!0,YC);case"textInput":return e=t.data,e===YC&&WC?null:e;default:return null}}function _9(e,t){if(Wl)return e==="compositionend"||!o1&&RN(e,t)?(e=wN(),gp=r1=ms=null,Wl=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=QC(n)}}function IN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?IN(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function LN(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Dp(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Dp(e.document)}return t}function s1(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var D9=vo&&"documentMode"in document&&11>=document.documentMode,$l=null,pE=null,gf=null,mE=!1;function JC(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;mE||$l==null||$l!==Dp(r)||(r=$l,"selectionStart"in r&&s1(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),gf&&kf(gf,r)||(gf=r,r=Qp(pE,"onSelect"),0>=s,i-=s,ki=1<<32-zr(t)+i|n<D?(k=N,N=null):k=N.sibling;var A=d(g,N,T[D],S);if(A===null){N===null&&(N=k);break}e&&N&&A.alternate===null&&t(g,N),E=o(A,E,D),x===null?v=A:x.sibling=A,x=A,N=k}if(D===T.length)return n(g,N),Je&&mo(g,D),v;if(N===null){for(;DD?(k=N,N=null):k=N.sibling;var O=d(g,N,A.value,S);if(O===null){N===null&&(N=k);break}e&&N&&O.alternate===null&&t(g,N),E=o(O,E,D),x===null?v=O:x.sibling=O,x=O,N=k}if(A.done)return n(g,N),Je&&mo(g,D),v;if(N===null){for(;!A.done;D++,A=T.next())A=f(g,A.value,S),A!==null&&(E=o(A,E,D),x===null?v=A:x.sibling=A,x=A);return Je&&mo(g,D),v}for(N=r(N);!A.done;D++,A=T.next())A=h(N,g,D,A.value,S),A!==null&&(e&&A.alternate!==null&&N.delete(A.key===null?D:A.key),E=o(A,E,D),x===null?v=A:x.sibling=A,x=A);return e&&N.forEach(function(G){return t(g,G)}),Je&&mo(g,D),v}function y(g,E,T,S){if(typeof T=="object"&&T!==null&&T.type===Vl&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case Xh:e:{for(var v=T.key;E!==null;){if(E.key===v){if(v=T.type,v===Vl){if(E.tag===7){n(g,E.sibling),S=i(E,T.props.children),S.return=g,g=S;break e}}else if(E.elementType===v||typeof v=="object"&&v!==null&&v.$$typeof===ls&&ma(v)===E.type){n(g,E.sibling),S=i(E,T.props),rf(S,T),S.return=g,g=S;break e}n(g,E);break}else t(g,E);E=E.sibling}T.type===Vl?(S=ya(T.props.children,g.mode,S,T.key),S.return=g,g=S):(S=yp(T.type,T.key,T.props,null,g.mode,S),rf(S,T),S.return=g,g=S)}return s(g);case uf:e:{for(v=T.key;E!==null;){if(E.key===v)if(E.tag===4&&E.stateNode.containerInfo===T.containerInfo&&E.stateNode.implementation===T.implementation){n(g,E.sibling),S=i(E,T.children||[]),S.return=g,g=S;break e}else{n(g,E);break}else t(g,E);E=E.sibling}S=Dy(T,g.mode,S),S.return=g,g=S}return s(g);case ls:return T=ma(T),y(g,E,T,S)}if(cf(T))return p(g,E,T,S);if(tf(T)){if(v=tf(T),typeof v!="function")throw Error(W(150));return T=v.call(T),b(g,E,T,S)}if(typeof T.then=="function")return y(g,E,op(T),S);if(T.$$typeof===bo)return y(g,E,ip(g,T),S);sp(g,T)}return typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint"?(T=""+T,E!==null&&E.tag===6?(n(g,E.sibling),S=i(E,T),S.return=g,g=S):(n(g,E),S=Oy(T,g.mode,S),S.return=g,g=S),s(g)):n(g,E)}return function(g,E,T,S){try{Df=0;var v=y(g,E,T,S);return ou=null,v}catch(N){if(N===xu||N===cm)throw N;var x=Pr(29,N,null,g.mode);return x.lanes=S,x.return=g,x}finally{}}}var Aa=XN(!0),QN=XN(!1),us=!1;function m1(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function xE(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ss(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function xs(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(it&2)!==0){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Lp(e),qN(e,null,n),t}return um(e,r,t,n),Lp(e)}function yf(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,mN(e,n)}}function Ly(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var s={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};o===null?i=o=s:o=o.next=s,n=n.next}while(n!==null);o===null?i=o=t:o=o.next=t}else i=o=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:o,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var vE=!1;function Ef(){if(vE){var e=iu;if(e!==null)throw e}}function Tf(e,t,n,r){vE=!1;var i=e.updateQueue;us=!1;var o=i.firstBaseUpdate,s=i.lastBaseUpdate,a=i.shared.pending;if(a!==null){i.shared.pending=null;var l=a,u=l.next;l.next=null,s===null?o=u:s.next=u,s=l;var c=e.alternate;c!==null&&(c=c.updateQueue,a=c.lastBaseUpdate,a!==s&&(a===null?c.firstBaseUpdate=u:a.next=u,c.lastBaseUpdate=l))}if(o!==null){var f=i.baseState;s=0,c=u=l=null,a=o;do{var d=a.lane&-536870913,h=d!==a.lane;if(h?(je&d)===d:(r&d)===d){d!==0&&d===fu&&(vE=!0),c!==null&&(c=c.next={lane:0,tag:a.tag,payload:a.payload,callback:null,next:null});e:{var p=e,b=a;d=t;var y=n;switch(b.tag){case 1:if(p=b.payload,typeof p=="function"){f=p.call(y,f,d);break e}f=p;break e;case 3:p.flags=p.flags&-65537|128;case 0:if(p=b.payload,d=typeof p=="function"?p.call(y,f,d):p,d==null)break e;f=wt({},f,d);break e;case 2:us=!0}}d=a.callback,d!==null&&(e.flags|=64,h&&(e.flags|=8192),h=i.callbacks,h===null?i.callbacks=[d]:h.push(d))}else h={lane:d,tag:a.tag,payload:a.payload,callback:a.callback,next:null},c===null?(u=c=h,l=f):c=c.next=h,s|=d;if(a=a.next,a===null){if(a=i.shared.pending,a===null)break;h=a,a=h.next,h.next=null,i.lastBaseUpdate=h,i.shared.pending=null}}while(!0);c===null&&(l=f),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,o===null&&(i.shared.lanes=0),Ms|=s,e.lanes=s,e.memoizedState=f}}function ZN(e,t){if(typeof e!="function")throw Error(W(191,e));e.call(t)}function JN(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;eo?o:8;var s=Oe.T,a={};Oe.T=a,N1(e,!1,t,n);try{var l=i(),u=Oe.S;if(u!==null&&u(a,l),l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=q9(l,r);Sf(e,t,c,Ur(e))}else Sf(e,t,r,Ur(e))}catch(f){Sf(e,t,{then:function(){},status:"rejected",reason:f},Ur())}finally{ot.p=o,s!==null&&a.types!==null&&(s.types=a.types),Oe.T=s}}function $9(){}function NE(e,t,n,r){if(e.tag!==5)throw Error(W(476));var i=AR(e).queue;vR(e,i,t,ba,n===null?$9:function(){return _R(e),n(r)})}function AR(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ba,baseState:ba,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_o,lastRenderedState:ba},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_o,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function _R(e){var t=AR(e);t.next===null&&(t=e.alternate.memoizedState),Sf(e,t.next.queue,{},Ur())}function w1(){return Nn(Hf)}function CR(){return Yt().memoizedState}function wR(){return Yt().memoizedState}function j9(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Ur();e=Ss(n);var r=xs(t,e,n);r!==null&&(br(r,t,n),yf(r,t,n)),t={cache:d1()},e.payload=t;return}t=t.return}}function X9(e,t,n){var r=Ur();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},pm(e)?RR(t,n):(n=l1(e,t,n,r),n!==null&&(br(n,e,r),kR(n,t,r)))}function NR(e,t,n){var r=Ur();Sf(e,t,n,r)}function Sf(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(pm(e))RR(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,qr(a,s))return um(e,t,i,0),yt===null&&lm(),!1}catch{}finally{}if(n=l1(e,t,i,r),n!==null)return br(n,e,r),kR(n,t,r),!0}return!1}function N1(e,t,n,r){if(r={lane:2,revertLane:B1(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},pm(e)){if(t)throw Error(W(479))}else t=l1(e,n,r,2),t!==null&&br(t,e,2)}function pm(e){var t=e.alternate;return e===ze||t!==null&&t===ze}function RR(e,t){su=Up=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kR(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,mN(e,n)}}var Lf={readContext:Nn,use:dm,useCallback:Ut,useContext:Ut,useEffect:Ut,useImperativeHandle:Ut,useLayoutEffect:Ut,useInsertionEffect:Ut,useMemo:Ut,useReducer:Ut,useRef:Ut,useState:Ut,useDebugValue:Ut,useDeferredValue:Ut,useTransition:Ut,useSyncExternalStore:Ut,useId:Ut,useHostTransitionStatus:Ut,useFormState:Ut,useActionState:Ut,useOptimistic:Ut,useMemoCache:Ut,useCacheRefresh:Ut};Lf.useEffectEvent=Ut;var MR={readContext:Nn,use:dm,useCallback:function(e,t){return Jn().memoizedState=[e,t===void 0?null:t],e},useContext:Nn,useEffect:pw,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Sp(4194308,4,yR.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Sp(4194308,4,e,t)},useInsertionEffect:function(e,t){Sp(4,2,e,t)},useMemo:function(e,t){var n=Jn();t=t===void 0?null:t;var r=e();if(_a){ps(!0);try{e()}finally{ps(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Jn();if(n!==void 0){var i=n(t);if(_a){ps(!0);try{n(t)}finally{ps(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=X9.bind(null,ze,e),[r.memoizedState,e]},useRef:function(e){var t=Jn();return e={current:e},t.memoizedState=e},useState:function(e){e=CE(e);var t=e.queue,n=NR.bind(null,ze,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:_1,useDeferredValue:function(e,t){var n=Jn();return C1(n,e,t)},useTransition:function(){var e=CE(!1);return e=vR.bind(null,ze,e.queue,!0,!1),Jn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=ze,i=Jn();if(Je){if(n===void 0)throw Error(W(407));n=n()}else{if(n=t(),yt===null)throw Error(W(349));(je&127)!==0||iR(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,pw(sR.bind(null,r,o,e),[e]),r.flags|=2048,hu(9,{destroy:void 0},oR.bind(null,r,o,n,t),null),n},useId:function(){var e=Jn(),t=yt.identifierPrefix;if(Je){var n=Mi,r=ki;n=(r&~(1<<32-zr(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=qp++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof r.is=="string"?s.createElement("select",{is:r.is}):s.createElement("select"),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is=="string"?s.createElement(i,{is:r.is}):s.createElement(i)}}o[Cn]=t,o[yr]=r;e:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break e;for(;s.sibling===null;){if(s.return===null||s.return===t)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;e:switch(Rn(o,i,r),i){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&co(t)}}return _t(t),Vy(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&co(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(W(166));if(e=Es.current,Fl(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=wn,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Cn]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||Nk(e.nodeValue,n)),e||Rs(t,!0)}else e=Zp(e).createTextNode(r),e[Cn]=t,t.stateNode=e}return _t(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Fl(t),n!==null){if(e===null){if(!r)throw Error(W(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(W(557));e[Cn]=t}else xa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;_t(t),e=!1}else n=Iy(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Lr(t),t):(Lr(t),null);if((t.flags&128)!==0)throw Error(W(558))}return _t(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Fl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(W(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(W(317));i[Cn]=t}else xa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;_t(t),i=!1}else i=Iy(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Lr(t),t):(Lr(t),null)}return Lr(t),(t.flags&128)!==0?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),ap(t,t.updateQueue),_t(t),null);case 4:return lu(),e===null&&H1(t.stateNode.containerInfo),_t(t),null;case 10:return So(t.type),_t(t),null;case 19:if(yn(Kt),r=t.memoizedState,r===null)return _t(t),null;if(i=(t.flags&128)!==0,o=r.rendering,o===null)if(i)of(r,!1);else{if(qt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=zp(e),o!==null){for(t.flags|=128,of(r,!1),e=o.updateQueue,t.updateQueue=e,ap(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)VN(n,e),n=n.sibling;return Et(Kt,Kt.current&1|2),Je&&mo(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Hr()>Yp&&(t.flags|=128,i=!0,of(r,!1),t.lanes=4194304)}else{if(!i)if(e=zp(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,ap(t,e),of(r,!0),r.tail===null&&r.tailMode==="hidden"&&!o.alternate&&!Je)return _t(t),null}else 2*Hr()-r.renderingStartTime>Yp&&n!==536870912&&(t.flags|=128,i=!0,of(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e!==null?e.sibling=o:t.child=o,r.last=o)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Hr(),e.sibling=null,n=Kt.current,Et(Kt,i?n&1|2:n&1),Je&&mo(t,r.treeForkCount),e):(_t(t),null);case 22:case 23:return Lr(t),g1(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(n&536870912)!==0&&(t.flags&128)===0&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),n=t.updateQueue,n!==null&&ap(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&yn(Ea),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),So(on),_t(t),null;case 25:return null;case 30:return null}throw Error(W(156,t.tag))}function tU(e,t){switch(f1(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return So(on),lu(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Mp(t),null;case 31:if(t.memoizedState!==null){if(Lr(t),t.alternate===null)throw Error(W(340));xa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Lr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(W(340));xa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return yn(Kt),null;case 4:return lu(),null;case 10:return So(t.type),null;case 22:case 23:return Lr(t),g1(),e!==null&&yn(Ea),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return So(on),null;case 25:return null;default:return null}}function VR(e,t){switch(f1(t),t.tag){case 3:So(on),lu();break;case 26:case 27:case 5:Mp(t);break;case 4:lu();break;case 31:t.memoizedState!==null&&Lr(t);break;case 13:Lr(t);break;case 19:yn(Kt);break;case 10:So(t.type);break;case 22:case 23:Lr(t),g1(),e!==null&&yn(Ea);break;case 24:So(on)}}function jf(e,t){try{var n=t.updateQueue,r=n!==null?n.lastEffect:null;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var o=n.create,s=n.inst;r=o(),s.destroy=r}n=n.next}while(n!==i)}}catch(a){ft(t,t.return,a)}}function ks(e,t,n){try{var r=t.updateQueue,i=r!==null?r.lastEffect:null;if(i!==null){var o=i.next;r=o;do{if((r.tag&e)===e){var s=r.inst,a=s.destroy;if(a!==void 0){s.destroy=void 0,i=t;var l=n,u=a;try{u()}catch(c){ft(i,l,c)}}}r=r.next}while(r!==o)}}catch(c){ft(t,t.return,c)}}function GR(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{JN(t,n)}catch(r){ft(e,e.return,r)}}}function KR(e,t,n){n.props=Ca(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){ft(e,t,r)}}function xf(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(i){ft(e,t,i)}}function Oi(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(i){ft(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(i){ft(e,t,i)}else n.current=null}function YR(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(i){ft(e,e.return,i)}}function Gy(e,t,n){try{var r=e.stateNode;SU(r,e.type,n,t),r[yr]=t}catch(i){ft(e,e.return,i)}}function WR(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ds(e.type)||e.tag===4}function Ky(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||WR(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Ds(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function DE(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=yo));else if(r!==4&&(r===27&&Ds(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(DE(e,t,n),e=e.sibling;e!==null;)DE(e,t,n),e=e.sibling}function Kp(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Ds(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Kp(e,t,n),e=e.sibling;e!==null;)Kp(e,t,n),e=e.sibling}function $R(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Rn(t,r,n),t[Cn]=e,t[yr]=n}catch(o){ft(e,e.return,o)}}var go=!1,rn=!1,Yy=!1,ww=typeof WeakSet=="function"?WeakSet:Set,gn=null;function nU(e,t){if(e=e.containerInfo,zE=nm,e=LN(e),s1(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var h;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(h=f.firstChild)!==null;)d=f,f=h;for(;;){if(f===e)break t;if(d===n&&++u===i&&(a=s),d===o&&++c===r&&(l=s),(h=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(UE={focusedElem:e,selectionRange:n},nm=!1,gn=t;gn!==null;)if(t=gn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,gn=e;else for(;gn!==null;){switch(t=gn,o=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),Rn(o,r,n),o[Cn]=e,bn(o),r=o;break e;case"link":var s=jw("link","href",i).get(r+(n.href||""));if(s){for(var a=0;ay&&(s=y,y=b,b=s);var g=ZC(a,b),E=ZC(a,y);if(g&&E&&(h.rangeCount!==1||h.anchorNode!==g.node||h.anchorOffset!==g.offset||h.focusNode!==E.node||h.focusOffset!==E.offset)){var T=f.createRange();T.setStart(g.node,g.offset),h.removeAllRanges(),b>y?(h.addRange(T),h.extend(E.node,E.offset)):(T.setEnd(E.node,E.offset),h.addRange(T))}}}}for(f=[],h=a;h=h.parentNode;)h.nodeType===1&&f.push({element:h,left:h.scrollLeft,top:h.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;an?32:n,Oe.T=null,n=PE,PE=null;var o=As,s=xo;if(dn=0,mu=As=null,xo=0,(it&6)!==0)throw Error(W(331));var a=it;if(it|=4,ok(o.current),nk(o,o.current,s,n),it=a,Xf(0,!1),Fr&&typeof Fr.onPostCommitFiberRoot=="function")try{Fr.onPostCommitFiberRoot(qf,o)}catch{}return!0}finally{ot.p=i,Oe.T=r,Tk(e,t)}}function Mw(e,t,n){t=ri(n,t),t=kE(e.stateNode,t,2),e=xs(e,t,2),e!==null&&(Gf(e,2),Li(e))}function ft(e,t,n){if(e.tag===3)Mw(e,e,n);else for(;t!==null;){if(t.tag===3){Mw(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(vs===null||!vs.has(r))){e=ri(n,e),n=PR(2),r=xs(t,n,2),r!==null&&(BR(n,r,t,e),Gf(r,2),Li(r));break}}t=t.return}}function $y(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new oU;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(I1=!0,i.add(n),e=cU.bind(null,e,t,n),t.then(e,e))}function cU(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,yt===e&&(je&n)===n&&(qt===4||qt===3&&(je&62914560)===je&&300>Hr()-mm?(it&2)===0&&gu(e,0):L1|=n,pu===je&&(pu=0)),Li(e)}function xk(e,t){t===0&&(t=hN()),e=ka(e,t),e!==null&&(Gf(e,t),Li(e))}function fU(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),xk(e,n)}function dU(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(W(314))}r!==null&&r.delete(t),xk(e,n)}function hU(e,t){return QE(e,t)}var jp=null,ql=null,HE=!1,Xp=!1,jy=!1,ys=0;function Li(e){e!==ql&&e.next===null&&(ql===null?jp=ql=e:ql=ql.next=e),Xp=!0,HE||(HE=!0,mU())}function Xf(e,t){if(!jy&&Xp){jy=!0;do for(var n=!1,r=jp;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var o=0;else{var s=r.suspendedLanes,a=r.pingedLanes;o=(1<<31-zr(42|e)+1)-1,o&=i&~(s&~a),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(n=!0,Ow(r,o))}else o=je,o=im(r,r===yt?o:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(o&3)===0||Vf(r,o)||(n=!0,Ow(r,o));r=r.next}while(n);jy=!1}}function pU(){vk()}function vk(){Xp=HE=!1;var e=0;ys!==0&&vU()&&(e=ys);for(var t=Hr(),n=null,r=jp;r!==null;){var i=r.next,o=Ak(r,t);o===0?(r.next=null,n===null?jp=i:n.next=i,i===null&&(ql=n)):(n=r,(e!==0||(o&3)!==0)&&(Xp=!0)),r=i}dn!==0&&dn!==5||Xf(e,!1),ys!==0&&(ys=0)}function Ak(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,o=e.pendingLanes&-62914561;0a)break;var c=l.transferSize,f=l.initiatorType;c&&Fw(f)&&(l=l.responseEnd,s+=c*(l"u"?null:document;function Dk(e,t,n){var r=Au;if(r&&typeof t=="string"&&t){var i=ni(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof n=="string"&&(i+='[crossorigin="'+n+'"]'),Yw.has(i)||(Yw.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement("link"),Rn(t,"link",e),bn(t),r.head.appendChild(t)))}}function OU(e){No.D(e),Dk("dns-prefetch",e,null)}function DU(e,t){No.C(e,t),Dk("preconnect",e,t)}function IU(e,t,n){No.L(e,t,n);var r=Au;if(r&&e&&t){var i='link[rel="preload"][as="'+ni(t)+'"]';t==="image"&&n&&n.imageSrcSet?(i+='[imagesrcset="'+ni(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(i+='[imagesizes="'+ni(n.imageSizes)+'"]')):i+='[href="'+ni(e)+'"]';var o=i;switch(t){case"style":o=bu(e);break;case"script":o=_u(e)}ai.has(o)||(e=wt({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),ai.set(o,e),r.querySelector(i)!==null||t==="style"&&r.querySelector(Qf(o))||t==="script"&&r.querySelector(Zf(o))||(t=r.createElement("link"),Rn(t,"link",e),bn(t),r.head.appendChild(t)))}}function LU(e,t){No.m(e,t);var n=Au;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+ni(r)+'"][href="'+ni(e)+'"]',o=i;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=_u(e)}if(!ai.has(o)&&(e=wt({rel:"modulepreload",href:e},t),ai.set(o,e),n.querySelector(i)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Zf(o)))return}r=n.createElement("link"),Rn(r,"link",e),bn(r),n.head.appendChild(r)}}}function PU(e,t,n){No.S(e,t,n);var r=Au;if(r&&e){var i=tu(r).hoistableStyles,o=bu(e);t=t||"default";var s=i.get(o);if(!s){var a={loading:0,preload:null};if(s=r.querySelector(Qf(o)))a.loading=5;else{e=wt({rel:"stylesheet",href:e,"data-precedence":t},n),(n=ai.get(o))&&F1(e,n);var l=s=r.createElement("link");bn(l),Rn(l,"link",e),l._p=new Promise(function(u,c){l.onload=u,l.onerror=c}),l.addEventListener("load",function(){a.loading|=1}),l.addEventListener("error",function(){a.loading|=2}),a.loading|=4,_p(s,t,r)}s={type:"stylesheet",instance:s,count:1,state:a},i.set(o,s)}}}function BU(e,t){No.X(e,t);var n=Au;if(n&&e){var r=tu(n).hoistableScripts,i=_u(e),o=r.get(i);o||(o=n.querySelector(Zf(i)),o||(e=wt({src:e,async:!0},t),(t=ai.get(i))&&z1(e,t),o=n.createElement("script"),bn(o),Rn(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},r.set(i,o))}}function HU(e,t){No.M(e,t);var n=Au;if(n&&e){var r=tu(n).hoistableScripts,i=_u(e),o=r.get(i);o||(o=n.querySelector(Zf(i)),o||(e=wt({src:e,async:!0,type:"module"},t),(t=ai.get(i))&&z1(e,t),o=n.createElement("script"),bn(o),Rn(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},r.set(i,o))}}function Ww(e,t,n,r){var i=(i=Es.current)?Jp(i):null;if(!i)throw Error(W(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=bu(n.href),n=tu(i).hoistableStyles,r=n.get(t),r||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=bu(n.href);var o=tu(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Qf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),ai.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},ai.set(e,n),o||FU(i,e,n,s.state))),t&&r===null)throw Error(W(528,""));return s}if(t&&r!==null)throw Error(W(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=_u(n),n=tu(i).hoistableScripts,r=n.get(t),r||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(W(444,e))}}function bu(e){return'href="'+ni(e)+'"'}function Qf(e){return'link[rel="stylesheet"]['+e+"]"}function Ik(e){return wt({},e,{"data-precedence":e.precedence,precedence:null})}function FU(e,t,n,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Rn(t,"link",n),bn(t),e.head.appendChild(t))}function _u(e){return'[src="'+ni(e)+'"]'}function Zf(e){return"script[async]"+e}function $w(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+ni(n.href)+'"]');if(r)return t.instance=r,bn(r),r;var i=wt({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),bn(r),Rn(r,"style",i),_p(r,n.precedence,e),t.instance=r;case"stylesheet":i=bu(n.href);var o=e.querySelector(Qf(i));if(o)return t.state.loading|=4,t.instance=o,bn(o),o;r=Ik(n),(i=ai.get(i))&&F1(r,i),o=(e.ownerDocument||e).createElement("link"),bn(o);var s=o;return s._p=new Promise(function(a,l){s.onload=a,s.onerror=l}),Rn(o,"link",r),t.state.loading|=4,_p(o,n.precedence,e),t.instance=o;case"script":return o=_u(n.src),(i=e.querySelector(Zf(o)))?(t.instance=i,bn(i),i):(r=n,(i=ai.get(o))&&(r=wt({},n),z1(r,i)),e=e.ownerDocument||e,i=e.createElement("script"),bn(i),Rn(i,"link",r),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(W(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,_p(r,n.precedence,e));return t.instance}function _p(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=r.length?r[r.length-1]:null,o=i,s=0;s title"):null)}function zU(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Lk(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function UU(e,t,n,r){if(n.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var i=bu(r.href),o=t.querySelector(Qf(i));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=em.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=o,bn(o);return}o=t.ownerDocument||t,r=Ik(r),(i=ai.get(i))&&F1(r,i),o=o.createElement("link"),bn(o);var s=o;s._p=new Promise(function(a,l){s.onload=a,s.onerror=l}),Rn(o,"link",r),n.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=em.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Jy=0;function qU(e,t){return e.stylesheets&&e.count===0&&wp(e,e.stylesheets),0Jy?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function em(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)wp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var tm=null;function wp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,tm=new Map,t.forEach(VU,e),tm=null,em.call(e))}function VU(e,t){if(!(t.state.loading&4)){var n=tm.get(e);if(n)var r=n.get(null);else{n=new Map,tm.set(e,n);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";function Gk(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Gk)}catch(e){console.error(e)}}Gk(),Kk.exports=Vk()});var gM=tn(Rm=>{"use strict";var S7=Symbol.for("react.transitional.element"),x7=Symbol.for("react.fragment");function mM(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var i in t)i!=="key"&&(n[i]=t[i])}else n=t;return t=n.ref,{$$typeof:S7,type:e,key:r,ref:t!==void 0?t:null,props:n}}Rm.Fragment=x7;Rm.jsx=mM;Rm.jsxs=mM});var ie=tn((Gle,bM)=>{"use strict";bM.exports=gM()});var kM=tn((Xue,RM)=>{"use strict";var _M=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,O7=/\n/g,D7=/^\s*/,I7=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,L7=/^:\s*/,P7=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,B7=/^[;\s]*/,H7=/^\s+|\s+$/g,F7=` -`,CM="/",wM="*",La="",z7="comment",U7="declaration";function q7(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function i(p){var b=p.match(O7);b&&(n+=b.length);var y=p.lastIndexOf(F7);r=~y?p.length-y:r+p.length}function o(){var p={line:n,column:r};return function(b){return b.position=new s(p),u(),b}}function s(p){this.start=p,this.end={line:n,column:r},this.source=t.source}s.prototype.content=e;function a(p){var b=new Error(t.source+":"+n+":"+r+": "+p);if(b.reason=p,b.filename=t.source,b.line=n,b.column=r,b.source=e,!t.silent)throw b}function l(p){var b=p.exec(e);if(b){var y=b[0];return i(y),e=e.slice(y.length),b}}function u(){l(D7)}function c(p){var b;for(p=p||[];b=f();)b!==!1&&p.push(b);return p}function f(){var p=o();if(!(CM!=e.charAt(0)||wM!=e.charAt(1))){for(var b=2;La!=e.charAt(b)&&(wM!=e.charAt(b)||CM!=e.charAt(b+1));)++b;if(b+=2,La===e.charAt(b-1))return a("End of comment missing");var y=e.slice(2,b-2);return r+=2,i(y),e=e.slice(b),r+=2,p({type:z7,comment:y})}}function d(){var p=o(),b=l(I7);if(b){if(f(),!l(L7))return a("property missing ':'");var y=l(P7),g=p({type:U7,property:NM(b[0].replace(_M,La)),value:y?NM(y[0].replace(_M,La)):La});return l(B7),g}}function h(){var p=[];c(p);for(var b;b=d();)b!==!1&&(p.push(b),c(p));return p}return u(),h()}function NM(e){return e?e.replace(H7,La):La}RM.exports=q7});var MM=tn(od=>{"use strict";var V7=od&&od.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(od,"__esModule",{value:!0});od.default=K7;var G7=V7(kM());function K7(e,t){let n=null;if(!e||typeof e!="string")return n;let r=(0,G7.default)(e),i=typeof t=="function";return r.forEach(o=>{if(o.type!=="declaration")return;let{property:s,value:a}=o;i?t(s,a,o):a&&(n=n||{},n[s]=a)}),n}});var DM=tn(Im=>{"use strict";Object.defineProperty(Im,"__esModule",{value:!0});Im.camelCase=void 0;var Y7=/^--[a-zA-Z0-9_-]+$/,W7=/-([a-z])/g,$7=/^[^-]+$/,j7=/^-(webkit|moz|ms|o|khtml)-/,X7=/^-(ms)-/,Q7=function(e){return!e||$7.test(e)||Y7.test(e)},Z7=function(e,t){return t.toUpperCase()},OM=function(e,t){return"".concat(t,"-")},J7=function(e,t){return t===void 0&&(t={}),Q7(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(X7,OM):e=e.replace(j7,OM),e.replace(W7,Z7))};Im.camelCase=J7});var LM=tn((vT,IM)=>{"use strict";var eq=vT&&vT.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},tq=eq(MM()),nq=DM();function xT(e,t){var n={};return!e||typeof e!="string"||(0,tq.default)(e,function(r,i){r&&i&&(n[(0,nq.camelCase)(r,t)]=i)}),n}xT.default=xT;IM.exports=xT});var g2=tn((Gde,m2)=>{"use strict";var lg=Object.prototype.hasOwnProperty,p2=Object.prototype.toString,l2=Object.defineProperty,u2=Object.getOwnPropertyDescriptor,c2=function(t){return typeof Array.isArray=="function"?Array.isArray(t):p2.call(t)==="[object Array]"},f2=function(t){if(!t||p2.call(t)!=="[object Object]")return!1;var n=lg.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&lg.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var i;for(i in t);return typeof i>"u"||lg.call(t,i)},d2=function(t,n){l2&&n.name==="__proto__"?l2(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},h2=function(t,n){if(n==="__proto__")if(lg.call(t,n)){if(u2)return u2(t,n).value}else return;return t[n]};m2.exports=function e(){var t,n,r,i,o,s,a=arguments[0],l=1,u=arguments.length,c=!1;for(typeof a=="boolean"&&(c=a,a=arguments[1]||{},l=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});l{function GL(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(t=>{let n=e[t],r=typeof n;(r==="object"||r==="function")&&!Object.isFrozen(n)&&GL(n)}),e}var Vg=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function KL(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ws(e,...t){let n=Object.create(null);for(let r in e)n[r]=e[r];return t.forEach(function(r){for(let i in r)n[i]=r[i]}),n}var yX="",HL=e=>!!e.scope,EX=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,i)=>`${r}${"_".repeat(i+1)}`)].join(" ")}return`${t}${e}`},_x=class{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=KL(t)}openNode(t){if(!HL(t))return;let n=EX(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){HL(t)&&(this.buffer+=yX)}value(){return this.buffer}span(t){this.buffer+=``}},FL=(e={})=>{let t={children:[]};return Object.assign(t,e),t},Cx=class e{constructor(){this.rootNode=FL(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){let n=FL({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{e._collapse(n)}))}},wx=class extends Cx{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){let r=t.root;n&&(r.scope=`language:${n}`),this.add(r)}toHTML(){return new _x(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Hd(e){return e?typeof e=="string"?e:e.source:null}function YL(e){return Ja("(?=",e,")")}function TX(e){return Ja("(?:",e,")*")}function SX(e){return Ja("(?:",e,")?")}function Ja(...e){return e.map(n=>Hd(n)).join("")}function xX(e){let t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Rx(...e){return"("+(xX(e).capture?"":"?:")+e.map(r=>Hd(r)).join("|")+")"}function WL(e){return new RegExp(e.toString()+"|").exec("").length-1}function vX(e,t){let n=e&&e.exec(t);return n&&n.index===0}var AX=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function kx(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;let i=n,o=Hd(r),s="";for(;o.length>0;){let a=AX.exec(o);if(!a){s+=o;break}s+=o.substring(0,a.index),o=o.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?s+="\\"+String(Number(a[1])+i):(s+=a[0],a[0]==="("&&n++)}return s}).map(r=>`(${r})`).join(t)}var _X=/\b\B/,$L="[a-zA-Z]\\w*",Mx="[a-zA-Z_]\\w*",jL="\\b\\d+(\\.\\d+)?",XL="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",QL="\\b(0b[01]+)",CX="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",wX=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=Ja(t,/.*\b/,e.binary,/\b.*/)),Ws({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},Fd={begin:"\\\\[\\s\\S]",relevance:0},NX={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Fd]},RX={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Fd]},kX={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/},Kg=function(e,t,n={}){let r=Ws({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=Rx("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:Ja(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},MX=Kg("//","$"),OX=Kg("/\\*","\\*/"),DX=Kg("#","$"),IX={scope:"number",begin:jL,relevance:0},LX={scope:"number",begin:XL,relevance:0},PX={scope:"number",begin:QL,relevance:0},BX={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Fd,{begin:/\[/,end:/\]/,relevance:0,contains:[Fd]}]},HX={scope:"title",begin:$L,relevance:0},FX={scope:"title",begin:Mx,relevance:0},zX={begin:"\\.\\s*"+Mx,relevance:0},UX=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})},qg=Object.freeze({__proto__:null,APOS_STRING_MODE:NX,BACKSLASH_ESCAPE:Fd,BINARY_NUMBER_MODE:PX,BINARY_NUMBER_RE:QL,COMMENT:Kg,C_BLOCK_COMMENT_MODE:OX,C_LINE_COMMENT_MODE:MX,C_NUMBER_MODE:LX,C_NUMBER_RE:XL,END_SAME_AS_BEGIN:UX,HASH_COMMENT_MODE:DX,IDENT_RE:$L,MATCH_NOTHING_RE:_X,METHOD_GUARD:zX,NUMBER_MODE:IX,NUMBER_RE:jL,PHRASAL_WORDS_MODE:kX,QUOTE_STRING_MODE:RX,REGEXP_MODE:BX,RE_STARTERS_RE:CX,SHEBANG:wX,TITLE_MODE:HX,UNDERSCORE_IDENT_RE:Mx,UNDERSCORE_TITLE_MODE:FX});function qX(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function VX(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function GX(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=qX,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function KX(e,t){Array.isArray(e.illegal)&&(e.illegal=Rx(...e.illegal))}function YX(e,t){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 WX(e,t){e.relevance===void 0&&(e.relevance=1)}var $X=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},e);Object.keys(e).forEach(r=>{delete e[r]}),e.keywords=n.keywords,e.begin=Ja(n.beforeMatch,YL(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},jX=["of","and","for","in","not","or","if","then","parent","list","value"],XX="keyword";function ZL(e,t,n=XX){let r=Object.create(null);return typeof e=="string"?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(o){Object.assign(r,ZL(e[o],t,o))}),r;function i(o,s){t&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let l=a.split("|");r[l[0]]=[o,QX(l[0],l[1])]})}}function QX(e,t){return t?Number(t):ZX(e)?0:1}function ZX(e){return jX.includes(e.toLowerCase())}var zL={},Za=e=>{console.error(e)},UL=(e,...t)=>{console.log(`WARN: ${e}`,...t)},ec=(e,t)=>{zL[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),zL[`${e}/${t}`]=!0)},Gg=new Error;function JL(e,t,{key:n}){let r=0,i=e[n],o={},s={};for(let a=1;a<=t.length;a++)s[a+r]=i[a],o[a+r]=!0,r+=WL(t[a-1]);e[n]=s,e[n]._emit=o,e[n]._multi=!0}function JX(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Za("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Gg;if(typeof e.beginScope!="object"||e.beginScope===null)throw Za("beginScope must be object"),Gg;JL(e,e.begin,{key:"beginScope"}),e.begin=kx(e.begin,{joinWith:""})}}function eQ(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Za("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Gg;if(typeof e.endScope!="object"||e.endScope===null)throw Za("endScope must be object"),Gg;JL(e,e.end,{key:"endScope"}),e.end=kx(e.end,{joinWith:""})}}function tQ(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function nQ(e){tQ(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),JX(e),eQ(e)}function rQ(e){function t(s,a){return new RegExp(Hd(s),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(a?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,a]),this.matchAt+=WL(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(l=>l[1]);this.matcherRe=t(kx(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let l=this.matcherRe.exec(a);if(!l)return null;let u=l.findIndex((f,d)=>d>0&&f!==void 0),c=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,c)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];let l=new n;return this.rules.slice(a).forEach(([u,c])=>l.addRule(u,c)),l.compile(),this.multiRegexes[a]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,l){this.rules.push([a,l]),l.type==="begin"&&this.count++}exec(a){let l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(a);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){let c=this.getMatcher(0);c.lastIndex=this.lastIndex+1,u=c.exec(a)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function i(s){let a=new r;return s.contains.forEach(l=>a.addRule(l.begin,{rule:l,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){let l=s;if(s.isCompiled)return l;[VX,YX,nQ,$X].forEach(c=>c(s,a)),e.compilerExtensions.forEach(c=>c(s,a)),s.__beforeBegin=null,[GX,KX,WX].forEach(c=>c(s,a)),s.isCompiled=!0;let u=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),u=s.keywords.$pattern,delete s.keywords.$pattern),u=u||/\w+/,s.keywords&&(s.keywords=ZL(s.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),a&&(s.begin||(s.begin=/\B|\b/),l.beginRe=t(l.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(l.endRe=t(l.end)),l.terminatorEnd=Hd(l.end)||"",s.endsWithParent&&a.terminatorEnd&&(l.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(l.illegalRe=t(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(c){return iQ(c==="self"?s:c)})),s.contains.forEach(function(c){o(c,l)}),s.starts&&o(s.starts,a),l.matcher=i(l),l}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=Ws(e.classNameAliases||{}),o(e)}function e3(e){return e?e.endsWithParent||e3(e.starts):!1}function iQ(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Ws(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:e3(e)?Ws(e,{starts:e.starts?Ws(e.starts):null}):Object.isFrozen(e)?Ws(e):e}var oQ="11.11.1",Nx=class extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}},Ax=KL,qL=Ws,VL=Symbol("nomatch"),sQ=7,t3=function(e){let t=Object.create(null),n=Object.create(null),r=[],i=!0,o="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]},a={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:wx};function l(I){return a.noHighlightRe.test(I)}function u(I){let F=I.className+" ";F+=I.parentNode?I.parentNode.className:"";let P=a.languageDetectRe.exec(F);if(P){let U=D(P[1]);return U||(UL(o.replace("{}",P[1])),UL("Falling back to no-highlight mode for this block.",I)),U?P[1]:"no-highlight"}return F.split(/\s+/).find(U=>l(U)||D(U))}function c(I,F,P){let U="",_="";typeof F=="object"?(U=I,P=F.ignoreIllegals,_=F.language):(ec("10.7.0","highlight(lang, code, ...args) has been deprecated."),ec("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),_=I,U=F),P===void 0&&(P=!0);let re={code:U,language:_};L("before:highlight",re);let ee=re.result?re.result:f(re.language,re.code,P);return ee.code=re.code,L("after:highlight",ee),ee}function f(I,F,P,U){let _=Object.create(null);function re(B,K){return B.keywords[K]}function ee(){if(!me.keywords){Ge.addText(Ve);return}let B=0;me.keywordPatternRe.lastIndex=0;let K=me.keywordPatternRe.exec(Ve),Q="";for(;K;){Q+=Ve.substring(B,K.index);let se=Pe.case_insensitive?K[0].toLowerCase():K[0],_e=re(me,se);if(_e){let[ut,Z]=_e;if(Ge.addText(Q),Q="",_[se]=(_[se]||0)+1,_[se]<=sQ&&(Jt+=Z),ut.startsWith("_"))Q+=K[0];else{let we=Pe.classNameAliases[ut]||ut;ue(K[0],we)}}else Q+=K[0];B=me.keywordPatternRe.lastIndex,K=me.keywordPatternRe.exec(Ve)}Q+=Ve.substring(B),Ge.addText(Q)}function C(){if(Ve==="")return;let B=null;if(typeof me.subLanguage=="string"){if(!t[me.subLanguage]){Ge.addText(Ve);return}B=f(me.subLanguage,Ve,!0,vt[me.subLanguage]),vt[me.subLanguage]=B._top}else B=h(Ve,me.subLanguage.length?me.subLanguage:null);me.relevance>0&&(Jt+=B.relevance),Ge.__addSublanguage(B._emitter,B.language)}function ae(){me.subLanguage!=null?C():ee(),Ve=""}function ue(B,K){B!==""&&(Ge.startScope(K),Ge.addText(B),Ge.endScope())}function de(B,K){let Q=1,se=K.length-1;for(;Q<=se;){if(!B._emit[Q]){Q++;continue}let _e=Pe.classNameAliases[B[Q]]||B[Q],ut=K[Q];_e?ue(ut,_e):(Ve=ut,ee(),Ve=""),Q++}}function Le(B,K){return B.scope&&typeof B.scope=="string"&&Ge.openNode(Pe.classNameAliases[B.scope]||B.scope),B.beginScope&&(B.beginScope._wrap?(ue(Ve,Pe.classNameAliases[B.beginScope._wrap]||B.beginScope._wrap),Ve=""):B.beginScope._multi&&(de(B.beginScope,K),Ve="")),me=Object.create(B,{parent:{value:me}}),me}function ye(B,K,Q){let se=vX(B.endRe,Q);if(se){if(B["on:end"]){let _e=new Vg(B);B["on:end"](K,_e),_e.isMatchIgnored&&(se=!1)}if(se){for(;B.endsParent&&B.parent;)B=B.parent;return B}}if(B.endsWithParent)return ye(B.parent,K,Q)}function qe(B){return me.matcher.regexIndex===0?(Ve+=B[0],1):(Hn=!0,0)}function De(B){let K=B[0],Q=B.rule,se=new Vg(Q),_e=[Q.__beforeBegin,Q["on:begin"]];for(let ut of _e)if(ut&&(ut(B,se),se.isMatchIgnored))return qe(K);return Q.skip?Ve+=K:(Q.excludeBegin&&(Ve+=K),ae(),!Q.returnBegin&&!Q.excludeBegin&&(Ve=K)),Le(Q,B),Q.returnBegin?0:K.length}function ke(B){let K=B[0],Q=F.substring(B.index),se=ye(me,B,Q);if(!se)return VL;let _e=me;me.endScope&&me.endScope._wrap?(ae(),ue(K,me.endScope._wrap)):me.endScope&&me.endScope._multi?(ae(),de(me.endScope,B)):_e.skip?Ve+=K:(_e.returnEnd||_e.excludeEnd||(Ve+=K),ae(),_e.excludeEnd&&(Ve=K));do me.scope&&Ge.closeNode(),!me.skip&&!me.subLanguage&&(Jt+=me.relevance),me=me.parent;while(me!==se.parent);return se.starts&&Le(se.starts,B),_e.returnEnd?0:K.length}function ce(){let B=[];for(let K=me;K!==Pe;K=K.parent)K.scope&&B.unshift(K.scope);B.forEach(K=>Ge.openNode(K))}let oe={};function Ee(B,K){let Q=K&&K[0];if(Ve+=B,Q==null)return ae(),0;if(oe.type==="begin"&&K.type==="end"&&oe.index===K.index&&Q===""){if(Ve+=F.slice(K.index,K.index+1),!i){let se=new Error(`0 width match regex (${I})`);throw se.languageName=I,se.badRule=oe.rule,se}return 1}if(oe=K,K.type==="begin")return De(K);if(K.type==="illegal"&&!P){let se=new Error('Illegal lexeme "'+Q+'" for mode "'+(me.scope||"")+'"');throw se.mode=me,se}else if(K.type==="end"){let se=ke(K);if(se!==VL)return se}if(K.type==="illegal"&&Q==="")return Ve+=` -`,1;if(Mt>1e5&&Mt>K.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ve+=Q,Q.length}let Pe=D(I);if(!Pe)throw Za(o.replace("{}",I)),new Error('Unknown language: "'+I+'"');let Te=rQ(Pe),ve="",me=U||Te,vt={},Ge=new a.__emitter(a);ce();let Ve="",Jt=0,kt=0,Mt=0,Hn=!1;try{if(Pe.__emitTokens)Pe.__emitTokens(F,Ge);else{for(me.matcher.considerAll();;){Mt++,Hn?Hn=!1:me.matcher.considerAll(),me.matcher.lastIndex=kt;let B=me.matcher.exec(F);if(!B)break;let K=F.substring(kt,B.index),Q=Ee(K,B);kt=B.index+Q}Ee(F.substring(kt))}return Ge.finalize(),ve=Ge.toHTML(),{language:I,value:ve,relevance:Jt,illegal:!1,_emitter:Ge,_top:me}}catch(B){if(B.message&&B.message.includes("Illegal"))return{language:I,value:Ax(F),illegal:!0,relevance:0,_illegalBy:{message:B.message,index:kt,context:F.slice(kt-100,kt+100),mode:B.mode,resultSoFar:ve},_emitter:Ge};if(i)return{language:I,value:Ax(F),illegal:!1,relevance:0,errorRaised:B,_emitter:Ge,_top:me};throw B}}function d(I){let F={value:Ax(I),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return F._emitter.addText(I),F}function h(I,F){F=F||a.languages||Object.keys(t);let P=d(I),U=F.filter(D).filter(A).map(ae=>f(ae,I,!1));U.unshift(P);let _=U.sort((ae,ue)=>{if(ae.relevance!==ue.relevance)return ue.relevance-ae.relevance;if(ae.language&&ue.language){if(D(ae.language).supersetOf===ue.language)return 1;if(D(ue.language).supersetOf===ae.language)return-1}return 0}),[re,ee]=_,C=re;return C.secondBest=ee,C}function p(I,F,P){let U=F&&n[F]||P;I.classList.add("hljs"),I.classList.add(`language-${U}`)}function b(I){let F=null,P=u(I);if(l(P))return;if(L("before:highlightElement",{el:I,language:P}),I.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",I);return}if(I.children.length>0&&(a.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(I)),a.throwUnescapedHTML))throw new Nx("One of your code blocks includes unescaped HTML.",I.innerHTML);F=I;let U=F.textContent,_=P?c(U,{language:P,ignoreIllegals:!0}):h(U);I.innerHTML=_.value,I.dataset.highlighted="yes",p(I,P,_.language),I.result={language:_.language,re:_.relevance,relevance:_.relevance},_.secondBest&&(I.secondBest={language:_.secondBest.language,relevance:_.secondBest.relevance}),L("after:highlightElement",{el:I,result:_,text:U})}function y(I){a=qL(a,I)}let g=()=>{S(),ec("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function E(){S(),ec("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let T=!1;function S(){function I(){S()}if(document.readyState==="loading"){T||window.addEventListener("DOMContentLoaded",I,!1),T=!0;return}document.querySelectorAll(a.cssSelector).forEach(b)}function v(I,F){let P=null;try{P=F(e)}catch(U){if(Za("Language definition for '{}' could not be registered.".replace("{}",I)),i)Za(U);else throw U;P=s}P.name||(P.name=I),t[I]=P,P.rawDefinition=F.bind(null,e),P.aliases&&k(P.aliases,{languageName:I})}function x(I){delete t[I];for(let F of Object.keys(n))n[F]===I&&delete n[F]}function N(){return Object.keys(t)}function D(I){return I=(I||"").toLowerCase(),t[I]||t[n[I]]}function k(I,{languageName:F}){typeof I=="string"&&(I=[I]),I.forEach(P=>{n[P.toLowerCase()]=F})}function A(I){let F=D(I);return F&&!F.disableAutodetect}function O(I){I["before:highlightBlock"]&&!I["before:highlightElement"]&&(I["before:highlightElement"]=F=>{I["before:highlightBlock"](Object.assign({block:F.el},F))}),I["after:highlightBlock"]&&!I["after:highlightElement"]&&(I["after:highlightElement"]=F=>{I["after:highlightBlock"](Object.assign({block:F.el},F))})}function G(I){O(I),r.push(I)}function z(I){let F=r.indexOf(I);F!==-1&&r.splice(F,1)}function L(I,F){let P=I;r.forEach(function(U){U[P]&&U[P](F)})}function H(I){return ec("10.7.0","highlightBlock will be removed entirely in v12.0"),ec("10.7.0","Please use highlightElement now."),b(I)}Object.assign(e,{highlight:c,highlightAuto:h,highlightAll:S,highlightElement:b,highlightBlock:H,configure:y,initHighlighting:g,initHighlightingOnLoad:E,registerLanguage:v,unregisterLanguage:x,listLanguages:N,getLanguage:D,registerAliases:k,autoDetection:A,inherit:qL,addPlugin:G,removePlugin:z}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString=oQ,e.regex={concat:Ja,lookahead:YL,either:Rx,optional:SX,anyNumberOfTimes:TX};for(let I in qg)typeof qg[I]=="object"&&GL(qg[I]);return Object.assign(e,qg),e},tc=t3({});tc.newInstance=()=>t3({});n3.exports=tc;tc.HighlightJS=tc;tc.default=tc});var DB=tn(OB=>{"use strict";var _c=ge();function qee(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Vee=typeof Object.is=="function"?Object.is:qee,Gee=_c.useState,Kee=_c.useEffect,Yee=_c.useLayoutEffect,Wee=_c.useDebugValue;function $ee(e,t){var n=t(),r=Gee({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Yee(function(){i.value=n,i.getSnapshot=t,Pv(i)&&o({inst:i})},[e,n,t]),Kee(function(){return Pv(i)&&o({inst:i}),e(function(){Pv(i)&&o({inst:i})})},[e]),Wee(n),n}function Pv(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Vee(e,n)}catch{return!0}}function jee(e,t){return t()}var Xee=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?jee:$ee;OB.useSyncExternalStore=_c.useSyncExternalStore!==void 0?_c.useSyncExternalStore:Xee});var G0=tn((VCe,IB)=>{"use strict";IB.exports=DB()});var n8=tn(t8=>{"use strict";var Ib=ge(),gse=G0();function bse(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var yse=typeof Object.is=="function"?Object.is:bse,Ese=gse.useSyncExternalStore,Tse=Ib.useRef,Sse=Ib.useEffect,xse=Ib.useMemo,vse=Ib.useDebugValue;t8.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Tse(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=xse(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return f=p}return f=h}if(p=f,yse(c,h))return p;var b=r(h);return i!==void 0&&i(p,b)?(c=h,p):(c=h,f=b)}var u=!1,c,f,d=n===void 0?null:n;return[function(){return l(t())},d===null?void 0:function(){return l(d())}]},[t,n,r,i]);var a=Ese(e,o[0],o[1]);return Sse(function(){s.hasValue=!0,s.value=a},[a]),vse(a),a}});var i8=tn((tRe,r8)=>{"use strict";r8.exports=n8()});var vF=q(Jf(),1),B_=q(ge(),1);var ht=q(ge(),1);var er=q(ge(),1);function zn(){let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,n=>n.toString(16).padStart(2,"0"));return`${t[0]}${t[1]}${t[2]}${t[3]}-${t[4]}${t[5]}-${t[6]}${t[7]}-${t[8]}${t[9]}-${t[10]}${t[11]}${t[12]}${t[13]}${t[14]}${t[15]}`}var Yk=String.raw` {0,3}((\`|~)\2{2,}).*`,QU=new RegExp(`^${Yk} -[\\s\\S]*?^ {0,3}\\1\\2*[ ]*$`,"gm"),ZU=new RegExp(`^${Yk}$`,"gm");function Wk(e,t=!1){let n=[];for(let i of e.matchAll(QU))n.push([i.index,i.index+i[0].length]);if(t){let i=o=>n.some(([s,a])=>o>=s&&o[i.index,i[0].length]);for(let i=0;in.some(([o,s])=>i>=o&&ii.status!=="running"),n=e.find(i=>i.definitionTitle!==void 0)?.definitionTitle,r=t?.title??e.find(i=>i.title!==void 0)?.title;return e.length>1?n??r:r??n}function JU(e){let t=e.find(n=>n.definitionIcon!==void 0)?.definitionIcon;return e.length===1?e[0].icon??t:t}function e7(e){let t=[],n=new Map;for(let r of e){let i=n.get(r.toolName);i||(i=[],n.set(r.toolName,i),t.push(r.toolName)),i.push(r)}return t.map(r=>{let i=n.get(r);return{toolName:r,title:Xk(i),count:i.length,settled:i.some(o=>o.status!=="running")}})}function Cu(e){let t=e.find(n=>n.status!=="running");return{title:Xk(e),titleSettled:t!==void 0,icon:JU(e),count:e.length,segments:e7(e)}}function K1(e,t){let n=new Map;if(t!=="none")for(let o of e)o.grouping&&!n.has(o.toolName)&&n.set(o.toolName,o.grouping);let r=[],i=new Map;return e.forEach(o=>{let s=n.get(o.toolName)??t,a=s==="none"?`none:${o.localId}`:s==="all"?"all":`tool:${o.toolName}`,l=i.get(a);l||(l=[],i.set(a,l),r.push(a)),l.push(o)}),r.map(o=>{let s=i.get(o),a=Cu(s);return{key:o,toolName:s[0].toolName,title:a.title,titleSettled:a.titleSettled,icon:a.icon,count:a.count,calls:s,segments:a.segments}})}function t7(e){let t={requestId:e.request_id,localId:e.request_id||`__anon-structured-${zn()}`,toolName:e.tool_name,status:"running",structured:!0};return e.title!==void 0&&(t.definitionTitle=e.title),e.icon!==void 0&&(t.definitionIcon=e.icon),e.intent!==void 0&&(t.intent=e.intent),e.arguments!==void 0&&(t.arguments=e.arguments),e.grouping!==void 0&&(t.grouping=e.grouping),t}function n7(e){let t={requestId:e.request_id,localId:e.request_id||`__anon-structured-${zn()}`,toolName:e.tool_name,status:e.status,structured:!0};if(e.title!==void 0&&(t.title=e.title),e.icon!==void 0&&(t.icon=e.icon),e.label!==void 0&&(t.label=e.label),e.value_preview!==void 0&&(t.valuePreview=e.value_preview),e.intent!==void 0&&(t.intent=e.intent),e.value!==void 0&&(t.value=e.value),e.value_type!==void 0&&(t.valueType=e.value_type),e.request_call!==void 0){let n=e.request_call;t.requestCall=Array.isArray(n)?n.join(` -`):typeof n=="string"?n:String(n)}return e.show_request!==void 0&&(t.showRequest=e.show_request),e.full_screen!==void 0&&(t.fullScreen=e.full_screen),e.open_style!==void 0&&(t.openStyle=e.open_style),e.expanded!==void 0&&(t.expanded=e.expanded),e.custom_display!==void 0&&(t.customDisplay=e.custom_display),e.footer!==void 0&&(t.footer=e.footer),e.grouping!==void 0&&(t.grouping=e.grouping),t}function Sm(e,t){let n=e.type;if(n!=="tool_request"&&n!=="tool_result")return console.warn(`Ignoring unknown structured block type: ${String(n)}`),null;let r=e.version;if(r!==1)return console.warn(`Ignoring ${n} block with unsupported version: ${String(r)}`),null;let{request_id:i,tool_name:o}=e;if(typeof i!="string"||typeof o!="string")return console.warn(`Ignoring malformed ${n} block: request_id and tool_name must be strings`),null;if(n==="tool_result"&&e.status!=="success"&&e.status!=="error")return console.warn('Ignoring malformed tool_result block: status must be "success" or "error"'),null;let s=n==="tool_request"?t7(e):n7(e);return{type:"tool_loop",content:"",contentType:"html",grouping:t,groups:K1([s],t)}}function r7(e,t,n){let r=[...e.groups.flatMap(i=>i.calls),t];return{type:"tool_loop",content:e.content,contentType:e.contentType,grouping:n,groups:K1(r,n)}}function Y1(e,t,n){let r=[...e],i=r[r.length-1];if(i?.type==="content"&&i.content.trim()===""){let s=r[r.length-2];s?.type==="tool_loop"&&(r.pop(),i=s)}let o=t.groups[0]?.calls[0];return i?.type==="tool_loop"&&o?r[r.length-1]=r7(i,o,n):r.push(t),r}function Qk(e,t){let n=e.groups.flatMap(r=>r.calls);return{...e,grouping:t,groups:K1(n,t)}}function W1(e,t){let n=new Set;for(let r of e)$k(r,n);return t&&$k(t,n),n}function $1(e,t){let n=new Map;for(let r of e)jk(r,n);return t&&jk(t,n),n}function $k(e,t){if(e.role!=="user"){for(let n of e.blocks)if(n.type==="tool_loop")for(let r of n.groups)for(let i of r.calls)i.status!=="running"&&i.requestId&&t.add(i.requestId)}}function jk(e,t){if(e.role!=="user"){for(let n of e.blocks)if(n.type==="tool_loop")for(let r of n.groups)for(let i of r.calls)i.status==="running"&&i.requestId&&i.definitionIcon!==void 0&&!t.has(i.requestId)&&t.set(i.requestId,i.definitionIcon)}}function j1(e,t){if(e.status==="running"||!e.requestId)return e;let n=t.get(e.requestId);if(n===void 0)return e;let r=e.definitionIcon??n,i=e.icon??n;return r===e.definitionIcon&&i===e.icon?e:{...e,definitionIcon:r,icon:i}}function wu(e){let t=e.type;return t==="web_search"||t==="web_search_results"||t==="web_search_citations"||t==="web_fetch"}function ed(e){if(!wu(e))return null;let t=e.version;return t!==1?(console.warn(`Ignoring ${e.type} block with unsupported version: ${String(t)}`),null):(e.type==="web_search"?typeof e.query=="string":e.type==="web_fetch"?typeof e.url=="string":Array.isArray(e.sources))?e:(console.warn(`Ignoring malformed ${e.type} block: required fields missing or mistyped`),null)}function Jk(e){if(!Array.isArray(e))return[];let t=new Set;return e.filter(n=>{if(!n||typeof n.url!="string")return!1;let r=n.url;return t.has(r)?!1:(t.add(r),!0)})}function Zk(e,t){let n=[...e?.items??[]];if(t.type==="web_search")n.push({kind:"search",query:t.query,id:t.id,sources:null,citedSources:[]});else if(t.type==="web_search_results"){let r=Jk(t.sources),i=t.search_id!==void 0?n.findIndex(o=>o.kind==="search"&&o.id===t.search_id):n.findIndex(o=>o.kind==="search"&&o.sources===null);if(i!==-1){let o=n[i];n[i]={...o,sources:r}}else n.push({kind:"search",query:"",sources:r,citedSources:[]})}else t.type==="web_fetch"&&n.push({kind:"fetch",url:t.url,status:t.status});return{type:"web_activity",items:n}}function i7(e,t){let n=new Map(e.map(r=>[r.url,r]));for(let r of t){let i=n.get(r.url);i===void 0?n.set(r.url,r):i.title===void 0&&r.title!==void 0&&n.set(r.url,{...i,title:r.title})}return[...n.values()]}function o7(e,t){let n=Jk(t.sources);if(n.length===0)return e;for(let r=e.length-1;r>=0;r--){let i=e[r];if(!X1(i))continue;let o=[...i.items];for(let s=o.length-1;s>=0;s--){let a=o[s];if(a===void 0||a.kind!=="search")continue;o[s]={...a,citedSources:i7(a.citedSources,n)};let l=[...e];return l[r]={...i,items:o},l}}return e}function X1(e){return typeof e=="object"&&e!==null&&e.type==="web_activity"}function Q1(e){return e.type==="content"&&e.content.trim()===""}function Is(e,t,n){if(t.type==="web_search_citations")return o7(e,t);let r=[...e],i=r[r.length-1];if(i!==void 0&&n(i)){let o=r[r.length-2];X1(o)&&(r.pop(),i=o)}return X1(i)?r[r.length-1]=Zk(i,t):r.push(Zk(null,t)),r}function Nu(e){if(e.type!=="html_block")return null;let t=e.version;return t!==1?(console.warn(`Ignoring html_block block with unsupported version: ${String(t)}`),null):typeof e.content!="string"?(console.warn("Ignoring malformed html_block block: content must be a string"),null):e}function Ru(e){return{type:"html_block",content:e.content,contentType:"html",htmlDeps:e.html_deps??[]}}var Bi={messages:[],streamingMessage:null,greeting:null,inputDisabled:!1,inputPlaceholder:"Enter a message...",cancelRequested:!1,enableCancel:!1,enableCancelExplicit:!1,enableUpload:!1,enableUploadExplicit:!1,toolGrouping:"tool",slashCommands:[],history:{enabled:!1,conversations:[],activeId:null},drawer:{enabled:!1,visible:!1,title:null,content:"",htmlDeps:[],width:"400px",resizable:!0}};function s7(e){return"type"in e}function sM(e,t){return e!=="user"||t==="html_block"}function td(e,t="tool"){let n=[],r;for(let a of e.segments){if(s7(a)){if(!sM(e.role,a.type)){console.warn("Ignoring non-html_block structured block in a user-role message");continue}if(wu(a)){let u=ed(a);u&&(n=Is(n,u,Q1));continue}if(a.type==="html_block"){let u=Nu(a);u&&(n.push(Ru(u)),r=Pi(r,u.html_deps));continue}let l=Sm(a,t);l&&(n=Y1(n,l,t));continue}n.push(..._m(a.content,a.content_type))}let i=n,o=e.attachments??[],s=nd(i);return{id:e.id??zn(),role:e.role,content:s,streaming:!1,icon:e.icon,...o.length>0?{attachments:o}:{},...r?{htmlDeps:r}:{},blocks:i,siblings:e.siblings}}function xm(e){return e.filter(t=>!t.isPlaceholder)}function Pi(e,t){return t?[...e??[],...t]:e}function eM(e,t){if(!e.enabled)return e;let n="content"in t,r="title"in t;return!n&&!r?e:{...e,...n?{content:t.content??"",htmlDeps:t.html_deps?[...t.html_deps]:[]}:{},...r?{title:t.title||null}:{}}}function vm(e){return e?.options.persistent!==!0&&e?.status==="visible"?{...e,status:"dismissing"}:e}function tM(e,t,n){return e?.status==="dismissed"||!t&&n?"dismissed":"visible"}var eT=/\n?([\s\S]*?)\n?<\/thinking>\n*/g;function _m(e,t){if(t==="thinking")return[{type:"thinking",content:e,streaming:!1}];if(t!=="markdown")return[{type:"content",content:e,contentType:t}];let n=Wk(e),r=[],i=0;for(let s of e.matchAll(eT)){if(n(s.index))continue;let a=e.slice(i,s.index);a&&r.push({type:"content",content:a,contentType:t});let l=s[1]??"",{cleaned:u,topic:c}=a7(l);r.push({type:"thinking",content:u,streaming:!1,...c!==null?{topic:c}:{}}),i=s.index+s[0].length}let o=e.slice(i);return o&&r.push({type:"content",content:o,contentType:t}),r}function nd(e){return e.filter(t=>t.type==="content").map(t=>t.content).join("")}function a7(e){let t=null;return{cleaned:e.replace(aM,(r,i)=>(t=i,` +`+r.stack}}var cE=Object.prototype.hasOwnProperty,eT=hn.unstable_scheduleCallback,wy=hn.unstable_cancelCallback,Bz=hn.unstable_shouldYield,Hz=hn.unstable_requestPaint,Hr=hn.unstable_now,Fz=hn.unstable_getCurrentPriorityLevel,hN=hn.unstable_ImmediatePriority,pN=hn.unstable_UserBlockingPriority,Dp=hn.unstable_NormalPriority,zz=hn.unstable_LowPriority,mN=hn.unstable_IdlePriority,Uz=hn.log,qz=hn.unstable_setDisableYieldValue,Gf=null,Fr=null;function ps(e){if(typeof Uz=="function"&&qz(e),Fr&&typeof Fr.setStrictMode=="function")try{Fr.setStrictMode(Gf,e)}catch{}}var zr=Math.clz32?Math.clz32:Kz,Vz=Math.log,Gz=Math.LN2;function Kz(e){return e>>>=0,e===0?32:31-(Vz(e)/Gz|0)|0}var Zh=256,Jh=262144,ep=4194304;function ma(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function om(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,o=e.suspendedLanes,s=e.pingedLanes;e=e.warmLanes;var a=r&134217727;return a!==0?(r=a&~o,r!==0?i=ma(r):(s&=a,s!==0?i=ma(s):n||(n=a&~e,n!==0&&(i=ma(n))))):(a=r&~o,a!==0?i=ma(a):s!==0?i=ma(s):n||(n=r&~e,n!==0&&(i=ma(n)))),i===0?0:t!==0&&t!==i&&(t&o)===0&&(o=i&-i,n=t&-t,o>=n||o===32&&(n&4194048)!==0)?t:i}function Kf(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Yz(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function gN(){var e=ep;return ep<<=1,(ep&62914560)===0&&(ep=4194304),e}function Ny(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Yf(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Wz(e,t,n,r,i,o){var s=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var a=e.entanglements,l=e.expirationTimes,u=e.hiddenUpdates;for(n=s&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Jz=/[\n"\\]/g;function ni(e){return e.replace(Jz,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function hE(e,t,n,r,i,o,s,a){e.name="",s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"?e.type=s:e.removeAttribute("type"),t!=null?s==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Jr(t)):e.value!==""+Jr(t)&&(e.value=""+Jr(t)):s!=="submit"&&s!=="reset"||e.removeAttribute("value"),t!=null?pE(e,s,Jr(t)):n!=null?pE(e,s,Jr(n)):r!=null&&e.removeAttribute("value"),i==null&&o!=null&&(e.defaultChecked=!!o),i!=null&&(e.checked=i&&typeof i!="function"&&typeof i!="symbol"),a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"?e.name=""+Jr(a):e.removeAttribute("name")}function _N(e,t,n,r,i,o,s,a){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||n!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){dE(e);return}n=n!=null?""+Jr(n):"",t=t!=null?""+Jr(t):n,a||t===e.value||(e.value=t),e.defaultValue=t}r=r??i,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=a?e.checked:!!r,e.defaultChecked=!!r,s!=null&&typeof s!="function"&&typeof s!="symbol"&&typeof s!="boolean"&&(e.name=s),dE(e)}function pE(e,t,n){t==="number"&&Ip(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function ru(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),gE=!1;if(xo)try{Fl={},Object.defineProperty(Fl,"passive",{get:function(){gE=!0}}),window.addEventListener("test",Fl,Fl),window.removeEventListener("test",Fl,Fl)}catch{gE=!1}var Fl,ms=null,sT=null,bp=null;function kN(){if(bp)return bp;var e,t=sT,n=t.length,r,i="value"in ms?ms.value:ms.textContent,o=i.length;for(e=0;e=gf),jC=" ",XC=!1;function ON(e,t){switch(e){case"keyup":return w9.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function DN(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var $l=!1;function R9(e,t){switch(e){case"compositionend":return DN(t);case"keypress":return t.which!==32?null:(XC=!0,jC);case"textInput":return e=t.data,e===jC&&XC?null:e;default:return null}}function k9(e,t){if($l)return e==="compositionend"||!lT&&ON(e,t)?(e=kN(),bp=sT=ms=null,$l=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=ew(n)}}function BN(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?BN(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function HN(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ip(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ip(e.document)}return t}function uT(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var H9=xo&&"documentMode"in document&&11>=document.documentMode,jl=null,bE=null,yf=null,yE=!1;function nw(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;yE||jl==null||jl!==Ip(r)||(r=jl,"selectionStart"in r&&uT(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),yf&&Of(yf,r)||(yf=r,r=Zp(bE,"onSelect"),0>=s,i-=s,ki=1<<32-zr(t)+i|n<D?(k=N,N=null):k=N.sibling;var A=d(g,N,T[D],S);if(A===null){N===null&&(N=k);break}e&&N&&A.alternate===null&&t(g,N),E=o(A,E,D),v===null?x=A:v.sibling=A,v=A,N=k}if(D===T.length)return n(g,N),Je&&mo(g,D),x;if(N===null){for(;DD?(k=N,N=null):k=N.sibling;var P=d(g,N,A.value,S);if(P===null){N===null&&(N=k);break}e&&N&&P.alternate===null&&t(g,N),E=o(P,E,D),v===null?x=P:v.sibling=P,v=P,N=k}if(A.done)return n(g,N),Je&&mo(g,D),x;if(N===null){for(;!A.done;D++,A=T.next())A=f(g,A.value,S),A!==null&&(E=o(A,E,D),v===null?x=A:v.sibling=A,v=A);return Je&&mo(g,D),x}for(N=r(N);!A.done;D++,A=T.next())A=h(N,g,D,A.value,S),A!==null&&(e&&A.alternate!==null&&N.delete(A.key===null?D:A.key),E=o(A,E,D),v===null?x=A:v.sibling=A,v=A);return e&&N.forEach(function(G){return t(g,G)}),Je&&mo(g,D),x}function y(g,E,T,S){if(typeof T=="object"&&T!==null&&T.type===Gl&&T.key===null&&(T=T.props.children),typeof T=="object"&&T!==null){switch(T.$$typeof){case Qh:e:{for(var x=T.key;E!==null;){if(E.key===x){if(x=T.type,x===Gl){if(E.tag===7){n(g,E.sibling),S=i(E,T.props.children),S.return=g,g=S;break e}}else if(E.elementType===x||typeof x=="object"&&x!==null&&x.$$typeof===ls&&ga(x)===E.type){n(g,E.sibling),S=i(E,T.props),sf(S,T),S.return=g,g=S;break e}n(g,E);break}else t(g,E);E=E.sibling}T.type===Gl?(S=Ea(T.props.children,g.mode,S,T.key),S.return=g,g=S):(S=Ep(T.type,T.key,T.props,null,g.mode,S),sf(S,T),S.return=g,g=S)}return s(g);case ff:e:{for(x=T.key;E!==null;){if(E.key===x)if(E.tag===4&&E.stateNode.containerInfo===T.containerInfo&&E.stateNode.implementation===T.implementation){n(g,E.sibling),S=i(E,T.children||[]),S.return=g,g=S;break e}else{n(g,E);break}else t(g,E);E=E.sibling}S=Py(T,g.mode,S),S.return=g,g=S}return s(g);case ls:return T=ga(T),y(g,E,T,S)}if(df(T))return p(g,E,T,S);if(rf(T)){if(x=rf(T),typeof x!="function")throw Error(W(150));return T=x.call(T),b(g,E,T,S)}if(typeof T.then=="function")return y(g,E,sp(T),S);if(T.$$typeof===bo)return y(g,E,op(g,T),S);ap(g,T)}return typeof T=="string"&&T!==""||typeof T=="number"||typeof T=="bigint"?(T=""+T,E!==null&&E.tag===6?(n(g,E.sibling),S=i(E,T),S.return=g,g=S):(n(g,E),S=Ly(T,g.mode,S),S.return=g,g=S),s(g)):n(g,E)}return function(g,E,T,S){try{Lf=0;var x=y(g,E,T,S);return su=null,x}catch(N){if(N===xu||N===fm)throw N;var v=Pr(29,N,null,g.mode);return v.lanes=S,v.return=g,v}finally{}}}var _a=JN(!0),eR=JN(!1),us=!1;function yT(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function _E(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ss(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function vs(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(ot&2)!==0){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Pp(e),KN(e,null,n),t}return cm(e,r,t,n),Pp(e)}function Tf(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yN(e,n)}}function Hy(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,o=null;if(n=n.firstBaseUpdate,n!==null){do{var s={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};o===null?i=o=s:o=o.next=s,n=n.next}while(n!==null);o===null?i=o=t:o=o.next=t}else i=o=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:o,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var CE=!1;function Sf(){if(CE){var e=ou;if(e!==null)throw e}}function vf(e,t,n,r){CE=!1;var i=e.updateQueue;us=!1;var o=i.firstBaseUpdate,s=i.lastBaseUpdate,a=i.shared.pending;if(a!==null){i.shared.pending=null;var l=a,u=l.next;l.next=null,s===null?o=u:s.next=u,s=l;var c=e.alternate;c!==null&&(c=c.updateQueue,a=c.lastBaseUpdate,a!==s&&(a===null?c.firstBaseUpdate=u:a.next=u,c.lastBaseUpdate=l))}if(o!==null){var f=i.baseState;s=0,c=u=l=null,a=o;do{var d=a.lane&-536870913,h=d!==a.lane;if(h?(je&d)===d:(r&d)===d){d!==0&&d===du&&(CE=!0),c!==null&&(c=c.next={lane:0,tag:a.tag,payload:a.payload,callback:null,next:null});e:{var p=e,b=a;d=t;var y=n;switch(b.tag){case 1:if(p=b.payload,typeof p=="function"){f=p.call(y,f,d);break e}f=p;break e;case 3:p.flags=p.flags&-65537|128;case 0:if(p=b.payload,d=typeof p=="function"?p.call(y,f,d):p,d==null)break e;f=wt({},f,d);break e;case 2:us=!0}}d=a.callback,d!==null&&(e.flags|=64,h&&(e.flags|=8192),h=i.callbacks,h===null?i.callbacks=[d]:h.push(d))}else h={lane:d,tag:a.tag,payload:a.payload,callback:a.callback,next:null},c===null?(u=c=h,l=f):c=c.next=h,s|=d;if(a=a.next,a===null){if(a=i.shared.pending,a===null)break;h=a,a=h.next,h.next=null,i.lastBaseUpdate=h,i.shared.pending=null}}while(!0);c===null&&(l=f),i.baseState=l,i.firstBaseUpdate=u,i.lastBaseUpdate=c,o===null&&(i.shared.lanes=0),Ms|=s,e.lanes=s,e.memoizedState=f}}function tR(e,t){if(typeof e!="function")throw Error(W(191,e));e.call(t)}function nR(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;eo?o:8;var s=Ie.T,a={};Ie.T=a,MT(e,!1,t,n);try{var l=i(),u=Ie.S;if(u!==null&&u(a,l),l!==null&&typeof l=="object"&&typeof l.then=="function"){var c=W9(l,r);xf(e,t,c,Ur(e))}else xf(e,t,r,Ur(e))}catch(f){xf(e,t,{then:function(){},status:"rejected",reason:f},Ur())}finally{st.p=o,s!==null&&a.types!==null&&(s.types=a.types),Ie.T=s}}function J9(){}function ME(e,t,n,r){if(e.tag!==5)throw Error(W(476));var i=wR(e).queue;CR(e,i,t,ya,n===null?J9:function(){return NR(e),n(r)})}function wR(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ya,baseState:ya,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_o,lastRenderedState:ya},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_o,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function NR(e){var t=wR(e);t.next===null&&(t=e.alternate.memoizedState),xf(e,t.next.queue,{},Ur())}function kT(){return Nn(zf)}function RR(){return Yt().memoizedState}function kR(){return Yt().memoizedState}function eU(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Ur();e=Ss(n);var r=vs(t,e,n);r!==null&&(br(r,t,n),Tf(r,t,n)),t={cache:mT()},e.payload=t;return}t=t.return}}function tU(e,t,n){var r=Ur();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},mm(e)?OR(t,n):(n=fT(e,t,n,r),n!==null&&(br(n,e,r),DR(n,t,r)))}function MR(e,t,n){var r=Ur();xf(e,t,n,r)}function xf(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(mm(e))OR(t,i);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var s=t.lastRenderedState,a=o(s,n);if(i.hasEagerState=!0,i.eagerState=a,qr(a,s))return cm(e,t,i,0),Et===null&&um(),!1}catch{}finally{}if(n=fT(e,t,i,r),n!==null)return br(n,e,r),DR(n,t,r),!0}return!1}function MT(e,t,n,r){if(r={lane:2,revertLane:zT(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},mm(e)){if(t)throw Error(W(479))}else t=fT(e,n,r,2),t!==null&&br(t,e,2)}function mm(e){var t=e.alternate;return e===ze||t!==null&&t===ze}function OR(e,t){au=qp=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function DR(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,yN(e,n)}}var Bf={readContext:Nn,use:hm,useCallback:Ut,useContext:Ut,useEffect:Ut,useImperativeHandle:Ut,useLayoutEffect:Ut,useInsertionEffect:Ut,useMemo:Ut,useReducer:Ut,useRef:Ut,useState:Ut,useDebugValue:Ut,useDeferredValue:Ut,useTransition:Ut,useSyncExternalStore:Ut,useId:Ut,useHostTransitionStatus:Ut,useFormState:Ut,useActionState:Ut,useOptimistic:Ut,useMemoCache:Ut,useCacheRefresh:Ut};Bf.useEffectEvent=Ut;var IR={readContext:Nn,use:hm,useCallback:function(e,t){return Jn().memoizedState=[e,t===void 0?null:t],e},useContext:Nn,useEffect:bw,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,vp(4194308,4,SR.bind(null,t,e),n)},useLayoutEffect:function(e,t){return vp(4194308,4,e,t)},useInsertionEffect:function(e,t){vp(4,2,e,t)},useMemo:function(e,t){var n=Jn();t=t===void 0?null:t;var r=e();if(Ca){ps(!0);try{e()}finally{ps(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Jn();if(n!==void 0){var i=n(t);if(Ca){ps(!0);try{n(t)}finally{ps(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=tU.bind(null,ze,e),[r.memoizedState,e]},useRef:function(e){var t=Jn();return e={current:e},t.memoizedState=e},useState:function(e){e=RE(e);var t=e.queue,n=MR.bind(null,ze,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:NT,useDeferredValue:function(e,t){var n=Jn();return RT(n,e,t)},useTransition:function(){var e=RE(!1);return e=CR.bind(null,ze,e.queue,!0,!1),Jn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=ze,i=Jn();if(Je){if(n===void 0)throw Error(W(407));n=n()}else{if(n=t(),Et===null)throw Error(W(349));(je&127)!==0||aR(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,bw(uR.bind(null,r,o,e),[e]),r.flags|=2048,pu(9,{destroy:void 0},lR.bind(null,r,o,n,t),null),n},useId:function(){var e=Jn(),t=Et.identifierPrefix;if(Je){var n=Mi,r=ki;n=(r&~(1<<32-zr(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Vp++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof r.is=="string"?s.createElement("select",{is:r.is}):s.createElement("select"),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is=="string"?s.createElement(i,{is:r.is}):s.createElement(i)}}o[Cn]=t,o[yr]=r;e:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break e;for(;s.sibling===null;){if(s.return===null||s.return===t)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;e:switch(Rn(o,i,r),i){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&co(t)}}return _t(t),Yy(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&co(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(W(166));if(e=Es.current,zl(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=wn,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Cn]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||Mk(e.nodeValue,n)),e||Rs(t,!0)}else e=Jp(e).createTextNode(r),e[Cn]=t,t.stateNode=e}return _t(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=zl(t),n!==null){if(e===null){if(!r)throw Error(W(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(W(557));e[Cn]=t}else xa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;_t(t),e=!1}else n=By(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Lr(t),t):(Lr(t),null);if((t.flags&128)!==0)throw Error(W(558))}return _t(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=zl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(W(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(W(317));i[Cn]=t}else xa(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;_t(t),i=!1}else i=By(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Lr(t),t):(Lr(t),null)}return Lr(t),(t.flags&128)!==0?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),lp(t,t.updateQueue),_t(t),null);case 4:return uu(),e===null&&UT(t.stateNode.containerInfo),_t(t),null;case 10:return So(t.type),_t(t),null;case 19:if(yn(Kt),r=t.memoizedState,r===null)return _t(t),null;if(i=(t.flags&128)!==0,o=r.rendering,o===null)if(i)af(r,!1);else{if(qt!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=Up(e),o!==null){for(t.flags|=128,af(r,!1),e=o.updateQueue,t.updateQueue=e,lp(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)YN(n,e),n=n.sibling;return Tt(Kt,Kt.current&1|2),Je&&mo(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Hr()>Wp&&(t.flags|=128,i=!0,af(r,!1),t.lanes=4194304)}else{if(!i)if(e=Up(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,lp(t,e),af(r,!0),r.tail===null&&r.tailMode==="hidden"&&!o.alternate&&!Je)return _t(t),null}else 2*Hr()-r.renderingStartTime>Wp&&n!==536870912&&(t.flags|=128,i=!0,af(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e!==null?e.sibling=o:t.child=o,r.last=o)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Hr(),e.sibling=null,n=Kt.current,Tt(Kt,i?n&1|2:n&1),Je&&mo(t,r.treeForkCount),e):(_t(t),null);case 22:case 23:return Lr(t),ET(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(n&536870912)!==0&&(t.flags&128)===0&&(_t(t),t.subtreeFlags&6&&(t.flags|=8192)):_t(t),n=t.updateQueue,n!==null&&lp(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&yn(Ta),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),So(on),_t(t),null;case 25:return null;case 30:return null}throw Error(W(156,t.tag))}function sU(e,t){switch(pT(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return So(on),uu(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Op(t),null;case 31:if(t.memoizedState!==null){if(Lr(t),t.alternate===null)throw Error(W(340));xa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Lr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(W(340));xa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return yn(Kt),null;case 4:return uu(),null;case 10:return So(t.type),null;case 22:case 23:return Lr(t),ET(),e!==null&&yn(Ta),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return So(on),null;case 25:return null;default:return null}}function YR(e,t){switch(pT(t),t.tag){case 3:So(on),uu();break;case 26:case 27:case 5:Op(t);break;case 4:uu();break;case 31:t.memoizedState!==null&&Lr(t);break;case 13:Lr(t);break;case 19:yn(Kt);break;case 10:So(t.type);break;case 22:case 23:Lr(t),ET(),e!==null&&yn(Ta);break;case 24:So(on)}}function Qf(e,t){try{var n=t.updateQueue,r=n!==null?n.lastEffect:null;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var o=n.create,s=n.inst;r=o(),s.destroy=r}n=n.next}while(n!==i)}}catch(a){ht(t,t.return,a)}}function ks(e,t,n){try{var r=t.updateQueue,i=r!==null?r.lastEffect:null;if(i!==null){var o=i.next;r=o;do{if((r.tag&e)===e){var s=r.inst,a=s.destroy;if(a!==void 0){s.destroy=void 0,i=t;var l=n,u=a;try{u()}catch(c){ht(i,l,c)}}}r=r.next}while(r!==o)}}catch(c){ht(t,t.return,c)}}function WR(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{nR(t,n)}catch(r){ht(e,e.return,r)}}}function $R(e,t,n){n.props=wa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){ht(e,t,r)}}function Af(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(i){ht(e,t,i)}}function Oi(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(i){ht(e,t,i)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(i){ht(e,t,i)}else n.current=null}function jR(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(i){ht(e,e.return,i)}}function Wy(e,t,n){try{var r=e.stateNode;CU(r,e.type,n,t),r[yr]=t}catch(i){ht(e,e.return,i)}}function XR(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Ds(e.type)||e.tag===4}function $y(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||XR(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Ds(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function PE(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=yo));else if(r!==4&&(r===27&&Ds(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(PE(e,t,n),e=e.sibling;e!==null;)PE(e,t,n),e=e.sibling}function Yp(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Ds(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Yp(e,t,n),e=e.sibling;e!==null;)Yp(e,t,n),e=e.sibling}function QR(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Rn(t,r,n),t[Cn]=e,t[yr]=n}catch(o){ht(e,e.return,o)}}var go=!1,rn=!1,jy=!1,kw=typeof WeakSet=="function"?WeakSet:Set,gn=null;function aU(e,t){if(e=e.containerInfo,VE=rm,e=HN(e),uT(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,c=0,f=e,d=null;t:for(;;){for(var h;f!==n||i!==0&&f.nodeType!==3||(a=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(h=f.firstChild)!==null;)d=f,f=h;for(;;){if(f===e)break t;if(d===n&&++u===i&&(a=s),d===o&&++c===r&&(l=s),(h=f.nextSibling)!==null)break;f=d,d=f.parentNode}f=h}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(GE={focusedElem:e,selectionRange:n},rm=!1,gn=t;gn!==null;)if(t=gn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,gn=e;else for(;gn!==null;){switch(t=gn,o=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),Rn(o,r,n),o[Cn]=e,bn(o),r=o;break e;case"link":var s=Zw("link","href",i).get(r+(n.href||""));if(s){for(var a=0;ay&&(s=y,y=b,b=s);var g=tw(a,b),E=tw(a,y);if(g&&E&&(h.rangeCount!==1||h.anchorNode!==g.node||h.anchorOffset!==g.offset||h.focusNode!==E.node||h.focusOffset!==E.offset)){var T=f.createRange();T.setStart(g.node,g.offset),h.removeAllRanges(),b>y?(h.addRange(T),h.extend(E.node,E.offset)):(T.setEnd(E.node,E.offset),h.addRange(T))}}}}for(f=[],h=a;h=h.parentNode;)h.nodeType===1&&f.push({element:h,left:h.scrollLeft,top:h.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;an?32:n,Ie.T=null,n=FE,FE=null;var o=As,s=vo;if(dn=0,gu=As=null,vo=0,(ot&6)!==0)throw Error(W(331));var a=ot;if(ot|=4,lk(o.current),ok(o,o.current,s,n),ot=a,Zf(0,!1),Fr&&typeof Fr.onPostCommitFiberRoot=="function")try{Fr.onPostCommitFiberRoot(Gf,o)}catch{}return!0}finally{st.p=i,Ie.T=r,xk(e,t)}}function Iw(e,t,n){t=ri(n,t),t=DE(e.stateNode,t,2),e=vs(e,t,2),e!==null&&(Yf(e,2),Li(e))}function ht(e,t,n){if(e.tag===3)Iw(e,e,n);else for(;t!==null;){if(t.tag===3){Iw(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(xs===null||!xs.has(r))){e=ri(n,e),n=FR(2),r=vs(t,n,2),r!==null&&(zR(n,r,t,e),Yf(r,2),Li(r));break}}t=t.return}}function Qy(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new cU;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(BT=!0,i.add(n),e=mU.bind(null,e,t,n),t.then(e,e))}function mU(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Et===e&&(je&n)===n&&(qt===4||qt===3&&(je&62914560)===je&&300>Hr()-gm?(ot&2)===0&&bu(e,0):HT|=n,mu===je&&(mu=0)),Li(e)}function _k(e,t){t===0&&(t=gN()),e=Ma(e,t),e!==null&&(Yf(e,t),Li(e))}function gU(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),_k(e,n)}function bU(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(W(314))}r!==null&&r.delete(t),_k(e,n)}function yU(e,t){return eT(e,t)}var Xp=null,Vl=null,UE=!1,Qp=!1,Zy=!1,ys=0;function Li(e){e!==Vl&&e.next===null&&(Vl===null?Xp=Vl=e:Vl=Vl.next=e),Qp=!0,UE||(UE=!0,TU())}function Zf(e,t){if(!Zy&&Qp){Zy=!0;do for(var n=!1,r=Xp;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var o=0;else{var s=r.suspendedLanes,a=r.pingedLanes;o=(1<<31-zr(42|e)+1)-1,o&=i&~(s&~a),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(n=!0,Lw(r,o))}else o=je,o=om(r,r===Et?o:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(o&3)===0||Kf(r,o)||(n=!0,Lw(r,o));r=r.next}while(n);Zy=!1}}function EU(){Ck()}function Ck(){Qp=UE=!1;var e=0;ys!==0&&NU()&&(e=ys);for(var t=Hr(),n=null,r=Xp;r!==null;){var i=r.next,o=wk(r,t);o===0?(r.next=null,n===null?Xp=i:n.next=i,i===null&&(Vl=n)):(n=r,(e!==0||(o&3)!==0)&&(Qp=!0)),r=i}dn!==0&&dn!==5||Zf(e,!1),ys!==0&&(ys=0)}function wk(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,o=e.pendingLanes&-62914561;0a)break;var c=l.transferSize,f=l.initiatorType;c&&qw(f)&&(l=l.responseEnd,s+=c*(l"u"?null:document;function Pk(e,t,n){var r=_u;if(r&&typeof t=="string"&&t){var i=ni(t);i='link[rel="'+e+'"][href="'+i+'"]',typeof n=="string"&&(i+='[crossorigin="'+n+'"]'),jw.has(i)||(jw.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement("link"),Rn(t,"link",e),bn(t),r.head.appendChild(t)))}}function BU(e){No.D(e),Pk("dns-prefetch",e,null)}function HU(e,t){No.C(e,t),Pk("preconnect",e,t)}function FU(e,t,n){No.L(e,t,n);var r=_u;if(r&&e&&t){var i='link[rel="preload"][as="'+ni(t)+'"]';t==="image"&&n&&n.imageSrcSet?(i+='[imagesrcset="'+ni(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(i+='[imagesizes="'+ni(n.imageSizes)+'"]')):i+='[href="'+ni(e)+'"]';var o=i;switch(t){case"style":o=yu(e);break;case"script":o=Cu(e)}ai.has(o)||(e=wt({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),ai.set(o,e),r.querySelector(i)!==null||t==="style"&&r.querySelector(Jf(o))||t==="script"&&r.querySelector(ed(o))||(t=r.createElement("link"),Rn(t,"link",e),bn(t),r.head.appendChild(t)))}}function zU(e,t){No.m(e,t);var n=_u;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",i='link[rel="modulepreload"][as="'+ni(r)+'"][href="'+ni(e)+'"]',o=i;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=Cu(e)}if(!ai.has(o)&&(e=wt({rel:"modulepreload",href:e},t),ai.set(o,e),n.querySelector(i)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(ed(o)))return}r=n.createElement("link"),Rn(r,"link",e),bn(r),n.head.appendChild(r)}}}function UU(e,t,n){No.S(e,t,n);var r=_u;if(r&&e){var i=nu(r).hoistableStyles,o=yu(e);t=t||"default";var s=i.get(o);if(!s){var a={loading:0,preload:null};if(s=r.querySelector(Jf(o)))a.loading=5;else{e=wt({rel:"stylesheet",href:e,"data-precedence":t},n),(n=ai.get(o))&&qT(e,n);var l=s=r.createElement("link");bn(l),Rn(l,"link",e),l._p=new Promise(function(u,c){l.onload=u,l.onerror=c}),l.addEventListener("load",function(){a.loading|=1}),l.addEventListener("error",function(){a.loading|=2}),a.loading|=4,Cp(s,t,r)}s={type:"stylesheet",instance:s,count:1,state:a},i.set(o,s)}}}function qU(e,t){No.X(e,t);var n=_u;if(n&&e){var r=nu(n).hoistableScripts,i=Cu(e),o=r.get(i);o||(o=n.querySelector(ed(i)),o||(e=wt({src:e,async:!0},t),(t=ai.get(i))&&VT(e,t),o=n.createElement("script"),bn(o),Rn(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},r.set(i,o))}}function VU(e,t){No.M(e,t);var n=_u;if(n&&e){var r=nu(n).hoistableScripts,i=Cu(e),o=r.get(i);o||(o=n.querySelector(ed(i)),o||(e=wt({src:e,async:!0,type:"module"},t),(t=ai.get(i))&&VT(e,t),o=n.createElement("script"),bn(o),Rn(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},r.set(i,o))}}function Xw(e,t,n,r){var i=(i=Es.current)?em(i):null;if(!i)throw Error(W(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=yu(n.href),n=nu(i).hoistableStyles,r=n.get(t),r||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=yu(n.href);var o=nu(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),ai.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},ai.set(e,n),o||GU(i,e,n,s.state))),t&&r===null)throw Error(W(528,""));return s}if(t&&r!==null)throw Error(W(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Cu(n),n=nu(i).hoistableScripts,r=n.get(t),r||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(W(444,e))}}function yu(e){return'href="'+ni(e)+'"'}function Jf(e){return'link[rel="stylesheet"]['+e+"]"}function Bk(e){return wt({},e,{"data-precedence":e.precedence,precedence:null})}function GU(e,t,n,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Rn(t,"link",n),bn(t),e.head.appendChild(t))}function Cu(e){return'[src="'+ni(e)+'"]'}function ed(e){return"script[async]"+e}function Qw(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+ni(n.href)+'"]');if(r)return t.instance=r,bn(r),r;var i=wt({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),bn(r),Rn(r,"style",i),Cp(r,n.precedence,e),t.instance=r;case"stylesheet":i=yu(n.href);var o=e.querySelector(Jf(i));if(o)return t.state.loading|=4,t.instance=o,bn(o),o;r=Bk(n),(i=ai.get(i))&&qT(r,i),o=(e.ownerDocument||e).createElement("link"),bn(o);var s=o;return s._p=new Promise(function(a,l){s.onload=a,s.onerror=l}),Rn(o,"link",r),t.state.loading|=4,Cp(o,n.precedence,e),t.instance=o;case"script":return o=Cu(n.src),(i=e.querySelector(ed(o)))?(t.instance=i,bn(i),i):(r=n,(i=ai.get(o))&&(r=wt({},n),VT(r,i)),e=e.ownerDocument||e,i=e.createElement("script"),bn(i),Rn(i,"link",r),e.head.appendChild(i),t.instance=i);case"void":return null;default:throw Error(W(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,Cp(r,n.precedence,e));return t.instance}function Cp(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),i=r.length?r[r.length-1]:null,o=i,s=0;s title"):null)}function KU(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Hk(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function YU(e,t,n,r){if(n.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var i=yu(r.href),o=t.querySelector(Jf(i));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=tm.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=o,bn(o);return}o=t.ownerDocument||t,r=Bk(r),(i=ai.get(i))&&qT(r,i),o=o.createElement("link"),bn(o);var s=o;s._p=new Promise(function(a,l){s.onload=a,s.onerror=l}),Rn(o,"link",r),n.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=tm.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var nE=0;function WU(e,t){return e.stylesheets&&e.count===0&&Np(e,e.stylesheets),0nE?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function tm(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Np(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var nm=null;function Np(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,nm=new Map,t.forEach($U,e),nm=null,tm.call(e))}function $U(e,t){if(!(t.state.loading&4)){var n=nm.get(e);if(n)var r=n.get(null);else{n=new Map,nm.set(e,n);for(var i=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";function Wk(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Wk)}catch(e){console.error(e)}}Wk(),$k.exports=Yk()});var EM=tn(km=>{"use strict";var C7=Symbol.for("react.transitional.element"),w7=Symbol.for("react.fragment");function yM(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var i in t)i!=="key"&&(n[i]=t[i])}else n=t;return t=n.ref,{$$typeof:C7,type:e,key:r,ref:t!==void 0?t:null,props:n}}km.Fragment=w7;km.jsx=yM;km.jsxs=yM});var ie=tn((eue,TM)=>{"use strict";TM.exports=EM()});var DM=tn((sce,OM)=>{"use strict";var NM=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,B7=/\n/g,H7=/^\s*/,F7=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,z7=/^:\s*/,U7=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,q7=/^[;\s]*/,V7=/^\s+|\s+$/g,G7=` +`,RM="/",kM="*",Pa="",K7="comment",Y7="declaration";function W7(e,t){if(typeof e!="string")throw new TypeError("First argument must be a string");if(!e)return[];t=t||{};var n=1,r=1;function i(p){var b=p.match(B7);b&&(n+=b.length);var y=p.lastIndexOf(G7);r=~y?p.length-y:r+p.length}function o(){var p={line:n,column:r};return function(b){return b.position=new s(p),u(),b}}function s(p){this.start=p,this.end={line:n,column:r},this.source=t.source}s.prototype.content=e;function a(p){var b=new Error(t.source+":"+n+":"+r+": "+p);if(b.reason=p,b.filename=t.source,b.line=n,b.column=r,b.source=e,!t.silent)throw b}function l(p){var b=p.exec(e);if(b){var y=b[0];return i(y),e=e.slice(y.length),b}}function u(){l(H7)}function c(p){var b;for(p=p||[];b=f();)b!==!1&&p.push(b);return p}function f(){var p=o();if(!(RM!=e.charAt(0)||kM!=e.charAt(1))){for(var b=2;Pa!=e.charAt(b)&&(kM!=e.charAt(b)||RM!=e.charAt(b+1));)++b;if(b+=2,Pa===e.charAt(b-1))return a("End of comment missing");var y=e.slice(2,b-2);return r+=2,i(y),e=e.slice(b),r+=2,p({type:K7,comment:y})}}function d(){var p=o(),b=l(F7);if(b){if(f(),!l(z7))return a("property missing ':'");var y=l(U7),g=p({type:Y7,property:MM(b[0].replace(NM,Pa)),value:y?MM(y[0].replace(NM,Pa)):Pa});return l(q7),g}}function h(){var p=[];c(p);for(var b;b=d();)b!==!1&&(p.push(b),c(p));return p}return u(),h()}function MM(e){return e?e.replace(V7,Pa):Pa}OM.exports=W7});var IM=tn(ad=>{"use strict";var $7=ad&&ad.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ad,"__esModule",{value:!0});ad.default=X7;var j7=$7(DM());function X7(e,t){let n=null;if(!e||typeof e!="string")return n;let r=(0,j7.default)(e),i=typeof t=="function";return r.forEach(o=>{if(o.type!=="declaration")return;let{property:s,value:a}=o;i?t(s,a,o):a&&(n=n||{},n[s]=a)}),n}});var PM=tn(Lm=>{"use strict";Object.defineProperty(Lm,"__esModule",{value:!0});Lm.camelCase=void 0;var Q7=/^--[a-zA-Z0-9_-]+$/,Z7=/-([a-z])/g,J7=/^[^-]+$/,eq=/^-(webkit|moz|ms|o|khtml)-/,tq=/^-(ms)-/,nq=function(e){return!e||J7.test(e)||Q7.test(e)},rq=function(e,t){return t.toUpperCase()},LM=function(e,t){return"".concat(t,"-")},iq=function(e,t){return t===void 0&&(t={}),nq(e)?e:(e=e.toLowerCase(),t.reactCompat?e=e.replace(tq,LM):e=e.replace(eq,LM),e.replace(Z7,rq))};Lm.camelCase=iq});var HM=tn((C1,BM)=>{"use strict";var oq=C1&&C1.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},sq=oq(IM()),aq=PM();function _1(e,t){var n={};return!e||typeof e!="string"||(0,sq.default)(e,function(r,i){r&&i&&(n[(0,aq.camelCase)(r,t)]=i)}),n}_1.default=_1;BM.exports=_1});var T2=tn((the,E2)=>{"use strict";var cg=Object.prototype.hasOwnProperty,y2=Object.prototype.toString,d2=Object.defineProperty,h2=Object.getOwnPropertyDescriptor,p2=function(t){return typeof Array.isArray=="function"?Array.isArray(t):y2.call(t)==="[object Array]"},m2=function(t){if(!t||y2.call(t)!=="[object Object]")return!1;var n=cg.call(t,"constructor"),r=t.constructor&&t.constructor.prototype&&cg.call(t.constructor.prototype,"isPrototypeOf");if(t.constructor&&!n&&!r)return!1;var i;for(i in t);return typeof i>"u"||cg.call(t,i)},g2=function(t,n){d2&&n.name==="__proto__"?d2(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},b2=function(t,n){if(n==="__proto__")if(cg.call(t,n)){if(h2)return h2(t,n).value}else return;return t[n]};E2.exports=function e(){var t,n,r,i,o,s,a=arguments[0],l=1,u=arguments.length,c=!1;for(typeof a=="boolean"&&(c=a,a=arguments[1]||{},l=2),(a==null||typeof a!="object"&&typeof a!="function")&&(a={});l{function $L(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(t=>{let n=e[t],r=typeof n;(r==="object"||r==="function")&&!Object.isFrozen(n)&&$L(n)}),e}var Kg=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function jL(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Ws(e,...t){let n=Object.create(null);for(let r in e)n[r]=e[r];return t.forEach(function(r){for(let i in r)n[i]=r[i]}),n}var AX="",qL=e=>!!e.scope,_X=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,i)=>`${r}${"_".repeat(i+1)}`)].join(" ")}return`${t}${e}`},Nv=class{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=jL(t)}openNode(t){if(!qL(t))return;let n=_X(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){qL(t)&&(this.buffer+=AX)}value(){return this.buffer}span(t){this.buffer+=``}},VL=(e={})=>{let t={children:[]};return Object.assign(t,e),t},Rv=class e{constructor(){this.rootNode=VL(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){let n=VL({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{e._collapse(n)}))}},kv=class extends Rv{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){let r=t.root;n&&(r.scope=`language:${n}`),this.add(r)}toHTML(){return new Nv(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function zd(e){return e?typeof e=="string"?e:e.source:null}function XL(e){return el("(?=",e,")")}function CX(e){return el("(?:",e,")*")}function wX(e){return el("(?:",e,")?")}function el(...e){return e.map(n=>zd(n)).join("")}function NX(e){let t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Ov(...e){return"("+(NX(e).capture?"":"?:")+e.map(r=>zd(r)).join("|")+")"}function QL(e){return new RegExp(e.toString()+"|").exec("").length-1}function RX(e,t){let n=e&&e.exec(t);return n&&n.index===0}var kX=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Dv(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;let i=n,o=zd(r),s="";for(;o.length>0;){let a=kX.exec(o);if(!a){s+=o;break}s+=o.substring(0,a.index),o=o.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?s+="\\"+String(Number(a[1])+i):(s+=a[0],a[0]==="("&&n++)}return s}).map(r=>`(${r})`).join(t)}var MX=/\b\B/,ZL="[a-zA-Z]\\w*",Iv="[a-zA-Z_]\\w*",JL="\\b\\d+(\\.\\d+)?",e3="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",t3="\\b(0b[01]+)",OX="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",DX=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=el(t,/.*\b/,e.binary,/\b.*/)),Ws({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},Ud={begin:"\\\\[\\s\\S]",relevance:0},IX={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ud]},LX={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ud]},PX={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/},Wg=function(e,t,n={}){let r=Ws({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=Ov("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:el(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},BX=Wg("//","$"),HX=Wg("/\\*","\\*/"),FX=Wg("#","$"),zX={scope:"number",begin:JL,relevance:0},UX={scope:"number",begin:e3,relevance:0},qX={scope:"number",begin:t3,relevance:0},VX={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ud,{begin:/\[/,end:/\]/,relevance:0,contains:[Ud]}]},GX={scope:"title",begin:ZL,relevance:0},KX={scope:"title",begin:Iv,relevance:0},YX={begin:"\\.\\s*"+Iv,relevance:0},WX=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})},Gg=Object.freeze({__proto__:null,APOS_STRING_MODE:IX,BACKSLASH_ESCAPE:Ud,BINARY_NUMBER_MODE:qX,BINARY_NUMBER_RE:t3,COMMENT:Wg,C_BLOCK_COMMENT_MODE:HX,C_LINE_COMMENT_MODE:BX,C_NUMBER_MODE:UX,C_NUMBER_RE:e3,END_SAME_AS_BEGIN:WX,HASH_COMMENT_MODE:FX,IDENT_RE:ZL,MATCH_NOTHING_RE:MX,METHOD_GUARD:YX,NUMBER_MODE:zX,NUMBER_RE:JL,PHRASAL_WORDS_MODE:PX,QUOTE_STRING_MODE:LX,REGEXP_MODE:VX,RE_STARTERS_RE:OX,SHEBANG:DX,TITLE_MODE:GX,UNDERSCORE_IDENT_RE:Iv,UNDERSCORE_TITLE_MODE:KX});function $X(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function jX(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function XX(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$X,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function QX(e,t){Array.isArray(e.illegal)&&(e.illegal=Ov(...e.illegal))}function ZX(e,t){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 JX(e,t){e.relevance===void 0&&(e.relevance=1)}var eQ=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},e);Object.keys(e).forEach(r=>{delete e[r]}),e.keywords=n.keywords,e.begin=el(n.beforeMatch,XL(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},tQ=["of","and","for","in","not","or","if","then","parent","list","value"],nQ="keyword";function n3(e,t,n=nQ){let r=Object.create(null);return typeof e=="string"?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(o){Object.assign(r,n3(e[o],t,o))}),r;function i(o,s){t&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let l=a.split("|");r[l[0]]=[o,rQ(l[0],l[1])]})}}function rQ(e,t){return t?Number(t):iQ(e)?0:1}function iQ(e){return tQ.includes(e.toLowerCase())}var GL={},Ja=e=>{console.error(e)},KL=(e,...t)=>{console.log(`WARN: ${e}`,...t)},tc=(e,t)=>{GL[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),GL[`${e}/${t}`]=!0)},Yg=new Error;function r3(e,t,{key:n}){let r=0,i=e[n],o={},s={};for(let a=1;a<=t.length;a++)s[a+r]=i[a],o[a+r]=!0,r+=QL(t[a-1]);e[n]=s,e[n]._emit=o,e[n]._multi=!0}function oQ(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Ja("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Yg;if(typeof e.beginScope!="object"||e.beginScope===null)throw Ja("beginScope must be object"),Yg;r3(e,e.begin,{key:"beginScope"}),e.begin=Dv(e.begin,{joinWith:""})}}function sQ(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Ja("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Yg;if(typeof e.endScope!="object"||e.endScope===null)throw Ja("endScope must be object"),Yg;r3(e,e.end,{key:"endScope"}),e.end=Dv(e.end,{joinWith:""})}}function aQ(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function lQ(e){aQ(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),oQ(e),sQ(e)}function uQ(e){function t(s,a){return new RegExp(zd(s),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(a?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,a]),this.matchAt+=QL(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(l=>l[1]);this.matcherRe=t(Dv(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let l=this.matcherRe.exec(a);if(!l)return null;let u=l.findIndex((f,d)=>d>0&&f!==void 0),c=this.matchIndexes[u];return l.splice(0,u),Object.assign(l,c)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];let l=new n;return this.rules.slice(a).forEach(([u,c])=>l.addRule(u,c)),l.compile(),this.multiRegexes[a]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,l){this.rules.push([a,l]),l.type==="begin"&&this.count++}exec(a){let l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let u=l.exec(a);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){let c=this.getMatcher(0);c.lastIndex=this.lastIndex+1,u=c.exec(a)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function i(s){let a=new r;return s.contains.forEach(l=>a.addRule(l.begin,{rule:l,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){let l=s;if(s.isCompiled)return l;[jX,ZX,lQ,eQ].forEach(c=>c(s,a)),e.compilerExtensions.forEach(c=>c(s,a)),s.__beforeBegin=null,[XX,QX,JX].forEach(c=>c(s,a)),s.isCompiled=!0;let u=null;return typeof s.keywords=="object"&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),u=s.keywords.$pattern,delete s.keywords.$pattern),u=u||/\w+/,s.keywords&&(s.keywords=n3(s.keywords,e.case_insensitive)),l.keywordPatternRe=t(u,!0),a&&(s.begin||(s.begin=/\B|\b/),l.beginRe=t(l.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(l.endRe=t(l.end)),l.terminatorEnd=zd(l.end)||"",s.endsWithParent&&a.terminatorEnd&&(l.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(l.illegalRe=t(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(c){return cQ(c==="self"?s:c)})),s.contains.forEach(function(c){o(c,l)}),s.starts&&o(s.starts,a),l.matcher=i(l),l}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=Ws(e.classNameAliases||{}),o(e)}function i3(e){return e?e.endsWithParent||i3(e.starts):!1}function cQ(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Ws(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:i3(e)?Ws(e,{starts:e.starts?Ws(e.starts):null}):Object.isFrozen(e)?Ws(e):e}var fQ="11.11.1",Mv=class extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}},wv=jL,YL=Ws,WL=Symbol("nomatch"),dQ=7,o3=function(e){let t=Object.create(null),n=Object.create(null),r=[],i=!0,o="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]},a={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:kv};function l(O){return a.noHighlightRe.test(O)}function u(O){let F=O.className+" ";F+=O.parentNode?O.parentNode.className:"";let I=a.languageDetectRe.exec(F);if(I){let z=D(I[1]);return z||(KL(o.replace("{}",I[1])),KL("Falling back to no-highlight mode for this block.",O)),z?I[1]:"no-highlight"}return F.split(/\s+/).find(z=>l(z)||D(z))}function c(O,F,I){let z="",_="";typeof F=="object"?(z=O,I=F.ignoreIllegals,_=F.language):(tc("10.7.0","highlight(lang, code, ...args) has been deprecated."),tc("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),_=O,z=F),I===void 0&&(I=!0);let oe={code:z,language:_};B("before:highlight",oe);let re=oe.result?oe.result:f(oe.language,oe.code,I);return re.code=oe.code,B("after:highlight",re),re}function f(O,F,I,z){let _=Object.create(null);function oe(H,K){return H.keywords[K]}function re(){if(!$.keywords){Ge.addText(qe);return}let H=0;$.keywordPatternRe.lastIndex=0;let K=$.keywordPatternRe.exec(qe),Z="";for(;K;){Z+=qe.substring(H,K.index);let ae=ye.case_insensitive?K[0].toLowerCase():K[0],Ce=oe($,ae);if(Ce){let[ft,J]=Ce;if(Ge.addText(Z),Z="",_[ae]=(_[ae]||0)+1,_[ae]<=dQ&&(Jt+=J),ft.startsWith("_"))Z+=K[0];else{let Ne=ye.classNameAliases[ft]||ft;fe(K[0],Ne)}}else Z+=K[0];H=$.keywordPatternRe.lastIndex,K=$.keywordPatternRe.exec(qe)}Z+=qe.substring(H),Ge.addText(Z)}function C(){if(qe==="")return;let H=null;if(typeof $.subLanguage=="string"){if(!t[$.subLanguage]){Ge.addText(qe);return}H=f($.subLanguage,qe,!0,tt[$.subLanguage]),tt[$.subLanguage]=H._top}else H=h(qe,$.subLanguage.length?$.subLanguage:null);$.relevance>0&&(Jt+=H.relevance),Ge.__addSublanguage(H._emitter,H.language)}function se(){$.subLanguage!=null?C():re(),qe=""}function fe(H,K){H!==""&&(Ge.startScope(K),Ge.addText(H),Ge.endScope())}function ge(H,K){let Z=1,ae=K.length-1;for(;Z<=ae;){if(!H._emit[Z]){Z++;continue}let Ce=ye.classNameAliases[H[Z]]||H[Z],ft=K[Z];Ce?fe(ft,Ce):(qe=ft,re(),qe=""),Z++}}function De(H,K){return H.scope&&typeof H.scope=="string"&&Ge.openNode(ye.classNameAliases[H.scope]||H.scope),H.beginScope&&(H.beginScope._wrap?(fe(qe,ye.classNameAliases[H.beginScope._wrap]||H.beginScope._wrap),qe=""):H.beginScope._multi&&(ge(H.beginScope,K),qe="")),$=Object.create(H,{parent:{value:$}}),$}function Ee(H,K,Z){let ae=RX(H.endRe,Z);if(ae){if(H["on:end"]){let Ce=new Kg(H);H["on:end"](K,Ce),Ce.isMatchIgnored&&(ae=!1)}if(ae){for(;H.endsParent&&H.parent;)H=H.parent;return H}}if(H.endsWithParent)return Ee(H.parent,K,Z)}function Ve(H){return $.matcher.regexIndex===0?(qe+=H[0],1):(Hn=!0,0)}function Pe(H){let K=H[0],Z=H.rule,ae=new Kg(Z),Ce=[Z.__beforeBegin,Z["on:begin"]];for(let ft of Ce)if(ft&&(ft(H,ae),ae.isMatchIgnored))return Ve(K);return Z.skip?qe+=K:(Z.excludeBegin&&(qe+=K),se(),!Z.returnBegin&&!Z.excludeBegin&&(qe=K)),De(Z,H),Z.returnBegin?0:K.length}function Re(H){let K=H[0],Z=F.substring(H.index),ae=Ee($,H,Z);if(!ae)return WL;let Ce=$;$.endScope&&$.endScope._wrap?(se(),fe(K,$.endScope._wrap)):$.endScope&&$.endScope._multi?(se(),ge($.endScope,H)):Ce.skip?qe+=K:(Ce.returnEnd||Ce.excludeEnd||(qe+=K),se(),Ce.excludeEnd&&(qe=K));do $.scope&&Ge.closeNode(),!$.skip&&!$.subLanguage&&(Jt+=$.relevance),$=$.parent;while($!==ae.parent);return ae.starts&&De(ae.starts,H),Ce.returnEnd?0:K.length}function Te(){let H=[];for(let K=$;K!==ye;K=K.parent)K.scope&&H.unshift(K.scope);H.forEach(K=>Ge.openNode(K))}let Ae={};function le(H,K){let Z=K&&K[0];if(qe+=H,Z==null)return se(),0;if(Ae.type==="begin"&&K.type==="end"&&Ae.index===K.index&&Z===""){if(qe+=F.slice(K.index,K.index+1),!i){let ae=new Error(`0 width match regex (${O})`);throw ae.languageName=O,ae.badRule=Ae.rule,ae}return 1}if(Ae=K,K.type==="begin")return Pe(K);if(K.type==="illegal"&&!I){let ae=new Error('Illegal lexeme "'+Z+'" for mode "'+($.scope||"")+'"');throw ae.mode=$,ae}else if(K.type==="end"){let ae=Re(K);if(ae!==WL)return ae}if(K.type==="illegal"&&Z==="")return qe+=` +`,1;if(Ot>1e5&&Ot>K.index*3)throw new Error("potential infinite loop, way more iterations than matches");return qe+=Z,Z.length}let ye=D(O);if(!ye)throw Ja(o.replace("{}",O)),new Error('Unknown language: "'+O+'"');let ue=uQ(ye),Se="",$=z||ue,tt={},Ge=new a.__emitter(a);Te();let qe="",Jt=0,Mt=0,Ot=0,Hn=!1;try{if(ye.__emitTokens)ye.__emitTokens(F,Ge);else{for($.matcher.considerAll();;){Ot++,Hn?Hn=!1:$.matcher.considerAll(),$.matcher.lastIndex=Mt;let H=$.matcher.exec(F);if(!H)break;let K=F.substring(Mt,H.index),Z=le(K,H);Mt=H.index+Z}le(F.substring(Mt))}return Ge.finalize(),Se=Ge.toHTML(),{language:O,value:Se,relevance:Jt,illegal:!1,_emitter:Ge,_top:$}}catch(H){if(H.message&&H.message.includes("Illegal"))return{language:O,value:wv(F),illegal:!0,relevance:0,_illegalBy:{message:H.message,index:Mt,context:F.slice(Mt-100,Mt+100),mode:H.mode,resultSoFar:Se},_emitter:Ge};if(i)return{language:O,value:wv(F),illegal:!1,relevance:0,errorRaised:H,_emitter:Ge,_top:$};throw H}}function d(O){let F={value:wv(O),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return F._emitter.addText(O),F}function h(O,F){F=F||a.languages||Object.keys(t);let I=d(O),z=F.filter(D).filter(A).map(se=>f(se,O,!1));z.unshift(I);let _=z.sort((se,fe)=>{if(se.relevance!==fe.relevance)return fe.relevance-se.relevance;if(se.language&&fe.language){if(D(se.language).supersetOf===fe.language)return 1;if(D(fe.language).supersetOf===se.language)return-1}return 0}),[oe,re]=_,C=oe;return C.secondBest=re,C}function p(O,F,I){let z=F&&n[F]||I;O.classList.add("hljs"),O.classList.add(`language-${z}`)}function b(O){let F=null,I=u(O);if(l(I))return;if(B("before:highlightElement",{el:O,language:I}),O.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",O);return}if(O.children.length>0&&(a.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(O)),a.throwUnescapedHTML))throw new Mv("One of your code blocks includes unescaped HTML.",O.innerHTML);F=O;let z=F.textContent,_=I?c(z,{language:I,ignoreIllegals:!0}):h(z);O.innerHTML=_.value,O.dataset.highlighted="yes",p(O,I,_.language),O.result={language:_.language,re:_.relevance,relevance:_.relevance},_.secondBest&&(O.secondBest={language:_.secondBest.language,relevance:_.secondBest.relevance}),B("after:highlightElement",{el:O,result:_,text:z})}function y(O){a=YL(a,O)}let g=()=>{S(),tc("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function E(){S(),tc("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let T=!1;function S(){function O(){S()}if(document.readyState==="loading"){T||window.addEventListener("DOMContentLoaded",O,!1),T=!0;return}document.querySelectorAll(a.cssSelector).forEach(b)}function x(O,F){let I=null;try{I=F(e)}catch(z){if(Ja("Language definition for '{}' could not be registered.".replace("{}",O)),i)Ja(z);else throw z;I=s}I.name||(I.name=O),t[O]=I,I.rawDefinition=F.bind(null,e),I.aliases&&k(I.aliases,{languageName:O})}function v(O){delete t[O];for(let F of Object.keys(n))n[F]===O&&delete n[F]}function N(){return Object.keys(t)}function D(O){return O=(O||"").toLowerCase(),t[O]||t[n[O]]}function k(O,{languageName:F}){typeof O=="string"&&(O=[O]),O.forEach(I=>{n[I.toLowerCase()]=F})}function A(O){let F=D(O);return F&&!F.disableAutodetect}function P(O){O["before:highlightBlock"]&&!O["before:highlightElement"]&&(O["before:highlightElement"]=F=>{O["before:highlightBlock"](Object.assign({block:F.el},F))}),O["after:highlightBlock"]&&!O["after:highlightElement"]&&(O["after:highlightElement"]=F=>{O["after:highlightBlock"](Object.assign({block:F.el},F))})}function G(O){P(O),r.push(O)}function U(O){let F=r.indexOf(O);F!==-1&&r.splice(F,1)}function B(O,F){let I=O;r.forEach(function(z){z[I]&&z[I](F)})}function L(O){return tc("10.7.0","highlightBlock will be removed entirely in v12.0"),tc("10.7.0","Please use highlightElement now."),b(O)}Object.assign(e,{highlight:c,highlightAuto:h,highlightAll:S,highlightElement:b,highlightBlock:L,configure:y,initHighlighting:g,initHighlightingOnLoad:E,registerLanguage:x,unregisterLanguage:v,listLanguages:N,getLanguage:D,registerAliases:k,autoDetection:A,inherit:YL,addPlugin:G,removePlugin:U}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString=fQ,e.regex={concat:el,lookahead:XL,either:Ov,optional:wX,anyNumberOfTimes:CX};for(let O in Gg)typeof Gg[O]=="object"&&$L(Gg[O]);return Object.assign(e,Gg),e},nc=o3({});nc.newInstance=()=>o3({});s3.exports=nc;nc.HighlightJS=nc;nc.default=nc});var BB=tn(PB=>{"use strict";var Cc=pe();function $ee(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var jee=typeof Object.is=="function"?Object.is:$ee,Xee=Cc.useState,Qee=Cc.useEffect,Zee=Cc.useLayoutEffect,Jee=Cc.useDebugValue;function ete(e,t){var n=t(),r=Xee({inst:{value:n,getSnapshot:t}}),i=r[0].inst,o=r[1];return Zee(function(){i.value=n,i.getSnapshot=t,Fx(i)&&o({inst:i})},[e,n,t]),Qee(function(){return Fx(i)&&o({inst:i}),e(function(){Fx(i)&&o({inst:i})})},[e]),Jee(n),n}function Fx(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!jee(e,n)}catch{return!0}}function tte(e,t){return t()}var nte=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?tte:ete;PB.useSyncExternalStore=Cc.useSyncExternalStore!==void 0?Cc.useSyncExternalStore:nte});var Y0=tn((twe,HB)=>{"use strict";HB.exports=BB()});var s8=tn(o8=>{"use strict";var Pb=pe(),vse=Y0();function xse(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Ase=typeof Object.is=="function"?Object.is:xse,_se=vse.useSyncExternalStore,Cse=Pb.useRef,wse=Pb.useEffect,Nse=Pb.useMemo,Rse=Pb.useDebugValue;o8.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var o=Cse(null);if(o.current===null){var s={hasValue:!1,value:null};o.current=s}else s=o.current;o=Nse(function(){function l(h){if(!u){if(u=!0,c=h,h=r(h),i!==void 0&&s.hasValue){var p=s.value;if(i(p,h))return f=p}return f=h}if(p=f,Ase(c,h))return p;var b=r(h);return i!==void 0&&i(p,b)?(c=h,p):(c=h,f=b)}var u=!1,c,f,d=n===void 0?null:n;return[function(){return l(t())},d===null?void 0:function(){return l(d())}]},[t,n,r,i]);var a=_se(e,o[0],o[1]);return wse(function(){s.hasValue=!0,s.value=a},[a]),Rse(a),a}});var l8=tn((hRe,a8)=>{"use strict";a8.exports=s8()});var wF=q(td(),1),z_=q(pe(),1);var lt=q(pe(),1);var er=q(pe(),1);function zn(){let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,n=>n.toString(16).padStart(2,"0"));return`${t[0]}${t[1]}${t[2]}${t[3]}-${t[4]}${t[5]}-${t[6]}${t[7]}-${t[8]}${t[9]}-${t[10]}${t[11]}${t[12]}${t[13]}${t[14]}${t[15]}`}var jk=String.raw` {0,3}((\`|~)\2{2,}).*`,n7=new RegExp(`^${jk} +[\\s\\S]*?^ {0,3}\\1\\2*[ ]*$`,"gm"),r7=new RegExp(`^${jk}$`,"gm");function Xk(e,t=!1){let n=[];for(let i of e.matchAll(n7))n.push([i.index,i.index+i[0].length]);if(t){let i=o=>n.some(([s,a])=>o>=s&&o[i.index,i[0].length]);for(let i=0;in.some(([o,s])=>i>=o&&ii.status!=="running"),n=e.find(i=>i.definitionTitle!==void 0)?.definitionTitle,r=t?.title??e.find(i=>i.title!==void 0)?.title;return e.length>1?n??r:r??n}function i7(e){let t=e.find(n=>n.definitionIcon!==void 0)?.definitionIcon;return e.length===1?e[0].icon??t:t}function o7(e){let t=[],n=new Map;for(let r of e){let i=n.get(r.toolName);i||(i=[],n.set(r.toolName,i),t.push(r.toolName)),i.push(r)}return t.map(r=>{let i=n.get(r);return{toolName:r,title:Jk(i),count:i.length,settled:i.some(o=>o.status!=="running")}})}function wu(e){let t=e.find(n=>n.status!=="running");return{title:Jk(e),titleSettled:t!==void 0,icon:i7(e),count:e.length,segments:o7(e)}}function $T(e,t){let n=new Map;if(t!=="none")for(let o of e)o.grouping&&!n.has(o.toolName)&&n.set(o.toolName,o.grouping);let r=[],i=new Map;return e.forEach(o=>{let s=n.get(o.toolName)??t,a=s==="none"?`none:${o.localId}`:s==="all"?"all":`tool:${o.toolName}`,l=i.get(a);l||(l=[],i.set(a,l),r.push(a)),l.push(o)}),r.map(o=>{let s=i.get(o),a=wu(s);return{key:o,toolName:s[0].toolName,title:a.title,titleSettled:a.titleSettled,icon:a.icon,count:a.count,calls:s,segments:a.segments}})}function s7(e){let t={requestId:e.request_id,localId:e.request_id||`__anon-structured-${zn()}`,toolName:e.tool_name,status:"running",structured:!0};return e.title!==void 0&&(t.definitionTitle=e.title),e.icon!==void 0&&(t.definitionIcon=e.icon),e.intent!==void 0&&(t.intent=e.intent),e.arguments!==void 0&&(t.arguments=e.arguments),e.grouping!==void 0&&(t.grouping=e.grouping),t}function a7(e){let t={requestId:e.request_id,localId:e.request_id||`__anon-structured-${zn()}`,toolName:e.tool_name,status:e.status,structured:!0};if(e.title!==void 0&&(t.title=e.title),e.icon!==void 0&&(t.icon=e.icon),e.label!==void 0&&(t.label=e.label),e.value_preview!==void 0&&(t.valuePreview=e.value_preview),e.intent!==void 0&&(t.intent=e.intent),e.value!==void 0&&(t.value=e.value),e.value_type!==void 0&&(t.valueType=e.value_type),e.request_call!==void 0){let n=e.request_call;t.requestCall=Array.isArray(n)?n.join(` +`):typeof n=="string"?n:String(n)}return e.show_request!==void 0&&(t.showRequest=e.show_request),e.full_screen!==void 0&&(t.fullScreen=e.full_screen),e.open_style!==void 0&&(t.openStyle=e.open_style),e.expanded!==void 0&&(t.expanded=e.expanded),e.custom_display!==void 0&&(t.customDisplay=e.custom_display),e.footer!==void 0&&(t.footer=e.footer),e.grouping!==void 0&&(t.grouping=e.grouping),t}function vm(e,t){let n=e.type;if(n!=="tool_request"&&n!=="tool_result")return console.warn(`Ignoring unknown structured block type: ${String(n)}`),null;let r=e.version;if(r!==1)return console.warn(`Ignoring ${n} block with unsupported version: ${String(r)}`),null;let{request_id:i,tool_name:o}=e;if(typeof i!="string"||typeof o!="string")return console.warn(`Ignoring malformed ${n} block: request_id and tool_name must be strings`),null;if(n==="tool_result"&&e.status!=="success"&&e.status!=="error")return console.warn('Ignoring malformed tool_result block: status must be "success" or "error"'),null;let s=n==="tool_request"?s7(e):a7(e);return{type:"tool_loop",content:"",contentType:"html",grouping:t,groups:$T([s],t)}}function l7(e,t,n){let r=[...e.groups.flatMap(i=>i.calls),t];return{type:"tool_loop",content:e.content,contentType:e.contentType,grouping:n,groups:$T(r,n)}}function jT(e,t,n){let r=[...e],i=r[r.length-1];if(i?.type==="content"&&i.content.trim()===""){let s=r[r.length-2];s?.type==="tool_loop"&&(r.pop(),i=s)}let o=t.groups[0]?.calls[0];return i?.type==="tool_loop"&&o?r[r.length-1]=l7(i,o,n):r.push(t),r}function eM(e,t){let n=e.groups.flatMap(r=>r.calls);return{...e,grouping:t,groups:$T(n,t)}}function XT(e,t){let n=new Set;for(let r of e)Qk(r,n);return t&&Qk(t,n),n}function QT(e,t){let n=new Map;for(let r of e)Zk(r,n);return t&&Zk(t,n),n}function Qk(e,t){if(e.role!=="user"){for(let n of e.blocks)if(n.type==="tool_loop")for(let r of n.groups)for(let i of r.calls)i.status!=="running"&&i.requestId&&t.add(i.requestId)}}function Zk(e,t){if(e.role!=="user"){for(let n of e.blocks)if(n.type==="tool_loop")for(let r of n.groups)for(let i of r.calls)i.status==="running"&&i.requestId&&i.definitionIcon!==void 0&&!t.has(i.requestId)&&t.set(i.requestId,i.definitionIcon)}}function ZT(e,t){if(e.status==="running"||!e.requestId)return e;let n=t.get(e.requestId);if(n===void 0)return e;let r=e.definitionIcon??n,i=e.icon??n;return r===e.definitionIcon&&i===e.icon?e:{...e,definitionIcon:r,icon:i}}function Nu(e){let t=e.type;return t==="web_search"||t==="web_search_results"||t==="web_search_citations"||t==="web_fetch"}function nd(e){if(!Nu(e))return null;let t=e.version;return t!==1?(console.warn(`Ignoring ${e.type} block with unsupported version: ${String(t)}`),null):(e.type==="web_search"?typeof e.query=="string":e.type==="web_fetch"?typeof e.url=="string":Array.isArray(e.sources))?e:(console.warn(`Ignoring malformed ${e.type} block: required fields missing or mistyped`),null)}function nM(e){if(!Array.isArray(e))return[];let t=new Set;return e.filter(n=>{if(!n||typeof n.url!="string")return!1;let r=n.url;return t.has(r)?!1:(t.add(r),!0)})}function tM(e,t){let n=[...e?.items??[]];if(t.type==="web_search")n.push({kind:"search",query:t.query,id:t.id,sources:null,citedSources:[]});else if(t.type==="web_search_results"){let r=nM(t.sources),i=t.search_id!==void 0?n.findIndex(o=>o.kind==="search"&&o.id===t.search_id):n.findIndex(o=>o.kind==="search"&&o.sources===null);if(i!==-1){let o=n[i];n[i]={...o,sources:r}}else n.push({kind:"search",query:"",sources:r,citedSources:[]})}else t.type==="web_fetch"&&n.push({kind:"fetch",url:t.url,status:t.status});return{type:"web_activity",items:n}}function u7(e,t){let n=new Map(e.map(r=>[r.url,r]));for(let r of t){let i=n.get(r.url);i===void 0?n.set(r.url,r):i.title===void 0&&r.title!==void 0&&n.set(r.url,{...i,title:r.title})}return[...n.values()]}function c7(e,t){let n=nM(t.sources);if(n.length===0)return e;for(let r=e.length-1;r>=0;r--){let i=e[r];if(!JT(i))continue;let o=[...i.items];for(let s=o.length-1;s>=0;s--){let a=o[s];if(a===void 0||a.kind!=="search")continue;o[s]={...a,citedSources:u7(a.citedSources,n)};let l=[...e];return l[r]={...i,items:o},l}}return e}function JT(e){return typeof e=="object"&&e!==null&&e.type==="web_activity"}function e1(e){return e.type==="content"&&e.content.trim()===""}function Is(e,t,n){if(t.type==="web_search_citations")return c7(e,t);let r=[...e],i=r[r.length-1];if(i!==void 0&&n(i)){let o=r[r.length-2];JT(o)&&(r.pop(),i=o)}return JT(i)?r[r.length-1]=tM(i,t):r.push(tM(null,t)),r}function Ru(e){if(e.type!=="html_block")return null;let t=e.version;return t!==1?(console.warn(`Ignoring html_block block with unsupported version: ${String(t)}`),null):typeof e.content!="string"?(console.warn("Ignoring malformed html_block block: content must be a string"),null):e}function ku(e){return{type:"html_block",content:e.content,contentType:"html",htmlDeps:e.html_deps??[]}}var Bi={messages:[],streamingMessage:null,greeting:null,inputDisabled:!1,inputPlaceholder:"Enter a message...",cancelRequested:!1,enableCancel:!1,enableCancelExplicit:!1,enableUpload:!1,enableUploadExplicit:!1,toolGrouping:"tool",slashCommands:[],history:{enabled:!1,conversations:[],activeId:null},drawer:{enabled:!1,visible:!1,title:null,content:"",htmlDeps:[],width:"400px",resizable:!0}};function f7(e){return"type"in e}function uM(e,t){return e!=="user"||t==="html_block"}function rd(e,t="tool"){let n=[],r;for(let a of e.segments){if(f7(a)){if(!uM(e.role,a.type)){console.warn("Ignoring non-html_block structured block in a user-role message");continue}if(Nu(a)){let u=nd(a);u&&(n=Is(n,u,e1));continue}if(a.type==="html_block"){let u=Ru(a);u&&(n.push(ku(u)),r=Pi(r,u.html_deps));continue}let l=vm(a,t);l&&(n=jT(n,l,t));continue}n.push(...Cm(a.content,a.content_type))}let i=n,o=e.attachments??[],s=id(i);return{id:e.id??zn(),role:e.role,content:s,streaming:!1,icon:e.icon,...o.length>0?{attachments:o}:{},...r?{htmlDeps:r}:{},blocks:i,siblings:e.siblings}}function xm(e){return e.filter(t=>!t.isPlaceholder)}function Pi(e,t){return t?[...e??[],...t]:e}function rM(e,t){if(!e.enabled)return e;let n="content"in t,r="title"in t;return!n&&!r?e:{...e,...n?{content:t.content??"",htmlDeps:t.html_deps?[...t.html_deps]:[]}:{},...r?{title:t.title||null}:{}}}function Am(e){return e?.options.persistent!==!0&&e?.status==="visible"?{...e,status:"dismissing"}:e}function iM(e,t,n){return e?.status==="dismissed"||!t&&n?"dismissed":"visible"}var r1=/\n?([\s\S]*?)\n?<\/thinking>\n*/g;function Cm(e,t){if(t==="thinking")return[{type:"thinking",content:e,streaming:!1}];if(t!=="markdown")return[{type:"content",content:e,contentType:t}];let n=Xk(e),r=[],i=0;for(let s of e.matchAll(r1)){if(n(s.index))continue;let a=e.slice(i,s.index);a&&r.push({type:"content",content:a,contentType:t});let l=s[1]??"",{cleaned:u,topic:c}=d7(l);r.push({type:"thinking",content:u,streaming:!1,...c!==null?{topic:c}:{}}),i=s.index+s[0].length}let o=e.slice(i);return o&&r.push({type:"content",content:o,contentType:t}),r}function id(e){return e.filter(t=>t.type==="content").map(t=>t.content).join("")}function d7(e){let t=null;return{cleaned:e.replace(cM,(r,i)=>(t=i,`
${i}
-`)),topic:t}}var nM=` -`,Z1="",rM=` -`,J1="",l7=/^(`{3,}|~{3,})[^\n]*(\n|$)/m;function u7(e){let t=e[0];return new RegExp(`^${t}{${e.length},}[ \\t]*(?:\\n|$)`,"m")}function c7(e){if(e.length===0)return!0;let t=e[e.length-1];return t.type==="thinking"||t.type==="web_activity"||t.type==="html_block"?!0:t.content===""||t.content.endsWith(` -`)}function f7(e,t,n){let r=t.tagBuffer+e,i=t.insideThinkingTag?"thinking":t.insideFence?"fence":"outside",o=t.fenceMarker,s=t.tagBuffer?!0:n,a=[],l="";for(;r.length>0;)if(i==="outside"){let u=l7.exec(r),c=u!==null&&(u.index>0||s),f=r.indexOf(nM),d=f===-1?r.indexOf(Z1):-1,h=f!==-1?f:d,p=f!==-1?nM:Z1;if(c&&(h===-1||u.index +`,t1="",sM=` +`,n1="
",h7=/^(`{3,}|~{3,})[^\n]*(\n|$)/m;function p7(e){let t=e[0];return new RegExp(`^${t}{${e.length},}[ \\t]*(?:\\n|$)`,"m")}function m7(e){if(e.length===0)return!0;let t=e[e.length-1];return t.type==="thinking"||t.type==="web_activity"||t.type==="html_block"?!0:t.content===""||t.content.endsWith(` +`)}function g7(e,t,n){let r=t.tagBuffer+e,i=t.insideThinkingTag?"thinking":t.insideFence?"fence":"outside",o=t.fenceMarker,s=t.tagBuffer?!0:n,a=[],l="";for(;r.length>0;)if(i==="outside"){let u=h7.exec(r),c=u!==null&&(u.index>0||s),f=r.indexOf(oM),d=f===-1?r.indexOf(t1):-1,h=f!==-1?f:d,p=f!==-1?oM:t1;if(c&&(h===-1||u.index0&&g.trim()===""&&(g.includes(` +`),r="")}else{let y=aM(r,t1),g=r.slice(0,r.length-y);y>0&&g.trim()===""&&(g.includes(` `)||s)?(l=r.slice(r.length-y),g&&a.push({type:"content",text:g}),r=""):(a.push({type:"content",text:r}),s=r.endsWith(` -`),r="")}}else if(i==="fence"){let c=u7(o).exec(r);if(c!==null){let f=r.slice(0,c.index+c[0].length);f&&a.push({type:"content",text:f}),s=f.endsWith(` +`),r="")}}else if(i==="fence"){let c=p7(o).exec(r);if(c!==null){let f=r.slice(0,c.index+c[0].length);f&&a.push({type:"content",text:f}),s=f.endsWith(` `),i="outside",o="",r=r.slice(c.index+c[0].length)}else a.push({type:"content",text:r}),s=r.endsWith(` -`),r=""}else{let u=r.indexOf(rM),c=u===-1?r.indexOf(J1):-1,f=u!==-1?u:c,d=u!==-1?rM:J1;if(f!==-1){let h=r.slice(0,f);h&&a.push({type:"thinking",text:h}),i="outside",s=!0,r=r.slice(f+d.length),r.startsWith(` +`),r=""}else{let u=r.indexOf(sM),c=u===-1?r.indexOf(n1):-1,f=u!==-1?u:c,d=u!==-1?sM:n1;if(f!==-1){let h=r.slice(0,f);h&&a.push({type:"thinking",text:h}),i="outside",s=!0,r=r.slice(f+d.length),r.startsWith(` `)&&(r=r.slice(1)),r.startsWith(` -`)&&(r=r.slice(1))}else{let h=iM(r,J1);if(h>0){l=r.slice(r.length-h);let p=r.slice(0,r.length-h);p&&a.push({type:"thinking",text:p}),r=""}else a.push({type:"thinking",text:r}),r=""}}return{segments:a,state:{insideThinkingTag:i==="thinking",tagBuffer:l,insideFence:i==="fence",fenceMarker:o}}}function iM(e,t){for(let n=Math.min(t.length-1,e.length);n>0;n--)if(e.endsWith(t.slice(0,n)))return n;return 0}var aM=/(.*?)<\/topic>/g,d7=/<(?:t(?:o(?:p(?:i(?:c(?:>[^<]*)?)?)?)?)?)?\s*$/,h7=/<(?:\/(?:t(?:o(?:p(?:i(?:c(?:>)?)?)?)?)?)?)?\s*$/;function Am(e,t){let n=t+e,r=null;n=n.replace(aM,(l,u)=>(r=u,` +`)&&(r=r.slice(1))}else{let h=aM(r,n1);if(h>0){l=r.slice(r.length-h);let p=r.slice(0,r.length-h);p&&a.push({type:"thinking",text:p}),r=""}else a.push({type:"thinking",text:r}),r=""}}return{segments:a,state:{insideThinkingTag:i==="thinking",tagBuffer:l,insideFence:i==="fence",fenceMarker:o}}}function aM(e,t){for(let n=Math.min(t.length-1,e.length);n>0;n--)if(e.endsWith(t.slice(0,n)))return n;return 0}var cM=/(.*?)<\/topic>/g,b7=/<(?:t(?:o(?:p(?:i(?:c(?:>[^<]*)?)?)?)?)?)?\s*$/,y7=/<(?:\/(?:t(?:o(?:p(?:i(?:c(?:>)?)?)?)?)?)?)?\s*$/;function _m(e,t){let n=t+e,r=null;n=n.replace(cM,(l,u)=>(r=u,`
${u}
-`));let i="",o=d7.exec(n),s=h7.exec(n),a=o&&s?o.index>s.index?o:s:o||s;return a&&a[0]&&(i=a[0],n=n.slice(0,a.index)),{cleaned:n,topic:r,buffer:i}}function tT(e,t){switch(t.type){case"INPUT_SENT":{let n={id:zn(),role:"user",content:t.content,streaming:!1,...t.attachments&&t.attachments.length>0?{attachments:t.attachments}:{},blocks:[{type:"content",content:t.content,contentType:"markdown"}]};if(t.awaitResponse===!1)return{...e,messages:[...e.messages,n],greeting:vm(e.greeting)};let r={id:zn(),role:"assistant",content:"",streaming:!1,isPlaceholder:!0,blocks:[]};return{...e,messages:[...e.messages,n,r],inputDisabled:!0,greeting:vm(e.greeting)}}case"message":{let n=xm(e.messages),r=td(t.message,e.toolGrouping);return t.html_deps&&(r.htmlDeps=Pi(r.htmlDeps,t.html_deps)),{...e,messages:[...n,r],streamingMessage:null,inputDisabled:!1,greeting:vm(e.greeting)}}case"chunk_start":{let n=xm(e.messages),r=td(t.message,e.toolGrouping);return r.streaming=!0,r.blocks=r.blocks.map((i,o,s)=>o===s.length-1&&i.type==="thinking"?{...i,streaming:!0,startedAt:Date.now()}:i),t.html_deps&&(r.htmlDeps=Pi(r.htmlDeps,t.html_deps)),{...e,messages:n,streamingMessage:r,inputDisabled:!0,greeting:vm(e.greeting)}}case"chunk":{let n=e.streamingMessage;if(!n||!n.streaming)return e;if(t.operation==="replace"){let c={...e,streamingMessage:{...n,content:"",blocks:[],insideThinkingTag:!1,tagBuffer:"",insideFence:!1,fenceMarker:"",htmlDeps:Pi(n.htmlDeps,t.html_deps)}};return t.content?tT(c,{...t,operation:"append",html_deps:void 0}):c}let r=t.content_type,i=n.blocks[n.blocks.length-1],o=(i?.type==="content"?i.contentType:void 0)??"markdown";if(r==="thinking"){let c=[...n.blocks],f=i?.type==="thinking"&&i.streaming?i:null;if(f){let{cleaned:d,topic:h,buffer:p}=Am(t.content,f.topicBuffer??"");c[c.length-1]={...f,content:f.content+d,topicBuffer:p,...h!==null?{topic:h}:{}}}else{let{cleaned:d,topic:h,buffer:p}=Am(t.content,"");c.push({type:"thinking",content:d,topicBuffer:p,streaming:!0,startedAt:Date.now(),...h!==null?{topic:h}:{}})}return{...e,streamingMessage:{...n,blocks:c,htmlDeps:Pi(n.htmlDeps,t.html_deps)}}}let s=r??o;if(n.insideThinkingTag||n.tagBuffer||n.insideFence||t.content.includes("<")||t.content.includes("```")||t.content.includes("~~~")){let c={insideThinkingTag:n.insideThinkingTag??!1,tagBuffer:n.tagBuffer??"",insideFence:n.insideFence??!1,fenceMarker:n.fenceMarker??""},{segments:f,state:d}=f7(t.content,c,c7(n.blocks)),h=!!(n.insideThinkingTag||n.tagBuffer||n.insideFence),p=f.some(g=>g.type==="thinking"),b=d.insideThinkingTag,y=d.insideFence!==(n.insideFence??!1);if(h||p||b||y){let g=[...n.blocks];for(let T of f)if(T.type==="thinking"){let S=g[g.length-1];if(S?.type==="thinking"&&S.streaming){let{cleaned:v,topic:x,buffer:N}=Am(T.text,S.topicBuffer??"");g[g.length-1]={...S,content:S.content+v,topicBuffer:N,...x!==null?{topic:x}:{}}}else{let{cleaned:v,topic:x,buffer:N}=Am(T.text,"");g.push({type:"thinking",content:v,topicBuffer:N,streaming:!0,startedAt:Date.now(),...x!==null?{topic:x}:{}})}}else{let S=g[g.length-1];S?.type==="thinking"&&S.streaming&&(g[g.length-1]={...S,content:S.content+(S.topicBuffer??""),topicBuffer:"",streaming:!1,durationMs:S.startedAt?Date.now()-S.startedAt:void 0});let v=g[g.length-1];v?.type==="content"&&v.contentType===s?g[g.length-1]={...v,content:v.content+T.text}:T.text&&g.push({type:"content",content:T.text,contentType:s})}let E=g.filter(T=>T.type==="content").map(T=>T.content).join("");return{...e,streamingMessage:{...n,content:E,blocks:g,insideThinkingTag:d.insideThinkingTag,tagBuffer:d.tagBuffer,insideFence:d.insideFence,fenceMarker:d.fenceMarker,htmlDeps:Pi(n.htmlDeps,t.html_deps)}}}if(d.tagBuffer)return{...e,streamingMessage:{...n,insideThinkingTag:d.insideThinkingTag,tagBuffer:d.tagBuffer,insideFence:d.insideFence,fenceMarker:d.fenceMarker,htmlDeps:Pi(n.htmlDeps,t.html_deps)}}}let a=[...n.blocks];i?.type==="thinking"&&i.streaming&&(a[a.length-1]={...i,content:i.content+(i.topicBuffer??""),topicBuffer:"",streaming:!1,durationMs:i.startedAt?Date.now()-i.startedAt:void 0});let l=a[a.length-1];l?.type==="content"&&l.contentType===s?a[a.length-1]={...l,content:l.content+t.content}:a.push({type:"content",content:t.content,contentType:s});let u=a.filter(c=>c.type==="content").map(c=>c.content).join("");return{...e,streamingMessage:{...n,content:u,blocks:a,insideThinkingTag:!1,tagBuffer:"",htmlDeps:Pi(n.htmlDeps,t.html_deps)}}}case"block_insert":{let n=e.streamingMessage;if(!n||!n.streaming)return console.warn("Ignoring block_insert action: no message stream is in flight"),e;if(!sM(n.role,t.block.type))return console.warn("Ignoring non-html_block block_insert for a user-role message"),e;let r=null,i=null,o=null;if(wu(t.block)?r=ed(t.block):t.block.type==="html_block"?o=Nu(t.block):i=Sm(t.block,e.toolGrouping),!r&&!i&&!o)return e;let s=[...n.blocks],a=s[s.length-1];return a?.type==="thinking"&&a.streaming&&(s[s.length-1]={...a,content:a.content+(a.topicBuffer??""),topicBuffer:"",streaming:!1,durationMs:a.startedAt?Date.now()-a.startedAt:void 0}),r?s=Is(s,r,Q1):o?s.push(Ru(o)):i&&(s=Y1(s,i,e.toolGrouping)),{...e,streamingMessage:{...n,blocks:s,htmlDeps:Pi(n.htmlDeps,Pi(o?.html_deps,t.html_deps))}}}case"chunk_end":{let n=e.streamingMessage;if(!n||!n.streaming){if(e.cancelRequested){let o=xm(e.messages),s={id:zn(),role:"assistant",content:"",streaming:!1,cancelled:!0,blocks:[]};return{...e,messages:[...o,s],streamingMessage:null,inputDisabled:!1,cancelRequested:!1}}return e}let r=p7(n,e.toolGrouping),i=e.cancelRequested?{...r,cancelled:!0}:r;return{...e,messages:[...e.messages,i],streamingMessage:null,inputDisabled:!1,cancelRequested:!1}}case"CANCEL_REQUESTED":return{...e,cancelRequested:!0};case"update_cancel":return e.enableCancelExplicit?e:{...e,enableCancel:t.enable_cancel};case"update_upload":return e.enableUploadExplicit?e:{...e,enableUpload:t.enable_upload};case"SET_TOOL_GROUPING":return t.grouping===e.toolGrouping?e:{...e,toolGrouping:t.grouping,messages:e.messages.map(n=>oM(n,t.grouping)),streamingMessage:e.streamingMessage?oM(e.streamingMessage,t.grouping):null};case"SET_DRAWER_WIDTH":return!e.drawer.enabled||e.drawer.width===t.width?e:{...e,drawer:{...e.drawer,width:t.width}};case"clear":{let n=t.greeting?null:e.greeting?{...e.greeting,status:e.greeting.status==="held"?"held":"visible"}:null;return{...Bi,inputPlaceholder:e.inputPlaceholder,greeting:n,enableCancel:e.enableCancel,enableCancelExplicit:e.enableCancelExplicit,slashCommands:e.slashCommands,enableUpload:e.enableUpload,enableUploadExplicit:e.enableUploadExplicit,toolGrouping:e.toolGrouping,history:e.history,drawer:e.drawer}}case"update_input":return{...e,inputPlaceholder:t.placeholder??e.inputPlaceholder};case"remove_loading":{let n=xm(e.messages);return e.streamingMessage?{...e,messages:n}:{...e,messages:n,inputDisabled:!1,cancelRequested:!1}}case"greeting":{let n=t.options.persistent===!0,r=tM(e.greeting,n,e.messages.length>0);return{...e,greeting:{content:t.content,contentType:t.content_type,streaming:!1,status:r,options:t.options,blocks:[{type:"content",content:t.content,contentType:t.content_type}]}}}case"greeting_start":{let n=t.options.persistent===!0,r=tM(e.greeting,n,e.messages.length>0);return{...e,greeting:{content:t.content,contentType:t.content_type,streaming:!0,status:r,options:t.options,blocks:t.content?[{type:"content",content:t.content,contentType:t.content_type}]:[]}}}case"greeting_dismissed":{let n=e.greeting;return!n||n.status!=="dismissing"?e:{...e,greeting:{...n,status:"dismissed"}}}case"greeting_chunk":{let n=e.greeting;if(!n||!n.streaming)return e;let r=t.content_type??n.contentType,i;if(t.operation==="replace")i=[{type:"content",content:t.content,contentType:r}];else{let s=[...n.blocks],a=s[s.length-1];a&&a.contentType===r?(s[s.length-1]={...a,content:a.content+t.content},i=s):i=[...s,{type:"content",content:t.content,contentType:r}]}let o=i.map(s=>s.content).join("");return{...e,greeting:{...n,content:o,contentType:r,blocks:i}}}case"greeting_end":{let n=e.greeting;return n?.streaming?n.content?{...e,greeting:{...n,streaming:!1}}:{...e,greeting:null}:e}case"greeting_clear":return{...e,greeting:null};case"greeting_settle":{let n=e.greeting;return!n||n.status!=="held"?e:t.restored||e.messages.length>0?{...e,greeting:null}:{...e,greeting:{...n,status:"visible"}}}case"update_slash_commands":return{...e,slashCommands:t.commands};case"drawer_show":return e.drawer.enabled?{...e,drawer:{...eM(e.drawer,t),visible:!0}}:e;case"drawer_hide":return e.drawer.enabled?{...e,drawer:{...e.drawer,visible:!1}}:e;case"drawer_toggle":return e.drawer.enabled?{...e,drawer:{...e.drawer,visible:!e.drawer.visible}}:e;case"drawer_update":return e.drawer.enabled?{...e,drawer:eM(e.drawer,t)}:e;case"history_update":return{...e,history:{enabled:t.enabled,conversations:t.conversations,activeId:t.active_id}};case"history_navigate":return e;case"update_siblings":{let n=e.messages.map((r,i)=>{let o=t.data[i];return o?{...r,siblings:o}:r.siblings?{...r,siblings:void 0}:r});return{...e,messages:n}}default:{let n=t;return e}}}function oM(e,t){if(!e.blocks.some(r=>r.type==="tool_loop"))return e;let n=e.blocks.map(r=>r.type==="tool_loop"?Qk(r,t):r);return{...e,blocks:n,content:nd(n)}}function p7(e,t="tool"){let n=[];for(let i of e.blocks)i.type==="thinking"&&i.streaming?n.push({...i,content:i.content+(i.topicBuffer??""),topicBuffer:"",streaming:!1,durationMs:i.startedAt?Date.now()-i.startedAt:void 0}):i.type==="content"&&eT.test(i.content)?(eT.lastIndex=0,n.push(..._m(i.content,i.contentType))):n.push(i);let r=nd(n);return{...e,content:r,streaming:!1,blocks:n}}var Tr=(0,er.createContext)(null),nT=(0,er.createContext)(null);function Ro(){return(0,er.useContext)(nT)}var m7={supersededRequests:new Set,requestDefinitionIcons:new Map},rT=(0,er.createContext)(m7),iT=(0,er.createContext)(Bi.toolGrouping);function lM(){return(0,er.useContext)(iT)}var rd=(0,er.createContext)(null),oT=(0,er.createContext)([]),sT=(0,er.createContext)(!0);function uM(){return(0,er.useContext)(rT)}function Cm(){let e=(0,er.useContext)(rd);if(!e)throw new Error("useChatDispatch must be used within a ChatDispatchContext.Provider");return e}function ku(){return(0,er.useContext)(sT)}function cM(){return(0,er.useContext)(oT)}var aT="shinychat-current",g7="shinychat_conversation_id";function lT(){try{return new URLSearchParams(window.location.search).get(g7)}catch{return null}}function uT(e){try{return localStorage.getItem(`${aT}:${e}`)}catch{return null}}function cT(e,t){try{t===null?localStorage.removeItem(`${aT}:${e}`):localStorage.setItem(`${aT}:${e}`,t)}catch{}}function fM(e,t=!1){let n=e??window.location.pathname;if(t){window.location.assign(n);return}history.replaceState(null,"",n)}var Mu=q(ge(),1);function dM(e,t){let n=(0,Mu.useRef)(new Set);return(0,Mu.useMemo)(()=>{let r=W1(e,t),i=n.current;return r.size===i.size&&[...r].every(o=>i.has(o))?i:(n.current=r,r)},[e,t])}function hM(e,t){let n=(0,Mu.useRef)(new Map);return(0,Mu.useMemo)(()=>{let r=$1(e,t),i=n.current;return r.size===i.size&&[...r].every(([o,s])=>i.get(o)===s)?i:(n.current=r,r)},[e,t])}var be=q(ge(),1),mF=q(lo(),1);var kn=q(ge(),1);var b7={damping:.7,stiffness:.05,mass:1.25},y7=70,E7=1e3/60,T7=350,wm=!1;globalThis.document?.addEventListener("mousedown",()=>{wm=!0});globalThis.document?.addEventListener("mouseup",()=>{wm=!1});globalThis.document?.addEventListener("click",()=>{wm=!1});var Nm=(e={})=>{let[t,n]=(0,kn.useState)(!1),[r,i]=(0,kn.useState)(e.initial!==!1),[o,s]=(0,kn.useState)(!1),a=(0,kn.useRef)(null);a.current=e;let l=(0,kn.useCallback)(()=>{if(!wm)return!1;let E=window.getSelection();if(!E||!E.rangeCount)return!1;let T=E.getRangeAt(0);return T.commonAncestorContainer.contains(y.current)||y.current?.contains(T.commonAncestorContainer)},[]),u=(0,kn.useCallback)(E=>{f.isAtBottom=E,i(E)},[]),c=(0,kn.useCallback)(E=>{f.escapedFromLock=E,n(E)},[]),f=(0,kn.useMemo)(()=>{let E;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return y.current?.scrollTop??0},set scrollTop(T){y.current&&(y.current.scrollTop=T,f.ignoreScrollToTop=y.current.scrollTop)},get targetScrollTop(){return!y.current||!g.current?0:y.current.scrollHeight-1-y.current.clientHeight},get calculatedTargetScrollTop(){if(!y.current||!g.current)return 0;let{targetScrollTop:T}=this;if(!e.targetScrollTop)return T;if(E?.targetScrollTop===T)return E.calculatedScrollTop;let S=Math.max(Math.min(e.targetScrollTop(T,{scrollElement:y.current,contentElement:g.current}),T),0);return E={targetScrollTop:T,calculatedScrollTop:S},requestAnimationFrame(()=>{E=void 0}),S},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=y7}}},[]),d=(0,kn.useCallback)((E={})=>{typeof E=="string"&&(E={animation:E}),E.preserveScrollPosition||u(!0);let T=Date.now()+(Number(E.wait)||0),S=dT(a.current,E.animation),{ignoreEscapes:v=!1}=E,x,N=f.calculatedTargetScrollTop;E.duration instanceof Promise?E.duration.finally(()=>{x=Date.now()}):x=T+(E.duration??0);let D=async()=>{let k=new Promise(requestAnimationFrame).then(()=>{if(!f.isAtBottom)return f.animation=void 0,!1;let{scrollTop:A}=f,O=performance.now(),G=(O-(f.lastTick??O))/E7;if(f.animation||(f.animation={behavior:S,promise:k,ignoreEscapes:v}),f.animation.behavior===S&&(f.lastTick=O),l()||T>Date.now())return D();if(ADate.now()?(N=f.calculatedTargetScrollTop,D()):(f.animation=void 0,f.scrollTop(requestAnimationFrame(()=>{f.animation||(f.lastTick=void 0,f.velocity=0)}),A))};return E.wait!==!0&&(f.animation=void 0),f.animation?.behavior===S?f.animation.promise:D()},[u,l,f]),h=(0,kn.useCallback)(()=>{c(!0),u(!1)},[c,u]),p=(0,kn.useCallback)(({target:E})=>{if(E!==y.current)return;let{scrollTop:T,ignoreScrollToTop:S}=f,{lastScrollTop:v=T}=f;f.lastScrollTop=T,f.ignoreScrollToTop=void 0,S&&S>T&&(v=S),s(f.isNearBottom),setTimeout(()=>{if(f.resizeDifference||T===S)return;if(l()){c(!0),u(!1);return}let x=T>v,N=T{let S=E;for(;!["scroll","auto"].includes(getComputedStyle(S).overflow);){if(!S.parentElement)return;S=S.parentElement}S===y.current&&T<0&&y.current.scrollHeight>y.current.clientHeight&&!f.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,f]),y=pM(E=>{y.current?.removeEventListener("scroll",p),y.current?.removeEventListener("wheel",b),E?.addEventListener("scroll",p,{passive:!0}),E?.addEventListener("wheel",b,{passive:!0})},[]),g=pM(E=>{if(f.resizeObserver?.disconnect(),!E)return;let T;f.resizeObserver=new ResizeObserver(([S])=>{let{height:v}=S.contentRect,x=v-(T??v);if(f.resizeDifference=x,f.scrollTop>f.targetScrollTop&&(f.scrollTop=f.targetScrollTop),s(f.isNearBottom),x>=0){let N=dT(a.current,T?a.current.resize:a.current.initial);d({animation:N,wait:!0,preserveScrollPosition:!0,duration:N==="instant"?void 0:T7})}else f.isNearBottom&&(c(!1),u(!0));T=v,requestAnimationFrame(()=>{setTimeout(()=>{f.resizeDifference===x&&(f.resizeDifference=0)},1)})}),f.resizeObserver?.observe(E)},[]);return{contentRef:g,scrollRef:y,scrollToBottom:d,stopScroll:h,isAtBottom:r||o,isNearBottom:o,escapedFromLock:t,state:f}};function pM(e,t){let n=(0,kn.useCallback)(r=>(n.current=r,e(r)),t);return n}var fT=new Map;function dT(...e){let t={...b7},n=!1;for(let i of e){if(i==="instant"){n=!0;continue}typeof i=="object"&&(n=!1,t.damping=i.damping??t.damping,t.stiffness=i.stiffness??t.stiffness,t.mass=i.mass??t.mass)}let r=JSON.stringify(t);return fT.has(r)||fT.set(r,Object.freeze(t)),n?"instant":fT.get(r)}var Ml=q(ge(),1);var et=q(ge(),1);var yM=q(ge(),1),EM=q(ie(),1),Oa=class extends yM.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,n){console.warn(`[shinychat] Error rendering ${this.props.context??"content"}:`,t,n)}componentDidUpdate(t){this.state.hasError&&t.resetKey!==this.props.resetKey&&this.setState({hasError:!1})}render(){return this.state.hasError?this.props.fallback!==void 0?this.props.fallback:(0,EM.jsx)("div",{className:"shiny-chat-block-error",role:"alert",children:"This content couldn\u2019t be displayed."}):this.props.children}};var Bo=q(ge(),1);function hT(e){let t=[],n=String(e||""),r=n.indexOf(","),i=0,o=!1;for(;!o;){r===-1&&(r=n.length,o=!0);let s=n.slice(i,r).trim();(s||!o)&&t.push(s),i=r+1,r=n.indexOf(",",i)}return t}function Ou(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}var v7=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,A7=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,_7={};function km(e,t){return((t||_7).jsx?A7:v7).test(e)}var C7=/[ \t\n\f\r]/g;function ko(e){return typeof e=="object"?e.type==="text"?TM(e.value):!1:TM(e)}function TM(e){return e.replace(C7,"")===""}var Mo=class{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}};Mo.prototype.normal={};Mo.prototype.property={};Mo.prototype.space=void 0;function pT(e,t){let n={},r={};for(let i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Mo(n,r,t)}function Oo(e){return e.toLowerCase()}var En=class{constructor(t,n){this.attribute=n,this.property=t}};En.prototype.attribute="";En.prototype.booleanish=!1;En.prototype.boolean=!1;En.prototype.commaOrSpaceSeparated=!1;En.prototype.commaSeparated=!1;En.prototype.defined=!1;En.prototype.mustUseProperty=!1;En.prototype.number=!1;En.prototype.overloadedBoolean=!1;En.prototype.property="";En.prototype.spaceSeparated=!1;En.prototype.space=void 0;var id={};Gh(id,{boolean:()=>Fe,booleanish:()=>Vt,commaOrSpaceSeparated:()=>Sr,commaSeparated:()=>Ls,number:()=>ne,overloadedBoolean:()=>Mm,spaceSeparated:()=>dt});var w7=0,Fe=Da(),Vt=Da(),Mm=Da(),ne=Da(),dt=Da(),Ls=Da(),Sr=Da();function Da(){return 2**++w7}var mT=Object.keys(id),Ia=class extends En{constructor(t,n,r,i){let o=-1;if(super(t,n),SM(this,"space",i),typeof r=="number")for(;++o4&&n.slice(0,4)==="data"&&R7.test(t)){if(t.charAt(4)==="-"){let o=t.slice(5).replace(AM,M7);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{let o=t.slice(4);if(!AM.test(o)){let s=o.replace(N7,k7);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}i=Ia}return new i(r,t)}function k7(e){return"-"+e.toLowerCase()}function M7(e){return e.charAt(1).toUpperCase()}var Ei=pT([gT,xM,bT,yT,ET],"html"),Un=pT([gT,vM,bT,yT,ET],"svg");function ST(e){let t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function Du(e){return e.join(" ").trim()}var FM=q(LM(),1);var Pa=PM("end"),xr=PM("start");function PM(e){return t;function t(n){let r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function sd(e){let t=xr(e),n=Pa(e);if(t&&n)return{start:t,end:n}}function Ps(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?BM(e.position):"start"in e||"end"in e?BM(e):"line"in e||"column"in e?AT(e):""}function AT(e){return HM(e&&e.line)+":"+HM(e&&e.column)}function BM(e){return AT(e&&e.start)+"-"+AT(e&&e.end)}function HM(e){return e&&typeof e=="number"?e:1}var Wt=class extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},s=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?i=t:!o.cause&&t&&(s=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){let l=r.indexOf(":");l===-1?o.ruleId=r:(o.source=r.slice(0,l),o.ruleId=r.slice(l+1))}if(!o.place&&o.ancestors&&o.ancestors){let l=o.ancestors[o.ancestors.length-1];l&&(o.place=l.position)}let a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=a?a.line:void 0,this.name=Ps(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=s&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};Wt.prototype.file="";Wt.prototype.name="";Wt.prototype.reason="";Wt.prototype.message="";Wt.prototype.stack="";Wt.prototype.column=void 0;Wt.prototype.line=void 0;Wt.prototype.ancestors=void 0;Wt.prototype.cause=void 0;Wt.prototype.fatal=void 0;Wt.prototype.place=void 0;Wt.prototype.ruleId=void 0;Wt.prototype.source=void 0;var _T={}.hasOwnProperty,rq=new Map,iq=/[A-Z]/g,oq=new Set(["table","tbody","thead","tfoot","tr"]),sq=new Set(["td","th"]),zM="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function CT(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=pq(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=hq(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Un:Ei,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=UM(i,e,void 0);return o&&typeof o!="string"?o:i.create(e,i.Fragment,{children:o||void 0},void 0)}function UM(e,t,n){if(t.type==="element")return aq(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return lq(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return cq(e,t,n);if(t.type==="mdxjsEsm")return uq(e,t);if(t.type==="root")return fq(e,t,n);if(t.type==="text")return dq(e,t)}function aq(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(t);let o=VM(e,t.tagName,!1),s=mq(e,t),a=NT(e,t);return oq.has(t.tagName)&&(a=a.filter(function(l){return typeof l=="string"?!ko(l):!0})),qM(e,s,o,t),wT(s,a),e.ancestors.pop(),e.schema=r,e.create(t,o,s,n)}function lq(e,t){if(t.data&&t.data.estree&&e.evaluater){let r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}ad(e,t.position)}function uq(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);ad(e,t.position)}function cq(e,t,n){let r=e.schema,i=r;t.name==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(t);let o=t.name===null?e.Fragment:VM(e,t.name,!0),s=gq(e,t),a=NT(e,t);return qM(e,s,o,t),wT(s,a),e.ancestors.pop(),e.schema=r,e.create(t,o,s,n)}function fq(e,t,n){let r={};return wT(r,NT(e,t)),e.create(t,e.Fragment,r,n)}function dq(e,t){return t.value}function qM(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function wT(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function hq(e,t,n){return r;function r(i,o,s,a){let u=Array.isArray(s.children)?n:t;return a?u(o,s,a):u(o,s)}}function pq(e,t){return n;function n(r,i,o,s){let a=Array.isArray(o.children),l=xr(r);return t(i,o,s,a,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function mq(e,t){let n={},r,i;for(i in t.properties)if(i!=="children"&&_T.call(t.properties,i)){let o=bq(e,i,t.properties[i]);if(o){let[s,a]=o;e.tableCellAlignToStyle&&s==="align"&&typeof a=="string"&&sq.has(t.tagName)?r=a:n[s]=a}}if(r){let o=n.style||(n.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function gq(e,t){let n={};for(let r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){let o=r.data.estree.body[0];o.type;let s=o.expression;s.type;let a=s.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else ad(e,t.position);else{let i=r.name,o;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){let a=r.value.data.estree.body[0];a.type,o=e.evaluater.evaluateExpression(a.expression)}else ad(e,t.position);else o=r.value===null?!0:r.value;n[i]=o}return n}function NT(e,t){let n=[],r=-1,i=e.passKeys?new Map:rq;for(;++r-1&&o<=t.length){let s=0;for(;;){let a=n[s];if(a===void 0){let l=WM(t,n[s-1]);a=l===-1?t.length+1:l+1,n[s]=a}if(a>o)return{line:s+1,column:o-(s>0?n[s-1]:0)+1,offset:o};s++}}}function i(o){if(o&&typeof o.line=="number"&&typeof o.column=="number"&&!Number.isNaN(o.line)&&!Number.isNaN(o.column)){for(;n.length1?n[o.line-2]:0)+o.column-1;if(s=55296&&e<=57343}function QM(e){return e>=56320&&e<=57343}function ZM(e,t){return(e-55296)*1024+9216+t}function Bm(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function Hm(e){return e>=64976&&e<=65007||Rq.has(e)}var Y;(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(Y||(Y={}));var Mq=65536,Fm=class{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=Mq,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,n){let{line:r,col:i,offset:o}=this,s=i+n,a=o+n;return{code:t,startLine:r,endLine:r,startCol:s,endCol:s,startOffset:a,endOffset:a}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){let n=this.html.charCodeAt(this.pos+1);if(QM(n))return this.pos++,this._addGap(),ZM(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,w.EOF;return this._err(Y.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,n){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=n}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,n){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(n)return this.html.startsWith(t,this.pos);for(let r=0;r=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,w.EOF;let r=this.html.charCodeAt(n);return r===w.CARRIAGE_RETURN?w.LINE_FEED:r}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,w.EOF;let t=this.html.charCodeAt(this.pos);return t===w.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,w.LINE_FEED):t===w.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Pm(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===w.LINE_FEED||t===w.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){Bm(t)?this._err(Y.controlCharacterInInputStream):Hm(t)&&this._err(Y.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.posXe,getTokenAttr:()=>ud});var Xe;(function(e){e[e.CHARACTER=0]="CHARACTER",e[e.NULL_CHARACTER=1]="NULL_CHARACTER",e[e.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",e[e.START_TAG=3]="START_TAG",e[e.END_TAG=4]="END_TAG",e[e.COMMENT=5]="COMMENT",e[e.DOCTYPE=6]="DOCTYPE",e[e.EOF=7]="EOF",e[e.HIBERNATION=8]="HIBERNATION"})(Xe||(Xe={}));function ud(e,t){for(let n=e.attrs.length-1;n>=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}var zm=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(e=>e.charCodeAt(0)));var PT,Oq=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),JM=(PT=String.fromCodePoint)!==null&&PT!==void 0?PT:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function BT(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=Oq.get(e))!==null&&t!==void 0?t:e}var Sn;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Sn||(Sn={}));var Iq=32,Hs;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Hs||(Hs={}));function HT(e){return e>=Sn.ZERO&&e<=Sn.NINE}function Lq(e){return e>=Sn.UPPER_A&&e<=Sn.UPPER_F||e>=Sn.LOWER_A&&e<=Sn.LOWER_F}function Pq(e){return e>=Sn.UPPER_A&&e<=Sn.UPPER_Z||e>=Sn.LOWER_A&&e<=Sn.LOWER_Z||HT(e)}function Bq(e){return e===Sn.EQUALS||Pq(e)}var Tn;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Tn||(Tn={}));var Fi;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Fi||(Fi={}));var Um=class{constructor(t,n,r){this.decodeTree=t,this.emitCodePoint=n,this.errors=r,this.state=Tn.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Fi.Strict}startEntity(t){this.decodeMode=t,this.state=Tn.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case Tn.EntityStart:return t.charCodeAt(n)===Sn.NUM?(this.state=Tn.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=Tn.NamedEntity,this.stateNamedEntity(t,n));case Tn.NumericStart:return this.stateNumericStart(t,n);case Tn.NumericDecimal:return this.stateNumericDecimal(t,n);case Tn.NumericHex:return this.stateNumericHex(t,n);case Tn.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|Iq)===Sn.LOWER_X?(this.state=Tn.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=Tn.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,r,i){if(n!==r){let o=r-n;this.result=this.result*Math.pow(i,o)+Number.parseInt(t.substr(n,o),i),this.consumed+=o}}stateNumericHex(t,n){let r=n;for(;n>14;for(;n>14,o!==0){if(s===Sn.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==Fi.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;let{result:n,decodeTree:r}=this,i=(r[n]&Hs.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,i,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,r){let{decodeTree:i}=this;return this.emitCodePoint(n===1?i[t]&~Hs.VALUE_LENGTH:i[t+1],r),n===3&&this.emitCodePoint(i[t+2],r),r}end(){var t;switch(this.state){case Tn.NamedEntity:return this.result!==0&&(this.decodeMode!==Fi.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Tn.NumericDecimal:return this.emitNumericEntity(0,2);case Tn.NumericHex:return this.emitNumericEntity(0,3);case Tn.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Tn.EntityStart:return 0}}};function Hq(e,t,n,r){let i=(t&Hs.BRANCH_LENGTH)>>7,o=t&Hs.JUMP_TABLE;if(i===0)return o!==0&&r===o?n:-1;if(o){let l=r-o;return l<0||l>=i?-1:e[n+l]-1}let s=n,a=s+i-1;for(;s<=a;){let l=s+a>>>1,u=e[l];if(ur)a=l-1;else return e[l+i]}return-1}var cd={};Gh(cd,{ATTRS:()=>zi,DOCUMENT_MODE:()=>qn,NS:()=>j,NUMBERED_HEADERS:()=>Lu,SPECIAL_ELEMENTS:()=>FT,TAG_ID:()=>m,TAG_NAMES:()=>V,getTagID:()=>Fs,hasUnescapedText:()=>eO});var j;(function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"})(j||(j={}));var zi;(function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"})(zi||(zi={}));var qn;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(qn||(qn={}));var V;(function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SEARCH="search",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"})(V||(V={}));var m;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SEARCH=94]="SEARCH",e[e.SECTION=95]="SECTION",e[e.SELECT=96]="SELECT",e[e.SOURCE=97]="SOURCE",e[e.SMALL=98]="SMALL",e[e.SPAN=99]="SPAN",e[e.STRIKE=100]="STRIKE",e[e.STRONG=101]="STRONG",e[e.STYLE=102]="STYLE",e[e.SUB=103]="SUB",e[e.SUMMARY=104]="SUMMARY",e[e.SUP=105]="SUP",e[e.TABLE=106]="TABLE",e[e.TBODY=107]="TBODY",e[e.TEMPLATE=108]="TEMPLATE",e[e.TEXTAREA=109]="TEXTAREA",e[e.TFOOT=110]="TFOOT",e[e.TD=111]="TD",e[e.TH=112]="TH",e[e.THEAD=113]="THEAD",e[e.TITLE=114]="TITLE",e[e.TR=115]="TR",e[e.TRACK=116]="TRACK",e[e.TT=117]="TT",e[e.U=118]="U",e[e.UL=119]="UL",e[e.SVG=120]="SVG",e[e.VAR=121]="VAR",e[e.WBR=122]="WBR",e[e.XMP=123]="XMP"})(m||(m={}));var Fq=new Map([[V.A,m.A],[V.ADDRESS,m.ADDRESS],[V.ANNOTATION_XML,m.ANNOTATION_XML],[V.APPLET,m.APPLET],[V.AREA,m.AREA],[V.ARTICLE,m.ARTICLE],[V.ASIDE,m.ASIDE],[V.B,m.B],[V.BASE,m.BASE],[V.BASEFONT,m.BASEFONT],[V.BGSOUND,m.BGSOUND],[V.BIG,m.BIG],[V.BLOCKQUOTE,m.BLOCKQUOTE],[V.BODY,m.BODY],[V.BR,m.BR],[V.BUTTON,m.BUTTON],[V.CAPTION,m.CAPTION],[V.CENTER,m.CENTER],[V.CODE,m.CODE],[V.COL,m.COL],[V.COLGROUP,m.COLGROUP],[V.DD,m.DD],[V.DESC,m.DESC],[V.DETAILS,m.DETAILS],[V.DIALOG,m.DIALOG],[V.DIR,m.DIR],[V.DIV,m.DIV],[V.DL,m.DL],[V.DT,m.DT],[V.EM,m.EM],[V.EMBED,m.EMBED],[V.FIELDSET,m.FIELDSET],[V.FIGCAPTION,m.FIGCAPTION],[V.FIGURE,m.FIGURE],[V.FONT,m.FONT],[V.FOOTER,m.FOOTER],[V.FOREIGN_OBJECT,m.FOREIGN_OBJECT],[V.FORM,m.FORM],[V.FRAME,m.FRAME],[V.FRAMESET,m.FRAMESET],[V.H1,m.H1],[V.H2,m.H2],[V.H3,m.H3],[V.H4,m.H4],[V.H5,m.H5],[V.H6,m.H6],[V.HEAD,m.HEAD],[V.HEADER,m.HEADER],[V.HGROUP,m.HGROUP],[V.HR,m.HR],[V.HTML,m.HTML],[V.I,m.I],[V.IMG,m.IMG],[V.IMAGE,m.IMAGE],[V.INPUT,m.INPUT],[V.IFRAME,m.IFRAME],[V.KEYGEN,m.KEYGEN],[V.LABEL,m.LABEL],[V.LI,m.LI],[V.LINK,m.LINK],[V.LISTING,m.LISTING],[V.MAIN,m.MAIN],[V.MALIGNMARK,m.MALIGNMARK],[V.MARQUEE,m.MARQUEE],[V.MATH,m.MATH],[V.MENU,m.MENU],[V.META,m.META],[V.MGLYPH,m.MGLYPH],[V.MI,m.MI],[V.MO,m.MO],[V.MN,m.MN],[V.MS,m.MS],[V.MTEXT,m.MTEXT],[V.NAV,m.NAV],[V.NOBR,m.NOBR],[V.NOFRAMES,m.NOFRAMES],[V.NOEMBED,m.NOEMBED],[V.NOSCRIPT,m.NOSCRIPT],[V.OBJECT,m.OBJECT],[V.OL,m.OL],[V.OPTGROUP,m.OPTGROUP],[V.OPTION,m.OPTION],[V.P,m.P],[V.PARAM,m.PARAM],[V.PLAINTEXT,m.PLAINTEXT],[V.PRE,m.PRE],[V.RB,m.RB],[V.RP,m.RP],[V.RT,m.RT],[V.RTC,m.RTC],[V.RUBY,m.RUBY],[V.S,m.S],[V.SCRIPT,m.SCRIPT],[V.SEARCH,m.SEARCH],[V.SECTION,m.SECTION],[V.SELECT,m.SELECT],[V.SOURCE,m.SOURCE],[V.SMALL,m.SMALL],[V.SPAN,m.SPAN],[V.STRIKE,m.STRIKE],[V.STRONG,m.STRONG],[V.STYLE,m.STYLE],[V.SUB,m.SUB],[V.SUMMARY,m.SUMMARY],[V.SUP,m.SUP],[V.TABLE,m.TABLE],[V.TBODY,m.TBODY],[V.TEMPLATE,m.TEMPLATE],[V.TEXTAREA,m.TEXTAREA],[V.TFOOT,m.TFOOT],[V.TD,m.TD],[V.TH,m.TH],[V.THEAD,m.THEAD],[V.TITLE,m.TITLE],[V.TR,m.TR],[V.TRACK,m.TRACK],[V.TT,m.TT],[V.U,m.U],[V.UL,m.UL],[V.SVG,m.SVG],[V.VAR,m.VAR],[V.WBR,m.WBR],[V.XMP,m.XMP]]);function Fs(e){var t;return(t=Fq.get(e))!==null&&t!==void 0?t:m.UNKNOWN}var J=m,FT={[j.HTML]:new Set([J.ADDRESS,J.APPLET,J.AREA,J.ARTICLE,J.ASIDE,J.BASE,J.BASEFONT,J.BGSOUND,J.BLOCKQUOTE,J.BODY,J.BR,J.BUTTON,J.CAPTION,J.CENTER,J.COL,J.COLGROUP,J.DD,J.DETAILS,J.DIR,J.DIV,J.DL,J.DT,J.EMBED,J.FIELDSET,J.FIGCAPTION,J.FIGURE,J.FOOTER,J.FORM,J.FRAME,J.FRAMESET,J.H1,J.H2,J.H3,J.H4,J.H5,J.H6,J.HEAD,J.HEADER,J.HGROUP,J.HR,J.HTML,J.IFRAME,J.IMG,J.INPUT,J.LI,J.LINK,J.LISTING,J.MAIN,J.MARQUEE,J.MENU,J.META,J.NAV,J.NOEMBED,J.NOFRAMES,J.NOSCRIPT,J.OBJECT,J.OL,J.P,J.PARAM,J.PLAINTEXT,J.PRE,J.SCRIPT,J.SECTION,J.SELECT,J.SOURCE,J.STYLE,J.SUMMARY,J.TABLE,J.TBODY,J.TD,J.TEMPLATE,J.TEXTAREA,J.TFOOT,J.TH,J.THEAD,J.TITLE,J.TR,J.TRACK,J.UL,J.WBR,J.XMP]),[j.MATHML]:new Set([J.MI,J.MO,J.MN,J.MS,J.MTEXT,J.ANNOTATION_XML]),[j.SVG]:new Set([J.TITLE,J.FOREIGN_OBJECT,J.DESC]),[j.XLINK]:new Set,[j.XML]:new Set,[j.XMLNS]:new Set},Lu=new Set([J.H1,J.H2,J.H3,J.H4,J.H5,J.H6]),zq=new Set([V.STYLE,V.SCRIPT,V.XMP,V.IFRAME,V.NOEMBED,V.NOFRAMES,V.PLAINTEXT]);function eO(e,t){return zq.has(e)||t&&e===V.NOSCRIPT}var R;(function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(R||(R={}));var Pt={DATA:R.DATA,RCDATA:R.RCDATA,RAWTEXT:R.RAWTEXT,SCRIPT_DATA:R.SCRIPT_DATA,PLAINTEXT:R.PLAINTEXT,CDATA_SECTION:R.CDATA_SECTION};function Uq(e){return e>=w.DIGIT_0&&e<=w.DIGIT_9}function fd(e){return e>=w.LATIN_CAPITAL_A&&e<=w.LATIN_CAPITAL_Z}function qq(e){return e>=w.LATIN_SMALL_A&&e<=w.LATIN_SMALL_Z}function zs(e){return qq(e)||fd(e)}function tO(e){return zs(e)||Uq(e)}function qm(e){return e+32}function rO(e){return e===w.SPACE||e===w.LINE_FEED||e===w.TABULATION||e===w.FORM_FEED}function nO(e){return rO(e)||e===w.SOLIDUS||e===w.GREATER_THAN_SIGN}function Vq(e){return e===w.NULL?Y.nullCharacterReference:e>1114111?Y.characterReferenceOutsideUnicodeRange:Pm(e)?Y.surrogateCharacterReference:Hm(e)?Y.noncharacterCharacterReference:Bm(e)||e===w.CARRIAGE_RETURN?Y.controlCharacterReference:null}var dd=class{constructor(t,n){this.options=t,this.handler=n,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=R.DATA,this.returnState=R.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new Fm(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new Um(zm,(r,i)=>{this.preprocessor.pos=this.entityStartPos+i-1,this._flushCodePointConsumedAsCharacterReference(r)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(Y.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:r=>{this._err(Y.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+r)},validateNumericCharacterReference:r=>{let i=Vq(r);i&&this._err(i,1)}}:void 0)}_err(t,n=0){var r,i;(i=(r=this.handler).onParseError)===null||i===void 0||i.call(r,this.preprocessor.getError(t,n))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;let t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||t?.())}write(t,n,r){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||r?.()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let n=0;n0&&this._err(Y.endTagWithAttributes),t.selfClosing&&this._err(Y.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case Xe.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case Xe.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case Xe.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){let t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:Xe.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,n){if(this.currentCharacterToken)if(this.currentCharacterToken.type===t){this.currentCharacterToken.chars+=n;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(t,n)}_emitCodePoint(t){let n=rO(t)?Xe.WHITESPACE_CHARACTER:t===w.NULL?Xe.NULL_CHARACTER:Xe.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Xe.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=R.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?Fi.Attribute:Fi.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===R.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===R.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===R.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case R.DATA:{this._stateData(t);break}case R.RCDATA:{this._stateRcdata(t);break}case R.RAWTEXT:{this._stateRawtext(t);break}case R.SCRIPT_DATA:{this._stateScriptData(t);break}case R.PLAINTEXT:{this._statePlaintext(t);break}case R.TAG_OPEN:{this._stateTagOpen(t);break}case R.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case R.TAG_NAME:{this._stateTagName(t);break}case R.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case R.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case R.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case R.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case R.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case R.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case R.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case R.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case R.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case R.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case R.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case R.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case R.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case R.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case R.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case R.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case R.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case R.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case R.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case R.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case R.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case R.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case R.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case R.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case R.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case R.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case R.BOGUS_COMMENT:{this._stateBogusComment(t);break}case R.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case R.COMMENT_START:{this._stateCommentStart(t);break}case R.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case R.COMMENT:{this._stateComment(t);break}case R.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case R.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case R.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case R.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case R.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case R.COMMENT_END:{this._stateCommentEnd(t);break}case R.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case R.DOCTYPE:{this._stateDoctype(t);break}case R.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case R.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case R.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case R.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case R.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case R.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case R.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case R.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case R.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case R.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case R.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case R.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case R.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case R.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case R.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case R.CDATA_SECTION:{this._stateCdataSection(t);break}case R.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case R.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case R.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case R.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case w.LESS_THAN_SIGN:{this.state=R.TAG_OPEN;break}case w.AMPERSAND:{this._startCharacterReference();break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitCodePoint(t);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case w.AMPERSAND:{this._startCharacterReference();break}case w.LESS_THAN_SIGN:{this.state=R.RCDATA_LESS_THAN_SIGN;break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitChars(Tt);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case w.LESS_THAN_SIGN:{this.state=R.RAWTEXT_LESS_THAN_SIGN;break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitChars(Tt);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case w.LESS_THAN_SIGN:{this.state=R.SCRIPT_DATA_LESS_THAN_SIGN;break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitChars(Tt);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitChars(Tt);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(zs(t))this._createStartTagToken(),this.state=R.TAG_NAME,this._stateTagName(t);else switch(t){case w.EXCLAMATION_MARK:{this.state=R.MARKUP_DECLARATION_OPEN;break}case w.SOLIDUS:{this.state=R.END_TAG_OPEN;break}case w.QUESTION_MARK:{this._err(Y.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=R.BOGUS_COMMENT,this._stateBogusComment(t);break}case w.EOF:{this._err(Y.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(Y.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=R.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(zs(t))this._createEndTagToken(),this.state=R.TAG_NAME,this._stateTagName(t);else switch(t){case w.GREATER_THAN_SIGN:{this._err(Y.missingEndTagName),this.state=R.DATA;break}case w.EOF:{this._err(Y.eofBeforeTagName),this._emitChars("");break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this.state=R.SCRIPT_DATA_ESCAPED,this._emitChars(Tt);break}case w.EOF:{this._err(Y.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=R.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===w.SOLIDUS?this.state=R.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:zs(t)?(this._emitChars("<"),this.state=R.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=R.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){zs(t)?(this.state=R.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this.state=R.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Tt);break}case w.EOF:{this._err(Y.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=R.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===w.SOLIDUS?(this.state=R.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=R.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(tr.SCRIPT,!1)&&nO(this.preprocessor.peek(tr.SCRIPT.length))){this._emitCodePoint(t);for(let n=0;n0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,n){let r=this._indexOf(t);this.items[r]=n,r===this.stackTop&&(this.current=n)}insertAfter(t,n,r){let i=this._indexOf(t)+1;this.items.splice(i,0,n),this.tagIDs.splice(i,0,r),this.stackTop++,i===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,i===this.stackTop)}popUntilTagNamePopped(t){let n=this.stackTop+1;do n=this.tagIDs.lastIndexOf(t,n-1);while(n>0&&this.treeAdapter.getNamespaceURI(this.items[n])!==j.HTML);this.shortenToLength(Math.max(n,0))}shortenToLength(t){for(;this.stackTop>=t;){let n=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(n,this.stackTop=0;r--)if(t.has(this.tagIDs[r])&&this.treeAdapter.getNamespaceURI(this.items[r])===n)return r;return-1}clearBackTo(t,n){let r=this._indexOfTagNames(t,n);this.shortenToLength(r+1)}clearBackToTableContext(){this.clearBackTo($q,j.HTML)}clearBackToTableBodyContext(){this.clearBackTo(Wq,j.HTML)}clearBackToTableRowContext(){this.clearBackTo(Yq,j.HTML)}remove(t){let n=this._indexOf(t);n>=0&&(n===this.stackTop?this.pop():(this.items.splice(n,1),this.tagIDs.splice(n,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===m.BODY?this.items[1]:null}contains(t){return this._indexOf(t)>-1}getCommonAncestor(t){let n=this._indexOf(t)-1;return n>=0?this.items[n]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===m.HTML}hasInDynamicScope(t,n){for(let r=this.stackTop;r>=0;r--){let i=this.tagIDs[r];switch(this.treeAdapter.getNamespaceURI(this.items[r])){case j.HTML:{if(i===t)return!0;if(n.has(i))return!1;break}case j.SVG:{if(sO.has(i))return!1;break}case j.MATHML:{if(oO.has(i))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,Vm)}hasInListItemScope(t){return this.hasInDynamicScope(t,Gq)}hasInButtonScope(t){return this.hasInDynamicScope(t,Kq)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){let n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case j.HTML:{if(Lu.has(n))return!0;if(Vm.has(n))return!1;break}case j.SVG:{if(sO.has(n))return!1;break}case j.MATHML:{if(oO.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===j.HTML)switch(this.tagIDs[n]){case t:return!0;case m.TABLE:case m.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===j.HTML)switch(this.tagIDs[t]){case m.TBODY:case m.THEAD:case m.TFOOT:return!0;case m.TABLE:case m.HTML:return!1}return!0}hasInSelectScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===j.HTML)switch(this.tagIDs[n]){case t:return!0;case m.OPTION:case m.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&aO.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&iO.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&iO.has(this.currentTagId);)this.pop()}};var Ti;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Ti||(Ti={}));var lO={type:Ti.Marker},Km=class{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){let r=[],i=n.length,o=this.treeAdapter.getTagName(t),s=this.treeAdapter.getNamespaceURI(t);for(let a=0;a[s.name,s.value])),o=0;for(let s=0;si.get(l.name)===l.value)&&(o+=1,o>=3&&this.entries.splice(a.idx,1))}}insertMarker(){this.entries.unshift(lO)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:Ti.Element,element:t,token:n})}insertElementAfterBookmark(t,n){let r=this.entries.indexOf(this.bookmark);this.entries.splice(r,0,{type:Ti.Element,element:t,token:n})}removeEntry(t){let n=this.entries.indexOf(t);n!==-1&&this.entries.splice(n,1)}clearToLastMarker(){let t=this.entries.indexOf(lO);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){let n=this.entries.find(r=>r.type===Ti.Marker||this.treeAdapter.getTagName(r.element)===t);return n&&n.type===Ti.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===Ti.Element&&n.element===t)}};var Si={createDocument(){return{nodeName:"#document",mode:qn.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){let r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,r){let i=e.childNodes.find(o=>o.nodeName==="#documentType");if(i)i.name=t,i.publicId=n,i.systemId=r;else{let o={nodeName:"#documentType",name:t,publicId:n,systemId:r,parentNode:null};Si.appendChild(e,o)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){let t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){let n=e.childNodes[e.childNodes.length-1];if(Si.isTextNode(n)){n.value+=t;return}}Si.appendChild(e,Si.createTextNode(t))},insertTextBefore(e,t,n){let r=e.childNodes[e.childNodes.indexOf(n)-1];r&&Si.isTextNode(r)?r.value+=t:Si.insertBefore(e,Si.createTextNode(t),n)},adoptAttributes(e,t){let n=new Set(e.attrs.map(r=>r.name));for(let r=0;re.startsWith(n))}function hO(e){return e.name===cO&&e.publicId===null&&(e.systemId===null||e.systemId===Xq)}function pO(e){if(e.name!==cO)return qn.QUIRKS;let{systemId:t}=e;if(t&&t.toLowerCase()===Qq)return qn.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),Jq.has(n))return qn.QUIRKS;let r=t===null?Zq:fO;if(uO(n,r))return qn.QUIRKS;if(r=t===null?dO:eV,uO(n,r))return qn.LIMITED_QUIRKS}return qn.NO_QUIRKS}var mO={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},nV="definitionurl",rV="definitionURL",iV=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),oV=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:j.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:j.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:j.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:j.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:j.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:j.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:j.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:j.XML}],["xml:space",{prefix:"xml",name:"space",namespace:j.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:j.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:j.XMLNS}]]),sV=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),aV=new Set([m.B,m.BIG,m.BLOCKQUOTE,m.BODY,m.BR,m.CENTER,m.CODE,m.DD,m.DIV,m.DL,m.DT,m.EM,m.EMBED,m.H1,m.H2,m.H3,m.H4,m.H5,m.H6,m.HEAD,m.HR,m.I,m.IMG,m.LI,m.LISTING,m.MENU,m.META,m.NOBR,m.OL,m.P,m.PRE,m.RUBY,m.S,m.SMALL,m.SPAN,m.STRONG,m.STRIKE,m.SUB,m.SUP,m.TABLE,m.TT,m.U,m.UL,m.VAR]);function gO(e){let t=e.tagID;return t===m.FONT&&e.attrs.some(({name:r})=>r===zi.COLOR||r===zi.SIZE||r===zi.FACE)||aV.has(t)}function zT(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var r,i;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(i=(r=this.treeAdapter).onItemPop)===null||i===void 0||i.call(r,t,this.openElements.current),n){let o,s;this.openElements.stackTop===0&&this.fragmentContext?(o=this.fragmentContext,s=this.fragmentContextID):{current:o,currentTagId:s}=this.openElements,this._setContextModes(o,s)}}_setContextModes(t,n){let r=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===j.HTML;this.currentNotInHTML=!r,this.tokenizer.inForeignNode=!r&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,j.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=M.TEXT}switchToPlaintextParsing(){this.insertionMode=M.TEXT,this.originalInsertionMode=M.IN_BODY,this.tokenizer.state=Pt.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let t=this.fragmentContext;for(;t;){if(this.treeAdapter.getTagName(t)===V.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==j.HTML))switch(this.fragmentContextID){case m.TITLE:case m.TEXTAREA:{this.tokenizer.state=Pt.RCDATA;break}case m.STYLE:case m.XMP:case m.IFRAME:case m.NOEMBED:case m.NOFRAMES:case m.NOSCRIPT:{this.tokenizer.state=Pt.RAWTEXT;break}case m.SCRIPT:{this.tokenizer.state=Pt.SCRIPT_DATA;break}case m.PLAINTEXT:{this.tokenizer.state=Pt.PLAINTEXT;break}default:}}_setDocumentType(t){let n=t.name||"",r=t.publicId||"",i=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,r,i),t.location){let s=this.treeAdapter.getChildNodes(this.document).find(a=>this.treeAdapter.isDocumentTypeNode(a));s&&this.treeAdapter.setNodeSourceCodeLocation(s,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){let r=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,r)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{let r=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(r??this.document,t)}}_appendElement(t,n){let r=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(r,t.location)}_insertElement(t,n){let r=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(r,t.location),this.openElements.push(r,t.tagID)}_insertFakeElement(t,n){let r=this.treeAdapter.createElement(t,j.HTML,[]);this._attachElementToTree(r,null),this.openElements.push(r,n)}_insertTemplate(t){let n=this.treeAdapter.createElement(t.tagName,j.HTML,t.attrs),r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,r),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(r,null)}_insertFakeRootElement(){let t=this.treeAdapter.createElement(V.HTML,j.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,m.HTML)}_appendCommentNode(t,n){let r=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,r),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(r,t.location)}_insertCharacters(t){let n,r;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:r}=this._findFosterParentingLocation(),r?this.treeAdapter.insertTextBefore(n,t.chars,r):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;let i=this.treeAdapter.getChildNodes(n),o=r?i.lastIndexOf(r):i.length,s=i[o-1];if(this.treeAdapter.getNodeSourceCodeLocation(s)){let{endLine:l,endCol:u,endOffset:c}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(s,{endLine:l,endCol:u,endOffset:c})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,t.location)}_adoptNodes(t,n){for(let r=this.treeAdapter.getFirstChild(t);r;r=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(r),this.treeAdapter.appendChild(n,r)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){let r=n.location,i=this.treeAdapter.getTagName(t),o=n.type===Xe.END_TAG&&i===n.tagName?{endTag:{...r},endLine:r.endLine,endCol:r.endCol,endOffset:r.endOffset}:{endLine:r.startLine,endCol:r.startCol,endOffset:r.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,o)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,r;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,r=this.fragmentContextID):{current:n,currentTagId:r}=this.openElements,t.tagID===m.SVG&&this.treeAdapter.getTagName(n)===V.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===j.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===m.MGLYPH||t.tagID===m.MALIGNMARK)&&r!==void 0&&!this._isIntegrationPoint(r,n,j.HTML)}_processToken(t){switch(t.type){case Xe.CHARACTER:{this.onCharacter(t);break}case Xe.NULL_CHARACTER:{this.onNullCharacter(t);break}case Xe.COMMENT:{this.onComment(t);break}case Xe.DOCTYPE:{this.onDoctype(t);break}case Xe.START_TAG:{this._processStartTag(t);break}case Xe.END_TAG:{this.onEndTag(t);break}case Xe.EOF:{this.onEof(t);break}case Xe.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,r){let i=this.treeAdapter.getNamespaceURI(n),o=this.treeAdapter.getAttrList(n);return yO(t,i,o,r)}_reconstructActiveFormattingElements(){let t=this.activeFormattingElements.entries.length;if(t){let n=this.activeFormattingElements.entries.findIndex(i=>i.type===Ti.Marker||this.openElements.contains(i.element)),r=n===-1?t-1:n-1;for(let i=r;i>=0;i--){let o=this.activeFormattingElements.entries[i];this._insertElement(o.token,this.treeAdapter.getNamespaceURI(o.element)),o.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=M.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(m.P),this.openElements.popUntilTagNamePopped(m.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(t===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case m.TR:{this.insertionMode=M.IN_ROW;return}case m.TBODY:case m.THEAD:case m.TFOOT:{this.insertionMode=M.IN_TABLE_BODY;return}case m.CAPTION:{this.insertionMode=M.IN_CAPTION;return}case m.COLGROUP:{this.insertionMode=M.IN_COLUMN_GROUP;return}case m.TABLE:{this.insertionMode=M.IN_TABLE;return}case m.BODY:{this.insertionMode=M.IN_BODY;return}case m.FRAMESET:{this.insertionMode=M.IN_FRAMESET;return}case m.SELECT:{this._resetInsertionModeForSelect(t);return}case m.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case m.HTML:{this.insertionMode=this.headElement?M.AFTER_HEAD:M.BEFORE_HEAD;return}case m.TD:case m.TH:{if(t>0){this.insertionMode=M.IN_CELL;return}break}case m.HEAD:{if(t>0){this.insertionMode=M.IN_HEAD;return}break}}this.insertionMode=M.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){let r=this.openElements.tagIDs[n];if(r===m.TEMPLATE)break;if(r===m.TABLE){this.insertionMode=M.IN_SELECT_IN_TABLE;return}}this.insertionMode=M.IN_SELECT}_isElementCausesFosterParenting(t){return vO.has(t)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let t=this.openElements.stackTop;t>=0;t--){let n=this.openElements.items[t];switch(this.openElements.tagIDs[t]){case m.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(n)===j.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case m.TABLE:{let r=this.treeAdapter.getParentNode(n);return r?{parent:r,beforeElement:n}:{parent:this.openElements.items[t-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){let n=this._findFosterParentingLocation();n.beforeElement?this.treeAdapter.insertBefore(n.parent,t,n.beforeElement):this.treeAdapter.appendChild(n.parent,t)}_isSpecialElement(t,n){let r=this.treeAdapter.getNamespaceURI(t);return FT[r].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){VG(this,t);return}switch(this.insertionMode){case M.INITIAL:{hd(this,t);break}case M.BEFORE_HTML:{md(this,t);break}case M.BEFORE_HEAD:{gd(this,t);break}case M.IN_HEAD:{bd(this,t);break}case M.IN_HEAD_NO_SCRIPT:{yd(this,t);break}case M.AFTER_HEAD:{Ed(this,t);break}case M.IN_BODY:case M.IN_CAPTION:case M.IN_CELL:case M.IN_TEMPLATE:{_O(this,t);break}case M.TEXT:case M.IN_SELECT:case M.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case M.IN_TABLE:case M.IN_TABLE_BODY:case M.IN_ROW:{qT(this,t);break}case M.IN_TABLE_TEXT:{MO(this,t);break}case M.IN_COLUMN_GROUP:{$m(this,t);break}case M.AFTER_BODY:{jm(this,t);break}case M.AFTER_AFTER_BODY:{Wm(this,t);break}default:}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){qG(this,t);return}switch(this.insertionMode){case M.INITIAL:{hd(this,t);break}case M.BEFORE_HTML:{md(this,t);break}case M.BEFORE_HEAD:{gd(this,t);break}case M.IN_HEAD:{bd(this,t);break}case M.IN_HEAD_NO_SCRIPT:{yd(this,t);break}case M.AFTER_HEAD:{Ed(this,t);break}case M.TEXT:{this._insertCharacters(t);break}case M.IN_TABLE:case M.IN_TABLE_BODY:case M.IN_ROW:{qT(this,t);break}case M.IN_COLUMN_GROUP:{$m(this,t);break}case M.AFTER_BODY:{jm(this,t);break}case M.AFTER_AFTER_BODY:{Wm(this,t);break}default:}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){VT(this,t);return}switch(this.insertionMode){case M.INITIAL:case M.BEFORE_HTML:case M.BEFORE_HEAD:case M.IN_HEAD:case M.IN_HEAD_NO_SCRIPT:case M.AFTER_HEAD:case M.IN_BODY:case M.IN_TABLE:case M.IN_CAPTION:case M.IN_COLUMN_GROUP:case M.IN_TABLE_BODY:case M.IN_ROW:case M.IN_CELL:case M.IN_SELECT:case M.IN_SELECT_IN_TABLE:case M.IN_TEMPLATE:case M.IN_FRAMESET:case M.AFTER_FRAMESET:{VT(this,t);break}case M.IN_TABLE_TEXT:{pd(this,t);break}case M.AFTER_BODY:{TV(this,t);break}case M.AFTER_AFTER_BODY:case M.AFTER_AFTER_FRAMESET:{SV(this,t);break}default:}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case M.INITIAL:{xV(this,t);break}case M.BEFORE_HEAD:case M.IN_HEAD:case M.IN_HEAD_NO_SCRIPT:case M.AFTER_HEAD:{this._err(t,Y.misplacedDoctype);break}case M.IN_TABLE_TEXT:{pd(this,t);break}default:}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,Y.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?GG(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case M.INITIAL:{hd(this,t);break}case M.BEFORE_HTML:{vV(this,t);break}case M.BEFORE_HEAD:{_V(this,t);break}case M.IN_HEAD:{xi(this,t);break}case M.IN_HEAD_NO_SCRIPT:{NV(this,t);break}case M.AFTER_HEAD:{kV(this,t);break}case M.IN_BODY:{Vn(this,t);break}case M.IN_TABLE:{Pu(this,t);break}case M.IN_TABLE_TEXT:{pd(this,t);break}case M.IN_CAPTION:{CG(this,t);break}case M.IN_COLUMN_GROUP:{WT(this,t);break}case M.IN_TABLE_BODY:{Zm(this,t);break}case M.IN_ROW:{Jm(this,t);break}case M.IN_CELL:{RG(this,t);break}case M.IN_SELECT:{IO(this,t);break}case M.IN_SELECT_IN_TABLE:{MG(this,t);break}case M.IN_TEMPLATE:{DG(this,t);break}case M.AFTER_BODY:{LG(this,t);break}case M.IN_FRAMESET:{PG(this,t);break}case M.AFTER_FRAMESET:{HG(this,t);break}case M.AFTER_AFTER_BODY:{zG(this,t);break}case M.AFTER_AFTER_FRAMESET:{UG(this,t);break}default:}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?KG(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case M.INITIAL:{hd(this,t);break}case M.BEFORE_HTML:{AV(this,t);break}case M.BEFORE_HEAD:{CV(this,t);break}case M.IN_HEAD:{wV(this,t);break}case M.IN_HEAD_NO_SCRIPT:{RV(this,t);break}case M.AFTER_HEAD:{MV(this,t);break}case M.IN_BODY:{Qm(this,t);break}case M.TEXT:{gG(this,t);break}case M.IN_TABLE:{Td(this,t);break}case M.IN_TABLE_TEXT:{pd(this,t);break}case M.IN_CAPTION:{wG(this,t);break}case M.IN_COLUMN_GROUP:{NG(this,t);break}case M.IN_TABLE_BODY:{GT(this,t);break}case M.IN_ROW:{DO(this,t);break}case M.IN_CELL:{kG(this,t);break}case M.IN_SELECT:{LO(this,t);break}case M.IN_SELECT_IN_TABLE:{OG(this,t);break}case M.IN_TEMPLATE:{IG(this,t);break}case M.AFTER_BODY:{BO(this,t);break}case M.IN_FRAMESET:{BG(this,t);break}case M.AFTER_FRAMESET:{FG(this,t);break}case M.AFTER_AFTER_BODY:{Wm(this,t);break}default:}}onEof(t){switch(this.insertionMode){case M.INITIAL:{hd(this,t);break}case M.BEFORE_HTML:{md(this,t);break}case M.BEFORE_HEAD:{gd(this,t);break}case M.IN_HEAD:{bd(this,t);break}case M.IN_HEAD_NO_SCRIPT:{yd(this,t);break}case M.AFTER_HEAD:{Ed(this,t);break}case M.IN_BODY:case M.IN_TABLE:case M.IN_CAPTION:case M.IN_COLUMN_GROUP:case M.IN_TABLE_BODY:case M.IN_ROW:case M.IN_CELL:case M.IN_SELECT:case M.IN_SELECT_IN_TABLE:{RO(this,t);break}case M.TEXT:{bG(this,t);break}case M.IN_TABLE_TEXT:{pd(this,t);break}case M.IN_TEMPLATE:{PO(this,t);break}case M.AFTER_BODY:case M.IN_FRAMESET:case M.AFTER_FRAMESET:case M.AFTER_AFTER_BODY:case M.AFTER_AFTER_FRAMESET:{YT(this,t);break}default:}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===w.LINE_FEED)){if(t.chars.length===1)return;t.chars=t.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(t);return}switch(this.insertionMode){case M.IN_HEAD:case M.IN_HEAD_NO_SCRIPT:case M.AFTER_HEAD:case M.TEXT:case M.IN_COLUMN_GROUP:case M.IN_SELECT:case M.IN_SELECT_IN_TABLE:case M.IN_FRAMESET:case M.AFTER_FRAMESET:{this._insertCharacters(t);break}case M.IN_BODY:case M.IN_CAPTION:case M.IN_CELL:case M.IN_TEMPLATE:case M.AFTER_BODY:case M.AFTER_AFTER_BODY:case M.AFTER_AFTER_FRAMESET:{AO(this,t);break}case M.IN_TABLE:case M.IN_TABLE_BODY:case M.IN_ROW:{qT(this,t);break}case M.IN_TABLE_TEXT:{kO(this,t);break}default:}}};function pV(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagID)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):NO(e,t),n}function mV(e,t){let n=null,r=e.openElements.stackTop;for(;r>=0;r--){let i=e.openElements.items[r];if(i===t.element)break;e._isSpecialElement(i,e.openElements.tagIDs[r])&&(n=i)}return n||(e.openElements.shortenToLength(Math.max(r,0)),e.activeFormattingElements.removeEntry(t)),n}function gV(e,t,n){let r=t,i=e.openElements.getCommonAncestor(t);for(let o=0,s=i;s!==n;o++,s=i){i=e.openElements.getCommonAncestor(s);let a=e.activeFormattingElements.getElementEntry(s),l=a&&o>=dV;!a||l?(l&&e.activeFormattingElements.removeEntry(a),e.openElements.remove(s)):(s=bV(e,a),r===t&&(e.activeFormattingElements.bookmark=a),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(s,r),r=s)}return r}function bV(e,t){let n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function yV(e,t,n){let r=e.treeAdapter.getTagName(t),i=Fs(r);if(e._isElementCausesFosterParenting(i))e._fosterParentElement(n);else{let o=e.treeAdapter.getNamespaceURI(t);i===m.TEMPLATE&&o===j.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function EV(e,t,n){let r=e.treeAdapter.getNamespaceURI(n.element),{token:i}=n,o=e.treeAdapter.createElement(i.tagName,r,i.attrs);e._adoptNodes(t,o),e.treeAdapter.appendChild(t,o),e.activeFormattingElements.insertElementAfterBookmark(o,i),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,o,i.tagID)}function KT(e,t){for(let n=0;n=n;r--)e._setEndLocation(e.openElements.items[r],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){let r=e.openElements.items[0],i=e.treeAdapter.getNodeSourceCodeLocation(r);if(i&&!i.endTag&&(e._setEndLocation(r,t),e.openElements.stackTop>=1)){let o=e.openElements.items[1],s=e.treeAdapter.getNodeSourceCodeLocation(o);s&&!s.endTag&&e._setEndLocation(o,t)}}}}function xV(e,t){e._setDocumentType(t);let n=t.forceQuirks?qn.QUIRKS:pO(t);hO(t)||e._err(t,Y.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=M.BEFORE_HTML}function hd(e,t){e._err(t,Y.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,qn.QUIRKS),e.insertionMode=M.BEFORE_HTML,e._processToken(t)}function vV(e,t){t.tagID===m.HTML?(e._insertElement(t,j.HTML),e.insertionMode=M.BEFORE_HEAD):md(e,t)}function AV(e,t){let n=t.tagID;(n===m.HTML||n===m.HEAD||n===m.BODY||n===m.BR)&&md(e,t)}function md(e,t){e._insertFakeRootElement(),e.insertionMode=M.BEFORE_HEAD,e._processToken(t)}function _V(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.HEAD:{e._insertElement(t,j.HTML),e.headElement=e.openElements.current,e.insertionMode=M.IN_HEAD;break}default:gd(e,t)}}function CV(e,t){let n=t.tagID;n===m.HEAD||n===m.BODY||n===m.HTML||n===m.BR?gd(e,t):e._err(t,Y.endTagWithoutMatchingOpenElement)}function gd(e,t){e._insertFakeElement(V.HEAD,m.HEAD),e.headElement=e.openElements.current,e.insertionMode=M.IN_HEAD,e._processToken(t)}function xi(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.BASE:case m.BASEFONT:case m.BGSOUND:case m.LINK:case m.META:{e._appendElement(t,j.HTML),t.ackSelfClosing=!0;break}case m.TITLE:{e._switchToTextParsing(t,Pt.RCDATA);break}case m.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,Pt.RAWTEXT):(e._insertElement(t,j.HTML),e.insertionMode=M.IN_HEAD_NO_SCRIPT);break}case m.NOFRAMES:case m.STYLE:{e._switchToTextParsing(t,Pt.RAWTEXT);break}case m.SCRIPT:{e._switchToTextParsing(t,Pt.SCRIPT_DATA);break}case m.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=M.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(M.IN_TEMPLATE);break}case m.HEAD:{e._err(t,Y.misplacedStartTagForHeadElement);break}default:bd(e,t)}}function wV(e,t){switch(t.tagID){case m.HEAD:{e.openElements.pop(),e.insertionMode=M.AFTER_HEAD;break}case m.BODY:case m.BR:case m.HTML:{bd(e,t);break}case m.TEMPLATE:{Ba(e,t);break}default:e._err(t,Y.endTagWithoutMatchingOpenElement)}}function Ba(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==m.TEMPLATE&&e._err(t,Y.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Y.endTagWithoutMatchingOpenElement)}function bd(e,t){e.openElements.pop(),e.insertionMode=M.AFTER_HEAD,e._processToken(t)}function NV(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.BASEFONT:case m.BGSOUND:case m.HEAD:case m.LINK:case m.META:case m.NOFRAMES:case m.STYLE:{xi(e,t);break}case m.NOSCRIPT:{e._err(t,Y.nestedNoscriptInHead);break}default:yd(e,t)}}function RV(e,t){switch(t.tagID){case m.NOSCRIPT:{e.openElements.pop(),e.insertionMode=M.IN_HEAD;break}case m.BR:{yd(e,t);break}default:e._err(t,Y.endTagWithoutMatchingOpenElement)}}function yd(e,t){let n=t.type===Xe.EOF?Y.openElementsLeftAfterEof:Y.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=M.IN_HEAD,e._processToken(t)}function kV(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.BODY:{e._insertElement(t,j.HTML),e.framesetOk=!1,e.insertionMode=M.IN_BODY;break}case m.FRAMESET:{e._insertElement(t,j.HTML),e.insertionMode=M.IN_FRAMESET;break}case m.BASE:case m.BASEFONT:case m.BGSOUND:case m.LINK:case m.META:case m.NOFRAMES:case m.SCRIPT:case m.STYLE:case m.TEMPLATE:case m.TITLE:{e._err(t,Y.abandonedHeadElementChild),e.openElements.push(e.headElement,m.HEAD),xi(e,t),e.openElements.remove(e.headElement);break}case m.HEAD:{e._err(t,Y.misplacedStartTagForHeadElement);break}default:Ed(e,t)}}function MV(e,t){switch(t.tagID){case m.BODY:case m.HTML:case m.BR:{Ed(e,t);break}case m.TEMPLATE:{Ba(e,t);break}default:e._err(t,Y.endTagWithoutMatchingOpenElement)}}function Ed(e,t){e._insertFakeElement(V.BODY,m.BODY),e.insertionMode=M.IN_BODY,Xm(e,t)}function Xm(e,t){switch(t.type){case Xe.CHARACTER:{_O(e,t);break}case Xe.WHITESPACE_CHARACTER:{AO(e,t);break}case Xe.COMMENT:{VT(e,t);break}case Xe.START_TAG:{Vn(e,t);break}case Xe.END_TAG:{Qm(e,t);break}case Xe.EOF:{RO(e,t);break}default:}}function AO(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function _O(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function OV(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function DV(e,t){let n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function IV(e,t){let n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,j.HTML),e.insertionMode=M.IN_FRAMESET)}function LV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,j.HTML)}function PV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&Lu.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,j.HTML)}function BV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,j.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function HV(e,t){let n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,j.HTML),n||(e.formElement=e.openElements.current))}function FV(e,t){e.framesetOk=!1;let n=t.tagID;for(let r=e.openElements.stackTop;r>=0;r--){let i=e.openElements.tagIDs[r];if(n===m.LI&&i===m.LI||(n===m.DD||n===m.DT)&&(i===m.DD||i===m.DT)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(i!==m.ADDRESS&&i!==m.DIV&&i!==m.P&&e._isSpecialElement(e.openElements.items[r],i))break}e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,j.HTML)}function zV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,j.HTML),e.tokenizer.state=Pt.PLAINTEXT}function UV(e,t){e.openElements.hasInScope(m.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,j.HTML),e.framesetOk=!1}function qV(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(V.A);n&&(KT(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,j.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function VV(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,j.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function GV(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(m.NOBR)&&(KT(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,j.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function KV(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,j.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function YV(e,t){e.treeAdapter.getDocumentMode(e.document)!==qn.QUIRKS&&e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,j.HTML),e.framesetOk=!1,e.insertionMode=M.IN_TABLE}function CO(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,j.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function wO(e){let t=ud(e,zi.TYPE);return t!=null&&t.toLowerCase()===cV}function WV(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,j.HTML),wO(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function $V(e,t){e._appendElement(t,j.HTML),t.ackSelfClosing=!0}function jV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._appendElement(t,j.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function XV(e,t){t.tagName=V.IMG,t.tagID=m.IMG,CO(e,t)}function QV(e,t){e._insertElement(t,j.HTML),e.skipNextNewLine=!0,e.tokenizer.state=Pt.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=M.TEXT}function ZV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,Pt.RAWTEXT)}function JV(e,t){e.framesetOk=!1,e._switchToTextParsing(t,Pt.RAWTEXT)}function SO(e,t){e._switchToTextParsing(t,Pt.RAWTEXT)}function eG(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,j.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===M.IN_TABLE||e.insertionMode===M.IN_CAPTION||e.insertionMode===M.IN_TABLE_BODY||e.insertionMode===M.IN_ROW||e.insertionMode===M.IN_CELL?M.IN_SELECT_IN_TABLE:M.IN_SELECT}function tG(e,t){e.openElements.currentTagId===m.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,j.HTML)}function nG(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,j.HTML)}function rG(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(m.RTC),e._insertElement(t,j.HTML)}function iG(e,t){e._reconstructActiveFormattingElements(),zT(t),Ym(t),t.selfClosing?e._appendElement(t,j.MATHML):e._insertElement(t,j.MATHML),t.ackSelfClosing=!0}function oG(e,t){e._reconstructActiveFormattingElements(),UT(t),Ym(t),t.selfClosing?e._appendElement(t,j.SVG):e._insertElement(t,j.SVG),t.ackSelfClosing=!0}function xO(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,j.HTML)}function Vn(e,t){switch(t.tagID){case m.I:case m.S:case m.B:case m.U:case m.EM:case m.TT:case m.BIG:case m.CODE:case m.FONT:case m.SMALL:case m.STRIKE:case m.STRONG:{VV(e,t);break}case m.A:{qV(e,t);break}case m.H1:case m.H2:case m.H3:case m.H4:case m.H5:case m.H6:{PV(e,t);break}case m.P:case m.DL:case m.OL:case m.UL:case m.DIV:case m.DIR:case m.NAV:case m.MAIN:case m.MENU:case m.ASIDE:case m.CENTER:case m.FIGURE:case m.FOOTER:case m.HEADER:case m.HGROUP:case m.DIALOG:case m.DETAILS:case m.ADDRESS:case m.ARTICLE:case m.SEARCH:case m.SECTION:case m.SUMMARY:case m.FIELDSET:case m.BLOCKQUOTE:case m.FIGCAPTION:{LV(e,t);break}case m.LI:case m.DD:case m.DT:{FV(e,t);break}case m.BR:case m.IMG:case m.WBR:case m.AREA:case m.EMBED:case m.KEYGEN:{CO(e,t);break}case m.HR:{jV(e,t);break}case m.RB:case m.RTC:{nG(e,t);break}case m.RT:case m.RP:{rG(e,t);break}case m.PRE:case m.LISTING:{BV(e,t);break}case m.XMP:{ZV(e,t);break}case m.SVG:{oG(e,t);break}case m.HTML:{OV(e,t);break}case m.BASE:case m.LINK:case m.META:case m.STYLE:case m.TITLE:case m.SCRIPT:case m.BGSOUND:case m.BASEFONT:case m.TEMPLATE:{xi(e,t);break}case m.BODY:{DV(e,t);break}case m.FORM:{HV(e,t);break}case m.NOBR:{GV(e,t);break}case m.MATH:{iG(e,t);break}case m.TABLE:{YV(e,t);break}case m.INPUT:{WV(e,t);break}case m.PARAM:case m.TRACK:case m.SOURCE:{$V(e,t);break}case m.IMAGE:{XV(e,t);break}case m.BUTTON:{UV(e,t);break}case m.APPLET:case m.OBJECT:case m.MARQUEE:{KV(e,t);break}case m.IFRAME:{JV(e,t);break}case m.SELECT:{eG(e,t);break}case m.OPTION:case m.OPTGROUP:{tG(e,t);break}case m.NOEMBED:case m.NOFRAMES:{SO(e,t);break}case m.FRAMESET:{IV(e,t);break}case m.TEXTAREA:{QV(e,t);break}case m.NOSCRIPT:{e.options.scriptingEnabled?SO(e,t):xO(e,t);break}case m.PLAINTEXT:{zV(e,t);break}case m.COL:case m.TH:case m.TD:case m.TR:case m.HEAD:case m.FRAME:case m.TBODY:case m.TFOOT:case m.THEAD:case m.CAPTION:case m.COLGROUP:break;default:xO(e,t)}}function sG(e,t){if(e.openElements.hasInScope(m.BODY)&&(e.insertionMode=M.AFTER_BODY,e.options.sourceCodeLocationInfo)){let n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function aG(e,t){e.openElements.hasInScope(m.BODY)&&(e.insertionMode=M.AFTER_BODY,BO(e,t))}function lG(e,t){let n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function uG(e){let t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(m.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(m.FORM):n&&e.openElements.remove(n))}function cG(e){e.openElements.hasInButtonScope(m.P)||e._insertFakeElement(V.P,m.P),e._closePElement()}function fG(e){e.openElements.hasInListItemScope(m.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(m.LI),e.openElements.popUntilTagNamePopped(m.LI))}function dG(e,t){let n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function hG(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function pG(e,t){let n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function mG(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(V.BR,m.BR),e.openElements.pop(),e.framesetOk=!1}function NO(e,t){let n=t.tagName,r=t.tagID;for(let i=e.openElements.stackTop;i>0;i--){let o=e.openElements.items[i],s=e.openElements.tagIDs[i];if(r===s&&(r!==m.UNKNOWN||e.treeAdapter.getTagName(o)===n)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.stackTop>=i&&e.openElements.shortenToLength(i);break}if(e._isSpecialElement(o,s))break}}function Qm(e,t){switch(t.tagID){case m.A:case m.B:case m.I:case m.S:case m.U:case m.EM:case m.TT:case m.BIG:case m.CODE:case m.FONT:case m.NOBR:case m.SMALL:case m.STRIKE:case m.STRONG:{KT(e,t);break}case m.P:{cG(e);break}case m.DL:case m.UL:case m.OL:case m.DIR:case m.DIV:case m.NAV:case m.PRE:case m.MAIN:case m.MENU:case m.ASIDE:case m.BUTTON:case m.CENTER:case m.FIGURE:case m.FOOTER:case m.HEADER:case m.HGROUP:case m.DIALOG:case m.ADDRESS:case m.ARTICLE:case m.DETAILS:case m.SEARCH:case m.SECTION:case m.SUMMARY:case m.LISTING:case m.FIELDSET:case m.BLOCKQUOTE:case m.FIGCAPTION:{lG(e,t);break}case m.LI:{fG(e);break}case m.DD:case m.DT:{dG(e,t);break}case m.H1:case m.H2:case m.H3:case m.H4:case m.H5:case m.H6:{hG(e);break}case m.BR:{mG(e);break}case m.BODY:{sG(e,t);break}case m.HTML:{aG(e,t);break}case m.FORM:{uG(e);break}case m.APPLET:case m.OBJECT:case m.MARQUEE:{pG(e,t);break}case m.TEMPLATE:{Ba(e,t);break}default:NO(e,t)}}function RO(e,t){e.tmplInsertionModeStack.length>0?PO(e,t):YT(e,t)}function gG(e,t){var n;t.tagID===m.SCRIPT&&((n=e.scriptHandler)===null||n===void 0||n.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function bG(e,t){e._err(t,Y.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function qT(e,t){if(e.openElements.currentTagId!==void 0&&vO.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=M.IN_TABLE_TEXT,t.type){case Xe.CHARACTER:{MO(e,t);break}case Xe.WHITESPACE_CHARACTER:{kO(e,t);break}}else Sd(e,t)}function yG(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,j.HTML),e.insertionMode=M.IN_CAPTION}function EG(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,j.HTML),e.insertionMode=M.IN_COLUMN_GROUP}function TG(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(V.COLGROUP,m.COLGROUP),e.insertionMode=M.IN_COLUMN_GROUP,WT(e,t)}function SG(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,j.HTML),e.insertionMode=M.IN_TABLE_BODY}function xG(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(V.TBODY,m.TBODY),e.insertionMode=M.IN_TABLE_BODY,Zm(e,t)}function vG(e,t){e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function AG(e,t){wO(t)?e._appendElement(t,j.HTML):Sd(e,t),t.ackSelfClosing=!0}function _G(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,j.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function Pu(e,t){switch(t.tagID){case m.TD:case m.TH:case m.TR:{xG(e,t);break}case m.STYLE:case m.SCRIPT:case m.TEMPLATE:{xi(e,t);break}case m.COL:{TG(e,t);break}case m.FORM:{_G(e,t);break}case m.TABLE:{vG(e,t);break}case m.TBODY:case m.TFOOT:case m.THEAD:{SG(e,t);break}case m.INPUT:{AG(e,t);break}case m.CAPTION:{yG(e,t);break}case m.COLGROUP:{EG(e,t);break}default:Sd(e,t)}}function Td(e,t){switch(t.tagID){case m.TABLE:{e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode());break}case m.TEMPLATE:{Ba(e,t);break}case m.BODY:case m.CAPTION:case m.COL:case m.COLGROUP:case m.HTML:case m.TBODY:case m.TD:case m.TFOOT:case m.TH:case m.THEAD:case m.TR:break;default:Sd(e,t)}}function Sd(e,t){let n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,Xm(e,t),e.fosterParentingEnabled=n}function kO(e,t){e.pendingCharacterTokens.push(t)}function MO(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function pd(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===m.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===m.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===m.OPTGROUP&&e.openElements.pop();break}case m.OPTION:{e.openElements.currentTagId===m.OPTION&&e.openElements.pop();break}case m.SELECT:{e.openElements.hasInSelectScope(m.SELECT)&&(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode());break}case m.TEMPLATE:{Ba(e,t);break}default:}}function MG(e,t){let n=t.tagID;n===m.CAPTION||n===m.TABLE||n===m.TBODY||n===m.TFOOT||n===m.THEAD||n===m.TR||n===m.TD||n===m.TH?(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode(),e._processStartTag(t)):IO(e,t)}function OG(e,t){let n=t.tagID;n===m.CAPTION||n===m.TABLE||n===m.TBODY||n===m.TFOOT||n===m.THEAD||n===m.TR||n===m.TD||n===m.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode(),e.onEndTag(t)):LO(e,t)}function DG(e,t){switch(t.tagID){case m.BASE:case m.BASEFONT:case m.BGSOUND:case m.LINK:case m.META:case m.NOFRAMES:case m.SCRIPT:case m.STYLE:case m.TEMPLATE:case m.TITLE:{xi(e,t);break}case m.CAPTION:case m.COLGROUP:case m.TBODY:case m.TFOOT:case m.THEAD:{e.tmplInsertionModeStack[0]=M.IN_TABLE,e.insertionMode=M.IN_TABLE,Pu(e,t);break}case m.COL:{e.tmplInsertionModeStack[0]=M.IN_COLUMN_GROUP,e.insertionMode=M.IN_COLUMN_GROUP,WT(e,t);break}case m.TR:{e.tmplInsertionModeStack[0]=M.IN_TABLE_BODY,e.insertionMode=M.IN_TABLE_BODY,Zm(e,t);break}case m.TD:case m.TH:{e.tmplInsertionModeStack[0]=M.IN_ROW,e.insertionMode=M.IN_ROW,Jm(e,t);break}default:e.tmplInsertionModeStack[0]=M.IN_BODY,e.insertionMode=M.IN_BODY,Vn(e,t)}}function IG(e,t){t.tagID===m.TEMPLATE&&Ba(e,t)}function PO(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):YT(e,t)}function LG(e,t){t.tagID===m.HTML?Vn(e,t):jm(e,t)}function BO(e,t){var n;if(t.tagID===m.HTML){if(e.fragmentContext||(e.insertionMode=M.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===m.HTML){e._setEndLocation(e.openElements.items[0],t);let r=e.openElements.items[1];r&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(r))===null||n===void 0)&&n.endTag)&&e._setEndLocation(r,t)}}else jm(e,t)}function jm(e,t){e.insertionMode=M.IN_BODY,Xm(e,t)}function PG(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.FRAMESET:{e._insertElement(t,j.HTML);break}case m.FRAME:{e._appendElement(t,j.HTML),t.ackSelfClosing=!0;break}case m.NOFRAMES:{xi(e,t);break}default:}}function BG(e,t){t.tagID===m.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==m.FRAMESET&&(e.insertionMode=M.AFTER_FRAMESET))}function HG(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.NOFRAMES:{xi(e,t);break}default:}}function FG(e,t){t.tagID===m.HTML&&(e.insertionMode=M.AFTER_AFTER_FRAMESET)}function zG(e,t){t.tagID===m.HTML?Vn(e,t):Wm(e,t)}function Wm(e,t){e.insertionMode=M.IN_BODY,Xm(e,t)}function UG(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.NOFRAMES:{xi(e,t);break}default:}}function qG(e,t){t.chars=Tt,e._insertCharacters(t)}function VG(e,t){e._insertCharacters(t),e.framesetOk=!1}function HO(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==j.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function GG(e,t){if(gO(t))HO(e),e._startTagOutsideForeignContent(t);else{let n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===j.MATHML?zT(t):r===j.SVG&&(bO(t),UT(t)),Ym(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}function KG(e,t){if(t.tagID===m.P||t.tagID===m.BR){HO(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){let r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===j.HTML){e._endTagOutsideForeignContent(t);break}let i=e.treeAdapter.getTagName(r);if(i.toLowerCase()===t.tagName){t.tagName=i,e.openElements.shortenToLength(n);break}}}var Nfe=String.prototype.codePointAt==null?(e,t)=>(e.charCodeAt(t)&64512)===55296?(e.charCodeAt(t)-55296)*1024+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t):(e,t)=>e.codePointAt(t);var Lfe=new Set([V.AREA,V.BASE,V.BASEFONT,V.BGSOUND,V.BR,V.COL,V.EMBED,V.FRAME,V.HR,V.IMG,V.INPUT,V.KEYGEN,V.LINK,V.META,V.PARAM,V.SOURCE,V.TRACK,V.WBR]);function FO(e,t,n){typeof e=="string"&&(n=t,t=e,e=null);let r=Us.getFragmentParser(e,n);return r.tokenizer.write(t,!0),r.getFragment()}var vi={basename:YG,dirname:WG,extname:$G,join:jG,sep:"/"};function YG(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');xd(e);let n=0,r=-1,i=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let s=-1,a=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else s<0&&(o=!0,s=i+1),a>-1&&(e.codePointAt(i)===t.codePointAt(a--)?a<0&&(r=i):(a=-1,r=s));return n===r?r=s:r<0&&(r=e.length),e.slice(n,r)}function WG(e){if(xd(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function $G(e){xd(e);let t=e.length,n=-1,r=0,i=-1,o=0,s;for(;t--;){let a=e.codePointAt(t);if(a===47){if(s){r=t+1;break}continue}n<0&&(s=!0,n=t+1),a===46?i<0?i=t:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||n<0||o===0||o===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function jG(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function QG(e,t){let n="",r=0,i=-1,o=0,s=-1,a,l;for(;++s<=e.length;){if(s2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=s,o=0;continue}}else if(n.length>0){n="",r=0,i=s,o=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,s):n=e.slice(i+1,s),r=s-i-1;i=s,o=0}else a===46&&o>-1?o++:o=-1}return n}function xd(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var zO={cwd:ZG};function ZG(){return"/"}function Bu(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function UO(e){if(typeof e=="string")e=new URL(e);else if(!Bu(e)){let t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){let t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return JG(e)}function JG(e){if(e.hostname!==""){let r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}let t=e.pathname,n=-1;for(;++n":""))+")"})}return d;function d(){let h=VO,p,b,y;if((!t||o(l,u,c[c.length-1]||void 0))&&(h=sK(n(l,c)),h[0]===Fa))return h;if("children"in l&&l.children){let g=l;if(g.children&&h[0]!==nr)for(b=(r?g.children.length:-1)+s,y=c.concat(g);b>-1&&bi||n!==-1&&t>n||r!==-1&&t>r||lK.test(e.slice(0,t)))}function QT(e){Qe(e,"element",t=>{for(let[n,r]of Object.entries(aK)){if(r!==null&&!r.includes(t.tagName))continue;let i=t.properties?.[n];typeof i=="string"&&!ng(i)&&(t.properties[n]="")}})}var Hu="dataPending";function rg(e){return typeof e=="string"?e.split(/\s+/).includes("suggestion"):Array.isArray(e)?e.includes("suggestion"):!1}function Ad(e){return e?e.map(t=>t.type==="text"?t.value:t.type==="element"?Ad(t.children):"").join("").trim():""}function Fu(e){if(e.type!=="element")return!1;let t=e.properties;return t?rg(t.className)||"dataSuggestion"in t:!1}var uK="markdown-stream-dot";function cK(){return{type:"element",tagName:"svg",properties:{width:12,height:12,viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg",className:[uK],style:"margin-left:.25em;margin-top:-.25em",ariaHidden:"true"},children:[{type:"element",tagName:"circle",properties:{cx:6,cy:6,r:6},children:[]}]}}var fK=new Set(["p","div","pre","ul","ol"]),dK=new Set(["p","h1","h2","h3","h4","h5","h6","li","code"]);function hK(e){return e.type==="text"?/\S/.test(e.value):!1}function pK(e){return e.tagName!=="ul"&&e.tagName!=="ol"?!1:e.properties!=null&&Hu in e.properties}function GO(e){if(e.children.length===0)return e;let t=mK(e),n={...e,children:[...e.children]},r=n.children;for(let i=0;i=0;l--){let u=i[l];if(u.type!=="doctype"&&(u.type==="element"||hK(u))){o=l,s=u;break}}if(!s||s.type!=="element")return t;let a=s.tagName;if(fK.has(a)){if(t.push({index:o}),pK(s))return t;n=s;continue}return dK.has(a)&&t.push({index:o}),t}return t}function KO(e){return e.type==="text"&&e.value.trim()!==""}function ig(e){return e.filter(t=>t.type==="element"||t.type==="text"&&t.value.trim()!=="")}function YO(e){let t=e.children;if(t.some(KO))return!1;let n=t.filter(r=>r.type==="element");if(n.length===0)return!1;for(let r of n){if(r.tagName!=="li")return!1;let i=r.children;if(i.some(KO))return!1;let o=ig(i).filter(a=>a.type==="element");if(o.length!==1)return!1;let s=o[0];if(!s||!Fu(s))return!1}return!0}function ZT(e,...t){let n;Array.isArray(e)?n=[...e]:typeof e=="string"&&e.trim()!==""?n=e.split(/\s+/).filter(Boolean):n=[];for(let r of t)n.includes(r)||n.push(r);return n}function gK(e,...t){let n;return Array.isArray(e)?n=[...e]:typeof e=="string"&&e.trim()!==""?n=e.split(/\s+/).filter(Boolean):n=[],n.filter(r=>!t.includes(String(r)))}function WO(e,t){return{type:"element",tagName:"div",properties:{className:[e]},children:t}}function bK(e,t){return WO(e,[{type:"text",value:t}])}function $O(e,t){let n=["shiny-chat-suggestion-list"];t&&n.push("shiny-chat-suggestion-list--ordered"),e.properties.className=ZT(e.properties.className,...n),e.properties.role="list";let r=0;for(let i of e.children){if(i.type!=="element"||i.tagName!=="li")continue;let o=i.children,s=ig(o).find(Fu),a=Ad(s.children),l=s.properties.title,u=typeof l=="string"&&l.trim()!==""?l.trim():null,c=u?bK("shiny-chat-suggestion-list-item-title",u):null,f=WO("shiny-chat-suggestion-list-item-body",s.children);s.children=c?[c,f]:[f],s.properties.className=ZT(s.properties.className,"shiny-chat-suggestion-list-item");let d=s.properties.dataSuggestion;if(typeof d=="string"&&d!==""||(s.properties.dataSuggestion=a),t){let b=r+1;s.properties.ariaLabel=u?`Use chat suggestion #${b}: ${u} \u2014 ${a}`:`Use chat suggestion #${b}: ${a}`}else s.properties.ariaLabel=u?`Use chat suggestion: ${u} \u2014 ${a}`:`Use chat suggestion: ${a}`;let h=s.properties.style,p=`--_card-index:${r}`;s.properties.style=typeof h=="string"&&h!==""?`${p};${h}`:p,delete s.properties.title,i.properties.role="listitem",r++}}var yK=/^\s*<(s(p(a(n(\s[^>]*)?)?)?)?)?$/i;function EK(e){let n=e.children.filter(a=>a.type==="element");if(n.length===0)return!1;let r=n[n.length-1];if(r.tagName!=="li")return!1;let i=n.slice(0,-1),o=!1;for(let a of i){if(a.tagName!=="li")return!1;let l=a.children,u=ig(l);if(u.length!==0){if(u.length===1&&Fu(u[0])){o=!0;continue}return!1}}let s=ig(r.children);if(s.length!==0){if(s.length===1&&Fu(s[0]))o=!0;else if(!(s.length===1&&s[0].type==="text"&&yK.test(s[0].value)))return!1}return o||n.length===1}function TK(e,t){let n=["shiny-chat-suggestion-list"];t&&n.push("shiny-chat-suggestion-list--ordered"),e.properties.className=ZT(e.properties.className,...n),e.properties[Hu]=""}function SK(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.type==="element")return n}return null}var JT=()=>e=>{let t=SK(e.children);for(let n of e.children){if(n.type!=="element")continue;let r=n;if(!(r.tagName!=="ul"&&r.tagName!=="ol")){if(r===t){EK(r)&&TK(r,r.tagName==="ol");continue}YO(r)&&$O(r,r.tagName==="ol")}}};function xK(e){return{...e,properties:{...e.properties},children:e.children.map(n=>{if(n.type!=="element"||n.tagName!=="li")return n;let r=n;return{...r,properties:{...r.properties},children:r.children.map(o=>{if(!Fu(o))return o;let s=o;return{...s,properties:{...s.properties},children:[...s.children]}})}})}}function jO(e){let t=[];for(let r=0;r=0;n--){let r=t[n];if(r&&r.type==="element")return r}return null}function _K(e){for(let t of e.children)t.type==="element"&&t.tagName===eS&&(t.properties={...t.properties,[_d]:""})}var tS=()=>e=>{let t=e;for(;;){let n=AK(t);if(!n)return;if(n.tagName===eS){_K(t);return}t=n}};function XO(e){let t=QO(e.children);return t?{...e,children:t}:e}function QO(e){let t=!1,n=e.map(r=>{if(r.type!=="element")return r;let i=CK(r);return i!==r&&(t=!0),i});return t?n:null}function CK(e){let t=vK(e),n=QO(e.children);if(!t&&!n)return e;let r={...e.properties};return t&&delete r[_d],{...e,properties:r,children:n??e.children}}function og(e){return e?.type==="raw"}function sg(e){return e.type!=="doctype"}var wK=new Set(["iframe","noembed","noframes","script","style","xmp"]),NK=new Set(["textarea","title"]);function zu(e){return e===" "||e===" "||e===` -`||e==="\f"||e==="\r"}function RK(e){let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function kK(e){let t="";for(let n=0;n=65&&r<=90?r+32:r)}return t}function MK(e){return e===""||zu(e)||e==="/"||e===">"}function JO(e,t){let n=t;for(;n")return{end:n,selfClosingSlash:null};if(r==="/"){let o=n;if(n++,e.charAt(n)===">")return{end:n,selfClosingSlash:o};continue}for(n++;n"&&e.charAt(n)!=="=";)n++;for(;n=e.length)return null;n++;continue}for(;n";)n++}return null}function e2(e,t){let n=t;for(;!MK(e.charAt(n));)n++;return{name:kK(e.slice(t,n)),end:n}}function OK(e,t){if(e.charAt(t)===">")return t+1;if(e.charAt(t)==="-"&&e.charAt(t+1)===">")return t+2;let n=t;for(;n")return r+3;if(i==="!"&&e.charAt(r+3)===">")return r+4;n=r+2}return e.length}function ZO(e,t){let n=e.indexOf(">",t);return n===-1?e.length:n+1}function DK(e,t,n){let r=t;for(;r${h.selfClosingEnd}`})),r=d.end+1,!l&&(wK.has(f.name)||NK.has(f.name)))r=DK(e,r,f.name);else if(!l&&f.name==="plaintext")break}if(n.length===0)return e;let i=[],o=0;for(let s of n)i.push(e.slice(o,s.start),s.value),o=s.end;return i.push(e.slice(o)),i.join("")}function nS(e){return ag(e,{"shiny-aside":{start:""}})}var t2=()=>e=>{Qe(e,t=>{og(t)&&(t.value=nS(t.value))})};function rS(e){Qe(e,"element",t=>{t.tagName==="template"&&(!t.properties||!("dataShinyAside"in t.properties)||(t.tagName="shiny-aside",t.children=(t.content?.children??[]).filter(sg),delete t.content,delete t.properties.dataShinyAside))})}var n2=()=>rS;var IK={className:"class",htmlFor:"for",tabIndex:"tabindex",readOnly:"readonly",contentEditable:"contenteditable",colSpan:"colspan",rowSpan:"rowspan",autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",crossOrigin:"crossorigin",encType:"enctype",formAction:"formaction",formNoValidate:"formnovalidate",inputMode:"inputmode",maxLength:"maxlength",minLength:"minlength",noValidate:"novalidate",spellCheck:"spellcheck",srcDoc:"srcdoc",srcLang:"srclang",srcSet:"srcset"};function r2(e,t){if(!e.includes("-"))return t;let n;for(let[r,i]of Object.entries(IK))r in t&&(n||(n={...t}),n[i]=n[r],delete n[r]);return n??t}var LK=(e,t,n)=>(0,Uu.jsx)(e,typeof e=="string"?r2(e,t):t,n),PK=(e,t,n)=>(0,Uu.jsxs)(e,typeof e=="string"?r2(e,t):t,n);function i2(e,t){let n=new Ha(e),r=t.runSync(t.parse(n),n);return QT(r),r}function o2(e,t){let n=ld(FO(nS(e)));return rS(n),t.runSync(n),QT(n),n}function s2(e,t){let{tagToComponentMap:n,streaming:r}=t,i=r?e:XO(jO(e)),o=r?GO(i):i;return CT(o,{Fragment:Uu.Fragment,jsx:LK,jsxs:PK,components:n,passKeys:!0,passNode:!0,ignoreInvalidStyle:!0})}var BK=/<(s(h(i(n(y(-(a(s(i(d(e(\s[^<>]*)?)?)?)?)?)?)?)?)?)?)?)?$/;function a2(e){let t=e.match(BK);return!t||t[0]===""?e:e.slice(0,e.length-t[0].length)}function iS(e){if(e)throw e}var cg=q(g2(),1);function Cd(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function oS(){let e=[],t={run:n,use:r};return t;function n(...i){let o=-1,s=i.pop();if(typeof s!="function")throw new TypeError("Expected function as last argument, not "+s);a(null,...i);function a(l,...u){let c=e[++o],f=-1;if(l){s(l);return}for(;++fs.length,l;a&&s.push(i);try{l=e.apply(this,s)}catch(u){let c=u;if(a&&n)throw c;return i(c)}a||(l&&l.then&&typeof l.then=="function"?l.then(o,i):l instanceof Error?i(l):o(l))}function i(s,...a){n||(n=!0,t(s,...a))}function o(s){i(null,s)}}var y2=function(e){let r=this.constructor.prototype,i=r[e],o=function(){return i.apply(o,arguments)};return Object.setPrototypeOf(o,r),o};var HK={}.hasOwnProperty,uS=class e extends y2{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=oS()}copy(){let t=new e,n=-1;for(;++n0){let[h,...p]=c,b=r[d][1];Cd(b)&&Cd(h)&&(h=(0,cg.default)(!0,b,h)),r[d]=[u,h,...p]}}}},za=new uS().freeze();function sS(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function aS(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function lS(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function E2(e){if(!Cd(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function T2(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function ug(e){return FK(e)?e:new Ha(e)}function FK(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function zK(e){return typeof e=="string"||UK(e)}function UK(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var qK={};function Ua(e,t){let n=t||qK,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return x2(e,r,i)}function x2(e,t,n){if(VK(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return S2(e.children,t,n)}return Array.isArray(e)?S2(e,t,n):""}function S2(e,t,n){let r=[],i=-1;for(;++ii?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)s=Array.from(r),s.unshift(t,n),e.splice(...s);else for(n&&e.splice(t,n);o0?($t(e,e.length,0,t),e):t}var A2={}.hasOwnProperty;function fg(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function Gn(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var pn=qs(/[A-Za-z]/),Gt=qs(/[\dA-Za-z]/),_2=qs(/[#-'*+\--9=?A-Z^-~]/);function qa(e){return e!==null&&(e<32||e===127)}var wd=qs(/\d/),C2=qs(/[\dA-Fa-f]/),w2=qs(/[!-/:-@[-`{-~]/);function le(e){return e!==null&&e<-2}function Ke(e){return e!==null&&(e<0||e===32)}function Ne(e){return e===-2||e===-1||e===32}var Va=qs(/\p{P}|\p{S}/u),qi=qs(/\s/);function qs(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ui(e){let t=[],n=-1,r=0,i=0;for(;++n55295&&o<57344){let a=e.charCodeAt(n+1);o<56320&&a>56319&&a<57344?(s=String.fromCharCode(o,a),i=1):s="\uFFFD"}else s=String.fromCharCode(o);s&&(t.push(e.slice(r,n),encodeURIComponent(s)),r=n+i+1,s=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function Ce(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,o=0;return s;function s(l){return Ne(l)?(e.enter(n),a(l)):t(l)}function a(l){return Ne(l)&&o++s))return;let N=t.events.length,D=N,k,A;for(;D--;)if(t.events[D][0]==="exit"&&t.events[D][1].type==="chunkFlow"){if(k){A=t.events[D][1].end;break}k=!0}for(g(r),x=N;xT;){let v=n[S];t.containerState=v[1],v[0].exit.call(t,e)}n.length=T}function E(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function $K(e,t,n){return Ce(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Do(e){if(e===null||Ke(e)||qi(e))return 1;if(Va(e))return 2}function Vs(e,t,n){let r=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let f={...e[r][1].end},d={...e[n][1].start};M2(f,-l),M2(d,l),s={type:l>1?"strongSequence":"emphasisSequence",start:f,end:{...e[r][1].end}},a={type:l>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:d},o={type:l>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:l>1?"strong":"emphasis",start:{...s.start},end:{...a.end}},e[r][1].end={...s.start},e[n][1].start={...a.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=rr(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=rr(u,[["enter",i,t],["enter",s,t],["exit",s,t],["enter",o,t]]),u=rr(u,Vs(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=rr(u,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(c=2,u=rr(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):c=0,$t(e,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n0&&Ne(x)?Ce(e,E,"linePrefix",o+1)(x):E(x)}function E(x){return x===null||le(x)?e.check(O2,b,S)(x):(e.enter("codeFlowValue"),T(x))}function T(x){return x===null||le(x)?(e.exit("codeFlowValue"),E(x)):(e.consume(x),T)}function S(x){return e.exit("codeFenced"),t(x)}function v(x,N,D){let k=0;return A;function A(H){return x.enter("lineEnding"),x.consume(H),x.exit("lineEnding"),O}function O(H){return x.enter("codeFencedFence"),Ne(H)?Ce(x,G,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(H):G(H)}function G(H){return H===a?(x.enter("codeFencedFenceSequence"),z(H)):D(H)}function z(H){return H===a?(k++,x.consume(H),z):k>=s?(x.exit("codeFencedFenceSequence"),Ne(H)?Ce(x,L,"whitespace")(H):L(H)):D(H)}function L(H){return H===null||le(H)?(x.exit("codeFencedFence"),N(H)):D(H)}}}function oY(e,t,n){let r=this;return i;function i(s){return s===null?n(s):(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o)}function o(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}var Rd={name:"codeIndented",tokenize:aY},sY={partial:!0,tokenize:lY};function aY(e,t,n){let r=this;return i;function i(u){return e.enter("codeIndented"),Ce(e,o,"linePrefix",5)(u)}function o(u){let c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?s(u):n(u)}function s(u){return u===null?l(u):le(u)?e.attempt(sY,s,l)(u):(e.enter("codeFlowValue"),a(u))}function a(u){return u===null||le(u)?(e.exit("codeFlowValue"),s(u)):(e.consume(u),a)}function l(u){return e.exit("codeIndented"),t(u)}}function lY(e,t,n){let r=this;return i;function i(s){return r.parser.lazy[r.now().line]?n(s):le(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):Ce(e,o,"linePrefix",5)(s)}function o(s){let a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(s):le(s)?i(s):n(s)}}var fS={name:"codeText",previous:cY,resolve:uY,tokenize:fY};function uY(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){let i=n||0;this.setCursor(Math.trunc(t));let o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&kd(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),kd(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),kd(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(s):e.interrupt(r.parser.constructs.flow,n,t)(s)}}function Eg(e,t,n,r,i,o,s,a,l){let u=l||Number.POSITIVE_INFINITY,c=0;return f;function f(g){return g===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(g),e.exit(o),d):g===null||g===32||g===41||qa(g)?n(g):(e.enter(r),e.enter(s),e.enter(a),e.enter("chunkString",{contentType:"string"}),b(g))}function d(g){return g===62?(e.enter(o),e.consume(g),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),h(g))}function h(g){return g===62?(e.exit("chunkString"),e.exit(a),d(g)):g===null||g===60||le(g)?n(g):(e.consume(g),g===92?p:h)}function p(g){return g===60||g===62||g===92?(e.consume(g),h):h(g)}function b(g){return!c&&(g===null||g===41||Ke(g))?(e.exit("chunkString"),e.exit(a),e.exit(s),e.exit(r),t(g)):c999||h===null||h===91||h===93&&!l||h===94&&!a&&"_hiddenFootnoteSupport"in s.parser.constructs?n(h):h===93?(e.exit(o),e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):le(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),f(h))}function f(h){return h===null||h===91||h===93||le(h)||a++>999?(e.exit("chunkString"),c(h)):(e.consume(h),l||(l=!Ne(h)),h===92?d:f)}function d(h){return h===91||h===92||h===93?(e.consume(h),a++,f):f(h)}}function Sg(e,t,n,r,i,o){let s;return a;function a(d){return d===34||d===39||d===40?(e.enter(r),e.enter(i),e.consume(d),e.exit(i),s=d===40?41:d,l):n(d)}function l(d){return d===s?(e.enter(i),e.consume(d),e.exit(i),e.exit(r),t):(e.enter(o),u(d))}function u(d){return d===s?(e.exit(o),l(s)):d===null?n(d):le(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),Ce(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(d))}function c(d){return d===s||d===null||le(d)?(e.exit("chunkString"),u(d)):(e.consume(d),d===92?f:c)}function f(d){return d===s||d===92?(e.consume(d),c):c(d)}}function Ga(e,t){let n;return r;function r(i){return le(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):Ne(i)?Ce(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}var hS={name:"definition",tokenize:yY},bY={partial:!0,tokenize:EY};function yY(e,t,n){let r=this,i;return o;function o(h){return e.enter("definition"),s(h)}function s(h){return Tg.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return i=Gn(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),l):n(h)}function l(h){return Ke(h)?Ga(e,u)(h):u(h)}function u(h){return Eg(e,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function c(h){return e.attempt(bY,f,f)(h)}function f(h){return Ne(h)?Ce(e,d,"whitespace")(h):d(h)}function d(h){return h===null||le(h)?(e.exit("definition"),r.parser.defined.push(i),t(h)):n(h)}}function EY(e,t,n){return r;function r(a){return Ke(a)?Ga(e,i)(a):n(a)}function i(a){return Sg(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return Ne(a)?Ce(e,s,"whitespace")(a):s(a)}function s(a){return a===null||le(a)?t(a):n(a)}}var pS={name:"hardBreakEscape",tokenize:TY};function TY(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return le(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}var mS={name:"headingAtx",resolve:SY,tokenize:xY};function SY(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},$t(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function xY(e,t,n){let r=0;return i;function i(c){return e.enter("atxHeading"),o(c)}function o(c){return e.enter("atxHeadingSequence"),s(c)}function s(c){return c===35&&r++<6?(e.consume(c),s):c===null||Ke(c)?(e.exit("atxHeadingSequence"),a(c)):n(c)}function a(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||le(c)?(e.exit("atxHeading"),t(c)):Ne(c)?Ce(e,a,"whitespace")(c):(e.enter("atxHeadingText"),u(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),a(c))}function u(c){return c===null||c===35||Ke(c)?(e.exit("atxHeadingText"),a(c)):(e.consume(c),u)}}var D2=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],gS=["pre","script","style","textarea"];var bS={concrete:!0,name:"htmlFlow",resolveTo:_Y,tokenize:CY},vY={partial:!0,tokenize:NY},AY={partial:!0,tokenize:wY};function _Y(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function CY(e,t,n){let r=this,i,o,s,a,l;return u;function u(C){return c(C)}function c(C){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(C),f}function f(C){return C===33?(e.consume(C),d):C===47?(e.consume(C),o=!0,b):C===63?(e.consume(C),i=3,r.interrupt?t:_):pn(C)?(e.consume(C),s=String.fromCharCode(C),y):n(C)}function d(C){return C===45?(e.consume(C),i=2,h):C===91?(e.consume(C),i=5,a=0,p):pn(C)?(e.consume(C),i=4,r.interrupt?t:_):n(C)}function h(C){return C===45?(e.consume(C),r.interrupt?t:_):n(C)}function p(C){let ae="CDATA[";return C===ae.charCodeAt(a++)?(e.consume(C),a===ae.length?r.interrupt?t:G:p):n(C)}function b(C){return pn(C)?(e.consume(C),s=String.fromCharCode(C),y):n(C)}function y(C){if(C===null||C===47||C===62||Ke(C)){let ae=C===47,ue=s.toLowerCase();return!ae&&!o&&gS.includes(ue)?(i=1,r.interrupt?t(C):G(C)):D2.includes(s.toLowerCase())?(i=6,ae?(e.consume(C),g):r.interrupt?t(C):G(C)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(C):o?E(C):T(C))}return C===45||Gt(C)?(e.consume(C),s+=String.fromCharCode(C),y):n(C)}function g(C){return C===62?(e.consume(C),r.interrupt?t:G):n(C)}function E(C){return Ne(C)?(e.consume(C),E):A(C)}function T(C){return C===47?(e.consume(C),A):C===58||C===95||pn(C)?(e.consume(C),S):Ne(C)?(e.consume(C),T):A(C)}function S(C){return C===45||C===46||C===58||C===95||Gt(C)?(e.consume(C),S):v(C)}function v(C){return C===61?(e.consume(C),x):Ne(C)?(e.consume(C),v):T(C)}function x(C){return C===null||C===60||C===61||C===62||C===96?n(C):C===34||C===39?(e.consume(C),l=C,N):Ne(C)?(e.consume(C),x):D(C)}function N(C){return C===l?(e.consume(C),l=null,k):C===null||le(C)?n(C):(e.consume(C),N)}function D(C){return C===null||C===34||C===39||C===47||C===60||C===61||C===62||C===96||Ke(C)?v(C):(e.consume(C),D)}function k(C){return C===47||C===62||Ne(C)?T(C):n(C)}function A(C){return C===62?(e.consume(C),O):n(C)}function O(C){return C===null||le(C)?G(C):Ne(C)?(e.consume(C),O):n(C)}function G(C){return C===45&&i===2?(e.consume(C),I):C===60&&i===1?(e.consume(C),F):C===62&&i===4?(e.consume(C),re):C===63&&i===3?(e.consume(C),_):C===93&&i===5?(e.consume(C),U):le(C)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(vY,ee,z)(C)):C===null||le(C)?(e.exit("htmlFlowData"),z(C)):(e.consume(C),G)}function z(C){return e.check(AY,L,ee)(C)}function L(C){return e.enter("lineEnding"),e.consume(C),e.exit("lineEnding"),H}function H(C){return C===null||le(C)?z(C):(e.enter("htmlFlowData"),G(C))}function I(C){return C===45?(e.consume(C),_):G(C)}function F(C){return C===47?(e.consume(C),s="",P):G(C)}function P(C){if(C===62){let ae=s.toLowerCase();return gS.includes(ae)?(e.consume(C),re):G(C)}return pn(C)&&s.length<8?(e.consume(C),s+=String.fromCharCode(C),P):G(C)}function U(C){return C===93?(e.consume(C),_):G(C)}function _(C){return C===62?(e.consume(C),re):C===45&&i===2?(e.consume(C),_):G(C)}function re(C){return C===null||le(C)?(e.exit("htmlFlowData"),ee(C)):(e.consume(C),re)}function ee(C){return e.exit("htmlFlow"),t(C)}}function wY(e,t,n){let r=this;return i;function i(s){return le(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):n(s)}function o(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}function NY(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Vi,t,n)}}var yS={name:"htmlText",tokenize:RY};function RY(e,t,n){let r=this,i,o,s;return a;function a(_){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(_),l}function l(_){return _===33?(e.consume(_),u):_===47?(e.consume(_),v):_===63?(e.consume(_),T):pn(_)?(e.consume(_),D):n(_)}function u(_){return _===45?(e.consume(_),c):_===91?(e.consume(_),o=0,p):pn(_)?(e.consume(_),E):n(_)}function c(_){return _===45?(e.consume(_),h):n(_)}function f(_){return _===null?n(_):_===45?(e.consume(_),d):le(_)?(s=f,F(_)):(e.consume(_),f)}function d(_){return _===45?(e.consume(_),h):f(_)}function h(_){return _===62?I(_):_===45?d(_):f(_)}function p(_){let re="CDATA[";return _===re.charCodeAt(o++)?(e.consume(_),o===re.length?b:p):n(_)}function b(_){return _===null?n(_):_===93?(e.consume(_),y):le(_)?(s=b,F(_)):(e.consume(_),b)}function y(_){return _===93?(e.consume(_),g):b(_)}function g(_){return _===62?I(_):_===93?(e.consume(_),g):b(_)}function E(_){return _===null||_===62?I(_):le(_)?(s=E,F(_)):(e.consume(_),E)}function T(_){return _===null?n(_):_===63?(e.consume(_),S):le(_)?(s=T,F(_)):(e.consume(_),T)}function S(_){return _===62?I(_):T(_)}function v(_){return pn(_)?(e.consume(_),x):n(_)}function x(_){return _===45||Gt(_)?(e.consume(_),x):N(_)}function N(_){return le(_)?(s=N,F(_)):Ne(_)?(e.consume(_),N):I(_)}function D(_){return _===45||Gt(_)?(e.consume(_),D):_===47||_===62||Ke(_)?k(_):n(_)}function k(_){return _===47?(e.consume(_),I):_===58||_===95||pn(_)?(e.consume(_),A):le(_)?(s=k,F(_)):Ne(_)?(e.consume(_),k):I(_)}function A(_){return _===45||_===46||_===58||_===95||Gt(_)?(e.consume(_),A):O(_)}function O(_){return _===61?(e.consume(_),G):le(_)?(s=O,F(_)):Ne(_)?(e.consume(_),O):k(_)}function G(_){return _===null||_===60||_===61||_===62||_===96?n(_):_===34||_===39?(e.consume(_),i=_,z):le(_)?(s=G,F(_)):Ne(_)?(e.consume(_),G):(e.consume(_),L)}function z(_){return _===i?(e.consume(_),i=void 0,H):_===null?n(_):le(_)?(s=z,F(_)):(e.consume(_),z)}function L(_){return _===null||_===34||_===39||_===60||_===61||_===96?n(_):_===47||_===62||Ke(_)?k(_):(e.consume(_),L)}function H(_){return _===47||_===62||Ke(_)?k(_):n(_)}function I(_){return _===62?(e.consume(_),e.exit("htmlTextData"),e.exit("htmlText"),t):n(_)}function F(_){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),P}function P(_){return Ne(_)?Ce(e,U,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):U(_)}function U(_){return e.enter("htmlTextData"),s(_)}}var Ka={name:"labelEnd",resolveAll:DY,resolveTo:IY,tokenize:LY},kY={tokenize:PY},MY={tokenize:BY},OY={tokenize:HY};function DY(e){let t=-1,n=[];for(;++t=3&&(u===null||le(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),Ne(u)?Ce(e,a,"whitespace")(u):a(u))}}var Kn={continuation:{tokenize:YY},exit:$Y,name:"list",tokenize:KY},VY={partial:!0,tokenize:jY},GY={partial:!0,tokenize:WY};function KY(e,t,n){let r=this,i=r.events[r.events.length-1],o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return a;function a(h){let p=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(p==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:wd(h)){if(r.containerState.type||(r.containerState.type=p,e.enter(p,{_container:!0})),p==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(Ya,n,u)(h):u(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(h)}return n(h)}function l(h){return wd(h)&&++s<10?(e.consume(h),l):(!r.interrupt||s<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),u(h)):n(h)}function u(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(Vi,r.interrupt?n:c,e.attempt(VY,d,f))}function c(h){return r.containerState.initialBlankLine=!0,o++,d(h)}function f(h){return Ne(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),d):n(h)}function d(h){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(h)}}function YY(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Vi,i,o);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ce(e,t,"listItemIndent",r.containerState.size+1)(a)}function o(a){return r.containerState.furtherBlankLines||!Ne(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(GY,t,s)(a))}function s(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ce(e,e.attempt(Kn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function WY(e,t,n){let r=this;return Ce(e,i,"listItemIndent",r.containerState.size+1);function i(o){let s=r.events[r.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?t(o):n(o)}}function $Y(e){e.exit(this.containerState.type)}function jY(e,t,n){let r=this;return Ce(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){let s=r.events[r.events.length-1];return!Ne(o)&&s&&s[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}var xg={name:"setextUnderline",resolveTo:XY,tokenize:QY};function XY(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);let s={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",s,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=s,e.push(["exit",s,t]),e}function QY(e,t,n){let r=this,i;return o;function o(u){let c=r.events.length,f;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){f=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(e.enter("setextHeadingLine"),i=u,s(u)):n(u)}function s(u){return e.enter("setextHeadingLineSequence"),a(u)}function a(u){return u===i?(e.consume(u),a):(e.exit("setextHeadingLineSequence"),Ne(u)?Ce(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||le(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}var I2={tokenize:ZY};function ZY(e){let t=this,n=e.attempt(Vi,r,e.attempt(this.parser.constructs.flowInitial,i,Ce(e,e.attempt(this.parser.constructs.flow,i,e.attempt(dS,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var L2={resolveAll:F2()},P2=H2("string"),B2=H2("text");function H2(e){return{resolveAll:F2(e==="text"?JY:void 0),tokenize:t};function t(n){let r=this,i=this.parser.constructs[e],o=n.attempt(i,s,a);return s;function s(c){return u(c)?o(c):a(c)}function a(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),o(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;let f=i[c],d=-1;if(f)for(;++daW,contentInitial:()=>tW,disable:()=>lW,document:()=>eW,flow:()=>rW,flowInitial:()=>nW,insideSpan:()=>sW,string:()=>iW,text:()=>oW});var eW={42:Kn,43:Kn,45:Kn,48:Kn,49:Kn,50:Kn,51:Kn,52:Kn,53:Kn,54:Kn,55:Kn,56:Kn,57:Kn,62:hg},tW={91:hS},nW={[-2]:Rd,[-1]:Rd,32:Rd},rW={35:mS,42:Ya,45:[xg,Ya],60:bS,61:xg,95:Ya,96:gg,126:gg},iW={38:mg,92:pg},oW={[-5]:Md,[-4]:Md,[-3]:Md,33:ES,38:mg,42:Nd,60:[cS,yS],91:TS,92:[pS,pg],93:Ka,95:Nd,96:fS},sW={null:[Nd,L2]},aW={null:[42,95]},lW={null:[]};function z2(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},o=[],s=[],a=[],l=!0,u={attempt:k(N),check:k(D),consume:S,enter:v,exit:x,interrupt:k(D,{interrupt:!0})},c={code:null,containerState:{},defineSkip:g,events:[],now:y,parser:e,previous:null,sliceSerialize:p,sliceStream:b,write:h},f=t.tokenize.call(c,u),d;return t.resolveAll&&o.push(t),c;function h(z){return s=rr(s,z),E(),s[s.length-1]!==null?[]:(A(t,0),c.events=Vs(o,c.events,c),c.events)}function p(z,L){return cW(b(z),L)}function b(z){return uW(s,z)}function y(){let{_bufferIndex:z,_index:L,line:H,column:I,offset:F}=r;return{_bufferIndex:z,_index:L,line:H,column:I,offset:F}}function g(z){i[z.line]=z.column,G()}function E(){let z;for(;r._index-1){let a=s[0];typeof a=="string"?s[0]=a.slice(r):s.shift()}o>0&&s.push(e[i].slice(0,o))}return s}function cW(e,t){let n=-1,r=[],i;for(;++ns.index?o:s:o||s;return a&&a[0]&&(i=a[0],n=n.slice(0,a.index)),{cleaned:n,topic:r,buffer:i}}function i1(e,t){switch(t.type){case"INPUT_SENT":{let n={id:zn(),role:"user",content:t.content,streaming:!1,...t.attachments&&t.attachments.length>0?{attachments:t.attachments}:{},blocks:[{type:"content",content:t.content,contentType:"markdown"}]};if(t.awaitResponse===!1)return{...e,messages:[...e.messages,n],greeting:Am(e.greeting)};let r={id:zn(),role:"assistant",content:"",streaming:!1,isPlaceholder:!0,blocks:[]};return{...e,messages:[...e.messages,n,r],inputDisabled:!0,greeting:Am(e.greeting)}}case"message":{let n=xm(e.messages),r=rd(t.message,e.toolGrouping);return t.html_deps&&(r.htmlDeps=Pi(r.htmlDeps,t.html_deps)),{...e,messages:[...n,r],streamingMessage:null,inputDisabled:!1,greeting:Am(e.greeting)}}case"chunk_start":{let n=xm(e.messages),r=rd(t.message,e.toolGrouping);return r.streaming=!0,r.blocks=r.blocks.map((i,o,s)=>o===s.length-1&&i.type==="thinking"?{...i,streaming:!0,startedAt:Date.now()}:i),t.html_deps&&(r.htmlDeps=Pi(r.htmlDeps,t.html_deps)),{...e,messages:n,streamingMessage:r,inputDisabled:!0,greeting:Am(e.greeting)}}case"chunk":{let n=e.streamingMessage;if(!n||!n.streaming)return e;if(t.operation==="replace"){let c={...e,streamingMessage:{...n,content:"",blocks:[],insideThinkingTag:!1,tagBuffer:"",insideFence:!1,fenceMarker:"",htmlDeps:Pi(n.htmlDeps,t.html_deps)}};return t.content?i1(c,{...t,operation:"append",html_deps:void 0}):c}let r=t.content_type,i=n.blocks[n.blocks.length-1],o=(i?.type==="content"?i.contentType:void 0)??"markdown";if(r==="thinking"){let c=[...n.blocks],f=i?.type==="thinking"&&i.streaming?i:null;if(f){let{cleaned:d,topic:h,buffer:p}=_m(t.content,f.topicBuffer??"");c[c.length-1]={...f,content:f.content+d,topicBuffer:p,...h!==null?{topic:h}:{}}}else{let{cleaned:d,topic:h,buffer:p}=_m(t.content,"");c.push({type:"thinking",content:d,topicBuffer:p,streaming:!0,startedAt:Date.now(),...h!==null?{topic:h}:{}})}return{...e,streamingMessage:{...n,blocks:c,htmlDeps:Pi(n.htmlDeps,t.html_deps)}}}let s=r??o;if(n.insideThinkingTag||n.tagBuffer||n.insideFence||t.content.includes("<")||t.content.includes("```")||t.content.includes("~~~")){let c={insideThinkingTag:n.insideThinkingTag??!1,tagBuffer:n.tagBuffer??"",insideFence:n.insideFence??!1,fenceMarker:n.fenceMarker??""},{segments:f,state:d}=g7(t.content,c,m7(n.blocks)),h=!!(n.insideThinkingTag||n.tagBuffer||n.insideFence),p=f.some(g=>g.type==="thinking"),b=d.insideThinkingTag,y=d.insideFence!==(n.insideFence??!1);if(h||p||b||y){let g=[...n.blocks];for(let T of f)if(T.type==="thinking"){let S=g[g.length-1];if(S?.type==="thinking"&&S.streaming){let{cleaned:x,topic:v,buffer:N}=_m(T.text,S.topicBuffer??"");g[g.length-1]={...S,content:S.content+x,topicBuffer:N,...v!==null?{topic:v}:{}}}else{let{cleaned:x,topic:v,buffer:N}=_m(T.text,"");g.push({type:"thinking",content:x,topicBuffer:N,streaming:!0,startedAt:Date.now(),...v!==null?{topic:v}:{}})}}else{let S=g[g.length-1];S?.type==="thinking"&&S.streaming&&(g[g.length-1]={...S,content:S.content+(S.topicBuffer??""),topicBuffer:"",streaming:!1,durationMs:S.startedAt?Date.now()-S.startedAt:void 0});let x=g[g.length-1];x?.type==="content"&&x.contentType===s?g[g.length-1]={...x,content:x.content+T.text}:T.text&&g.push({type:"content",content:T.text,contentType:s})}let E=g.filter(T=>T.type==="content").map(T=>T.content).join("");return{...e,streamingMessage:{...n,content:E,blocks:g,insideThinkingTag:d.insideThinkingTag,tagBuffer:d.tagBuffer,insideFence:d.insideFence,fenceMarker:d.fenceMarker,htmlDeps:Pi(n.htmlDeps,t.html_deps)}}}if(d.tagBuffer)return{...e,streamingMessage:{...n,insideThinkingTag:d.insideThinkingTag,tagBuffer:d.tagBuffer,insideFence:d.insideFence,fenceMarker:d.fenceMarker,htmlDeps:Pi(n.htmlDeps,t.html_deps)}}}let a=[...n.blocks];i?.type==="thinking"&&i.streaming&&(a[a.length-1]={...i,content:i.content+(i.topicBuffer??""),topicBuffer:"",streaming:!1,durationMs:i.startedAt?Date.now()-i.startedAt:void 0});let l=a[a.length-1];l?.type==="content"&&l.contentType===s?a[a.length-1]={...l,content:l.content+t.content}:a.push({type:"content",content:t.content,contentType:s});let u=a.filter(c=>c.type==="content").map(c=>c.content).join("");return{...e,streamingMessage:{...n,content:u,blocks:a,insideThinkingTag:!1,tagBuffer:"",htmlDeps:Pi(n.htmlDeps,t.html_deps)}}}case"block_insert":{let n=e.streamingMessage;if(!n||!n.streaming)return console.warn("Ignoring block_insert action: no message stream is in flight"),e;if(!uM(n.role,t.block.type))return console.warn("Ignoring non-html_block block_insert for a user-role message"),e;let r=null,i=null,o=null;if(Nu(t.block)?r=nd(t.block):t.block.type==="html_block"?o=Ru(t.block):i=vm(t.block,e.toolGrouping),!r&&!i&&!o)return e;let s=[...n.blocks],a=s[s.length-1];return a?.type==="thinking"&&a.streaming&&(s[s.length-1]={...a,content:a.content+(a.topicBuffer??""),topicBuffer:"",streaming:!1,durationMs:a.startedAt?Date.now()-a.startedAt:void 0}),r?s=Is(s,r,e1):o?s.push(ku(o)):i&&(s=jT(s,i,e.toolGrouping)),{...e,streamingMessage:{...n,blocks:s,htmlDeps:Pi(n.htmlDeps,Pi(o?.html_deps,t.html_deps))}}}case"chunk_end":{let n=e.streamingMessage;if(!n||!n.streaming){if(e.cancelRequested){let o=xm(e.messages),s={id:zn(),role:"assistant",content:"",streaming:!1,cancelled:!0,blocks:[]};return{...e,messages:[...o,s],streamingMessage:null,inputDisabled:!1,cancelRequested:!1}}return e}let r=E7(n,e.toolGrouping),i=e.cancelRequested?{...r,cancelled:!0}:r;return{...e,messages:[...e.messages,i],streamingMessage:null,inputDisabled:!1,cancelRequested:!1}}case"CANCEL_REQUESTED":return{...e,cancelRequested:!0};case"update_cancel":return e.enableCancelExplicit?e:{...e,enableCancel:t.enable_cancel};case"update_upload":return e.enableUploadExplicit?e:{...e,enableUpload:t.enable_upload};case"SET_TOOL_GROUPING":return t.grouping===e.toolGrouping?e:{...e,toolGrouping:t.grouping,messages:e.messages.map(n=>lM(n,t.grouping)),streamingMessage:e.streamingMessage?lM(e.streamingMessage,t.grouping):null};case"SET_DRAWER_WIDTH":return!e.drawer.enabled||e.drawer.width===t.width?e:{...e,drawer:{...e.drawer,width:t.width}};case"clear":{let n=t.greeting?null:e.greeting?{...e.greeting,status:e.greeting.status==="held"?"held":"visible"}:null;return{...Bi,inputPlaceholder:e.inputPlaceholder,greeting:n,enableCancel:e.enableCancel,enableCancelExplicit:e.enableCancelExplicit,slashCommands:e.slashCommands,enableUpload:e.enableUpload,enableUploadExplicit:e.enableUploadExplicit,toolGrouping:e.toolGrouping,history:e.history,drawer:e.drawer}}case"update_input":return{...e,inputPlaceholder:t.placeholder??e.inputPlaceholder};case"remove_loading":{let n=xm(e.messages);return e.streamingMessage?{...e,messages:n}:{...e,messages:n,inputDisabled:!1,cancelRequested:!1}}case"greeting":{let n=t.options.persistent===!0,r=iM(e.greeting,n,e.messages.length>0);return{...e,greeting:{content:t.content,contentType:t.content_type,streaming:!1,status:r,options:t.options,blocks:[{type:"content",content:t.content,contentType:t.content_type}]}}}case"greeting_start":{let n=t.options.persistent===!0,r=iM(e.greeting,n,e.messages.length>0);return{...e,greeting:{content:t.content,contentType:t.content_type,streaming:!0,status:r,options:t.options,blocks:t.content?[{type:"content",content:t.content,contentType:t.content_type}]:[]}}}case"greeting_dismissed":{let n=e.greeting;return!n||n.status!=="dismissing"?e:{...e,greeting:{...n,status:"dismissed"}}}case"greeting_chunk":{let n=e.greeting;if(!n||!n.streaming)return e;let r=t.content_type??n.contentType,i;if(t.operation==="replace")i=[{type:"content",content:t.content,contentType:r}];else{let s=[...n.blocks],a=s[s.length-1];a&&a.contentType===r?(s[s.length-1]={...a,content:a.content+t.content},i=s):i=[...s,{type:"content",content:t.content,contentType:r}]}let o=i.map(s=>s.content).join("");return{...e,greeting:{...n,content:o,contentType:r,blocks:i}}}case"greeting_end":{let n=e.greeting;return n?.streaming?n.content?{...e,greeting:{...n,streaming:!1}}:{...e,greeting:null}:e}case"greeting_clear":return{...e,greeting:null};case"greeting_settle":{let n=e.greeting;return!n||n.status!=="held"?e:t.restored||e.messages.length>0?{...e,greeting:null}:{...e,greeting:{...n,status:"visible"}}}case"update_slash_commands":return{...e,slashCommands:t.commands};case"drawer_show":return e.drawer.enabled?{...e,drawer:{...rM(e.drawer,t),visible:!0}}:e;case"drawer_hide":return e.drawer.enabled?{...e,drawer:{...e.drawer,visible:!1}}:e;case"drawer_toggle":return e.drawer.enabled?{...e,drawer:{...e.drawer,visible:!e.drawer.visible}}:e;case"drawer_update":return e.drawer.enabled?{...e,drawer:rM(e.drawer,t)}:e;case"history_update":return{...e,history:{enabled:t.enabled,conversations:t.conversations,activeId:t.active_id}};case"history_navigate":return e;case"update_siblings":{let n=e.messages.map((r,i)=>{let o=t.data[i];return o?{...r,siblings:o}:r.siblings?{...r,siblings:void 0}:r});return{...e,messages:n}}default:{let n=t;return e}}}function lM(e,t){if(!e.blocks.some(r=>r.type==="tool_loop"))return e;let n=e.blocks.map(r=>r.type==="tool_loop"?eM(r,t):r);return{...e,blocks:n,content:id(n)}}function E7(e,t="tool"){let n=[];for(let i of e.blocks)i.type==="thinking"&&i.streaming?n.push({...i,content:i.content+(i.topicBuffer??""),topicBuffer:"",streaming:!1,durationMs:i.startedAt?Date.now()-i.startedAt:void 0}):i.type==="content"&&r1.test(i.content)?(r1.lastIndex=0,n.push(...Cm(i.content,i.contentType))):n.push(i);let r=id(n);return{...e,content:r,streaming:!1,blocks:n}}var Tr=(0,er.createContext)(null),o1=(0,er.createContext)(null);function Ro(){return(0,er.useContext)(o1)}var T7={supersededRequests:new Set,requestDefinitionIcons:new Map},s1=(0,er.createContext)(T7),a1=(0,er.createContext)(Bi.toolGrouping);function fM(){return(0,er.useContext)(a1)}var od=(0,er.createContext)(null),l1=(0,er.createContext)([]),u1=(0,er.createContext)(!0);function dM(){return(0,er.useContext)(s1)}function wm(){let e=(0,er.useContext)(od);if(!e)throw new Error("useChatDispatch must be used within a ChatDispatchContext.Provider");return e}function Mu(){return(0,er.useContext)(u1)}function hM(){return(0,er.useContext)(l1)}var c1="shinychat-current",S7="shinychat_conversation_id";function f1(){try{return new URLSearchParams(window.location.search).get(S7)}catch{return null}}function d1(e){try{return localStorage.getItem(`${c1}:${e}`)}catch{return null}}function h1(e,t){try{t===null?localStorage.removeItem(`${c1}:${e}`):localStorage.setItem(`${c1}:${e}`,t)}catch{}}function pM(e,t=!1){let n=e??window.location.pathname;if(t){window.location.assign(n);return}history.replaceState(null,"",n)}var Ou=q(pe(),1);function mM(e,t){let n=(0,Ou.useRef)(new Set);return(0,Ou.useMemo)(()=>{let r=XT(e,t),i=n.current;return r.size===i.size&&[...r].every(o=>i.has(o))?i:(n.current=r,r)},[e,t])}function gM(e,t){let n=(0,Ou.useRef)(new Map);return(0,Ou.useMemo)(()=>{let r=QT(e,t),i=n.current;return r.size===i.size&&[...r].every(([o,s])=>i.get(o)===s)?i:(n.current=r,r)},[e,t])}var be=q(pe(),1),EF=q(lo(),1);var kn=q(pe(),1);var v7={damping:.7,stiffness:.05,mass:1.25},x7=70,A7=1e3/60,_7=350,Nm=!1;globalThis.document?.addEventListener("mousedown",()=>{Nm=!0});globalThis.document?.addEventListener("mouseup",()=>{Nm=!1});globalThis.document?.addEventListener("click",()=>{Nm=!1});var Rm=(e={})=>{let[t,n]=(0,kn.useState)(!1),[r,i]=(0,kn.useState)(e.initial!==!1),[o,s]=(0,kn.useState)(!1),a=(0,kn.useRef)(null);a.current=e;let l=(0,kn.useCallback)(()=>{if(!Nm)return!1;let E=window.getSelection();if(!E||!E.rangeCount)return!1;let T=E.getRangeAt(0);return T.commonAncestorContainer.contains(y.current)||y.current?.contains(T.commonAncestorContainer)},[]),u=(0,kn.useCallback)(E=>{f.isAtBottom=E,i(E)},[]),c=(0,kn.useCallback)(E=>{f.escapedFromLock=E,n(E)},[]),f=(0,kn.useMemo)(()=>{let E;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return y.current?.scrollTop??0},set scrollTop(T){y.current&&(y.current.scrollTop=T,f.ignoreScrollToTop=y.current.scrollTop)},get targetScrollTop(){return!y.current||!g.current?0:y.current.scrollHeight-1-y.current.clientHeight},get calculatedTargetScrollTop(){if(!y.current||!g.current)return 0;let{targetScrollTop:T}=this;if(!e.targetScrollTop)return T;if(E?.targetScrollTop===T)return E.calculatedScrollTop;let S=Math.max(Math.min(e.targetScrollTop(T,{scrollElement:y.current,contentElement:g.current}),T),0);return E={targetScrollTop:T,calculatedScrollTop:S},requestAnimationFrame(()=>{E=void 0}),S},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=x7}}},[]),d=(0,kn.useCallback)((E={})=>{typeof E=="string"&&(E={animation:E}),E.preserveScrollPosition||u(!0);let T=Date.now()+(Number(E.wait)||0),S=m1(a.current,E.animation),{ignoreEscapes:x=!1}=E,v,N=f.calculatedTargetScrollTop;E.duration instanceof Promise?E.duration.finally(()=>{v=Date.now()}):v=T+(E.duration??0);let D=async()=>{let k=new Promise(requestAnimationFrame).then(()=>{if(!f.isAtBottom)return f.animation=void 0,!1;let{scrollTop:A}=f,P=performance.now(),G=(P-(f.lastTick??P))/A7;if(f.animation||(f.animation={behavior:S,promise:k,ignoreEscapes:x}),f.animation.behavior===S&&(f.lastTick=P),l()||T>Date.now())return D();if(ADate.now()?(N=f.calculatedTargetScrollTop,D()):(f.animation=void 0,f.scrollTop(requestAnimationFrame(()=>{f.animation||(f.lastTick=void 0,f.velocity=0)}),A))};return E.wait!==!0&&(f.animation=void 0),f.animation?.behavior===S?f.animation.promise:D()},[u,l,f]),h=(0,kn.useCallback)(()=>{c(!0),u(!1)},[c,u]),p=(0,kn.useCallback)(({target:E})=>{if(E!==y.current)return;let{scrollTop:T,ignoreScrollToTop:S}=f,{lastScrollTop:x=T}=f;f.lastScrollTop=T,f.ignoreScrollToTop=void 0,S&&S>T&&(x=S),s(f.isNearBottom),setTimeout(()=>{if(f.resizeDifference||T===S)return;if(l()){c(!0),u(!1);return}let v=T>x,N=T{let S=E;for(;!["scroll","auto"].includes(getComputedStyle(S).overflow);){if(!S.parentElement)return;S=S.parentElement}S===y.current&&T<0&&y.current.scrollHeight>y.current.clientHeight&&!f.animation?.ignoreEscapes&&(c(!0),u(!1))},[c,u,f]),y=bM(E=>{y.current?.removeEventListener("scroll",p),y.current?.removeEventListener("wheel",b),E?.addEventListener("scroll",p,{passive:!0}),E?.addEventListener("wheel",b,{passive:!0})},[]),g=bM(E=>{if(f.resizeObserver?.disconnect(),!E)return;let T;f.resizeObserver=new ResizeObserver(([S])=>{let{height:x}=S.contentRect,v=x-(T??x);if(f.resizeDifference=v,f.scrollTop>f.targetScrollTop&&(f.scrollTop=f.targetScrollTop),s(f.isNearBottom),v>=0){let N=m1(a.current,T?a.current.resize:a.current.initial);d({animation:N,wait:!0,preserveScrollPosition:!0,duration:N==="instant"?void 0:_7})}else f.isNearBottom&&(c(!1),u(!0));T=x,requestAnimationFrame(()=>{setTimeout(()=>{f.resizeDifference===v&&(f.resizeDifference=0)},1)})}),f.resizeObserver?.observe(E)},[]);return{contentRef:g,scrollRef:y,scrollToBottom:d,stopScroll:h,isAtBottom:r||o,isNearBottom:o,escapedFromLock:t,state:f}};function bM(e,t){let n=(0,kn.useCallback)(r=>(n.current=r,e(r)),t);return n}var p1=new Map;function m1(...e){let t={...v7},n=!1;for(let i of e){if(i==="instant"){n=!0;continue}typeof i=="object"&&(n=!1,t.damping=i.damping??t.damping,t.stiffness=i.stiffness??t.stiffness,t.mass=i.mass??t.mass)}let r=JSON.stringify(t);return p1.has(r)||p1.set(r,Object.freeze(t)),n?"instant":p1.get(r)}var Ol=q(pe(),1);var et=q(pe(),1);var SM=q(pe(),1),vM=q(ie(),1),Da=class extends SM.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,n){console.warn(`[shinychat] Error rendering ${this.props.context??"content"}:`,t,n)}componentDidUpdate(t){this.state.hasError&&t.resetKey!==this.props.resetKey&&this.setState({hasError:!1})}render(){return this.state.hasError?this.props.fallback!==void 0?this.props.fallback:(0,vM.jsx)("div",{className:"shiny-chat-block-error",role:"alert",children:"This content couldn\u2019t be displayed."}):this.props.children}};var Bo=q(pe(),1);function g1(e){let t=[],n=String(e||""),r=n.indexOf(","),i=0,o=!1;for(;!o;){r===-1&&(r=n.length,o=!0);let s=n.slice(i,r).trim();(s||!o)&&t.push(s),i=r+1,r=n.indexOf(",",i)}return t}function Du(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}var N7=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,R7=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,k7={};function Mm(e,t){return((t||k7).jsx?R7:N7).test(e)}var M7=/[ \t\n\f\r]/g;function ko(e){return typeof e=="object"?e.type==="text"?xM(e.value):!1:xM(e)}function xM(e){return e.replace(M7,"")===""}var Mo=class{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}};Mo.prototype.normal={};Mo.prototype.property={};Mo.prototype.space=void 0;function b1(e,t){let n={},r={};for(let i of e)Object.assign(n,i.property),Object.assign(r,i.normal);return new Mo(n,r,t)}function Oo(e){return e.toLowerCase()}var En=class{constructor(t,n){this.attribute=n,this.property=t}};En.prototype.attribute="";En.prototype.booleanish=!1;En.prototype.boolean=!1;En.prototype.commaOrSpaceSeparated=!1;En.prototype.commaSeparated=!1;En.prototype.defined=!1;En.prototype.mustUseProperty=!1;En.prototype.number=!1;En.prototype.overloadedBoolean=!1;En.prototype.property="";En.prototype.spaceSeparated=!1;En.prototype.space=void 0;var sd={};Kh(sd,{boolean:()=>Fe,booleanish:()=>Vt,commaOrSpaceSeparated:()=>Sr,commaSeparated:()=>Ls,number:()=>ne,overloadedBoolean:()=>Om,spaceSeparated:()=>pt});var O7=0,Fe=Ia(),Vt=Ia(),Om=Ia(),ne=Ia(),pt=Ia(),Ls=Ia(),Sr=Ia();function Ia(){return 2**++O7}var y1=Object.keys(sd),La=class extends En{constructor(t,n,r,i){let o=-1;if(super(t,n),AM(this,"space",i),typeof r=="number")for(;++o4&&n.slice(0,4)==="data"&&I7.test(t)){if(t.charAt(4)==="-"){let o=t.slice(5).replace(wM,P7);r="data"+o.charAt(0).toUpperCase()+o.slice(1)}else{let o=t.slice(4);if(!wM.test(o)){let s=o.replace(D7,L7);s.charAt(0)!=="-"&&(s="-"+s),t="data"+s}}i=La}return new i(r,t)}function L7(e){return"-"+e.toLowerCase()}function P7(e){return e.charAt(1).toUpperCase()}var Ei=b1([E1,_M,T1,S1,v1],"html"),Un=b1([E1,CM,T1,S1,v1],"svg");function A1(e){let t=String(e||"").trim();return t?t.split(/[ \t\n\r\f]+/g):[]}function Iu(e){return e.join(" ").trim()}var qM=q(HM(),1);var Ba=FM("end"),vr=FM("start");function FM(e){return t;function t(n){let r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function ld(e){let t=vr(e),n=Ba(e);if(t&&n)return{start:t,end:n}}function Ps(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?zM(e.position):"start"in e||"end"in e?zM(e):"line"in e||"column"in e?w1(e):""}function w1(e){return UM(e&&e.line)+":"+UM(e&&e.column)}function zM(e){return w1(e&&e.start)+"-"+w1(e&&e.end)}function UM(e){return e&&typeof e=="number"?e:1}var Wt=class extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let i="",o={},s=!1;if(n&&("line"in n&&"column"in n?o={place:n}:"start"in n&&"end"in n?o={place:n}:"type"in n?o={ancestors:[n],place:n.position}:o={...n}),typeof t=="string"?i=t:!o.cause&&t&&(s=!0,i=t.message,o.cause=t),!o.ruleId&&!o.source&&typeof r=="string"){let l=r.indexOf(":");l===-1?o.ruleId=r:(o.source=r.slice(0,l),o.ruleId=r.slice(l+1))}if(!o.place&&o.ancestors&&o.ancestors){let l=o.ancestors[o.ancestors.length-1];l&&(o.place=l.position)}let a=o.place&&"start"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=a?a.column:void 0,this.fatal=void 0,this.file="",this.message=i,this.line=a?a.line:void 0,this.name=Ps(o.place)||"1:1",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=s&&o.cause&&typeof o.cause.stack=="string"?o.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}};Wt.prototype.file="";Wt.prototype.name="";Wt.prototype.reason="";Wt.prototype.message="";Wt.prototype.stack="";Wt.prototype.column=void 0;Wt.prototype.line=void 0;Wt.prototype.ancestors=void 0;Wt.prototype.cause=void 0;Wt.prototype.fatal=void 0;Wt.prototype.place=void 0;Wt.prototype.ruleId=void 0;Wt.prototype.source=void 0;var N1={}.hasOwnProperty,lq=new Map,uq=/[A-Z]/g,cq=new Set(["table","tbody","thead","tfoot","tr"]),fq=new Set(["td","th"]),VM="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function R1(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");let n=t.filePath||void 0,r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=Eq(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=yq(n,t.jsx,t.jsxs)}let i={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Un:Ei,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},o=GM(i,e,void 0);return o&&typeof o!="string"?o:i.create(e,i.Fragment,{children:o||void 0},void 0)}function GM(e,t,n){if(t.type==="element")return dq(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return hq(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return mq(e,t,n);if(t.type==="mdxjsEsm")return pq(e,t);if(t.type==="root")return gq(e,t,n);if(t.type==="text")return bq(e,t)}function dq(e,t,n){let r=e.schema,i=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(t);let o=YM(e,t.tagName,!1),s=Tq(e,t),a=M1(e,t);return cq.has(t.tagName)&&(a=a.filter(function(l){return typeof l=="string"?!ko(l):!0})),KM(e,s,o,t),k1(s,a),e.ancestors.pop(),e.schema=r,e.create(t,o,s,n)}function hq(e,t){if(t.data&&t.data.estree&&e.evaluater){let r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}ud(e,t.position)}function pq(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);ud(e,t.position)}function mq(e,t,n){let r=e.schema,i=r;t.name==="svg"&&r.space==="html"&&(i=Un,e.schema=i),e.ancestors.push(t);let o=t.name===null?e.Fragment:YM(e,t.name,!0),s=Sq(e,t),a=M1(e,t);return KM(e,s,o,t),k1(s,a),e.ancestors.pop(),e.schema=r,e.create(t,o,s,n)}function gq(e,t,n){let r={};return k1(r,M1(e,t)),e.create(t,e.Fragment,r,n)}function bq(e,t){return t.value}function KM(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function k1(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function yq(e,t,n){return r;function r(i,o,s,a){let u=Array.isArray(s.children)?n:t;return a?u(o,s,a):u(o,s)}}function Eq(e,t){return n;function n(r,i,o,s){let a=Array.isArray(o.children),l=vr(r);return t(i,o,s,a,{columnNumber:l?l.column-1:void 0,fileName:e,lineNumber:l?l.line:void 0},void 0)}}function Tq(e,t){let n={},r,i;for(i in t.properties)if(i!=="children"&&N1.call(t.properties,i)){let o=vq(e,i,t.properties[i]);if(o){let[s,a]=o;e.tableCellAlignToStyle&&s==="align"&&typeof a=="string"&&fq.has(t.tagName)?r=a:n[s]=a}}if(r){let o=n.style||(n.style={});o[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function Sq(e,t){let n={};for(let r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){let o=r.data.estree.body[0];o.type;let s=o.expression;s.type;let a=s.properties[0];a.type,Object.assign(n,e.evaluater.evaluateExpression(a.argument))}else ud(e,t.position);else{let i=r.name,o;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){let a=r.value.data.estree.body[0];a.type,o=e.evaluater.evaluateExpression(a.expression)}else ud(e,t.position);else o=r.value===null?!0:r.value;n[i]=o}return n}function M1(e,t){let n=[],r=-1,i=e.passKeys?new Map:lq;for(;++r-1&&o<=t.length){let s=0;for(;;){let a=n[s];if(a===void 0){let l=XM(t,n[s-1]);a=l===-1?t.length+1:l+1,n[s]=a}if(a>o)return{line:s+1,column:o-(s>0?n[s-1]:0)+1,offset:o};s++}}}function i(o){if(o&&typeof o.line=="number"&&typeof o.column=="number"&&!Number.isNaN(o.line)&&!Number.isNaN(o.column)){for(;n.length1?n[o.line-2]:0)+o.column-1;if(s=55296&&e<=57343}function eO(e){return e>=56320&&e<=57343}function tO(e,t){return(e-55296)*1024+9216+t}function Hm(e){return e!==32&&e!==10&&e!==13&&e!==9&&e!==12&&e>=1&&e<=31||e>=127&&e<=159}function Fm(e){return e>=64976&&e<=65007||Iq.has(e)}var Y;(function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"})(Y||(Y={}));var Pq=65536,zm=class{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=Pq,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+ +(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,n){let{line:r,col:i,offset:o}=this,s=i+n,a=o+n;return{code:t,startLine:r,endLine:r,startCol:s,endCol:s,startOffset:a,endOffset:a}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){let n=this.html.charCodeAt(this.pos+1);if(eO(n))return this.pos++,this._addGap(),tO(t,n)}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,w.EOF;return this._err(Y.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,n){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=n}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,n){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(n)return this.html.startsWith(t,this.pos);for(let r=0;r=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,w.EOF;let r=this.html.charCodeAt(n);return r===w.CARRIAGE_RETURN?w.LINE_FEED:r}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,w.EOF;let t=this.html.charCodeAt(this.pos);return t===w.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,w.LINE_FEED):t===w.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Bm(t)&&(t=this._processSurrogate(t)),this.handler.onParseError===null||t>31&&t<127||t===w.LINE_FEED||t===w.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){Hm(t)?this._err(Y.controlCharacterInInputStream):Fm(t)&&this._err(Y.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.posXe,getTokenAttr:()=>fd});var Xe;(function(e){e[e.CHARACTER=0]="CHARACTER",e[e.NULL_CHARACTER=1]="NULL_CHARACTER",e[e.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",e[e.START_TAG=3]="START_TAG",e[e.END_TAG=4]="END_TAG",e[e.COMMENT=5]="COMMENT",e[e.DOCTYPE=6]="DOCTYPE",e[e.EOF=7]="EOF",e[e.HIBERNATION=8]="HIBERNATION"})(Xe||(Xe={}));function fd(e,t){for(let n=e.attrs.length-1;n>=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}var Um=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(e=>e.charCodeAt(0)));var F1,Bq=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),nO=(F1=String.fromCodePoint)!==null&&F1!==void 0?F1:function(e){let t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function z1(e){var t;return e>=55296&&e<=57343||e>1114111?65533:(t=Bq.get(e))!==null&&t!==void 0?t:e}var Sn;(function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.EQUALS=61]="EQUALS",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.LOWER_Z=122]="LOWER_Z",e[e.UPPER_A=65]="UPPER_A",e[e.UPPER_F=70]="UPPER_F",e[e.UPPER_Z=90]="UPPER_Z"})(Sn||(Sn={}));var Fq=32,Hs;(function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"})(Hs||(Hs={}));function U1(e){return e>=Sn.ZERO&&e<=Sn.NINE}function zq(e){return e>=Sn.UPPER_A&&e<=Sn.UPPER_F||e>=Sn.LOWER_A&&e<=Sn.LOWER_F}function Uq(e){return e>=Sn.UPPER_A&&e<=Sn.UPPER_Z||e>=Sn.LOWER_A&&e<=Sn.LOWER_Z||U1(e)}function qq(e){return e===Sn.EQUALS||Uq(e)}var Tn;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(Tn||(Tn={}));var Fi;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Fi||(Fi={}));var qm=class{constructor(t,n,r){this.decodeTree=t,this.emitCodePoint=n,this.errors=r,this.state=Tn.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=Fi.Strict}startEntity(t){this.decodeMode=t,this.state=Tn.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,n){switch(this.state){case Tn.EntityStart:return t.charCodeAt(n)===Sn.NUM?(this.state=Tn.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=Tn.NamedEntity,this.stateNamedEntity(t,n));case Tn.NumericStart:return this.stateNumericStart(t,n);case Tn.NumericDecimal:return this.stateNumericDecimal(t,n);case Tn.NumericHex:return this.stateNumericHex(t,n);case Tn.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|Fq)===Sn.LOWER_X?(this.state=Tn.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=Tn.NumericDecimal,this.stateNumericDecimal(t,n))}addToNumericResult(t,n,r,i){if(n!==r){let o=r-n;this.result=this.result*Math.pow(i,o)+Number.parseInt(t.substr(n,o),i),this.consumed+=o}}stateNumericHex(t,n){let r=n;for(;n>14;for(;n>14,o!==0){if(s===Sn.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==Fi.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;let{result:n,decodeTree:r}=this,i=(r[n]&Hs.VALUE_LENGTH)>>14;return this.emitNamedEntityData(n,i,this.consumed),(t=this.errors)===null||t===void 0||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,r){let{decodeTree:i}=this;return this.emitCodePoint(n===1?i[t]&~Hs.VALUE_LENGTH:i[t+1],r),n===3&&this.emitCodePoint(i[t+2],r),r}end(){var t;switch(this.state){case Tn.NamedEntity:return this.result!==0&&(this.decodeMode!==Fi.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case Tn.NumericDecimal:return this.emitNumericEntity(0,2);case Tn.NumericHex:return this.emitNumericEntity(0,3);case Tn.NumericStart:return(t=this.errors)===null||t===void 0||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case Tn.EntityStart:return 0}}};function Vq(e,t,n,r){let i=(t&Hs.BRANCH_LENGTH)>>7,o=t&Hs.JUMP_TABLE;if(i===0)return o!==0&&r===o?n:-1;if(o){let l=r-o;return l<0||l>=i?-1:e[n+l]-1}let s=n,a=s+i-1;for(;s<=a;){let l=s+a>>>1,u=e[l];if(ur)a=l-1;else return e[l+i]}return-1}var dd={};Kh(dd,{ATTRS:()=>zi,DOCUMENT_MODE:()=>qn,NS:()=>X,NUMBERED_HEADERS:()=>Pu,SPECIAL_ELEMENTS:()=>q1,TAG_ID:()=>m,TAG_NAMES:()=>V,getTagID:()=>Fs,hasUnescapedText:()=>rO});var X;(function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"})(X||(X={}));var zi;(function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"})(zi||(zi={}));var qn;(function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"})(qn||(qn={}));var V;(function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SEARCH="search",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"})(V||(V={}));var m;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SEARCH=94]="SEARCH",e[e.SECTION=95]="SECTION",e[e.SELECT=96]="SELECT",e[e.SOURCE=97]="SOURCE",e[e.SMALL=98]="SMALL",e[e.SPAN=99]="SPAN",e[e.STRIKE=100]="STRIKE",e[e.STRONG=101]="STRONG",e[e.STYLE=102]="STYLE",e[e.SUB=103]="SUB",e[e.SUMMARY=104]="SUMMARY",e[e.SUP=105]="SUP",e[e.TABLE=106]="TABLE",e[e.TBODY=107]="TBODY",e[e.TEMPLATE=108]="TEMPLATE",e[e.TEXTAREA=109]="TEXTAREA",e[e.TFOOT=110]="TFOOT",e[e.TD=111]="TD",e[e.TH=112]="TH",e[e.THEAD=113]="THEAD",e[e.TITLE=114]="TITLE",e[e.TR=115]="TR",e[e.TRACK=116]="TRACK",e[e.TT=117]="TT",e[e.U=118]="U",e[e.UL=119]="UL",e[e.SVG=120]="SVG",e[e.VAR=121]="VAR",e[e.WBR=122]="WBR",e[e.XMP=123]="XMP"})(m||(m={}));var Gq=new Map([[V.A,m.A],[V.ADDRESS,m.ADDRESS],[V.ANNOTATION_XML,m.ANNOTATION_XML],[V.APPLET,m.APPLET],[V.AREA,m.AREA],[V.ARTICLE,m.ARTICLE],[V.ASIDE,m.ASIDE],[V.B,m.B],[V.BASE,m.BASE],[V.BASEFONT,m.BASEFONT],[V.BGSOUND,m.BGSOUND],[V.BIG,m.BIG],[V.BLOCKQUOTE,m.BLOCKQUOTE],[V.BODY,m.BODY],[V.BR,m.BR],[V.BUTTON,m.BUTTON],[V.CAPTION,m.CAPTION],[V.CENTER,m.CENTER],[V.CODE,m.CODE],[V.COL,m.COL],[V.COLGROUP,m.COLGROUP],[V.DD,m.DD],[V.DESC,m.DESC],[V.DETAILS,m.DETAILS],[V.DIALOG,m.DIALOG],[V.DIR,m.DIR],[V.DIV,m.DIV],[V.DL,m.DL],[V.DT,m.DT],[V.EM,m.EM],[V.EMBED,m.EMBED],[V.FIELDSET,m.FIELDSET],[V.FIGCAPTION,m.FIGCAPTION],[V.FIGURE,m.FIGURE],[V.FONT,m.FONT],[V.FOOTER,m.FOOTER],[V.FOREIGN_OBJECT,m.FOREIGN_OBJECT],[V.FORM,m.FORM],[V.FRAME,m.FRAME],[V.FRAMESET,m.FRAMESET],[V.H1,m.H1],[V.H2,m.H2],[V.H3,m.H3],[V.H4,m.H4],[V.H5,m.H5],[V.H6,m.H6],[V.HEAD,m.HEAD],[V.HEADER,m.HEADER],[V.HGROUP,m.HGROUP],[V.HR,m.HR],[V.HTML,m.HTML],[V.I,m.I],[V.IMG,m.IMG],[V.IMAGE,m.IMAGE],[V.INPUT,m.INPUT],[V.IFRAME,m.IFRAME],[V.KEYGEN,m.KEYGEN],[V.LABEL,m.LABEL],[V.LI,m.LI],[V.LINK,m.LINK],[V.LISTING,m.LISTING],[V.MAIN,m.MAIN],[V.MALIGNMARK,m.MALIGNMARK],[V.MARQUEE,m.MARQUEE],[V.MATH,m.MATH],[V.MENU,m.MENU],[V.META,m.META],[V.MGLYPH,m.MGLYPH],[V.MI,m.MI],[V.MO,m.MO],[V.MN,m.MN],[V.MS,m.MS],[V.MTEXT,m.MTEXT],[V.NAV,m.NAV],[V.NOBR,m.NOBR],[V.NOFRAMES,m.NOFRAMES],[V.NOEMBED,m.NOEMBED],[V.NOSCRIPT,m.NOSCRIPT],[V.OBJECT,m.OBJECT],[V.OL,m.OL],[V.OPTGROUP,m.OPTGROUP],[V.OPTION,m.OPTION],[V.P,m.P],[V.PARAM,m.PARAM],[V.PLAINTEXT,m.PLAINTEXT],[V.PRE,m.PRE],[V.RB,m.RB],[V.RP,m.RP],[V.RT,m.RT],[V.RTC,m.RTC],[V.RUBY,m.RUBY],[V.S,m.S],[V.SCRIPT,m.SCRIPT],[V.SEARCH,m.SEARCH],[V.SECTION,m.SECTION],[V.SELECT,m.SELECT],[V.SOURCE,m.SOURCE],[V.SMALL,m.SMALL],[V.SPAN,m.SPAN],[V.STRIKE,m.STRIKE],[V.STRONG,m.STRONG],[V.STYLE,m.STYLE],[V.SUB,m.SUB],[V.SUMMARY,m.SUMMARY],[V.SUP,m.SUP],[V.TABLE,m.TABLE],[V.TBODY,m.TBODY],[V.TEMPLATE,m.TEMPLATE],[V.TEXTAREA,m.TEXTAREA],[V.TFOOT,m.TFOOT],[V.TD,m.TD],[V.TH,m.TH],[V.THEAD,m.THEAD],[V.TITLE,m.TITLE],[V.TR,m.TR],[V.TRACK,m.TRACK],[V.TT,m.TT],[V.U,m.U],[V.UL,m.UL],[V.SVG,m.SVG],[V.VAR,m.VAR],[V.WBR,m.WBR],[V.XMP,m.XMP]]);function Fs(e){var t;return(t=Gq.get(e))!==null&&t!==void 0?t:m.UNKNOWN}var ee=m,q1={[X.HTML]:new Set([ee.ADDRESS,ee.APPLET,ee.AREA,ee.ARTICLE,ee.ASIDE,ee.BASE,ee.BASEFONT,ee.BGSOUND,ee.BLOCKQUOTE,ee.BODY,ee.BR,ee.BUTTON,ee.CAPTION,ee.CENTER,ee.COL,ee.COLGROUP,ee.DD,ee.DETAILS,ee.DIR,ee.DIV,ee.DL,ee.DT,ee.EMBED,ee.FIELDSET,ee.FIGCAPTION,ee.FIGURE,ee.FOOTER,ee.FORM,ee.FRAME,ee.FRAMESET,ee.H1,ee.H2,ee.H3,ee.H4,ee.H5,ee.H6,ee.HEAD,ee.HEADER,ee.HGROUP,ee.HR,ee.HTML,ee.IFRAME,ee.IMG,ee.INPUT,ee.LI,ee.LINK,ee.LISTING,ee.MAIN,ee.MARQUEE,ee.MENU,ee.META,ee.NAV,ee.NOEMBED,ee.NOFRAMES,ee.NOSCRIPT,ee.OBJECT,ee.OL,ee.P,ee.PARAM,ee.PLAINTEXT,ee.PRE,ee.SCRIPT,ee.SECTION,ee.SELECT,ee.SOURCE,ee.STYLE,ee.SUMMARY,ee.TABLE,ee.TBODY,ee.TD,ee.TEMPLATE,ee.TEXTAREA,ee.TFOOT,ee.TH,ee.THEAD,ee.TITLE,ee.TR,ee.TRACK,ee.UL,ee.WBR,ee.XMP]),[X.MATHML]:new Set([ee.MI,ee.MO,ee.MN,ee.MS,ee.MTEXT,ee.ANNOTATION_XML]),[X.SVG]:new Set([ee.TITLE,ee.FOREIGN_OBJECT,ee.DESC]),[X.XLINK]:new Set,[X.XML]:new Set,[X.XMLNS]:new Set},Pu=new Set([ee.H1,ee.H2,ee.H3,ee.H4,ee.H5,ee.H6]),Kq=new Set([V.STYLE,V.SCRIPT,V.XMP,V.IFRAME,V.NOEMBED,V.NOFRAMES,V.PLAINTEXT]);function rO(e,t){return Kq.has(e)||t&&e===V.NOSCRIPT}var R;(function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"})(R||(R={}));var Bt={DATA:R.DATA,RCDATA:R.RCDATA,RAWTEXT:R.RAWTEXT,SCRIPT_DATA:R.SCRIPT_DATA,PLAINTEXT:R.PLAINTEXT,CDATA_SECTION:R.CDATA_SECTION};function Yq(e){return e>=w.DIGIT_0&&e<=w.DIGIT_9}function hd(e){return e>=w.LATIN_CAPITAL_A&&e<=w.LATIN_CAPITAL_Z}function Wq(e){return e>=w.LATIN_SMALL_A&&e<=w.LATIN_SMALL_Z}function zs(e){return Wq(e)||hd(e)}function iO(e){return zs(e)||Yq(e)}function Vm(e){return e+32}function sO(e){return e===w.SPACE||e===w.LINE_FEED||e===w.TABULATION||e===w.FORM_FEED}function oO(e){return sO(e)||e===w.SOLIDUS||e===w.GREATER_THAN_SIGN}function $q(e){return e===w.NULL?Y.nullCharacterReference:e>1114111?Y.characterReferenceOutsideUnicodeRange:Bm(e)?Y.surrogateCharacterReference:Fm(e)?Y.noncharacterCharacterReference:Hm(e)||e===w.CARRIAGE_RETURN?Y.controlCharacterReference:null}var pd=class{constructor(t,n){this.options=t,this.handler=n,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=R.DATA,this.returnState=R.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new zm(n),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new qm(Um,(r,i)=>{this.preprocessor.pos=this.entityStartPos+i-1,this._flushCodePointConsumedAsCharacterReference(r)},n.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(Y.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:r=>{this._err(Y.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+r)},validateNumericCharacterReference:r=>{let i=$q(r);i&&this._err(i,1)}}:void 0)}_err(t,n=0){var r,i;(i=(r=this.handler).onParseError)===null||i===void 0||i.call(r,this.preprocessor.getError(t,n))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;let t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,!this.inLoop&&(this._runParsingLoop(),this.paused||t?.())}write(t,n,r){this.active=!0,this.preprocessor.write(t,n),this._runParsingLoop(),this.paused||r?.()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return this.preprocessor.endOfChunkHit?(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0):!1}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let n=0;n0&&this._err(Y.endTagWithAttributes),t.selfClosing&&this._err(Y.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case Xe.CHARACTER:{this.handler.onCharacter(this.currentCharacterToken);break}case Xe.NULL_CHARACTER:{this.handler.onNullCharacter(this.currentCharacterToken);break}case Xe.WHITESPACE_CHARACTER:{this.handler.onWhitespaceCharacter(this.currentCharacterToken);break}}this.currentCharacterToken=null}}_emitEOFToken(){let t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:Xe.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,n){if(this.currentCharacterToken)if(this.currentCharacterToken.type===t){this.currentCharacterToken.chars+=n;return}else this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk();this._createCharacterToken(t,n)}_emitCodePoint(t){let n=sO(t)?Xe.WHITESPACE_CHARACTER:t===w.NULL?Xe.NULL_CHARACTER:Xe.CHARACTER;this._appendCharToCurrentCharacterToken(n,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Xe.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=R.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?Fi.Attribute:Fi.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===R.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===R.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===R.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case R.DATA:{this._stateData(t);break}case R.RCDATA:{this._stateRcdata(t);break}case R.RAWTEXT:{this._stateRawtext(t);break}case R.SCRIPT_DATA:{this._stateScriptData(t);break}case R.PLAINTEXT:{this._statePlaintext(t);break}case R.TAG_OPEN:{this._stateTagOpen(t);break}case R.END_TAG_OPEN:{this._stateEndTagOpen(t);break}case R.TAG_NAME:{this._stateTagName(t);break}case R.RCDATA_LESS_THAN_SIGN:{this._stateRcdataLessThanSign(t);break}case R.RCDATA_END_TAG_OPEN:{this._stateRcdataEndTagOpen(t);break}case R.RCDATA_END_TAG_NAME:{this._stateRcdataEndTagName(t);break}case R.RAWTEXT_LESS_THAN_SIGN:{this._stateRawtextLessThanSign(t);break}case R.RAWTEXT_END_TAG_OPEN:{this._stateRawtextEndTagOpen(t);break}case R.RAWTEXT_END_TAG_NAME:{this._stateRawtextEndTagName(t);break}case R.SCRIPT_DATA_LESS_THAN_SIGN:{this._stateScriptDataLessThanSign(t);break}case R.SCRIPT_DATA_END_TAG_OPEN:{this._stateScriptDataEndTagOpen(t);break}case R.SCRIPT_DATA_END_TAG_NAME:{this._stateScriptDataEndTagName(t);break}case R.SCRIPT_DATA_ESCAPE_START:{this._stateScriptDataEscapeStart(t);break}case R.SCRIPT_DATA_ESCAPE_START_DASH:{this._stateScriptDataEscapeStartDash(t);break}case R.SCRIPT_DATA_ESCAPED:{this._stateScriptDataEscaped(t);break}case R.SCRIPT_DATA_ESCAPED_DASH:{this._stateScriptDataEscapedDash(t);break}case R.SCRIPT_DATA_ESCAPED_DASH_DASH:{this._stateScriptDataEscapedDashDash(t);break}case R.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataEscapedLessThanSign(t);break}case R.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:{this._stateScriptDataEscapedEndTagOpen(t);break}case R.SCRIPT_DATA_ESCAPED_END_TAG_NAME:{this._stateScriptDataEscapedEndTagName(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPE_START:{this._stateScriptDataDoubleEscapeStart(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPED:{this._stateScriptDataDoubleEscaped(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:{this._stateScriptDataDoubleEscapedDash(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:{this._stateScriptDataDoubleEscapedDashDash(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:{this._stateScriptDataDoubleEscapedLessThanSign(t);break}case R.SCRIPT_DATA_DOUBLE_ESCAPE_END:{this._stateScriptDataDoubleEscapeEnd(t);break}case R.BEFORE_ATTRIBUTE_NAME:{this._stateBeforeAttributeName(t);break}case R.ATTRIBUTE_NAME:{this._stateAttributeName(t);break}case R.AFTER_ATTRIBUTE_NAME:{this._stateAfterAttributeName(t);break}case R.BEFORE_ATTRIBUTE_VALUE:{this._stateBeforeAttributeValue(t);break}case R.ATTRIBUTE_VALUE_DOUBLE_QUOTED:{this._stateAttributeValueDoubleQuoted(t);break}case R.ATTRIBUTE_VALUE_SINGLE_QUOTED:{this._stateAttributeValueSingleQuoted(t);break}case R.ATTRIBUTE_VALUE_UNQUOTED:{this._stateAttributeValueUnquoted(t);break}case R.AFTER_ATTRIBUTE_VALUE_QUOTED:{this._stateAfterAttributeValueQuoted(t);break}case R.SELF_CLOSING_START_TAG:{this._stateSelfClosingStartTag(t);break}case R.BOGUS_COMMENT:{this._stateBogusComment(t);break}case R.MARKUP_DECLARATION_OPEN:{this._stateMarkupDeclarationOpen(t);break}case R.COMMENT_START:{this._stateCommentStart(t);break}case R.COMMENT_START_DASH:{this._stateCommentStartDash(t);break}case R.COMMENT:{this._stateComment(t);break}case R.COMMENT_LESS_THAN_SIGN:{this._stateCommentLessThanSign(t);break}case R.COMMENT_LESS_THAN_SIGN_BANG:{this._stateCommentLessThanSignBang(t);break}case R.COMMENT_LESS_THAN_SIGN_BANG_DASH:{this._stateCommentLessThanSignBangDash(t);break}case R.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:{this._stateCommentLessThanSignBangDashDash(t);break}case R.COMMENT_END_DASH:{this._stateCommentEndDash(t);break}case R.COMMENT_END:{this._stateCommentEnd(t);break}case R.COMMENT_END_BANG:{this._stateCommentEndBang(t);break}case R.DOCTYPE:{this._stateDoctype(t);break}case R.BEFORE_DOCTYPE_NAME:{this._stateBeforeDoctypeName(t);break}case R.DOCTYPE_NAME:{this._stateDoctypeName(t);break}case R.AFTER_DOCTYPE_NAME:{this._stateAfterDoctypeName(t);break}case R.AFTER_DOCTYPE_PUBLIC_KEYWORD:{this._stateAfterDoctypePublicKeyword(t);break}case R.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateBeforeDoctypePublicIdentifier(t);break}case R.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypePublicIdentifierDoubleQuoted(t);break}case R.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypePublicIdentifierSingleQuoted(t);break}case R.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:{this._stateAfterDoctypePublicIdentifier(t);break}case R.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:{this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break}case R.AFTER_DOCTYPE_SYSTEM_KEYWORD:{this._stateAfterDoctypeSystemKeyword(t);break}case R.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateBeforeDoctypeSystemIdentifier(t);break}case R.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:{this._stateDoctypeSystemIdentifierDoubleQuoted(t);break}case R.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:{this._stateDoctypeSystemIdentifierSingleQuoted(t);break}case R.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:{this._stateAfterDoctypeSystemIdentifier(t);break}case R.BOGUS_DOCTYPE:{this._stateBogusDoctype(t);break}case R.CDATA_SECTION:{this._stateCdataSection(t);break}case R.CDATA_SECTION_BRACKET:{this._stateCdataSectionBracket(t);break}case R.CDATA_SECTION_END:{this._stateCdataSectionEnd(t);break}case R.CHARACTER_REFERENCE:{this._stateCharacterReference();break}case R.AMBIGUOUS_AMPERSAND:{this._stateAmbiguousAmpersand(t);break}default:throw new Error("Unknown state")}}_stateData(t){switch(t){case w.LESS_THAN_SIGN:{this.state=R.TAG_OPEN;break}case w.AMPERSAND:{this._startCharacterReference();break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitCodePoint(t);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case w.AMPERSAND:{this._startCharacterReference();break}case w.LESS_THAN_SIGN:{this.state=R.RCDATA_LESS_THAN_SIGN;break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitChars(St);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case w.LESS_THAN_SIGN:{this.state=R.RAWTEXT_LESS_THAN_SIGN;break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitChars(St);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case w.LESS_THAN_SIGN:{this.state=R.SCRIPT_DATA_LESS_THAN_SIGN;break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitChars(St);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case w.NULL:{this._err(Y.unexpectedNullCharacter),this._emitChars(St);break}case w.EOF:{this._emitEOFToken();break}default:this._emitCodePoint(t)}}_stateTagOpen(t){if(zs(t))this._createStartTagToken(),this.state=R.TAG_NAME,this._stateTagName(t);else switch(t){case w.EXCLAMATION_MARK:{this.state=R.MARKUP_DECLARATION_OPEN;break}case w.SOLIDUS:{this.state=R.END_TAG_OPEN;break}case w.QUESTION_MARK:{this._err(Y.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=R.BOGUS_COMMENT,this._stateBogusComment(t);break}case w.EOF:{this._err(Y.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break}default:this._err(Y.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=R.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(zs(t))this._createEndTagToken(),this.state=R.TAG_NAME,this._stateTagName(t);else switch(t){case w.GREATER_THAN_SIGN:{this._err(Y.missingEndTagName),this.state=R.DATA;break}case w.EOF:{this._err(Y.eofBeforeTagName),this._emitChars("");break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this.state=R.SCRIPT_DATA_ESCAPED,this._emitChars(St);break}case w.EOF:{this._err(Y.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=R.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===w.SOLIDUS?this.state=R.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:zs(t)?(this._emitChars("<"),this.state=R.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=R.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){zs(t)?(this.state=R.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("");break}case w.NULL:{this._err(Y.unexpectedNullCharacter),this.state=R.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(St);break}case w.EOF:{this._err(Y.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break}default:this.state=R.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===w.SOLIDUS?(this.state=R.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=R.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(tr.SCRIPT,!1)&&oO(this.preprocessor.peek(tr.SCRIPT.length))){this._emitCodePoint(t);for(let n=0;n0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,n){let r=this._indexOf(t);this.items[r]=n,r===this.stackTop&&(this.current=n)}insertAfter(t,n,r){let i=this._indexOf(t)+1;this.items.splice(i,0,n),this.tagIDs.splice(i,0,r),this.stackTop++,i===this.stackTop&&this._updateCurrentElement(),this.current&&this.currentTagId!==void 0&&this.handler.onItemPush(this.current,this.currentTagId,i===this.stackTop)}popUntilTagNamePopped(t){let n=this.stackTop+1;do n=this.tagIDs.lastIndexOf(t,n-1);while(n>0&&this.treeAdapter.getNamespaceURI(this.items[n])!==X.HTML);this.shortenToLength(Math.max(n,0))}shortenToLength(t){for(;this.stackTop>=t;){let n=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(n,this.stackTop=0;r--)if(t.has(this.tagIDs[r])&&this.treeAdapter.getNamespaceURI(this.items[r])===n)return r;return-1}clearBackTo(t,n){let r=this._indexOfTagNames(t,n);this.shortenToLength(r+1)}clearBackToTableContext(){this.clearBackTo(Jq,X.HTML)}clearBackToTableBodyContext(){this.clearBackTo(Zq,X.HTML)}clearBackToTableRowContext(){this.clearBackTo(Qq,X.HTML)}remove(t){let n=this._indexOf(t);n>=0&&(n===this.stackTop?this.pop():(this.items.splice(n,1),this.tagIDs.splice(n,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===m.BODY?this.items[1]:null}contains(t){return this._indexOf(t)>-1}getCommonAncestor(t){let n=this._indexOf(t)-1;return n>=0?this.items[n]:null}isRootHtmlElementCurrent(){return this.stackTop===0&&this.tagIDs[0]===m.HTML}hasInDynamicScope(t,n){for(let r=this.stackTop;r>=0;r--){let i=this.tagIDs[r];switch(this.treeAdapter.getNamespaceURI(this.items[r])){case X.HTML:{if(i===t)return!0;if(n.has(i))return!1;break}case X.SVG:{if(uO.has(i))return!1;break}case X.MATHML:{if(lO.has(i))return!1;break}}}return!0}hasInScope(t){return this.hasInDynamicScope(t,Gm)}hasInListItemScope(t){return this.hasInDynamicScope(t,jq)}hasInButtonScope(t){return this.hasInDynamicScope(t,Xq)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){let n=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case X.HTML:{if(Pu.has(n))return!0;if(Gm.has(n))return!1;break}case X.SVG:{if(uO.has(n))return!1;break}case X.MATHML:{if(lO.has(n))return!1;break}}}return!0}hasInTableScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===X.HTML)switch(this.tagIDs[n]){case t:return!0;case m.TABLE:case m.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===X.HTML)switch(this.tagIDs[t]){case m.TBODY:case m.THEAD:case m.TFOOT:return!0;case m.TABLE:case m.HTML:return!1}return!0}hasInSelectScope(t){for(let n=this.stackTop;n>=0;n--)if(this.treeAdapter.getNamespaceURI(this.items[n])===X.HTML)switch(this.tagIDs[n]){case t:return!0;case m.OPTION:case m.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;this.currentTagId!==void 0&&cO.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;this.currentTagId!==void 0&&aO.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;this.currentTagId!==void 0&&this.currentTagId!==t&&aO.has(this.currentTagId);)this.pop()}};var Ti;(function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"})(Ti||(Ti={}));var fO={type:Ti.Marker},Ym=class{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,n){let r=[],i=n.length,o=this.treeAdapter.getTagName(t),s=this.treeAdapter.getNamespaceURI(t);for(let a=0;a[s.name,s.value])),o=0;for(let s=0;si.get(l.name)===l.value)&&(o+=1,o>=3&&this.entries.splice(a.idx,1))}}insertMarker(){this.entries.unshift(fO)}pushElement(t,n){this._ensureNoahArkCondition(t),this.entries.unshift({type:Ti.Element,element:t,token:n})}insertElementAfterBookmark(t,n){let r=this.entries.indexOf(this.bookmark);this.entries.splice(r,0,{type:Ti.Element,element:t,token:n})}removeEntry(t){let n=this.entries.indexOf(t);n!==-1&&this.entries.splice(n,1)}clearToLastMarker(){let t=this.entries.indexOf(fO);t===-1?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){let n=this.entries.find(r=>r.type===Ti.Marker||this.treeAdapter.getTagName(r.element)===t);return n&&n.type===Ti.Element?n:null}getElementEntry(t){return this.entries.find(n=>n.type===Ti.Element&&n.element===t)}};var Si={createDocument(){return{nodeName:"#document",mode:qn.NO_QUIRKS,childNodes:[]}},createDocumentFragment(){return{nodeName:"#document-fragment",childNodes:[]}},createElement(e,t,n){return{nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}},createCommentNode(e){return{nodeName:"#comment",data:e,parentNode:null}},createTextNode(e){return{nodeName:"#text",value:e,parentNode:null}},appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){let r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent(e){return e.content},setDocumentType(e,t,n,r){let i=e.childNodes.find(o=>o.nodeName==="#documentType");if(i)i.name=t,i.publicId=n,i.systemId=r;else{let o={nodeName:"#documentType",name:t,publicId:n,systemId:r,parentNode:null};Si.appendChild(e,o)}},setDocumentMode(e,t){e.mode=t},getDocumentMode(e){return e.mode},detachNode(e){if(e.parentNode){let t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){let n=e.childNodes[e.childNodes.length-1];if(Si.isTextNode(n)){n.value+=t;return}}Si.appendChild(e,Si.createTextNode(t))},insertTextBefore(e,t,n){let r=e.childNodes[e.childNodes.indexOf(n)-1];r&&Si.isTextNode(r)?r.value+=t:Si.insertBefore(e,Si.createTextNode(t),n)},adoptAttributes(e,t){let n=new Set(e.attrs.map(r=>r.name));for(let r=0;re.startsWith(n))}function gO(e){return e.name===hO&&e.publicId===null&&(e.systemId===null||e.systemId===tV)}function bO(e){if(e.name!==hO)return qn.QUIRKS;let{systemId:t}=e;if(t&&t.toLowerCase()===nV)return qn.QUIRKS;let{publicId:n}=e;if(n!==null){if(n=n.toLowerCase(),iV.has(n))return qn.QUIRKS;let r=t===null?rV:pO;if(dO(n,r))return qn.QUIRKS;if(r=t===null?mO:oV,dO(n,r))return qn.LIMITED_QUIRKS}return qn.NO_QUIRKS}var yO={TEXT_HTML:"text/html",APPLICATION_XML:"application/xhtml+xml"},aV="definitionurl",lV="definitionURL",uV=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(e=>[e.toLowerCase(),e])),cV=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:X.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:X.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:X.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:X.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:X.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:X.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:X.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:X.XML}],["xml:space",{prefix:"xml",name:"space",namespace:X.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:X.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:X.XMLNS}]]),fV=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(e=>[e.toLowerCase(),e])),dV=new Set([m.B,m.BIG,m.BLOCKQUOTE,m.BODY,m.BR,m.CENTER,m.CODE,m.DD,m.DIV,m.DL,m.DT,m.EM,m.EMBED,m.H1,m.H2,m.H3,m.H4,m.H5,m.H6,m.HEAD,m.HR,m.I,m.IMG,m.LI,m.LISTING,m.MENU,m.META,m.NOBR,m.OL,m.P,m.PRE,m.RUBY,m.S,m.SMALL,m.SPAN,m.STRONG,m.STRIKE,m.SUB,m.SUP,m.TABLE,m.TT,m.U,m.UL,m.VAR]);function EO(e){let t=e.tagID;return t===m.FONT&&e.attrs.some(({name:r})=>r===zi.COLOR||r===zi.SIZE||r===zi.FACE)||dV.has(t)}function V1(e){for(let t=0;t0&&this._setContextModes(t,n)}onItemPop(t,n){var r,i;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),(i=(r=this.treeAdapter).onItemPop)===null||i===void 0||i.call(r,t,this.openElements.current),n){let o,s;this.openElements.stackTop===0&&this.fragmentContext?(o=this.fragmentContext,s=this.fragmentContextID):{current:o,currentTagId:s}=this.openElements,this._setContextModes(o,s)}}_setContextModes(t,n){let r=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===X.HTML;this.currentNotInHTML=!r,this.tokenizer.inForeignNode=!r&&t!==void 0&&n!==void 0&&!this._isIntegrationPoint(n,t)}_switchToTextParsing(t,n){this._insertElement(t,X.HTML),this.tokenizer.state=n,this.originalInsertionMode=this.insertionMode,this.insertionMode=M.TEXT}switchToPlaintextParsing(){this.insertionMode=M.TEXT,this.originalInsertionMode=M.IN_BODY,this.tokenizer.state=Bt.PLAINTEXT}_getAdjustedCurrentElement(){return this.openElements.stackTop===0&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let t=this.fragmentContext;for(;t;){if(this.treeAdapter.getTagName(t)===V.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(!(!this.fragmentContext||this.treeAdapter.getNamespaceURI(this.fragmentContext)!==X.HTML))switch(this.fragmentContextID){case m.TITLE:case m.TEXTAREA:{this.tokenizer.state=Bt.RCDATA;break}case m.STYLE:case m.XMP:case m.IFRAME:case m.NOEMBED:case m.NOFRAMES:case m.NOSCRIPT:{this.tokenizer.state=Bt.RAWTEXT;break}case m.SCRIPT:{this.tokenizer.state=Bt.SCRIPT_DATA;break}case m.PLAINTEXT:{this.tokenizer.state=Bt.PLAINTEXT;break}default:}}_setDocumentType(t){let n=t.name||"",r=t.publicId||"",i=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,n,r,i),t.location){let s=this.treeAdapter.getChildNodes(this.document).find(a=>this.treeAdapter.isDocumentTypeNode(a));s&&this.treeAdapter.setNodeSourceCodeLocation(s,t.location)}}_attachElementToTree(t,n){if(this.options.sourceCodeLocationInfo){let r=n&&{...n,startTag:n};this.treeAdapter.setNodeSourceCodeLocation(t,r)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{let r=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(r??this.document,t)}}_appendElement(t,n){let r=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(r,t.location)}_insertElement(t,n){let r=this.treeAdapter.createElement(t.tagName,n,t.attrs);this._attachElementToTree(r,t.location),this.openElements.push(r,t.tagID)}_insertFakeElement(t,n){let r=this.treeAdapter.createElement(t,X.HTML,[]);this._attachElementToTree(r,null),this.openElements.push(r,n)}_insertTemplate(t){let n=this.treeAdapter.createElement(t.tagName,X.HTML,t.attrs),r=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(n,r),this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(r,null)}_insertFakeRootElement(){let t=this.treeAdapter.createElement(V.HTML,X.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,m.HTML)}_appendCommentNode(t,n){let r=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(n,r),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(r,t.location)}_insertCharacters(t){let n,r;if(this._shouldFosterParentOnInsertion()?({parent:n,beforeElement:r}=this._findFosterParentingLocation(),r?this.treeAdapter.insertTextBefore(n,t.chars,r):this.treeAdapter.insertText(n,t.chars)):(n=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(n,t.chars)),!t.location)return;let i=this.treeAdapter.getChildNodes(n),o=r?i.lastIndexOf(r):i.length,s=i[o-1];if(this.treeAdapter.getNodeSourceCodeLocation(s)){let{endLine:l,endCol:u,endOffset:c}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(s,{endLine:l,endCol:u,endOffset:c})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,t.location)}_adoptNodes(t,n){for(let r=this.treeAdapter.getFirstChild(t);r;r=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(r),this.treeAdapter.appendChild(n,r)}_setEndLocation(t,n){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&n.location){let r=n.location,i=this.treeAdapter.getTagName(t),o=n.type===Xe.END_TAG&&i===n.tagName?{endTag:{...r},endLine:r.endLine,endCol:r.endCol,endOffset:r.endOffset}:{endLine:r.startLine,endCol:r.startCol,endOffset:r.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,o)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let n,r;return this.openElements.stackTop===0&&this.fragmentContext?(n=this.fragmentContext,r=this.fragmentContextID):{current:n,currentTagId:r}=this.openElements,t.tagID===m.SVG&&this.treeAdapter.getTagName(n)===V.ANNOTATION_XML&&this.treeAdapter.getNamespaceURI(n)===X.MATHML?!1:this.tokenizer.inForeignNode||(t.tagID===m.MGLYPH||t.tagID===m.MALIGNMARK)&&r!==void 0&&!this._isIntegrationPoint(r,n,X.HTML)}_processToken(t){switch(t.type){case Xe.CHARACTER:{this.onCharacter(t);break}case Xe.NULL_CHARACTER:{this.onNullCharacter(t);break}case Xe.COMMENT:{this.onComment(t);break}case Xe.DOCTYPE:{this.onDoctype(t);break}case Xe.START_TAG:{this._processStartTag(t);break}case Xe.END_TAG:{this.onEndTag(t);break}case Xe.EOF:{this.onEof(t);break}case Xe.WHITESPACE_CHARACTER:{this.onWhitespaceCharacter(t);break}}}_isIntegrationPoint(t,n,r){let i=this.treeAdapter.getNamespaceURI(n),o=this.treeAdapter.getAttrList(n);return SO(t,i,o,r)}_reconstructActiveFormattingElements(){let t=this.activeFormattingElements.entries.length;if(t){let n=this.activeFormattingElements.entries.findIndex(i=>i.type===Ti.Marker||this.openElements.contains(i.element)),r=n===-1?t-1:n-1;for(let i=r;i>=0;i--){let o=this.activeFormattingElements.entries[i];this._insertElement(o.token,this.treeAdapter.getNamespaceURI(o.element)),o.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=M.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(m.P),this.openElements.popUntilTagNamePopped(m.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(t===0&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case m.TR:{this.insertionMode=M.IN_ROW;return}case m.TBODY:case m.THEAD:case m.TFOOT:{this.insertionMode=M.IN_TABLE_BODY;return}case m.CAPTION:{this.insertionMode=M.IN_CAPTION;return}case m.COLGROUP:{this.insertionMode=M.IN_COLUMN_GROUP;return}case m.TABLE:{this.insertionMode=M.IN_TABLE;return}case m.BODY:{this.insertionMode=M.IN_BODY;return}case m.FRAMESET:{this.insertionMode=M.IN_FRAMESET;return}case m.SELECT:{this._resetInsertionModeForSelect(t);return}case m.TEMPLATE:{this.insertionMode=this.tmplInsertionModeStack[0];return}case m.HTML:{this.insertionMode=this.headElement?M.AFTER_HEAD:M.BEFORE_HEAD;return}case m.TD:case m.TH:{if(t>0){this.insertionMode=M.IN_CELL;return}break}case m.HEAD:{if(t>0){this.insertionMode=M.IN_HEAD;return}break}}this.insertionMode=M.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let n=t-1;n>0;n--){let r=this.openElements.tagIDs[n];if(r===m.TEMPLATE)break;if(r===m.TABLE){this.insertionMode=M.IN_SELECT_IN_TABLE;return}}this.insertionMode=M.IN_SELECT}_isElementCausesFosterParenting(t){return CO.has(t)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this.openElements.currentTagId!==void 0&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let t=this.openElements.stackTop;t>=0;t--){let n=this.openElements.items[t];switch(this.openElements.tagIDs[t]){case m.TEMPLATE:{if(this.treeAdapter.getNamespaceURI(n)===X.HTML)return{parent:this.treeAdapter.getTemplateContent(n),beforeElement:null};break}case m.TABLE:{let r=this.treeAdapter.getParentNode(n);return r?{parent:r,beforeElement:n}:{parent:this.openElements.items[t-1],beforeElement:null}}default:}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){let n=this._findFosterParentingLocation();n.beforeElement?this.treeAdapter.insertBefore(n.parent,t,n.beforeElement):this.treeAdapter.appendChild(n.parent,t)}_isSpecialElement(t,n){let r=this.treeAdapter.getNamespaceURI(t);return q1[r].has(n)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){$G(this,t);return}switch(this.insertionMode){case M.INITIAL:{md(this,t);break}case M.BEFORE_HTML:{bd(this,t);break}case M.BEFORE_HEAD:{yd(this,t);break}case M.IN_HEAD:{Ed(this,t);break}case M.IN_HEAD_NO_SCRIPT:{Td(this,t);break}case M.AFTER_HEAD:{Sd(this,t);break}case M.IN_BODY:case M.IN_CAPTION:case M.IN_CELL:case M.IN_TEMPLATE:{NO(this,t);break}case M.TEXT:case M.IN_SELECT:case M.IN_SELECT_IN_TABLE:{this._insertCharacters(t);break}case M.IN_TABLE:case M.IN_TABLE_BODY:case M.IN_ROW:{K1(this,t);break}case M.IN_TABLE_TEXT:{IO(this,t);break}case M.IN_COLUMN_GROUP:{jm(this,t);break}case M.AFTER_BODY:{Xm(this,t);break}case M.AFTER_AFTER_BODY:{$m(this,t);break}default:}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode){WG(this,t);return}switch(this.insertionMode){case M.INITIAL:{md(this,t);break}case M.BEFORE_HTML:{bd(this,t);break}case M.BEFORE_HEAD:{yd(this,t);break}case M.IN_HEAD:{Ed(this,t);break}case M.IN_HEAD_NO_SCRIPT:{Td(this,t);break}case M.AFTER_HEAD:{Sd(this,t);break}case M.TEXT:{this._insertCharacters(t);break}case M.IN_TABLE:case M.IN_TABLE_BODY:case M.IN_ROW:{K1(this,t);break}case M.IN_COLUMN_GROUP:{jm(this,t);break}case M.AFTER_BODY:{Xm(this,t);break}case M.AFTER_AFTER_BODY:{$m(this,t);break}default:}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML){Y1(this,t);return}switch(this.insertionMode){case M.INITIAL:case M.BEFORE_HTML:case M.BEFORE_HEAD:case M.IN_HEAD:case M.IN_HEAD_NO_SCRIPT:case M.AFTER_HEAD:case M.IN_BODY:case M.IN_TABLE:case M.IN_CAPTION:case M.IN_COLUMN_GROUP:case M.IN_TABLE_BODY:case M.IN_ROW:case M.IN_CELL:case M.IN_SELECT:case M.IN_SELECT_IN_TABLE:case M.IN_TEMPLATE:case M.IN_FRAMESET:case M.AFTER_FRAMESET:{Y1(this,t);break}case M.IN_TABLE_TEXT:{gd(this,t);break}case M.AFTER_BODY:{_V(this,t);break}case M.AFTER_AFTER_BODY:case M.AFTER_AFTER_FRAMESET:{CV(this,t);break}default:}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case M.INITIAL:{wV(this,t);break}case M.BEFORE_HEAD:case M.IN_HEAD:case M.IN_HEAD_NO_SCRIPT:case M.AFTER_HEAD:{this._err(t,Y.misplacedDoctype);break}case M.IN_TABLE_TEXT:{gd(this,t);break}default:}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,Y.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?jG(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case M.INITIAL:{md(this,t);break}case M.BEFORE_HTML:{NV(this,t);break}case M.BEFORE_HEAD:{kV(this,t);break}case M.IN_HEAD:{vi(this,t);break}case M.IN_HEAD_NO_SCRIPT:{DV(this,t);break}case M.AFTER_HEAD:{LV(this,t);break}case M.IN_BODY:{Vn(this,t);break}case M.IN_TABLE:{Bu(this,t);break}case M.IN_TABLE_TEXT:{gd(this,t);break}case M.IN_CAPTION:{MG(this,t);break}case M.IN_COLUMN_GROUP:{X1(this,t);break}case M.IN_TABLE_BODY:{Jm(this,t);break}case M.IN_ROW:{eg(this,t);break}case M.IN_CELL:{IG(this,t);break}case M.IN_SELECT:{BO(this,t);break}case M.IN_SELECT_IN_TABLE:{PG(this,t);break}case M.IN_TEMPLATE:{HG(this,t);break}case M.AFTER_BODY:{zG(this,t);break}case M.IN_FRAMESET:{UG(this,t);break}case M.AFTER_FRAMESET:{VG(this,t);break}case M.AFTER_AFTER_BODY:{KG(this,t);break}case M.AFTER_AFTER_FRAMESET:{YG(this,t);break}default:}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?XG(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case M.INITIAL:{md(this,t);break}case M.BEFORE_HTML:{RV(this,t);break}case M.BEFORE_HEAD:{MV(this,t);break}case M.IN_HEAD:{OV(this,t);break}case M.IN_HEAD_NO_SCRIPT:{IV(this,t);break}case M.AFTER_HEAD:{PV(this,t);break}case M.IN_BODY:{Zm(this,t);break}case M.TEXT:{SG(this,t);break}case M.IN_TABLE:{vd(this,t);break}case M.IN_TABLE_TEXT:{gd(this,t);break}case M.IN_CAPTION:{OG(this,t);break}case M.IN_COLUMN_GROUP:{DG(this,t);break}case M.IN_TABLE_BODY:{W1(this,t);break}case M.IN_ROW:{PO(this,t);break}case M.IN_CELL:{LG(this,t);break}case M.IN_SELECT:{HO(this,t);break}case M.IN_SELECT_IN_TABLE:{BG(this,t);break}case M.IN_TEMPLATE:{FG(this,t);break}case M.AFTER_BODY:{zO(this,t);break}case M.IN_FRAMESET:{qG(this,t);break}case M.AFTER_FRAMESET:{GG(this,t);break}case M.AFTER_AFTER_BODY:{$m(this,t);break}default:}}onEof(t){switch(this.insertionMode){case M.INITIAL:{md(this,t);break}case M.BEFORE_HTML:{bd(this,t);break}case M.BEFORE_HEAD:{yd(this,t);break}case M.IN_HEAD:{Ed(this,t);break}case M.IN_HEAD_NO_SCRIPT:{Td(this,t);break}case M.AFTER_HEAD:{Sd(this,t);break}case M.IN_BODY:case M.IN_TABLE:case M.IN_CAPTION:case M.IN_COLUMN_GROUP:case M.IN_TABLE_BODY:case M.IN_ROW:case M.IN_CELL:case M.IN_SELECT:case M.IN_SELECT_IN_TABLE:{OO(this,t);break}case M.TEXT:{vG(this,t);break}case M.IN_TABLE_TEXT:{gd(this,t);break}case M.IN_TEMPLATE:{FO(this,t);break}case M.AFTER_BODY:case M.IN_FRAMESET:case M.AFTER_FRAMESET:case M.AFTER_AFTER_BODY:case M.AFTER_AFTER_FRAMESET:{j1(this,t);break}default:}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===w.LINE_FEED)){if(t.chars.length===1)return;t.chars=t.chars.substr(1)}if(this.tokenizer.inForeignNode){this._insertCharacters(t);return}switch(this.insertionMode){case M.IN_HEAD:case M.IN_HEAD_NO_SCRIPT:case M.AFTER_HEAD:case M.TEXT:case M.IN_COLUMN_GROUP:case M.IN_SELECT:case M.IN_SELECT_IN_TABLE:case M.IN_FRAMESET:case M.AFTER_FRAMESET:{this._insertCharacters(t);break}case M.IN_BODY:case M.IN_CAPTION:case M.IN_CELL:case M.IN_TEMPLATE:case M.AFTER_BODY:case M.AFTER_AFTER_BODY:case M.AFTER_AFTER_FRAMESET:{wO(this,t);break}case M.IN_TABLE:case M.IN_TABLE_BODY:case M.IN_ROW:{K1(this,t);break}case M.IN_TABLE_TEXT:{DO(this,t);break}default:}}};function EV(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagID)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):MO(e,t),n}function TV(e,t){let n=null,r=e.openElements.stackTop;for(;r>=0;r--){let i=e.openElements.items[r];if(i===t.element)break;e._isSpecialElement(i,e.openElements.tagIDs[r])&&(n=i)}return n||(e.openElements.shortenToLength(Math.max(r,0)),e.activeFormattingElements.removeEntry(t)),n}function SV(e,t,n){let r=t,i=e.openElements.getCommonAncestor(t);for(let o=0,s=i;s!==n;o++,s=i){i=e.openElements.getCommonAncestor(s);let a=e.activeFormattingElements.getElementEntry(s),l=a&&o>=bV;!a||l?(l&&e.activeFormattingElements.removeEntry(a),e.openElements.remove(s)):(s=vV(e,a),r===t&&(e.activeFormattingElements.bookmark=a),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(s,r),r=s)}return r}function vV(e,t){let n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function xV(e,t,n){let r=e.treeAdapter.getTagName(t),i=Fs(r);if(e._isElementCausesFosterParenting(i))e._fosterParentElement(n);else{let o=e.treeAdapter.getNamespaceURI(t);i===m.TEMPLATE&&o===X.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function AV(e,t,n){let r=e.treeAdapter.getNamespaceURI(n.element),{token:i}=n,o=e.treeAdapter.createElement(i.tagName,r,i.attrs);e._adoptNodes(t,o),e.treeAdapter.appendChild(t,o),e.activeFormattingElements.insertElementAfterBookmark(o,i),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,o,i.tagID)}function $1(e,t){for(let n=0;n=n;r--)e._setEndLocation(e.openElements.items[r],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){let r=e.openElements.items[0],i=e.treeAdapter.getNodeSourceCodeLocation(r);if(i&&!i.endTag&&(e._setEndLocation(r,t),e.openElements.stackTop>=1)){let o=e.openElements.items[1],s=e.treeAdapter.getNodeSourceCodeLocation(o);s&&!s.endTag&&e._setEndLocation(o,t)}}}}function wV(e,t){e._setDocumentType(t);let n=t.forceQuirks?qn.QUIRKS:bO(t);gO(t)||e._err(t,Y.nonConformingDoctype),e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=M.BEFORE_HTML}function md(e,t){e._err(t,Y.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,qn.QUIRKS),e.insertionMode=M.BEFORE_HTML,e._processToken(t)}function NV(e,t){t.tagID===m.HTML?(e._insertElement(t,X.HTML),e.insertionMode=M.BEFORE_HEAD):bd(e,t)}function RV(e,t){let n=t.tagID;(n===m.HTML||n===m.HEAD||n===m.BODY||n===m.BR)&&bd(e,t)}function bd(e,t){e._insertFakeRootElement(),e.insertionMode=M.BEFORE_HEAD,e._processToken(t)}function kV(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.HEAD:{e._insertElement(t,X.HTML),e.headElement=e.openElements.current,e.insertionMode=M.IN_HEAD;break}default:yd(e,t)}}function MV(e,t){let n=t.tagID;n===m.HEAD||n===m.BODY||n===m.HTML||n===m.BR?yd(e,t):e._err(t,Y.endTagWithoutMatchingOpenElement)}function yd(e,t){e._insertFakeElement(V.HEAD,m.HEAD),e.headElement=e.openElements.current,e.insertionMode=M.IN_HEAD,e._processToken(t)}function vi(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.BASE:case m.BASEFONT:case m.BGSOUND:case m.LINK:case m.META:{e._appendElement(t,X.HTML),t.ackSelfClosing=!0;break}case m.TITLE:{e._switchToTextParsing(t,Bt.RCDATA);break}case m.NOSCRIPT:{e.options.scriptingEnabled?e._switchToTextParsing(t,Bt.RAWTEXT):(e._insertElement(t,X.HTML),e.insertionMode=M.IN_HEAD_NO_SCRIPT);break}case m.NOFRAMES:case m.STYLE:{e._switchToTextParsing(t,Bt.RAWTEXT);break}case m.SCRIPT:{e._switchToTextParsing(t,Bt.SCRIPT_DATA);break}case m.TEMPLATE:{e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=M.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(M.IN_TEMPLATE);break}case m.HEAD:{e._err(t,Y.misplacedStartTagForHeadElement);break}default:Ed(e,t)}}function OV(e,t){switch(t.tagID){case m.HEAD:{e.openElements.pop(),e.insertionMode=M.AFTER_HEAD;break}case m.BODY:case m.BR:case m.HTML:{Ed(e,t);break}case m.TEMPLATE:{Ha(e,t);break}default:e._err(t,Y.endTagWithoutMatchingOpenElement)}}function Ha(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==m.TEMPLATE&&e._err(t,Y.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Y.endTagWithoutMatchingOpenElement)}function Ed(e,t){e.openElements.pop(),e.insertionMode=M.AFTER_HEAD,e._processToken(t)}function DV(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.BASEFONT:case m.BGSOUND:case m.HEAD:case m.LINK:case m.META:case m.NOFRAMES:case m.STYLE:{vi(e,t);break}case m.NOSCRIPT:{e._err(t,Y.nestedNoscriptInHead);break}default:Td(e,t)}}function IV(e,t){switch(t.tagID){case m.NOSCRIPT:{e.openElements.pop(),e.insertionMode=M.IN_HEAD;break}case m.BR:{Td(e,t);break}default:e._err(t,Y.endTagWithoutMatchingOpenElement)}}function Td(e,t){let n=t.type===Xe.EOF?Y.openElementsLeftAfterEof:Y.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=M.IN_HEAD,e._processToken(t)}function LV(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.BODY:{e._insertElement(t,X.HTML),e.framesetOk=!1,e.insertionMode=M.IN_BODY;break}case m.FRAMESET:{e._insertElement(t,X.HTML),e.insertionMode=M.IN_FRAMESET;break}case m.BASE:case m.BASEFONT:case m.BGSOUND:case m.LINK:case m.META:case m.NOFRAMES:case m.SCRIPT:case m.STYLE:case m.TEMPLATE:case m.TITLE:{e._err(t,Y.abandonedHeadElementChild),e.openElements.push(e.headElement,m.HEAD),vi(e,t),e.openElements.remove(e.headElement);break}case m.HEAD:{e._err(t,Y.misplacedStartTagForHeadElement);break}default:Sd(e,t)}}function PV(e,t){switch(t.tagID){case m.BODY:case m.HTML:case m.BR:{Sd(e,t);break}case m.TEMPLATE:{Ha(e,t);break}default:e._err(t,Y.endTagWithoutMatchingOpenElement)}}function Sd(e,t){e._insertFakeElement(V.BODY,m.BODY),e.insertionMode=M.IN_BODY,Qm(e,t)}function Qm(e,t){switch(t.type){case Xe.CHARACTER:{NO(e,t);break}case Xe.WHITESPACE_CHARACTER:{wO(e,t);break}case Xe.COMMENT:{Y1(e,t);break}case Xe.START_TAG:{Vn(e,t);break}case Xe.END_TAG:{Zm(e,t);break}case Xe.EOF:{OO(e,t);break}default:}}function wO(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function NO(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function BV(e,t){e.openElements.tmplCount===0&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}function HV(e,t){let n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e.openElements.tmplCount===0&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}function FV(e,t){let n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,X.HTML),e.insertionMode=M.IN_FRAMESET)}function zV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,X.HTML)}function UV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e.openElements.currentTagId!==void 0&&Pu.has(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,X.HTML)}function qV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,X.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}function VV(e,t){let n=e.openElements.tmplCount>0;(!e.formElement||n)&&(e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,X.HTML),n||(e.formElement=e.openElements.current))}function GV(e,t){e.framesetOk=!1;let n=t.tagID;for(let r=e.openElements.stackTop;r>=0;r--){let i=e.openElements.tagIDs[r];if(n===m.LI&&i===m.LI||(n===m.DD||n===m.DT)&&(i===m.DD||i===m.DT)){e.openElements.generateImpliedEndTagsWithExclusion(i),e.openElements.popUntilTagNamePopped(i);break}if(i!==m.ADDRESS&&i!==m.DIV&&i!==m.P&&e._isSpecialElement(e.openElements.items[r],i))break}e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,X.HTML)}function KV(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,X.HTML),e.tokenizer.state=Bt.PLAINTEXT}function YV(e,t){e.openElements.hasInScope(m.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(m.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,X.HTML),e.framesetOk=!1}function WV(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(V.A);n&&($1(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,X.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function $V(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,X.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function jV(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(m.NOBR)&&($1(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,X.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}function XV(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,X.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}function QV(e,t){e.treeAdapter.getDocumentMode(e.document)!==qn.QUIRKS&&e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._insertElement(t,X.HTML),e.framesetOk=!1,e.insertionMode=M.IN_TABLE}function RO(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,X.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function kO(e){let t=fd(e,zi.TYPE);return t!=null&&t.toLowerCase()===mV}function ZV(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,X.HTML),kO(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}function JV(e,t){e._appendElement(t,X.HTML),t.ackSelfClosing=!0}function eG(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._appendElement(t,X.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function tG(e,t){t.tagName=V.IMG,t.tagID=m.IMG,RO(e,t)}function nG(e,t){e._insertElement(t,X.HTML),e.skipNextNewLine=!0,e.tokenizer.state=Bt.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=M.TEXT}function rG(e,t){e.openElements.hasInButtonScope(m.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,Bt.RAWTEXT)}function iG(e,t){e.framesetOk=!1,e._switchToTextParsing(t,Bt.RAWTEXT)}function AO(e,t){e._switchToTextParsing(t,Bt.RAWTEXT)}function oG(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,X.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===M.IN_TABLE||e.insertionMode===M.IN_CAPTION||e.insertionMode===M.IN_TABLE_BODY||e.insertionMode===M.IN_ROW||e.insertionMode===M.IN_CELL?M.IN_SELECT_IN_TABLE:M.IN_SELECT}function sG(e,t){e.openElements.currentTagId===m.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,X.HTML)}function aG(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,X.HTML)}function lG(e,t){e.openElements.hasInScope(m.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(m.RTC),e._insertElement(t,X.HTML)}function uG(e,t){e._reconstructActiveFormattingElements(),V1(t),Wm(t),t.selfClosing?e._appendElement(t,X.MATHML):e._insertElement(t,X.MATHML),t.ackSelfClosing=!0}function cG(e,t){e._reconstructActiveFormattingElements(),G1(t),Wm(t),t.selfClosing?e._appendElement(t,X.SVG):e._insertElement(t,X.SVG),t.ackSelfClosing=!0}function _O(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,X.HTML)}function Vn(e,t){switch(t.tagID){case m.I:case m.S:case m.B:case m.U:case m.EM:case m.TT:case m.BIG:case m.CODE:case m.FONT:case m.SMALL:case m.STRIKE:case m.STRONG:{$V(e,t);break}case m.A:{WV(e,t);break}case m.H1:case m.H2:case m.H3:case m.H4:case m.H5:case m.H6:{UV(e,t);break}case m.P:case m.DL:case m.OL:case m.UL:case m.DIV:case m.DIR:case m.NAV:case m.MAIN:case m.MENU:case m.ASIDE:case m.CENTER:case m.FIGURE:case m.FOOTER:case m.HEADER:case m.HGROUP:case m.DIALOG:case m.DETAILS:case m.ADDRESS:case m.ARTICLE:case m.SEARCH:case m.SECTION:case m.SUMMARY:case m.FIELDSET:case m.BLOCKQUOTE:case m.FIGCAPTION:{zV(e,t);break}case m.LI:case m.DD:case m.DT:{GV(e,t);break}case m.BR:case m.IMG:case m.WBR:case m.AREA:case m.EMBED:case m.KEYGEN:{RO(e,t);break}case m.HR:{eG(e,t);break}case m.RB:case m.RTC:{aG(e,t);break}case m.RT:case m.RP:{lG(e,t);break}case m.PRE:case m.LISTING:{qV(e,t);break}case m.XMP:{rG(e,t);break}case m.SVG:{cG(e,t);break}case m.HTML:{BV(e,t);break}case m.BASE:case m.LINK:case m.META:case m.STYLE:case m.TITLE:case m.SCRIPT:case m.BGSOUND:case m.BASEFONT:case m.TEMPLATE:{vi(e,t);break}case m.BODY:{HV(e,t);break}case m.FORM:{VV(e,t);break}case m.NOBR:{jV(e,t);break}case m.MATH:{uG(e,t);break}case m.TABLE:{QV(e,t);break}case m.INPUT:{ZV(e,t);break}case m.PARAM:case m.TRACK:case m.SOURCE:{JV(e,t);break}case m.IMAGE:{tG(e,t);break}case m.BUTTON:{YV(e,t);break}case m.APPLET:case m.OBJECT:case m.MARQUEE:{XV(e,t);break}case m.IFRAME:{iG(e,t);break}case m.SELECT:{oG(e,t);break}case m.OPTION:case m.OPTGROUP:{sG(e,t);break}case m.NOEMBED:case m.NOFRAMES:{AO(e,t);break}case m.FRAMESET:{FV(e,t);break}case m.TEXTAREA:{nG(e,t);break}case m.NOSCRIPT:{e.options.scriptingEnabled?AO(e,t):_O(e,t);break}case m.PLAINTEXT:{KV(e,t);break}case m.COL:case m.TH:case m.TD:case m.TR:case m.HEAD:case m.FRAME:case m.TBODY:case m.TFOOT:case m.THEAD:case m.CAPTION:case m.COLGROUP:break;default:_O(e,t)}}function fG(e,t){if(e.openElements.hasInScope(m.BODY)&&(e.insertionMode=M.AFTER_BODY,e.options.sourceCodeLocationInfo)){let n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}function dG(e,t){e.openElements.hasInScope(m.BODY)&&(e.insertionMode=M.AFTER_BODY,zO(e,t))}function hG(e,t){let n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}function pG(e){let t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(m.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(m.FORM):n&&e.openElements.remove(n))}function mG(e){e.openElements.hasInButtonScope(m.P)||e._insertFakeElement(V.P,m.P),e._closePElement()}function gG(e){e.openElements.hasInListItemScope(m.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(m.LI),e.openElements.popUntilTagNamePopped(m.LI))}function bG(e,t){let n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}function yG(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}function EG(e,t){let n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}function TG(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(V.BR,m.BR),e.openElements.pop(),e.framesetOk=!1}function MO(e,t){let n=t.tagName,r=t.tagID;for(let i=e.openElements.stackTop;i>0;i--){let o=e.openElements.items[i],s=e.openElements.tagIDs[i];if(r===s&&(r!==m.UNKNOWN||e.treeAdapter.getTagName(o)===n)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.stackTop>=i&&e.openElements.shortenToLength(i);break}if(e._isSpecialElement(o,s))break}}function Zm(e,t){switch(t.tagID){case m.A:case m.B:case m.I:case m.S:case m.U:case m.EM:case m.TT:case m.BIG:case m.CODE:case m.FONT:case m.NOBR:case m.SMALL:case m.STRIKE:case m.STRONG:{$1(e,t);break}case m.P:{mG(e);break}case m.DL:case m.UL:case m.OL:case m.DIR:case m.DIV:case m.NAV:case m.PRE:case m.MAIN:case m.MENU:case m.ASIDE:case m.BUTTON:case m.CENTER:case m.FIGURE:case m.FOOTER:case m.HEADER:case m.HGROUP:case m.DIALOG:case m.ADDRESS:case m.ARTICLE:case m.DETAILS:case m.SEARCH:case m.SECTION:case m.SUMMARY:case m.LISTING:case m.FIELDSET:case m.BLOCKQUOTE:case m.FIGCAPTION:{hG(e,t);break}case m.LI:{gG(e);break}case m.DD:case m.DT:{bG(e,t);break}case m.H1:case m.H2:case m.H3:case m.H4:case m.H5:case m.H6:{yG(e);break}case m.BR:{TG(e);break}case m.BODY:{fG(e,t);break}case m.HTML:{dG(e,t);break}case m.FORM:{pG(e);break}case m.APPLET:case m.OBJECT:case m.MARQUEE:{EG(e,t);break}case m.TEMPLATE:{Ha(e,t);break}default:MO(e,t)}}function OO(e,t){e.tmplInsertionModeStack.length>0?FO(e,t):j1(e,t)}function SG(e,t){var n;t.tagID===m.SCRIPT&&((n=e.scriptHandler)===null||n===void 0||n.call(e,e.openElements.current)),e.openElements.pop(),e.insertionMode=e.originalInsertionMode}function vG(e,t){e._err(t,Y.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}function K1(e,t){if(e.openElements.currentTagId!==void 0&&CO.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=M.IN_TABLE_TEXT,t.type){case Xe.CHARACTER:{IO(e,t);break}case Xe.WHITESPACE_CHARACTER:{DO(e,t);break}}else xd(e,t)}function xG(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,X.HTML),e.insertionMode=M.IN_CAPTION}function AG(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,X.HTML),e.insertionMode=M.IN_COLUMN_GROUP}function _G(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(V.COLGROUP,m.COLGROUP),e.insertionMode=M.IN_COLUMN_GROUP,X1(e,t)}function CG(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,X.HTML),e.insertionMode=M.IN_TABLE_BODY}function wG(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(V.TBODY,m.TBODY),e.insertionMode=M.IN_TABLE_BODY,Jm(e,t)}function NG(e,t){e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode(),e._processStartTag(t))}function RG(e,t){kO(t)?e._appendElement(t,X.HTML):xd(e,t),t.ackSelfClosing=!0}function kG(e,t){!e.formElement&&e.openElements.tmplCount===0&&(e._insertElement(t,X.HTML),e.formElement=e.openElements.current,e.openElements.pop())}function Bu(e,t){switch(t.tagID){case m.TD:case m.TH:case m.TR:{wG(e,t);break}case m.STYLE:case m.SCRIPT:case m.TEMPLATE:{vi(e,t);break}case m.COL:{_G(e,t);break}case m.FORM:{kG(e,t);break}case m.TABLE:{NG(e,t);break}case m.TBODY:case m.TFOOT:case m.THEAD:{CG(e,t);break}case m.INPUT:{RG(e,t);break}case m.CAPTION:{xG(e,t);break}case m.COLGROUP:{AG(e,t);break}default:xd(e,t)}}function vd(e,t){switch(t.tagID){case m.TABLE:{e.openElements.hasInTableScope(m.TABLE)&&(e.openElements.popUntilTagNamePopped(m.TABLE),e._resetInsertionMode());break}case m.TEMPLATE:{Ha(e,t);break}case m.BODY:case m.CAPTION:case m.COL:case m.COLGROUP:case m.HTML:case m.TBODY:case m.TD:case m.TFOOT:case m.TH:case m.THEAD:case m.TR:break;default:xd(e,t)}}function xd(e,t){let n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,Qm(e,t),e.fosterParentingEnabled=n}function DO(e,t){e.pendingCharacterTokens.push(t)}function IO(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function gd(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===m.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===m.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===m.OPTGROUP&&e.openElements.pop();break}case m.OPTION:{e.openElements.currentTagId===m.OPTION&&e.openElements.pop();break}case m.SELECT:{e.openElements.hasInSelectScope(m.SELECT)&&(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode());break}case m.TEMPLATE:{Ha(e,t);break}default:}}function PG(e,t){let n=t.tagID;n===m.CAPTION||n===m.TABLE||n===m.TBODY||n===m.TFOOT||n===m.THEAD||n===m.TR||n===m.TD||n===m.TH?(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode(),e._processStartTag(t)):BO(e,t)}function BG(e,t){let n=t.tagID;n===m.CAPTION||n===m.TABLE||n===m.TBODY||n===m.TFOOT||n===m.THEAD||n===m.TR||n===m.TD||n===m.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(m.SELECT),e._resetInsertionMode(),e.onEndTag(t)):HO(e,t)}function HG(e,t){switch(t.tagID){case m.BASE:case m.BASEFONT:case m.BGSOUND:case m.LINK:case m.META:case m.NOFRAMES:case m.SCRIPT:case m.STYLE:case m.TEMPLATE:case m.TITLE:{vi(e,t);break}case m.CAPTION:case m.COLGROUP:case m.TBODY:case m.TFOOT:case m.THEAD:{e.tmplInsertionModeStack[0]=M.IN_TABLE,e.insertionMode=M.IN_TABLE,Bu(e,t);break}case m.COL:{e.tmplInsertionModeStack[0]=M.IN_COLUMN_GROUP,e.insertionMode=M.IN_COLUMN_GROUP,X1(e,t);break}case m.TR:{e.tmplInsertionModeStack[0]=M.IN_TABLE_BODY,e.insertionMode=M.IN_TABLE_BODY,Jm(e,t);break}case m.TD:case m.TH:{e.tmplInsertionModeStack[0]=M.IN_ROW,e.insertionMode=M.IN_ROW,eg(e,t);break}default:e.tmplInsertionModeStack[0]=M.IN_BODY,e.insertionMode=M.IN_BODY,Vn(e,t)}}function FG(e,t){t.tagID===m.TEMPLATE&&Ha(e,t)}function FO(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(m.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):j1(e,t)}function zG(e,t){t.tagID===m.HTML?Vn(e,t):Xm(e,t)}function zO(e,t){var n;if(t.tagID===m.HTML){if(e.fragmentContext||(e.insertionMode=M.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===m.HTML){e._setEndLocation(e.openElements.items[0],t);let r=e.openElements.items[1];r&&!(!((n=e.treeAdapter.getNodeSourceCodeLocation(r))===null||n===void 0)&&n.endTag)&&e._setEndLocation(r,t)}}else Xm(e,t)}function Xm(e,t){e.insertionMode=M.IN_BODY,Qm(e,t)}function UG(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.FRAMESET:{e._insertElement(t,X.HTML);break}case m.FRAME:{e._appendElement(t,X.HTML),t.ackSelfClosing=!0;break}case m.NOFRAMES:{vi(e,t);break}default:}}function qG(e,t){t.tagID===m.FRAMESET&&!e.openElements.isRootHtmlElementCurrent()&&(e.openElements.pop(),!e.fragmentContext&&e.openElements.currentTagId!==m.FRAMESET&&(e.insertionMode=M.AFTER_FRAMESET))}function VG(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.NOFRAMES:{vi(e,t);break}default:}}function GG(e,t){t.tagID===m.HTML&&(e.insertionMode=M.AFTER_AFTER_FRAMESET)}function KG(e,t){t.tagID===m.HTML?Vn(e,t):$m(e,t)}function $m(e,t){e.insertionMode=M.IN_BODY,Qm(e,t)}function YG(e,t){switch(t.tagID){case m.HTML:{Vn(e,t);break}case m.NOFRAMES:{vi(e,t);break}default:}}function WG(e,t){t.chars=St,e._insertCharacters(t)}function $G(e,t){e._insertCharacters(t),e.framesetOk=!1}function UO(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==X.HTML&&e.openElements.currentTagId!==void 0&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}function jG(e,t){if(EO(t))UO(e),e._startTagOutsideForeignContent(t);else{let n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===X.MATHML?V1(t):r===X.SVG&&(TO(t),G1(t)),Wm(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}function XG(e,t){if(t.tagID===m.P||t.tagID===m.BR){UO(e),e._endTagOutsideForeignContent(t);return}for(let n=e.openElements.stackTop;n>0;n--){let r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===X.HTML){e._endTagOutsideForeignContent(t);break}let i=e.treeAdapter.getTagName(r);if(i.toLowerCase()===t.tagName){t.tagName=i,e.openElements.shortenToLength(n);break}}}var Hfe=String.prototype.codePointAt==null?(e,t)=>(e.charCodeAt(t)&64512)===55296?(e.charCodeAt(t)-55296)*1024+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t):(e,t)=>e.codePointAt(t);var Kfe=new Set([V.AREA,V.BASE,V.BASEFONT,V.BGSOUND,V.BR,V.COL,V.EMBED,V.FRAME,V.HR,V.IMG,V.INPUT,V.KEYGEN,V.LINK,V.META,V.PARAM,V.SOURCE,V.TRACK,V.WBR]);function qO(e,t,n){typeof e=="string"&&(n=t,t=e,e=null);let r=Us.getFragmentParser(e,n);return r.tokenizer.write(t,!0),r.getFragment()}var xi={basename:QG,dirname:ZG,extname:JG,join:eK,sep:"/"};function QG(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Ad(e);let n=0,r=-1,i=e.length,o;if(t===void 0||t.length===0||t.length>e.length){for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else r<0&&(o=!0,r=i+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let s=-1,a=t.length-1;for(;i--;)if(e.codePointAt(i)===47){if(o){n=i+1;break}}else s<0&&(o=!0,s=i+1),a>-1&&(e.codePointAt(i)===t.codePointAt(a--)?a<0&&(r=i):(a=-1,r=s));return n===r?r=s:r<0&&(r=e.length),e.slice(n,r)}function ZG(e){if(Ad(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function JG(e){Ad(e);let t=e.length,n=-1,r=0,i=-1,o=0,s;for(;t--;){let a=e.codePointAt(t);if(a===47){if(s){r=t+1;break}continue}n<0&&(s=!0,n=t+1),a===46?i<0?i=t:o!==1&&(o=1):i>-1&&(o=-1)}return i<0||n<0||o===0||o===1&&i===n-1&&i===r+1?"":e.slice(i,n)}function eK(...e){let t=-1,n;for(;++t0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function nK(e,t){let n="",r=0,i=-1,o=0,s=-1,a,l;for(;++s<=e.length;){if(s2){if(l=n.lastIndexOf("/"),l!==n.length-1){l<0?(n="",r=0):(n=n.slice(0,l),r=n.length-1-n.lastIndexOf("/")),i=s,o=0;continue}}else if(n.length>0){n="",r=0,i=s,o=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(i+1,s):n=e.slice(i+1,s),r=s-i-1;i=s,o=0}else a===46&&o>-1?o++:o=-1}return n}function Ad(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}var VO={cwd:rK};function rK(){return"/"}function Hu(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function GO(e){if(typeof e=="string")e=new URL(e);else if(!Hu(e)){let t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){let t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return iK(e)}function iK(e){if(e.hostname!==""){let r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}let t=e.pathname,n=-1;for(;++n":""))+")"})}return d;function d(){let h=YO,p,b,y;if((!t||o(l,u,c[c.length-1]||void 0))&&(h=fK(n(l,c)),h[0]===za))return h;if("children"in l&&l.children){let g=l;if(g.children&&h[0]!==nr)for(b=(r?g.children.length:-1)+s,y=c.concat(g);b>-1&&bi||n!==-1&&t>n||r!==-1&&t>r||hK.test(e.slice(0,t)))}function eS(e){Qe(e,"element",t=>{for(let[n,r]of Object.entries(dK)){if(r!==null&&!r.includes(t.tagName))continue;let i=t.properties?.[n];typeof i=="string"&&!rg(i)&&(t.properties[n]="")}})}var Fu="dataPending";function ig(e){return typeof e=="string"?e.split(/\s+/).includes("suggestion"):Array.isArray(e)?e.includes("suggestion"):!1}function Cd(e){return e?e.map(t=>t.type==="text"?t.value:t.type==="element"?Cd(t.children):"").join("").trim():""}function zu(e){if(e.type!=="element")return!1;let t=e.properties;return t?ig(t.className)||"dataSuggestion"in t:!1}var pK="markdown-stream-dot";function mK(){return{type:"element",tagName:"svg",properties:{width:12,height:12,viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg",className:[pK],style:"margin-left:.25em;margin-top:-.25em",ariaHidden:"true"},children:[{type:"element",tagName:"circle",properties:{cx:6,cy:6,r:6},children:[]}]}}var gK=new Set(["p","div","pre","ul","ol"]),bK=new Set(["p","h1","h2","h3","h4","h5","h6","li","code"]);function yK(e){return e.type==="text"?/\S/.test(e.value):!1}function EK(e){return e.tagName!=="ul"&&e.tagName!=="ol"?!1:e.properties!=null&&Fu in e.properties}function WO(e){if(e.children.length===0)return e;let t=TK(e),n={...e,children:[...e.children]},r=n.children;for(let i=0;i=0;l--){let u=i[l];if(u.type!=="doctype"&&(u.type==="element"||yK(u))){o=l,s=u;break}}if(!s||s.type!=="element")return t;let a=s.tagName;if(gK.has(a)){if(t.push({index:o}),EK(s))return t;n=s;continue}return bK.has(a)&&t.push({index:o}),t}return t}function $O(e){return e.type==="text"&&e.value.trim()!==""}function og(e){return e.filter(t=>t.type==="element"||t.type==="text"&&t.value.trim()!=="")}function jO(e){let t=e.children;if(t.some($O))return!1;let n=t.filter(r=>r.type==="element");if(n.length===0)return!1;for(let r of n){if(r.tagName!=="li")return!1;let i=r.children;if(i.some($O))return!1;let o=og(i).filter(a=>a.type==="element");if(o.length!==1)return!1;let s=o[0];if(!s||!zu(s))return!1}return!0}function tS(e,...t){let n;Array.isArray(e)?n=[...e]:typeof e=="string"&&e.trim()!==""?n=e.split(/\s+/).filter(Boolean):n=[];for(let r of t)n.includes(r)||n.push(r);return n}function SK(e,...t){let n;return Array.isArray(e)?n=[...e]:typeof e=="string"&&e.trim()!==""?n=e.split(/\s+/).filter(Boolean):n=[],n.filter(r=>!t.includes(String(r)))}function XO(e,t){return{type:"element",tagName:"div",properties:{className:[e]},children:t}}function vK(e,t){return XO(e,[{type:"text",value:t}])}function QO(e,t){let n=["shiny-chat-suggestion-list"];t&&n.push("shiny-chat-suggestion-list--ordered"),e.properties.className=tS(e.properties.className,...n),e.properties.role="list";let r=0;for(let i of e.children){if(i.type!=="element"||i.tagName!=="li")continue;let o=i.children,s=og(o).find(zu),a=Cd(s.children),l=s.properties.title,u=typeof l=="string"&&l.trim()!==""?l.trim():null,c=u?vK("shiny-chat-suggestion-list-item-title",u):null,f=XO("shiny-chat-suggestion-list-item-body",s.children);s.children=c?[c,f]:[f],s.properties.className=tS(s.properties.className,"shiny-chat-suggestion-list-item");let d=s.properties.dataSuggestion;if(typeof d=="string"&&d!==""||(s.properties.dataSuggestion=a),t){let b=r+1;s.properties.ariaLabel=u?`Use chat suggestion #${b}: ${u} \u2014 ${a}`:`Use chat suggestion #${b}: ${a}`}else s.properties.ariaLabel=u?`Use chat suggestion: ${u} \u2014 ${a}`:`Use chat suggestion: ${a}`;let h=s.properties.style,p=`--_card-index:${r}`;s.properties.style=typeof h=="string"&&h!==""?`${p};${h}`:p,delete s.properties.title,i.properties.role="listitem",r++}}var xK=/^\s*<(s(p(a(n(\s[^>]*)?)?)?)?)?$/i;function AK(e){let n=e.children.filter(a=>a.type==="element");if(n.length===0)return!1;let r=n[n.length-1];if(r.tagName!=="li")return!1;let i=n.slice(0,-1),o=!1;for(let a of i){if(a.tagName!=="li")return!1;let l=a.children,u=og(l);if(u.length!==0){if(u.length===1&&zu(u[0])){o=!0;continue}return!1}}let s=og(r.children);if(s.length!==0){if(s.length===1&&zu(s[0]))o=!0;else if(!(s.length===1&&s[0].type==="text"&&xK.test(s[0].value)))return!1}return o||n.length===1}function _K(e,t){let n=["shiny-chat-suggestion-list"];t&&n.push("shiny-chat-suggestion-list--ordered"),e.properties.className=tS(e.properties.className,...n),e.properties[Fu]=""}function CK(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n&&n.type==="element")return n}return null}var nS=()=>e=>{let t=CK(e.children);for(let n of e.children){if(n.type!=="element")continue;let r=n;if(!(r.tagName!=="ul"&&r.tagName!=="ol")){if(r===t){AK(r)&&_K(r,r.tagName==="ol");continue}jO(r)&&QO(r,r.tagName==="ol")}}};function wK(e){return{...e,properties:{...e.properties},children:e.children.map(n=>{if(n.type!=="element"||n.tagName!=="li")return n;let r=n;return{...r,properties:{...r.properties},children:r.children.map(o=>{if(!zu(o))return o;let s=o;return{...s,properties:{...s.properties},children:[...s.children]}})}})}}function ZO(e){let t=[];for(let r=0;r=0;n--){let r=t[n];if(r&&r.type==="element")return r}return null}function kK(e){for(let t of e.children)t.type==="element"&&t.tagName===rS&&(t.properties={...t.properties,[wd]:""})}var iS=()=>e=>{let t=e;for(;;){let n=RK(t);if(!n)return;if(n.tagName===rS){kK(t);return}t=n}};function JO(e){let t=e2(e.children);return t?{...e,children:t}:e}function e2(e){let t=!1,n=e.map(r=>{if(r.type!=="element")return r;let i=MK(r);return i!==r&&(t=!0),i});return t?n:null}function MK(e){let t=NK(e),n=e2(e.children);if(!t&&!n)return e;let r={...e.properties};return t&&delete r[wd],{...e,properties:r,children:n??e.children}}function sg(e){return e?.type==="raw"}function ag(e){return e.type!=="doctype"}var OK=new Set(["iframe","noembed","noframes","script","style","xmp"]),DK=new Set(["textarea","title"]);function Uu(e){return e===" "||e===" "||e===` +`||e==="\f"||e==="\r"}function IK(e){let t=e.charCodeAt(0);return t>=65&&t<=90||t>=97&&t<=122}function LK(e){let t="";for(let n=0;n=65&&r<=90?r+32:r)}return t}function PK(e){return e===""||Uu(e)||e==="/"||e===">"}function n2(e,t){let n=t;for(;n")return{end:n,selfClosingSlash:null};if(r==="/"){let o=n;if(n++,e.charAt(n)===">")return{end:n,selfClosingSlash:o};continue}for(n++;n"&&e.charAt(n)!=="=";)n++;for(;n=e.length)return null;n++;continue}for(;n";)n++}return null}function r2(e,t){let n=t;for(;!PK(e.charAt(n));)n++;return{name:LK(e.slice(t,n)),end:n}}function BK(e,t){if(e.charAt(t)===">")return t+1;if(e.charAt(t)==="-"&&e.charAt(t+1)===">")return t+2;let n=t;for(;n")return r+3;if(i==="!"&&e.charAt(r+3)===">")return r+4;n=r+2}return e.length}function t2(e,t){let n=e.indexOf(">",t);return n===-1?e.length:n+1}function HK(e,t,n){let r=t;for(;r${h.selfClosingEnd}`})),r=d.end+1,!l&&(OK.has(f.name)||DK.has(f.name)))r=HK(e,r,f.name);else if(!l&&f.name==="plaintext")break}if(n.length===0)return e;let i=[],o=0;for(let s of n)i.push(e.slice(o,s.start),s.value),o=s.end;return i.push(e.slice(o)),i.join("")}function oS(e){return lg(e,{"shiny-aside":{start:""}})}var i2=()=>e=>{Qe(e,t=>{sg(t)&&(t.value=oS(t.value))})};function sS(e){Qe(e,"element",t=>{t.tagName==="template"&&(!t.properties||!("dataShinyAside"in t.properties)||(t.tagName="shiny-aside",t.children=(t.content?.children??[]).filter(ag),delete t.content,delete t.properties.dataShinyAside))})}var o2=()=>sS;var FK={className:"class",htmlFor:"for",tabIndex:"tabindex",readOnly:"readonly",contentEditable:"contenteditable",colSpan:"colspan",rowSpan:"rowspan",autoComplete:"autocomplete",autoFocus:"autofocus",autoPlay:"autoplay",crossOrigin:"crossorigin",encType:"enctype",formAction:"formaction",formNoValidate:"formnovalidate",inputMode:"inputmode",maxLength:"maxlength",minLength:"minlength",noValidate:"novalidate",spellCheck:"spellcheck",srcDoc:"srcdoc",srcLang:"srclang",srcSet:"srcset"};function s2(e,t){if(!e.includes("-"))return t;let n;for(let[r,i]of Object.entries(FK))r in t&&(n||(n={...t}),n[i]=n[r],delete n[r]);return n??t}var zK=(e,t,n)=>(0,qu.jsx)(e,typeof e=="string"?s2(e,t):t,n),UK=(e,t,n)=>(0,qu.jsxs)(e,typeof e=="string"?s2(e,t):t,n);function a2(e,t){let n=new Fa(e),r=t.runSync(t.parse(n),n);return eS(r),r}function l2(e,t){let n=cd(qO(oS(e)));return sS(n),t.runSync(n),eS(n),n}function u2(e,t){let{tagToComponentMap:n,streaming:r}=t,i=r&&(t.streamingDot??!0),o=r?e:JO(ZO(e)),s=i?WO(o):o;return R1(s,{Fragment:qu.Fragment,jsx:zK,jsxs:UK,components:n,passKeys:!0,passNode:!0,ignoreInvalidStyle:!0})}var qK=/<(s(h(i(n(y(-(a(s(i(d(e(\s[^<>]*)?)?)?)?)?)?)?)?)?)?)?)?$/;function c2(e){let t=e.match(qK);return!t||t[0]===""?e:e.slice(0,e.length-t[0].length)}var ug=q(pe(),1),VK=1500;function f2(e,t,n=VK){let[r,i]=(0,ug.useState)(null);return(0,ug.useEffect)(()=>{if(!e)return;let o=setTimeout(()=>i({activity:t}),n);return()=>clearTimeout(o)},[e,t,n]),e&&r!==null&&r.activity===t}function aS(e){if(e)throw e}var dg=q(T2(),1);function Nd(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function lS(){let e=[],t={run:n,use:r};return t;function n(...i){let o=-1,s=i.pop();if(typeof s!="function")throw new TypeError("Expected function as last argument, not "+s);a(null,...i);function a(l,...u){let c=e[++o],f=-1;if(l){s(l);return}for(;++fs.length,l;a&&s.push(i);try{l=e.apply(this,s)}catch(u){let c=u;if(a&&n)throw c;return i(c)}a||(l&&l.then&&typeof l.then=="function"?l.then(o,i):l instanceof Error?i(l):o(l))}function i(s,...a){n||(n=!0,t(s,...a))}function o(s){i(null,s)}}var v2=function(e){let r=this.constructor.prototype,i=r[e],o=function(){return i.apply(o,arguments)};return Object.setPrototypeOf(o,r),o};var GK={}.hasOwnProperty,dS=class e extends v2{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=lS()}copy(){let t=new e,n=-1;for(;++n0){let[h,...p]=c,b=r[d][1];Nd(b)&&Nd(h)&&(h=(0,dg.default)(!0,b,h)),r[d]=[u,h,...p]}}}},Ua=new dS().freeze();function uS(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function cS(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function fS(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function x2(e){if(!Nd(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function A2(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function fg(e){return KK(e)?e:new Fa(e)}function KK(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function YK(e){return typeof e=="string"||WK(e)}function WK(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var $K={};function qa(e,t){let n=t||$K,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return C2(e,r,i)}function C2(e,t,n){if(jK(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return _2(e.children,t,n)}return Array.isArray(e)?_2(e,t,n):""}function _2(e,t,n){let r=[],i=-1;for(;++ii?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)s=Array.from(r),s.unshift(t,n),e.splice(...s);else for(n&&e.splice(t,n);o0?($t(e,e.length,0,t),e):t}var N2={}.hasOwnProperty;function hg(e){let t={},n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"\uFFFD":String.fromCodePoint(n)}function Gn(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}var pn=qs(/[A-Za-z]/),Gt=qs(/[\dA-Za-z]/),R2=qs(/[#-'*+\--9=?A-Z^-~]/);function Va(e){return e!==null&&(e<32||e===127)}var Rd=qs(/\d/),k2=qs(/[\dA-Fa-f]/),M2=qs(/[!-/:-@[-`{-~]/);function ce(e){return e!==null&&e<-2}function Ke(e){return e!==null&&(e<0||e===32)}function ke(e){return e===-2||e===-1||e===32}var Ga=qs(/\p{P}|\p{S}/u),qi=qs(/\s/);function qs(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ui(e){let t=[],n=-1,r=0,i=0;for(;++n55295&&o<57344){let a=e.charCodeAt(n+1);o<56320&&a>56319&&a<57344?(s=String.fromCharCode(o,a),i=1):s="\uFFFD"}else s=String.fromCharCode(o);s&&(t.push(e.slice(r,n),encodeURIComponent(s)),r=n+i+1,s=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}function we(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,o=0;return s;function s(l){return ke(l)?(e.enter(n),a(l)):t(l)}function a(l){return ke(l)&&o++s))return;let N=t.events.length,D=N,k,A;for(;D--;)if(t.events[D][0]==="exit"&&t.events[D][1].type==="chunkFlow"){if(k){A=t.events[D][1].end;break}k=!0}for(g(r),v=N;vT;){let x=n[S];t.containerState=x[1],x[0].exit.call(t,e)}n.length=T}function E(){i.write([null]),o=void 0,i=void 0,t.containerState._closeFlow=void 0}}function eY(e,t,n){return we(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Do(e){if(e===null||Ke(e)||qi(e))return 1;if(Ga(e))return 2}function Vs(e,t,n){let r=[],i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;let f={...e[r][1].end},d={...e[n][1].start};L2(f,-l),L2(d,l),s={type:l>1?"strongSequence":"emphasisSequence",start:f,end:{...e[r][1].end}},a={type:l>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:d},o={type:l>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:l>1?"strong":"emphasis",start:{...s.start},end:{...a.end}},e[r][1].end={...s.start},e[n][1].start={...a.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=rr(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=rr(u,[["enter",i,t],["enter",s,t],["exit",s,t],["enter",o,t]]),u=rr(u,Vs(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=rr(u,[["exit",o,t],["enter",a,t],["exit",a,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(c=2,u=rr(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):c=0,$t(e,r-1,n-r+3,u),n=r+u.length-c-2;break}}for(n=-1;++n0&&ke(v)?we(e,E,"linePrefix",o+1)(v):E(v)}function E(v){return v===null||ce(v)?e.check(P2,b,S)(v):(e.enter("codeFlowValue"),T(v))}function T(v){return v===null||ce(v)?(e.exit("codeFlowValue"),E(v)):(e.consume(v),T)}function S(v){return e.exit("codeFenced"),t(v)}function x(v,N,D){let k=0;return A;function A(L){return v.enter("lineEnding"),v.consume(L),v.exit("lineEnding"),P}function P(L){return v.enter("codeFencedFence"),ke(L)?we(v,G,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L):G(L)}function G(L){return L===a?(v.enter("codeFencedFenceSequence"),U(L)):D(L)}function U(L){return L===a?(k++,v.consume(L),U):k>=s?(v.exit("codeFencedFenceSequence"),ke(L)?we(v,B,"whitespace")(L):B(L)):D(L)}function B(L){return L===null||ce(L)?(v.exit("codeFencedFence"),N(L)):D(L)}}}function fY(e,t,n){let r=this;return i;function i(s){return s===null?n(s):(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o)}function o(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}var Md={name:"codeIndented",tokenize:hY},dY={partial:!0,tokenize:pY};function hY(e,t,n){let r=this;return i;function i(u){return e.enter("codeIndented"),we(e,o,"linePrefix",5)(u)}function o(u){let c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?s(u):n(u)}function s(u){return u===null?l(u):ce(u)?e.attempt(dY,s,l)(u):(e.enter("codeFlowValue"),a(u))}function a(u){return u===null||ce(u)?(e.exit("codeFlowValue"),s(u)):(e.consume(u),a)}function l(u){return e.exit("codeIndented"),t(u)}}function pY(e,t,n){let r=this;return i;function i(s){return r.parser.lazy[r.now().line]?n(s):ce(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),i):we(e,o,"linePrefix",5)(s)}function o(s){let a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(s):ce(s)?i(s):n(s)}}var pS={name:"codeText",previous:gY,resolve:mY,tokenize:bY};function mY(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){let i=n||0;this.setCursor(Math.trunc(t));let o=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&Od(this.left,r),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),Od(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),Od(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(s):e.interrupt(r.parser.constructs.flow,n,t)(s)}}function Sg(e,t,n,r,i,o,s,a,l){let u=l||Number.POSITIVE_INFINITY,c=0;return f;function f(g){return g===60?(e.enter(r),e.enter(i),e.enter(o),e.consume(g),e.exit(o),d):g===null||g===32||g===41||Va(g)?n(g):(e.enter(r),e.enter(s),e.enter(a),e.enter("chunkString",{contentType:"string"}),b(g))}function d(g){return g===62?(e.enter(o),e.consume(g),e.exit(o),e.exit(i),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),h(g))}function h(g){return g===62?(e.exit("chunkString"),e.exit(a),d(g)):g===null||g===60||ce(g)?n(g):(e.consume(g),g===92?p:h)}function p(g){return g===60||g===62||g===92?(e.consume(g),h):h(g)}function b(g){return!c&&(g===null||g===41||Ke(g))?(e.exit("chunkString"),e.exit(a),e.exit(s),e.exit(r),t(g)):c999||h===null||h===91||h===93&&!l||h===94&&!a&&"_hiddenFootnoteSupport"in s.parser.constructs?n(h):h===93?(e.exit(o),e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):ce(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),c):(e.enter("chunkString",{contentType:"string"}),f(h))}function f(h){return h===null||h===91||h===93||ce(h)||a++>999?(e.exit("chunkString"),c(h)):(e.consume(h),l||(l=!ke(h)),h===92?d:f)}function d(h){return h===91||h===92||h===93?(e.consume(h),a++,f):f(h)}}function xg(e,t,n,r,i,o){let s;return a;function a(d){return d===34||d===39||d===40?(e.enter(r),e.enter(i),e.consume(d),e.exit(i),s=d===40?41:d,l):n(d)}function l(d){return d===s?(e.enter(i),e.consume(d),e.exit(i),e.exit(r),t):(e.enter(o),u(d))}function u(d){return d===s?(e.exit(o),l(s)):d===null?n(d):ce(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),we(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(d))}function c(d){return d===s||d===null||ce(d)?(e.exit("chunkString"),u(d)):(e.consume(d),d===92?f:c)}function f(d){return d===s||d===92?(e.consume(d),c):c(d)}}function Ka(e,t){let n;return r;function r(i){return ce(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):ke(i)?we(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}var gS={name:"definition",tokenize:AY},xY={partial:!0,tokenize:_Y};function AY(e,t,n){let r=this,i;return o;function o(h){return e.enter("definition"),s(h)}function s(h){return vg.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function a(h){return i=Gn(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),l):n(h)}function l(h){return Ke(h)?Ka(e,u)(h):u(h)}function u(h){return Sg(e,c,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function c(h){return e.attempt(xY,f,f)(h)}function f(h){return ke(h)?we(e,d,"whitespace")(h):d(h)}function d(h){return h===null||ce(h)?(e.exit("definition"),r.parser.defined.push(i),t(h)):n(h)}}function _Y(e,t,n){return r;function r(a){return Ke(a)?Ka(e,i)(a):n(a)}function i(a){return xg(e,o,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function o(a){return ke(a)?we(e,s,"whitespace")(a):s(a)}function s(a){return a===null||ce(a)?t(a):n(a)}}var bS={name:"hardBreakEscape",tokenize:CY};function CY(e,t,n){return r;function r(o){return e.enter("hardBreakEscape"),e.consume(o),i}function i(o){return ce(o)?(e.exit("hardBreakEscape"),t(o)):n(o)}}var yS={name:"headingAtx",resolve:wY,tokenize:NY};function wY(e,t){let n=e.length-2,r=3,i,o;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},o={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},$t(e,r,n-r+1,[["enter",i,t],["enter",o,t],["exit",o,t],["exit",i,t]])),e}function NY(e,t,n){let r=0;return i;function i(c){return e.enter("atxHeading"),o(c)}function o(c){return e.enter("atxHeadingSequence"),s(c)}function s(c){return c===35&&r++<6?(e.consume(c),s):c===null||Ke(c)?(e.exit("atxHeadingSequence"),a(c)):n(c)}function a(c){return c===35?(e.enter("atxHeadingSequence"),l(c)):c===null||ce(c)?(e.exit("atxHeading"),t(c)):ke(c)?we(e,a,"whitespace")(c):(e.enter("atxHeadingText"),u(c))}function l(c){return c===35?(e.consume(c),l):(e.exit("atxHeadingSequence"),a(c))}function u(c){return c===null||c===35||Ke(c)?(e.exit("atxHeadingText"),a(c)):(e.consume(c),u)}}var B2=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],ES=["pre","script","style","textarea"];var TS={concrete:!0,name:"htmlFlow",resolveTo:MY,tokenize:OY},RY={partial:!0,tokenize:IY},kY={partial:!0,tokenize:DY};function MY(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function OY(e,t,n){let r=this,i,o,s,a,l;return u;function u(C){return c(C)}function c(C){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(C),f}function f(C){return C===33?(e.consume(C),d):C===47?(e.consume(C),o=!0,b):C===63?(e.consume(C),i=3,r.interrupt?t:_):pn(C)?(e.consume(C),s=String.fromCharCode(C),y):n(C)}function d(C){return C===45?(e.consume(C),i=2,h):C===91?(e.consume(C),i=5,a=0,p):pn(C)?(e.consume(C),i=4,r.interrupt?t:_):n(C)}function h(C){return C===45?(e.consume(C),r.interrupt?t:_):n(C)}function p(C){let se="CDATA[";return C===se.charCodeAt(a++)?(e.consume(C),a===se.length?r.interrupt?t:G:p):n(C)}function b(C){return pn(C)?(e.consume(C),s=String.fromCharCode(C),y):n(C)}function y(C){if(C===null||C===47||C===62||Ke(C)){let se=C===47,fe=s.toLowerCase();return!se&&!o&&ES.includes(fe)?(i=1,r.interrupt?t(C):G(C)):B2.includes(s.toLowerCase())?(i=6,se?(e.consume(C),g):r.interrupt?t(C):G(C)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(C):o?E(C):T(C))}return C===45||Gt(C)?(e.consume(C),s+=String.fromCharCode(C),y):n(C)}function g(C){return C===62?(e.consume(C),r.interrupt?t:G):n(C)}function E(C){return ke(C)?(e.consume(C),E):A(C)}function T(C){return C===47?(e.consume(C),A):C===58||C===95||pn(C)?(e.consume(C),S):ke(C)?(e.consume(C),T):A(C)}function S(C){return C===45||C===46||C===58||C===95||Gt(C)?(e.consume(C),S):x(C)}function x(C){return C===61?(e.consume(C),v):ke(C)?(e.consume(C),x):T(C)}function v(C){return C===null||C===60||C===61||C===62||C===96?n(C):C===34||C===39?(e.consume(C),l=C,N):ke(C)?(e.consume(C),v):D(C)}function N(C){return C===l?(e.consume(C),l=null,k):C===null||ce(C)?n(C):(e.consume(C),N)}function D(C){return C===null||C===34||C===39||C===47||C===60||C===61||C===62||C===96||Ke(C)?x(C):(e.consume(C),D)}function k(C){return C===47||C===62||ke(C)?T(C):n(C)}function A(C){return C===62?(e.consume(C),P):n(C)}function P(C){return C===null||ce(C)?G(C):ke(C)?(e.consume(C),P):n(C)}function G(C){return C===45&&i===2?(e.consume(C),O):C===60&&i===1?(e.consume(C),F):C===62&&i===4?(e.consume(C),oe):C===63&&i===3?(e.consume(C),_):C===93&&i===5?(e.consume(C),z):ce(C)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(RY,re,U)(C)):C===null||ce(C)?(e.exit("htmlFlowData"),U(C)):(e.consume(C),G)}function U(C){return e.check(kY,B,re)(C)}function B(C){return e.enter("lineEnding"),e.consume(C),e.exit("lineEnding"),L}function L(C){return C===null||ce(C)?U(C):(e.enter("htmlFlowData"),G(C))}function O(C){return C===45?(e.consume(C),_):G(C)}function F(C){return C===47?(e.consume(C),s="",I):G(C)}function I(C){if(C===62){let se=s.toLowerCase();return ES.includes(se)?(e.consume(C),oe):G(C)}return pn(C)&&s.length<8?(e.consume(C),s+=String.fromCharCode(C),I):G(C)}function z(C){return C===93?(e.consume(C),_):G(C)}function _(C){return C===62?(e.consume(C),oe):C===45&&i===2?(e.consume(C),_):G(C)}function oe(C){return C===null||ce(C)?(e.exit("htmlFlowData"),re(C)):(e.consume(C),oe)}function re(C){return e.exit("htmlFlow"),t(C)}}function DY(e,t,n){let r=this;return i;function i(s){return ce(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),o):n(s)}function o(s){return r.parser.lazy[r.now().line]?n(s):t(s)}}function IY(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Vi,t,n)}}var SS={name:"htmlText",tokenize:LY};function LY(e,t,n){let r=this,i,o,s;return a;function a(_){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(_),l}function l(_){return _===33?(e.consume(_),u):_===47?(e.consume(_),x):_===63?(e.consume(_),T):pn(_)?(e.consume(_),D):n(_)}function u(_){return _===45?(e.consume(_),c):_===91?(e.consume(_),o=0,p):pn(_)?(e.consume(_),E):n(_)}function c(_){return _===45?(e.consume(_),h):n(_)}function f(_){return _===null?n(_):_===45?(e.consume(_),d):ce(_)?(s=f,F(_)):(e.consume(_),f)}function d(_){return _===45?(e.consume(_),h):f(_)}function h(_){return _===62?O(_):_===45?d(_):f(_)}function p(_){let oe="CDATA[";return _===oe.charCodeAt(o++)?(e.consume(_),o===oe.length?b:p):n(_)}function b(_){return _===null?n(_):_===93?(e.consume(_),y):ce(_)?(s=b,F(_)):(e.consume(_),b)}function y(_){return _===93?(e.consume(_),g):b(_)}function g(_){return _===62?O(_):_===93?(e.consume(_),g):b(_)}function E(_){return _===null||_===62?O(_):ce(_)?(s=E,F(_)):(e.consume(_),E)}function T(_){return _===null?n(_):_===63?(e.consume(_),S):ce(_)?(s=T,F(_)):(e.consume(_),T)}function S(_){return _===62?O(_):T(_)}function x(_){return pn(_)?(e.consume(_),v):n(_)}function v(_){return _===45||Gt(_)?(e.consume(_),v):N(_)}function N(_){return ce(_)?(s=N,F(_)):ke(_)?(e.consume(_),N):O(_)}function D(_){return _===45||Gt(_)?(e.consume(_),D):_===47||_===62||Ke(_)?k(_):n(_)}function k(_){return _===47?(e.consume(_),O):_===58||_===95||pn(_)?(e.consume(_),A):ce(_)?(s=k,F(_)):ke(_)?(e.consume(_),k):O(_)}function A(_){return _===45||_===46||_===58||_===95||Gt(_)?(e.consume(_),A):P(_)}function P(_){return _===61?(e.consume(_),G):ce(_)?(s=P,F(_)):ke(_)?(e.consume(_),P):k(_)}function G(_){return _===null||_===60||_===61||_===62||_===96?n(_):_===34||_===39?(e.consume(_),i=_,U):ce(_)?(s=G,F(_)):ke(_)?(e.consume(_),G):(e.consume(_),B)}function U(_){return _===i?(e.consume(_),i=void 0,L):_===null?n(_):ce(_)?(s=U,F(_)):(e.consume(_),U)}function B(_){return _===null||_===34||_===39||_===60||_===61||_===96?n(_):_===47||_===62||Ke(_)?k(_):(e.consume(_),B)}function L(_){return _===47||_===62||Ke(_)?k(_):n(_)}function O(_){return _===62?(e.consume(_),e.exit("htmlTextData"),e.exit("htmlText"),t):n(_)}function F(_){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(_),e.exit("lineEnding"),I}function I(_){return ke(_)?we(e,z,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(_):z(_)}function z(_){return e.enter("htmlTextData"),s(_)}}var Ya={name:"labelEnd",resolveAll:FY,resolveTo:zY,tokenize:UY},PY={tokenize:qY},BY={tokenize:VY},HY={tokenize:GY};function FY(e){let t=-1,n=[];for(;++t=3&&(u===null||ce(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),ke(u)?we(e,a,"whitespace")(u):a(u))}}var Kn={continuation:{tokenize:ZY},exit:eW,name:"list",tokenize:QY},jY={partial:!0,tokenize:tW},XY={partial:!0,tokenize:JY};function QY(e,t,n){let r=this,i=r.events[r.events.length-1],o=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,s=0;return a;function a(h){let p=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(p==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:Rd(h)){if(r.containerState.type||(r.containerState.type=p,e.enter(p,{_container:!0})),p==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(Wa,n,u)(h):u(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),l(h)}return n(h)}function l(h){return Rd(h)&&++s<10?(e.consume(h),l):(!r.interrupt||s<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),u(h)):n(h)}function u(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(Vi,r.interrupt?n:c,e.attempt(jY,d,f))}function c(h){return r.containerState.initialBlankLine=!0,o++,d(h)}function f(h){return ke(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),d):n(h)}function d(h){return r.containerState.size=o+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(h)}}function ZY(e,t,n){let r=this;return r.containerState._closeFlow=void 0,e.check(Vi,i,o);function i(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,we(e,t,"listItemIndent",r.containerState.size+1)(a)}function o(a){return r.containerState.furtherBlankLines||!ke(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,s(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(XY,t,s)(a))}function s(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,we(e,e.attempt(Kn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function JY(e,t,n){let r=this;return we(e,i,"listItemIndent",r.containerState.size+1);function i(o){let s=r.events[r.events.length-1];return s&&s[1].type==="listItemIndent"&&s[2].sliceSerialize(s[1],!0).length===r.containerState.size?t(o):n(o)}}function eW(e){e.exit(this.containerState.type)}function tW(e,t,n){let r=this;return we(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(o){let s=r.events[r.events.length-1];return!ke(o)&&s&&s[1].type==="listItemPrefixWhitespace"?t(o):n(o)}}var Ag={name:"setextUnderline",resolveTo:nW,tokenize:rW};function nW(e,t){let n=e.length,r,i,o;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!o&&e[n][1].type==="definition"&&(o=n);let s={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",o?(e.splice(i,0,["enter",s,t]),e.splice(o+1,0,["exit",e[r][1],t]),e[r][1].end={...e[o][1].end}):e[r][1]=s,e.push(["exit",s,t]),e}function rW(e,t,n){let r=this,i;return o;function o(u){let c=r.events.length,f;for(;c--;)if(r.events[c][1].type!=="lineEnding"&&r.events[c][1].type!=="linePrefix"&&r.events[c][1].type!=="content"){f=r.events[c][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(e.enter("setextHeadingLine"),i=u,s(u)):n(u)}function s(u){return e.enter("setextHeadingLineSequence"),a(u)}function a(u){return u===i?(e.consume(u),a):(e.exit("setextHeadingLineSequence"),ke(u)?we(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||ce(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}var H2={tokenize:iW};function iW(e){let t=this,n=e.attempt(Vi,r,e.attempt(this.parser.constructs.flowInitial,i,we(e,e.attempt(this.parser.constructs.flow,i,e.attempt(mS,i)),"linePrefix")));return n;function r(o){if(o===null){e.consume(o);return}return e.enter("lineEndingBlank"),e.consume(o),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(o){if(o===null){e.consume(o);return}return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),t.currentConstruct=void 0,n}}var F2={resolveAll:V2()},z2=q2("string"),U2=q2("text");function q2(e){return{resolveAll:V2(e==="text"?oW:void 0),tokenize:t};function t(n){let r=this,i=this.parser.constructs[e],o=n.attempt(i,s,a);return s;function s(c){return u(c)?o(c):a(c)}function a(c){if(c===null){n.consume(c);return}return n.enter("data"),n.consume(c),l}function l(c){return u(c)?(n.exit("data"),o(c)):(n.consume(c),l)}function u(c){if(c===null)return!0;let f=i[c],d=-1;if(f)for(;++dhW,contentInitial:()=>aW,disable:()=>pW,document:()=>sW,flow:()=>uW,flowInitial:()=>lW,insideSpan:()=>dW,string:()=>cW,text:()=>fW});var sW={42:Kn,43:Kn,45:Kn,48:Kn,49:Kn,50:Kn,51:Kn,52:Kn,53:Kn,54:Kn,55:Kn,56:Kn,57:Kn,62:mg},aW={91:gS},lW={[-2]:Md,[-1]:Md,32:Md},uW={35:yS,42:Wa,45:[Ag,Wa],60:TS,61:Ag,95:Wa,96:yg,126:yg},cW={38:bg,92:gg},fW={[-5]:Dd,[-4]:Dd,[-3]:Dd,33:vS,38:bg,42:kd,60:[hS,SS],91:xS,92:[bS,gg],93:Ya,95:kd,96:pS},dW={null:[kd,F2]},hW={null:[42,95]},pW={null:[]};function G2(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0},i={},o=[],s=[],a=[],l=!0,u={attempt:k(N),check:k(D),consume:S,enter:x,exit:v,interrupt:k(D,{interrupt:!0})},c={code:null,containerState:{},defineSkip:g,events:[],now:y,parser:e,previous:null,sliceSerialize:p,sliceStream:b,write:h},f=t.tokenize.call(c,u),d;return t.resolveAll&&o.push(t),c;function h(U){return s=rr(s,U),E(),s[s.length-1]!==null?[]:(A(t,0),c.events=Vs(o,c.events,c),c.events)}function p(U,B){return gW(b(U),B)}function b(U){return mW(s,U)}function y(){let{_bufferIndex:U,_index:B,line:L,column:O,offset:F}=r;return{_bufferIndex:U,_index:B,line:L,column:O,offset:F}}function g(U){i[U.line]=U.column,G()}function E(){let U;for(;r._index-1){let a=s[0];typeof a=="string"?s[0]=a.slice(r):s.shift()}o>0&&s.push(e[i].slice(0,o))}return s}function gW(e,t){let n=-1,r=[],i;for(;++n0){let ut=Q.tokenStack[Q.tokenStack.length-1];(ut[1]||V2).call(Q,void 0,ut[0])}for(K.position={start:Gs(B.length>0?B[0][1].start:{line:1,column:1,offset:0}),end:Gs(B.length>0?B[B.length-2][1].end:{line:1,column:1,offset:0})},_e=-1;++_e0?{type:"text",value:x}:void 0),x===!1?d.lastIndex=S+1:(p!==S&&E.push({type:"text",value:u.value.slice(p,S)}),Array.isArray(x)?E.push(...x):x&&E.push(x),p=S+T[0].length,g=!0),!d.global)break;T=d.exec(u.value)}return g?(p?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")"),i=Vu(e,"("),o=Vu(e,")");for(;r!==-1&&i>o;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),o++;return[e,n]}function Y2(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||qi(n)||Va(n))&&(!t||n!==47)}W2.peek=PW;function NW(){this.buffer()}function RW(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function kW(){this.buffer()}function MW(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function OW(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Gn(this.sliceSerialize(e)).toLowerCase(),n.label=t}function DW(e){this.exit(e)}function IW(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Gn(this.sliceSerialize(e)).toLowerCase(),n.label=t}function LW(e){this.exit(e)}function PW(){return"["}function W2(e,t,n,r){let i=n.createTracker(r),o=i.move("[^"),s=n.enter("footnoteReference"),a=n.enter("reference");return o+=i.move(n.safe(n.associationId(e),{after:"]",before:o})),a(),s(),o+=i.move("]"),o}function DS(){return{enter:{gfmFootnoteCallString:NW,gfmFootnoteCall:RW,gfmFootnoteDefinitionLabelString:kW,gfmFootnoteDefinition:MW},exit:{gfmFootnoteCallString:OW,gfmFootnoteCall:DW,gfmFootnoteDefinitionLabelString:IW,gfmFootnoteDefinition:LW}}}function IS(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:W2},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,i,o,s){let a=o.createTracker(s),l=a.move("[^"),u=o.enter("footnoteDefinition"),c=o.enter("label");return l+=a.move(o.safe(o.associationId(r),{before:l,after:"]"})),c(),l+=a.move("]:"),r.children&&r.children.length>0&&(a.shift(4),l+=a.move((t?` -`:" ")+o.indentLines(o.containerFlow(r,a.current()),t?$2:BW))),u(),l}}function BW(e,t,n){return t===0?e:$2(e,t,n)}function $2(e,t,n){return(n?"":" ")+e}var HW=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];j2.peek=UW;function LS(){return{canContainEols:["delete"],enter:{strikethrough:FW},exit:{strikethrough:zW}}}function PS(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:HW}],handlers:{delete:j2}}}function FW(e){this.enter({type:"delete",children:[]},e)}function zW(e){this.exit(e)}function j2(e,t,n,r){let i=n.createTracker(r),o=n.enter("strikethrough"),s=i.move("~~");return s+=n.containerPhrasing(e,{...i.current(),before:s,after:"~"}),s+=i.move("~~"),o(),s}function UW(){return"~"}function qW(e){return e.length}function Q2(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||qW,o=[],s=[],a=[],l=[],u=0,c=-1;for(;++cu&&(u=e[c].length);++gl[g])&&(l[g]=T)}b.push(E)}s[c]=b,a[c]=y}let f=-1;if(typeof r=="object"&&"length"in r)for(;++fl[f]&&(l[f]=E),h[f]=E),d[f]=T}s.splice(1,0,d),a.splice(1,0,h),c=-1;let p=[];for(;++c "),o.shift(2);let s=n.indentLines(n.containerFlow(e,o.current()),GW);return i(),s}function GW(e,t,n){return">"+(n?"":" ")+e}function tD(e,t){return eD(e,t.inConstruct,!0)&&!eD(e,t.notInConstruct,!1)}function eD(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++rs&&(s=o):o=1,i=r+t.length,r=n.indexOf(t,i);return s}function rD(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function iD(e){let t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function oD(e,t,n,r){let i=iD(n),o=e.value||"",s=i==="`"?"GraveAccent":"Tilde";if(rD(e,n)){let f=n.enter("codeIndented"),d=n.indentLines(o,KW);return f(),d}let a=n.createTracker(r),l=i.repeat(Math.max(nD(o,i)+1,3)),u=n.enter("codeFenced"),c=a.move(l);if(e.lang){let f=n.enter(`codeFencedLang${s}`);c+=a.move(n.safe(e.lang,{before:c,after:" ",encode:["`"],...a.current()})),f()}if(e.lang&&e.meta){let f=n.enter(`codeFencedMeta${s}`);c+=a.move(" "),c+=a.move(n.safe(e.meta,{before:c,after:` +`;break}case-2:{s=t?" ":" ";break}case-1:{if(!t&&i)continue;s=" ";break}default:s=String.fromCharCode(o)}i=o===-2,r.push(s)}return r.join("")}function _S(e){let r={constructs:hg([AS,...(e||{}).extensions||[]]),content:i(O2),defined:[],document:i(I2),flow:i(H2),lazy:{},string:i(z2),text:i(U2)};return r;function i(o){return s;function s(a){return G2(r,o,a)}}}function CS(e){for(;!Tg(e););return e}var K2=/[\0\t\n\r]/g;function wS(){let e=1,t="",n=!0,r;return i;function i(o,s,a){let l=[],u,c,f,d,h;for(o=t+(typeof o=="string"?o.toString():new TextDecoder(s||void 0).decode(o)),f=0,t="",n&&(o.charCodeAt(0)===65279&&f++,n=void 0);f0){let ft=Z.tokenStack[Z.tokenStack.length-1];(ft[1]||W2).call(Z,void 0,ft[0])}for(K.position={start:Gs(H.length>0?H[0][1].start:{line:1,column:1,offset:0}),end:Gs(H.length>0?H[H.length-2][1].end:{line:1,column:1,offset:0})},Ce=-1;++Ce0?{type:"text",value:v}:void 0),v===!1?d.lastIndex=S+1:(p!==S&&E.push({type:"text",value:u.value.slice(p,S)}),Array.isArray(v)?E.push(...v):v&&E.push(v),p=S+T[0].length,g=!0),!d.global)break;T=d.exec(u.value)}return g?(p?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")"),i=Gu(e,"("),o=Gu(e,")");for(;r!==-1&&i>o;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),o++;return[e,n]}function X2(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||qi(n)||Ga(n))&&(!t||n!==47)}Q2.peek=qW;function IW(){this.buffer()}function LW(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function PW(){this.buffer()}function BW(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function HW(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Gn(this.sliceSerialize(e)).toLowerCase(),n.label=t}function FW(e){this.exit(e)}function zW(e){let t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Gn(this.sliceSerialize(e)).toLowerCase(),n.label=t}function UW(e){this.exit(e)}function qW(){return"["}function Q2(e,t,n,r){let i=n.createTracker(r),o=i.move("[^"),s=n.enter("footnoteReference"),a=n.enter("reference");return o+=i.move(n.safe(n.associationId(e),{after:"]",before:o})),a(),s(),o+=i.move("]"),o}function PS(){return{enter:{gfmFootnoteCallString:IW,gfmFootnoteCall:LW,gfmFootnoteDefinitionLabelString:PW,gfmFootnoteDefinition:BW},exit:{gfmFootnoteCallString:HW,gfmFootnoteCall:FW,gfmFootnoteDefinitionLabelString:zW,gfmFootnoteDefinition:UW}}}function BS(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:Q2},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,i,o,s){let a=o.createTracker(s),l=a.move("[^"),u=o.enter("footnoteDefinition"),c=o.enter("label");return l+=a.move(o.safe(o.associationId(r),{before:l,after:"]"})),c(),l+=a.move("]:"),r.children&&r.children.length>0&&(a.shift(4),l+=a.move((t?` +`:" ")+o.indentLines(o.containerFlow(r,a.current()),t?Z2:VW))),u(),l}}function VW(e,t,n){return t===0?e:Z2(e,t,n)}function Z2(e,t,n){return(n?"":" ")+e}var GW=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];J2.peek=WW;function HS(){return{canContainEols:["delete"],enter:{strikethrough:KW},exit:{strikethrough:YW}}}function FS(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:GW}],handlers:{delete:J2}}}function KW(e){this.enter({type:"delete",children:[]},e)}function YW(e){this.exit(e)}function J2(e,t,n,r){let i=n.createTracker(r),o=n.enter("strikethrough"),s=i.move("~~");return s+=n.containerPhrasing(e,{...i.current(),before:s,after:"~"}),s+=i.move("~~"),o(),s}function WW(){return"~"}function $W(e){return e.length}function tD(e,t){let n=t||{},r=(n.align||[]).concat(),i=n.stringLength||$W,o=[],s=[],a=[],l=[],u=0,c=-1;for(;++cu&&(u=e[c].length);++gl[g])&&(l[g]=T)}b.push(E)}s[c]=b,a[c]=y}let f=-1;if(typeof r=="object"&&"length"in r)for(;++fl[f]&&(l[f]=E),h[f]=E),d[f]=T}s.splice(1,0,d),a.splice(1,0,h),c=-1;let p=[];for(;++c "),o.shift(2);let s=n.indentLines(n.containerFlow(e,o.current()),XW);return i(),s}function XW(e,t,n){return">"+(n?"":" ")+e}function oD(e,t){return iD(e,t.inConstruct,!0)&&!iD(e,t.notInConstruct,!1)}function iD(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++rs&&(s=o):o=1,i=r+t.length,r=n.indexOf(t,i);return s}function aD(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function lD(e){let t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function uD(e,t,n,r){let i=lD(n),o=e.value||"",s=i==="`"?"GraveAccent":"Tilde";if(aD(e,n)){let f=n.enter("codeIndented"),d=n.indentLines(o,QW);return f(),d}let a=n.createTracker(r),l=i.repeat(Math.max(sD(o,i)+1,3)),u=n.enter("codeFenced"),c=a.move(l);if(e.lang){let f=n.enter(`codeFencedLang${s}`);c+=a.move(n.safe(e.lang,{before:c,after:" ",encode:["`"],...a.current()})),f()}if(e.lang&&e.meta){let f=n.enter(`codeFencedMeta${s}`);c+=a.move(" "),c+=a.move(n.safe(e.meta,{before:c,after:` `,encode:["`"],...a.current()})),f()}return c+=a.move(` `),o&&(c+=a.move(o+` -`)),c+=a.move(l),u(),c}function KW(e,t,n){return(n?"":" ")+e}function Ku(e){let t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function sD(e,t,n,r){let i=Ku(n),o=i==='"'?"Quote":"Apostrophe",s=n.enter("definition"),a=n.enter("label"),l=n.createTracker(r),u=l.move("[");return u+=l.move(n.safe(n.associationId(e),{before:u,after:"]",...l.current()})),u+=l.move("]: "),a(),!e.url||/[\0- \u007F]/.test(e.url)?(a=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(a=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":` -`,...l.current()}))),a(),e.title&&(a=n.enter(`title${o}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),a()),s(),u}function aD(e){let t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function Ks(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Yu(e,t,n){let r=Do(e),i=Do(t);return r===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}HS.peek=YW;function HS(e,t,n,r){let i=aD(n),o=n.enter("emphasis"),s=n.createTracker(r),a=s.move(i),l=s.move(n.containerPhrasing(e,{after:i,before:a,...s.current()})),u=l.charCodeAt(0),c=Yu(r.before.charCodeAt(r.before.length-1),u,i);c.inside&&(l=Ks(u)+l.slice(1));let f=l.charCodeAt(l.length-1),d=Yu(r.after.charCodeAt(0),f,i);d.inside&&(l=l.slice(0,-1)+Ks(f));let h=s.move(i);return o(),n.attentionEncodeSurroundingInfo={after:d.outside,before:c.outside},a+l+h}function YW(e,t,n){return n.options.emphasis||"*"}function lD(e,t){let n=!1;return Qe(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,Fa}),!!((!e.depth||e.depth<3)&&Ua(e)&&(t.options.setext||n))}function uD(e,t,n,r){let i=Math.max(Math.min(6,e.depth||1),1),o=n.createTracker(r);if(lD(e,n)){let c=n.enter("headingSetext"),f=n.enter("phrasing"),d=n.containerPhrasing(e,{...o.current(),before:` +`)),c+=a.move(l),u(),c}function QW(e,t,n){return(n?"":" ")+e}function Yu(e){let t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function cD(e,t,n,r){let i=Yu(n),o=i==='"'?"Quote":"Apostrophe",s=n.enter("definition"),a=n.enter("label"),l=n.createTracker(r),u=l.move("[");return u+=l.move(n.safe(n.associationId(e),{before:u,after:"]",...l.current()})),u+=l.move("]: "),a(),!e.url||/[\0- \u007F]/.test(e.url)?(a=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(a=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":` +`,...l.current()}))),a(),e.title&&(a=n.enter(`title${o}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),a()),s(),u}function fD(e){let t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function Ks(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Wu(e,t,n){let r=Do(e),i=Do(t);return r===void 0?i===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:i===void 0?{inside:!1,outside:!1}:i===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}US.peek=ZW;function US(e,t,n,r){let i=fD(n),o=n.enter("emphasis"),s=n.createTracker(r),a=s.move(i),l=s.move(n.containerPhrasing(e,{after:i,before:a,...s.current()})),u=l.charCodeAt(0),c=Wu(r.before.charCodeAt(r.before.length-1),u,i);c.inside&&(l=Ks(u)+l.slice(1));let f=l.charCodeAt(l.length-1),d=Wu(r.after.charCodeAt(0),f,i);d.inside&&(l=l.slice(0,-1)+Ks(f));let h=s.move(i);return o(),n.attentionEncodeSurroundingInfo={after:d.outside,before:c.outside},a+l+h}function ZW(e,t,n){return n.options.emphasis||"*"}function dD(e,t){let n=!1;return Qe(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,za}),!!((!e.depth||e.depth<3)&&qa(e)&&(t.options.setext||n))}function hD(e,t,n,r){let i=Math.max(Math.min(6,e.depth||1),1),o=n.createTracker(r);if(dD(e,n)){let c=n.enter("headingSetext"),f=n.enter("phrasing"),d=n.containerPhrasing(e,{...o.current(),before:` `,after:` `});return f(),c(),d+` `+(i===1?"=":"-").repeat(d.length-(Math.max(d.lastIndexOf("\r"),d.lastIndexOf(` `))+1))}let s="#".repeat(i),a=n.enter("headingAtx"),l=n.enter("phrasing");o.move(s+" ");let u=n.containerPhrasing(e,{before:"# ",after:` -`,...o.current()});return/^[\t ]/.test(u)&&(u=Ks(u.charCodeAt(0))+u.slice(1)),u=u?s+" "+u:s,n.options.closeAtx&&(u+=" "+s),l(),a(),u}FS.peek=WW;function FS(e){return e.value||""}function WW(){return"<"}zS.peek=$W;function zS(e,t,n,r){let i=Ku(n),o=i==='"'?"Quote":"Apostrophe",s=n.enter("image"),a=n.enter("label"),l=n.createTracker(r),u=l.move("![");return u+=l.move(n.safe(e.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),a(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(a=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(a=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":")",...l.current()}))),a(),e.title&&(a=n.enter(`title${o}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),a()),u+=l.move(")"),s(),u}function $W(){return"!"}US.peek=jW;function US(e,t,n,r){let i=e.referenceType,o=n.enter("imageReference"),s=n.enter("label"),a=n.createTracker(r),l=a.move("!["),u=n.safe(e.alt,{before:l,after:"]",...a.current()});l+=a.move(u+"]["),s();let c=n.stack;n.stack=[],s=n.enter("reference");let f=n.safe(n.associationId(e),{before:l,after:"]",...a.current()});return s(),n.stack=c,o(),i==="full"||!u||u!==f?l+=a.move(f+"]"):i==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function jW(){return"!"}qS.peek=XW;function qS(e,t,n){let r=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o\u007F]/.test(e.url))}GS.peek=QW;function GS(e,t,n,r){let i=Ku(n),o=i==='"'?"Quote":"Apostrophe",s=n.createTracker(r),a,l;if(VS(e,n)){let c=n.stack;n.stack=[],a=n.enter("autolink");let f=s.move("<");return f+=s.move(n.containerPhrasing(e,{before:f,after:">",...s.current()})),f+=s.move(">"),a(),n.stack=c,f}a=n.enter("link"),l=n.enter("label");let u=s.move("[");return u+=s.move(n.containerPhrasing(e,{before:u,after:"](",...s.current()})),u+=s.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=s.move("<"),u+=s.move(n.safe(e.url,{before:u,after:">",...s.current()})),u+=s.move(">")):(l=n.enter("destinationRaw"),u+=s.move(n.safe(e.url,{before:u,after:e.title?" ":")",...s.current()}))),l(),e.title&&(l=n.enter(`title${o}`),u+=s.move(" "+i),u+=s.move(n.safe(e.title,{before:u,after:i,...s.current()})),u+=s.move(i),l()),u+=s.move(")"),a(),u}function QW(e,t,n){return VS(e,n)?"<":"["}KS.peek=ZW;function KS(e,t,n,r){let i=e.referenceType,o=n.enter("linkReference"),s=n.enter("label"),a=n.createTracker(r),l=a.move("["),u=n.containerPhrasing(e,{before:l,after:"]",...a.current()});l+=a.move(u+"]["),s();let c=n.stack;n.stack=[],s=n.enter("reference");let f=n.safe(n.associationId(e),{before:l,after:"]",...a.current()});return s(),n.stack=c,o(),i==="full"||!u||u!==f?l+=a.move(f+"]"):i==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function ZW(){return"["}function Wu(e){let t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function cD(e){let t=Wu(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function fD(e){let t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function vg(e){let t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function dD(e,t,n,r){let i=n.enter("list"),o=n.bulletCurrent,s=e.ordered?fD(n):Wu(n),a=e.ordered?s==="."?")":".":cD(n),l=t&&n.bulletLastUsed?s===n.bulletLastUsed:!1;if(!e.ordered){let c=e.children?e.children[0]:void 0;if((s==="*"||s==="-")&&c&&(!c.children||!c.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),vg(n)===s&&c){let f=-1;for(;++f-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let s=o.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(s=Math.ceil(s/4)*4);let a=n.createTracker(r);a.move(o+" ".repeat(s-o.length)),a.shift(s);let l=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,a.current()),c);return l(),u;function c(f,d,h){return d?(h?"":" ".repeat(s))+f:(h?o:o+" ".repeat(s-o.length))+f}}function mD(e,t,n,r){let i=n.enter("paragraph"),o=n.enter("phrasing"),s=n.containerPhrasing(e,r);return o(),i(),s}var YS=Ui(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function gD(e,t,n,r){return(e.children.some(function(s){return YS(s)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function bD(e){let t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}WS.peek=JW;function WS(e,t,n,r){let i=bD(n),o=n.enter("strong"),s=n.createTracker(r),a=s.move(i+i),l=s.move(n.containerPhrasing(e,{after:i,before:a,...s.current()})),u=l.charCodeAt(0),c=Yu(r.before.charCodeAt(r.before.length-1),u,i);c.inside&&(l=Ks(u)+l.slice(1));let f=l.charCodeAt(l.length-1),d=Yu(r.after.charCodeAt(0),f,i);d.inside&&(l=l.slice(0,-1)+Ks(f));let h=s.move(i+i);return o(),n.attentionEncodeSurroundingInfo={after:d.outside,before:c.outside},a+l+h}function JW(e,t,n){return n.options.strong||"*"}function yD(e,t,n,r){return n.safe(e.value,r)}function ED(e){let t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function TD(e,t,n){let r=(vg(n)+(n.options.ruleSpaces?" ":"")).repeat(ED(n));return n.options.ruleSpaces?r.slice(0,-1):r}var Od={blockquote:J2,break:BS,code:oD,definition:sD,emphasis:HS,hardBreak:BS,heading:uD,html:FS,image:zS,imageReference:US,inlineCode:qS,link:GS,linkReference:KS,list:dD,listItem:pD,paragraph:mD,root:gD,strong:WS,text:yD,thematicBreak:TD};function jS(){return{enter:{table:e$,tableData:SD,tableHeader:SD,tableRow:n$},exit:{codeText:r$,table:t$,tableData:$S,tableHeader:$S,tableRow:$S}}}function e$(e){let t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function t$(e){this.exit(e),this.data.inTable=void 0}function n$(e){this.enter({type:"tableRow",children:[]},e)}function $S(e){this.exit(e)}function SD(e){this.enter({type:"tableCell",children:[]},e)}function r$(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,i$));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function i$(e,t){return t==="|"?t:e}function XS(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` +`,...o.current()});return/^[\t ]/.test(u)&&(u=Ks(u.charCodeAt(0))+u.slice(1)),u=u?s+" "+u:s,n.options.closeAtx&&(u+=" "+s),l(),a(),u}qS.peek=JW;function qS(e){return e.value||""}function JW(){return"<"}VS.peek=e$;function VS(e,t,n,r){let i=Yu(n),o=i==='"'?"Quote":"Apostrophe",s=n.enter("image"),a=n.enter("label"),l=n.createTracker(r),u=l.move("![");return u+=l.move(n.safe(e.alt,{before:u,after:"]",...l.current()})),u+=l.move("]("),a(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(a=n.enter("destinationLiteral"),u+=l.move("<"),u+=l.move(n.safe(e.url,{before:u,after:">",...l.current()})),u+=l.move(">")):(a=n.enter("destinationRaw"),u+=l.move(n.safe(e.url,{before:u,after:e.title?" ":")",...l.current()}))),a(),e.title&&(a=n.enter(`title${o}`),u+=l.move(" "+i),u+=l.move(n.safe(e.title,{before:u,after:i,...l.current()})),u+=l.move(i),a()),u+=l.move(")"),s(),u}function e$(){return"!"}GS.peek=t$;function GS(e,t,n,r){let i=e.referenceType,o=n.enter("imageReference"),s=n.enter("label"),a=n.createTracker(r),l=a.move("!["),u=n.safe(e.alt,{before:l,after:"]",...a.current()});l+=a.move(u+"]["),s();let c=n.stack;n.stack=[],s=n.enter("reference");let f=n.safe(n.associationId(e),{before:l,after:"]",...a.current()});return s(),n.stack=c,o(),i==="full"||!u||u!==f?l+=a.move(f+"]"):i==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function t$(){return"!"}KS.peek=n$;function KS(e,t,n){let r=e.value||"",i="`",o=-1;for(;new RegExp("(^|[^`])"+i+"([^`]|$)").test(r);)i+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++o\u007F]/.test(e.url))}WS.peek=r$;function WS(e,t,n,r){let i=Yu(n),o=i==='"'?"Quote":"Apostrophe",s=n.createTracker(r),a,l;if(YS(e,n)){let c=n.stack;n.stack=[],a=n.enter("autolink");let f=s.move("<");return f+=s.move(n.containerPhrasing(e,{before:f,after:">",...s.current()})),f+=s.move(">"),a(),n.stack=c,f}a=n.enter("link"),l=n.enter("label");let u=s.move("[");return u+=s.move(n.containerPhrasing(e,{before:u,after:"](",...s.current()})),u+=s.move("]("),l(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(l=n.enter("destinationLiteral"),u+=s.move("<"),u+=s.move(n.safe(e.url,{before:u,after:">",...s.current()})),u+=s.move(">")):(l=n.enter("destinationRaw"),u+=s.move(n.safe(e.url,{before:u,after:e.title?" ":")",...s.current()}))),l(),e.title&&(l=n.enter(`title${o}`),u+=s.move(" "+i),u+=s.move(n.safe(e.title,{before:u,after:i,...s.current()})),u+=s.move(i),l()),u+=s.move(")"),a(),u}function r$(e,t,n){return YS(e,n)?"<":"["}$S.peek=i$;function $S(e,t,n,r){let i=e.referenceType,o=n.enter("linkReference"),s=n.enter("label"),a=n.createTracker(r),l=a.move("["),u=n.containerPhrasing(e,{before:l,after:"]",...a.current()});l+=a.move(u+"]["),s();let c=n.stack;n.stack=[],s=n.enter("reference");let f=n.safe(n.associationId(e),{before:l,after:"]",...a.current()});return s(),n.stack=c,o(),i==="full"||!u||u!==f?l+=a.move(f+"]"):i==="shortcut"?l=l.slice(0,-1):l+=a.move("]"),l}function i$(){return"["}function $u(e){let t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function pD(e){let t=$u(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function mD(e){let t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function _g(e){let t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function gD(e,t,n,r){let i=n.enter("list"),o=n.bulletCurrent,s=e.ordered?mD(n):$u(n),a=e.ordered?s==="."?")":".":pD(n),l=t&&n.bulletLastUsed?s===n.bulletLastUsed:!1;if(!e.ordered){let c=e.children?e.children[0]:void 0;if((s==="*"||s==="-")&&c&&(!c.children||!c.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(l=!0),_g(n)===s&&c){let f=-1;for(;++f-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+o);let s=o.length+1;(i==="tab"||i==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(s=Math.ceil(s/4)*4);let a=n.createTracker(r);a.move(o+" ".repeat(s-o.length)),a.shift(s);let l=n.enter("listItem"),u=n.indentLines(n.containerFlow(e,a.current()),c);return l(),u;function c(f,d,h){return d?(h?"":" ".repeat(s))+f:(h?o:o+" ".repeat(s-o.length))+f}}function ED(e,t,n,r){let i=n.enter("paragraph"),o=n.enter("phrasing"),s=n.containerPhrasing(e,r);return o(),i(),s}var jS=Ui(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function TD(e,t,n,r){return(e.children.some(function(s){return jS(s)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function SD(e){let t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}XS.peek=o$;function XS(e,t,n,r){let i=SD(n),o=n.enter("strong"),s=n.createTracker(r),a=s.move(i+i),l=s.move(n.containerPhrasing(e,{after:i,before:a,...s.current()})),u=l.charCodeAt(0),c=Wu(r.before.charCodeAt(r.before.length-1),u,i);c.inside&&(l=Ks(u)+l.slice(1));let f=l.charCodeAt(l.length-1),d=Wu(r.after.charCodeAt(0),f,i);d.inside&&(l=l.slice(0,-1)+Ks(f));let h=s.move(i+i);return o(),n.attentionEncodeSurroundingInfo={after:d.outside,before:c.outside},a+l+h}function o$(e,t,n){return n.options.strong||"*"}function vD(e,t,n,r){return n.safe(e.value,r)}function xD(e){let t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function AD(e,t,n){let r=(_g(n)+(n.options.ruleSpaces?" ":"")).repeat(xD(n));return n.options.ruleSpaces?r.slice(0,-1):r}var Id={blockquote:rD,break:zS,code:uD,definition:cD,emphasis:US,hardBreak:zS,heading:hD,html:qS,image:VS,imageReference:GS,inlineCode:KS,link:WS,linkReference:$S,list:gD,listItem:yD,paragraph:ED,root:TD,strong:XS,text:vD,thematicBreak:AD};function ZS(){return{enter:{table:s$,tableData:_D,tableHeader:_D,tableRow:l$},exit:{codeText:u$,table:a$,tableData:QS,tableHeader:QS,tableRow:QS}}}function s$(e){let t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function a$(e){this.exit(e),this.data.inTable=void 0}function l$(e){this.enter({type:"tableRow",children:[]},e)}function QS(e){this.exit(e)}function _D(e){this.enter({type:"tableCell",children:[]},e)}function u$(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,c$));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function c$(e,t){return t==="|"?t:e}function JS(e){let t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,i=t.stringLength,o=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:` `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:d,table:s,tableCell:l,tableRow:a}};function s(h,p,b,y){return u(c(h,b,y),h.align)}function a(h,p,b,y){let g=f(h,b,y),E=u([g]);return E.slice(0,E.indexOf(` -`))}function l(h,p,b,y){let g=b.enter("tableCell"),E=b.enter("phrasing"),T=b.containerPhrasing(h,{...y,before:o,after:o});return E(),g(),T}function u(h,p){return Q2(h,{align:p,alignDelimiters:r,padding:n,stringLength:i})}function c(h,p,b){let y=h.children,g=-1,E=[],T=p.enter("table");for(;++g0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var b$={tokenize:A$,partial:!0};function ix(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:S$,continuation:{tokenize:x$},exit:v$}},text:{91:{name:"gfmFootnoteCall",tokenize:T$},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:y$,resolveTo:E$}}}}function y$(e,t,n){let r=this,i=r.events.length,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),s;for(;i--;){let l=r.events[i][1];if(l.type==="labelImage"){s=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return a;function a(l){if(!s||!s._balanced)return n(l);let u=Gn(r.sliceSerialize({start:s.end,end:r.now()}));return u.codePointAt(0)!==94||!o.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function E$(e,t){let n=e.length,r;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){r=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;let s={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},l=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",o,t],["exit",o,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...l),e}function T$(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o=0,s;return a;function a(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),l}function l(f){return f!==94?n(f):(e.enter("gfmFootnoteCallMarker"),e.consume(f),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(f){if(o>999||f===93&&!s||f===null||f===91||Ke(f))return n(f);if(f===93){e.exit("chunkString");let d=e.exit("gfmFootnoteCallString");return i.includes(Gn(r.sliceSerialize(d)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return Ke(f)||(s=!0),o++,e.consume(f),f===92?c:u}function c(f){return f===91||f===92||f===93?(e.consume(f),o++,u):u(f)}}function S$(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o,s=0,a;return l;function l(p){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(p){return p===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):n(p)}function c(p){if(s>999||p===93&&!a||p===null||p===91||Ke(p))return n(p);if(p===93){e.exit("chunkString");let b=e.exit("gfmFootnoteDefinitionLabelString");return o=Gn(r.sliceSerialize(b)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d}return Ke(p)||(a=!0),s++,e.consume(p),p===92?f:c}function f(p){return p===91||p===92||p===93?(e.consume(p),s++,c):c(p)}function d(p){return p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),i.includes(o)||i.push(o),Ce(e,h,"gfmFootnoteDefinitionWhitespace")):n(p)}function h(p){return t(p)}}function x$(e,t,n){return e.check(Vi,t,e.attempt(b$,t,n))}function v$(e){e.exit("gfmFootnoteDefinition")}function A$(e,t,n){let r=this;return Ce(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){let s=r.events[r.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(o):n(o)}}function ox(e){let n=(e||{}).singleTilde,r={name:"strikethrough",tokenize:o,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(s,a){let l=-1;for(;++l1?l(p):(s.consume(p),f++,h);if(f<2&&!n)return l(p);let y=s.exit("strikethroughSequenceTemporary"),g=Do(p);return y._open=!g||g===2&&!!b,y._close=!b||b===2&&!!g,a(p)}}}var Ag=class{constructor(){this.map=[]}add(t,n,r){_$(this,t,n,r)}consume(t){if(this.map.sort(function(o,s){return o[0]-s[0]}),this.map.length===0)return;let n=this.map.length,r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(let o of i)t.push(o);i=r.pop()}this.map.length=0}};function _$(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){let L=r.events[O][1].type;if(L==="lineEnding"||L==="linePrefix")O--;else break}let G=O>-1?r.events[O][1].type:null,z=G==="tableHead"||G==="tableRow"?x:l;return z===x&&r.parser.lazy[r.now().line]?n(A):z(A)}function l(A){return e.enter("tableHead"),e.enter("tableRow"),u(A)}function u(A){return A===124||(s=!0,o+=1),c(A)}function c(A){return A===null?n(A):le(A)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),h):n(A):Ne(A)?Ce(e,c,"whitespace")(A):(o+=1,s&&(s=!1,i+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),s=!0,c):(e.enter("data"),f(A)))}function f(A){return A===null||A===124||Ke(A)?(e.exit("data"),c(A)):(e.consume(A),A===92?d:f)}function d(A){return A===92||A===124?(e.consume(A),f):f(A)}function h(A){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(A):(e.enter("tableDelimiterRow"),s=!1,Ne(A)?Ce(e,p,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):p(A))}function p(A){return A===45||A===58?y(A):A===124?(s=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),b):v(A)}function b(A){return Ne(A)?Ce(e,y,"whitespace")(A):y(A)}function y(A){return A===58?(o+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),g):A===45?(o+=1,g(A)):A===null||le(A)?S(A):v(A)}function g(A){return A===45?(e.enter("tableDelimiterFiller"),E(A)):v(A)}function E(A){return A===45?(e.consume(A),E):A===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),T):(e.exit("tableDelimiterFiller"),T(A))}function T(A){return Ne(A)?Ce(e,S,"whitespace")(A):S(A)}function S(A){return A===124?p(A):A===null||le(A)?!s||i!==o?v(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):v(A)}function v(A){return n(A)}function x(A){return e.enter("tableRow"),N(A)}function N(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),N):A===null||le(A)?(e.exit("tableRow"),t(A)):Ne(A)?Ce(e,N,"whitespace")(A):(e.enter("data"),D(A))}function D(A){return A===null||A===124||Ke(A)?(e.exit("data"),N(A)):(e.consume(A),A===92?k:D)}function k(A){return A===92||A===124?(e.consume(A),D):D(A)}}function w$(e,t){let n=-1,r=!0,i=0,o=[0,0,0,0],s=[0,0,0,0],a=!1,l=0,u,c,f,d=new Ag;for(;++nn[2]+1){let p=n[2]+1,b=n[3]-n[2]-1;e.add(p,b,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return i!==void 0&&(o.end=Object.assign({},$u(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function OD(e,t,n,r,i){let o=[],s=$u(t.events,n);i&&(i.end=Object.assign({},s),o.push(["exit",i,t])),r.end=Object.assign({},s),o.push(["exit",r,t]),e.add(n+1,0,o)}function $u(e,t){let n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}var N$={name:"tasklistCheck",tokenize:R$};function ax(){return{text:{91:N$}}}function R$(e,t,n){let r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),o)}function o(l){return Ke(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),s):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),s):n(l)}function s(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),a):n(l)}function a(l){return le(l)?t(l):Ne(l)?e.check({tokenize:k$},t,n)(l):n(l)}}function k$(e,t,n){return Ce(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function DD(e){return fg([nx(),ix(),ox(e),sx(),ax()])}var M$={};function ja(e){let t=this,n=e||M$,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),s=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(DD(n)),o.push(JS()),s.push(ex(n))}function ID(e,t){let n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function LD(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:` -`}]}function PD(e,t){let n=t.value?t.value+` -`:"",r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=["language-"+i[0]]);let o={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o}function BD(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function HD(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function FD(e,t){let n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=ui(r.toLowerCase()),o=e.footnoteOrder.indexOf(r),s,a=e.footnoteCounts.get(r);a===void 0?(a=0,e.footnoteOrder.push(r),s=e.footnoteOrder.length):s=o+1,a+=1,e.footnoteCounts.set(r,a);let l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(a>1?"-"+a:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(s)}]};e.patch(t,l);let u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function zD(e,t){let n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function UD(e,t){if(e.options.allowDangerousHtml){let n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Cg(e,t){let n=t.referenceType,r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];let i=e.all(t),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});let s=i[i.length-1];return s&&s.type==="text"?s.value+=r:i.push({type:"text",value:r}),i}function qD(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Cg(e,t);let i={src:ui(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let o={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,o),e.applyData(t,o)}function VD(e,t){let n={src:ui(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function GD(e,t){let n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);let r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function KD(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Cg(e,t);let i={href:ui(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);let o={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function YD(e,t){let n={href:ui(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function WD(e,t,n){let r=e.all(t),i=n?O$(n):$D(t),o={},s=[];if(typeof t.checked=="boolean"){let c=r[0],f;c&&c.type==="element"&&c.tagName==="p"?f=c:(f={type:"element",tagName:"p",properties:{},children:[]},r.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let a=-1;for(;++a0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}var x$={tokenize:k$,partial:!0};function av(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:w$,continuation:{tokenize:N$},exit:R$}},text:{91:{name:"gfmFootnoteCall",tokenize:C$},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:A$,resolveTo:_$}}}}function A$(e,t,n){let r=this,i=r.events.length,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),s;for(;i--;){let l=r.events[i][1];if(l.type==="labelImage"){s=l;break}if(l.type==="gfmFootnoteCall"||l.type==="labelLink"||l.type==="label"||l.type==="image"||l.type==="link")break}return a;function a(l){if(!s||!s._balanced)return n(l);let u=Gn(r.sliceSerialize({start:s.end,end:r.now()}));return u.codePointAt(0)!==94||!o.includes(u.slice(1))?n(l):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(l),e.exit("gfmFootnoteCallLabelMarker"),t(l))}}function _$(e,t){let n=e.length,r;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){r=e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";let i={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;let s={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},s.start),end:Object.assign({},s.end)},l=[e[n+1],e[n+2],["enter",i,t],e[n+3],e[n+4],["enter",o,t],["exit",o,t],["enter",s,t],["enter",a,t],["exit",a,t],["exit",s,t],e[e.length-2],e[e.length-1],["exit",i,t]];return e.splice(n,e.length-n+1,...l),e}function C$(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o=0,s;return a;function a(f){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),l}function l(f){return f!==94?n(f):(e.enter("gfmFootnoteCallMarker"),e.consume(f),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",u)}function u(f){if(o>999||f===93&&!s||f===null||f===91||Ke(f))return n(f);if(f===93){e.exit("chunkString");let d=e.exit("gfmFootnoteCallString");return i.includes(Gn(r.sliceSerialize(d)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(f)}return Ke(f)||(s=!0),o++,e.consume(f),f===92?c:u}function c(f){return f===91||f===92||f===93?(e.consume(f),o++,u):u(f)}}function w$(e,t,n){let r=this,i=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]),o,s=0,a;return l;function l(p){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),u}function u(p){return p===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",c):n(p)}function c(p){if(s>999||p===93&&!a||p===null||p===91||Ke(p))return n(p);if(p===93){e.exit("chunkString");let b=e.exit("gfmFootnoteDefinitionLabelString");return o=Gn(r.sliceSerialize(b)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(p),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),d}return Ke(p)||(a=!0),s++,e.consume(p),p===92?f:c}function f(p){return p===91||p===92||p===93?(e.consume(p),s++,c):c(p)}function d(p){return p===58?(e.enter("definitionMarker"),e.consume(p),e.exit("definitionMarker"),i.includes(o)||i.push(o),we(e,h,"gfmFootnoteDefinitionWhitespace")):n(p)}function h(p){return t(p)}}function N$(e,t,n){return e.check(Vi,t,e.attempt(x$,t,n))}function R$(e){e.exit("gfmFootnoteDefinition")}function k$(e,t,n){let r=this;return we(e,i,"gfmFootnoteDefinitionIndent",5);function i(o){let s=r.events[r.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(o):n(o)}}function lv(e){let n=(e||{}).singleTilde,r={name:"strikethrough",tokenize:o,resolveAll:i};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function i(s,a){let l=-1;for(;++l1?l(p):(s.consume(p),f++,h);if(f<2&&!n)return l(p);let y=s.exit("strikethroughSequenceTemporary"),g=Do(p);return y._open=!g||g===2&&!!b,y._close=!b||b===2&&!!g,a(p)}}}var Cg=class{constructor(){this.map=[]}add(t,n,r){M$(this,t,n,r)}consume(t){if(this.map.sort(function(o,s){return o[0]-s[0]}),this.map.length===0)return;let n=this.map.length,r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let i=r.pop();for(;i;){for(let o of i)t.push(o);i=r.pop()}this.map.length=0}};function M$(e,t,n,r){let i=0;if(!(n===0&&r.length===0)){for(;i-1;){let B=r.events[P][1].type;if(B==="lineEnding"||B==="linePrefix")P--;else break}let G=P>-1?r.events[P][1].type:null,U=G==="tableHead"||G==="tableRow"?v:l;return U===v&&r.parser.lazy[r.now().line]?n(A):U(A)}function l(A){return e.enter("tableHead"),e.enter("tableRow"),u(A)}function u(A){return A===124||(s=!0,o+=1),c(A)}function c(A){return A===null?n(A):ce(A)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(A),e.exit("lineEnding"),h):n(A):ke(A)?we(e,c,"whitespace")(A):(o+=1,s&&(s=!1,i+=1),A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),s=!0,c):(e.enter("data"),f(A)))}function f(A){return A===null||A===124||Ke(A)?(e.exit("data"),c(A)):(e.consume(A),A===92?d:f)}function d(A){return A===92||A===124?(e.consume(A),f):f(A)}function h(A){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(A):(e.enter("tableDelimiterRow"),s=!1,ke(A)?we(e,p,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(A):p(A))}function p(A){return A===45||A===58?y(A):A===124?(s=!0,e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),b):x(A)}function b(A){return ke(A)?we(e,y,"whitespace")(A):y(A)}function y(A){return A===58?(o+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),g):A===45?(o+=1,g(A)):A===null||ce(A)?S(A):x(A)}function g(A){return A===45?(e.enter("tableDelimiterFiller"),E(A)):x(A)}function E(A){return A===45?(e.consume(A),E):A===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(A),e.exit("tableDelimiterMarker"),T):(e.exit("tableDelimiterFiller"),T(A))}function T(A){return ke(A)?we(e,S,"whitespace")(A):S(A)}function S(A){return A===124?p(A):A===null||ce(A)?!s||i!==o?x(A):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(A)):x(A)}function x(A){return n(A)}function v(A){return e.enter("tableRow"),N(A)}function N(A){return A===124?(e.enter("tableCellDivider"),e.consume(A),e.exit("tableCellDivider"),N):A===null||ce(A)?(e.exit("tableRow"),t(A)):ke(A)?we(e,N,"whitespace")(A):(e.enter("data"),D(A))}function D(A){return A===null||A===124||Ke(A)?(e.exit("data"),N(A)):(e.consume(A),A===92?k:D)}function k(A){return A===92||A===124?(e.consume(A),D):D(A)}}function D$(e,t){let n=-1,r=!0,i=0,o=[0,0,0,0],s=[0,0,0,0],a=!1,l=0,u,c,f,d=new Cg;for(;++nn[2]+1){let p=n[2]+1,b=n[3]-n[2]-1;e.add(p,b,[])}}e.add(n[3]+1,0,[["exit",f,t]])}return i!==void 0&&(o.end=Object.assign({},ju(t.events,i)),e.add(i,0,[["exit",o,t]]),o=void 0),o}function PD(e,t,n,r,i){let o=[],s=ju(t.events,n);i&&(i.end=Object.assign({},s),o.push(["exit",i,t])),r.end=Object.assign({},s),o.push(["exit",r,t]),e.add(n+1,0,o)}function ju(e,t){let n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}var I$={name:"tasklistCheck",tokenize:L$};function cv(){return{text:{91:I$}}}function L$(e,t,n){let r=this;return i;function i(l){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(l):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),o)}function o(l){return Ke(l)?(e.enter("taskListCheckValueUnchecked"),e.consume(l),e.exit("taskListCheckValueUnchecked"),s):l===88||l===120?(e.enter("taskListCheckValueChecked"),e.consume(l),e.exit("taskListCheckValueChecked"),s):n(l)}function s(l){return l===93?(e.enter("taskListCheckMarker"),e.consume(l),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),a):n(l)}function a(l){return ce(l)?t(l):ke(l)?e.check({tokenize:P$},t,n)(l):n(l)}}function P$(e,t,n){return we(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function BD(e){return hg([ov(),av(),lv(e),uv(),cv()])}var B$={};function Xa(e){let t=this,n=e||B$,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),s=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(BD(n)),o.push(nv()),s.push(rv(n))}function HD(e,t){let n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function FD(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:` +`}]}function zD(e,t){let n=t.value?t.value+` +`:"",r={},i=t.lang?t.lang.split(/\s+/):[];i.length>0&&(r.className=["language-"+i[0]]);let o={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:"element",tagName:"pre",properties:{},children:[o]},e.patch(t,o),o}function UD(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function qD(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function VD(e,t){let n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=ui(r.toLowerCase()),o=e.footnoteOrder.indexOf(r),s,a=e.footnoteCounts.get(r);a===void 0?(a=0,e.footnoteOrder.push(r),s=e.footnoteOrder.length):s=o+1,a+=1,e.footnoteCounts.set(r,a);let l={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+i,id:n+"fnref-"+i+(a>1?"-"+a:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(s)}]};e.patch(t,l);let u={type:"element",tagName:"sup",properties:{},children:[l]};return e.patch(t,u),e.applyData(t,u)}function GD(e,t){let n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function KD(e,t){if(e.options.allowDangerousHtml){let n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Ng(e,t){let n=t.referenceType,r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];let i=e.all(t),o=i[0];o&&o.type==="text"?o.value="["+o.value:i.unshift({type:"text",value:"["});let s=i[i.length-1];return s&&s.type==="text"?s.value+=r:i.push({type:"text",value:r}),i}function YD(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Ng(e,t);let i={src:ui(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(i.title=r.title);let o={type:"element",tagName:"img",properties:i,children:[]};return e.patch(t,o),e.applyData(t,o)}function WD(e,t){let n={src:ui(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function $D(e,t){let n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);let r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function jD(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Ng(e,t);let i={href:ui(r.url||"")};r.title!==null&&r.title!==void 0&&(i.title=r.title);let o={type:"element",tagName:"a",properties:i,children:e.all(t)};return e.patch(t,o),e.applyData(t,o)}function XD(e,t){let n={href:ui(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);let r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function QD(e,t,n){let r=e.all(t),i=n?H$(n):ZD(t),o={},s=[];if(typeof t.checked=="boolean"){let c=r[0],f;c&&c.type==="element"&&c.tagName==="p"?f=c:(f={type:"element",tagName:"p",properties:{},children:[]},r.unshift(f)),f.children.length>0&&f.children.unshift({type:"text",value:" "}),f.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),o.className=["task-list-item"]}let a=-1;for(;++a1}function jD(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){let s={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},a=xr(t.children[1]),l=Pa(t.children[t.children.length-1]);a&&l&&(s.position={start:a,end:l}),i.push(s)}let o={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,o),e.applyData(t,o)}function eI(e,t,n){let r=n?n.children:void 0,o=(r?r.indexOf(t):1)===0?"th":"td",s=n&&n.type==="table"?n.align:void 0,a=s?s.length:t.children.length,l=-1,u=[];for(;++l0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return o.push(nI(t.slice(i),i>0,!1)),o.join("")}function nI(e,t,n){let r=0,i=e.length;if(t){let o=e.codePointAt(r);for(;o===9||o===32;)r++,o=e.codePointAt(r)}if(n){let o=e.codePointAt(i-1);for(;o===9||o===32;)i--,o=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function iI(e,t){let n={type:"text",value:rI(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function oI(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var sI={blockquote:ID,break:LD,code:PD,delete:BD,emphasis:HD,footnoteReference:FD,heading:zD,html:UD,imageReference:qD,image:VD,inlineCode:GD,linkReference:KD,link:YD,listItem:WD,list:jD,paragraph:XD,root:QD,strong:ZD,table:JD,tableCell:tI,tableRow:eI,text:iI,thematicBreak:oI,toml:wg,yaml:wg,definition:wg,footnoteDefinition:wg};function wg(){}var aI=typeof self=="object"?self:globalThis,P$=(e,t)=>{let n=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);let[o,s]=t[i];switch(o){case 0:case-1:return n(s,i);case 1:{let a=n([],i);for(let l of s)a.push(r(l));return a}case 2:{let a=n({},i);for(let[l,u]of s)a[r(l)]=r(u);return a}case 3:return n(new Date(s),i);case 4:{let{source:a,flags:l}=s;return n(new RegExp(a,l),i)}case 5:{let a=n(new Map,i);for(let[l,u]of s)a.set(r(l),r(u));return a}case 6:{let a=n(new Set,i);for(let l of s)a.add(r(l));return a}case 7:{let{name:a,message:l}=s;return n(new aI[a](l),i)}case 8:return n(BigInt(s),i);case"BigInt":return n(Object(BigInt(s)),i);case"ArrayBuffer":return n(new Uint8Array(s).buffer,s);case"DataView":{let{buffer:a}=new Uint8Array(s);return n(new DataView(a),s)}}return n(new aI[o](s),i)};return r},cx=e=>P$(new Map,e)(0);var ju="",{toString:B$}={},{keys:H$}=Object,Dd=e=>{let t=typeof e;if(t!=="object"||!e)return[0,t];let n=B$.call(e).slice(8,-1);switch(n){case"Array":return[1,ju];case"Object":return[2,ju];case"Date":return[3,ju];case"RegExp":return[4,ju];case"Map":return[5,ju];case"Set":return[6,ju];case"DataView":return[1,n]}return n.includes("Array")?[1,n]:n.includes("Error")?[7,n]:[2,n]},Rg=([e,t])=>e===0&&(t==="function"||t==="symbol"),F$=(e,t,n,r)=>{let i=(s,a)=>{let l=r.push(s)-1;return n.set(a,l),l},o=s=>{if(n.has(s))return n.get(s);let[a,l]=Dd(s);switch(a){case 0:{let c=s;switch(l){case"bigint":a=8,c=s.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([-1],s)}return i([a,c],s)}case 1:{if(l){let d=s;return l==="DataView"?d=new Uint8Array(s.buffer):l==="ArrayBuffer"&&(d=new Uint8Array(s)),i([l,[...d]],s)}let c=[],f=i([a,c],s);for(let d of s)c.push(o(d));return f}case 2:{if(l)switch(l){case"BigInt":return i([l,s.toString()],s);case"Boolean":case"Number":case"String":return i([l,s.valueOf()],s)}if(t&&"toJSON"in s)return o(s.toJSON());let c=[],f=i([a,c],s);for(let d of H$(s))(e||!Rg(Dd(s[d])))&&c.push([o(d),o(s[d])]);return f}case 3:return i([a,s.toISOString()],s);case 4:{let{source:c,flags:f}=s;return i([a,{source:c,flags:f}],s)}case 5:{let c=[],f=i([a,c],s);for(let[d,h]of s)(e||!(Rg(Dd(d))||Rg(Dd(h))))&&c.push([o(d),o(h)]);return f}case 6:{let c=[],f=i([a,c],s);for(let d of s)(e||!Rg(Dd(d)))&&c.push(o(d));return f}}let{message:u}=s;return i([a,{name:l,message:u}],s)};return o},fx=(e,{json:t,lossy:n}={})=>{let r=[];return F$(!(t||n),!!t,new Map,r)(e),r};var Ai=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?cx(fx(e,t)):structuredClone(e):(e,t)=>cx(fx(e,t));function z$(e,t){let n=[{type:"text",value:"\u21A9"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function U$(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function dI(e){let t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||z$,r=e.options.footnoteBackLabel||U$,i=e.options.footnoteLabel||"Footnotes",o=e.options.footnoteLabelTagName||"h2",s=e.options.footnoteLabelProperties||{className:["sr-only"]},a=[],l=-1;for(;++l0&&p.push({type:"text",value:" "});let E=typeof n=="string"?n:n(l,h);typeof E=="string"&&(E={type:"text",value:E}),p.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+d+(h>1?"-"+h:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,h),className:["data-footnote-backref"]},children:Array.isArray(E)?E:[E]})}let y=c[c.length-1];if(y&&y.type==="element"&&y.tagName==="p"){let E=y.children[y.children.length-1];E&&E.type==="text"?E.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...p)}else c.push(...p);let g={type:"element",tagName:"li",properties:{id:t+"fn-"+d},children:e.wrap(c,!0)};e.patch(u,g),a.push(g)}if(a.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...Ai(s),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` +`});let u={type:"element",tagName:"li",properties:o,children:s};return e.patch(t,u),e.applyData(t,u)}function H$(e){let t=!1;if(e.type==="list"){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r1}function JD(e,t){let n={},r=e.all(t),i=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++i0){let s={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},a=vr(t.children[1]),l=Ba(t.children[t.children.length-1]);a&&l&&(s.position={start:a,end:l}),i.push(s)}let o={type:"element",tagName:"table",properties:{},children:e.wrap(i,!0)};return e.patch(t,o),e.applyData(t,o)}function iI(e,t,n){let r=n?n.children:void 0,o=(r?r.indexOf(t):1)===0?"th":"td",s=n&&n.type==="table"?n.align:void 0,a=s?s.length:t.children.length,l=-1,u=[];for(;++l0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return o.push(sI(t.slice(i),i>0,!1)),o.join("")}function sI(e,t,n){let r=0,i=e.length;if(t){let o=e.codePointAt(r);for(;o===9||o===32;)r++,o=e.codePointAt(r)}if(n){let o=e.codePointAt(i-1);for(;o===9||o===32;)i--,o=e.codePointAt(i-1)}return i>r?e.slice(r,i):""}function lI(e,t){let n={type:"text",value:aI(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function uI(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var cI={blockquote:HD,break:FD,code:zD,delete:UD,emphasis:qD,footnoteReference:VD,heading:GD,html:KD,imageReference:YD,image:WD,inlineCode:$D,linkReference:jD,link:XD,listItem:QD,list:JD,paragraph:eI,root:tI,strong:nI,table:rI,tableCell:oI,tableRow:iI,text:lI,thematicBreak:uI,toml:Rg,yaml:Rg,definition:Rg,footnoteDefinition:Rg};function Rg(){}var fI=typeof self=="object"?self:globalThis,q$=(e,t)=>{let n=(i,o)=>(e.set(o,i),i),r=i=>{if(e.has(i))return e.get(i);let[o,s]=t[i];switch(o){case 0:case-1:return n(s,i);case 1:{let a=n([],i);for(let l of s)a.push(r(l));return a}case 2:{let a=n({},i);for(let[l,u]of s)a[r(l)]=r(u);return a}case 3:return n(new Date(s),i);case 4:{let{source:a,flags:l}=s;return n(new RegExp(a,l),i)}case 5:{let a=n(new Map,i);for(let[l,u]of s)a.set(r(l),r(u));return a}case 6:{let a=n(new Set,i);for(let l of s)a.add(r(l));return a}case 7:{let{name:a,message:l}=s;return n(new fI[a](l),i)}case 8:return n(BigInt(s),i);case"BigInt":return n(Object(BigInt(s)),i);case"ArrayBuffer":return n(new Uint8Array(s).buffer,s);case"DataView":{let{buffer:a}=new Uint8Array(s);return n(new DataView(a),s)}}return n(new fI[o](s),i)};return r},hv=e=>q$(new Map,e)(0);var Xu="",{toString:V$}={},{keys:G$}=Object,Ld=e=>{let t=typeof e;if(t!=="object"||!e)return[0,t];let n=V$.call(e).slice(8,-1);switch(n){case"Array":return[1,Xu];case"Object":return[2,Xu];case"Date":return[3,Xu];case"RegExp":return[4,Xu];case"Map":return[5,Xu];case"Set":return[6,Xu];case"DataView":return[1,n]}return n.includes("Array")?[1,n]:n.includes("Error")?[7,n]:[2,n]},Mg=([e,t])=>e===0&&(t==="function"||t==="symbol"),K$=(e,t,n,r)=>{let i=(s,a)=>{let l=r.push(s)-1;return n.set(a,l),l},o=s=>{if(n.has(s))return n.get(s);let[a,l]=Ld(s);switch(a){case 0:{let c=s;switch(l){case"bigint":a=8,c=s.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+l);c=null;break;case"undefined":return i([-1],s)}return i([a,c],s)}case 1:{if(l){let d=s;return l==="DataView"?d=new Uint8Array(s.buffer):l==="ArrayBuffer"&&(d=new Uint8Array(s)),i([l,[...d]],s)}let c=[],f=i([a,c],s);for(let d of s)c.push(o(d));return f}case 2:{if(l)switch(l){case"BigInt":return i([l,s.toString()],s);case"Boolean":case"Number":case"String":return i([l,s.valueOf()],s)}if(t&&"toJSON"in s)return o(s.toJSON());let c=[],f=i([a,c],s);for(let d of G$(s))(e||!Mg(Ld(s[d])))&&c.push([o(d),o(s[d])]);return f}case 3:return i([a,s.toISOString()],s);case 4:{let{source:c,flags:f}=s;return i([a,{source:c,flags:f}],s)}case 5:{let c=[],f=i([a,c],s);for(let[d,h]of s)(e||!(Mg(Ld(d))||Mg(Ld(h))))&&c.push([o(d),o(h)]);return f}case 6:{let c=[],f=i([a,c],s);for(let d of s)(e||!Mg(Ld(d)))&&c.push(o(d));return f}}let{message:u}=s;return i([a,{name:l,message:u}],s)};return o},pv=(e,{json:t,lossy:n}={})=>{let r=[];return K$(!(t||n),!!t,new Map,r)(e),r};var Ai=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?hv(pv(e,t)):structuredClone(e):(e,t)=>hv(pv(e,t));function Y$(e,t){let n=[{type:"text",value:"\u21A9"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function W$(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function gI(e){let t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||Y$,r=e.options.footnoteBackLabel||W$,i=e.options.footnoteLabel||"Footnotes",o=e.options.footnoteLabelTagName||"h2",s=e.options.footnoteLabelProperties||{className:["sr-only"]},a=[],l=-1;for(;++l0&&p.push({type:"text",value:" "});let E=typeof n=="string"?n:n(l,h);typeof E=="string"&&(E={type:"text",value:E}),p.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+d+(h>1?"-"+h:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(l,h),className:["data-footnote-backref"]},children:Array.isArray(E)?E:[E]})}let y=c[c.length-1];if(y&&y.type==="element"&&y.tagName==="p"){let E=y.children[y.children.length-1];E&&E.type==="text"?E.value+=" ":y.children.push({type:"text",value:" "}),y.children.push(...p)}else c.push(...p);let g={type:"element",tagName:"li",properties:{id:t+"fn-"+d},children:e.wrap(c,!0)};e.patch(u,g),a.push(g)}if(a.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:o,properties:{...Ai(s),id:"footnote-label"},children:[{type:"text",value:i}]},{type:"text",value:` `},{type:"element",tagName:"ol",properties:{},children:e.wrap(a,!0)},{type:"text",value:` -`}]}}var dx={}.hasOwnProperty,q$={};function pI(e,t){let n=t||q$,r=new Map,i=new Map,o=new Map,s={...sI,...n.handlers},a={all:u,applyData:G$,definitionById:r,footnoteById:i,footnoteCounts:o,footnoteOrder:[],handlers:s,one:l,options:n,patch:V$,wrap:Y$};return Qe(e,function(c){if(c.type==="definition"||c.type==="footnoteDefinition"){let f=c.type==="definition"?r:i,d=String(c.identifier).toUpperCase();f.has(d)||f.set(d,c)}}),a;function l(c,f){let d=c.type,h=a.handlers[d];if(dx.call(a.handlers,d)&&h)return h(a,c,f);if(a.options.passThrough&&a.options.passThrough.includes(d)){if("children"in c){let{children:b,...y}=c,g=Ai(y);return g.children=a.all(c),g}return Ai(c)}return(a.options.unknownHandler||K$)(a,c,f)}function u(c){let f=[];if("children"in c){let d=c.children,h=-1;for(;++h0&&n.push({type:"text",value:` -`}),n}function hI(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function kg(e,t){let n=pI(e,t),r=n.one(e,void 0),i=dI(n),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&("children"in o,o.children.push({type:"text",value:` -`},i)),o}function Xa(e,t){return e&&"run"in e?async function(n,r){let i=kg(n,{file:r,...t});await e.run(i,r)}:function(n,r){return kg(n,{file:r,...e||t})}}var W$={},$$={}.hasOwnProperty,mI=Gu("type",{handlers:{root:j$,element:ej,text:Z$,comment:J$,doctype:Q$}});function hx(e,t){let r=(t||W$).space;return mI(e,r==="svg"?Un:Ei)}function j$(e,t){let n={nodeName:"#document",mode:(e.data||{}).quirksMode?"quirks":"no-quirks",childNodes:[]};return n.childNodes=px(e.children,n,t),Xu(e,n),n}function X$(e,t){let n={nodeName:"#document-fragment",childNodes:[]};return n.childNodes=px(e.children,n,t),Xu(e,n),n}function Q$(e){let t={nodeName:"#documentType",name:"html",publicId:"",systemId:"",parentNode:null};return Xu(e,t),t}function Z$(e){let t={nodeName:"#text",value:e.value,parentNode:null};return Xu(e,t),t}function J$(e){let t={nodeName:"#comment",data:e.value,parentNode:null};return Xu(e,t),t}function ej(e,t){let n=t,r=n;e.type==="element"&&e.tagName.toLowerCase()==="svg"&&n.space==="html"&&(r=Un);let i=[],o;if(e.properties){for(o in e.properties)if(o!=="children"&&$$.call(e.properties,o)){let l=tj(r,o,e.properties[o]);l&&i.push(l)}}let s=r.space;let a={nodeName:e.tagName,tagName:e.tagName,attrs:i,namespaceURI:Hi[s],childNodes:[],parentNode:null};return a.childNodes=px(e.children,a,r),Xu(e,a),e.tagName==="template"&&e.content&&(a.content=X$(e.content,r)),a}function tj(e,t,n){let r=yi(e,t);if(n===!1||n===null||n===void 0||typeof n=="number"&&Number.isNaN(n)||!n&&r.boolean)return;Array.isArray(n)&&(n=r.commaSeparated?Ou(n):Du(n));let i={name:r.attribute,value:n===!0?"":String(n)};if(r.space&&r.space!=="html"&&r.space!=="svg"){let o=i.name.indexOf(":");o<0?i.prefix="":(i.name=i.name.slice(o+1),i.prefix=r.attribute.slice(0,o)),i.namespace=Hi[r.space]}return i}function px(e,t,n){let r=-1,i=[];if(e)for(;++r])/gi,rj=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),gI={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function Og(e,t){let n=hj(e),r=Gu("type",{handlers:{root:ij,element:oj,text:sj,comment:yI,doctype:aj,raw:uj},unknown:cj}),i={parser:n?new Us(gI):Us.getFragmentParser(void 0,gI),handle(a){r(a,i)},stitches:!1,options:t||{}};r(e,i),Qu(i,xr());let o=n?i.parser.document:i.parser.getFragment(),s=ld(o,{file:i.options.file});return i.stitches&&Qe(s,"comment",function(a,l,u){let c=a;if(c.value.stitch&&u&&l!==void 0){let f=u.children;return f[l]=c.value.stitch,l}}),s.type==="root"&&s.children.length===1&&s.children[0].type===e.type?s.children[0]:s}function bI(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);let n={type:Bs.TokenType.CHARACTER,chars:e.value,location:Id(e)};Qu(t,xr(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function aj(e,t){let n={type:Bs.TokenType.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:Id(e)};Qu(t,xr(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function lj(e,t){t.stitches=!0;let n=pj(e);if("children"in e&&"children"in n){let r=Og({type:"root",children:e.children},t.options);n.children=r.children}yI({type:"comment",value:{stitch:n}},t)}function yI(e,t){let n=e.value,r={type:Bs.TokenType.COMMENT,data:n,location:Id(e)};Qu(t,xr(e)),t.parser.currentToken=r,t.parser._processToken(t.parser.currentToken)}function uj(e,t){if(t.parser.tokenizer.preprocessor.html="",t.parser.tokenizer.preprocessor.pos=-1,t.parser.tokenizer.preprocessor.lastGapPos=-2,t.parser.tokenizer.preprocessor.gapStack=[],t.parser.tokenizer.preprocessor.skipNextNewLine=!1,t.parser.tokenizer.preprocessor.lastChunkWritten=!1,t.parser.tokenizer.preprocessor.endOfChunkHit=!1,t.parser.tokenizer.preprocessor.isEol=!1,EI(t,xr(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(nj,"<$1$2"):e.value,!1),t.parser.tokenizer._runParsingLoop(),t.parser.tokenizer.state===72||t.parser.tokenizer.state===78){t.parser.tokenizer.preprocessor.lastChunkWritten=!0;let n=t.parser.tokenizer._consume();t.parser.tokenizer._callState(n)}}function cj(e,t){let n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))lj(n,t);else{let r="";throw rj.has(n.type)&&(r=". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax"),new Error("Cannot compile `"+n.type+"` node"+r)}}function Qu(e,t){EI(e,t);let n=e.parser.tokenizer.currentCharacterToken;n&&n.location&&(n.location.endLine=e.parser.tokenizer.preprocessor.line,n.location.endCol=e.parser.tokenizer.preprocessor.col+1,n.location.endOffset=e.parser.tokenizer.preprocessor.offset+1,e.parser.currentToken=n,e.parser._processToken(e.parser.currentToken)),e.parser.tokenizer.paused=!1,e.parser.tokenizer.inLoop=!1,e.parser.tokenizer.active=!1,e.parser.tokenizer.returnState=Pt.DATA,e.parser.tokenizer.charRefCode=-1,e.parser.tokenizer.consumedAfterSnapshot=-1,e.parser.tokenizer.currentLocation=null,e.parser.tokenizer.currentCharacterToken=null,e.parser.tokenizer.currentToken=null,e.parser.tokenizer.currentAttr={name:"",value:""}}function EI(e,t){if(t&&t.offset!==void 0){let n={startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:-1,endCol:-1,endOffset:-1};e.parser.tokenizer.preprocessor.lineStartPos=-t.column+1,e.parser.tokenizer.preprocessor.droppedBufferSize=t.offset,e.parser.tokenizer.preprocessor.line=t.line,e.parser.tokenizer.currentLocation=n}}function fj(e,t){let n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===Pt.PLAINTEXT)return;Qu(t,xr(e));let r=t.parser.openElements.current,i="namespaceURI"in r?r.namespaceURI:Hi.html;i===Hi.html&&n==="svg"&&(i=Hi.svg);let o=hx({...e,children:[]},{space:i===Hi.svg?"svg":"html"}),s={type:Bs.TokenType.START_TAG,tagName:n,tagID:cd.getTagID(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in o?o.attrs:[],location:Id(e)};t.parser.currentToken=s,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function dj(e,t){let n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&Mg.includes(n)||t.parser.tokenizer.state===Pt.PLAINTEXT)return;Qu(t,Pa(e));let r={type:Bs.TokenType.END_TAG,tagName:n,tagID:cd.getTagID(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:Id(e)};t.parser.currentToken=r,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===Pt.RCDATA||t.parser.tokenizer.state===Pt.RAWTEXT||t.parser.tokenizer.state===Pt.SCRIPT_DATA)&&(t.parser.tokenizer.state=Pt.DATA)}function hj(e){let t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function Id(e){let t=xr(e)||{line:void 0,column:void 0,offset:void 0},n=Pa(e)||{line:void 0,column:void 0,offset:void 0};return{startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:n.line,endCol:n.column,endOffset:n.offset}}function pj(e){return"children"in e?Ai({...e,children:[]}):Ai(e)}function Ld(e){return function(t,n){return Og(t,{...e,file:n})}}var Qa=["ariaDescribedBy","ariaLabel","ariaLabelledBy"],mx={ancestors:{tbody:["table"],td:["table"],th:["table"],thead:["table"],tfoot:["table"],tr:["table"]},attributes:{a:[...Qa,"dataFootnoteBackref","dataFootnoteRef",["className","data-footnote-backref"],"href"],blockquote:["cite"],code:[["className",/^language-./]],del:["cite"],div:["itemScope","itemType"],dl:[...Qa],h2:[["className","sr-only"]],img:[...Qa,"longDesc","src"],input:[["disabled",!0],["type","checkbox"]],ins:["cite"],li:[["className","task-list-item"]],ol:[...Qa,["className","contains-task-list"]],q:["cite"],section:["dataFootnotes",["className","footnotes"]],source:["srcSet"],summary:[...Qa],table:[...Qa],ul:[...Qa,["className","contains-task-list"]],"*":["abbr","accept","acceptCharset","accessKey","action","align","alt","axis","border","cellPadding","cellSpacing","char","charOff","charSet","checked","clear","colSpan","color","cols","compact","coords","dateTime","dir","encType","frame","hSpace","headers","height","hrefLang","htmlFor","id","isMap","itemProp","label","lang","maxLength","media","method","multiple","name","noHref","noShade","noWrap","open","prompt","readOnly","rev","rowSpan","rows","rules","scope","selected","shape","size","span","start","summary","tabIndex","title","useMap","vAlign","value","width"]},clobber:["ariaDescribedBy","ariaLabelledBy","id","name"],clobberPrefix:"user-content-",protocols:{cite:["http","https"],href:["http","https","irc","ircs","mailto","xmpp"],longDesc:["http","https"],src:["http","https"]},required:{input:{disabled:!0,type:"checkbox"}},strip:["script"],tagNames:["a","b","blockquote","br","code","dd","del","details","div","dl","dt","em","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","li","ol","p","picture","pre","q","rp","rt","ruby","s","samp","section","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","tr","tt","ul","var"]};var Ys={}.hasOwnProperty;function gx(e,t){let n={type:"root",children:[]},r={schema:t?{...mx,...t}:mx,stack:[]},i=xI(r,e);return i&&(Array.isArray(i)?i.length===1?n=i[0]:n.children=i:n=i),n}function xI(e,t){if(t&&typeof t=="object"){let n=t;switch(typeof n.type=="string"?n.type:""){case"comment":return mj(e,n);case"doctype":return gj(e,n);case"element":return bj(e,n);case"root":return yj(e,n);case"text":return Ej(e,n);default:}}}function mj(e,t){if(e.schema.allowComments){let n=typeof t.value=="string"?t.value:"",r=n.indexOf("-->"),o={type:"comment",value:r<0?n:n.slice(0,r)};return Pd(o,t),o}}function gj(e,t){if(e.schema.allowDoctypes){let n={type:"doctype"};return Pd(n,t),n}}function bj(e,t){let n=typeof t.tagName=="string"?t.tagName:"";e.stack.push(n);let r=vI(e,t.children),i=Tj(e,t.properties);e.stack.pop();let o=!1;if(n&&n!=="*"&&(!e.schema.tagNames||e.schema.tagNames.includes(n))&&(o=!0,e.schema.ancestors&&Ys.call(e.schema.ancestors,n))){let a=e.schema.ancestors[n],l=-1;for(o=!1;++l1){let i=!1,o=0;for(;++o-1&&o>l||s>-1&&o>s||a>-1&&o>a)return!0;let u=-1;for(;++u4&&t.slice(0,4).toLowerCase()==="data")return n}function Dg(e){return function(t){return gx(t,e)}}var Ig=function(e,t,n){let r=Ui(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++tu&&(u=c):c&&(u!==void 0&&u>-1&&l.push(` -`.repeat(u)||" "),u=-1,l.push(c))}return l.join("")}function kI(e,t,n){return e.type==="element"?Rj(e,t,n):e.type==="text"?n.whitespace==="normal"?MI(e,n):kj(e):[]}function Rj(e,t,n){let r=OI(e,n),i=e.children||[],o=-1,s=[];if(Nj(e))return s;let a,l;for(yx(e)||NI(e)&&Ig(t,e,NI)?l=` -`:wj(e)?(a=2,l=2):RI(e)&&(a=1,l=1);++o]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},h=t.optional(i)+e.IDENT_RE+"\\s*\\(",p=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],b=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],g=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],S={type:b,keyword:p,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},v={className:"function.dispatch",relevance:0,keywords:{_hint:g},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},x=[v,f,a,n,e.C_BLOCK_COMMENT_MODE,c,u],N={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:S,contains:x.concat([{begin:/\(/,end:/\)/,keywords:S,contains:x.concat(["self"]),relevance:0}]),relevance:0},D={className:"function",begin:"("+s+"[\\*&\\s]+)+"+h,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:S,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:S,relevance:0},{begin:h,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,c]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,c,a,{begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,c,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:S,illegal:"",keywords:S,contains:["self",a]},{begin:e.IDENT_RE+"::",keywords:S},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function DI(e){let t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=Lj(e),r=n.keywords;return r.type=[...r.type,...t.type],r.literal=[...r.literal,...t.literal],r.built_in=[...r.built_in,...t.built_in],r._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function II(e){let t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});let i={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},o=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(a);let l={match:/\\"/},u={className:"string",begin:/'/,end:/'/},c={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},d=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],h=e.SHEBANG({binary:`(${d.join("|")})`,relevance:10}),p={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],g={match:/(\/[a-z._-]+)+/},E=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],T=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],S=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],v=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:y,built_in:[...E,...T,"set","shopt",...S,...v]},contains:[h,e.SHEBANG(),p,f,o,s,g,a,l,u,c,n]}}function LI(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="("+r+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",a={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},h=t.optional(i)+e.IDENT_RE+"\\s*\\(",y={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},g=[f,a,n,e.C_BLOCK_COMMENT_MODE,c,u],E={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:g.concat([{begin:/\(/,end:/\)/,keywords:y,contains:g.concat(["self"]),relevance:0}]),relevance:0},T={begin:"("+s+"[\\*&\\s]+)+"+h,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:y,relevance:0},{begin:h,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,c,a,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,c,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:y,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:y}}}function PI(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="(?!struct)("+r+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},h=t.optional(i)+e.IDENT_RE+"\\s*\\(",p=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],b=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],g=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],S={type:b,keyword:p,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},v={className:"function.dispatch",relevance:0,keywords:{_hint:g},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},x=[v,f,a,n,e.C_BLOCK_COMMENT_MODE,c,u],N={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:S,contains:x.concat([{begin:/\(/,end:/\)/,keywords:S,contains:x.concat(["self"]),relevance:0}]),relevance:0},D={className:"function",begin:"("+s+"[\\*&\\s]+)+"+h,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:S,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:S,relevance:0},{begin:h,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,c]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,c,a,{begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,c,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:S,illegal:"",keywords:S,contains:["self",a]},{begin:e.IDENT_RE+"::",keywords:S},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function BI(e){let t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],r=["default","false","null","true"],i=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],o=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],s={keyword:i.concat(o),built_in:t,literal:r},a=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},c={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=e.inherit(c,{illegal:/\n/}),d={className:"subst",begin:/\{/,end:/\}/,keywords:s},h=e.inherit(d,{illegal:/\n/}),p={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,h]},b={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},d]},y=e.inherit(b,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]});d.contains=[b,p,c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.C_BLOCK_COMMENT_MODE],h.contains=[y,p,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let g={variants:[u,b,p,c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},a]},T=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",S={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},g,l,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+T+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[g,l,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},S]}}var Pj=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Bj=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Hj=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Fj=[...Bj,...Hj],zj=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Uj=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),qj=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Vj=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function HI(e){let t=e.regex,n=Pj(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},i="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Uj.join("|")+")"},{begin:":(:)?("+qj.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Vj.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:i,attribute:zj.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Fj.join("|")+")\\b"}]}}function FI(e){let t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function zI(e){let o={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:o,illegal:"GI(e,t,n-1))}function KI(e){let t=e.regex,n="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",r=n+GI("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),l={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},u={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},c={className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:l,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[c,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:l,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,VI,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},VI,u]}}var YI="[A-Za-z$_][0-9A-Za-z$_]*",Gj=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Kj=["true","false","null","undefined","NaN","Infinity"],WI=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],$I=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],jI=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Yj=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Wj=[].concat(jI,WI,$I);function XI(e){let t=e.regex,n=(P,{after:U})=>{let _="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(P,U)=>{let _=P[0].length+P.index,re=P.input[_];if(re==="<"||re===","){U.ignoreMatch();return}re===">"&&(n(P,{after:_})||U.ignoreMatch());let ee,C=P.input.substring(_);if(ee=C.match(/^\s*=/)){U.ignoreMatch();return}if((ee=C.match(/^\s+extends\s+/))&&ee.index===0){U.ignoreMatch();return}}},a={$pattern:YI,keyword:Gj,literal:Kj,built_in:Wj,"variable.language":Yj},l="[0-9](_?[0-9])*",u=`\\.(${l})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${c})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${c})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},d={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"xml"}},p={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,d]},E={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,b,y,{match:/\$\d+/},f];d.contains=T.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(T)});let S=[].concat(E,d.contains),v=S.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(S)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:v},N={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},D={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...WI,...$I]}},k={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},O={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function G(P){return t.concat("(?!",P.join("|"),")")}let z={match:t.concat(/\b/,G([...jI,"super","import"].map(P=>`${P}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},L={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},H={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},I="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(I)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:v,CLASS_REFERENCE:D},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),k,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,b,y,E,{match:/\$\d+/},f,D,{scope:"attr",match:r+t.lookahead(":"),relevance:0},F,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,e.REGEXP_MODE,{className:"function",begin:I,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:v}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},L,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},z,O,N,H,{match:/\$[(.]/}]}}function QI(e){let t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],i={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var Ju="[0-9](_*[0-9])*",Bg=`\\.(${Ju})`,Hg="[0-9a-fA-F](_*[0-9a-fA-F])*",$j={className:"number",variants:[{begin:`(\\b(${Ju})((${Bg})|\\.)?|(${Bg}))[eE][+-]?(${Ju})[fFdD]?\\b`},{begin:`\\b(${Ju})((${Bg})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Bg})[fFdD]?\\b`},{begin:`\\b(${Ju})[fFdD]\\b`},{begin:`\\b0[xX]((${Hg})\\.?|(${Hg})?\\.(${Hg}))[pP][+-]?(${Ju})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Hg})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function ZI(e){let t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,o,i]}]};i.contains.push(s);let a={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(s,{className:"string"}),"self"]}]},u=$j,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=f;return d.variants[1].contains=[f],f.variants[1].contains=[d],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,n,r,a,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,a,l,s,e.C_NUMBER_MODE]},c]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},a,l]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},u]}}var jj=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Xj=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Qj=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Zj=[...Xj,...Qj],Jj=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),JI=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),eL=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),eX=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),tX=JI.concat(eL).sort().reverse();function tL(e){let t=jj(e),n=tX,r="and or not only",i="[\\w-]+",o="("+i+"|@\\{"+i+"\\})",s=[],a=[],l=function(T){return{className:"string",begin:"~?"+T+".*?"+T}},u=function(T,S,v){return{className:T,begin:S,relevance:v}},c={$pattern:/[a-z-]+/,keyword:r,attribute:Jj.join(" ")},f={begin:"\\(",end:"\\)",contains:a,keywords:c,relevance:0};a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l("'"),l('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,f,u("variable","@@?"+i,10),u("variable","@\\{"+i+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:i+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);let d=a.concat({begin:/\{/,end:/\}/,contains:s}),h={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},p={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+eX.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},b={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:a,relevance:0}},y={className:"variable",variants:[{begin:"@"+i+"\\s*:",relevance:15},{begin:"@"+i}],starts:{end:"[;}]",returnEnd:!0,contains:d}},g={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,h,u("keyword","all\\b"),u("variable","@\\{"+i+"\\}"),{begin:"\\b("+Zj.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",o,0),u("selector-id","#"+o),u("selector-class","\\."+o,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+JI.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+eL.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:d},{begin:"!important"},t.FUNCTION_DISPATCH]},E={begin:i+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[g]};return s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,b,y,E,p,g,h,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}function nL(e){let t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},i=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}}function rL(e){let t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},i={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},o={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},c={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),d=e.inherit(c,{contains:[]});u.contains.push(d),c.contains.push(f);let h=[n,l];return[u,c,f,d].forEach(g=>{g.contains=g.contains.concat(h)}),h=h.concat(u,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:h},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:h}]}]},n,o,u,c,{className:"quote",begin:"^>\\s+",contains:h,end:"$"},i,r,l,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function oL(e){let t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},l={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+l.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:l,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function sL(e){let t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],r=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},s={begin:/->\{/,end:/\}/},a={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},l={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[a]},u={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},c=[e.BACKSLASH_ESCAPE,o,l],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],d=(b,y,g="\\1")=>{let E=g==="\\1"?g:t.concat(g,y);return t.concat(t.concat("(?:",b,")"),y,/(?:\\.|[^\\\/])*?/,E,/(?:\\.|[^\\\/])*?/,g,r)},h=(b,y,g)=>t.concat(t.concat("(?:",b,")"),y,/(?:\\.|[^\\\/])*?/,g,r),p=[l,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:d("s|tr|y",t.either(...f,{capture:!0}))},{begin:d("s|tr|y","\\(","\\)")},{begin:d("s|tr|y","\\[","\\]")},{begin:d("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:h("(?:m|qr)?",/\//,/\//)},{begin:h("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:h("m|qr",/\(/,/\)/)},{begin:h("m|qr",/\[/,/\]/)},{begin:h("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,a]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,a,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=p,s.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:p}}function aL(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),o=t.concat(/[A-Z]+/,n),s={scope:"variable",match:"\\$+"+r},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=e.inherit(e.APOS_STRING_MODE,{illegal:null}),c=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(L,H)=>{H.data._beginMatch=L[1]||L[2]},"on:end":(L,H)=>{H.data._beginMatch!==L[1]&&H.ignoreMatch()}},d=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),h=`[ -]`,p={scope:"string",variants:[c,u,f,d]},b={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},y=["false","null","true"],g=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],E=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],S={keyword:g,literal:(L=>{let H=[];return L.forEach(I=>{H.push(I),I.toLowerCase()===I?H.push(I.toUpperCase()):H.push(I.toLowerCase())}),H})(y),built_in:E},v=L=>L.map(H=>H.replace(/\|\d+$/,"")),x={variants:[{match:[/new/,t.concat(h,"+"),t.concat("(?!",v(E).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},N=t.concat(r,"\\b(?!\\()"),D={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),N],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),N],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},k={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},A={relevance:0,begin:/\(/,end:/\)/,keywords:S,contains:[k,s,D,e.C_BLOCK_COMMENT_MODE,p,b,x]},O={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",v(g).join("\\b|"),"|",v(E).join("\\b|"),"\\b)"),r,t.concat(h,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[A]};A.contains.push(O);let G=[k,D,e.C_BLOCK_COMMENT_MODE,p,b,x],z={begin:t.concat(/#\[\s*\\?/,t.either(i,o)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:y,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:y,keyword:["new","array"]},contains:["self",...G]},...G,{scope:"meta",variants:[{match:i},{match:o}]}]};return{case_insensitive:!1,keywords:S,contains:[z,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,O,D,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},x,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:S,contains:["self",z,s,D,e.C_BLOCK_COMMENT_MODE,p,b]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},p,b]}}function lL(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function uL(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function cL(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},c={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,c,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,c,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,c,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,c,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},d="[0-9](_?[0-9])*",h=`(\\b(${d}))?\\.(${d})|\\b(${d})\\.`,p=`\\b|${r.join("|")}`,b={className:"number",relevance:0,variants:[{begin:`(\\b(${d})|(${h}))[eE][+-]?(${d})[jJ]?(?=${p})`},{begin:`(${h})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${p})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${p})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${p})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${p})`},{begin:`\\b(${d})[jJ](?=${p})`}]},y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},g={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",l,b,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,b,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[l,b,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,g,f]}]}}function fL(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function dL(e){let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[o,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function hL(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),s={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},a={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[a]}),e.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:s},f={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},d="[1-9](_?[0-9])*|0",h="[0-9](_?[0-9])*",p={className:"number",relevance:0,variants:[{begin:`\\b(${d})(\\.(${h}))?([eE][+-]?(${h})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},x=[f,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:s},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[b]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},p,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,u),relevance:0}].concat(l,u);c.contains=x,b.contains=x;let A=[{begin:/^\s*=>/,starts:{end:"$",contains:x}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:x}}];return u.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(A).concat(u).concat(x)}}function pL(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),o={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(32|64))?",a=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],l=["true","false","Some","None","Ok","Err"],u=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],c=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:c,keyword:a,literal:l,built_in:u},illegal:""},o]}}var nX=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),rX=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],iX=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],oX=[...rX,...iX],sX=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),aX=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),lX=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),uX=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function mL(e){let t=nX(e),n=lX,r=aX,i="@[a-z-]+",o="and or not only",a={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+oX.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+r.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+uX.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,a,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:sX.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function gL(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function bL(e){let t=e.regex,n=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},o=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["add","asc","collation","desc","final","first","last","view"],u=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],c=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],f=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],d=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=c,p=[...u,...l].filter(v=>!c.includes(v)),b={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},g={match:t.concat(/\b/,t.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function E(v){return t.concat(/\b/,t.either(...v.map(x=>x.replace(/\s+/,"\\s+"))),/\b/)}let T={scope:"keyword",match:E(d),relevance:0};function S(v,{exceptions:x,when:N}={}){let D=N;return x=x||[],v.map(k=>k.match(/\|\d+$/)||x.includes(k)?k:D(k)?`${k}|0`:k)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:S(p,{when:v=>v.length<3}),literal:o,type:a,built_in:f},contains:[{scope:"type",match:E(s)},T,g,b,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,y]}}function SL(e){return e?typeof e=="string"?e:e.source:null}function Bd(e){return gt("(?=",e,")")}function gt(...e){return e.map(n=>SL(n)).join("")}function cX(e){let t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ir(...e){return"("+(cX(e).capture?"":"?:")+e.map(r=>SL(r)).join("|")+")"}var xx=e=>gt(/\b/,e,/\w$/.test(e)?/\b/:/\B/),fX=["Protocol","Type"].map(xx),yL=["init","self"].map(xx),dX=["Any","Self"],Tx=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],EL=["false","nil","true"],hX=["assignment","associativity","higherThan","left","lowerThan","none","right"],pX=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],TL=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],xL=ir(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),vL=ir(xL,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Sx=gt(xL,vL,"*"),AL=ir(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),zg=ir(AL,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Ki=gt(AL,zg,"*"),Fg=gt(/[A-Z]/,zg,"*"),mX=["attached","autoclosure",gt(/convention\(/,ir("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",gt(/objc\(/,Ki,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],gX=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function _L(e){let t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,ir(...fX,...yL)],className:{2:"keyword"}},o={match:gt(/\./,ir(...Tx)),relevance:0},s=Tx.filter(Te=>typeof Te=="string").concat(["_|0"]),a=Tx.filter(Te=>typeof Te!="string").concat(dX).map(xx),l={variants:[{className:"keyword",match:ir(...a,...yL)}]},u={$pattern:ir(/\b\w+/,/#\w+/),keyword:s.concat(pX),literal:EL},c=[i,o,l],f={match:gt(/\./,ir(...TL)),relevance:0},d={className:"built_in",match:gt(/\b/,ir(...TL),/(?=\()/)},h=[f,d],p={match:/->/,relevance:0},b={className:"operator",relevance:0,variants:[{match:Sx},{match:`\\.(\\.|${vL})+`}]},y=[p,b],g="([0-9]_*)+",E="([0-9a-fA-F]_*)+",T={className:"number",relevance:0,variants:[{match:`\\b(${g})(\\.(${g}))?([eE][+-]?(${g}))?\\b`},{match:`\\b0x(${E})(\\.(${E}))?([pP][+-]?(${g}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},S=(Te="")=>({className:"subst",variants:[{match:gt(/\\/,Te,/[0\\tnr"']/)},{match:gt(/\\/,Te,/u\{[0-9a-fA-F]{1,8}\}/)}]}),v=(Te="")=>({className:"subst",match:gt(/\\/,Te,/[\t ]*(?:[\r\n]|\r\n)/)}),x=(Te="")=>({className:"subst",label:"interpol",begin:gt(/\\/,Te,/\(/),end:/\)/}),N=(Te="")=>({begin:gt(Te,/"""/),end:gt(/"""/,Te),contains:[S(Te),v(Te),x(Te)]}),D=(Te="")=>({begin:gt(Te,/"/),end:gt(/"/,Te),contains:[S(Te),x(Te)]}),k={className:"string",variants:[N(),N("#"),N("##"),N("###"),D(),D("#"),D("##"),D("###")]},A=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],O={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:A},G=Te=>{let ve=gt(Te,/\//),me=gt(/\//,Te);return{begin:ve,end:me,contains:[...A,{scope:"comment",begin:`#(?!.*${me})`,end:/$/}]}},z={scope:"regexp",variants:[G("###"),G("##"),G("#"),O]},L={match:gt(/`/,Ki,/`/)},H={className:"variable",match:/\$\d+/},I={className:"variable",match:`\\$${zg}+`},F=[L,H,I],P={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:gX,contains:[...y,T,k]}]}},U={scope:"keyword",match:gt(/@/,ir(...mX),Bd(ir(/\(/,/\s+/)))},_={scope:"meta",match:gt(/@/,Ki)},re=[P,U,_],ee={match:Bd(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:gt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,zg,"+")},{className:"type",match:Fg,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:gt(/\s+&\s+/,Bd(Fg)),relevance:0}]},C={begin://,keywords:u,contains:[...r,...c,...re,p,ee]};ee.contains.push(C);let ae={match:gt(Ki,/\s*:/),keywords:"_|0",relevance:0},ue={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",ae,...r,z,...c,...h,...y,T,k,...F,...re,ee]},de={begin://,keywords:"repeat each",contains:[...r,ee]},Le={begin:ir(Bd(gt(Ki,/\s*:/)),Bd(gt(Ki,/\s+/,Ki,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Ki}]},ye={begin:/\(/,end:/\)/,keywords:u,contains:[Le,...r,...c,...y,T,k,...re,ee,ue],endsParent:!0,illegal:/["']/},qe={match:[/(func|macro)/,/\s+/,ir(L.match,Ki,Sx)],className:{1:"keyword",3:"title.function"},contains:[de,ye,t],illegal:[/\[/,/%/]},De={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[de,ye,t],illegal:/\[|%/},ke={match:[/operator/,/\s+/,Sx],className:{1:"keyword",3:"title"}},ce={begin:[/precedencegroup/,/\s+/,Fg],className:{1:"keyword",3:"title"},contains:[ee],keywords:[...hX,...EL],end:/}/},oe={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Ee={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},Pe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Ki,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[de,...c,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:Fg},...c],relevance:0}]};for(let Te of k.variants){let ve=Te.contains.find(vt=>vt.label==="interpol");ve.keywords=u;let me=[...c,...h,...y,T,k,...F];ve.contains=[...me,{begin:/\(/,end:/\)/,contains:["self",...me]}]}return{name:"Swift",keywords:u,contains:[...r,qe,De,oe,Ee,Pe,ke,ce,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},z,...c,...h,...y,T,k,...F,...re,ee,ue]}}var Ug="[A-Za-z$_][0-9A-Za-z$_]*",CL=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],wL=["true","false","null","undefined","NaN","Infinity"],NL=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],RL=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],kL=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ML=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],OL=[].concat(kL,NL,RL);function bX(e){let t=e.regex,n=(P,{after:U})=>{let _="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(P,U)=>{let _=P[0].length+P.index,re=P.input[_];if(re==="<"||re===","){U.ignoreMatch();return}re===">"&&(n(P,{after:_})||U.ignoreMatch());let ee,C=P.input.substring(_);if(ee=C.match(/^\s*=/)){U.ignoreMatch();return}if((ee=C.match(/^\s+extends\s+/))&&ee.index===0){U.ignoreMatch();return}}},a={$pattern:Ug,keyword:CL,literal:wL,built_in:OL,"variable.language":ML},l="[0-9](_?[0-9])*",u=`\\.(${l})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${c})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${c})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},d={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"xml"}},p={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,d]},E={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,b,y,{match:/\$\d+/},f];d.contains=T.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(T)});let S=[].concat(E,d.contains),v=S.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(S)}]),x={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:v},N={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},D={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...NL,...RL]}},k={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[x],illegal:/%/},O={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function G(P){return t.concat("(?!",P.join("|"),")")}let z={match:t.concat(/\b/,G([...kL,"super","import"].map(P=>`${P}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},L={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},H={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},x]},I="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(I)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[x]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:v,CLASS_REFERENCE:D},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),k,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,b,y,E,{match:/\$\d+/},f,D,{scope:"attr",match:r+t.lookahead(":"),relevance:0},F,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,e.REGEXP_MODE,{className:"function",begin:I,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:v}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[x,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},L,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[x]},z,O,N,H,{match:/\$[(.]/}]}}function DL(e){let t=e.regex,n=bX(e),r=Ug,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[n.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:Ug,keyword:CL.concat(l),literal:wL,built_in:OL.concat(i),"variable.language":ML},c={className:"meta",begin:"@"+r},f=(b,y,g)=>{let E=b.contains.findIndex(T=>T.label===y);if(E===-1)throw new Error("can not find mode to replace");b.contains.splice(E,1,g)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(c);let d=n.contains.find(b=>b.scope==="attr"),h=Object.assign({},d,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,d,h]),n.contains=n.contains.concat([c,o,s,h]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",a);let p=n.contains.find(b=>b.label==="func.def");return p.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function IL(e){let t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,o=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,a=/\d{1,2}(:\d{1,2}){1,2}/,l={className:"literal",variants:[{begin:t.concat(/# */,t.either(o,i),/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,t.either(o,i),/ +/,t.either(s,a),/ *#/)}]},u={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},c={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),d=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,r,l,u,c,f,d,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[d]}]}}function LL(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");let n=e.COMMENT(/;;/,/$/),r=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},o={className:"variable",begin:/\$[\w_]+/},s={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},a={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},l={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},u={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:r},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},o,s,i,e.QUOTE_STRING_MODE,l,u,a]}}function PL(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=e.inherit(o,{begin:/\(/,end:/\)/}),a=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={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:[o,l,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[o,s,l,a]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function BL(e){let t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},o={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,i]},a=e.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),d={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},h={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},p={begin:/\{/,end:/\}/,contains:[h],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[h],illegal:"\\n",relevance:0},y=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},d,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},p,b,o,s],g=[...y];return g.pop(),g.push(a),h.contains=g,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}var vx={arduino:DI,bash:II,c:LI,cpp:PI,csharp:BI,css:HI,diff:FI,go:zI,graphql:UI,ini:qI,java:KI,javascript:XI,json:QI,kotlin:ZI,less:tL,lua:nL,makefile:rL,markdown:iL,objectivec:oL,perl:sL,php:aL,"php-template":lL,plaintext:uL,python:cL,"python-repl":fL,r:dL,ruby:hL,rust:pL,scss:mL,shell:gL,sql:bL,swift:_L,typescript:DL,vbnet:IL,wasm:LL,xml:PL,yaml:BL};var i3=q(r3(),1);var o3=i3.default;var s3={},aQ="hljs-";function Dx(e){let t=o3.newInstance();return e&&o(e),{highlight:n,highlightAuto:r,listLanguages:i,register:o,registerAlias:s,registered:a};function n(l,u,c){let f=c||s3,d=typeof f.prefix=="string"?f.prefix:aQ;if(!t.getLanguage(l))throw new Error("Unknown language: `"+l+"` is not registered");t.configure({__emitter:Ox,classPrefix:d});let h=t.highlight(u,{ignoreIllegals:!0,language:l});if(h.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:h.errorRaised});let p=h._emitter.root,b=p.data;return b.language=h.language,b.relevance=h.relevance,p}function r(l,u){let f=(u||s3).subset||i(),d=-1,h=0,p;for(;++dh&&(h=y.data.relevance,p=y)}return p||{type:"root",children:[],data:{language:void 0,relevance:h}}}function i(){return t.listLanguages()}function o(l,u){if(typeof l=="string")t.registerLanguage(l,u);else{let c;for(c in l)Object.hasOwn(l,c)&&t.registerLanguage(c,l[c])}}function s(l,u){if(typeof l=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:l});else{let c;for(c in l)if(Object.hasOwn(l,c)){let f=l[c];t.registerAliases(typeof f=="string"?f:[...f],{languageName:c})}}}function a(l){return!!t.getLanguage(l)}}var Ox=class{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;let n=this.stack[this.stack.length-1],r=n.children[n.children.length-1];r&&r.type==="text"?r.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){let r=this.stack[this.stack.length-1],i=t.root.children;n?r.children.push({type:"element",tagName:"span",properties:{className:[n]},children:i}):r.children.push(...i)}openNode(t){let n=this,r=t.split(".").map(function(s,a){return a?s+"_".repeat(a):n.options.classPrefix+s}),i=this.stack[this.stack.length-1],o={type:"element",tagName:"span",properties:{className:r},children:[]};i.children.push(o),this.stack.push(o)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}};var lQ={};function Yg(e){let t=e||lQ,n=t.aliases,r=t.detect||!1,i=t.languages||vx,o=t.plainText,s=t.prefix,a=t.subset,l="hljs",u=Dx(i);if(n&&u.registerAlias(n),s){let c=s.indexOf("-");l=c===-1?s:s.slice(0,c)}return function(c,f){Qe(c,"element",function(d,h,p){if(d.tagName!=="code"||!p||p.type!=="element"||p.tagName!=="pre")return;let b=uQ(d);if(b===!1||!b&&!r||b&&o&&o.includes(b))return;Array.isArray(d.properties.className)||(d.properties.className=[]),d.properties.className.includes(l)||d.properties.className.unshift(l);let y=Ex(d,{whitespace:"pre"}),g;try{g=b?u.highlight(b,y,{prefix:s}):u.highlightAuto(y,{prefix:s,subset:a})}catch(E){let T=E;if(b&&/Unknown language/.test(T.message)){f.message("Cannot highlight as `"+b+"`, it\u2019s not registered",{ancestors:[p,d],cause:T,place:d.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw T}!b&&g.data&&g.data.language&&d.properties.className.push("language-"+g.data.language),g.children.length>0&&(d.children=g.children)})}}function uQ(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++ne=>{Qe(e,"element",t=>{let n=t.properties;if(!n||!(rg(n.className)||"dataSuggestion"in n))return;let i=typeof n.dataSuggestion=="string"&&n.dataSuggestion||Ad(t.children);"tabIndex"in n||(n.tabIndex=0),"role"in n||(n.role="button"),!("ariaLabel"in n)&&i&&(n.ariaLabel=`Use chat suggestion: ${i}`)})};var a3=()=>e=>{Qe(e,"html",(t,n,r)=>{if(!r||n===void 0)return;let i={type:"text",value:t.value};return r.children.splice(n,1,i),[nr,n]})};var Yi={"data-shinychat-link":"",target:"_blank",rel:"noopener noreferrer"},Lx=()=>e=>{Qe(e,"element",t=>{if(t.tagName!=="a")return;let n=t.properties?.href;typeof n=="string"&&(n.startsWith("#")||/^[a-z][a-z0-9+.-]*:/i.test(n)&&!/^https?:/i.test(n)||(t.properties={...t.properties,dataShinychatLink:Yi["data-shinychat-link"],target:Yi.target,rel:Yi.rel}))})};var Px=()=>e=>{Qe(e,"element",t=>{let n=t.properties;n&&(t.tagName==="input"||t.tagName==="textarea")&&("value"in n&&(n.defaultValue=n.value,delete n.value),"checked"in n&&(n.defaultChecked=n.checked,delete n.checked))})};var cQ=/["&'<>`]/g,fQ=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,dQ=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,hQ=/[|\\{}()[\]^$+*?.]/g,l3=new WeakMap;function u3(e,t){if(e=e.replace(t.subset?pQ(t.subset):cQ,r),t.subset||t.escapeOnly)return e;return e.replace(fQ,n).replace(dQ,r);function n(i,o,s){return t.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,s.charCodeAt(o+2),t)}function r(i,o,s){return t.format(i.charCodeAt(0),s.charCodeAt(o+1),t)}}function pQ(e){let t=l3.get(e);return t||(t=mQ(e),l3.set(e,t)),t}function mQ(e){let t=[],n=-1;for(;++n",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var h3=["cent","copy","divide","gt","lt","not","para","times"];var p3={}.hasOwnProperty,Bx={},$g;for($g in Wg)p3.call(Wg,$g)&&(Bx[Wg[$g]]=$g);var yQ=/[^\dA-Za-z]/;function m3(e,t,n,r){let i=String.fromCharCode(e);if(p3.call(Bx,i)){let o=Bx[i],s="&"+o;return n&&d3.includes(o)&&!h3.includes(o)&&(!r||t&&t!==61&&yQ.test(String.fromCharCode(t)))?s:s+";"}return""}function g3(e,t,n){let r=c3(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=m3(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let o=f3(e,t,n.omitOptionalSemicolons);o.length|^->||--!>|"],SQ=["<",">"];function b3(e,t,n,r){return r.settings.bogusComments?"":"";function i(o){return Po(o,Object.assign({},r.settings.characterReferences,{subset:SQ}))}}function y3(e,t,n,r){return""}var jt=E3(1),Hx=E3(-1),xQ=[];function E3(e){return t;function t(n,r,i){let o=n?n.children:xQ,s=(r||0)+e,a=o[s];if(!i)for(;a&&ko(a);)s+=e,a=o[s];return a}}var vQ={}.hasOwnProperty;function jg(e){return t;function t(n,r,i){return vQ.call(e,n.tagName)&&e[n.tagName](n,r,i)}}var Ud=jg({body:_Q,caption:Fx,colgroup:Fx,dd:RQ,dt:NQ,head:Fx,html:AQ,li:wQ,optgroup:kQ,option:MQ,p:CQ,rp:T3,rt:T3,tbody:DQ,td:S3,tfoot:IQ,th:S3,thead:OQ,tr:LQ});function Fx(e,t,n){let r=jt(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&ko(r.value.charAt(0)))}function AQ(e,t,n){let r=jt(n,t);return!r||r.type!=="comment"}function _Q(e,t,n){let r=jt(n,t);return!r||r.type!=="comment"}function CQ(e,t,n){let r=jt(n,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function wQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&r.tagName==="li"}function NQ(e,t,n){let r=jt(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function RQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function T3(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function kQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function MQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function OQ(e,t,n){let r=jt(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function DQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function IQ(e,t,n){return!jt(n,t)}function LQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function S3(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var x3=jg({body:HQ,colgroup:FQ,head:BQ,html:PQ,tbody:zQ});function PQ(e){let t=jt(e,-1);return!t||t.type!=="comment"}function BQ(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let n=e.children[0];return!n||n.type==="element"}function HQ(e){let t=jt(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&ko(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function FQ(e,t,n){let r=Hx(n,t),i=jt(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&Ud(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="col")}function zQ(e,t,n){let r=Hx(n,t),i=jt(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Ud(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="tr")}var Xg={name:[[` +`}),n}function bI(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Og(e,t){let n=yI(e,t),r=n.one(e,void 0),i=gI(n),o=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return i&&("children"in o,o.children.push({type:"text",value:` +`},i)),o}function Qa(e,t){return e&&"run"in e?async function(n,r){let i=Og(n,{file:r,...t});await e.run(i,r)}:function(n,r){return Og(n,{file:r,...e||t})}}var J$={},ej={}.hasOwnProperty,EI=Ku("type",{handlers:{root:tj,element:sj,text:ij,comment:oj,doctype:rj}});function gv(e,t){let r=(t||J$).space;return EI(e,r==="svg"?Un:Ei)}function tj(e,t){let n={nodeName:"#document",mode:(e.data||{}).quirksMode?"quirks":"no-quirks",childNodes:[]};return n.childNodes=bv(e.children,n,t),Qu(e,n),n}function nj(e,t){let n={nodeName:"#document-fragment",childNodes:[]};return n.childNodes=bv(e.children,n,t),Qu(e,n),n}function rj(e){let t={nodeName:"#documentType",name:"html",publicId:"",systemId:"",parentNode:null};return Qu(e,t),t}function ij(e){let t={nodeName:"#text",value:e.value,parentNode:null};return Qu(e,t),t}function oj(e){let t={nodeName:"#comment",data:e.value,parentNode:null};return Qu(e,t),t}function sj(e,t){let n=t,r=n;e.type==="element"&&e.tagName.toLowerCase()==="svg"&&n.space==="html"&&(r=Un);let i=[],o;if(e.properties){for(o in e.properties)if(o!=="children"&&ej.call(e.properties,o)){let l=aj(r,o,e.properties[o]);l&&i.push(l)}}let s=r.space;let a={nodeName:e.tagName,tagName:e.tagName,attrs:i,namespaceURI:Hi[s],childNodes:[],parentNode:null};return a.childNodes=bv(e.children,a,r),Qu(e,a),e.tagName==="template"&&e.content&&(a.content=nj(e.content,r)),a}function aj(e,t,n){let r=yi(e,t);if(n===!1||n===null||n===void 0||typeof n=="number"&&Number.isNaN(n)||!n&&r.boolean)return;Array.isArray(n)&&(n=r.commaSeparated?Du(n):Iu(n));let i={name:r.attribute,value:n===!0?"":String(n)};if(r.space&&r.space!=="html"&&r.space!=="svg"){let o=i.name.indexOf(":");o<0?i.prefix="":(i.name=i.name.slice(o+1),i.prefix=r.attribute.slice(0,o)),i.namespace=Hi[r.space]}return i}function bv(e,t,n){let r=-1,i=[];if(e)for(;++r])/gi,uj=new Set(["mdxFlowExpression","mdxJsxFlowElement","mdxJsxTextElement","mdxTextExpression","mdxjsEsm"]),TI={sourceCodeLocationInfo:!0,scriptingEnabled:!1};function Ig(e,t){let n=Ej(e),r=Ku("type",{handlers:{root:cj,element:fj,text:dj,comment:vI,doctype:hj,raw:mj},unknown:gj}),i={parser:n?new Us(TI):Us.getFragmentParser(void 0,TI),handle(a){r(a,i)},stitches:!1,options:t||{}};r(e,i),Zu(i,vr());let o=n?i.parser.document:i.parser.getFragment(),s=cd(o,{file:i.options.file});return i.stitches&&Qe(s,"comment",function(a,l,u){let c=a;if(c.value.stitch&&u&&l!==void 0){let f=u.children;return f[l]=c.value.stitch,l}}),s.type==="root"&&s.children.length===1&&s.children[0].type===e.type?s.children[0]:s}function SI(e,t){let n=-1;if(e)for(;++n4&&(t.parser.tokenizer.state=0);let n={type:Bs.TokenType.CHARACTER,chars:e.value,location:Pd(e)};Zu(t,vr(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function hj(e,t){let n={type:Bs.TokenType.DOCTYPE,name:"html",forceQuirks:!1,publicId:"",systemId:"",location:Pd(e)};Zu(t,vr(e)),t.parser.currentToken=n,t.parser._processToken(t.parser.currentToken)}function pj(e,t){t.stitches=!0;let n=Tj(e);if("children"in e&&"children"in n){let r=Ig({type:"root",children:e.children},t.options);n.children=r.children}vI({type:"comment",value:{stitch:n}},t)}function vI(e,t){let n=e.value,r={type:Bs.TokenType.COMMENT,data:n,location:Pd(e)};Zu(t,vr(e)),t.parser.currentToken=r,t.parser._processToken(t.parser.currentToken)}function mj(e,t){if(t.parser.tokenizer.preprocessor.html="",t.parser.tokenizer.preprocessor.pos=-1,t.parser.tokenizer.preprocessor.lastGapPos=-2,t.parser.tokenizer.preprocessor.gapStack=[],t.parser.tokenizer.preprocessor.skipNextNewLine=!1,t.parser.tokenizer.preprocessor.lastChunkWritten=!1,t.parser.tokenizer.preprocessor.endOfChunkHit=!1,t.parser.tokenizer.preprocessor.isEol=!1,xI(t,vr(e)),t.parser.tokenizer.write(t.options.tagfilter?e.value.replace(lj,"<$1$2"):e.value,!1),t.parser.tokenizer._runParsingLoop(),t.parser.tokenizer.state===72||t.parser.tokenizer.state===78){t.parser.tokenizer.preprocessor.lastChunkWritten=!0;let n=t.parser.tokenizer._consume();t.parser.tokenizer._callState(n)}}function gj(e,t){let n=e;if(t.options.passThrough&&t.options.passThrough.includes(n.type))pj(n,t);else{let r="";throw uj.has(n.type)&&(r=". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax"),new Error("Cannot compile `"+n.type+"` node"+r)}}function Zu(e,t){xI(e,t);let n=e.parser.tokenizer.currentCharacterToken;n&&n.location&&(n.location.endLine=e.parser.tokenizer.preprocessor.line,n.location.endCol=e.parser.tokenizer.preprocessor.col+1,n.location.endOffset=e.parser.tokenizer.preprocessor.offset+1,e.parser.currentToken=n,e.parser._processToken(e.parser.currentToken)),e.parser.tokenizer.paused=!1,e.parser.tokenizer.inLoop=!1,e.parser.tokenizer.active=!1,e.parser.tokenizer.returnState=Bt.DATA,e.parser.tokenizer.charRefCode=-1,e.parser.tokenizer.consumedAfterSnapshot=-1,e.parser.tokenizer.currentLocation=null,e.parser.tokenizer.currentCharacterToken=null,e.parser.tokenizer.currentToken=null,e.parser.tokenizer.currentAttr={name:"",value:""}}function xI(e,t){if(t&&t.offset!==void 0){let n={startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:-1,endCol:-1,endOffset:-1};e.parser.tokenizer.preprocessor.lineStartPos=-t.column+1,e.parser.tokenizer.preprocessor.droppedBufferSize=t.offset,e.parser.tokenizer.preprocessor.line=t.line,e.parser.tokenizer.currentLocation=n}}function bj(e,t){let n=e.tagName.toLowerCase();if(t.parser.tokenizer.state===Bt.PLAINTEXT)return;Zu(t,vr(e));let r=t.parser.openElements.current,i="namespaceURI"in r?r.namespaceURI:Hi.html;i===Hi.html&&n==="svg"&&(i=Hi.svg);let o=gv({...e,children:[]},{space:i===Hi.svg?"svg":"html"}),s={type:Bs.TokenType.START_TAG,tagName:n,tagID:dd.getTagID(n),selfClosing:!1,ackSelfClosing:!1,attrs:"attrs"in o?o.attrs:[],location:Pd(e)};t.parser.currentToken=s,t.parser._processToken(t.parser.currentToken),t.parser.tokenizer.lastStartTagName=n}function yj(e,t){let n=e.tagName.toLowerCase();if(!t.parser.tokenizer.inForeignNode&&Dg.includes(n)||t.parser.tokenizer.state===Bt.PLAINTEXT)return;Zu(t,Ba(e));let r={type:Bs.TokenType.END_TAG,tagName:n,tagID:dd.getTagID(n),selfClosing:!1,ackSelfClosing:!1,attrs:[],location:Pd(e)};t.parser.currentToken=r,t.parser._processToken(t.parser.currentToken),n===t.parser.tokenizer.lastStartTagName&&(t.parser.tokenizer.state===Bt.RCDATA||t.parser.tokenizer.state===Bt.RAWTEXT||t.parser.tokenizer.state===Bt.SCRIPT_DATA)&&(t.parser.tokenizer.state=Bt.DATA)}function Ej(e){let t=e.type==="root"?e.children[0]:e;return!!(t&&(t.type==="doctype"||t.type==="element"&&t.tagName.toLowerCase()==="html"))}function Pd(e){let t=vr(e)||{line:void 0,column:void 0,offset:void 0},n=Ba(e)||{line:void 0,column:void 0,offset:void 0};return{startLine:t.line,startCol:t.column,startOffset:t.offset,endLine:n.line,endCol:n.column,endOffset:n.offset}}function Tj(e){return"children"in e?Ai({...e,children:[]}):Ai(e)}function Bd(e){return function(t,n){return Ig(t,{...e,file:n})}}var Za=["ariaDescribedBy","ariaLabel","ariaLabelledBy"],yv={ancestors:{tbody:["table"],td:["table"],th:["table"],thead:["table"],tfoot:["table"],tr:["table"]},attributes:{a:[...Za,"dataFootnoteBackref","dataFootnoteRef",["className","data-footnote-backref"],"href"],blockquote:["cite"],code:[["className",/^language-./]],del:["cite"],div:["itemScope","itemType"],dl:[...Za],h2:[["className","sr-only"]],img:[...Za,"longDesc","src"],input:[["disabled",!0],["type","checkbox"]],ins:["cite"],li:[["className","task-list-item"]],ol:[...Za,["className","contains-task-list"]],q:["cite"],section:["dataFootnotes",["className","footnotes"]],source:["srcSet"],summary:[...Za],table:[...Za],ul:[...Za,["className","contains-task-list"]],"*":["abbr","accept","acceptCharset","accessKey","action","align","alt","axis","border","cellPadding","cellSpacing","char","charOff","charSet","checked","clear","colSpan","color","cols","compact","coords","dateTime","dir","encType","frame","hSpace","headers","height","hrefLang","htmlFor","id","isMap","itemProp","label","lang","maxLength","media","method","multiple","name","noHref","noShade","noWrap","open","prompt","readOnly","rev","rowSpan","rows","rules","scope","selected","shape","size","span","start","summary","tabIndex","title","useMap","vAlign","value","width"]},clobber:["ariaDescribedBy","ariaLabelledBy","id","name"],clobberPrefix:"user-content-",protocols:{cite:["http","https"],href:["http","https","irc","ircs","mailto","xmpp"],longDesc:["http","https"],src:["http","https"]},required:{input:{disabled:!0,type:"checkbox"}},strip:["script"],tagNames:["a","b","blockquote","br","code","dd","del","details","div","dl","dt","em","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","li","ol","p","picture","pre","q","rp","rt","ruby","s","samp","section","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","tr","tt","ul","var"]};var Ys={}.hasOwnProperty;function Ev(e,t){let n={type:"root",children:[]},r={schema:t?{...yv,...t}:yv,stack:[]},i=CI(r,e);return i&&(Array.isArray(i)?i.length===1?n=i[0]:n.children=i:n=i),n}function CI(e,t){if(t&&typeof t=="object"){let n=t;switch(typeof n.type=="string"?n.type:""){case"comment":return Sj(e,n);case"doctype":return vj(e,n);case"element":return xj(e,n);case"root":return Aj(e,n);case"text":return _j(e,n);default:}}}function Sj(e,t){if(e.schema.allowComments){let n=typeof t.value=="string"?t.value:"",r=n.indexOf("-->"),o={type:"comment",value:r<0?n:n.slice(0,r)};return Hd(o,t),o}}function vj(e,t){if(e.schema.allowDoctypes){let n={type:"doctype"};return Hd(n,t),n}}function xj(e,t){let n=typeof t.tagName=="string"?t.tagName:"";e.stack.push(n);let r=wI(e,t.children),i=Cj(e,t.properties);e.stack.pop();let o=!1;if(n&&n!=="*"&&(!e.schema.tagNames||e.schema.tagNames.includes(n))&&(o=!0,e.schema.ancestors&&Ys.call(e.schema.ancestors,n))){let a=e.schema.ancestors[n],l=-1;for(o=!1;++l1){let i=!1,o=0;for(;++o-1&&o>l||s>-1&&o>s||a>-1&&o>a)return!0;let u=-1;for(;++u4&&t.slice(0,4).toLowerCase()==="data")return n}function Lg(e){return function(t){return Ev(t,e)}}var Pg=function(e,t,n){let r=Ui(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++tu&&(u=c):c&&(u!==void 0&&u>-1&&l.push(` +`.repeat(u)||" "),u=-1,l.push(c))}return l.join("")}function II(e,t,n){return e.type==="element"?Lj(e,t,n):e.type==="text"?n.whitespace==="normal"?LI(e,n):Pj(e):[]}function Lj(e,t,n){let r=PI(e,n),i=e.children||[],o=-1,s=[];if(Ij(e))return s;let a,l;for(Sv(e)||OI(e)&&Pg(t,e,OI)?l=` +`:Dj(e)?(a=2,l=2):DI(e)&&(a=1,l=1);++o]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},h=t.optional(i)+e.IDENT_RE+"\\s*\\(",p=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],b=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],g=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],S={type:b,keyword:p,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},x={className:"function.dispatch",relevance:0,keywords:{_hint:g},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},v=[x,f,a,n,e.C_BLOCK_COMMENT_MODE,c,u],N={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:S,contains:v.concat([{begin:/\(/,end:/\)/,keywords:S,contains:v.concat(["self"]),relevance:0}]),relevance:0},D={className:"function",begin:"("+s+"[\\*&\\s]+)+"+h,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:S,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:S,relevance:0},{begin:h,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,c]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,c,a,{begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,c,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:S,illegal:"",keywords:S,contains:["self",a]},{begin:e.IDENT_RE+"::",keywords:S},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function BI(e){let t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=Uj(e),r=n.keywords;return r.type=[...r.type,...t.type],r.literal=[...r.literal,...t.literal],r.built_in=[...r.built_in,...t.built_in],r._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function HI(e){let t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});let i={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},o=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(a);let l={match:/\\"/},u={className:"string",begin:/'/,end:/'/},c={match:/\\'/},f={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},d=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],h=e.SHEBANG({binary:`(${d.join("|")})`,relevance:10}),p={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},b=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],y=["true","false"],g={match:/(\/[a-z._-]+)+/},E=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],T=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],S=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],x=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:b,literal:y,built_in:[...E,...T,"set","shopt",...S,...x]},contains:[h,e.SHEBANG(),p,f,o,s,g,a,l,u,c,n]}}function FI(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="("+r+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",a={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},h=t.optional(i)+e.IDENT_RE+"\\s*\\(",y={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},g=[f,a,n,e.C_BLOCK_COMMENT_MODE,c,u],E={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:y,contains:g.concat([{begin:/\(/,end:/\)/,keywords:y,contains:g.concat(["self"]),relevance:0}]),relevance:0},T={begin:"("+s+"[\\*&\\s]+)+"+h,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:y,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:y,relevance:0},{begin:h,returnBegin:!0,contains:[e.inherit(d,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,c,a,{begin:/\(/,end:/\)/,keywords:y,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,c,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C",aliases:["h"],keywords:y,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:f,strings:u,keywords:y}}}function zI(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",s="(?!struct)("+r+"|"+t.optional(i)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},c={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},f={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},d={className:"title",begin:t.optional(i)+e.IDENT_RE,relevance:0},h=t.optional(i)+e.IDENT_RE+"\\s*\\(",p=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],b=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],y=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],g=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],S={type:b,keyword:p,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:y},x={className:"function.dispatch",relevance:0,keywords:{_hint:g},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},v=[x,f,a,n,e.C_BLOCK_COMMENT_MODE,c,u],N={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:S,contains:v.concat([{begin:/\(/,end:/\)/,keywords:S,contains:v.concat(["self"]),relevance:0}]),relevance:0},D={className:"function",begin:"("+s+"[\\*&\\s]+)+"+h,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:S,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:S,relevance:0},{begin:h,returnBegin:!0,contains:[d],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,c]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,u,c,a,{begin:/\(/,end:/\)/,keywords:S,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,u,c,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,f]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:S,illegal:"",keywords:S,contains:["self",a]},{begin:e.IDENT_RE+"::",keywords:S},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function UI(e){let t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],r=["default","false","null","true"],i=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],o=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],s={keyword:i.concat(o),built_in:t,literal:r},a=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},u={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},c={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},f=e.inherit(c,{illegal:/\n/}),d={className:"subst",begin:/\{/,end:/\}/,keywords:s},h=e.inherit(d,{illegal:/\n/}),p={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,h]},b={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},d]},y=e.inherit(b,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},h]});d.contains=[b,p,c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.C_BLOCK_COMMENT_MODE],h.contains=[y,p,f,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let g={variants:[u,b,p,c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},a]},T=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",S={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},g,l,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+T+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[g,l,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},S]}}var qj=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),Vj=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Gj=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Kj=[...Vj,...Gj],Yj=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Wj=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),$j=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),jj=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function qI(e){let t=e.regex,n=qj(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},i="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Wj.join("|")+")"},{begin:":(:)?("+$j.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+jj.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:i,attribute:Yj.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Kj.join("|")+")\\b"}]}}function VI(e){let t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function GI(e){let o={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:o,illegal:"$I(e,t,n-1))}function jI(e){let t=e.regex,n="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",r=n+$I("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),l={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},u={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},c={className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:l,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[c,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:l,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[u,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,WI,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},WI,u]}}var XI="[A-Za-z$_][0-9A-Za-z$_]*",Xj=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Qj=["true","false","null","undefined","NaN","Infinity"],QI=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ZI=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],JI=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Zj=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Jj=[].concat(JI,QI,ZI);function eL(e){let t=e.regex,n=(I,{after:z})=>{let _="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,z)=>{let _=I[0].length+I.index,oe=I.input[_];if(oe==="<"||oe===","){z.ignoreMatch();return}oe===">"&&(n(I,{after:_})||z.ignoreMatch());let re,C=I.input.substring(_);if(re=C.match(/^\s*=/)){z.ignoreMatch();return}if((re=C.match(/^\s+extends\s+/))&&re.index===0){z.ignoreMatch();return}}},a={$pattern:XI,keyword:Xj,literal:Qj,built_in:Jj,"variable.language":Zj},l="[0-9](_?[0-9])*",u=`\\.(${l})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${c})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${c})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},d={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"xml"}},p={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,d]},E={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,b,y,{match:/\$\d+/},f];d.contains=T.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(T)});let S=[].concat(E,d.contains),x=S.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(S)}]),v={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:x},N={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},D={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...QI,...ZI]}},k={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[v],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function G(I){return t.concat("(?!",I.join("|"),")")}let U={match:t.concat(/\b/,G([...JI,"super","import"].map(I=>`${I}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},B={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},L={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},v]},O="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(O)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[v]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:x,CLASS_REFERENCE:D},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),k,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,b,y,E,{match:/\$\d+/},f,D,{scope:"attr",match:r+t.lookahead(":"),relevance:0},F,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,e.REGEXP_MODE,{className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:x}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[v,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},B,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[v]},U,P,N,L,{match:/\$[(.]/}]}}function tL(e){let t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],i={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var ec="[0-9](_*[0-9])*",Fg=`\\.(${ec})`,zg="[0-9a-fA-F](_*[0-9a-fA-F])*",eX={className:"number",variants:[{begin:`(\\b(${ec})((${Fg})|\\.)?|(${Fg}))[eE][+-]?(${ec})[fFdD]?\\b`},{begin:`\\b(${ec})((${Fg})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Fg})[fFdD]?\\b`},{begin:`\\b(${ec})[fFdD]\\b`},{begin:`\\b0[xX]((${zg})\\.?|(${zg})?\\.(${zg}))[pP][+-]?(${ec})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${zg})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function nL(e){let t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,o,i]}]};i.contains.push(s);let a={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(s,{className:"string"}),"self"]}]},u=eX,c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),f={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=f;return d.variants[1].contains=[f],f.variants[1].contains=[d],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,n,r,a,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[f,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,a,l,s,e.C_NUMBER_MODE]},c]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},a,l]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`},u]}}var tX=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),nX=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],rX=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],iX=[...nX,...rX],oX=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),rL=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),iL=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),sX=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),aX=rL.concat(iL).sort().reverse();function oL(e){let t=tX(e),n=aX,r="and or not only",i="[\\w-]+",o="("+i+"|@\\{"+i+"\\})",s=[],a=[],l=function(T){return{className:"string",begin:"~?"+T+".*?"+T}},u=function(T,S,x){return{className:T,begin:S,relevance:x}},c={$pattern:/[a-z-]+/,keyword:r,attribute:oX.join(" ")},f={begin:"\\(",end:"\\)",contains:a,keywords:c,relevance:0};a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l("'"),l('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,f,u("variable","@@?"+i,10),u("variable","@\\{"+i+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:i+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);let d=a.concat({begin:/\{/,end:/\}/,contains:s}),h={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},p={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+sX.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},b={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:c,returnEnd:!0,contains:a,relevance:0}},y={className:"variable",variants:[{begin:"@"+i+"\\s*:",relevance:15},{begin:"@"+i}],starts:{end:"[;}]",returnEnd:!0,contains:d}},g={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,h,u("keyword","all\\b"),u("variable","@\\{"+i+"\\}"),{begin:"\\b("+iX.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,u("selector-tag",o,0),u("selector-id","#"+o),u("selector-class","\\."+o,0),u("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+rL.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+iL.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:d},{begin:"!important"},t.FUNCTION_DISPATCH]},E={begin:i+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[g]};return s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,b,y,E,p,g,h,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}function sL(e){let t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},i=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}}function aL(e){let t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},i={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},o={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},s={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},u={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},c={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},f=e.inherit(u,{contains:[]}),d=e.inherit(c,{contains:[]});u.contains.push(d),c.contains.push(f);let h=[n,l];return[u,c,f,d].forEach(g=>{g.contains=g.contains.concat(h)}),h=h.concat(u,c),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:h},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:h}]}]},n,o,u,c,{className:"quote",begin:"^>\\s+",contains:h,end:"$"},i,r,l,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function uL(e){let t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},l={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+l.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:l,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function cL(e){let t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],r=/[dualxmsipngr]{0,12}/,i={$pattern:/[\w.]+/,keyword:n.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:i},s={begin:/->\{/,end:/\}/},a={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},l={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[a]},u={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},c=[e.BACKSLASH_ESCAPE,o,l],f=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],d=(b,y,g="\\1")=>{let E=g==="\\1"?g:t.concat(g,y);return t.concat(t.concat("(?:",b,")"),y,/(?:\\.|[^\\\/])*?/,E,/(?:\\.|[^\\\/])*?/,g,r)},h=(b,y,g)=>t.concat(t.concat("(?:",b,")"),y,/(?:\\.|[^\\\/])*?/,g,r),p=[l,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:c,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:d("s|tr|y",t.either(...f,{capture:!0}))},{begin:d("s|tr|y","\\(","\\)")},{begin:d("s|tr|y","\\[","\\]")},{begin:d("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:h("(?:m|qr)?",/\//,/\//)},{begin:h("m|qr",t.either(...f,{capture:!0}),/\1/)},{begin:h("m|qr",/\(/,/\)/)},{begin:h("m|qr",/\[/,/\]/)},{begin:h("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,a]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,a,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=p,s.contains=p,{name:"Perl",aliases:["pl","pm"],keywords:i,contains:p}}function fL(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),i=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),o=t.concat(/[A-Z]+/,n),s={scope:"variable",match:"\\$+"+r},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=e.inherit(e.APOS_STRING_MODE,{illegal:null}),c=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),f={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(B,L)=>{L.data._beginMatch=B[1]||B[2]},"on:end":(B,L)=>{L.data._beginMatch!==B[1]&&L.ignoreMatch()}},d=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),h=`[ +]`,p={scope:"string",variants:[c,u,f,d]},b={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},y=["false","null","true"],g=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],E=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],S={keyword:g,literal:(B=>{let L=[];return B.forEach(O=>{L.push(O),O.toLowerCase()===O?L.push(O.toUpperCase()):L.push(O.toLowerCase())}),L})(y),built_in:E},x=B=>B.map(L=>L.replace(/\|\d+$/,"")),v={variants:[{match:[/new/,t.concat(h,"+"),t.concat("(?!",x(E).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},N=t.concat(r,"\\b(?!\\()"),D={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),N],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,t.concat(/::/,t.lookahead(/(?!class\b)/)),N],scope:{1:"title.class",3:"variable.constant"}},{match:[i,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},k={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},A={relevance:0,begin:/\(/,end:/\)/,keywords:S,contains:[k,s,D,e.C_BLOCK_COMMENT_MODE,p,b,v]},P={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",x(g).join("\\b|"),"|",x(E).join("\\b|"),"\\b)"),r,t.concat(h,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[A]};A.contains.push(P);let G=[k,D,e.C_BLOCK_COMMENT_MODE,p,b,v],U={begin:t.concat(/#\[\s*\\?/,t.either(i,o)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:y,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:y,keyword:["new","array"]},contains:["self",...G]},...G,{scope:"meta",variants:[{match:i},{match:o}]}]};return{case_insensitive:!1,keywords:S,contains:[U,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,P,D,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},v,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:S,contains:["self",U,s,D,e.C_BLOCK_COMMENT_MODE,p,b]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},p,b]}}function dL(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function hL(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function pL(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},c={begin:/\{\{/,relevance:0},f={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,c,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,c,u]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,c,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,c,u]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},d="[0-9](_?[0-9])*",h=`(\\b(${d}))?\\.(${d})|\\b(${d})\\.`,p=`\\b|${r.join("|")}`,b={className:"number",relevance:0,variants:[{begin:`(\\b(${d})|(${h}))[eE][+-]?(${d})[jJ]?(?=${p})`},{begin:`(${h})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${p})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${p})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${p})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${p})`},{begin:`\\b(${d})[jJ](?=${p})`}]},y={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},g={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",l,b,f,e.HASH_COMMENT_MODE]}]};return u.contains=[f,b,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[l,b,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},f,y,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[g]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[b,g,f]}]}}function mL(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function gL(e){let t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,r=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,r]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,r]},{scope:{1:"punctuation",2:"number"},match:[o,r]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,r]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function bL(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=t.concat(r,/(::\w+)*/),s={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},a={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},u=[e.COMMENT("#","$",{contains:[a]}),e.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],c={className:"subst",begin:/#\{/,end:/\}/,keywords:s},f={className:"string",contains:[e.BACKSLASH_ESCAPE,c],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,c]})]}]},d="[1-9](_?[0-9])*|0",h="[0-9](_?[0-9])*",p={className:"number",relevance:0,variants:[{begin:`\\b(${d})(\\.(${h}))?([eE][+-]?(${h})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},b={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},v=[f,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:s},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[b]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[f,{begin:n}],relevance:0},p,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,c],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,u),relevance:0}].concat(l,u);c.contains=v,b.contains=v;let A=[{begin:/^\s*=>/,starts:{end:"$",contains:v}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:v}}];return u.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(A).concat(u).concat(v)}}function yL(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),i=t.concat(n,e.IDENT_RE),o={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,i,t.lookahead(/\s*\(/))},s="([ui](8|16|32|64|128|size)|f(32|64))?",a=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],l=["true","false","Some","None","Ok","Err"],u=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],c=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:c,keyword:a,literal:l,built_in:u},illegal:""},o]}}var lX=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),uX=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],cX=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],fX=[...uX,...cX],dX=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),hX=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),pX=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),mX=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function EL(e){let t=lX(e),n=pX,r=hX,i="@[a-z-]+",o="and or not only",a={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+fX.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+r.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+mX.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,a,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:dX.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function TL(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function SL(e){let t=e.regex,n=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},i={begin:/"/,end:/"/,contains:[{match:/""/}]},o=["true","false","unknown"],s=["double precision","large object","with timezone","without timezone"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["add","asc","collation","desc","final","first","last","view"],u=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],c=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],f=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],d=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],h=c,p=[...u,...l].filter(x=>!c.includes(x)),b={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},y={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},g={match:t.concat(/\b/,t.either(...h),/\s*\(/),relevance:0,keywords:{built_in:h}};function E(x){return t.concat(/\b/,t.either(...x.map(v=>v.replace(/\s+/,"\\s+"))),/\b/)}let T={scope:"keyword",match:E(d),relevance:0};function S(x,{exceptions:v,when:N}={}){let D=N;return v=v||[],x.map(k=>k.match(/\|\d+$/)||v.includes(k)?k:D(k)?`${k}|0`:k)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:S(p,{when:x=>x.length<3}),literal:o,type:a,built_in:f},contains:[{scope:"type",match:E(s)},T,g,b,r,i,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,y]}}function _L(e){return e?typeof e=="string"?e:e.source:null}function Fd(e){return bt("(?=",e,")")}function bt(...e){return e.map(n=>_L(n)).join("")}function gX(e){let t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ir(...e){return"("+(gX(e).capture?"":"?:")+e.map(r=>_L(r)).join("|")+")"}var _v=e=>bt(/\b/,e,/\w$/.test(e)?/\b/:/\B/),bX=["Protocol","Type"].map(_v),vL=["init","self"].map(_v),yX=["Any","Self"],xv=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],xL=["false","nil","true"],EX=["assignment","associativity","higherThan","left","lowerThan","none","right"],TX=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],AL=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],CL=ir(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),wL=ir(CL,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Av=bt(CL,wL,"*"),NL=ir(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),qg=ir(NL,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Ki=bt(NL,qg,"*"),Ug=bt(/[A-Z]/,qg,"*"),SX=["attached","autoclosure",bt(/convention\(/,ir("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",bt(/objc\(/,Ki,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],vX=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function RL(e){let t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],i={match:[/\./,ir(...bX,...vL)],className:{2:"keyword"}},o={match:bt(/\./,ir(...xv)),relevance:0},s=xv.filter(ue=>typeof ue=="string").concat(["_|0"]),a=xv.filter(ue=>typeof ue!="string").concat(yX).map(_v),l={variants:[{className:"keyword",match:ir(...a,...vL)}]},u={$pattern:ir(/\b\w+/,/#\w+/),keyword:s.concat(TX),literal:xL},c=[i,o,l],f={match:bt(/\./,ir(...AL)),relevance:0},d={className:"built_in",match:bt(/\b/,ir(...AL),/(?=\()/)},h=[f,d],p={match:/->/,relevance:0},b={className:"operator",relevance:0,variants:[{match:Av},{match:`\\.(\\.|${wL})+`}]},y=[p,b],g="([0-9]_*)+",E="([0-9a-fA-F]_*)+",T={className:"number",relevance:0,variants:[{match:`\\b(${g})(\\.(${g}))?([eE][+-]?(${g}))?\\b`},{match:`\\b0x(${E})(\\.(${E}))?([pP][+-]?(${g}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},S=(ue="")=>({className:"subst",variants:[{match:bt(/\\/,ue,/[0\\tnr"']/)},{match:bt(/\\/,ue,/u\{[0-9a-fA-F]{1,8}\}/)}]}),x=(ue="")=>({className:"subst",match:bt(/\\/,ue,/[\t ]*(?:[\r\n]|\r\n)/)}),v=(ue="")=>({className:"subst",label:"interpol",begin:bt(/\\/,ue,/\(/),end:/\)/}),N=(ue="")=>({begin:bt(ue,/"""/),end:bt(/"""/,ue),contains:[S(ue),x(ue),v(ue)]}),D=(ue="")=>({begin:bt(ue,/"/),end:bt(/"/,ue),contains:[S(ue),v(ue)]}),k={className:"string",variants:[N(),N("#"),N("##"),N("###"),D(),D("#"),D("##"),D("###")]},A=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],P={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:A},G=ue=>{let Se=bt(ue,/\//),$=bt(/\//,ue);return{begin:Se,end:$,contains:[...A,{scope:"comment",begin:`#(?!.*${$})`,end:/$/}]}},U={scope:"regexp",variants:[G("###"),G("##"),G("#"),P]},B={match:bt(/`/,Ki,/`/)},L={className:"variable",match:/\$\d+/},O={className:"variable",match:`\\$${qg}+`},F=[B,L,O],I={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:vX,contains:[...y,T,k]}]}},z={scope:"keyword",match:bt(/@/,ir(...SX),Fd(ir(/\(/,/\s+/)))},_={scope:"meta",match:bt(/@/,Ki)},oe=[I,z,_],re={match:Fd(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:bt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,qg,"+")},{className:"type",match:Ug,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:bt(/\s+&\s+/,Fd(Ug)),relevance:0}]},C={begin://,keywords:u,contains:[...r,...c,...oe,p,re]};re.contains.push(C);let se={match:bt(Ki,/\s*:/),keywords:"_|0",relevance:0},fe={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",se,...r,U,...c,...h,...y,T,k,...F,...oe,re]},ge={begin://,keywords:"repeat each",contains:[...r,re]},De={begin:ir(Fd(bt(Ki,/\s*:/)),Fd(bt(Ki,/\s+/,Ki,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Ki}]},Ee={begin:/\(/,end:/\)/,keywords:u,contains:[De,...r,...c,...y,T,k,...oe,re,fe],endsParent:!0,illegal:/["']/},Ve={match:[/(func|macro)/,/\s+/,ir(B.match,Ki,Av)],className:{1:"keyword",3:"title.function"},contains:[ge,Ee,t],illegal:[/\[/,/%/]},Pe={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ge,Ee,t],illegal:/\[|%/},Re={match:[/operator/,/\s+/,Av],className:{1:"keyword",3:"title"}},Te={begin:[/precedencegroup/,/\s+/,Ug],className:{1:"keyword",3:"title"},contains:[re],keywords:[...EX,...xL],end:/}/},Ae={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},le={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},ye={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Ki,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[ge,...c,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:Ug},...c],relevance:0}]};for(let ue of k.variants){let Se=ue.contains.find(tt=>tt.label==="interpol");Se.keywords=u;let $=[...c,...h,...y,T,k,...F];Se.contains=[...$,{begin:/\(/,end:/\)/,contains:["self",...$]}]}return{name:"Swift",keywords:u,contains:[...r,Ve,Pe,Ae,le,ye,Re,Te,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},U,...c,...h,...y,T,k,...F,...oe,re,fe]}}var Vg="[A-Za-z$_][0-9A-Za-z$_]*",kL=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],ML=["true","false","null","undefined","NaN","Infinity"],OL=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],DL=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],IL=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],LL=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],PL=[].concat(IL,OL,DL);function xX(e){let t=e.regex,n=(I,{after:z})=>{let _="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(I,z)=>{let _=I[0].length+I.index,oe=I.input[_];if(oe==="<"||oe===","){z.ignoreMatch();return}oe===">"&&(n(I,{after:_})||z.ignoreMatch());let re,C=I.input.substring(_);if(re=C.match(/^\s*=/)){z.ignoreMatch();return}if((re=C.match(/^\s+extends\s+/))&&re.index===0){z.ignoreMatch();return}}},a={$pattern:Vg,keyword:kL,literal:ML,built_in:PL,"variable.language":LL},l="[0-9](_?[0-9])*",u=`\\.(${l})`,c="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${c})((${u})|\\.)?|(${u}))[eE][+-]?(${l})\\b`},{begin:`\\b(${c})\\b((${u})\\b|\\.)?|(${u})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},d={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},h={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"xml"}},p={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"css"}},b={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,d],subLanguage:"graphql"}},y={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,d]},E={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,b,y,{match:/\$\d+/},f];d.contains=T.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(T)});let S=[].concat(E,d.contains),x=S.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(S)}]),v={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:x},N={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},D={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...OL,...DL]}},k={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[v],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function G(I){return t.concat("(?!",I.join("|"),")")}let U={match:t.concat(/\b/,G([...IL,"super","import"].map(I=>`${I}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},B={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},L={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},v]},O="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",F={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(O)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[v]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:x,CLASS_REFERENCE:D},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),k,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,b,y,E,{match:/\$\d+/},f,D,{scope:"attr",match:r+t.lookahead(":"),relevance:0},F,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,e.REGEXP_MODE,{className:"function",begin:O,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:x}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:o},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},A,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[v,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},B,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[v]},U,P,N,L,{match:/\$[(.]/}]}}function BL(e){let t=e.regex,n=xX(e),r=Vg,i=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:i},contains:[n.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:Vg,keyword:kL.concat(l),literal:ML,built_in:PL.concat(i),"variable.language":LL},c={className:"meta",begin:"@"+r},f=(b,y,g)=>{let E=b.contains.findIndex(T=>T.label===y);if(E===-1)throw new Error("can not find mode to replace");b.contains.splice(E,1,g)};Object.assign(n.keywords,u),n.exports.PARAMS_CONTAINS.push(c);let d=n.contains.find(b=>b.scope==="attr"),h=Object.assign({},d,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,d,h]),n.contains=n.contains.concat([c,o,s,h]),f(n,"shebang",e.SHEBANG()),f(n,"use_strict",a);let p=n.contains.find(b=>b.label==="func.def");return p.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function HL(e){let t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},r={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},i=/\d{1,2}\/\d{1,2}\/\d{4}/,o=/\d{4}-\d{1,2}-\d{1,2}/,s=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,a=/\d{1,2}(:\d{1,2}){1,2}/,l={className:"literal",variants:[{begin:t.concat(/# */,t.either(o,i),/ *#/)},{begin:t.concat(/# */,a,/ *#/)},{begin:t.concat(/# */,s,/ *#/)},{begin:t.concat(/# */,t.either(o,i),/ +/,t.either(s,a),/ *#/)}]},u={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},c={className:"label",begin:/^\w+:/},f=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),d=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,r,l,u,c,f,d,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[d]}]}}function FL(e){e.regex;let t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");let n=e.COMMENT(/;;/,/$/),r=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],i={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},o={className:"variable",begin:/\$[\w_]+/},s={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},a={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},l={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},u={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:r},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},o,s,i,e.QUOTE_STRING_MODE,l,u,a]}}function zL(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},o={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=e.inherit(o,{begin:/\(/,end:/\)/}),a=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),u={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:[o,l,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[o,s,l,a]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[u],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[u],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:u}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function UL(e){let t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},o={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},s={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,i]},a=e.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),d={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},h={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},p={begin:/\{/,end:/\}/,contains:[h],illegal:"\\n",relevance:0},b={begin:"\\[",end:"\\]",contains:[h],illegal:"\\n",relevance:0},y=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},d,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},p,b,o,s],g=[...y];return g.pop(),g.push(a),h.contains=g,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:y}}var Cv={arduino:BI,bash:HI,c:FI,cpp:zI,csharp:UI,css:qI,diff:VI,go:GI,graphql:KI,ini:YI,java:jI,javascript:eL,json:tL,kotlin:nL,less:oL,lua:sL,makefile:aL,markdown:lL,objectivec:uL,perl:cL,php:fL,"php-template":dL,plaintext:hL,python:pL,"python-repl":mL,r:gL,ruby:bL,rust:yL,scss:EL,shell:TL,sql:SL,swift:RL,typescript:BL,vbnet:HL,wasm:FL,xml:zL,yaml:UL};var l3=q(a3(),1);var u3=l3.default;var c3={},hQ="hljs-";function Pv(e){let t=u3.newInstance();return e&&o(e),{highlight:n,highlightAuto:r,listLanguages:i,register:o,registerAlias:s,registered:a};function n(l,u,c){let f=c||c3,d=typeof f.prefix=="string"?f.prefix:hQ;if(!t.getLanguage(l))throw new Error("Unknown language: `"+l+"` is not registered");t.configure({__emitter:Lv,classPrefix:d});let h=t.highlight(u,{ignoreIllegals:!0,language:l});if(h.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:h.errorRaised});let p=h._emitter.root,b=p.data;return b.language=h.language,b.relevance=h.relevance,p}function r(l,u){let f=(u||c3).subset||i(),d=-1,h=0,p;for(;++dh&&(h=y.data.relevance,p=y)}return p||{type:"root",children:[],data:{language:void 0,relevance:h}}}function i(){return t.listLanguages()}function o(l,u){if(typeof l=="string")t.registerLanguage(l,u);else{let c;for(c in l)Object.hasOwn(l,c)&&t.registerLanguage(c,l[c])}}function s(l,u){if(typeof l=="string")t.registerAliases(typeof u=="string"?u:[...u],{languageName:l});else{let c;for(c in l)if(Object.hasOwn(l,c)){let f=l[c];t.registerAliases(typeof f=="string"?f:[...f],{languageName:c})}}}function a(l){return!!t.getLanguage(l)}}var Lv=class{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;let n=this.stack[this.stack.length-1],r=n.children[n.children.length-1];r&&r.type==="text"?r.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){let r=this.stack[this.stack.length-1],i=t.root.children;n?r.children.push({type:"element",tagName:"span",properties:{className:[n]},children:i}):r.children.push(...i)}openNode(t){let n=this,r=t.split(".").map(function(s,a){return a?s+"_".repeat(a):n.options.classPrefix+s}),i=this.stack[this.stack.length-1],o={type:"element",tagName:"span",properties:{className:r},children:[]};i.children.push(o),this.stack.push(o)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}};var pQ={};function $g(e){let t=e||pQ,n=t.aliases,r=t.detect||!1,i=t.languages||Cv,o=t.plainText,s=t.prefix,a=t.subset,l="hljs",u=Pv(i);if(n&&u.registerAlias(n),s){let c=s.indexOf("-");l=c===-1?s:s.slice(0,c)}return function(c,f){Qe(c,"element",function(d,h,p){if(d.tagName!=="code"||!p||p.type!=="element"||p.tagName!=="pre")return;let b=mQ(d);if(b===!1||!b&&!r||b&&o&&o.includes(b))return;Array.isArray(d.properties.className)||(d.properties.className=[]),d.properties.className.includes(l)||d.properties.className.unshift(l);let y=vv(d,{whitespace:"pre"}),g;try{g=b?u.highlight(b,y,{prefix:s}):u.highlightAuto(y,{prefix:s,subset:a})}catch(E){let T=E;if(b&&/Unknown language/.test(T.message)){f.message("Cannot highlight as `"+b+"`, it\u2019s not registered",{ancestors:[p,d],cause:T,place:d.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw T}!b&&g.data&&g.data.language&&d.properties.className.push("language-"+g.data.language),g.children.length>0&&(d.children=g.children)})}}function mQ(e){let t=e.properties.className,n=-1;if(!Array.isArray(t))return;let r;for(;++ne=>{Qe(e,"element",t=>{let n=t.properties;if(!n||!(ig(n.className)||"dataSuggestion"in n))return;let i=typeof n.dataSuggestion=="string"&&n.dataSuggestion||Cd(t.children);"tabIndex"in n||(n.tabIndex=0),"role"in n||(n.role="button"),!("ariaLabel"in n)&&i&&(n.ariaLabel=`Use chat suggestion: ${i}`)})};var f3=()=>e=>{Qe(e,"html",(t,n,r)=>{if(!r||n===void 0)return;let i={type:"text",value:t.value};return r.children.splice(n,1,i),[nr,n]})};var Yi={"data-shinychat-link":"",target:"_blank",rel:"noopener noreferrer"},Hv=()=>e=>{Qe(e,"element",t=>{if(t.tagName!=="a")return;let n=t.properties?.href;typeof n=="string"&&(n.startsWith("#")||/^[a-z][a-z0-9+.-]*:/i.test(n)&&!/^https?:/i.test(n)||(t.properties={...t.properties,dataShinychatLink:Yi["data-shinychat-link"],target:Yi.target,rel:Yi.rel}))})};var Fv=()=>e=>{Qe(e,"element",t=>{let n=t.properties;n&&(t.tagName==="input"||t.tagName==="textarea")&&("value"in n&&(n.defaultValue=n.value,delete n.value),"checked"in n&&(n.defaultChecked=n.checked,delete n.checked))})};var gQ=/["&'<>`]/g,bQ=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,yQ=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,EQ=/[|\\{}()[\]^$+*?.]/g,d3=new WeakMap;function h3(e,t){if(e=e.replace(t.subset?TQ(t.subset):gQ,r),t.subset||t.escapeOnly)return e;return e.replace(bQ,n).replace(yQ,r);function n(i,o,s){return t.format((i.charCodeAt(0)-55296)*1024+i.charCodeAt(1)-56320+65536,s.charCodeAt(o+2),t)}function r(i,o,s){return t.format(i.charCodeAt(0),s.charCodeAt(o+1),t)}}function TQ(e){let t=d3.get(e);return t||(t=SQ(e),d3.set(e,t)),t}function SQ(e){let t=[],n=-1;for(;++n",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",circ:"\u02C6",tilde:"\u02DC",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",permil:"\u2030",lsaquo:"\u2039",rsaquo:"\u203A",euro:"\u20AC"};var b3=["cent","copy","divide","gt","lt","not","para","times"];var y3={}.hasOwnProperty,zv={},Xg;for(Xg in jg)y3.call(jg,Xg)&&(zv[jg[Xg]]=Xg);var AQ=/[^\dA-Za-z]/;function E3(e,t,n,r){let i=String.fromCharCode(e);if(y3.call(zv,i)){let o=zv[i],s="&"+o;return n&&g3.includes(o)&&!b3.includes(o)&&(!r||t&&t!==61&&AQ.test(String.fromCharCode(t)))?s:s+";"}return""}function T3(e,t,n){let r=p3(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=E3(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let o=m3(e,t,n.omitOptionalSemicolons);o.length|^->||--!>|"],wQ=["<",">"];function S3(e,t,n,r){return r.settings.bogusComments?"":"";function i(o){return Po(o,Object.assign({},r.settings.characterReferences,{subset:wQ}))}}function v3(e,t,n,r){return""}var jt=x3(1),Uv=x3(-1),NQ=[];function x3(e){return t;function t(n,r,i){let o=n?n.children:NQ,s=(r||0)+e,a=o[s];if(!i)for(;a&&ko(a);)s+=e,a=o[s];return a}}var RQ={}.hasOwnProperty;function Qg(e){return t;function t(n,r,i){return RQ.call(e,n.tagName)&&e[n.tagName](n,r,i)}}var Vd=Qg({body:MQ,caption:qv,colgroup:qv,dd:LQ,dt:IQ,head:qv,html:kQ,li:DQ,optgroup:PQ,option:BQ,p:OQ,rp:A3,rt:A3,tbody:FQ,td:_3,tfoot:zQ,th:_3,thead:HQ,tr:UQ});function qv(e,t,n){let r=jt(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&ko(r.value.charAt(0)))}function kQ(e,t,n){let r=jt(n,t);return!r||r.type!=="comment"}function MQ(e,t,n){let r=jt(n,t);return!r||r.type!=="comment"}function OQ(e,t,n){let r=jt(n,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function DQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&r.tagName==="li"}function IQ(e,t,n){let r=jt(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function LQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function A3(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function PQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function BQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function HQ(e,t,n){let r=jt(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function FQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function zQ(e,t,n){return!jt(n,t)}function UQ(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function _3(e,t,n){let r=jt(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}var C3=Qg({body:GQ,colgroup:KQ,head:VQ,html:qQ,tbody:YQ});function qQ(e){let t=jt(e,-1);return!t||t.type!=="comment"}function VQ(e){let t=new Set;for(let r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}let n=e.children[0];return!n||n.type==="element"}function GQ(e){let t=jt(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&ko(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function KQ(e,t,n){let r=Uv(n,t),i=jt(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&Vd(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="col")}function YQ(e,t,n){let r=Uv(n,t),i=jt(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Vd(r,n.children.indexOf(r),n)?!1:!!(i&&i.type==="element"&&i.tagName==="tr")}var Zg={name:[[` \f\r &/=>`.split(""),` \f\r "&'/=>\``.split("")],[`\0 \f\r "&'/<=>`.split(""),`\0 @@ -79,34 +79,34 @@ https://github.com/highlightjs/highlight.js/issues/2277`),_=I,U=F),P===void 0&&( \f\r &>`.split(""),`\0 \f\r "&'<=>\``.split("")],[`\0 \f\r "&'<=>\``.split(""),`\0 -\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function v3(e,t,n,r){let i=r.schema,o=i.space==="svg"?!1:r.settings.omitOptionalTags,s=i.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),a=[],l;i.space==="html"&&e.tagName==="svg"&&(r.schema=Un);let u=UQ(r,e.properties),c=r.all(i.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=i,c&&(s=!1),(u||!o||!x3(e,t,n))&&(a.push("<",e.tagName,u?" "+u:""),s&&(i.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&a.push(" "),a.push("/")),a.push(">")),a.push(c),!s&&(!o||!Ud(e,t,n))&&a.push(""),a.join("")}function UQ(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let o=qQ(e,i,t[i]);o&&n.push(o)}}for(;++rVu(n,e.alternative)&&(s=e.alternative),a=s+Po(n,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Xg.single:Xg.double)[i][o],attribute:!0}))+s),l+(a&&"="+a))}var VQ=["<","&"];function Qg(e,t,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:Po(e.value,Object.assign({},r.settings.characterReferences,{subset:VQ}))}function A3(e,t,n,r){return r.settings.allowDangerousHtml?e.value:Qg(e,t,n,r)}function _3(e,t,n,r){return r.all(e)}var C3=Gu("type",{invalid:GQ,unknown:KQ,handlers:{comment:b3,doctype:y3,element:v3,raw:A3,root:_3,text:Qg}});function GQ(e){throw new Error("Expected node, not `"+e+"`")}function KQ(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var YQ={},WQ={},$Q=[];function el(e,t){let n=t||YQ,r=n.quote||'"',i=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:jQ,all:XQ,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Mg,characterReferences:n.characterReferences||WQ,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?Un:Ei,quote:r,alternative:i}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function jQ(e,t,n){return C3(e,t,n,this)}function XQ(e){let t=[],n=e&&e.children||$Q,r=-1;for(;++r[t,{start:`"}])))}var R3=()=>e=>{Qe(e,t=>{og(t)&&(t.value=JQ(t.value))})};function k3(e){Qe(e,"element",(t,n,r)=>{if(t.tagName!=="template")return;let i=t.properties?.[w3];if(typeof i!="string"||!QQ.has(i)){t.content&&k3(t.content);return}if(!r||n===void 0)return;let{[w3]:o,...s}=t.properties,a={type:"element",tagName:i,properties:s,children:(t.content?.children??[]).filter(sg)};return r.children.splice(n,1,{type:"text",value:el(a)}),[nr,n]})}var M3=()=>k3;var eZ=new Set(["shiny-tool-request","shiny-tool-result","shiny-web-search","shiny-web-search-results","shiny-web-fetch"]);function tZ(e){return e.type==="element"&&eZ.has(e.tagName)}function O3(e){return e.some(t=>t.type==="text"?t.value.trim().length>0:!0)}function D3(e){Qe(e,"element",(t,n,r)=>{if(t.tagName!=="p"||!r||n===void 0)return;let i=t.children.findIndex(tZ);if(i===-1)return;let o=t.children.slice(0,i),s=t.children[i],a=t.children.slice(i+1),l=[];if(o.length>0&&O3(o)&&l.push({...t,children:o}),l.push(s),a.length>0&&O3(a)){let c={type:"root",children:[{...t,children:a}]};D3(c),l.push(...c.children)}return r.children.splice(n,1,...l),[nr,n]})}var I3=()=>D3;var zx=()=>nZ;function nZ(e){L3(e)}function L3(e){let t=e.children,n=null,r=0;for(;r0?t:null}function P3(e){return e.type==="element"&&e.tagName==="p"}function B3(e){return e.type==="element"&&e.tagName==="shiny-aside"}function H3(e){return e.type==="text"&&e.value.trim()===""}function Zg(e){return e.type==="element"&&e.tagName==="shiny-aside"}function U3(e){let t=e.properties?.label;return typeof t=="string"&&t!==""||e.properties?.dataCitation!=null}function Jg(e){return e.properties?.display==="compact"}function F3(e){return U3(e)&&!Jg(e)}function iZ(e){return!U3(e)||Jg(e)}function oZ(e){return e.children.some(t=>t.type==="element"&&t.tagName==="p")}function sZ(e){return e.tagName==="p"?!0:e.tagName!=="li"?!1:!oZ(e)}function aZ(e){let t=[];return Qe(e,"element",(n,r,i)=>{if(n!==e&&n.tagName==="li")return nr;if(!(!Zg(n)||!i||r===void 0))return t.push(n),i.children.splice(r,1),[nr,r]}),t}function lZ(e){let t=e.children.filter(Zg);return t.length===0?[]:(e.children=e.children.filter(n=>!Zg(n)),t)}function Ux(e){return{type:"element",tagName:"shiny-aside-group",properties:{},children:e}}function z3(e){let t=e.filter(F3),n=t.length>0?Ux(t):null,r=e.filter(Jg),i=r.length>0?Ux(r):null,o=!1,s=!1,a=[];for(let l of e)F3(l)?o||(a.push(n),o=!0):Jg(l)?s||(a.push(i),s=!0):a.push(Ux([l]));return a}function uZ(e){let t=0;Qe(e,"element",n=>{!Zg(n)||!iZ(n)||(t+=1,n.properties={...n.properties,index:t})})}function cZ(e){uZ(e),Qe(e,"element",n=>{if(!sZ(n))return;let r=aZ(n);r.length!==0&&(fZ(n.children),n.children.push(...z3(r)))});let t=z3(lZ(e));e.children.push(...t)}function fZ(e){for(;e.length>0;){let t=e[e.length-1];if(t.type==="element"&&t.tagName==="br"){e.pop();continue}if(t.type!=="text")return;let n=t.value.trimEnd();if(n){t.value=n;return}e.pop()}}var qx=()=>cZ;var q3=za().use(Wa).use(ja,zd).use(Xa).freeze(),V3="**";function dZ(e,t){let n=e.properties?.[t];return typeof n=="string"&&n!==""?n:void 0}function hZ(e){return e.children.some(t=>t.type==="element"&&t.tagName==="p")}function pZ(e){return e.tagName==="p"?!0:e.tagName==="li"&&!hZ(e)}function mZ(e){let t="",n=[],r=[],i=o=>{if(o.type==="text"){let s=t.length;t+=o.value,n.push({node:o,start:s,end:t.length});return}if(o.type==="element"){if(o.tagName==="shiny-aside"){let s=dZ(o,"grounded-span");s&&r.push({node:o,offset:t.length,groundedSpan:s});return}if(!(o.tagName==="p"||o.tagName==="li"))for(let s of o.children)i(s)}};for(let o of e.children)i(o);return{text:t,segments:n,asides:r}}function gZ(e,t){let n=t.filter(s=>s.starte.start);if(n.length===0)return[e.node];let r=new Set([e.start,e.end]);for(let s of n)r.add(Math.max(e.start,s.start)),r.add(Math.min(e.end,s.end));let i=[...r].sort((s,a)=>s-a),o=[];for(let s=0;sd.start<=a&&d.end>=l).map(d=>d.id),f={type:"text",value:u};c.length===0?o.push(f):o.push({type:"element",tagName:"span",properties:{className:["shiny-aside-grounded"],dataAsideGrounding:c.join(" ")},children:[f]})}return o}function G3(e,t,n){e.children=e.children.flatMap(r=>{if(r.type==="text"){let i=t.get(r);return i?gZ(i,n):r}return r.type==="element"&&r.tagName!=="shiny-aside"&&G3(r,t,n),r})}function Vx(e){let t=q3.runSync(q3.parse(e)),n="";return Qe(t,"text",r=>{n+=r.value}),n}function bZ(e){return[Vx(e),Vx(`${V3}${e}`),Vx(`${e}${V3}`)]}function yZ(e,t){let{text:n,segments:r,asides:i}=mZ(e),o=[];for(let s of i){let a=n.slice(0,s.offset),l=s.groundedSpan,u=a.lastIndexOf(l);if(u===-1){for(let f of bZ(s.groundedSpan))if(f!==""&&(u=a.lastIndexOf(f),u!==-1)){l=f;break}}if(u===-1)continue;let c=t();s.node.properties={...s.node.properties,dataGroundingId:c},o.push({start:u,end:u+l.length,id:c})}o.length!==0&&G3(e,new Map(r.map(s=>[s.node,s])),o)}function EZ(e){let t=0,n=()=>(t+=1,`aside-grounding-${t}`);Qe(e,"element",r=>{pZ(r)&&yZ(r,n)})}var Gx=()=>EZ;var K3=()=>e=>{Qe(e,"element",(t,n,r)=>{if(!r||n===void 0||t.tagName!=="ul"&&t.tagName!=="ol")return;let i=TZ(t.children);if(!i)return;let o=SZ(i);if(!o)return;let s={type:"element",tagName:"p",properties:{},children:[{type:"text",value:o}]};return r.children.splice(n+1,0,s),[nr,n+1]})};function TZ(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type==="element"&&n.tagName==="li")return n}return null}function SZ(e){let t=e.children;if(t.length<2)return null;let n=t[t.length-1];if(n.type!=="text")return null;let r=n.value.indexOf(` -`);if(r===-1)return null;let i=n.value.substring(0,r),o=n.value.substring(r+1).trim();if(!o)return null;let s=t[t.length-2];return!s||s.type!=="element"?null:(i.trim()?n.value=i:t.pop(),o)}var Y3=function(){return(e,t)=>{let n=t.toString(),r=e.position?.end.offset;if(r!==void 0&&r>n.length)return;let i=xZ(n,e);if(i)return t.value=i,this.parse(t)}};function xZ(e,t){let n=vZ(e,t);if(n.length===0)return null;let r=e;for(let i of n.sort((o,s)=>s.start-o.start))r=wZ(r,i);return r===e?null:r}function vZ(e,t){let n=AZ(t),r=[],i=[];for(let o of n){if(o.closing){let s=r.pop();if(s&&s.targetIndent!==null){let a=kZ(e,s.start);i.push({start:s.start,end:o.end,targetIndent:s.targetIndent-MZ(e,s.start,a),blockquoteDepth:a})}continue}o.selfClosing||(r.some(s=>s.targetIndent!==null)&&(o.targetIndent=null),r.push(o))}return i}function AZ(e){let t=[];return W3(e,null,t),t.sort((n,r)=>n.start-r.start)}function W3(e,t,n){let r=e.type==="listItem"?e:t;if(e.type==="html"&&_Z(e,r,n),"children"in e)for(let i of e.children)W3(i,r,n)}function _Z(e,t,n){let r=e.position?.start.offset;if(r===void 0)return;let i=/<\/shiny-aside\s*>|])(?:"[^"]*"|'[^']*'|[^"'>])*>/g;for(let o of e.value.matchAll(i)){let s=o[0],a=r+o.index;n.push({start:a,end:a+s.length,closing:s.startsWith("$/.test(s),targetIndent:t?CZ(t):null})}}function CZ(e){for(let t of e.children){let n=t.position?.start.column;if(n!==void 0)return n-1}return null}function wZ(e,t){let n=e.lastIndexOf(` +\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function w3(e,t,n,r){let i=r.schema,o=i.space==="svg"?!1:r.settings.omitOptionalTags,s=i.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),a=[],l;i.space==="html"&&e.tagName==="svg"&&(r.schema=Un);let u=WQ(r,e.properties),c=r.all(i.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=i,c&&(s=!1),(u||!o||!C3(e,t,n))&&(a.push("<",e.tagName,u?" "+u:""),s&&(i.space==="svg"||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&a.push(" "),a.push("/")),a.push(">")),a.push(c),!s&&(!o||!Vd(e,t,n))&&a.push(""),a.join("")}function WQ(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let o=$Q(e,i,t[i]);o&&n.push(o)}}for(;++rGu(n,e.alternative)&&(s=e.alternative),a=s+Po(n,Object.assign({},e.settings.characterReferences,{subset:(s==="'"?Zg.single:Zg.double)[i][o],attribute:!0}))+s),l+(a&&"="+a))}var jQ=["<","&"];function Jg(e,t,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:Po(e.value,Object.assign({},r.settings.characterReferences,{subset:jQ}))}function N3(e,t,n,r){return r.settings.allowDangerousHtml?e.value:Jg(e,t,n,r)}function R3(e,t,n,r){return r.all(e)}var k3=Ku("type",{invalid:XQ,unknown:QQ,handlers:{comment:S3,doctype:v3,element:w3,raw:N3,root:R3,text:Jg}});function XQ(e){throw new Error("Expected node, not `"+e+"`")}function QQ(e){let t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}var ZQ={},JQ={},eZ=[];function tl(e,t){let n=t||ZQ,r=n.quote||'"',i=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:tZ,all:nZ,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||Dg,characterReferences:n.characterReferences||JQ,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?Un:Ei,quote:r,alternative:i}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function tZ(e,t,n){return k3(e,t,n,this)}function nZ(e){let t=[],n=e&&e.children||eZ,r=-1;for(;++r[t,{start:`"}])))}var D3=()=>e=>{Qe(e,t=>{sg(t)&&(t.value=oZ(t.value))})};function I3(e){Qe(e,"element",(t,n,r)=>{if(t.tagName!=="template")return;let i=t.properties?.[M3];if(typeof i!="string"||!rZ.has(i)){t.content&&I3(t.content);return}if(!r||n===void 0)return;let{[M3]:o,...s}=t.properties,a={type:"element",tagName:i,properties:s,children:(t.content?.children??[]).filter(ag)};return r.children.splice(n,1,{type:"text",value:tl(a)}),[nr,n]})}var L3=()=>I3;var sZ=new Set(["shiny-tool-request","shiny-tool-result","shiny-web-search","shiny-web-search-results","shiny-web-fetch"]);function aZ(e){return e.type==="element"&&sZ.has(e.tagName)}function P3(e){return e.some(t=>t.type==="text"?t.value.trim().length>0:!0)}function B3(e){Qe(e,"element",(t,n,r)=>{if(t.tagName!=="p"||!r||n===void 0)return;let i=t.children.findIndex(aZ);if(i===-1)return;let o=t.children.slice(0,i),s=t.children[i],a=t.children.slice(i+1),l=[];if(o.length>0&&P3(o)&&l.push({...t,children:o}),l.push(s),a.length>0&&P3(a)){let c={type:"root",children:[{...t,children:a}]};B3(c),l.push(...c.children)}return r.children.splice(n,1,...l),[nr,n]})}var H3=()=>B3;var Vv=()=>lZ;function lZ(e){F3(e)}function F3(e){let t=e.children,n=null,r=0;for(;r0?t:null}function z3(e){return e.type==="element"&&e.tagName==="p"}function U3(e){return e.type==="element"&&e.tagName==="shiny-aside"}function q3(e){return e.type==="text"&&e.value.trim()===""}function e0(e){return e.type==="element"&&e.tagName==="shiny-aside"}function K3(e){let t=e.properties?.label;return typeof t=="string"&&t!==""||e.properties?.dataCitation!=null}function t0(e){return e.properties?.display==="compact"}function V3(e){return K3(e)&&!t0(e)}function cZ(e){return!K3(e)||t0(e)}function fZ(e){return e.children.some(t=>t.type==="element"&&t.tagName==="p")}function dZ(e){return e.tagName==="p"?!0:e.tagName!=="li"?!1:!fZ(e)}function hZ(e){let t=[];return Qe(e,"element",(n,r,i)=>{if(n!==e&&n.tagName==="li")return nr;if(!(!e0(n)||!i||r===void 0))return t.push(n),i.children.splice(r,1),[nr,r]}),t}function pZ(e){let t=e.children.filter(e0);return t.length===0?[]:(e.children=e.children.filter(n=>!e0(n)),t)}function Gv(e){return{type:"element",tagName:"shiny-aside-group",properties:{},children:e}}function G3(e){let t=e.filter(V3),n=t.length>0?Gv(t):null,r=e.filter(t0),i=r.length>0?Gv(r):null,o=!1,s=!1,a=[];for(let l of e)V3(l)?o||(a.push(n),o=!0):t0(l)?s||(a.push(i),s=!0):a.push(Gv([l]));return a}function mZ(e){let t=0;Qe(e,"element",n=>{!e0(n)||!cZ(n)||(t+=1,n.properties={...n.properties,index:t})})}function gZ(e){mZ(e),Qe(e,"element",n=>{if(!dZ(n))return;let r=hZ(n);r.length!==0&&(bZ(n.children),n.children.push(...G3(r)))});let t=G3(pZ(e));e.children.push(...t)}function bZ(e){for(;e.length>0;){let t=e[e.length-1];if(t.type==="element"&&t.tagName==="br"){e.pop();continue}if(t.type!=="text")return;let n=t.value.trimEnd();if(n){t.value=n;return}e.pop()}}var Kv=()=>gZ;var Y3=Ua().use($a).use(Xa,qd).use(Qa).freeze(),W3="**";function yZ(e,t){let n=e.properties?.[t];return typeof n=="string"&&n!==""?n:void 0}function EZ(e){return e.children.some(t=>t.type==="element"&&t.tagName==="p")}function TZ(e){return e.tagName==="p"?!0:e.tagName==="li"&&!EZ(e)}function SZ(e){let t="",n=[],r=[],i=o=>{if(o.type==="text"){let s=t.length;t+=o.value,n.push({node:o,start:s,end:t.length});return}if(o.type==="element"){if(o.tagName==="shiny-aside"){let s=yZ(o,"grounded-span");s&&r.push({node:o,offset:t.length,groundedSpan:s});return}if(!(o.tagName==="p"||o.tagName==="li"))for(let s of o.children)i(s)}};for(let o of e.children)i(o);return{text:t,segments:n,asides:r}}function vZ(e,t){let n=t.filter(s=>s.starte.start);if(n.length===0)return[e.node];let r=new Set([e.start,e.end]);for(let s of n)r.add(Math.max(e.start,s.start)),r.add(Math.min(e.end,s.end));let i=[...r].sort((s,a)=>s-a),o=[];for(let s=0;sd.start<=a&&d.end>=l).map(d=>d.id),f={type:"text",value:u};c.length===0?o.push(f):o.push({type:"element",tagName:"span",properties:{className:["shiny-aside-grounded"],dataAsideGrounding:c.join(" ")},children:[f]})}return o}function $3(e,t,n){e.children=e.children.flatMap(r=>{if(r.type==="text"){let i=t.get(r);return i?vZ(i,n):r}return r.type==="element"&&r.tagName!=="shiny-aside"&&$3(r,t,n),r})}function Yv(e){let t=Y3.runSync(Y3.parse(e)),n="";return Qe(t,"text",r=>{n+=r.value}),n}function xZ(e){return[Yv(e),Yv(`${W3}${e}`),Yv(`${e}${W3}`)]}function AZ(e,t){let{text:n,segments:r,asides:i}=SZ(e),o=[];for(let s of i){let a=n.slice(0,s.offset),l=s.groundedSpan,u=a.lastIndexOf(l);if(u===-1){for(let f of xZ(s.groundedSpan))if(f!==""&&(u=a.lastIndexOf(f),u!==-1)){l=f;break}}if(u===-1)continue;let c=t();s.node.properties={...s.node.properties,dataGroundingId:c},o.push({start:u,end:u+l.length,id:c})}o.length!==0&&$3(e,new Map(r.map(s=>[s.node,s])),o)}function _Z(e){let t=0,n=()=>(t+=1,`aside-grounding-${t}`);Qe(e,"element",r=>{TZ(r)&&AZ(r,n)})}var Wv=()=>_Z;var j3=()=>e=>{Qe(e,"element",(t,n,r)=>{if(!r||n===void 0||t.tagName!=="ul"&&t.tagName!=="ol")return;let i=CZ(t.children);if(!i)return;let o=wZ(i);if(!o)return;let s={type:"element",tagName:"p",properties:{},children:[{type:"text",value:o}]};return r.children.splice(n+1,0,s),[nr,n+1]})};function CZ(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type==="element"&&n.tagName==="li")return n}return null}function wZ(e){let t=e.children;if(t.length<2)return null;let n=t[t.length-1];if(n.type!=="text")return null;let r=n.value.indexOf(` +`);if(r===-1)return null;let i=n.value.substring(0,r),o=n.value.substring(r+1).trim();if(!o)return null;let s=t[t.length-2];return!s||s.type!=="element"?null:(i.trim()?n.value=i:t.pop(),o)}var X3=function(){return(e,t)=>{let n=t.toString(),r=e.position?.end.offset;if(r!==void 0&&r>n.length)return;let i=NZ(n,e);if(i)return t.value=i,this.parse(t)}};function NZ(e,t){let n=RZ(e,t);if(n.length===0)return null;let r=e;for(let i of n.sort((o,s)=>s.start-o.start))r=DZ(r,i);return r===e?null:r}function RZ(e,t){let n=kZ(t),r=[],i=[];for(let o of n){if(o.closing){let s=r.pop();if(s&&s.targetIndent!==null){let a=PZ(e,s.start);i.push({start:s.start,end:o.end,targetIndent:s.targetIndent-BZ(e,s.start,a),blockquoteDepth:a})}continue}o.selfClosing||(r.some(s=>s.targetIndent!==null)&&(o.targetIndent=null),r.push(o))}return i}function kZ(e){let t=[];return Q3(e,null,t),t.sort((n,r)=>n.start-r.start)}function Q3(e,t,n){let r=e.type==="listItem"?e:t;if(e.type==="html"&&MZ(e,r,n),"children"in e)for(let i of e.children)Q3(i,r,n)}function MZ(e,t,n){let r=e.position?.start.offset;if(r===void 0)return;let i=/<\/shiny-aside\s*>|])(?:"[^"]*"|'[^']*'|[^"'>])*>/g;for(let o of e.value.matchAll(i)){let s=o[0],a=r+o.index;n.push({start:a,end:a+s.length,closing:s.startsWith("$/.test(s),targetIndent:t?OZ(t):null})}}function OZ(e){for(let t of e.children){let n=t.position?.start.column;if(n!==void 0)return n-1}return null}function DZ(e,t){let n=e.lastIndexOf(` `,t.start-1)+1,r=e.slice(n,t.start),i=/^[\t ]*$/.test(r),o=e.indexOf(` -`,t.start),s=i?n:o===-1?t.end:o+1;if(s>=t.end)return e;let a=e.slice(s,t.end),l=NZ(a,t.blockquoteDepth);if(l===null||l>=t.targetIndent)return e;let u=" ".repeat(t.targetIndent-l),c=RZ(a,u,t.blockquoteDepth);return e.slice(0,s)+c+e.slice(t.end)}function NZ(e,t){let n=null;for(let r of e.split(/\r?\n/)){let i=r.slice(Kx(r,t));if(i.trim()==="")continue;let o=j3(i);n=n===null?o:Math.min(n,o)}return n}function RZ(e,t,n){return e.split(/(\r?\n)/).map((r,i)=>{if(i%2===1)return r;let o=Kx(r,n),s=r.slice(o);return s.trim()===""?r:r.slice(0,o)+t+s}).join("")}function kZ(e,t){return OZ($3(e,t))}function MZ(e,t,n){if(n===0)return 0;let r=$3(e,t);return j3(r.slice(0,Kx(r,n)))}function $3(e,t){let n=e.lastIndexOf(` +`,t.start),s=i?n:o===-1?t.end:o+1;if(s>=t.end)return e;let a=e.slice(s,t.end),l=IZ(a,t.blockquoteDepth);if(l===null||l>=t.targetIndent)return e;let u=" ".repeat(t.targetIndent-l),c=LZ(a,u,t.blockquoteDepth);return e.slice(0,s)+c+e.slice(t.end)}function IZ(e,t){let n=null;for(let r of e.split(/\r?\n/)){let i=r.slice($v(r,t));if(i.trim()==="")continue;let o=J3(i);n=n===null?o:Math.min(n,o)}return n}function LZ(e,t,n){return e.split(/(\r?\n)/).map((r,i)=>{if(i%2===1)return r;let o=$v(r,n),s=r.slice(o);return s.trim()===""?r:r.slice(0,o)+t+s}).join("")}function PZ(e,t){return HZ(Z3(e,t))}function BZ(e,t,n){if(n===0)return 0;let r=Z3(e,t);return J3(r.slice(0,$v(r,n)))}function Z3(e,t){let n=e.lastIndexOf(` `,t-1)+1,r=e.indexOf(` -`,t);return e.slice(n,r===-1?e.length:r)}function Kx(e,t){let n=0,r=0;for(;r")return i;n++,(e[n]===" "||e[n]===" ")&&n++,r++}return n}function OZ(e){let t=0,n=0;for(;;){let r=t;for(;t-r<3&&e[t]===" ";)t++;if(e[t]!==">")return n;t++,(e[t]===" "||e[t]===" ")&&t++,n++}}function j3(e){let t=0;for(let n of e)if(n===" ")t++;else if(n===" ")t+=4-t%4;else break;return t}var X3=za().use(Wa).use(ja,zd).use(Y3).use(Xa,{allowDangerousHtml:!0}).use(t2).use(R3).use(Ld).use(M3).use(n2).use(K3).use(I3).use(zx).use(Gx).use(qx).use(tS).use(Px).use(Ix).use(JT).use(Lx).use(Yg,{detect:!1,ignoreMissing:!0}).freeze(),Q3=za().use(zx).use(Gx).use(qx).use(tS).use(Px).use(Ix).use(JT).use(Lx).freeze(),Z3=za().use(Wa).use(ja,zd).use(a3).use(Xa,{allowDangerousHtml:!0}).use(Ld).use(Dg).freeze();var e0=q(ge(),1),qd=q(ie(),1);function J3({children:e,node:t,...n}){let[r,i]=(0,e0.useState)(!1),o=(0,e0.useRef)(null);return(0,qd.jsxs)("pre",{ref:o,...n,children:[(0,qd.jsx)("button",{onClick:async()=>{let l=o.current?.querySelector("code")?.textContent??"";try{await navigator.clipboard.writeText(l)}catch{let u=document.createElement("textarea");u.value=l,u.style.position="fixed",u.style.opacity="0",document.body.appendChild(u),u.select(),document.execCommand("copy"),document.body.removeChild(u)}i(!0),setTimeout(()=>i(!1),2e3)},className:`code-copy-button${r?" code-copy-button-checked":""}`,title:"Copy to clipboard","aria-label":"Copy to clipboard",children:(0,qd.jsx)("i",{className:"bi"})}),e]})}var e6=q(ie(),1);function Yx({children:e,node:t,...n}){return(0,e6.jsx)("table",{className:"table table-striped table-bordered",...n,children:e})}var Gr=q(ie(),1),DZ={pre:J3,table:Yx},IZ={table:Yx};function Xt({content:e,contentType:t,role:n,streaming:r=!1,tagToComponentMap:i,prefix:o}){let s=n==="user",a=t==="text",l=t==="html",u=l?Q3:s?Z3:X3,c=(0,Bo.useMemo)(()=>s?{...IZ,...i}:{...DZ,...i},[s,i]),f=r&&!a?a2(e):e,d=(0,Bo.useMemo)(()=>a?null:l?o2(f,u):i2(f,u),[f,a,l,u]),h=(0,Bo.useMemo)(()=>d?s2(d,{tagToComponentMap:c,streaming:r}):null,[d,r,c]);return a?(0,Gr.jsxs)(Gr.Fragment,{children:[o,o&&" ",e]}):o&&h?(0,Gr.jsx)(Gr.Fragment,{children:LZ(h,o)}):(0,Gr.jsx)(Gr.Fragment,{children:h})}function LZ(e,t){let n=Bo.default.Children.toArray(e.props.children);for(let r=0;r"u"?!1:e instanceof ShadowRoot||e instanceof Mn(e).ShadowRoot}function Vd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Yr(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!=="inline"&&i!=="contents"}function n6(e){return/^(table|td|th)$/.test($i(e))}function Gd(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var PZ=/transform|translate|scale|rotate|perspective|filter/,BZ=/paint|layout|strict|content/,tl=e=>!!e&&e!=="none",Wx;function r0(e){let t=St(e)?Yr(e):e;return tl(t.transform)||tl(t.translate)||tl(t.scale)||tl(t.rotate)||tl(t.perspective)||!rc()&&(tl(t.backdropFilter)||tl(t.filter))||PZ.test(t.willChange||"")||BZ.test(t.contain||"")}function r6(e){let t=Wi(e);for(;Qt(t)&&!Xi(t);){if(r0(t))return t;if(Gd(t))return null;t=Wi(t)}return null}function rc(){return Wx==null&&(Wx=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Wx}function Xi(e){return/^(html|body|#document)$/.test($i(e))}function Yr(e){return Mn(e).getComputedStyle(e)}function Kd(e){return St(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Wi(e){if($i(e)==="html")return e;let t=e.assignedSlot||e.parentNode||nc(e)&&e.host||ji(e);return nc(t)?t.host:t}function i6(e){let t=Wi(e);return Xi(t)?(e.ownerDocument||e).body:Qt(t)&&Vd(t)?t:i6(t)}function Kr(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let i=i6(e),o=i===((r=e.ownerDocument)==null?void 0:r.body),s=Mn(i);if(o){let a=i0(s);return t.concat(s,s.visualViewport||[],Vd(i)?i:[],a&&n?Kr(a):[])}else return t.concat(i,Kr(i,[],n))}function i0(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var ac=q(ge(),1),S6=q(ge(),1);var ic=Math.min,Ho=Math.max,Wd=Math.round,$d=Math.floor,Qi=e=>({x:e,y:e}),HZ={left:"right",right:"left",bottom:"top",top:"bottom"};function a6(e,t,n){return Ho(e,ic(t,n))}function jd(e,t){return typeof e=="function"?e(t):e}function nl(e){return e.split("-")[0]}function Xd(e){return e.split("-")[1]}function $x(e){return e==="x"?"y":"x"}function jx(e){return e==="y"?"height":"width"}function Fo(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function Xx(e){return $x(Fo(e))}function l6(e,t,n){n===void 0&&(n=!1);let r=Xd(e),i=Xx(e),o=jx(i),s=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=Yd(s)),[s,Yd(s)]}function u6(e){let t=Yd(e);return[o0(e),t,o0(t)]}function o0(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var o6=["left","right"],s6=["right","left"],FZ=["top","bottom"],zZ=["bottom","top"];function UZ(e,t,n){switch(e){case"top":case"bottom":return n?t?s6:o6:t?o6:s6;case"left":case"right":return t?FZ:zZ;default:return[]}}function c6(e,t,n,r){let i=Xd(e),o=UZ(nl(e),n==="start",r);return i&&(o=o.map(s=>s+"-"+i),t&&(o=o.concat(o.map(o0)))),o}function Yd(e){let t=nl(e);return HZ[t]+e.slice(t.length)}function qZ(e){var t,n,r,i;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(r=e.bottom)!=null?r:0,left:(i=e.left)!=null?i:0}}function f6(e){return typeof e!="number"?qZ(e):{top:e,right:e,bottom:e,left:e}}function rl(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}var VZ=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","area[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],s0=VZ.join(","),h6=typeof Element>"u",oc=h6?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,a0=!h6&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e?.ownerDocument},l0=function(t,n){var r;n===void 0&&(n=!0);var i=t==null||(r=t.getAttribute)===null||r===void 0?void 0:r.call(t,"inert"),o=i===""||i==="true",s=o||n&&t&&(typeof t.closest=="function"?t.closest("[inert]"):l0(t.parentNode));return s},GZ=function(t){var n,r=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"contenteditable");return r===""||r==="true"},p6=function(t,n,r){if(l0(t))return[];var i=Array.prototype.slice.apply(t.querySelectorAll(s0));return n&&oc.call(t,s0)&&i.unshift(t),i=i.filter(r),i},u0=function(t,n,r){for(var i=[],o=Array.from(t);o.length;){var s=o.shift();if(!l0(s,!1))if(s.tagName==="SLOT"){var a=s.assignedElements(),l=a.length?a:s.children,u=u0(l,!0,r);r.flatten?i.push.apply(i,u):i.push({scopeParent:s,candidates:u})}else{var c=oc.call(s,s0);c&&r.filter(s)&&(n||!t.includes(s))&&i.push(s);var f=s.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(s),d=!l0(f,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(s));if(f&&d){var h=u0(f===!0?s.children:f.children,!0,r);r.flatten?i.push.apply(i,h):i.push({scopeParent:s,candidates:h})}else o.unshift.apply(o,s.children)}}return i},m6=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},g6=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||GZ(t))&&!m6(t)?0:t.tabIndex},KZ=function(t,n){var r=g6(t);return r<0&&n&&!m6(t)?0:r},YZ=function(t,n){return t.tabIndex===n.tabIndex?t.documentOrder-n.documentOrder:t.tabIndex-n.tabIndex},b6=function(t){return t.tagName==="INPUT"},WZ=function(t){return b6(t)&&t.type==="hidden"},$Z=function(t){var n=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(r){return r.tagName==="SUMMARY"});return n},jZ=function(t,n){for(var r=0;rsummary:first-of-type"),u=l?t.parentElement:t;if(oc.call(u,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="full-native"||r==="legacy-full"){if(typeof i=="function"){for(var c=t;t;){var f=t.parentElement,d=a0(t);if(f&&!f.shadowRoot&&i(f)===!0)return d6(t);t.assignedSlot?t=t.assignedSlot:!f&&d!==t.ownerDocument?t=d.host:t=f}t=c}if(JZ(t))return!t.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return d6(t);return!1},tJ=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var n=t.parentElement;n;){if(n.tagName==="FIELDSET"&&n.disabled){for(var r=0;r=0)},y6=function(t){var n=[],r=[];return t.forEach(function(i,o){var s=!!i.scopeParent,a=s?i.scopeParent:i,l=KZ(a,s),u=s?y6(i.candidates):a;l===0?s?n.push.apply(n,u):n.push(a):r.push({documentOrder:o,tabIndex:l,item:i,isScope:s,content:u})}),r.sort(YZ).reduce(function(i,o){return o.isScope?i.push.apply(i,o.content):i.push(o.content),i},[]).concat(n)},sc=function(t,n){n=n||{};var r;return n.getShadowRoot?r=u0([t],n.includeContainer,{filter:Zx.bind(null,n),flatten:!1,getShadowRoot:n.getShadowRoot,shadowRootFilter:nJ}):r=p6(t,n.includeContainer,Zx.bind(null,n)),y6(r)},E6=function(t,n){n=n||{};var r;return n.getShadowRoot?r=u0([t],n.includeContainer,{filter:Qx.bind(null,n),flatten:!0,getShadowRoot:n.getShadowRoot}):r=p6(t,n.includeContainer,Qx.bind(null,n)),r},Jx=function(t,n){if(n=n||{},!t)throw new Error("No node provided");return oc.call(t,s0)===!1?!1:Zx(n,t)};function tv(){let e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function nv(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(t=>{let{brand:n,version:r}=t;return n+"/"+r}).join(" "):navigator.userAgent}function rv(){return/apple/i.test(navigator.vendor)}function ev(){let e=/android/i;return e.test(tv())||e.test(nv())}function x6(){return tv().toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints}function v6(){return nv().includes("jsdom/")}var T6="data-floating-ui-focusable",rJ="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function zo(e){let t=e.activeElement;for(;((n=t)==null||(n=n.shadowRoot)==null?void 0:n.activeElement)!=null;){var n;t=t.shadowRoot.activeElement}return t}function On(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&nc(n)){let r=t;for(;r;){if(e===r)return!0;r=r.parentNode||r.host}}return!1}function Zi(e){return"composedPath"in e?e.composedPath()[0]:e.target}function c0(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function A6(e){return e.matches("html,body")}function Dn(e){return e?.ownerDocument||document}function f0(e){return Qt(e)&&e.matches(rJ)}function iv(e){return e?e.getAttribute("role")==="combobox"&&f0(e):!1}function _6(e){if(!e||v6())return!0;try{return e.matches(":focus-visible")}catch{return!0}}function d0(e){return e?e.hasAttribute(T6)?e:e.querySelector("["+T6+"]")||e:null}function il(e,t,n){return n===void 0&&(n=!0),e.filter(i=>{var o;return i.parentId===t&&(!n||((o=i.context)==null?void 0:o.open))}).flatMap(i=>[i,...il(e,i.id,n)])}function ov(e,t){var n;let r=[],i=(n=e.find(o=>o.id===t))==null?void 0:n.parentId;for(;i;){let o=e.find(s=>s.id===i);i=o?.parentId,o&&(r=r.concat(o))}return r}function h0(e){e.preventDefault(),e.stopPropagation()}function C6(e){return"nativeEvent"in e}function w6(e){return e.mozInputSource===0&&e.isTrusted?!0:ev()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function N6(e){return v6()?!1:!ev()&&e.width===0&&e.height===0||ev()&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function lc(e,t){let n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}var iJ=typeof document<"u",oJ=function(){},or=iJ?S6.useLayoutEffect:oJ,sJ={...ac};function $s(e){let t=ac.useRef(e);return or(()=>{t.current=e}),t}var aJ=sJ.useInsertionEffect,lJ=aJ||(e=>e());function sr(e){let t=ac.useRef(()=>{});return lJ(()=>{t.current=e}),ac.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function R6(e,t){let n=sc(e,uc()),r=n.length;if(r===0)return;let i=zo(Dn(e)),o=n.indexOf(i),s=o===-1?t===1?0:r-1:o+t;return n[s]}function sv(e){return R6(Dn(e).body,1)||e}function av(e){return R6(Dn(e).body,-1)||e}function cc(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!On(n,r)}function k6(e){sc(e,uc()).forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}function lv(e){e.querySelectorAll("[data-tabindex]").forEach(n=>{let r=n.dataset.tabindex;delete n.dataset.tabindex,r?n.setAttribute("tabindex",r):n.removeAttribute("tabindex")})}var vr=q(ie(),1);var yv=q(lo(),1);function M6(e,t,n){let{reference:r,floating:i}=e,o=Fo(t),s=Xx(t),a=jx(s),l=nl(t),u=o==="y",c=r.x+r.width/2-i.width/2,f=r.y+r.height/2-i.height/2,d=r[a]/2-i[a]/2,h;switch(l){case"top":h={x:c,y:r.y-i.height};break;case"bottom":h={x:c,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:f};break;case"left":h={x:r.x-i.width,y:f};break;default:h={x:r.x,y:r.y}}let p=Xd(t);return p&&(h[s]+=d*(p==="end"?1:-1)*(n&&u?-1:1)),h}async function O6(e,t){var n;t===void 0&&(t={});let{x:r,y:i,platform:o,rects:s,elements:a,strategy:l}=e,{boundary:u="clippingAncestors",rootBoundary:c="viewport",elementContext:f="floating",altBoundary:d=!1,padding:h=0}=jd(t,e),p=f6(h),y=a[d?f==="floating"?"reference":"floating":f],g=rl(await o.getClippingRect({element:(n=await(o.isElement==null?void 0:o.isElement(y)))==null||n?y:y.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(a.floating)),boundary:u,rootBoundary:c,strategy:l})),E=f==="floating"?{x:r,y:i,width:s.floating.width,height:s.floating.height}:s.reference,T=await(o.getOffsetParent==null?void 0:o.getOffsetParent(a.floating)),S=await(o.isElement==null?void 0:o.isElement(T))&&await(o.getScale==null?void 0:o.getScale(T))||{x:1,y:1},v=rl(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:E,offsetParent:T,strategy:l}):E);return{top:(g.top-v.top+p.top)/S.y,bottom:(v.bottom-g.bottom+p.bottom)/S.y,left:(g.left-v.left+p.left)/S.x,right:(v.right-g.right+p.right)/S.x}}var uJ=50,D6=async(e,t,n)=>{let{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:s}=n,a=s.detectOverflow?s:{...s,detectOverflow:O6},l=await(s.isRTL==null?void 0:s.isRTL(t)),u=await s.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:f}=M6(u,r,l),d=r,h=0,p={};for(let b=0;bL<=0)){var O,G;let L=(((O=o.flip)==null?void 0:O.index)||0)+1,H=N[L];if(H&&(!(f==="alignment"?E!==Fo(H):!1)||A.every(P=>Fo(P.placement)===E?P.overflows[0]>0:!0)))return{data:{index:L,overflows:A},reset:{placement:H}};let I=(G=A.filter(F=>F.overflows[0]<=0).sort((F,P)=>F.overflows[1]-P.overflows[1])[0])==null?void 0:G.placement;if(!I)switch(h){case"bestFit":{var z;let F=(z=A.filter(P=>{if(x){let U=Fo(P.placement);return U===E||U==="y"}return!0}).map(P=>[P.placement,P.overflows.filter(U=>U>0).reduce((U,_)=>U+_,0)]).sort((P,U)=>P[1]-U[1])[0])==null?void 0:z[0];F&&(I=F);break}case"initialPlacement":I=a;break}if(i!==I)return{reset:{placement:I}}}return{}}}};var cJ=new Set(["left","top"]);async function fJ(e,t){let{placement:n,platform:r,elements:i}=e,o=await(r.isRTL==null?void 0:r.isRTL(i.floating)),s=nl(n),a=Xd(n),l=Fo(n)==="y",u=cJ.has(s)?-1:1,c=o&&l?-1:1,f=jd(t,e),{mainAxis:d,crossAxis:h,alignmentAxis:p}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof p=="number"&&(h=a==="end"?p*-1:p),l?{x:h*c,y:d*u}:{x:d*u,y:h*c}}var L6=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:i,y:o,placement:s,middlewareData:a}=t,l=await fJ(t,e);return s===((n=a.offset)==null?void 0:n.placement)&&(r=a.arrow)!=null&&r.alignmentOffset?{}:{x:i+l.x,y:o+l.y,data:{...l,placement:s}}}}},P6=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:i,platform:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:l={fn:E=>{let{x:T,y:S}=E;return{x:T,y:S}}},...u}=jd(e,t),c={x:n,y:r},f=await o.detectOverflow(t,u),d=Fo(i),h=$x(d),p=c[h],b=c[d],y=(E,T)=>a6(T+f[E==="y"?"top":"left"],T,T-f[E==="y"?"bottom":"right"]);s&&(p=y(h,p)),a&&(b=y(d,b));let g=l.fn({...t,[h]:p,[d]:b});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[h]:s,[d]:a}}}}}};function F6(e){let t=Yr(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Qt(e),o=i?e.offsetWidth:n,s=i?e.offsetHeight:r,a=Wd(n)!==o||Wd(r)!==s;return a&&(n=o,r=s),{width:n,height:r,$:a}}function cv(e){return St(e)?e:e.contextElement}function fc(e){let t=cv(e);if(!Qt(t))return Qi(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:o}=F6(t),s=(o?Wd(n.width):n.width)/r,a=(o?Wd(n.height):n.height)/i;return(!s||!Number.isFinite(s))&&(s=1),(!a||!Number.isFinite(a))&&(a=1),{x:s,y:a}}var dJ=Qi(0);function z6(e){let t=Mn(e);return!rc()||!t.visualViewport?dJ:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function hJ(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Mn(e)}function ol(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),o=cv(e),s=Qi(1);t&&(r?St(r)&&(s=fc(r)):s=fc(e));let a=hJ(o,n,r)?z6(o):Qi(0),l=(i.left+a.x)/s.x,u=(i.top+a.y)/s.y,c=i.width/s.x,f=i.height/s.y;if(o&&r){let d=Mn(o),h=St(r)?Mn(r):r,p=d,b=i0(p);for(;b&&h!==p;){let y=fc(b),g=b.getBoundingClientRect(),E=Yr(b),T=g.left+(b.clientLeft+parseFloat(E.paddingLeft))*y.x,S=g.top+(b.clientTop+parseFloat(E.paddingTop))*y.y;l*=y.x,u*=y.y,c*=y.x,f*=y.y,l+=T,u+=S,p=Mn(b),b=i0(p)}}return rl({width:c,height:f,x:l,y:u})}function p0(e,t){let n=Kd(e).scrollLeft;return t?t.left+n:ol(ji(e)).left+n}function U6(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-p0(e,n),i=n.top+t.scrollTop;return{x:r,y:i}}function pJ(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,o=i==="fixed",s=ji(r),a=t?Gd(t.floating):!1;if(r===s||a&&o)return n;let l={scrollLeft:0,scrollTop:0},u=Qi(1),c=Qi(0),f=Qt(r);if((f||!o)&&(($i(r)!=="body"||Vd(s))&&(l=Kd(r)),f)){let h=ol(r);u=fc(r),c.x=h.x+r.clientLeft,c.y=h.y+r.clientTop}let d=s&&!f&&!o?U6(s,l):Qi(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+c.x+d.x,y:n.y*u.y-l.scrollTop*u.y+c.y+d.y}}function mJ(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function gJ(e){let t=Kd(e),n=e.ownerDocument.body,r=Ho(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Ho(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),o=-t.scrollLeft+p0(e),s=-t.scrollTop;return Yr(n).direction==="rtl"&&(o+=Ho(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:o,y:s}}var bJ=25;function yJ(e,t,n){n===void 0&&(n="viewport");let r=n==="layoutViewport",i=Mn(e),o=ji(e),s=i.visualViewport,a=o.clientWidth,l=o.clientHeight,u=0,c=0;if(s){let d=!rc()||t==="fixed";r?d||(u=-s.offsetLeft,c=-s.offsetTop):(a=s.width,l=s.height,d&&(u=s.offsetLeft,c=s.offsetTop))}if(p0(o)<=0){let d=o.ownerDocument,h=d.body,p=getComputedStyle(h),b=d.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,y=Math.abs(o.clientWidth-h.clientWidth-b),g=getComputedStyle(o).scrollbarGutter==="stable both-edges"?y/2:y;g<=bJ&&(a-=g)}return{width:a,height:l,x:u,y:c}}function EJ(e,t){let n=ol(e,!0,t==="fixed"),r=n.top+e.clientTop,i=n.left+e.clientLeft,o=fc(e),s=e.clientWidth*o.x,a=e.clientHeight*o.y,l=i*o.x,u=r*o.y;return{width:s,height:a,x:l,y:u}}function B6(e,t,n){let r;if(t==="viewport"||t==="layoutViewport")r=yJ(e,n,t);else if(t==="document")r=gJ(ji(e));else if(St(t))r=EJ(t,n);else{let i=z6(e);r={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return rl(r)}function TJ(e,t){let n=t.get(e);if(n)return n;let r=Kr(e,[],!1).filter(a=>St(a)&&$i(a)!=="body"),i=null,o=Yr(e).position==="fixed",s=o?Wi(e):e;for(;St(s)&&!Xi(s);){let a=Yr(s),l=r0(s),u=i?i.position:o?"fixed":"";!l&&(u==="fixed"||u==="absolute"&&a.position==="static")?r=r.filter(f=>f!==s):i=a,s=Wi(s)}return t.set(e,r),r}function SJ(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,s=[...n==="clippingAncestors"?Gd(t)?[]:TJ(t,this._c):[].concat(n),r],a=B6(t,s[0],i),l=a.top,u=a.right,c=a.bottom,f=a.left;for(let d=1;d{a(!1,1e-7)},1e3)}N=!1}try{r=new IntersectionObserver(D,{...x,root:o.ownerDocument})}catch{r=new IntersectionObserver(D,x)}r.observe(e)}let l=Mn(e),u=()=>a(n);return l.addEventListener("resize",u),a(!0),()=>{l.removeEventListener("resize",u),s()}}function dc(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=r,u=cv(e),c=i||o?[...u?Kr(u):[],...t?Kr(t):[]]:[];c.forEach(g=>{i&&g.addEventListener("scroll",n),o&&g.addEventListener("resize",n)});let f=u&&a?CJ(u,n,o):null,d=-1,h=null;s&&(h=new ResizeObserver(g=>{let[E]=g;E&&E.target===u&&h&&t&&(h.unobserve(t),cancelAnimationFrame(d),d=requestAnimationFrame(()=>{var T;(T=h)==null||T.observe(t)})),n()}),u&&!l&&h.observe(u),t&&h.observe(t));let p,b=l?ol(e):null;l&&y();function y(){let g=ol(e);b&&!V6(b,g)&&n(),b=g,p=requestAnimationFrame(y)}return n(),()=>{var g;c.forEach(E=>{i&&E.removeEventListener("scroll",n),o&&E.removeEventListener("resize",n)}),f?.(),(g=h)==null||g.disconnect(),h=null,l&&cancelAnimationFrame(p)}}var G6=L6;var K6=P6,Y6=I6;var m0=(e,t,n)=>{let r=new Map,i=n??{},o={...fv,...i.platform,_c:r};return D6(e,t,{...i,platform:o})};var an=q(ge(),1),$6=q(ge(),1),j6=q(lo(),1),NJ=typeof document<"u",RJ=function(){},g0=NJ?$6.useLayoutEffect:RJ;function b0(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!b0(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let o=i[r];if(!(o==="_owner"&&e.$$typeof)&&!b0(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function X6(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function W6(e,t){let n=X6(e);return Math.round(t*n)/n}function dv(e){let t=an.useRef(e);return g0(()=>{t.current=e}),t}function Q6(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:o,floating:s}={},transform:a=!0,whileElementsMounted:l,open:u}=e,[c,f]=an.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[d,h]=an.useState(r);b0(d,r)||h(r);let[p,b]=an.useState(null),[y,g]=an.useState(null),E=an.useCallback(P=>{P!==x.current&&(x.current=P,b(P))},[]),T=an.useCallback(P=>{P!==N.current&&(N.current=P,g(P))},[]),S=o||p,v=s||y,x=an.useRef(null),N=an.useRef(null),D=an.useRef(c),k=l!=null,A=dv(l),O=dv(i),G=dv(u),z=an.useCallback(()=>{if(!x.current||!N.current)return;let P={placement:t,strategy:n,middleware:d};O.current&&(P.platform=O.current),m0(x.current,N.current,P).then(U=>{let _={...U,isPositioned:G.current!==!1};L.current&&!b0(D.current,_)&&(D.current=_,j6.flushSync(()=>{f(_)}))})},[d,t,n,O,G]);g0(()=>{u===!1&&D.current.isPositioned&&(D.current.isPositioned=!1,f(P=>({...P,isPositioned:!1})))},[u]);let L=an.useRef(!1);g0(()=>(L.current=!0,()=>{L.current=!1}),[]),g0(()=>{if(S&&(x.current=S),v&&(N.current=v),S&&v){if(A.current)return A.current(S,v,z);z()}},[S,v,z,A,k]);let H=an.useMemo(()=>({reference:x,floating:N,setReference:E,setFloating:T}),[E,T]),I=an.useMemo(()=>({reference:S,floating:v}),[S,v]),F=an.useMemo(()=>{let P={position:n,left:0,top:0};if(!I.floating)return P;let U=W6(I.floating,c.x),_=W6(I.floating,c.y);return a?{...P,transform:"translate("+U+"px, "+_+"px)",...X6(I.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:U,top:_}},[n,a,I.floating,c.x,c.y]);return an.useMemo(()=>({...c,update:z,refs:H,elements:I,floatingStyles:F}),[c,z,H,I,F])}var hc=(e,t)=>{let n=G6(e);return{name:n.name,fn:n.fn,options:[e,t]}},Qd=(e,t)=>{let n=K6(e);return{name:n.name,fn:n.fn,options:[e,t]}};var Zd=(e,t)=>{let n=Y6(e);return{name:n.name,fn:n.fn,options:[e,t]}};var kJ="data-floating-ui-focusable",Z6="active",J6="selected",MJ="ArrowLeft",OJ="ArrowRight",DJ="ArrowUp",IJ="ArrowDown";var LJ=[MJ,OJ],PJ=[DJ,IJ],ZAe=[...LJ,...PJ];var BJ={...X},eP=!1,HJ=0,tP=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+HJ++;function FJ(){let[e,t]=X.useState(()=>eP?tP():void 0);return or(()=>{e==null&&t(tP())},[]),X.useEffect(()=>{eP=!0},[]),e}var zJ=BJ.useId,Ev=zJ||FJ;function UJ(){let e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(i=>i(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var r;(r=e.get(t))==null||r.delete(n)}}}var qJ=X.createContext(null),VJ=X.createContext(null),Tv=()=>{var e;return((e=X.useContext(qJ))==null?void 0:e.id)||null},S0=()=>X.useContext(VJ);function sl(e){return"data-floating-ui-"+e}function Wr(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}var nP=sl("safe-polygon");function hv(e,t,n){if(n&&!lc(n))return 0;if(typeof e=="number")return e;if(typeof e=="function"){let r=e();return typeof r=="number"?r:r?.[t]}return e?.[t]}function pv(e){return typeof e=="function"?e():e}function pP(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,events:o,elements:s}=e,{enabled:a=!0,delay:l=0,handleClose:u=null,mouseOnly:c=!1,restMs:f=0,move:d=!0}=t,h=S0(),p=Tv(),b=$s(u),y=$s(l),g=$s(n),E=$s(f),T=X.useRef(),S=X.useRef(-1),v=X.useRef(),x=X.useRef(-1),N=X.useRef(!0),D=X.useRef(!1),k=X.useRef(()=>{}),A=X.useRef(!1),O=sr(()=>{var F;let P=(F=i.current.openEvent)==null?void 0:F.type;return P?.includes("mouse")&&P!=="mousedown"});X.useEffect(()=>{if(!a)return;function F(P){let{open:U}=P;U||(Wr(S),Wr(x),N.current=!0,A.current=!1)}return o.on("openchange",F),()=>{o.off("openchange",F)}},[a,o]),X.useEffect(()=>{if(!a||!b.current||!n)return;function F(U){O()&&r(!1,U,"hover")}let P=Dn(s.floating).documentElement;return P.addEventListener("mouseleave",F),()=>{P.removeEventListener("mouseleave",F)}},[s.floating,n,r,a,b,O]);let G=X.useCallback(function(F,P,U){P===void 0&&(P=!0),U===void 0&&(U="hover");let _=hv(y.current,"close",T.current);_&&!v.current?(Wr(S),S.current=window.setTimeout(()=>r(!1,F,U),_)):P&&(Wr(S),r(!1,F,U))},[y,r]),z=sr(()=>{k.current(),v.current=void 0}),L=sr(()=>{if(D.current){let F=Dn(s.floating).body;F.style.pointerEvents="",F.removeAttribute(nP),D.current=!1}}),H=sr(()=>i.current.openEvent?["click","mousedown"].includes(i.current.openEvent.type):!1);X.useEffect(()=>{if(!a)return;function F(ee){if(Wr(S),N.current=!1,c&&!lc(T.current)||pv(E.current)>0&&!hv(y.current,"open"))return;let C=hv(y.current,"open",T.current);C?S.current=window.setTimeout(()=>{g.current||r(!0,ee,"hover")},C):n||r(!0,ee,"hover")}function P(ee){if(H()){L();return}k.current();let C=Dn(s.floating);if(Wr(x),A.current=!1,b.current&&i.current.floatingContext){n||Wr(S),v.current=b.current({...i.current.floatingContext,tree:h,x:ee.clientX,y:ee.clientY,onClose(){L(),z(),H()||G(ee,!0,"safe-polygon")}});let ue=v.current;C.addEventListener("mousemove",ue),k.current=()=>{C.removeEventListener("mousemove",ue)};return}(T.current==="touch"?!On(s.floating,ee.relatedTarget):!0)&&G(ee)}function U(ee){H()||i.current.floatingContext&&(b.current==null||b.current({...i.current.floatingContext,tree:h,x:ee.clientX,y:ee.clientY,onClose(){L(),z(),H()||G(ee)}})(ee))}function _(){Wr(S)}function re(ee){H()||G(ee,!1)}if(St(s.domReference)){let ee=s.domReference,C=s.floating;return n&&ee.addEventListener("mouseleave",U),d&&ee.addEventListener("mousemove",F,{once:!0}),ee.addEventListener("mouseenter",F),ee.addEventListener("mouseleave",P),C&&(C.addEventListener("mouseleave",U),C.addEventListener("mouseenter",_),C.addEventListener("mouseleave",re)),()=>{n&&ee.removeEventListener("mouseleave",U),d&&ee.removeEventListener("mousemove",F),ee.removeEventListener("mouseenter",F),ee.removeEventListener("mouseleave",P),C&&(C.removeEventListener("mouseleave",U),C.removeEventListener("mouseenter",_),C.removeEventListener("mouseleave",re))}}},[s,a,e,c,d,G,z,L,r,n,g,h,y,b,i,H,E]),or(()=>{var F;if(a&&n&&(F=b.current)!=null&&(F=F.__options)!=null&&F.blockPointerEvents&&O()){D.current=!0;let U=s.floating;if(St(s.domReference)&&U){var P;let _=Dn(s.floating).body;_.setAttribute(nP,"");let re=s.domReference,ee=h==null||(P=h.nodesRef.current.find(C=>C.id===p))==null||(P=P.context)==null?void 0:P.elements.floating;return ee&&(ee.style.pointerEvents=""),_.style.pointerEvents="none",re.style.pointerEvents="auto",U.style.pointerEvents="auto",()=>{_.style.pointerEvents="",re.style.pointerEvents="",U.style.pointerEvents=""}}}},[a,n,p,s,h,b,O]),or(()=>{n||(T.current=void 0,A.current=!1,z(),L())},[n,z,L]),X.useEffect(()=>()=>{z(),Wr(S),Wr(x),L()},[a,s.domReference,z,L]);let I=X.useMemo(()=>{function F(P){T.current=P.pointerType}return{onPointerDown:F,onPointerEnter:F,onMouseMove(P){let{nativeEvent:U}=P;function _(){!N.current&&!g.current&&r(!0,U,"hover")}c&&!lc(T.current)||n||pv(E.current)===0||A.current&&P.movementX**2+P.movementY**2<2||(Wr(x),T.current==="touch"?_():(A.current=!0,x.current=window.setTimeout(_,pv(E.current))))}}},[c,r,n,g,E]);return X.useMemo(()=>a?{reference:I}:{},[a,I])}var rP=0;function pc(e,t){t===void 0&&(t={});let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(rP);let o=()=>e?.focus({preventScroll:n});i?o():rP=requestAnimationFrame(o)}function GJ(e){return e?.ownerDocument||document}var mc={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function iP(e){return e==="inert"?mc.inert:e==="aria-hidden"?mc["aria-hidden"]:mc.none}var y0=new WeakSet,E0={},mv=0,KJ=()=>typeof HTMLElement<"u"&&"inert"in HTMLElement.prototype;function mP(e){return e?nc(e)?e.host:mP(e.parentNode):null}var YJ=(e,t)=>t.map(n=>{if(e.contains(n))return n;let r=mP(n);return e.contains(r)?r:null}).filter(n=>n!=null);function WJ(e,t,n,r){let i="data-floating-ui-inert",o=r?"inert":n?"aria-hidden":null,s=YJ(t,e),a=new Set,l=new Set(s),u=[];E0[i]||(E0[i]=new WeakMap);let c=E0[i];s.forEach(f),d(t),a.clear();function f(h){!h||a.has(h)||(a.add(h),h.parentNode&&f(h.parentNode))}function d(h){!h||l.has(h)||[].forEach.call(h.children,p=>{if($i(p)!=="script")if(a.has(p))d(p);else{let b=o?p.getAttribute(o):null,y=b!==null&&b!=="false",g=iP(o),E=(g.get(p)||0)+1,T=(c.get(p)||0)+1;g.set(p,E),c.set(p,T),u.push(p),E===1&&y&&y0.add(p),T===1&&p.setAttribute(i,""),!y&&o&&p.setAttribute(o,o==="inert"?"":"true")}})}return mv++,()=>{u.forEach(h=>{let p=iP(o),y=(p.get(h)||0)-1,g=(c.get(h)||0)-1;p.set(h,y),c.set(h,g),y||(!y0.has(h)&&o&&h.removeAttribute(o),y0.delete(h)),g||h.removeAttribute(i)}),mv--,mv||(mc.inert=new WeakMap,mc["aria-hidden"]=new WeakMap,mc.none=new WeakMap,y0=new WeakSet,E0={})}}function oP(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=GJ(e[0]).body;return WJ(e.concat(Array.from(r.querySelectorAll('[aria-live],[role="status"],output'))),r,t,n)}var Sv={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0},T0=X.forwardRef(function(t,n){let[r,i]=X.useState();or(()=>{rv()&&i("button")},[]);let o={ref:n,tabIndex:0,role:r,"aria-hidden":r?void 0:!0,[sl("focus-guard")]:"",style:Sv};return(0,vr.jsx)("span",{...t,...o})}),$J={clipPath:"inset(50%)",position:"fixed",top:0,left:0},gP=X.createContext(null),sP=sl("portal");function jJ(e){e===void 0&&(e={});let{id:t,root:n}=e,r=Ev(),i=bP(),[o,s]=X.useState(null),a=X.useRef(null);return or(()=>()=>{o?.remove(),queueMicrotask(()=>{a.current=null})},[o]),or(()=>{if(!r||a.current)return;let l=t?document.getElementById(t):null;if(!l)return;let u=document.createElement("div");u.id=r,u.setAttribute(sP,""),l.appendChild(u),a.current=u,s(u)},[t,r]),or(()=>{if(n===null||!r||a.current)return;let l=n||i?.portalNode;l&&!n0(l)&&(l=l.current),l=l||document.body;let u=null;t&&(u=document.createElement("div"),u.id=t,l.appendChild(u));let c=document.createElement("div");c.id=r,c.setAttribute(sP,""),l=u||l,l.appendChild(c),a.current=c,s(c)},[t,n,r,i]),o}function gc(e){let{children:t,id:n,root:r,preserveTabOrder:i=!0}=e,o=jJ({id:n,root:r}),[s,a]=X.useState(null),l=X.useRef(null),u=X.useRef(null),c=X.useRef(null),f=X.useRef(null),d=s?.modal,h=s?.open,p=!!s&&!s.modal&&s.open&&i&&!!(r||o);return X.useEffect(()=>{if(!o||!i||d)return;function b(y){o&&cc(y)&&(y.type==="focusin"?lv:k6)(o)}return o.addEventListener("focusin",b,!0),o.addEventListener("focusout",b,!0),()=>{o.removeEventListener("focusin",b,!0),o.removeEventListener("focusout",b,!0)}},[o,i,d]),X.useEffect(()=>{o&&(h||lv(o))},[h,o]),(0,vr.jsxs)(gP.Provider,{value:X.useMemo(()=>({preserveTabOrder:i,beforeOutsideRef:l,afterOutsideRef:u,beforeInsideRef:c,afterInsideRef:f,portalNode:o,setFocusManagerState:a}),[i,o]),children:[p&&o&&(0,vr.jsx)(T0,{"data-type":"outside",ref:l,onFocus:b=>{if(cc(b,o)){var y;(y=c.current)==null||y.focus()}else{let g=s?s.domReference:null,E=av(g);E?.focus()}}}),p&&o&&(0,vr.jsx)("span",{"aria-owns":o.id,style:$J}),o&&yv.createPortal(t,o),p&&o&&(0,vr.jsx)(T0,{"data-type":"outside",ref:u,onFocus:b=>{if(cc(b,o)){var y;(y=f.current)==null||y.focus()}else{let g=s?s.domReference:null,E=sv(g);E?.focus(),s?.closeOnFocusOut&&s?.onOpenChange(!1,b.nativeEvent,"focus-out")}}})]})}var bP=()=>X.useContext(gP);function aP(e){return X.useMemo(()=>t=>{e.forEach(n=>{n&&(n.current=t)})},e)}var lP=20,js=[];function xv(){js=js.filter(e=>{var t;return(t=e.deref())==null?void 0:t.isConnected})}function XJ(e){xv(),e&&$i(e)!=="body"&&(js.push(new WeakRef(e)),js.length>lP&&(js=js.slice(-lP)))}function uP(){xv();let e=js[js.length-1];return e?.deref()}function QJ(e){let t=uc();return Jx(e,t)?e:sc(e,t)[0]||e}function cP(e,t){var n;if(!t.current.includes("floating")&&!((n=e.getAttribute("role"))!=null&&n.includes("dialog")))return;let r=uc(),o=E6(e,r).filter(a=>{let l=a.getAttribute("data-tabindex")||"";return Jx(a,r)||a.hasAttribute("data-tabindex")&&!l.startsWith("-")}),s=e.getAttribute("tabindex");t.current.includes("floating")||o.length===0?s!=="0"&&e.setAttribute("tabindex","0"):(s!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}var ZJ=X.forwardRef(function(t,n){return(0,vr.jsx)("button",{...t,type:"button",ref:n,tabIndex:-1,style:Sv})});function bc(e){let{context:t,children:n,disabled:r=!1,order:i=["content"],guards:o=!0,initialFocus:s=0,returnFocus:a=!0,restoreFocus:l=!1,modal:u=!0,visuallyHiddenDismiss:c=!1,closeOnFocusOut:f=!0,outsideElementsInert:d=!1,getInsideElements:h=()=>[]}=e,{open:p,onOpenChange:b,events:y,dataRef:g,elements:{domReference:E,floating:T}}=t,S=sr(()=>{var ce;return(ce=g.current.floatingContext)==null?void 0:ce.nodeId}),v=sr(h),x=typeof s=="number"&&s<0,N=iv(E)&&x,D=KJ(),k=D?o:!0,A=!k||D&&d,O=$s(i),G=$s(s),z=$s(a),L=S0(),H=bP(),I=X.useRef(null),F=X.useRef(null),P=X.useRef(!1),U=X.useRef(!1),_=X.useRef(-1),re=X.useRef(-1),ee=H!=null,C=d0(T),ae=sr(function(ce){return ce===void 0&&(ce=C),ce?sc(ce,uc()):[]}),ue=sr(ce=>{let oe=ae(ce);return O.current.map(Ee=>E&&Ee==="reference"?E:C&&Ee==="floating"?C:oe).filter(Boolean).flat()});X.useEffect(()=>{if(r||!u)return;function ce(Ee){if(Ee.key==="Tab"){On(C,zo(Dn(C)))&&ae().length===0&&!N&&h0(Ee);let Pe=ue(),Te=Zi(Ee);O.current[0]==="reference"&&Te===E&&(h0(Ee),Ee.shiftKey?pc(Pe[Pe.length-1]):pc(Pe[1])),O.current[1]==="floating"&&Te===C&&Ee.shiftKey&&(h0(Ee),pc(Pe[0]))}}let oe=Dn(C);return oe.addEventListener("keydown",ce),()=>{oe.removeEventListener("keydown",ce)}},[r,E,C,u,O,N,ae,ue]),X.useEffect(()=>{if(r||!T)return;function ce(oe){let Ee=Zi(oe),Te=ae().indexOf(Ee);Te!==-1&&(_.current=Te)}return T.addEventListener("focusin",ce),()=>{T.removeEventListener("focusin",ce)}},[r,T,ae]),X.useEffect(()=>{if(r||!f)return;function ce(){U.current=!0,setTimeout(()=>{U.current=!1})}function oe(Te){let ve=Te.relatedTarget,me=Te.currentTarget,vt=Zi(Te);queueMicrotask(()=>{let Ge=S(),Ve=!(On(E,ve)||On(T,ve)||On(ve,T)||On(H?.portalNode,ve)||ve!=null&&ve.hasAttribute(sl("focus-guard"))||L&&(il(L.nodesRef.current,Ge).find(Jt=>{var kt,Mt;return On((kt=Jt.context)==null?void 0:kt.elements.floating,ve)||On((Mt=Jt.context)==null?void 0:Mt.elements.domReference,ve)})||ov(L.nodesRef.current,Ge).find(Jt=>{var kt,Mt,Hn;return[(kt=Jt.context)==null?void 0:kt.elements.floating,d0((Mt=Jt.context)==null?void 0:Mt.elements.floating)].includes(ve)||((Hn=Jt.context)==null?void 0:Hn.elements.domReference)===ve})));if(me===E&&C&&cP(C,O),l&&me!==E&&!(vt!=null&&vt.isConnected)&&zo(Dn(C))===Dn(C).body){Qt(C)&&C.focus();let Jt=_.current,kt=ae(),Mt=kt[Jt]||kt[kt.length-1]||C;Qt(Mt)&&Mt.focus()}if(g.current.insideReactTree){g.current.insideReactTree=!1;return}(N||!u)&&ve&&Ve&&!U.current&&ve!==uP()&&(P.current=!0,b(!1,Te,"focus-out"))})}let Ee=!!(!L&&H);function Pe(){Wr(re),g.current.insideReactTree=!0,re.current=window.setTimeout(()=>{g.current.insideReactTree=!1})}if(T&&Qt(E))return E.addEventListener("focusout",oe),E.addEventListener("pointerdown",ce),T.addEventListener("focusout",oe),Ee&&T.addEventListener("focusout",Pe,!0),()=>{E.removeEventListener("focusout",oe),E.removeEventListener("pointerdown",ce),T.removeEventListener("focusout",oe),Ee&&T.removeEventListener("focusout",Pe,!0)}},[r,E,T,C,u,L,H,b,f,l,ae,N,S,O,g]);let de=X.useRef(null),Le=X.useRef(null),ye=aP([de,H?.beforeInsideRef]),qe=aP([Le,H?.afterInsideRef]);X.useEffect(()=>{var ce,oe;if(r||!T)return;let Ee=Array.from((H==null||(ce=H.portalNode)==null?void 0:ce.querySelectorAll("["+sl("portal")+"]"))||[]),Te=(oe=(L?ov(L.nodesRef.current,S()):[]).find(vt=>{var Ge;return iv(((Ge=vt.context)==null?void 0:Ge.elements.domReference)||null)}))==null||(oe=oe.context)==null?void 0:oe.elements.domReference,ve=[T,Te,...Ee,...v(),I.current,F.current,de.current,Le.current,H?.beforeOutsideRef.current,H?.afterOutsideRef.current,O.current.includes("reference")||N?E:null].filter(vt=>vt!=null),me=u||N?oP(ve,!A,A):oP(ve);return()=>{me()}},[r,E,T,u,O,H,N,k,A,L,S,v]),or(()=>{if(r||!Qt(C))return;let ce=Dn(C),oe=zo(ce);queueMicrotask(()=>{let Ee=ue(C),Pe=G.current,Te=(typeof Pe=="number"?Ee[Pe]:Pe.current)||C,ve=On(C,oe);!x&&!ve&&p&&pc(Te,{preventScroll:Te===C})})},[r,p,C,x,ue,G]),or(()=>{if(r||!C)return;let ce=Dn(C),oe=zo(ce);XJ(oe);function Ee(ve){let{reason:me,event:vt,nested:Ge}=ve;if(["hover","safe-polygon"].includes(me)&&vt.type==="mouseleave"&&(P.current=!0),me==="outside-press")if(Ge)P.current=!1;else if(w6(vt)||N6(vt))P.current=!1;else{let Ve=!1;document.createElement("div").focus({get preventScroll(){return Ve=!0,!1}}),Ve?P.current=!1:P.current=!0}}y.on("openchange",Ee);let Pe=ce.createElement("span");Pe.setAttribute("tabindex","-1"),Pe.setAttribute("aria-hidden","true"),Object.assign(Pe.style,Sv),ee&&E&&E.insertAdjacentElement("afterend",Pe);function Te(){if(typeof z.current=="boolean"){let ve=E||uP();return ve&&ve.isConnected?ve:Pe}return z.current.current||Pe}return()=>{y.off("openchange",Ee);let ve=zo(ce),me=On(T,ve)||L&&il(L.nodesRef.current,S(),!1).some(Ge=>{var Ve;return On((Ve=Ge.context)==null?void 0:Ve.elements.floating,ve)}),vt=Te();queueMicrotask(()=>{let Ge=QJ(vt);z.current&&!P.current&&Qt(Ge)&&(!(Ge!==ve&&ve!==ce.body)||me)&&Ge.focus({preventScroll:!0}),Pe.remove()})}},[r,T,C,z,g,y,L,ee,E,S]),X.useEffect(()=>(queueMicrotask(()=>{P.current=!1}),()=>{queueMicrotask(xv)}),[r]),or(()=>{if(!r&&H)return H.setFocusManagerState({modal:u,closeOnFocusOut:f,open:p,onOpenChange:b,domReference:E}),()=>{H.setFocusManagerState(null)}},[r,H,u,p,b,f,E]),or(()=>{r||C&&cP(C,O)},[r,C,O]);function De(ce){return r||!c||!u?null:(0,vr.jsx)(ZJ,{ref:ce==="start"?I:F,onClick:oe=>b(!1,oe.nativeEvent),children:typeof c=="string"?c:"Dismiss"})}let ke=!r&&k&&(u?!N:!0)&&(ee||u);return(0,vr.jsxs)(vr.Fragment,{children:[ke&&(0,vr.jsx)(T0,{"data-type":"inside",ref:ye,onFocus:ce=>{if(u){let Ee=ue();pc(i[0]==="reference"?Ee[0]:Ee[Ee.length-1])}else if(H!=null&&H.preserveTabOrder&&H.portalNode)if(P.current=!1,cc(ce,H.portalNode)){let Ee=sv(E);Ee?.focus()}else{var oe;(oe=H.beforeOutsideRef.current)==null||oe.focus()}}}),!N&&De("start"),n,De("end"),ke&&(0,vr.jsx)(T0,{"data-type":"inside",ref:qe,onFocus:ce=>{if(u)pc(ue()[0]);else if(H!=null&&H.preserveTabOrder&&H.portalNode)if(f&&(P.current=!0),cc(ce,H.portalNode)){let Ee=av(E);Ee?.focus()}else{var oe;(oe=H.afterOutsideRef.current)==null||oe.focus()}}})]})}function fP(e){return Qt(e.target)&&e.target.tagName==="BUTTON"}function JJ(e){return Qt(e.target)&&e.target.tagName==="A"}function dP(e){return f0(e)}function x0(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,elements:{domReference:o}}=e,{enabled:s=!0,event:a="click",toggle:l=!0,ignoreMouse:u=!1,keyboardHandlers:c=!0,stickIfOpen:f=!0}=t,d=X.useRef(),h=X.useRef(!1),p=X.useMemo(()=>({onPointerDown(b){d.current=b.pointerType},onMouseDown(b){let y=d.current;b.button===0&&a!=="click"&&(lc(y,!0)&&u||(n&&l&&(!(i.current.openEvent&&f)||i.current.openEvent.type==="mousedown")?r(!1,b.nativeEvent,"click"):(b.preventDefault(),r(!0,b.nativeEvent,"click"))))},onClick(b){let y=d.current;if(a==="mousedown"&&d.current){d.current=void 0;return}lc(y,!0)&&u||(n&&l&&(!(i.current.openEvent&&f)||i.current.openEvent.type==="click")?r(!1,b.nativeEvent,"click"):r(!0,b.nativeEvent,"click"))},onKeyDown(b){d.current=void 0,!(b.defaultPrevented||!c||fP(b))&&(b.key===" "&&!dP(o)&&(b.preventDefault(),h.current=!0),!JJ(b)&&b.key==="Enter"&&r(!(n&&l),b.nativeEvent,"click"))},onKeyUp(b){b.defaultPrevented||!c||fP(b)||dP(o)||b.key===" "&&h.current&&(h.current=!1,r(!(n&&l),b.nativeEvent,"click"))}}),[i,o,a,u,c,r,n,f,l]);return X.useMemo(()=>s?{reference:p}:{},[s,p])}var eee={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},tee={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},hP=e=>{var t,n;return{escapeKey:typeof e=="boolean"?e:(t=e?.escapeKey)!=null?t:!1,outsidePress:typeof e=="boolean"?e:(n=e?.outsidePress)!=null?n:!0}};function v0(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,elements:i,dataRef:o}=e,{enabled:s=!0,escapeKey:a=!0,outsidePress:l=!0,outsidePressEvent:u="pointerdown",referencePress:c=!1,referencePressEvent:f="pointerdown",ancestorScroll:d=!1,bubbles:h,capture:p}=t,b=S0(),y=sr(typeof l=="function"?l:()=>!1),g=typeof l=="function"?y:l,E=X.useRef(!1),{escapeKey:T,outsidePress:S}=hP(h),{escapeKey:v,outsidePress:x}=hP(p),N=X.useRef(!1),D=sr(L=>{var H;if(!n||!s||!a||L.key!=="Escape"||N.current)return;let I=(H=o.current.floatingContext)==null?void 0:H.nodeId,F=b?il(b.nodesRef.current,I):[];if(!T&&(L.stopPropagation(),F.length>0)){let P=!0;if(F.forEach(U=>{var _;if((_=U.context)!=null&&_.open&&!U.context.dataRef.current.__escapeKeyBubbles){P=!1;return}}),!P)return}r(!1,C6(L)?L.nativeEvent:L,"escape-key")}),k=sr(L=>{var H;let I=()=>{var F;D(L),(F=Zi(L))==null||F.removeEventListener("keydown",I)};(H=Zi(L))==null||H.addEventListener("keydown",I)}),A=sr(L=>{var H;let I=o.current.insideReactTree;o.current.insideReactTree=!1;let F=E.current;if(E.current=!1,u==="click"&&F||I||typeof g=="function"&&!g(L))return;let P=Zi(L),U="["+sl("inert")+"]",_=Dn(i.floating).querySelectorAll(U),re=St(P)?P:null;for(;re&&!Xi(re);){let ue=Wi(re);if(Xi(ue)||!St(ue))break;re=ue}if(_.length&&St(P)&&!A6(P)&&!On(P,i.floating)&&Array.from(_).every(ue=>!On(re,ue)))return;if(Qt(P)&&z){let ue=Xi(P),de=Yr(P),Le=/auto|scroll/,ye=ue||Le.test(de.overflowX),qe=ue||Le.test(de.overflowY),De=ye&&P.clientWidth>0&&P.scrollWidth>P.clientWidth,ke=qe&&P.clientHeight>0&&P.scrollHeight>P.clientHeight,ce=de.direction==="rtl",oe=ke&&(ce?L.offsetX<=P.offsetWidth-P.clientWidth:L.offsetX>P.clientWidth),Ee=De&&L.offsetY>P.clientHeight;if(oe||Ee)return}let ee=(H=o.current.floatingContext)==null?void 0:H.nodeId,C=b&&il(b.nodesRef.current,ee).some(ue=>{var de;return c0(L,(de=ue.context)==null?void 0:de.elements.floating)});if(c0(L,i.floating)||c0(L,i.domReference)||C)return;let ae=b?il(b.nodesRef.current,ee):[];if(ae.length>0){let ue=!0;if(ae.forEach(de=>{var Le;if((Le=de.context)!=null&&Le.open&&!de.context.dataRef.current.__outsidePressBubbles){ue=!1;return}}),!ue)return}r(!1,L,"outside-press")}),O=sr(L=>{var H;let I=()=>{var F;A(L),(F=Zi(L))==null||F.removeEventListener(u,I)};(H=Zi(L))==null||H.addEventListener(u,I)});X.useEffect(()=>{if(!n||!s)return;o.current.__escapeKeyBubbles=T,o.current.__outsidePressBubbles=S;let L=-1;function H(_){r(!1,_,"ancestor-scroll")}function I(){window.clearTimeout(L),N.current=!0}function F(){L=window.setTimeout(()=>{N.current=!1},rc()?5:0)}let P=Dn(i.floating);a&&(P.addEventListener("keydown",v?k:D,v),P.addEventListener("compositionstart",I),P.addEventListener("compositionend",F)),g&&P.addEventListener(u,x?O:A,x);let U=[];return d&&(St(i.domReference)&&(U=Kr(i.domReference)),St(i.floating)&&(U=U.concat(Kr(i.floating))),!St(i.reference)&&i.reference&&i.reference.contextElement&&(U=U.concat(Kr(i.reference.contextElement)))),U=U.filter(_=>{var re;return _!==((re=P.defaultView)==null?void 0:re.visualViewport)}),U.forEach(_=>{_.addEventListener("scroll",H)}),()=>{a&&(P.removeEventListener("keydown",v?k:D,v),P.removeEventListener("compositionstart",I),P.removeEventListener("compositionend",F)),g&&P.removeEventListener(u,x?O:A,x),U.forEach(_=>{_.removeEventListener("scroll",H)}),window.clearTimeout(L)}},[o,i,a,g,u,n,r,d,s,T,S,D,v,k,A,x,O]),X.useEffect(()=>{o.current.insideReactTree=!1},[o,g,u]);let G=X.useMemo(()=>({onKeyDown:D,...c&&{[eee[f]]:L=>{r(!1,L.nativeEvent,"reference-press")},...f!=="click"&&{onClick(L){r(!1,L.nativeEvent,"reference-press")}}}}),[D,r,c,f]),z=X.useMemo(()=>{function L(H){H.button===0&&(E.current=!0)}return{onKeyDown:D,onMouseDown:L,onMouseUp:L,[tee[u]]:()=>{o.current.insideReactTree=!0}}},[D,u,o]);return X.useMemo(()=>s?{reference:G,floating:z}:{},[s,G,z])}function nee(e){let{open:t=!1,onOpenChange:n,elements:r}=e,i=Ev(),o=X.useRef({}),[s]=X.useState(()=>UJ()),a=Tv()!=null,[l,u]=X.useState(r.reference),c=sr((h,p,b)=>{o.current.openEvent=h?p:void 0,s.emit("openchange",{open:h,event:p,reason:b,nested:a}),n?.(h,p,b)}),f=X.useMemo(()=>({setPositionReference:u}),[]),d=X.useMemo(()=>({reference:l||r.reference||null,floating:r.floating||null,domReference:r.reference}),[l,r.reference,r.floating]);return X.useMemo(()=>({dataRef:o,open:t,onOpenChange:c,elements:d,events:s,floatingId:i,refs:f}),[t,c,d,s,i,f])}function A0(e){var t,n;let{elements:r,...i}=e===void 0?{}:e,{nodeId:o}=i,s=nee({...i,elements:{reference:(t=r?.reference)!=null?t:null,floating:(n=r?.floating)!=null?n:null}}),a=i.rootContext||s,l=a.elements,[u,c]=X.useState(null),[f,d]=X.useState(null),p=l?.domReference||u,b=X.useRef(null),y=S0();or(()=>{p&&(b.current=p)},[p]);let g=Q6({...i,elements:{...l,...f&&{reference:f}}}),E=X.useCallback(N=>{let D=St(N)?{getBoundingClientRect:()=>N.getBoundingClientRect(),getClientRects:()=>N.getClientRects(),contextElement:N}:N;d(D),g.refs.setReference(D)},[g.refs]),T=X.useCallback(N=>{(St(N)||N===null)&&(b.current=N,c(N)),(St(g.refs.reference.current)||g.refs.reference.current===null||N!==null&&!St(N))&&g.refs.setReference(N)},[g.refs]),S=X.useMemo(()=>({...g.refs,setReference:T,setPositionReference:E,domReference:b}),[g.refs,T,E]),v=X.useMemo(()=>({...g.elements,domReference:p}),[g.elements,p]),x=X.useMemo(()=>({...g,...a,refs:S,elements:v,nodeId:o}),[g,S,v,o,a]);return or(()=>{a.dataRef.current.floatingContext=x;let N=y?.nodesRef.current.find(D=>D.id===o);N&&(N.context=x)}),X.useMemo(()=>({...g,context:x,refs:S,elements:v}),[g,S,v,x])}function gv(){return x6()&&rv()}function yP(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,events:i,dataRef:o,elements:s}=e,{enabled:a=!0,visibleOnly:l=!0}=t,u=X.useRef(!1),c=X.useRef(-1),f=X.useRef(!0);X.useEffect(()=>{if(!a)return;let h=Mn(s.domReference);function p(){!n&&Qt(s.domReference)&&s.domReference===zo(Dn(s.domReference))&&(u.current=!0)}function b(){f.current=!0}function y(){f.current=!1}return h.addEventListener("blur",p),gv()&&(h.addEventListener("keydown",b,!0),h.addEventListener("pointerdown",y,!0)),()=>{h.removeEventListener("blur",p),gv()&&(h.removeEventListener("keydown",b,!0),h.removeEventListener("pointerdown",y,!0))}},[s.domReference,n,a]),X.useEffect(()=>{if(!a)return;function h(p){let{reason:b}=p;(b==="reference-press"||b==="escape-key")&&(u.current=!0)}return i.on("openchange",h),()=>{i.off("openchange",h)}},[i,a]),X.useEffect(()=>()=>{Wr(c)},[]);let d=X.useMemo(()=>({onMouseLeave(){u.current=!1},onFocus(h){if(u.current)return;let p=Zi(h.nativeEvent);if(l&&St(p)){if(gv()&&!h.relatedTarget){if(!f.current&&!f0(p))return}else if(!_6(p))return}r(!0,h.nativeEvent,"focus")},onBlur(h){u.current=!1;let p=h.relatedTarget,b=h.nativeEvent,y=St(p)&&p.hasAttribute(sl("focus-guard"))&&p.getAttribute("data-type")==="outside";c.current=window.setTimeout(()=>{var g;let E=zo(s.domReference?s.domReference.ownerDocument:document);!p&&E===s.domReference||On((g=o.current.floatingContext)==null?void 0:g.refs.floating.current,E)||On(s.domReference,E)||y||r(!1,b,"focus")})}}),[o,s.domReference,r,l]);return X.useMemo(()=>a?{reference:d}:{},[a,d])}function bv(e,t,n){let r=new Map,i=n==="item",o=e;if(i&&e){let{[Z6]:s,[J6]:a,...l}=e;o=l}return{...n==="floating"&&{tabIndex:-1,[kJ]:""},...o,...t.map(s=>{let a=s?s[n]:null;return typeof a=="function"?e?a(e):null:a}).concat(e).reduce((s,a)=>(a&&Object.entries(a).forEach(l=>{let[u,c]=l;if(!(i&&[Z6,J6].includes(u)))if(u.indexOf("on")===0){if(r.has(u)||r.set(u,[]),typeof c=="function"){var f;(f=r.get(u))==null||f.push(c),s[u]=function(){for(var d,h=arguments.length,p=new Array(h),b=0;by(...p)).find(y=>y!==void 0)}}}else s[u]=c}),s),{})}}function _0(e){e===void 0&&(e=[]);let t=e.map(a=>a?.reference),n=e.map(a=>a?.floating),r=e.map(a=>a?.item),i=X.useCallback(a=>bv(a,e,"reference"),t),o=X.useCallback(a=>bv(a,e,"floating"),n),s=X.useCallback(a=>bv(a,e,"item"),r);return X.useMemo(()=>({getReferenceProps:i,getFloatingProps:o,getItemProps:s}),[i,o,s])}var ree=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function EP(e,t){var n,r;t===void 0&&(t={});let{open:i,elements:o,floatingId:s}=e,{enabled:a=!0,role:l="dialog"}=t,u=Ev(),c=((n=o.domReference)==null?void 0:n.id)||u,f=X.useMemo(()=>{var E;return((E=d0(o.floating))==null?void 0:E.id)||s},[o.floating,s]),d=(r=ree.get(l))!=null?r:l,p=Tv()!=null,b=X.useMemo(()=>d==="tooltip"||l==="label"?{["aria-"+(l==="label"?"labelledby":"describedby")]:i?f:void 0}:{"aria-expanded":i?"true":"false","aria-haspopup":d==="alertdialog"?"dialog":d,"aria-controls":i?f:void 0,...d==="listbox"&&{role:"combobox"},...d==="menu"&&{id:c},...d==="menu"&&p&&{role:"menuitem"},...l==="select"&&{"aria-autocomplete":"none"},...l==="combobox"&&{"aria-autocomplete":"list"}},[d,f,p,i,c,l]),y=X.useMemo(()=>{let E={id:f,...d&&{role:d}};return d==="tooltip"||l==="label"?E:{...E,...d==="menu"&&{"aria-labelledby":c}}},[d,f,c,l]),g=X.useCallback(E=>{let{active:T,selected:S}=E,v={role:"option",...T&&{id:f+"-fui-option"}};switch(l){case"select":case"combobox":return{...v,"aria-selected":S}}return{}},[f,l]);return X.useMemo(()=>a?{reference:b,floating:y,item:g}:{},[a,b,y,g])}var Yn=q(ge(),1);function yc(e){try{return new URL(e).hostname||e}catch{return e}}function TP(e){return e.filter(t=>t.citation!=null).map(t=>({url:t.url??"",domain:t.label??yc(t.url??""),title:t.citation?.title})).filter(t=>t.url!=="")}function SP(e){let t=new Map;for(let n of e){let r=t.get(n.url);r?!r.title&&n.title&&(r.title=n.title):t.set(n.url,{...n})}return[...t.values()]}var vv=q(ie(),1),xP=(0,Yn.createContext)(null),vP=(0,Yn.createContext)([]);function AP({children:e}){let t=(0,Yn.useRef)(new Map),[n,r]=(0,Yn.useState)([]),i=(0,Yn.useCallback)(()=>{let l=[];for(let u of t.current.values())l.push(...u);r(SP(l))},[]),o=(0,Yn.useCallback)((l,u)=>{t.current.set(l,u),i()},[i]),s=(0,Yn.useCallback)(l=>{t.current.delete(l)&&i()},[i]),a=(0,Yn.useMemo)(()=>({register:o,unregister:s}),[o,s]);return(0,vv.jsx)(xP.Provider,{value:a,children:(0,vv.jsx)(vP.Provider,{value:n,children:e})})}function _P(){return(0,Yn.useContext)(xP)}function CP(){return(0,Yn.useContext)(vP)}function Ec(e,t=[]){let n={};if(!(e instanceof HTMLElement))return{style:n};let r=new Set(t),i=getComputedStyle(e);for(let s=0;s(0,w0.jsx)(w0.Fragment,{children:e?el(e):""});var N0={"shiny-chat-raw-html":Uo,"shinychat-raw-html":Uo,"shiny-tool-request":Uo,"shiny-tool-result":Uo,"shiny-web-activity":Uo,"shiny-web-search":Uo,"shiny-web-search-results":Uo,"shiny-web-fetch":Uo};var $e=q(ie(),1);function Jd(e,t){let n=e.properties?.[t];return typeof n=="string"?n:void 0}function oee(e,t){let n=e.properties?.[t];return typeof n=="number"?n:void 0}function NP(e){return e.children.map(t=>t.type==="text"?t.value:t.type==="element"?NP(t):"").join("")}function see(e){return e?(e.children??[]).filter(t=>t.type==="element"&&t.tagName==="shiny-aside").map(t=>{let n=Jd(t,"url"),r=Jd(t,"label"),i=NP(t).trim(),o=t.properties?.dataCitation==null?void 0:{title:i===""||i===n?void 0:i,cited_quote:Jd(t,"cited-quote")};return{label:r??(o&&n?yc(n):void 0),url:n,icon:Jd(t,"icon"),body:t.children.length>0?el(t.children):void 0,index:oee(t,"index"),citation:o,groundingId:Jd(t,"dataGroundingId")}}):[]}function _v(e){try{return`https://icons.duckduckgo.com/ip3/${encodeURIComponent(new URL(e).hostname)}.ico`}catch{return}}function Av({entry:e,deriveFavicon:t}){let n=e.icon||(t&&e.url?_v(e.url):void 0),[r,i]=(0,Ar.useState)(null);return!n||r===n?null:(0,$e.jsx)("img",{src:n,alt:"",onError:()=>i(n)})}function wP({direction:e}){return(0,$e.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:e==="prev"?{transform:"scaleX(-1)"}:void 0,children:(0,$e.jsx)("path",{d:"M4.5 2.5L8 6L4.5 9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var Cv=(0,Ar.memo)(function({node:t,untrusted:n=!1}){let r=see(t),i=t?.properties?.[_d]!=null;return(0,$e.jsx)(aee,{entries:r,pending:i,untrusted:n})}),RP=(0,Ar.memo)(function({node:t}){return(0,$e.jsx)(Cv,{node:t,untrusted:!0})}),aee=(0,Ar.memo)(function({entries:t,pending:n=!1,untrusted:r=!1}){let i=ku(),o=t.findIndex(I=>I.label),[s,a]=(0,Ar.useState)(!1),[l,u]=(0,Ar.useState)(0),c=_P(),f=(0,Ar.useId)(),d=n?"":JSON.stringify(TP(t)),h=t[l]?.groundingId,{refs:p,floatingStyles:b,context:y,getReferenceProps:g,getFloatingProps:E}=C0(s,a);if((0,Ar.useEffect)(()=>{if(!c||d==="")return;let I=JSON.parse(d);if(I.length!==0)return c.register(f,I),()=>c.unregister(f)},[c,f,d]),(0,Ar.useEffect)(()=>{s&&u(o===-1?0:o)},[s,o]),(0,Ar.useEffect)(()=>{if(!s||!h)return;let I=p.domReference.current;if(!(I instanceof HTMLElement))return;let F=I.closest("p, li");if(!F)return;let P=[...F.querySelectorAll("[data-aside-grounding]")].filter(U=>U.dataset.asideGrounding?.split(" ").includes(h));for(let U of P)U.dataset.active="";return()=>{for(let U of P)delete U.dataset.active}},[s,h,p.domReference]),n||t.length===0)return null;let T=t.length-1,S=o!==-1&&t.every(I=>I.label===t[o].label),v=T>0&&!S,x=t[0],N=t.filter(I=>I.index!==void 0),D=N.length===t.length||o===-1,k=N.length===t.length&&t.some(I=>I.label!==void 0),A=N.map(I=>I.index).join(", "),O=t[l],G=Ec(p.domReference.current),z=k?t.length===1?`Aside ${A}: ${x?.label}`:`Asides ${A}: ${t.map(I=>I.label??"Untitled source").join("; ")}`:D?`Aside ${x?.index}`:v?`${t[o].label} (+${T} more)`:t[o].label,L=k?"shiny-aside-pill shiny-aside-pill--count shiny-aside-pill--number":D?"shiny-aside-pill shiny-aside-pill--count":"shiny-aside-pill",H=!!O.label&&(k||t.length>1||!!O.url);return(0,$e.jsxs)("span",{className:"shiny-aside-group",children:[(0,$e.jsx)("button",{ref:p.setReference,type:"button",className:L,"data-shinychat-aside-display":k?"compact":void 0,"aria-label":z,...g(),children:D?(0,$e.jsx)("span",{className:"shiny-aside-pill__count",children:k?`[${A}]`:x?.index}):(0,$e.jsxs)($e.Fragment,{children:[(0,$e.jsx)(Av,{entry:t[o],deriveFavicon:i}),(0,$e.jsx)("span",{className:"shiny-aside-pill__label",children:t[o].label}),v&&(0,$e.jsxs)("span",{className:"shiny-aside-pill__overflow",children:["+",T]})]})}),s&&(0,$e.jsx)(gc,{children:(0,$e.jsx)(bc,{context:y,modal:!1,initialFocus:-1,returnFocus:!0,children:(0,$e.jsxs)("div",{ref:p.setFloating,className:"shiny-aside-popover shiny-floating-overlay",style:{...G.style,...b},"data-bs-theme":G.theme,"aria-label":z,...E(),children:[t.length>1&&(0,$e.jsxs)("div",{className:"shiny-aside-popover__nav",children:[(0,$e.jsxs)("div",{className:"shiny-aside-popover__nav-arrows",children:[(0,$e.jsx)("button",{type:"button","aria-label":"Previous source",onClick:()=>u(I=>(I-1+t.length)%t.length),children:(0,$e.jsx)(wP,{direction:"prev"})}),(0,$e.jsx)("button",{type:"button","aria-label":"Next source",onClick:()=>u(I=>(I+1)%t.length),children:(0,$e.jsx)(wP,{direction:"next"})})]}),(0,$e.jsxs)("span",{className:"shiny-aside-popover__count","aria-hidden":"true",children:[l+1," / ",t.length]}),(0,$e.jsxs)("span",{className:"visually-hidden",role:"status","aria-live":"polite","aria-atomic":"true",children:["Source ",l+1," of ",t.length,":"," ",O.label??"Untitled source"]})]}),H&&(0,$e.jsx)($e.Fragment,{children:O.url?(0,$e.jsxs)("a",{className:"shiny-aside-popover__label",href:O.url,...Yi,children:[(0,$e.jsx)(Av,{entry:O,deriveFavicon:i}),(0,$e.jsx)("span",{className:"shiny-aside-popover__label-text",children:O.label})]}):(0,$e.jsxs)("div",{className:"shiny-aside-popover__label",children:[(0,$e.jsx)(Av,{entry:O,deriveFavicon:i}),(0,$e.jsx)("span",{className:"shiny-aside-popover__label-text",children:O.label})]})}),O.body&&(0,$e.jsx)("div",{className:"shiny-aside-popover__body",children:(0,$e.jsx)(Xt,{content:O.body,contentType:"html",streaming:!1,tagToComponentMap:r?N0:void 0})})]})})})]})});var Xs={"shiny-aside":t6,"shiny-aside-group":Cv},Tc={...Xs,"shiny-aside-group":RP,...N0};var qo=q(ge(),1);var R0=q(ge(),1);function Qs(){let[e,t]=(0,R0.useState)(()=>typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return(0,R0.useEffect)(()=>{let n=window.matchMedia("(prefers-reduced-motion: reduce)"),r=i=>t(i.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}var lee=200;function wv(e,t){let n=Qs(),[r,i]=(0,qo.useState)({key:t,value:e}),[o,s]=(0,qo.useState)(!1),a=(0,qo.useRef)({key:t,value:e}),l=(0,qo.useRef)(null);return(0,qo.useLayoutEffect)(()=>{a.current={key:t,value:e};let u=()=>{l.current!==null&&(clearTimeout(l.current),l.current=null)};if(n){u(),t!==r.key&&i({key:t,value:e}),s(!1);return}if(t===r.key){u(),s(!1);return}l.current===null&&(l.current=setTimeout(()=>{l.current=null,i(a.current),s(!1)},lee)),s(!0)},[t,e,r.key,n]),(0,qo.useLayoutEffect)(()=>()=>{l.current!==null&&clearTimeout(l.current)},[]),{visible:r.value,fading:o}}function kP(e){return wv(e,e)}var MP='',Nv='',k0='',M0=` +`,t);return e.slice(n,r===-1?e.length:r)}function $v(e,t){let n=0,r=0;for(;r")return i;n++,(e[n]===" "||e[n]===" ")&&n++,r++}return n}function HZ(e){let t=0,n=0;for(;;){let r=t;for(;t-r<3&&e[t]===" ";)t++;if(e[t]!==">")return n;t++,(e[t]===" "||e[t]===" ")&&t++,n++}}function J3(e){let t=0;for(let n of e)if(n===" ")t++;else if(n===" ")t+=4-t%4;else break;return t}var e6=Ua().use($a).use(Xa,qd).use(X3).use(Qa,{allowDangerousHtml:!0}).use(i2).use(D3).use(Bd).use(L3).use(o2).use(j3).use(H3).use(Vv).use(Wv).use(Kv).use(iS).use(Fv).use(Bv).use(nS).use(Hv).use($g,{detect:!1,ignoreMissing:!0}).freeze(),t6=Ua().use(Vv).use(Wv).use(Kv).use(iS).use(Fv).use(Bv).use(nS).use(Hv).freeze(),n6=Ua().use($a).use(Xa,qd).use(f3).use(Qa,{allowDangerousHtml:!0}).use(Bd).use(Lg).freeze();var n0=q(pe(),1),Gd=q(ie(),1);function r6({children:e,node:t,...n}){let[r,i]=(0,n0.useState)(!1),o=(0,n0.useRef)(null);return(0,Gd.jsxs)("pre",{ref:o,...n,children:[(0,Gd.jsx)("button",{onClick:async()=>{let l=o.current?.querySelector("code")?.textContent??"";try{await navigator.clipboard.writeText(l)}catch{let u=document.createElement("textarea");u.value=l,u.style.position="fixed",u.style.opacity="0",document.body.appendChild(u),u.select(),document.execCommand("copy"),document.body.removeChild(u)}i(!0),setTimeout(()=>i(!1),2e3)},className:`code-copy-button${r?" code-copy-button-checked":""}`,title:"Copy to clipboard","aria-label":"Copy to clipboard",children:(0,Gd.jsx)("i",{className:"bi"})}),e]})}var i6=q(ie(),1);function jv({children:e,node:t,...n}){return(0,i6.jsx)("table",{className:"table table-striped table-bordered",...n,children:e})}var Gr=q(ie(),1),FZ={pre:r6,table:jv},zZ={table:jv};function Xt({content:e,contentType:t,role:n,streaming:r=!1,tagToComponentMap:i,prefix:o}){let s=n==="user",a=t==="text",l=t==="html",u=l?t6:s?n6:e6,c=(0,Bo.useMemo)(()=>s?{...zZ,...i}:{...FZ,...i},[s,i]),f=r&&!a?c2(e):e,d=(0,Bo.useMemo)(()=>a?null:l?l2(f,u):a2(f,u),[f,a,l,u]),h=f2(r&&!a,e),p=(0,Bo.useMemo)(()=>d?u2(d,{tagToComponentMap:c,streaming:r,streamingDot:h}):null,[d,r,h,c]);return a?(0,Gr.jsxs)(Gr.Fragment,{children:[o,o&&" ",e]}):o&&p?(0,Gr.jsx)(Gr.Fragment,{children:UZ(p,o)}):(0,Gr.jsx)(Gr.Fragment,{children:p})}function UZ(e,t){let n=Bo.default.Children.toArray(e.props.children);for(let r=0;r"u"?!1:e instanceof ShadowRoot||e instanceof Mn(e).ShadowRoot}function Kd(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Yr(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!=="inline"&&i!=="contents"}function s6(e){return/^(table|td|th)$/.test($i(e))}function Yd(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var qZ=/transform|translate|scale|rotate|perspective|filter/,VZ=/paint|layout|strict|content/,nl=e=>!!e&&e!=="none",Xv;function o0(e){let t=vt(e)?Yr(e):e;return nl(t.transform)||nl(t.translate)||nl(t.scale)||nl(t.rotate)||nl(t.perspective)||!ic()&&(nl(t.backdropFilter)||nl(t.filter))||qZ.test(t.willChange||"")||VZ.test(t.contain||"")}function a6(e){let t=Wi(e);for(;Qt(t)&&!Xi(t);){if(o0(t))return t;if(Yd(t))return null;t=Wi(t)}return null}function ic(){return Xv==null&&(Xv=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Xv}function Xi(e){return/^(html|body|#document)$/.test($i(e))}function Yr(e){return Mn(e).getComputedStyle(e)}function Wd(e){return vt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Wi(e){if($i(e)==="html")return e;let t=e.assignedSlot||e.parentNode||rc(e)&&e.host||ji(e);return rc(t)?t.host:t}function l6(e){let t=Wi(e);return Xi(t)?(e.ownerDocument||e).body:Qt(t)&&Kd(t)?t:l6(t)}function Kr(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let i=l6(e),o=i===((r=e.ownerDocument)==null?void 0:r.body),s=Mn(i);if(o){let a=s0(s);return t.concat(s,s.visualViewport||[],Kd(i)?i:[],a&&n?Kr(a):[])}else return t.concat(i,Kr(i,[],n))}function s0(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var lc=q(pe(),1),_6=q(pe(),1);var oc=Math.min,Ho=Math.max,jd=Math.round,Xd=Math.floor,Qi=e=>({x:e,y:e}),GZ={left:"right",right:"left",bottom:"top",top:"bottom"};function f6(e,t,n){return Ho(e,oc(t,n))}function Qd(e,t){return typeof e=="function"?e(t):e}function rl(e){return e.split("-")[0]}function Zd(e){return e.split("-")[1]}function Qv(e){return e==="x"?"y":"x"}function Zv(e){return e==="y"?"height":"width"}function Fo(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function Jv(e){return Qv(Fo(e))}function d6(e,t,n){n===void 0&&(n=!1);let r=Zd(e),i=Jv(e),o=Zv(i),s=i==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[o]>t.floating[o]&&(s=$d(s)),[s,$d(s)]}function h6(e){let t=$d(e);return[a0(e),t,a0(t)]}function a0(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var u6=["left","right"],c6=["right","left"],KZ=["top","bottom"],YZ=["bottom","top"];function WZ(e,t,n){switch(e){case"top":case"bottom":return n?t?c6:u6:t?u6:c6;case"left":case"right":return t?KZ:YZ;default:return[]}}function p6(e,t,n,r){let i=Zd(e),o=WZ(rl(e),n==="start",r);return i&&(o=o.map(s=>s+"-"+i),t&&(o=o.concat(o.map(a0)))),o}function $d(e){let t=rl(e);return GZ[t]+e.slice(t.length)}function $Z(e){var t,n,r,i;return{top:(t=e.top)!=null?t:0,right:(n=e.right)!=null?n:0,bottom:(r=e.bottom)!=null?r:0,left:(i=e.left)!=null?i:0}}function m6(e){return typeof e!="number"?$Z(e):{top:e,right:e,bottom:e,left:e}}function il(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}var jZ=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","area[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],l0=jZ.join(","),b6=typeof Element>"u",sc=b6?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,u0=!b6&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e?.ownerDocument},c0=function(t,n){var r;n===void 0&&(n=!0);var i=t==null||(r=t.getAttribute)===null||r===void 0?void 0:r.call(t,"inert"),o=i===""||i==="true",s=o||n&&t&&(typeof t.closest=="function"?t.closest("[inert]"):c0(t.parentNode));return s},XZ=function(t){var n,r=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"contenteditable");return r===""||r==="true"},y6=function(t,n,r){if(c0(t))return[];var i=Array.prototype.slice.apply(t.querySelectorAll(l0));return n&&sc.call(t,l0)&&i.unshift(t),i=i.filter(r),i},f0=function(t,n,r){for(var i=[],o=Array.from(t);o.length;){var s=o.shift();if(!c0(s,!1))if(s.tagName==="SLOT"){var a=s.assignedElements(),l=a.length?a:s.children,u=f0(l,!0,r);r.flatten?i.push.apply(i,u):i.push({scopeParent:s,candidates:u})}else{var c=sc.call(s,l0);c&&r.filter(s)&&(n||!t.includes(s))&&i.push(s);var f=s.shadowRoot||typeof r.getShadowRoot=="function"&&r.getShadowRoot(s),d=!c0(f,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(s));if(f&&d){var h=f0(f===!0?s.children:f.children,!0,r);r.flatten?i.push.apply(i,h):i.push({scopeParent:s,candidates:h})}else o.unshift.apply(o,s.children)}}return i},E6=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},T6=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||XZ(t))&&!E6(t)?0:t.tabIndex},QZ=function(t,n){var r=T6(t);return r<0&&n&&!E6(t)?0:r},ZZ=function(t,n){return t.tabIndex===n.tabIndex?t.documentOrder-n.documentOrder:t.tabIndex-n.tabIndex},S6=function(t){return t.tagName==="INPUT"},JZ=function(t){return S6(t)&&t.type==="hidden"},eJ=function(t){var n=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(r){return r.tagName==="SUMMARY"});return n},tJ=function(t,n){for(var r=0;rsummary:first-of-type"),u=l?t.parentElement:t;if(sc.call(u,"details:not([open]) *"))return!0;if(!r||r==="full"||r==="full-native"||r==="legacy-full"){if(typeof i=="function"){for(var c=t;t;){var f=t.parentElement,d=u0(t);if(f&&!f.shadowRoot&&i(f)===!0)return g6(t);t.assignedSlot?t=t.assignedSlot:!f&&d!==t.ownerDocument?t=d.host:t=f}t=c}if(oJ(t))return!t.getClientRects().length;if(r!=="legacy-full")return!0}else if(r==="non-zero-area")return g6(t);return!1},aJ=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var n=t.parentElement;n;){if(n.tagName==="FIELDSET"&&n.disabled){for(var r=0;r=0)},v6=function(t){var n=[],r=[];return t.forEach(function(i,o){var s=!!i.scopeParent,a=s?i.scopeParent:i,l=QZ(a,s),u=s?v6(i.candidates):a;l===0?s?n.push.apply(n,u):n.push(a):r.push({documentOrder:o,tabIndex:l,item:i,isScope:s,content:u})}),r.sort(ZZ).reduce(function(i,o){return o.isScope?i.push.apply(i,o.content):i.push(o.content),i},[]).concat(n)},ac=function(t,n){n=n||{};var r;return n.getShadowRoot?r=f0([t],n.includeContainer,{filter:tx.bind(null,n),flatten:!1,getShadowRoot:n.getShadowRoot,shadowRootFilter:lJ}):r=y6(t,n.includeContainer,tx.bind(null,n)),v6(r)},x6=function(t,n){n=n||{};var r;return n.getShadowRoot?r=f0([t],n.includeContainer,{filter:ex.bind(null,n),flatten:!0,getShadowRoot:n.getShadowRoot}):r=y6(t,n.includeContainer,ex.bind(null,n)),r},nx=function(t,n){if(n=n||{},!t)throw new Error("No node provided");return sc.call(t,l0)===!1?!1:tx(n,t)};function ix(){let e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function ox(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(t=>{let{brand:n,version:r}=t;return n+"/"+r}).join(" "):navigator.userAgent}function sx(){return/apple/i.test(navigator.vendor)}function rx(){let e=/android/i;return e.test(ix())||e.test(ox())}function C6(){return ix().toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints}function w6(){return ox().includes("jsdom/")}var A6="data-floating-ui-focusable",uJ="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function zo(e){let t=e.activeElement;for(;((n=t)==null||(n=n.shadowRoot)==null?void 0:n.activeElement)!=null;){var n;t=t.shadowRoot.activeElement}return t}function On(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&rc(n)){let r=t;for(;r;){if(e===r)return!0;r=r.parentNode||r.host}}return!1}function Zi(e){return"composedPath"in e?e.composedPath()[0]:e.target}function d0(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function N6(e){return e.matches("html,body")}function Dn(e){return e?.ownerDocument||document}function h0(e){return Qt(e)&&e.matches(uJ)}function ax(e){return e?e.getAttribute("role")==="combobox"&&h0(e):!1}function R6(e){if(!e||w6())return!0;try{return e.matches(":focus-visible")}catch{return!0}}function p0(e){return e?e.hasAttribute(A6)?e:e.querySelector("["+A6+"]")||e:null}function ol(e,t,n){return n===void 0&&(n=!0),e.filter(i=>{var o;return i.parentId===t&&(!n||((o=i.context)==null?void 0:o.open))}).flatMap(i=>[i,...ol(e,i.id,n)])}function lx(e,t){var n;let r=[],i=(n=e.find(o=>o.id===t))==null?void 0:n.parentId;for(;i;){let o=e.find(s=>s.id===i);i=o?.parentId,o&&(r=r.concat(o))}return r}function m0(e){e.preventDefault(),e.stopPropagation()}function k6(e){return"nativeEvent"in e}function M6(e){return e.mozInputSource===0&&e.isTrusted?!0:rx()&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function O6(e){return w6()?!1:!rx()&&e.width===0&&e.height===0||rx()&&e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType==="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0&&e.pointerType==="touch"}function uc(e,t){let n=["mouse","pen"];return t||n.push("",void 0),n.includes(e)}var cJ=typeof document<"u",fJ=function(){},or=cJ?_6.useLayoutEffect:fJ,dJ={...lc};function $s(e){let t=lc.useRef(e);return or(()=>{t.current=e}),t}var hJ=dJ.useInsertionEffect,pJ=hJ||(e=>e());function sr(e){let t=lc.useRef(()=>{});return pJ(()=>{t.current=e}),lc.useCallback(function(){for(var n=arguments.length,r=new Array(n),i=0;i({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function D6(e,t){let n=ac(e,cc()),r=n.length;if(r===0)return;let i=zo(Dn(e)),o=n.indexOf(i),s=o===-1?t===1?0:r-1:o+t;return n[s]}function ux(e){return D6(Dn(e).body,1)||e}function cx(e){return D6(Dn(e).body,-1)||e}function fc(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!On(n,r)}function I6(e){ac(e,cc()).forEach(n=>{n.dataset.tabindex=n.getAttribute("tabindex")||"",n.setAttribute("tabindex","-1")})}function fx(e){e.querySelectorAll("[data-tabindex]").forEach(n=>{let r=n.dataset.tabindex;delete n.dataset.tabindex,r?n.setAttribute("tabindex",r):n.removeAttribute("tabindex")})}var xr=q(ie(),1);var Sx=q(lo(),1);function L6(e,t,n){let{reference:r,floating:i}=e,o=Fo(t),s=Jv(t),a=Zv(s),l=rl(t),u=o==="y",c=r.x+r.width/2-i.width/2,f=r.y+r.height/2-i.height/2,d=r[a]/2-i[a]/2,h;switch(l){case"top":h={x:c,y:r.y-i.height};break;case"bottom":h={x:c,y:r.y+r.height};break;case"right":h={x:r.x+r.width,y:f};break;case"left":h={x:r.x-i.width,y:f};break;default:h={x:r.x,y:r.y}}let p=Zd(t);return p&&(h[s]+=d*(p==="end"?1:-1)*(n&&u?-1:1)),h}async function P6(e,t){var n;t===void 0&&(t={});let{x:r,y:i,platform:o,rects:s,elements:a,strategy:l}=e,{boundary:u="clippingAncestors",rootBoundary:c="viewport",elementContext:f="floating",altBoundary:d=!1,padding:h=0}=Qd(t,e),p=m6(h),y=a[d?f==="floating"?"reference":"floating":f],g=il(await o.getClippingRect({element:(n=await(o.isElement==null?void 0:o.isElement(y)))==null||n?y:y.contextElement||await(o.getDocumentElement==null?void 0:o.getDocumentElement(a.floating)),boundary:u,rootBoundary:c,strategy:l})),E=f==="floating"?{x:r,y:i,width:s.floating.width,height:s.floating.height}:s.reference,T=await(o.getOffsetParent==null?void 0:o.getOffsetParent(a.floating)),S=await(o.isElement==null?void 0:o.isElement(T))&&await(o.getScale==null?void 0:o.getScale(T))||{x:1,y:1},x=il(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:E,offsetParent:T,strategy:l}):E);return{top:(g.top-x.top+p.top)/S.y,bottom:(x.bottom-g.bottom+p.bottom)/S.y,left:(g.left-x.left+p.left)/S.x,right:(x.right-g.right+p.right)/S.x}}var mJ=50,B6=async(e,t,n)=>{let{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:s}=n,a=s.detectOverflow?s:{...s,detectOverflow:P6},l=await(s.isRTL==null?void 0:s.isRTL(t)),u=await s.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:f}=L6(u,r,l),d=r,h=0,p={};for(let b=0;bB<=0)){var P,G;let B=(((P=o.flip)==null?void 0:P.index)||0)+1,L=N[B];if(L&&(!(f==="alignment"?E!==Fo(L):!1)||A.every(I=>Fo(I.placement)===E?I.overflows[0]>0:!0)))return{data:{index:B,overflows:A},reset:{placement:L}};let O=(G=A.filter(F=>F.overflows[0]<=0).sort((F,I)=>F.overflows[1]-I.overflows[1])[0])==null?void 0:G.placement;if(!O)switch(h){case"bestFit":{var U;let F=(U=A.filter(I=>{if(v){let z=Fo(I.placement);return z===E||z==="y"}return!0}).map(I=>[I.placement,I.overflows.filter(z=>z>0).reduce((z,_)=>z+_,0)]).sort((I,z)=>I[1]-z[1])[0])==null?void 0:U[0];F&&(O=F);break}case"initialPlacement":O=a;break}if(i!==O)return{reset:{placement:O}}}return{}}}};var gJ=new Set(["left","top"]);async function bJ(e,t){let{placement:n,platform:r,elements:i}=e,o=await(r.isRTL==null?void 0:r.isRTL(i.floating)),s=rl(n),a=Zd(n),l=Fo(n)==="y",u=gJ.has(s)?-1:1,c=o&&l?-1:1,f=Qd(t,e),{mainAxis:d,crossAxis:h,alignmentAxis:p}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof p=="number"&&(h=a==="end"?p*-1:p),l?{x:h*c,y:d*u}:{x:d*u,y:h*c}}var F6=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:i,y:o,placement:s,middlewareData:a}=t,l=await bJ(t,e);return s===((n=a.offset)==null?void 0:n.placement)&&(r=a.arrow)!=null&&r.alignmentOffset?{}:{x:i+l.x,y:o+l.y,data:{...l,placement:s}}}}},z6=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:i,platform:o}=t,{mainAxis:s=!0,crossAxis:a=!1,limiter:l={fn:E=>{let{x:T,y:S}=E;return{x:T,y:S}}},...u}=Qd(e,t),c={x:n,y:r},f=await o.detectOverflow(t,u),d=Fo(i),h=Qv(d),p=c[h],b=c[d],y=(E,T)=>f6(T+f[E==="y"?"top":"left"],T,T-f[E==="y"?"bottom":"right"]);s&&(p=y(h,p)),a&&(b=y(d,b));let g=l.fn({...t,[h]:p,[d]:b});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[h]:s,[d]:a}}}}}};function V6(e){let t=Yr(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=Qt(e),o=i?e.offsetWidth:n,s=i?e.offsetHeight:r,a=jd(n)!==o||jd(r)!==s;return a&&(n=o,r=s),{width:n,height:r,$:a}}function hx(e){return vt(e)?e:e.contextElement}function dc(e){let t=hx(e);if(!Qt(t))return Qi(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:o}=V6(t),s=(o?jd(n.width):n.width)/r,a=(o?jd(n.height):n.height)/i;return(!s||!Number.isFinite(s))&&(s=1),(!a||!Number.isFinite(a))&&(a=1),{x:s,y:a}}var yJ=Qi(0);function G6(e){let t=Mn(e);return!ic()||!t.visualViewport?yJ:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function EJ(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Mn(e)}function sl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),o=hx(e),s=Qi(1);t&&(r?vt(r)&&(s=dc(r)):s=dc(e));let a=EJ(o,n,r)?G6(o):Qi(0),l=(i.left+a.x)/s.x,u=(i.top+a.y)/s.y,c=i.width/s.x,f=i.height/s.y;if(o&&r){let d=Mn(o),h=vt(r)?Mn(r):r,p=d,b=s0(p);for(;b&&h!==p;){let y=dc(b),g=b.getBoundingClientRect(),E=Yr(b),T=g.left+(b.clientLeft+parseFloat(E.paddingLeft))*y.x,S=g.top+(b.clientTop+parseFloat(E.paddingTop))*y.y;l*=y.x,u*=y.y,c*=y.x,f*=y.y,l+=T,u+=S,p=Mn(b),b=s0(p)}}return il({width:c,height:f,x:l,y:u})}function g0(e,t){let n=Wd(e).scrollLeft;return t?t.left+n:sl(ji(e)).left+n}function K6(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-g0(e,n),i=n.top+t.scrollTop;return{x:r,y:i}}function TJ(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,o=i==="fixed",s=ji(r),a=t?Yd(t.floating):!1;if(r===s||a&&o)return n;let l={scrollLeft:0,scrollTop:0},u=Qi(1),c=Qi(0),f=Qt(r);if((f||!o)&&(($i(r)!=="body"||Kd(s))&&(l=Wd(r)),f)){let h=sl(r);u=dc(r),c.x=h.x+r.clientLeft,c.y=h.y+r.clientTop}let d=s&&!f&&!o?K6(s,l):Qi(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+c.x+d.x,y:n.y*u.y-l.scrollTop*u.y+c.y+d.y}}function SJ(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function vJ(e){let t=Wd(e),n=e.ownerDocument.body,r=Ho(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Ho(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),o=-t.scrollLeft+g0(e),s=-t.scrollTop;return Yr(n).direction==="rtl"&&(o+=Ho(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:o,y:s}}var xJ=25;function AJ(e,t,n){n===void 0&&(n="viewport");let r=n==="layoutViewport",i=Mn(e),o=ji(e),s=i.visualViewport,a=o.clientWidth,l=o.clientHeight,u=0,c=0;if(s){let d=!ic()||t==="fixed";r?d||(u=-s.offsetLeft,c=-s.offsetTop):(a=s.width,l=s.height,d&&(u=s.offsetLeft,c=s.offsetTop))}if(g0(o)<=0){let d=o.ownerDocument,h=d.body,p=getComputedStyle(h),b=d.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,y=Math.abs(o.clientWidth-h.clientWidth-b),g=getComputedStyle(o).scrollbarGutter==="stable both-edges"?y/2:y;g<=xJ&&(a-=g)}return{width:a,height:l,x:u,y:c}}function _J(e,t){let n=sl(e,!0,t==="fixed"),r=n.top+e.clientTop,i=n.left+e.clientLeft,o=dc(e),s=e.clientWidth*o.x,a=e.clientHeight*o.y,l=i*o.x,u=r*o.y;return{width:s,height:a,x:l,y:u}}function U6(e,t,n){let r;if(t==="viewport"||t==="layoutViewport")r=AJ(e,n,t);else if(t==="document")r=vJ(ji(e));else if(vt(t))r=_J(t,n);else{let i=G6(e);r={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height}}return il(r)}function CJ(e,t){let n=t.get(e);if(n)return n;let r=Kr(e,[],!1).filter(a=>vt(a)&&$i(a)!=="body"),i=null,o=Yr(e).position==="fixed",s=o?Wi(e):e;for(;vt(s)&&!Xi(s);){let a=Yr(s),l=o0(s),u=i?i.position:o?"fixed":"";!l&&(u==="fixed"||u==="absolute"&&a.position==="static")?r=r.filter(f=>f!==s):i=a,s=Wi(s)}return t.set(e,r),r}function wJ(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,s=[...n==="clippingAncestors"?Yd(t)?[]:CJ(t,this._c):[].concat(n),r],a=U6(t,s[0],i),l=a.top,u=a.right,c=a.bottom,f=a.left;for(let d=1;d{a(!1,1e-7)},1e3)}N=!1}try{r=new IntersectionObserver(D,{...v,root:o.ownerDocument})}catch{r=new IntersectionObserver(D,v)}r.observe(e)}let l=Mn(e),u=()=>a(n);return l.addEventListener("resize",u),a(!0),()=>{l.removeEventListener("resize",u),s()}}function hc(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:o=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:a=typeof IntersectionObserver=="function",animationFrame:l=!1}=r,u=hx(e),c=i||o?[...u?Kr(u):[],...t?Kr(t):[]]:[];c.forEach(g=>{i&&g.addEventListener("scroll",n),o&&g.addEventListener("resize",n)});let f=u&&a?OJ(u,n,o):null,d=-1,h=null;s&&(h=new ResizeObserver(g=>{let[E]=g;E&&E.target===u&&h&&t&&(h.unobserve(t),cancelAnimationFrame(d),d=requestAnimationFrame(()=>{var T;(T=h)==null||T.observe(t)})),n()}),u&&!l&&h.observe(u),t&&h.observe(t));let p,b=l?sl(e):null;l&&y();function y(){let g=sl(e);b&&!W6(b,g)&&n(),b=g,p=requestAnimationFrame(y)}return n(),()=>{var g;c.forEach(E=>{i&&E.removeEventListener("scroll",n),o&&E.removeEventListener("resize",n)}),f?.(),(g=h)==null||g.disconnect(),h=null,l&&cancelAnimationFrame(p)}}var $6=F6;var j6=z6,X6=H6;var b0=(e,t,n)=>{let r=new Map,i=n??{},o={...px,...i.platform,_c:r};return B6(e,t,{...i,platform:o})};var an=q(pe(),1),Z6=q(pe(),1),J6=q(lo(),1),IJ=typeof document<"u",LJ=function(){},y0=IJ?Z6.useLayoutEffect:LJ;function E0(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!E0(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let o=i[r];if(!(o==="_owner"&&e.$$typeof)&&!E0(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}function eP(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Q6(e,t){let n=eP(e);return Math.round(t*n)/n}function mx(e){let t=an.useRef(e);return y0(()=>{t.current=e}),t}function tP(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:i,elements:{reference:o,floating:s}={},transform:a=!0,whileElementsMounted:l,open:u}=e,[c,f]=an.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[d,h]=an.useState(r);E0(d,r)||h(r);let[p,b]=an.useState(null),[y,g]=an.useState(null),E=an.useCallback(I=>{I!==v.current&&(v.current=I,b(I))},[]),T=an.useCallback(I=>{I!==N.current&&(N.current=I,g(I))},[]),S=o||p,x=s||y,v=an.useRef(null),N=an.useRef(null),D=an.useRef(c),k=l!=null,A=mx(l),P=mx(i),G=mx(u),U=an.useCallback(()=>{if(!v.current||!N.current)return;let I={placement:t,strategy:n,middleware:d};P.current&&(I.platform=P.current),b0(v.current,N.current,I).then(z=>{let _={...z,isPositioned:G.current!==!1};B.current&&!E0(D.current,_)&&(D.current=_,J6.flushSync(()=>{f(_)}))})},[d,t,n,P,G]);y0(()=>{u===!1&&D.current.isPositioned&&(D.current.isPositioned=!1,f(I=>({...I,isPositioned:!1})))},[u]);let B=an.useRef(!1);y0(()=>(B.current=!0,()=>{B.current=!1}),[]),y0(()=>{if(S&&(v.current=S),x&&(N.current=x),S&&x){if(A.current)return A.current(S,x,U);U()}},[S,x,U,A,k]);let L=an.useMemo(()=>({reference:v,floating:N,setReference:E,setFloating:T}),[E,T]),O=an.useMemo(()=>({reference:S,floating:x}),[S,x]),F=an.useMemo(()=>{let I={position:n,left:0,top:0};if(!O.floating)return I;let z=Q6(O.floating,c.x),_=Q6(O.floating,c.y);return a?{...I,transform:"translate("+z+"px, "+_+"px)",...eP(O.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:z,top:_}},[n,a,O.floating,c.x,c.y]);return an.useMemo(()=>({...c,update:U,refs:L,elements:O,floatingStyles:F}),[c,U,L,O,F])}var pc=(e,t)=>{let n=$6(e);return{name:n.name,fn:n.fn,options:[e,t]}},Jd=(e,t)=>{let n=j6(e);return{name:n.name,fn:n.fn,options:[e,t]}};var eh=(e,t)=>{let n=X6(e);return{name:n.name,fn:n.fn,options:[e,t]}};var PJ="data-floating-ui-focusable",nP="active",rP="selected",BJ="ArrowLeft",HJ="ArrowRight",FJ="ArrowUp",zJ="ArrowDown";var UJ=[BJ,HJ],qJ=[FJ,zJ],c_e=[...UJ,...qJ];var VJ={...Q},iP=!1,GJ=0,oP=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+GJ++;function KJ(){let[e,t]=Q.useState(()=>iP?oP():void 0);return or(()=>{e==null&&t(oP())},[]),Q.useEffect(()=>{iP=!0},[]),e}var YJ=VJ.useId,vx=YJ||KJ;function WJ(){let e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(i=>i(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var r;(r=e.get(t))==null||r.delete(n)}}}var $J=Q.createContext(null),jJ=Q.createContext(null),xx=()=>{var e;return((e=Q.useContext($J))==null?void 0:e.id)||null},x0=()=>Q.useContext(jJ);function al(e){return"data-floating-ui-"+e}function Wr(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}var sP=al("safe-polygon");function gx(e,t,n){if(n&&!uc(n))return 0;if(typeof e=="number")return e;if(typeof e=="function"){let r=e();return typeof r=="number"?r:r?.[t]}return e?.[t]}function bx(e){return typeof e=="function"?e():e}function yP(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,events:o,elements:s}=e,{enabled:a=!0,delay:l=0,handleClose:u=null,mouseOnly:c=!1,restMs:f=0,move:d=!0}=t,h=x0(),p=xx(),b=$s(u),y=$s(l),g=$s(n),E=$s(f),T=Q.useRef(),S=Q.useRef(-1),x=Q.useRef(),v=Q.useRef(-1),N=Q.useRef(!0),D=Q.useRef(!1),k=Q.useRef(()=>{}),A=Q.useRef(!1),P=sr(()=>{var F;let I=(F=i.current.openEvent)==null?void 0:F.type;return I?.includes("mouse")&&I!=="mousedown"});Q.useEffect(()=>{if(!a)return;function F(I){let{open:z}=I;z||(Wr(S),Wr(v),N.current=!0,A.current=!1)}return o.on("openchange",F),()=>{o.off("openchange",F)}},[a,o]),Q.useEffect(()=>{if(!a||!b.current||!n)return;function F(z){P()&&r(!1,z,"hover")}let I=Dn(s.floating).documentElement;return I.addEventListener("mouseleave",F),()=>{I.removeEventListener("mouseleave",F)}},[s.floating,n,r,a,b,P]);let G=Q.useCallback(function(F,I,z){I===void 0&&(I=!0),z===void 0&&(z="hover");let _=gx(y.current,"close",T.current);_&&!x.current?(Wr(S),S.current=window.setTimeout(()=>r(!1,F,z),_)):I&&(Wr(S),r(!1,F,z))},[y,r]),U=sr(()=>{k.current(),x.current=void 0}),B=sr(()=>{if(D.current){let F=Dn(s.floating).body;F.style.pointerEvents="",F.removeAttribute(sP),D.current=!1}}),L=sr(()=>i.current.openEvent?["click","mousedown"].includes(i.current.openEvent.type):!1);Q.useEffect(()=>{if(!a)return;function F(re){if(Wr(S),N.current=!1,c&&!uc(T.current)||bx(E.current)>0&&!gx(y.current,"open"))return;let C=gx(y.current,"open",T.current);C?S.current=window.setTimeout(()=>{g.current||r(!0,re,"hover")},C):n||r(!0,re,"hover")}function I(re){if(L()){B();return}k.current();let C=Dn(s.floating);if(Wr(v),A.current=!1,b.current&&i.current.floatingContext){n||Wr(S),x.current=b.current({...i.current.floatingContext,tree:h,x:re.clientX,y:re.clientY,onClose(){B(),U(),L()||G(re,!0,"safe-polygon")}});let fe=x.current;C.addEventListener("mousemove",fe),k.current=()=>{C.removeEventListener("mousemove",fe)};return}(T.current==="touch"?!On(s.floating,re.relatedTarget):!0)&&G(re)}function z(re){L()||i.current.floatingContext&&(b.current==null||b.current({...i.current.floatingContext,tree:h,x:re.clientX,y:re.clientY,onClose(){B(),U(),L()||G(re)}})(re))}function _(){Wr(S)}function oe(re){L()||G(re,!1)}if(vt(s.domReference)){let re=s.domReference,C=s.floating;return n&&re.addEventListener("mouseleave",z),d&&re.addEventListener("mousemove",F,{once:!0}),re.addEventListener("mouseenter",F),re.addEventListener("mouseleave",I),C&&(C.addEventListener("mouseleave",z),C.addEventListener("mouseenter",_),C.addEventListener("mouseleave",oe)),()=>{n&&re.removeEventListener("mouseleave",z),d&&re.removeEventListener("mousemove",F),re.removeEventListener("mouseenter",F),re.removeEventListener("mouseleave",I),C&&(C.removeEventListener("mouseleave",z),C.removeEventListener("mouseenter",_),C.removeEventListener("mouseleave",oe))}}},[s,a,e,c,d,G,U,B,r,n,g,h,y,b,i,L,E]),or(()=>{var F;if(a&&n&&(F=b.current)!=null&&(F=F.__options)!=null&&F.blockPointerEvents&&P()){D.current=!0;let z=s.floating;if(vt(s.domReference)&&z){var I;let _=Dn(s.floating).body;_.setAttribute(sP,"");let oe=s.domReference,re=h==null||(I=h.nodesRef.current.find(C=>C.id===p))==null||(I=I.context)==null?void 0:I.elements.floating;return re&&(re.style.pointerEvents=""),_.style.pointerEvents="none",oe.style.pointerEvents="auto",z.style.pointerEvents="auto",()=>{_.style.pointerEvents="",oe.style.pointerEvents="",z.style.pointerEvents=""}}}},[a,n,p,s,h,b,P]),or(()=>{n||(T.current=void 0,A.current=!1,U(),B())},[n,U,B]),Q.useEffect(()=>()=>{U(),Wr(S),Wr(v),B()},[a,s.domReference,U,B]);let O=Q.useMemo(()=>{function F(I){T.current=I.pointerType}return{onPointerDown:F,onPointerEnter:F,onMouseMove(I){let{nativeEvent:z}=I;function _(){!N.current&&!g.current&&r(!0,z,"hover")}c&&!uc(T.current)||n||bx(E.current)===0||A.current&&I.movementX**2+I.movementY**2<2||(Wr(v),T.current==="touch"?_():(A.current=!0,v.current=window.setTimeout(_,bx(E.current))))}}},[c,r,n,g,E]);return Q.useMemo(()=>a?{reference:O}:{},[a,O])}var aP=0;function mc(e,t){t===void 0&&(t={});let{preventScroll:n=!1,cancelPrevious:r=!0,sync:i=!1}=t;r&&cancelAnimationFrame(aP);let o=()=>e?.focus({preventScroll:n});i?o():aP=requestAnimationFrame(o)}function XJ(e){return e?.ownerDocument||document}var gc={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function lP(e){return e==="inert"?gc.inert:e==="aria-hidden"?gc["aria-hidden"]:gc.none}var T0=new WeakSet,S0={},yx=0,QJ=()=>typeof HTMLElement<"u"&&"inert"in HTMLElement.prototype;function EP(e){return e?rc(e)?e.host:EP(e.parentNode):null}var ZJ=(e,t)=>t.map(n=>{if(e.contains(n))return n;let r=EP(n);return e.contains(r)?r:null}).filter(n=>n!=null);function JJ(e,t,n,r){let i="data-floating-ui-inert",o=r?"inert":n?"aria-hidden":null,s=ZJ(t,e),a=new Set,l=new Set(s),u=[];S0[i]||(S0[i]=new WeakMap);let c=S0[i];s.forEach(f),d(t),a.clear();function f(h){!h||a.has(h)||(a.add(h),h.parentNode&&f(h.parentNode))}function d(h){!h||l.has(h)||[].forEach.call(h.children,p=>{if($i(p)!=="script")if(a.has(p))d(p);else{let b=o?p.getAttribute(o):null,y=b!==null&&b!=="false",g=lP(o),E=(g.get(p)||0)+1,T=(c.get(p)||0)+1;g.set(p,E),c.set(p,T),u.push(p),E===1&&y&&T0.add(p),T===1&&p.setAttribute(i,""),!y&&o&&p.setAttribute(o,o==="inert"?"":"true")}})}return yx++,()=>{u.forEach(h=>{let p=lP(o),y=(p.get(h)||0)-1,g=(c.get(h)||0)-1;p.set(h,y),c.set(h,g),y||(!T0.has(h)&&o&&h.removeAttribute(o),T0.delete(h)),g||h.removeAttribute(i)}),yx--,yx||(gc.inert=new WeakMap,gc["aria-hidden"]=new WeakMap,gc.none=new WeakMap,T0=new WeakSet,S0={})}}function uP(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=XJ(e[0]).body;return JJ(e.concat(Array.from(r.querySelectorAll('[aria-live],[role="status"],output'))),r,t,n)}var Ax={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"fixed",whiteSpace:"nowrap",width:"1px",top:0,left:0},v0=Q.forwardRef(function(t,n){let[r,i]=Q.useState();or(()=>{sx()&&i("button")},[]);let o={ref:n,tabIndex:0,role:r,"aria-hidden":r?void 0:!0,[al("focus-guard")]:"",style:Ax};return(0,xr.jsx)("span",{...t,...o})}),eee={clipPath:"inset(50%)",position:"fixed",top:0,left:0},TP=Q.createContext(null),cP=al("portal");function tee(e){e===void 0&&(e={});let{id:t,root:n}=e,r=vx(),i=SP(),[o,s]=Q.useState(null),a=Q.useRef(null);return or(()=>()=>{o?.remove(),queueMicrotask(()=>{a.current=null})},[o]),or(()=>{if(!r||a.current)return;let l=t?document.getElementById(t):null;if(!l)return;let u=document.createElement("div");u.id=r,u.setAttribute(cP,""),l.appendChild(u),a.current=u,s(u)},[t,r]),or(()=>{if(n===null||!r||a.current)return;let l=n||i?.portalNode;l&&!i0(l)&&(l=l.current),l=l||document.body;let u=null;t&&(u=document.createElement("div"),u.id=t,l.appendChild(u));let c=document.createElement("div");c.id=r,c.setAttribute(cP,""),l=u||l,l.appendChild(c),a.current=c,s(c)},[t,n,r,i]),o}function bc(e){let{children:t,id:n,root:r,preserveTabOrder:i=!0}=e,o=tee({id:n,root:r}),[s,a]=Q.useState(null),l=Q.useRef(null),u=Q.useRef(null),c=Q.useRef(null),f=Q.useRef(null),d=s?.modal,h=s?.open,p=!!s&&!s.modal&&s.open&&i&&!!(r||o);return Q.useEffect(()=>{if(!o||!i||d)return;function b(y){o&&fc(y)&&(y.type==="focusin"?fx:I6)(o)}return o.addEventListener("focusin",b,!0),o.addEventListener("focusout",b,!0),()=>{o.removeEventListener("focusin",b,!0),o.removeEventListener("focusout",b,!0)}},[o,i,d]),Q.useEffect(()=>{o&&(h||fx(o))},[h,o]),(0,xr.jsxs)(TP.Provider,{value:Q.useMemo(()=>({preserveTabOrder:i,beforeOutsideRef:l,afterOutsideRef:u,beforeInsideRef:c,afterInsideRef:f,portalNode:o,setFocusManagerState:a}),[i,o]),children:[p&&o&&(0,xr.jsx)(v0,{"data-type":"outside",ref:l,onFocus:b=>{if(fc(b,o)){var y;(y=c.current)==null||y.focus()}else{let g=s?s.domReference:null,E=cx(g);E?.focus()}}}),p&&o&&(0,xr.jsx)("span",{"aria-owns":o.id,style:eee}),o&&Sx.createPortal(t,o),p&&o&&(0,xr.jsx)(v0,{"data-type":"outside",ref:u,onFocus:b=>{if(fc(b,o)){var y;(y=f.current)==null||y.focus()}else{let g=s?s.domReference:null,E=ux(g);E?.focus(),s?.closeOnFocusOut&&s?.onOpenChange(!1,b.nativeEvent,"focus-out")}}})]})}var SP=()=>Q.useContext(TP);function fP(e){return Q.useMemo(()=>t=>{e.forEach(n=>{n&&(n.current=t)})},e)}var dP=20,js=[];function _x(){js=js.filter(e=>{var t;return(t=e.deref())==null?void 0:t.isConnected})}function nee(e){_x(),e&&$i(e)!=="body"&&(js.push(new WeakRef(e)),js.length>dP&&(js=js.slice(-dP)))}function hP(){_x();let e=js[js.length-1];return e?.deref()}function ree(e){let t=cc();return nx(e,t)?e:ac(e,t)[0]||e}function pP(e,t){var n;if(!t.current.includes("floating")&&!((n=e.getAttribute("role"))!=null&&n.includes("dialog")))return;let r=cc(),o=x6(e,r).filter(a=>{let l=a.getAttribute("data-tabindex")||"";return nx(a,r)||a.hasAttribute("data-tabindex")&&!l.startsWith("-")}),s=e.getAttribute("tabindex");t.current.includes("floating")||o.length===0?s!=="0"&&e.setAttribute("tabindex","0"):(s!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}var iee=Q.forwardRef(function(t,n){return(0,xr.jsx)("button",{...t,type:"button",ref:n,tabIndex:-1,style:Ax})});function yc(e){let{context:t,children:n,disabled:r=!1,order:i=["content"],guards:o=!0,initialFocus:s=0,returnFocus:a=!0,restoreFocus:l=!1,modal:u=!0,visuallyHiddenDismiss:c=!1,closeOnFocusOut:f=!0,outsideElementsInert:d=!1,getInsideElements:h=()=>[]}=e,{open:p,onOpenChange:b,events:y,dataRef:g,elements:{domReference:E,floating:T}}=t,S=sr(()=>{var Te;return(Te=g.current.floatingContext)==null?void 0:Te.nodeId}),x=sr(h),v=typeof s=="number"&&s<0,N=ax(E)&&v,D=QJ(),k=D?o:!0,A=!k||D&&d,P=$s(i),G=$s(s),U=$s(a),B=x0(),L=SP(),O=Q.useRef(null),F=Q.useRef(null),I=Q.useRef(!1),z=Q.useRef(!1),_=Q.useRef(-1),oe=Q.useRef(-1),re=L!=null,C=p0(T),se=sr(function(Te){return Te===void 0&&(Te=C),Te?ac(Te,cc()):[]}),fe=sr(Te=>{let Ae=se(Te);return P.current.map(le=>E&&le==="reference"?E:C&&le==="floating"?C:Ae).filter(Boolean).flat()});Q.useEffect(()=>{if(r||!u)return;function Te(le){if(le.key==="Tab"){On(C,zo(Dn(C)))&&se().length===0&&!N&&m0(le);let ye=fe(),ue=Zi(le);P.current[0]==="reference"&&ue===E&&(m0(le),le.shiftKey?mc(ye[ye.length-1]):mc(ye[1])),P.current[1]==="floating"&&ue===C&&le.shiftKey&&(m0(le),mc(ye[0]))}}let Ae=Dn(C);return Ae.addEventListener("keydown",Te),()=>{Ae.removeEventListener("keydown",Te)}},[r,E,C,u,P,N,se,fe]),Q.useEffect(()=>{if(r||!T)return;function Te(Ae){let le=Zi(Ae),ue=se().indexOf(le);ue!==-1&&(_.current=ue)}return T.addEventListener("focusin",Te),()=>{T.removeEventListener("focusin",Te)}},[r,T,se]),Q.useEffect(()=>{if(r||!f)return;function Te(){z.current=!0,setTimeout(()=>{z.current=!1})}function Ae(ue){let Se=ue.relatedTarget,$=ue.currentTarget,tt=Zi(ue);queueMicrotask(()=>{let Ge=S(),qe=!(On(E,Se)||On(T,Se)||On(Se,T)||On(L?.portalNode,Se)||Se!=null&&Se.hasAttribute(al("focus-guard"))||B&&(ol(B.nodesRef.current,Ge).find(Jt=>{var Mt,Ot;return On((Mt=Jt.context)==null?void 0:Mt.elements.floating,Se)||On((Ot=Jt.context)==null?void 0:Ot.elements.domReference,Se)})||lx(B.nodesRef.current,Ge).find(Jt=>{var Mt,Ot,Hn;return[(Mt=Jt.context)==null?void 0:Mt.elements.floating,p0((Ot=Jt.context)==null?void 0:Ot.elements.floating)].includes(Se)||((Hn=Jt.context)==null?void 0:Hn.elements.domReference)===Se})));if($===E&&C&&pP(C,P),l&&$!==E&&!(tt!=null&&tt.isConnected)&&zo(Dn(C))===Dn(C).body){Qt(C)&&C.focus();let Jt=_.current,Mt=se(),Ot=Mt[Jt]||Mt[Mt.length-1]||C;Qt(Ot)&&Ot.focus()}if(g.current.insideReactTree){g.current.insideReactTree=!1;return}(N||!u)&&Se&&qe&&!z.current&&Se!==hP()&&(I.current=!0,b(!1,ue,"focus-out"))})}let le=!!(!B&&L);function ye(){Wr(oe),g.current.insideReactTree=!0,oe.current=window.setTimeout(()=>{g.current.insideReactTree=!1})}if(T&&Qt(E))return E.addEventListener("focusout",Ae),E.addEventListener("pointerdown",Te),T.addEventListener("focusout",Ae),le&&T.addEventListener("focusout",ye,!0),()=>{E.removeEventListener("focusout",Ae),E.removeEventListener("pointerdown",Te),T.removeEventListener("focusout",Ae),le&&T.removeEventListener("focusout",ye,!0)}},[r,E,T,C,u,B,L,b,f,l,se,N,S,P,g]);let ge=Q.useRef(null),De=Q.useRef(null),Ee=fP([ge,L?.beforeInsideRef]),Ve=fP([De,L?.afterInsideRef]);Q.useEffect(()=>{var Te,Ae;if(r||!T)return;let le=Array.from((L==null||(Te=L.portalNode)==null?void 0:Te.querySelectorAll("["+al("portal")+"]"))||[]),ue=(Ae=(B?lx(B.nodesRef.current,S()):[]).find(tt=>{var Ge;return ax(((Ge=tt.context)==null?void 0:Ge.elements.domReference)||null)}))==null||(Ae=Ae.context)==null?void 0:Ae.elements.domReference,Se=[T,ue,...le,...x(),O.current,F.current,ge.current,De.current,L?.beforeOutsideRef.current,L?.afterOutsideRef.current,P.current.includes("reference")||N?E:null].filter(tt=>tt!=null),$=u||N?uP(Se,!A,A):uP(Se);return()=>{$()}},[r,E,T,u,P,L,N,k,A,B,S,x]),or(()=>{if(r||!Qt(C))return;let Te=Dn(C),Ae=zo(Te);queueMicrotask(()=>{let le=fe(C),ye=G.current,ue=(typeof ye=="number"?le[ye]:ye.current)||C,Se=On(C,Ae);!v&&!Se&&p&&mc(ue,{preventScroll:ue===C})})},[r,p,C,v,fe,G]),or(()=>{if(r||!C)return;let Te=Dn(C),Ae=zo(Te);nee(Ae);function le(Se){let{reason:$,event:tt,nested:Ge}=Se;if(["hover","safe-polygon"].includes($)&&tt.type==="mouseleave"&&(I.current=!0),$==="outside-press")if(Ge)I.current=!1;else if(M6(tt)||O6(tt))I.current=!1;else{let qe=!1;document.createElement("div").focus({get preventScroll(){return qe=!0,!1}}),qe?I.current=!1:I.current=!0}}y.on("openchange",le);let ye=Te.createElement("span");ye.setAttribute("tabindex","-1"),ye.setAttribute("aria-hidden","true"),Object.assign(ye.style,Ax),re&&E&&E.insertAdjacentElement("afterend",ye);function ue(){if(typeof U.current=="boolean"){let Se=E||hP();return Se&&Se.isConnected?Se:ye}return U.current.current||ye}return()=>{y.off("openchange",le);let Se=zo(Te),$=On(T,Se)||B&&ol(B.nodesRef.current,S(),!1).some(Ge=>{var qe;return On((qe=Ge.context)==null?void 0:qe.elements.floating,Se)}),tt=ue();queueMicrotask(()=>{let Ge=ree(tt);U.current&&!I.current&&Qt(Ge)&&(!(Ge!==Se&&Se!==Te.body)||$)&&Ge.focus({preventScroll:!0}),ye.remove()})}},[r,T,C,U,g,y,B,re,E,S]),Q.useEffect(()=>(queueMicrotask(()=>{I.current=!1}),()=>{queueMicrotask(_x)}),[r]),or(()=>{if(!r&&L)return L.setFocusManagerState({modal:u,closeOnFocusOut:f,open:p,onOpenChange:b,domReference:E}),()=>{L.setFocusManagerState(null)}},[r,L,u,p,b,f,E]),or(()=>{r||C&&pP(C,P)},[r,C,P]);function Pe(Te){return r||!c||!u?null:(0,xr.jsx)(iee,{ref:Te==="start"?O:F,onClick:Ae=>b(!1,Ae.nativeEvent),children:typeof c=="string"?c:"Dismiss"})}let Re=!r&&k&&(u?!N:!0)&&(re||u);return(0,xr.jsxs)(xr.Fragment,{children:[Re&&(0,xr.jsx)(v0,{"data-type":"inside",ref:Ee,onFocus:Te=>{if(u){let le=fe();mc(i[0]==="reference"?le[0]:le[le.length-1])}else if(L!=null&&L.preserveTabOrder&&L.portalNode)if(I.current=!1,fc(Te,L.portalNode)){let le=ux(E);le?.focus()}else{var Ae;(Ae=L.beforeOutsideRef.current)==null||Ae.focus()}}}),!N&&Pe("start"),n,Pe("end"),Re&&(0,xr.jsx)(v0,{"data-type":"inside",ref:Ve,onFocus:Te=>{if(u)mc(fe()[0]);else if(L!=null&&L.preserveTabOrder&&L.portalNode)if(f&&(I.current=!0),fc(Te,L.portalNode)){let le=cx(E);le?.focus()}else{var Ae;(Ae=L.afterOutsideRef.current)==null||Ae.focus()}}})]})}function mP(e){return Qt(e.target)&&e.target.tagName==="BUTTON"}function oee(e){return Qt(e.target)&&e.target.tagName==="A"}function gP(e){return h0(e)}function A0(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,elements:{domReference:o}}=e,{enabled:s=!0,event:a="click",toggle:l=!0,ignoreMouse:u=!1,keyboardHandlers:c=!0,stickIfOpen:f=!0}=t,d=Q.useRef(),h=Q.useRef(!1),p=Q.useMemo(()=>({onPointerDown(b){d.current=b.pointerType},onMouseDown(b){let y=d.current;b.button===0&&a!=="click"&&(uc(y,!0)&&u||(n&&l&&(!(i.current.openEvent&&f)||i.current.openEvent.type==="mousedown")?r(!1,b.nativeEvent,"click"):(b.preventDefault(),r(!0,b.nativeEvent,"click"))))},onClick(b){let y=d.current;if(a==="mousedown"&&d.current){d.current=void 0;return}uc(y,!0)&&u||(n&&l&&(!(i.current.openEvent&&f)||i.current.openEvent.type==="click")?r(!1,b.nativeEvent,"click"):r(!0,b.nativeEvent,"click"))},onKeyDown(b){d.current=void 0,!(b.defaultPrevented||!c||mP(b))&&(b.key===" "&&!gP(o)&&(b.preventDefault(),h.current=!0),!oee(b)&&b.key==="Enter"&&r(!(n&&l),b.nativeEvent,"click"))},onKeyUp(b){b.defaultPrevented||!c||mP(b)||gP(o)||b.key===" "&&h.current&&(h.current=!1,r(!(n&&l),b.nativeEvent,"click"))}}),[i,o,a,u,c,r,n,f,l]);return Q.useMemo(()=>s?{reference:p}:{},[s,p])}var see={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},aee={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},bP=e=>{var t,n;return{escapeKey:typeof e=="boolean"?e:(t=e?.escapeKey)!=null?t:!1,outsidePress:typeof e=="boolean"?e:(n=e?.outsidePress)!=null?n:!0}};function _0(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,elements:i,dataRef:o}=e,{enabled:s=!0,escapeKey:a=!0,outsidePress:l=!0,outsidePressEvent:u="pointerdown",referencePress:c=!1,referencePressEvent:f="pointerdown",ancestorScroll:d=!1,bubbles:h,capture:p}=t,b=x0(),y=sr(typeof l=="function"?l:()=>!1),g=typeof l=="function"?y:l,E=Q.useRef(!1),{escapeKey:T,outsidePress:S}=bP(h),{escapeKey:x,outsidePress:v}=bP(p),N=Q.useRef(!1),D=sr(B=>{var L;if(!n||!s||!a||B.key!=="Escape"||N.current)return;let O=(L=o.current.floatingContext)==null?void 0:L.nodeId,F=b?ol(b.nodesRef.current,O):[];if(!T&&(B.stopPropagation(),F.length>0)){let I=!0;if(F.forEach(z=>{var _;if((_=z.context)!=null&&_.open&&!z.context.dataRef.current.__escapeKeyBubbles){I=!1;return}}),!I)return}r(!1,k6(B)?B.nativeEvent:B,"escape-key")}),k=sr(B=>{var L;let O=()=>{var F;D(B),(F=Zi(B))==null||F.removeEventListener("keydown",O)};(L=Zi(B))==null||L.addEventListener("keydown",O)}),A=sr(B=>{var L;let O=o.current.insideReactTree;o.current.insideReactTree=!1;let F=E.current;if(E.current=!1,u==="click"&&F||O||typeof g=="function"&&!g(B))return;let I=Zi(B),z="["+al("inert")+"]",_=Dn(i.floating).querySelectorAll(z),oe=vt(I)?I:null;for(;oe&&!Xi(oe);){let fe=Wi(oe);if(Xi(fe)||!vt(fe))break;oe=fe}if(_.length&&vt(I)&&!N6(I)&&!On(I,i.floating)&&Array.from(_).every(fe=>!On(oe,fe)))return;if(Qt(I)&&U){let fe=Xi(I),ge=Yr(I),De=/auto|scroll/,Ee=fe||De.test(ge.overflowX),Ve=fe||De.test(ge.overflowY),Pe=Ee&&I.clientWidth>0&&I.scrollWidth>I.clientWidth,Re=Ve&&I.clientHeight>0&&I.scrollHeight>I.clientHeight,Te=ge.direction==="rtl",Ae=Re&&(Te?B.offsetX<=I.offsetWidth-I.clientWidth:B.offsetX>I.clientWidth),le=Pe&&B.offsetY>I.clientHeight;if(Ae||le)return}let re=(L=o.current.floatingContext)==null?void 0:L.nodeId,C=b&&ol(b.nodesRef.current,re).some(fe=>{var ge;return d0(B,(ge=fe.context)==null?void 0:ge.elements.floating)});if(d0(B,i.floating)||d0(B,i.domReference)||C)return;let se=b?ol(b.nodesRef.current,re):[];if(se.length>0){let fe=!0;if(se.forEach(ge=>{var De;if((De=ge.context)!=null&&De.open&&!ge.context.dataRef.current.__outsidePressBubbles){fe=!1;return}}),!fe)return}r(!1,B,"outside-press")}),P=sr(B=>{var L;let O=()=>{var F;A(B),(F=Zi(B))==null||F.removeEventListener(u,O)};(L=Zi(B))==null||L.addEventListener(u,O)});Q.useEffect(()=>{if(!n||!s)return;o.current.__escapeKeyBubbles=T,o.current.__outsidePressBubbles=S;let B=-1;function L(_){r(!1,_,"ancestor-scroll")}function O(){window.clearTimeout(B),N.current=!0}function F(){B=window.setTimeout(()=>{N.current=!1},ic()?5:0)}let I=Dn(i.floating);a&&(I.addEventListener("keydown",x?k:D,x),I.addEventListener("compositionstart",O),I.addEventListener("compositionend",F)),g&&I.addEventListener(u,v?P:A,v);let z=[];return d&&(vt(i.domReference)&&(z=Kr(i.domReference)),vt(i.floating)&&(z=z.concat(Kr(i.floating))),!vt(i.reference)&&i.reference&&i.reference.contextElement&&(z=z.concat(Kr(i.reference.contextElement)))),z=z.filter(_=>{var oe;return _!==((oe=I.defaultView)==null?void 0:oe.visualViewport)}),z.forEach(_=>{_.addEventListener("scroll",L)}),()=>{a&&(I.removeEventListener("keydown",x?k:D,x),I.removeEventListener("compositionstart",O),I.removeEventListener("compositionend",F)),g&&I.removeEventListener(u,v?P:A,v),z.forEach(_=>{_.removeEventListener("scroll",L)}),window.clearTimeout(B)}},[o,i,a,g,u,n,r,d,s,T,S,D,x,k,A,v,P]),Q.useEffect(()=>{o.current.insideReactTree=!1},[o,g,u]);let G=Q.useMemo(()=>({onKeyDown:D,...c&&{[see[f]]:B=>{r(!1,B.nativeEvent,"reference-press")},...f!=="click"&&{onClick(B){r(!1,B.nativeEvent,"reference-press")}}}}),[D,r,c,f]),U=Q.useMemo(()=>{function B(L){L.button===0&&(E.current=!0)}return{onKeyDown:D,onMouseDown:B,onMouseUp:B,[aee[u]]:()=>{o.current.insideReactTree=!0}}},[D,u,o]);return Q.useMemo(()=>s?{reference:G,floating:U}:{},[s,G,U])}function lee(e){let{open:t=!1,onOpenChange:n,elements:r}=e,i=vx(),o=Q.useRef({}),[s]=Q.useState(()=>WJ()),a=xx()!=null,[l,u]=Q.useState(r.reference),c=sr((h,p,b)=>{o.current.openEvent=h?p:void 0,s.emit("openchange",{open:h,event:p,reason:b,nested:a}),n?.(h,p,b)}),f=Q.useMemo(()=>({setPositionReference:u}),[]),d=Q.useMemo(()=>({reference:l||r.reference||null,floating:r.floating||null,domReference:r.reference}),[l,r.reference,r.floating]);return Q.useMemo(()=>({dataRef:o,open:t,onOpenChange:c,elements:d,events:s,floatingId:i,refs:f}),[t,c,d,s,i,f])}function C0(e){var t,n;let{elements:r,...i}=e===void 0?{}:e,{nodeId:o}=i,s=lee({...i,elements:{reference:(t=r?.reference)!=null?t:null,floating:(n=r?.floating)!=null?n:null}}),a=i.rootContext||s,l=a.elements,[u,c]=Q.useState(null),[f,d]=Q.useState(null),p=l?.domReference||u,b=Q.useRef(null),y=x0();or(()=>{p&&(b.current=p)},[p]);let g=tP({...i,elements:{...l,...f&&{reference:f}}}),E=Q.useCallback(N=>{let D=vt(N)?{getBoundingClientRect:()=>N.getBoundingClientRect(),getClientRects:()=>N.getClientRects(),contextElement:N}:N;d(D),g.refs.setReference(D)},[g.refs]),T=Q.useCallback(N=>{(vt(N)||N===null)&&(b.current=N,c(N)),(vt(g.refs.reference.current)||g.refs.reference.current===null||N!==null&&!vt(N))&&g.refs.setReference(N)},[g.refs]),S=Q.useMemo(()=>({...g.refs,setReference:T,setPositionReference:E,domReference:b}),[g.refs,T,E]),x=Q.useMemo(()=>({...g.elements,domReference:p}),[g.elements,p]),v=Q.useMemo(()=>({...g,...a,refs:S,elements:x,nodeId:o}),[g,S,x,o,a]);return or(()=>{a.dataRef.current.floatingContext=v;let N=y?.nodesRef.current.find(D=>D.id===o);N&&(N.context=v)}),Q.useMemo(()=>({...g,context:v,refs:S,elements:x}),[g,S,x,v])}function Ex(){return C6()&&sx()}function vP(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,events:i,dataRef:o,elements:s}=e,{enabled:a=!0,visibleOnly:l=!0}=t,u=Q.useRef(!1),c=Q.useRef(-1),f=Q.useRef(!0);Q.useEffect(()=>{if(!a)return;let h=Mn(s.domReference);function p(){!n&&Qt(s.domReference)&&s.domReference===zo(Dn(s.domReference))&&(u.current=!0)}function b(){f.current=!0}function y(){f.current=!1}return h.addEventListener("blur",p),Ex()&&(h.addEventListener("keydown",b,!0),h.addEventListener("pointerdown",y,!0)),()=>{h.removeEventListener("blur",p),Ex()&&(h.removeEventListener("keydown",b,!0),h.removeEventListener("pointerdown",y,!0))}},[s.domReference,n,a]),Q.useEffect(()=>{if(!a)return;function h(p){let{reason:b}=p;(b==="reference-press"||b==="escape-key")&&(u.current=!0)}return i.on("openchange",h),()=>{i.off("openchange",h)}},[i,a]),Q.useEffect(()=>()=>{Wr(c)},[]);let d=Q.useMemo(()=>({onMouseLeave(){u.current=!1},onFocus(h){if(u.current)return;let p=Zi(h.nativeEvent);if(l&&vt(p)){if(Ex()&&!h.relatedTarget){if(!f.current&&!h0(p))return}else if(!R6(p))return}r(!0,h.nativeEvent,"focus")},onBlur(h){u.current=!1;let p=h.relatedTarget,b=h.nativeEvent,y=vt(p)&&p.hasAttribute(al("focus-guard"))&&p.getAttribute("data-type")==="outside";c.current=window.setTimeout(()=>{var g;let E=zo(s.domReference?s.domReference.ownerDocument:document);!p&&E===s.domReference||On((g=o.current.floatingContext)==null?void 0:g.refs.floating.current,E)||On(s.domReference,E)||y||r(!1,b,"focus")})}}),[o,s.domReference,r,l]);return Q.useMemo(()=>a?{reference:d}:{},[a,d])}function Tx(e,t,n){let r=new Map,i=n==="item",o=e;if(i&&e){let{[nP]:s,[rP]:a,...l}=e;o=l}return{...n==="floating"&&{tabIndex:-1,[PJ]:""},...o,...t.map(s=>{let a=s?s[n]:null;return typeof a=="function"?e?a(e):null:a}).concat(e).reduce((s,a)=>(a&&Object.entries(a).forEach(l=>{let[u,c]=l;if(!(i&&[nP,rP].includes(u)))if(u.indexOf("on")===0){if(r.has(u)||r.set(u,[]),typeof c=="function"){var f;(f=r.get(u))==null||f.push(c),s[u]=function(){for(var d,h=arguments.length,p=new Array(h),b=0;by(...p)).find(y=>y!==void 0)}}}else s[u]=c}),s),{})}}function w0(e){e===void 0&&(e=[]);let t=e.map(a=>a?.reference),n=e.map(a=>a?.floating),r=e.map(a=>a?.item),i=Q.useCallback(a=>Tx(a,e,"reference"),t),o=Q.useCallback(a=>Tx(a,e,"floating"),n),s=Q.useCallback(a=>Tx(a,e,"item"),r);return Q.useMemo(()=>({getReferenceProps:i,getFloatingProps:o,getItemProps:s}),[i,o,s])}var uee=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function xP(e,t){var n,r;t===void 0&&(t={});let{open:i,elements:o,floatingId:s}=e,{enabled:a=!0,role:l="dialog"}=t,u=vx(),c=((n=o.domReference)==null?void 0:n.id)||u,f=Q.useMemo(()=>{var E;return((E=p0(o.floating))==null?void 0:E.id)||s},[o.floating,s]),d=(r=uee.get(l))!=null?r:l,p=xx()!=null,b=Q.useMemo(()=>d==="tooltip"||l==="label"?{["aria-"+(l==="label"?"labelledby":"describedby")]:i?f:void 0}:{"aria-expanded":i?"true":"false","aria-haspopup":d==="alertdialog"?"dialog":d,"aria-controls":i?f:void 0,...d==="listbox"&&{role:"combobox"},...d==="menu"&&{id:c},...d==="menu"&&p&&{role:"menuitem"},...l==="select"&&{"aria-autocomplete":"none"},...l==="combobox"&&{"aria-autocomplete":"list"}},[d,f,p,i,c,l]),y=Q.useMemo(()=>{let E={id:f,...d&&{role:d}};return d==="tooltip"||l==="label"?E:{...E,...d==="menu"&&{"aria-labelledby":c}}},[d,f,c,l]),g=Q.useCallback(E=>{let{active:T,selected:S}=E,x={role:"option",...T&&{id:f+"-fui-option"}};switch(l){case"select":case"combobox":return{...x,"aria-selected":S}}return{}},[f,l]);return Q.useMemo(()=>a?{reference:b,floating:y,item:g}:{},[a,b,y,g])}var Yn=q(pe(),1);function Ec(e){try{return new URL(e).hostname||e}catch{return e}}function AP(e){return e.filter(t=>t.citation!=null).map(t=>({url:t.url??"",domain:t.label??Ec(t.url??""),title:t.citation?.title})).filter(t=>t.url!=="")}function _P(e){let t=new Map;for(let n of e){let r=t.get(n.url);r?!r.title&&n.title&&(r.title=n.title):t.set(n.url,{...n})}return[...t.values()]}var Cx=q(ie(),1),CP=(0,Yn.createContext)(null),wP=(0,Yn.createContext)([]);function NP({children:e}){let t=(0,Yn.useRef)(new Map),[n,r]=(0,Yn.useState)([]),i=(0,Yn.useCallback)(()=>{let l=[];for(let u of t.current.values())l.push(...u);r(_P(l))},[]),o=(0,Yn.useCallback)((l,u)=>{t.current.set(l,u),i()},[i]),s=(0,Yn.useCallback)(l=>{t.current.delete(l)&&i()},[i]),a=(0,Yn.useMemo)(()=>({register:o,unregister:s}),[o,s]);return(0,Cx.jsx)(CP.Provider,{value:a,children:(0,Cx.jsx)(wP.Provider,{value:n,children:e})})}function RP(){return(0,Yn.useContext)(CP)}function kP(){return(0,Yn.useContext)(wP)}function Tc(e,t=[]){let n={};if(!(e instanceof HTMLElement))return{style:n};let r=new Set(t),i=getComputedStyle(e);for(let s=0;s(0,R0.jsx)(R0.Fragment,{children:e?tl(e):""});var k0={"shiny-chat-raw-html":Uo,"shinychat-raw-html":Uo,"shiny-tool-request":Uo,"shiny-tool-result":Uo,"shiny-web-activity":Uo,"shiny-web-search":Uo,"shiny-web-search-results":Uo,"shiny-web-fetch":Uo};var $e=q(ie(),1);function th(e,t){let n=e.properties?.[t];return typeof n=="string"?n:void 0}function fee(e,t){let n=e.properties?.[t];return typeof n=="number"?n:void 0}function OP(e){return e.children.map(t=>t.type==="text"?t.value:t.type==="element"?OP(t):"").join("")}function dee(e){return e?(e.children??[]).filter(t=>t.type==="element"&&t.tagName==="shiny-aside").map(t=>{let n=th(t,"url"),r=th(t,"label"),i=OP(t).trim(),o=t.properties?.dataCitation==null?void 0:{title:i===""||i===n?void 0:i,cited_quote:th(t,"cited-quote")};return{label:r??(o&&n?Ec(n):void 0),url:n,icon:th(t,"icon"),body:t.children.length>0?tl(t.children):void 0,index:fee(t,"index"),citation:o,groundingId:th(t,"dataGroundingId")}}):[]}function Nx(e){try{return`https://icons.duckduckgo.com/ip3/${encodeURIComponent(new URL(e).hostname)}.ico`}catch{return}}function wx({entry:e,deriveFavicon:t}){let n=e.icon||(t&&e.url?Nx(e.url):void 0),[r,i]=(0,Ar.useState)(null);return!n||r===n?null:(0,$e.jsx)("img",{src:n,alt:"",onError:()=>i(n)})}function MP({direction:e}){return(0,$e.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:e==="prev"?{transform:"scaleX(-1)"}:void 0,children:(0,$e.jsx)("path",{d:"M4.5 2.5L8 6L4.5 9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var Rx=(0,Ar.memo)(function({node:t,untrusted:n=!1}){let r=dee(t),i=t?.properties?.[wd]!=null;return(0,$e.jsx)(hee,{entries:r,pending:i,untrusted:n})}),DP=(0,Ar.memo)(function({node:t}){return(0,$e.jsx)(Rx,{node:t,untrusted:!0})}),hee=(0,Ar.memo)(function({entries:t,pending:n=!1,untrusted:r=!1}){let i=Mu(),o=t.findIndex(O=>O.label),[s,a]=(0,Ar.useState)(!1),[l,u]=(0,Ar.useState)(0),c=RP(),f=(0,Ar.useId)(),d=n?"":JSON.stringify(AP(t)),h=t[l]?.groundingId,{refs:p,floatingStyles:b,context:y,getReferenceProps:g,getFloatingProps:E}=N0(s,a);if((0,Ar.useEffect)(()=>{if(!c||d==="")return;let O=JSON.parse(d);if(O.length!==0)return c.register(f,O),()=>c.unregister(f)},[c,f,d]),(0,Ar.useEffect)(()=>{s&&u(o===-1?0:o)},[s,o]),(0,Ar.useEffect)(()=>{if(!s||!h)return;let O=p.domReference.current;if(!(O instanceof HTMLElement))return;let F=O.closest("p, li");if(!F)return;let I=[...F.querySelectorAll("[data-aside-grounding]")].filter(z=>z.dataset.asideGrounding?.split(" ").includes(h));for(let z of I)z.dataset.active="";return()=>{for(let z of I)delete z.dataset.active}},[s,h,p.domReference]),n||t.length===0)return null;let T=t.length-1,S=o!==-1&&t.every(O=>O.label===t[o].label),x=T>0&&!S,v=t[0],N=t.filter(O=>O.index!==void 0),D=N.length===t.length||o===-1,k=N.length===t.length&&t.some(O=>O.label!==void 0),A=N.map(O=>O.index).join(", "),P=t[l],G=Tc(p.domReference.current),U=k?t.length===1?`Aside ${A}: ${v?.label}`:`Asides ${A}: ${t.map(O=>O.label??"Untitled source").join("; ")}`:D?`Aside ${v?.index}`:x?`${t[o].label} (+${T} more)`:t[o].label,B=k?"shiny-aside-pill shiny-aside-pill--count shiny-aside-pill--number":D?"shiny-aside-pill shiny-aside-pill--count":"shiny-aside-pill",L=!!P.label&&(k||t.length>1||!!P.url);return(0,$e.jsxs)("span",{className:"shiny-aside-group",children:[(0,$e.jsx)("button",{ref:p.setReference,type:"button",className:B,"data-shinychat-aside-display":k?"compact":void 0,"aria-label":U,...g(),children:D?(0,$e.jsx)("span",{className:"shiny-aside-pill__count",children:k?`[${A}]`:v?.index}):(0,$e.jsxs)($e.Fragment,{children:[(0,$e.jsx)(wx,{entry:t[o],deriveFavicon:i}),(0,$e.jsx)("span",{className:"shiny-aside-pill__label",children:t[o].label}),x&&(0,$e.jsxs)("span",{className:"shiny-aside-pill__overflow",children:["+",T]})]})}),s&&(0,$e.jsx)(bc,{children:(0,$e.jsx)(yc,{context:y,modal:!1,initialFocus:-1,returnFocus:!0,children:(0,$e.jsxs)("div",{ref:p.setFloating,className:"shiny-aside-popover shiny-floating-overlay",style:{...G.style,...b},"data-bs-theme":G.theme,"aria-label":U,...E(),children:[t.length>1&&(0,$e.jsxs)("div",{className:"shiny-aside-popover__nav",children:[(0,$e.jsxs)("div",{className:"shiny-aside-popover__nav-arrows",children:[(0,$e.jsx)("button",{type:"button","aria-label":"Previous source",onClick:()=>u(O=>(O-1+t.length)%t.length),children:(0,$e.jsx)(MP,{direction:"prev"})}),(0,$e.jsx)("button",{type:"button","aria-label":"Next source",onClick:()=>u(O=>(O+1)%t.length),children:(0,$e.jsx)(MP,{direction:"next"})})]}),(0,$e.jsxs)("span",{className:"shiny-aside-popover__count","aria-hidden":"true",children:[l+1," / ",t.length]}),(0,$e.jsxs)("span",{className:"visually-hidden",role:"status","aria-live":"polite","aria-atomic":"true",children:["Source ",l+1," of ",t.length,":"," ",P.label??"Untitled source"]})]}),L&&(0,$e.jsx)($e.Fragment,{children:P.url?(0,$e.jsxs)("a",{className:"shiny-aside-popover__label",href:P.url,...Yi,children:[(0,$e.jsx)(wx,{entry:P,deriveFavicon:i}),(0,$e.jsx)("span",{className:"shiny-aside-popover__label-text",children:P.label})]}):(0,$e.jsxs)("div",{className:"shiny-aside-popover__label",children:[(0,$e.jsx)(wx,{entry:P,deriveFavicon:i}),(0,$e.jsx)("span",{className:"shiny-aside-popover__label-text",children:P.label})]})}),P.body&&(0,$e.jsx)("div",{className:"shiny-aside-popover__body",children:(0,$e.jsx)(Xt,{content:P.body,contentType:"html",streaming:!1,tagToComponentMap:r?k0:void 0})})]})})})]})});var Xs={"shiny-aside":o6,"shiny-aside-group":Rx},Sc={...Xs,"shiny-aside-group":DP,...k0};var qo=q(pe(),1);var M0=q(pe(),1);function Qs(){let[e,t]=(0,M0.useState)(()=>typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return(0,M0.useEffect)(()=>{let n=window.matchMedia("(prefers-reduced-motion: reduce)"),r=i=>t(i.matches);return n.addEventListener("change",r),()=>n.removeEventListener("change",r)},[]),e}var pee=200;function kx(e,t){let n=Qs(),[r,i]=(0,qo.useState)({key:t,value:e}),[o,s]=(0,qo.useState)(!1),a=(0,qo.useRef)({key:t,value:e}),l=(0,qo.useRef)(null);return(0,qo.useLayoutEffect)(()=>{a.current={key:t,value:e};let u=()=>{l.current!==null&&(clearTimeout(l.current),l.current=null)};if(n){u(),t!==r.key&&i({key:t,value:e}),s(!1);return}if(t===r.key){u(),s(!1);return}l.current===null&&(l.current=setTimeout(()=>{l.current=null,i(a.current),s(!1)},pee)),s(!0)},[t,e,r.key,n]),(0,qo.useLayoutEffect)(()=>()=>{l.current!==null&&clearTimeout(l.current)},[]),{visible:r.value,fading:o}}function IP(e){return kx(e,e)}var LP='',Mx='',O0='',D0=` -`;var O0='',OP=` +`;var I0='',PP=` -`,DP='',Rv='',IP='',Sc='',LP='',PP='',BP='',HP='';var _r=q(ie(),1),uee={__html:Sc},FP=2500;function D0(e,t){if(t<0)return!1;if(t<=0)return!0;let n=t*1e3;return e.streaming?e.startedAt!==void 0&&Date.now()-e.startedAt>=n:e.durationMs!==void 0&&e.durationMs>=n}function cee(e,t){let[,n]=(0,ln.useState)(0),r=D0(e,t);return(0,ln.useEffect)(()=>{if(r||t<=0||!e.streaming||e.startedAt===void 0)return;let i=Math.max(0,t*1e3-(Date.now()-e.startedAt)),o=setTimeout(()=>n(s=>s+1),i);return()=>clearTimeout(o)},[e.startedAt,e.streaming,t,r]),r}function fee(e){let[t,n]=(0,ln.useState)(null),r=(0,ln.useRef)(0),i=(0,ln.useRef)(null),o=(0,ln.useRef)(null);return(0,ln.useEffect)(()=>{if(!e)return;let s=Date.now(),a=s-r.current;if(a>=FP||!t)n(e),r.current=s,i.current=null;else if(i.current=e,!o.current){let l=FP-a;o.current=setTimeout(()=>{o.current=null,i.current&&(n(i.current),r.current=Date.now(),i.current=null)},l)}return()=>{o.current&&(clearTimeout(o.current),o.current=null)}},[e,t]),t}function dee(){return(0,_r.jsx)("span",{className:"shiny-chat-thinking-glyph","aria-hidden":"true"})}var zP=(0,ln.memo)(function({thinking:t,messageId:n,showAfter:r=0}){let[i,o]=(0,ln.useState)(!1),[s,a]=(0,ln.useState)(!1),l=(0,ln.useRef)(t.streaming),u=Ro(),c=cee(t,r),{scrollRef:f,contentRef:d,scrollToBottom:h}=Nm({resize:"smooth"}),p=(0,ln.useRef)(!1);(0,ln.useEffect)(()=>{let S=f.current;if(!S||!i||!t.streaming)return;let v=S.scrollHeight>S.clientHeight;v&&!p.current&&h(),p.current=v},[t.content,i,t.streaming,h,f]);let b=fee(t.streaming?t.topic:null);(0,ln.useEffect)(()=>{if(l.current&&!t.streaming){if(!s){let S=setTimeout(()=>o(!1),600);return()=>clearTimeout(S)}l.current=t.streaming}l.current=t.streaming},[t.streaming,s]);let y=(0,ln.useCallback)(()=>{o(S=>(S?u?.():t.streaming&&(p.current=!1,h()),!S)),t.streaming||a(!0)},[t.streaming,u,h]),g=hee(t,b),{visible:E,fading:T}=kP(g);return!c||!t.streaming&&!t.content.trim()?null:(0,_r.jsxs)("div",{className:"shiny-chat-thinking","data-streaming":t.streaming||void 0,children:[(0,_r.jsxs)("button",{id:`thinking-header-${n}`,className:"shiny-chat-thinking-header",onClick:y,"aria-expanded":i,"aria-controls":`thinking-content-${n}`,children:[(0,_r.jsx)(dee,{}),(0,_r.jsx)("span",{className:"shiny-chat-thinking-label","data-fading":T||void 0,children:E}),t.streaming&&(0,_r.jsx)("svg",{className:"shiny-chat-thinking-dot",width:"8",height:"8",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,_r.jsx)("circle",{cx:"4",cy:"4",r:"4"})}),(0,_r.jsx)("span",{className:"shiny-chat-thinking-disclosure",dangerouslySetInnerHTML:uee})]}),(0,_r.jsx)("div",{className:"shiny-chat-thinking-content",id:`thinking-content-${n}`,role:"region","aria-labelledby":`thinking-header-${n}`,"aria-hidden":i?void 0:"true",inert:!i||void 0,"data-expanded":i||void 0,children:(0,_r.jsx)("div",{className:"shiny-chat-thinking-content-inner",ref:f,children:(0,_r.jsx)("div",{ref:d,children:(0,_r.jsx)(Xt,{content:t.content,contentType:"markdown",role:"assistant",streaming:t.streaming,tagToComponentMap:Tc})})})})]})});function hee(e,t){if(e.streaming)return t??"Thinking";if(e.durationMs!=null){let n=Math.round(e.durationMs/1e3);return n<1?"Thought for less than a second":`Thought for ${n}s`}return"Thinking"}var Ji=q(ge(),1);function UP(e){return e.customDisplay===!0&&e.status!=="running"}var qP=40;function pee(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object")return null;let n=[];for(let[i,o]of Object.entries(t))if(!(i.startsWith("_")||i.startsWith("."))&&(typeof o=="string"||typeof o=="number"||typeof o=="boolean")&&(n.push(`${i}: ${o}`),n.length===3))break;if(n.length===0)return null;let r=n.join(", ");return r.length>qP?`${r.slice(0,qP-1)}\u2026`:r}function kv(e,t,n){if(e.label)return{text:e.label};if(!n&&e.title&&e.title!==t)return{text:e.title};if(n&&t)return null;let r=pee(e.arguments);return r?{text:r,code:!0}:n?null:{text:e.toolName,code:!0}}function mee(e){if(!(!e.icon||e.icon===e.definitionIcon))return e.icon}function VP(e,t){if(e.status==="running")return{kind:"status",status:"running"};let n=mee(e);if(n)return{kind:"icon",icon:n};if(t){let r=e.icon||e.definitionIcon;if(r)return{kind:"icon",icon:r}}return{kind:"status",status:e.status}}function GP(e){return e.anyRunning?{kind:"status",status:"running"}:e.heterogeneous?{kind:"default"}:e.identity.icon?{kind:"icon",icon:e.identity.icon}:{kind:"default"}}function KP(e,t){return{title:e.title,verb:t?e.settled?"Used ":"Using ":"",toolName:e.toolName}}function YP(e){return e.title!=null?`title:${e.title}`:`tool:${e.verb}|${e.toolName}`}var gee=60,bee=3;function yee(e){return(e.title?e.title.replace(/<[^>]*>/g,""):`Used ${e.toolName}`).length+(e.count>1?`\xD7${e.count}`.length:0)}function WP(e){let t=[],n=0;for(let o of e){let s=yee(o)+(t.length?2:0),a=t.length>=bee||n+s>gee;if(t.length&&a)break;t.push(o),n+=s}let r=e.length-t.length,i=t.some(o=>o.title!==void 0);return{shown:t.map((o,s)=>({segment:o,showVerb:i||s===0})),overflowText:r>0?`, and ${r} ${r===1?"other":"others"}`:null}}function $P(e){let t=e.calls.filter(i=>!UP(i)),n=e.calls.filter(UP).map(i=>({key:i.localId,call:i,value:i.value??"",valueType:i.valueType??"html",showRequest:!1})).sort((i,o)=>(i.call.resolveBlock??0)-(o.call.resolveBlock??0)||(i.call.resolveIndex??0)-(o.call.resolveIndex??0));if(t.length===0)return{row:null,standalonePayloads:n};let r=n.length===0?{title:e.title,titleSettled:e.titleSettled,icon:e.icon,count:e.count,segments:e.segments}:Cu(t);return{row:{calls:t,identity:r,single:t.length===1?t[0]:null,anyRunning:t.some(i=>i.status==="running"),failedCount:t.filter(i=>i.status==="error").length,heterogeneous:r.segments.length>1,hasExpandedCall:t.some(i=>i.expanded),segmentTitles:new Map(r.segments.map(i=>[i.toolName,i.title]))},standalonePayloads:n}}var L0=q(ge(),1);var tB=q(ge(),1);var Cr=q(ge(),1),jP=q(lo(),1);var eh=q(ie(),1);function XP(e){let[t,n]=(0,Cr.useState)(!1),r=(0,Cr.useRef)(!1),i=(0,Cr.useRef)(null),o=(0,Cr.useRef)(null),s=(0,Cr.useRef)(null),a=(0,Cr.useRef)(d=>{s.current?.(d)}),l=(0,Cr.useCallback)(()=>{if(!r.current)return;let d=e.current;d&&(r.current=!1,n(!1),d.removeAttribute("fullscreen"),d.removeAttribute("tabindex"),window.dispatchEvent(new Event("resize")),document.removeEventListener("keydown",a.current,!0),i.current?.focus(),i.current=null)},[e]),u=(0,Cr.useCallback)(d=>{if(d.key==="Escape"){let T=d.target;if(typeof T.matches=="function"&&(T.matches("select[open]")||T.matches("input[aria-expanded='true']")))return;l(),d.preventDefault();return}if(d.key!=="Tab")return;let h=e.current;if(!h?.hasAttribute("fullscreen")||!r.current)return;let p=[...h.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')].filter(T=>T.offsetParent!==null),b=o.current;if(!b)return;let y=p[0],g=p[p.length-1],E=document.activeElement;!d.shiftKey&&(E===g||E===h)?(d.preventDefault(),b.focus()):!d.shiftKey&&E===b?(d.preventDefault(),(y??h).focus()):d.shiftKey&&(E===y||E===h)?(d.preventDefault(),b.focus()):d.shiftKey&&E===b?(d.preventDefault(),(g??h).focus()):!h.contains(E)&&E!==b&&(d.preventDefault(),h.focus())},[e,l]);s.current=u;let c=(0,Cr.useCallback)(d=>{if(r.current)return;let h=e.current;h&&(r.current=!0,n(!0),i.current=d,h.setAttribute("fullscreen",""),window.dispatchEvent(new Event("resize")),document.addEventListener("keydown",a.current,!0),h.setAttribute("tabindex","-1"),h.focus())},[e]);(0,Cr.useEffect)(()=>{let d=e.current,h=a.current;return()=>{r.current&&(r.current=!1,d&&(d.removeAttribute("fullscreen"),d.removeAttribute("tabindex")),document.removeEventListener("keydown",h,!0),i.current?.focus(),i.current=null)}},[e]);let f=t?(0,jP.createPortal)((0,eh.jsx)("div",{className:"shiny-tool-fullscreen-backdrop",onClick:l,children:(0,eh.jsxs)("button",{ref:o,type:"button",className:"shiny-tool-fullscreen-exit","aria-label":"Exit fullscreen",onClick:d=>{d.stopPropagation(),l()},children:["Close ",(0,eh.jsx)("span",{dangerouslySetInnerHTML:{__html:IP}})]})}),document.body):null;return{enterFullscreen:c,exitFullscreen:l,overlay:f}}var Vo=q(ge(),1);var th=q(ie(),1);function $r(e){return e.as==="span"?(0,th.jsx)(Tee,{...e}):(0,th.jsx)(Eee,{...e})}function QP(e,t,n,r){let[i,o]=(0,Vo.useState)(!1),s=(0,Vo.useContext)(Tr);return(0,Vo.useEffect)(()=>{let a=e.current;if(!a)return;a.innerHTML=t;let l=a.parentElement;return o(r&&!!l?.classList.contains("html-fill-container")),s&&t&&n&&s.bindAll(a),()=>{s&&n&&s.unbindAll(a)}},[t,s,r,n,e]),{isFillCarrier:i}}function ZP(e,t){return e?`html-fill-item html-fill-container${t?` ${t}`:""}`:t}function Eee({html:e,className:t,bind:n=!0,displayContents:r=!0,fillable:i=!0}){let o=(0,Vo.useRef)(null),{isFillCarrier:s}=QP(o,e,n,i);return(0,th.jsx)("div",{ref:o,className:ZP(s,t),style:r?{display:"contents"}:void 0})}function Tee({html:e,className:t,bind:n=!0,displayContents:r=!0,fillable:i=!0}){let o=(0,Vo.useRef)(null),{isFillCarrier:s}=QP(o,e,n,i);return(0,th.jsx)("span",{ref:o,className:ZP(s,t),style:r?{display:"contents"}:void 0})}var JP=q(ge(),1);function xc(e){return`${e}${(0,JP.useId)()}`}var ar=q(ie(),1);function eB(e){return e.replace(/&/g,"&").replace(//g,">")}var See={__html:OP},xee={__html:Rv};function I0({toolName:e,toolTitle:t,label:n,intent:r,icon:i,classStatus:o="",statusNote:s,fullScreen:a=!1,initialExpanded:l=!1,footer:u,onEnterFullscreen:c,cardRef:f,resetKey:d,children:h}){let[p,b]=(0,tB.useState)(l),y=Ro(),g=xc("tool-header"),E=xc("tool-content"),T=i||O0,S=t||`${eB(e)}()`,v=n?`: ${eB(n)}`:"",x=`${S}${v}`;function N(k){k.preventDefault(),!k.currentTarget.closest(".shiny-tool-card")?.hasAttribute("fullscreen")&&(y?.(),b(O=>!O),requestAnimationFrame(()=>window.dispatchEvent(new Event("resize"))))}function D(k){k.preventDefault(),k.stopPropagation(),b(!0),c?.(k.currentTarget)}return(0,ar.jsxs)("div",{ref:f,className:"shiny-tool-card card bslib-card html-fill-item html-fill-container m-0",children:[(0,ar.jsxs)("button",{className:"card-header",id:g,onClick:N,"aria-expanded":p,"aria-controls":E,children:[(0,ar.jsx)($r,{html:T,as:"span",className:`tool-icon${o?` ${o}`:""}`,displayContents:!1}),(0,ar.jsx)($r,{html:x,as:"span",className:`tool-title${o?` ${o}`:""}`,displayContents:!1}),s&&(0,ar.jsx)("div",{className:`tool-status-note${o?` ${o}`:""}`,children:s}),(0,ar.jsx)("div",{className:"tool-spacer"}),r&&(0,ar.jsx)("div",{className:"tool-intent",children:r}),(0,ar.jsx)("div",{className:"collapse-indicator",dangerouslySetInnerHTML:See})]}),(0,ar.jsxs)("div",{className:`card-body bslib-gap-spacing html-fill-item html-fill-container${p?"":" collapsed"}`,id:E,role:"region","aria-labelledby":g,inert:!p||void 0,children:[(0,ar.jsx)(Oa,{context:`${e} details`,resetKey:d,children:h}),a&&c&&(0,ar.jsx)("button",{className:"tool-fullscreen-toggle badge rounded-pill",onClick:D,"aria-label":"Expand card","aria-controls":E,type:"button",dangerouslySetInnerHTML:xee})]}),u&&(0,ar.jsx)(Oa,{context:`${e} footer`,fallback:null,resetKey:u,children:(0,ar.jsx)($r,{html:u,className:"card-footer",displayContents:!1,fillable:!1})})]})}function al(e,t="markdown"){let n="`".repeat(8);return`${n}${t} +`,BP='',Ox='',HP='',vc='',FP='',zP='',UP='',qP='';var _r=q(ie(),1),mee={__html:vc},VP=2500;function L0(e,t){if(t<0)return!1;if(t<=0)return!0;let n=t*1e3;return e.streaming?e.startedAt!==void 0&&Date.now()-e.startedAt>=n:e.durationMs!==void 0&&e.durationMs>=n}function gee(e,t){let[,n]=(0,ln.useState)(0),r=L0(e,t);return(0,ln.useEffect)(()=>{if(r||t<=0||!e.streaming||e.startedAt===void 0)return;let i=Math.max(0,t*1e3-(Date.now()-e.startedAt)),o=setTimeout(()=>n(s=>s+1),i);return()=>clearTimeout(o)},[e.startedAt,e.streaming,t,r]),r}function bee(e){let[t,n]=(0,ln.useState)(null),r=(0,ln.useRef)(0),i=(0,ln.useRef)(null),o=(0,ln.useRef)(null);return(0,ln.useEffect)(()=>{if(!e)return;let s=Date.now(),a=s-r.current;if(a>=VP||!t)n(e),r.current=s,i.current=null;else if(i.current=e,!o.current){let l=VP-a;o.current=setTimeout(()=>{o.current=null,i.current&&(n(i.current),r.current=Date.now(),i.current=null)},l)}return()=>{o.current&&(clearTimeout(o.current),o.current=null)}},[e,t]),t}function yee(){return(0,_r.jsx)("span",{className:"shiny-chat-thinking-glyph","aria-hidden":"true"})}var GP=(0,ln.memo)(function({thinking:t,messageId:n,showAfter:r=0}){let[i,o]=(0,ln.useState)(!1),[s,a]=(0,ln.useState)(!1),l=(0,ln.useRef)(t.streaming),u=Ro(),c=gee(t,r),{scrollRef:f,contentRef:d,scrollToBottom:h}=Rm({resize:"smooth"}),p=(0,ln.useRef)(!1);(0,ln.useEffect)(()=>{let S=f.current;if(!S||!i||!t.streaming)return;let x=S.scrollHeight>S.clientHeight;x&&!p.current&&h(),p.current=x},[t.content,i,t.streaming,h,f]);let b=bee(t.streaming?t.topic:null);(0,ln.useEffect)(()=>{if(l.current&&!t.streaming){if(!s){let S=setTimeout(()=>o(!1),600);return()=>clearTimeout(S)}l.current=t.streaming}l.current=t.streaming},[t.streaming,s]);let y=(0,ln.useCallback)(()=>{o(S=>(S?u?.():t.streaming&&(p.current=!1,h()),!S)),t.streaming||a(!0)},[t.streaming,u,h]),g=Eee(t,b),{visible:E,fading:T}=IP(g);return!c||!t.streaming&&!t.content.trim()?null:(0,_r.jsxs)("div",{className:"shiny-chat-thinking","data-streaming":t.streaming||void 0,children:[(0,_r.jsxs)("button",{id:`thinking-header-${n}`,className:"shiny-chat-thinking-header",onClick:y,"aria-expanded":i,"aria-controls":`thinking-content-${n}`,children:[(0,_r.jsx)(yee,{}),(0,_r.jsx)("span",{className:"shiny-chat-thinking-label","data-fading":T||void 0,children:E}),t.streaming&&(0,_r.jsx)("svg",{className:"shiny-chat-thinking-dot",width:"8",height:"8",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:(0,_r.jsx)("circle",{cx:"4",cy:"4",r:"4"})}),(0,_r.jsx)("span",{className:"shiny-chat-thinking-disclosure",dangerouslySetInnerHTML:mee})]}),(0,_r.jsx)("div",{className:"shiny-chat-thinking-content",id:`thinking-content-${n}`,role:"region","aria-labelledby":`thinking-header-${n}`,"aria-hidden":i?void 0:"true",inert:!i||void 0,"data-expanded":i||void 0,children:(0,_r.jsx)("div",{className:"shiny-chat-thinking-content-inner",ref:f,children:(0,_r.jsx)("div",{ref:d,children:(0,_r.jsx)(Xt,{content:t.content,contentType:"markdown",role:"assistant",streaming:t.streaming,tagToComponentMap:Sc})})})})]})});function Eee(e,t){if(e.streaming)return t??"Thinking";if(e.durationMs!=null){let n=Math.round(e.durationMs/1e3);return n<1?"Thought for less than a second":`Thought for ${n}s`}return"Thinking"}var Ji=q(pe(),1);function KP(e){return e.customDisplay===!0&&e.status!=="running"}var YP=40;function Tee(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!="object")return null;let n=[];for(let[i,o]of Object.entries(t))if(!(i.startsWith("_")||i.startsWith("."))&&(typeof o=="string"||typeof o=="number"||typeof o=="boolean")&&(n.push(`${i}: ${o}`),n.length===3))break;if(n.length===0)return null;let r=n.join(", ");return r.length>YP?`${r.slice(0,YP-1)}\u2026`:r}function Dx(e,t,n){if(e.label)return{text:e.label};if(!n&&e.title&&e.title!==t)return{text:e.title};if(n&&t)return null;let r=Tee(e.arguments);return r?{text:r,code:!0}:n?null:{text:e.toolName,code:!0}}function See(e){if(!(!e.icon||e.icon===e.definitionIcon))return e.icon}function WP(e,t){if(e.status==="running")return{kind:"status",status:"running"};let n=See(e);if(n)return{kind:"icon",icon:n};if(t){let r=e.icon||e.definitionIcon;if(r)return{kind:"icon",icon:r}}return{kind:"status",status:e.status}}function $P(e){return e.anyRunning?{kind:"status",status:"running"}:e.heterogeneous?{kind:"default"}:e.identity.icon?{kind:"icon",icon:e.identity.icon}:{kind:"default"}}function jP(e,t){return{title:e.title,verb:t?e.settled?"Used ":"Using ":"",toolName:e.toolName}}function XP(e){return e.title!=null?`title:${e.title}`:`tool:${e.verb}|${e.toolName}`}var vee=60,xee=3;function Aee(e){return(e.title?e.title.replace(/<[^>]*>/g,""):`Used ${e.toolName}`).length+(e.count>1?`\xD7${e.count}`.length:0)}function QP(e){let t=[],n=0;for(let o of e){let s=Aee(o)+(t.length?2:0),a=t.length>=xee||n+s>vee;if(t.length&&a)break;t.push(o),n+=s}let r=e.length-t.length,i=t.some(o=>o.title!==void 0);return{shown:t.map((o,s)=>({segment:o,showVerb:i||s===0})),overflowText:r>0?`, and ${r} ${r===1?"other":"others"}`:null}}function ZP(e){let t=e.calls.filter(i=>!KP(i)),n=e.calls.filter(KP).map(i=>({key:i.localId,call:i,value:i.value??"",valueType:i.valueType??"html",showRequest:!1})).sort((i,o)=>(i.call.resolveBlock??0)-(o.call.resolveBlock??0)||(i.call.resolveIndex??0)-(o.call.resolveIndex??0));if(t.length===0)return{row:null,standalonePayloads:n};let r=n.length===0?{title:e.title,titleSettled:e.titleSettled,icon:e.icon,count:e.count,segments:e.segments}:wu(t);return{row:{calls:t,identity:r,single:t.length===1?t[0]:null,anyRunning:t.some(i=>i.status==="running"),failedCount:t.filter(i=>i.status==="error").length,heterogeneous:r.segments.length>1,hasExpandedCall:t.some(i=>i.expanded),segmentTitles:new Map(r.segments.map(i=>[i.toolName,i.title]))},standalonePayloads:n}}var B0=q(pe(),1);var oB=q(pe(),1);var Cr=q(pe(),1),JP=q(lo(),1);var nh=q(ie(),1);function eB(e){let[t,n]=(0,Cr.useState)(!1),r=(0,Cr.useRef)(!1),i=(0,Cr.useRef)(null),o=(0,Cr.useRef)(null),s=(0,Cr.useRef)(null),a=(0,Cr.useRef)(d=>{s.current?.(d)}),l=(0,Cr.useCallback)(()=>{if(!r.current)return;let d=e.current;d&&(r.current=!1,n(!1),d.removeAttribute("fullscreen"),d.removeAttribute("tabindex"),window.dispatchEvent(new Event("resize")),document.removeEventListener("keydown",a.current,!0),i.current?.focus(),i.current=null)},[e]),u=(0,Cr.useCallback)(d=>{if(d.key==="Escape"){let T=d.target;if(typeof T.matches=="function"&&(T.matches("select[open]")||T.matches("input[aria-expanded='true']")))return;l(),d.preventDefault();return}if(d.key!=="Tab")return;let h=e.current;if(!h?.hasAttribute("fullscreen")||!r.current)return;let p=[...h.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')].filter(T=>T.offsetParent!==null),b=o.current;if(!b)return;let y=p[0],g=p[p.length-1],E=document.activeElement;!d.shiftKey&&(E===g||E===h)?(d.preventDefault(),b.focus()):!d.shiftKey&&E===b?(d.preventDefault(),(y??h).focus()):d.shiftKey&&(E===y||E===h)?(d.preventDefault(),b.focus()):d.shiftKey&&E===b?(d.preventDefault(),(g??h).focus()):!h.contains(E)&&E!==b&&(d.preventDefault(),h.focus())},[e,l]);s.current=u;let c=(0,Cr.useCallback)(d=>{if(r.current)return;let h=e.current;h&&(r.current=!0,n(!0),i.current=d,h.setAttribute("fullscreen",""),window.dispatchEvent(new Event("resize")),document.addEventListener("keydown",a.current,!0),h.setAttribute("tabindex","-1"),h.focus())},[e]);(0,Cr.useEffect)(()=>{let d=e.current,h=a.current;return()=>{r.current&&(r.current=!1,d&&(d.removeAttribute("fullscreen"),d.removeAttribute("tabindex")),document.removeEventListener("keydown",h,!0),i.current?.focus(),i.current=null)}},[e]);let f=t?(0,JP.createPortal)((0,nh.jsx)("div",{className:"shiny-tool-fullscreen-backdrop",onClick:l,children:(0,nh.jsxs)("button",{ref:o,type:"button",className:"shiny-tool-fullscreen-exit","aria-label":"Exit fullscreen",onClick:d=>{d.stopPropagation(),l()},children:["Close ",(0,nh.jsx)("span",{dangerouslySetInnerHTML:{__html:HP}})]})}),document.body):null;return{enterFullscreen:c,exitFullscreen:l,overlay:f}}var Vo=q(pe(),1);var rh=q(ie(),1);function $r(e){return e.as==="span"?(0,rh.jsx)(Cee,{...e}):(0,rh.jsx)(_ee,{...e})}function tB(e,t,n,r){let[i,o]=(0,Vo.useState)(!1),s=(0,Vo.useContext)(Tr);return(0,Vo.useEffect)(()=>{let a=e.current;if(!a)return;a.innerHTML=t;let l=a.parentElement;return o(r&&!!l?.classList.contains("html-fill-container")),s&&t&&n&&s.bindAll(a),()=>{s&&n&&s.unbindAll(a)}},[t,s,r,n,e]),{isFillCarrier:i}}function nB(e,t){return e?`html-fill-item html-fill-container${t?` ${t}`:""}`:t}function _ee({html:e,className:t,bind:n=!0,displayContents:r=!0,fillable:i=!0}){let o=(0,Vo.useRef)(null),{isFillCarrier:s}=tB(o,e,n,i);return(0,rh.jsx)("div",{ref:o,className:nB(s,t),style:r?{display:"contents"}:void 0})}function Cee({html:e,className:t,bind:n=!0,displayContents:r=!0,fillable:i=!0}){let o=(0,Vo.useRef)(null),{isFillCarrier:s}=tB(o,e,n,i);return(0,rh.jsx)("span",{ref:o,className:nB(s,t),style:r?{display:"contents"}:void 0})}var rB=q(pe(),1);function xc(e){return`${e}${(0,rB.useId)()}`}var ar=q(ie(),1);function iB(e){return e.replace(/&/g,"&").replace(//g,">")}var wee={__html:PP},Nee={__html:Ox};function P0({toolName:e,toolTitle:t,label:n,intent:r,icon:i,classStatus:o="",statusNote:s,fullScreen:a=!1,initialExpanded:l=!1,footer:u,onEnterFullscreen:c,cardRef:f,resetKey:d,children:h}){let[p,b]=(0,oB.useState)(l),y=Ro(),g=xc("tool-header"),E=xc("tool-content"),T=i||I0,S=t||`${iB(e)}()`,x=n?`: ${iB(n)}`:"",v=`${S}${x}`;function N(k){k.preventDefault(),!k.currentTarget.closest(".shiny-tool-card")?.hasAttribute("fullscreen")&&(y?.(),b(P=>!P),requestAnimationFrame(()=>window.dispatchEvent(new Event("resize"))))}function D(k){k.preventDefault(),k.stopPropagation(),b(!0),c?.(k.currentTarget)}return(0,ar.jsxs)("div",{ref:f,className:"shiny-tool-card card bslib-card html-fill-item html-fill-container m-0",children:[(0,ar.jsxs)("button",{className:"card-header",id:g,onClick:N,"aria-expanded":p,"aria-controls":E,children:[(0,ar.jsx)($r,{html:T,as:"span",className:`tool-icon${o?` ${o}`:""}`,displayContents:!1}),(0,ar.jsx)($r,{html:v,as:"span",className:`tool-title${o?` ${o}`:""}`,displayContents:!1}),s&&(0,ar.jsx)("div",{className:`tool-status-note${o?` ${o}`:""}`,children:s}),(0,ar.jsx)("div",{className:"tool-spacer"}),r&&(0,ar.jsx)("div",{className:"tool-intent",children:r}),(0,ar.jsx)("div",{className:"collapse-indicator",dangerouslySetInnerHTML:wee})]}),(0,ar.jsxs)("div",{className:`card-body bslib-gap-spacing html-fill-item html-fill-container${p?"":" collapsed"}`,id:E,role:"region","aria-labelledby":g,inert:!p||void 0,children:[(0,ar.jsx)(Da,{context:`${e} details`,resetKey:d,children:h}),a&&c&&(0,ar.jsx)("button",{className:"tool-fullscreen-toggle badge rounded-pill",onClick:D,"aria-label":"Expand card","aria-controls":E,type:"button",dangerouslySetInnerHTML:Nee})]}),u&&(0,ar.jsx)(Da,{context:`${e} footer`,fallback:null,resetKey:u,children:(0,ar.jsx)($r,{html:u,className:"card-footer",displayContents:!1,fillable:!1})})]})}function ll(e,t="markdown"){let n="`".repeat(8);return`${n}${t} ${e} -${n}`}var tt=q(ie(),1);function vee({filename:e}){return(0,tt.jsxs)("div",{className:"shiny-chat-pdf badge fs-6 text-bg-secondary",children:[(0,tt.jsx)("span",{className:"shiny-chat-pdf__icon me-1",dangerouslySetInnerHTML:{__html:BP}}),(0,tt.jsx)("span",{className:"shiny-chat-pdf__filename font-monospace",children:e})]})}function Aee({value:e,valueType:t}){return t==="html"?(0,tt.jsx)($r,{html:e}):t==="text"?(0,tt.jsx)("p",{children:e}):t==="markdown"?(0,tt.jsx)(Xt,{content:e,contentType:"markdown",streaming:!1}):(0,tt.jsx)(Xt,{content:al(e,"text"),contentType:"markdown",streaming:!1})}var nB=(0,L0.memo)(function({toolName:t,toolTitle:n,label:r,intent:i,status:o,value:s,valueType:a,requestCall:l,showRequest:u=!1,fullScreen:c=!1,expanded:f=!1,icon:d,footer:h}){let p=(0,L0.useRef)(null),{enterFullscreen:b,overlay:y}=XP(p),g=Ro(),E=o==="error";return(0,tt.jsxs)(tt.Fragment,{children:[(0,tt.jsxs)(I0,{toolName:t,toolTitle:n,label:r,intent:i,icon:E?M0:d,classStatus:E?"text-danger":"",statusNote:E?"failed":void 0,fullScreen:c,initialExpanded:f,footer:h,onEnterFullscreen:b,cardRef:p,resetKey:`${a}${u}${l}${s}`,children:[(0,tt.jsx)(_ee,{requestCall:l,showRequest:u,stopScroll:g}),(0,tt.jsx)(Mv,{value:s,valueType:a,showRequest:u})]}),y]})});function _ee({requestCall:e,showRequest:t,stopScroll:n}){if(!t||!e)return null;let r=al(e,""),i=e.split(` -`).length>2;return(0,tt.jsx)("div",{className:"shiny-tool-result__request",children:i?(0,tt.jsxs)("details",{onToggle:()=>n?.(),children:[(0,tt.jsx)("summary",{children:"Tool call"}),(0,tt.jsx)(Xt,{content:r,contentType:"markdown",streaming:!1})]}):(0,tt.jsxs)(tt.Fragment,{children:[(0,tt.jsx)("strong",{children:"Tool call"}),(0,tt.jsx)(Xt,{content:r,contentType:"markdown",streaming:!1})]})})}function Mv({value:e,valueType:t,showRequest:n}){let r=e||"[Empty result]",i;if(t==="html")i=(0,tt.jsx)($r,{html:r});else if(t==="text")i=(0,tt.jsx)("p",{children:r});else if(t==="content_extra")try{let s=JSON.parse(e);i=(0,tt.jsx)("div",{className:"shiny-chat-content-extra",children:s.map((a,l)=>a.type==="image"?(0,tt.jsx)("img",{src:a.src,className:"shiny-chat-tool-image"},l):a.type==="pdf"?(0,tt.jsx)(vee,{filename:a.filename??""},l):a.type==="text"?(0,tt.jsx)(Aee,{value:a.value??"",valueType:a.value_type??"code"},l):null)})}catch{i=(0,tt.jsx)(Xt,{content:al(r,"text"),contentType:"markdown",streaming:!1})}else{let s=t!=="markdown"?al(r,"text"):r;i=(0,tt.jsx)(Xt,{content:s,contentType:"markdown",streaming:!1})}return!n&&t==="html"?i:(0,tt.jsxs)("div",{className:"shiny-tool-result__result",children:[n?(0,tt.jsx)("strong",{children:"Tool result"}):null,i]})}var rB=q(ge(),1);var vc=q(ie(),1),Cee='
Running\u2026
',iB=(0,rB.memo)(function({toolName:t,toolTitle:n,intent:r,arguments:i}){return(0,vc.jsx)(I0,{toolName:t,toolTitle:n,intent:r,icon:Cee,resetKey:i,children:(0,vc.jsxs)("div",{className:"shiny-tool-request__arguments",children:[(0,vc.jsx)("strong",{children:"Tool arguments"}),(0,vc.jsx)(Xt,{content:al(i,"json"),contentType:"markdown",streaming:!1})]})})});var Me=q(ie(),1),wee='
Running\u2026
',Nee='',sB={__html:Sc};function aB(e){let[t,n]=(0,Ji.useState)(e??!1),r=(0,Ji.useRef)(e??!1);return(0,Ji.useEffect)(()=>{e&&!r.current&&n(!0),r.current=e??!1},[e]),[t,n]}function Ree(e){return e==="running"?wee:e==="error"?M0:Nee}function lB(e){return e.kind==="icon"?e.icon:e.kind==="status"?Ree(e.status):O0}function uB(e,t){return e.status==="running"?(0,Me.jsx)(iB,{toolName:e.toolName,toolTitle:e.title??e.definitionTitle,intent:e.intent,arguments:e.arguments??"{}"}):(0,Me.jsx)(nB,{toolName:e.toolName,toolTitle:e.title??e.definitionTitle,intent:e.intent,status:e.status,value:e.value??"",valueType:e.valueType??"markdown",requestCall:e.requestCall,showRequest:e.showRequest,fullScreen:e.fullScreen,expanded:t||e.expanded,icon:e.icon,footer:e.footer,label:e.label})}function oB({segment:e,showVerb:t,bind:n}){let r=KP(e,t),{visible:i,fading:o}=wv(r,YP(r)),s={className:"shiny-chat-tool-group__title","data-fading":o||void 0};return(0,Me.jsxs)(Me.Fragment,{children:[i.title!=null?(0,Me.jsx)("span",{...s,children:(0,Me.jsx)($r,{html:i.title,as:"span",bind:n})}):(0,Me.jsxs)("span",{...s,children:[i.verb,(0,Me.jsx)("code",{className:"shiny-chat-tool-group__toolname",children:i.toolName})]}),e.count>1&&(0,Me.jsx)("span",{className:"shiny-chat-tool-group__count","aria-label":`${e.count} calls`,children:`\xD7${e.count}`})]})}function kee({segments:e,bind:t}){if(e.length===1)return(0,Me.jsx)(oB,{segment:e[0],showVerb:!0,bind:t});let{shown:n,overflowText:r}=WP(e);return(0,Me.jsxs)("span",{className:"shiny-chat-tool-group__segments",children:[n.map(({segment:i,showVerb:o},s)=>(0,Me.jsxs)(Ji.Fragment,{children:[s>0&&", ",(0,Me.jsx)("span",{className:"shiny-chat-tool-group__segment",children:(0,Me.jsx)(oB,{segment:i,showVerb:o,bind:t})})]},i.toolName)),r&&(0,Me.jsx)("span",{className:"shiny-chat-tool-group__overflow",children:r})]})}function Mee({item:e,segmentTitle:t,heterogeneous:n}){let[r,i]=aB(e.expanded),o=Ro(),s=r&&e.status==="success"&&e.openStyle==="framed",a=kv(e,t,!1),l=e.status==="error"?" text-danger":e.status==="running"?" running":"",u=lB(VP(e,n)),c=xc("tool-call");return(0,Me.jsxs)("li",{className:`shiny-chat-tool-call-row${s?" shiny-chat-tool-call-row--framed":""}`,role:"listitem",children:[(0,Me.jsxs)("button",{type:"button",className:"shiny-chat-tool-call-row__summary","aria-expanded":r,"aria-controls":c,onClick:()=>{o?.(),i(f=>!f)},children:[(0,Me.jsx)($r,{html:u,as:"span",bind:!r,className:`shiny-chat-tool-call-row__status${l}`,displayContents:!1}),a&&(0,Me.jsx)("span",{className:"shiny-chat-tool-call-row__label",children:a.code?(0,Me.jsx)("code",{children:a.text}):a.text}),(0,Me.jsx)("span",{className:"shiny-chat-tool-spacer"}),r&&e.intent&&(0,Me.jsx)("span",{className:"shiny-chat-tool-row__intent",children:e.intent}),e.valuePreview&&(0,Me.jsx)("span",{className:"shiny-chat-tool-call-row__preview",children:e.valuePreview}),e.status==="error"&&(0,Me.jsx)("span",{className:"shiny-chat-tool-group__failed",children:"failed"}),(0,Me.jsx)("span",{className:"shiny-chat-tool-call-row__chevron",dangerouslySetInnerHTML:sB})]}),(0,Me.jsx)("div",{id:c,className:"shiny-chat-tool-call-row__detail",hidden:!r,children:r&&uB(e,!0)})]})}var cB=(0,Ji.memo)(function({group:t}){let{row:n,standalonePayloads:r}=$P(t),[i,o]=aB(n?.hasExpandedCall),s=xc("tool-group");return(0,Me.jsxs)(Me.Fragment,{children:[n&&(0,Me.jsx)(Oee,{row:n,expanded:i,setExpanded:o,bodyId:s}),r.map(a=>(0,Me.jsx)("div",{className:"shiny-chat-tool-custom-display",children:(0,Me.jsx)(Mv,{value:a.value,valueType:a.valueType,showRequest:a.showRequest})},a.key))]})});function Oee({row:e,expanded:t,setExpanded:n,bodyId:r}){let{identity:i,single:o,anyRunning:s,failedCount:a,heterogeneous:l}=e,u=Ro(),c=t&&o?.status==="success"&&o.openStyle==="framed",f=o&&kv(o,i.title,!0),d=lB(GP(e));return(0,Me.jsxs)("div",{className:`shiny-chat-tool-group shiny-chat-tool-group--${o?"single":"multi"}${c?" shiny-chat-tool-group--framed":""}`,children:[(0,Me.jsxs)("button",{type:"button",className:"shiny-chat-tool-group__row","aria-expanded":t,"aria-controls":r,onClick:()=>{u?.(),n(h=>!h)},children:[(0,Me.jsx)($r,{html:d,as:"span",bind:!t,className:`shiny-chat-tool-group__glyph${s?" running":""}`,displayContents:!1}),(0,Me.jsxs)("span",{className:"shiny-chat-tool-group__titlewrap",children:[(0,Me.jsx)(kee,{segments:i.segments,bind:!t}),f&&(0,Me.jsxs)("span",{className:"shiny-chat-tool-group__label",children:[": ",f.code?(0,Me.jsx)("code",{children:f.text}):f.text]})]}),(0,Me.jsx)("span",{className:"shiny-chat-tool-spacer"}),o&&t&&o.intent&&(0,Me.jsx)("span",{className:"shiny-chat-tool-row__intent",children:o.intent}),o?.valuePreview&&(0,Me.jsx)("span",{className:"shiny-chat-tool-call-row__preview",children:o.valuePreview}),a>0&&(0,Me.jsx)("span",{className:"shiny-chat-tool-group__failed",children:o?"failed":`${a} failed`}),(0,Me.jsx)("span",{className:"shiny-chat-tool-group__chevron",dangerouslySetInnerHTML:sB})]}),o?(0,Me.jsx)("div",{id:r,className:"shiny-chat-tool-call-row__detail",hidden:!t,children:t&&uB(o,!0)}):(0,Me.jsx)("ul",{id:r,className:"shiny-chat-tool-group__calls",role:"list",hidden:!t,children:e.calls.map(h=>(0,Me.jsx)(Mee,{item:h,segmentTitle:e.segmentTitles.get(h.toolName),heterogeneous:l},h.localId))})]})}var P0=q(ge(),1);var Ov=q(ie(),1);function fB({className:e,expanded:t}){return(0,Ov.jsx)("svg",{className:e,width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",...t?{"data-expanded":""}:{},children:(0,Ov.jsx)("path",{d:"M4.5 2.5L8 6L4.5 9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var Bt=q(ie(),1);function Dee(e){return e.domain||yc(e.url)}function Iee(e){return`https://icons.duckduckgo.com/ip3/${encodeURIComponent(e)}.ico`}var B0=(0,P0.memo)(function({items:t}){let[n,r]=(0,P0.useState)(!1),i=ku();if(t.length===0)return null;let o=t.some(s=>s.kind==="search")?"Searched the web":"Read the web";return(0,Bt.jsxs)("div",{className:"shiny-web-activity",children:[(0,Bt.jsxs)("button",{className:"shiny-web-activity__header","aria-expanded":n,onClick:()=>r(s=>!s),children:[(0,Bt.jsx)(fB,{className:"shiny-web-activity__chevron",expanded:n}),o]}),n&&(0,Bt.jsx)("div",{className:"shiny-web-activity__timeline",children:t.map((s,a)=>s.kind==="search"?(0,Bt.jsx)("div",{className:"shiny-web-activity__node shiny-web-activity__search",children:(()=>{let l=s.sources??s.citedSources,u=s.sources===null&&s.citedSources.length>0;return(0,Bt.jsxs)(Bt.Fragment,{children:[(0,Bt.jsxs)("div",{className:"shiny-web-activity__qrow",children:[(0,Bt.jsx)("span",{className:"shiny-web-activity__query",children:s.query}),s.sources!==null&&s.sources.length>0&&(0,Bt.jsxs)("span",{className:"shiny-web-activity__count",children:[s.sources.length," result",s.sources.length!==1?"s":""]}),u&&(0,Bt.jsx)("span",{className:"shiny-web-activity__count",children:"Cited sources"})]}),l.length>0&&(0,Bt.jsx)("div",{className:"shiny-web-activity__results",children:l.map(c=>{let f=Dee(c),d=ng(c.url);return(0,Bt.jsxs)(d?"a":"span",{className:"shiny-web-activity__result",...d?{href:c.url,...Yi}:{},children:[i&&(0,Bt.jsx)("img",{className:"shiny-web-activity__fav",src:Iee(f),alt:"",loading:"lazy",onError:p=>{p.currentTarget.style.visibility="hidden"}}),(0,Bt.jsx)("span",{className:"shiny-web-activity__title",children:c.title||f}),(0,Bt.jsx)("span",{className:"shiny-web-activity__domain",children:f})]},c.url)})})]})})()},`search-${a}-${s.query}`):(0,Bt.jsxs)("div",{className:"shiny-web-activity__node shiny-web-activity__fetch",children:[(0,Bt.jsx)("span",{className:"shiny-web-activity__fetch-label",children:"Read"}),s.status!=="error"&&ng(s.url)?(0,Bt.jsx)("a",{href:s.url,...Yi,children:s.url}):(0,Bt.jsx)("span",{children:s.url}),(0,Bt.jsx)("span",{className:`shiny-web-activity__status shiny-web-activity__status--${s.status==="error"?"error":"ok"}`,"aria-label":s.status==="error"?"failed":"succeeded",children:s.status==="error"?"\u2717":"\u2713"})]},`fetch-${a}-${s.url}`))})]})});var ll=q(ge(),1);var dB=q(ie(),1);function H0({content:e,htmlDeps:t,onMounted:n}){let r=(0,ll.useContext)(Tr),[i,o]=(0,ll.useState)(null);(0,ll.useEffect)(()=>{if(t.length===0)return;let a=!1;return(async()=>(await r?.renderDependencies(t),a||o(t)))(),()=>{a=!0}},[t,r]);let s=t.length===0||i===t;return(0,ll.useEffect)(()=>{s&&n?.()},[s,n]),s?(0,dB.jsx)($r,{html:e}):null}var pB=q(ie(),1);function hB({name:e}){return(0,pB.jsxs)("span",{className:"command-chip",children:["/",e]})}var F0={image_types:["image/png","image/jpeg","image/gif","image/webp"],pdf_type:"application/pdf",text_extensions:{md:"text/markdown",markdown:"text/markdown",txt:"text/plain",csv:"text/csv",json:"application/json",py:"text/x-python",js:"text/javascript",ts:"text/typescript",r:"text/x-r",yaml:"text/yaml",yml:"text/yaml",toml:"text/x-toml",qmd:"text/markdown",rmd:"text/markdown",ipynb:"application/x-ipynb+json",rst:"text/x-rst",tex:"text/x-tex",sql:"text/x-sql",sh:"text/x-sh",html:"text/html",htm:"text/html",css:"text/css",xml:"application/xml",ini:"text/x-ini",cfg:"text/x-ini",log:"text/plain"}};var mB=new TextDecoder("utf-8"),Pee=F0.image_types,Ac=F0.pdf_type,Dv=F0.text_extensions,gB=Array.from(new Set(Object.values(Dv))),Iv={"image/png":{family:"image",downscale:!0},"image/jpeg":{family:"image",downscale:!0},"image/gif":{family:"image",downscale:!0},"image/webp":{family:"image",downscale:!0},[Ac]:{family:"document",downscale:!1},...Object.fromEntries(gB.map(e=>[e,{family:"text",downscale:!1}]))},bB=Object.keys(Iv);function yB(e){let t=new Set(e);for(let[n,r]of Object.entries(Dv))t.has(r)&&t.add(`.${n}`);return[...t].join(",")}var Bee=1568;function ul(e){return Iv[e]?.family??null}function EB(e){return Pee.includes(e)}function Hee(e,t,n){let r=Math.max(e,t);if(r<=n)return null;let i=n/r;return{width:Math.round(e*i),height:Math.round(t*i)}}var TB=300,SB=1e3;function Lv(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r=999.95&&rt+n.size,0)}function Fee(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}async function zee(e,t){if(typeof document>"u"||typeof Image>"u")return{dataUrl:e,wasDownscaled:!1};let n=await new Promise(a=>{let l=new Image;l.onload=()=>a(l),l.onerror=()=>a(null),l.src=e});if(!n||!n.naturalWidth||!n.naturalHeight)return{dataUrl:e,wasDownscaled:!1};let r=Hee(n.naturalWidth,n.naturalHeight,Bee);if(!r)return{dataUrl:e,wasDownscaled:!1};let i=document.createElement("canvas");i.width=r.width,i.height=r.height;let o=i.getContext("2d");if(!o)return{dataUrl:e,wasDownscaled:!1};o.drawImage(n,0,0,r.width,r.height);let s=t==="image/gif"?"image/png":t;return{dataUrl:i.toDataURL(s),wasDownscaled:!0}}function CB(e){let t=e.lastIndexOf(".");return t<=0?"":e.slice(t+1).toLowerCase()}function U0(e,t){let n=CB(e);return n?n.toUpperCase():t===Ac?"PDF":"FILE"}function wB(e){return new File([e],"Pasted Text",{type:"text/plain"})}function Uee(e){if(EB(e.type)||e.type===Ac)return e.type;let t=CB(e.name);return t?Dv[t]??null:gB.includes(e.type)?e.type:null}async function NB(e,t){let n=Uee(e);if(n===null||!t.includes(n))return null;let r=ul(n);if(r===null)return null;let i=Iv[n],o=await Fee(e),s=o.indexOf(","),a=`data:${n};base64,${o.slice(s+1)}`;if(i?.downscale&&EB(n)){let{dataUrl:l,wasDownscaled:u}=await zee(a,n),c=u&&n==="image/gif"?"image/png":n;return{file:{id:zn(),type:c,family:r,dataUrl:l,name:e.name,size:z0(l)},wasDownscaled:u,wasConverted:c!==n}}return{file:{id:zn(),type:n,family:r,dataUrl:a,name:e.name,size:z0(a)},wasDownscaled:!1,wasConverted:!1}}var q0=q(ge(),1);var Zs=q(ie(),1),V0=(0,q0.memo)(function({dataUrl:t,name:n,size:r,onRemove:i,onActivate:o,rootRef:s,rootProps:a}){let l=(0,q0.useMemo)(()=>xB(t,TB).trim(),[t]);return(0,Zs.jsxs)("div",{ref:s,className:"shiny-chat-text-preview",title:n||void 0,...a,...o?{role:"button",tabIndex:0,onClick:o,onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),o())}}:void 0,children:[(0,Zs.jsx)("div",{className:"shiny-chat-text-preview-body",children:l||"(empty file)"}),(0,Zs.jsxs)("div",{className:"shiny-chat-text-preview-footer",children:[n&&(0,Zs.jsx)("span",{className:"shiny-chat-text-preview-name",children:n}),(0,Zs.jsx)("span",{className:"shiny-chat-text-preview-size",children:nh(r)})]}),i&&(0,Zs.jsx)("button",{type:"button",tabIndex:0,"aria-label":n?`Remove ${n}`:"Remove attachment",onClick:i,children:"\xD7"})]})});var wr=q(ge(),1),kB=q(lo(),1);var Go=q(ie(),1),RB='button, [tabindex="0"], a[href], input, select, textarea, iframe';function MB({src:e,name:t,mime:n,onClose:r}){let i=ul(n),o=i==="image",s=i==="text",a=n===Ac,[l,u]=(0,wr.useState)(null),c=(0,wr.useRef)(null),f=(0,wr.useRef)(null),d=(0,wr.useMemo)(()=>s?vB(e):"",[s,e]);(0,wr.useLayoutEffect)(()=>{f.current=document.activeElement instanceof HTMLElement?document.activeElement:null,c.current?.querySelector(RB)?.focus()},[]),(0,wr.useEffect)(()=>{let p=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=p,f.current?.focus()}},[]);let h=(0,wr.useCallback)(p=>{if(p.key==="Escape"){r();return}if(p.key!=="Tab")return;let b=c.current;if(!b)return;let y=b.querySelectorAll(RB);if(y.length===0)return;let g=y[0],E=y[y.length-1];p.shiftKey&&document.activeElement===g?(p.preventDefault(),E.focus()):!p.shiftKey&&document.activeElement===E&&(p.preventDefault(),g.focus())},[r]);return(0,wr.useEffect)(()=>{if(!a)return;let p=URL.createObjectURL(AB(e,Ac));return u(p),()=>URL.revokeObjectURL(p)},[e,a]),(0,kB.createPortal)((0,Go.jsxs)("div",{ref:c,className:"shiny-chat-lightbox",role:"dialog","aria-modal":"true","aria-label":t||"Attachment preview",onClick:r,onKeyDown:h,children:[(0,Go.jsxs)("div",{className:"shiny-chat-lightbox-content",onClick:p=>p.stopPropagation(),children:[o?(0,Go.jsx)("img",{className:"shiny-chat-lightbox-img",src:e,alt:t||"Attached image"}):s?(0,Go.jsx)("pre",{className:"shiny-chat-lightbox-text",tabIndex:0,"aria-label":t||"File content",children:d||"(empty file)"}):a?l&&(0,Go.jsx)("iframe",{className:"shiny-chat-lightbox-frame",src:l,sandbox:"",title:t||"PDF preview"}):null,t&&(0,Go.jsx)("div",{className:"shiny-chat-lightbox-name",children:t})]}),(0,Go.jsx)("button",{type:"button",className:"shiny-chat-lightbox-close","aria-label":"Close preview",onClick:r,children:"\xD7"})]}),document.body)}var Or=q(ge(),1);var Pb=q(ge(),1),aa=q(ge(),1),s8=q(lo(),1),a8=q(G0(),1),ns=q(ie(),1);function Wn(e){this.content=e}Wn.prototype={constructor:Wn,find:function(e){for(var t=0;t>1}};Wn.from=function(e){if(e instanceof Wn)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Wn(t)};var Bv=Wn;function GB(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),o=t.child(r);if(i==o){n+=i.nodeSize;continue}if(!i.sameMarkup(o))return n;if(i.isText&&i.text!=o.text){let s=i.text,a=o.text,l=0;for(;s[l]==a[l];l++)n++;return l&&l0&&d>0&&u[f-1]==c[d-1];)f--,d--,n--,r--;return f&&d&&f=56320&&e<57344}function WB(e){return e>=55296&&e<56320}var te=class e{constructor(t,n){if(this.content=t,this.size=n||0,n==null)for(let r=0;rt&&r(l,i+a,o||null,s)!==!1&&l.content.size){let c=a+1;l.nodesBetween(Math.max(0,t-c),Math.min(l.content.size,n-c),r,i+c)}a=u}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,n,r,i){let o="",s=!0;return this.nodesBetween(t,n,(a,l)=>{let u=a.isText?a.text.slice(Math.max(t,l)-l,n-l):a.isLeaf?i?typeof i=="function"?i(a):i:a.type.spec.leafText?a.type.spec.leafText(a):"":"";a.isBlock&&(a.isLeaf&&u||a.isTextblock)&&r&&(s?s=!1:o+=r),o+=u},0),o}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),o=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),o=1);ot)for(let o=0,s=0;st&&((sn)&&(a.isText?a=a.cut(Math.max(0,t-s),Math.min(a.text.length,n-s)):a=a.cut(Math.max(0,t-s-1),Math.min(a.content.size,n-s-1))),r.push(a),i+=a.nodeSize),s=l}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),o=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,o)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return!1;for(let n=0;nthis.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let n=0,r=0;;n++){let i=this.child(n),o=r+i.nodeSize;if(o>=t)return o==t?K0(n+1,o):K0(n,r);r=o}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(t=>t.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return e.fromArray(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let i=0;ithis.type.rank&&(n||(n=t.slice(0,i)),n.push(this),r=!0),n&&n.push(o)}}return n||(n=t.slice()),r||n.push(this),n}removeFromSet(t){for(let n=0;nr.type.rank-i.type.rank),n}};nt.none=[];var dl=class extends Error{},fe=class e{constructor(t,n,r){this.content=t,this.openStart=n,this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=jB(this.content,t+this.openStart,n,this.openStart+1,this.openEnd+1);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e($B(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new e(te.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let o=t.firstChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.firstChild)r++;for(let o=t.lastChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.lastChild)i++;return new e(t,r,i)}};fe.empty=new fe(te.empty,0,0);function $B(e,t,n){let{index:r,offset:i}=e.findIndex(t),o=e.maybeChild(r),{index:s,offset:a}=e.findIndex(n);if(i==t||o.isText){if(a!=n&&!e.child(s).isText)throw new RangeError("Removing non-flat range");return e.cut(0,t).append(e.cut(n))}if(r!=s)throw new RangeError("Removing non-flat range");return e.replaceChild(r,o.copy($B(o.content,t-i-1,n-i-1)))}function jB(e,t,n,r,i,o){let{index:s,offset:a}=e.findIndex(t),l=e.maybeChild(s);if(a==t||l.isText)return o&&r<=0&&i<=0&&!o.canReplace(s,s,n)?null:e.cut(0,t).append(n).append(e.cut(t));let u=jB(l.content,t-a-1,n,s==0?r-1:0,s==e.childCount-1?i-1:0,l);return u&&e.replaceChild(s,l.copy(u))}function Qee(e,t,n){if(n.openStart>e.depth)throw new dl("Inserted content deeper than insertion position");if(e.depth-n.openStart!=t.depth-n.openEnd)throw new dl("Inconsistent open depths");return XB(e,t,n,0)}function XB(e,t,n,r){let i=e.index(r),o=e.node(r);if(i==t.index(r)&&r=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function rh(e,t,n,r){let i=(t||e).node(n),o=0,s=t?t.index(n):i.childCount;e&&(o=e.index(n),e.depth>n?o++:e.textOffset&&(cl(e.nodeAfter,r),o++));for(let a=o;ai&&Fv(e,t,i+1),s=r.depth>i&&Fv(n,r,i+1),a=[];return rh(null,e,i,a),o&&s&&t.index(i)==n.index(i)?(QB(o,s),cl(fl(o,ZB(e,t,n,r,i+1)),a)):(o&&cl(fl(o,j0(e,t,i+1)),a),rh(t,n,i,a),s&&cl(fl(s,j0(n,r,i+1)),a)),rh(r,null,i,a),new te(a)}function j0(e,t,n){let r=[];if(rh(null,e,n,r),e.depth>n){let i=Fv(e,t,n+1);cl(fl(i,j0(e,t,n+1)),r)}return rh(t,null,n,r),new te(r)}function Zee(e,t){let n=t.depth-e.openStart,i=t.node(n).copy(e.content);for(let o=n-1;o>=0;o--)i=t.node(o).copy(te.from(i));return{start:i.resolveNoCache(e.openStart+n),end:i.resolveNoCache(i.content.size-e.openEnd-n)}}var X0=class e{constructor(t,n,r){this.pos=t,this.path=n,this.parentOffset=r,this.depth=n.length/3-1}resolveDepth(t){return t==null?this.depth:t<0?this.depth+t:t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[this.resolveDepth(t)*3]}index(t){return this.path[this.resolveDepth(t)*3+1]}indexAfter(t){return t=this.resolveDepth(t),this.index(t)+(t==this.depth&&!this.textOffset?0:1)}start(t){return t=this.resolveDepth(t),t==0?0:this.path[t*3-1]+1}end(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size}before(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]}after(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,n=this.index(this.depth);if(n==t.childCount)return null;let r=this.pos-this.path[this.path.length-1],i=t.child(n);return r?t.child(n).cut(r):i}get nodeBefore(){let t=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(t).cut(0,n):t==0?null:this.parent.child(t-1)}posAtIndex(t,n){n=this.resolveDepth(n);let r=this.path[n*3],i=n==0?0:this.path[n*3-1]+1;for(let o=0;o0;n--)if(this.start(n)<=t&&this.end(n)>=t)return n;return 0}blockRange(t=this,n){if(t.pos=0;r--)if(t.pos<=this.end(r)&&(!n||n(this.node(r))))return new hl(this,t,r);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos=0&&n<=t.content.size))throw new RangeError("Position "+n+" out of range");let r=[],i=0,o=n;for(let s=t;;){let{index:a,offset:l}=s.content.findIndex(o),u=o-l;if(r.push(s,a,i+l),!u||(s=s.child(a),s.isText))break;o=u-1,i+=l+1}return new e(n,r,o)}static resolveCached(t,n){let r=LB.get(t);if(r)for(let o=0;ot&&this.nodesBetween(t,n,o=>(r.isInSet(o.marks)&&(i=!0),!i)),i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;return this.content.size&&(t+="("+this.content.toStringInner()+")"),JB(this.marks,t)}contentMatchAt(t){let n=this.type.contentMatch.matchFragment(this.content,0,t);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(t,n,r=te.empty,i=0,o=r.childCount){let s=this.contentMatchAt(t).matchFragment(r,i,o),a=s&&s.matchFragment(this.content,n);if(!a||!a.validEnd)return!1;for(let l=i;ln.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let t={type:this.type.name};for(let n in this.attrs){t.attrs=this.attrs;break}return this.content.size&&(t.content=this.content.toJSON()),this.marks.length&&(t.marks=this.marks.map(n=>n.toJSON())),t}static fromJSON(t,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let r;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=n.marks.map(t.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return t.text(n.text,r)}let i=te.fromJSON(t,n.content),o=t.nodeType(n.type).create(n.attrs,i,r);return o.type.checkAttrs(o.attrs),o}};Nr.prototype.text=void 0;var Uv=class e extends Nr{constructor(t,n,r,i){if(super(t,n,null,i),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):JB(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,n){return this.text.slice(t,n)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(t=0,n=this.text.length){return t==0&&n==this.text.length?this:this.withText(this.text.slice(t,n))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();return t.text=this.text,t}};function JB(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+"("+t+")";return t}var pl=class e{constructor(t){this.validEnd=t,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new qv(t,n);if(r.next==null)return e.empty;let i=e4(r);r.next&&r.err("Unexpected trailing text");let o=ate(ste(i));return lte(o,r),o}matchType(t){for(let n=0;nu.createAndFill()));for(let u=0;u=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function n(r){t.push(r);for(let i=0;i{let o=i+(r.validEnd?"*":" ")+" ";for(let s=0;s"+t.indexOf(r.next[s].next);return o}).join(` -`)}};pl.empty=new pl(!0);var qv=class{constructor(t,n){this.string=t,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=t.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||!0)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}};function e4(e){let t=[];do t.push(tte(e));while(e.eat("|"));return t.length==1?t[0]:{type:"choice",exprs:t}}function tte(e){let t=[];do t.push(nte(e));while(e.next&&e.next!=")"&&e.next!="|");return t.length==1?t[0]:{type:"seq",exprs:t}}function nte(e){let t=ote(e);for(;;)if(e.eat("+"))t={type:"plus",expr:t};else if(e.eat("*"))t={type:"star",expr:t};else if(e.eat("?"))t={type:"opt",expr:t};else if(e.eat("{"))t=rte(e,t);else break;return t}function PB(e){/\D/.test(e.next)&&e.err("Expected number, got '"+e.next+"'");let t=Number(e.next);return e.pos++,t}function rte(e,t){let n=PB(e),r=n;return e.eat(",")&&(e.next!="}"?r=PB(e):r=-1),e.eat("}")||e.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:t}}function ite(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let o in n){let s=n[o];s.isInGroup(t)&&i.push(s)}return i.length==0&&e.err("No node type or group '"+t+"' found"),i}function ote(e){if(e.eat("(")){let t=e4(e);return e.eat(")")||e.err("Missing closing paren"),t}else if(/\W/.test(e.next))e.err("Unexpected token '"+e.next+"'");else{let t=ite(e,e.next).map(n=>(e.inline==null?e.inline=n.isInline:e.inline!=n.isInline&&e.err("Mixing inline and block content"),{type:"name",value:n}));return e.pos++,t.length==1?t[0]:{type:"choice",exprs:t}}}function ste(e){let t=[[]];return i(o(e,0),n()),t;function n(){return t.push([])-1}function r(s,a,l){let u={term:l,to:a};return t[s].push(u),u}function i(s,a){s.forEach(l=>l.to=a)}function o(s,a){if(s.type=="choice")return s.exprs.reduce((l,u)=>l.concat(o(u,a)),[]);if(s.type=="seq")for(let l=0;;l++){let u=o(s.exprs[l],a);if(l==s.exprs.length-1)return u;i(u,a=n())}else if(s.type=="star"){let l=n();return r(a,l),i(o(s.expr,l),l),[r(l)]}else if(s.type=="plus"){let l=n();return i(o(s.expr,a),l),i(o(s.expr,l),l),[r(l)]}else{if(s.type=="opt")return[r(a)].concat(o(s.expr,a));if(s.type=="range"){let l=a;for(let u=0;u{e[s].forEach(({term:a,to:l})=>{if(!a)return;let u;for(let c=0;c{u||i.push([a,u=[]]),u.indexOf(c)==-1&&u.push(c)})})});let o=t[r.join(",")]=new pl(r.indexOf(e.length-1)>-1);for(let s=0;s-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return!0;return!1}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){return!t&&this.defaultAttrs?this.defaultAttrs:r4(this.attrs,t)}create(t=null,n,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Nr(this,this.computeAttrs(t),te.from(n),nt.setFrom(r))}createChecked(t=null,n,r){return n=te.from(n),this.checkContent(n),new Nr(this,this.computeAttrs(t),n,nt.setFrom(r))}createAndFill(t=null,n,r){if(t=this.computeAttrs(t),n=te.from(n),n.size){let s=this.contentMatch.fillBefore(n);if(!s)return null;n=s.append(n)}let i=this.contentMatch.matchFragment(n),o=i&&i.fillBefore(te.empty,!0);return o?new Nr(this,t,n.append(o),nt.setFrom(r)):null}validContent(t){let n=this.contentMatch.matchFragment(t);if(!n||!n.validEnd)return!1;for(let r=0;r-1}allowsMarks(t){if(this.markSet==null)return!0;for(let n=0;nr[o]=new e(o,n,s));let i=n.spec.topNode||"doc";if(!r[i])throw new RangeError("Schema is missing its top node type ('"+i+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let o in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}};function ute(e,t,n){let r=n.split("|");return i=>{let o=i===null?"null":typeof i;if(r.indexOf(o)<0)throw new RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${o}`)}}var Vv=class{constructor(t,n,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default"),this.default=r.default,this.validate=typeof r.validate=="string"?ute(t,n,r.validate):r.validate}get isRequired(){return!this.hasDefault}},oh=class e{constructor(t,n,r,i){this.name=t,this.rank=n,this.schema=r,this.spec=i,this.attrs=o4(t,i.attrs),this.excluded=null;let o=n4(this.attrs);this.instance=o?new nt(this,o):null}create(t=null){return!t&&this.instance?this.instance:new nt(this,r4(this.attrs,t))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((o,s)=>r[o]=new e(o,i++,n,s)),r}removeFromSet(t){for(var n=0;n-1}},wc=class{constructor(t){this.linebreakReplacement=null,this.cached=Object.create(null);let n=this.spec={};for(let i in t)n[i]=t[i];n.nodes=Bv.from(t.nodes),n.marks=Bv.from(t.marks||{}),this.nodes=Q0.compile(this.spec.nodes,this),this.marks=oh.compile(this.spec.marks,this);let r=Object.create(null);for(let i in this.nodes){if(i in this.marks)throw new RangeError(i+" can not be both a node and a mark");let o=this.nodes[i],s=o.spec.content||"",a=o.spec.marks;if(o.contentMatch=r[s]||(r[s]=pl.parse(s,this.nodes)),o.inlineContent=o.contentMatch.inlineContent,o.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!o.isInline||!o.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=o}o.markSet=a=="_"?null:a?HB(this,a.split(" ")):a==""||!o.inlineContent?[]:null}for(let i in this.marks){let o=this.marks[i],s=o.spec.excludes;o.excluded=s==null?[o]:s==""?[]:HB(this,s.split(" "))}this.nodeFromJSON=i=>Nr.fromJSON(this,i),this.markFromJSON=i=>nt.fromJSON(this,i),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(t,n=null,r,i){if(typeof t=="string")t=this.nodeType(t);else if(t instanceof Q0){if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")")}else throw new RangeError("Invalid node type: "+t);return t.createChecked(n,r,i)}text(t,n){let r=this.nodes.text;return new Uv(r,r.defaultAttrs,t,nt.setFrom(n))}mark(t,n){return typeof t=="string"&&(t=this.marks[t]),t.create(n)}nodeType(t){let n=this.nodes[t];if(!n)throw new RangeError("Unknown node type: "+t);return n}};function HB(e,t){let n=[];for(let r=0;r-1)&&n.push(s=l)}if(!s)throw new SyntaxError("Unknown mark type: '"+t[r]+"'")}return n}function cte(e){return e.tag!=null}function fte(e){return e.style!=null}var eo=class e{constructor(t,n){this.schema=t,this.rules=n,this.tags=[],this.styles=[];let r=this.matchedStyles=[];n.forEach(i=>{if(cte(i))this.tags.push(i);else if(fte(i)){let o=/[^=]*/.exec(i.style)[0];r.indexOf(o)<0&&r.push(o),this.styles.push(i)}}),this.normalizeLists=!this.tags.some(i=>{if(!/^(ul|ol)\b/.test(i.tag)||!i.node)return!1;let o=t.nodes[i.node];return o.contentMatch.matchType(o)})}parse(t,n={}){let r=new Z0(this,n,!1);return r.addAll(t,nt.none,n.from,n.to),r.finish()}parseSlice(t,n={}){let r=new Z0(this,n,!0);return r.addAll(t,nt.none,n.from,n.to),fe.maxOpen(r.finish())}matchTag(t,n,r){for(let i=r?this.tags.indexOf(r)+1:0;it.length&&(a.charCodeAt(t.length)!=61||a.slice(t.length+1)!=n))){if(s.getAttrs){let l=s.getAttrs(n);if(l===!1)continue;s.attrs=l||void 0}return s}}}static schemaRules(t){let n=[];function r(i){let o=i.priority==null?50:i.priority,s=0;for(;s{r(s=zB(s)),s.mark||s.ignore||s.clearMark||(s.mark=i)})}for(let i in t.nodes){let o=t.nodes[i].spec.parseDOM;o&&o.forEach(s=>{r(s=zB(s)),s.node||s.ignore||s.mark||(s.node=i)})}return n}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},s4={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},dte={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},a4={ol:!0,ul:!0},sh=1,Gv=2,ih=4;function FB(e,t,n){return t!=null?(t?sh:0)|(t==="full"?Gv:0):e&&e.whitespace=="pre"?sh|Gv:n&~ih}var Cc=class{constructor(t,n,r,i,o,s){this.type=t,this.attrs=n,this.marks=r,this.solid=i,this.options=s,this.content=[],this.activeMarks=nt.none,this.match=o||(s&ih?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let n=this.type.contentMatch.fillBefore(te.from(t));if(n)this.match=this.type.contentMatch.matchFragment(n);else{let r=this.type.contentMatch,i;return(i=r.findWrapping(t.type))?(this.match=r,i):null}}return this.match.findWrapping(t.type)}finish(t){if(!(this.options&sh)){let r=this.content[this.content.length-1],i;if(r&&r.isText&&(i=/[ \t\r\n\u000c]+$/.exec(r.text))){let o=r;r.text.length==i[0].length?this.content.pop():this.content[this.content.length-1]=o.withText(o.text.slice(0,o.text.length-i[0].length))}}let n=te.from(this.content);return!t&&this.match&&(n=n.append(this.match.fillBefore(te.empty,!0))),this.type?this.type.create(this.attrs,n,this.marks):n}inlineContext(t){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:t.parentNode&&!s4.hasOwnProperty(t.parentNode.nodeName.toLowerCase())}},Z0=class{constructor(t,n,r){this.parser=t,this.options=n,this.isOpen=r,this.open=0,this.localPreserveWS=!1;let i=n.topNode,o,s=FB(null,n.preserveWhitespace,0)|(r?ih:0);i?o=new Cc(i.type,i.attrs,nt.none,!0,n.topMatch||i.type.contentMatch,s):r?o=new Cc(null,null,nt.none,!0,null,s):o=new Cc(t.schema.topNodeType,null,nt.none,!0,null,s),this.nodes=[o],this.find=n.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(t,n){t.nodeType==3?this.addTextNode(t,n):t.nodeType==1&&this.addElement(t,n)}addTextNode(t,n){let r=t.nodeValue,i=this.top,o=i.options&Gv?"full":this.localPreserveWS||(i.options&sh)>0,{schema:s}=this.parser;if(o==="full"||i.inlineContext(t)||/[^ \t\r\n\u000c]/.test(r)){if(o)if(o==="full")r=r.replace(/\r\n?/g,` -`);else if(s.linebreakReplacement&&/[\r\n]/.test(r)&&this.top.findWrapping(s.linebreakReplacement.create())){let a=r.split(/\r?\n|\r/);for(let l=0;l!l.clearMark(u)):n=n.concat(this.parser.schema.marks[l.mark].create(l.attrs)),l.consuming===!1)a=l;else break}}return n}addElementByRule(t,n,r,i){let o,s;if(n.node)if(s=this.parser.schema.nodes[n.node],s.isLeaf)this.insertNode(s.create(n.attrs),r,t.nodeName=="BR")||this.leafFallback(t,r);else{let l=this.enter(s,n.attrs||null,r,n.preserveWhitespace);l&&(o=!0,r=l)}else{let l=this.parser.schema.marks[n.mark];r=r.concat(l.create(n.attrs))}let a=this.top;if(s&&s.isLeaf)this.findInside(t);else if(i)this.addElement(t,r,i);else if(n.getContent)this.findInside(t),n.getContent(t,this.parser.schema).forEach(l=>this.insertNode(l,r,!1));else{let l=t;typeof n.contentElement=="string"?l=t.querySelector(n.contentElement):typeof n.contentElement=="function"?l=n.contentElement(t):n.contentElement&&(l=n.contentElement),this.findAround(t,l,!0),this.addAll(l,r),this.findAround(t,l,!1)}o&&this.sync(a)&&this.open--}addAll(t,n,r,i){let o=r||0;for(let s=r?t.childNodes[r]:t.firstChild,a=i==null?null:t.childNodes[i];s!=a;s=s.nextSibling,++o)this.findAtPoint(t,o),this.addDOM(s,n);this.findAtPoint(t,o)}findPlace(t,n,r){let i,o;for(let s=this.open,a=0;s>=0;s--){let l=this.nodes[s],u=l.findWrapping(t);if(u&&(!i||i.length>u.length+a)&&(i=u,o=l,!u.length))break;if(l.solid){if(r)break;a+=2}}if(!i)return null;this.sync(o);for(let s=0;s(s.type?s.type.allowsMarkType(u.type):UB(u.type,t))?(l=u.addToSet(l),!1):!0),this.nodes.push(new Cc(t,n,l,i,null,a)),this.open++,r}closeExtra(t=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(t));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(t){for(let n=this.open;n>=0;n--){if(this.nodes[n]==t)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=sh)}return!1}get currentPos(){this.closeExtra();let t=0;for(let n=this.open;n>=0;n--){let r=this.nodes[n].content;for(let i=r.length-1;i>=0;i--)t+=r[i].nodeSize;n&&t++}return t}findAtPoint(t,n){if(this.find)for(let r=0;r-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let n=t.split("/"),r=this.options.context,i=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),o=-(r?r.depth+1:0)+(i?0:1),s=(a,l)=>{for(;a>=0;a--){let u=n[a];if(u==""){if(a==n.length-1||a==0)continue;for(;l>=o;l--)if(s(a-1,l))return!0;return!1}else{let c=l>0||l==0&&i?this.nodes[l].type:r&&l>=o?r.node(l-o).type:null;if(!c||c.name!=u&&!c.isInGroup(u))return!1;l--}}return!0};return s(n.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.indexAfter(n)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let n in this.parser.schema.nodes){let r=this.parser.schema.nodes[n];if(r.isTextblock&&r.defaultAttrs)return r}}};function hte(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let r=t.nodeType==1?t.nodeName.toLowerCase():null;r&&a4.hasOwnProperty(r)&&n?(n.appendChild(t),t=n):r=="li"?n=t:r&&(n=null)}}function pte(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function zB(e){let t={};for(let n in e)t[n]=e[n];return t}function UB(e,t){let n=t.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(e))continue;let o=[],s=a=>{o.push(a);for(let l=0;l{if(o.length||s.marks.length){let a=0,l=0;for(;a=0;i--){let o=this.serializeMark(t.marks[i],t.isInline,n);o&&((o.contentDOM||o.dom).appendChild(r),r=o.dom)}return r}serializeMark(t,n,r={}){let i=this.marks[t.type.name];return i&&W0(Y0(r),i(t,n),null,t.attrs)}static renderSpec(t,n,r=null,i){return typeof n=="string"?{dom:t.createTextNode(n)}:W0(t,n,r,i)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let n=qB(t.nodes);return n.text||(n.text=r=>r.text),n}static marksFromSchema(t){return qB(t.marks)}};function qB(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function Y0(e){return e.document||window.document}var VB=new WeakMap;function mte(e){let t=VB.get(e);return t===void 0&&VB.set(e,t=gte(e)),t}function gte(e){let t=null;function n(r){if(r&&typeof r=="object")if(Array.isArray(r))if(typeof r[0]=="string")t||(t=[]),t.push(r);else for(let i=0;i-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let s=i.indexOf(" ");s>0&&(n=i.slice(0,s),i=i.slice(s+1));let a,l=n?e.createElementNS(n,i):e.createElement(i),u=t[1],c=1;if(u&&typeof u=="object"&&u.nodeType==null&&!Array.isArray(u)){c=2;for(let f in u)if(u[f]!=null){let d=f.indexOf(" ");d>0?l.setAttributeNS(f.slice(0,d),f.slice(d+1),u[f]):f=="style"&&l.style?l.style.cssText=u[f]:l.setAttribute(f,u[f])}}for(let f=c;fc)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else if(typeof d=="string")l.appendChild(e.createTextNode(d));else{let{dom:h,contentDOM:p}=W0(e,d,n,r);if(l.appendChild(h),p){if(a)throw new RangeError("Multiple content holes");a=p}}}return{dom:l,contentDOM:a}}var c4=65535,f4=Math.pow(2,16);function bte(e,t){return e+t*f4}function l4(e){return e&c4}function yte(e){return(e-(e&c4))/f4}var d4=1,h4=2,J0=4,p4=8,uh=class{constructor(t,n,r){this.pos=t,this.delInfo=n,this.recover=r}get deleted(){return(this.delInfo&p4)>0}get deletedBefore(){return(this.delInfo&(d4|J0))>0}get deletedAfter(){return(this.delInfo&(h4|J0))>0}get deletedAcross(){return(this.delInfo&J0)>0}},Yo=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(t){let n=0,r=l4(t);if(!this.inverted)for(let i=0;it)break;let u=this.ranges[a+o],c=this.ranges[a+s],f=l+u;if(t<=f){let d=u?t==l?-1:t==f?1:n:n,h=l+i+(d<0?0:c);if(r)return h;let p=t==(n<0?l:f)?null:bte(a/3,t-l),b=t==l?h4:t==f?d4:J0;return(n<0?t!=l:t!=f)&&(b|=p4),new uh(h,b,p)}i+=c-u}return r?t+i:new uh(t+i,0,null)}touches(t,n){let r=0,i=l4(n),o=this.inverted?2:1,s=this.inverted?1:2;for(let a=0;at)break;let u=this.ranges[a+o],c=l+u;if(t<=c&&a==i*3)return!0;r+=this.ranges[a+s]-u}return!1}forEach(t){let n=this.inverted?2:1,r=this.inverted?1:2;for(let i=0,o=0;i=0;n--){let i=t.getMirror(n);this.appendMap(t._maps[n].invert(),i!=null&&i>n?r-i-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(t,n=1){if(this.mirror)return this._map(t,n,!0);for(let r=this.from;ro&&l!s.isAtom||!a.type.allowsMarkType(this.mark.type)?s:s.mark(this.mark.addToSet(s.marks)),i),n.openStart,n.openEnd);return In.fromReplace(t,this.from,this.to,o)}invert(){return new Wo(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new e(n.from,n.to,t.markFromJSON(n.mark))}};xn.jsonID("addMark",fh);var Wo=class e extends xn{constructor(t,n,r){super(),this.from=t,this.to=n,this.mark=r}apply(t){let n=t.slice(this.from,this.to),r=new fe(Xv(n.content,i=>i.mark(this.mark.removeFromSet(i.marks)),t),n.openStart,n.openEnd);return In.fromReplace(t,this.from,this.to,r)}invert(){return new fh(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new e(n.from,n.to,t.markFromJSON(n.mark))}};xn.jsonID("removeMark",Wo);var dh=class e extends xn{constructor(t,n){super(),this.pos=t,this.mark=n}apply(t){let n=t.nodeAt(this.pos);if(!n)return In.fail("No node at mark step's position");let r=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return In.fromReplace(t,this.pos,this.pos+1,new fe(te.from(r),0,n.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);if(n){let r=this.mark.addToSet(n.marks);if(r.length==n.marks.length){for(let i=0;ir.pos?null:new e(n.pos,r.pos,i,o,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new e(n.from,n.to,n.gapFrom,n.gapTo,fe.fromJSON(t,n.slice),n.insert,!!n.structure)}};xn.jsonID("replaceAround",un);function $v(e,t,n){let r=e.resolve(t),i=n-t,o=r.depth;for(;i>0&&o>0&&r.indexAfter(o)==r.node(o).childCount;)o--,i--;if(i>0){let s=r.node(o).maybeChild(r.indexAfter(o));for(;i>0;){if(!s||s.isLeaf)return!0;s=s.firstChild,i--}}return!1}function Ete(e,t,n,r){let i=[],o=[],s,a;e.doc.nodesBetween(t,n,(l,u,c)=>{if(!l.isInline)return;let f=l.marks;if(!r.isInSet(f)&&c.type.allowsMarkType(r.type)){let d=Math.max(u,t),h=Math.min(u+l.nodeSize,n),p=r.addToSet(f);for(let b=0;be.step(l)),o.forEach(l=>e.step(l))}function Tte(e,t,n,r){let i=[],o=0;e.doc.nodesBetween(t,n,(s,a)=>{if(!s.isInline)return;o++;let l=null;if(r instanceof oh){let u=s.marks,c;for(;c=r.isInSet(u);)(l||(l=[])).push(c),u=c.removeFromSet(u)}else r?r.isInSet(s.marks)&&(l=[r]):l=s.marks;if(l&&l.length){let u=Math.min(a+s.nodeSize,n);for(let c=0;ce.step(new Wo(s.from,s.to,s.style)))}function Qv(e,t,n,r=n.contentMatch,i=!0){let o=e.doc.nodeAt(t),s=[],a=t+1;for(let l=0;l=0;l--)e.step(s[l])}function Ste(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function $o(e){let n=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let r=e.depth,i=0,o=0;;--r){let s=e.$from.node(r),a=e.$from.index(r)+i,l=e.$to.indexAfter(r)-o;if(rn;p--)b||r.index(p)>0?(b=!0,c=te.from(r.node(p).copy(c)),f++):l--;let d=te.empty,h=0;for(let p=o,b=!1;p>n;p--)b||i.after(p+1)=0;s--){if(r.size){let a=n[s].type.contentMatch.matchFragment(r);if(!a||!a.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=te.from(n[s].type.create(n[s].attrs,r))}let i=t.start,o=t.end;e.step(new un(i,o,i,o,new fe(r,0,0),n.length,!0))}function Cte(e,t,n,r,i){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let o=e.steps.length;e.doc.nodesBetween(t,n,(s,a)=>{let l=typeof i=="function"?i(s):i;if(s.isTextblock&&!s.hasMarkup(r,l)&&wte(e.doc,e.mapping.slice(o).map(a),r)){let u=null;if(r.schema.linebreakReplacement){let h=r.whitespace=="pre",p=!!r.contentMatch.matchType(r.schema.linebreakReplacement);h&&!p?u=!1:!h&&p&&(u=!0)}u===!1&&g4(e,s,a,o),Qv(e,e.mapping.slice(o).map(a,1),r,void 0,u===null);let c=e.mapping.slice(o),f=c.map(a,1),d=c.map(a+s.nodeSize,1);return e.step(new un(f,d,f+1,d-1,new fe(te.from(r.create(l,null,s.marks)),0,0),1,!0)),u===!0&&m4(e,s,a,o),!1}})}function m4(e,t,n,r){t.forEach((i,o)=>{if(i.isText){let s,a=/\r?\n|\r/g;for(;s=a.exec(i.text);){let l=e.mapping.slice(r).map(n+1+o+s.index);e.replaceWith(l,l+1,t.type.schema.linebreakReplacement.create())}}})}function g4(e,t,n,r){t.forEach((i,o)=>{if(i.type==i.type.schema.linebreakReplacement){let s=e.mapping.slice(r).map(n+1+o);e.replaceWith(s,s+1,t.type.schema.text(` -`))}})}function wte(e,t,n){let r=e.resolve(t),i=r.index();return r.parent.canReplaceWith(i,i+1,n)}function Nte(e,t,n,r,i){let o=e.doc.nodeAt(t);if(!o)throw new RangeError("No node at given position");n||(n=o.type);let s=n.create(r,null,i||o.marks);if(o.isLeaf)return e.replaceWith(t,t+o.nodeSize,s);if(!n.validContent(o.content))throw new RangeError("Invalid content for node type "+n.name);e.step(new un(t,t+o.nodeSize,t+1,t+o.nodeSize-1,new fe(te.from(s),0,0),1,!0))}function jr(e,t,n=1,r){let i=e.resolve(t),o=i.depth-n,s=r&&r[r.length-1]||i.parent;if(o<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!s.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(let u=i.depth-1,c=n-2;u>o;u--,c--){let f=i.node(u),d=i.index(u);if(f.type.spec.isolating)return!1;let h=f.content.cutByIndex(d,f.childCount),p=r&&r[c+1];p&&(h=h.replaceChild(0,p.type.create(p.attrs)));let b=r&&r[c]||f;if(!f.canReplace(d+1,f.childCount)||!b.type.validContent(h))return!1}let a=i.indexAfter(o),l=r&&r[0];return i.node(o).canReplaceWith(a,a,l?l.type:i.node(o+1).type)}function Rte(e,t,n=1,r){let i=e.doc.resolve(t),o=te.empty,s=te.empty;for(let a=i.depth,l=i.depth-n,u=n-1;a>l;a--,u--){o=te.from(i.node(a).copy(o));let c=r&&r[u];s=te.from(c?c.type.create(c.attrs,s):i.node(a).copy(s))}e.step(new Ln(t,t,new fe(o.append(s),n,n),!0))}function _i(e,t){let n=e.resolve(t),r=n.index();return b4(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function kte(e,t){t.content.size||e.type.compatibleContent(t.type);let n=e.contentMatchAt(e.childCount),{linebreakReplacement:r}=e.type.schema;for(let i=0;i0?(o=r.node(i+1),a++,s=r.node(i).maybeChild(a)):(o=r.node(i).maybeChild(a-1),s=r.node(i+1)),o&&!o.isTextblock&&b4(o,s)&&r.node(i).canReplace(a,a+1))return t;if(i==0)break;t=n<0?r.before(i):r.after(i)}}function Mte(e,t,n){let r=null,{linebreakReplacement:i}=e.doc.type.schema,o=e.doc.resolve(t-n),s=o.node().type;if(i&&s.inlineContent){let c=s.whitespace=="pre",f=!!s.contentMatch.matchType(i);c&&!f?r=!1:!c&&f&&(r=!0)}let a=e.steps.length;if(r===!1){let c=e.doc.resolve(t+n);g4(e,c.node(),c.before(),a)}s.inlineContent&&Qv(e,t+n-1,s,o.node().contentMatchAt(o.index()),r==null);let l=e.mapping.slice(a),u=l.map(t-n);if(e.step(new Ln(u,l.map(t+n,-1),fe.empty,!0)),r===!0){let c=e.doc.resolve(u);m4(e,c.node(),c.before(),e.steps.length)}return e}function Ote(e,t,n){let r=e.resolve(t);if(r.parent.canReplaceWith(r.index(),r.index(),n))return t;if(r.parentOffset==0)for(let i=r.depth-1;i>=0;i--){let o=r.index(i);if(r.node(i).canReplaceWith(o,o,n))return r.before(i+1);if(o>0)return null}if(r.parentOffset==r.parent.content.size)for(let i=r.depth-1;i>=0;i--){let o=r.indexAfter(i);if(r.node(i).canReplaceWith(o,o,n))return r.after(i+1);if(o=0;s--){let a=s==r.depth?0:r.pos<=(r.start(s+1)+r.end(s+1))/2?-1:1,l=r.index(s)+(a>0?1:0),u=r.node(s),c=!1;if(o==1)c=u.canReplace(l,l,i);else{let f=u.contentMatchAt(l).findWrapping(i.firstChild.type);c=f&&u.canReplaceWith(l,l,f[0])}if(c)return a==0?r.pos:a<0?r.before(s+1):r.after(s+1)}return null}function ph(e,t,n=t,r=fe.empty){if(t==n&&!r.size)return null;let i=e.resolve(t),o=e.resolve(n);return E4(i,o,r)?new Ln(t,n,r):new jv(i,o,r).fit()}function E4(e,t,n){return!n.openStart&&!n.openEnd&&e.start()==t.start()&&e.parent.canReplace(e.index(),t.index(),n.content)}var jv=class{constructor(t,n,r){this.$from=t,this.$to=n,this.unplaced=r,this.frontier=[],this.placed=te.empty;for(let i=0;i<=t.depth;i++){let o=t.node(i);this.frontier.push({type:o.type,match:o.contentMatchAt(t.indexAfter(i))})}for(let i=t.depth;i>0;i--)this.placed=te.from(t.node(i).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let u=this.findFittable();u?this.placeNodes(u):this.openMore()||this.dropNode()}let t=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,r=this.$from,i=this.close(t<0?this.$to:r.doc.resolve(t));if(!i)return null;let o=this.placed,s=r.depth,a=i.depth;for(;s&&a&&o.childCount==1;)o=o.firstChild.content,s--,a--;let l=new fe(o,s,a);return t>-1?new un(r.pos,t,this.$to.pos,this.$to.end(),l,n):l.size||r.pos!=this.$to.pos?new Ln(r.pos,i.pos,l):null}findFittable(){let t=this.unplaced.openStart;for(let n=this.unplaced.content,r=0,i=this.unplaced.openEnd;r1&&(i=0),o.type.spec.isolating&&i<=r){t=r;break}n=o.content}for(let n=1;n<=2;n++)for(let r=n==1?t:this.unplaced.openStart;r>=0;r--){let i,o=null;r?(o=Yv(this.unplaced.content,r-1).firstChild,i=o.content):i=this.unplaced.content;let s=i.firstChild;for(let a=this.depth;a>=0;a--){let{type:l,match:u}=this.frontier[a],c,f=null;if(n==1&&(s?u.matchType(s.type)||(f=u.fillBefore(te.from(s),!1)):o&&l.compatibleContent(o.type)))return{sliceDepth:r,frontierDepth:a,parent:o,inject:f};if(n==2&&s&&(c=u.findWrapping(s.type)))return{sliceDepth:r,frontierDepth:a,parent:o,wrap:c};if(o&&u.matchType(o.type))break}}}openMore(){let{content:t,openStart:n,openEnd:r}=this.unplaced,i=Yv(t,n);return!i.childCount||i.firstChild.isLeaf?!1:(this.unplaced=new fe(t,n+1,Math.max(r,i.size+n>=t.size-r?n+1:0)),!0)}dropNode(){let{content:t,openStart:n,openEnd:r}=this.unplaced,i=Yv(t,n);if(i.childCount<=1&&n>0){let o=t.size-n<=n+i.size;this.unplaced=new fe(ah(t,n-1,1),n-1,o?n-1:r)}else this.unplaced=new fe(ah(t,n,1),n,r)}placeNodes({sliceDepth:t,frontierDepth:n,parent:r,inject:i,wrap:o}){for(;this.depth>n;)this.closeFrontierNode();if(o)for(let b=0;b1||l==0||b.content.size)&&(f=y,c.push(T4(b.mark(d.allowedMarks(b.marks)),u==1?l:0,u==a.childCount?h:-1)))}let p=u==a.childCount;p||(h=-1),this.placed=lh(this.placed,n,te.from(c)),this.frontier[n].match=f,p&&h<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let b=0,y=a;b1&&i==this.$to.end(--r);)++i;return i}findCloseLevel(t){e:for(let n=Math.min(this.depth,t.depth);n>=0;n--){let{match:r,type:i}=this.frontier[n],o=n=0;a--){let{match:l,type:u}=this.frontier[a],c=Wv(t,a,u,l,!0);if(!c||c.childCount)continue e}return{depth:n,fit:s,move:o?t.doc.resolve(t.after(n+1)):t}}}}close(t){let n=this.findCloseLevel(t);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=lh(this.placed,n.depth,n.fit)),t=n.move;for(let r=n.depth+1;r<=t.depth;r++){let i=t.node(r),o=i.type.contentMatch.fillBefore(i.content,!0,t.index(r));this.openFrontierNode(i.type,i.attrs,o)}return t}openFrontierNode(t,n=null,r){let i=this.frontier[this.depth];i.match=i.match.matchType(t),this.placed=lh(this.placed,this.depth,te.from(t.create(n,r))),this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let n=this.frontier.pop().match.fillBefore(te.empty,!0);n.childCount&&(this.placed=lh(this.placed,this.frontier.length,n))}};function ah(e,t,n){return t==0?e.cutByIndex(n,e.childCount):e.replaceChild(0,e.firstChild.copy(ah(e.firstChild.content,t-1,n)))}function lh(e,t,n){return t==0?e.append(n):e.replaceChild(e.childCount-1,e.lastChild.copy(lh(e.lastChild.content,t-1,n)))}function Yv(e,t){for(let n=0;n1&&(r=r.replaceChild(0,T4(r.firstChild,t-1,r.childCount==1?n-1:0))),t>0&&(r=e.type.contentMatch.fillBefore(r).append(r),n<=0&&(r=r.append(e.type.contentMatch.matchFragment(r).fillBefore(te.empty,!0)))),e.copy(r)}function Wv(e,t,n,r,i){let o=e.node(t),s=i?e.indexAfter(t):e.index(t);if(s==o.childCount&&!n.compatibleContent(o.type))return null;let a=r.fillBefore(o.content,!0,s);return a&&!Dte(n,o.content,s)?a:null}function Dte(e,t,n){for(let r=n;r0;d--,h--){let p=i.node(d).type.spec;if(p.defining||p.definingAsContext||p.isolating)break;s.indexOf(d)>-1?a=d:i.before(d)==h&&s.splice(1,0,-d)}let l=s.indexOf(a),u=[],c=r.openStart;for(let d=r.content,h=0;;h++){let p=d.firstChild;if(u.push(p),h==r.openStart)break;d=p.content}for(let d=c-1;d>=0;d--){let h=u[d],p=Ite(h.type);if(p&&!h.sameMarkup(i.node(Math.abs(a)-1)))c=d;else if(p||!h.type.isTextblock)break}for(let d=r.openStart;d>=0;d--){let h=(d+c+1)%(r.openStart+1),p=u[h];if(p)for(let b=0;b=0&&(e.replace(t,n,r),!(e.steps.length>f));d--){let h=s[d];h<0||(t=i.before(h),n=o.after(h))}}function S4(e,t,n,r,i){if(tr){let o=i.contentMatchAt(0),s=o.fillBefore(e).append(e);e=s.append(o.matchFragment(s).fillBefore(te.empty,!0))}return e}function Pte(e,t,n,r){if(!r.isInline&&t==n&&e.doc.resolve(t).parent.content.size){let i=Ote(e.doc,t,r.type);i!=null&&(t=n=i)}e.replaceRange(t,n,new fe(te.from(r),0,0))}function Bte(e,t,n){let r=e.doc.resolve(t),i=e.doc.resolve(n);if(r.parent.isTextblock&&i.parent.isTextblock&&r.start()!=i.start()&&r.parentOffset==0&&i.parentOffset==0){let s=r.sharedDepth(n),a=!1;for(let l=r.depth;l>s;l--)r.node(l).type.spec.isolating&&(a=!0);for(let l=i.depth;l>s;l--)i.node(l).type.spec.isolating&&(a=!0);if(!a){for(let l=r.depth;l>0&&t==r.start(l);l--)t=r.before(l);for(let l=i.depth;l>0&&n==i.start(l);l--)n=i.before(l);r=e.doc.resolve(t),i=e.doc.resolve(n)}}let o=x4(r,i);for(let s=0;s0&&(l||r.node(a-1).canReplace(r.index(a-1),i.indexAfter(a-1))))return e.delete(r.before(a),i.after(a))}for(let s=1;s<=r.depth&&s<=i.depth;s++)if(t-r.start(s)==r.depth-s&&n>r.end(s)&&i.end(s)-n!=i.depth-s&&r.start(s-1)==i.start(s-1)&&r.node(s-1).canReplace(r.index(s-1),i.index(s-1)))return e.delete(r.before(s),n);e.delete(t,n)}function x4(e,t){let n=[],r=Math.min(e.depth,t.depth);for(let i=r;i>=0;i--){let o=e.start(i);if(ot.pos+(t.depth-i)||e.node(i).type.spec.isolating||t.node(i).type.spec.isolating)break;(o==t.start(i)||i==e.depth&&i==t.depth&&e.parent.inlineContent&&t.parent.inlineContent&&i&&t.start(i-1)==o-1)&&n.push(i)}return n}var eb=class e extends xn{constructor(t,n,r){super(),this.pos=t,this.attr=n,this.value=r}apply(t){let n=t.nodeAt(this.pos);if(!n)return In.fail("No node at attribute step's position");let r=Object.create(null);for(let o in n.attrs)r[o]=n.attrs[o];r[this.attr]=this.value;let i=n.type.create(r,null,n.marks);return In.fromReplace(t,this.pos,this.pos+1,new fe(te.from(i),0,n.isLeaf?0:1))}getMap(){return Yo.empty}invert(t){return new e(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,n){if(typeof n.pos!="number"||typeof n.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new e(n.pos,n.attr,n.value)}};xn.jsonID("attr",eb);var tb=class e extends xn{constructor(t,n){super(),this.attr=t,this.value=n}apply(t){let n=Object.create(null);for(let i in t.attrs)n[i]=t.attrs[i];n[this.attr]=this.value;let r=t.type.create(n,t.content,t.marks);return In.ok(r)}getMap(){return Yo.empty}invert(t){return new e(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,n){if(typeof n.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new e(n.attr,n.value)}};xn.jsonID("docAttr",tb);var Rc=class extends Error{};Rc=function e(t){let n=Error.call(this,t);return n.__proto__=e.prototype,n};Rc.prototype=Object.create(Error.prototype);Rc.prototype.constructor=Rc;Rc.prototype.name="TransformError";var kc=class{constructor(t){this.doc=t,this.steps=[],this.docs=[],this.mapping=new ch}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let n=this.maybeStep(t);if(n.failed)throw new Rc(n.failed);return this}maybeStep(t){let n=t.apply(this.doc);return n.failed||this.addStep(t,n.doc),n}get docChanged(){return this.steps.length>0}changedRange(){let t=1e9,n=-1e9;for(let r=0;r{t=Math.min(t,a),n=Math.max(n,l)})}return t==1e9?null:{from:t,to:n}}addStep(t,n){this.docs.push(this.doc),this.steps.push(t),this.mapping.appendMap(t.getMap()),this.doc=n}replace(t,n=t,r=fe.empty){let i=ph(this.doc,t,n,r);return i&&this.step(i),this}replaceWith(t,n,r){return this.replace(t,n,new fe(te.from(r),0,0))}delete(t,n){return this.replace(t,n,fe.empty)}insert(t,n){return this.replaceWith(t,t,n)}replaceRange(t,n,r){return Lte(this,t,n,r),this}replaceRangeWith(t,n,r){return Pte(this,t,n,r),this}deleteRange(t,n){return Bte(this,t,n),this}lift(t,n){return xte(this,t,n),this}join(t,n=1){return Mte(this,t,n),this}wrap(t,n){return _te(this,t,n),this}setBlockType(t,n=t,r,i=null){return Cte(this,t,n,r,i),this}setNodeMarkup(t,n,r=null,i){return Nte(this,t,n,r,i),this}setNodeAttribute(t,n,r){return this.step(new eb(t,n,r)),this}setDocAttribute(t,n){return this.step(new tb(t,n)),this}addNodeMark(t,n){return this.step(new dh(t,n)),this}removeNodeMark(t,n){let r=this.doc.nodeAt(t);if(!r)throw new RangeError("No node at position "+t);if(n instanceof nt)n.isInSet(r.marks)&&this.step(new Nc(t,n));else{let i=r.marks,o,s=[];for(;o=n.isInSet(i);)s.push(new Nc(t,o)),i=o.removeFromSet(i);for(let a=s.length-1;a>=0;a--)this.step(s[a])}return this}split(t,n=1,r){return Rte(this,t,n,r),this}addMark(t,n,r){return Ete(this,t,n,r),this}removeMark(t,n,r){return Tte(this,t,n,r),this}clearIncompatible(t,n,r){return Qv(this,t,n,r),this}};var Zv=Object.create(null),Ue=class{constructor(t,n,r){this.$anchor=t,this.$head=n,this.ranges=r||[new rb(t.min(n),t.max(n))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let n=0;n=0;o--){let s=n<0?Mc(t.node(0),t.node(o),t.before(o+1),t.index(o),n,r):Mc(t.node(0),t.node(o),t.after(o+1),t.index(o)+1,n,r);if(s)return s}return null}static near(t,n=1){return this.findFrom(t,n)||this.findFrom(t,-n)||new lr(t.node(0))}static atStart(t){return Mc(t,t,0,0,1)||new lr(t)}static atEnd(t){return Mc(t,t,t.content.size,t.childCount,-1)||new lr(t)}static fromJSON(t,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=Zv[n.type];if(!r)throw new RangeError(`No selection type ${n.type} defined`);return r.fromJSON(t,n)}static jsonID(t,n){if(t in Zv)throw new RangeError("Duplicate use of selection JSON ID "+t);return Zv[t]=n,n.prototype.jsonID=t,n}getBookmark(){return Re.between(this.$anchor,this.$head).getBookmark()}};Ue.prototype.visible=!0;var rb=class{constructor(t,n){this.$from=t,this.$to=n}},v4=!1;function A4(e){!v4&&!e.parent.inlineContent&&(v4=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+e.parent.type.name+")"))}var Re=class e extends Ue{constructor(t,n=t){A4(t),A4(n),super(t,n)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,n){let r=t.resolve(n.map(this.head));if(!r.parent.inlineContent)return Ue.near(r);let i=t.resolve(n.map(this.anchor));return new e(i.parent.inlineContent?i:r,r)}replace(t,n=fe.empty){if(super.replace(t,n),n==fe.empty){let r=this.$from.marksAcross(this.$to);r&&t.ensureMarks(r)}}eq(t){return t instanceof e&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new ib(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,n){if(typeof n.anchor!="number"||typeof n.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(t,n,r=n){let i=t.resolve(n);return new this(i,r==n?i:t.resolve(r))}static between(t,n,r){let i=t.pos-n.pos;if((!r||i)&&(r=i>=0?1:-1),!n.parent.inlineContent){let o=Ue.findFrom(n,r,!0)||Ue.findFrom(n,-r,!0);if(o)n=o.$head;else return Ue.near(n,r)}return t.parent.inlineContent||(i==0?t=n:(t=(Ue.findFrom(t,-r,!0)||Ue.findFrom(t,r,!0)).$anchor,t.pos0?0:1);i>0?s=0;s+=i){let a=t.child(s);if(a.isAtom){if(!o&&Ae.isSelectable(a))return Ae.create(e,n-(i<0?a.nodeSize:0))}else{let l=Mc(e,a,n+i,i<0?a.childCount:0,i,o);if(l)return l}n+=a.nodeSize*i}return null}function _4(e,t,n){let r=e.steps.length-1;if(r{s==null&&(s=c)}),e.setSelection(Ue.near(e.doc.resolve(s),n))}var C4=1,nb=2,w4=4,tA=class extends kc{constructor(t){super(t.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=t.selection,this.storedMarks=t.storedMarks}get selection(){return this.curSelectionFor0}setStoredMarks(t){return this.storedMarks=t,this.updated|=nb,this}ensureMarks(t){return nt.sameSet(this.storedMarks||this.selection.$from.marks(),t)||this.setStoredMarks(t),this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&nb)>0}addStep(t,n){super.addStep(t,n),this.updated=this.updated&~nb,this.storedMarks=null}setTime(t){return this.time=t,this}replaceSelection(t){return this.selection.replace(this,t),this}replaceSelectionWith(t,n=!0){let r=this.selection;return n&&(t=t.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||nt.none))),r.replaceWith(this,t),this}deleteSelection(){return this.selection.replace(this),this}insertText(t,n,r){let i=this.doc.type.schema;if(n==null)return t?this.replaceSelectionWith(i.text(t),!0):this.deleteSelection();{if(r==null&&(r=n),!t)return this.deleteRange(n,r);let o=this.storedMarks;if(!o){let s=this.doc.resolve(n);o=r==n?s.marks():s.marksAcross(this.doc.resolve(r))}return this.replaceRangeWith(n,r,i.text(t,o)),!this.selection.empty&&this.selection.to==n+t.length&&this.setSelection(Ue.near(this.selection.$to)),this}}setMeta(t,n){return this.meta[typeof t=="string"?t:t.key]=n,this}getMeta(t){return this.meta[typeof t=="string"?t:t.key]}get isGeneric(){for(let t in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=w4,this}get scrolledIntoView(){return(this.updated&w4)>0}};function N4(e,t){return!t||!e?e:e.bind(t)}var gl=class{constructor(t,n,r){this.name=t,this.init=N4(n.init,r),this.apply=N4(n.apply,r)}},Fte=[new gl("doc",{init(e){return e.doc||e.schema.topNodeType.createAndFill()},apply(e){return e.doc}}),new gl("selection",{init(e,t){return e.selection||Ue.atStart(t.doc)},apply(e){return e.selection}}),new gl("storedMarks",{init(e){return e.storedMarks||null},apply(e,t,n,r){return r.selection.$cursor?e.storedMarks:null}}),new gl("scrollToSelection",{init(){return 0},apply(e,t){return e.scrolledIntoView?t+1:t}})],mh=class{constructor(t,n){this.schema=t,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=Fte.slice(),n&&n.forEach(r=>{if(this.pluginsByKey[r.key])throw new RangeError("Adding different instances of a keyed plugin ("+r.key+")");this.plugins.push(r),this.pluginsByKey[r.key]=r,r.spec.state&&this.fields.push(new gl(r.key,r.spec.state,r))})}},ob=class e{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,n=-1){for(let r=0;rr.toJSON())),t&&typeof t=="object")for(let r in t){if(r=="doc"||r=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let i=t[r],o=i.spec.state;o&&o.toJSON&&(n[r]=o.toJSON.call(i,this[i.key]))}return n}static fromJSON(t,n,r){if(!n)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let i=new mh(t.schema,t.plugins),o=new e(i);return i.fields.forEach(s=>{if(s.name=="doc")o.doc=Nr.fromJSON(t.schema,n.doc);else if(s.name=="selection")o.selection=Ue.fromJSON(o.doc,n.selection);else if(s.name=="storedMarks")n.storedMarks&&(o.storedMarks=n.storedMarks.map(t.schema.markFromJSON));else{if(r)for(let a in r){let l=r[a],u=l.spec.state;if(l.key==s.name&&u&&u.fromJSON&&Object.prototype.hasOwnProperty.call(n,a)){o[s.name]=u.fromJSON.call(l,t,n[a],o);return}}o[s.name]=s.init(t,o)}}),o}};function R4(e,t,n){for(let r in e){let i=e[r];i instanceof Function?i=i.bind(t):r=="handleDOMEvents"&&(i=R4(i,t,{})),n[r]=i}return n}var lt=class{constructor(t){this.spec=t,this.props={},t.props&&R4(t.props,this,this.props),this.key=t.key?t.key.key:k4("plugin")}getState(t){return t[this.key]}},Jv=Object.create(null);function k4(e){return e in Jv?e+"$"+ ++Jv[e]:(Jv[e]=0,e+"$")}var Nt=class{constructor(t="key"){this.key=k4(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}};var O4=(e,t)=>e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0);function D4(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock("backward",e):n.parentOffset>0)?null:n}var rA=(e,t,n)=>{let r=D4(e,n);if(!r)return!1;let i=oA(r);if(!i){let s=r.blockRange(),a=s&&$o(s);return a==null?!1:(t&&t(e.tr.lift(s,a).scrollIntoView()),!0)}let o=i.nodeBefore;if(q4(e,i,t,-1))return!0;if(r.parent.content.size==0&&(Oc(o,"end")||Ae.isSelectable(o)))for(let s=r.depth;;s--){let a=ph(e.doc,r.before(s),r.after(s),fe.empty);if(a&&a.slice.size1)break}return o.isAtom&&i.depth==r.depth-1?(t&&t(e.tr.delete(i.pos-o.nodeSize,i.pos).scrollIntoView()),!0):!1},I4=(e,t,n)=>{let r=D4(e,n);if(!r)return!1;let i=oA(r);return i?P4(e,i,t):!1},L4=(e,t,n)=>{let r=B4(e,n);if(!r)return!1;let i=lA(r);return i?P4(e,i,t):!1};function P4(e,t,n){let r=t.nodeBefore,i=r,o=t.pos-1;for(;!i.isTextblock;o--){if(i.type.spec.isolating)return!1;let c=i.lastChild;if(!c)return!1;i=c}let s=t.nodeAfter,a=s,l=t.pos+1;for(;!a.isTextblock;l++){if(a.type.spec.isolating)return!1;let c=a.firstChild;if(!c)return!1;a=c}let u=ph(e.doc,o,l,fe.empty);if(!u||u.from!=o||u instanceof Ln&&u.slice.size>=l-o)return!1;if(n){let c=e.tr.step(u);c.setSelection(Re.create(c.doc,o)),n(c.scrollIntoView())}return!0}function Oc(e,t,n=!1){for(let r=e;r;r=t=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var iA=(e,t,n)=>{let{$head:r,empty:i}=e.selection,o=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("backward",e):r.parentOffset>0)return!1;o=oA(r)}let s=o&&o.nodeBefore;return!s||!Ae.isSelectable(s)?!1:(t&&t(e.tr.setSelection(Ae.create(e.doc,o.pos-s.nodeSize)).scrollIntoView()),!0)};function oA(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function B4(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock("forward",e):n.parentOffset{let r=B4(e,n);if(!r)return!1;let i=lA(r);if(!i)return!1;let o=i.nodeAfter;if(q4(e,i,t,1))return!0;if(r.parent.content.size==0&&(Oc(o,"start")||Ae.isSelectable(o))){let s=ph(e.doc,r.before(),r.after(),fe.empty);if(s&&s.slice.size{let{$head:r,empty:i}=e.selection,o=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("forward",e):r.parentOffset=0;t--){let n=e.node(t);if(e.index(t)+1{let n=e.selection,r=n instanceof Ae,i;if(r){if(n.node.isTextblock||!_i(e.doc,n.from))return!1;i=n.from}else if(i=ml(e.doc,n.from,-1),i==null)return!1;if(t){let o=e.tr.join(i);r&&o.setSelection(Ae.create(o.doc,i-e.doc.resolve(i).nodeBefore.nodeSize)),t(o.scrollIntoView())}return!0},F4=(e,t)=>{let n=e.selection,r;if(n instanceof Ae){if(n.node.isTextblock||!_i(e.doc,n.to))return!1;r=n.to}else if(r=ml(e.doc,n.to,1),r==null)return!1;return t&&t(e.tr.join(r).scrollIntoView()),!0},z4=(e,t)=>{let{$from:n,$to:r}=e.selection,i=n.blockRange(r),o=i&&$o(i);return o==null?!1:(t&&t(e.tr.lift(i,o).scrollIntoView()),!0)},uA=(e,t)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(t&&t(e.tr.insertText(` -`).scrollIntoView()),!0)};function cA(e){for(let t=0;t{let{$head:n,$anchor:r}=e.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let i=n.node(-1),o=n.indexAfter(-1),s=cA(i.contentMatchAt(o));if(!s||!i.canReplaceWith(o,o,s))return!1;if(t){let a=n.after(),l=e.tr.replaceWith(a,a,s.createAndFill());l.setSelection(Ue.near(l.doc.resolve(a),1)),t(l.scrollIntoView())}return!0},dA=(e,t)=>{let n=e.selection,{$from:r,$to:i}=n;if(n instanceof lr||r.parent.inlineContent||i.parent.inlineContent)return!1;let o=cA(i.parent.contentMatchAt(i.indexAfter()));if(!o||!o.isTextblock)return!1;if(t){let s=(!r.parentOffset&&i.index(){let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let o=n.before();if(jr(e.doc,o))return t&&t(e.tr.split(o).scrollIntoView()),!0}let r=n.blockRange(),i=r&&$o(r);return i==null?!1:(t&&t(e.tr.lift(r,i).scrollIntoView()),!0)};function zte(e){return(t,n)=>{let{$from:r,$to:i}=t.selection;if(t.selection instanceof Ae&&t.selection.node.isBlock)return!r.parentOffset||!jr(t.doc,r.pos)?!1:(n&&n(t.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let o=[],s,a,l=!1,u=!1;for(let h=r.depth;;h--)if(r.node(h).isBlock){l=r.end(h)==r.pos+(r.depth-h),u=r.start(h)==r.pos-(r.depth-h),a=cA(r.node(h-1).contentMatchAt(r.indexAfter(h-1)));let b=e&&e(i.parent,l,r);o.unshift(b||(l&&a?{type:a}:null)),s=h;break}else{if(h==1)return!1;o.unshift(null)}let c=t.tr;(t.selection instanceof Re||t.selection instanceof lr)&&c.deleteSelection();let f=c.mapping.map(r.pos),d=jr(c.doc,f,o.length,o);if(d||(o[0]=a?{type:a}:null,d=jr(c.doc,f,o.length,o)),!d)return!1;if(c.split(f,o.length,o),!l&&u&&r.node(s).type!=a){let h=c.mapping.map(r.before(s)),p=c.doc.resolve(h);a&&r.node(s-1).canReplaceWith(p.index(),p.index()+1,a)&&c.setNodeMarkup(c.mapping.map(r.before(s)),a)}return n&&n(c.scrollIntoView()),!0}}var Ute=zte();var U4=(e,t)=>{let{$from:n,to:r}=e.selection,i,o=n.sharedDepth(r);return o==0?!1:(i=n.before(o),t&&t(e.tr.setSelection(Ae.create(e.doc,i))),!0)},qte=(e,t)=>(t&&t(e.tr.setSelection(new lr(e.doc))),!0);function Vte(e,t,n){let r=t.nodeBefore,i=t.nodeAfter,o=t.index();return!r||!i||!r.type.compatibleContent(i.type)?!1:!r.content.size&&t.parent.canReplace(o-1,o)?(n&&n(e.tr.delete(t.pos-r.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(o,o+1)||!(i.isTextblock||_i(e.doc,t.pos))?!1:(n&&n(e.tr.join(t.pos).scrollIntoView()),!0)}function q4(e,t,n,r){let i=t.nodeBefore,o=t.nodeAfter,s,a,l=i.type.spec.isolating||o.type.spec.isolating;if(!l&&Vte(e,t,n))return!0;let u=!l&&t.parent.canReplace(t.index(),t.index()+1);if(u&&(s=(a=i.contentMatchAt(i.childCount)).findWrapping(o.type))&&a.matchType(s[0]||o.type).validEnd){if(n){let h=t.pos+o.nodeSize,p=te.empty;for(let g=s.length-1;g>=0;g--)p=te.from(s[g].create(null,p));p=te.from(i.copy(p));let b=e.tr.step(new un(t.pos-1,h,t.pos,h,new fe(p,1,0),s.length,!0)),y=b.doc.resolve(h+2*s.length);y.nodeAfter&&y.nodeAfter.type==i.type&&_i(b.doc,y.pos)&&b.join(y.pos),n(b.scrollIntoView())}return!0}let c=o.type.spec.isolating||r>0&&l?null:Ue.findFrom(t,1),f=c&&c.$from.blockRange(c.$to),d=f&&$o(f);if(d!=null&&d>=t.depth)return n&&n(e.tr.lift(f,d).scrollIntoView()),!0;if(u&&Oc(o,"start",!0)&&Oc(i,"end")){let h=i,p=[];for(;p.push(h),!h.isTextblock;)h=h.lastChild;let b=o,y=1;for(;!b.isTextblock;b=b.firstChild)y++;if(h.canReplace(h.childCount,h.childCount,b.content)){if(n){let g=te.empty;for(let T=p.length-1;T>=0;T--)g=te.from(p[T].copy(g));let E=e.tr.step(new un(t.pos-p.length,t.pos+o.nodeSize,t.pos+y,t.pos+o.nodeSize-y,new fe(g,p.length,0),0,!0));n(E.scrollIntoView())}return!0}}return!1}function V4(e){return function(t,n){let r=t.selection,i=e<0?r.$from:r.$to,o=i.depth;for(;i.node(o).isInline;){if(!o)return!1;o--}return i.node(o).isTextblock?(n&&n(t.tr.setSelection(Re.create(t.doc,e<0?i.start(o):i.end(o)))),!0):!1}}var pA=V4(-1),mA=V4(1);function G4(e,t=null){return function(n,r){let{$from:i,$to:o}=n.selection,s=i.blockRange(o),a=s&&hh(s,e,t);return a?(r&&r(n.tr.wrap(s,a).scrollIntoView()),!0):!1}}function gA(e,t=null){return function(n,r){let i=!1;for(let o=0;o{if(i)return!1;if(!(!l.isTextblock||l.hasMarkup(e,t)))if(l.type==e)i=!0;else{let c=n.doc.resolve(u),f=c.index();i=c.parent.canReplaceWith(f,f+1,e)}})}if(!i)return!1;if(r){let o=n.tr;for(let s=0;s=2&&t.$from.node(t.depth-1).type.compatibleContent(n)&&t.startIndex==0){if(t.$from.index(t.depth-1)==0)return!1;let l=s.resolve(t.start-2);o=new hl(l,l,t.depth),t.endIndex=0;c--)o=te.from(n[c].type.create(n[c].attrs,o));e.step(new un(t.start-(r?2:0),t.end,t.start,t.end,new fe(o,0,0),n.length,!0));let s=0;for(let c=0;cs.childCount>0&&s.firstChild.type==e);return o?n?r.node(o.depth-1).type==e?Wte(t,n,e,o):$te(t,n,o):!0:!1}}function Wte(e,t,n,r){let i=e.tr,o=r.end,s=r.$to.end(r.depth);ob;p--)h-=i.child(p).nodeSize,r.delete(h-1,h+1);let o=r.doc.resolve(n.start),s=o.nodeAfter;if(r.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let a=n.startIndex==0,l=n.endIndex==i.childCount,u=o.node(-1),c=o.index(-1);if(!u.canReplace(c+(a?0:1),c+1,s.content.append(l?te.empty:te.from(i))))return!1;let f=o.pos,d=f+s.nodeSize;return r.step(new un(f-(a?1:0),d+(l?1:0),f+1,d-1,new fe((a?te.empty:te.from(i.copy(te.empty))).append(l?te.empty:te.from(i.copy(te.empty))),a?0:1,l?0:1),a?0:1)),t(r.scrollIntoView()),!0}function W4(e){return function(t,n){let{$from:r,$to:i}=t.selection,o=r.blockRange(i,u=>u.childCount>0&&u.firstChild.type==e);if(!o)return!1;let s=o.startIndex;if(s==0)return!1;let a=o.parent,l=a.child(s-1);if(l.type!=e)return!1;if(n){let u=l.lastChild&&l.lastChild.type==a.type,c=te.from(u?e.create():null),f=new fe(te.from(e.create(null,te.from(a.type.create(null,c)))),u?3:1,0),d=o.start,h=o.end;n(t.tr.step(new un(d-(u?3:1),h,d,h,f,1,!0)).scrollIntoView())}return!0}}var Pn=function(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t},Pc=function(e){let t=e.assignedSlot||e.parentNode;return t&&t.nodeType==11?t.host:t},vA=null,Xo=function(e,t,n){let r=vA||(vA=document.createRange());return r.setEnd(e,n??e.nodeValue.length),r.setStart(e,t||0),r},jte=function(){vA=null},vl=function(e,t,n,r){return n&&($4(e,t,n,r,-1)||$4(e,t,n,r,1))},Xte=/^(img|br|input|textarea|hr)$/i;function $4(e,t,n,r,i){for(var o;;){if(e==n&&t==r)return!0;if(t==(i<0?0:fi(e))){let s=e.parentNode;if(!s||s.nodeType!=1||vh(e)||Xte.test(e.nodeName)||e.contentEditable=="false")return!1;t=Pn(e)+(i<0?0:1),e=s}else if(e.nodeType==1){let s=e.childNodes[t+(i<0?-1:0)];if(s.nodeType==1&&s.contentEditable=="false")if(!((o=s.pmViewDesc)===null||o===void 0)&&o.ignoreForSelection)t+=i;else return!1;else e=s,t=i<0?fi(e):0}else return!1}}function fi(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function Qte(e,t){for(;;){if(e.nodeType==3&&t)return e;if(e.nodeType==1&&t>0){if(e.contentEditable=="false")return null;e=e.childNodes[t-1],t=fi(e)}else if(e.parentNode&&!vh(e))t=Pn(e),e=e.parentNode;else return null}}function Zte(e,t){for(;;){if(e.nodeType==3&&t2),ci=Bc||(to?/Mac/.test(to.platform):!1),N5=to?/Win/.test(to.platform):!1,Qo=/Android \d/.test(ia),Ah=!!j4&&"webkitFontSmoothing"in j4.documentElement.style,nne=Ah?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function rne(e){let t=e.defaultView&&e.defaultView.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.documentElement.clientWidth,top:0,bottom:e.documentElement.clientHeight}}function jo(e,t){return typeof e=="number"?e:e[t]}function ine(e){let t=e.getBoundingClientRect(),n=t.width/e.offsetWidth||1,r=t.height/e.offsetHeight||1;return{left:t.left,right:t.left+e.clientWidth*n,top:t.top,bottom:t.top+e.clientHeight*r}}function X4(e,t,n){let r=e.someProp("scrollThreshold")||0,i=e.someProp("scrollMargin")||5,o=e.dom.ownerDocument;for(let s=n||e.dom;s;){if(s.nodeType!=1){s=Pc(s);continue}let a=s,l=a==o.body,u=l?rne(o):ine(a),c=0,f=0;if(t.topu.bottom-jo(r,"bottom")&&(f=t.bottom-t.top>u.bottom-u.top?t.top+jo(i,"top")-u.top:t.bottom-u.bottom+jo(i,"bottom")),t.leftu.right-jo(r,"right")&&(c=t.right-u.right+jo(i,"right")),c||f)if(l)o.defaultView.scrollBy(c,f);else{let h=a.scrollLeft,p=a.scrollTop;f&&(a.scrollTop+=f),c&&(a.scrollLeft+=c);let b=a.scrollLeft-h,y=a.scrollTop-p;t={left:t.left-b,top:t.top-y,right:t.right-b,bottom:t.bottom-y}}let d=l?"fixed":getComputedStyle(s).position;if(/^(fixed|sticky)$/.test(d))break;s=d=="absolute"?s.offsetParent:Pc(s)}}function one(e){let t=e.dom.getBoundingClientRect(),n=Math.max(0,t.top),r,i;for(let o=(t.left+t.right)/2,s=n+1;s=n-20){r=a,i=l.top;break}}return{refDOM:r,refTop:i,stack:R5(e.dom)}}function R5(e){let t=[],n=e.ownerDocument;for(let r=e;r&&(t.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),e!=n);r=Pc(r));return t}function sne({refDOM:e,refTop:t,stack:n}){let r=e?e.getBoundingClientRect().top:0;k5(n,r==0?0:r-t)}function k5(e,t){for(let n=0;n=a){s=Math.max(p.bottom,s),a=Math.min(p.top,a);let b=p.left>t.left?p.left-t.left:p.right=(p.left+p.right)/2?1:0));continue}}else p.top>t.top&&!l&&p.left<=t.left&&p.right>=t.left&&(l=c,u={left:Math.max(p.left,Math.min(p.right,t.left)),top:p.top});!n&&(t.left>=p.right&&t.top>=p.top||t.left>=p.left&&t.top>=p.bottom)&&(o=f+1)}}return!n&&l&&(n=l,i=u,r=0),n&&n.nodeType==3?lne(n,i):!n||r&&n.nodeType==1?{node:e,offset:o}:M5(n,i)}function lne(e,t){let n=e.nodeValue.length,r=document.createRange(),i;for(let o=0;o=(s.left+s.right)/2?1:0)};break}}return r.detach(),i||{node:e,offset:0}}function qA(e,t){return e.left>=t.left-1&&e.left<=t.right+1&&e.top>=t.top-1&&e.top<=t.bottom+1}function une(e,t){let n=e.parentNode;return n&&/^li$/i.test(n.nodeName)&&t.left(s.left+s.right)/2?1:-1}return e.docView.posFromDOM(r,i,o)}function fne(e,t,n,r){let i=-1;for(let o=t,s=!1;o!=e.dom;){let a=e.docView.nearestDesc(o,!0),l;if(!a)return null;if(a.dom.nodeType==1&&(a.node.isBlock&&a.parent||!a.contentDOM)&&((l=a.dom.getBoundingClientRect()).width||l.height)&&(a.node.isBlock&&a.parent&&!/^T(R|BODY|HEAD|FOOT)$/.test(a.dom.nodeName)&&(!s&&l.left>r.left||l.top>r.top?i=a.posBefore:(!s&&l.right-1?i:e.docView.posFromDOM(t,n,-1)}function O5(e,t,n){let r=e.childNodes.length;if(r&&n.topt.top&&i++}let u;Ah&&i&&r.nodeType==1&&(u=r.childNodes[i-1]).nodeType==1&&u.contentEditable=="false"&&u.getBoundingClientRect().top>=t.top&&i--,r==e.dom&&i==r.childNodes.length-1&&r.lastChild.nodeType==1&&t.top>r.lastChild.getBoundingClientRect().bottom?a=e.state.doc.content.size:(i==0||r.nodeType!=1||r.childNodes[i-1].nodeName!="BR")&&(a=fne(e,r,i,t))}a==null&&(a=cne(e,s,t));let l=e.docView.nearestDesc(s,!0);return{pos:a,inside:l?l.posAtStart-l.border:-1}}function Q4(e){return e.top=0&&i==r.nodeValue.length?(l--,c=1):n<0?l--:u++,gh(ea(Xo(r,l,u),c),c<0)}if(!e.state.doc.resolve(t-(o||0)).parent.inlineContent){if(o==null&&i&&(n<0||i==fi(r))){let l=r.childNodes[i-1];if(l.nodeType==1)return yA(l.getBoundingClientRect(),!1)}if(o==null&&i=0)}if(o==null&&i&&(n<0||i==fi(r))){let l=r.childNodes[i-1],u=l.nodeType==3?Xo(l,fi(l)-(s?0:1)):l.nodeType==1&&(l.nodeName!="BR"||!l.nextSibling)?l:null;if(u)return gh(ea(u,1),!1)}if(o==null&&i=0)}function gh(e,t){if(e.width==0)return e;let n=t?e.left:e.right;return{top:e.top,bottom:e.bottom,left:n,right:n}}function yA(e,t){if(e.height==0)return e;let n=t?e.top:e.bottom;return{top:n,bottom:n,left:e.left,right:e.right}}function I5(e,t,n){let r=e.state,i=e.root.activeElement;r!=t&&e.updateState(t),i!=e.dom&&e.focus();try{return n()}finally{r!=t&&e.updateState(r),i!=e.dom&&i&&i.focus()}}function pne(e,t,n){let r=t.selection,i=n=="up"?r.$from:r.$to;return I5(e,t,()=>{let{node:o}=e.docView.domFromPos(i.pos,n=="up"?-1:1);for(;;){let a=e.docView.nearestDesc(o,!0);if(!a)break;if(a.node.isBlock){o=a.contentDOM||a.dom;break}o=a.dom.parentNode}let s=D5(e,i.pos,1);for(let a=o.firstChild;a;a=a.nextSibling){let l;if(a.nodeType==1)l=a.getClientRects();else if(a.nodeType==3)l=Xo(a,0,a.nodeValue.length).getClientRects();else continue;for(let u=0;uc.top+1&&(n=="up"?s.top-c.top>(c.bottom-s.top)*2:c.bottom-s.bottom>(s.bottom-c.top)*2))return!1}}return!0})}var mne=/[\u0590-\u08ac]/;function gne(e,t,n){let{$head:r}=t.selection;if(!r.parent.isTextblock)return!1;let i=r.parentOffset,o=!i,s=i==r.parent.content.size,a=e.domSelection();return a?!mne.test(r.parent.textContent)||!a.modify?n=="left"||n=="backward"?o:s:I5(e,t,()=>{let{focusNode:l,focusOffset:u,anchorNode:c,anchorOffset:f}=e.domSelectionRange(),d=a.caretBidiLevel;a.modify("move",n,"character");let h=r.depth?e.docView.domAfterPos(r.before()):e.dom,{focusNode:p,focusOffset:b}=e.domSelectionRange(),y=p&&!h.contains(p.nodeType==1?p:p.parentNode)||l==p&&u==b;try{a.collapse(c,f),l&&(l!=c||u!=f)&&a.extend&&a.extend(l,u)}catch{}return d!=null&&(a.caretBidiLevel=d),y}):r.pos==r.start()||r.pos==r.end()}var Z4=null,J4=null,e5=!1;function bne(e,t,n){return Z4==t&&J4==n?e5:(Z4=t,J4=n,e5=n=="up"||n=="down"?pne(e,t,n):gne(e,t,n))}var hi=0,t5=1,yl=2,no=3,Al=class{constructor(t,n,r,i){this.parent=t,this.children=n,this.dom=r,this.contentDOM=i,this.dirty=hi,r.pmViewDesc=this}matchesWidget(t){return!1}matchesMark(t){return!1}matchesNode(t,n,r){return!1}matchesHack(t){return!1}parseRule(){return null}stopEvent(t){return!1}get size(){let t=0;for(let n=0;nPn(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))i=t.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(n==0)for(let o=t;;o=o.parentNode){if(o==this.dom){i=!1;break}if(o.previousSibling)break}if(i==null&&n==t.childNodes.length)for(let o=t;;o=o.parentNode){if(o==this.dom){i=!0;break}if(o.nextSibling)break}}return i??r>0?this.posAtEnd:this.posAtStart}nearestDesc(t,n=!1){for(let r=!0,i=t;i;i=i.parentNode){let o=this.getDesc(i),s;if(o&&(!n||o.node))if(r&&(s=o.nodeDOM)&&!(s.nodeType==1?s.contains(t.nodeType==1?t:t.parentNode):s==t))r=!1;else return o}}getDesc(t){let n=t.pmViewDesc;for(let r=n;r;r=r.parent)if(r==this)return n}posFromDOM(t,n,r){for(let i=t;i;i=i.parentNode){let o=this.getDesc(i);if(o)return o.localPosFromDOM(t,n,r)}return-1}descAt(t){for(let n=0,r=0;nt||s instanceof lb){i=t-o;break}o=a}if(i)return this.children[r].domFromPos(i-this.children[r].border,n);for(let o;r&&!(o=this.children[r-1]).size&&o instanceof sb&&o.side>=0;r--);if(n<=0){let o,s=!0;for(;o=r?this.children[r-1]:null,!(!o||o.dom.parentNode==this.contentDOM);r--,s=!1);return o&&n&&s&&!o.border&&!o.domAtom?o.domFromPos(o.size,n):{node:this.contentDOM,offset:o?Pn(o.dom)+1:0}}else{let o,s=!0;for(;o=r=c&&n<=u-l.border&&l.node&&l.contentDOM&&this.contentDOM.contains(l.contentDOM))return l.parseRange(t,n,c);t=s;for(let f=a;f>0;f--){let d=this.children[f-1];if(d.size&&d.dom.parentNode==this.contentDOM&&!d.emptyChildAt(1)){i=Pn(d.dom)+1;break}t-=d.size}i==-1&&(i=0)}if(i>-1&&(u>n||a==this.children.length-1)){n=u;for(let c=a+1;cp&&sn){let p=a;a=l,l=p}let h=document.createRange();h.setEnd(l.node,l.offset),h.setStart(a.node,a.offset),u.removeAllRanges(),u.addRange(h)}}ignoreMutation(t){return!this.contentDOM&&t.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,n){for(let r=0,i=0;i=r:tr){let a=r+o.border,l=s-o.border;if(t>=a&&n<=l){this.dirty=t==r||n==s?yl:t5,t==a&&n==l&&(o.contentLost||o.dom.parentNode!=this.contentDOM)?o.dirty=no:o.markDirty(t-a,n-a);return}else o.dirty=o.dom==o.contentDOM&&o.dom.parentNode==this.contentDOM&&!o.children.length?yl:no}r=s}this.dirty=yl}markParentsDirty(){let t=1;for(let n=this.parent;n;n=n.parent,t++){let r=t==1?yl:t5;n.dirty{if(!o)return i;if(o.parent)return o.parent.posBeforeChild(o)})),!n.type.spec.raw){if(s.nodeType!=1){let a=document.createElement("span");a.appendChild(s),s=a}s.contentEditable="false",s.classList.add("ProseMirror-widget")}super(t,[],s,null),this.widget=n,this.widget=n,o=this}matchesWidget(t){return this.dirty==hi&&t.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(t){let n=this.widget.spec.stopEvent;return n?n(t):!1}ignoreMutation(t){return t.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}},wA=class extends Al{constructor(t,n,r,i){super(t,[],n,null),this.textDOM=r,this.text=i}get size(){return this.text.length}localPosFromDOM(t,n){return t!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return t.type==="characterData"&&t.target.nodeValue==t.oldValue}},Hc=class e extends Al{constructor(t,n,r,i,o){super(t,[],r,i),this.mark=n,this.spec=o}static create(t,n,r,i){let o=i.nodeViews[n.type.name],s=o&&o(n,i,r);return(!s||!s.dom)&&(s=Ko.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new e(t,n,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&no||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=no&&this.mark.eq(t)}markDirty(t,n){if(super.markDirty(t,n),this.dirty!=hi){let r=this.parent;for(;!r.node;)r=r.parent;r.dirty0&&(o=MA(o,0,t,r));for(let a=0;a{if(!l)return s;if(l.parent)return l.parent.posBeforeChild(l)},r,i),c=u&&u.dom,f=u&&u.contentDOM;if(n.isText){if(!c)c=document.createTextNode(n.text);else if(c.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else c||({dom:c,contentDOM:f}=Ko.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs));!f&&!n.isText&&c.nodeName!="BR"&&(c.hasAttribute("contenteditable")||(c.contentEditable="false"),n.type.spec.draggable&&(c.draggable=!0));let d=c;return c=B5(c,r,n),u?l=new NA(t,n,r,i,c,f||null,d,u,o,s+1):n.isText?new ab(t,n,r,i,c,d,o):new e(t,n,r,i,c,f||null,d,o,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(t.preserveWhitespace="full"),!this.contentDOM)t.getContent=()=>this.node.content;else if(!this.contentLost)t.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let r=this.children[n];if(this.dom.contains(r.dom.parentNode)){t.contentElement=r.dom.parentNode;break}}t.contentElement||(t.getContent=()=>te.empty)}return t}matchesNode(t,n,r){return this.dirty==hi&&t.eq(this.node)&&ub(n,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,n){let r=this.node.inlineContent,i=n,o=t.composing?this.localCompositionInfo(t,n):null,s=o&&o.pos>-1?o:null,a=o&&o.pos<0,l=new kA(this,s&&s.node,t);Sne(this.node,this.innerDeco,(u,c,f)=>{u.spec.marks?l.syncToMarks(u.spec.marks,r,t,c):u.type.side>=0&&!f&&l.syncToMarks(c==this.node.childCount?nt.none:this.node.child(c).marks,r,t,c),l.placeWidget(u,t,i)},(u,c,f,d)=>{l.syncToMarks(u.marks,r,t,d);let h;l.findNodeMatch(u,c,f,d)||a&&t.state.selection.from>i&&t.state.selection.to-1&&l.updateNodeAt(u,c,f,h,t)||l.updateNextNode(u,c,f,t,d,i)||l.addNode(u,c,f,t,i),i+=u.nodeSize}),l.syncToMarks([],r,t,0),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==yl)&&(s&&this.protectLocalComposition(t,s),L5(this.contentDOM,this.children,t),Bc&&xne(this.dom))}localCompositionInfo(t,n){let{from:r,to:i}=t.state.selection;if(!(t.state.selection instanceof Re)||rn+this.node.content.size)return null;let o=t.input.compositionNode;if(!o||!this.dom.contains(o.parentNode))return null;if(this.node.inlineContent){let s=o.nodeValue,a=vne(this.node.content,s,r-n,i-n);return a<0?null:{node:o,pos:a,text:s}}else return{node:o,pos:-1,text:""}}protectLocalComposition(t,{node:n,pos:r,text:i}){if(this.getDesc(n))return;let o=n;for(;o.parentNode!=this.contentDOM;o=o.parentNode){for(;o.previousSibling;)o.parentNode.removeChild(o.previousSibling);for(;o.nextSibling;)o.parentNode.removeChild(o.nextSibling);o.pmViewDesc&&(o.pmViewDesc=void 0)}let s=new wA(this,o,n,i);t.input.compositionNodes.push(s),this.children=MA(this.children,r,r+i.length,t,s)}update(t,n,r,i){return this.dirty==no||!t.sameMarkup(this.node)?!1:(this.updateInner(t,n,r,i),!0)}updateInner(t,n,r,i){this.updateOuterDeco(n),this.node=t,this.innerDeco=r,this.contentDOM&&this.updateChildren(i,this.posAtStart),this.dirty=hi}updateOuterDeco(t){if(ub(t,this.outerDeco))return;let n=this.nodeDOM.nodeType!=1,r=this.dom;this.dom=P5(this.dom,this.nodeDOM,RA(this.outerDeco,this.node,n),RA(t,this.node,n)),this.dom!=r&&(r.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=t}selectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.nodeDOM.draggable=!0))}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.nodeDOM.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}};function n5(e,t,n,r,i){B5(r,t,e);let o=new ra(void 0,e,t,n,r,r,r,i,0);return o.contentDOM&&o.updateChildren(i,0),o}var ab=class e extends ra{constructor(t,n,r,i,o,s,a){super(t,n,r,i,o,null,s,a,0)}parseRule(){let t=this.nodeDOM.parentNode;for(;t&&t!=this.dom&&!t.pmIsDeco;)t=t.parentNode;return{skip:t||!0}}update(t,n,r,i){return this.dirty==no||this.dirty!=hi&&!this.inParent()||!t.sameMarkup(this.node)?!1:(this.updateOuterDeco(n),(this.dirty!=hi||t.text!=this.node.text)&&t.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=t.text,i.trackWrites==this.nodeDOM&&(i.trackWrites=null)),this.node=t,this.dirty=hi,!0)}inParent(){let t=this.parent.contentDOM;for(let n=this.nodeDOM;n;n=n.parentNode)if(n==t)return!0;return!1}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,n,r){return t==this.nodeDOM?this.posAtStart+Math.min(n,this.node.text.length):super.localPosFromDOM(t,n,r)}ignoreMutation(t){return t.type!="characterData"&&t.type!="selection"}slice(t,n,r){let i=this.node.cut(t,n),o=document.createTextNode(i.text);return new e(this.parent,i,this.outerDeco,this.innerDeco,o,o,r)}markDirty(t,n){super.markDirty(t,n),this.dom!=this.nodeDOM&&(t==0||n==this.nodeDOM.nodeValue.length)&&(this.dirty=no)}get domAtom(){return!1}isText(t){return this.node.text==t}},lb=class extends Al{parseRule(){return{ignore:!0}}matchesHack(t){return this.dirty==hi&&this.dom.nodeName==t}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}},NA=class extends ra{constructor(t,n,r,i,o,s,a,l,u,c){super(t,n,r,i,o,s,a,u,c),this.spec=l}update(t,n,r,i){if(this.dirty==no)return!1;if(this.spec.update&&(this.node.type==t.type||this.spec.multiType)){let o=this.spec.update(t,n,r);return o&&this.updateInner(t,n,r,i),o}else return!this.contentDOM&&!t.isLeaf?!1:super.update(t,n,r,i)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,n,r,i){this.spec.setSelection?this.spec.setSelection(t,n,r.root):super.setSelection(t,n,r,i)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(t){return this.spec.stopEvent?this.spec.stopEvent(t):!1}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}};function L5(e,t,n){let r=e.firstChild,i=!1;for(let o=0;o>1,a=Math.min(s,t.length);for(;o-1)l>this.index&&(this.changed=!0,this.destroyBetween(this.index,l)),this.top=this.top.children[this.index];else{let c=Hc.create(this.top,t[s],n,r);this.top.children.splice(this.index,0,c),this.top=c,this.changed=!0}this.index=0,s++}}findNodeMatch(t,n,r,i){let o=-1,s;if(i>=this.preMatch.index&&(s=this.preMatch.matches[i-this.preMatch.index]).parent==this.top&&s.matchesNode(t,n,r))o=this.top.children.indexOf(s,this.index);else for(let a=this.index,l=Math.min(this.top.children.length,a+5);a0;){let a;for(;;)if(r){let u=n.children[r-1];if(u instanceof Hc)n=u,r=u.children.length;else{a=u,r--;break}}else{if(n==t)break e;r=n.parent.children.indexOf(n),n=n.parent}let l=a.node;if(l){if(l!=e.child(i-1))break;--i,o.set(a,i),s.push(a)}}return{index:i,matched:o,matches:s.reverse()}}function Tne(e,t){return e.type.side-t.type.side}function Sne(e,t,n,r){let i=t.locals(e),o=0;if(i.length==0){for(let u=0;uo;)a.push(i[s++]);let p=o+d.nodeSize;if(d.isText){let y=p;s!y.inline):a.slice();r(d,b,t.forChild(o,d),h),o=p}}function xne(e){if(e.nodeName=="UL"||e.nodeName=="OL"){let t=e.style.cssText;e.style.cssText=t+"; list-style: square !important",window.getComputedStyle(e).listStyle,e.style.cssText=t}}function vne(e,t,n,r){for(let i=0,o=0;i=n){if(o>=r&&l.slice(r-t.length-a,r-a)==t)return r-t.length;let u=a=0&&u+t.length+a>=n)return a+u;if(n==r&&l.length>=r+t.length-a&&l.slice(r-a,r-a+t.length)==t)return r}}return-1}function MA(e,t,n,r,i){let o=[];for(let s=0,a=0;s=n||c<=t?o.push(l):(un&&o.push(l.slice(n-u,l.size,r)))}return o}function VA(e,t=null){let n=e.domSelectionRange(),r=e.state.doc;if(!n.focusNode)return null;let i=e.docView.nearestDesc(n.focusNode),o=i&&i.size==0,s=e.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(s<0)return null;let a=r.resolve(s),l,u;if(bb(n)){for(l=s;i&&!i.node;)i=i.parent;let f=i.node;if(i&&f.isAtom&&Ae.isSelectable(f)&&i.parent&&!(f.isInline&&Jte(n.focusNode,n.focusOffset,i.dom))){let d=i.posBefore;u=new Ae(s==d?a:r.resolve(d))}}else{if(n instanceof e.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let f=s,d=s;for(let h=0;h{(n.anchorNode!=r||n.anchorOffset!=i)&&(t.removeEventListener("selectionchange",e.input.hideSelectionGuard),setTimeout(()=>{(!H5(e)||e.state.selection.visible)&&e.dom.classList.remove("ProseMirror-hideselection")},20))})}function _ne(e){let t=e.domSelection();if(!t)return;let n=e.cursorWrapper.dom,r=n.nodeName=="IMG";r?t.collapse(n.parentNode,Pn(n)+1):t.collapse(n,0),!r&&!e.state.selection.visible&&Rr&&na<=11&&(n.disabled=!0,n.disabled=!1)}function F5(e,t){if(t instanceof Ae){let n=e.docView.descAt(t.from);n!=e.lastSelectedViewDesc&&(a5(e),n&&n.selectNode(),e.lastSelectedViewDesc=n)}else a5(e)}function a5(e){e.lastSelectedViewDesc&&(e.lastSelectedViewDesc.parent&&e.lastSelectedViewDesc.deselectNode(),e.lastSelectedViewDesc=void 0)}function GA(e,t,n,r){return e.someProp("createSelectionBetween",i=>i(e,t,n))||Re.between(t,n,r)}function l5(e){return e.editable&&!e.hasFocus()?!1:z5(e)}function z5(e){let t=e.domSelectionRange();if(!t.anchorNode)return!1;try{return e.dom.contains(t.anchorNode.nodeType==3?t.anchorNode.parentNode:t.anchorNode)&&(e.editable||e.dom.contains(t.focusNode.nodeType==3?t.focusNode.parentNode:t.focusNode))}catch{return!1}}function Cne(e){let t=e.docView.domFromPos(e.state.selection.anchor,0),n=e.domSelectionRange();return vl(t.node,t.offset,n.anchorNode,n.anchorOffset)}function OA(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),o=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):null:i;return o&&Ue.findFrom(o,t)}function ta(e,t){return e.dispatch(e.state.tr.setSelection(t).scrollIntoView()),!0}function u5(e,t,n){let r=e.state.selection;if(r instanceof Re)if(n.indexOf("s")>-1){let{$head:i}=r,o=i.textOffset?null:t<0?i.nodeBefore:i.nodeAfter;if(!o||o.isText||!o.isLeaf)return!1;let s=e.state.doc.resolve(i.pos+o.nodeSize*(t<0?-1:1));return ta(e,new Re(r.$anchor,s))}else if(r.empty){if(e.endOfTextblock(t>0?"forward":"backward")){let i=OA(e.state,t);return i&&i instanceof Ae?ta(e,i):!1}else if(!(ci&&n.indexOf("m")>-1)){let i=r.$head,o=i.textOffset?null:t<0?i.nodeBefore:i.nodeAfter,s;if(!o||o.isText)return!1;let a=t<0?i.pos-o.nodeSize:i.pos;return o.isAtom||(s=e.docView.descAt(a))&&!s.contentDOM?Ae.isSelectable(o)?ta(e,new Ae(t<0?e.state.doc.resolve(i.pos-o.nodeSize):i)):Ah?ta(e,new Re(e.state.doc.resolve(t<0?a:a+o.nodeSize))):!1:!1}}else return!1;else{if(r instanceof Ae&&r.node.isInline)return ta(e,new Re(t>0?r.$to:r.$from));{let i=OA(e.state,t);return i?ta(e,i):!1}}}function cb(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function yh(e,t){let n=e.pmViewDesc;return n&&n.size==0&&(t<0||e.nextSibling||e.nodeName!="BR")}function Ic(e,t){return t<0?wne(e):Nne(e)}function wne(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let i,o,s=!1;for(di&&n.nodeType==1&&r0){if(n.nodeType!=1)break;{let a=n.childNodes[r-1];if(yh(a,-1))i=n,o=--r;else if(a.nodeType==3)n=a,r=n.nodeValue.length;else break}}else{if(U5(n))break;{let a=n.previousSibling;for(;a&&yh(a,-1);)i=n.parentNode,o=Pn(a),a=a.previousSibling;if(a)n=a,r=cb(n);else{if(n=n.parentNode,n==e.dom)break;r=0}}}s?DA(e,n,r):i&&DA(e,i,o)}function Nne(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let i=cb(n),o,s;for(;;)if(r{e.state==i&&Jo(e)},50)}function c5(e,t){let n=e.state.doc.resolve(t);if(!(vn||N5)&&n.parent.inlineContent){let i=e.coordsAtPos(t);if(t>n.start()){let o=e.coordsAtPos(t-1),s=(o.top+o.bottom)/2;if(s>i.top&&s1)return o.lefti.top&&s1)return o.left>i.left?"ltr":"rtl"}}return getComputedStyle(e.dom).direction=="rtl"?"rtl":"ltr"}function f5(e,t,n){let r=e.state.selection;if(r instanceof Re&&!r.empty||n.indexOf("s")>-1||ci&&n.indexOf("m")>-1)return!1;let{$from:i,$to:o}=r;if(!i.parent.inlineContent||e.endOfTextblock(t<0?"up":"down")){let s=OA(e.state,t);if(s&&s instanceof Ae)return ta(e,s)}if(!i.parent.inlineContent){let s=t<0?i:o,a=r instanceof lr?Ue.near(s,t):Ue.findFrom(s,t);return a?ta(e,a):!1}return!1}function d5(e,t){if(!(e.state.selection instanceof Re))return!0;let{$head:n,$anchor:r,empty:i}=e.state.selection;if(!n.sameParent(r))return!0;if(!i)return!1;if(e.endOfTextblock(t>0?"forward":"backward"))return!0;let o=!n.textOffset&&(t<0?n.nodeBefore:n.nodeAfter);if(o&&!o.isText){let s=e.state.tr;return t<0?s.delete(n.pos-o.nodeSize,n.pos):s.delete(n.pos,n.pos+o.nodeSize),e.dispatch(s),!0}return!1}function h5(e,t,n){e.domObserver.stop(),t.contentEditable=n,e.domObserver.start()}function Mne(e){if(!jn||e.state.selection.$head.parentOffset>0)return!1;let{focusNode:t,focusOffset:n}=e.domSelectionRange();if(t&&t.nodeType==1&&n==0&&t.firstChild&&t.firstChild.contentEditable=="false"){let r=t.firstChild;h5(e,r,"true"),setTimeout(()=>h5(e,r,"false"),20)}return!1}function One(e){let t="";return e.ctrlKey&&(t+="c"),e.metaKey&&(t+="m"),e.altKey&&(t+="a"),e.shiftKey&&(t+="s"),t}function Dne(e,t){let n=t.keyCode,r=One(t);if(n==8||ci&&n==72&&r=="c")return d5(e,-1)||Ic(e,-1);if(n==46&&!t.shiftKey||ci&&n==68&&r=="c")return d5(e,1)||Ic(e,1);if(n==13||n==27)return!0;if(n==37||ci&&n==66&&r=="c"){let i=n==37?c5(e,e.state.selection.from)=="ltr"?-1:1:-1;return u5(e,i,r)||Ic(e,i)}else if(n==39||ci&&n==70&&r=="c"){let i=n==39?c5(e,e.state.selection.from)=="ltr"?1:-1:1;return u5(e,i,r)||Ic(e,i)}else{if(n==38||ci&&n==80&&r=="c")return f5(e,-1,r)||Ic(e,-1);if(n==40||ci&&n==78&&r=="c")return Mne(e)||f5(e,1,r)||Ic(e,1);if(r==(ci?"m":"c")&&(n==66||n==73||n==89||n==90))return!0}return!1}function KA(e,t){e.someProp("transformCopied",h=>{t=h(t,e)});let n=[],{content:r,openStart:i,openEnd:o}=t;for(;i>1&&o>1&&r.childCount==1&&r.firstChild.childCount==1;){i--,o--;let h=r.firstChild;n.push(h.type.name,h.attrs!=h.type.defaultAttrs?h.attrs:null),r=h.content}let s=e.someProp("clipboardSerializer")||Ko.fromSchema(e.state.schema),a=W5(),l=a.createElement("div");l.appendChild(s.serializeFragment(r,{document:a}));let u=l.firstChild,c,f=0;for(;u&&u.nodeType==1&&(c=Y5[u.nodeName.toLowerCase()]);){for(let h=c.length-1;h>=0;h--){let p=a.createElement(c[h]);for(;l.firstChild;)p.appendChild(l.firstChild);l.appendChild(p),f++}u=l.firstChild}u&&u.nodeType==1&&u.setAttribute("data-pm-slice",`${i} ${o}${f?` -${f}`:""} ${JSON.stringify(n)}`);let d=e.someProp("clipboardTextSerializer",h=>h(t,e))||t.content.textBetween(0,t.content.size,` - -`);return{dom:l,text:d,slice:t}}function q5(e,t,n,r,i){let o=i.parent.type.spec.code,s,a;if(!n&&!t)return null;let l=!!t&&(r||o||!n);if(l){if(e.someProp("transformPastedText",d=>{t=d(t,o||r,e)}),o)return a=new fe(te.from(e.state.schema.text(t.replace(/\r\n?/g,` -`))),0,0),e.someProp("transformPasted",d=>{a=d(a,e,!0)}),a;let f=e.someProp("clipboardTextParser",d=>d(t,i,r,e));if(f)a=f;else{let d=i.marks(),{schema:h}=e.state,p=Ko.fromSchema(h);s=document.createElement("div"),t.split(/(?:\r\n?|\n)+/).forEach(b=>{let y=s.appendChild(document.createElement("p"));b&&y.appendChild(p.serializeNode(h.text(b,d)))})}}else e.someProp("transformPastedHTML",f=>{n=f(n,e)}),s=Bne(n),Ah&&Hne(s);let u=s&&s.querySelector("[data-pm-slice]"),c=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute("data-pm-slice")||"");if(c&&c[3])for(let f=+c[3];f>0;f--){let d=s.firstChild;for(;d&&d.nodeType!=1;)d=d.nextSibling;if(!d)break;s=d}if(a||(a=(e.someProp("clipboardParser")||e.someProp("domParser")||eo.fromSchema(e.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||c),context:i,ruleFromNode(d){return d.nodeName=="BR"&&!d.nextSibling&&d.parentNode&&!Ine.test(d.parentNode.nodeName)?{ignore:!0}:null}})),c)a=Fne(p5(a,+c[1],+c[2]),c[4]);else if(a=fe.maxOpen(Lne(a.content,i),!0),a.openStart||a.openEnd){let f=0,d=0;for(let h=a.content.firstChild;f{a=f(a,e,l)}),a}var Ine=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function Lne(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let i=t.node(n).contentMatchAt(t.index(n)),o,s=[];if(e.forEach(a=>{if(!s)return;let l=i.findWrapping(a.type),u;if(!l)return s=null;if(u=s.length&&o.length&&G5(l,o,a,s[s.length-1],0))s[s.length-1]=u;else{s.length&&(s[s.length-1]=K5(s[s.length-1],o.length));let c=V5(a,l);s.push(c),i=i.matchType(c.type),o=l}}),s)return te.from(s)}return e}function V5(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,te.from(e));return e}function G5(e,t,n,r,i){if(i1&&(o=0),i=n&&(a=t<0?s.contentMatchAt(0).fillBefore(a,o<=i).append(a):a.append(s.contentMatchAt(s.childCount).fillBefore(te.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(a))}function p5(e,t,n){return tn})),TA.createHTML(e)):e}function Bne(e){let t=/^(\s*]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=W5().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(e),i;if((i=r&&Y5[r[1].toLowerCase()])&&(e=i.map(o=>"<"+o+">").join("")+e+i.map(o=>"").reverse().join("")),n.innerHTML=Pne(e),i)for(let o=0;o=0;a-=2){let l=n.nodes[r[a]];if(!l||l.hasRequiredAttrs())break;i=te.from(l.create(r[a+1],i)),o++,s++}return new fe(i,o,s)}var ur={},cr={},zne={touchstart:!0,touchmove:!0},LA=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:"",button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.badSafariComposition=!1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function Une(e){for(let t in ur){let n=ur[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=r=>{Vne(e,r)&&!YA(e,r)&&(e.editable||!(r.type in cr))&&n(e,r)},zne[t]?{passive:!0}:void 0)}jn&&e.dom.addEventListener("input",()=>null),PA(e)}function Zo(e,t){e.input.lastSelectionOrigin=t,e.input.lastSelectionTime=Date.now()}function qne(e){e.input.mouseDown&&e.input.mouseDown.done(),e.domObserver.stop();for(let t in e.input.eventHandlers)e.dom.removeEventListener(t,e.input.eventHandlers[t]);clearTimeout(e.input.composingTimeout),clearTimeout(e.input.lastIOSEnterFallbackTimeout)}function PA(e){e.someProp("handleDOMEvents",t=>{for(let n in t)e.input.eventHandlers[n]||e.dom.addEventListener(n,e.input.eventHandlers[n]=r=>YA(e,r))})}function YA(e,t){return e.someProp("handleDOMEvents",n=>{let r=n[t.type];return r?r(e,t)||t.defaultPrevented:!1})}function Vne(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target;n!=e.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(t))return!1;return!0}function Gne(e,t){!YA(e,t)&&ur[t.type]&&(e.editable||!(t.type in cr))&&ur[t.type](e,t)}cr.keydown=(e,t)=>{let n=t;if(e.input.shiftKey=n.keyCode==16||n.shiftKey,!X5(e)&&(e.input.lastKeyCode=n.keyCode,e.input.lastKeyCodeTime=Date.now(),!(Qo&&vn&&n.keyCode==13)))if(n.keyCode!=229&&e.domObserver.forceFlush(),Bc&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let r=Date.now();e.input.lastIOSEnter=r,e.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{e.input.lastIOSEnter==r&&(e.someProp("handleKeyDown",i=>i(e,bl(13,"Enter"))),e.input.lastIOSEnter=0)},200)}else e.someProp("handleKeyDown",r=>r(e,n))||Dne(e,n)?n.preventDefault():Zo(e,"key")};cr.keyup=(e,t)=>{t.keyCode==16&&(e.input.shiftKey=!1)};cr.keypress=(e,t)=>{let n=t;if(X5(e)||!n.charCode||n.ctrlKey&&!n.altKey||ci&&n.metaKey)return;if(e.someProp("handleKeyPress",i=>i(e,n))){n.preventDefault();return}let r=e.state.selection;if(!(r instanceof Re)||!r.$from.sameParent(r.$to)){let i=String.fromCharCode(n.charCode),o=()=>e.state.tr.insertText(i).scrollIntoView();!/[\r\n]/.test(i)&&!e.someProp("handleTextInput",s=>s(e,r.$from.pos,r.$to.pos,i,o))&&e.dispatch(o()),n.preventDefault()}};function _h(e){return{left:e.clientX,top:e.clientY}}function Kne(e,t){let n=t.x-e.clientX,r=t.y-e.clientY;return n*n+r*r<100}function WA(e,t,n,r,i){if(r==-1)return!1;let o=e.state.doc.resolve(r);for(let s=o.depth+1;s>0;s--)if(e.someProp(t,a=>s>o.depth?a(e,n,o.nodeAfter,o.before(s),i,!0):a(e,n,o.node(s),o.before(s),i,!1)))return!0;return!1}function Ch(e,t,n){if(e.focused||e.focus(),e.state.selection.eq(t))return;let r=e.state.tr.setSelection(t);n=="pointer"&&r.setMeta("pointer",!0),e.dispatch(r)}function Yne(e,t){if(t==-1)return!1;let n=e.state.doc.resolve(t),r=n.nodeAfter;return r&&r.isAtom&&Ae.isSelectable(r)?(Ch(e,new Ae(n),"pointer"),!0):!1}function Wne(e,t){if(t==-1)return!1;let n=e.state.selection,r,i;n instanceof Ae&&(r=n.node);let o=e.state.doc.resolve(t);for(let s=o.depth+1;s>0;s--){let a=s>o.depth?o.nodeAfter:o.node(s);if(Ae.isSelectable(a)){r&&n.$from.depth>0&&s>=n.$from.depth&&o.before(n.$from.depth+1)==n.$from.pos?i=o.before(n.$from.depth):i=o.before(s);break}}return i!=null?(Ch(e,Ae.create(e.state.doc,i),"pointer"),!0):!1}function $ne(e,t,n,r,i){return WA(e,"handleClickOn",t,n,r)||e.someProp("handleClick",o=>o(e,t,r))||(i?Wne(e,n):Yne(e,n))}function jne(e,t,n,r){return WA(e,"handleDoubleClickOn",t,n,r)||e.someProp("handleDoubleClick",i=>i(e,t,r))}function Xne(e,t,n,r){return WA(e,"handleTripleClickOn",t,n,r)||e.someProp("handleTripleClick",i=>i(e,t,r))||Qne(e,n,r)}function Qne(e,t,n){if(n.button!=0)return!1;let r=$5(e,t,!0),i=e.state.doc;return r?(Ch(e,r,"pointer"),r instanceof Re&&i.eq(e.state.doc)&&(e.input.mouseDown=new HA(e,r)),!0):!1}function $5(e,t,n){let r=e.state.doc;if(t==-1)return r.inlineContent?Re.create(r,0,r.content.size):null;let i=r.resolve(t);for(let o=i.depth+1;o>0;o--){let s=o>i.depth?i.nodeAfter:i.node(o),a=i.before(o);if(s.inlineContent)return Re.create(r,a+1,a+1+s.content.size);if(n&&Ae.isSelectable(s))return Ae.create(r,a)}return null}function $A(e){return db(e)}var j5=ci?"metaKey":"ctrlKey";ur.mousedown=(e,t)=>{let n=t;e.input.shiftKey=n.shiftKey;let r=$A(e),i=Date.now(),o="singleClick";i-e.input.lastClick.time<500&&Kne(n,e.input.lastClick)&&!n[j5]&&e.input.lastClick.button==n.button&&(e.input.lastClick.type=="singleClick"?o="doubleClick":e.input.lastClick.type=="doubleClick"&&(o="tripleClick")),e.input.lastClick={time:i,x:n.clientX,y:n.clientY,type:o,button:n.button},e.input.mouseDown&&e.input.mouseDown.done();let s=e.posAtCoords(_h(n));s&&(o=="singleClick"?e.input.mouseDown=new BA(e,s,n,!!r):(o=="doubleClick"?jne:Xne)(e,s.pos,s.inside,n)?n.preventDefault():Zo(e,"pointer"))};var fb=class{constructor(t){this.view=t,this.mightDrag=null,t.root.addEventListener("mouseup",this.up=this.up.bind(this)),t.root.addEventListener("mousemove",this.move=this.move.bind(this))}up(t){this.done()}move(t){t.buttons==0&&this.done()}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.view.input.mouseDown==this&&(this.view.input.mouseDown=null)}delaySelUpdate(){return!1}},BA=class extends fb{constructor(t,n,r,i){super(t),this.pos=n,this.event=r,this.flushed=i,this.delayedSelectionSync=!1,this.startDoc=t.state.doc,this.selectNode=!!r[j5],this.allowDefault=r.shiftKey;let o,s;if(n.inside>-1)o=t.state.doc.nodeAt(n.inside),s=n.inside;else{let c=t.state.doc.resolve(n.pos);o=c.parent,s=c.depth?c.before():0}let a=i?null:r.target,l=a?t.docView.nearestDesc(a,!0):null;this.target=l&&l.nodeDOM.nodeType==1?l.nodeDOM:null;let{selection:u}=t.state;r.button==0&&(o.type.spec.draggable&&o.type.spec.selectable!==!1||u instanceof Ae&&u.from<=s&&u.to>s)&&(this.mightDrag={node:o,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&di&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),Zo(t,"pointer")}done(){super.done(),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>{this.view.isDestroyed||Jo(this.view)})}up(t){if(this.done(),!this.view.dom.contains(t.target))return;let n=this.pos;this.view.state.doc!=this.startDoc&&(n=this.view.posAtCoords(_h(t))),this.updateAllowDefault(t),this.allowDefault||!n?Zo(this.view,"pointer"):$ne(this.view,n.pos,n.inside,t,this.selectNode)?t.preventDefault():t.button==0&&(this.flushed||jn&&this.mightDrag&&!this.mightDrag.node.isAtom||vn&&!this.view.state.selection.visible&&Math.min(Math.abs(n.pos-this.view.state.selection.from),Math.abs(n.pos-this.view.state.selection.to))<=2)?(Ch(this.view,Ue.near(this.view.state.doc.resolve(n.pos)),"pointer"),t.preventDefault()):Zo(this.view,"pointer")}move(t){this.updateAllowDefault(t),Zo(this.view,"pointer"),super.move(t)}updateAllowDefault(t){!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4)&&(this.allowDefault=!0)}delaySelUpdate(){return this.allowDefault?(this.delayedSelectionSync=!0,!0):!1}},HA=class extends fb{constructor(t,n){super(t),this.startSelection=n,this.startDoc=t.state.doc}move(t){if(t.buttons==0||this.view.isDestroyed||!this.view.state.doc.eq(this.startDoc)){this.done();return}t.preventDefault(),Zo(this.view,"pointer");let n=this.view.posAtCoords(_h(t)),r=n&&$5(this.view,n.inside,!1);if(!r)return;let{doc:i}=this.view.state,o=this.startSelection,[s,a]=r.from{e.input.lastTouch=Date.now(),$A(e),Zo(e,"pointer")};ur.touchmove=e=>{e.input.lastTouch=Date.now(),Zo(e,"pointer")};ur.contextmenu=e=>$A(e);function X5(e,t){return e.composing?!0:jn&&Math.abs(Date.now()-e.input.compositionEndedAt)<500?(e.input.compositionEndedAt=-2e8,!0):!1}var Zne=Qo?5e3:-1;cr.compositionstart=cr.compositionupdate=e=>{if(!e.composing){e.domObserver.flush();let{state:t}=e,n=t.selection.$to;if(t.selection instanceof Re&&(t.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(r=>r.type.spec.inclusive===!1)||vn&&N5&&Jne(e)))e.markCursor=e.state.storedMarks||n.marks(),db(e,!0),e.markCursor=null;else if(db(e,!t.selection.empty),di&&t.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let r=e.domSelectionRange();for(let i=r.focusNode,o=r.focusOffset;i&&i.nodeType==1&&o!=0;){let s=o<0?i.lastChild:i.childNodes[o-1];if(!s)break;if(s.nodeType==3){let a=e.domSelection();a&&a.collapse(s,s.nodeValue.length);break}else i=s,o=-1}}e.input.composing=!0}Q5(e,Zne)};function Jne(e){let{focusNode:t,focusOffset:n}=e.domSelectionRange();if(!t||t.nodeType!=1||n>=t.childNodes.length)return!1;let r=t.childNodes[n];return r.nodeType==1&&r.contentEditable=="false"}cr.compositionend=(e,t)=>{e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=Date.now(),e.input.compositionPendingChanges=e.domObserver.pendingRecords().length?e.input.compositionID:0,e.input.compositionNode=null,e.input.badSafariComposition?e.domObserver.forceFlush():e.input.compositionPendingChanges&&Promise.resolve().then(()=>e.domObserver.flush()),e.input.compositionID++,Q5(e,20))};function Q5(e,t){clearTimeout(e.input.composingTimeout),t>-1&&(e.input.composingTimeout=setTimeout(()=>db(e),t))}function Z5(e){for(e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=Date.now());e.input.compositionNodes.length>0;)e.input.compositionNodes.pop().markParentsDirty()}function ere(e){let t=e.domSelectionRange();if(!t.focusNode)return null;let n=Qte(t.focusNode,t.focusOffset),r=Zte(t.focusNode,t.focusOffset);if(n&&r&&n!=r){let i=r.pmViewDesc,o=e.domObserver.lastChangedTextNode;if(n==o||r==o)return o;if(!i||!i.isText(r.nodeValue))return r;if(e.input.compositionNode==r){let s=n.pmViewDesc;if(!(!s||!s.isText(n.nodeValue)))return r}}return n||r}function db(e,t=!1){if(!(Qo&&e.domObserver.flushingSoon>=0)){if(e.domObserver.forceFlush(),Z5(e),t||e.docView&&e.docView.dirty){let n=VA(e),r=e.state.selection;return n&&!n.eq(r)?e.dispatch(e.state.tr.setSelection(n)):(e.markCursor||t)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?e.dispatch(e.state.tr.deleteSelection()):e.updateState(e.state),!0}return!1}}function tre(e,t){if(!e.dom.parentNode)return;let n=e.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(t),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),i=document.createRange();i.selectNodeContents(t),e.dom.blur(),r.removeAllRanges(),r.addRange(i),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),e.focus()},50)}var Eh=Rr&&na<15||Bc&&nne<604;ur.copy=cr.cut=(e,t)=>{let n=t,r=e.state.selection,i=n.type=="cut";if(r.empty)return;let o=Eh?null:n.clipboardData,s=r.content(),{dom:a,text:l}=KA(e,s);o?(n.preventDefault(),o.clearData(),o.setData("text/html",a.innerHTML),o.setData("text/plain",l)):tre(e,a),i&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function nre(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function rre(e,t){if(!e.dom.parentNode)return;let n=e.input.shiftKey||e.state.selection.$from.parent.type.spec.code,r=e.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let i=e.input.shiftKey&&e.input.lastKeyCode!=45;setTimeout(()=>{e.focus(),r.parentNode&&r.parentNode.removeChild(r),n?Th(e,r.value,null,i,t):Th(e,r.textContent,r.innerHTML,i,t)},50)}function Th(e,t,n,r,i){let o=q5(e,t,n,r,e.state.selection.$from);if(e.someProp("handlePaste",l=>l(e,i,o||fe.empty)))return!0;if(!o)return!1;let s=nre(o),a=s?e.state.tr.replaceSelectionWith(s,r):e.state.tr.replaceSelection(o);return e.dispatch(a.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function J5(e){let t=e.getData("text/plain")||e.getData("Text");if(t)return t;let n=e.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}cr.paste=(e,t)=>{let n=t;if(e.composing&&!Qo)return;let r=Eh?null:n.clipboardData,i=e.input.shiftKey&&e.input.lastKeyCode!=45;r&&Th(e,J5(r),r.getData("text/html"),i,n)?n.preventDefault():rre(e,n)};var hb=class{constructor(t,n,r){this.slice=t,this.move=n,this.node=r}},ire=ci?"altKey":"ctrlKey";function eH(e,t){let n;return e.someProp("dragCopies",r=>{n=n||r(t)}),n!=null?!n:!t[ire]}ur.dragstart=(e,t)=>{let n=t,r=e.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let i=e.state.selection,o=i.empty?null:e.posAtCoords(_h(n)),s;if(!(o&&o.pos>=i.from&&o.pos<=(i instanceof Ae?i.to-1:i.to))){if(r&&r.mightDrag)s=Ae.create(e.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let f=e.docView.nearestDesc(n.target,!0);f&&f.node.type.spec.draggable&&f!=e.docView&&(s=Ae.create(e.state.doc,f.posBefore))}}let a=(s||e.state.selection).content(),{dom:l,text:u,slice:c}=KA(e,a);(!n.dataTransfer.files.length||!vn||w5>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(Eh?"Text":"text/html",l.innerHTML),n.dataTransfer.effectAllowed="copyMove",Eh||n.dataTransfer.setData("text/plain",u),e.dragging=new hb(c,eH(e,n),s)};ur.dragend=e=>{let t=e.dragging;window.setTimeout(()=>{e.dragging==t&&(e.dragging=null)},50)};cr.dragover=cr.dragenter=(e,t)=>t.preventDefault();cr.drop=(e,t)=>{try{ore(e,t,e.dragging)}finally{e.dragging=null}};function ore(e,t,n){if(!t.dataTransfer)return;let r=e.posAtCoords(_h(t));if(!r)return;let i=e.state.doc.resolve(r.pos),o=n&&n.slice;o?e.someProp("transformPasted",h=>{o=h(o,e,!1)}):o=q5(e,J5(t.dataTransfer),Eh?null:t.dataTransfer.getData("text/html"),!1,i);let s=!!(n&&eH(e,t));if(e.someProp("handleDrop",h=>h(e,t,o||fe.empty,s))){t.preventDefault();return}if(!o)return;t.preventDefault();let a=o?y4(e.state.doc,i.pos,o):i.pos;a==null&&(a=i.pos);let l=e.state.tr;if(s){let{node:h}=n;h?h.replace(l):l.deleteSelection()}let u=l.mapping.map(a),c=o.openStart==0&&o.openEnd==0&&o.content.childCount==1,f=l.doc;if(c?l.replaceRangeWith(u,u,o.content.firstChild):l.replaceRange(u,u,o),l.doc.eq(f))return;let d=l.doc.resolve(u);if(c&&Ae.isSelectable(o.content.firstChild)&&d.nodeAfter&&d.nodeAfter.sameMarkup(o.content.firstChild))l.setSelection(new Ae(d));else{let h=l.mapping.map(a);l.mapping.maps[l.mapping.maps.length-1].forEach((p,b,y,g)=>h=g),l.setSelection(GA(e,d,l.doc.resolve(h)))}e.focus(),e.dispatch(l.setMeta("uiEvent","drop"))}ur.focus=e=>{e.input.lastFocus=Date.now(),e.focused||(e.domObserver.stop(),e.dom.classList.add("ProseMirror-focused"),e.domObserver.start(),e.focused=!0,setTimeout(()=>{e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.domSelectionRange())&&Jo(e)},20))};ur.blur=(e,t)=>{let n=t;e.focused&&(e.domObserver.stop(),e.dom.classList.remove("ProseMirror-focused"),e.domObserver.start(),n.relatedTarget&&e.dom.contains(n.relatedTarget)&&e.domObserver.currentSelection.clear(),e.focused=!1)};ur.beforeinput=(e,t)=>{if(vn&&Qo&&t.inputType=="deleteContentBackward"){e.domObserver.flushSoon();let{domChangeCount:r}=e.input;setTimeout(()=>{if(e.input.domChangeCount!=r||(e.dom.blur(),e.focus(),e.someProp("handleKeyDown",o=>o(e,bl(8,"Backspace")))))return;let{$cursor:i}=e.state.selection;i&&i.pos>0&&e.dispatch(e.state.tr.delete(i.pos-1,i.pos).scrollIntoView())},50)}};for(let e in cr)ur[e]=cr[e];function Sh(e,t){if(e==t)return!0;for(let n in e)if(e[n]!==t[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}var pb=class e{constructor(t,n){this.toDOM=t,this.spec=n||Sl,this.side=this.spec.side||0}map(t,n,r,i){let{pos:o,deleted:s}=t.mapResult(n.from+i,this.side<0?-1:1);return s?null:new ro(o-r,o-r,this)}valid(){return!0}eq(t){return this==t||t instanceof e&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&Sh(this.spec,t.spec))}destroy(t){this.spec.destroy&&this.spec.destroy(t)}},Tl=class e{constructor(t,n){this.attrs=t,this.spec=n||Sl}map(t,n,r,i){let o=t.map(n.from+i,this.spec.inclusiveStart?-1:1)-r,s=t.map(n.to+i,this.spec.inclusiveEnd?1:-1)-r;return o>=s?null:new ro(o,s,this)}valid(t,n){return n.from=t&&(!o||o(a.spec))&&r.push(a.copy(a.from+i,a.to+i))}for(let s=0;st){let a=this.children[s]+1;this.children[s+2].findInner(t-a,n-a,r,i+a,o)}}map(t,n,r){return this==$n||t.maps.length==0?this:this.mapInner(t,n,0,0,r||Sl)}mapInner(t,n,r,i,o){let s;for(let a=0;a{let u=l+r,c;if(c=nH(n,a,u)){for(i||(i=this.children.slice());oa&&f.to=t){this.children[a]==t&&(r=this.children[a+2]);break}let o=t+1,s=o+n.content.size;for(let a=0;ao&&l.type instanceof Tl){let u=Math.max(o,l.from)-o,c=Math.min(s,l.to)-o;ui.map(t,n,Sl));return e.from(r)}forChild(t,n){if(n.isLeaf)return kr.empty;let r=[];for(let i=0;in instanceof kr)?t:t.reduce((n,r)=>n.concat(r instanceof kr?r:r.members),[]))}}forEachSet(t){for(let n=0;n{let y=b-p-(h-d);for(let g=0;gE+c-f)continue;let T=a[g]+c-f;h>=T?a[g+1]=d<=T?-2:-1:d>=c&&y&&(a[g]+=y,a[g+1]+=y)}f+=y}),c=n.maps[u].map(c,-1)}let l=!1;for(let u=0;u=r.content.size){l=!0;continue}let d=n.map(e[u+1]+o,-1),h=d-i,{index:p,offset:b}=r.content.findIndex(f),y=r.maybeChild(p);if(y&&b==f&&b+y.nodeSize==h){let g=a[u+2].mapInner(n,y,c+1,e[u]+o+1,s);g!=$n?(a[u]=f,a[u+1]=h,a[u+2]=g):(a[u+1]=-2,l=!0)}else l=!0}if(l){let u=are(a,e,t,n,i,o,s),c=gb(u,r,0,s);t=c.local;for(let f=0;fn&&s.to{let u=nH(e,a,l+n);if(u){o=!0;let c=gb(u,a,n+l+1,r);c!=$n&&i.push(l,l+a.nodeSize,c)}});let s=tH(o?rH(e):e,-n).sort(xl);for(let a=0;a0;)t++;e.splice(t,0,n)}function SA(e){let t=[];return e.someProp("decorations",n=>{let r=n(e.state);r&&r!=$n&&t.push(r)}),e.cursorWrapper&&t.push(kr.create(e.state.doc,[e.cursorWrapper.deco])),mb.from(t)}var lre={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},ure=Rr&&na<=11,zA=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(t){this.anchorNode=t.anchorNode,this.anchorOffset=t.anchorOffset,this.focusNode=t.focusNode,this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}},UA=class{constructor(t,n){this.view=t,this.handleDOMChange=n,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new zA,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(r=>{for(let i=0;ii.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():jn&&t.composing&&r.some(i=>i.type=="childList"&&i.target.nodeName=="TR")?(t.input.badSafariComposition=!0,this.flushSoon()):this.flush()}),ure&&(this.onCharData=r=>{this.queue.push({target:r.target,type:"characterData",oldValue:r.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,lre)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let n=0;nthis.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(l5(this.view)){if(this.suppressingSelectionUpdates)return Jo(this.view);if(Rr&&na<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&vl(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return!0;let n=new Set,r;for(let o=t.focusNode;o;o=Pc(o))n.add(o);for(let o=t.anchorNode;o;o=Pc(o))if(n.has(o)){r=o;break}let i=r&&this.view.docView.nearestDesc(r);if(i&&i.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let n=this.pendingRecords();n.length&&(this.queue=[]);let r=t.domSelectionRange(),i=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&l5(t)&&!this.ignoreSelectionChange(r),o=-1,s=-1,a=!1,l=[];if(t.editable)for(let c=0;cc.nodeName=="BR")&&(t.input.lastKeyCode==8||t.input.lastKeyCode==46||vn&&(t.composing||t.input.compositionEndedAt>Date.now()-50)&&n.some(c=>c.type=="childList"&&c.removedNodes.length))){for(let c of l)if(c.nodeName=="BR"&&c.parentNode){let f=c.nextSibling;for(;f&&f.nodeType==1;){if(f.contentEditable=="false"){c.parentNode.removeChild(c);break}f=f.firstChild}}}else if(di&&l.length){let c=l.filter(f=>f.nodeName=="BR");if(c.length==2){let[f,d]=c;f.parentNode&&f.parentNode.parentNode==d.parentNode?d.remove():f.remove()}else{let{focusNode:f}=this.currentSelection;for(let d of c){let h=d.parentNode;h&&h.nodeName=="LI"&&(!f||dre(t,f)!=h)&&d.remove()}}}let u=null;o<0&&i&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)-1||i)&&(o>-1&&(t.docView.markDirty(o,s),cre(t)),t.input.badSafariComposition&&(t.input.badSafariComposition=!1,hre(t,l)),this.handleDOMChange(o,s,a,l),t.docView&&t.docView.dirty?t.updateState(t.state):this.currentSelection.eq(r)||Jo(t),this.currentSelection.set(r))}registerMutation(t,n){if(n.indexOf(t.target)>-1)return null;let r=this.view.docView.nearestDesc(t.target);if(t.type=="attributes"&&(r==this.view.docView||t.attributeName=="contenteditable"||t.attributeName=="style"&&!t.oldValue&&!t.target.getAttribute("style"))||!r||r.ignoreMutation(t))return null;if(t.type=="childList"){for(let c=0;ci;y--){let g=r.childNodes[y-1],E=g.pmViewDesc;if(g.nodeName=="BR"&&!E){o=y;break}if(!E||E.size)break}let f=e.state.doc,d=e.someProp("domParser")||eo.fromSchema(e.state.schema),h=f.resolve(s),p=null,b=d.parse(r,{topNode:h.parent,topMatch:h.parent.contentMatchAt(h.index()),topOpen:!0,from:i,to:o,preserveWhitespace:h.parent.type.whitespace=="pre"?"full":!0,findPositions:u,ruleFromNode:mre,context:h});if(u&&u[0].pos!=null){let y=u[0].pos,g=u[1]&&u[1].pos;g==null&&(g=y),p={anchor:y+s,head:g+s}}return{doc:b,sel:p,from:s,to:a}}function mre(e){let t=e.pmViewDesc;if(t)return t.parseRule();if(e.nodeName=="BR"&&e.parentNode){if(jn&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let n=document.createElement("div");return n.appendChild(document.createElement("li")),{skip:n}}else if(e.parentNode.lastChild==e||jn&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName=="IMG"&&e.getAttribute("mark-placeholder"))return{ignore:!0};return null}var gre=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|img|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function bre(e,t,n,r,i){let o=e.input.compositionPendingChanges||(e.composing?e.input.compositionID:0);if(e.input.compositionPendingChanges=0,t<0){let N=e.input.lastSelectionTime>Date.now()-50?e.input.lastSelectionOrigin:null,D=VA(e,N);if(D&&!e.state.selection.eq(D)){if(vn&&Qo&&e.input.lastKeyCode===13&&Date.now()-100A(e,bl(13,"Enter"))))return;let k=e.state.tr.setSelection(D);N=="pointer"?k.setMeta("pointer",!0):N=="key"&&k.scrollIntoView(),o&&k.setMeta("composition",o),e.dispatch(k)}return}let s=e.state.doc.resolve(t),a=s.sharedDepth(n);t=s.before(a+1),n=e.state.doc.resolve(n).after(a+1);let l=e.state.selection,u=pre(e,t,n),c=e.state.doc,f=c.slice(u.from,u.to),d,h;e.input.lastKeyCode===8&&Date.now()-100Date.now()-225||Qo)&&i.some(N=>N.nodeType==1&&!gre.test(N.nodeName))&&(!p||p.endA>=p.endB)&&e.someProp("handleKeyDown",N=>N(e,bl(13,"Enter")))){e.input.lastIOSEnter=0;return}if(!p)if(r&&l instanceof Re&&!l.empty&&l.$head.sameParent(l.$anchor)&&!e.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))p={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let N=T5(e,e.state.doc,u.sel);if(N&&!N.eq(e.state.selection)){let D=e.state.tr.setSelection(N);o&&D.setMeta("composition",o),e.dispatch(D)}}return}e.state.selection.frome.state.selection.from&&p.start<=e.state.selection.from+2&&e.state.selection.from>=u.from?p.start=e.state.selection.from:p.endA=e.state.selection.to-2&&e.state.selection.to<=u.to&&(p.endB+=e.state.selection.to-p.endA,p.endA=e.state.selection.to)),Rr&&na<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>u.from&&u.doc.textBetween(p.start-u.from-1,p.start-u.from+1)==" \xA0"&&(p.start--,p.endA--,p.endB--);let b=u.doc.resolveNoCache(p.start-u.from),y=u.doc.resolveNoCache(p.endB-u.from),g=c.resolve(p.start),E=b.sameParent(y)&&b.parent.inlineContent&&g.end()>=p.endA;if((Bc&&e.input.lastIOSEnter>Date.now()-225&&(!E||i.some(N=>N.nodeName=="DIV"||N.nodeName=="P"))||!E&&b.posN(e,bl(13,"Enter")))){e.input.lastIOSEnter=0;return}if(e.state.selection.anchor>p.start&&Ere(c,p.start,p.endA,b,y)&&e.someProp("handleKeyDown",N=>N(e,bl(8,"Backspace")))){Qo&&vn&&e.domObserver.suppressSelectionUpdates();return}vn&&p.endB==p.start&&(e.input.lastChromeDelete=Date.now()),Qo&&!E&&b.start()!=y.start()&&y.parentOffset==0&&b.depth==y.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==p.endA&&(p.endB-=2,y=u.doc.resolveNoCache(p.endB-u.from),setTimeout(()=>{e.someProp("handleKeyDown",function(N){return N(e,bl(13,"Enter"))})},20));let T=p.start,S=p.endA,v=N=>{let D=N||e.state.tr.replace(T,S,u.doc.slice(p.start-u.from,p.endB-u.from));if(u.sel){let k=T5(e,D.doc,u.sel);k&&!(vn&&e.composing&&k.empty&&(p.start!=p.endB||e.input.lastChromeDeleteJo(e),20));let N=v(e.state.tr.delete(T,S)),D=c.resolve(p.start).marksAcross(c.resolve(p.endA));D&&N.ensureMarks(D),e.dispatch(N)}else if(p.endA==p.endB&&(x=yre(b.parent.content.cut(b.parentOffset,y.parentOffset),g.parent.content.cut(g.parentOffset,p.endA-g.start())))){let N=v(e.state.tr);x.type=="add"?N.addMark(T,S,x.mark):N.removeMark(T,S,x.mark),e.dispatch(N)}else if(b.parent.child(b.index()).isText&&b.index()==y.index()-(y.textOffset?0:1)){let N=b.parent.textBetween(b.parentOffset,y.parentOffset),D=()=>v(e.state.tr.insertText(N,T,S));e.someProp("handleTextInput",k=>k(e,T,S,N,D))||e.dispatch(D())}else e.dispatch(v());else e.dispatch(v())}function T5(e,t,n){return Math.max(n.anchor,n.head)>t.content.size?null:GA(e,t.resolve(n.anchor),t.resolve(n.head))}function yre(e,t){let n=e.firstChild.marks,r=t.firstChild.marks,i=n,o=r,s,a,l;for(let c=0;cc.mark(a.addToSet(c.marks));else if(i.length==0&&o.length==1)a=o[0],s="remove",l=c=>c.mark(a.removeFromSet(c.marks));else return null;let u=[];for(let c=0;cn||xA(s,!0,!1)0&&(t||e.indexAfter(r)==e.node(r).childCount);)r--,i++,t=!1;if(n){let o=e.node(r).maybeChild(e.indexAfter(r));for(;o&&!o.isLeaf;)o=o.firstChild,i++}return i}function Tre(e,t,n,r,i){let o=e.findDiffStart(t,n),s=n+e.size,a=n+t.size;if(o==null)return null;let{a:l,b:u}=e.findDiffEnd(t,s,a);if(i=="end"){let c=Math.max(0,o-Math.min(l,u));r-=l+c-o}if(l=l?o-r:0;o-=c,u=o+(u-l),l=o}else if(u=u?o-r:0;o-=c,l=o+(l-u),u=o}return{start:o,endA:l,endB:u}}var xh=class{constructor(t,n){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new LA,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=n,this.state=n.state,this.directPlugins=n.plugins||[],this.directPlugins.forEach(_5),this.dispatch=this.dispatch.bind(this),this.dom=t&&t.mount||document.createElement("div"),t&&(t.appendChild?t.appendChild(this.dom):typeof t=="function"?t(this.dom):t.mount&&(this.mounted=!0)),this.editable=v5(this),x5(this),this.nodeViews=A5(this),this.docView=n5(this.state.doc,S5(this),SA(this),this.dom,this),this.domObserver=new UA(this,(r,i,o,s)=>bre(this,r,i,o,s)),this.domObserver.start(),Une(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let n in t)this._props[n]=t[n];this._props.state=this.state}return this._props}update(t){t.handleDOMEvents!=this._props.handleDOMEvents&&PA(this);let n=this._props;this._props=t,t.plugins&&(t.plugins.forEach(_5),this.directPlugins=t.plugins),this.updateStateInner(t.state,n)}setProps(t){let n={};for(let r in this._props)n[r]=this._props[r];n.state=this.state;for(let r in t)n[r]=t[r];this.update(n)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,n){var r;let i=this.state,o=!1,s=!1;t.storedMarks&&this.composing&&(Z5(this),s=!0),this.state=t;let a=i.plugins!=t.plugins||this._props.plugins!=n.plugins;if(a||this._props.plugins!=n.plugins||this._props.nodeViews!=n.nodeViews){let h=A5(this);xre(h,this.nodeViews)&&(this.nodeViews=h,o=!0)}(a||n.handleDOMEvents!=this._props.handleDOMEvents)&&PA(this),this.editable=v5(this),x5(this);let l=SA(this),u=S5(this),c=i.plugins!=t.plugins&&!i.doc.eq(t.doc)?"reset":t.scrollToSelection>i.scrollToSelection?"to selection":"preserve",f=o||!this.docView.matchesNode(t.doc,u,l);(f||!t.selection.eq(i.selection))&&(s=!0);let d=c=="preserve"&&s&&this.dom.style.overflowAnchor==null&&one(this);if(s){this.domObserver.stop();let h=f&&(Rr||vn)&&!this.composing&&!i.selection.empty&&!t.selection.empty&&Sre(i.selection,t.selection);if(f){let b=vn?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=ere(this)),(o||!this.docView.update(t.doc,u,l,this))&&(this.docView.updateOuterDeco(u),this.docView.destroy(),this.docView=n5(t.doc,u,l,this.dom,this)),b&&(!this.trackWrites||!this.dom.contains(this.trackWrites))&&(h=!0)}let p=this.input.mouseDown;h||!(p&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&Cne(this)&&p.delaySelUpdate())?Jo(this,h):(F5(this,t.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(i),!((r=this.dragging)===null||r===void 0)&&r.node&&!i.doc.eq(t.doc)&&this.updateDraggedNode(this.dragging,i),c=="reset"?this.dom.scrollTop=0:c=="to selection"?this.scrollToSelection():d&&sne(d)}scrollToSelection(){let t=this.domSelectionRange().focusNode;if(!(!t||!this.dom.contains(t.nodeType==1?t:t.parentNode))){if(!this.someProp("handleScrollToSelection",n=>n(this)))if(this.state.selection instanceof Ae){let n=this.docView.domAfterPos(this.state.selection.from);n.nodeType==1&&X4(this,n.getBoundingClientRect(),t)}else X4(this,this.coordsAtPos(this.state.selection.head,1),t)}}destroyPluginViews(){let t;for(;t=this.pluginViews.pop();)t.destroy&&t.destroy()}updatePluginViews(t){if(!t||t.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let n=0;n0&&on.ownerDocument.getSelection()),this._root=n}return t||document}updateRoot(){this._root=null}posAtCoords(t){return dne(this,t)}coordsAtPos(t,n=1){return D5(this,t,n)}domAtPos(t,n=0){return this.docView.domFromPos(t,n)}nodeDOM(t){let n=this.docView.descAt(t);return n?n.nodeDOM:null}posAtDOM(t,n,r=-1){let i=this.docView.posFromDOM(t,n,r);if(i==null)throw new RangeError("DOM position not inside the editor");return i}endOfTextblock(t,n){return bne(this,n||this.state,t)}pasteHTML(t,n){return Th(this,"",t,!1,n||new ClipboardEvent("paste"))}pasteText(t,n){return Th(this,t,null,!0,n||new ClipboardEvent("paste"))}serializeForClipboard(t){return KA(this,t)}destroy(){this.docView&&(qne(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],SA(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,jte())}get isDestroyed(){return this.docView==null}dispatchEvent(t){return Gne(this,t)}domSelectionRange(){let t=this.domSelection();return t?jn&&this.root.nodeType===11&&ene(this.dom.ownerDocument)==this.dom&&fre(this,t)||t:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};xh.prototype.dispatch=function(e){let t=this._props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function S5(e){let t=Object.create(null);return t.class="ProseMirror",t.contenteditable=String(e.editable),e.someProp("attributes",n=>{if(typeof n=="function"&&(n=n(e.state)),n)for(let r in n)r=="class"?t.class+=" "+n[r]:r=="style"?t.style=(t.style?t.style+";":"")+n[r]:!t[r]&&r!="contenteditable"&&r!="nodeName"&&(t[r]=String(n[r]))}),t.translate||(t.translate="no"),[ro.node(0,e.state.doc.content.size,t)]}function x5(e){if(e.markCursor){let t=document.createElement("img");t.className="ProseMirror-separator",t.setAttribute("mark-placeholder","true"),t.setAttribute("alt",""),e.cursorWrapper={dom:t,deco:ro.widget(e.state.selection.from,t,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function v5(e){return!e.someProp("editable",t=>t(e.state)===!1)}function Sre(e,t){let n=Math.min(e.$anchor.sharedDepth(e.head),t.$anchor.sharedDepth(t.head));return e.$anchor.start(n)!=t.$anchor.start(n)}function A5(e){let t=Object.create(null);function n(r){for(let i in r)Object.prototype.hasOwnProperty.call(t,i)||(t[i]=r[i])}return e.someProp("nodeViews",n),e.someProp("markViews",n),t}function xre(e,t){let n=0,r=0;for(let i in e){if(e[i]!=t[i])return!0;n++}for(let i in t)r++;return n!=r}function _5(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var es={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Eb={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},vre=typeof navigator<"u"&&/Mac/.test(navigator.platform),Are=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(cn=0;cn<10;cn++)es[48+cn]=es[96+cn]=String(cn);var cn;for(cn=1;cn<=24;cn++)es[cn+111]="F"+cn;var cn;for(cn=65;cn<=90;cn++)es[cn]=String.fromCharCode(cn+32),Eb[cn]=String.fromCharCode(cn);var cn;for(yb in es)Eb.hasOwnProperty(yb)||(Eb[yb]=es[yb]);var yb;function iH(e){var t=vre&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||Are&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",n=!t&&e.key||(e.shiftKey?Eb:es)[e.keyCode]||e.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}var _re=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),Cre=typeof navigator<"u"&&/Win/.test(navigator.platform);function wre(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,i,o,s;for(let a=0;a{for(var n in t)kre(e,n,{get:t[n],enumerable:!0})};function Nb(e){let{state:t,transaction:n}=e,{selection:r}=n,{doc:i}=n,{storedMarks:o}=n;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return o},get selection(){return r},get doc(){return i},get tr(){return r=n.selection,i=n.doc,o=n.storedMarks,n}}}var Rb=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:e,editor:t,state:n}=this,{view:r}=t,{tr:i}=n,o=this.buildProps(i);return Object.fromEntries(Object.entries(e).map(([s,a])=>[s,(...u)=>{let c=a(...u)(o);return!i.getMeta("preventDispatch")&&!this.hasCustomState&&r.dispatch(i),c}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){let{rawCommands:n,editor:r,state:i}=this,{view:o}=r,s=[],a=!!e,l=e||i.tr,u=()=>(!a&&t&&!l.getMeta("preventDispatch")&&!this.hasCustomState&&o.dispatch(l),s.every(f=>f===!0)),c={...Object.fromEntries(Object.entries(n).map(([f,d])=>[f,(...p)=>{let b=this.buildProps(l,t),y=d(...p)(b);return s.push(y),c}])),run:u};return c}createCan(e){let{rawCommands:t,state:n}=this,r=!1,i=e||n.tr,o=this.buildProps(i,r);return{...Object.fromEntries(Object.entries(t).map(([a,l])=>[a,(...u)=>l(...u)({...o,dispatch:void 0})])),chain:()=>this.createChain(i,r)}}buildProps(e,t=!0){let{rawCommands:n,editor:r,state:i}=this,{view:o}=r,s={tr:e,editor:r,view:o,state:Nb({state:i,transaction:e}),dispatch:t?()=>{}:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map(([a,l])=>[a,(...u)=>l(...u)(s)]))}};return s}},gH={};n_(gH,{blur:()=>Mre,clearContent:()=>Ore,clearNodes:()=>Dre,command:()=>Ire,createParagraphNear:()=>Lre,cut:()=>Pre,deleteCurrentNode:()=>Bre,deleteNode:()=>Hre,deleteRange:()=>Fre,deleteSelection:()=>qre,enter:()=>Vre,exitCode:()=>Gre,extendMarkRange:()=>Kre,first:()=>Yre,focus:()=>$re,forEach:()=>jre,insertContent:()=>Xre,insertContentAt:()=>Jre,joinBackward:()=>nie,joinDown:()=>tie,joinForward:()=>rie,joinItemBackward:()=>iie,joinItemForward:()=>oie,joinTextblockBackward:()=>sie,joinTextblockForward:()=>aie,joinUp:()=>eie,keyboardShortcut:()=>uie,lift:()=>cie,liftEmptyBlock:()=>fie,liftListItem:()=>die,newlineInCode:()=>hie,resetAttributes:()=>pie,scrollIntoView:()=>mie,selectAll:()=>gie,selectNodeBackward:()=>bie,selectNodeForward:()=>yie,selectParentNode:()=>Eie,selectTextblockEnd:()=>Tie,selectTextblockStart:()=>Sie,setContent:()=>xie,setMark:()=>qie,setMeta:()=>Vie,setNode:()=>Gie,setNodeSelection:()=>Kie,setTextDirection:()=>Yie,setTextSelection:()=>Wie,sinkListItem:()=>$ie,splitBlock:()=>jie,splitListItem:()=>Xie,toggleList:()=>Zie,toggleMark:()=>Jie,toggleNode:()=>eoe,toggleWrap:()=>toe,undoInputRule:()=>noe,unsetAllMarks:()=>roe,unsetMark:()=>ioe,unsetTextDirection:()=>ooe,updateAttributes:()=>soe,wrapIn:()=>aoe,wrapInList:()=>loe});var Mre=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var n;e.isDestroyed||(t.dom.blur(),(n=window?.getSelection())==null||n.removeAllRanges())}),!0),Ore=(e=!0)=>({commands:t})=>t.setContent("",{emitUpdate:e}),Dre=()=>({state:e,tr:t,dispatch:n})=>{let{selection:r}=t,{ranges:i}=r;return n&&i.forEach(({$from:o,$to:s})=>{e.doc.nodesBetween(o.pos,s.pos,(a,l)=>{if(a.type.isText)return;let{doc:u,mapping:c}=t,f=u.resolve(c.map(l)),d=u.resolve(c.map(l+a.nodeSize)),h=f.blockRange(d);if(!h)return;let p=$o(h);if(a.type.isTextblock){let{defaultType:b}=f.parent.contentMatchAt(f.index());t.setNodeMarkup(h.start,b)}(p||p===0)&&t.lift(h,p)})}),!0},Ire=e=>t=>e(t),Lre=()=>({state:e,dispatch:t})=>dA(e,t),Pre=(e,t)=>({editor:n,tr:r})=>{let{state:i}=n,o=i.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);let s=r.mapping.map(t);return r.insert(s,o.content),r.setSelection(new Re(r.doc.resolve(Math.max(s-1,0)))),!0},Bre=()=>({tr:e,dispatch:t})=>{let{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;let i=e.selection.$anchor;for(let o=i.depth;o>0;o-=1)if(i.node(o).type===r.type){if(t){let a=i.before(o),l=i.after(o);e.delete(a,l).scrollIntoView()}return!0}return!1};function An(e,t){if(typeof e=="string"){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}var Hre=e=>({tr:t,state:n,dispatch:r})=>{let i=An(e,n.schema),o=t.selection.$anchor;for(let s=o.depth;s>0;s-=1)if(o.node(s).type===i){if(r){let l=o.before(s),u=o.after(s);t.delete(l,u).scrollIntoView()}return!0}return!1},Fre=e=>({tr:t,dispatch:n})=>{let{from:r,to:i}=e;return n&&t.delete(r,i),!0},zre=e=>e.content?/^text(\*|\+)/.test(e.content):!1,sH=(e,t,n)=>{if(!e.parent.isInline||n==="left"&&e.pos>e.start()||n==="right"&&e.pos{let r=sH(e,n,"left"),i=sH(t,n,"right");return{from:r,to:i}},qre=()=>({state:e,dispatch:t})=>{let{$from:n,$to:r}=e.selection;if(e.selection.empty)return!1;let{from:i,to:o}=Ure(n,r,e.schema);return t&&(e.tr.deleteRange(i,o).scrollIntoView(),t(e.tr)),!0},Vre=()=>({commands:e})=>e.keyboardShortcut("Enter"),Gre=()=>({state:e,dispatch:t})=>fA(e,t);function r_(e){return Object.prototype.toString.call(e)==="[object RegExp]"}function _b(e,t,n={strict:!0}){let r=Object.keys(t);return r.length?r.every(i=>n.strict?t[i]===e[i]:r_(t[i])?t[i].test(e[i]):t[i]===e[i]):!0}function bH(e,t,n={}){return e.find(r=>r.type===t&&_b(Object.fromEntries(Object.keys(n).map(i=>[i,r.attrs[i]])),n))}function aH(e,t,n={}){return!!bH(e,t,n)}function yH(e,t,n){if(!e||!t)return;let r=e.parent.childAfter(e.parentOffset);if((!r.node||!r.node.marks.some(u=>u.type===t))&&(r=e.parent.childBefore(e.parentOffset)),!r.node||!r.node.marks.some(u=>u.type===t))return;if(!n){let u=r.node.marks.find(c=>c.type===t);u&&(n=u.attrs)}if(!bH([...r.node.marks],t,n))return;let o=r.index,s=e.start()+r.offset,a=o+1,l=s+r.node.nodeSize;for(;o>0&&aH([...e.parent.child(o-1).marks],t,n);)o-=1,s-=e.parent.child(o).nodeSize;for(;a({tr:n,state:r,dispatch:i})=>{let o=ts(e,r.schema),{doc:s,selection:a}=n,{$from:l,from:u,to:c}=a;if(i){let f=yH(l,o,t);if(f&&f.from<=u&&f.to>=c){let d=Re.create(s,f.from,f.to);n.setSelection(d)}}return!0},Yre=e=>t=>{let n=typeof e=="function"?e(t):e;for(let r=0;r({editor:n,view:r,tr:i,dispatch:o})=>{t={scrollIntoView:!0,...t};let s=()=>{(Cb()||lH())&&r.dom.focus(),Wre()&&!Cb()&&!lH()&&r.dom.focus({preventScroll:!0}),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),t?.scrollIntoView&&n.commands.scrollIntoView())})};try{if(r.hasFocus()&&e===null||e===!1)return!0}catch{return!1}if(o&&e===null&&!EH(n.state.selection))return s(),!0;let a=TH(i.doc,e)||n.state.selection,l=n.state.selection.eq(a);return o&&(l||i.setSelection(a),l&&i.storedMarks&&i.setStoredMarks(i.storedMarks),s()),!0},jre=(e,t)=>n=>e.every((r,i)=>t(r,{...n,index:i})),Xre=(e,t)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},e,t),SH=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;n-=1){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&SH(r)}return e};function Tb(e){if(typeof window>"u")throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");let t=`${e}`,n=new window.DOMParser().parseFromString(t,"text/html").body;return SH(n)}function kh(e,t,n){if(e instanceof Nr||e instanceof te)return e;n={slice:!0,parseOptions:{},...n};let r=typeof e=="object"&&e!==null,i=typeof e=="string";if(r)try{if(Array.isArray(e)&&e.length>0)return te.fromArray(e.map(a=>t.nodeFromJSON(a)));let s=t.nodeFromJSON(e);return n.errorOnInvalidContent&&s.check(),s}catch(o){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:o});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",o),kh("",t,n)}if(i){if(n.errorOnInvalidContent){let s=!1,a="",l=new wc({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:u=>(s=!0,a=typeof u=="string"?u:u.outerHTML,null)}]}})});if(n.slice?eo.fromSchema(l).parseSlice(Tb(e),n.parseOptions):eo.fromSchema(l).parse(Tb(e),n.parseOptions),n.errorOnInvalidContent&&s)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${a}`)})}let o=eo.fromSchema(t);return n.slice?o.parseSlice(Tb(e),n.parseOptions).content:o.parse(Tb(e),n.parseOptions)}return kh("",t,n)}function Qre(e,t,n){let r=e.steps.length-1;if(r{s===0&&(s=c)}),e.setSelection(Ue.near(e.doc.resolve(s),n))}var Zre=e=>!("type"in e),Jre=(e,t,n)=>({tr:r,dispatch:i,editor:o})=>{var s;if(i){n={parseOptions:o.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let a,l=y=>{o.emit("contentError",{editor:o,error:y,disableCollaboration:()=>{"collaboration"in o.storage&&typeof o.storage.collaboration=="object"&&o.storage.collaboration&&(o.storage.collaboration.isDisabled=!0)}})},u={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!o.options.enableContentCheck&&o.options.emitContentError)try{kh(t,o.schema,{parseOptions:u,errorOnInvalidContent:!0})}catch(y){l(y)}try{a=kh(t,o.schema,{parseOptions:u,errorOnInvalidContent:(s=n.errorOnInvalidContent)!=null?s:o.options.enableContentCheck})}catch(y){return l(y),!1}let{from:c,to:f}=typeof e=="number"?{from:e,to:e}:{from:e.from,to:e.to},d=!0,h=!0;if((Zre(a)?a:[a]).forEach(y=>{y.check(),d=d?y.isText&&y.marks.length===0:!1,h=h?y.isBlock:!1}),c===f&&h){let{parent:y}=r.doc.resolve(c);y.isTextblock&&!y.type.spec.code&&!y.childCount&&(c-=1,f+=1)}let b;if(d){if(Array.isArray(t))b=t.map(y=>y.text||"").join("");else if(t instanceof te){let y="";t.forEach(g=>{g.text&&(y+=g.text)}),b=y}else typeof t=="object"&&t&&t.text?b=t.text:b=t;r.insertText(b,c,f)}else{b=a;let y=r.doc.resolve(c),g=y.node(),E=y.parentOffset===0,T=g.isText||g.isTextblock,S=g.content.size>0;E&&T&&S&&h&&(c=Math.max(0,c-1)),r.replaceWith(c,f,b)}n.updateSelection&&Qre(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:c,text:b}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:c,text:b})}return!0},eie=()=>({state:e,dispatch:t})=>H4(e,t),tie=()=>({state:e,dispatch:t})=>F4(e,t),nie=()=>({state:e,dispatch:t})=>rA(e,t),rie=()=>({state:e,dispatch:t})=>sA(e,t),iie=()=>({state:e,dispatch:t,tr:n})=>{try{let r=ml(e.doc,e.selection.$from.pos,-1);return r==null?!1:(n.join(r,2),t&&t(n),!0)}catch{return!1}},oie=()=>({state:e,dispatch:t,tr:n})=>{try{let r=ml(e.doc,e.selection.$from.pos,1);return r==null?!1:(n.join(r,2),t&&t(n),!0)}catch{return!1}},sie=()=>({state:e,dispatch:t})=>I4(e,t),aie=()=>({state:e,dispatch:t})=>L4(e,t);function xH(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function lie(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n==="Space"&&(n=" ");let r,i,o,s;for(let a=0;a({editor:t,view:n,tr:r,dispatch:i})=>{let o=lie(e).split(/-(?!$)/),s=o.find(u=>!["Alt","Ctrl","Meta","Shift"].includes(u)),a=new KeyboardEvent("keydown",{key:s==="Space"?" ":s,altKey:o.includes("Alt"),ctrlKey:o.includes("Ctrl"),metaKey:o.includes("Meta"),shiftKey:o.includes("Shift"),bubbles:!0,cancelable:!0}),l=t.captureTransaction(()=>{n.someProp("handleKeyDown",u=>u(n,a))});return l?.steps.forEach(u=>{let c=u.map(r.mapping);c&&i&&r.maybeStep(c)}),!0};function Mh(e,t,n={}){let{from:r,to:i,empty:o}=e.selection,s=t?An(t,e.schema):null,a=[];e.doc.nodesBetween(r,i,(f,d)=>{if(f.isText)return;let h=Math.max(r,d),p=Math.min(i,d+f.nodeSize);a.push({node:f,from:h,to:p})});let l=i-r,u=a.filter(f=>s?s.name===f.node.type.name:!0).filter(f=>_b(f.node.attrs,n,{strict:!1}));return o?!!u.length:u.reduce((f,d)=>f+d.to-d.from,0)>=l}var cie=(e,t={})=>({state:n,dispatch:r})=>{let i=An(e,n.schema);return Mh(n,i,t)?z4(n,r):!1},fie=()=>({state:e,dispatch:t})=>hA(e,t),die=e=>({state:t,dispatch:n})=>{let r=An(e,t.schema);return Y4(r)(t,n)},hie=()=>({state:e,dispatch:t})=>uA(e,t);function kb(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function uH(e,t){let n=typeof t=="string"?[t]:t;return Object.keys(e).reduce((r,i)=>(n.includes(i)||(r[i]=e[i]),r),{})}var pie=(e,t)=>({tr:n,state:r,dispatch:i})=>{let o=null,s=null,a=kb(typeof e=="string"?e:e.name,r.schema);if(!a)return!1;a==="node"&&(o=An(e,r.schema)),a==="mark"&&(s=ts(e,r.schema));let l=!1;return n.selection.ranges.forEach(u=>{r.doc.nodesBetween(u.$from.pos,u.$to.pos,(c,f)=>{o&&o===c.type&&(l=!0,i&&n.setNodeMarkup(f,void 0,uH(c.attrs,t))),s&&c.marks.length&&c.marks.forEach(d=>{s===d.type&&(l=!0,i&&n.addMark(f,f+c.nodeSize,s.create(uH(d.attrs,t))))})})}),l},mie=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),!0),gie=()=>({tr:e,dispatch:t})=>{if(t){let n=new lr(e.doc);e.setSelection(n)}return!0},bie=()=>({state:e,dispatch:t})=>iA(e,t),yie=()=>({state:e,dispatch:t})=>aA(e,t),Eie=()=>({state:e,dispatch:t})=>U4(e,t),Tie=()=>({state:e,dispatch:t})=>mA(e,t),Sie=()=>({state:e,dispatch:t})=>pA(e,t);function e_(e,t,n={},r={}){return kh(e,t,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}var xie=(e,{errorOnInvalidContent:t,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:i,tr:o,dispatch:s,commands:a})=>{let{doc:l}=o;if(r.preserveWhitespace!=="full"){let u=e_(e,i.schema,r,{errorOnInvalidContent:t??i.options.enableContentCheck});return s&&o.replaceWith(0,l.content.size,u).setMeta("preventUpdate",!n),!0}return s&&o.setMeta("preventUpdate",!n),a.insertContentAt({from:0,to:l.content.size},e,{parseOptions:r,errorOnInvalidContent:t??i.options.enableContentCheck})};function vH(e,t){let n=ts(t,e.schema),{from:r,to:i,empty:o}=e.selection,s=[];o?(e.storedMarks&&s.push(...e.storedMarks),s.push(...e.selection.$head.marks())):e.doc.nodesBetween(r,i,l=>{s.push(...l.marks)});let a=s.find(l=>l.type.name===n.name);return a?{...a.attrs}:{}}function vie(e,t){let n=new kc(e);return t.forEach(r=>{r.steps.forEach(i=>{n.step(i)})}),n}function Aie(e){for(let t=0;t0;n-=1){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function i_(e){return t=>_ie(t.$from,e)}function xe(e,t,n){return e.config[t]===void 0&&e.parent?xe(e.parent,t,n):typeof e.config[t]=="function"?e.config[t].bind({...n,parent:e.parent?xe(e.parent,t,n):null}):e.config[t]}function o_(e){return e.map(t=>{let n={name:t.name,options:t.options,storage:t.storage},r=xe(t,"addExtensions",n);return r?[t,...o_(r())]:t}).flat(10)}function s_(e,t){let n=Ko.fromSchema(t).serializeFragment(e),i=document.implementation.createHTMLDocument().createElement("div");return i.appendChild(n),i.innerHTML}function AH(e){return typeof e=="function"}function Ht(e,t=void 0,...n){return AH(e)?t?e.bind(t)(...n):e(...n):e}function Cie(e={}){return Object.keys(e).length===0&&e.constructor===Object}function Fc(e){let t=e.filter(i=>i.type==="extension"),n=e.filter(i=>i.type==="node"),r=e.filter(i=>i.type==="mark");return{baseExtensions:t,nodeExtensions:n,markExtensions:r}}function _H(e){let t=[],{nodeExtensions:n,markExtensions:r}=Fc(e),i=[...n,...r],o={default:null,validate:void 0,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1},s=n.filter(u=>u.name!=="text").map(u=>u.name),a=r.map(u=>u.name),l=[...s,...a];return e.forEach(u=>{let c={name:u.name,options:u.options,storage:u.storage,extensions:i},f=xe(u,"addGlobalAttributes",c);if(!f)return;f().forEach(h=>{let p;Array.isArray(h.types)?p=h.types:h.types==="*"?p=l:h.types==="nodes"?p=s:h.types==="marks"?p=a:p=[],p.forEach(b=>{Object.entries(h.attributes).forEach(([y,g])=>{t.push({type:b,name:y,attribute:{...o,...g}})})})})}),i.forEach(u=>{let c={name:u.name,options:u.options,storage:u.storage},f=xe(u,"addAttributes",c);if(!f)return;let d=f();Object.entries(d).forEach(([h,p])=>{let b={...o,...p};typeof b?.default=="function"&&(b.default=b.default()),b?.isRequired&&b?.default===void 0&&delete b.default,t.push({type:u.name,name:h,attribute:b})})}),t}function wie(e){let t=[],n="",r=!1,i=!1,o=0,s=e.length;for(let a=0;a0){o-=1,n+=l;continue}if(l===";"&&o===0){t.push(n),n="";continue}}n+=l}return n&&t.push(n),t}function cH(e){let t=[],n=wie(e||""),r=n.length;for(let i=0;i!!t).reduce((t,n)=>{let r={...t};return Object.entries(n).forEach(([i,o])=>{if(!r[i]){r[i]=o;return}if(i==="class"){let a=o?String(o).split(" "):[],l=r[i]?r[i].split(" "):[],u=a.filter(c=>!l.includes(c));r[i]=[...l,...u].join(" ")}else if(i==="style"){let a=new Map([...cH(r[i]),...cH(o)]);r[i]=Array.from(a.entries()).map(([l,u])=>`${l}: ${u}`).join("; ")}else r[i]=o}),r},{})}function wb(e,t){return t.filter(n=>n.type===e.type.name).filter(n=>n.attribute.rendered).map(n=>n.attribute.renderHTML?n.attribute.renderHTML(e.attrs)||{}:{[n.name]:e.attrs[n.name]}).reduce((n,r)=>Oh(n,r),{})}function Nie(e){return typeof e!="string"?e:e.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(e):e==="true"?!0:e==="false"?!1:e}function fH(e,t){return"style"in e?e:{...e,getAttrs:n=>{let r=e.getAttrs?e.getAttrs(n):e.attrs;if(r===!1)return!1;let i=t.reduce((o,s)=>{let a=s.attribute.parseHTML?s.attribute.parseHTML(n):Nie(n.getAttribute(s.name));return a==null?o:{...o,[s.name]:a}},{});return{...r,...i}}}}function dH(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>t==="attrs"&&Cie(n)?!1:n!=null))}function hH(e){var t,n;let r={};return!((t=e?.attribute)!=null&&t.isRequired)&&"default"in(e?.attribute||{})&&(r.default=e.attribute.default),((n=e?.attribute)==null?void 0:n.validate)!==void 0&&(r.validate=e.attribute.validate),[e.name,r]}function Rie(e,t){var n;let r=_H(e),{nodeExtensions:i,markExtensions:o}=Fc(e),s=(n=i.find(u=>xe(u,"topNode")))==null?void 0:n.name,a=Object.fromEntries(i.map(u=>{let c=r.filter(g=>g.type===u.name),f={name:u.name,options:u.options,storage:u.storage,editor:t},d=e.reduce((g,E)=>{let T=xe(E,"extendNodeSchema",f);return{...g,...T?T(u):{}}},{}),h=dH({...d,content:Ht(xe(u,"content",f)),marks:Ht(xe(u,"marks",f)),group:Ht(xe(u,"group",f)),inline:Ht(xe(u,"inline",f)),atom:Ht(xe(u,"atom",f)),selectable:Ht(xe(u,"selectable",f)),draggable:Ht(xe(u,"draggable",f)),code:Ht(xe(u,"code",f)),whitespace:Ht(xe(u,"whitespace",f)),linebreakReplacement:Ht(xe(u,"linebreakReplacement",f)),defining:Ht(xe(u,"defining",f)),isolating:Ht(xe(u,"isolating",f)),attrs:Object.fromEntries(c.map(hH))}),p=Ht(xe(u,"parseHTML",f));p&&(h.parseDOM=p.map(g=>fH(g,c)));let b=xe(u,"renderHTML",f);b&&(h.toDOM=g=>b({node:g,HTMLAttributes:wb(g,c)}));let y=xe(u,"renderText",f);return y&&(h.toText=y),[u.name,h]})),l=Object.fromEntries(o.map(u=>{let c=r.filter(y=>y.type===u.name),f={name:u.name,options:u.options,storage:u.storage,editor:t},d=e.reduce((y,g)=>{let E=xe(g,"extendMarkSchema",f);return{...y,...E?E(u):{}}},{}),h=dH({...d,inclusive:Ht(xe(u,"inclusive",f)),excludes:Ht(xe(u,"excludes",f)),group:Ht(xe(u,"group",f)),spanning:Ht(xe(u,"spanning",f)),code:Ht(xe(u,"code",f)),attrs:Object.fromEntries(c.map(hH))}),p=Ht(xe(u,"parseHTML",f));p&&(h.parseDOM=p.map(y=>fH(y,c)));let b=xe(u,"renderHTML",f);return b&&(h.toDOM=y=>b({mark:y,HTMLAttributes:wb(y,c)})),[u.name,h]}));return new wc({topNode:s,nodes:a,marks:l})}function kie(e){let t=e.filter((n,r)=>e.indexOf(n)!==r);return Array.from(new Set(t))}function Rh(e){return e.sort((n,r)=>{let i=xe(n,"priority")||100,o=xe(r,"priority")||100;return i>o?-1:ir.name));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map(r=>`'${r}'`).join(", ")}]. This can lead to issues.`),t}function wH(e,t,n){let{from:r,to:i}=t,{blockSeparator:o=` - -`,textSerializers:s={}}=n||{},a="";return e.nodesBetween(r,i,(l,u,c,f)=>{var d;l.isBlock&&u>r&&(a+=o);let h=s?.[l.type.name];if(h)return c&&(a+=h({node:l,pos:u,parent:c,index:f,range:t})),!1;l.isText&&(a+=(d=l?.text)==null?void 0:d.slice(Math.max(r,u)-u,i-u))}),a}function Mie(e,t){let n={from:0,to:e.content.size};return wH(e,n,t)}function NH(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,t])=>t.spec.toText).map(([t,n])=>[t,n.spec.toText]))}function Oie(e,t){let n=An(t,e.schema),{from:r,to:i}=e.selection,o=[];e.doc.nodesBetween(r,i,a=>{o.push(a)});let s=o.reverse().find(a=>a.type.name===n.name);return s?{...s.attrs}:{}}function Die(e,t){let n=kb(typeof t=="string"?t:t.name,e.schema);return n==="node"?Oie(e,t):n==="mark"?vH(e,t):{}}function Iie(e,t=JSON.stringify){let n={};return e.filter(r=>{let i=t(r);return Object.prototype.hasOwnProperty.call(n,i)?!1:n[i]=!0})}function Lie(e){let t=Iie(e);return t.length===1?t:t.filter((n,r)=>!t.filter((o,s)=>s!==r).some(o=>n.oldRange.from>=o.oldRange.from&&n.oldRange.to<=o.oldRange.to&&n.newRange.from>=o.newRange.from&&n.newRange.to<=o.newRange.to))}function Pie(e){let{mapping:t,steps:n}=e,r=[];return t.maps.forEach((i,o)=>{let s=[];if(i.ranges.length)i.forEach((a,l)=>{s.push({from:a,to:l})});else{let{from:a,to:l}=n[o];if(a===void 0||l===void 0)return;s.push({from:a,to:l})}s.forEach(({from:a,to:l})=>{let u=t.slice(o).map(a,-1),c=t.slice(o).map(l),f=t.invert().map(u,-1),d=t.invert().map(c);r.push({oldRange:{from:f,to:d},newRange:{from:u,to:c}})})}),Lie(r)}function wh(e,t){return t.nodes[e]||t.marks[e]||null}function Ab(e,t,n){return Object.fromEntries(Object.entries(n).filter(([r])=>{let i=e.find(o=>o.type===t&&o.name===r);return i?i.attribute.keepOnSplit:!1}))}var Bie=(e,t=500)=>{let n="",r=e.parentOffset;return e.parent.nodesBetween(Math.max(0,r-t),r,(i,o,s,a)=>{var l,u;let c=((u=(l=i.type.spec).toText)==null?void 0:u.call(l,{node:i,pos:o,parent:s,index:a}))||i.textContent||"%leaf%";n+=i.isAtom&&!i.isText?c:c.slice(0,Math.max(0,r-o))}),n};function t_(e,t,n={}){let{empty:r,ranges:i}=e.selection,o=t?ts(t,e.schema):null;if(r)return!!(e.storedMarks||e.selection.$from.marks()).filter(f=>o?o.name===f.type.name:!0).find(f=>_b(f.attrs,n,{strict:!1}));let s=0,a=[];if(i.forEach(({$from:f,$to:d})=>{let h=f.pos,p=d.pos;e.doc.nodesBetween(h,p,(b,y)=>{if(o&&b.inlineContent&&!b.type.allowsMarkType(o))return!1;if(!b.isText&&!b.marks.length)return;let g=Math.max(h,y),E=Math.min(p,y+b.nodeSize),T=E-g;s+=T,a.push(...b.marks.map(S=>({mark:S,from:g,to:E})))})}),s===0)return!1;let l=a.filter(f=>o?o.name===f.mark.type.name:!0).filter(f=>_b(f.mark.attrs,n,{strict:!1})).reduce((f,d)=>f+d.to-d.from,0),u=a.filter(f=>o?f.mark.type!==o&&f.mark.type.excludes(o):!0).reduce((f,d)=>f+d.to-d.from,0);return(l>0?l+u:l)>=s}function Hie(e,t,n={}){if(!t)return Mh(e,null,n)||t_(e,null,n);let r=kb(t,e.schema);return r==="node"?Mh(e,t,n):r==="mark"?t_(e,t,n):!1}function pH(e,t){return Array.isArray(t)?t.some(n=>(typeof n=="string"?n:n.name)===e.name):t}function QA(e,t){let{nodeExtensions:n}=Fc(t),r=n.find(s=>s.name===e);if(!r)return!1;let i={name:r.name,options:r.options,storage:r.storage},o=Ht(xe(r,"group",i));return typeof o!="string"?!1:o.split(" ").includes("list")}function a_(e,{checkChildren:t=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if(e.type.name==="hardBreak")return!0;if(e.isText)return!/\S/.test((r=e.text)!=null?r:"")}if(e.isText)return!e.text;if(e.isAtom||e.isLeaf)return!1;if(e.content.childCount===0)return!0;if(t){let i=!0;return e.content.forEach(o=>{i!==!1&&(a_(o,{ignoreWhitespace:n,checkChildren:t})||(i=!1))}),i}return!1}var RH=class kH{constructor(t){this.position=t}static fromJSON(t){return new kH(t.position)}toJSON(){return{position:this.position}}};function Fie(e,t){let n=t.mapping.mapResult(e.position);return{position:new RH(n.pos),mapResult:n}}function zie(e){return new RH(e)}function Uie(e,t,n){var r;let{selection:i}=t,o=null;if(EH(i)&&(o=i.$cursor),o){let a=(r=e.storedMarks)!=null?r:o.marks();return o.parent.type.allowsMarkType(n)&&(!!n.isInSet(a)||!a.some(u=>u.type.excludes(n)))}let{ranges:s}=i;return s.some(({$from:a,$to:l})=>{let u=a.depth===0?e.doc.inlineContent&&e.doc.type.allowsMarkType(n):!1;return e.doc.nodesBetween(a.pos,l.pos,(c,f,d)=>{if(u)return!1;if(c.isInline){let h=!d||d.type.allowsMarkType(n),p=!!n.isInSet(c.marks)||!c.marks.some(b=>b.type.excludes(n));u=h&&p}return!u}),u})}var qie=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let{selection:o}=n,{empty:s,ranges:a}=o,l=ts(e,r.schema);if(i)if(s){let u=vH(r,l);n.addStoredMark(l.create({...u,...t}))}else a.forEach(u=>{let c=u.$from.pos,f=u.$to.pos;r.doc.nodesBetween(c,f,(d,h)=>{let p=Math.max(h,c),b=Math.min(h+d.nodeSize,f);d.marks.find(g=>g.type===l)?d.marks.forEach(g=>{l===g.type&&n.addMark(p,b,l.create({...g.attrs,...t}))}):n.addMark(p,b,l.create(t))})});return Uie(r,n,l)},Vie=(e,t)=>({tr:n})=>(n.setMeta(e,t),!0),Gie=(e,t={})=>({state:n,dispatch:r,chain:i})=>{let o=An(e,n.schema),s;return n.selection.$anchor.sameParent(n.selection.$head)&&(s=n.selection.$anchor.parent.attrs),o.isTextblock?i().command(({commands:a})=>gA(o,{...s,...t})(n)?!0:a.clearNodes()).command(({state:a})=>gA(o,{...s,...t})(a,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},Kie=e=>({tr:t,dispatch:n})=>{if(n){let{doc:r}=t,i=_l(e,0,r.content.size),o=Ae.create(r,i);t.setSelection(o)}return!0},Yie=(e,t)=>({tr:n,state:r,dispatch:i})=>{let{selection:o}=r,s,a;return typeof t=="number"?(s=t,a=t):t&&"from"in t&&"to"in t?(s=t.from,a=t.to):(s=o.from,a=o.to),i&&n.doc.nodesBetween(s,a,(l,u)=>{l.isText||n.setNodeMarkup(u,void 0,{...l.attrs,dir:e})}),!0},Wie=e=>({tr:t,dispatch:n})=>{if(n){let{doc:r}=t,{from:i,to:o}=typeof e=="number"?{from:e,to:e}:e,s=Re.atStart(r).from,a=Re.atEnd(r).to,l=_l(i,s,a),u=_l(o,s,a),c=Re.create(r,l,u);t.setSelection(c)}return!0},$ie=e=>({state:t,dispatch:n})=>{let r=An(e,t.schema);return W4(r)(t,n)};function mH(e,t){let n=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(n){let r=n.filter(i=>t?.includes(i.type.name));e.tr.ensureMarks(r)}}var jie=({keepMarks:e=!0}={})=>({tr:t,state:n,dispatch:r,editor:i})=>{let{selection:o,doc:s}=t,{$from:a,$to:l}=o,u=i.extensionManager.attributes,c=Ab(u,a.node().type.name,a.node().attrs);if(o instanceof Ae&&o.node.isBlock)return!a.parentOffset||!jr(s,a.pos)?!1:(r&&(e&&mH(n,i.extensionManager.splittableMarks),t.split(a.pos).scrollIntoView()),!0);if(!a.parent.isBlock)return!1;let f=l.parentOffset===l.parent.content.size,d=a.depth===0?void 0:Aie(a.node(-1).contentMatchAt(a.indexAfter(-1))),h=f&&d?[{type:d,attrs:c}]:void 0,p=jr(t.doc,t.mapping.map(a.pos),1,h);if(!h&&!p&&jr(t.doc,t.mapping.map(a.pos),1,d?[{type:d}]:void 0)&&(p=!0,h=d?[{type:d,attrs:c}]:void 0),r){if(p&&(o instanceof Re&&t.deleteSelection(),t.split(t.mapping.map(a.pos),1,h),d&&!f&&!a.parentOffset&&a.parent.type!==d)){let b=t.mapping.map(a.before()),y=t.doc.resolve(b);a.node(-1).canReplaceWith(y.index(),y.index()+1,d)&&t.setNodeMarkup(t.mapping.map(a.before()),d)}e&&mH(n,i.extensionManager.splittableMarks),t.scrollIntoView()}return p},Xie=(e,t={})=>({tr:n,state:r,dispatch:i,editor:o})=>{var s;let a=An(e,r.schema),{$from:l,$to:u}=r.selection,c=r.selection.node;if(c&&c.isBlock||l.depth<2||!l.sameParent(u))return!1;let f=l.node(-1);if(f.type!==a)return!1;let d=o.extensionManager.attributes;if(l.parent.content.size===0&&l.node(-1).childCount===l.indexAfter(-1)){if(l.depth===2||l.node(-3).type!==a||l.index(-2)!==l.node(-2).childCount-1)return!1;if(i){let g=te.empty,E=l.index(-1)?1:l.index(-2)?2:3;for(let D=l.depth-E;D>=l.depth-3;D-=1)g=te.from(l.node(D).copy(g));let T=l.indexAfter(-1){if(N>-1)return!1;D.isTextblock&&D.content.size===0&&(N=k+1)}),N>-1&&n.setSelection(Re.near(n.doc.resolve(N))),n.scrollIntoView()}return!0}let h=u.pos===l.end()?f.contentMatchAt(0).defaultType:null,p={...Ab(d,f.type.name,f.attrs),...t},b={...Ab(d,l.node().type.name,l.node().attrs),...t};n.delete(l.pos,u.pos);let y=h?[{type:a,attrs:p},{type:h,attrs:b}]:[{type:a,attrs:p}];if(!jr(n.doc,l.pos,2))return!1;if(i){let{selection:g,storedMarks:E}=r,{splittableMarks:T}=o.extensionManager,S=E||g.$to.parentOffset&&g.$from.marks();if(n.split(l.pos,2,y).scrollIntoView(),!S||!i)return!0;let v=S.filter(x=>T.includes(x.type.name));n.ensureMarks(v)}return!0},ZA=(e,t)=>{let n=i_(s=>s.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let i=e.doc.nodeAt(r);return n.node.type===i?.type&&_i(e.doc,n.pos)&&e.join(n.pos),!0},JA=(e,t)=>{let n=i_(s=>s.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let i=e.doc.nodeAt(r);return n.node.type===i?.type&&_i(e.doc,r)&&e.join(r),!0};function Qie(e){let t=e.doc,n=t.firstChild;if(!n)return null;let r=t.resolve(1),i=t.resolve(n.nodeSize-1);return Re.between(r,i)}var Zie=(e,t,n,r={})=>({editor:i,tr:o,state:s,dispatch:a,chain:l,commands:u,can:c})=>{let{extensions:f,splittableMarks:d}=i.extensionManager,h=An(e,s.schema),p=An(t,s.schema),{selection:b,storedMarks:y}=s,{$from:g,$to:E}=b,T=g.blockRange(E),S=y||b.$to.parentOffset&&b.$from.marks();if(!T)return!1;let v=i_(z=>QA(z.type.name,f))(b),x=b.from===0&&b.to===s.doc.content.size,N=s.doc.content.content,D=N.length===1?N[0]:null,k=x&&D&&QA(D.type.name,f)?{node:D,pos:0,depth:0}:null,A=v??k,O=!!v&&T.depth>=1&&T.depth-v.depth<=1,G=!!k;if((O||G)&&A){if(A.node.type===h)return x&&G?l().command(({tr:z,dispatch:L})=>{let H=Qie(z);return H?(z.setSelection(H),L&&L(z),!0):!1}).liftListItem(p).run():u.liftListItem(p);if(QA(A.node.type.name,f)&&h.validContent(A.node.content))return l().command(()=>(o.setNodeMarkup(A.pos,h),!0)).command(()=>ZA(o,h)).command(()=>JA(o,h)).run()}return!n||!S||!a?l().command(()=>c().wrapInList(h,r)?!0:u.clearNodes()).wrapInList(h,r).command(()=>ZA(o,h)).command(()=>JA(o,h)).run():l().command(()=>{let z=c().wrapInList(h,r),L=S.filter(H=>d.includes(H.type.name));return o.ensureMarks(L),z?!0:u.clearNodes()}).wrapInList(h,r).command(()=>ZA(o,h)).command(()=>JA(o,h)).run()},Jie=(e,t={},n={})=>({state:r,commands:i})=>{let{extendEmptyMarkRange:o=!1}=n,s=ts(e,r.schema);return t_(r,s,t)?i.unsetMark(s,{extendEmptyMarkRange:o}):i.setMark(s,t)},eoe=(e,t,n={})=>({state:r,commands:i})=>{let o=An(e,r.schema),s=An(t,r.schema),a=Mh(r,o,n),l;return r.selection.$anchor.sameParent(r.selection.$head)&&(l=r.selection.$anchor.parent.attrs),a?i.setNode(s,l):i.setNode(o,{...l,...n})},toe=(e,t={})=>({state:n,commands:r})=>{let i=An(e,n.schema);return Mh(n,i,t)?r.lift(i):r.wrapIn(i,t)},noe=()=>({state:e,dispatch:t})=>{let n=e.plugins;for(let r=0;r=0;l-=1)s.step(a.steps[l].invert(a.docs[l]));if(o.text){let l=s.doc.resolve(o.from).marks();s.replaceWith(o.from,o.to,e.schema.text(o.text,l))}else s.delete(o.from,o.to)}return!0}}return!1},roe=(e={})=>({tr:t,dispatch:n,editor:r})=>{let{ignoreClearable:i=!1}=e,{selection:o}=t,{empty:s,ranges:a}=o;if(s)return!0;let{nonClearableMarks:l}=r.extensionManager;if(n){let u=Object.values(r.schema.marks).filter(c=>i||!l.includes(c.name));a.forEach(c=>{for(let f of u)t.removeMark(c.$from.pos,c.$to.pos,f)})}return!0},ioe=(e,t={})=>({tr:n,state:r,dispatch:i})=>{var o;let{extendEmptyMarkRange:s=!1}=t,{selection:a}=n,l=ts(e,r.schema),{$from:u,empty:c,ranges:f}=a;if(!i)return!0;if(c&&s){let{from:d,to:h}=a,p=(o=u.marks().find(y=>y.type===l))==null?void 0:o.attrs,b=yH(u,l,p);b&&(d=b.from,h=b.to),n.removeMark(d,h,l)}else f.forEach(d=>{n.removeMark(d.$from.pos,d.$to.pos,l)});return n.removeStoredMark(l),!0},ooe=e=>({tr:t,state:n,dispatch:r})=>{let{selection:i}=n,o,s;return typeof e=="number"?(o=e,s=e):e&&"from"in e&&"to"in e?(o=e.from,s=e.to):(o=i.from,s=i.to),r&&t.doc.nodesBetween(o,s,(a,l)=>{if(a.isText)return;let u={...a.attrs};delete u.dir,t.setNodeMarkup(l,void 0,u)}),!0},soe=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let o=null,s=null,a=kb(typeof e=="string"?e:e.name,r.schema);if(!a)return!1;a==="node"&&(o=An(e,r.schema)),a==="mark"&&(s=ts(e,r.schema));let l=!1;return n.selection.ranges.forEach(u=>{let c=u.$from.pos,f=u.$to.pos,d,h,p,b;n.selection.empty?r.doc.nodesBetween(c,f,(y,g)=>{o&&o===y.type&&(l=!0,p=Math.max(g,c),b=Math.min(g+y.nodeSize,f),d=g,h=y)}):r.doc.nodesBetween(c,f,(y,g)=>{g=c&&g<=f&&(o&&o===y.type&&(l=!0,i&&n.setNodeMarkup(g,void 0,{...y.attrs,...t})),s&&y.marks.length&&y.marks.forEach(E=>{if(s===E.type&&(l=!0,i)){let T=Math.max(g,c),S=Math.min(g+y.nodeSize,f);n.addMark(T,S,s.create({...E.attrs,...t}))}}))}),h&&(d!==void 0&&i&&n.setNodeMarkup(d,void 0,{...h.attrs,...t}),s&&h.marks.length&&h.marks.forEach(y=>{s===y.type&&i&&n.addMark(p,b,s.create({...y.attrs,...t}))}))}),l},aoe=(e,t={})=>({state:n,dispatch:r})=>{let i=An(e,n.schema);return G4(i,t)(n,r)},loe=(e,t={})=>({state:n,dispatch:r})=>{let i=An(e,n.schema);return K4(i,t)(n,r)},uoe=class{constructor(){this.callbacks={}}on(e,t){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t),this}emit(e,...t){let n=this.callbacks[e];return n&&n.forEach(r=>r.apply(this,t)),this}off(e,t){let n=this.callbacks[e];return n&&(t?this.callbacks[e]=n.filter(r=>r!==t):delete this.callbacks[e]),this}once(e,t){let n=(...r)=>{this.off(e,n),t.apply(this,r)};return this.on(e,n)}removeAllListeners(){this.callbacks={}}};var coe=(e,t)=>{if(r_(t))return t.exec(e);let n=t(e);if(!n)return null;let r=[n.text];return r.index=n.index,r.input=e,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function Sb(e){var t;let{editor:n,from:r,to:i,text:o,rules:s,plugin:a}=e,{view:l}=n;if(l.composing)return!1;let u=l.state.doc.resolve(r);if(u.parent.type.spec.code||(t=u.nodeBefore||u.nodeAfter)!=null&&t.marks.find(d=>d.type.spec.code))return!1;let c=!1,f=Bie(u)+o;return s.forEach(d=>{if(c)return;let h=coe(f,d.find);if(!h)return;let p=l.state.tr,b=Nb({state:l.state,transaction:p}),y={from:r-(h[0].length-o.length),to:i},{commands:g,chain:E,can:T}=new Rb({editor:n,state:b});d.handler({state:b,range:y,match:h,commands:g,chain:E,can:T})===null||!p.steps.length||(d.undoable&&p.setMeta(a,{transform:p,from:r,to:i,text:o}),l.dispatch(p),c=!0)}),c}function foe(e){let{editor:t,rules:n}=e,r=new lt({state:{init(){return null},apply(i,o,s){let a=i.getMeta(r);if(a)return a;let l=i.getMeta("applyInputRules");return!!l&&setTimeout(()=>{let{text:c}=l;typeof c=="string"?c=c:c=s_(te.from(c),s.schema);let{from:f}=l,d=f+c.length;Sb({editor:t,from:f,to:d,text:c,rules:n,plugin:r})}),i.selectionSet||i.docChanged?null:o}},props:{handleTextInput(i,o,s,a){return Sb({editor:t,from:o,to:s,text:a,rules:n,plugin:r})},handleDOMEvents:{compositionend:i=>(setTimeout(()=>{let{$cursor:o}=i.state.selection;o&&Sb({editor:t,from:o.pos,to:o.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(i,o){if(o.key!=="Enter")return!1;let{$cursor:s}=i.state.selection;return s?Sb({editor:t,from:s.pos,to:s.pos,text:` -`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function doe(e){return Object.prototype.toString.call(e).slice(8,-1)}function xb(e){return doe(e)!=="Object"?!1:e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function MH(e,t){let n={...e};return xb(e)&&xb(t)&&Object.keys(t).forEach(r=>{xb(t[r])&&xb(e[r])?n[r]=MH(e[r],t[r]):n[r]=t[r]}),n}var l_=class{constructor(e={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...e},this.name=this.config.name}get options(){return{...Ht(xe(this,"addOptions",{name:this.name}))}}get storage(){return{...Ht(xe(this,"addStorage",{name:this.name,options:this.options}))}}configure(e={}){let t=this.extend({...this.config,addOptions:()=>MH(this.options,e)});return t.name=this.name,t.parent=this.parent,this.child=null,t}extend(e={}){let t=new this.constructor({...this.config,...e});return t.parent=this,this.child=t,t.name="name"in e?e.name:t.parent.name,t}},hoe=class OH extends l_{constructor(){super(...arguments),this.type="mark"}static create(t={}){let n=typeof t=="function"?t():t;return new OH(n)}static handleExit({editor:t,mark:n}){let{tr:r}=t.state,i=t.state.selection.$from;if(i.pos===i.end()){let s=i.marks();if(!!!s.find(u=>u?.type.name===n.name))return!1;let l=s.find(u=>u?.type.name===n.name);return l&&r.removeStoredMark(l),r.insertText(" ",i.pos),t.view.dispatch(r),!0}return!1}configure(t){return super.configure(t)}extend(t){let n=typeof t=="function"?t():t;return super.extend(n)}};function poe(e){return typeof e=="number"}var moe=(e,t,n)=>{if(r_(t))return[...e.matchAll(t)];let r=t(e,n);return r?r.map(i=>{let o=[i.text];return o.index=i.index,o.input=e,o.data=i.data,i.replaceWith&&(i.text.includes(i.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),o.push(i.replaceWith)),o}):[]};function goe(e){let{editor:t,state:n,from:r,to:i,rule:o,pasteEvent:s,dropEvent:a}=e,{commands:l,chain:u,can:c}=new Rb({editor:t,state:n}),f=[];return n.doc.nodesBetween(r,i,(h,p)=>{var b,y,g,E,T;if((y=(b=h.type)==null?void 0:b.spec)!=null&&y.code||!(h.isText||h.isTextblock||h.isInline))return;let S=(T=(E=(g=h.content)==null?void 0:g.size)!=null?E:h.nodeSize)!=null?T:0,v=Math.max(r,p),x=Math.min(i,p+S);if(v>=x)return;let N=h.isText?h.text||"":h.textBetween(v-p,x-p,void 0,"\uFFFC");moe(N,o.find,s).forEach(k=>{if(k.index===void 0)return;let A=v+k.index+1,O=A+k[0].length,G={from:n.tr.mapping.map(A),to:n.tr.mapping.map(O)},z=o.handler({state:n,range:G,match:k,commands:l,chain:u,can:c,pasteEvent:s,dropEvent:a});f.push(z)})}),f.every(h=>h!==null)}var vb=null,boe=e=>{var t;let n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(t=n.clipboardData)==null||t.setData("text/html",e),n};function yoe(e){let{editor:t,rules:n}=e,r=null,i=!1,o=!1,s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,a;try{a=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{a=null}let l=({state:c,from:f,to:d,rule:h,pasteEvt:p})=>{let b=c.tr,y=Nb({state:c,transaction:b});if(!(!goe({editor:t,state:y,from:Math.max(f-1,0),to:d.b-1,rule:h,pasteEvent:p,dropEvent:a})||!b.steps.length)){try{a=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{a=null}return s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,b}};return n.map(c=>new lt({view(f){let d=p=>{var b;r=(b=f.dom.parentElement)!=null&&b.contains(p.target)?f.dom.parentElement:null,r&&(vb=t)},h=()=>{vb&&(vb=null)};return window.addEventListener("dragstart",d),window.addEventListener("dragend",h),{destroy(){window.removeEventListener("dragstart",d),window.removeEventListener("dragend",h)}}},props:{handleDOMEvents:{drop:(f,d)=>{if(o=r===f.dom.parentElement,a=d,!o){let h=vb;h?.isEditable&&setTimeout(()=>{let p=h.state.selection;p&&h.commands.deleteRange({from:p.from,to:p.to})},10)}return!1},paste:(f,d)=>{var h;let p=(h=d.clipboardData)==null?void 0:h.getData("text/html");return s=d,i=!!p?.includes("data-pm-slice"),!1}}},appendTransaction:(f,d,h)=>{let p=f[0],b=p.getMeta("uiEvent")==="paste"&&!i,y=p.getMeta("uiEvent")==="drop"&&!o,g=p.getMeta("applyPasteRules"),E=!!g;if(!b&&!y&&!E)return;if(E){let{text:v}=g;typeof v=="string"?v=v:v=s_(te.from(v),h.schema);let{from:x}=g,N=x+v.length,D=boe(v);return l({rule:c,state:h,from:x,to:{b:N},pasteEvt:D})}let T=d.doc.content.findDiffStart(h.doc.content),S=d.doc.content.findDiffEnd(h.doc.content);if(!(!poe(T)||!S||T===S.b))return l({rule:c,state:h,from:T,to:S,pasteEvt:s})}}))}var Mb=class{constructor(e,t){this.splittableMarks=[],this.nonClearableMarks=[],this.editor=t,this.baseExtensions=e,this.extensions=CH(e),this.schema=Rie(this.extensions,t),this.setupExtensions()}get commands(){return this.extensions.reduce((e,t)=>{let n={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:this.editor,type:wh(t.name,this.schema)},r=xe(t,"addCommands",n);return r?{...e,...r()}:e},{})}get plugins(){let{editor:e}=this;return Rh([...this.extensions].reverse()).flatMap(r=>{let i={name:r.name,options:r.options,storage:this.editor.extensionStorage[r.name],editor:e,type:wh(r.name,this.schema)},o=[],s=xe(r,"addKeyboardShortcuts",i),a={};if(r.type==="mark"&&xe(r,"exitable",i)&&(a.ArrowRight=()=>hoe.handleExit({editor:e,mark:r})),s){let d=Object.fromEntries(Object.entries(s()).map(([h,p])=>[h,()=>p({editor:e})]));a={...a,...d}}let l=oH(a);o.push(l);let u=xe(r,"addInputRules",i);if(pH(r,e.options.enableInputRules)&&u){let d=u();if(d&&d.length){let h=foe({editor:e,rules:d}),p=Array.isArray(h)?h:[h];o.push(...p)}}let c=xe(r,"addPasteRules",i);if(pH(r,e.options.enablePasteRules)&&c){let d=c();if(d&&d.length){let h=yoe({editor:e,rules:d});o.push(...h)}}let f=xe(r,"addProseMirrorPlugins",i);if(f){let d=f();o.push(...d)}return o})}get attributes(){return _H(this.extensions)}get nodeViews(){let{editor:e}=this,{nodeExtensions:t}=Fc(this.extensions);return Object.fromEntries(t.filter(n=>!!xe(n,"addNodeView")).map(n=>{let r=this.attributes.filter(l=>l.type===n.name),i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:e,type:An(n.name,this.schema)},o=xe(n,"addNodeView",i);if(!o)return[];let s=o();if(!s)return[];let a=(l,u,c,f,d)=>{let h=wb(l,r);return s({node:l,view:u,getPos:c,decorations:f,innerDecorations:d,editor:e,extension:n,HTMLAttributes:h})};return[n.name,a]}))}dispatchTransaction(e){let{editor:t}=this;return Rh([...this.extensions].reverse()).reduceRight((r,i)=>{let o={name:i.name,options:i.options,storage:this.editor.extensionStorage[i.name],editor:t,type:wh(i.name,this.schema)},s=xe(i,"dispatchTransaction",o);return s?a=>{s.call(o,{transaction:a,next:r})}:r},e)}transformPastedHTML(e){let{editor:t}=this;return Rh([...this.extensions]).reduce((r,i)=>{let o={name:i.name,options:i.options,storage:this.editor.extensionStorage[i.name],editor:t,type:wh(i.name,this.schema)},s=xe(i,"transformPastedHTML",o);return s?(a,l)=>{let u=r(a,l);return s.call(o,u)}:r},e||(r=>r))}get markViews(){let{editor:e}=this,{markExtensions:t}=Fc(this.extensions);return Object.fromEntries(t.filter(n=>!!xe(n,"addMarkView")).map(n=>{let r=this.attributes.filter(a=>a.type===n.name),i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:e,type:ts(n.name,this.schema)},o=xe(n,"addMarkView",i);if(!o)return[];let s=(a,l,u)=>{let c=wb(a,r);return o()({mark:a,view:l,inline:u,editor:e,extension:n,HTMLAttributes:c,updateAttributes:f=>{Moe(a,e,f)}})};return[n.name,s]}))}destroy(){this.extensions.forEach(e=>{let t=e;for(;t.parent;){let n=t.parent;n.child===t&&(n.child=null),t=n}}),this.extensions=[],this.baseExtensions=[],this.schema=null,this.editor=null}setupExtensions(){let e=this.extensions;this.editor.extensionStorage=Object.fromEntries(e.map(t=>[t.name,t.storage])),e.forEach(t=>{var n,r;let i={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:this.editor,type:wh(t.name,this.schema)};t.type==="mark"&&(((n=Ht(xe(t,"keepOnSplit",i)))==null||n)&&this.splittableMarks.push(t.name),(r=Ht(xe(t,"clearable",i)))==null||r||this.nonClearableMarks.push(t.name));let o=xe(t,"onBeforeCreate",i),s=xe(t,"onCreate",i),a=xe(t,"onUpdate",i),l=xe(t,"onSelectionUpdate",i),u=xe(t,"onTransaction",i),c=xe(t,"onFocus",i),f=xe(t,"onBlur",i),d=xe(t,"onDestroy",i);o&&this.editor.on("beforeCreate",o),s&&this.editor.on("create",s),a&&this.editor.on("update",a),l&&this.editor.on("selectionUpdate",l),u&&this.editor.on("transaction",u),c&&this.editor.on("focus",c),f&&this.editor.on("blur",f),d&&this.editor.on("destroy",d)})}};Mb.resolve=CH;Mb.sort=Rh;Mb.flatten=o_;var Eoe={};n_(Eoe,{ClipboardTextSerializer:()=>IH,Commands:()=>LH,Delete:()=>PH,Drop:()=>BH,Editable:()=>HH,FocusEvents:()=>zH,Keymap:()=>UH,Paste:()=>qH,Tabindex:()=>VH,TextDirection:()=>GH,focusEventsPluginKey:()=>FH});var Mr=class DH extends l_{constructor(){super(...arguments),this.type="extension"}static create(t={}){let n=typeof t=="function"?t():t;return new DH(n)}configure(t){return super.configure(t)}extend(t){let n=typeof t=="function"?t():t;return super.extend(n)}},IH=Mr.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new lt({key:new Nt("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:i}=t,o=NH(n),{blockSeparator:s}=this.options,a={...s!==void 0?{blockSeparator:s}:{},textSerializers:o};return[...i.ranges].sort((u,c)=>u.$from.pos-c.$from.pos).map(({$from:u,$to:c})=>wH(r,{from:u.pos,to:c.pos},a)).join(s??` - -`)}}})]}}),LH=Mr.create({name:"commands",addCommands(){return{...gH}}}),PH=Mr.create({name:"delete",onUpdate({transaction:e,appendedTransactions:t}){var n,r,i;let o=()=>{var s,a,l,u;if((u=(l=(a=(s=this.editor.options.coreExtensionOptions)==null?void 0:s.delete)==null?void 0:a.filterTransaction)==null?void 0:l.call(a,e))!=null?u:e.getMeta("y-sync$"))return;let c=vie(e.before,[e,...t]);Pie(c).forEach(h=>{c.mapping.mapResult(h.oldRange.from).deletedAfter&&c.mapping.mapResult(h.oldRange.to).deletedBefore&&c.before.nodesBetween(h.oldRange.from,h.oldRange.to,(p,b)=>{let y=b+p.nodeSize-2,g=h.oldRange.from<=b&&y<=h.oldRange.to;this.editor.emit("delete",{type:"node",node:p,from:b,to:y,newFrom:c.mapping.map(b),newTo:c.mapping.map(y),deletedRange:h.oldRange,newRange:h.newRange,partial:!g,editor:this.editor,transaction:e,combinedTransform:c})})});let d=c.mapping;c.steps.forEach((h,p)=>{var b,y;if(h instanceof Wo){let g=d.slice(p).map(h.from,-1),E=d.slice(p).map(h.to),T=d.invert().map(g,-1),S=d.invert().map(E),v=g>0?(b=c.doc.nodeAt(g-1))==null?void 0:b.marks.some(N=>N.eq(h.mark)):!1,x=(y=c.doc.nodeAt(E))==null?void 0:y.marks.some(N=>N.eq(h.mark));this.editor.emit("delete",{type:"mark",mark:h.mark,from:h.from,to:h.to,deletedRange:{from:T,to:S},newRange:{from:g,to:E},partial:!!(x||v),editor:this.editor,transaction:e,combinedTransform:c})}})};(i=(r=(n=this.editor.options.coreExtensionOptions)==null?void 0:n.delete)==null?void 0:r.async)==null||i?setTimeout(o,0):o()}}),BH=Mr.create({name:"drop",addProseMirrorPlugins(){return[new lt({key:new Nt("tiptapDrop"),props:{handleDrop:(e,t,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:t,slice:n,moved:r})}}})]}}),HH=Mr.create({name:"editable",addProseMirrorPlugins(){return[new lt({key:new Nt("editable"),props:{editable:()=>this.editor.options.editable}})]}}),FH=new Nt("focusEvents"),zH=Mr.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:e}=this;return[new lt({key:FH,props:{handleDOMEvents:{focus:(t,n)=>{e.isFocused=!0;let r=e.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1},blur:(t,n)=>{e.isFocused=!1;let r=e.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1}}}})]}}),UH=Mr.create({name:"keymap",addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:a})=>{let{selection:l,doc:u}=a,{empty:c,$anchor:f}=l,{pos:d,parent:h}=f,p=f.parent.isTextblock&&d>0?a.doc.resolve(d-1):f,b=p.parent.type.spec.isolating,y=f.pos-f.parentOffset,g=b&&p.parent.childCount===1?y===f.pos:Ue.atStart(u).from===d;return!c||!h.type.isTextblock||h.textContent.length||!g||g&&f.parent.type.name==="paragraph"?!1:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},i={...r},o={...r,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Cb()||xH()?o:i},addProseMirrorPlugins(){return[new lt({key:new Nt("clearDocument"),appendTransaction:(e,t,n)=>{if(e.some(b=>b.getMeta("composition")))return;let r=e.some(b=>b.docChanged)&&!t.doc.eq(n.doc),i=e.some(b=>b.getMeta("preventClearDocument"));if(!r||i)return;let{empty:o,from:s,to:a}=t.selection,l=Ue.atStart(t.doc).from,u=Ue.atEnd(t.doc).to;if(o||!(s===l&&a===u)||!a_(n.doc))return;let d=n.tr,h=Nb({state:n,transaction:d}),{commands:p}=new Rb({editor:this.editor,state:h});if(p.clearNodes(),!!d.steps.length)return d}})]}}),qH=Mr.create({name:"paste",addProseMirrorPlugins(){return[new lt({key:new Nt("tiptapPaste"),props:{handlePaste:(e,t,n)=>{this.editor.emit("paste",{editor:this.editor,event:t,slice:n})}}})]}}),VH=Mr.create({name:"tabindex",addOptions(){return{value:void 0}},addProseMirrorPlugins(){return[new lt({key:new Nt("tabindex"),props:{attributes:()=>{var e;return!this.editor.isEditable&&this.options.value===void 0?{}:{tabindex:(e=this.options.value)!=null?e:"0"}}}})]}}),GH=Mr.create({name:"textDirection",addOptions(){return{direction:void 0}},addGlobalAttributes(){if(!this.options.direction)return[];let{nodeExtensions:e}=Fc(this.extensions);return[{types:e.filter(t=>t.name!=="text").map(t=>t.name),attributes:{dir:{default:this.options.direction,parseHTML:t=>{let n=t.getAttribute("dir");return n&&(n==="ltr"||n==="rtl"||n==="auto")?n:this.options.direction},renderHTML:t=>t.dir?{dir:t.dir}:{}}}}]},addProseMirrorPlugins(){return[new lt({key:new Nt("textDirection"),props:{attributes:()=>{let e=this.options.direction;return e?{dir:e}:{}}}})]}}),Toe=class Nh{constructor(t,n,r=!1,i=null){this.currentNode=null,this.actualDepth=null,this.isBlock=r,this.resolvedPos=t,this.editor=n,this.currentNode=i}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var t;return(t=this.actualDepth)!=null?t:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(t){let n=this.from,r=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can\u2019t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}n=this.from+1,r=this.to-1}this.editor.commands.insertContentAt({from:n,to:r},t)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;let t=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(t);return new Nh(n,this.editor)}get before(){let t=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.from-3)),new Nh(t,this.editor)}get after(){let t=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.to+3)),new Nh(t,this.editor)}get children(){let t=[];return this.node.content.forEach((n,r)=>{let i=n.isBlock&&!n.isTextblock,o=n.isAtom&&!n.isText,s=n.isInline,a=this.pos+r+(o?0:1);if(a<0||a>this.resolvedPos.doc.nodeSize-2)return;let l=this.resolvedPos.doc.resolve(a);if(!i&&!s&&l.depth<=this.depth)return;let u=new Nh(l,this.editor,i,i||s?n:null);i&&(u.actualDepth=this.depth+1),t.push(u)}),t}get firstChild(){return this.children[0]||null}get lastChild(){let t=this.children;return t[t.length-1]||null}closest(t,n={}){let r=null,i=this.parent;for(;i&&!r;){if(i.node.type.name===t)if(Object.keys(n).length>0){let o=i.node.attrs,s=Object.keys(n);for(let a=0;a{r&&i.length>0||(s.node.type.name===t&&o.every(l=>n[l]===s.node.attrs[l])&&i.push(s),!(r&&i.length>0)&&(i=i.concat(s.querySelectorAll(t,n,r))))}),i}setAttribute(t){let{tr:n}=this.editor.state;n.setNodeMarkup(this.from,void 0,{...this.node.attrs,...t}),this.editor.view.dispatch(n)}},Soe=`.ProseMirror { +${n}`}var nt=q(ie(),1);function Ree({filename:e}){return(0,nt.jsxs)("div",{className:"shiny-chat-pdf badge fs-6 text-bg-secondary",children:[(0,nt.jsx)("span",{className:"shiny-chat-pdf__icon me-1",dangerouslySetInnerHTML:{__html:UP}}),(0,nt.jsx)("span",{className:"shiny-chat-pdf__filename font-monospace",children:e})]})}function kee({value:e,valueType:t}){return t==="html"?(0,nt.jsx)($r,{html:e}):t==="text"?(0,nt.jsx)("p",{children:e}):t==="markdown"?(0,nt.jsx)(Xt,{content:e,contentType:"markdown",streaming:!1}):(0,nt.jsx)(Xt,{content:ll(e,"text"),contentType:"markdown",streaming:!1})}var sB=(0,B0.memo)(function({toolName:t,toolTitle:n,label:r,intent:i,status:o,value:s,valueType:a,requestCall:l,showRequest:u=!1,fullScreen:c=!1,expanded:f=!1,icon:d,footer:h}){let p=(0,B0.useRef)(null),{enterFullscreen:b,overlay:y}=eB(p),g=Ro(),E=o==="error";return(0,nt.jsxs)(nt.Fragment,{children:[(0,nt.jsxs)(P0,{toolName:t,toolTitle:n,label:r,intent:i,icon:E?D0:d,classStatus:E?"text-danger":"",statusNote:E?"failed":void 0,fullScreen:c,initialExpanded:f,footer:h,onEnterFullscreen:b,cardRef:p,resetKey:`${a}${u}${l}${s}`,children:[(0,nt.jsx)(Mee,{requestCall:l,showRequest:u,stopScroll:g}),(0,nt.jsx)(Ix,{value:s,valueType:a,showRequest:u})]}),y]})});function Mee({requestCall:e,showRequest:t,stopScroll:n}){if(!t||!e)return null;let r=ll(e,""),i=e.split(` +`).length>2;return(0,nt.jsx)("div",{className:"shiny-tool-result__request",children:i?(0,nt.jsxs)("details",{onToggle:()=>n?.(),children:[(0,nt.jsx)("summary",{children:"Tool call"}),(0,nt.jsx)(Xt,{content:r,contentType:"markdown",streaming:!1})]}):(0,nt.jsxs)(nt.Fragment,{children:[(0,nt.jsx)("strong",{children:"Tool call"}),(0,nt.jsx)(Xt,{content:r,contentType:"markdown",streaming:!1})]})})}function Ix({value:e,valueType:t,showRequest:n}){let r=e||"[Empty result]",i;if(t==="html")i=(0,nt.jsx)($r,{html:r});else if(t==="text")i=(0,nt.jsx)("p",{children:r});else if(t==="content_extra")try{let s=JSON.parse(e);i=(0,nt.jsx)("div",{className:"shiny-chat-content-extra",children:s.map((a,l)=>a.type==="image"?(0,nt.jsx)("img",{src:a.src,className:"shiny-chat-tool-image"},l):a.type==="pdf"?(0,nt.jsx)(Ree,{filename:a.filename??""},l):a.type==="text"?(0,nt.jsx)(kee,{value:a.value??"",valueType:a.value_type??"code"},l):null)})}catch{i=(0,nt.jsx)(Xt,{content:ll(r,"text"),contentType:"markdown",streaming:!1})}else{let s=t!=="markdown"?ll(r,"text"):r;i=(0,nt.jsx)(Xt,{content:s,contentType:"markdown",streaming:!1})}return!n&&t==="html"?i:(0,nt.jsxs)("div",{className:"shiny-tool-result__result",children:[n?(0,nt.jsx)("strong",{children:"Tool result"}):null,i]})}var aB=q(pe(),1);var Ac=q(ie(),1),Oee='
Running\u2026
',lB=(0,aB.memo)(function({toolName:t,toolTitle:n,intent:r,arguments:i}){return(0,Ac.jsx)(P0,{toolName:t,toolTitle:n,intent:r,icon:Oee,resetKey:i,children:(0,Ac.jsxs)("div",{className:"shiny-tool-request__arguments",children:[(0,Ac.jsx)("strong",{children:"Tool arguments"}),(0,Ac.jsx)(Xt,{content:ll(i,"json"),contentType:"markdown",streaming:!1})]})})});var Oe=q(ie(),1),Dee='
Running\u2026
',Iee='',cB={__html:vc};function fB(e){let[t,n]=(0,Ji.useState)(e??!1),r=(0,Ji.useRef)(e??!1);return(0,Ji.useEffect)(()=>{e&&!r.current&&n(!0),r.current=e??!1},[e]),[t,n]}function Lee(e){return e==="running"?Dee:e==="error"?D0:Iee}function dB(e){return e.kind==="icon"?e.icon:e.kind==="status"?Lee(e.status):I0}function hB(e,t){return e.status==="running"?(0,Oe.jsx)(lB,{toolName:e.toolName,toolTitle:e.title??e.definitionTitle,intent:e.intent,arguments:e.arguments??"{}"}):(0,Oe.jsx)(sB,{toolName:e.toolName,toolTitle:e.title??e.definitionTitle,intent:e.intent,status:e.status,value:e.value??"",valueType:e.valueType??"markdown",requestCall:e.requestCall,showRequest:e.showRequest,fullScreen:e.fullScreen,expanded:t||e.expanded,icon:e.icon,footer:e.footer,label:e.label})}function uB({segment:e,showVerb:t,bind:n}){let r=jP(e,t),{visible:i,fading:o}=kx(r,XP(r)),s={className:"shiny-chat-tool-group__title","data-fading":o||void 0};return(0,Oe.jsxs)(Oe.Fragment,{children:[i.title!=null?(0,Oe.jsx)("span",{...s,children:(0,Oe.jsx)($r,{html:i.title,as:"span",bind:n})}):(0,Oe.jsxs)("span",{...s,children:[i.verb,(0,Oe.jsx)("code",{className:"shiny-chat-tool-group__toolname",children:i.toolName})]}),e.count>1&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-group__count","aria-label":`${e.count} calls`,children:`\xD7${e.count}`})]})}function Pee({segments:e,bind:t}){if(e.length===1)return(0,Oe.jsx)(uB,{segment:e[0],showVerb:!0,bind:t});let{shown:n,overflowText:r}=QP(e);return(0,Oe.jsxs)("span",{className:"shiny-chat-tool-group__segments",children:[n.map(({segment:i,showVerb:o},s)=>(0,Oe.jsxs)(Ji.Fragment,{children:[s>0&&", ",(0,Oe.jsx)("span",{className:"shiny-chat-tool-group__segment",children:(0,Oe.jsx)(uB,{segment:i,showVerb:o,bind:t})})]},i.toolName)),r&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-group__overflow",children:r})]})}function Bee({item:e,segmentTitle:t,heterogeneous:n}){let[r,i]=fB(e.expanded),o=Ro(),s=r&&e.status==="success"&&e.openStyle==="framed",a=Dx(e,t,!1),l=e.status==="error"?" text-danger":e.status==="running"?" running":"",u=dB(WP(e,n)),c=xc("tool-call");return(0,Oe.jsxs)("li",{className:`shiny-chat-tool-call-row${s?" shiny-chat-tool-call-row--framed":""}`,role:"listitem",children:[(0,Oe.jsxs)("button",{type:"button",className:"shiny-chat-tool-call-row__summary","aria-expanded":r,"aria-controls":c,onClick:()=>{o?.(),i(f=>!f)},children:[(0,Oe.jsx)($r,{html:u,as:"span",bind:!r,className:`shiny-chat-tool-call-row__status${l}`,displayContents:!1}),a&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-call-row__label",children:a.code?(0,Oe.jsx)("code",{children:a.text}):a.text}),(0,Oe.jsx)("span",{className:"shiny-chat-tool-spacer"}),r&&e.intent&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-row__intent",children:e.intent}),e.valuePreview&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-call-row__preview",children:e.valuePreview}),e.status==="error"&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-group__failed",children:"failed"}),(0,Oe.jsx)("span",{className:"shiny-chat-tool-call-row__chevron",dangerouslySetInnerHTML:cB})]}),(0,Oe.jsx)("div",{id:c,className:"shiny-chat-tool-call-row__detail",hidden:!r,children:r&&hB(e,!0)})]})}var pB=(0,Ji.memo)(function({group:t}){let{row:n,standalonePayloads:r}=ZP(t),[i,o]=fB(n?.hasExpandedCall),s=xc("tool-group");return(0,Oe.jsxs)(Oe.Fragment,{children:[n&&(0,Oe.jsx)(Hee,{row:n,expanded:i,setExpanded:o,bodyId:s}),r.map(a=>(0,Oe.jsx)("div",{className:"shiny-chat-tool-custom-display",children:(0,Oe.jsx)(Ix,{value:a.value,valueType:a.valueType,showRequest:a.showRequest})},a.key))]})});function Hee({row:e,expanded:t,setExpanded:n,bodyId:r}){let{identity:i,single:o,anyRunning:s,failedCount:a,heterogeneous:l}=e,u=Ro(),c=t&&o?.status==="success"&&o.openStyle==="framed",f=o&&Dx(o,i.title,!0),d=dB($P(e));return(0,Oe.jsxs)("div",{className:`shiny-chat-tool-group shiny-chat-tool-group--${o?"single":"multi"}${c?" shiny-chat-tool-group--framed":""}`,children:[(0,Oe.jsxs)("button",{type:"button",className:"shiny-chat-tool-group__row","aria-expanded":t,"aria-controls":r,onClick:()=>{u?.(),n(h=>!h)},children:[(0,Oe.jsx)($r,{html:d,as:"span",bind:!t,className:`shiny-chat-tool-group__glyph${s?" running":""}`,displayContents:!1}),(0,Oe.jsxs)("span",{className:"shiny-chat-tool-group__titlewrap",children:[(0,Oe.jsx)(Pee,{segments:i.segments,bind:!t}),f&&(0,Oe.jsxs)("span",{className:"shiny-chat-tool-group__label",children:[": ",f.code?(0,Oe.jsx)("code",{children:f.text}):f.text]})]}),(0,Oe.jsx)("span",{className:"shiny-chat-tool-spacer"}),o&&t&&o.intent&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-row__intent",children:o.intent}),o?.valuePreview&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-call-row__preview",children:o.valuePreview}),a>0&&(0,Oe.jsx)("span",{className:"shiny-chat-tool-group__failed",children:o?"failed":`${a} failed`}),(0,Oe.jsx)("span",{className:"shiny-chat-tool-group__chevron",dangerouslySetInnerHTML:cB})]}),o?(0,Oe.jsx)("div",{id:r,className:"shiny-chat-tool-call-row__detail",hidden:!t,children:t&&hB(o,!0)}):(0,Oe.jsx)("ul",{id:r,className:"shiny-chat-tool-group__calls",role:"list",hidden:!t,children:e.calls.map(h=>(0,Oe.jsx)(Bee,{item:h,segmentTitle:e.segmentTitles.get(h.toolName),heterogeneous:l},h.localId))})]})}var H0=q(pe(),1);var Lx=q(ie(),1);function mB({className:e,expanded:t}){return(0,Lx.jsx)("svg",{className:e,width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",...t?{"data-expanded":""}:{},children:(0,Lx.jsx)("path",{d:"M4.5 2.5L8 6L4.5 9.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var Ht=q(ie(),1);function Fee(e){return e.domain||Ec(e.url)}function zee(e){return`https://icons.duckduckgo.com/ip3/${encodeURIComponent(e)}.ico`}var F0=(0,H0.memo)(function({items:t}){let[n,r]=(0,H0.useState)(!1),i=Mu();if(t.length===0)return null;let o=t.some(s=>s.kind==="search")?"Searched the web":"Read the web";return(0,Ht.jsxs)("div",{className:"shiny-web-activity",children:[(0,Ht.jsxs)("button",{className:"shiny-web-activity__header","aria-expanded":n,onClick:()=>r(s=>!s),children:[(0,Ht.jsx)(mB,{className:"shiny-web-activity__chevron",expanded:n}),o]}),n&&(0,Ht.jsx)("div",{className:"shiny-web-activity__timeline",children:t.map((s,a)=>s.kind==="search"?(0,Ht.jsx)("div",{className:"shiny-web-activity__node shiny-web-activity__search",children:(()=>{let l=s.sources??s.citedSources,u=s.sources===null&&s.citedSources.length>0;return(0,Ht.jsxs)(Ht.Fragment,{children:[(0,Ht.jsxs)("div",{className:"shiny-web-activity__qrow",children:[(0,Ht.jsx)("span",{className:"shiny-web-activity__query",children:s.query}),s.sources!==null&&s.sources.length>0&&(0,Ht.jsxs)("span",{className:"shiny-web-activity__count",children:[s.sources.length," result",s.sources.length!==1?"s":""]}),u&&(0,Ht.jsx)("span",{className:"shiny-web-activity__count",children:"Cited sources"})]}),l.length>0&&(0,Ht.jsx)("div",{className:"shiny-web-activity__results",children:l.map(c=>{let f=Fee(c),d=rg(c.url);return(0,Ht.jsxs)(d?"a":"span",{className:"shiny-web-activity__result",...d?{href:c.url,...Yi}:{},children:[i&&(0,Ht.jsx)("img",{className:"shiny-web-activity__fav",src:zee(f),alt:"",loading:"lazy",onError:p=>{p.currentTarget.style.visibility="hidden"}}),(0,Ht.jsx)("span",{className:"shiny-web-activity__title",children:c.title||f}),(0,Ht.jsx)("span",{className:"shiny-web-activity__domain",children:f})]},c.url)})})]})})()},`search-${a}-${s.query}`):(0,Ht.jsxs)("div",{className:"shiny-web-activity__node shiny-web-activity__fetch",children:[(0,Ht.jsx)("span",{className:"shiny-web-activity__fetch-label",children:"Read"}),s.status!=="error"&&rg(s.url)?(0,Ht.jsx)("a",{href:s.url,...Yi,children:s.url}):(0,Ht.jsx)("span",{children:s.url}),(0,Ht.jsx)("span",{className:`shiny-web-activity__status shiny-web-activity__status--${s.status==="error"?"error":"ok"}`,"aria-label":s.status==="error"?"failed":"succeeded",children:s.status==="error"?"\u2717":"\u2713"})]},`fetch-${a}-${s.url}`))})]})});var ul=q(pe(),1);var gB=q(ie(),1);function z0({content:e,htmlDeps:t,onMounted:n}){let r=(0,ul.useContext)(Tr),[i,o]=(0,ul.useState)(null);(0,ul.useEffect)(()=>{if(t.length===0)return;let a=!1;return(async()=>(await r?.renderDependencies(t),a||o(t)))(),()=>{a=!0}},[t,r]);let s=t.length===0||i===t;return(0,ul.useEffect)(()=>{s&&n?.()},[s,n]),s?(0,gB.jsx)($r,{html:e}):null}var yB=q(ie(),1);function bB({name:e}){return(0,yB.jsxs)("span",{className:"command-chip",children:["/",e]})}var U0={image_types:["image/png","image/jpeg","image/gif","image/webp"],pdf_type:"application/pdf",text_extensions:{md:"text/markdown",markdown:"text/markdown",txt:"text/plain",csv:"text/csv",json:"application/json",py:"text/x-python",js:"text/javascript",ts:"text/typescript",r:"text/x-r",yaml:"text/yaml",yml:"text/yaml",toml:"text/x-toml",qmd:"text/markdown",rmd:"text/markdown",ipynb:"application/x-ipynb+json",rst:"text/x-rst",tex:"text/x-tex",sql:"text/x-sql",sh:"text/x-sh",html:"text/html",htm:"text/html",css:"text/css",xml:"application/xml",ini:"text/x-ini",cfg:"text/x-ini",log:"text/plain"}};var EB=new TextDecoder("utf-8"),qee=U0.image_types,_c=U0.pdf_type,Px=U0.text_extensions,TB=Array.from(new Set(Object.values(Px))),Bx={"image/png":{family:"image",downscale:!0},"image/jpeg":{family:"image",downscale:!0},"image/gif":{family:"image",downscale:!0},"image/webp":{family:"image",downscale:!0},[_c]:{family:"document",downscale:!1},...Object.fromEntries(TB.map(e=>[e,{family:"text",downscale:!1}]))},SB=Object.keys(Bx);function vB(e){let t=new Set(e);for(let[n,r]of Object.entries(Px))t.has(r)&&t.add(`.${n}`);return[...t].join(",")}var Vee=1568;function cl(e){return Bx[e]?.family??null}function xB(e){return qee.includes(e)}function Gee(e,t,n){let r=Math.max(e,t);if(r<=n)return null;let i=n/r;return{width:Math.round(e*i),height:Math.round(t*i)}}var AB=300,_B=1e3;function Hx(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r=999.95&&rt+n.size,0)}function Kee(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}async function Yee(e,t){if(typeof document>"u"||typeof Image>"u")return{dataUrl:e,wasDownscaled:!1};let n=await new Promise(a=>{let l=new Image;l.onload=()=>a(l),l.onerror=()=>a(null),l.src=e});if(!n||!n.naturalWidth||!n.naturalHeight)return{dataUrl:e,wasDownscaled:!1};let r=Gee(n.naturalWidth,n.naturalHeight,Vee);if(!r)return{dataUrl:e,wasDownscaled:!1};let i=document.createElement("canvas");i.width=r.width,i.height=r.height;let o=i.getContext("2d");if(!o)return{dataUrl:e,wasDownscaled:!1};o.drawImage(n,0,0,r.width,r.height);let s=t==="image/gif"?"image/png":t;return{dataUrl:i.toDataURL(s),wasDownscaled:!0}}function kB(e){let t=e.lastIndexOf(".");return t<=0?"":e.slice(t+1).toLowerCase()}function V0(e,t){let n=kB(e);return n?n.toUpperCase():t===_c?"PDF":"FILE"}function MB(e){return new File([e],"Pasted Text",{type:"text/plain"})}function Wee(e){if(xB(e.type)||e.type===_c)return e.type;let t=kB(e.name);return t?Px[t]??null:TB.includes(e.type)?e.type:null}async function OB(e,t){let n=Wee(e);if(n===null||!t.includes(n))return null;let r=cl(n);if(r===null)return null;let i=Bx[n],o=await Kee(e),s=o.indexOf(","),a=`data:${n};base64,${o.slice(s+1)}`;if(i?.downscale&&xB(n)){let{dataUrl:l,wasDownscaled:u}=await Yee(a,n),c=u&&n==="image/gif"?"image/png":n;return{file:{id:zn(),type:c,family:r,dataUrl:l,name:e.name,size:q0(l)},wasDownscaled:u,wasConverted:c!==n}}return{file:{id:zn(),type:n,family:r,dataUrl:a,name:e.name,size:q0(a)},wasDownscaled:!1,wasConverted:!1}}var G0=q(pe(),1);var Zs=q(ie(),1),K0=(0,G0.memo)(function({dataUrl:t,name:n,size:r,onRemove:i,onActivate:o,rootRef:s,rootProps:a}){let l=(0,G0.useMemo)(()=>CB(t,AB).trim(),[t]);return(0,Zs.jsxs)("div",{ref:s,className:"shiny-chat-text-preview",title:n||void 0,...a,...o?{role:"button",tabIndex:0,onClick:o,onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&(c.preventDefault(),o())}}:void 0,children:[(0,Zs.jsx)("div",{className:"shiny-chat-text-preview-body",children:l||"(empty file)"}),(0,Zs.jsxs)("div",{className:"shiny-chat-text-preview-footer",children:[n&&(0,Zs.jsx)("span",{className:"shiny-chat-text-preview-name",children:n}),(0,Zs.jsx)("span",{className:"shiny-chat-text-preview-size",children:ih(r)})]}),i&&(0,Zs.jsx)("button",{type:"button",tabIndex:0,"aria-label":n?`Remove ${n}`:"Remove attachment",onClick:i,children:"\xD7"})]})});var wr=q(pe(),1),IB=q(lo(),1);var Go=q(ie(),1),DB='button, [tabindex="0"], a[href], input, select, textarea, iframe';function LB({src:e,name:t,mime:n,onClose:r}){let i=cl(n),o=i==="image",s=i==="text",a=n===_c,[l,u]=(0,wr.useState)(null),c=(0,wr.useRef)(null),f=(0,wr.useRef)(null),d=(0,wr.useMemo)(()=>s?wB(e):"",[s,e]);(0,wr.useLayoutEffect)(()=>{f.current=document.activeElement instanceof HTMLElement?document.activeElement:null,c.current?.querySelector(DB)?.focus()},[]),(0,wr.useEffect)(()=>{let p=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=p,f.current?.focus()}},[]);let h=(0,wr.useCallback)(p=>{if(p.key==="Escape"){r();return}if(p.key!=="Tab")return;let b=c.current;if(!b)return;let y=b.querySelectorAll(DB);if(y.length===0)return;let g=y[0],E=y[y.length-1];p.shiftKey&&document.activeElement===g?(p.preventDefault(),E.focus()):!p.shiftKey&&document.activeElement===E&&(p.preventDefault(),g.focus())},[r]);return(0,wr.useEffect)(()=>{if(!a)return;let p=URL.createObjectURL(NB(e,_c));return u(p),()=>URL.revokeObjectURL(p)},[e,a]),(0,IB.createPortal)((0,Go.jsxs)("div",{ref:c,className:"shiny-chat-lightbox",role:"dialog","aria-modal":"true","aria-label":t||"Attachment preview",onClick:r,onKeyDown:h,children:[(0,Go.jsxs)("div",{className:"shiny-chat-lightbox-content",onClick:p=>p.stopPropagation(),children:[o?(0,Go.jsx)("img",{className:"shiny-chat-lightbox-img",src:e,alt:t||"Attached image"}):s?(0,Go.jsx)("pre",{className:"shiny-chat-lightbox-text",tabIndex:0,"aria-label":t||"File content",children:d||"(empty file)"}):a?l&&(0,Go.jsx)("iframe",{className:"shiny-chat-lightbox-frame",src:l,sandbox:"",title:t||"PDF preview"}):null,t&&(0,Go.jsx)("div",{className:"shiny-chat-lightbox-name",children:t})]}),(0,Go.jsx)("button",{type:"button",className:"shiny-chat-lightbox-close","aria-label":"Close preview",onClick:r,children:"\xD7"})]}),document.body)}var Or=q(pe(),1);var Hb=q(pe(),1),aa=q(pe(),1),c8=q(lo(),1),f8=q(Y0(),1),ns=q(ie(),1);function Wn(e){this.content=e}Wn.prototype={constructor:Wn,find:function(e){for(var t=0;t>1}};Wn.from=function(e){if(e instanceof Wn)return e;var t=[];if(e)for(var n in e)t.push(n,e[n]);return new Wn(t)};var zx=Wn;function $B(e,t,n){for(let r=0;;r++){if(r==e.childCount||r==t.childCount)return e.childCount==t.childCount?null:n;let i=e.child(r),o=t.child(r);if(i==o){n+=i.nodeSize;continue}if(!i.sameMarkup(o))return n;if(i.isText&&i.text!=o.text){let s=i.text,a=o.text,l=0;for(;s[l]==a[l];l++)n++;return l&&l0&&d>0&&u[f-1]==c[d-1];)f--,d--,n--,r--;return f&&d&&f=56320&&e<57344}function QB(e){return e>=55296&&e<56320}var te=class e{constructor(t,n){if(this.content=t,this.size=n||0,n==null)for(let r=0;rt&&r(l,i+a,o||null,s)!==!1&&l.content.size){let c=a+1;l.nodesBetween(Math.max(0,t-c),Math.min(l.content.size,n-c),r,i+c)}a=u}}descendants(t){this.nodesBetween(0,this.size,t)}textBetween(t,n,r,i){let o="",s=!0;return this.nodesBetween(t,n,(a,l)=>{let u=a.isText?a.text.slice(Math.max(t,l)-l,n-l):a.isLeaf?i?typeof i=="function"?i(a):i:a.type.spec.leafText?a.type.spec.leafText(a):"":"";a.isBlock&&(a.isLeaf&&u||a.isTextblock)&&r&&(s?s=!1:o+=r),o+=u},0),o}append(t){if(!t.size)return this;if(!this.size)return t;let n=this.lastChild,r=t.firstChild,i=this.content.slice(),o=0;for(n.isText&&n.sameMarkup(r)&&(i[i.length-1]=n.withText(n.text+r.text),o=1);ot)for(let o=0,s=0;st&&((sn)&&(a.isText?a=a.cut(Math.max(0,t-s),Math.min(a.text.length,n-s)):a=a.cut(Math.max(0,t-s-1),Math.min(a.content.size,n-s-1))),r.push(a),i+=a.nodeSize),s=l}return new e(r,i)}cutByIndex(t,n){return t==n?e.empty:t==0&&n==this.content.length?this:new e(this.content.slice(t,n))}replaceChild(t,n){let r=this.content[t];if(r==n)return this;let i=this.content.slice(),o=this.size+n.nodeSize-r.nodeSize;return i[t]=n,new e(i,o)}addToStart(t){return new e([t].concat(this.content),this.size+t.nodeSize)}addToEnd(t){return new e(this.content.concat(t),this.size+t.nodeSize)}eq(t){if(this.content.length!=t.content.length)return!1;for(let n=0;nthis.size||t<0)throw new RangeError(`Position ${t} outside of fragment (${this})`);for(let n=0,r=0;;n++){let i=this.child(n),o=r+i.nodeSize;if(o>=t)return o==t?W0(n+1,o):W0(n,r);r=o}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(t=>t.toJSON()):null}static fromJSON(t,n){if(!n)return e.empty;if(!Array.isArray(n))throw new RangeError("Invalid input for Fragment.fromJSON");return e.fromArray(n.map(t.nodeFromJSON))}static fromArray(t){if(!t.length)return e.empty;let n,r=0;for(let i=0;ithis.type.rank&&(n||(n=t.slice(0,i)),n.push(this),r=!0),n&&n.push(o)}}return n||(n=t.slice()),r||n.push(this),n}removeFromSet(t){for(let n=0;nr.type.rank-i.type.rank),n}};rt.none=[];var hl=class extends Error{},de=class e{constructor(t,n,r){this.content=t,this.openStart=n,this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(t,n){let r=JB(this.content,t+this.openStart,n,this.openStart+1,this.openEnd+1);return r&&new e(r,this.openStart,this.openEnd)}removeBetween(t,n){return new e(ZB(this.content,t+this.openStart,n+this.openStart),this.openStart,this.openEnd)}eq(t){return this.content.eq(t.content)&&this.openStart==t.openStart&&this.openEnd==t.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let t={content:this.content.toJSON()};return this.openStart>0&&(t.openStart=this.openStart),this.openEnd>0&&(t.openEnd=this.openEnd),t}static fromJSON(t,n){if(!n)return e.empty;let r=n.openStart||0,i=n.openEnd||0;if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new e(te.fromJSON(t,n.content),r,i)}static maxOpen(t,n=!0){let r=0,i=0;for(let o=t.firstChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.firstChild)r++;for(let o=t.lastChild;o&&!o.isLeaf&&(n||!o.type.spec.isolating);o=o.lastChild)i++;return new e(t,r,i)}};de.empty=new de(te.empty,0,0);function ZB(e,t,n){let{index:r,offset:i}=e.findIndex(t),o=e.maybeChild(r),{index:s,offset:a}=e.findIndex(n);if(i==t||o.isText){if(a!=n&&!e.child(s).isText)throw new RangeError("Removing non-flat range");return e.cut(0,t).append(e.cut(n))}if(r!=s)throw new RangeError("Removing non-flat range");return e.replaceChild(r,o.copy(ZB(o.content,t-i-1,n-i-1)))}function JB(e,t,n,r,i,o){let{index:s,offset:a}=e.findIndex(t),l=e.maybeChild(s);if(a==t||l.isText)return o&&r<=0&&i<=0&&!o.canReplace(s,s,n)?null:e.cut(0,t).append(n).append(e.cut(t));let u=JB(l.content,t-a-1,n,s==0?r-1:0,s==e.childCount-1?i-1:0,l);return u&&e.replaceChild(s,l.copy(u))}function rte(e,t,n){if(n.openStart>e.depth)throw new hl("Inserted content deeper than insertion position");if(e.depth-n.openStart!=t.depth-n.openEnd)throw new hl("Inconsistent open depths");return e4(e,t,n,0)}function e4(e,t,n,r){let i=e.index(r),o=e.node(r);if(i==t.index(r)&&r=0&&e.isText&&e.sameMarkup(t[n])?t[n]=e.withText(t[n].text+e.text):t.push(e)}function oh(e,t,n,r){let i=(t||e).node(n),o=0,s=t?t.index(n):i.childCount;e&&(o=e.index(n),e.depth>n?o++:e.textOffset&&(fl(e.nodeAfter,r),o++));for(let a=o;ai&&qx(e,t,i+1),s=r.depth>i&&qx(n,r,i+1),a=[];return oh(null,e,i,a),o&&s&&t.index(i)==n.index(i)?(t4(o,s),fl(dl(o,n4(e,t,n,r,i+1)),a)):(o&&fl(dl(o,Q0(e,t,i+1)),a),oh(t,n,i,a),s&&fl(dl(s,Q0(n,r,i+1)),a)),oh(r,null,i,a),new te(a)}function Q0(e,t,n){let r=[];if(oh(null,e,n,r),e.depth>n){let i=qx(e,t,n+1);fl(dl(i,Q0(e,t,n+1)),r)}return oh(t,null,n,r),new te(r)}function ite(e,t){let n=t.depth-e.openStart,i=t.node(n).copy(e.content);for(let o=n-1;o>=0;o--)i=t.node(o).copy(te.from(i));return{start:i.resolveNoCache(e.openStart+n),end:i.resolveNoCache(i.content.size-e.openEnd-n)}}var Z0=class e{constructor(t,n,r){this.pos=t,this.path=n,this.parentOffset=r,this.depth=n.length/3-1}resolveDepth(t){return t==null?this.depth:t<0?this.depth+t:t}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(t){return this.path[this.resolveDepth(t)*3]}index(t){return this.path[this.resolveDepth(t)*3+1]}indexAfter(t){return t=this.resolveDepth(t),this.index(t)+(t==this.depth&&!this.textOffset?0:1)}start(t){return t=this.resolveDepth(t),t==0?0:this.path[t*3-1]+1}end(t){return t=this.resolveDepth(t),this.start(t)+this.node(t).content.size}before(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position before the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]}after(t){if(t=this.resolveDepth(t),!t)throw new RangeError("There is no position after the top-level node");return t==this.depth+1?this.pos:this.path[t*3-1]+this.path[t*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let t=this.parent,n=this.index(this.depth);if(n==t.childCount)return null;let r=this.pos-this.path[this.path.length-1],i=t.child(n);return r?t.child(n).cut(r):i}get nodeBefore(){let t=this.index(this.depth),n=this.pos-this.path[this.path.length-1];return n?this.parent.child(t).cut(0,n):t==0?null:this.parent.child(t-1)}posAtIndex(t,n){n=this.resolveDepth(n);let r=this.path[n*3],i=n==0?0:this.path[n*3-1]+1;for(let o=0;o0;n--)if(this.start(n)<=t&&this.end(n)>=t)return n;return 0}blockRange(t=this,n){if(t.pos=0;r--)if(t.pos<=this.end(r)&&(!n||n(this.node(r))))return new pl(this,t,r);return null}sameParent(t){return this.pos-this.parentOffset==t.pos-t.parentOffset}max(t){return t.pos>this.pos?t:this}min(t){return t.pos=0&&n<=t.content.size))throw new RangeError("Position "+n+" out of range");let r=[],i=0,o=n;for(let s=t;;){let{index:a,offset:l}=s.content.findIndex(o),u=o-l;if(r.push(s,a,i+l),!u||(s=s.child(a),s.isText))break;o=u-1,i+=l+1}return new e(n,r,o)}static resolveCached(t,n){let r=FB.get(t);if(r)for(let o=0;ot&&this.nodesBetween(t,n,o=>(r.isInSet(o.marks)&&(i=!0),!i)),i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let t=this.type.name;return this.content.size&&(t+="("+this.content.toStringInner()+")"),r4(this.marks,t)}contentMatchAt(t){let n=this.type.contentMatch.matchFragment(this.content,0,t);if(!n)throw new Error("Called contentMatchAt on a node with invalid content");return n}canReplace(t,n,r=te.empty,i=0,o=r.childCount){let s=this.contentMatchAt(t).matchFragment(r,i,o),a=s&&s.matchFragment(this.content,n);if(!a||!a.validEnd)return!1;for(let l=i;ln.type.name)}`);this.content.forEach(n=>n.check())}toJSON(){let t={type:this.type.name};for(let n in this.attrs){t.attrs=this.attrs;break}return this.content.size&&(t.content=this.content.toJSON()),this.marks.length&&(t.marks=this.marks.map(n=>n.toJSON())),t}static fromJSON(t,n){if(!n)throw new RangeError("Invalid input for Node.fromJSON");let r;if(n.marks){if(!Array.isArray(n.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=n.marks.map(t.markFromJSON)}if(n.type=="text"){if(typeof n.text!="string")throw new RangeError("Invalid text node in JSON");return t.text(n.text,r)}let i=te.fromJSON(t,n.content),o=t.nodeType(n.type).create(n.attrs,i,r);return o.type.checkAttrs(o.attrs),o}};Nr.prototype.text=void 0;var Gx=class e extends Nr{constructor(t,n,r,i){if(super(t,n,null,i),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):r4(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(t,n){return this.text.slice(t,n)}get nodeSize(){return this.text.length}mark(t){return t==this.marks?this:new e(this.type,this.attrs,this.text,t)}withText(t){return t==this.text?this:new e(this.type,this.attrs,t,this.marks)}cut(t=0,n=this.text.length){return t==0&&n==this.text.length?this:this.withText(this.text.slice(t,n))}eq(t){return this.sameMarkup(t)&&this.text==t.text}toJSON(){let t=super.toJSON();return t.text=this.text,t}};function r4(e,t){for(let n=e.length-1;n>=0;n--)t=e[n].type.name+"("+t+")";return t}var ml=class e{constructor(t){this.validEnd=t,this.next=[],this.wrapCache=[]}static parse(t,n){let r=new Kx(t,n);if(r.next==null)return e.empty;let i=i4(r);r.next&&r.err("Unexpected trailing text");let o=hte(dte(i));return pte(o,r),o}matchType(t){for(let n=0;nu.createAndFill()));for(let u=0;u=this.next.length)throw new RangeError(`There's no ${t}th edge in this content match`);return this.next[t]}toString(){let t=[];function n(r){t.push(r);for(let i=0;i{let o=i+(r.validEnd?"*":" ")+" ";for(let s=0;s"+t.indexOf(r.next[s].next);return o}).join(` +`)}};ml.empty=new ml(!0);var Kx=class{constructor(t,n){this.string=t,this.nodeTypes=n,this.inline=null,this.pos=0,this.tokens=t.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(t){return this.next==t&&(this.pos++||!0)}err(t){throw new SyntaxError(t+" (in content expression '"+this.string+"')")}};function i4(e){let t=[];do t.push(ate(e));while(e.eat("|"));return t.length==1?t[0]:{type:"choice",exprs:t}}function ate(e){let t=[];do t.push(lte(e));while(e.next&&e.next!=")"&&e.next!="|");return t.length==1?t[0]:{type:"seq",exprs:t}}function lte(e){let t=fte(e);for(;;)if(e.eat("+"))t={type:"plus",expr:t};else if(e.eat("*"))t={type:"star",expr:t};else if(e.eat("?"))t={type:"opt",expr:t};else if(e.eat("{"))t=ute(e,t);else break;return t}function zB(e){/\D/.test(e.next)&&e.err("Expected number, got '"+e.next+"'");let t=Number(e.next);return e.pos++,t}function ute(e,t){let n=zB(e),r=n;return e.eat(",")&&(e.next!="}"?r=zB(e):r=-1),e.eat("}")||e.err("Unclosed braced range"),{type:"range",min:n,max:r,expr:t}}function cte(e,t){let n=e.nodeTypes,r=n[t];if(r)return[r];let i=[];for(let o in n){let s=n[o];s.isInGroup(t)&&i.push(s)}return i.length==0&&e.err("No node type or group '"+t+"' found"),i}function fte(e){if(e.eat("(")){let t=i4(e);return e.eat(")")||e.err("Missing closing paren"),t}else if(/\W/.test(e.next))e.err("Unexpected token '"+e.next+"'");else{let t=cte(e,e.next).map(n=>(e.inline==null?e.inline=n.isInline:e.inline!=n.isInline&&e.err("Mixing inline and block content"),{type:"name",value:n}));return e.pos++,t.length==1?t[0]:{type:"choice",exprs:t}}}function dte(e){let t=[[]];return i(o(e,0),n()),t;function n(){return t.push([])-1}function r(s,a,l){let u={term:l,to:a};return t[s].push(u),u}function i(s,a){s.forEach(l=>l.to=a)}function o(s,a){if(s.type=="choice")return s.exprs.reduce((l,u)=>l.concat(o(u,a)),[]);if(s.type=="seq")for(let l=0;;l++){let u=o(s.exprs[l],a);if(l==s.exprs.length-1)return u;i(u,a=n())}else if(s.type=="star"){let l=n();return r(a,l),i(o(s.expr,l),l),[r(l)]}else if(s.type=="plus"){let l=n();return i(o(s.expr,a),l),i(o(s.expr,l),l),[r(l)]}else{if(s.type=="opt")return[r(a)].concat(o(s.expr,a));if(s.type=="range"){let l=a;for(let u=0;u{e[s].forEach(({term:a,to:l})=>{if(!a)return;let u;for(let c=0;c{u||i.push([a,u=[]]),u.indexOf(c)==-1&&u.push(c)})})});let o=t[r.join(",")]=new ml(r.indexOf(e.length-1)>-1);for(let s=0;s-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let t in this.attrs)if(this.attrs[t].isRequired)return!0;return!1}compatibleContent(t){return this==t||this.contentMatch.compatible(t.contentMatch)}computeAttrs(t){return!t&&this.defaultAttrs?this.defaultAttrs:a4(this.attrs,t)}create(t=null,n,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Nr(this,this.computeAttrs(t),te.from(n),rt.setFrom(r))}createChecked(t=null,n,r){return n=te.from(n),this.checkContent(n),new Nr(this,this.computeAttrs(t),n,rt.setFrom(r))}createAndFill(t=null,n,r){if(t=this.computeAttrs(t),n=te.from(n),n.size){let s=this.contentMatch.fillBefore(n);if(!s)return null;n=s.append(n)}let i=this.contentMatch.matchFragment(n),o=i&&i.fillBefore(te.empty,!0);return o?new Nr(this,t,n.append(o),rt.setFrom(r)):null}validContent(t){let n=this.contentMatch.matchFragment(t);if(!n||!n.validEnd)return!1;for(let r=0;r-1}allowsMarks(t){if(this.markSet==null)return!0;for(let n=0;nr[o]=new e(o,n,s));let i=n.spec.topNode||"doc";if(!r[i])throw new RangeError("Schema is missing its top node type ('"+i+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let o in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}};function mte(e,t,n){let r=n.split("|");return i=>{let o=i===null?"null":typeof i;if(r.indexOf(o)<0)throw new RangeError(`Expected value of type ${r} for attribute ${t} on type ${e}, got ${o}`)}}var Yx=class{constructor(t,n,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default"),this.default=r.default,this.validate=typeof r.validate=="string"?mte(t,n,r.validate):r.validate}get isRequired(){return!this.hasDefault}},ah=class e{constructor(t,n,r,i){this.name=t,this.rank=n,this.schema=r,this.spec=i,this.attrs=u4(t,i.attrs),this.excluded=null;let o=s4(this.attrs);this.instance=o?new rt(this,o):null}create(t=null){return!t&&this.instance?this.instance:new rt(this,a4(this.attrs,t))}static compile(t,n){let r=Object.create(null),i=0;return t.forEach((o,s)=>r[o]=new e(o,i++,n,s)),r}removeFromSet(t){for(var n=0;n-1}},Nc=class{constructor(t){this.linebreakReplacement=null,this.cached=Object.create(null);let n=this.spec={};for(let i in t)n[i]=t[i];n.nodes=zx.from(t.nodes),n.marks=zx.from(t.marks||{}),this.nodes=J0.compile(this.spec.nodes,this),this.marks=ah.compile(this.spec.marks,this);let r=Object.create(null);for(let i in this.nodes){if(i in this.marks)throw new RangeError(i+" can not be both a node and a mark");let o=this.nodes[i],s=o.spec.content||"",a=o.spec.marks;if(o.contentMatch=r[s]||(r[s]=ml.parse(s,this.nodes)),o.inlineContent=o.contentMatch.inlineContent,o.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!o.isInline||!o.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=o}o.markSet=a=="_"?null:a?qB(this,a.split(" ")):a==""||!o.inlineContent?[]:null}for(let i in this.marks){let o=this.marks[i],s=o.spec.excludes;o.excluded=s==null?[o]:s==""?[]:qB(this,s.split(" "))}this.nodeFromJSON=i=>Nr.fromJSON(this,i),this.markFromJSON=i=>rt.fromJSON(this,i),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(t,n=null,r,i){if(typeof t=="string")t=this.nodeType(t);else if(t instanceof J0){if(t.schema!=this)throw new RangeError("Node type from different schema used ("+t.name+")")}else throw new RangeError("Invalid node type: "+t);return t.createChecked(n,r,i)}text(t,n){let r=this.nodes.text;return new Gx(r,r.defaultAttrs,t,rt.setFrom(n))}mark(t,n){return typeof t=="string"&&(t=this.marks[t]),t.create(n)}nodeType(t){let n=this.nodes[t];if(!n)throw new RangeError("Unknown node type: "+t);return n}};function qB(e,t){let n=[];for(let r=0;r-1)&&n.push(s=l)}if(!s)throw new SyntaxError("Unknown mark type: '"+t[r]+"'")}return n}function gte(e){return e.tag!=null}function bte(e){return e.style!=null}var eo=class e{constructor(t,n){this.schema=t,this.rules=n,this.tags=[],this.styles=[];let r=this.matchedStyles=[];n.forEach(i=>{if(gte(i))this.tags.push(i);else if(bte(i)){let o=/[^=]*/.exec(i.style)[0];r.indexOf(o)<0&&r.push(o),this.styles.push(i)}}),this.normalizeLists=!this.tags.some(i=>{if(!/^(ul|ol)\b/.test(i.tag)||!i.node)return!1;let o=t.nodes[i.node];return o.contentMatch.matchType(o)})}parse(t,n={}){let r=new eb(this,n,!1);return r.addAll(t,rt.none,n.from,n.to),r.finish()}parseSlice(t,n={}){let r=new eb(this,n,!0);return r.addAll(t,rt.none,n.from,n.to),de.maxOpen(r.finish())}matchTag(t,n,r){for(let i=r?this.tags.indexOf(r)+1:0;it.length&&(a.charCodeAt(t.length)!=61||a.slice(t.length+1)!=n))){if(s.getAttrs){let l=s.getAttrs(n);if(l===!1)continue;s.attrs=l||void 0}return s}}}static schemaRules(t){let n=[];function r(i){let o=i.priority==null?50:i.priority,s=0;for(;s{r(s=GB(s)),s.mark||s.ignore||s.clearMark||(s.mark=i)})}for(let i in t.nodes){let o=t.nodes[i].spec.parseDOM;o&&o.forEach(s=>{r(s=GB(s)),s.node||s.ignore||s.mark||(s.node=i)})}return n}static fromSchema(t){return t.cached.domParser||(t.cached.domParser=new e(t,e.schemaRules(t)))}},c4={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},yte={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},f4={ol:!0,ul:!0},lh=1,Wx=2,sh=4;function VB(e,t,n){return t!=null?(t?lh:0)|(t==="full"?Wx:0):e&&e.whitespace=="pre"?lh|Wx:n&~sh}var wc=class{constructor(t,n,r,i,o,s){this.type=t,this.attrs=n,this.marks=r,this.solid=i,this.options=s,this.content=[],this.activeMarks=rt.none,this.match=o||(s&sh?null:t.contentMatch)}findWrapping(t){if(!this.match){if(!this.type)return[];let n=this.type.contentMatch.fillBefore(te.from(t));if(n)this.match=this.type.contentMatch.matchFragment(n);else{let r=this.type.contentMatch,i;return(i=r.findWrapping(t.type))?(this.match=r,i):null}}return this.match.findWrapping(t.type)}finish(t){if(!(this.options&lh)){let r=this.content[this.content.length-1],i;if(r&&r.isText&&(i=/[ \t\r\n\u000c]+$/.exec(r.text))){let o=r;r.text.length==i[0].length?this.content.pop():this.content[this.content.length-1]=o.withText(o.text.slice(0,o.text.length-i[0].length))}}let n=te.from(this.content);return!t&&this.match&&(n=n.append(this.match.fillBefore(te.empty,!0))),this.type?this.type.create(this.attrs,n,this.marks):n}inlineContext(t){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:t.parentNode&&!c4.hasOwnProperty(t.parentNode.nodeName.toLowerCase())}},eb=class{constructor(t,n,r){this.parser=t,this.options=n,this.isOpen=r,this.open=0,this.localPreserveWS=!1;let i=n.topNode,o,s=VB(null,n.preserveWhitespace,0)|(r?sh:0);i?o=new wc(i.type,i.attrs,rt.none,!0,n.topMatch||i.type.contentMatch,s):r?o=new wc(null,null,rt.none,!0,null,s):o=new wc(t.schema.topNodeType,null,rt.none,!0,null,s),this.nodes=[o],this.find=n.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(t,n){t.nodeType==3?this.addTextNode(t,n):t.nodeType==1&&this.addElement(t,n)}addTextNode(t,n){let r=t.nodeValue,i=this.top,o=i.options&Wx?"full":this.localPreserveWS||(i.options&lh)>0,{schema:s}=this.parser;if(o==="full"||i.inlineContext(t)||/[^ \t\r\n\u000c]/.test(r)){if(o)if(o==="full")r=r.replace(/\r\n?/g,` +`);else if(s.linebreakReplacement&&/[\r\n]/.test(r)&&this.top.findWrapping(s.linebreakReplacement.create())){let a=r.split(/\r?\n|\r/);for(let l=0;l!l.clearMark(u)):n=n.concat(this.parser.schema.marks[l.mark].create(l.attrs)),l.consuming===!1)a=l;else break}}return n}addElementByRule(t,n,r,i){let o,s;if(n.node)if(s=this.parser.schema.nodes[n.node],s.isLeaf)this.insertNode(s.create(n.attrs),r,t.nodeName=="BR")||this.leafFallback(t,r);else{let l=this.enter(s,n.attrs||null,r,n.preserveWhitespace);l&&(o=!0,r=l)}else{let l=this.parser.schema.marks[n.mark];r=r.concat(l.create(n.attrs))}let a=this.top;if(s&&s.isLeaf)this.findInside(t);else if(i)this.addElement(t,r,i);else if(n.getContent)this.findInside(t),n.getContent(t,this.parser.schema).forEach(l=>this.insertNode(l,r,!1));else{let l=t;typeof n.contentElement=="string"?l=t.querySelector(n.contentElement):typeof n.contentElement=="function"?l=n.contentElement(t):n.contentElement&&(l=n.contentElement),this.findAround(t,l,!0),this.addAll(l,r),this.findAround(t,l,!1)}o&&this.sync(a)&&this.open--}addAll(t,n,r,i){let o=r||0;for(let s=r?t.childNodes[r]:t.firstChild,a=i==null?null:t.childNodes[i];s!=a;s=s.nextSibling,++o)this.findAtPoint(t,o),this.addDOM(s,n);this.findAtPoint(t,o)}findPlace(t,n,r){let i,o;for(let s=this.open,a=0;s>=0;s--){let l=this.nodes[s],u=l.findWrapping(t);if(u&&(!i||i.length>u.length+a)&&(i=u,o=l,!u.length))break;if(l.solid){if(r)break;a+=2}}if(!i)return null;this.sync(o);for(let s=0;s(s.type?s.type.allowsMarkType(u.type):KB(u.type,t))?(l=u.addToSet(l),!1):!0),this.nodes.push(new wc(t,n,l,i,null,a)),this.open++,r}closeExtra(t=!1){let n=this.nodes.length-1;if(n>this.open){for(;n>this.open;n--)this.nodes[n-1].content.push(this.nodes[n].finish(t));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(t){for(let n=this.open;n>=0;n--){if(this.nodes[n]==t)return this.open=n,!0;this.localPreserveWS&&(this.nodes[n].options|=lh)}return!1}get currentPos(){this.closeExtra();let t=0;for(let n=this.open;n>=0;n--){let r=this.nodes[n].content;for(let i=r.length-1;i>=0;i--)t+=r[i].nodeSize;n&&t++}return t}findAtPoint(t,n){if(this.find)for(let r=0;r-1)return t.split(/\s*\|\s*/).some(this.matchesContext,this);let n=t.split("/"),r=this.options.context,i=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),o=-(r?r.depth+1:0)+(i?0:1),s=(a,l)=>{for(;a>=0;a--){let u=n[a];if(u==""){if(a==n.length-1||a==0)continue;for(;l>=o;l--)if(s(a-1,l))return!0;return!1}else{let c=l>0||l==0&&i?this.nodes[l].type:r&&l>=o?r.node(l-o).type:null;if(!c||c.name!=u&&!c.isInGroup(u))return!1;l--}}return!0};return s(n.length-1,this.open)}textblockFromContext(){let t=this.options.context;if(t)for(let n=t.depth;n>=0;n--){let r=t.node(n).contentMatchAt(t.indexAfter(n)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let n in this.parser.schema.nodes){let r=this.parser.schema.nodes[n];if(r.isTextblock&&r.defaultAttrs)return r}}};function Ete(e){for(let t=e.firstChild,n=null;t;t=t.nextSibling){let r=t.nodeType==1?t.nodeName.toLowerCase():null;r&&f4.hasOwnProperty(r)&&n?(n.appendChild(t),t=n):r=="li"?n=t:r&&(n=null)}}function Tte(e,t){return(e.matches||e.msMatchesSelector||e.webkitMatchesSelector||e.mozMatchesSelector).call(e,t)}function GB(e){let t={};for(let n in e)t[n]=e[n];return t}function KB(e,t){let n=t.schema.nodes;for(let r in n){let i=n[r];if(!i.allowsMarkType(e))continue;let o=[],s=a=>{o.push(a);for(let l=0;l{if(o.length||s.marks.length){let a=0,l=0;for(;a=0;i--){let o=this.serializeMark(t.marks[i],t.isInline,n);o&&((o.contentDOM||o.dom).appendChild(r),r=o.dom)}return r}serializeMark(t,n,r={}){let i=this.marks[t.type.name];return i&&j0($0(r),i(t,n),null,t.attrs)}static renderSpec(t,n,r=null,i){return typeof n=="string"?{dom:t.createTextNode(n)}:j0(t,n,r,i)}static fromSchema(t){return t.cached.domSerializer||(t.cached.domSerializer=new e(this.nodesFromSchema(t),this.marksFromSchema(t)))}static nodesFromSchema(t){let n=YB(t.nodes);return n.text||(n.text=r=>r.text),n}static marksFromSchema(t){return YB(t.marks)}};function YB(e){let t={};for(let n in e){let r=e[n].spec.toDOM;r&&(t[n]=r)}return t}function $0(e){return e.document||window.document}var WB=new WeakMap;function Ste(e){let t=WB.get(e);return t===void 0&&WB.set(e,t=vte(e)),t}function vte(e){let t=null;function n(r){if(r&&typeof r=="object")if(Array.isArray(r))if(typeof r[0]=="string")t||(t=[]),t.push(r);else for(let i=0;i-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let s=i.indexOf(" ");s>0&&(n=i.slice(0,s),i=i.slice(s+1));let a,l=n?e.createElementNS(n,i):e.createElement(i),u=t[1],c=1;if(u&&typeof u=="object"&&u.nodeType==null&&!Array.isArray(u)){c=2;for(let f in u)if(u[f]!=null){let d=f.indexOf(" ");d>0?l.setAttributeNS(f.slice(0,d),f.slice(d+1),u[f]):f=="style"&&l.style?l.style.cssText=u[f]:l.setAttribute(f,u[f])}}for(let f=c;fc)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else if(typeof d=="string")l.appendChild(e.createTextNode(d));else{let{dom:h,contentDOM:p}=j0(e,d,n,r);if(l.appendChild(h),p){if(a)throw new RangeError("Multiple content holes");a=p}}}return{dom:l,contentDOM:a}}var p4=65535,m4=Math.pow(2,16);function xte(e,t){return e+t*m4}function d4(e){return e&p4}function Ate(e){return(e-(e&p4))/m4}var g4=1,b4=2,tb=4,y4=8,fh=class{constructor(t,n,r){this.pos=t,this.delInfo=n,this.recover=r}get deleted(){return(this.delInfo&y4)>0}get deletedBefore(){return(this.delInfo&(g4|tb))>0}get deletedAfter(){return(this.delInfo&(b4|tb))>0}get deletedAcross(){return(this.delInfo&tb)>0}},Yo=class e{constructor(t,n=!1){if(this.ranges=t,this.inverted=n,!t.length&&e.empty)return e.empty}recover(t){let n=0,r=d4(t);if(!this.inverted)for(let i=0;it)break;let u=this.ranges[a+o],c=this.ranges[a+s],f=l+u;if(t<=f){let d=u?t==l?-1:t==f?1:n:n,h=l+i+(d<0?0:c);if(r)return h;let p=t==(n<0?l:f)?null:xte(a/3,t-l),b=t==l?b4:t==f?g4:tb;return(n<0?t!=l:t!=f)&&(b|=y4),new fh(h,b,p)}i+=c-u}return r?t+i:new fh(t+i,0,null)}touches(t,n){let r=0,i=d4(n),o=this.inverted?2:1,s=this.inverted?1:2;for(let a=0;at)break;let u=this.ranges[a+o],c=l+u;if(t<=c&&a==i*3)return!0;r+=this.ranges[a+s]-u}return!1}forEach(t){let n=this.inverted?2:1,r=this.inverted?1:2;for(let i=0,o=0;i=0;n--){let i=t.getMirror(n);this.appendMap(t._maps[n].invert(),i!=null&&i>n?r-i-1:void 0)}}invert(){let t=new e;return t.appendMappingInverted(this),t}map(t,n=1){if(this.mirror)return this._map(t,n,!0);for(let r=this.from;ro&&l!s.isAtom||!a.type.allowsMarkType(this.mark.type)?s:s.mark(this.mark.addToSet(s.marks)),i),n.openStart,n.openEnd);return In.fromReplace(t,this.from,this.to,o)}invert(){return new Wo(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new e(n.from,n.to,t.markFromJSON(n.mark))}};vn.jsonID("addMark",hh);var Wo=class e extends vn{constructor(t,n,r){super(),this.from=t,this.to=n,this.mark=r}apply(t){let n=t.slice(this.from,this.to),r=new de(Jx(n.content,i=>i.mark(this.mark.removeFromSet(i.marks)),t),n.openStart,n.openEnd);return In.fromReplace(t,this.from,this.to,r)}invert(){return new hh(this.from,this.to,this.mark)}map(t){let n=t.mapResult(this.from,1),r=t.mapResult(this.to,-1);return n.deleted&&r.deleted||n.pos>=r.pos?null:new e(n.pos,r.pos,this.mark)}merge(t){return t instanceof e&&t.mark.eq(this.mark)&&this.from<=t.to&&this.to>=t.from?new e(Math.min(this.from,t.from),Math.max(this.to,t.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new e(n.from,n.to,t.markFromJSON(n.mark))}};vn.jsonID("removeMark",Wo);var ph=class e extends vn{constructor(t,n){super(),this.pos=t,this.mark=n}apply(t){let n=t.nodeAt(this.pos);if(!n)return In.fail("No node at mark step's position");let r=n.type.create(n.attrs,null,this.mark.addToSet(n.marks));return In.fromReplace(t,this.pos,this.pos+1,new de(te.from(r),0,n.isLeaf?0:1))}invert(t){let n=t.nodeAt(this.pos);if(n){let r=this.mark.addToSet(n.marks);if(r.length==n.marks.length){for(let i=0;ir.pos?null:new e(n.pos,r.pos,i,o,this.slice,this.insert,this.structure)}toJSON(){let t={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(t.slice=this.slice.toJSON()),this.structure&&(t.structure=!0),t}static fromJSON(t,n){if(typeof n.from!="number"||typeof n.to!="number"||typeof n.gapFrom!="number"||typeof n.gapTo!="number"||typeof n.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new e(n.from,n.to,n.gapFrom,n.gapTo,de.fromJSON(t,n.slice),n.insert,!!n.structure)}};vn.jsonID("replaceAround",un);function Qx(e,t,n){let r=e.resolve(t),i=n-t,o=r.depth;for(;i>0&&o>0&&r.indexAfter(o)==r.node(o).childCount;)o--,i--;if(i>0){let s=r.node(o).maybeChild(r.indexAfter(o));for(;i>0;){if(!s||s.isLeaf)return!0;s=s.firstChild,i--}}return!1}function _te(e,t,n,r){let i=[],o=[],s,a;e.doc.nodesBetween(t,n,(l,u,c)=>{if(!l.isInline)return;let f=l.marks;if(!r.isInSet(f)&&c.type.allowsMarkType(r.type)){let d=Math.max(u,t),h=Math.min(u+l.nodeSize,n),p=r.addToSet(f);for(let b=0;be.step(l)),o.forEach(l=>e.step(l))}function Cte(e,t,n,r){let i=[],o=0;e.doc.nodesBetween(t,n,(s,a)=>{if(!s.isInline)return;o++;let l=null;if(r instanceof ah){let u=s.marks,c;for(;c=r.isInSet(u);)(l||(l=[])).push(c),u=c.removeFromSet(u)}else r?r.isInSet(s.marks)&&(l=[r]):l=s.marks;if(l&&l.length){let u=Math.min(a+s.nodeSize,n);for(let c=0;ce.step(new Wo(s.from,s.to,s.style)))}function eA(e,t,n,r=n.contentMatch,i=!0){let o=e.doc.nodeAt(t),s=[],a=t+1;for(let l=0;l=0;l--)e.step(s[l])}function wte(e,t,n){return(t==0||e.canReplace(t,e.childCount))&&(n==e.childCount||e.canReplace(0,n))}function $o(e){let n=e.parent.content.cutByIndex(e.startIndex,e.endIndex);for(let r=e.depth,i=0,o=0;;--r){let s=e.$from.node(r),a=e.$from.index(r)+i,l=e.$to.indexAfter(r)-o;if(rn;p--)b||r.index(p)>0?(b=!0,c=te.from(r.node(p).copy(c)),f++):l--;let d=te.empty,h=0;for(let p=o,b=!1;p>n;p--)b||i.after(p+1)=0;s--){if(r.size){let a=n[s].type.contentMatch.matchFragment(r);if(!a||!a.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=te.from(n[s].type.create(n[s].attrs,r))}let i=t.start,o=t.end;e.step(new un(i,o,i,o,new de(r,0,0),n.length,!0))}function Ote(e,t,n,r,i){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let o=e.steps.length;e.doc.nodesBetween(t,n,(s,a)=>{let l=typeof i=="function"?i(s):i;if(s.isTextblock&&!s.hasMarkup(r,l)&&Dte(e.doc,e.mapping.slice(o).map(a),r)){let u=null;if(r.schema.linebreakReplacement){let h=r.whitespace=="pre",p=!!r.contentMatch.matchType(r.schema.linebreakReplacement);h&&!p?u=!1:!h&&p&&(u=!0)}u===!1&&T4(e,s,a,o),eA(e,e.mapping.slice(o).map(a,1),r,void 0,u===null);let c=e.mapping.slice(o),f=c.map(a,1),d=c.map(a+s.nodeSize,1);return e.step(new un(f,d,f+1,d-1,new de(te.from(r.create(l,null,s.marks)),0,0),1,!0)),u===!0&&E4(e,s,a,o),!1}})}function E4(e,t,n,r){t.forEach((i,o)=>{if(i.isText){let s,a=/\r?\n|\r/g;for(;s=a.exec(i.text);){let l=e.mapping.slice(r).map(n+1+o+s.index);e.replaceWith(l,l+1,t.type.schema.linebreakReplacement.create())}}})}function T4(e,t,n,r){t.forEach((i,o)=>{if(i.type==i.type.schema.linebreakReplacement){let s=e.mapping.slice(r).map(n+1+o);e.replaceWith(s,s+1,t.type.schema.text(` +`))}})}function Dte(e,t,n){let r=e.resolve(t),i=r.index();return r.parent.canReplaceWith(i,i+1,n)}function Ite(e,t,n,r,i){let o=e.doc.nodeAt(t);if(!o)throw new RangeError("No node at given position");n||(n=o.type);let s=n.create(r,null,i||o.marks);if(o.isLeaf)return e.replaceWith(t,t+o.nodeSize,s);if(!n.validContent(o.content))throw new RangeError("Invalid content for node type "+n.name);e.step(new un(t,t+o.nodeSize,t+1,t+o.nodeSize-1,new de(te.from(s),0,0),1,!0))}function jr(e,t,n=1,r){let i=e.resolve(t),o=i.depth-n,s=r&&r[r.length-1]||i.parent;if(o<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!s.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(let u=i.depth-1,c=n-2;u>o;u--,c--){let f=i.node(u),d=i.index(u);if(f.type.spec.isolating)return!1;let h=f.content.cutByIndex(d,f.childCount),p=r&&r[c+1];p&&(h=h.replaceChild(0,p.type.create(p.attrs)));let b=r&&r[c]||f;if(!f.canReplace(d+1,f.childCount)||!b.type.validContent(h))return!1}let a=i.indexAfter(o),l=r&&r[0];return i.node(o).canReplaceWith(a,a,l?l.type:i.node(o+1).type)}function Lte(e,t,n=1,r){let i=e.doc.resolve(t),o=te.empty,s=te.empty;for(let a=i.depth,l=i.depth-n,u=n-1;a>l;a--,u--){o=te.from(i.node(a).copy(o));let c=r&&r[u];s=te.from(c?c.type.create(c.attrs,s):i.node(a).copy(s))}e.step(new Ln(t,t,new de(o.append(s),n,n),!0))}function _i(e,t){let n=e.resolve(t),r=n.index();return S4(n.nodeBefore,n.nodeAfter)&&n.parent.canReplace(r,r+1)}function Pte(e,t){t.content.size||e.type.compatibleContent(t.type);let n=e.contentMatchAt(e.childCount),{linebreakReplacement:r}=e.type.schema;for(let i=0;i0?(o=r.node(i+1),a++,s=r.node(i).maybeChild(a)):(o=r.node(i).maybeChild(a-1),s=r.node(i+1)),o&&!o.isTextblock&&S4(o,s)&&r.node(i).canReplace(a,a+1))return t;if(i==0)break;t=n<0?r.before(i):r.after(i)}}function Bte(e,t,n){let r=null,{linebreakReplacement:i}=e.doc.type.schema,o=e.doc.resolve(t-n),s=o.node().type;if(i&&s.inlineContent){let c=s.whitespace=="pre",f=!!s.contentMatch.matchType(i);c&&!f?r=!1:!c&&f&&(r=!0)}let a=e.steps.length;if(r===!1){let c=e.doc.resolve(t+n);T4(e,c.node(),c.before(),a)}s.inlineContent&&eA(e,t+n-1,s,o.node().contentMatchAt(o.index()),r==null);let l=e.mapping.slice(a),u=l.map(t-n);if(e.step(new Ln(u,l.map(t+n,-1),de.empty,!0)),r===!0){let c=e.doc.resolve(u);E4(e,c.node(),c.before(),e.steps.length)}return e}function Hte(e,t,n){let r=e.resolve(t);if(r.parent.canReplaceWith(r.index(),r.index(),n))return t;if(r.parentOffset==0)for(let i=r.depth-1;i>=0;i--){let o=r.index(i);if(r.node(i).canReplaceWith(o,o,n))return r.before(i+1);if(o>0)return null}if(r.parentOffset==r.parent.content.size)for(let i=r.depth-1;i>=0;i--){let o=r.indexAfter(i);if(r.node(i).canReplaceWith(o,o,n))return r.after(i+1);if(o=0;s--){let a=s==r.depth?0:r.pos<=(r.start(s+1)+r.end(s+1))/2?-1:1,l=r.index(s)+(a>0?1:0),u=r.node(s),c=!1;if(o==1)c=u.canReplace(l,l,i);else{let f=u.contentMatchAt(l).findWrapping(i.firstChild.type);c=f&&u.canReplaceWith(l,l,f[0])}if(c)return a==0?r.pos:a<0?r.before(s+1):r.after(s+1)}return null}function gh(e,t,n=t,r=de.empty){if(t==n&&!r.size)return null;let i=e.resolve(t),o=e.resolve(n);return x4(i,o,r)?new Ln(t,n,r):new Zx(i,o,r).fit()}function x4(e,t,n){return!n.openStart&&!n.openEnd&&e.start()==t.start()&&e.parent.canReplace(e.index(),t.index(),n.content)}var Zx=class{constructor(t,n,r){this.$from=t,this.$to=n,this.unplaced=r,this.frontier=[],this.placed=te.empty;for(let i=0;i<=t.depth;i++){let o=t.node(i);this.frontier.push({type:o.type,match:o.contentMatchAt(t.indexAfter(i))})}for(let i=t.depth;i>0;i--)this.placed=te.from(t.node(i).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let u=this.findFittable();u?this.placeNodes(u):this.openMore()||this.dropNode()}let t=this.mustMoveInline(),n=this.placed.size-this.depth-this.$from.depth,r=this.$from,i=this.close(t<0?this.$to:r.doc.resolve(t));if(!i)return null;let o=this.placed,s=r.depth,a=i.depth;for(;s&&a&&o.childCount==1;)o=o.firstChild.content,s--,a--;let l=new de(o,s,a);return t>-1?new un(r.pos,t,this.$to.pos,this.$to.end(),l,n):l.size||r.pos!=this.$to.pos?new Ln(r.pos,i.pos,l):null}findFittable(){let t=this.unplaced.openStart;for(let n=this.unplaced.content,r=0,i=this.unplaced.openEnd;r1&&(i=0),o.type.spec.isolating&&i<=r){t=r;break}n=o.content}for(let n=1;n<=2;n++)for(let r=n==1?t:this.unplaced.openStart;r>=0;r--){let i,o=null;r?(o=jx(this.unplaced.content,r-1).firstChild,i=o.content):i=this.unplaced.content;let s=i.firstChild;for(let a=this.depth;a>=0;a--){let{type:l,match:u}=this.frontier[a],c,f=null;if(n==1&&(s?u.matchType(s.type)||(f=u.fillBefore(te.from(s),!1)):o&&l.compatibleContent(o.type)))return{sliceDepth:r,frontierDepth:a,parent:o,inject:f};if(n==2&&s&&(c=u.findWrapping(s.type)))return{sliceDepth:r,frontierDepth:a,parent:o,wrap:c};if(o&&u.matchType(o.type))break}}}openMore(){let{content:t,openStart:n,openEnd:r}=this.unplaced,i=jx(t,n);return!i.childCount||i.firstChild.isLeaf?!1:(this.unplaced=new de(t,n+1,Math.max(r,i.size+n>=t.size-r?n+1:0)),!0)}dropNode(){let{content:t,openStart:n,openEnd:r}=this.unplaced,i=jx(t,n);if(i.childCount<=1&&n>0){let o=t.size-n<=n+i.size;this.unplaced=new de(uh(t,n-1,1),n-1,o?n-1:r)}else this.unplaced=new de(uh(t,n,1),n,r)}placeNodes({sliceDepth:t,frontierDepth:n,parent:r,inject:i,wrap:o}){for(;this.depth>n;)this.closeFrontierNode();if(o)for(let b=0;b1||l==0||b.content.size)&&(f=y,c.push(A4(b.mark(d.allowedMarks(b.marks)),u==1?l:0,u==a.childCount?h:-1)))}let p=u==a.childCount;p||(h=-1),this.placed=ch(this.placed,n,te.from(c)),this.frontier[n].match=f,p&&h<0&&r&&r.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let b=0,y=a;b1&&i==this.$to.end(--r);)++i;return i}findCloseLevel(t){e:for(let n=Math.min(this.depth,t.depth);n>=0;n--){let{match:r,type:i}=this.frontier[n],o=n=0;a--){let{match:l,type:u}=this.frontier[a],c=Xx(t,a,u,l,!0);if(!c||c.childCount)continue e}return{depth:n,fit:s,move:o?t.doc.resolve(t.after(n+1)):t}}}}close(t){let n=this.findCloseLevel(t);if(!n)return null;for(;this.depth>n.depth;)this.closeFrontierNode();n.fit.childCount&&(this.placed=ch(this.placed,n.depth,n.fit)),t=n.move;for(let r=n.depth+1;r<=t.depth;r++){let i=t.node(r),o=i.type.contentMatch.fillBefore(i.content,!0,t.index(r));this.openFrontierNode(i.type,i.attrs,o)}return t}openFrontierNode(t,n=null,r){let i=this.frontier[this.depth];i.match=i.match.matchType(t),this.placed=ch(this.placed,this.depth,te.from(t.create(n,r))),this.frontier.push({type:t,match:t.contentMatch})}closeFrontierNode(){let n=this.frontier.pop().match.fillBefore(te.empty,!0);n.childCount&&(this.placed=ch(this.placed,this.frontier.length,n))}};function uh(e,t,n){return t==0?e.cutByIndex(n,e.childCount):e.replaceChild(0,e.firstChild.copy(uh(e.firstChild.content,t-1,n)))}function ch(e,t,n){return t==0?e.append(n):e.replaceChild(e.childCount-1,e.lastChild.copy(ch(e.lastChild.content,t-1,n)))}function jx(e,t){for(let n=0;n1&&(r=r.replaceChild(0,A4(r.firstChild,t-1,r.childCount==1?n-1:0))),t>0&&(r=e.type.contentMatch.fillBefore(r).append(r),n<=0&&(r=r.append(e.type.contentMatch.matchFragment(r).fillBefore(te.empty,!0)))),e.copy(r)}function Xx(e,t,n,r,i){let o=e.node(t),s=i?e.indexAfter(t):e.index(t);if(s==o.childCount&&!n.compatibleContent(o.type))return null;let a=r.fillBefore(o.content,!0,s);return a&&!Fte(n,o.content,s)?a:null}function Fte(e,t,n){for(let r=n;r0;d--,h--){let p=i.node(d).type.spec;if(p.defining||p.definingAsContext||p.isolating)break;s.indexOf(d)>-1?a=d:i.before(d)==h&&s.splice(1,0,-d)}let l=s.indexOf(a),u=[],c=r.openStart;for(let d=r.content,h=0;;h++){let p=d.firstChild;if(u.push(p),h==r.openStart)break;d=p.content}for(let d=c-1;d>=0;d--){let h=u[d],p=zte(h.type);if(p&&!h.sameMarkup(i.node(Math.abs(a)-1)))c=d;else if(p||!h.type.isTextblock)break}for(let d=r.openStart;d>=0;d--){let h=(d+c+1)%(r.openStart+1),p=u[h];if(p)for(let b=0;b=0&&(e.replace(t,n,r),!(e.steps.length>f));d--){let h=s[d];h<0||(t=i.before(h),n=o.after(h))}}function _4(e,t,n,r,i){if(tr){let o=i.contentMatchAt(0),s=o.fillBefore(e).append(e);e=s.append(o.matchFragment(s).fillBefore(te.empty,!0))}return e}function qte(e,t,n,r){if(!r.isInline&&t==n&&e.doc.resolve(t).parent.content.size){let i=Hte(e.doc,t,r.type);i!=null&&(t=n=i)}e.replaceRange(t,n,new de(te.from(r),0,0))}function Vte(e,t,n){let r=e.doc.resolve(t),i=e.doc.resolve(n);if(r.parent.isTextblock&&i.parent.isTextblock&&r.start()!=i.start()&&r.parentOffset==0&&i.parentOffset==0){let s=r.sharedDepth(n),a=!1;for(let l=r.depth;l>s;l--)r.node(l).type.spec.isolating&&(a=!0);for(let l=i.depth;l>s;l--)i.node(l).type.spec.isolating&&(a=!0);if(!a){for(let l=r.depth;l>0&&t==r.start(l);l--)t=r.before(l);for(let l=i.depth;l>0&&n==i.start(l);l--)n=i.before(l);r=e.doc.resolve(t),i=e.doc.resolve(n)}}let o=C4(r,i);for(let s=0;s0&&(l||r.node(a-1).canReplace(r.index(a-1),i.indexAfter(a-1))))return e.delete(r.before(a),i.after(a))}for(let s=1;s<=r.depth&&s<=i.depth;s++)if(t-r.start(s)==r.depth-s&&n>r.end(s)&&i.end(s)-n!=i.depth-s&&r.start(s-1)==i.start(s-1)&&r.node(s-1).canReplace(r.index(s-1),i.index(s-1)))return e.delete(r.before(s),n);e.delete(t,n)}function C4(e,t){let n=[],r=Math.min(e.depth,t.depth);for(let i=r;i>=0;i--){let o=e.start(i);if(ot.pos+(t.depth-i)||e.node(i).type.spec.isolating||t.node(i).type.spec.isolating)break;(o==t.start(i)||i==e.depth&&i==t.depth&&e.parent.inlineContent&&t.parent.inlineContent&&i&&t.start(i-1)==o-1)&&n.push(i)}return n}var nb=class e extends vn{constructor(t,n,r){super(),this.pos=t,this.attr=n,this.value=r}apply(t){let n=t.nodeAt(this.pos);if(!n)return In.fail("No node at attribute step's position");let r=Object.create(null);for(let o in n.attrs)r[o]=n.attrs[o];r[this.attr]=this.value;let i=n.type.create(r,null,n.marks);return In.fromReplace(t,this.pos,this.pos+1,new de(te.from(i),0,n.isLeaf?0:1))}getMap(){return Yo.empty}invert(t){return new e(this.pos,this.attr,t.nodeAt(this.pos).attrs[this.attr])}map(t){let n=t.mapResult(this.pos,1);return n.deletedAfter?null:new e(n.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(t,n){if(typeof n.pos!="number"||typeof n.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new e(n.pos,n.attr,n.value)}};vn.jsonID("attr",nb);var rb=class e extends vn{constructor(t,n){super(),this.attr=t,this.value=n}apply(t){let n=Object.create(null);for(let i in t.attrs)n[i]=t.attrs[i];n[this.attr]=this.value;let r=t.type.create(n,t.content,t.marks);return In.ok(r)}getMap(){return Yo.empty}invert(t){return new e(this.attr,t.attrs[this.attr])}map(t){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(t,n){if(typeof n.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new e(n.attr,n.value)}};vn.jsonID("docAttr",rb);var kc=class extends Error{};kc=function e(t){let n=Error.call(this,t);return n.__proto__=e.prototype,n};kc.prototype=Object.create(Error.prototype);kc.prototype.constructor=kc;kc.prototype.name="TransformError";var Mc=class{constructor(t){this.doc=t,this.steps=[],this.docs=[],this.mapping=new dh}get before(){return this.docs.length?this.docs[0]:this.doc}step(t){let n=this.maybeStep(t);if(n.failed)throw new kc(n.failed);return this}maybeStep(t){let n=t.apply(this.doc);return n.failed||this.addStep(t,n.doc),n}get docChanged(){return this.steps.length>0}changedRange(){let t=1e9,n=-1e9;for(let r=0;r{t=Math.min(t,a),n=Math.max(n,l)})}return t==1e9?null:{from:t,to:n}}addStep(t,n){this.docs.push(this.doc),this.steps.push(t),this.mapping.appendMap(t.getMap()),this.doc=n}replace(t,n=t,r=de.empty){let i=gh(this.doc,t,n,r);return i&&this.step(i),this}replaceWith(t,n,r){return this.replace(t,n,new de(te.from(r),0,0))}delete(t,n){return this.replace(t,n,de.empty)}insert(t,n){return this.replaceWith(t,t,n)}replaceRange(t,n,r){return Ute(this,t,n,r),this}replaceRangeWith(t,n,r){return qte(this,t,n,r),this}deleteRange(t,n){return Vte(this,t,n),this}lift(t,n){return Nte(this,t,n),this}join(t,n=1){return Bte(this,t,n),this}wrap(t,n){return Mte(this,t,n),this}setBlockType(t,n=t,r,i=null){return Ote(this,t,n,r,i),this}setNodeMarkup(t,n,r=null,i){return Ite(this,t,n,r,i),this}setNodeAttribute(t,n,r){return this.step(new nb(t,n,r)),this}setDocAttribute(t,n){return this.step(new rb(t,n)),this}addNodeMark(t,n){return this.step(new ph(t,n)),this}removeNodeMark(t,n){let r=this.doc.nodeAt(t);if(!r)throw new RangeError("No node at position "+t);if(n instanceof rt)n.isInSet(r.marks)&&this.step(new Rc(t,n));else{let i=r.marks,o,s=[];for(;o=n.isInSet(i);)s.push(new Rc(t,o)),i=o.removeFromSet(i);for(let a=s.length-1;a>=0;a--)this.step(s[a])}return this}split(t,n=1,r){return Lte(this,t,n,r),this}addMark(t,n,r){return _te(this,t,n,r),this}removeMark(t,n,r){return Cte(this,t,n,r),this}clearIncompatible(t,n,r){return eA(this,t,n,r),this}};var tA=Object.create(null),Ue=class{constructor(t,n,r){this.$anchor=t,this.$head=n,this.ranges=r||[new ob(t.min(n),t.max(n))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let t=this.ranges;for(let n=0;n=0;o--){let s=n<0?Oc(t.node(0),t.node(o),t.before(o+1),t.index(o),n,r):Oc(t.node(0),t.node(o),t.after(o+1),t.index(o)+1,n,r);if(s)return s}return null}static near(t,n=1){return this.findFrom(t,n)||this.findFrom(t,-n)||new lr(t.node(0))}static atStart(t){return Oc(t,t,0,0,1)||new lr(t)}static atEnd(t){return Oc(t,t,t.content.size,t.childCount,-1)||new lr(t)}static fromJSON(t,n){if(!n||!n.type)throw new RangeError("Invalid input for Selection.fromJSON");let r=tA[n.type];if(!r)throw new RangeError(`No selection type ${n.type} defined`);return r.fromJSON(t,n)}static jsonID(t,n){if(t in tA)throw new RangeError("Duplicate use of selection JSON ID "+t);return tA[t]=n,n.prototype.jsonID=t,n}getBookmark(){return Me.between(this.$anchor,this.$head).getBookmark()}};Ue.prototype.visible=!0;var ob=class{constructor(t,n){this.$from=t,this.$to=n}},w4=!1;function N4(e){!w4&&!e.parent.inlineContent&&(w4=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+e.parent.type.name+")"))}var Me=class e extends Ue{constructor(t,n=t){N4(t),N4(n),super(t,n)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(t,n){let r=t.resolve(n.map(this.head));if(!r.parent.inlineContent)return Ue.near(r);let i=t.resolve(n.map(this.anchor));return new e(i.parent.inlineContent?i:r,r)}replace(t,n=de.empty){if(super.replace(t,n),n==de.empty){let r=this.$from.marksAcross(this.$to);r&&t.ensureMarks(r)}}eq(t){return t instanceof e&&t.anchor==this.anchor&&t.head==this.head}getBookmark(){return new sb(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(t,n){if(typeof n.anchor!="number"||typeof n.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new e(t.resolve(n.anchor),t.resolve(n.head))}static create(t,n,r=n){let i=t.resolve(n);return new this(i,r==n?i:t.resolve(r))}static between(t,n,r){let i=t.pos-n.pos;if((!r||i)&&(r=i>=0?1:-1),!n.parent.inlineContent){let o=Ue.findFrom(n,r,!0)||Ue.findFrom(n,-r,!0);if(o)n=o.$head;else return Ue.near(n,r)}return t.parent.inlineContent||(i==0?t=n:(t=(Ue.findFrom(t,-r,!0)||Ue.findFrom(t,r,!0)).$anchor,t.pos0?0:1);i>0?s=0;s+=i){let a=t.child(s);if(a.isAtom){if(!o&&_e.isSelectable(a))return _e.create(e,n-(i<0?a.nodeSize:0))}else{let l=Oc(e,a,n+i,i<0?a.childCount:0,i,o);if(l)return l}n+=a.nodeSize*i}return null}function R4(e,t,n){let r=e.steps.length-1;if(r{s==null&&(s=c)}),e.setSelection(Ue.near(e.doc.resolve(s),n))}var k4=1,ib=2,M4=4,iA=class extends Mc{constructor(t){super(t.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=t.selection,this.storedMarks=t.storedMarks}get selection(){return this.curSelectionFor0}setStoredMarks(t){return this.storedMarks=t,this.updated|=ib,this}ensureMarks(t){return rt.sameSet(this.storedMarks||this.selection.$from.marks(),t)||this.setStoredMarks(t),this}addStoredMark(t){return this.ensureMarks(t.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(t){return this.ensureMarks(t.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&ib)>0}addStep(t,n){super.addStep(t,n),this.updated=this.updated&~ib,this.storedMarks=null}setTime(t){return this.time=t,this}replaceSelection(t){return this.selection.replace(this,t),this}replaceSelectionWith(t,n=!0){let r=this.selection;return n&&(t=t.mark(this.storedMarks||(r.empty?r.$from.marks():r.$from.marksAcross(r.$to)||rt.none))),r.replaceWith(this,t),this}deleteSelection(){return this.selection.replace(this),this}insertText(t,n,r){let i=this.doc.type.schema;if(n==null)return t?this.replaceSelectionWith(i.text(t),!0):this.deleteSelection();{if(r==null&&(r=n),!t)return this.deleteRange(n,r);let o=this.storedMarks;if(!o){let s=this.doc.resolve(n);o=r==n?s.marks():s.marksAcross(this.doc.resolve(r))}return this.replaceRangeWith(n,r,i.text(t,o)),!this.selection.empty&&this.selection.to==n+t.length&&this.setSelection(Ue.near(this.selection.$to)),this}}setMeta(t,n){return this.meta[typeof t=="string"?t:t.key]=n,this}getMeta(t){return this.meta[typeof t=="string"?t:t.key]}get isGeneric(){for(let t in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=M4,this}get scrolledIntoView(){return(this.updated&M4)>0}};function O4(e,t){return!t||!e?e:e.bind(t)}var bl=class{constructor(t,n,r){this.name=t,this.init=O4(n.init,r),this.apply=O4(n.apply,r)}},Kte=[new bl("doc",{init(e){return e.doc||e.schema.topNodeType.createAndFill()},apply(e){return e.doc}}),new bl("selection",{init(e,t){return e.selection||Ue.atStart(t.doc)},apply(e){return e.selection}}),new bl("storedMarks",{init(e){return e.storedMarks||null},apply(e,t,n,r){return r.selection.$cursor?e.storedMarks:null}}),new bl("scrollToSelection",{init(){return 0},apply(e,t){return e.scrolledIntoView?t+1:t}})],bh=class{constructor(t,n){this.schema=t,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=Kte.slice(),n&&n.forEach(r=>{if(this.pluginsByKey[r.key])throw new RangeError("Adding different instances of a keyed plugin ("+r.key+")");this.plugins.push(r),this.pluginsByKey[r.key]=r,r.spec.state&&this.fields.push(new bl(r.key,r.spec.state,r))})}},ab=class e{constructor(t){this.config=t}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(t){return this.applyTransaction(t).state}filterTransaction(t,n=-1){for(let r=0;rr.toJSON())),t&&typeof t=="object")for(let r in t){if(r=="doc"||r=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let i=t[r],o=i.spec.state;o&&o.toJSON&&(n[r]=o.toJSON.call(i,this[i.key]))}return n}static fromJSON(t,n,r){if(!n)throw new RangeError("Invalid input for EditorState.fromJSON");if(!t.schema)throw new RangeError("Required config field 'schema' missing");let i=new bh(t.schema,t.plugins),o=new e(i);return i.fields.forEach(s=>{if(s.name=="doc")o.doc=Nr.fromJSON(t.schema,n.doc);else if(s.name=="selection")o.selection=Ue.fromJSON(o.doc,n.selection);else if(s.name=="storedMarks")n.storedMarks&&(o.storedMarks=n.storedMarks.map(t.schema.markFromJSON));else{if(r)for(let a in r){let l=r[a],u=l.spec.state;if(l.key==s.name&&u&&u.fromJSON&&Object.prototype.hasOwnProperty.call(n,a)){o[s.name]=u.fromJSON.call(l,t,n[a],o);return}}o[s.name]=s.init(t,o)}}),o}};function D4(e,t,n){for(let r in e){let i=e[r];i instanceof Function?i=i.bind(t):r=="handleDOMEvents"&&(i=D4(i,t,{})),n[r]=i}return n}var ct=class{constructor(t){this.spec=t,this.props={},t.props&&D4(t.props,this,this.props),this.key=t.key?t.key.key:I4("plugin")}getState(t){return t[this.key]}},nA=Object.create(null);function I4(e){return e in nA?e+"$"+ ++nA[e]:(nA[e]=0,e+"$")}var Nt=class{constructor(t="key"){this.key=I4(t)}get(t){return t.config.pluginsByKey[this.key]}getState(t){return t[this.key]}};var P4=(e,t)=>e.selection.empty?!1:(t&&t(e.tr.deleteSelection().scrollIntoView()),!0);function B4(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock("backward",e):n.parentOffset>0)?null:n}var sA=(e,t,n)=>{let r=B4(e,n);if(!r)return!1;let i=lA(r);if(!i){let s=r.blockRange(),a=s&&$o(s);return a==null?!1:(t&&t(e.tr.lift(s,a).scrollIntoView()),!0)}let o=i.nodeBefore;if(Y4(e,i,t,-1))return!0;if(r.parent.content.size==0&&(Dc(o,"end")||_e.isSelectable(o)))for(let s=r.depth;;s--){let a=gh(e.doc,r.before(s),r.after(s),de.empty);if(a&&a.slice.size1)break}return o.isAtom&&i.depth==r.depth-1?(t&&t(e.tr.delete(i.pos-o.nodeSize,i.pos).scrollIntoView()),!0):!1},H4=(e,t,n)=>{let r=B4(e,n);if(!r)return!1;let i=lA(r);return i?z4(e,i,t):!1},F4=(e,t,n)=>{let r=U4(e,n);if(!r)return!1;let i=fA(r);return i?z4(e,i,t):!1};function z4(e,t,n){let r=t.nodeBefore,i=r,o=t.pos-1;for(;!i.isTextblock;o--){if(i.type.spec.isolating)return!1;let c=i.lastChild;if(!c)return!1;i=c}let s=t.nodeAfter,a=s,l=t.pos+1;for(;!a.isTextblock;l++){if(a.type.spec.isolating)return!1;let c=a.firstChild;if(!c)return!1;a=c}let u=gh(e.doc,o,l,de.empty);if(!u||u.from!=o||u instanceof Ln&&u.slice.size>=l-o)return!1;if(n){let c=e.tr.step(u);c.setSelection(Me.create(c.doc,o)),n(c.scrollIntoView())}return!0}function Dc(e,t,n=!1){for(let r=e;r;r=t=="start"?r.firstChild:r.lastChild){if(r.isTextblock)return!0;if(n&&r.childCount!=1)return!1}return!1}var aA=(e,t,n)=>{let{$head:r,empty:i}=e.selection,o=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("backward",e):r.parentOffset>0)return!1;o=lA(r)}let s=o&&o.nodeBefore;return!s||!_e.isSelectable(s)?!1:(t&&t(e.tr.setSelection(_e.create(e.doc,o.pos-s.nodeSize)).scrollIntoView()),!0)};function lA(e){if(!e.parent.type.spec.isolating)for(let t=e.depth-1;t>=0;t--){if(e.index(t)>0)return e.doc.resolve(e.before(t+1));if(e.node(t).type.spec.isolating)break}return null}function U4(e,t){let{$cursor:n}=e.selection;return!n||(t?!t.endOfTextblock("forward",e):n.parentOffset{let r=U4(e,n);if(!r)return!1;let i=fA(r);if(!i)return!1;let o=i.nodeAfter;if(Y4(e,i,t,1))return!0;if(r.parent.content.size==0&&(Dc(o,"start")||_e.isSelectable(o))){let s=gh(e.doc,r.before(),r.after(),de.empty);if(s&&s.slice.size{let{$head:r,empty:i}=e.selection,o=r;if(!i)return!1;if(r.parent.isTextblock){if(n?!n.endOfTextblock("forward",e):r.parentOffset=0;t--){let n=e.node(t);if(e.index(t)+1{let n=e.selection,r=n instanceof _e,i;if(r){if(n.node.isTextblock||!_i(e.doc,n.from))return!1;i=n.from}else if(i=gl(e.doc,n.from,-1),i==null)return!1;if(t){let o=e.tr.join(i);r&&o.setSelection(_e.create(o.doc,i-e.doc.resolve(i).nodeBefore.nodeSize)),t(o.scrollIntoView())}return!0},V4=(e,t)=>{let n=e.selection,r;if(n instanceof _e){if(n.node.isTextblock||!_i(e.doc,n.to))return!1;r=n.to}else if(r=gl(e.doc,n.to,1),r==null)return!1;return t&&t(e.tr.join(r).scrollIntoView()),!0},G4=(e,t)=>{let{$from:n,$to:r}=e.selection,i=n.blockRange(r),o=i&&$o(i);return o==null?!1:(t&&t(e.tr.lift(i,o).scrollIntoView()),!0)},dA=(e,t)=>{let{$head:n,$anchor:r}=e.selection;return!n.parent.type.spec.code||!n.sameParent(r)?!1:(t&&t(e.tr.insertText(` +`).scrollIntoView()),!0)};function hA(e){for(let t=0;t{let{$head:n,$anchor:r}=e.selection;if(!n.parent.type.spec.code||!n.sameParent(r))return!1;let i=n.node(-1),o=n.indexAfter(-1),s=hA(i.contentMatchAt(o));if(!s||!i.canReplaceWith(o,o,s))return!1;if(t){let a=n.after(),l=e.tr.replaceWith(a,a,s.createAndFill());l.setSelection(Ue.near(l.doc.resolve(a),1)),t(l.scrollIntoView())}return!0},mA=(e,t)=>{let n=e.selection,{$from:r,$to:i}=n;if(n instanceof lr||r.parent.inlineContent||i.parent.inlineContent)return!1;let o=hA(i.parent.contentMatchAt(i.indexAfter()));if(!o||!o.isTextblock)return!1;if(t){let s=(!r.parentOffset&&i.index(){let{$cursor:n}=e.selection;if(!n||n.parent.content.size)return!1;if(n.depth>1&&n.after()!=n.end(-1)){let o=n.before();if(jr(e.doc,o))return t&&t(e.tr.split(o).scrollIntoView()),!0}let r=n.blockRange(),i=r&&$o(r);return i==null?!1:(t&&t(e.tr.lift(r,i).scrollIntoView()),!0)};function Yte(e){return(t,n)=>{let{$from:r,$to:i}=t.selection;if(t.selection instanceof _e&&t.selection.node.isBlock)return!r.parentOffset||!jr(t.doc,r.pos)?!1:(n&&n(t.tr.split(r.pos).scrollIntoView()),!0);if(!r.depth)return!1;let o=[],s,a,l=!1,u=!1;for(let h=r.depth;;h--)if(r.node(h).isBlock){l=r.end(h)==r.pos+(r.depth-h),u=r.start(h)==r.pos-(r.depth-h),a=hA(r.node(h-1).contentMatchAt(r.indexAfter(h-1)));let b=e&&e(i.parent,l,r);o.unshift(b||(l&&a?{type:a}:null)),s=h;break}else{if(h==1)return!1;o.unshift(null)}let c=t.tr;(t.selection instanceof Me||t.selection instanceof lr)&&c.deleteSelection();let f=c.mapping.map(r.pos),d=jr(c.doc,f,o.length,o);if(d||(o[0]=a?{type:a}:null,d=jr(c.doc,f,o.length,o)),!d)return!1;if(c.split(f,o.length,o),!l&&u&&r.node(s).type!=a){let h=c.mapping.map(r.before(s)),p=c.doc.resolve(h);a&&r.node(s-1).canReplaceWith(p.index(),p.index()+1,a)&&c.setNodeMarkup(c.mapping.map(r.before(s)),a)}return n&&n(c.scrollIntoView()),!0}}var Wte=Yte();var K4=(e,t)=>{let{$from:n,to:r}=e.selection,i,o=n.sharedDepth(r);return o==0?!1:(i=n.before(o),t&&t(e.tr.setSelection(_e.create(e.doc,i))),!0)},$te=(e,t)=>(t&&t(e.tr.setSelection(new lr(e.doc))),!0);function jte(e,t,n){let r=t.nodeBefore,i=t.nodeAfter,o=t.index();return!r||!i||!r.type.compatibleContent(i.type)?!1:!r.content.size&&t.parent.canReplace(o-1,o)?(n&&n(e.tr.delete(t.pos-r.nodeSize,t.pos).scrollIntoView()),!0):!t.parent.canReplace(o,o+1)||!(i.isTextblock||_i(e.doc,t.pos))?!1:(n&&n(e.tr.join(t.pos).scrollIntoView()),!0)}function Y4(e,t,n,r){let i=t.nodeBefore,o=t.nodeAfter,s,a,l=i.type.spec.isolating||o.type.spec.isolating;if(!l&&jte(e,t,n))return!0;let u=!l&&t.parent.canReplace(t.index(),t.index()+1);if(u&&(s=(a=i.contentMatchAt(i.childCount)).findWrapping(o.type))&&a.matchType(s[0]||o.type).validEnd){if(n){let h=t.pos+o.nodeSize,p=te.empty;for(let g=s.length-1;g>=0;g--)p=te.from(s[g].create(null,p));p=te.from(i.copy(p));let b=e.tr.step(new un(t.pos-1,h,t.pos,h,new de(p,1,0),s.length,!0)),y=b.doc.resolve(h+2*s.length);y.nodeAfter&&y.nodeAfter.type==i.type&&_i(b.doc,y.pos)&&b.join(y.pos),n(b.scrollIntoView())}return!0}let c=o.type.spec.isolating||r>0&&l?null:Ue.findFrom(t,1),f=c&&c.$from.blockRange(c.$to),d=f&&$o(f);if(d!=null&&d>=t.depth)return n&&n(e.tr.lift(f,d).scrollIntoView()),!0;if(u&&Dc(o,"start",!0)&&Dc(i,"end")){let h=i,p=[];for(;p.push(h),!h.isTextblock;)h=h.lastChild;let b=o,y=1;for(;!b.isTextblock;b=b.firstChild)y++;if(h.canReplace(h.childCount,h.childCount,b.content)){if(n){let g=te.empty;for(let T=p.length-1;T>=0;T--)g=te.from(p[T].copy(g));let E=e.tr.step(new un(t.pos-p.length,t.pos+o.nodeSize,t.pos+y,t.pos+o.nodeSize-y,new de(g,p.length,0),0,!0));n(E.scrollIntoView())}return!0}}return!1}function W4(e){return function(t,n){let r=t.selection,i=e<0?r.$from:r.$to,o=i.depth;for(;i.node(o).isInline;){if(!o)return!1;o--}return i.node(o).isTextblock?(n&&n(t.tr.setSelection(Me.create(t.doc,e<0?i.start(o):i.end(o)))),!0):!1}}var bA=W4(-1),yA=W4(1);function $4(e,t=null){return function(n,r){let{$from:i,$to:o}=n.selection,s=i.blockRange(o),a=s&&mh(s,e,t);return a?(r&&r(n.tr.wrap(s,a).scrollIntoView()),!0):!1}}function EA(e,t=null){return function(n,r){let i=!1;for(let o=0;o{if(i)return!1;if(!(!l.isTextblock||l.hasMarkup(e,t)))if(l.type==e)i=!0;else{let c=n.doc.resolve(u),f=c.index();i=c.parent.canReplaceWith(f,f+1,e)}})}if(!i)return!1;if(r){let o=n.tr;for(let s=0;s=2&&t.$from.node(t.depth-1).type.compatibleContent(n)&&t.startIndex==0){if(t.$from.index(t.depth-1)==0)return!1;let l=s.resolve(t.start-2);o=new pl(l,l,t.depth),t.endIndex=0;c--)o=te.from(n[c].type.create(n[c].attrs,o));e.step(new un(t.start-(r?2:0),t.end,t.start,t.end,new de(o,0,0),n.length,!0));let s=0;for(let c=0;cs.childCount>0&&s.firstChild.type==e);return o?n?r.node(o.depth-1).type==e?Jte(t,n,e,o):ene(t,n,o):!0:!1}}function Jte(e,t,n,r){let i=e.tr,o=r.end,s=r.$to.end(r.depth);ob;p--)h-=i.child(p).nodeSize,r.delete(h-1,h+1);let o=r.doc.resolve(n.start),s=o.nodeAfter;if(r.mapping.map(n.end)!=n.start+o.nodeAfter.nodeSize)return!1;let a=n.startIndex==0,l=n.endIndex==i.childCount,u=o.node(-1),c=o.index(-1);if(!u.canReplace(c+(a?0:1),c+1,s.content.append(l?te.empty:te.from(i))))return!1;let f=o.pos,d=f+s.nodeSize;return r.step(new un(f-(a?1:0),d+(l?1:0),f+1,d-1,new de((a?te.empty:te.from(i.copy(te.empty))).append(l?te.empty:te.from(i.copy(te.empty))),a?0:1,l?0:1),a?0:1)),t(r.scrollIntoView()),!0}function Q4(e){return function(t,n){let{$from:r,$to:i}=t.selection,o=r.blockRange(i,u=>u.childCount>0&&u.firstChild.type==e);if(!o)return!1;let s=o.startIndex;if(s==0)return!1;let a=o.parent,l=a.child(s-1);if(l.type!=e)return!1;if(n){let u=l.lastChild&&l.lastChild.type==a.type,c=te.from(u?e.create():null),f=new de(te.from(e.create(null,te.from(a.type.create(null,c)))),u?3:1,0),d=o.start,h=o.end;n(t.tr.step(new un(d-(u?3:1),h,d,h,f,1,!0)).scrollIntoView())}return!0}}var Pn=function(e){for(var t=0;;t++)if(e=e.previousSibling,!e)return t},Bc=function(e){let t=e.assignedSlot||e.parentNode;return t&&t.nodeType==11?t.host:t},CA=null,Xo=function(e,t,n){let r=CA||(CA=document.createRange());return r.setEnd(e,n??e.nodeValue.length),r.setStart(e,t||0),r},tne=function(){CA=null},Al=function(e,t,n,r){return n&&(Z4(e,t,n,r,-1)||Z4(e,t,n,r,1))},nne=/^(img|br|input|textarea|hr)$/i;function Z4(e,t,n,r,i){for(var o;;){if(e==n&&t==r)return!0;if(t==(i<0?0:fi(e))){let s=e.parentNode;if(!s||s.nodeType!=1||_h(e)||nne.test(e.nodeName)||e.contentEditable=="false")return!1;t=Pn(e)+(i<0?0:1),e=s}else if(e.nodeType==1){let s=e.childNodes[t+(i<0?-1:0)];if(s.nodeType==1&&s.contentEditable=="false")if(!((o=s.pmViewDesc)===null||o===void 0)&&o.ignoreForSelection)t+=i;else return!1;else e=s,t=i<0?fi(e):0}else return!1}}function fi(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function rne(e,t){for(;;){if(e.nodeType==3&&t)return e;if(e.nodeType==1&&t>0){if(e.contentEditable=="false")return null;e=e.childNodes[t-1],t=fi(e)}else if(e.parentNode&&!_h(e))t=Pn(e),e=e.parentNode;else return null}}function ine(e,t){for(;;){if(e.nodeType==3&&t2),ci=Hc||(to?/Mac/.test(to.platform):!1),O5=to?/Win/.test(to.platform):!1,Qo=/Android \d/.test(ia),Ch=!!J4&&"webkitFontSmoothing"in J4.documentElement.style,lne=Ch?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function une(e){let t=e.defaultView&&e.defaultView.visualViewport;return t?{left:0,right:t.width,top:0,bottom:t.height}:{left:0,right:e.documentElement.clientWidth,top:0,bottom:e.documentElement.clientHeight}}function jo(e,t){return typeof e=="number"?e:e[t]}function cne(e){let t=e.getBoundingClientRect(),n=t.width/e.offsetWidth||1,r=t.height/e.offsetHeight||1;return{left:t.left,right:t.left+e.clientWidth*n,top:t.top,bottom:t.top+e.clientHeight*r}}function e5(e,t,n){let r=e.someProp("scrollThreshold")||0,i=e.someProp("scrollMargin")||5,o=e.dom.ownerDocument;for(let s=n||e.dom;s;){if(s.nodeType!=1){s=Bc(s);continue}let a=s,l=a==o.body,u=l?une(o):cne(a),c=0,f=0;if(t.topu.bottom-jo(r,"bottom")&&(f=t.bottom-t.top>u.bottom-u.top?t.top+jo(i,"top")-u.top:t.bottom-u.bottom+jo(i,"bottom")),t.leftu.right-jo(r,"right")&&(c=t.right-u.right+jo(i,"right")),c||f)if(l)o.defaultView.scrollBy(c,f);else{let h=a.scrollLeft,p=a.scrollTop;f&&(a.scrollTop+=f),c&&(a.scrollLeft+=c);let b=a.scrollLeft-h,y=a.scrollTop-p;t={left:t.left-b,top:t.top-y,right:t.right-b,bottom:t.bottom-y}}let d=l?"fixed":getComputedStyle(s).position;if(/^(fixed|sticky)$/.test(d))break;s=d=="absolute"?s.offsetParent:Bc(s)}}function fne(e){let t=e.dom.getBoundingClientRect(),n=Math.max(0,t.top),r,i;for(let o=(t.left+t.right)/2,s=n+1;s=n-20){r=a,i=l.top;break}}return{refDOM:r,refTop:i,stack:D5(e.dom)}}function D5(e){let t=[],n=e.ownerDocument;for(let r=e;r&&(t.push({dom:r,top:r.scrollTop,left:r.scrollLeft}),e!=n);r=Bc(r));return t}function dne({refDOM:e,refTop:t,stack:n}){let r=e?e.getBoundingClientRect().top:0;I5(n,r==0?0:r-t)}function I5(e,t){for(let n=0;n=a){s=Math.max(p.bottom,s),a=Math.min(p.top,a);let b=p.left>t.left?p.left-t.left:p.right=(p.left+p.right)/2?1:0));continue}}else p.top>t.top&&!l&&p.left<=t.left&&p.right>=t.left&&(l=c,u={left:Math.max(p.left,Math.min(p.right,t.left)),top:p.top});!n&&(t.left>=p.right&&t.top>=p.top||t.left>=p.left&&t.top>=p.bottom)&&(o=f+1)}}return!n&&l&&(n=l,i=u,r=0),n&&n.nodeType==3?pne(n,i):!n||r&&n.nodeType==1?{node:e,offset:o}:L5(n,i)}function pne(e,t){let n=e.nodeValue.length,r=document.createRange(),i;for(let o=0;o=(s.left+s.right)/2?1:0)};break}}return r.detach(),i||{node:e,offset:0}}function KA(e,t){return e.left>=t.left-1&&e.left<=t.right+1&&e.top>=t.top-1&&e.top<=t.bottom+1}function mne(e,t){let n=e.parentNode;return n&&/^li$/i.test(n.nodeName)&&t.left(s.left+s.right)/2?1:-1}return e.docView.posFromDOM(r,i,o)}function bne(e,t,n,r){let i=-1;for(let o=t,s=!1;o!=e.dom;){let a=e.docView.nearestDesc(o,!0),l;if(!a)return null;if(a.dom.nodeType==1&&(a.node.isBlock&&a.parent||!a.contentDOM)&&((l=a.dom.getBoundingClientRect()).width||l.height)&&(a.node.isBlock&&a.parent&&!/^T(R|BODY|HEAD|FOOT)$/.test(a.dom.nodeName)&&(!s&&l.left>r.left||l.top>r.top?i=a.posBefore:(!s&&l.right-1?i:e.docView.posFromDOM(t,n,-1)}function P5(e,t,n){let r=e.childNodes.length;if(r&&n.topt.top&&i++}let u;Ch&&i&&r.nodeType==1&&(u=r.childNodes[i-1]).nodeType==1&&u.contentEditable=="false"&&u.getBoundingClientRect().top>=t.top&&i--,r==e.dom&&i==r.childNodes.length-1&&r.lastChild.nodeType==1&&t.top>r.lastChild.getBoundingClientRect().bottom?a=e.state.doc.content.size:(i==0||r.nodeType!=1||r.childNodes[i-1].nodeName!="BR")&&(a=bne(e,r,i,t))}a==null&&(a=gne(e,s,t));let l=e.docView.nearestDesc(s,!0);return{pos:a,inside:l?l.posAtStart-l.border:-1}}function t5(e){return e.top=0&&i==r.nodeValue.length?(l--,c=1):n<0?l--:u++,yh(ea(Xo(r,l,u),c),c<0)}if(!e.state.doc.resolve(t-(o||0)).parent.inlineContent){if(o==null&&i&&(n<0||i==fi(r))){let l=r.childNodes[i-1];if(l.nodeType==1)return SA(l.getBoundingClientRect(),!1)}if(o==null&&i=0)}if(o==null&&i&&(n<0||i==fi(r))){let l=r.childNodes[i-1],u=l.nodeType==3?Xo(l,fi(l)-(s?0:1)):l.nodeType==1&&(l.nodeName!="BR"||!l.nextSibling)?l:null;if(u)return yh(ea(u,1),!1)}if(o==null&&i=0)}function yh(e,t){if(e.width==0)return e;let n=t?e.left:e.right;return{top:e.top,bottom:e.bottom,left:n,right:n}}function SA(e,t){if(e.height==0)return e;let n=t?e.top:e.bottom;return{top:n,bottom:n,left:e.left,right:e.right}}function H5(e,t,n){let r=e.state,i=e.root.activeElement;r!=t&&e.updateState(t),i!=e.dom&&e.focus();try{return n()}finally{r!=t&&e.updateState(r),i!=e.dom&&i&&i.focus()}}function Tne(e,t,n){let r=t.selection,i=n=="up"?r.$from:r.$to;return H5(e,t,()=>{let{node:o}=e.docView.domFromPos(i.pos,n=="up"?-1:1);for(;;){let a=e.docView.nearestDesc(o,!0);if(!a)break;if(a.node.isBlock){o=a.contentDOM||a.dom;break}o=a.dom.parentNode}let s=B5(e,i.pos,1);for(let a=o.firstChild;a;a=a.nextSibling){let l;if(a.nodeType==1)l=a.getClientRects();else if(a.nodeType==3)l=Xo(a,0,a.nodeValue.length).getClientRects();else continue;for(let u=0;uc.top+1&&(n=="up"?s.top-c.top>(c.bottom-s.top)*2:c.bottom-s.bottom>(s.bottom-c.top)*2))return!1}}return!0})}var Sne=/[\u0590-\u08ac]/;function vne(e,t,n){let{$head:r}=t.selection;if(!r.parent.isTextblock)return!1;let i=r.parentOffset,o=!i,s=i==r.parent.content.size,a=e.domSelection();return a?!Sne.test(r.parent.textContent)||!a.modify?n=="left"||n=="backward"?o:s:H5(e,t,()=>{let{focusNode:l,focusOffset:u,anchorNode:c,anchorOffset:f}=e.domSelectionRange(),d=a.caretBidiLevel;a.modify("move",n,"character");let h=r.depth?e.docView.domAfterPos(r.before()):e.dom,{focusNode:p,focusOffset:b}=e.domSelectionRange(),y=p&&!h.contains(p.nodeType==1?p:p.parentNode)||l==p&&u==b;try{a.collapse(c,f),l&&(l!=c||u!=f)&&a.extend&&a.extend(l,u)}catch{}return d!=null&&(a.caretBidiLevel=d),y}):r.pos==r.start()||r.pos==r.end()}var n5=null,r5=null,i5=!1;function xne(e,t,n){return n5==t&&r5==n?i5:(n5=t,r5=n,i5=n=="up"||n=="down"?Tne(e,t,n):vne(e,t,n))}var hi=0,o5=1,El=2,no=3,_l=class{constructor(t,n,r,i){this.parent=t,this.children=n,this.dom=r,this.contentDOM=i,this.dirty=hi,r.pmViewDesc=this}matchesWidget(t){return!1}matchesMark(t){return!1}matchesNode(t,n,r){return!1}matchesHack(t){return!1}parseRule(){return null}stopEvent(t){return!1}get size(){let t=0;for(let n=0;nPn(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))i=t.compareDocumentPosition(this.contentDOM)&2;else if(this.dom.firstChild){if(n==0)for(let o=t;;o=o.parentNode){if(o==this.dom){i=!1;break}if(o.previousSibling)break}if(i==null&&n==t.childNodes.length)for(let o=t;;o=o.parentNode){if(o==this.dom){i=!0;break}if(o.nextSibling)break}}return i??r>0?this.posAtEnd:this.posAtStart}nearestDesc(t,n=!1){for(let r=!0,i=t;i;i=i.parentNode){let o=this.getDesc(i),s;if(o&&(!n||o.node))if(r&&(s=o.nodeDOM)&&!(s.nodeType==1?s.contains(t.nodeType==1?t:t.parentNode):s==t))r=!1;else return o}}getDesc(t){let n=t.pmViewDesc;for(let r=n;r;r=r.parent)if(r==this)return n}posFromDOM(t,n,r){for(let i=t;i;i=i.parentNode){let o=this.getDesc(i);if(o)return o.localPosFromDOM(t,n,r)}return-1}descAt(t){for(let n=0,r=0;nt||s instanceof cb){i=t-o;break}o=a}if(i)return this.children[r].domFromPos(i-this.children[r].border,n);for(let o;r&&!(o=this.children[r-1]).size&&o instanceof lb&&o.side>=0;r--);if(n<=0){let o,s=!0;for(;o=r?this.children[r-1]:null,!(!o||o.dom.parentNode==this.contentDOM);r--,s=!1);return o&&n&&s&&!o.border&&!o.domAtom?o.domFromPos(o.size,n):{node:this.contentDOM,offset:o?Pn(o.dom)+1:0}}else{let o,s=!0;for(;o=r=c&&n<=u-l.border&&l.node&&l.contentDOM&&this.contentDOM.contains(l.contentDOM))return l.parseRange(t,n,c);t=s;for(let f=a;f>0;f--){let d=this.children[f-1];if(d.size&&d.dom.parentNode==this.contentDOM&&!d.emptyChildAt(1)){i=Pn(d.dom)+1;break}t-=d.size}i==-1&&(i=0)}if(i>-1&&(u>n||a==this.children.length-1)){n=u;for(let c=a+1;cp&&sn){let p=a;a=l,l=p}let h=document.createRange();h.setEnd(l.node,l.offset),h.setStart(a.node,a.offset),u.removeAllRanges(),u.addRange(h)}}ignoreMutation(t){return!this.contentDOM&&t.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(t,n){for(let r=0,i=0;i=r:tr){let a=r+o.border,l=s-o.border;if(t>=a&&n<=l){this.dirty=t==r||n==s?El:o5,t==a&&n==l&&(o.contentLost||o.dom.parentNode!=this.contentDOM)?o.dirty=no:o.markDirty(t-a,n-a);return}else o.dirty=o.dom==o.contentDOM&&o.dom.parentNode==this.contentDOM&&!o.children.length?El:no}r=s}this.dirty=El}markParentsDirty(){let t=1;for(let n=this.parent;n;n=n.parent,t++){let r=t==1?El:o5;n.dirty{if(!o)return i;if(o.parent)return o.parent.posBeforeChild(o)})),!n.type.spec.raw){if(s.nodeType!=1){let a=document.createElement("span");a.appendChild(s),s=a}s.contentEditable="false",s.classList.add("ProseMirror-widget")}super(t,[],s,null),this.widget=n,this.widget=n,o=this}matchesWidget(t){return this.dirty==hi&&t.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(t){let n=this.widget.spec.stopEvent;return n?n(t):!1}ignoreMutation(t){return t.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}},kA=class extends _l{constructor(t,n,r,i){super(t,[],n,null),this.textDOM=r,this.text=i}get size(){return this.text.length}localPosFromDOM(t,n){return t!=this.textDOM?this.posAtStart+(n?this.size:0):this.posAtStart+n}domFromPos(t){return{node:this.textDOM,offset:t}}ignoreMutation(t){return t.type==="characterData"&&t.target.nodeValue==t.oldValue}},Fc=class e extends _l{constructor(t,n,r,i,o){super(t,[],r,i),this.mark=n,this.spec=o}static create(t,n,r,i){let o=i.nodeViews[n.type.name],s=o&&o(n,i,r);return(!s||!s.dom)&&(s=Ko.renderSpec(document,n.type.spec.toDOM(n,r),null,n.attrs)),new e(t,n,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&no||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(t){return this.dirty!=no&&this.mark.eq(t)}markDirty(t,n){if(super.markDirty(t,n),this.dirty!=hi){let r=this.parent;for(;!r.node;)r=r.parent;r.dirty0&&(o=IA(o,0,t,r));for(let a=0;a{if(!l)return s;if(l.parent)return l.parent.posBeforeChild(l)},r,i),c=u&&u.dom,f=u&&u.contentDOM;if(n.isText){if(!c)c=document.createTextNode(n.text);else if(c.nodeType!=3)throw new RangeError("Text must be rendered as a DOM text node")}else c||({dom:c,contentDOM:f}=Ko.renderSpec(document,n.type.spec.toDOM(n),null,n.attrs));!f&&!n.isText&&c.nodeName!="BR"&&(c.hasAttribute("contenteditable")||(c.contentEditable="false"),n.type.spec.draggable&&(c.draggable=!0));let d=c;return c=U5(c,r,n),u?l=new MA(t,n,r,i,c,f||null,d,u,o,s+1):n.isText?new ub(t,n,r,i,c,d,o):new e(t,n,r,i,c,f||null,d,o,s+1)}parseRule(){if(this.node.type.spec.reparseInView)return null;let t={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(t.preserveWhitespace="full"),!this.contentDOM)t.getContent=()=>this.node.content;else if(!this.contentLost)t.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let r=this.children[n];if(this.dom.contains(r.dom.parentNode)){t.contentElement=r.dom.parentNode;break}}t.contentElement||(t.getContent=()=>te.empty)}return t}matchesNode(t,n,r){return this.dirty==hi&&t.eq(this.node)&&fb(n,this.outerDeco)&&r.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(t,n){let r=this.node.inlineContent,i=n,o=t.composing?this.localCompositionInfo(t,n):null,s=o&&o.pos>-1?o:null,a=o&&o.pos<0,l=new DA(this,s&&s.node,t);wne(this.node,this.innerDeco,(u,c,f)=>{u.spec.marks?l.syncToMarks(u.spec.marks,r,t,c):u.type.side>=0&&!f&&l.syncToMarks(c==this.node.childCount?rt.none:this.node.child(c).marks,r,t,c),l.placeWidget(u,t,i)},(u,c,f,d)=>{l.syncToMarks(u.marks,r,t,d);let h;l.findNodeMatch(u,c,f,d)||a&&t.state.selection.from>i&&t.state.selection.to-1&&l.updateNodeAt(u,c,f,h,t)||l.updateNextNode(u,c,f,t,d,i)||l.addNode(u,c,f,t,i),i+=u.nodeSize}),l.syncToMarks([],r,t,0),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==El)&&(s&&this.protectLocalComposition(t,s),F5(this.contentDOM,this.children,t),Hc&&Nne(this.dom))}localCompositionInfo(t,n){let{from:r,to:i}=t.state.selection;if(!(t.state.selection instanceof Me)||rn+this.node.content.size)return null;let o=t.input.compositionNode;if(!o||!this.dom.contains(o.parentNode))return null;if(this.node.inlineContent){let s=o.nodeValue,a=Rne(this.node.content,s,r-n,i-n);return a<0?null:{node:o,pos:a,text:s}}else return{node:o,pos:-1,text:""}}protectLocalComposition(t,{node:n,pos:r,text:i}){if(this.getDesc(n))return;let o=n;for(;o.parentNode!=this.contentDOM;o=o.parentNode){for(;o.previousSibling;)o.parentNode.removeChild(o.previousSibling);for(;o.nextSibling;)o.parentNode.removeChild(o.nextSibling);o.pmViewDesc&&(o.pmViewDesc=void 0)}let s=new kA(this,o,n,i);t.input.compositionNodes.push(s),this.children=IA(this.children,r,r+i.length,t,s)}update(t,n,r,i){return this.dirty==no||!t.sameMarkup(this.node)?!1:(this.updateInner(t,n,r,i),!0)}updateInner(t,n,r,i){this.updateOuterDeco(n),this.node=t,this.innerDeco=r,this.contentDOM&&this.updateChildren(i,this.posAtStart),this.dirty=hi}updateOuterDeco(t){if(fb(t,this.outerDeco))return;let n=this.nodeDOM.nodeType!=1,r=this.dom;this.dom=z5(this.dom,this.nodeDOM,OA(this.outerDeco,this.node,n),OA(t,this.node,n)),this.dom!=r&&(r.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=t}selectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.nodeDOM.draggable=!0))}deselectNode(){this.nodeDOM.nodeType==1&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.nodeDOM.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}};function s5(e,t,n,r,i){U5(r,t,e);let o=new ra(void 0,e,t,n,r,r,r,i,0);return o.contentDOM&&o.updateChildren(i,0),o}var ub=class e extends ra{constructor(t,n,r,i,o,s,a){super(t,n,r,i,o,null,s,a,0)}parseRule(){let t=this.nodeDOM.parentNode;for(;t&&t!=this.dom&&!t.pmIsDeco;)t=t.parentNode;return{skip:t||!0}}update(t,n,r,i){return this.dirty==no||this.dirty!=hi&&!this.inParent()||!t.sameMarkup(this.node)?!1:(this.updateOuterDeco(n),(this.dirty!=hi||t.text!=this.node.text)&&t.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=t.text,i.trackWrites==this.nodeDOM&&(i.trackWrites=null)),this.node=t,this.dirty=hi,!0)}inParent(){let t=this.parent.contentDOM;for(let n=this.nodeDOM;n;n=n.parentNode)if(n==t)return!0;return!1}domFromPos(t){return{node:this.nodeDOM,offset:t}}localPosFromDOM(t,n,r){return t==this.nodeDOM?this.posAtStart+Math.min(n,this.node.text.length):super.localPosFromDOM(t,n,r)}ignoreMutation(t){return t.type!="characterData"&&t.type!="selection"}slice(t,n,r){let i=this.node.cut(t,n),o=document.createTextNode(i.text);return new e(this.parent,i,this.outerDeco,this.innerDeco,o,o,r)}markDirty(t,n){super.markDirty(t,n),this.dom!=this.nodeDOM&&(t==0||n==this.nodeDOM.nodeValue.length)&&(this.dirty=no)}get domAtom(){return!1}isText(t){return this.node.text==t}},cb=class extends _l{parseRule(){return{ignore:!0}}matchesHack(t){return this.dirty==hi&&this.dom.nodeName==t}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}},MA=class extends ra{constructor(t,n,r,i,o,s,a,l,u,c){super(t,n,r,i,o,s,a,u,c),this.spec=l}update(t,n,r,i){if(this.dirty==no)return!1;if(this.spec.update&&(this.node.type==t.type||this.spec.multiType)){let o=this.spec.update(t,n,r);return o&&this.updateInner(t,n,r,i),o}else return!this.contentDOM&&!t.isLeaf?!1:super.update(t,n,r,i)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(t,n,r,i){this.spec.setSelection?this.spec.setSelection(t,n,r.root):super.setSelection(t,n,r,i)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(t){return this.spec.stopEvent?this.spec.stopEvent(t):!1}ignoreMutation(t){return this.spec.ignoreMutation?this.spec.ignoreMutation(t):super.ignoreMutation(t)}};function F5(e,t,n){let r=e.firstChild,i=!1;for(let o=0;o>1,a=Math.min(s,t.length);for(;o-1)l>this.index&&(this.changed=!0,this.destroyBetween(this.index,l)),this.top=this.top.children[this.index];else{let c=Fc.create(this.top,t[s],n,r);this.top.children.splice(this.index,0,c),this.top=c,this.changed=!0}this.index=0,s++}}findNodeMatch(t,n,r,i){let o=-1,s;if(i>=this.preMatch.index&&(s=this.preMatch.matches[i-this.preMatch.index]).parent==this.top&&s.matchesNode(t,n,r))o=this.top.children.indexOf(s,this.index);else for(let a=this.index,l=Math.min(this.top.children.length,a+5);a0;){let a;for(;;)if(r){let u=n.children[r-1];if(u instanceof Fc)n=u,r=u.children.length;else{a=u,r--;break}}else{if(n==t)break e;r=n.parent.children.indexOf(n),n=n.parent}let l=a.node;if(l){if(l!=e.child(i-1))break;--i,o.set(a,i),s.push(a)}}return{index:i,matched:o,matches:s.reverse()}}function Cne(e,t){return e.type.side-t.type.side}function wne(e,t,n,r){let i=t.locals(e),o=0;if(i.length==0){for(let u=0;uo;)a.push(i[s++]);let p=o+d.nodeSize;if(d.isText){let y=p;s!y.inline):a.slice();r(d,b,t.forChild(o,d),h),o=p}}function Nne(e){if(e.nodeName=="UL"||e.nodeName=="OL"){let t=e.style.cssText;e.style.cssText=t+"; list-style: square !important",window.getComputedStyle(e).listStyle,e.style.cssText=t}}function Rne(e,t,n,r){for(let i=0,o=0;i=n){if(o>=r&&l.slice(r-t.length-a,r-a)==t)return r-t.length;let u=a=0&&u+t.length+a>=n)return a+u;if(n==r&&l.length>=r+t.length-a&&l.slice(r-a,r-a+t.length)==t)return r}}return-1}function IA(e,t,n,r,i){let o=[];for(let s=0,a=0;s=n||c<=t?o.push(l):(un&&o.push(l.slice(n-u,l.size,r)))}return o}function YA(e,t=null){let n=e.domSelectionRange(),r=e.state.doc;if(!n.focusNode)return null;let i=e.docView.nearestDesc(n.focusNode),o=i&&i.size==0,s=e.docView.posFromDOM(n.focusNode,n.focusOffset,1);if(s<0)return null;let a=r.resolve(s),l,u;if(Eb(n)){for(l=s;i&&!i.node;)i=i.parent;let f=i.node;if(i&&f.isAtom&&_e.isSelectable(f)&&i.parent&&!(f.isInline&&one(n.focusNode,n.focusOffset,i.dom))){let d=i.posBefore;u=new _e(s==d?a:r.resolve(d))}}else{if(n instanceof e.dom.ownerDocument.defaultView.Selection&&n.rangeCount>1){let f=s,d=s;for(let h=0;h{(n.anchorNode!=r||n.anchorOffset!=i)&&(t.removeEventListener("selectionchange",e.input.hideSelectionGuard),setTimeout(()=>{(!q5(e)||e.state.selection.visible)&&e.dom.classList.remove("ProseMirror-hideselection")},20))})}function Mne(e){let t=e.domSelection();if(!t)return;let n=e.cursorWrapper.dom,r=n.nodeName=="IMG";r?t.collapse(n.parentNode,Pn(n)+1):t.collapse(n,0),!r&&!e.state.selection.visible&&Rr&&na<=11&&(n.disabled=!0,n.disabled=!1)}function V5(e,t){if(t instanceof _e){let n=e.docView.descAt(t.from);n!=e.lastSelectedViewDesc&&(f5(e),n&&n.selectNode(),e.lastSelectedViewDesc=n)}else f5(e)}function f5(e){e.lastSelectedViewDesc&&(e.lastSelectedViewDesc.parent&&e.lastSelectedViewDesc.deselectNode(),e.lastSelectedViewDesc=void 0)}function WA(e,t,n,r){return e.someProp("createSelectionBetween",i=>i(e,t,n))||Me.between(t,n,r)}function d5(e){return e.editable&&!e.hasFocus()?!1:G5(e)}function G5(e){let t=e.domSelectionRange();if(!t.anchorNode)return!1;try{return e.dom.contains(t.anchorNode.nodeType==3?t.anchorNode.parentNode:t.anchorNode)&&(e.editable||e.dom.contains(t.focusNode.nodeType==3?t.focusNode.parentNode:t.focusNode))}catch{return!1}}function One(e){let t=e.docView.domFromPos(e.state.selection.anchor,0),n=e.domSelectionRange();return Al(t.node,t.offset,n.anchorNode,n.anchorOffset)}function LA(e,t){let{$anchor:n,$head:r}=e.selection,i=t>0?n.max(r):n.min(r),o=i.parent.inlineContent?i.depth?e.doc.resolve(t>0?i.after():i.before()):null:i;return o&&Ue.findFrom(o,t)}function ta(e,t){return e.dispatch(e.state.tr.setSelection(t).scrollIntoView()),!0}function h5(e,t,n){let r=e.state.selection;if(r instanceof Me)if(n.indexOf("s")>-1){let{$head:i}=r,o=i.textOffset?null:t<0?i.nodeBefore:i.nodeAfter;if(!o||o.isText||!o.isLeaf)return!1;let s=e.state.doc.resolve(i.pos+o.nodeSize*(t<0?-1:1));return ta(e,new Me(r.$anchor,s))}else if(r.empty){if(e.endOfTextblock(t>0?"forward":"backward")){let i=LA(e.state,t);return i&&i instanceof _e?ta(e,i):!1}else if(!(ci&&n.indexOf("m")>-1)){let i=r.$head,o=i.textOffset?null:t<0?i.nodeBefore:i.nodeAfter,s;if(!o||o.isText)return!1;let a=t<0?i.pos-o.nodeSize:i.pos;return o.isAtom||(s=e.docView.descAt(a))&&!s.contentDOM?_e.isSelectable(o)?ta(e,new _e(t<0?e.state.doc.resolve(i.pos-o.nodeSize):i)):Ch?ta(e,new Me(e.state.doc.resolve(t<0?a:a+o.nodeSize))):!1:!1}}else return!1;else{if(r instanceof _e&&r.node.isInline)return ta(e,new Me(t>0?r.$to:r.$from));{let i=LA(e.state,t);return i?ta(e,i):!1}}}function db(e){return e.nodeType==3?e.nodeValue.length:e.childNodes.length}function Th(e,t){let n=e.pmViewDesc;return n&&n.size==0&&(t<0||e.nextSibling||e.nodeName!="BR")}function Lc(e,t){return t<0?Dne(e):Ine(e)}function Dne(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let i,o,s=!1;for(di&&n.nodeType==1&&r0){if(n.nodeType!=1)break;{let a=n.childNodes[r-1];if(Th(a,-1))i=n,o=--r;else if(a.nodeType==3)n=a,r=n.nodeValue.length;else break}}else{if(K5(n))break;{let a=n.previousSibling;for(;a&&Th(a,-1);)i=n.parentNode,o=Pn(a),a=a.previousSibling;if(a)n=a,r=db(n);else{if(n=n.parentNode,n==e.dom)break;r=0}}}s?PA(e,n,r):i&&PA(e,i,o)}function Ine(e){let t=e.domSelectionRange(),n=t.focusNode,r=t.focusOffset;if(!n)return;let i=db(n),o,s;for(;;)if(r{e.state==i&&Jo(e)},50)}function p5(e,t){let n=e.state.doc.resolve(t);if(!(xn||O5)&&n.parent.inlineContent){let i=e.coordsAtPos(t);if(t>n.start()){let o=e.coordsAtPos(t-1),s=(o.top+o.bottom)/2;if(s>i.top&&s1)return o.lefti.top&&s1)return o.left>i.left?"ltr":"rtl"}}return getComputedStyle(e.dom).direction=="rtl"?"rtl":"ltr"}function m5(e,t,n){let r=e.state.selection;if(r instanceof Me&&!r.empty||n.indexOf("s")>-1||ci&&n.indexOf("m")>-1)return!1;let{$from:i,$to:o}=r;if(!i.parent.inlineContent||e.endOfTextblock(t<0?"up":"down")){let s=LA(e.state,t);if(s&&s instanceof _e)return ta(e,s)}if(!i.parent.inlineContent){let s=t<0?i:o,a=r instanceof lr?Ue.near(s,t):Ue.findFrom(s,t);return a?ta(e,a):!1}return!1}function g5(e,t){if(!(e.state.selection instanceof Me))return!0;let{$head:n,$anchor:r,empty:i}=e.state.selection;if(!n.sameParent(r))return!0;if(!i)return!1;if(e.endOfTextblock(t>0?"forward":"backward"))return!0;let o=!n.textOffset&&(t<0?n.nodeBefore:n.nodeAfter);if(o&&!o.isText){let s=e.state.tr;return t<0?s.delete(n.pos-o.nodeSize,n.pos):s.delete(n.pos,n.pos+o.nodeSize),e.dispatch(s),!0}return!1}function b5(e,t,n){e.domObserver.stop(),t.contentEditable=n,e.domObserver.start()}function Bne(e){if(!jn||e.state.selection.$head.parentOffset>0)return!1;let{focusNode:t,focusOffset:n}=e.domSelectionRange();if(t&&t.nodeType==1&&n==0&&t.firstChild&&t.firstChild.contentEditable=="false"){let r=t.firstChild;b5(e,r,"true"),setTimeout(()=>b5(e,r,"false"),20)}return!1}function Hne(e){let t="";return e.ctrlKey&&(t+="c"),e.metaKey&&(t+="m"),e.altKey&&(t+="a"),e.shiftKey&&(t+="s"),t}function Fne(e,t){let n=t.keyCode,r=Hne(t);if(n==8||ci&&n==72&&r=="c")return g5(e,-1)||Lc(e,-1);if(n==46&&!t.shiftKey||ci&&n==68&&r=="c")return g5(e,1)||Lc(e,1);if(n==13||n==27)return!0;if(n==37||ci&&n==66&&r=="c"){let i=n==37?p5(e,e.state.selection.from)=="ltr"?-1:1:-1;return h5(e,i,r)||Lc(e,i)}else if(n==39||ci&&n==70&&r=="c"){let i=n==39?p5(e,e.state.selection.from)=="ltr"?1:-1:1;return h5(e,i,r)||Lc(e,i)}else{if(n==38||ci&&n==80&&r=="c")return m5(e,-1,r)||Lc(e,-1);if(n==40||ci&&n==78&&r=="c")return Bne(e)||m5(e,1,r)||Lc(e,1);if(r==(ci?"m":"c")&&(n==66||n==73||n==89||n==90))return!0}return!1}function $A(e,t){e.someProp("transformCopied",h=>{t=h(t,e)});let n=[],{content:r,openStart:i,openEnd:o}=t;for(;i>1&&o>1&&r.childCount==1&&r.firstChild.childCount==1;){i--,o--;let h=r.firstChild;n.push(h.type.name,h.attrs!=h.type.defaultAttrs?h.attrs:null),r=h.content}let s=e.someProp("clipboardSerializer")||Ko.fromSchema(e.state.schema),a=Q5(),l=a.createElement("div");l.appendChild(s.serializeFragment(r,{document:a}));let u=l.firstChild,c,f=0;for(;u&&u.nodeType==1&&(c=X5[u.nodeName.toLowerCase()]);){for(let h=c.length-1;h>=0;h--){let p=a.createElement(c[h]);for(;l.firstChild;)p.appendChild(l.firstChild);l.appendChild(p),f++}u=l.firstChild}u&&u.nodeType==1&&u.setAttribute("data-pm-slice",`${i} ${o}${f?` -${f}`:""} ${JSON.stringify(n)}`);let d=e.someProp("clipboardTextSerializer",h=>h(t,e))||t.content.textBetween(0,t.content.size,` + +`);return{dom:l,text:d,slice:t}}function Y5(e,t,n,r,i){let o=i.parent.type.spec.code,s,a;if(!n&&!t)return null;let l=!!t&&(r||o||!n);if(l){if(e.someProp("transformPastedText",d=>{t=d(t,o||r,e)}),o)return a=new de(te.from(e.state.schema.text(t.replace(/\r\n?/g,` +`))),0,0),e.someProp("transformPasted",d=>{a=d(a,e,!0)}),a;let f=e.someProp("clipboardTextParser",d=>d(t,i,r,e));if(f)a=f;else{let d=i.marks(),{schema:h}=e.state,p=Ko.fromSchema(h);s=document.createElement("div"),t.split(/(?:\r\n?|\n)+/).forEach(b=>{let y=s.appendChild(document.createElement("p"));b&&y.appendChild(p.serializeNode(h.text(b,d)))})}}else e.someProp("transformPastedHTML",f=>{n=f(n,e)}),s=Vne(n),Ch&&Gne(s);let u=s&&s.querySelector("[data-pm-slice]"),c=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute("data-pm-slice")||"");if(c&&c[3])for(let f=+c[3];f>0;f--){let d=s.firstChild;for(;d&&d.nodeType!=1;)d=d.nextSibling;if(!d)break;s=d}if(a||(a=(e.someProp("clipboardParser")||e.someProp("domParser")||eo.fromSchema(e.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||c),context:i,ruleFromNode(d){return d.nodeName=="BR"&&!d.nextSibling&&d.parentNode&&!zne.test(d.parentNode.nodeName)?{ignore:!0}:null}})),c)a=Kne(y5(a,+c[1],+c[2]),c[4]);else if(a=de.maxOpen(Une(a.content,i),!0),a.openStart||a.openEnd){let f=0,d=0;for(let h=a.content.firstChild;f{a=f(a,e,l)}),a}var zne=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function Une(e,t){if(e.childCount<2)return e;for(let n=t.depth;n>=0;n--){let i=t.node(n).contentMatchAt(t.index(n)),o,s=[];if(e.forEach(a=>{if(!s)return;let l=i.findWrapping(a.type),u;if(!l)return s=null;if(u=s.length&&o.length&&$5(l,o,a,s[s.length-1],0))s[s.length-1]=u;else{s.length&&(s[s.length-1]=j5(s[s.length-1],o.length));let c=W5(a,l);s.push(c),i=i.matchType(c.type),o=l}}),s)return te.from(s)}return e}function W5(e,t,n=0){for(let r=t.length-1;r>=n;r--)e=t[r].create(null,te.from(e));return e}function $5(e,t,n,r,i){if(i1&&(o=0),i=n&&(a=t<0?s.contentMatchAt(0).fillBefore(a,o<=i).append(a):a.append(s.contentMatchAt(s.childCount).fillBefore(te.empty,!0))),e.replaceChild(t<0?0:e.childCount-1,s.copy(a))}function y5(e,t,n){return tn})),xA.createHTML(e)):e}function Vne(e){let t=/^(\s*]*>)*/.exec(e);t&&(e=e.slice(t[0].length));let n=Q5().createElement("div"),r=/<([a-z][^>\s]+)/i.exec(e),i;if((i=r&&X5[r[1].toLowerCase()])&&(e=i.map(o=>"<"+o+">").join("")+e+i.map(o=>"").reverse().join("")),n.innerHTML=qne(e),i)for(let o=0;o=0;a-=2){let l=n.nodes[r[a]];if(!l||l.hasRequiredAttrs())break;i=te.from(l.create(r[a+1],i)),o++,s++}return new de(i,o,s)}var ur={},cr={},Yne={touchstart:!0,touchmove:!0},HA=class{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:"",button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.badSafariComposition=!1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}};function Wne(e){for(let t in ur){let n=ur[t];e.dom.addEventListener(t,e.input.eventHandlers[t]=r=>{jne(e,r)&&!jA(e,r)&&(e.editable||!(r.type in cr))&&n(e,r)},Yne[t]?{passive:!0}:void 0)}jn&&e.dom.addEventListener("input",()=>null),FA(e)}function Zo(e,t){e.input.lastSelectionOrigin=t,e.input.lastSelectionTime=Date.now()}function $ne(e){e.input.mouseDown&&e.input.mouseDown.done(),e.domObserver.stop();for(let t in e.input.eventHandlers)e.dom.removeEventListener(t,e.input.eventHandlers[t]);clearTimeout(e.input.composingTimeout),clearTimeout(e.input.lastIOSEnterFallbackTimeout)}function FA(e){e.someProp("handleDOMEvents",t=>{for(let n in t)e.input.eventHandlers[n]||e.dom.addEventListener(n,e.input.eventHandlers[n]=r=>jA(e,r))})}function jA(e,t){return e.someProp("handleDOMEvents",n=>{let r=n[t.type];return r?r(e,t)||t.defaultPrevented:!1})}function jne(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n=t.target;n!=e.dom;n=n.parentNode)if(!n||n.nodeType==11||n.pmViewDesc&&n.pmViewDesc.stopEvent(t))return!1;return!0}function Xne(e,t){!jA(e,t)&&ur[t.type]&&(e.editable||!(t.type in cr))&&ur[t.type](e,t)}cr.keydown=(e,t)=>{let n=t;if(e.input.shiftKey=n.keyCode==16||n.shiftKey,!eH(e)&&(e.input.lastKeyCode=n.keyCode,e.input.lastKeyCodeTime=Date.now(),!(Qo&&xn&&n.keyCode==13)))if(n.keyCode!=229&&e.domObserver.forceFlush(),Hc&&n.keyCode==13&&!n.ctrlKey&&!n.altKey&&!n.metaKey){let r=Date.now();e.input.lastIOSEnter=r,e.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{e.input.lastIOSEnter==r&&(e.someProp("handleKeyDown",i=>i(e,yl(13,"Enter"))),e.input.lastIOSEnter=0)},200)}else e.someProp("handleKeyDown",r=>r(e,n))||Fne(e,n)?n.preventDefault():Zo(e,"key")};cr.keyup=(e,t)=>{t.keyCode==16&&(e.input.shiftKey=!1)};cr.keypress=(e,t)=>{let n=t;if(eH(e)||!n.charCode||n.ctrlKey&&!n.altKey||ci&&n.metaKey)return;if(e.someProp("handleKeyPress",i=>i(e,n))){n.preventDefault();return}let r=e.state.selection;if(!(r instanceof Me)||!r.$from.sameParent(r.$to)){let i=String.fromCharCode(n.charCode),o=()=>e.state.tr.insertText(i).scrollIntoView();!/[\r\n]/.test(i)&&!e.someProp("handleTextInput",s=>s(e,r.$from.pos,r.$to.pos,i,o))&&e.dispatch(o()),n.preventDefault()}};function wh(e){return{left:e.clientX,top:e.clientY}}function Qne(e,t){let n=t.x-e.clientX,r=t.y-e.clientY;return n*n+r*r<100}function XA(e,t,n,r,i){if(r==-1)return!1;let o=e.state.doc.resolve(r);for(let s=o.depth+1;s>0;s--)if(e.someProp(t,a=>s>o.depth?a(e,n,o.nodeAfter,o.before(s),i,!0):a(e,n,o.node(s),o.before(s),i,!1)))return!0;return!1}function Nh(e,t,n){if(e.focused||e.focus(),e.state.selection.eq(t))return;let r=e.state.tr.setSelection(t);n=="pointer"&&r.setMeta("pointer",!0),e.dispatch(r)}function Zne(e,t){if(t==-1)return!1;let n=e.state.doc.resolve(t),r=n.nodeAfter;return r&&r.isAtom&&_e.isSelectable(r)?(Nh(e,new _e(n),"pointer"),!0):!1}function Jne(e,t){if(t==-1)return!1;let n=e.state.selection,r,i;n instanceof _e&&(r=n.node);let o=e.state.doc.resolve(t);for(let s=o.depth+1;s>0;s--){let a=s>o.depth?o.nodeAfter:o.node(s);if(_e.isSelectable(a)){r&&n.$from.depth>0&&s>=n.$from.depth&&o.before(n.$from.depth+1)==n.$from.pos?i=o.before(n.$from.depth):i=o.before(s);break}}return i!=null?(Nh(e,_e.create(e.state.doc,i),"pointer"),!0):!1}function ere(e,t,n,r,i){return XA(e,"handleClickOn",t,n,r)||e.someProp("handleClick",o=>o(e,t,r))||(i?Jne(e,n):Zne(e,n))}function tre(e,t,n,r){return XA(e,"handleDoubleClickOn",t,n,r)||e.someProp("handleDoubleClick",i=>i(e,t,r))}function nre(e,t,n,r){return XA(e,"handleTripleClickOn",t,n,r)||e.someProp("handleTripleClick",i=>i(e,t,r))||rre(e,n,r)}function rre(e,t,n){if(n.button!=0)return!1;let r=Z5(e,t,!0),i=e.state.doc;return r?(Nh(e,r,"pointer"),r instanceof Me&&i.eq(e.state.doc)&&(e.input.mouseDown=new UA(e,r)),!0):!1}function Z5(e,t,n){let r=e.state.doc;if(t==-1)return r.inlineContent?Me.create(r,0,r.content.size):null;let i=r.resolve(t);for(let o=i.depth+1;o>0;o--){let s=o>i.depth?i.nodeAfter:i.node(o),a=i.before(o);if(s.inlineContent)return Me.create(r,a+1,a+1+s.content.size);if(n&&_e.isSelectable(s))return _e.create(r,a)}return null}function QA(e){return pb(e)}var J5=ci?"metaKey":"ctrlKey";ur.mousedown=(e,t)=>{let n=t;e.input.shiftKey=n.shiftKey;let r=QA(e),i=Date.now(),o="singleClick";i-e.input.lastClick.time<500&&Qne(n,e.input.lastClick)&&!n[J5]&&e.input.lastClick.button==n.button&&(e.input.lastClick.type=="singleClick"?o="doubleClick":e.input.lastClick.type=="doubleClick"&&(o="tripleClick")),e.input.lastClick={time:i,x:n.clientX,y:n.clientY,type:o,button:n.button},e.input.mouseDown&&e.input.mouseDown.done();let s=e.posAtCoords(wh(n));s&&(o=="singleClick"?e.input.mouseDown=new zA(e,s,n,!!r):(o=="doubleClick"?tre:nre)(e,s.pos,s.inside,n)?n.preventDefault():Zo(e,"pointer"))};var hb=class{constructor(t){this.view=t,this.mightDrag=null,t.root.addEventListener("mouseup",this.up=this.up.bind(this)),t.root.addEventListener("mousemove",this.move=this.move.bind(this))}up(t){this.done()}move(t){t.buttons==0&&this.done()}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.view.input.mouseDown==this&&(this.view.input.mouseDown=null)}delaySelUpdate(){return!1}},zA=class extends hb{constructor(t,n,r,i){super(t),this.pos=n,this.event=r,this.flushed=i,this.delayedSelectionSync=!1,this.startDoc=t.state.doc,this.selectNode=!!r[J5],this.allowDefault=r.shiftKey;let o,s;if(n.inside>-1)o=t.state.doc.nodeAt(n.inside),s=n.inside;else{let c=t.state.doc.resolve(n.pos);o=c.parent,s=c.depth?c.before():0}let a=i?null:r.target,l=a?t.docView.nearestDesc(a,!0):null;this.target=l&&l.nodeDOM.nodeType==1?l.nodeDOM:null;let{selection:u}=t.state;r.button==0&&(o.type.spec.draggable&&o.type.spec.selectable!==!1||u instanceof _e&&u.from<=s&&u.to>s)&&(this.mightDrag={node:o,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&di&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),Zo(t,"pointer")}done(){super.done(),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>{this.view.isDestroyed||Jo(this.view)})}up(t){if(this.done(),!this.view.dom.contains(t.target))return;let n=this.pos;this.view.state.doc!=this.startDoc&&(n=this.view.posAtCoords(wh(t))),this.updateAllowDefault(t),this.allowDefault||!n?Zo(this.view,"pointer"):ere(this.view,n.pos,n.inside,t,this.selectNode)?t.preventDefault():t.button==0&&(this.flushed||jn&&this.mightDrag&&!this.mightDrag.node.isAtom||xn&&!this.view.state.selection.visible&&Math.min(Math.abs(n.pos-this.view.state.selection.from),Math.abs(n.pos-this.view.state.selection.to))<=2)?(Nh(this.view,Ue.near(this.view.state.doc.resolve(n.pos)),"pointer"),t.preventDefault()):Zo(this.view,"pointer")}move(t){this.updateAllowDefault(t),Zo(this.view,"pointer"),super.move(t)}updateAllowDefault(t){!this.allowDefault&&(Math.abs(this.event.x-t.clientX)>4||Math.abs(this.event.y-t.clientY)>4)&&(this.allowDefault=!0)}delaySelUpdate(){return this.allowDefault?(this.delayedSelectionSync=!0,!0):!1}},UA=class extends hb{constructor(t,n){super(t),this.startSelection=n,this.startDoc=t.state.doc}move(t){if(t.buttons==0||this.view.isDestroyed||!this.view.state.doc.eq(this.startDoc)){this.done();return}t.preventDefault(),Zo(this.view,"pointer");let n=this.view.posAtCoords(wh(t)),r=n&&Z5(this.view,n.inside,!1);if(!r)return;let{doc:i}=this.view.state,o=this.startSelection,[s,a]=r.from{e.input.lastTouch=Date.now(),QA(e),Zo(e,"pointer")};ur.touchmove=e=>{e.input.lastTouch=Date.now(),Zo(e,"pointer")};ur.contextmenu=e=>QA(e);function eH(e,t){return e.composing?!0:jn&&Math.abs(Date.now()-e.input.compositionEndedAt)<500?(e.input.compositionEndedAt=-2e8,!0):!1}var ire=Qo?5e3:-1;cr.compositionstart=cr.compositionupdate=e=>{if(!e.composing){e.domObserver.flush();let{state:t}=e,n=t.selection.$to;if(t.selection instanceof Me&&(t.storedMarks||!n.textOffset&&n.parentOffset&&n.nodeBefore.marks.some(r=>r.type.spec.inclusive===!1)||xn&&O5&&ore(e)))e.markCursor=e.state.storedMarks||n.marks(),pb(e,!0),e.markCursor=null;else if(pb(e,!t.selection.empty),di&&t.selection.empty&&n.parentOffset&&!n.textOffset&&n.nodeBefore.marks.length){let r=e.domSelectionRange();for(let i=r.focusNode,o=r.focusOffset;i&&i.nodeType==1&&o!=0;){let s=o<0?i.lastChild:i.childNodes[o-1];if(!s)break;if(s.nodeType==3){let a=e.domSelection();a&&a.collapse(s,s.nodeValue.length);break}else i=s,o=-1}}e.input.composing=!0}tH(e,ire)};function ore(e){let{focusNode:t,focusOffset:n}=e.domSelectionRange();if(!t||t.nodeType!=1||n>=t.childNodes.length)return!1;let r=t.childNodes[n];return r.nodeType==1&&r.contentEditable=="false"}cr.compositionend=(e,t)=>{e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=Date.now(),e.input.compositionPendingChanges=e.domObserver.pendingRecords().length?e.input.compositionID:0,e.input.compositionNode=null,e.input.badSafariComposition?e.domObserver.forceFlush():e.input.compositionPendingChanges&&Promise.resolve().then(()=>e.domObserver.flush()),e.input.compositionID++,tH(e,20))};function tH(e,t){clearTimeout(e.input.composingTimeout),t>-1&&(e.input.composingTimeout=setTimeout(()=>pb(e),t))}function nH(e){for(e.composing&&(e.input.composing=!1,e.input.compositionEndedAt=Date.now());e.input.compositionNodes.length>0;)e.input.compositionNodes.pop().markParentsDirty()}function sre(e){let t=e.domSelectionRange();if(!t.focusNode)return null;let n=rne(t.focusNode,t.focusOffset),r=ine(t.focusNode,t.focusOffset);if(n&&r&&n!=r){let i=r.pmViewDesc,o=e.domObserver.lastChangedTextNode;if(n==o||r==o)return o;if(!i||!i.isText(r.nodeValue))return r;if(e.input.compositionNode==r){let s=n.pmViewDesc;if(!(!s||!s.isText(n.nodeValue)))return r}}return n||r}function pb(e,t=!1){if(!(Qo&&e.domObserver.flushingSoon>=0)){if(e.domObserver.forceFlush(),nH(e),t||e.docView&&e.docView.dirty){let n=YA(e),r=e.state.selection;return n&&!n.eq(r)?e.dispatch(e.state.tr.setSelection(n)):(e.markCursor||t)&&!r.$from.node(r.$from.sharedDepth(r.to)).inlineContent?e.dispatch(e.state.tr.deleteSelection()):e.updateState(e.state),!0}return!1}}function are(e,t){if(!e.dom.parentNode)return;let n=e.dom.parentNode.appendChild(document.createElement("div"));n.appendChild(t),n.style.cssText="position: fixed; left: -10000px; top: 10px";let r=getSelection(),i=document.createRange();i.selectNodeContents(t),e.dom.blur(),r.removeAllRanges(),r.addRange(i),setTimeout(()=>{n.parentNode&&n.parentNode.removeChild(n),e.focus()},50)}var Sh=Rr&&na<15||Hc&&lne<604;ur.copy=cr.cut=(e,t)=>{let n=t,r=e.state.selection,i=n.type=="cut";if(r.empty)return;let o=Sh?null:n.clipboardData,s=r.content(),{dom:a,text:l}=$A(e,s);o?(n.preventDefault(),o.clearData(),o.setData("text/html",a.innerHTML),o.setData("text/plain",l)):are(e,a),i&&e.dispatch(e.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function lre(e){return e.openStart==0&&e.openEnd==0&&e.content.childCount==1?e.content.firstChild:null}function ure(e,t){if(!e.dom.parentNode)return;let n=e.input.shiftKey||e.state.selection.$from.parent.type.spec.code,r=e.dom.parentNode.appendChild(document.createElement(n?"textarea":"div"));n||(r.contentEditable="true"),r.style.cssText="position: fixed; left: -10000px; top: 10px",r.focus();let i=e.input.shiftKey&&e.input.lastKeyCode!=45;setTimeout(()=>{e.focus(),r.parentNode&&r.parentNode.removeChild(r),n?vh(e,r.value,null,i,t):vh(e,r.textContent,r.innerHTML,i,t)},50)}function vh(e,t,n,r,i){let o=Y5(e,t,n,r,e.state.selection.$from);if(e.someProp("handlePaste",l=>l(e,i,o||de.empty)))return!0;if(!o)return!1;let s=lre(o),a=s?e.state.tr.replaceSelectionWith(s,r):e.state.tr.replaceSelection(o);return e.dispatch(a.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function rH(e){let t=e.getData("text/plain")||e.getData("Text");if(t)return t;let n=e.getData("text/uri-list");return n?n.replace(/\r?\n/g," "):""}cr.paste=(e,t)=>{let n=t;if(e.composing&&!Qo)return;let r=Sh?null:n.clipboardData,i=e.input.shiftKey&&e.input.lastKeyCode!=45;r&&vh(e,rH(r),r.getData("text/html"),i,n)?n.preventDefault():ure(e,n)};var mb=class{constructor(t,n,r){this.slice=t,this.move=n,this.node=r}},cre=ci?"altKey":"ctrlKey";function iH(e,t){let n;return e.someProp("dragCopies",r=>{n=n||r(t)}),n!=null?!n:!t[cre]}ur.dragstart=(e,t)=>{let n=t,r=e.input.mouseDown;if(r&&r.done(),!n.dataTransfer)return;let i=e.state.selection,o=i.empty?null:e.posAtCoords(wh(n)),s;if(!(o&&o.pos>=i.from&&o.pos<=(i instanceof _e?i.to-1:i.to))){if(r&&r.mightDrag)s=_e.create(e.state.doc,r.mightDrag.pos);else if(n.target&&n.target.nodeType==1){let f=e.docView.nearestDesc(n.target,!0);f&&f.node.type.spec.draggable&&f!=e.docView&&(s=_e.create(e.state.doc,f.posBefore))}}let a=(s||e.state.selection).content(),{dom:l,text:u,slice:c}=$A(e,a);(!n.dataTransfer.files.length||!xn||M5>120)&&n.dataTransfer.clearData(),n.dataTransfer.setData(Sh?"Text":"text/html",l.innerHTML),n.dataTransfer.effectAllowed="copyMove",Sh||n.dataTransfer.setData("text/plain",u),e.dragging=new mb(c,iH(e,n),s)};ur.dragend=e=>{let t=e.dragging;window.setTimeout(()=>{e.dragging==t&&(e.dragging=null)},50)};cr.dragover=cr.dragenter=(e,t)=>t.preventDefault();cr.drop=(e,t)=>{try{fre(e,t,e.dragging)}finally{e.dragging=null}};function fre(e,t,n){if(!t.dataTransfer)return;let r=e.posAtCoords(wh(t));if(!r)return;let i=e.state.doc.resolve(r.pos),o=n&&n.slice;o?e.someProp("transformPasted",h=>{o=h(o,e,!1)}):o=Y5(e,rH(t.dataTransfer),Sh?null:t.dataTransfer.getData("text/html"),!1,i);let s=!!(n&&iH(e,t));if(e.someProp("handleDrop",h=>h(e,t,o||de.empty,s))){t.preventDefault();return}if(!o)return;t.preventDefault();let a=o?v4(e.state.doc,i.pos,o):i.pos;a==null&&(a=i.pos);let l=e.state.tr;if(s){let{node:h}=n;h?h.replace(l):l.deleteSelection()}let u=l.mapping.map(a),c=o.openStart==0&&o.openEnd==0&&o.content.childCount==1,f=l.doc;if(c?l.replaceRangeWith(u,u,o.content.firstChild):l.replaceRange(u,u,o),l.doc.eq(f))return;let d=l.doc.resolve(u);if(c&&_e.isSelectable(o.content.firstChild)&&d.nodeAfter&&d.nodeAfter.sameMarkup(o.content.firstChild))l.setSelection(new _e(d));else{let h=l.mapping.map(a);l.mapping.maps[l.mapping.maps.length-1].forEach((p,b,y,g)=>h=g),l.setSelection(WA(e,d,l.doc.resolve(h)))}e.focus(),e.dispatch(l.setMeta("uiEvent","drop"))}ur.focus=e=>{e.input.lastFocus=Date.now(),e.focused||(e.domObserver.stop(),e.dom.classList.add("ProseMirror-focused"),e.domObserver.start(),e.focused=!0,setTimeout(()=>{e.docView&&e.hasFocus()&&!e.domObserver.currentSelection.eq(e.domSelectionRange())&&Jo(e)},20))};ur.blur=(e,t)=>{let n=t;e.focused&&(e.domObserver.stop(),e.dom.classList.remove("ProseMirror-focused"),e.domObserver.start(),n.relatedTarget&&e.dom.contains(n.relatedTarget)&&e.domObserver.currentSelection.clear(),e.focused=!1)};ur.beforeinput=(e,t)=>{if(xn&&Qo&&t.inputType=="deleteContentBackward"){e.domObserver.flushSoon();let{domChangeCount:r}=e.input;setTimeout(()=>{if(e.input.domChangeCount!=r||(e.dom.blur(),e.focus(),e.someProp("handleKeyDown",o=>o(e,yl(8,"Backspace")))))return;let{$cursor:i}=e.state.selection;i&&i.pos>0&&e.dispatch(e.state.tr.delete(i.pos-1,i.pos).scrollIntoView())},50)}};for(let e in cr)ur[e]=cr[e];function xh(e,t){if(e==t)return!0;for(let n in e)if(e[n]!==t[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}var gb=class e{constructor(t,n){this.toDOM=t,this.spec=n||vl,this.side=this.spec.side||0}map(t,n,r,i){let{pos:o,deleted:s}=t.mapResult(n.from+i,this.side<0?-1:1);return s?null:new ro(o-r,o-r,this)}valid(){return!0}eq(t){return this==t||t instanceof e&&(this.spec.key&&this.spec.key==t.spec.key||this.toDOM==t.toDOM&&xh(this.spec,t.spec))}destroy(t){this.spec.destroy&&this.spec.destroy(t)}},Sl=class e{constructor(t,n){this.attrs=t,this.spec=n||vl}map(t,n,r,i){let o=t.map(n.from+i,this.spec.inclusiveStart?-1:1)-r,s=t.map(n.to+i,this.spec.inclusiveEnd?1:-1)-r;return o>=s?null:new ro(o,s,this)}valid(t,n){return n.from=t&&(!o||o(a.spec))&&r.push(a.copy(a.from+i,a.to+i))}for(let s=0;st){let a=this.children[s]+1;this.children[s+2].findInner(t-a,n-a,r,i+a,o)}}map(t,n,r){return this==$n||t.maps.length==0?this:this.mapInner(t,n,0,0,r||vl)}mapInner(t,n,r,i,o){let s;for(let a=0;a{let u=l+r,c;if(c=sH(n,a,u)){for(i||(i=this.children.slice());oa&&f.to=t){this.children[a]==t&&(r=this.children[a+2]);break}let o=t+1,s=o+n.content.size;for(let a=0;ao&&l.type instanceof Sl){let u=Math.max(o,l.from)-o,c=Math.min(s,l.to)-o;ui.map(t,n,vl));return e.from(r)}forChild(t,n){if(n.isLeaf)return kr.empty;let r=[];for(let i=0;in instanceof kr)?t:t.reduce((n,r)=>n.concat(r instanceof kr?r:r.members),[]))}}forEachSet(t){for(let n=0;n{let y=b-p-(h-d);for(let g=0;gE+c-f)continue;let T=a[g]+c-f;h>=T?a[g+1]=d<=T?-2:-1:d>=c&&y&&(a[g]+=y,a[g+1]+=y)}f+=y}),c=n.maps[u].map(c,-1)}let l=!1;for(let u=0;u=r.content.size){l=!0;continue}let d=n.map(e[u+1]+o,-1),h=d-i,{index:p,offset:b}=r.content.findIndex(f),y=r.maybeChild(p);if(y&&b==f&&b+y.nodeSize==h){let g=a[u+2].mapInner(n,y,c+1,e[u]+o+1,s);g!=$n?(a[u]=f,a[u+1]=h,a[u+2]=g):(a[u+1]=-2,l=!0)}else l=!0}if(l){let u=hre(a,e,t,n,i,o,s),c=yb(u,r,0,s);t=c.local;for(let f=0;fn&&s.to{let u=sH(e,a,l+n);if(u){o=!0;let c=yb(u,a,n+l+1,r);c!=$n&&i.push(l,l+a.nodeSize,c)}});let s=oH(o?aH(e):e,-n).sort(xl);for(let a=0;a0;)t++;e.splice(t,0,n)}function AA(e){let t=[];return e.someProp("decorations",n=>{let r=n(e.state);r&&r!=$n&&t.push(r)}),e.cursorWrapper&&t.push(kr.create(e.state.doc,[e.cursorWrapper.deco])),bb.from(t)}var pre={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},mre=Rr&&na<=11,VA=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(t){this.anchorNode=t.anchorNode,this.anchorOffset=t.anchorOffset,this.focusNode=t.focusNode,this.focusOffset=t.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(t){return t.anchorNode==this.anchorNode&&t.anchorOffset==this.anchorOffset&&t.focusNode==this.focusNode&&t.focusOffset==this.focusOffset}},GA=class{constructor(t,n){this.view=t,this.handleDOMChange=n,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new VA,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(r=>{for(let i=0;ii.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():jn&&t.composing&&r.some(i=>i.type=="childList"&&i.target.nodeName=="TR")?(t.input.badSafariComposition=!0,this.flushSoon()):this.flush()}),mre&&(this.onCharData=r=>{this.queue.push({target:r.target,type:"characterData",oldValue:r.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,pre)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let t=this.observer.takeRecords();if(t.length){for(let n=0;nthis.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(d5(this.view)){if(this.suppressingSelectionUpdates)return Jo(this.view);if(Rr&&na<=11&&!this.view.state.selection.empty){let t=this.view.domSelectionRange();if(t.focusNode&&Al(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(t){if(!t.focusNode)return!0;let n=new Set,r;for(let o=t.focusNode;o;o=Bc(o))n.add(o);for(let o=t.anchorNode;o;o=Bc(o))if(n.has(o)){r=o;break}let i=r&&this.view.docView.nearestDesc(r);if(i&&i.ignoreMutation({type:"selection",target:r.nodeType==3?r.parentNode:r}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let t of this.observer.takeRecords())this.queue.push(t);return this.queue}flush(){let{view:t}=this;if(!t.docView||this.flushingSoon>-1)return;let n=this.pendingRecords();n.length&&(this.queue=[]);let r=t.domSelectionRange(),i=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(r)&&d5(t)&&!this.ignoreSelectionChange(r),o=-1,s=-1,a=!1,l=[];if(t.editable)for(let c=0;cc.nodeName=="BR")&&(t.input.lastKeyCode==8||t.input.lastKeyCode==46||xn&&(t.composing||t.input.compositionEndedAt>Date.now()-50)&&n.some(c=>c.type=="childList"&&c.removedNodes.length))){for(let c of l)if(c.nodeName=="BR"&&c.parentNode){let f=c.nextSibling;for(;f&&f.nodeType==1;){if(f.contentEditable=="false"){c.parentNode.removeChild(c);break}f=f.firstChild}}}else if(di&&l.length){let c=l.filter(f=>f.nodeName=="BR");if(c.length==2){let[f,d]=c;f.parentNode&&f.parentNode.parentNode==d.parentNode?d.remove():f.remove()}else{let{focusNode:f}=this.currentSelection;for(let d of c){let h=d.parentNode;h&&h.nodeName=="LI"&&(!f||yre(t,f)!=h)&&d.remove()}}}let u=null;o<0&&i&&t.input.lastFocus>Date.now()-200&&Math.max(t.input.lastTouch,t.input.lastClick.time)-1||i)&&(o>-1&&(t.docView.markDirty(o,s),gre(t)),t.input.badSafariComposition&&(t.input.badSafariComposition=!1,Ere(t,l)),this.handleDOMChange(o,s,a,l),t.docView&&t.docView.dirty?t.updateState(t.state):this.currentSelection.eq(r)||Jo(t),this.currentSelection.set(r))}registerMutation(t,n){if(n.indexOf(t.target)>-1)return null;let r=this.view.docView.nearestDesc(t.target);if(t.type=="attributes"&&(r==this.view.docView||t.attributeName=="contenteditable"||t.attributeName=="style"&&!t.oldValue&&!t.target.getAttribute("style"))||!r||r.ignoreMutation(t))return null;if(t.type=="childList"){for(let c=0;ci;y--){let g=r.childNodes[y-1],E=g.pmViewDesc;if(g.nodeName=="BR"&&!E){o=y;break}if(!E||E.size)break}let f=e.state.doc,d=e.someProp("domParser")||eo.fromSchema(e.state.schema),h=f.resolve(s),p=null,b=d.parse(r,{topNode:h.parent,topMatch:h.parent.contentMatchAt(h.index()),topOpen:!0,from:i,to:o,preserveWhitespace:h.parent.type.whitespace=="pre"?"full":!0,findPositions:u,ruleFromNode:Sre,context:h});if(u&&u[0].pos!=null){let y=u[0].pos,g=u[1]&&u[1].pos;g==null&&(g=y),p={anchor:y+s,head:g+s}}return{doc:b,sel:p,from:s,to:a}}function Sre(e){let t=e.pmViewDesc;if(t)return t.parseRule();if(e.nodeName=="BR"&&e.parentNode){if(jn&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let n=document.createElement("div");return n.appendChild(document.createElement("li")),{skip:n}}else if(e.parentNode.lastChild==e||jn&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName=="IMG"&&e.getAttribute("mark-placeholder"))return{ignore:!0};return null}var vre=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|img|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function xre(e,t,n,r,i){let o=e.input.compositionPendingChanges||(e.composing?e.input.compositionID:0);if(e.input.compositionPendingChanges=0,t<0){let N=e.input.lastSelectionTime>Date.now()-50?e.input.lastSelectionOrigin:null,D=YA(e,N);if(D&&!e.state.selection.eq(D)){if(xn&&Qo&&e.input.lastKeyCode===13&&Date.now()-100A(e,yl(13,"Enter"))))return;let k=e.state.tr.setSelection(D);N=="pointer"?k.setMeta("pointer",!0):N=="key"&&k.scrollIntoView(),o&&k.setMeta("composition",o),e.dispatch(k)}return}let s=e.state.doc.resolve(t),a=s.sharedDepth(n);t=s.before(a+1),n=e.state.doc.resolve(n).after(a+1);let l=e.state.selection,u=Tre(e,t,n),c=e.state.doc,f=c.slice(u.from,u.to),d,h;e.input.lastKeyCode===8&&Date.now()-100Date.now()-225||Qo)&&i.some(N=>N.nodeType==1&&!vre.test(N.nodeName))&&(!p||p.endA>=p.endB)&&e.someProp("handleKeyDown",N=>N(e,yl(13,"Enter")))){e.input.lastIOSEnter=0;return}if(!p)if(r&&l instanceof Me&&!l.empty&&l.$head.sameParent(l.$anchor)&&!e.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))p={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let N=A5(e,e.state.doc,u.sel);if(N&&!N.eq(e.state.selection)){let D=e.state.tr.setSelection(N);o&&D.setMeta("composition",o),e.dispatch(D)}}return}e.state.selection.frome.state.selection.from&&p.start<=e.state.selection.from+2&&e.state.selection.from>=u.from?p.start=e.state.selection.from:p.endA=e.state.selection.to-2&&e.state.selection.to<=u.to&&(p.endB+=e.state.selection.to-p.endA,p.endA=e.state.selection.to)),Rr&&na<=11&&p.endB==p.start+1&&p.endA==p.start&&p.start>u.from&&u.doc.textBetween(p.start-u.from-1,p.start-u.from+1)==" \xA0"&&(p.start--,p.endA--,p.endB--);let b=u.doc.resolveNoCache(p.start-u.from),y=u.doc.resolveNoCache(p.endB-u.from),g=c.resolve(p.start),E=b.sameParent(y)&&b.parent.inlineContent&&g.end()>=p.endA;if((Hc&&e.input.lastIOSEnter>Date.now()-225&&(!E||i.some(N=>N.nodeName=="DIV"||N.nodeName=="P"))||!E&&b.posN(e,yl(13,"Enter")))){e.input.lastIOSEnter=0;return}if(e.state.selection.anchor>p.start&&_re(c,p.start,p.endA,b,y)&&e.someProp("handleKeyDown",N=>N(e,yl(8,"Backspace")))){Qo&&xn&&e.domObserver.suppressSelectionUpdates();return}xn&&p.endB==p.start&&(e.input.lastChromeDelete=Date.now()),Qo&&!E&&b.start()!=y.start()&&y.parentOffset==0&&b.depth==y.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==p.endA&&(p.endB-=2,y=u.doc.resolveNoCache(p.endB-u.from),setTimeout(()=>{e.someProp("handleKeyDown",function(N){return N(e,yl(13,"Enter"))})},20));let T=p.start,S=p.endA,x=N=>{let D=N||e.state.tr.replace(T,S,u.doc.slice(p.start-u.from,p.endB-u.from));if(u.sel){let k=A5(e,D.doc,u.sel);k&&!(xn&&e.composing&&k.empty&&(p.start!=p.endB||e.input.lastChromeDeleteJo(e),20));let N=x(e.state.tr.delete(T,S)),D=c.resolve(p.start).marksAcross(c.resolve(p.endA));D&&N.ensureMarks(D),e.dispatch(N)}else if(p.endA==p.endB&&(v=Are(b.parent.content.cut(b.parentOffset,y.parentOffset),g.parent.content.cut(g.parentOffset,p.endA-g.start())))){let N=x(e.state.tr);v.type=="add"?N.addMark(T,S,v.mark):N.removeMark(T,S,v.mark),e.dispatch(N)}else if(b.parent.child(b.index()).isText&&b.index()==y.index()-(y.textOffset?0:1)){let N=b.parent.textBetween(b.parentOffset,y.parentOffset),D=()=>x(e.state.tr.insertText(N,T,S));e.someProp("handleTextInput",k=>k(e,T,S,N,D))||e.dispatch(D())}else e.dispatch(x());else e.dispatch(x())}function A5(e,t,n){return Math.max(n.anchor,n.head)>t.content.size?null:WA(e,t.resolve(n.anchor),t.resolve(n.head))}function Are(e,t){let n=e.firstChild.marks,r=t.firstChild.marks,i=n,o=r,s,a,l;for(let c=0;cc.mark(a.addToSet(c.marks));else if(i.length==0&&o.length==1)a=o[0],s="remove",l=c=>c.mark(a.removeFromSet(c.marks));else return null;let u=[];for(let c=0;cn||_A(s,!0,!1)0&&(t||e.indexAfter(r)==e.node(r).childCount);)r--,i++,t=!1;if(n){let o=e.node(r).maybeChild(e.indexAfter(r));for(;o&&!o.isLeaf;)o=o.firstChild,i++}return i}function Cre(e,t,n,r,i){let o=e.findDiffStart(t,n),s=n+e.size,a=n+t.size;if(o==null)return null;let{a:l,b:u}=e.findDiffEnd(t,s,a);if(i=="end"){let c=Math.max(0,o-Math.min(l,u));r-=l+c-o}if(l=l?o-r:0;o-=c,u=o+(u-l),l=o}else if(u=u?o-r:0;o-=c,l=o+(l-u),u=o}return{start:o,endA:l,endB:u}}var Ah=class{constructor(t,n){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new HA,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=n,this.state=n.state,this.directPlugins=n.plugins||[],this.directPlugins.forEach(R5),this.dispatch=this.dispatch.bind(this),this.dom=t&&t.mount||document.createElement("div"),t&&(t.appendChild?t.appendChild(this.dom):typeof t=="function"?t(this.dom):t.mount&&(this.mounted=!0)),this.editable=w5(this),C5(this),this.nodeViews=N5(this),this.docView=s5(this.state.doc,_5(this),AA(this),this.dom,this),this.domObserver=new GA(this,(r,i,o,s)=>xre(this,r,i,o,s)),this.domObserver.start(),Wne(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let t=this._props;this._props={};for(let n in t)this._props[n]=t[n];this._props.state=this.state}return this._props}update(t){t.handleDOMEvents!=this._props.handleDOMEvents&&FA(this);let n=this._props;this._props=t,t.plugins&&(t.plugins.forEach(R5),this.directPlugins=t.plugins),this.updateStateInner(t.state,n)}setProps(t){let n={};for(let r in this._props)n[r]=this._props[r];n.state=this.state;for(let r in t)n[r]=t[r];this.update(n)}updateState(t){this.updateStateInner(t,this._props)}updateStateInner(t,n){var r;let i=this.state,o=!1,s=!1;t.storedMarks&&this.composing&&(nH(this),s=!0),this.state=t;let a=i.plugins!=t.plugins||this._props.plugins!=n.plugins;if(a||this._props.plugins!=n.plugins||this._props.nodeViews!=n.nodeViews){let h=N5(this);Nre(h,this.nodeViews)&&(this.nodeViews=h,o=!0)}(a||n.handleDOMEvents!=this._props.handleDOMEvents)&&FA(this),this.editable=w5(this),C5(this);let l=AA(this),u=_5(this),c=i.plugins!=t.plugins&&!i.doc.eq(t.doc)?"reset":t.scrollToSelection>i.scrollToSelection?"to selection":"preserve",f=o||!this.docView.matchesNode(t.doc,u,l);(f||!t.selection.eq(i.selection))&&(s=!0);let d=c=="preserve"&&s&&this.dom.style.overflowAnchor==null&&fne(this);if(s){this.domObserver.stop();let h=f&&(Rr||xn)&&!this.composing&&!i.selection.empty&&!t.selection.empty&&wre(i.selection,t.selection);if(f){let b=xn?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=sre(this)),(o||!this.docView.update(t.doc,u,l,this))&&(this.docView.updateOuterDeco(u),this.docView.destroy(),this.docView=s5(t.doc,u,l,this.dom,this)),b&&(!this.trackWrites||!this.dom.contains(this.trackWrites))&&(h=!0)}let p=this.input.mouseDown;h||!(p&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&One(this)&&p.delaySelUpdate())?Jo(this,h):(V5(this,t.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(i),!((r=this.dragging)===null||r===void 0)&&r.node&&!i.doc.eq(t.doc)&&this.updateDraggedNode(this.dragging,i),c=="reset"?this.dom.scrollTop=0:c=="to selection"?this.scrollToSelection():d&&dne(d)}scrollToSelection(){let t=this.domSelectionRange().focusNode;if(!(!t||!this.dom.contains(t.nodeType==1?t:t.parentNode))){if(!this.someProp("handleScrollToSelection",n=>n(this)))if(this.state.selection instanceof _e){let n=this.docView.domAfterPos(this.state.selection.from);n.nodeType==1&&e5(this,n.getBoundingClientRect(),t)}else e5(this,this.coordsAtPos(this.state.selection.head,1),t)}}destroyPluginViews(){let t;for(;t=this.pluginViews.pop();)t.destroy&&t.destroy()}updatePluginViews(t){if(!t||t.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let n=0;n0&&on.ownerDocument.getSelection()),this._root=n}return t||document}updateRoot(){this._root=null}posAtCoords(t){return yne(this,t)}coordsAtPos(t,n=1){return B5(this,t,n)}domAtPos(t,n=0){return this.docView.domFromPos(t,n)}nodeDOM(t){let n=this.docView.descAt(t);return n?n.nodeDOM:null}posAtDOM(t,n,r=-1){let i=this.docView.posFromDOM(t,n,r);if(i==null)throw new RangeError("DOM position not inside the editor");return i}endOfTextblock(t,n){return xne(this,n||this.state,t)}pasteHTML(t,n){return vh(this,"",t,!1,n||new ClipboardEvent("paste"))}pasteText(t,n){return vh(this,t,null,!0,n||new ClipboardEvent("paste"))}serializeForClipboard(t){return $A(this,t)}destroy(){this.docView&&($ne(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],AA(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,tne())}get isDestroyed(){return this.docView==null}dispatchEvent(t){return Xne(this,t)}domSelectionRange(){let t=this.domSelection();return t?jn&&this.root.nodeType===11&&sne(this.dom.ownerDocument)==this.dom&&bre(this,t)||t:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}};Ah.prototype.dispatch=function(e){let t=this._props.dispatchTransaction;t?t.call(this,e):this.updateState(this.state.apply(e))};function _5(e){let t=Object.create(null);return t.class="ProseMirror",t.contenteditable=String(e.editable),e.someProp("attributes",n=>{if(typeof n=="function"&&(n=n(e.state)),n)for(let r in n)r=="class"?t.class+=" "+n[r]:r=="style"?t.style=(t.style?t.style+";":"")+n[r]:!t[r]&&r!="contenteditable"&&r!="nodeName"&&(t[r]=String(n[r]))}),t.translate||(t.translate="no"),[ro.node(0,e.state.doc.content.size,t)]}function C5(e){if(e.markCursor){let t=document.createElement("img");t.className="ProseMirror-separator",t.setAttribute("mark-placeholder","true"),t.setAttribute("alt",""),e.cursorWrapper={dom:t,deco:ro.widget(e.state.selection.from,t,{raw:!0,marks:e.markCursor})}}else e.cursorWrapper=null}function w5(e){return!e.someProp("editable",t=>t(e.state)===!1)}function wre(e,t){let n=Math.min(e.$anchor.sharedDepth(e.head),t.$anchor.sharedDepth(t.head));return e.$anchor.start(n)!=t.$anchor.start(n)}function N5(e){let t=Object.create(null);function n(r){for(let i in r)Object.prototype.hasOwnProperty.call(t,i)||(t[i]=r[i])}return e.someProp("nodeViews",n),e.someProp("markViews",n),t}function Nre(e,t){let n=0,r=0;for(let i in e){if(e[i]!=t[i])return!0;n++}for(let i in t)r++;return n!=r}function R5(e){if(e.spec.state||e.spec.filterTransaction||e.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var es={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Sb={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Rre=typeof navigator<"u"&&/Mac/.test(navigator.platform),kre=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(cn=0;cn<10;cn++)es[48+cn]=es[96+cn]=String(cn);var cn;for(cn=1;cn<=24;cn++)es[cn+111]="F"+cn;var cn;for(cn=65;cn<=90;cn++)es[cn]=String.fromCharCode(cn+32),Sb[cn]=String.fromCharCode(cn);var cn;for(Tb in es)Sb.hasOwnProperty(Tb)||(Sb[Tb]=es[Tb]);var Tb;function lH(e){var t=Rre&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||kre&&e.shiftKey&&e.key&&e.key.length==1||e.key=="Unidentified",n=!t&&e.key||(e.shiftKey?Sb:es)[e.keyCode]||e.key||"Unidentified";return n=="Esc"&&(n="Escape"),n=="Del"&&(n="Delete"),n=="Left"&&(n="ArrowLeft"),n=="Up"&&(n="ArrowUp"),n=="Right"&&(n="ArrowRight"),n=="Down"&&(n="ArrowDown"),n}var Mre=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),Ore=typeof navigator<"u"&&/Win/.test(navigator.platform);function Dre(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n=="Space"&&(n=" ");let r,i,o,s;for(let a=0;a{for(var n in t)Pre(e,n,{get:t[n],enumerable:!0})};function kb(e){let{state:t,transaction:n}=e,{selection:r}=n,{doc:i}=n,{storedMarks:o}=n;return{...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return o},get selection(){return r},get doc(){return i},get tr(){return r=n.selection,i=n.doc,o=n.storedMarks,n}}}var Mb=class{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:e,editor:t,state:n}=this,{view:r}=t,{tr:i}=n,o=this.buildProps(i);return Object.fromEntries(Object.entries(e).map(([s,a])=>[s,(...u)=>{let c=a(...u)(o);return!i.getMeta("preventDispatch")&&!this.hasCustomState&&r.dispatch(i),c}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,t=!0){let{rawCommands:n,editor:r,state:i}=this,{view:o}=r,s=[],a=!!e,l=e||i.tr,u=()=>(!a&&t&&!l.getMeta("preventDispatch")&&!this.hasCustomState&&o.dispatch(l),s.every(f=>f===!0)),c={...Object.fromEntries(Object.entries(n).map(([f,d])=>[f,(...p)=>{let b=this.buildProps(l,t),y=d(...p)(b);return s.push(y),c}])),run:u};return c}createCan(e){let{rawCommands:t,state:n}=this,r=!1,i=e||n.tr,o=this.buildProps(i,r);return{...Object.fromEntries(Object.entries(t).map(([a,l])=>[a,(...u)=>l(...u)({...o,dispatch:void 0})])),chain:()=>this.createChain(i,r)}}buildProps(e,t=!0){let{rawCommands:n,editor:r,state:i}=this,{view:o}=r,s={tr:e,editor:r,view:o,state:kb({state:i,transaction:e}),dispatch:t?()=>{}:void 0,chain:()=>this.createChain(e,t),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map(([a,l])=>[a,(...u)=>l(...u)(s)]))}};return s}},TH={};o_(TH,{blur:()=>Bre,clearContent:()=>Hre,clearNodes:()=>Fre,command:()=>zre,createParagraphNear:()=>Ure,cut:()=>qre,deleteCurrentNode:()=>Vre,deleteNode:()=>Gre,deleteRange:()=>Kre,deleteSelection:()=>$re,enter:()=>jre,exitCode:()=>Xre,extendMarkRange:()=>Qre,first:()=>Zre,focus:()=>eie,forEach:()=>tie,insertContent:()=>nie,insertContentAt:()=>oie,joinBackward:()=>lie,joinDown:()=>aie,joinForward:()=>uie,joinItemBackward:()=>cie,joinItemForward:()=>fie,joinTextblockBackward:()=>die,joinTextblockForward:()=>hie,joinUp:()=>sie,keyboardShortcut:()=>mie,lift:()=>gie,liftEmptyBlock:()=>bie,liftListItem:()=>yie,newlineInCode:()=>Eie,resetAttributes:()=>Tie,scrollIntoView:()=>Sie,selectAll:()=>vie,selectNodeBackward:()=>xie,selectNodeForward:()=>Aie,selectParentNode:()=>_ie,selectTextblockEnd:()=>Cie,selectTextblockStart:()=>wie,setContent:()=>Nie,setMark:()=>$ie,setMeta:()=>jie,setNode:()=>Xie,setNodeSelection:()=>Qie,setTextDirection:()=>Zie,setTextSelection:()=>Jie,sinkListItem:()=>eoe,splitBlock:()=>toe,splitListItem:()=>noe,toggleList:()=>ioe,toggleMark:()=>ooe,toggleNode:()=>soe,toggleWrap:()=>aoe,undoInputRule:()=>loe,unsetAllMarks:()=>uoe,unsetMark:()=>coe,unsetTextDirection:()=>foe,updateAttributes:()=>doe,wrapIn:()=>hoe,wrapInList:()=>poe});var Bre=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var n;e.isDestroyed||(t.dom.blur(),(n=window?.getSelection())==null||n.removeAllRanges())}),!0),Hre=(e=!0)=>({commands:t})=>t.setContent("",{emitUpdate:e}),Fre=()=>({state:e,tr:t,dispatch:n})=>{let{selection:r}=t,{ranges:i}=r;return n&&i.forEach(({$from:o,$to:s})=>{e.doc.nodesBetween(o.pos,s.pos,(a,l)=>{if(a.type.isText)return;let{doc:u,mapping:c}=t,f=u.resolve(c.map(l)),d=u.resolve(c.map(l+a.nodeSize)),h=f.blockRange(d);if(!h)return;let p=$o(h);if(a.type.isTextblock){let{defaultType:b}=f.parent.contentMatchAt(f.index());t.setNodeMarkup(h.start,b)}(p||p===0)&&t.lift(h,p)})}),!0},zre=e=>t=>e(t),Ure=()=>({state:e,dispatch:t})=>mA(e,t),qre=(e,t)=>({editor:n,tr:r})=>{let{state:i}=n,o=i.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);let s=r.mapping.map(t);return r.insert(s,o.content),r.setSelection(new Me(r.doc.resolve(Math.max(s-1,0)))),!0},Vre=()=>({tr:e,dispatch:t})=>{let{selection:n}=e,r=n.$anchor.node();if(r.content.size>0)return!1;let i=e.selection.$anchor;for(let o=i.depth;o>0;o-=1)if(i.node(o).type===r.type){if(t){let a=i.before(o),l=i.after(o);e.delete(a,l).scrollIntoView()}return!0}return!1};function An(e,t){if(typeof e=="string"){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}var Gre=e=>({tr:t,state:n,dispatch:r})=>{let i=An(e,n.schema),o=t.selection.$anchor;for(let s=o.depth;s>0;s-=1)if(o.node(s).type===i){if(r){let l=o.before(s),u=o.after(s);t.delete(l,u).scrollIntoView()}return!0}return!1},Kre=e=>({tr:t,dispatch:n})=>{let{from:r,to:i}=e;return n&&t.delete(r,i),!0},Yre=e=>e.content?/^text(\*|\+)/.test(e.content):!1,cH=(e,t,n)=>{if(!e.parent.isInline||n==="left"&&e.pos>e.start()||n==="right"&&e.pos{let r=cH(e,n,"left"),i=cH(t,n,"right");return{from:r,to:i}},$re=()=>({state:e,dispatch:t})=>{let{$from:n,$to:r}=e.selection;if(e.selection.empty)return!1;let{from:i,to:o}=Wre(n,r,e.schema);return t&&(e.tr.deleteRange(i,o).scrollIntoView(),t(e.tr)),!0},jre=()=>({commands:e})=>e.keyboardShortcut("Enter"),Xre=()=>({state:e,dispatch:t})=>pA(e,t);function s_(e){return Object.prototype.toString.call(e)==="[object RegExp]"}function wb(e,t,n={strict:!0}){let r=Object.keys(t);return r.length?r.every(i=>n.strict?t[i]===e[i]:s_(t[i])?t[i].test(e[i]):t[i]===e[i]):!0}function SH(e,t,n={}){return e.find(r=>r.type===t&&wb(Object.fromEntries(Object.keys(n).map(i=>[i,r.attrs[i]])),n))}function fH(e,t,n={}){return!!SH(e,t,n)}function vH(e,t,n){if(!e||!t)return;let r=e.parent.childAfter(e.parentOffset);if((!r.node||!r.node.marks.some(u=>u.type===t))&&(r=e.parent.childBefore(e.parentOffset)),!r.node||!r.node.marks.some(u=>u.type===t))return;if(!n){let u=r.node.marks.find(c=>c.type===t);u&&(n=u.attrs)}if(!SH([...r.node.marks],t,n))return;let o=r.index,s=e.start()+r.offset,a=o+1,l=s+r.node.nodeSize;for(;o>0&&fH([...e.parent.child(o-1).marks],t,n);)o-=1,s-=e.parent.child(o).nodeSize;for(;a({tr:n,state:r,dispatch:i})=>{let o=ts(e,r.schema),{doc:s,selection:a}=n,{$from:l,from:u,to:c}=a;if(i){let f=vH(l,o,t);if(f&&f.from<=u&&f.to>=c){let d=Me.create(s,f.from,f.to);n.setSelection(d)}}return!0},Zre=e=>t=>{let n=typeof e=="function"?e(t):e;for(let r=0;r({editor:n,view:r,tr:i,dispatch:o})=>{t={scrollIntoView:!0,...t};let s=()=>{(Nb()||dH())&&r.dom.focus(),Jre()&&!Nb()&&!dH()&&r.dom.focus({preventScroll:!0}),requestAnimationFrame(()=>{n.isDestroyed||(r.focus(),t?.scrollIntoView&&n.commands.scrollIntoView())})};try{if(r.hasFocus()&&e===null||e===!1)return!0}catch{return!1}if(o&&e===null&&!xH(n.state.selection))return s(),!0;let a=AH(i.doc,e)||n.state.selection,l=n.state.selection.eq(a);return o&&(l||i.setSelection(a),l&&i.storedMarks&&i.setStoredMarks(i.storedMarks),s()),!0},tie=(e,t)=>n=>e.every((r,i)=>t(r,{...n,index:i})),nie=(e,t)=>({tr:n,commands:r})=>r.insertContentAt({from:n.selection.from,to:n.selection.to},e,t),_H=e=>{let t=e.childNodes;for(let n=t.length-1;n>=0;n-=1){let r=t[n];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&_H(r)}return e};function vb(e){if(typeof window>"u")throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");let t=`${e}`,n=new window.DOMParser().parseFromString(t,"text/html").body;return _H(n)}function Oh(e,t,n){if(e instanceof Nr||e instanceof te)return e;n={slice:!0,parseOptions:{},...n};let r=typeof e=="object"&&e!==null,i=typeof e=="string";if(r)try{if(Array.isArray(e)&&e.length>0)return te.fromArray(e.map(a=>t.nodeFromJSON(a)));let s=t.nodeFromJSON(e);return n.errorOnInvalidContent&&s.check(),s}catch(o){if(n.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:o});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",o),Oh("",t,n)}if(i){if(n.errorOnInvalidContent){let s=!1,a="",l=new Nc({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:u=>(s=!0,a=typeof u=="string"?u:u.outerHTML,null)}]}})});if(n.slice?eo.fromSchema(l).parseSlice(vb(e),n.parseOptions):eo.fromSchema(l).parse(vb(e),n.parseOptions),n.errorOnInvalidContent&&s)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${a}`)})}let o=eo.fromSchema(t);return n.slice?o.parseSlice(vb(e),n.parseOptions).content:o.parse(vb(e),n.parseOptions)}return Oh("",t,n)}function rie(e,t,n){let r=e.steps.length-1;if(r{s===0&&(s=c)}),e.setSelection(Ue.near(e.doc.resolve(s),n))}var iie=e=>!("type"in e),oie=(e,t,n)=>({tr:r,dispatch:i,editor:o})=>{var s;if(i){n={parseOptions:o.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...n};let a,l=y=>{o.emit("contentError",{editor:o,error:y,disableCollaboration:()=>{"collaboration"in o.storage&&typeof o.storage.collaboration=="object"&&o.storage.collaboration&&(o.storage.collaboration.isDisabled=!0)}})},u={preserveWhitespace:"full",...n.parseOptions};if(!n.errorOnInvalidContent&&!o.options.enableContentCheck&&o.options.emitContentError)try{Oh(t,o.schema,{parseOptions:u,errorOnInvalidContent:!0})}catch(y){l(y)}try{a=Oh(t,o.schema,{parseOptions:u,errorOnInvalidContent:(s=n.errorOnInvalidContent)!=null?s:o.options.enableContentCheck})}catch(y){return l(y),!1}let{from:c,to:f}=typeof e=="number"?{from:e,to:e}:{from:e.from,to:e.to},d=!0,h=!0;if((iie(a)?a:[a]).forEach(y=>{y.check(),d=d?y.isText&&y.marks.length===0:!1,h=h?y.isBlock:!1}),c===f&&h){let{parent:y}=r.doc.resolve(c);y.isTextblock&&!y.type.spec.code&&!y.childCount&&(c-=1,f+=1)}let b;if(d){if(Array.isArray(t))b=t.map(y=>y.text||"").join("");else if(t instanceof te){let y="";t.forEach(g=>{g.text&&(y+=g.text)}),b=y}else typeof t=="object"&&t&&t.text?b=t.text:b=t;r.insertText(b,c,f)}else{b=a;let y=r.doc.resolve(c),g=y.node(),E=y.parentOffset===0,T=g.isText||g.isTextblock,S=g.content.size>0;E&&T&&S&&h&&(c=Math.max(0,c-1)),r.replaceWith(c,f,b)}n.updateSelection&&rie(r,r.steps.length-1,-1),n.applyInputRules&&r.setMeta("applyInputRules",{from:c,text:b}),n.applyPasteRules&&r.setMeta("applyPasteRules",{from:c,text:b})}return!0},sie=()=>({state:e,dispatch:t})=>q4(e,t),aie=()=>({state:e,dispatch:t})=>V4(e,t),lie=()=>({state:e,dispatch:t})=>sA(e,t),uie=()=>({state:e,dispatch:t})=>uA(e,t),cie=()=>({state:e,dispatch:t,tr:n})=>{try{let r=gl(e.doc,e.selection.$from.pos,-1);return r==null?!1:(n.join(r,2),t&&t(n),!0)}catch{return!1}},fie=()=>({state:e,dispatch:t,tr:n})=>{try{let r=gl(e.doc,e.selection.$from.pos,1);return r==null?!1:(n.join(r,2),t&&t(n),!0)}catch{return!1}},die=()=>({state:e,dispatch:t})=>H4(e,t),hie=()=>({state:e,dispatch:t})=>F4(e,t);function CH(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function pie(e){let t=e.split(/-(?!$)/),n=t[t.length-1];n==="Space"&&(n=" ");let r,i,o,s;for(let a=0;a({editor:t,view:n,tr:r,dispatch:i})=>{let o=pie(e).split(/-(?!$)/),s=o.find(u=>!["Alt","Ctrl","Meta","Shift"].includes(u)),a=new KeyboardEvent("keydown",{key:s==="Space"?" ":s,altKey:o.includes("Alt"),ctrlKey:o.includes("Ctrl"),metaKey:o.includes("Meta"),shiftKey:o.includes("Shift"),bubbles:!0,cancelable:!0}),l=t.captureTransaction(()=>{n.someProp("handleKeyDown",u=>u(n,a))});return l?.steps.forEach(u=>{let c=u.map(r.mapping);c&&i&&r.maybeStep(c)}),!0};function Dh(e,t,n={}){let{from:r,to:i,empty:o}=e.selection,s=t?An(t,e.schema):null,a=[];e.doc.nodesBetween(r,i,(f,d)=>{if(f.isText)return;let h=Math.max(r,d),p=Math.min(i,d+f.nodeSize);a.push({node:f,from:h,to:p})});let l=i-r,u=a.filter(f=>s?s.name===f.node.type.name:!0).filter(f=>wb(f.node.attrs,n,{strict:!1}));return o?!!u.length:u.reduce((f,d)=>f+d.to-d.from,0)>=l}var gie=(e,t={})=>({state:n,dispatch:r})=>{let i=An(e,n.schema);return Dh(n,i,t)?G4(n,r):!1},bie=()=>({state:e,dispatch:t})=>gA(e,t),yie=e=>({state:t,dispatch:n})=>{let r=An(e,t.schema);return X4(r)(t,n)},Eie=()=>({state:e,dispatch:t})=>dA(e,t);function Ob(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function hH(e,t){let n=typeof t=="string"?[t]:t;return Object.keys(e).reduce((r,i)=>(n.includes(i)||(r[i]=e[i]),r),{})}var Tie=(e,t)=>({tr:n,state:r,dispatch:i})=>{let o=null,s=null,a=Ob(typeof e=="string"?e:e.name,r.schema);if(!a)return!1;a==="node"&&(o=An(e,r.schema)),a==="mark"&&(s=ts(e,r.schema));let l=!1;return n.selection.ranges.forEach(u=>{r.doc.nodesBetween(u.$from.pos,u.$to.pos,(c,f)=>{o&&o===c.type&&(l=!0,i&&n.setNodeMarkup(f,void 0,hH(c.attrs,t))),s&&c.marks.length&&c.marks.forEach(d=>{s===d.type&&(l=!0,i&&n.addMark(f,f+c.nodeSize,s.create(hH(d.attrs,t))))})})}),l},Sie=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),!0),vie=()=>({tr:e,dispatch:t})=>{if(t){let n=new lr(e.doc);e.setSelection(n)}return!0},xie=()=>({state:e,dispatch:t})=>aA(e,t),Aie=()=>({state:e,dispatch:t})=>cA(e,t),_ie=()=>({state:e,dispatch:t})=>K4(e,t),Cie=()=>({state:e,dispatch:t})=>yA(e,t),wie=()=>({state:e,dispatch:t})=>bA(e,t);function r_(e,t,n={},r={}){return Oh(e,t,{slice:!1,parseOptions:n,errorOnInvalidContent:r.errorOnInvalidContent})}var Nie=(e,{errorOnInvalidContent:t,emitUpdate:n=!0,parseOptions:r={}}={})=>({editor:i,tr:o,dispatch:s,commands:a})=>{let{doc:l}=o;if(r.preserveWhitespace!=="full"){let u=r_(e,i.schema,r,{errorOnInvalidContent:t??i.options.enableContentCheck});return s&&o.replaceWith(0,l.content.size,u).setMeta("preventUpdate",!n),!0}return s&&o.setMeta("preventUpdate",!n),a.insertContentAt({from:0,to:l.content.size},e,{parseOptions:r,errorOnInvalidContent:t??i.options.enableContentCheck})};function wH(e,t){let n=ts(t,e.schema),{from:r,to:i,empty:o}=e.selection,s=[];o?(e.storedMarks&&s.push(...e.storedMarks),s.push(...e.selection.$head.marks())):e.doc.nodesBetween(r,i,l=>{s.push(...l.marks)});let a=s.find(l=>l.type.name===n.name);return a?{...a.attrs}:{}}function Rie(e,t){let n=new Mc(e);return t.forEach(r=>{r.steps.forEach(i=>{n.step(i)})}),n}function kie(e){for(let t=0;t0;n-=1){let r=e.node(n);if(t(r))return{pos:n>0?e.before(n):0,start:e.start(n),depth:n,node:r}}}function a_(e){return t=>Mie(t.$from,e)}function xe(e,t,n){return e.config[t]===void 0&&e.parent?xe(e.parent,t,n):typeof e.config[t]=="function"?e.config[t].bind({...n,parent:e.parent?xe(e.parent,t,n):null}):e.config[t]}function l_(e){return e.map(t=>{let n={name:t.name,options:t.options,storage:t.storage},r=xe(t,"addExtensions",n);return r?[t,...l_(r())]:t}).flat(10)}function u_(e,t){let n=Ko.fromSchema(t).serializeFragment(e),i=document.implementation.createHTMLDocument().createElement("div");return i.appendChild(n),i.innerHTML}function NH(e){return typeof e=="function"}function Ft(e,t=void 0,...n){return NH(e)?t?e.bind(t)(...n):e(...n):e}function Oie(e={}){return Object.keys(e).length===0&&e.constructor===Object}function zc(e){let t=e.filter(i=>i.type==="extension"),n=e.filter(i=>i.type==="node"),r=e.filter(i=>i.type==="mark");return{baseExtensions:t,nodeExtensions:n,markExtensions:r}}function RH(e){let t=[],{nodeExtensions:n,markExtensions:r}=zc(e),i=[...n,...r],o={default:null,validate:void 0,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1},s=n.filter(u=>u.name!=="text").map(u=>u.name),a=r.map(u=>u.name),l=[...s,...a];return e.forEach(u=>{let c={name:u.name,options:u.options,storage:u.storage,extensions:i},f=xe(u,"addGlobalAttributes",c);if(!f)return;f().forEach(h=>{let p;Array.isArray(h.types)?p=h.types:h.types==="*"?p=l:h.types==="nodes"?p=s:h.types==="marks"?p=a:p=[],p.forEach(b=>{Object.entries(h.attributes).forEach(([y,g])=>{t.push({type:b,name:y,attribute:{...o,...g}})})})})}),i.forEach(u=>{let c={name:u.name,options:u.options,storage:u.storage},f=xe(u,"addAttributes",c);if(!f)return;let d=f();Object.entries(d).forEach(([h,p])=>{let b={...o,...p};typeof b?.default=="function"&&(b.default=b.default()),b?.isRequired&&b?.default===void 0&&delete b.default,t.push({type:u.name,name:h,attribute:b})})}),t}function Die(e){let t=[],n="",r=!1,i=!1,o=0,s=e.length;for(let a=0;a0){o-=1,n+=l;continue}if(l===";"&&o===0){t.push(n),n="";continue}}n+=l}return n&&t.push(n),t}function pH(e){let t=[],n=Die(e||""),r=n.length;for(let i=0;i!!t).reduce((t,n)=>{let r={...t};return Object.entries(n).forEach(([i,o])=>{if(!r[i]){r[i]=o;return}if(i==="class"){let a=o?String(o).split(" "):[],l=r[i]?r[i].split(" "):[],u=a.filter(c=>!l.includes(c));r[i]=[...l,...u].join(" ")}else if(i==="style"){let a=new Map([...pH(r[i]),...pH(o)]);r[i]=Array.from(a.entries()).map(([l,u])=>`${l}: ${u}`).join("; ")}else r[i]=o}),r},{})}function Rb(e,t){return t.filter(n=>n.type===e.type.name).filter(n=>n.attribute.rendered).map(n=>n.attribute.renderHTML?n.attribute.renderHTML(e.attrs)||{}:{[n.name]:e.attrs[n.name]}).reduce((n,r)=>Ih(n,r),{})}function Iie(e){return typeof e!="string"?e:e.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(e):e==="true"?!0:e==="false"?!1:e}function mH(e,t){return"style"in e?e:{...e,getAttrs:n=>{let r=e.getAttrs?e.getAttrs(n):e.attrs;if(r===!1)return!1;let i=t.reduce((o,s)=>{let a=s.attribute.parseHTML?s.attribute.parseHTML(n):Iie(n.getAttribute(s.name));return a==null?o:{...o,[s.name]:a}},{});return{...r,...i}}}}function gH(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>t==="attrs"&&Oie(n)?!1:n!=null))}function bH(e){var t,n;let r={};return!((t=e?.attribute)!=null&&t.isRequired)&&"default"in(e?.attribute||{})&&(r.default=e.attribute.default),((n=e?.attribute)==null?void 0:n.validate)!==void 0&&(r.validate=e.attribute.validate),[e.name,r]}function Lie(e,t){var n;let r=RH(e),{nodeExtensions:i,markExtensions:o}=zc(e),s=(n=i.find(u=>xe(u,"topNode")))==null?void 0:n.name,a=Object.fromEntries(i.map(u=>{let c=r.filter(g=>g.type===u.name),f={name:u.name,options:u.options,storage:u.storage,editor:t},d=e.reduce((g,E)=>{let T=xe(E,"extendNodeSchema",f);return{...g,...T?T(u):{}}},{}),h=gH({...d,content:Ft(xe(u,"content",f)),marks:Ft(xe(u,"marks",f)),group:Ft(xe(u,"group",f)),inline:Ft(xe(u,"inline",f)),atom:Ft(xe(u,"atom",f)),selectable:Ft(xe(u,"selectable",f)),draggable:Ft(xe(u,"draggable",f)),code:Ft(xe(u,"code",f)),whitespace:Ft(xe(u,"whitespace",f)),linebreakReplacement:Ft(xe(u,"linebreakReplacement",f)),defining:Ft(xe(u,"defining",f)),isolating:Ft(xe(u,"isolating",f)),attrs:Object.fromEntries(c.map(bH))}),p=Ft(xe(u,"parseHTML",f));p&&(h.parseDOM=p.map(g=>mH(g,c)));let b=xe(u,"renderHTML",f);b&&(h.toDOM=g=>b({node:g,HTMLAttributes:Rb(g,c)}));let y=xe(u,"renderText",f);return y&&(h.toText=y),[u.name,h]})),l=Object.fromEntries(o.map(u=>{let c=r.filter(y=>y.type===u.name),f={name:u.name,options:u.options,storage:u.storage,editor:t},d=e.reduce((y,g)=>{let E=xe(g,"extendMarkSchema",f);return{...y,...E?E(u):{}}},{}),h=gH({...d,inclusive:Ft(xe(u,"inclusive",f)),excludes:Ft(xe(u,"excludes",f)),group:Ft(xe(u,"group",f)),spanning:Ft(xe(u,"spanning",f)),code:Ft(xe(u,"code",f)),attrs:Object.fromEntries(c.map(bH))}),p=Ft(xe(u,"parseHTML",f));p&&(h.parseDOM=p.map(y=>mH(y,c)));let b=xe(u,"renderHTML",f);return b&&(h.toDOM=y=>b({mark:y,HTMLAttributes:Rb(y,c)})),[u.name,h]}));return new Nc({topNode:s,nodes:a,marks:l})}function Pie(e){let t=e.filter((n,r)=>e.indexOf(n)!==r);return Array.from(new Set(t))}function Mh(e){return e.sort((n,r)=>{let i=xe(n,"priority")||100,o=xe(r,"priority")||100;return i>o?-1:ir.name));return n.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${n.map(r=>`'${r}'`).join(", ")}]. This can lead to issues.`),t}function MH(e,t,n){let{from:r,to:i}=t,{blockSeparator:o=` + +`,textSerializers:s={}}=n||{},a="";return e.nodesBetween(r,i,(l,u,c,f)=>{var d;l.isBlock&&u>r&&(a+=o);let h=s?.[l.type.name];if(h)return c&&(a+=h({node:l,pos:u,parent:c,index:f,range:t})),!1;l.isText&&(a+=(d=l?.text)==null?void 0:d.slice(Math.max(r,u)-u,i-u))}),a}function Bie(e,t){let n={from:0,to:e.content.size};return MH(e,n,t)}function OH(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,t])=>t.spec.toText).map(([t,n])=>[t,n.spec.toText]))}function Hie(e,t){let n=An(t,e.schema),{from:r,to:i}=e.selection,o=[];e.doc.nodesBetween(r,i,a=>{o.push(a)});let s=o.reverse().find(a=>a.type.name===n.name);return s?{...s.attrs}:{}}function Fie(e,t){let n=Ob(typeof t=="string"?t:t.name,e.schema);return n==="node"?Hie(e,t):n==="mark"?wH(e,t):{}}function zie(e,t=JSON.stringify){let n={};return e.filter(r=>{let i=t(r);return Object.prototype.hasOwnProperty.call(n,i)?!1:n[i]=!0})}function Uie(e){let t=zie(e);return t.length===1?t:t.filter((n,r)=>!t.filter((o,s)=>s!==r).some(o=>n.oldRange.from>=o.oldRange.from&&n.oldRange.to<=o.oldRange.to&&n.newRange.from>=o.newRange.from&&n.newRange.to<=o.newRange.to))}function qie(e){let{mapping:t,steps:n}=e,r=[];return t.maps.forEach((i,o)=>{let s=[];if(i.ranges.length)i.forEach((a,l)=>{s.push({from:a,to:l})});else{let{from:a,to:l}=n[o];if(a===void 0||l===void 0)return;s.push({from:a,to:l})}s.forEach(({from:a,to:l})=>{let u=t.slice(o).map(a,-1),c=t.slice(o).map(l),f=t.invert().map(u,-1),d=t.invert().map(c);r.push({oldRange:{from:f,to:d},newRange:{from:u,to:c}})})}),Uie(r)}function Rh(e,t){return t.nodes[e]||t.marks[e]||null}function Cb(e,t,n){return Object.fromEntries(Object.entries(n).filter(([r])=>{let i=e.find(o=>o.type===t&&o.name===r);return i?i.attribute.keepOnSplit:!1}))}var Vie=(e,t=500)=>{let n="",r=e.parentOffset;return e.parent.nodesBetween(Math.max(0,r-t),r,(i,o,s,a)=>{var l,u;let c=((u=(l=i.type.spec).toText)==null?void 0:u.call(l,{node:i,pos:o,parent:s,index:a}))||i.textContent||"%leaf%";n+=i.isAtom&&!i.isText?c:c.slice(0,Math.max(0,r-o))}),n};function i_(e,t,n={}){let{empty:r,ranges:i}=e.selection,o=t?ts(t,e.schema):null;if(r)return!!(e.storedMarks||e.selection.$from.marks()).filter(f=>o?o.name===f.type.name:!0).find(f=>wb(f.attrs,n,{strict:!1}));let s=0,a=[];if(i.forEach(({$from:f,$to:d})=>{let h=f.pos,p=d.pos;e.doc.nodesBetween(h,p,(b,y)=>{if(o&&b.inlineContent&&!b.type.allowsMarkType(o))return!1;if(!b.isText&&!b.marks.length)return;let g=Math.max(h,y),E=Math.min(p,y+b.nodeSize),T=E-g;s+=T,a.push(...b.marks.map(S=>({mark:S,from:g,to:E})))})}),s===0)return!1;let l=a.filter(f=>o?o.name===f.mark.type.name:!0).filter(f=>wb(f.mark.attrs,n,{strict:!1})).reduce((f,d)=>f+d.to-d.from,0),u=a.filter(f=>o?f.mark.type!==o&&f.mark.type.excludes(o):!0).reduce((f,d)=>f+d.to-d.from,0);return(l>0?l+u:l)>=s}function Gie(e,t,n={}){if(!t)return Dh(e,null,n)||i_(e,null,n);let r=Ob(t,e.schema);return r==="node"?Dh(e,t,n):r==="mark"?i_(e,t,n):!1}function yH(e,t){return Array.isArray(t)?t.some(n=>(typeof n=="string"?n:n.name)===e.name):t}function e_(e,t){let{nodeExtensions:n}=zc(t),r=n.find(s=>s.name===e);if(!r)return!1;let i={name:r.name,options:r.options,storage:r.storage},o=Ft(xe(r,"group",i));return typeof o!="string"?!1:o.split(" ").includes("list")}function c_(e,{checkChildren:t=!0,ignoreWhitespace:n=!1}={}){var r;if(n){if(e.type.name==="hardBreak")return!0;if(e.isText)return!/\S/.test((r=e.text)!=null?r:"")}if(e.isText)return!e.text;if(e.isAtom||e.isLeaf)return!1;if(e.content.childCount===0)return!0;if(t){let i=!0;return e.content.forEach(o=>{i!==!1&&(c_(o,{ignoreWhitespace:n,checkChildren:t})||(i=!1))}),i}return!1}var DH=class IH{constructor(t){this.position=t}static fromJSON(t){return new IH(t.position)}toJSON(){return{position:this.position}}};function Kie(e,t){let n=t.mapping.mapResult(e.position);return{position:new DH(n.pos),mapResult:n}}function Yie(e){return new DH(e)}function Wie(e,t,n){var r;let{selection:i}=t,o=null;if(xH(i)&&(o=i.$cursor),o){let a=(r=e.storedMarks)!=null?r:o.marks();return o.parent.type.allowsMarkType(n)&&(!!n.isInSet(a)||!a.some(u=>u.type.excludes(n)))}let{ranges:s}=i;return s.some(({$from:a,$to:l})=>{let u=a.depth===0?e.doc.inlineContent&&e.doc.type.allowsMarkType(n):!1;return e.doc.nodesBetween(a.pos,l.pos,(c,f,d)=>{if(u)return!1;if(c.isInline){let h=!d||d.type.allowsMarkType(n),p=!!n.isInSet(c.marks)||!c.marks.some(b=>b.type.excludes(n));u=h&&p}return!u}),u})}var $ie=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let{selection:o}=n,{empty:s,ranges:a}=o,l=ts(e,r.schema);if(i)if(s){let u=wH(r,l);n.addStoredMark(l.create({...u,...t}))}else a.forEach(u=>{let c=u.$from.pos,f=u.$to.pos;r.doc.nodesBetween(c,f,(d,h)=>{let p=Math.max(h,c),b=Math.min(h+d.nodeSize,f);d.marks.find(g=>g.type===l)?d.marks.forEach(g=>{l===g.type&&n.addMark(p,b,l.create({...g.attrs,...t}))}):n.addMark(p,b,l.create(t))})});return Wie(r,n,l)},jie=(e,t)=>({tr:n})=>(n.setMeta(e,t),!0),Xie=(e,t={})=>({state:n,dispatch:r,chain:i})=>{let o=An(e,n.schema),s;return n.selection.$anchor.sameParent(n.selection.$head)&&(s=n.selection.$anchor.parent.attrs),o.isTextblock?i().command(({commands:a})=>EA(o,{...s,...t})(n)?!0:a.clearNodes()).command(({state:a})=>EA(o,{...s,...t})(a,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},Qie=e=>({tr:t,dispatch:n})=>{if(n){let{doc:r}=t,i=Cl(e,0,r.content.size),o=_e.create(r,i);t.setSelection(o)}return!0},Zie=(e,t)=>({tr:n,state:r,dispatch:i})=>{let{selection:o}=r,s,a;return typeof t=="number"?(s=t,a=t):t&&"from"in t&&"to"in t?(s=t.from,a=t.to):(s=o.from,a=o.to),i&&n.doc.nodesBetween(s,a,(l,u)=>{l.isText||n.setNodeMarkup(u,void 0,{...l.attrs,dir:e})}),!0},Jie=e=>({tr:t,dispatch:n})=>{if(n){let{doc:r}=t,{from:i,to:o}=typeof e=="number"?{from:e,to:e}:e,s=Me.atStart(r).from,a=Me.atEnd(r).to,l=Cl(i,s,a),u=Cl(o,s,a),c=Me.create(r,l,u);t.setSelection(c)}return!0},eoe=e=>({state:t,dispatch:n})=>{let r=An(e,t.schema);return Q4(r)(t,n)};function EH(e,t){let n=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(n){let r=n.filter(i=>t?.includes(i.type.name));e.tr.ensureMarks(r)}}var toe=({keepMarks:e=!0}={})=>({tr:t,state:n,dispatch:r,editor:i})=>{let{selection:o,doc:s}=t,{$from:a,$to:l}=o,u=i.extensionManager.attributes,c=Cb(u,a.node().type.name,a.node().attrs);if(o instanceof _e&&o.node.isBlock)return!a.parentOffset||!jr(s,a.pos)?!1:(r&&(e&&EH(n,i.extensionManager.splittableMarks),t.split(a.pos).scrollIntoView()),!0);if(!a.parent.isBlock)return!1;let f=l.parentOffset===l.parent.content.size,d=a.depth===0?void 0:kie(a.node(-1).contentMatchAt(a.indexAfter(-1))),h=f&&d?[{type:d,attrs:c}]:void 0,p=jr(t.doc,t.mapping.map(a.pos),1,h);if(!h&&!p&&jr(t.doc,t.mapping.map(a.pos),1,d?[{type:d}]:void 0)&&(p=!0,h=d?[{type:d,attrs:c}]:void 0),r){if(p&&(o instanceof Me&&t.deleteSelection(),t.split(t.mapping.map(a.pos),1,h),d&&!f&&!a.parentOffset&&a.parent.type!==d)){let b=t.mapping.map(a.before()),y=t.doc.resolve(b);a.node(-1).canReplaceWith(y.index(),y.index()+1,d)&&t.setNodeMarkup(t.mapping.map(a.before()),d)}e&&EH(n,i.extensionManager.splittableMarks),t.scrollIntoView()}return p},noe=(e,t={})=>({tr:n,state:r,dispatch:i,editor:o})=>{var s;let a=An(e,r.schema),{$from:l,$to:u}=r.selection,c=r.selection.node;if(c&&c.isBlock||l.depth<2||!l.sameParent(u))return!1;let f=l.node(-1);if(f.type!==a)return!1;let d=o.extensionManager.attributes;if(l.parent.content.size===0&&l.node(-1).childCount===l.indexAfter(-1)){if(l.depth===2||l.node(-3).type!==a||l.index(-2)!==l.node(-2).childCount-1)return!1;if(i){let g=te.empty,E=l.index(-1)?1:l.index(-2)?2:3;for(let D=l.depth-E;D>=l.depth-3;D-=1)g=te.from(l.node(D).copy(g));let T=l.indexAfter(-1){if(N>-1)return!1;D.isTextblock&&D.content.size===0&&(N=k+1)}),N>-1&&n.setSelection(Me.near(n.doc.resolve(N))),n.scrollIntoView()}return!0}let h=u.pos===l.end()?f.contentMatchAt(0).defaultType:null,p={...Cb(d,f.type.name,f.attrs),...t},b={...Cb(d,l.node().type.name,l.node().attrs),...t};n.delete(l.pos,u.pos);let y=h?[{type:a,attrs:p},{type:h,attrs:b}]:[{type:a,attrs:p}];if(!jr(n.doc,l.pos,2))return!1;if(i){let{selection:g,storedMarks:E}=r,{splittableMarks:T}=o.extensionManager,S=E||g.$to.parentOffset&&g.$from.marks();if(n.split(l.pos,2,y).scrollIntoView(),!S||!i)return!0;let x=S.filter(v=>T.includes(v.type.name));n.ensureMarks(x)}return!0},t_=(e,t)=>{let n=a_(s=>s.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(Math.max(0,n.pos-1)).before(n.depth);if(r===void 0)return!0;let i=e.doc.nodeAt(r);return n.node.type===i?.type&&_i(e.doc,n.pos)&&e.join(n.pos),!0},n_=(e,t)=>{let n=a_(s=>s.type===t)(e.selection);if(!n)return!0;let r=e.doc.resolve(n.start).after(n.depth);if(r===void 0)return!0;let i=e.doc.nodeAt(r);return n.node.type===i?.type&&_i(e.doc,r)&&e.join(r),!0};function roe(e){let t=e.doc,n=t.firstChild;if(!n)return null;let r=t.resolve(1),i=t.resolve(n.nodeSize-1);return Me.between(r,i)}var ioe=(e,t,n,r={})=>({editor:i,tr:o,state:s,dispatch:a,chain:l,commands:u,can:c})=>{let{extensions:f,splittableMarks:d}=i.extensionManager,h=An(e,s.schema),p=An(t,s.schema),{selection:b,storedMarks:y}=s,{$from:g,$to:E}=b,T=g.blockRange(E),S=y||b.$to.parentOffset&&b.$from.marks();if(!T)return!1;let x=a_(U=>e_(U.type.name,f))(b),v=b.from===0&&b.to===s.doc.content.size,N=s.doc.content.content,D=N.length===1?N[0]:null,k=v&&D&&e_(D.type.name,f)?{node:D,pos:0,depth:0}:null,A=x??k,P=!!x&&T.depth>=1&&T.depth-x.depth<=1,G=!!k;if((P||G)&&A){if(A.node.type===h)return v&&G?l().command(({tr:U,dispatch:B})=>{let L=roe(U);return L?(U.setSelection(L),B&&B(U),!0):!1}).liftListItem(p).run():u.liftListItem(p);if(e_(A.node.type.name,f)&&h.validContent(A.node.content))return l().command(()=>(o.setNodeMarkup(A.pos,h),!0)).command(()=>t_(o,h)).command(()=>n_(o,h)).run()}return!n||!S||!a?l().command(()=>c().wrapInList(h,r)?!0:u.clearNodes()).wrapInList(h,r).command(()=>t_(o,h)).command(()=>n_(o,h)).run():l().command(()=>{let U=c().wrapInList(h,r),B=S.filter(L=>d.includes(L.type.name));return o.ensureMarks(B),U?!0:u.clearNodes()}).wrapInList(h,r).command(()=>t_(o,h)).command(()=>n_(o,h)).run()},ooe=(e,t={},n={})=>({state:r,commands:i})=>{let{extendEmptyMarkRange:o=!1}=n,s=ts(e,r.schema);return i_(r,s,t)?i.unsetMark(s,{extendEmptyMarkRange:o}):i.setMark(s,t)},soe=(e,t,n={})=>({state:r,commands:i})=>{let o=An(e,r.schema),s=An(t,r.schema),a=Dh(r,o,n),l;return r.selection.$anchor.sameParent(r.selection.$head)&&(l=r.selection.$anchor.parent.attrs),a?i.setNode(s,l):i.setNode(o,{...l,...n})},aoe=(e,t={})=>({state:n,commands:r})=>{let i=An(e,n.schema);return Dh(n,i,t)?r.lift(i):r.wrapIn(i,t)},loe=()=>({state:e,dispatch:t})=>{let n=e.plugins;for(let r=0;r=0;l-=1)s.step(a.steps[l].invert(a.docs[l]));if(o.text){let l=s.doc.resolve(o.from).marks();s.replaceWith(o.from,o.to,e.schema.text(o.text,l))}else s.delete(o.from,o.to)}return!0}}return!1},uoe=(e={})=>({tr:t,dispatch:n,editor:r})=>{let{ignoreClearable:i=!1}=e,{selection:o}=t,{empty:s,ranges:a}=o;if(s)return!0;let{nonClearableMarks:l}=r.extensionManager;if(n){let u=Object.values(r.schema.marks).filter(c=>i||!l.includes(c.name));a.forEach(c=>{for(let f of u)t.removeMark(c.$from.pos,c.$to.pos,f)})}return!0},coe=(e,t={})=>({tr:n,state:r,dispatch:i})=>{var o;let{extendEmptyMarkRange:s=!1}=t,{selection:a}=n,l=ts(e,r.schema),{$from:u,empty:c,ranges:f}=a;if(!i)return!0;if(c&&s){let{from:d,to:h}=a,p=(o=u.marks().find(y=>y.type===l))==null?void 0:o.attrs,b=vH(u,l,p);b&&(d=b.from,h=b.to),n.removeMark(d,h,l)}else f.forEach(d=>{n.removeMark(d.$from.pos,d.$to.pos,l)});return n.removeStoredMark(l),!0},foe=e=>({tr:t,state:n,dispatch:r})=>{let{selection:i}=n,o,s;return typeof e=="number"?(o=e,s=e):e&&"from"in e&&"to"in e?(o=e.from,s=e.to):(o=i.from,s=i.to),r&&t.doc.nodesBetween(o,s,(a,l)=>{if(a.isText)return;let u={...a.attrs};delete u.dir,t.setNodeMarkup(l,void 0,u)}),!0},doe=(e,t={})=>({tr:n,state:r,dispatch:i})=>{let o=null,s=null,a=Ob(typeof e=="string"?e:e.name,r.schema);if(!a)return!1;a==="node"&&(o=An(e,r.schema)),a==="mark"&&(s=ts(e,r.schema));let l=!1;return n.selection.ranges.forEach(u=>{let c=u.$from.pos,f=u.$to.pos,d,h,p,b;n.selection.empty?r.doc.nodesBetween(c,f,(y,g)=>{o&&o===y.type&&(l=!0,p=Math.max(g,c),b=Math.min(g+y.nodeSize,f),d=g,h=y)}):r.doc.nodesBetween(c,f,(y,g)=>{g=c&&g<=f&&(o&&o===y.type&&(l=!0,i&&n.setNodeMarkup(g,void 0,{...y.attrs,...t})),s&&y.marks.length&&y.marks.forEach(E=>{if(s===E.type&&(l=!0,i)){let T=Math.max(g,c),S=Math.min(g+y.nodeSize,f);n.addMark(T,S,s.create({...E.attrs,...t}))}}))}),h&&(d!==void 0&&i&&n.setNodeMarkup(d,void 0,{...h.attrs,...t}),s&&h.marks.length&&h.marks.forEach(y=>{s===y.type&&i&&n.addMark(p,b,s.create({...y.attrs,...t}))}))}),l},hoe=(e,t={})=>({state:n,dispatch:r})=>{let i=An(e,n.schema);return $4(i,t)(n,r)},poe=(e,t={})=>({state:n,dispatch:r})=>{let i=An(e,n.schema);return j4(i,t)(n,r)},moe=class{constructor(){this.callbacks={}}on(e,t){return this.callbacks[e]||(this.callbacks[e]=[]),this.callbacks[e].push(t),this}emit(e,...t){let n=this.callbacks[e];return n&&n.forEach(r=>r.apply(this,t)),this}off(e,t){let n=this.callbacks[e];return n&&(t?this.callbacks[e]=n.filter(r=>r!==t):delete this.callbacks[e]),this}once(e,t){let n=(...r)=>{this.off(e,n),t.apply(this,r)};return this.on(e,n)}removeAllListeners(){this.callbacks={}}};var goe=(e,t)=>{if(s_(t))return t.exec(e);let n=t(e);if(!n)return null;let r=[n.text];return r.index=n.index,r.input=e,r.data=n.data,n.replaceWith&&(n.text.includes(n.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),r.push(n.replaceWith)),r};function xb(e){var t;let{editor:n,from:r,to:i,text:o,rules:s,plugin:a}=e,{view:l}=n;if(l.composing)return!1;let u=l.state.doc.resolve(r);if(u.parent.type.spec.code||(t=u.nodeBefore||u.nodeAfter)!=null&&t.marks.find(d=>d.type.spec.code))return!1;let c=!1,f=Vie(u)+o;return s.forEach(d=>{if(c)return;let h=goe(f,d.find);if(!h)return;let p=l.state.tr,b=kb({state:l.state,transaction:p}),y={from:r-(h[0].length-o.length),to:i},{commands:g,chain:E,can:T}=new Mb({editor:n,state:b});d.handler({state:b,range:y,match:h,commands:g,chain:E,can:T})===null||!p.steps.length||(d.undoable&&p.setMeta(a,{transform:p,from:r,to:i,text:o}),l.dispatch(p),c=!0)}),c}function boe(e){let{editor:t,rules:n}=e,r=new ct({state:{init(){return null},apply(i,o,s){let a=i.getMeta(r);if(a)return a;let l=i.getMeta("applyInputRules");return!!l&&setTimeout(()=>{let{text:c}=l;typeof c=="string"?c=c:c=u_(te.from(c),s.schema);let{from:f}=l,d=f+c.length;xb({editor:t,from:f,to:d,text:c,rules:n,plugin:r})}),i.selectionSet||i.docChanged?null:o}},props:{handleTextInput(i,o,s,a){return xb({editor:t,from:o,to:s,text:a,rules:n,plugin:r})},handleDOMEvents:{compositionend:i=>(setTimeout(()=>{let{$cursor:o}=i.state.selection;o&&xb({editor:t,from:o.pos,to:o.pos,text:"",rules:n,plugin:r})}),!1)},handleKeyDown(i,o){if(o.key!=="Enter")return!1;let{$cursor:s}=i.state.selection;return s?xb({editor:t,from:s.pos,to:s.pos,text:` +`,rules:n,plugin:r}):!1}},isInputRules:!0});return r}function yoe(e){return Object.prototype.toString.call(e).slice(8,-1)}function Ab(e){return yoe(e)!=="Object"?!1:e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function LH(e,t){let n={...e};return Ab(e)&&Ab(t)&&Object.keys(t).forEach(r=>{Ab(t[r])&&Ab(e[r])?n[r]=LH(e[r],t[r]):n[r]=t[r]}),n}var f_=class{constructor(e={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...e},this.name=this.config.name}get options(){return{...Ft(xe(this,"addOptions",{name:this.name}))}}get storage(){return{...Ft(xe(this,"addStorage",{name:this.name,options:this.options}))}}configure(e={}){let t=this.extend({...this.config,addOptions:()=>LH(this.options,e)});return t.name=this.name,t.parent=this.parent,this.child=null,t}extend(e={}){let t=new this.constructor({...this.config,...e});return t.parent=this,this.child=t,t.name="name"in e?e.name:t.parent.name,t}},Eoe=class PH extends f_{constructor(){super(...arguments),this.type="mark"}static create(t={}){let n=typeof t=="function"?t():t;return new PH(n)}static handleExit({editor:t,mark:n}){let{tr:r}=t.state,i=t.state.selection.$from;if(i.pos===i.end()){let s=i.marks();if(!!!s.find(u=>u?.type.name===n.name))return!1;let l=s.find(u=>u?.type.name===n.name);return l&&r.removeStoredMark(l),r.insertText(" ",i.pos),t.view.dispatch(r),!0}return!1}configure(t){return super.configure(t)}extend(t){let n=typeof t=="function"?t():t;return super.extend(n)}};function Toe(e){return typeof e=="number"}var Soe=(e,t,n)=>{if(s_(t))return[...e.matchAll(t)];let r=t(e,n);return r?r.map(i=>{let o=[i.text];return o.index=i.index,o.input=e,o.data=i.data,i.replaceWith&&(i.text.includes(i.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),o.push(i.replaceWith)),o}):[]};function voe(e){let{editor:t,state:n,from:r,to:i,rule:o,pasteEvent:s,dropEvent:a}=e,{commands:l,chain:u,can:c}=new Mb({editor:t,state:n}),f=[];return n.doc.nodesBetween(r,i,(h,p)=>{var b,y,g,E,T;if((y=(b=h.type)==null?void 0:b.spec)!=null&&y.code||!(h.isText||h.isTextblock||h.isInline))return;let S=(T=(E=(g=h.content)==null?void 0:g.size)!=null?E:h.nodeSize)!=null?T:0,x=Math.max(r,p),v=Math.min(i,p+S);if(x>=v)return;let N=h.isText?h.text||"":h.textBetween(x-p,v-p,void 0,"\uFFFC");Soe(N,o.find,s).forEach(k=>{if(k.index===void 0)return;let A=x+k.index+1,P=A+k[0].length,G={from:n.tr.mapping.map(A),to:n.tr.mapping.map(P)},U=o.handler({state:n,range:G,match:k,commands:l,chain:u,can:c,pasteEvent:s,dropEvent:a});f.push(U)})}),f.every(h=>h!==null)}var _b=null,xoe=e=>{var t;let n=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(t=n.clipboardData)==null||t.setData("text/html",e),n};function Aoe(e){let{editor:t,rules:n}=e,r=null,i=!1,o=!1,s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,a;try{a=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{a=null}let l=({state:c,from:f,to:d,rule:h,pasteEvt:p})=>{let b=c.tr,y=kb({state:c,transaction:b});if(!(!voe({editor:t,state:y,from:Math.max(f-1,0),to:d.b-1,rule:h,pasteEvent:p,dropEvent:a})||!b.steps.length)){try{a=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{a=null}return s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,b}};return n.map(c=>new ct({view(f){let d=p=>{var b;r=(b=f.dom.parentElement)!=null&&b.contains(p.target)?f.dom.parentElement:null,r&&(_b=t)},h=()=>{_b&&(_b=null)};return window.addEventListener("dragstart",d),window.addEventListener("dragend",h),{destroy(){window.removeEventListener("dragstart",d),window.removeEventListener("dragend",h)}}},props:{handleDOMEvents:{drop:(f,d)=>{if(o=r===f.dom.parentElement,a=d,!o){let h=_b;h?.isEditable&&setTimeout(()=>{let p=h.state.selection;p&&h.commands.deleteRange({from:p.from,to:p.to})},10)}return!1},paste:(f,d)=>{var h;let p=(h=d.clipboardData)==null?void 0:h.getData("text/html");return s=d,i=!!p?.includes("data-pm-slice"),!1}}},appendTransaction:(f,d,h)=>{let p=f[0],b=p.getMeta("uiEvent")==="paste"&&!i,y=p.getMeta("uiEvent")==="drop"&&!o,g=p.getMeta("applyPasteRules"),E=!!g;if(!b&&!y&&!E)return;if(E){let{text:x}=g;typeof x=="string"?x=x:x=u_(te.from(x),h.schema);let{from:v}=g,N=v+x.length,D=xoe(x);return l({rule:c,state:h,from:v,to:{b:N},pasteEvt:D})}let T=d.doc.content.findDiffStart(h.doc.content),S=d.doc.content.findDiffEnd(h.doc.content);if(!(!Toe(T)||!S||T===S.b))return l({rule:c,state:h,from:T,to:S,pasteEvt:s})}}))}var Db=class{constructor(e,t){this.splittableMarks=[],this.nonClearableMarks=[],this.editor=t,this.baseExtensions=e,this.extensions=kH(e),this.schema=Lie(this.extensions,t),this.setupExtensions()}get commands(){return this.extensions.reduce((e,t)=>{let n={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:this.editor,type:Rh(t.name,this.schema)},r=xe(t,"addCommands",n);return r?{...e,...r()}:e},{})}get plugins(){let{editor:e}=this;return Mh([...this.extensions].reverse()).flatMap(r=>{let i={name:r.name,options:r.options,storage:this.editor.extensionStorage[r.name],editor:e,type:Rh(r.name,this.schema)},o=[],s=xe(r,"addKeyboardShortcuts",i),a={};if(r.type==="mark"&&xe(r,"exitable",i)&&(a.ArrowRight=()=>Eoe.handleExit({editor:e,mark:r})),s){let d=Object.fromEntries(Object.entries(s()).map(([h,p])=>[h,()=>p({editor:e})]));a={...a,...d}}let l=uH(a);o.push(l);let u=xe(r,"addInputRules",i);if(yH(r,e.options.enableInputRules)&&u){let d=u();if(d&&d.length){let h=boe({editor:e,rules:d}),p=Array.isArray(h)?h:[h];o.push(...p)}}let c=xe(r,"addPasteRules",i);if(yH(r,e.options.enablePasteRules)&&c){let d=c();if(d&&d.length){let h=Aoe({editor:e,rules:d});o.push(...h)}}let f=xe(r,"addProseMirrorPlugins",i);if(f){let d=f();o.push(...d)}return o})}get attributes(){return RH(this.extensions)}get nodeViews(){let{editor:e}=this,{nodeExtensions:t}=zc(this.extensions);return Object.fromEntries(t.filter(n=>!!xe(n,"addNodeView")).map(n=>{let r=this.attributes.filter(l=>l.type===n.name),i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:e,type:An(n.name,this.schema)},o=xe(n,"addNodeView",i);if(!o)return[];let s=o();if(!s)return[];let a=(l,u,c,f,d)=>{let h=Rb(l,r);return s({node:l,view:u,getPos:c,decorations:f,innerDecorations:d,editor:e,extension:n,HTMLAttributes:h})};return[n.name,a]}))}dispatchTransaction(e){let{editor:t}=this;return Mh([...this.extensions].reverse()).reduceRight((r,i)=>{let o={name:i.name,options:i.options,storage:this.editor.extensionStorage[i.name],editor:t,type:Rh(i.name,this.schema)},s=xe(i,"dispatchTransaction",o);return s?a=>{s.call(o,{transaction:a,next:r})}:r},e)}transformPastedHTML(e){let{editor:t}=this;return Mh([...this.extensions]).reduce((r,i)=>{let o={name:i.name,options:i.options,storage:this.editor.extensionStorage[i.name],editor:t,type:Rh(i.name,this.schema)},s=xe(i,"transformPastedHTML",o);return s?(a,l)=>{let u=r(a,l);return s.call(o,u)}:r},e||(r=>r))}get markViews(){let{editor:e}=this,{markExtensions:t}=zc(this.extensions);return Object.fromEntries(t.filter(n=>!!xe(n,"addMarkView")).map(n=>{let r=this.attributes.filter(a=>a.type===n.name),i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:e,type:ts(n.name,this.schema)},o=xe(n,"addMarkView",i);if(!o)return[];let s=(a,l,u)=>{let c=Rb(a,r);return o()({mark:a,view:l,inline:u,editor:e,extension:n,HTMLAttributes:c,updateAttributes:f=>{Boe(a,e,f)}})};return[n.name,s]}))}destroy(){this.extensions.forEach(e=>{let t=e;for(;t.parent;){let n=t.parent;n.child===t&&(n.child=null),t=n}}),this.extensions=[],this.baseExtensions=[],this.schema=null,this.editor=null}setupExtensions(){let e=this.extensions;this.editor.extensionStorage=Object.fromEntries(e.map(t=>[t.name,t.storage])),e.forEach(t=>{var n,r;let i={name:t.name,options:t.options,storage:this.editor.extensionStorage[t.name],editor:this.editor,type:Rh(t.name,this.schema)};t.type==="mark"&&(((n=Ft(xe(t,"keepOnSplit",i)))==null||n)&&this.splittableMarks.push(t.name),(r=Ft(xe(t,"clearable",i)))==null||r||this.nonClearableMarks.push(t.name));let o=xe(t,"onBeforeCreate",i),s=xe(t,"onCreate",i),a=xe(t,"onUpdate",i),l=xe(t,"onSelectionUpdate",i),u=xe(t,"onTransaction",i),c=xe(t,"onFocus",i),f=xe(t,"onBlur",i),d=xe(t,"onDestroy",i);o&&this.editor.on("beforeCreate",o),s&&this.editor.on("create",s),a&&this.editor.on("update",a),l&&this.editor.on("selectionUpdate",l),u&&this.editor.on("transaction",u),c&&this.editor.on("focus",c),f&&this.editor.on("blur",f),d&&this.editor.on("destroy",d)})}};Db.resolve=kH;Db.sort=Mh;Db.flatten=l_;var _oe={};o_(_oe,{ClipboardTextSerializer:()=>HH,Commands:()=>FH,Delete:()=>zH,Drop:()=>UH,Editable:()=>qH,FocusEvents:()=>GH,Keymap:()=>KH,Paste:()=>YH,Tabindex:()=>WH,TextDirection:()=>$H,focusEventsPluginKey:()=>VH});var Mr=class BH extends f_{constructor(){super(...arguments),this.type="extension"}static create(t={}){let n=typeof t=="function"?t():t;return new BH(n)}configure(t){return super.configure(t)}extend(t){let n=typeof t=="function"?t():t;return super.extend(n)}},HH=Mr.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new ct({key:new Nt("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:n}=e,{doc:r,selection:i}=t,o=OH(n),{blockSeparator:s}=this.options,a={...s!==void 0?{blockSeparator:s}:{},textSerializers:o};return[...i.ranges].sort((u,c)=>u.$from.pos-c.$from.pos).map(({$from:u,$to:c})=>MH(r,{from:u.pos,to:c.pos},a)).join(s??` + +`)}}})]}}),FH=Mr.create({name:"commands",addCommands(){return{...TH}}}),zH=Mr.create({name:"delete",onUpdate({transaction:e,appendedTransactions:t}){var n,r,i;let o=()=>{var s,a,l,u;if((u=(l=(a=(s=this.editor.options.coreExtensionOptions)==null?void 0:s.delete)==null?void 0:a.filterTransaction)==null?void 0:l.call(a,e))!=null?u:e.getMeta("y-sync$"))return;let c=Rie(e.before,[e,...t]);qie(c).forEach(h=>{c.mapping.mapResult(h.oldRange.from).deletedAfter&&c.mapping.mapResult(h.oldRange.to).deletedBefore&&c.before.nodesBetween(h.oldRange.from,h.oldRange.to,(p,b)=>{let y=b+p.nodeSize-2,g=h.oldRange.from<=b&&y<=h.oldRange.to;this.editor.emit("delete",{type:"node",node:p,from:b,to:y,newFrom:c.mapping.map(b),newTo:c.mapping.map(y),deletedRange:h.oldRange,newRange:h.newRange,partial:!g,editor:this.editor,transaction:e,combinedTransform:c})})});let d=c.mapping;c.steps.forEach((h,p)=>{var b,y;if(h instanceof Wo){let g=d.slice(p).map(h.from,-1),E=d.slice(p).map(h.to),T=d.invert().map(g,-1),S=d.invert().map(E),x=g>0?(b=c.doc.nodeAt(g-1))==null?void 0:b.marks.some(N=>N.eq(h.mark)):!1,v=(y=c.doc.nodeAt(E))==null?void 0:y.marks.some(N=>N.eq(h.mark));this.editor.emit("delete",{type:"mark",mark:h.mark,from:h.from,to:h.to,deletedRange:{from:T,to:S},newRange:{from:g,to:E},partial:!!(v||x),editor:this.editor,transaction:e,combinedTransform:c})}})};(i=(r=(n=this.editor.options.coreExtensionOptions)==null?void 0:n.delete)==null?void 0:r.async)==null||i?setTimeout(o,0):o()}}),UH=Mr.create({name:"drop",addProseMirrorPlugins(){return[new ct({key:new Nt("tiptapDrop"),props:{handleDrop:(e,t,n,r)=>{this.editor.emit("drop",{editor:this.editor,event:t,slice:n,moved:r})}}})]}}),qH=Mr.create({name:"editable",addProseMirrorPlugins(){return[new ct({key:new Nt("editable"),props:{editable:()=>this.editor.options.editable}})]}}),VH=new Nt("focusEvents"),GH=Mr.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:e}=this;return[new ct({key:VH,props:{handleDOMEvents:{focus:(t,n)=>{e.isFocused=!0;let r=e.state.tr.setMeta("focus",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1},blur:(t,n)=>{e.isFocused=!1;let r=e.state.tr.setMeta("blur",{event:n}).setMeta("addToHistory",!1);return t.dispatch(r),!1}}}})]}}),KH=Mr.create({name:"keymap",addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:a})=>{let{selection:l,doc:u}=a,{empty:c,$anchor:f}=l,{pos:d,parent:h}=f,p=f.parent.isTextblock&&d>0?a.doc.resolve(d-1):f,b=p.parent.type.spec.isolating,y=f.pos-f.parentOffset,g=b&&p.parent.childCount===1?y===f.pos:Ue.atStart(u).from===d;return!c||!h.type.isTextblock||h.textContent.length||!g||g&&f.parent.type.name==="paragraph"?!1:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},i={...r},o={...r,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Nb()||CH()?o:i},addProseMirrorPlugins(){return[new ct({key:new Nt("clearDocument"),appendTransaction:(e,t,n)=>{if(e.some(b=>b.getMeta("composition")))return;let r=e.some(b=>b.docChanged)&&!t.doc.eq(n.doc),i=e.some(b=>b.getMeta("preventClearDocument"));if(!r||i)return;let{empty:o,from:s,to:a}=t.selection,l=Ue.atStart(t.doc).from,u=Ue.atEnd(t.doc).to;if(o||!(s===l&&a===u)||!c_(n.doc))return;let d=n.tr,h=kb({state:n,transaction:d}),{commands:p}=new Mb({editor:this.editor,state:h});if(p.clearNodes(),!!d.steps.length)return d}})]}}),YH=Mr.create({name:"paste",addProseMirrorPlugins(){return[new ct({key:new Nt("tiptapPaste"),props:{handlePaste:(e,t,n)=>{this.editor.emit("paste",{editor:this.editor,event:t,slice:n})}}})]}}),WH=Mr.create({name:"tabindex",addOptions(){return{value:void 0}},addProseMirrorPlugins(){return[new ct({key:new Nt("tabindex"),props:{attributes:()=>{var e;return!this.editor.isEditable&&this.options.value===void 0?{}:{tabindex:(e=this.options.value)!=null?e:"0"}}}})]}}),$H=Mr.create({name:"textDirection",addOptions(){return{direction:void 0}},addGlobalAttributes(){if(!this.options.direction)return[];let{nodeExtensions:e}=zc(this.extensions);return[{types:e.filter(t=>t.name!=="text").map(t=>t.name),attributes:{dir:{default:this.options.direction,parseHTML:t=>{let n=t.getAttribute("dir");return n&&(n==="ltr"||n==="rtl"||n==="auto")?n:this.options.direction},renderHTML:t=>t.dir?{dir:t.dir}:{}}}}]},addProseMirrorPlugins(){return[new ct({key:new Nt("textDirection"),props:{attributes:()=>{let e=this.options.direction;return e?{dir:e}:{}}}})]}}),Coe=class kh{constructor(t,n,r=!1,i=null){this.currentNode=null,this.actualDepth=null,this.isBlock=r,this.resolvedPos=t,this.editor=n,this.currentNode=i}get name(){return this.node.type.name}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var t;return(t=this.actualDepth)!=null?t:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(t){let n=this.from,r=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can\u2019t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}n=this.from+1,r=this.to-1}this.editor.commands.insertContentAt({from:n,to:r},t)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;let t=this.resolvedPos.start(this.resolvedPos.depth-1),n=this.resolvedPos.doc.resolve(t);return new kh(n,this.editor)}get before(){let t=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.from-3)),new kh(t,this.editor)}get after(){let t=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return t.depth!==this.depth&&(t=this.resolvedPos.doc.resolve(this.to+3)),new kh(t,this.editor)}get children(){let t=[];return this.node.content.forEach((n,r)=>{let i=n.isBlock&&!n.isTextblock,o=n.isAtom&&!n.isText,s=n.isInline,a=this.pos+r+(o?0:1);if(a<0||a>this.resolvedPos.doc.nodeSize-2)return;let l=this.resolvedPos.doc.resolve(a);if(!i&&!s&&l.depth<=this.depth)return;let u=new kh(l,this.editor,i,i||s?n:null);i&&(u.actualDepth=this.depth+1),t.push(u)}),t}get firstChild(){return this.children[0]||null}get lastChild(){let t=this.children;return t[t.length-1]||null}closest(t,n={}){let r=null,i=this.parent;for(;i&&!r;){if(i.node.type.name===t)if(Object.keys(n).length>0){let o=i.node.attrs,s=Object.keys(n);for(let a=0;a{r&&i.length>0||(s.node.type.name===t&&o.every(l=>n[l]===s.node.attrs[l])&&i.push(s),!(r&&i.length>0)&&(i=i.concat(s.querySelectorAll(t,n,r))))}),i}setAttribute(t){let{tr:n}=this.editor.state;n.setNodeMarkup(this.from,void 0,{...this.node.attrs,...t}),this.editor.view.dispatch(n)}},woe=`.ProseMirror { position: relative; } @@ -176,33 +176,33 @@ img.ProseMirror-separator { .ProseMirror-focused .ProseMirror-gapcursor { display: block; -}`;function xoe(e,t,n){let r=document.querySelector(`style[data-tiptap-style${n?`-${n}`:""}]`);if(r!==null)return r;let i=document.createElement("style");return t&&i.setAttribute("nonce",t),i.setAttribute(`data-tiptap-style${n?`-${n}`:""}`,""),i.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(i),i}var KH=class extends uoe{constructor(e={}){super(),this.css=null,this.className="tiptap",this.editorView=null,this.isFocused=!1,this.destroyed=!1,this.isInitialized=!1,this.extensionStorage={},this.instanceId=Math.random().toString(36).slice(2,9),this.options={element:typeof document<"u"?document.createElement("div"):null,content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,textDirection:void 0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onMount:()=>null,onUnmount:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:r})=>{throw r},onPaste:()=>null,onDrop:()=>null,onDelete:()=>null,enableExtensionDispatchTransaction:!0},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.utils={getUpdatedPosition:Fie,createMappablePosition:zie},this.setOptions(e),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("mount",this.options.onMount),this.on("unmount",this.options.onUnmount),this.on("contentError",this.options.onContentError),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:r,slice:i,moved:o})=>this.options.onDrop(r,i,o)),this.on("paste",({event:r,slice:i})=>this.options.onPaste(r,i)),this.on("delete",this.options.onDelete);let t=this.createDoc(),n=TH(t,this.options.autofocus);this.editorState=ob.create({doc:t,schema:this.schema,selection:n||void 0}),this.options.element&&this.mount(this.options.element)}mount(e){if(typeof document>"u")throw new Error("[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.");this.createView(e),this.emit("mount",{editor:this}),this.css&&!document.head.contains(this.css)&&document.head.appendChild(this.css),window.setTimeout(()=>{this.isDestroyed||(this.options.autofocus!==!1&&this.options.autofocus!==null&&this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}unmount(){if(this.editorView){let e=this.editorView.dom;e?.editor&&delete e.editor,this.editorView.destroy()}if(this.editorView=null,this.isInitialized=!1,this.css&&!document.querySelectorAll(`.${this.className}`).length)try{typeof this.css.remove=="function"?this.css.remove():this.css.parentNode&&this.css.parentNode.removeChild(this.css)}catch(e){console.warn("Failed to remove CSS element:",e)}this.css=null,this.emit("unmount",{editor:this})}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&typeof document<"u"&&(this.css=xoe(Soe,this.options.injectNonce))}setOptions(e={}){this.options={...this.options,...e},!(!this.editorView||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(e,t=!0){this.setOptions({editable:e}),t&&this.emit("update",{editor:this,transaction:this.state.tr,appendedTransactions:[]})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get view(){return this.editorView?this.editorView:new Proxy({state:this.editorState,updateState:e=>{this.editorState=e},dispatch:e=>{this.dispatchTransaction(e)},composing:!1,dragging:null,editable:!0,isDestroyed:!1},{get:(e,t)=>{if(this.editorView)return this.editorView[t];if(t==="state")return this.editorState;if(t in e)return Reflect.get(e,t);throw new Error(`[tiptap error]: The editor view is not available. Cannot access view['${t}']. The editor may not be mounted yet.`)}})}get state(){return this.editorView&&(this.editorState=this.view.state),this.editorState}registerPlugin(e,t){let n=AH(t)?t(e,[...this.state.plugins]):[...this.state.plugins,e],r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}unregisterPlugin(e){if(this.isDestroyed)return;let t=this.state.plugins,n=t;if([].concat(e).forEach(i=>{let o=typeof i=="string"?`${i}$`:i.key;n=n.filter(s=>!s.key.startsWith(o))}),t.length===n.length)return;let r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}createExtensionManager(){var e,t,n,r;let o=[...this.options.enableCoreExtensions?[HH,IH.configure({blockSeparator:(t=(e=this.options.coreExtensionOptions)==null?void 0:e.clipboardTextSerializer)==null?void 0:t.blockSeparator}),LH,zH,UH,VH.configure({value:(r=(n=this.options.coreExtensionOptions)==null?void 0:n.tabindex)==null?void 0:r.value}),BH,qH,PH,GH.configure({direction:this.options.textDirection})].filter(s=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[s.name]!==!1:!0):[],...this.options.extensions].filter(s=>["extension","node","mark"].includes(s?.type));this.extensionManager=new Mb(o,this)}createCommandManager(){this.commandManager=new Rb({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createDoc(){let e;try{e=e_(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(t){if(!(t instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(t.message))throw t;this.emit("contentError",{editor:this,error:t,disableCollaboration:()=>{"collaboration"in this.storage&&typeof this.storage.collaboration=="object"&&this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(n=>n.name!=="collaboration"),this.createExtensionManager()}}),e=e_(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}return e}createView(e){let{editorProps:t,enableExtensionDispatchTransaction:n}=this.options,r=t.dispatchTransaction||this.dispatchTransaction.bind(this),i=n?this.extensionManager.dispatchTransaction(r):r,o=t.transformPastedHTML,s=this.extensionManager.transformPastedHTML(o);this.editorView=new xh(e,{...t,attributes:{role:"textbox",...t?.attributes},dispatchTransaction:i,transformPastedHTML:s,state:this.editorState,markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews});let a=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(a),this.prependClass(),this.injectCSS();let l=this.view.dom;l.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`${this.className} ${this.view.dom.className}`}captureTransaction(e){this.isCapturingTransaction=!0,e(),this.isCapturingTransaction=!1;let t=this.capturedTransaction;return this.capturedTransaction=null,t}dispatchTransaction(e){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=e;return}e.steps.forEach(u=>{var c;return(c=this.capturedTransaction)==null?void 0:c.step(u)});return}let{state:t,transactions:n}=this.state.applyTransaction(e),r=!this.state.selection.eq(t.selection),i=n.includes(e),o=this.state;if(this.emit("beforeTransaction",{editor:this,transaction:e,nextState:t}),!i)return;this.view.updateState(t),this.emit("transaction",{editor:this,transaction:e,appendedTransactions:n.slice(1)}),r&&this.emit("selectionUpdate",{editor:this,transaction:e});let s=n.findLast(u=>u.getMeta("focus")||u.getMeta("blur")),a=s?.getMeta("focus"),l=s?.getMeta("blur");a&&this.emit("focus",{editor:this,event:a.event,transaction:s}),l&&this.emit("blur",{editor:this,event:l.event,transaction:s}),!(e.getMeta("preventUpdate")||!n.some(u=>u.docChanged)||o.doc.eq(t.doc))&&this.emit("update",{editor:this,transaction:e,appendedTransactions:n.slice(1)})}getAttributes(e){return Die(this.state,e)}isActive(e,t){let n=typeof e=="string"?e:null,r=typeof e=="string"?t:e;return Hie(this.state,n,r)}getJSON(){return this.state.doc.toJSON()}getHTML(){return s_(this.state.doc.content,this.schema)}getText(e){let{blockSeparator:t=` +}`;function Noe(e,t,n){let r=document.querySelector(`style[data-tiptap-style${n?`-${n}`:""}]`);if(r!==null)return r;let i=document.createElement("style");return t&&i.setAttribute("nonce",t),i.setAttribute(`data-tiptap-style${n?`-${n}`:""}`,""),i.innerHTML=e,document.getElementsByTagName("head")[0].appendChild(i),i}var jH=class extends moe{constructor(e={}){super(),this.css=null,this.className="tiptap",this.editorView=null,this.isFocused=!1,this.destroyed=!1,this.isInitialized=!1,this.extensionStorage={},this.instanceId=Math.random().toString(36).slice(2,9),this.options={element:typeof document<"u"?document.createElement("div"):null,content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,textDirection:void 0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onMount:()=>null,onUnmount:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:r})=>{throw r},onPaste:()=>null,onDrop:()=>null,onDelete:()=>null,enableExtensionDispatchTransaction:!0},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.utils={getUpdatedPosition:Kie,createMappablePosition:Yie},this.setOptions(e),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("mount",this.options.onMount),this.on("unmount",this.options.onUnmount),this.on("contentError",this.options.onContentError),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:r,slice:i,moved:o})=>this.options.onDrop(r,i,o)),this.on("paste",({event:r,slice:i})=>this.options.onPaste(r,i)),this.on("delete",this.options.onDelete);let t=this.createDoc(),n=AH(t,this.options.autofocus);this.editorState=ab.create({doc:t,schema:this.schema,selection:n||void 0}),this.options.element&&this.mount(this.options.element)}mount(e){if(typeof document>"u")throw new Error("[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.");this.createView(e),this.emit("mount",{editor:this}),this.css&&!document.head.contains(this.css)&&document.head.appendChild(this.css),window.setTimeout(()=>{this.isDestroyed||(this.options.autofocus!==!1&&this.options.autofocus!==null&&this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}unmount(){if(this.editorView){let e=this.editorView.dom;e?.editor&&delete e.editor,this.editorView.destroy()}if(this.editorView=null,this.isInitialized=!1,this.css&&!document.querySelectorAll(`.${this.className}`).length)try{typeof this.css.remove=="function"?this.css.remove():this.css.parentNode&&this.css.parentNode.removeChild(this.css)}catch(e){console.warn("Failed to remove CSS element:",e)}this.css=null,this.emit("unmount",{editor:this})}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager.chain()}can(){return this.commandManager.can()}injectCSS(){this.options.injectCSS&&typeof document<"u"&&(this.css=Noe(woe,this.options.injectNonce))}setOptions(e={}){this.options={...this.options,...e},!(!this.editorView||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps(this.options.editorProps),this.view.updateState(this.state))}setEditable(e,t=!0){this.setOptions({editable:e}),t&&this.emit("update",{editor:this,transaction:this.state.tr,appendedTransactions:[]})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get view(){return this.editorView?this.editorView:new Proxy({state:this.editorState,updateState:e=>{this.editorState=e},dispatch:e=>{this.dispatchTransaction(e)},composing:!1,dragging:null,editable:!0,isDestroyed:!1},{get:(e,t)=>{if(this.editorView)return this.editorView[t];if(t==="state")return this.editorState;if(t in e)return Reflect.get(e,t);throw new Error(`[tiptap error]: The editor view is not available. Cannot access view['${t}']. The editor may not be mounted yet.`)}})}get state(){return this.editorView&&(this.editorState=this.view.state),this.editorState}registerPlugin(e,t){let n=NH(t)?t(e,[...this.state.plugins]):[...this.state.plugins,e],r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}unregisterPlugin(e){if(this.isDestroyed)return;let t=this.state.plugins,n=t;if([].concat(e).forEach(i=>{let o=typeof i=="string"?`${i}$`:i.key;n=n.filter(s=>!s.key.startsWith(o))}),t.length===n.length)return;let r=this.state.reconfigure({plugins:n});return this.view.updateState(r),r}createExtensionManager(){var e,t,n,r;let o=[...this.options.enableCoreExtensions?[qH,HH.configure({blockSeparator:(t=(e=this.options.coreExtensionOptions)==null?void 0:e.clipboardTextSerializer)==null?void 0:t.blockSeparator}),FH,GH,KH,WH.configure({value:(r=(n=this.options.coreExtensionOptions)==null?void 0:n.tabindex)==null?void 0:r.value}),UH,YH,zH,$H.configure({direction:this.options.textDirection})].filter(s=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[s.name]!==!1:!0):[],...this.options.extensions].filter(s=>["extension","node","mark"].includes(s?.type));this.extensionManager=new Db(o,this)}createCommandManager(){this.commandManager=new Mb({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createDoc(){let e;try{e=r_(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(t){if(!(t instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(t.message))throw t;this.emit("contentError",{editor:this,error:t,disableCollaboration:()=>{"collaboration"in this.storage&&typeof this.storage.collaboration=="object"&&this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(n=>n.name!=="collaboration"),this.createExtensionManager()}}),e=r_(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1})}return e}createView(e){let{editorProps:t,enableExtensionDispatchTransaction:n}=this.options,r=t.dispatchTransaction||this.dispatchTransaction.bind(this),i=n?this.extensionManager.dispatchTransaction(r):r,o=t.transformPastedHTML,s=this.extensionManager.transformPastedHTML(o);this.editorView=new Ah(e,{...t,attributes:{role:"textbox",...t?.attributes},dispatchTransaction:i,transformPastedHTML:s,state:this.editorState,markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews});let a=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(a),this.prependClass(),this.injectCSS();let l=this.view.dom;l.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`${this.className} ${this.view.dom.className}`}captureTransaction(e){this.isCapturingTransaction=!0,e(),this.isCapturingTransaction=!1;let t=this.capturedTransaction;return this.capturedTransaction=null,t}dispatchTransaction(e){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=e;return}e.steps.forEach(u=>{var c;return(c=this.capturedTransaction)==null?void 0:c.step(u)});return}let{state:t,transactions:n}=this.state.applyTransaction(e),r=!this.state.selection.eq(t.selection),i=n.includes(e),o=this.state;if(this.emit("beforeTransaction",{editor:this,transaction:e,nextState:t}),!i)return;this.view.updateState(t),this.emit("transaction",{editor:this,transaction:e,appendedTransactions:n.slice(1)}),r&&this.emit("selectionUpdate",{editor:this,transaction:e});let s=n.findLast(u=>u.getMeta("focus")||u.getMeta("blur")),a=s?.getMeta("focus"),l=s?.getMeta("blur");a&&this.emit("focus",{editor:this,event:a.event,transaction:s}),l&&this.emit("blur",{editor:this,event:l.event,transaction:s}),!(e.getMeta("preventUpdate")||!n.some(u=>u.docChanged)||o.doc.eq(t.doc))&&this.emit("update",{editor:this,transaction:e,appendedTransactions:n.slice(1)})}getAttributes(e){return Fie(this.state,e)}isActive(e,t){let n=typeof e=="string"?e:null,r=typeof e=="string"?t:e;return Gie(this.state,n,r)}getJSON(){return this.state.doc.toJSON()}getHTML(){return u_(this.state.doc.content,this.schema)}getText(e){let{blockSeparator:t=` -`,textSerializers:n={}}=e||{};return Mie(this.state.doc,{blockSeparator:t,textSerializers:{...NH(this.schema),...n}})}get isEmpty(){return a_(this.state.doc)}destroy(){this.destroyed||(this.destroyed=!0,this.emit("destroy"),this.unmount(),this.removeAllListeners(),this.extensionManager.destroy(),this.extensionManager=null,this.schema=null,this.commandManager=null,this.extensionStorage={})}get isDestroyed(){var e,t;return(t=(e=this.editorView)==null?void 0:e.isDestroyed)!=null?t:!0}$node(e,t){var n;return((n=this.$doc)==null?void 0:n.querySelector(e,t))||null}$nodes(e,t){var n;return((n=this.$doc)==null?void 0:n.querySelectorAll(e,t))||null}$pos(e){let t=this.state.doc.resolve(e),n=e>0&&t.nodeAfter&&!t.nodeAfter.isText?t.nodeAfter:null;return new Toe(t,this,!1,n)}get $doc(){return this.$pos(0)}};function YH(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}var voe={};n_(voe,{createAtomBlockMarkdownSpec:()=>Aoe,createBlockMarkdownSpec:()=>_oe,createInlineMarkdownSpec:()=>Noe,parseAttributes:()=>u_,parseIndentedBlocks:()=>Roe,renderNestedMarkdownContent:()=>koe,serializeAttributes:()=>c_});function u_(e){if(!e?.trim())return{};let t={},n=[],r=e.replace(/["']([^"']*)["']/g,u=>(n.push(u),`__QUOTED_${n.length-1}__`)),i=r.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);if(i){let u=i.map(c=>c.trim().slice(1));t.class=u.join(" ")}let o=r.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);o&&(t.id=o[1]);let s=/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g;Array.from(r.matchAll(s)).forEach(([,u,c])=>{var f;let d=parseInt(((f=c.match(/__QUOTED_(\d+)__/))==null?void 0:f[1])||"0",10),h=n[d];h&&(t[u]=h.slice(1,-1))});let l=r.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return l&&l.split(/\s+/).filter(Boolean).forEach(c=>{c.match(/^[a-zA-Z][\w-]*$/)&&(t[c]=!0)}),t}function c_(e){if(!e||Object.keys(e).length===0)return"";let t=[];return e.class&&String(e.class).split(/\s+/).filter(Boolean).forEach(r=>t.push(`.${r}`)),e.id&&t.push(`#${e.id}`),Object.entries(e).forEach(([n,r])=>{n==="class"||n==="id"||(r===!0?t.push(n):r!==!1&&r!=null&&t.push(`${n}="${String(r)}"`))}),t.join(" ")}function Aoe(e){let{nodeName:t,name:n,parseAttributes:r=u_,serializeAttributes:i=c_,defaultAttributes:o={},requiredAttributes:s=[],allowedAttributes:a}=e,l=n||t,u=c=>{if(!a)return c;let f={};return a.forEach(d=>{d in c&&(f[d]=c[d])}),f};return{parseMarkdown:(c,f)=>{let d={...o,...c.attributes};return f.createNode(t,d,[])},markdownTokenizer:{name:t,level:"block",start(c){var f;let d=new RegExp(`^:::${l}(?:\\s|$)`,"m"),h=(f=c.match(d))==null?void 0:f.index;return h!==void 0?h:-1},tokenize(c,f,d){let h=new RegExp(`^:::${l}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),p=c.match(h);if(!p)return;let b=p[1]||"",y=r(b);if(!s.find(E=>!(E in y)))return{type:t,raw:p[0],attributes:y}}},renderMarkdown:c=>{let f=u(c.attrs||{}),d=i(f),h=d?` {${d}}`:"";return`:::${l}${h} :::`}}}function _oe(e){let{nodeName:t,name:n,getContent:r,parseAttributes:i=u_,serializeAttributes:o=c_,defaultAttributes:s={},content:a="block",allowedAttributes:l}=e,u=n||t,c=f=>{if(!l)return f;let d={};return l.forEach(h=>{h in f&&(d[h]=f[h])}),d};return{parseMarkdown:(f,d)=>{let h;if(r){let b=r(f);h=typeof b=="string"?[{type:"text",text:b}]:b}else a==="block"?h=d.parseChildren(f.tokens||[]):h=d.parseInline(f.tokens||[]);let p={...s,...f.attributes};return d.createNode(t,p,h)},markdownTokenizer:{name:t,level:"block",start(f){var d;let h=new RegExp(`^:::${u}`,"m"),p=(d=f.match(h))==null?void 0:d.index;return p!==void 0?p:-1},tokenize(f,d,h){var p;let b=new RegExp(`^:::${u}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),y=f.match(b);if(!y)return;let[g,E=""]=y,T=i(E),S=1,v=g.length,x="",N=/^:::([\w-]*)(\s.*)?/gm,D=f.slice(v);for(N.lastIndex=0;;){let k=N.exec(D);if(k===null)break;let A=k.index,O=k[1];if(!((p=k[2])!=null&&p.endsWith(":::"))){if(O)S+=1;else if(S-=1,S===0){let G=D.slice(0,A);x=G.trim();let z=f.slice(0,v+A+k[0].length),L=[];if(x)if(a==="block")for(L=h.blockTokens(G),L.forEach(H=>{H.text&&(!H.tokens||H.tokens.length===0)&&(H.tokens=h.inlineTokens(H.text))});L.length>0;){let H=L[L.length-1];if(H.type==="paragraph"&&(!H.text||H.text.trim()===""))L.pop();else break}else L=h.inlineTokens(x);return{type:t,raw:z,attributes:T,content:x,tokens:L}}}}}},renderMarkdown:(f,d)=>{let h=c(f.attrs||{}),p=o(h),b=p?` {${p}}`:"",y=d.renderChildren(f.content||[],` +`,textSerializers:n={}}=e||{};return Bie(this.state.doc,{blockSeparator:t,textSerializers:{...OH(this.schema),...n}})}get isEmpty(){return c_(this.state.doc)}destroy(){this.destroyed||(this.destroyed=!0,this.emit("destroy"),this.unmount(),this.removeAllListeners(),this.extensionManager.destroy(),this.extensionManager=null,this.schema=null,this.commandManager=null,this.extensionStorage={})}get isDestroyed(){var e,t;return(t=(e=this.editorView)==null?void 0:e.isDestroyed)!=null?t:!0}$node(e,t){var n;return((n=this.$doc)==null?void 0:n.querySelector(e,t))||null}$nodes(e,t){var n;return((n=this.$doc)==null?void 0:n.querySelectorAll(e,t))||null}$pos(e){let t=this.state.doc.resolve(e),n=e>0&&t.nodeAfter&&!t.nodeAfter.isText?t.nodeAfter:null;return new Coe(t,this,!1,n)}get $doc(){return this.$pos(0)}};function XH(e){return e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")}var Roe={};o_(Roe,{createAtomBlockMarkdownSpec:()=>koe,createBlockMarkdownSpec:()=>Moe,createInlineMarkdownSpec:()=>Ioe,parseAttributes:()=>d_,parseIndentedBlocks:()=>Loe,renderNestedMarkdownContent:()=>Poe,serializeAttributes:()=>h_});function d_(e){if(!e?.trim())return{};let t={},n=[],r=e.replace(/["']([^"']*)["']/g,u=>(n.push(u),`__QUOTED_${n.length-1}__`)),i=r.match(/(?:^|\s)\.([a-zA-Z][\w-]*)/g);if(i){let u=i.map(c=>c.trim().slice(1));t.class=u.join(" ")}let o=r.match(/(?:^|\s)#([a-zA-Z][\w-]*)/);o&&(t.id=o[1]);let s=/([a-zA-Z][\w-]*)\s*=\s*(__QUOTED_\d+__)/g;Array.from(r.matchAll(s)).forEach(([,u,c])=>{var f;let d=parseInt(((f=c.match(/__QUOTED_(\d+)__/))==null?void 0:f[1])||"0",10),h=n[d];h&&(t[u]=h.slice(1,-1))});let l=r.replace(/(?:^|\s)\.([a-zA-Z][\w-]*)/g,"").replace(/(?:^|\s)#([a-zA-Z][\w-]*)/g,"").replace(/([a-zA-Z][\w-]*)\s*=\s*__QUOTED_\d+__/g,"").trim();return l&&l.split(/\s+/).filter(Boolean).forEach(c=>{c.match(/^[a-zA-Z][\w-]*$/)&&(t[c]=!0)}),t}function h_(e){if(!e||Object.keys(e).length===0)return"";let t=[];return e.class&&String(e.class).split(/\s+/).filter(Boolean).forEach(r=>t.push(`.${r}`)),e.id&&t.push(`#${e.id}`),Object.entries(e).forEach(([n,r])=>{n==="class"||n==="id"||(r===!0?t.push(n):r!==!1&&r!=null&&t.push(`${n}="${String(r)}"`))}),t.join(" ")}function koe(e){let{nodeName:t,name:n,parseAttributes:r=d_,serializeAttributes:i=h_,defaultAttributes:o={},requiredAttributes:s=[],allowedAttributes:a}=e,l=n||t,u=c=>{if(!a)return c;let f={};return a.forEach(d=>{d in c&&(f[d]=c[d])}),f};return{parseMarkdown:(c,f)=>{let d={...o,...c.attributes};return f.createNode(t,d,[])},markdownTokenizer:{name:t,level:"block",start(c){var f;let d=new RegExp(`^:::${l}(?:\\s|$)`,"m"),h=(f=c.match(d))==null?void 0:f.index;return h!==void 0?h:-1},tokenize(c,f,d){let h=new RegExp(`^:::${l}(?:\\s+\\{([^}]*)\\})?\\s*:::(?:\\n|$)`),p=c.match(h);if(!p)return;let b=p[1]||"",y=r(b);if(!s.find(E=>!(E in y)))return{type:t,raw:p[0],attributes:y}}},renderMarkdown:c=>{let f=u(c.attrs||{}),d=i(f),h=d?` {${d}}`:"";return`:::${l}${h} :::`}}}function Moe(e){let{nodeName:t,name:n,getContent:r,parseAttributes:i=d_,serializeAttributes:o=h_,defaultAttributes:s={},content:a="block",allowedAttributes:l}=e,u=n||t,c=f=>{if(!l)return f;let d={};return l.forEach(h=>{h in f&&(d[h]=f[h])}),d};return{parseMarkdown:(f,d)=>{let h;if(r){let b=r(f);h=typeof b=="string"?[{type:"text",text:b}]:b}else a==="block"?h=d.parseChildren(f.tokens||[]):h=d.parseInline(f.tokens||[]);let p={...s,...f.attributes};return d.createNode(t,p,h)},markdownTokenizer:{name:t,level:"block",start(f){var d;let h=new RegExp(`^:::${u}`,"m"),p=(d=f.match(h))==null?void 0:d.index;return p!==void 0?p:-1},tokenize(f,d,h){var p;let b=new RegExp(`^:::${u}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),y=f.match(b);if(!y)return;let[g,E=""]=y,T=i(E),S=1,x=g.length,v="",N=/^:::([\w-]*)(\s.*)?/gm,D=f.slice(x);for(N.lastIndex=0;;){let k=N.exec(D);if(k===null)break;let A=k.index,P=k[1];if(!((p=k[2])!=null&&p.endsWith(":::"))){if(P)S+=1;else if(S-=1,S===0){let G=D.slice(0,A);v=G.trim();let U=f.slice(0,x+A+k[0].length),B=[];if(v)if(a==="block")for(B=h.blockTokens(G),B.forEach(L=>{L.text&&(!L.tokens||L.tokens.length===0)&&(L.tokens=h.inlineTokens(L.text))});B.length>0;){let L=B[B.length-1];if(L.type==="paragraph"&&(!L.text||L.text.trim()===""))B.pop();else break}else B=h.inlineTokens(v);return{type:t,raw:U,attributes:T,content:v,tokens:B}}}}}},renderMarkdown:(f,d)=>{let h=c(f.attrs||{}),p=o(h),b=p?` {${p}}`:"",y=d.renderChildren(f.content||[],` `);return`:::${u}${b} ${y} -:::`}}}function Coe(e){if(!e.trim())return{};let t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,r=n.exec(e);for(;r!==null;){let[,i,o,s]=r;t[i]=o||s,r=n.exec(e)}return t}function woe(e){return Object.entries(e).filter(([,t])=>t!=null).map(([t,n])=>`${t}="${n}"`).join(" ")}function Noe(e){let{nodeName:t,name:n,getContent:r,parseAttributes:i=Coe,serializeAttributes:o=woe,defaultAttributes:s={},selfClosing:a=!1,allowedAttributes:l}=e,u=n||t,c=d=>{if(!l)return d;let h={};return l.forEach(p=>{let b=typeof p=="string"?p:p.name,y=typeof p=="string"?void 0:p.skipIfDefault;if(b in d){let g=d[b];if(y!==void 0&&g===y)return;h[b]=g}}),h},f=u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return{parseMarkdown:(d,h)=>{let p={...s,...d.attributes};if(a)return h.createNode(t,p);let b=r?r(d):d.content||"";return b?h.createNode(t,p,[h.createTextNode(b)]):h.createNode(t,p,[])},markdownTokenizer:{name:t,level:"inline",start(d){let h=a?new RegExp(`\\[${f}\\s*[^\\]]*\\]`):new RegExp(`\\[${f}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${f}\\]`),p=d.match(h),b=p?.index;return b!==void 0?b:-1},tokenize(d,h,p){let b=a?new RegExp(`^\\[${f}\\s*([^\\]]*)\\]`):new RegExp(`^\\[${f}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${f}\\]`),y=d.match(b);if(!y)return;let g="",E="";if(a){let[,S]=y;E=S}else{let[,S,v]=y;E=S,g=v||""}let T=i(E.trim());return{type:t,raw:y[0],content:g.trim(),attributes:T}}},renderMarkdown:d=>{let h="";r?h=r(d):d.content&&d.content.length>0&&(h=d.content.filter(g=>g.type==="text").map(g=>g.text).join(""));let p=c(d.attrs||{}),b=o(p),y=b?` ${b}`:"";return a?`[${u}${y}]`:`[${u}${y}]${h}[/${u}]`}}}function Roe(e,t,n){var r,i,o,s;let a=e.split(` +:::`}}}function Ooe(e){if(!e.trim())return{};let t={},n=/(\w+)=(?:"([^"]*)"|'([^']*)')/g,r=n.exec(e);for(;r!==null;){let[,i,o,s]=r;t[i]=o||s,r=n.exec(e)}return t}function Doe(e){return Object.entries(e).filter(([,t])=>t!=null).map(([t,n])=>`${t}="${n}"`).join(" ")}function Ioe(e){let{nodeName:t,name:n,getContent:r,parseAttributes:i=Ooe,serializeAttributes:o=Doe,defaultAttributes:s={},selfClosing:a=!1,allowedAttributes:l}=e,u=n||t,c=d=>{if(!l)return d;let h={};return l.forEach(p=>{let b=typeof p=="string"?p:p.name,y=typeof p=="string"?void 0:p.skipIfDefault;if(b in d){let g=d[b];if(y!==void 0&&g===y)return;h[b]=g}}),h},f=u.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return{parseMarkdown:(d,h)=>{let p={...s,...d.attributes};if(a)return h.createNode(t,p);let b=r?r(d):d.content||"";return b?h.createNode(t,p,[h.createTextNode(b)]):h.createNode(t,p,[])},markdownTokenizer:{name:t,level:"inline",start(d){let h=a?new RegExp(`\\[${f}\\s*[^\\]]*\\]`):new RegExp(`\\[${f}\\s*[^\\]]*\\][\\s\\S]*?\\[\\/${f}\\]`),p=d.match(h),b=p?.index;return b!==void 0?b:-1},tokenize(d,h,p){let b=a?new RegExp(`^\\[${f}\\s*([^\\]]*)\\]`):new RegExp(`^\\[${f}\\s*([^\\]]*)\\]([\\s\\S]*?)\\[\\/${f}\\]`),y=d.match(b);if(!y)return;let g="",E="";if(a){let[,S]=y;E=S}else{let[,S,x]=y;E=S,g=x||""}let T=i(E.trim());return{type:t,raw:y[0],content:g.trim(),attributes:T}}},renderMarkdown:d=>{let h="";r?h=r(d):d.content&&d.content.length>0&&(h=d.content.filter(g=>g.type==="text").map(g=>g.text).join(""));let p=c(d.attrs||{}),b=o(p),y=b?` ${b}`:"";return a?`[${u}${y}]`:`[${u}${y}]${h}[/${u}]`}}}function Loe(e,t,n){var r,i,o,s;let a=e.split(` `),l=[],u="",c=0,f=t.baseIndentSize||2;for(;c0)break;if(d.trim()===""){c+=1,u=`${u}${d} `;continue}else return}let p=t.extractItemData(h),{indentLevel:b,mainContent:y}=p;u=`${u}${d} -`;let g=[y];for(c+=1;cA.trim()!=="");if(N===-1)break;if((((i=(r=a[c+1+N].match(/^(\s*)/))==null?void 0:r[1])==null?void 0:i.length)||0)>b){g.push(v),u=`${u}${v} -`,c+=1;continue}else break}if((((s=(o=v.match(/^(\s*)/))==null?void 0:o[1])==null?void 0:s.length)||0)>b)g.push(v),u=`${u}${v} -`,c+=1;else break}let E,T=g.slice(1);if(T.length>0){let v=T.map(x=>x.slice(b+f)).join(` -`);v.trim()&&(t.customNestedParser?E=t.customNestedParser(v):E=n.blockTokens(v))}let S=t.createToken(p,E);l.push(S)}if(l.length!==0)return{items:l,raw:u}}function koe(e,t,n,r){if(!e||!Array.isArray(e.content))return"";let i=typeof n=="function"?n(r):n,[o,...s]=e.content,a=t.renderChildren([o]),l=`${i}${a}`;return s&&s.length>0&&s.forEach((u,c)=>{var f,d;let h=(d=(f=t.renderChild)==null?void 0:f.call(t,u,c+1))!=null?d:t.renderChildren([u]);if(h!=null){let p=h.split(` +`;let g=[y];for(c+=1;cA.trim()!=="");if(N===-1)break;if((((i=(r=a[c+1+N].match(/^(\s*)/))==null?void 0:r[1])==null?void 0:i.length)||0)>b){g.push(x),u=`${u}${x} +`,c+=1;continue}else break}if((((s=(o=x.match(/^(\s*)/))==null?void 0:o[1])==null?void 0:s.length)||0)>b)g.push(x),u=`${u}${x} +`,c+=1;else break}let E,T=g.slice(1);if(T.length>0){let x=T.map(v=>v.slice(b+f)).join(` +`);x.trim()&&(t.customNestedParser?E=t.customNestedParser(x):E=n.blockTokens(x))}let S=t.createToken(p,E);l.push(S)}if(l.length!==0)return{items:l,raw:u}}function Poe(e,t,n,r){if(!e||!Array.isArray(e.content))return"";let i=typeof n=="function"?n(r):n,[o,...s]=e.content,a=t.renderChildren([o]),l=`${i}${a}`;return s&&s.length>0&&s.forEach((u,c)=>{var f,d;let h=(d=(f=t.renderChild)==null?void 0:f.call(t,u,c+1))!=null?d:t.renderChildren([u]);if(h!=null){let p=h.split(` `).map(b=>b?t.indent(b):t.indent("")).join(` `);l+=u.type==="paragraph"?` ${p}`:` -${p}`}}),l}function Moe(e,t,n={}){let{state:r}=t,{doc:i,tr:o}=r,s=e;i.descendants((a,l)=>{let u=o.mapping.map(l),c=o.mapping.map(l)+a.nodeSize,f=null;if(a.marks.forEach(h=>{if(h!==s)return!1;f=h}),!f)return;let d=!1;if(Object.keys(n).forEach(h=>{n[h]!==f.attrs[h]&&(d=!0)}),d){let h=e.type.create({...e.attrs,...n});o.removeMark(u,c,e.type),o.addMark(u,c,h)}}),o.docChanged&&t.view.dispatch(o)}var oa=class WH extends l_{constructor(){super(...arguments),this.type="node"}static create(t={}){let n=typeof t=="function"?t():t;return new WH(n)}configure(t){return super.configure(t)}extend(t){let n=typeof t=="function"?t():t;return super.extend(n)}};var la=q(ge(),1),l8=q(G0(),1);var{getOwnPropertyNames:Ooe,getOwnPropertySymbols:Doe}=Object,{hasOwnProperty:Ioe}=Object.prototype;function f_(e,t){return function(r,i,o){return e(r,i,o)&&t(r,i,o)}}function Ob(e){return function(n,r,i){if(!n||!r||typeof n!="object"||typeof r!="object")return e(n,r,i);let{cache:o}=i,s=o.get(n),a=o.get(r);if(s&&a)return s===r&&a===n;o.set(n,r),o.set(r,n);let l=e(n,r,i);return o.delete(n),o.delete(r),l}}function Loe(e){return e?.[Symbol.toStringTag]}function $H(e){return Ooe(e).concat(Doe(e))}var Poe=Object.hasOwn||((e,t)=>Ioe.call(e,t));function Cl(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var Boe="__v",Hoe="__o",Foe="_owner",{getOwnPropertyDescriptor:jH,keys:XH}=Object;function zoe(e,t){return e.byteLength===t.byteLength&&Db(new Uint8Array(e),new Uint8Array(t))}function Uoe(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function qoe(e,t){return e.byteLength===t.byteLength&&Db(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function Voe(e,t){return Cl(e.getTime(),t.getTime())}function Goe(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function Koe(e,t){return e===t}function QH(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=new Array(r),o=e.entries(),s,a,l=0;for(;(s=o.next())&&!s.done;){let u=t.entries(),c=!1,f=0;for(;(a=u.next())&&!a.done;){if(i[f]){f++;continue}let d=s.value,h=a.value;if(n.equals(d[0],h[0],l,f,e,t,n)&&n.equals(d[1],h[1],d[0],h[0],e,t,n)){c=i[f]=!0;break}f++}if(!c)return!1;l++}return!0}var Yoe=Cl;function Woe(e,t,n){let r=XH(e),i=r.length;if(XH(t).length!==i)return!1;for(;i-- >0;)if(!JH(e,t,n,r[i]))return!1;return!0}function Dh(e,t,n){let r=$H(e),i=r.length;if($H(t).length!==i)return!1;let o,s,a;for(;i-- >0;)if(o=r[i],!JH(e,t,n,o)||(s=jH(e,o),a=jH(t,o),(s||a)&&(!s||!a||s.configurable!==a.configurable||s.enumerable!==a.enumerable||s.writable!==a.writable)))return!1;return!0}function $oe(e,t){return Cl(e.valueOf(),t.valueOf())}function joe(e,t){return e.source===t.source&&e.flags===t.flags}function ZH(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=new Array(r),o=e.values(),s,a;for(;(s=o.next())&&!s.done;){let l=t.values(),u=!1,c=0;for(;(a=l.next())&&!a.done;){if(!i[c]&&n.equals(s.value,a.value,s.value,a.value,e,t,n)){u=i[c]=!0;break}c++}if(!u)return!1}return!0}function Db(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function Xoe(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function JH(e,t,n,r){return(r===Foe||r===Hoe||r===Boe)&&(e.$$typeof||t.$$typeof)?!0:Poe(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var Qoe="[object ArrayBuffer]",Zoe="[object Arguments]",Joe="[object Boolean]",ese="[object DataView]",tse="[object Date]",nse="[object Error]",rse="[object Map]",ise="[object Number]",ose="[object Object]",sse="[object RegExp]",ase="[object Set]",lse="[object String]",use={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},cse="[object URL]",fse=Object.prototype.toString;function dse({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:o,areMapsEqual:s,areNumbersEqual:a,areObjectsEqual:l,arePrimitiveWrappersEqual:u,areRegExpsEqual:c,areSetsEqual:f,areTypedArraysEqual:d,areUrlsEqual:h,unknownTagComparators:p}){return function(y,g,E){if(y===g)return!0;if(y==null||g==null)return!1;let T=typeof y;if(T!==typeof g)return!1;if(T!=="object")return T==="number"?a(y,g,E):T==="function"?o(y,g,E):!1;let S=y.constructor;if(S!==g.constructor)return!1;if(S===Object)return l(y,g,E);if(Array.isArray(y))return t(y,g,E);if(S===Date)return r(y,g,E);if(S===RegExp)return c(y,g,E);if(S===Map)return s(y,g,E);if(S===Set)return f(y,g,E);let v=fse.call(y);if(v===tse)return r(y,g,E);if(v===sse)return c(y,g,E);if(v===rse)return s(y,g,E);if(v===ase)return f(y,g,E);if(v===ose)return typeof y.then!="function"&&typeof g.then!="function"&&l(y,g,E);if(v===cse)return h(y,g,E);if(v===nse)return i(y,g,E);if(v===Zoe)return l(y,g,E);if(use[v])return d(y,g,E);if(v===Qoe)return e(y,g,E);if(v===ese)return n(y,g,E);if(v===Joe||v===ise||v===lse)return u(y,g,E);if(p){let x=p[v];if(!x){let N=Loe(y);N&&(x=p[N])}if(x)return x(y,g,E)}return!1}}function hse({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:zoe,areArraysEqual:n?Dh:Uoe,areDataViewsEqual:qoe,areDatesEqual:Voe,areErrorsEqual:Goe,areFunctionsEqual:Koe,areMapsEqual:n?f_(QH,Dh):QH,areNumbersEqual:Yoe,areObjectsEqual:n?Dh:Woe,arePrimitiveWrappersEqual:$oe,areRegExpsEqual:joe,areSetsEqual:n?f_(ZH,Dh):ZH,areTypedArraysEqual:n?f_(Db,Dh):Db,areUrlsEqual:Xoe,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let i=Ob(r.areArraysEqual),o=Ob(r.areMapsEqual),s=Ob(r.areObjectsEqual),a=Ob(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:i,areMapsEqual:o,areObjectsEqual:s,areSetsEqual:a})}return r}function pse(e){return function(t,n,r,i,o,s,a){return e(t,n,a)}}function mse({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function(a,l){let{cache:u=e?new WeakMap:void 0,meta:c}=n();return t(a,l,{cache:u,equals:r,meta:c,strict:i})};if(e)return function(a,l){return t(a,l,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let o={cache:void 0,equals:r,meta:void 0,strict:i};return function(a,l){return t(a,l,o)}}var e8=sa(),YNe=sa({strict:!0}),WNe=sa({circular:!0}),$Ne=sa({circular:!0,strict:!0}),jNe=sa({createInternalComparator:()=>Cl}),XNe=sa({strict:!0,createInternalComparator:()=>Cl}),QNe=sa({circular:!0,createInternalComparator:()=>Cl}),ZNe=sa({circular:!0,createInternalComparator:()=>Cl,strict:!0});function sa(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,o=hse(e),s=dse(o),a=n?n(s):pse(s);return mse({circular:t,comparator:s,createState:r,equals:a,strict:i})}var ua=q(ge(),1),u8=q(i8(),1),h8=q(ie(),1),Ih=q(ge(),1),Pse=q(ie(),1),m8=q(ge(),1),g8=q(ie(),1);var b8=q(ge(),1),Bse=q(ge(),1),Hse=q(lo(),1),Fse=q(ie(),1),zse=q(ie(),1);var h_=q(ge(),1),Use=q(ie(),1),wl=q(ge(),1),Lb=q(ie(),1),Ase=(...e)=>t=>{e.forEach(n=>{typeof n=="function"?n(t):n&&(n.current=t)})},_se=({contentComponent:e})=>{let t=(0,a8.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getServerSnapshot);return(0,ns.jsx)(ns.Fragment,{children:Object.values(t)})};function Cse(){let e=new Set,t={};return{subscribe(n){return e.add(n),()=>{e.delete(n)}},getSnapshot(){return t},getServerSnapshot(){return t},setRenderer(n,r){t={...t,[n]:s8.default.createPortal(r.reactElement,r.element,n)},e.forEach(i=>i())},removeRenderer(n){let r={...t};delete r[n],t=r,e.forEach(i=>i())}}}var wse=class extends aa.default.Component{constructor(e){super(e),this.editorContentRef=aa.default.createRef()}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){var e;let t=this.props.editor;if(t&&!t.isDestroyed&&((e=t.view.dom)!=null&&e.parentNode)){if(t.contentComponent)return;let n=this.editorContentRef.current;n.append(...t.view.dom.parentNode.childNodes),t.setOptions({element:n}),t.contentComponent=Cse(),t.createNodeViews(),t.isEditorContentInitialized=!0,this.forceUpdate()}}componentWillUnmount(){var e;let t=this.props.editor;if(t){t.isEditorContentInitialized=!1,t.isDestroyed||t.view.setProps({nodeViews:{}}),t.contentComponent=null;try{if(!((e=t.view.dom)!=null&&e.parentNode))return;let n=document.createElement("div");n.append(...t.view.dom.parentNode.childNodes),t.setOptions({element:n})}catch{}}}render(){let{editor:e,innerRef:t,...n}=this.props;return(0,ns.jsxs)(ns.Fragment,{children:[(0,ns.jsx)("div",{ref:Ase(t,this.editorContentRef),...n}),e?.contentComponent&&(0,ns.jsx)(_se,{contentComponent:e.contentComponent})]})}},Nse=(0,aa.forwardRef)((e,t)=>{let n=aa.default.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[e.editor]);return aa.default.createElement(wse,{key:n,innerRef:t,...e})}),d_=aa.default.memo(Nse),Rse=typeof window<"u"?ua.useLayoutEffect:ua.useEffect,kse=class{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){let t=()=>{this.transactionNumber+=1,this.subscribers.forEach(r=>r())},n=this.editor;return n.on("transaction",t),()=>{n.off("transaction",t)}}}};function Mse(e){var t;let[n]=(0,ua.useState)(()=>new kse(e.editor)),r=(0,u8.useSyncExternalStoreWithSelector)(n.subscribe,n.getSnapshot,n.getServerSnapshot,e.selector,(t=e.equalityFn)!=null?t:e8);return Rse(()=>n.watch(e.editor),[e.editor,n]),(0,ua.useDebugValue)(r),r}var o8=!1,c8=typeof window>"u",Ose=c8||!!(typeof window<"u"&&window.next),Dse=class f8{constructor(t){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId="",this.options=t,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(t){this.editor=t,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(n=>n())}getInitialEditor(){let t=this.options.current.immediatelyRender,n=t??!0;return c8?(n&&o8&&console.warn("SSR detected. `immediatelyRender` has been set to false to avoid hydration mismatches"),n=!1):Ose&&t===void 0&&(n=!1,o8&&console.warn("Next.js detected. `immediatelyRender` defaults to false to avoid hydration mismatches. Pass `immediatelyRender: true` explicitly if you are rendering the editor only on the client.")),n?this.createEditor():null}createEditor(){let t={...this.options.current,onBeforeCreate:(...r)=>{var i,o;return(o=(i=this.options.current).onBeforeCreate)==null?void 0:o.call(i,...r)},onBlur:(...r)=>{var i,o;return(o=(i=this.options.current).onBlur)==null?void 0:o.call(i,...r)},onCreate:(...r)=>{var i,o;return(o=(i=this.options.current).onCreate)==null?void 0:o.call(i,...r)},onDestroy:(...r)=>{var i,o;return(o=(i=this.options.current).onDestroy)==null?void 0:o.call(i,...r)},onFocus:(...r)=>{var i,o;return(o=(i=this.options.current).onFocus)==null?void 0:o.call(i,...r)},onSelectionUpdate:(...r)=>{var i,o;return(o=(i=this.options.current).onSelectionUpdate)==null?void 0:o.call(i,...r)},onTransaction:(...r)=>{var i,o;return(o=(i=this.options.current).onTransaction)==null?void 0:o.call(i,...r)},onUpdate:(...r)=>{var i,o;return(o=(i=this.options.current).onUpdate)==null?void 0:o.call(i,...r)},onContentError:(...r)=>{var i,o;return(o=(i=this.options.current).onContentError)==null?void 0:o.call(i,...r)},onDrop:(...r)=>{var i,o;return(o=(i=this.options.current).onDrop)==null?void 0:o.call(i,...r)},onPaste:(...r)=>{var i,o;return(o=(i=this.options.current).onPaste)==null?void 0:o.call(i,...r)},onDelete:(...r)=>{var i,o;return(o=(i=this.options.current).onDelete)==null?void 0:o.call(i,...r)}};return new KH(t)}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(t){return this.subscriptions.add(t),()=>{this.subscriptions.delete(t)}}static compareOptions(t,n){return Object.keys(t).every(r=>["onCreate","onBeforeCreate","onDestroy","onUpdate","onTransaction","onFocus","onBlur","onSelectionUpdate","onContentError","onDrop","onPaste"].includes(r)?!0:r==="extensions"&&t.extensions&&n.extensions?t.extensions.length!==n.extensions.length?!1:t.extensions.every((i,o)=>{var s;return i===((s=n.extensions)==null?void 0:s[o])}):t[r]===n[r])}onRender(t){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&t.length===0?f8.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(t),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(t){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=t;return}if(this.previousDeps.length===t.length&&this.previousDeps.every((r,i)=>r===t[i]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=t}scheduleDestroy(){let t=this.instanceId,n=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===t){n&&n.setOptions(this.options.current);return}n&&!n.isDestroyed&&(n.destroy(),this.instanceId===t&&this.setEditor(null))},1)}};function d8(e={},t=[]){let n=(0,la.useRef)(e);n.current=e;let[r]=(0,la.useState)(()=>new Dse(n)),i=(0,l8.useSyncExternalStore)(r.subscribe,r.getEditor,r.getServerSnapshot);return(0,la.useDebugValue)(i),(0,la.useEffect)(r.onRender(t)),Mse({editor:i,selector:({transactionNumber:o})=>e.shouldRerenderOnTransaction===!1||e.shouldRerenderOnTransaction===void 0?null:e.immediatelyRender&&o===0?0:o+1}),i}var p8=(0,Pb.createContext)({editor:null}),iRe=p8.Consumer;var Ise=(0,Ih.createContext)({onDragStart:()=>{},nodeViewContentChildren:void 0,nodeViewContentRef:()=>{}});var Lse=()=>(0,Ih.useContext)(Ise);var oRe=m8.default.forwardRef((e,t)=>{let{onDragStart:n}=Lse(),r=e.as||"div";return(0,g8.jsx)(r,{...e,ref:t,"data-node-view-wrapper":"",onDragStart:n,style:{whiteSpace:"normal",...e.style}})});var sRe=b8.default.createContext({markViewContentRef:()=>{}});var p_=(0,wl.createContext)({get editor(){throw new Error("useTiptap must be used within a provider")}});p_.displayName="TiptapContext";var qse=()=>(0,wl.useContext)(p_);function y8({editor:e,instance:t,children:n}){let r=e??t;if(!r)throw new Error("Tiptap: An editor instance is required. Pass a non-null `editor` prop.");let i=(0,wl.useMemo)(()=>({editor:r}),[r]),o=(0,wl.useMemo)(()=>({editor:r}),[r]);return(0,Lb.jsx)(p8.Provider,{value:o,children:(0,Lb.jsx)(p_.Provider,{value:i,children:n})})}y8.displayName="Tiptap";function E8({...e}){let{editor:t}=qse();return(0,Lb.jsx)(d_,{editor:t,...e})}E8.displayName="Tiptap.Content";var aRe=Object.assign(y8,{Content:E8});var Vse=oa.create({name:"doc",topNode:!0,content:"block+",renderMarkdown:(e,t)=>e.content?t.renderChildren(e.content,` +${p}`}}),l}function Boe(e,t,n={}){let{state:r}=t,{doc:i,tr:o}=r,s=e;i.descendants((a,l)=>{let u=o.mapping.map(l),c=o.mapping.map(l)+a.nodeSize,f=null;if(a.marks.forEach(h=>{if(h!==s)return!1;f=h}),!f)return;let d=!1;if(Object.keys(n).forEach(h=>{n[h]!==f.attrs[h]&&(d=!0)}),d){let h=e.type.create({...e.attrs,...n});o.removeMark(u,c,e.type),o.addMark(u,c,h)}}),o.docChanged&&t.view.dispatch(o)}var oa=class QH extends f_{constructor(){super(...arguments),this.type="node"}static create(t={}){let n=typeof t=="function"?t():t;return new QH(n)}configure(t){return super.configure(t)}extend(t){let n=typeof t=="function"?t():t;return super.extend(n)}};var la=q(pe(),1),d8=q(Y0(),1);var{getOwnPropertyNames:Hoe,getOwnPropertySymbols:Foe}=Object,{hasOwnProperty:zoe}=Object.prototype;function p_(e,t){return function(r,i,o){return e(r,i,o)&&t(r,i,o)}}function Ib(e){return function(n,r,i){if(!n||!r||typeof n!="object"||typeof r!="object")return e(n,r,i);let{cache:o}=i,s=o.get(n),a=o.get(r);if(s&&a)return s===r&&a===n;o.set(n,r),o.set(r,n);let l=e(n,r,i);return o.delete(n),o.delete(r),l}}function Uoe(e){return e?.[Symbol.toStringTag]}function ZH(e){return Hoe(e).concat(Foe(e))}var qoe=Object.hasOwn||((e,t)=>zoe.call(e,t));function wl(e,t){return e===t||!e&&!t&&e!==e&&t!==t}var Voe="__v",Goe="__o",Koe="_owner",{getOwnPropertyDescriptor:JH,keys:e8}=Object;function Yoe(e,t){return e.byteLength===t.byteLength&&Lb(new Uint8Array(e),new Uint8Array(t))}function Woe(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function $oe(e,t){return e.byteLength===t.byteLength&&Lb(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function joe(e,t){return wl(e.getTime(),t.getTime())}function Xoe(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function Qoe(e,t){return e===t}function t8(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=new Array(r),o=e.entries(),s,a,l=0;for(;(s=o.next())&&!s.done;){let u=t.entries(),c=!1,f=0;for(;(a=u.next())&&!a.done;){if(i[f]){f++;continue}let d=s.value,h=a.value;if(n.equals(d[0],h[0],l,f,e,t,n)&&n.equals(d[1],h[1],d[0],h[0],e,t,n)){c=i[f]=!0;break}f++}if(!c)return!1;l++}return!0}var Zoe=wl;function Joe(e,t,n){let r=e8(e),i=r.length;if(e8(t).length!==i)return!1;for(;i-- >0;)if(!r8(e,t,n,r[i]))return!1;return!0}function Lh(e,t,n){let r=ZH(e),i=r.length;if(ZH(t).length!==i)return!1;let o,s,a;for(;i-- >0;)if(o=r[i],!r8(e,t,n,o)||(s=JH(e,o),a=JH(t,o),(s||a)&&(!s||!a||s.configurable!==a.configurable||s.enumerable!==a.enumerable||s.writable!==a.writable)))return!1;return!0}function ese(e,t){return wl(e.valueOf(),t.valueOf())}function tse(e,t){return e.source===t.source&&e.flags===t.flags}function n8(e,t,n){let r=e.size;if(r!==t.size)return!1;if(!r)return!0;let i=new Array(r),o=e.values(),s,a;for(;(s=o.next())&&!s.done;){let l=t.values(),u=!1,c=0;for(;(a=l.next())&&!a.done;){if(!i[c]&&n.equals(s.value,a.value,s.value,a.value,e,t,n)){u=i[c]=!0;break}c++}if(!u)return!1}return!0}function Lb(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function nse(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function r8(e,t,n,r){return(r===Koe||r===Goe||r===Voe)&&(e.$$typeof||t.$$typeof)?!0:qoe(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}var rse="[object ArrayBuffer]",ise="[object Arguments]",ose="[object Boolean]",sse="[object DataView]",ase="[object Date]",lse="[object Error]",use="[object Map]",cse="[object Number]",fse="[object Object]",dse="[object RegExp]",hse="[object Set]",pse="[object String]",mse={"[object Int8Array]":!0,"[object Uint8Array]":!0,"[object Uint8ClampedArray]":!0,"[object Int16Array]":!0,"[object Uint16Array]":!0,"[object Int32Array]":!0,"[object Uint32Array]":!0,"[object Float16Array]":!0,"[object Float32Array]":!0,"[object Float64Array]":!0,"[object BigInt64Array]":!0,"[object BigUint64Array]":!0},gse="[object URL]",bse=Object.prototype.toString;function yse({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:i,areFunctionsEqual:o,areMapsEqual:s,areNumbersEqual:a,areObjectsEqual:l,arePrimitiveWrappersEqual:u,areRegExpsEqual:c,areSetsEqual:f,areTypedArraysEqual:d,areUrlsEqual:h,unknownTagComparators:p}){return function(y,g,E){if(y===g)return!0;if(y==null||g==null)return!1;let T=typeof y;if(T!==typeof g)return!1;if(T!=="object")return T==="number"?a(y,g,E):T==="function"?o(y,g,E):!1;let S=y.constructor;if(S!==g.constructor)return!1;if(S===Object)return l(y,g,E);if(Array.isArray(y))return t(y,g,E);if(S===Date)return r(y,g,E);if(S===RegExp)return c(y,g,E);if(S===Map)return s(y,g,E);if(S===Set)return f(y,g,E);let x=bse.call(y);if(x===ase)return r(y,g,E);if(x===dse)return c(y,g,E);if(x===use)return s(y,g,E);if(x===hse)return f(y,g,E);if(x===fse)return typeof y.then!="function"&&typeof g.then!="function"&&l(y,g,E);if(x===gse)return h(y,g,E);if(x===lse)return i(y,g,E);if(x===ise)return l(y,g,E);if(mse[x])return d(y,g,E);if(x===rse)return e(y,g,E);if(x===sse)return n(y,g,E);if(x===ose||x===cse||x===pse)return u(y,g,E);if(p){let v=p[x];if(!v){let N=Uoe(y);N&&(v=p[N])}if(v)return v(y,g,E)}return!1}}function Ese({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:Yoe,areArraysEqual:n?Lh:Woe,areDataViewsEqual:$oe,areDatesEqual:joe,areErrorsEqual:Xoe,areFunctionsEqual:Qoe,areMapsEqual:n?p_(t8,Lh):t8,areNumbersEqual:Zoe,areObjectsEqual:n?Lh:Joe,arePrimitiveWrappersEqual:ese,areRegExpsEqual:tse,areSetsEqual:n?p_(n8,Lh):n8,areTypedArraysEqual:n?p_(Lb,Lh):Lb,areUrlsEqual:nse,unknownTagComparators:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let i=Ib(r.areArraysEqual),o=Ib(r.areMapsEqual),s=Ib(r.areObjectsEqual),a=Ib(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:i,areMapsEqual:o,areObjectsEqual:s,areSetsEqual:a})}return r}function Tse(e){return function(t,n,r,i,o,s,a){return e(t,n,a)}}function Sse({circular:e,comparator:t,createState:n,equals:r,strict:i}){if(n)return function(a,l){let{cache:u=e?new WeakMap:void 0,meta:c}=n();return t(a,l,{cache:u,equals:r,meta:c,strict:i})};if(e)return function(a,l){return t(a,l,{cache:new WeakMap,equals:r,meta:void 0,strict:i})};let o={cache:void 0,equals:r,meta:void 0,strict:i};return function(a,l){return t(a,l,o)}}var i8=sa(),iRe=sa({strict:!0}),oRe=sa({circular:!0}),sRe=sa({circular:!0,strict:!0}),aRe=sa({createInternalComparator:()=>wl}),lRe=sa({strict:!0,createInternalComparator:()=>wl}),uRe=sa({circular:!0,createInternalComparator:()=>wl}),cRe=sa({circular:!0,createInternalComparator:()=>wl,strict:!0});function sa(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:i=!1}=e,o=Ese(e),s=yse(o),a=n?n(s):Tse(s);return Sse({circular:t,comparator:s,createState:r,equals:a,strict:i})}var ua=q(pe(),1),h8=q(l8(),1),b8=q(ie(),1),Ph=q(pe(),1),qse=q(ie(),1),E8=q(pe(),1),T8=q(ie(),1);var S8=q(pe(),1),Vse=q(pe(),1),Gse=q(lo(),1),Kse=q(ie(),1),Yse=q(ie(),1);var g_=q(pe(),1),Wse=q(ie(),1),Nl=q(pe(),1),Bb=q(ie(),1),kse=(...e)=>t=>{e.forEach(n=>{typeof n=="function"?n(t):n&&(n.current=t)})},Mse=({contentComponent:e})=>{let t=(0,f8.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getServerSnapshot);return(0,ns.jsx)(ns.Fragment,{children:Object.values(t)})};function Ose(){let e=new Set,t={};return{subscribe(n){return e.add(n),()=>{e.delete(n)}},getSnapshot(){return t},getServerSnapshot(){return t},setRenderer(n,r){t={...t,[n]:c8.default.createPortal(r.reactElement,r.element,n)},e.forEach(i=>i())},removeRenderer(n){let r={...t};delete r[n],t=r,e.forEach(i=>i())}}}var Dse=class extends aa.default.Component{constructor(e){super(e),this.editorContentRef=aa.default.createRef()}componentDidMount(){this.init()}componentDidUpdate(){this.init()}init(){var e;let t=this.props.editor;if(t&&!t.isDestroyed&&((e=t.view.dom)!=null&&e.parentNode)){if(t.contentComponent)return;let n=this.editorContentRef.current;n.append(...t.view.dom.parentNode.childNodes),t.setOptions({element:n}),t.contentComponent=Ose(),t.createNodeViews(),t.isEditorContentInitialized=!0,this.forceUpdate()}}componentWillUnmount(){var e;let t=this.props.editor;if(t){t.isEditorContentInitialized=!1,t.isDestroyed||t.view.setProps({nodeViews:{}}),t.contentComponent=null;try{if(!((e=t.view.dom)!=null&&e.parentNode))return;let n=document.createElement("div");n.append(...t.view.dom.parentNode.childNodes),t.setOptions({element:n})}catch{}}}render(){let{editor:e,innerRef:t,...n}=this.props;return(0,ns.jsxs)(ns.Fragment,{children:[(0,ns.jsx)("div",{ref:kse(t,this.editorContentRef),...n}),e?.contentComponent&&(0,ns.jsx)(Mse,{contentComponent:e.contentComponent})]})}},Ise=(0,aa.forwardRef)((e,t)=>{let n=aa.default.useMemo(()=>Math.floor(Math.random()*4294967295).toString(),[e.editor]);return aa.default.createElement(Dse,{key:n,innerRef:t,...e})}),m_=aa.default.memo(Ise),Lse=typeof window<"u"?ua.useLayoutEffect:ua.useEffect,Pse=class{constructor(e){this.transactionNumber=0,this.lastTransactionNumber=0,this.subscribers=new Set,this.editor=e,this.lastSnapshot={editor:e,transactionNumber:0},this.getSnapshot=this.getSnapshot.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.watch=this.watch.bind(this),this.subscribe=this.subscribe.bind(this)}getSnapshot(){return this.transactionNumber===this.lastTransactionNumber?this.lastSnapshot:(this.lastTransactionNumber=this.transactionNumber,this.lastSnapshot={editor:this.editor,transactionNumber:this.transactionNumber},this.lastSnapshot)}getServerSnapshot(){return{editor:null,transactionNumber:0}}subscribe(e){return this.subscribers.add(e),()=>{this.subscribers.delete(e)}}watch(e){if(this.editor=e,this.editor){let t=()=>{this.transactionNumber+=1,this.subscribers.forEach(r=>r())},n=this.editor;return n.on("transaction",t),()=>{n.off("transaction",t)}}}};function Bse(e){var t;let[n]=(0,ua.useState)(()=>new Pse(e.editor)),r=(0,h8.useSyncExternalStoreWithSelector)(n.subscribe,n.getSnapshot,n.getServerSnapshot,e.selector,(t=e.equalityFn)!=null?t:i8);return Lse(()=>n.watch(e.editor),[e.editor,n]),(0,ua.useDebugValue)(r),r}var u8=!1,p8=typeof window>"u",Hse=p8||!!(typeof window<"u"&&window.next),Fse=class m8{constructor(t){this.editor=null,this.subscriptions=new Set,this.isComponentMounted=!1,this.previousDeps=null,this.instanceId="",this.options=t,this.subscriptions=new Set,this.setEditor(this.getInitialEditor()),this.scheduleDestroy(),this.getEditor=this.getEditor.bind(this),this.getServerSnapshot=this.getServerSnapshot.bind(this),this.subscribe=this.subscribe.bind(this),this.refreshEditorInstance=this.refreshEditorInstance.bind(this),this.scheduleDestroy=this.scheduleDestroy.bind(this),this.onRender=this.onRender.bind(this),this.createEditor=this.createEditor.bind(this)}setEditor(t){this.editor=t,this.instanceId=Math.random().toString(36).slice(2,9),this.subscriptions.forEach(n=>n())}getInitialEditor(){let t=this.options.current.immediatelyRender,n=t??!0;return p8?(n&&u8&&console.warn("SSR detected. `immediatelyRender` has been set to false to avoid hydration mismatches"),n=!1):Hse&&t===void 0&&(n=!1,u8&&console.warn("Next.js detected. `immediatelyRender` defaults to false to avoid hydration mismatches. Pass `immediatelyRender: true` explicitly if you are rendering the editor only on the client.")),n?this.createEditor():null}createEditor(){let t={...this.options.current,onBeforeCreate:(...r)=>{var i,o;return(o=(i=this.options.current).onBeforeCreate)==null?void 0:o.call(i,...r)},onBlur:(...r)=>{var i,o;return(o=(i=this.options.current).onBlur)==null?void 0:o.call(i,...r)},onCreate:(...r)=>{var i,o;return(o=(i=this.options.current).onCreate)==null?void 0:o.call(i,...r)},onDestroy:(...r)=>{var i,o;return(o=(i=this.options.current).onDestroy)==null?void 0:o.call(i,...r)},onFocus:(...r)=>{var i,o;return(o=(i=this.options.current).onFocus)==null?void 0:o.call(i,...r)},onSelectionUpdate:(...r)=>{var i,o;return(o=(i=this.options.current).onSelectionUpdate)==null?void 0:o.call(i,...r)},onTransaction:(...r)=>{var i,o;return(o=(i=this.options.current).onTransaction)==null?void 0:o.call(i,...r)},onUpdate:(...r)=>{var i,o;return(o=(i=this.options.current).onUpdate)==null?void 0:o.call(i,...r)},onContentError:(...r)=>{var i,o;return(o=(i=this.options.current).onContentError)==null?void 0:o.call(i,...r)},onDrop:(...r)=>{var i,o;return(o=(i=this.options.current).onDrop)==null?void 0:o.call(i,...r)},onPaste:(...r)=>{var i,o;return(o=(i=this.options.current).onPaste)==null?void 0:o.call(i,...r)},onDelete:(...r)=>{var i,o;return(o=(i=this.options.current).onDelete)==null?void 0:o.call(i,...r)}};return new jH(t)}getEditor(){return this.editor}getServerSnapshot(){return null}subscribe(t){return this.subscriptions.add(t),()=>{this.subscriptions.delete(t)}}static compareOptions(t,n){return Object.keys(t).every(r=>["onCreate","onBeforeCreate","onDestroy","onUpdate","onTransaction","onFocus","onBlur","onSelectionUpdate","onContentError","onDrop","onPaste"].includes(r)?!0:r==="extensions"&&t.extensions&&n.extensions?t.extensions.length!==n.extensions.length?!1:t.extensions.every((i,o)=>{var s;return i===((s=n.extensions)==null?void 0:s[o])}):t[r]===n[r])}onRender(t){return()=>(this.isComponentMounted=!0,clearTimeout(this.scheduledDestructionTimeout),this.editor&&!this.editor.isDestroyed&&t.length===0?m8.compareOptions(this.options.current,this.editor.options)||this.editor.setOptions({...this.options.current,editable:this.editor.isEditable}):this.refreshEditorInstance(t),()=>{this.isComponentMounted=!1,this.scheduleDestroy()})}refreshEditorInstance(t){if(this.editor&&!this.editor.isDestroyed){if(this.previousDeps===null){this.previousDeps=t;return}if(this.previousDeps.length===t.length&&this.previousDeps.every((r,i)=>r===t[i]))return}this.editor&&!this.editor.isDestroyed&&this.editor.destroy(),this.setEditor(this.createEditor()),this.previousDeps=t}scheduleDestroy(){let t=this.instanceId,n=this.editor;this.scheduledDestructionTimeout=setTimeout(()=>{if(this.isComponentMounted&&this.instanceId===t){n&&n.setOptions(this.options.current);return}n&&!n.isDestroyed&&(n.destroy(),this.instanceId===t&&this.setEditor(null))},1)}};function g8(e={},t=[]){let n=(0,la.useRef)(e);n.current=e;let[r]=(0,la.useState)(()=>new Fse(n)),i=(0,d8.useSyncExternalStore)(r.subscribe,r.getEditor,r.getServerSnapshot);return(0,la.useDebugValue)(i),(0,la.useEffect)(r.onRender(t)),Bse({editor:i,selector:({transactionNumber:o})=>e.shouldRerenderOnTransaction===!1||e.shouldRerenderOnTransaction===void 0?null:e.immediatelyRender&&o===0?0:o+1}),i}var y8=(0,Hb.createContext)({editor:null}),gRe=y8.Consumer;var zse=(0,Ph.createContext)({onDragStart:()=>{},nodeViewContentChildren:void 0,nodeViewContentRef:()=>{}});var Use=()=>(0,Ph.useContext)(zse);var bRe=E8.default.forwardRef((e,t)=>{let{onDragStart:n}=Use(),r=e.as||"div";return(0,T8.jsx)(r,{...e,ref:t,"data-node-view-wrapper":"",onDragStart:n,style:{whiteSpace:"normal",...e.style}})});var yRe=S8.default.createContext({markViewContentRef:()=>{}});var b_=(0,Nl.createContext)({get editor(){throw new Error("useTiptap must be used within a provider")}});b_.displayName="TiptapContext";var $se=()=>(0,Nl.useContext)(b_);function v8({editor:e,instance:t,children:n}){let r=e??t;if(!r)throw new Error("Tiptap: An editor instance is required. Pass a non-null `editor` prop.");let i=(0,Nl.useMemo)(()=>({editor:r}),[r]),o=(0,Nl.useMemo)(()=>({editor:r}),[r]);return(0,Bb.jsx)(y8.Provider,{value:o,children:(0,Bb.jsx)(b_.Provider,{value:i,children:n})})}v8.displayName="Tiptap";function x8({...e}){let{editor:t}=$se();return(0,Bb.jsx)(m_,{editor:t,...e})}x8.displayName="Tiptap.Content";var ERe=Object.assign(v8,{Content:x8});var jse=oa.create({name:"doc",topNode:!0,content:"block+",renderMarkdown:(e,t)=>e.content?t.renderChildren(e.content,` -`):""}),T8=Vse;var Gse=oa.create({name:"text",group:"inline",parseMarkdown:e=>({type:"text",text:e.text||""}),renderMarkdown:e=>e.text||""}),S8=Gse;var Kse=oa.create({name:"hardBreak",markdownTokenName:"br",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:e}){return["br",Oh(this.options.HTMLAttributes,e)]},renderText(){return` +`):""}),A8=jse;var Xse=oa.create({name:"text",group:"inline",parseMarkdown:e=>({type:"text",text:e.text||""}),renderMarkdown:e=>e.text||""}),_8=Xse;var Qse=oa.create({name:"hardBreak",markdownTokenName:"br",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:e}){return["br",Ih(this.options.HTMLAttributes,e)]},renderText(){return` `},renderMarkdown:()=>` -`,parseMarkdown:()=>({type:"hardBreak"}),addCommands(){return{setHardBreak:()=>({commands:e,chain:t,state:n,editor:r})=>e.first([()=>e.exitCode(),()=>e.command(()=>{let{selection:i,storedMarks:o}=n;if(i.$from.parent.type.spec.isolating)return!1;let{keepMarks:s}=this.options,{splittableMarks:a}=r.extensionManager,l=o||i.$to.parentOffset&&i.$from.marks();return t().insertContent({type:this.name}).command(({tr:u,dispatch:c})=>{if(c&&l&&s){let f=l.filter(d=>a.includes(d.type.name));u.ensureMarks(f)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),x8=Kse;var Bb=200,Bn=function(){};Bn.prototype.append=function(t){return t.length?(t=Bn.from(t),!this.length&&t||t.length=n?Bn.empty:this.sliceInner(Math.max(0,t),Math.min(this.length,n))};Bn.prototype.get=function(t){if(!(t<0||t>=this.length))return this.getInner(t)};Bn.prototype.forEach=function(t,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length),n<=r?this.forEachInner(t,n,r,0):this.forEachInvertedInner(t,n,r,0)};Bn.prototype.map=function(t,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length);var i=[];return this.forEach(function(o,s){return i.push(t(o,s))},n,r),i};Bn.from=function(t){return t instanceof Bn?t:t&&t.length?new v8(t):Bn.empty};var v8=function(e){function t(r){e.call(this),this.values=r}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={length:{configurable:!0},depth:{configurable:!0}};return t.prototype.flatten=function(){return this.values},t.prototype.sliceInner=function(i,o){return i==0&&o==this.length?this:new t(this.values.slice(i,o))},t.prototype.getInner=function(i){return this.values[i]},t.prototype.forEachInner=function(i,o,s,a){for(var l=o;l=s;l--)if(i(this.values[l],a+l)===!1)return!1},t.prototype.leafAppend=function(i){if(this.length+i.length<=Bb)return new t(this.values.concat(i.flatten()))},t.prototype.leafPrepend=function(i){if(this.length+i.length<=Bb)return new t(i.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(t.prototype,n),t}(Bn);Bn.empty=new v8([]);var Yse=function(e){function t(n,r){e.call(this),this.left=n,this.right=r,this.length=n.length+r.length,this.depth=Math.max(n.depth,r.depth)+1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},t.prototype.getInner=function(r){return ra&&this.right.forEachInner(r,Math.max(i-a,0),Math.min(this.length,o)-a,s+a)===!1)return!1},t.prototype.forEachInvertedInner=function(r,i,o,s){var a=this.left.length;if(i>a&&this.right.forEachInvertedInner(r,i-a,Math.max(o,a)-a,s+a)===!1||o=o?this.right.slice(r-o,i-o):this.left.slice(r,o).append(this.right.slice(0,i-o))},t.prototype.leafAppend=function(r){var i=this.right.leafAppend(r);if(i)return new t(this.left,i)},t.prototype.leafPrepend=function(r){var i=this.left.leafPrepend(r);if(i)return new t(i,this.right)},t.prototype.appendInner=function(r){return this.left.depth>=Math.max(this.right.depth,r.depth)+1?new t(this.left,new t(this.right,r)):new t(this,r)},t}(Bn),m_=Bn;var Wse=500,Rl=class e{constructor(t,n){this.items=t,this.eventCount=n}popEvent(t,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let i,o;n&&(i=this.remapping(r,this.items.length),o=i.maps.length);let s=t.tr,a,l,u=[],c=[];return this.items.forEach((f,d)=>{if(!f.step){i||(i=this.remapping(r,d+1),o=i.maps.length),o--,c.push(f);return}if(i){c.push(new io(f.map));let h=f.step.map(i.slice(o)),p;h&&s.maybeStep(h).doc&&(p=s.mapping.maps[s.mapping.maps.length-1],u.push(new io(p,void 0,void 0,u.length+c.length))),o--,p&&i.appendMap(p,o)}else s.maybeStep(f.step);if(f.selection)return a=i?f.selection.map(i.slice(o)):f.selection,l=new e(this.items.slice(0,r).append(c.reverse().concat(u)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:s,selection:a}}addTransform(t,n,r,i){let o=[],s=this.eventCount,a=this.items,l=!i&&a.length?a.get(a.length-1):null;for(let c=0;cjse&&(a=$se(a,u),s-=u),new e(a.append(o),s)}remapping(t,n){let r=new ch;return this.items.forEach((i,o)=>{let s=i.mirrorOffset!=null&&o-i.mirrorOffset>=t?r.maps.length-i.mirrorOffset:void 0;r.appendMap(i.map,s)},t,n),r}addMaps(t){return this.eventCount==0?this:new e(this.items.append(t.map(n=>new io(n))),this.eventCount)}rebased(t,n){if(!this.eventCount)return this;let r=[],i=Math.max(0,this.items.length-n),o=t.mapping,s=t.steps.length,a=this.eventCount;this.items.forEach(d=>{d.selection&&a--},i);let l=n;this.items.forEach(d=>{let h=o.getMirror(--l);if(h==null)return;s=Math.min(s,h);let p=o.maps[h];if(d.step){let b=t.steps[h].invert(t.docs[h]),y=d.selection&&d.selection.map(o.slice(l+1,h));y&&a++,r.push(new io(p,b,y))}else r.push(new io(p))},i);let u=[];for(let d=n;dWse&&(f=f.compress(this.items.length-r.length)),f}emptyItemCount(){let t=0;return this.items.forEach(n=>{n.step||t++}),t}compress(t=this.items.length){let n=this.remapping(0,t),r=n.maps.length,i=[],o=0;return this.items.forEach((s,a)=>{if(a>=t)i.push(s),s.selection&&o++;else if(s.step){let l=s.step.map(n.slice(r)),u=l&&l.getMap();if(r--,u&&n.appendMap(u,r),l){let c=s.selection&&s.selection.map(n.slice(r));c&&o++;let f=new io(u.invert(),l,c),d,h=i.length-1;(d=i.length&&i[h].merge(f))?i[h]=d:i.push(f)}}else s.map&&r--},this.items.length,0),new e(m_.from(i.reverse()),o)}};Rl.empty=new Rl(m_.empty,0);function $se(e,t){let n;return e.forEach((r,i)=>{if(r.selection&&t--==0)return n=i,!1}),e.slice(n)}var io=class e{constructor(t,n,r,i){this.map=t,this.step=n,this.selection=r,this.mirrorOffset=i}merge(t){if(this.step&&t.step&&!t.selection){let n=t.step.merge(this.step);if(n)return new e(n.getMap().invert(),n,this.selection)}}},oo=class{constructor(t,n,r,i,o){this.done=t,this.undone=n,this.prevRanges=r,this.prevTime=i,this.prevComposition=o}},jse=20;function Xse(e,t,n,r){let i=n.getMeta(Nl),o;if(i)return i.historyState;n.getMeta(Jse)&&(e=new oo(e.done,e.undone,null,0,-1));let s=n.getMeta("appendedTransaction");if(n.steps.length==0)return e;if(s&&s.getMeta(Nl))return s.getMeta(Nl).redo?new oo(e.done.addTransform(n,void 0,r,Hb(t)),e.undone,A8(n.mapping.maps),e.prevTime,e.prevComposition):new oo(e.done,e.undone.addTransform(n,void 0,r,Hb(t)),null,e.prevTime,e.prevComposition);if(n.getMeta("addToHistory")!==!1&&!(s&&s.getMeta("addToHistory")===!1)){let a=n.getMeta("composition"),l=e.prevTime==0||!s&&e.prevComposition!=a&&(e.prevTime<(n.time||0)-r.newGroupDelay||!Qse(n,e.prevRanges)),u=s?g_(e.prevRanges,n.mapping):A8(n.mapping.maps);return new oo(e.done.addTransform(n,l?t.selection.getBookmark():void 0,r,Hb(t)),Rl.empty,u,n.time,a??e.prevComposition)}else return(o=n.getMeta("rebased"))?new oo(e.done.rebased(n,o),e.undone.rebased(n,o),g_(e.prevRanges,n.mapping),e.prevTime,e.prevComposition):new oo(e.done.addMaps(n.mapping.maps),e.undone.addMaps(n.mapping.maps),g_(e.prevRanges,n.mapping),e.prevTime,e.prevComposition)}function Qse(e,t){if(!t)return!1;if(!e.docChanged)return!0;let n=!1;return e.mapping.maps[0].forEach((r,i)=>{for(let o=0;o=t[o]&&(n=!0)}),n}function A8(e){let t=[];for(let n=e.length-1;n>=0&&t.length==0;n--)e[n].forEach((r,i,o,s)=>t.push(o,s));return t}function g_(e,t){if(!e)return null;let n=[];for(let r=0;r{let i=Nl.getState(n);if(!i||(e?i.undone:i.done).eventCount==0)return!1;if(r){let o=Zse(i,n,e);o&&r(t?o.scrollIntoView():o)}return!0}}var y_=Fb(!1,!0),E_=Fb(!0,!0),xRe=Fb(!1,!1),vRe=Fb(!0,!1);var w8=Mr.create({name:"undoRedo",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:e,dispatch:t})=>y_(e,t),redo:()=>({state:e,dispatch:t})=>E_(e,t)}},addProseMirrorPlugins(){return[C8(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-\u044F":()=>this.editor.commands.undo(),"Shift-Mod-\u044F":()=>this.editor.commands.redo()}}});function eae(e){var t;let{char:n,allowSpaces:r,allowToIncludeChar:i,allowedPrefixes:o,startOfLine:s,$position:a}=e,l=r&&!i,u=YH(n),c=new RegExp(`\\s${u}$`),f=s?"^":"",d=i?"":u,h=l?new RegExp(`${f}${u}.*?(?=\\s${d}|$)`,"gm"):new RegExp(`${f}(?:^)?${u}[^\\s${d}]*`,"gm"),p=((t=a.nodeBefore)==null?void 0:t.isText)&&a.nodeBefore.text;if(!p)return null;let b=a.pos-p.length,y=Array.from(p.matchAll(h)).pop();if(!y||y.input===void 0||y.index===void 0)return null;let g=y.input.slice(Math.max(0,y.index-1),y.index),E=new RegExp(`^[${o?.join("")}\0]?$`).test(g);if(o!==null&&!E)return null;let T=b+y.index,S=T+y[0].length;return l&&c.test(p.slice(S-1,S+1))&&(y[0]+=" ",S+=1),T=a.pos?{range:{from:T,to:S},query:y[0].slice(n.length),text:y[0]}:null}function tae(e){return e.docChanged?e.steps.some(t=>{let n=t.slice;if(!n?.content)return!1;let r=n.content.textBetween(0,n.content.size,` -`);return/\s/.test(r)}):!1}var T_=new Nt("suggestion");function N8({pluginKey:e=T_,editor:t,char:n="@",allowSpaces:r=!1,allowToIncludeChar:i=!1,allowedPrefixes:o=[" "],startOfLine:s=!1,decorationTag:a="span",decorationClass:l="suggestion",decorationContent:u="",decorationEmptyClass:c="is-empty",command:f=()=>null,items:d=()=>[],render:h=()=>({}),allow:p=()=>!0,findSuggestionMatch:b=eae,shouldShow:y,shouldResetDismissed:g}){let E,T=h?.(),S=r&&!i,v=()=>{let A=t.state.selection.$anchor.pos,O=t.view.coordsAtPos(A),{top:G,right:z,bottom:L,left:H}=O;try{return new DOMRect(H,G,z-H,L-G)}catch{return null}},x=(A,O)=>O?()=>{let G=e.getState(t.state),z=G?.decorationId,L=A.dom.querySelector(`[data-decoration-id="${z}"]`);return L?.getBoundingClientRect()||null}:v,N=({match:A,dismissedRange:O,state:G,transaction:z})=>g?.({editor:t,state:G,range:O,match:A,transaction:z,allowSpaces:S})?!1:S?A.range.from===O.from:A.range.from===O.from&&!tae(z);function D(A,O){var G;try{let L=e.getState(A.state),H=L?.decorationId?A.dom.querySelector(`[data-decoration-id="${L.decorationId}"]`):null,I={editor:t,range:L?.range||{from:0,to:0},query:L?.query||null,text:L?.text||null,items:[],command:F=>f({editor:t,range:L?.range||{from:0,to:0},props:F}),decorationNode:H,clientRect:x(A,H)};(G=T?.onExit)==null||G.call(T,I)}catch{}let z=A.state.tr.setMeta(O,{exit:!0});A.dispatch(z)}let k=new lt({key:e,view(){return{update:async(A,O)=>{var G,z,L,H,I,F,P;let U=(G=this.key)==null?void 0:G.getState(O),_=(z=this.key)==null?void 0:z.getState(A.state),re=U.active&&_.active&&U.range.from!==_.range.from,ee=!U.active&&_.active,C=U.active&&!_.active,ae=!ee&&!C&&U.query!==_.query,ue=ee||re&&ae,de=ae||re,Le=C||re&&ae;if(!ue&&!de&&!Le)return;let ye=Le&&!ue?U:_,qe=A.dom.querySelector(`[data-decoration-id="${ye.decorationId}"]`);E={editor:t,range:ye.range,query:ye.query,text:ye.text,items:[],command:De=>f({editor:t,range:ye.range,props:De}),decorationNode:qe,clientRect:x(A,qe)},ue&&((L=T?.onBeforeStart)==null||L.call(T,E)),de&&((H=T?.onBeforeUpdate)==null||H.call(T,E)),(de||ue)&&(E.items=await d({editor:t,query:ye.query})),Le&&((I=T?.onExit)==null||I.call(T,E)),de&&((F=T?.onUpdate)==null||F.call(T,E)),ue&&((P=T?.onStart)==null||P.call(T,E))},destroy:()=>{var A;E&&((A=T?.onExit)==null||A.call(T,E))}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1,dismissedRange:null}},apply(A,O,G,z){let{isEditable:L}=t,{composing:H}=t.view,{selection:I}=A,{empty:F,from:P}=I,U={...O},_=A.getMeta(e);if(_&&_.exit)return U.active=!1,U.decorationId=null,U.range={from:0,to:0},U.query=null,U.text=null,U.dismissedRange=O.active?{...O.range}:O.dismissedRange,U;if(U.composing=H,A.docChanged&&U.dismissedRange!==null&&(U.dismissedRange={from:A.mapping.map(U.dismissedRange.from),to:A.mapping.map(U.dismissedRange.to)}),L&&(F||t.view.composing)){(PO.range.to)&&!H&&!O.composing&&(U.active=!1);let re=b({char:n,allowSpaces:r,allowToIncludeChar:i,allowedPrefixes:o,startOfLine:s,$position:I.$from}),ee=`id_${Math.floor(Math.random()*4294967295)}`;re&&p({editor:t,state:z,range:re.range,isActive:O.active})&&(!y||y({editor:t,range:re.range,query:re.query,text:re.text,transaction:A}))?(U.dismissedRange!==null&&!N({match:re,dismissedRange:U.dismissedRange,state:z,transaction:A})&&(U.dismissedRange=null),U.dismissedRange===null?(U.active=!0,U.decorationId=O.decorationId?O.decorationId:ee,U.range=re.range,U.query=re.query,U.text=re.text):U.active=!1):(re||(U.dismissedRange=null),U.active=!1)}else U.active=!1;return U.active||(U.decorationId=null,U.range={from:0,to:0},U.query=null,U.text=null),U}},props:{handleKeyDown(A,O){var G,z;let{active:L,range:H}=k.getState(A.state);if(!L)return!1;if(O.key==="Escape"||O.key==="Esc"){let F=k.getState(A.state);return(G=T?.onKeyDown)==null||G.call(T,{view:A,event:O,range:F.range}),D(A,e),!0}return((z=T?.onKeyDown)==null?void 0:z.call(T,{view:A,event:O,range:H}))||!1},decorations(A){let{active:O,range:G,decorationId:z,query:L}=k.getState(A);if(!O)return null;let H=!L?.length,I=[l];return H&&I.push(c),kr.create(A.doc,[ro.inline(G.from,G.to,{nodeName:a,class:I.join(" "),"data-decoration-id":z,"data-decoration-content":u})])}}});return k}var R8=oa.create({name:"commandMention",group:"inline",inline:!0,atom:!0,selectable:!0,addOptions(){return{commands:[],suggestion:{char:"/",allowSpaces:!1,allow({range:e}){return e.from===0},command:({editor:e,range:t,props:n})=>{e.chain().focus().deleteRange(t).insertContent([{type:"commandMention",attrs:{name:n.name}},{type:"text",text:" "}]).run()}}}},addAttributes(){return{name:{default:null}}},parseHTML(){return[{tag:"span[data-command-mention]",getAttrs:e=>({name:e.getAttribute("data-command-mention")})}]},renderHTML({node:e,HTMLAttributes:t}){return["span",Oh(t,{"data-command-mention":e.attrs.name,class:"command-chip"}),`/${e.attrs.name}`]},addKeyboardShortcuts(){return{Backspace:()=>{let{state:e,view:t}=this.editor,{selection:n}=e,{$from:r}=n;if(n instanceof Ae&&n.node.type.name==="commandMention"){let o=n.node.attrs.name,s=n.from,a=e.tr.replaceWith(s,n.to,e.schema.text(`/${o}`));return a.setSelection(Re.create(a.doc,s+o.length+1)),t.dispatch(a),!0}let i=r.nodeBefore;if(i?.type.name==="commandMention"){let o=i.attrs.name,s=r.pos-i.nodeSize,a=e.tr.replaceWith(s,r.pos,e.schema.text(`/${o}`));return a.setSelection(Re.create(a.doc,s+o.length+1)),t.dispatch(a),!0}return!1}}},addProseMirrorPlugins(){let e=this.options;return[N8({editor:this.editor,...this.options.suggestion}),new lt({key:new Nt("commandMentionPaste"),props:{handlePaste:(t,n)=>{let r=n.clipboardData?.getData("text/plain")??"";if(!r.startsWith("/"))return!1;let i=r.slice(1),o=i.indexOf(" "),s=o===-1?i:i.slice(0,o),a=o===-1?"":i.slice(o);if(!e.commands.find(y=>y.name===s))return!1;let{state:c}=t,f=c.schema.nodes.commandMention;if(!f)return!1;let d=[];d.push(f.create({name:s})),a&&d.push(c.schema.text(a));let h=c.tr,{from:p,to:b}=c.selection;return h.replaceWith(p,b,d),t.dispatch(h),!0}}})]}});var O8=q(Jf(),1);var zb=q(ge(),1),kl=q(ie(),1);function k8(e,t){let n=t.toLowerCase();return e.filter(r=>r.name.toLowerCase().startsWith(n))}function M8({id:e,commands:t,effectiveIndex:n,onSelect:r,onHighlight:i}){let o=(0,zb.useRef)(null);return(0,zb.useEffect)(()=>{o.current?.children[n]?.scrollIntoView({block:"nearest"})},[n]),(0,kl.jsx)("ul",{id:e,ref:o,className:"shiny-chat-slash-palette",role:"listbox","aria-label":"Slash commands",onMouseDown:s=>s.preventDefault(),children:t.length===0?(0,kl.jsx)("li",{className:"shiny-chat-slash-palette-empty",role:"presentation",children:"No matching commands"}):t.map((s,a)=>(0,kl.jsxs)("li",{id:`${e}-item-${s.name}`,className:"shiny-chat-slash-palette-item"+(a===n?" highlighted":""),role:"option","aria-selected":a===n,onClick:()=>r(s),onMouseEnter:()=>i(a),children:[(0,kl.jsxs)("span",{className:"shiny-chat-slash-palette-name",children:["/",s.name]}),(0,kl.jsx)("span",{className:"shiny-chat-slash-palette-desc",children:s.description})]},s.name))})}var I8=q(ie(),1);function D8({paletteId:e}){let t=null,n=null,r=0,i=[],o=null;function s(f){if(!t||!f)return;let d=f();if(!d)return;let h=t.offsetHeight,p=d.top,b=window.innerHeight-d.bottom,y=4;t.style.left=`${d.left}px`,h>0&&b>=h+y||b>=p?(t.style.top=`${d.bottom+y}px`,t.style.bottom=""):(t.style.top="",t.style.bottom=`${window.innerHeight-d.top+y}px`)}function a(){n&&n.render((0,I8.jsx)(M8,{id:e,commands:i,effectiveIndex:r>=0?Math.min(r,i.length-1):-1,onSelect:f=>{o?.({name:f.name})},onHighlight:f=>{r=f,a()}}))}let l=null,u=null;function c(){l&&(window.removeEventListener("resize",l),window.removeEventListener("scroll",l,!0),l=null),u&&(document.removeEventListener("pointerdown",u,!0),u=null),n&&(n.unmount(),n=null),t&&(t.remove(),t=null),o=null}return{onStart(f){i=f.items??[],r=0,o=f.command,t=document.createElement("div"),t.style.position="fixed",t.style.zIndex="var(--slash-palette-z-index, 1050)",t.style.width="max-content",t.style.maxWidth="400px",document.body.appendChild(t),n=(0,O8.createRoot)(t),a(),requestAnimationFrame(()=>requestAnimationFrame(()=>s(f.clientRect))),l=()=>s(f.clientRect),window.addEventListener("resize",l),window.addEventListener("scroll",l,!0),u=d=>{t&&t.contains(d.target)},document.addEventListener("pointerdown",u,!0)},onUpdate(f){i=f.items??[],r=0,o=f.command,a(),requestAnimationFrame(()=>s(f.clientRect))},onKeyDown({event:f}){if(f.key==="ArrowDown")return r=i.length===0?0:(r+1)%i.length,a(),!0;if(f.key==="ArrowUp")return r=i.length===0?0:(r-1+i.length)%i.length,a(),!0;if(f.key==="Enter"||f.key==="Tab"){if(i.length>0&&r>=0){let d=i[Math.min(r,i.length-1)];d&&o?.({name:d.name})}return!0}return f.key==="Escape"?(f.preventDefault(),f.stopPropagation(),!0):!1},onExit(){c()}}}var rs=q(ge(),1);function L8(e){let t=(0,rs.useRef)(-1),n=(0,rs.useRef)(new Map),r=(0,rs.useRef)(!1),i=(0,rs.useRef)(e);i.current!==e&&(i.current=e,t.current=-1,n.current.clear(),r.current=!1);let o=(0,rs.useCallback)((l,u)=>{let c=e.length-1;if(n.current.set(t.current,u),l==="up"){if(e.length===0)return;r.current=!0,t.current>c&&(t.current=-1);let f=t.current===-1?c:Math.max(0,t.current-1);return t.current=f,n.current.get(f)??e[f]}else{let f=t.current;if(f===-1)return;if(f>c){t.current=-1;return}if(f>=c)return t.current=-1,n.current.get(-1)??"";let d=f+1;return t.current=d,n.current.get(d)??e[d]}},[e]),s=(0,rs.useCallback)(()=>{t.current=-1,n.current.clear(),r.current=!1},[]),a=(0,rs.useCallback)(()=>r.current,[]);return{recall:o,reset:s,isActive:a}}var P8=q(ie(),1);function Lh(e){let t=e.state.doc,n=[];return t.descendants(r=>r.type.name==="commandMention"?(n.push(`/${r.attrs.name}`),!1):r.type.name==="text"?(n.push(r.text??""),!1):r.type.name==="hardBreak"?(n.push(` -`),!1):!0),n.join("")}function S_(e,t){if(!e)return{type:"doc",content:[]};if(e.startsWith("/")){let i=e.slice(1),o=i.indexOf(" "),s=o===-1?i:i.slice(0,o),a=o===-1?"":i.slice(o+1);if(t.find(u=>u.name===s)){let u=[{type:"commandMention",attrs:{name:s}}];return a&&u.push({type:"text",text:" "+a}),{type:"doc",content:u}}}let n=e.split(` -`),r=[];return n.forEach((i,o)=>{o>0&&r.push({type:"hardBreak"}),i&&r.push({type:"text",text:i})}),{type:"doc",content:r}}var Ub=(0,Or.forwardRef)(function({inputId:t,placeholder:n,hasTopShadow:r=!1,slashCommands:i,onHasTextChange:o,onSubmit:s,userMessages:a,submitKey:l,canSubmitEmpty:u},c){let{recall:f,reset:d,isActive:h}=L8(a),p=(0,Or.useRef)(i);p.current=i;let b=(0,Or.useRef)(n);b.current=n;let y=(0,Or.useRef)(s);y.current=s;let g=(0,Or.useRef)(o);g.current=o;let E=(0,Or.useRef)(u);E.current=u;let T=(0,Or.useRef)(d);T.current=d;let S=(0,Or.useRef)(null),v=d8({extensions:[T8.extend({content:"inline*"}),S8,x8,w8,Mr.create({name:"submitShortcut",priority:200,addKeyboardShortcuts(){let x=()=>{if(T_.getState(this.editor.view.state)?.active)return!1;let A=Lh(this.editor);return(this.editor.isEmpty||A.trim().length===0)&&!E.current?.()?!1:(y.current(A)&&(this.editor.commands.clearContent(!0),g.current(!1),T.current()),!0)},D={[l==="enter+modifier"?"Mod-Enter":"Enter"]:x};return l==="enter+modifier"&&(D.Enter=()=>this.editor.commands.first(({commands:k})=>[()=>k.newlineInCode(),()=>k.setHardBreak()])),D}}),R8.configure({commands:i,suggestion:{char:"/",allowSpaces:!1,allow({range:x}){return x.from===0},items:({query:x})=>k8(p.current,x),render:()=>D8({paletteId:`${t}-slash-palette`}),command:({editor:x,range:N,props:D})=>{x.chain().focus().deleteRange(N).insertContent([{type:"commandMention",attrs:{name:D.name}},{type:"text",text:" "}]).run()}}})],editorProps:{attributes:x=>{let N=x.doc.content.size===0;return{"aria-label":"Chat message","data-shiny-no-bind-input":"",role:"textbox","aria-multiline":"true",...p.current.length>0?{"aria-haspopup":"listbox"}:{},class:`form-control${r?" shadow":""}${N?" is-empty":""}`,...N?{"data-placeholder":b.current}:{}}},handleKeyDown:(x,N)=>{if(N.isComposing)return!1;if(N.key==="ArrowUp"||N.key==="ArrowDown"){let D=S.current;if(!D)return!1;let k=Lh(D),{$from:A}=x.state.selection,O=A.pos===x.state.doc.content.size-1;if(h()?O:k.length===0){let z=f(N.key==="ArrowUp"?"up":"down",k);if(z!==void 0)return N.preventDefault(),D.commands.setContent(S_(z,p.current)),o(z.trim().length>0),D.commands.focus("end"),!0}return!1}return!1}},onCreate:({editor:x})=>{S.current=x,o(!x.isEmpty)},onUpdate:({editor:x})=>{o(!x.isEmpty)}});return(0,Or.useEffect)(()=>{let x=v?.view?.dom;x&&(i.length>0?x.setAttribute("aria-haspopup","listbox"):x.removeAttribute("aria-haspopup"))},[v,i]),(0,Or.useImperativeHandle)(c,()=>({setInputValue(x,{submit:N=!1,focus:D=!1}={}){if(!v)return;let k=Lh(v);if(v.commands.setContent(S_(x,p.current)),o(x.trim().length>0),N){let A=Lh(v);s(A),v.commands.setContent(S_(k,p.current)),o(k.trim().length>0)}D&&(v.view.dom.focus(),v.commands.setTextSelection(v.state.doc.content.size))},focus(){v&&(v.view.dom.focus(),v.commands.setTextSelection(v.state.doc.content.size))},serializeEditor(){return v?Lh(v):""}}),[v,s,o]),(0,P8.jsx)(d_,{editor:v,id:t})});var xt=q(ge(),1);function nae(e){return{mime:e.type,data_url:e.dataUrl,name:e.name,size:e.size}}function rae(e){return e.map(t=>({id:zn(),type:t.mime,family:ul(t.mime)??"document",dataUrl:t.data_url,name:t.name,size:t.size}))}function qb({uploadAccept:e,maxUploadSize:t,enableUpload:n,focusEditor:r}){let[i,o]=(0,xt.useState)([]),s=(0,xt.useRef)([]);(0,xt.useEffect)(()=>{s.current=i},[i]);let[a,l]=(0,xt.useState)(!1),[u,c]=(0,xt.useState)(!1),[f,d]=(0,xt.useState)(!1),h=(0,xt.useRef)(null),p=(0,xt.useCallback)(async O=>{let G=[];for(let I of Array.from(O)){let F=null;try{F=await NB(I,e)}catch{continue}F&&G.push(F)}if(G.length===0){r();return}let z=!1,L=!1,H=!1;o(I=>{let F=_B(I),P=[];for(let{file:U,wasDownscaled:_,wasConverted:re}of G){if(t!==null&&F+U.size>t){z=!0;continue}P.push(U),F+=U.size,_&&(L=!0),re&&(H=!0)}return P.length>0?[...I,...P]:I}),z&&d(!0),L&&l(!0),H&&c(!0),r()},[e,t,r]),b=(0,xt.useCallback)(O=>{d(!1),o(G=>{let z=G.filter(L=>L.id!==O);return z.length===0&&(l(!1),c(!1)),z})},[]),y=(0,xt.useRef)([]),g=(0,xt.useRef)(null),E=(0,xt.useCallback)(O=>{let G=i.length-1;g.current=G===0?"input":Math.min(O,G-1),b(i[O].id)},[i,b]);(0,xt.useLayoutEffect)(()=>{y.current.length=i.length;let O=g.current;O!==null&&(g.current=null,O==="input"?r():y.current[O]?.focus())},[i,r]);let T=(0,xt.useCallback)(O=>{if(!n)return;let G=O.clipboardData;if(!G)return;let z=[];for(let H of Array.from(G.items))if(H.kind==="file"&&e.includes(H.type)){let I=H.getAsFile();I&&z.push(I)}if(z.length>0){O.preventDefault(),O.stopPropagation(),p(z);return}let L=G.getData("text/plain");L.length>SB&&e.includes("text/plain")&&(O.preventDefault(),O.stopPropagation(),p([wB(L)]))},[p,n,e]),S=(0,xt.useCallback)(O=>{n&&O.dataTransfer?.files?.length&&(O.preventDefault(),O.stopPropagation(),p(O.dataTransfer.files))},[p,n]),v=(0,xt.useCallback)(O=>{O.target.files&&p(O.target.files),O.target.value=""},[p]),x=(0,xt.useCallback)(O=>{O.target===O.currentTarget&&(O.preventDefault(),r())},[r]),N=(0,xt.useCallback)(()=>s.current.map(nae),[]),D=(0,xt.useCallback)((O,G)=>{let z=rae(O);G==="append"?o(L=>[...L,...z]):(o(z),l(!1),c(!1),d(!1))},[]),k=(0,xt.useCallback)(()=>o([]),[]),A=(0,xt.useCallback)(()=>{o([]),l(!1),c(!1),d(!1)},[]);return{attachments:i,downscaleNotice:a,gifConvertedNotice:u,sizeNotice:f,fileInputRef:h,attachmentRefs:y,addFiles:p,removeAttachment:b,removeAttachmentByKeyboard:E,onPaste:T,onDrop:S,onFilePick:v,onAttachmentsMouseDown:x,getPayloads:N,applyPayloads:D,clearAttachments:k,resetAll:A}}var x_=q(ge(),1);var Rt=q(ie(),1),Vb=(0,x_.memo)(function({staging:t,uploadAccept:n,maxUploadSize:r,enableUpload:i,disabled:o}){let{attachments:s,downscaleNotice:a,gifConvertedNotice:l,sizeNotice:u,fileInputRef:c,attachmentRefs:f,removeAttachmentByKeyboard:d,onFilePick:h,onAttachmentsMouseDown:p}=t;return(0,Rt.jsxs)(Rt.Fragment,{children:[s.length>0&&(0,Rt.jsx)("div",{className:"shiny-chat-input-attachments",onMouseDown:p,children:s.map((b,y)=>(0,Rt.jsx)(iae,{attachment:b,index:y,onRemove:()=>d(y),registerRef:g=>{f.current[y]=g}},b.id))}),(a||u||l)&&(0,Rt.jsxs)("div",{className:"shiny-chat-input-notice",role:"status",children:[u&&r!==null&&(0,Rt.jsxs)("div",{children:["Attachments exceed the ",nh(r)," limit."]}),a&&(0,Rt.jsx)("div",{children:"Large image(s) were downscaled to fit."}),l&&(0,Rt.jsx)("div",{children:"Animated GIF(s) were converted to a still image."})]}),i&&(0,Rt.jsxs)(Rt.Fragment,{children:[(0,Rt.jsx)("input",{ref:c,type:"file",multiple:!0,accept:yB(n),style:{display:"none"},onChange:h,"data-shiny-no-bind-input":!0}),(0,Rt.jsx)("button",{type:"button",className:"shiny-chat-btn-attach",title:"Attach file","aria-label":"Attach file",disabled:o,onClick:()=>c.current?.click(),dangerouslySetInnerHTML:{__html:DP}})]})]})}),iae=(0,x_.memo)(function({attachment:t,index:n,onRemove:r,registerRef:i}){let o={tabIndex:0,"aria-label":t.name?`Attachment: ${t.name}. Press Delete to remove.`:"Attachment. Press Delete to remove.",onClick:s=>s.currentTarget.focus(),onKeyDown:s=>{(s.code==="Delete"||s.code==="Backspace")&&(s.preventDefault(),r())}};return t.family==="image"?(0,Rt.jsxs)("div",{ref:i,className:"shiny-chat-input-thumbnail",title:t.name||void 0,...o,children:[(0,Rt.jsx)("img",{src:t.dataUrl,alt:t.name?`Attached image: ${t.name}`:`Attached image ${n+1}`}),(0,Rt.jsx)("button",{type:"button",tabIndex:0,"aria-label":t.name?`Remove ${t.name}`:"Remove image",onClick:r,children:"\xD7"})]}):t.family==="text"?(0,Rt.jsx)(V0,{dataUrl:t.dataUrl,name:t.name,size:t.size,onRemove:r,rootRef:i,rootProps:o}):(0,Rt.jsxs)("div",{ref:i,className:"shiny-chat-input-attachment-chip",title:t.name||void 0,...o,children:[(0,Rt.jsx)("span",{className:"shiny-chat-attachment-badge",children:U0(t.name,t.type)}),(0,Rt.jsxs)("span",{className:"shiny-chat-attachment-meta",children:[(0,Rt.jsx)("span",{className:"shiny-chat-attachment-name",children:t.name||"attachment"}),(0,Rt.jsx)("span",{className:"shiny-chat-attachment-size",children:nh(t.size)})]}),(0,Rt.jsx)("button",{type:"button",tabIndex:0,"aria-label":t.name?`Remove ${t.name}`:"Remove attachment",onClick:r,children:"\xD7"})]})});var Ph=q(ge(),1);var Zt=q(ie(),1),oae=3;function B8({url:e,deriveFavicon:t}){let n=_v(e),[r,i]=(0,Ph.useState)(!1);return!t||!n||r?(0,Zt.jsx)("span",{className:"shiny-sources-favicon shiny-sources-favicon--blank","aria-hidden":"true"}):(0,Zt.jsx)("img",{className:"shiny-sources-favicon",src:n,alt:"",onError:()=>i(!0)})}function sae({sources:e}){let[t,n]=(0,Ph.useState)(!1),r=ku(),{refs:i,floatingStyles:o,context:s,getReferenceProps:a,getFloatingProps:l}=C0(t,n),u=Ec(i.domReference.current);if(e.length===0)return null;let c=`Sources, ${e.length} ${e.length===1?"source":"sources"}`;return(0,Zt.jsxs)("div",{className:"shiny-sources",children:[(0,Zt.jsxs)("button",{ref:i.setReference,type:"button",className:"shiny-sources-pill","aria-label":c,...a(),children:[r&&(0,Zt.jsx)("span",{className:"shiny-sources-pill__stack",children:e.slice(0,oae).map(f=>(0,Zt.jsx)(B8,{url:f.url,deriveFavicon:r},f.url))}),(0,Zt.jsx)("span",{className:"shiny-sources-pill__label",children:"Sources"})]}),t&&(0,Zt.jsx)(gc,{children:(0,Zt.jsx)(bc,{context:s,modal:!1,initialFocus:-1,returnFocus:!0,children:(0,Zt.jsxs)("div",{ref:i.setFloating,className:"shiny-sources-popover shiny-floating-overlay",style:{...u.style,...o},"data-bs-theme":u.theme,"aria-label":c,...l(),children:[(0,Zt.jsx)("div",{className:"shiny-sources-popover__title",children:"Sources"}),(0,Zt.jsx)("ul",{className:"shiny-sources-list",children:e.map(f=>(0,Zt.jsx)("li",{className:"shiny-sources-item",children:(0,Zt.jsxs)("a",{className:"shiny-sources-item__link",href:f.url,...Yi,children:[(0,Zt.jsx)(B8,{url:f.url,deriveFavicon:r}),(0,Zt.jsxs)("span",{className:"shiny-sources-item__text",children:[f.domain&&(0,Zt.jsx)("span",{className:"shiny-sources-item__site",children:f.domain}),(0,Zt.jsx)("span",{className:"shiny-sources-item__title",children:f.title??f.domain??f.url})]})]})},f.url))})]})})})]})}var H8=(0,Ph.memo)(function(){return(0,Zt.jsx)(sae,{sources:CP()})});var Ie=q(ie(),1);function aae(e,t){return t?{...e,trusted:!1,tagMap:void 0}:e.contentType==="html"?{...e,trusted:!0,tagMap:Xs}:{...e,trusted:!1,tagMap:Tc}}var lae=500,uae=10,cae=500,fae=200;function dae(e,t){if(!e.startsWith("/"))return null;let n=e.slice(1),r=n.indexOf(" "),i=r===-1?n:n.slice(0,r),o=r===-1?"":n.slice(r+1).trim();return t.find(a=>a.name===i)?{commandName:i,remainingText:o}:null}var F8=(0,et.memo)(function({message:t,index:n,iconAssistant:r,onEdit:i,onNavigate:o,siblingNavigationPending:s=!1,disabled:a,inputId:l,submitKey:u="enter",isEditing:c=!1,onStartEdit:f,onCancelEdit:d,uploadAccept:h=[],maxUploadSize:p=null,enableUpload:b,thinkingShowAfter:y=0}){let g=cM(),E=lM(),{supersededRequests:T,requestDefinitionIcons:S}=uM(),[v,x]=(0,et.useState)(null),[N,D]=(0,et.useState)(!1),k=(0,et.useRef)(null),A=t.role==="user",O=t.blocks,G=(0,et.useMemo)(()=>{let Z=[];return O.forEach((we,en)=>{if(we.type!=="tool_loop"){Z.push({block:we,index:en});return}let bt=we.groups.map(Ze=>{let Ft=Ze.calls.filter(Xr=>!(Xr.status==="running"&&T.has(Xr.requestId))).map(Xr=>j1(Xr,S));return Ft.length!==Ze.calls.length||Ft.some((Xr,zh)=>Xr!==Ze.calls[zh])?{...Ze,calls:Ft,...Cu(Ft)}:Ze}).filter(Ze=>Ze.calls.length>0);bt.length>0&&Z.push({block:{...we,groups:bt},index:en})}),Z},[O,T,S]),[,z]=(0,et.useState)(0);(0,et.useEffect)(()=>{if(y<=0)return;let Z=G.flatMap(({block:bt})=>bt.type!=="thinking"||!bt.streaming||bt.startedAt===void 0||D0(bt,y)?[]:[Math.max(0,y*1e3-(Date.now()-bt.startedAt))]),we=Math.min(...Z);if(!Number.isFinite(we))return;let en=setTimeout(()=>z(bt=>bt+1),we);return()=>clearTimeout(en)},[G,y]);let L=A&&!!i&&!a&&!c,[H,I]=(0,et.useState)(!1),F=(0,et.useRef)(null),P=(0,et.useRef)(null),U=(0,et.useRef)(!1),_=(0,et.useRef)(null),re=(0,et.useCallback)(()=>k.current?.focus(),[]),ee=qb({uploadAccept:h,maxUploadSize:p,enableUpload:b,focusEditor:re}),{applyPayloads:C,getPayloads:ae,onPaste:ue,onDrop:de}=ee,Le=(0,et.useRef)(!1);(0,et.useEffect)(()=>{c&&!Le.current&&(k.current?.setInputValue(t.content,{focus:!0}),C(t.attachments??[],"set")),Le.current=c},[c,t.content,t.attachments,C]);let ye=(0,et.useCallback)(Z=>a?!1:(i?.(n,Z,ae()),d?.(),!0),[i,d,n,a,ae]),qe=(0,et.useCallback)(()=>ae().length>0,[ae]),De=(0,et.useCallback)(()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},[]),ke=(0,et.useCallback)(Z=>{Z.pointerType==="touch"&&(P.current={x:Z.clientX,y:Z.clientY},U.current=!1,De(),F.current=setTimeout(()=>{F.current=null,U.current=!0,I(!0)},lae))},[De]),ce=(0,et.useCallback)(Z=>{let we=P.current;if(!we)return;Math.hypot(Z.clientX-we.x,Z.clientY-we.y)>uae&&(P.current=null,De())},[De]),oe=(0,et.useCallback)(Z=>{let we=P.current!==null;P.current=null,De(),we&&U.current&&Z.preventDefault()},[De]),Ee=(0,et.useCallback)(()=>{P.current=null,De()},[De]),Pe=(0,et.useCallback)(Z=>{(P.current!==null||U.current)&&Z.preventDefault()},[]);(0,et.useEffect)(()=>{if(!H)return;let Z=we=>{_.current?.contains(we.target)||I(!1)};return document.addEventListener("pointerdown",Z,!0),()=>document.removeEventListener("pointerdown",Z,!0)},[H]);let Te=t.content.trim()!==""||G.some(({block:Z})=>Z.type==="thinking"&&D0(Z,y)||Z.type==="tool_loop"||Z.type==="web_activity"||Z.type==="html_block")||(t.attachments?.length??0)>0||t.cancelled,ve=A?void 0:t.icon??r,[me,vt]=(0,et.useState)(!1),[Ge,Ve]=(0,et.useState)(!1),[Jt,kt]=(0,et.useState)(!1);(0,et.useEffect)(()=>{if(A||ve!==""||Te)return;let Z=setTimeout(()=>vt(!0),cae);return()=>clearTimeout(Z)},[A,ve,Te]),(0,et.useEffect)(()=>{if(!Te||!me)return;Ve(!0),kt(!0);let Z=setTimeout(()=>{vt(!1),Ve(!1),kt(!1)},fae);return()=>clearTimeout(Z)},[Te,me]);let Mt,Hn=!A&&ve===""&&me;if(A?Mt=t.icon||void 0:ve===""?Mt=void 0:Mt=Te?ve??MP:Nv,!Te&&!t.streaming&&!t.isPlaceholder)return null;let B=A?dae(t.content,g):null,K=A?"shiny-chat-user-message":"shiny-chat-message",Q=t.attachments&&t.attachments.length>0?(0,Ie.jsx)("div",{className:"shiny-chat-message-attachments",children:t.attachments.map((Z,we)=>{if(Z.mime.startsWith("image/")){let en=Z.name?`Attached image: ${Z.name}`:`Attached image ${we+1}`;return(0,Ie.jsx)("button",{type:"button",className:"shiny-chat-message-image-btn",title:Z.name||void 0,"aria-label":Z.name?`View ${Z.name}`:`View attached image ${we+1}`,onClick:()=>x({src:Z.data_url,name:Z.name,mime:Z.mime}),children:(0,Ie.jsx)("img",{className:"shiny-chat-message-image",src:Z.data_url,alt:en})},we)}return ul(Z.mime)==="text"?(0,Ie.jsx)(V0,{dataUrl:Z.data_url,name:Z.name,size:z0(Z.data_url),onActivate:()=>x({src:Z.data_url,name:Z.name,mime:Z.mime})},we):(0,Ie.jsxs)("button",{type:"button",className:"shiny-chat-message-attachment-chip",title:Z.name||void 0,"aria-label":`View ${Z.name||"attachment"}`,onClick:()=>x({src:Z.data_url,name:Z.name,mime:Z.mime}),children:[(0,Ie.jsx)("span",{className:"shiny-chat-attachment-badge",children:U0(Z.name,Z.mime)}),(0,Ie.jsx)("span",{className:"shiny-chat-attachment-name",children:Z.name||"attachment"})]},we)})}):null,se=(Z,we)=>{if(Z.type==="thinking")return(0,Ie.jsx)(zP,{thinking:Z,messageId:`${t.id}-${we}`,showAfter:y},we);let en=we===O.length-1;if(Z.type==="tool_loop")return(0,Ie.jsx)("div",{className:"shiny-chat-tool-loop",children:Z.groups.map(Ft=>(0,Ie.jsx)(cB,{group:Ft},Ft.key))},we);if(Z.type==="web_activity")return(0,Ie.jsx)(B0,{items:Z.items},we);if(Z.type==="html_block")return(0,Ie.jsx)(H0,{content:Z.content,htmlDeps:Z.htmlDeps},we);if(Z.type!=="content")return null;let bt=aae(Z,A);if(B&&we===0){let Ft=(0,Ie.jsx)(hB,{name:B.commandName}),fn=B.remainingText||"";return bt.contentType==="text"?(0,Ie.jsxs)("div",{className:"content-type-text",children:[Ft,fn&&` ${fn}`]},we):fn?(0,Ie.jsx)(Xt,{content:fn,contentType:bt.contentType,role:t.role,streaming:t.streaming&&en,tagToComponentMap:bt.tagMap,prefix:Ft},we):(0,Ie.jsx)("p",{children:Ft},we)}let Ze=(0,Ie.jsx)(Xt,{content:bt.content,contentType:bt.contentType,role:t.role,streaming:t.streaming&&en,tagToComponentMap:bt.tagMap},we);return bt.contentType==="text"?(0,Ie.jsx)("div",{className:"content-type-text",children:Ze},we):Ze},_e=G.map(({block:Z,index:we})=>(0,Ie.jsx)(Oa,{context:`${Z.type} block`,resetKey:Z,fallback:Z.type==="content"?(0,Ie.jsx)("div",{className:"shiny-chat-block-error",role:"alert",children:(0,Ie.jsx)("pre",{children:Z.content})}):void 0,children:se(Z,we)},we)),ut=v&&(0,Ie.jsx)(MB,{src:v.src,name:v.name,mime:v.mime,onClose:()=>x(null)});return(0,Ie.jsxs)("div",{ref:_,className:K,"data-touch-revealed":H||void 0,onPointerDown:L?ke:void 0,onPointerMove:L?ce:void 0,onPointerUp:L?oe:void 0,onPointerCancel:L?Ee:void 0,onContextMenu:L?Pe:void 0,children:[Mt&&(0,Ie.jsx)("div",{className:"message-icon",dangerouslySetInnerHTML:{__html:Mt}}),(0,Ie.jsx)("div",{className:"shiny-chat-message-content","data-pending":Hn||void 0,children:c?(0,Ie.jsxs)("div",{className:"shiny-chat-edit-wrap",onKeyDownCapture:Z=>{Z.key==="Escape"&&(Z.preventDefault(),d?.())},children:[(0,Ie.jsxs)("div",{className:"shiny-chat-edit-box",onDropCapture:de,onDragOver:Z=>Z.preventDefault(),onPasteCapture:ue,children:[(0,Ie.jsx)(Vb,{staging:ee,uploadAccept:h,maxUploadSize:p,enableUpload:b,disabled:a}),(0,Ie.jsx)(Ub,{ref:k,inputId:`${l}-edit`,placeholder:"Edit message",slashCommands:[],userMessages:[],submitKey:u,onHasTextChange:D,onSubmit:ye,canSubmitEmpty:qe}),(0,Ie.jsx)("button",{type:"button",className:"shiny-chat-btn-send",disabled:a||!N&&ee.attachments.length===0,onClick:()=>{let Z=k.current?.serializeEditor()??"";ye(Z)},"aria-label":"Save and resend",title:"Save and resend",dangerouslySetInnerHTML:{__html:k0}})]}),(0,Ie.jsx)("button",{type:"button",className:"shiny-chat-edit-cancel-outside",onClick:()=>d?.(),children:"Cancel"})]}):(0,Ie.jsxs)(Ie.Fragment,{children:[Hn&&(0,Ie.jsx)("div",{className:"shiny-chat-pending-indicator","data-exiting":Ge||void 0,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:Nv}}),A&&Q,(0,Ie.jsx)("div",{className:"shiny-chat-message-body","data-entering":Jt||void 0,children:(0,Ie.jsxs)(AP,{children:[_e,!A&&(0,Ie.jsx)(H8,{})]})}),!A&&Q,t.cancelled&&(0,Ie.jsx)("div",{className:"shiny-chat-message-cancelled",children:"Response cancelled"})]})}),A&&!c&&(i&&!a||t.siblings&&t.siblings.total>1)&&(0,Ie.jsxs)("div",{className:"shiny-chat-message-footer",children:[t.siblings&&t.siblings.total>1&&(0,Ie.jsxs)("div",{className:"shiny-chat-sibling-nav",children:[(0,Ie.jsx)("button",{type:"button",disabled:t.siblings.index===0||a||s,onClick:()=>o?.(n,"prev"),"aria-label":"Previous version",children:"\u2039"}),(0,Ie.jsxs)("span",{"aria-live":"polite",children:[t.siblings.index+1," / ",t.siblings.total]}),(0,Ie.jsx)("button",{type:"button",disabled:t.siblings.index===t.siblings.total-1||a||s,onClick:()=>o?.(n,"next"),"aria-label":"Next version",children:"\u203A"})]}),i&&!a&&(0,Ie.jsx)("button",{type:"button",className:"shiny-chat-edit-btn",onClick:()=>{I(!1),f?.(t.id)},"aria-label":"Edit message",title:"Edit message",dangerouslySetInnerHTML:{__html:HP}})]}),ut]})});var z8=q(ge(),1),U8=q(ie(),1),Gb=class extends z8.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,n){console.warn("[shinychat] Error rendering message:",t,n)}render(){return this.state.hasError?(0,U8.jsx)("div",{className:"shiny-chat-message-error",role:"alert",children:"Error rendering message"}):this.props.children}};var zc=q(ie(),1),q8=(0,Ml.memo)(function({messages:t,iconAssistant:n,onEdit:r,onNavigate:i,siblingNavigationPending:o,disabled:s,inputId:a,submitKey:l,uploadAccept:u,maxUploadSize:c,enableUpload:f,thinkingShowAfter:d}){let[h,p]=(0,Ml.useState)(null),b=(0,Ml.useCallback)(g=>p(g),[]),y=(0,Ml.useCallback)(()=>p(null),[]);return(0,zc.jsx)(zc.Fragment,{children:t.map((g,E)=>(0,zc.jsx)(Gb,{children:(0,zc.jsx)(F8,{message:g,index:E,iconAssistant:n,onEdit:r,onNavigate:i,siblingNavigationPending:o,disabled:s,inputId:a,submitKey:l,uploadAccept:u,maxUploadSize:c,enableUpload:f,thinkingShowAfter:d,isEditing:g.id===h,onStartEdit:b,onCancelEdit:y})},g.id))})});var Ci=q(ge(),1);var Uc=q(ge(),1);var G8=q(ie(),1);function V8({children:e}){let t=(0,Uc.useRef)(null),n=(0,Uc.useContext)(Tr);return(0,Uc.useEffect)(()=>{let r=t.current;if(!(!r||!n))return n.bindAll(r),()=>{n.unbindAll(r)}},[n]),(0,G8.jsx)("div",{ref:t,style:{display:"contents"},children:e})}var qc=q(ie(),1),K8=(0,Ci.memo)(function({greeting:t}){let n=Qs(),r=(0,Ci.useContext)(rd),i=(0,Ci.useRef)(null),[o,s]=(0,Ci.useState)(!0),a=t.status==="dismissing";if((0,Ci.useEffect)(()=>{if(!o)return;if(n){s(!1);return}let c=i.current;if(!c)return;function f(d){d.animationName==="shiny-chat-greeting-reveal"&&s(!1)}return c.addEventListener("animationend",f),()=>c.removeEventListener("animationend",f)},[o,n]),(0,Ci.useEffect)(()=>{if(!a)return;if(n){r?.({type:"greeting_dismissed"});return}let c=i.current;if(!c)return;function f(d){d.animationName==="shiny-chat-greeting-dismiss"&&r?.({type:"greeting_dismissed"})}return c.addEventListener("animationend",f),()=>c.removeEventListener("animationend",f)},[a,n,r]),t.status==="dismissed")return null;let l=t.blocks.length-1;return(0,qc.jsx)("div",{className:o?"shiny-chat-greeting shiny-chat-greeting--enter":"shiny-chat-greeting",ref:i,...a?{"data-dismissing":""}:{},children:(0,qc.jsx)("div",{className:"shiny-chat-greeting-content",children:t.blocks.map((c,f)=>c.contentType==="html"?(0,qc.jsx)(V8,{children:(0,qc.jsx)(Xt,{content:c.content,contentType:"html",role:"assistant",streaming:t.streaming&&f===l,tagToComponentMap:Xs})},`${f}:${c.content}`):(0,qc.jsx)(Xt,{content:c.content,contentType:c.contentType,role:"assistant",streaming:t.streaming&&f===l,tagToComponentMap:Xs},f))})})});var Dr=q(ge(),1);var Vc=q(ie(),1);function hae(e,t){if(!e.startsWith("/"))return null;let n=e.slice(1),r=n.indexOf(" "),i=r===-1?n:n.slice(0,r),o=r===-1?"":n.slice(r+1).trim(),s=t.find(a=>a.name===i);return s?{command:i,userText:o,echo:s.echo}:null}var Y8=(0,Dr.memo)((0,Dr.forwardRef)(function({transport:t,inputId:n,uploadAccept:r,maxUploadSize:i,disabled:o,hasTopShadow:s=!1,placeholder:a,onSend:l,userMessages:u,enableCancel:c,enableUpload:f,cancelRequested:d,isStreaming:h,onCancel:p,slashCommands:b=[],slashCommandId:y="",submitKey:g="enter",iconSend:E},T){let S=Cm(),v=(0,Dr.useRef)(null),[x,N]=(0,Dr.useState)(!1),D=(0,Dr.useCallback)(()=>v.current?.focus(),[]),k=qb({uploadAccept:r,maxUploadSize:i,enableUpload:f,focusEditor:D}),{attachments:A,onPaste:O,onDrop:G,getPayloads:z,applyPayloads:L,clearAttachments:H,resetAll:I}=k,F=(0,Dr.useCallback)(de=>{let Le=z();if(de.trim().length===0&&Le.length===0||o)return!1;let ye=hae(de,b);if(ye){let qe=document.getElementById(n),De=qe?.closest("shiny-chat-container")??null,ke={id:De?.getAttribute("effective-id")??De?.id??"",command:ye.command,userText:ye.userText,echo:ye.echo},ce=new CustomEvent("shiny:chat-slash-command",{detail:ke,cancelable:!0,bubbles:!0});(De??qe)?.dispatchEvent(ce);let oe=ke.echo,Ee=ce.defaultPrevented;oe&&S({type:"INPUT_SENT",content:de,role:"user",awaitResponse:!Ee}),Ee||t.sendSlashCommand(y,ye.command,ye.userText,oe)}else S({type:"INPUT_SENT",content:de,role:"user",...Le.length>0?{attachments:Le}:{}}),t.sendInput(n,f?{text:de,attachments:Le}:de),I();return l?.(),!0},[o,S,t,n,l,b,y,f,z,I]),P=(0,Dr.useCallback)(()=>z().length>0,[z]);(0,Dr.useImperativeHandle)(T,()=>({setInputValue(de,{submit:Le=!1,focus:ye=!1,attachments:qe,attachmentMode:De="append"}={}){let ke=v.current;if(!ke)return;if(!Le){de!==void 0?ke.setInputValue(de,{focus:ye}):ye&&ke.focus(),qe!==void 0&&L(qe,De);return}let ce=ke.serializeEditor();de!==void 0&&ke.setInputValue(de);let oe=ke.serializeEditor(),Ee=qe??[],Pe=De==="append"?[...z(),...Ee]:Ee;Pe.length===0?F(oe):!o&&Pe.length>0&&(S({type:"INPUT_SENT",content:oe,role:"user",attachments:Pe}),t.sendInput(n,f?{text:oe,attachments:Pe}:oe),l?.()),de!==void 0?ke.setInputValue(ce,{focus:ye}):ye&&ke.focus(),qe!==void 0&&H()},focus(){v.current?.focus()}}),[o,S,t,n,f,l,F,L,z,H]);let U=x||A.length>0,_=d?"cancelling":c&&h?"cancel":o?"pending":U?"ready":"empty",re=_==="cancel"?LP:_==="pending"||_==="cancelling"?PP:E??k0,ee=_==="cancel"?"Stop generating":_==="pending"||_==="cancelling"?"Loading":"Send message",C=_==="empty",ae=_==="pending"||_==="cancelling";return(0,Vc.jsxs)("div",{className:"shiny-chat-input-dropzone",onDropCapture:G,onDragOver:de=>de.preventDefault(),onPasteCapture:O,children:[(0,Vc.jsx)(Vb,{staging:k,uploadAccept:r,maxUploadSize:i,enableUpload:f,disabled:o}),(0,Vc.jsx)(Ub,{ref:v,inputId:n,placeholder:a,hasTopShadow:s,slashCommands:b,onHasTextChange:N,onSubmit:F,userMessages:u,submitKey:g,canSubmitEmpty:P}),(0,Vc.jsx)("button",{type:"button",className:"shiny-chat-btn-send","data-state":_,title:ee,"aria-label":ee,disabled:C,"aria-disabled":ae||void 0,tabIndex:ae?-1:void 0,onClick:_==="cancel"?p:_==="ready"?()=>{let de=v.current?.serializeEditor()??"";F(de)&&(v.current?.setInputValue(""),v.current?.focus())}:void 0,dangerouslySetInnerHTML:{__html:re}})]})}));var v_=q(ie(),1);function W8({isAtBottom:e,scrollToBottom:t,streaming:n}){return e?null:(0,v_.jsx)("button",{type:"button",className:n?"shiny-chat-scroll-to-bottom streaming":"shiny-chat-scroll-to-bottom",title:"Scroll to bottom","aria-label":"Scroll to bottom",onClick:()=>t(),children:(0,v_.jsx)("span",{dangerouslySetInnerHTML:{__html:Sc}})})}var Gc=q(ge(),1),Xn=q(ie(),1);function $8({url:e,onProceed:t,onAlways:n,onCancel:r}){let i=(0,Gc.useRef)(null),o=(0,Gc.useRef)(t);o.current=t;let s=(0,Gc.useRef)(r);return s.current=r,(0,Gc.useEffect)(()=>{let a=i.current;if(!a)return;try{a.showModal()}catch{o.current()}let l=c=>{c.target===a&&s.current()},u=()=>{s.current()};return a.addEventListener("click",l),a.addEventListener("cancel",u),()=>{a.removeEventListener("click",l),a.removeEventListener("cancel",u)}},[]),(0,Xn.jsx)("dialog",{ref:i,className:"shiny-chat-external-link-dialog",children:(0,Xn.jsx)("div",{className:"modal position-relative d-block fade show",children:(0,Xn.jsxs)("div",{className:"modal-content",children:[(0,Xn.jsxs)("div",{className:"modal-header",children:[(0,Xn.jsx)("h5",{className:"modal-title",children:"External Link"}),(0,Xn.jsx)("button",{className:"btn-close shiny-chat-btn-close","data-bs-dismiss":"modal","aria-label":"Close",onClick:r})]}),(0,Xn.jsxs)("div",{className:"modal-body",children:[(0,Xn.jsx)("p",{children:"This link will take you to an external website:"}),(0,Xn.jsx)("p",{className:"link-url text-break",children:e})]}),(0,Xn.jsxs)("div",{className:"modal-footer flex-wrap-reverse",children:[(0,Xn.jsx)("button",{className:"btn btn-sm btn-link shiny-chat-btn-always ps-0 me-auto",onClick:n,children:"Always open external links"}),(0,Xn.jsxs)("div",{className:"d-flex gap-2 justify-content-end",children:[(0,Xn.jsx)("button",{autoFocus:!0,className:"btn btn-sm btn-primary shiny-chat-btn-proceed",onClick:t,children:"Open Link"}),(0,Xn.jsx)("button",{className:"btn btn-sm btn-outline-danger shiny-chat-btn-cancel",onClick:r,children:"Cancel"})]})]})]})})})}var Kc=q(ge(),1);var j8=q(ie(),1);function A_({source:e,className:t}){let n=(0,Kc.useRef)(null),r=(0,Kc.useContext)(Tr);return(0,Kc.useEffect)(()=>{let i=n.current;if(i){for(r&&r.unbindAll(e);e.firstChild;)i.appendChild(e.firstChild);return r&&r.bindAll(i),()=>{for(r&&r.unbindAll(i);i.firstChild;)e.appendChild(i.firstChild)}}},[e,r]),(0,j8.jsx)("div",{ref:n,className:t})}var Be=q(ge(),1);var Z8=["resize-request","resize-start","resize-end"],Kb="shiny-chat-resize-handle",X8="bslib-resize-handle";var __={value:0,min:0,max:0,panelSide:"inline-end",disabled:!0,label:"Resize panel",step:10,largeStep:50,boundaryActivation:!1};function Q8(e,t,n){return Math.round(Math.min(Math.max(e,t),n))}function pae(e){if(!e)return!1;let t=e;return typeof t.prototype.configure=="function"&&Z8.every(n=>t.resizeHandleEvents?.includes(n))}function N_(e=customElements,t={}){return t.boundaryActivation?{name:"local",tagName:Kb}:pae(e.get(X8))?{name:"bslib",tagName:X8}:{name:"local",tagName:Kb}}function J8(e={}){let t=N_(customElements,e),n=document.createElement(t.tagName);return n.dataset.shinyChatResizeHandleProvider=t.name,n}var w_=class extends HTMLElement{static resizeHandleEvents=Z8;options=__;listenerAbort=null;boundaryListenerAbort=null;activeTouchAbort=null;pointer;previousBoundaryPointerX;connectedCallback(){if(this.listenerAbort)return;this.ensureBoundaryIndicator(),this.resetBoundaryPointer();let t=new AbortController;this.listenerAbort=t;let n={signal:t.signal};this.addEventListener("pointerdown",this.onPointerDown,n),this.addEventListener("pointermove",this.onPointerMove,n),this.addEventListener("pointerup",this.onPointerEnd,n),this.addEventListener("pointercancel",this.onPointerEnd,n),this.addEventListener("lostpointercapture",this.onPointerEnd,n),this.addEventListener("keydown",this.onKeyDown,n),this.syncBoundaryListeners()}disconnectedCallback(){this.finishPointer(),this.deactivateBoundary(),this.resetBoundaryPointer(),this.boundaryListenerAbort?.abort(),this.boundaryListenerAbort=null,this.activeTouchAbort?.abort(),this.activeTouchAbort=null,this.listenerAbort?.abort(),this.listenerAbort=null}configure(t){let n=Math.round(t.min),r=Math.max(n,Math.round(t.max));this.options={...t,min:n,max:r,value:Q8(t.value,n,r),step:t.step??__.step,largeStep:t.largeStep??__.largeStep},this.setAttribute("role","separator"),this.setAttribute("aria-orientation","vertical"),this.setAttribute("aria-label",this.options.label),this.setAttribute("aria-keyshortcuts","ArrowLeft ArrowRight Home End"),this.setAttribute("aria-valuemin",n.toString()),this.setAttribute("aria-valuemax",r.toString()),this.setAttribute("aria-valuenow",this.options.value.toString()),this.setAttribute("aria-valuetext",`${this.options.value} pixels`),this.setAttribute("aria-disabled",this.options.disabled?"true":"false"),this.tabIndex=this.options.disabled?-1:0,this.toggleAttribute("data-disabled",this.options.disabled),this.toggleAttribute("data-boundary-activation",this.options.boundaryActivation),this.dataset.panelSide=this.options.panelSide,this.title=this.options.label,this.syncBoundaryListeners(),this.options.disabled?(this.finishPointer(),this.deactivateBoundary(),this.resetBoundaryPointer()):this.options.boundaryActivation||(this.deactivateBoundary(),this.resetBoundaryPointer())}onPointerDown=t=>{let n=t;this.options.disabled||this.pointer||n.button!==0||n.isPrimary===!1||this.options.boundaryActivation&&!this.hasAttribute("data-boundary-armed")&&!C_(n)&&!this.isDirectBoundaryIndicator(n.target)||this.beginPointer(n)};beginPointer(t){if(t.preventDefault(),this.resetBoundaryPointer(),this.options.boundaryActivation&&this.setAttribute("data-boundary-armed",""),this.pointer={id:t.pointerId,startX:t.clientX,startValue:this.options.value,pointerType:t.pointerType},this.setPointerCapture?.(t.pointerId),t.pointerType==="touch"){let n=new AbortController;this.activeTouchAbort=n,document.addEventListener("touchmove",this.onDocumentTouchMove,{signal:n.signal,capture:!0,passive:!1})}this.toggleAttribute("data-resizing",!0),this.emit("resize-start",{source:"pointer"})}onDocumentPointerDown=t=>{let n=t;this.resetBoundaryPointer(),!(!this.options.boundaryActivation||this.options.disabled||this.pointer||n.button!==0||n.isPrimary===!1||!C_(n)||!this.isWithinHitTarget(n.clientX,n.clientY))&&this.beginPointer(n)};onDocumentTouchStart=t=>{let n=t;if(this.resetBoundaryPointer(),!this.options.boundaryActivation||this.options.disabled||this.pointer||n.touches.length!==1)return;let r=n.changedTouches[0];r&&this.isWithinHitTarget(r.clientX,r.clientY)&&n.preventDefault()};onDocumentTouchMove=t=>{let n=t;this.pointer?.pointerType==="touch"&&n.touches.length===1&&n.preventDefault()};onPointerMove=t=>{let n=t,r=this.pointer;if(!r||n.pointerId!==r.id)return;n.preventDefault();let i=this.panelIsLeft()?1:-1,o=r.startValue+i*(n.clientX-r.startX);this.request(o,"pointer")};onDocumentPointerMove=t=>{let n=t;if(!this.options.boundaryActivation||this.options.disabled||this.pointer||C_(n)){this.resetBoundaryPointer();return}if(this.boundary()===void 0){this.resetBoundaryPointer();return}if(this.hasAttribute("data-boundary-armed")){this.previousBoundaryPointerX=n.clientX,this.isWithinBoundaryTarget(n.clientX,n.clientY,24)||this.deactivateBoundary();return}let i=this.previousBoundaryPointerX;this.previousBoundaryPointerX=n.clientX,(this.isWithinBoundaryProximity(n.clientX,n.clientY)||i!==void 0&&this.segmentCrossesBoundaryProximity(i,n.clientX,n.clientY))&&this.setAttribute("data-boundary-armed","")};onPointerEnd=t=>{let n=t;this.pointer?.id===n.pointerId&&this.finishPointer()};onKeyDown=t=>{let n=t;if(this.options.disabled)return;let r=n.shiftKey?this.options.largeStep:this.options.step,i=this.options.value,o=this.panelIsLeft()?1:-1;switch(n.key){case"ArrowLeft":i-=o*r;break;case"ArrowRight":i+=o*r;break;case"Home":i=this.options.min;break;case"End":i=this.options.max;break;default:return}n.preventDefault(),this.emit("resize-start",{source:"keyboard"}),this.request(i,"keyboard"),this.emit("resize-end",{source:"keyboard"})};request(t,n){let r=Q8(t,this.options.min,this.options.max);this.options={...this.options,value:r},this.setAttribute("aria-valuenow",r.toString()),this.setAttribute("aria-valuetext",`${r} pixels`),this.emit("resize-request",{value:r,source:n})}finishPointer(){let t=this.pointer;t&&(this.pointer=void 0,this.activeTouchAbort?.abort(),this.activeTouchAbort=null,this.hasPointerCapture?.(t.id)&&this.releasePointerCapture(t.id),this.removeAttribute("data-resizing"),this.deactivateBoundary(),this.resetBoundaryPointer(),this.emit("resize-end",{source:"pointer"}))}boundary(){let t=this.getBoundingClientRect();if(!(t.width<=0))return this.panelIsLeft()?t.right:t.left}isWithinHitTarget(t,n){let r=this.getBoundingClientRect();return t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom}isWithinBoundaryTarget(t,n,r){let i=this.getBoundingClientRect(),o=this.boundary();return o===void 0?!1:Math.abs(t-o)<=r/2&&n>=i.top&&n<=i.bottom}isWithinBoundaryProximity(t,n){return this.isWithinBoundaryTarget(t,n,this.boundaryActivationWidth())}segmentCrossesBoundaryProximity(t,n,r){let i=this.boundary();if(i===void 0||!this.isWithinBoundaryVerticalRange(r))return!1;let o=this.boundaryActivationWidth()/2;return Math.min(t,n)<=i+o&&Math.max(t,n)>=i-o}boundaryActivationWidth(){return 4}isWithinBoundaryVerticalRange(t){let n=this.getBoundingClientRect();return t>=n.top&&t<=n.bottom}isDirectBoundaryIndicator(t){return t instanceof Element&&t.closest("[data-shiny-chat-resize-indicator]")!==null}ensureBoundaryIndicator(){if(this.querySelector(":scope > [data-shiny-chat-resize-indicator]"))return;let t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.dataset.shinyChatResizeIndicator="",this.append(t)}panelIsLeft(){let t=window.getComputedStyle(this.parentElement??this).direction;return this.options.panelSide==="inline-end"==(t!=="rtl")}deactivateBoundary(){this.removeAttribute("data-boundary-armed")}resetBoundaryPointer(){this.previousBoundaryPointerX=void 0}syncBoundaryListeners(){if(this.boundaryListenerAbort?.abort(),this.boundaryListenerAbort=null,!this.listenerAbort||!this.options.boundaryActivation||this.options.disabled)return;let t=new AbortController;this.boundaryListenerAbort=t;let n={signal:t.signal,capture:!0};document.addEventListener("pointerdown",this.onDocumentPointerDown,n),document.addEventListener("touchstart",this.onDocumentTouchStart,{...n,passive:!1}),document.addEventListener("pointermove",this.onDocumentPointerMove,n)}emit(t,n){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:n}))}};function C_(e){return e.pointerType==="touch"}customElements.get(Kb)||customElements.define(Kb,w_);var wi=q(ie(),1),Wb=240,nF=360,rF=24,eF=180,k_=Wb+nF+rF+16;function Yb(e,t){return Math.round(Math.min(Math.max(e,Wb),t))}function R_(e){let t=/^\s*(\d+(?:\.\d+)?)px\s*$/i.exec(e);return t?Number.parseFloat(t[1]):void 0}function tF(){window.dispatchEvent(new Event("resize"))}function mae(){return(0,wi.jsx)("svg",{"aria-hidden":"true",viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,wi.jsx)("path",{d:"m3 3 10 10M13 3 3 13"})})}function gae({content:e,htmlDeps:t,source:n,visible:r}){let i=(0,Be.useRef)(null),o=(0,Be.useContext)(Tr),s=(0,Be.useRef)(n),a=(0,Be.useRef)(e),l=(0,Be.useRef)(!1),u=(0,Be.useRef)(0),c=(0,Be.useRef)(null),f=(0,Be.useRef)(o);f.current=o;let d=(0,Be.useRef)(r);return d.current=r,(0,Be.useLayoutEffect)(()=>{let h=i.current;if(!h)return;let p=u.current+1;u.current=p;let b=!1,y=()=>u.current===p,g=document.createElement("div");return g.className="shiny-chat-drawer-generation",(async()=>{let T=c.current;if(T&&(o?.unbindAll(T),T.remove()),c.current=g,h.replaceChildren(g),t.length>0&&await o?.renderDependencies(t),b||!y())return;let S=s.current;if(!l.current&&S&&e===a.current){for(;S.firstChild;)g.appendChild(S.firstChild);l.current=!0}else g.innerHTML=e;if(!(b||!y()||!g.hasChildNodes())){if(await o?.bindAll(g),!y()){o?.unbindAll(g),g.remove();return}if(b){o?.unbindAll(g),g.remove(),c.current===g&&(c.current=null);return}d.current&&tF()}})(),()=>{b=!0}},[e,t,o]),(0,Be.useEffect)(()=>{let h=i.current;return()=>{u.current+=1;let p=c.current;!h||!p||(c.current=null,f.current?.unbindAll(p),p.remove())}},[]),(0,Be.useEffect)(()=>{r&&tF()},[r]),(0,wi.jsx)("div",{ref:i,className:"shiny-chat-drawer-content"})}function iF({drawer:e,source:t,panelId:n,titleId:r,takeover:i,closeButtonRef:o,onClose:s,onWidthChange:a,onPresentationChange:l,onResizeStateChange:u}){let c=(0,Be.useRef)(null),f=Qs(),[d,h]=(0,Be.useState)(e.visible),[p,b]=(0,Be.useState)(e.visible?"open":"closed"),[y,g]=(0,Be.useState)(!1),E=(0,Be.useRef)(e.visible),T=(0,Be.useRef)(null),S=(0,Be.useRef)(null),v=(0,Be.useRef)(null),[x,N]=(0,Be.useState)(e.visible),[D,k]=(0,Be.useState)(()=>e.width||"400px"),[A,O]=(0,Be.useState)(840),[G,z]=(0,Be.useState)(()=>R_(e.width||"400px")??400),[L]=(0,Be.useState)(()=>N_(customElements,{boundaryActivation:!0})),H=(0,Be.useRef)(null),I=(0,Be.useRef)(null);(0,Be.useLayoutEffect)(()=>{let C=E.current;if(T.current!==null&&(window.cancelAnimationFrame(T.current),T.current=null),S.current!==null&&(window.clearTimeout(S.current),S.current=null),v.current!==null&&(!e.visible||!C)&&(window.clearTimeout(v.current),v.current=null),E.current=e.visible,e.visible){h(!0),C?b("open"):(b("opening"),f||i?N(!0):(N(!1),v.current=window.setTimeout(()=>{v.current=null,N(!0)},eF)),T.current=window.requestAnimationFrame(()=>{T.current=null,b("open")}));return}if(I.current=null,g(!1),N(!1),!C){h(!1),b("closed");return}if(b("closing"),f||i){h(!1),b("closed");return}S.current=window.setTimeout(()=>{S.current=null,h(!1),b("closed")},eF)},[e.visible,f,i]),(0,Be.useEffect)(()=>{l?.(d)},[l,d]),(0,Be.useEffect)(()=>{u?.(y)},[u,y]),(0,Be.useEffect)(()=>()=>{T.current!==null&&window.cancelAnimationFrame(T.current),S.current!==null&&window.clearTimeout(S.current),v.current!==null&&window.clearTimeout(v.current)},[]);let F=(0,Be.useCallback)(()=>{let ue=c.current?.closest("shiny-chat-container")?.getBoundingClientRect().width??0;return ue<=0?840:Math.max(Wb,ue-nF-rF)},[]),P=(0,Be.useCallback)(()=>{let C=c.current;if(!C||!e.visible)return;let ae=F();O(ae);let de=C.closest(".shiny-chat-layout")?.getBoundingClientRect().width??0,Le=Math.round(C.getBoundingClientRect().width),ye=R_(e.width);if(i||de>0&&de{P();let C=c.current,ae=C?.closest("shiny-chat-container");if(!ae||typeof ResizeObserver>"u")return;let ue=new ResizeObserver(P);ue.observe(ae);let de=C?.closest(".shiny-chat-layout");return de&&de!==ae&&ue.observe(de),()=>ue.disconnect()},[P]);let U=R_(D)??G,_=(0,Be.useCallback)(C=>{let ae=Yb(C,F());I.current=ae,k(`${ae}px`),z(ae),a(`${ae}px`)},[F,a]);(0,Be.useLayoutEffect)(()=>{let C=H.current;if(!C)return;C.configure({value:U,min:Wb,max:A,panelSide:"inline-start",disabled:!e.resizable||i||!e.visible,label:"Resize drawer panel",boundaryActivation:!0});let ae=Le=>{_(Le.detail.value)},ue=()=>g(!0),de=()=>g(!1);return C.addEventListener("resize-request",ae),C.addEventListener("resize-start",ue),C.addEventListener("resize-end",de),()=>{C.removeEventListener("resize-request",ae),C.removeEventListener("resize-start",ue),C.removeEventListener("resize-end",de)}},[e.resizable,e.visible,U,A,_,i]);let re=e.title||"Drawer",ee={"--_drawer-width":D};return(0,wi.jsxs)("aside",{ref:c,id:n,className:"shiny-chat-drawer","aria-labelledby":r,"aria-hidden":!e.visible||void 0,hidden:!d,"data-takeover":i?"":void 0,"data-motion":p,"data-drawer-resizing":y?"":void 0,style:ee,children:[e.resizable&&!i&&(0,Be.createElement)(L.tagName,{ref:H,className:"shiny-chat-drawer-resizer","data-shiny-chat-resize-handle-provider":L.name}),(0,wi.jsxs)("div",{className:"shiny-chat-drawer-header",children:[(0,wi.jsx)("h2",{id:r,children:re}),(0,wi.jsx)("button",{ref:o,type:"button",className:"shiny-chat-drawer-close","aria-label":"Close drawer",onClick:s,children:(0,wi.jsx)(mae,{})})]}),(0,wi.jsx)(gae,{content:e.content,htmlDeps:e.htmlDeps,source:t,visible:e.visible})]})}var rt=q(ge(),1);var pe=q(ie(),1),bae=300,yae=["--shiny-chat-history-accent","--shiny-chat-history-bg","--shiny-chat-history-border-color","--shiny-chat-history-item-hover-bg","--shiny-chat-history-item-active-bg","--_history-accent","--_history-bg","--_history-border-color","--_history-muted","--_history-fg","--_history-danger","--_history-item-hover-bg","--_history-item-active-bg"],oF=rt.default.createContext(null);function sF({isOpen:e,onClose:t,triggerRef:n,children:r}){let[i,o]=(0,rt.useState)(e),[s,a]=(0,rt.useState)(!1),l=(0,rt.useRef)(e);l.current=i;let u=Qs(),c=(0,rt.useRef)(null),[f,d]=(0,rt.useState)(null),h=(0,rt.useCallback)(()=>{t()},[t]),p=(0,rt.useCallback)(()=>{o(!1),a(!1),n.current?.focus({preventScroll:!0})},[n]);(0,rt.useEffect)(()=>{e?(o(!0),a(!1)):l.current&&a(!0)},[e]),(0,rt.useEffect)(()=>{if(!s)return;if(u){p();return}let y=setTimeout(p,bae);return()=>clearTimeout(y)},[s,u,p]),(0,rt.useEffect)(()=>{if(!i||s)return;let y=c.current;if(!y)return;let g=E=>{if(E.key==="Escape"){if(E.defaultPrevented)return;E.preventDefault(),E.stopPropagation(),h();return}if(E.key==="Tab"){let T=y.querySelectorAll('button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"]):not([data-floating-ui-focus-guard])');if(T.length===0)return;let S=T[0],v=T[T.length-1],x=document.activeElement===y;E.shiftKey&&(document.activeElement===S||x)?(E.preventDefault(),v.focus()):!E.shiftKey&&document.activeElement===v&&(E.preventDefault(),S.focus())}};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[i,s,h]),(0,rt.useEffect)(()=>{i&&!s&&c.current?.focus({preventScroll:!0})},[i,s]);function b(y){y.target===y.currentTarget&&s&&p()}return i?(0,pe.jsx)("div",{ref:c,onKeyDown:y=>{y.key==="Escape"&&(y.preventDefault(),y.stopPropagation(),h())},className:"shiny-chat-history","data-closing":s||void 0,role:"dialog","aria-modal":"true","aria-label":"Conversation history",tabIndex:-1,children:(0,pe.jsxs)(oF.Provider,{value:f,children:[(0,pe.jsx)("div",{className:"shiny-chat-history-scrim",onClick:h}),(0,pe.jsxs)("div",{className:"shiny-chat-history-drawer",onAnimationEnd:b,children:[(0,pe.jsxs)("div",{className:"shiny-chat-history-header",children:[(0,pe.jsx)("h2",{className:"shiny-chat-history-title",children:"History"}),(0,pe.jsx)("button",{type:"button",className:"shiny-chat-history-close","aria-label":"Close history",onClick:h,children:(0,pe.jsx)(lF,{})})]}),r]}),(0,pe.jsx)("div",{ref:d})]})}):null}function $b({conversations:e,activeId:t,busy:n,connected:r=!0,onSelect:i,onNew:o,onRename:s,onDelete:a,onActionComplete:l}){let[u,c]=(0,rt.useState)(""),[f,d]=(0,rt.useState)(null),[h,p]=(0,rt.useState)(null),[b,y]=(0,rt.useState)(null),g=(0,rt.useRef)(null),E=(0,rt.useRef)(null),T=rt.default.useContext(oF),S=(0,rt.useMemo)(()=>{let k=u.trim().toLowerCase();return k?e.filter(A=>A.title.toLowerCase().includes(k)):e},[e,u]),v=(0,rt.useMemo)(()=>Tae(S),[S]);function x(k){n||!r||(i(k),l?.())}function N(){n||!r||(o(),l?.())}let D=(0,rt.useCallback)(()=>b?(y(null),!0):f?(d(null),!0):!1,[b,f]);return(0,rt.useEffect)(()=>{if(!f&&!b)return;let k=A=>{A.key==="Escape"&&(A.preventDefault(),A.stopPropagation(),D())};return window.addEventListener("keydown",k,!0),()=>window.removeEventListener("keydown",k,!0)},[f,b,D]),(0,pe.jsxs)("div",{ref:E,onKeyDown:k=>{k.key==="Escape"&&D()&&(k.preventDefault(),k.stopPropagation())},children:[(0,pe.jsxs)("div",{className:"shiny-chat-history-toprow",children:[(0,pe.jsxs)("button",{type:"button",className:"shiny-chat-history-new",disabled:n||!r,title:n?"Wait for the response to finish":r?void 0:"History is unavailable while chat reconnects","aria-label":"New conversation",onClick:N,children:[(0,pe.jsx)(xae,{}),"New"]}),(0,pe.jsxs)("span",{className:"shiny-chat-history-search-wrap",children:[(0,pe.jsx)("span",{className:"shiny-chat-history-search-icon",children:(0,pe.jsx)(vae,{})}),(0,pe.jsx)("input",{className:"shiny-chat-history-search form-control",ref:g,placeholder:"Search\u2026",value:u,onChange:k=>c(k.target.value),"aria-label":"Search conversations"})]})]}),(0,pe.jsxs)("div",{className:"shiny-chat-history-list",children:[S.length===0&&(0,pe.jsx)("div",{className:"shiny-chat-history-empty",children:u.trim()?"No conversations found":"No conversations yet"}),v.map(([k,A])=>(0,pe.jsxs)(rt.default.Fragment,{children:[(0,pe.jsx)("div",{className:"shiny-chat-history-section",children:k}),A.map(O=>(0,pe.jsx)(Eae,{meta:O,active:O.id===t,busy:n,connected:r,portalRoot:T??E.current,menuOpen:f===O.id,renaming:h===O.id,confirmingDelete:b===O.id,onMenuOpenChange:G=>d(G?O.id:null),onStartRename:()=>{r&&(p(O.id),d(null))},onStartDelete:()=>{n||!r||(y(O.id),d(null))},onCancelEdit:()=>{p(null),y(null)},onRename:G=>{r&&(s(O.id,G),p(null))},onDelete:()=>{n||!r||(a(O.id),y(null))},onSelect:()=>x(O.id)},O.id))]},k))]})]})}function Eae({meta:e,active:t,busy:n,connected:r,portalRoot:i,menuOpen:o,renaming:s,confirmingDelete:a,onMenuOpenChange:l,onStartRename:u,onStartDelete:c,onCancelEdit:f,onRename:d,onDelete:h,onSelect:p}){let[b,y]=(0,rt.useState)(e.title),{refs:g,floatingStyles:E,context:T}=A0({open:o,onOpenChange:l,strategy:"fixed",placement:"bottom-end",middleware:[hc(4),Zd(),Qd({padding:8,crossAxis:!0})],whileElementsMounted:dc}),S=x0(T),v=v0(T,{outsidePressEvent:"mousedown"}),{getReferenceProps:x,getFloatingProps:N}=_0([S,v]),D=o?Ec(g.domReference.current,yae):null;return(0,rt.useEffect)(()=>{s||y(e.title)},[e.title,s]),s?(0,pe.jsx)("div",{className:"shiny-chat-history-item",children:(0,pe.jsx)("input",{className:"shiny-chat-history-rename-input form-control form-control-sm",autoFocus:!0,disabled:!r,value:b,onChange:k=>y(k.target.value),onKeyDown:k=>{if(k.key==="Enter"){if(!b.trim())return;d(b);return}k.key==="Escape"&&(k.preventDefault(),k.stopPropagation(),f())},onBlur:f,"aria-label":"Rename conversation"})}):(0,pe.jsxs)("div",{className:`shiny-chat-history-item${t?" active":""}`,children:[(0,pe.jsxs)("button",{type:"button",className:"shiny-chat-history-item-select",disabled:n||!r,title:n?"Wait for the response to finish":r?void 0:"History is unavailable while chat reconnects",onClick:p,children:[(0,pe.jsx)("span",{className:"shiny-chat-history-item-title",children:e.title}),(0,pe.jsx)("span",{className:"shiny-chat-history-item-time",children:Sae(e.created_at)})]}),a?(0,pe.jsxs)("span",{className:"shiny-chat-history-confirm",children:["Delete?",(0,pe.jsx)("button",{type:"button",className:"shiny-chat-history-confirm-yes",disabled:n||!r,onClick:h,"aria-label":"Confirm delete",children:(0,pe.jsx)(Aae,{})}),(0,pe.jsx)("button",{type:"button",className:"shiny-chat-history-confirm-no",onClick:f,"aria-label":"Cancel delete",children:(0,pe.jsx)(lF,{})})]}):(0,pe.jsxs)("span",{className:"shiny-chat-history-itemmenu","data-menu-id":e.id,"data-menu-open":o||void 0,children:[(0,pe.jsx)("button",{ref:g.setReference,type:"button","aria-label":"Conversation actions",disabled:!r,title:r?void 0:"History is unavailable while chat reconnects",...x(),children:(0,pe.jsx)(_ae,{})}),o&&(0,pe.jsx)(gc,{root:i,children:(0,pe.jsx)(bc,{context:T,modal:!1,initialFocus:-1,returnFocus:!0,children:(0,pe.jsxs)("div",{ref:g.setFloating,className:"shiny-chat-history-menu",style:{...D?.style,...E},"data-bs-theme":D?.theme,...N(),children:[(0,pe.jsxs)("button",{type:"button",disabled:!r,title:r?void 0:"History is unavailable while chat reconnects",onClick:u,children:[(0,pe.jsx)(Cae,{}),"Rename"]}),(0,pe.jsxs)("button",{type:"button",className:"shiny-chat-history-menu-danger",disabled:n||!r,title:n?"Wait for the response to finish":r?void 0:"History is unavailable while chat reconnects",onClick:c,children:[(0,pe.jsx)(wae,{}),"Delete"]})]})})})]})]})}function Tae(e){let t=new Date;t.setHours(0,0,0,0);let n=new Date(t);n.setDate(n.getDate()-7);let r=[],i=[],o=[];for(let a of e){let l=new Date(a.created_at);l>=t?r.push(a):l>=n?i.push(a):o.push(a)}let s=[];return r.length&&s.push(["Today",r]),i.length&&s.push(["Last 7 days",i]),o.length&&s.push(["Previous",o]),s}function Sae(e){let t=new Date(e),n=new Date;return n.setHours(0,0,0,0),t>=n?t.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}):t.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function aF(){return(0,pe.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,pe.jsx)("path",{d:"M2.5 3v3h3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,pe.jsx)("path",{d:"M2.75 6A5.5 5.5 0 1 1 3 9.6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,pe.jsx)("path",{d:"M8 5v3.2l2.2 1.3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function xae(){return(0,pe.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,pe.jsx)("path",{d:"M8 2.5H3.5A1.5 1.5 0 0 0 2 4v8.5A1.5 1.5 0 0 0 3.5 14H12a1.5 1.5 0 0 0 1.5-1.5V8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),(0,pe.jsx)("path",{d:"M11.7 2.3a1.2 1.2 0 0 1 1.7 1.7L8 9.4l-2.3.6.6-2.3 5.4-5.4z",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}function vae(){return(0,pe.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,pe.jsx)("circle",{cx:"7",cy:"7",r:"4.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,pe.jsx)("path",{d:"m10.5 10.5 3 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function lF(){return(0,pe.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,pe.jsx)("path",{d:"m4 4 8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function Aae(){return(0,pe.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,pe.jsx)("path",{d:"m3.5 8.5 3 3 6-7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function _ae(){return(0,pe.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:[(0,pe.jsx)("circle",{cx:"3.5",cy:"8",r:"1.35"}),(0,pe.jsx)("circle",{cx:"8",cy:"8",r:"1.35"}),(0,pe.jsx)("circle",{cx:"12.5",cy:"8",r:"1.35"})]})}function Cae(){return(0,pe.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,pe.jsx)("path",{d:"M11.7 2.3a1.2 1.2 0 0 1 1.7 1.7l-8 8-2.8.9.9-2.8 8.2-8.2z",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),(0,pe.jsx)("path",{d:"m10.5 3.5 2 2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]})}function wae(){return(0,pe.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,pe.jsx)("path",{d:"M3 4.5h10M6.5 4.5V3a.8.8 0 0 1 .8-.8h1.4a.8.8 0 0 1 .8.8v1.5M4.5 4.5l.5 8a1 1 0 0 0 1 .95h4a1 1 0 0 0 1-.95l.5-8M6.75 7v3.75M9.25 7v3.75",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}var uF=q(ge(),1);function cF(e){(0,uF.useEffect)(()=>{let t=e.current?.closest("shiny-chat-container");if(!t?.hasAttribute("fill")||!t.classList.contains("html-fill-item"))return;let n=null,r="",i=t;for(;i.parentElement instanceof HTMLElement&&i.parentElement.classList.contains("html-fill-container")&&i.parentElement.children.length===1;){i=i.parentElement;let s=getComputedStyle(i).paddingLeft;if(parseFloat(s)>0){n=i,r=s;break}}if(!n)return;let o=n.style.padding;return n.style.padding="0",t.style.setProperty("--shiny-chat-fill-padding",r),()=>{n.style.padding=o,t.style.removeProperty("--shiny-chat-fill-padding")}},[e])}var jb=q(ge(),1);function fF(e,t){let n=(0,jb.useRef)(t);n.current=t;let{enabled:r=!0,boundarySelector:i}=t;(0,jb.useEffect)(()=>{if(!r)return;let o=e.current;if(!o)return;let s=o.closest(i);if(!s)return;let a=()=>{let{shiftProperty:h,side:p,gap:b=8,maxShiftFraction:y=1/3,shouldSkip:g}=n.current;if(g?.(s))return;let E=(typeof p=="function"?p(s):p)==="right";o.style.setProperty(h,"0px");let T=o.getBoundingClientRect();if(T.width===0||T.height===0)return;let S=E?T.right-1:T.left+1,v=[T.top+2,T.top+T.height/2,T.bottom-2],x=null;for(let k of v){let A=document.elementsFromPoint(S,k).find(z=>!s.contains(z)&&!z.contains(s));if(!A)continue;let O=A.getBoundingClientRect(),G=E?O.left:O.right;x=x===null?G:E?Math.min(x,G):Math.max(x,G)}if(x===null)return;let N=E?T.right-x+b:x-T.left+b;if(N<=0)return;let D=s.clientWidth*y;o.style.setProperty(h,`${Math.min(N,D)}px`)};a();let l=new ResizeObserver(a);l.observe(s),window.addEventListener("resize",a);let u=s.closest(".bslib-sidebar-layout");u?.addEventListener("transitionend",a);let c=u?new MutationObserver(a):null;c?.observe(u,{attributes:!0,attributeFilter:["class"]});let{watchMutations:f}=n.current,d=f?new MutationObserver(a):null;return d?.observe(s,f),()=>{l.disconnect(),window.removeEventListener("resize",a),u?.removeEventListener("transitionend",a),c?.disconnect(),d?.disconnect()}},[r,i,e])}var st=q(ie(),1),O_=400,dF=240,Nae=360,Rae=24,hF=120;function M_(e){window.open(e,"_blank","noopener,noreferrer")}function kae(e,t,n){let r=t.getBoundingClientRect().width;if(r<=0)return`${O_}px`;let i=/^\s*(\d+(?:\.\d+)?)px\s*$/i.exec(e),o=/^\s*(\d+(?:\.\d+)?)%\s*$/.exec(e),s=i?Number.parseFloat(i[1]):o?r*Number.parseFloat(o[1])/100:NaN;Number.isFinite(s)||(s=n?.getBoundingClientRect().width??NaN),(!Number.isFinite(s)||s<=0)&&(s=O_);let a=Math.max(dF,r-Nae-Rae);return`${Math.round(Math.min(Math.max(s,dF),a))}px`}function Mae(){return(0,st.jsxs)("svg",{"aria-hidden":"true",viewBox:"0 0 16 16",width:"16",height:"16",fill:"currentColor",className:"bi bi-layout-sidebar-inset-reverse",children:[(0,st.jsx)("path",{d:"M2 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1zm12-1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z"}),(0,st.jsx)("path",{d:"M13 4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"})]})}function Oae(e){let n=document.getElementById(e)?.closest("shiny-chat-page");return n?Array.from(n.querySelectorAll("aside.shiny-chat-page-sidebar shiny-chat-history")).some(r=>{if(r.getAttribute("for")!==e)return!1;let i=r.closest(".shiny-chat-page-sidebar-panel");return i===null||!i.hidden}):!1}var pF=12,gF=(0,be.forwardRef)(function({transport:t,messages:n,streamingMessage:r,inputDisabled:i,inputPlaceholder:o,iconAssistant:s,iconSend:a,inputId:l,uploadAccept:u,maxUploadSize:c,elementId:f,greeting:d,restoring:h=!1,cancelId:p,enableCancel:b,enableUpload:y,thinkingShowAfter:g,cancelRequested:E,toolbarEl:T,footerEl:S,slashCommands:v,slashCommandId:x,submitKey:N,historyStore:D,drawer:k,drawerSource:A,onEdit:O,onNavigate:G,siblingNavigationPending:z,showHistory:L},H){let I=(0,be.useMemo)(()=>n.filter($=>$.role==="user").map($=>$.content),[n]),F=(0,be.useMemo)(()=>r?[...n,r]:n,[n,r]),P=(0,be.useRef)(null),U=(0,be.useRef)(null),_=(0,be.useRef)(null),re=(0,be.useRef)(null),ee=(0,be.useRef)(null),C=(0,be.useRef)(!1),ae=(0,be.useRef)(k.visible),ue=(0,be.useRef)(!1),de=(0,be.useRef)(null),Le=(0,be.useRef)(null),ye=(0,be.useRef)(null),[qe,De]=(0,be.useState)(!1),[ke,ce]=(0,be.useState)(k.visible),[oe,Ee]=(0,be.useState)(!1),[Pe,Te]=(0,be.useState)(!1),[ve,me]=(0,be.useState)({centered:!1,greetingOverflows:!1,greetingOffset:0,composerOffset:0}),[vt,Ge]=(0,be.useState)(!1),[Ve,Jt]=(0,be.useState)(!1),[kt,Mt]=(0,be.useState)(!1),Hn=(0,be.useRef)(ve);Hn.current=ve;let[B,K]=(0,be.useState)(`${O_}px`),Q=(0,be.useSyncExternalStore)(D.subscribe,D.getSnapshot,D.getSnapshot),[se,_e]=(0,be.useState)(!1),ut=(0,be.useRef)(null),Z=(0,be.useMemo)(()=>Oae(f),[f]),[we,en]=(0,be.useState)(null),bt=(0,be.useRef)(null);bt.current=we;let{scrollRef:Ze,contentRef:Ft,scrollToBottom:fn,stopScroll:Xr}=Nm({resize:"smooth"}),zh=(0,be.useRef)(null),Uh=(0,be.useRef)(null),PF=(0,be.useCallback)($=>{zh.current=$,Uh.current===null&&Ft($)},[Ft]),[$_,BF]=(0,be.useState)(!0);(0,be.useEffect)(()=>{let $=Ze.current;if(!$)return;let Se=()=>{let Dt=$.scrollHeight-$.scrollTop-$.clientHeight;BF(Dt<=1)};Se(),$.addEventListener("scroll",Se,{passive:!0});let he=new ResizeObserver(Se);he.observe($);let at=()=>{Array.from($.children).forEach(Dt=>he.observe(Dt))};at();let Ot=new MutationObserver(()=>{at(),Se()});return Ot.observe($,{childList:!0}),()=>{$.removeEventListener("scroll",Se),he.disconnect(),Ot.disconnect()}},[Ze]);let is=Cm(),qh=!!r;(0,be.useEffect)(()=>{let $=requestAnimationFrame(()=>Ge(!0));return()=>cancelAnimationFrame($)},[]),(0,be.useEffect)(()=>{if(!ve.centered)return;Jt(!0);let $=window.setTimeout(()=>Jt(!1),300);return()=>window.clearTimeout($)},[ve.centered]),(0,be.useLayoutEffect)(()=>{let $=de.current,Se=ye.current,he=$?.querySelector(".shiny-chat-wrapper"),at=document.getElementById(f)?.closest("shiny-chat-page");if(!$||!Se||!he||!at)return;let Ot,Dt=null,so=!1,pi,fa=mn=>{let Ni=Hn.current;Ni.centered===mn.centered&&Ni.greetingOverflows===mn.greetingOverflows&&Ni.greetingOffset===mn.greetingOffset&&Ni.composerOffset===mn.composerOffset||(Hn.current=mn,me(mn))},Vh=()=>{fa({centered:!1,greetingOverflows:!1,greetingOffset:0,composerOffset:0})},Z_=mn=>{let Ni=getComputedStyle(mn).translate;if(Ni==="none")return 0;let[,Xc]=Ni.split(/\s+/);return Number.parseFloat(Xc??"")||0},jc=()=>{let mn=$.querySelector(".shiny-chat-greeting");if(!mn||n.length>0||d?.status!=="visible"){Vh();return}Ot&&Dt!==mn&&(Dt&&Ot.unobserve(Dt),Ot.observe(mn),Dt=mn);let Ni=he.getBoundingClientRect(),Xc=mn.getBoundingClientRect(),eC=Se.getBoundingClientRect(),tC=Xc.height+pF+eC.height;if(tC>he.clientHeight){let rC=Ze.current;Hn.current.greetingOverflows||(Xr(),rC&&(rC.scrollTop=0)),fa({centered:!1,greetingOverflows:!0,greetingOffset:0,composerOffset:0});return}let nC=Ni.top+(Ni.height-tC)/2,JF=nC+Xc.height+pF;fa({centered:!0,greetingOverflows:!1,greetingOffset:Z_(mn)+nC-Xc.top,composerOffset:Z_(Se)+JF-eC.top})},ZF=()=>{Mt(!0),pi&&window.clearTimeout(pi),pi=window.setTimeout(()=>Mt(!1),hF)};if(typeof ResizeObserver<"u"){Ot=new ResizeObserver(()=>{jc(),so&&ZF(),so=!0}),Ot.observe($),Ot.observe(he),Ot.observe(Se);let mn=$.querySelector(".shiny-chat-footer");mn&&Ot.observe(mn)}let J_=new MutationObserver(jc);return J_.observe($,{childList:!0,subtree:!0}),window.addEventListener("resize",jc),jc(),()=>{pi&&window.clearTimeout(pi),Mt(!1),Ot?.disconnect(),J_.disconnect(),window.removeEventListener("resize",jc)}},[f,d,n.length,Ze,Xr]);let ey=(0,be.useCallback)(()=>{let $=de.current;if(!$||!k.enabled)return;let Se=kae(k.width,$,Le.current);K(he=>he===Se?he:Se)},[k.enabled,k.width]);(0,be.useLayoutEffect)(()=>{ey();let $=de.current;if(!$||!k.enabled||typeof ResizeObserver>"u")return;let Se=!1,he,at=new ResizeObserver(()=>{ey(),Se&&(Te(!0),he&&window.clearTimeout(he),he=window.setTimeout(()=>{he=void 0,Te(!1)},hF)),Se=!0});return at.observe($),Le.current&&at.observe(Le.current),()=>{he&&window.clearTimeout(he),Te(!1),at.disconnect()}},[k.enabled,k.visible,ey]),(0,be.useEffect)(()=>{let $=de.current;if(!$||!k.enabled){De(!1);return}let Se=at=>{De(at"u")return;let he=new ResizeObserver(at=>{let Ot=at[0];Ot&&Se(Ot.contentRect.width)});return he.observe($),()=>he.disconnect()},[k.enabled,k.visible]),(0,be.useLayoutEffect)(()=>{let $=ae.current,Se=ue.current,he=k.enabled&&k.visible,at=he&&!$&&C.current,Ot=he&&qe&&(!$||!Se);if(at)re.current=null,ee.current=null,requestAnimationFrame(()=>U.current?.focus()),se&&_e(!1);else if(Ot){ee.current=null;let Dt=document.activeElement,so=de.current?.querySelector(".shiny-chat-wrapper"),pi=Dt instanceof HTMLElement&&so?.contains(Dt),fa=Dt===ut.current;pi||fa||se?(re.current=pi&&Dt instanceof HTMLElement?Dt:ut.current,requestAnimationFrame(()=>U.current?.focus())):C.current?(re.current=null,requestAnimationFrame(()=>U.current?.focus())):re.current=null,se&&_e(!1)}else if($&&!he){let Dt=C.current;C.current=!1,Dt?requestAnimationFrame(()=>_.current?.focus()):ee.current=re.current,re.current=null}ae.current=he,ue.current=qe},[k.enabled,k.visible,qe,se]),(0,be.useLayoutEffect)(()=>{if(k.visible||ke)return;let $=ee.current;ee.current=null,$?.isConnected&&requestAnimationFrame(()=>{$.isConnected&&$.focus()})},[k.visible,ke]),(0,be.useEffect)(()=>{qe&&k.visible&&se&&_e(!1)},[k.visible,qe,se]);let HF=(0,be.useCallback)(()=>{is({type:"drawer_hide"})},[is]),FF=(0,be.useCallback)(()=>{C.current=!0,is({type:"drawer_toggle"})},[is]),zF=(0,be.useCallback)($=>{is({type:"SET_DRAWER_WIDTH",width:$})},[is]),ty=(0,be.useCallback)(()=>!b||!p||!qh||E?!1:(is({type:"CANCEL_REQUESTED"}),t.sendCancel(p),P.current?.focus(),!0),[b,p,qh,E,is,t]),j_=(0,be.useRef)(ty);j_.current=ty,(0,be.useEffect)(()=>{if(!b&&!se)return;let $=Ze.current?.closest("shiny-chat-container");if(!$)return;let Se=he=>{if(he.key!=="Escape")return;let at=he.target instanceof Node&&document.getElementById(l)?.contains(he.target);if(he.defaultPrevented&&!at){he.stopPropagation();return}se?(_e(!1),he.preventDefault(),he.stopPropagation()):j_.current()&&(he.preventDefault(),he.stopPropagation())};return $.addEventListener("keydown",Se),()=>$.removeEventListener("keydown",Se)},[b,se,l,Ze]),cF(Ze),fF(ut,{enabled:Q.enabled,boundarySelector:"shiny-chat-container",shiftProperty:"--_history-trigger-shift",side:$=>$.getAttribute("data-history-placement")==="right"?"right":"left",shouldSkip:$=>!!$.querySelector(":scope > .shiny-chat-history"),watchMutations:{childList:!0}}),(0,be.useImperativeHandle)(H,()=>({setInputValue(...$){P.current?.setInputValue(...$)},focus(){P.current?.focus()},beginSiblingNavigation(){let $=Ze.current;$&&(Uh.current=$.scrollTop,Ft(null),Xr())},endSiblingNavigation(){let $=Uh.current;$!==null&&requestAnimationFrame(()=>{let Se=zh.current,he=Ze.current;!Se||!he||(Ft(Se),Xr(),he.scrollTop=$,Uh.current=null)})}}));let X_=(0,be.useCallback)($=>{let he=$.target.closest("a[data-shinychat-link]");if(!he||!he.href)return;if($.preventDefault(),he.origin===window.location.origin||window.shinychat_always_open_external_links){M_(he.href);return}if(typeof window.HTMLDialogElement>"u"){M_(he.href);return}en(he.href)},[]);function UF($){if(!($ instanceof HTMLElement))return{};let Se=$.closest(".suggestion, [data-suggestion]");return Se instanceof HTMLElement?Se.classList.contains("suggestion")||Se.dataset.suggestion!==void 0?{suggestion:Se.dataset.suggestion||Se.textContent||void 0,submit:Se.classList.contains("submit")||Se.dataset.suggestionSubmit===""||Se.dataset.suggestionSubmit==="true"}:{}:{}}function Q_($){let{suggestion:Se,submit:he}=UF($.target);if(!Se)return;$.preventDefault();let at=$.metaKey||$.ctrlKey?!0:$.altKey?!1:he;P.current?.setInputValue(Se,{submit:at,focus:!at});let Ot=$.target.closest(".shiny-chat-suggestion-list-item"),Dt=Ot?.closest(".shiny-chat-suggestion-list");Ot&&Dt&&(Dt.querySelectorAll("[data-last-clicked]").forEach(so=>so.removeAttribute("data-last-clicked")),Ot.setAttribute("data-last-clicked",""))}function qF($){Q_($)}function VF($){X_($),qF($)}function GF($){let Se=$.target.closest(".shiny-chat-suggestion-list-item");if(!Se)return;let he=Se.closest(".shiny-chat-suggestion-list");!he||he.dataset.roved!==void 0||(he.dataset.roved="",he.querySelectorAll(".shiny-chat-suggestion-list-item").forEach(at=>{at!==Se&&(at.tabIndex=-1)}))}function KF($){let Se=$.target.closest(".shiny-chat-suggestion-list-item");if(!Se)return;let he=Se.closest(".shiny-chat-suggestion-list");if(!he)return;let at=$.relatedTarget,Ot=at?.closest(".shiny-chat-suggestion-list");(!at||Ot!==he)&&delete he.dataset.roved}function YF($,Se,he){switch(he){case"ArrowDown":case"ArrowRight":return($+1)%Se;case"ArrowUp":case"ArrowLeft":return($-1+Se)%Se;case"Home":return 0;case"End":return Se-1;default:return null}}function WF($){let he=$.target.closest(".shiny-chat-suggestion-list-item"),at=he?.closest(".shiny-chat-suggestion-list");if(he&&at){let Dt=Array.from(at.querySelectorAll(".shiny-chat-suggestion-list-item")),so=Dt.indexOf(he),pi=YF(so,Dt.length,$.key);if(pi!==null){$.preventDefault();let fa=Dt[so],Vh=Dt[pi];fa.tabIndex=-1,Vh.tabIndex=0,Vh.focus();return}}($.key==="Enter"||$.key===" ")&&Q_($)}let ny=(0,be.useCallback)(()=>{let $=bt.current;$&&M_($),en(null)},[]),$F=(0,be.useCallback)(()=>{window.shinychat_always_open_external_links=!0,ny()},[ny]),jF=(0,be.useCallback)(()=>{en(null)},[]),XF=(0,be.useCallback)(()=>{fn()},[fn]),ry=k.content.trim().length>0,iy=qe&&ke,QF=k.enabled&&(k.visible||ke);return(0,be.useLayoutEffect)(()=>{let $=document.getElementById(f);if(!$)return;let Se=[];L&&Q.enabled&&!Z&&Se.push("history"),k.enabled&&!k.visible&&ry&&Se.push("drawer");let he=Se.join(" ");return he?$.dataset.inlineControls=he:delete $.dataset.inlineControls,()=>{$.dataset.inlineControls===he&&delete $.dataset.inlineControls}},[k.enabled,k.visible,ry,Q.enabled,Z,f,L]),(0,st.jsxs)(oT.Provider,{value:v,children:[L&&Q.enabled&&!Z&&(0,st.jsx)("button",{type:"button",ref:ut,className:"shiny-chat-history-trigger","aria-label":"Conversation history","aria-expanded":se,"aria-hidden":iy||void 0,disabled:iy,tabIndex:iy?-1:void 0,onClick:()=>_e($=>!$),children:(0,st.jsx)(aF,{})}),k.enabled&&!k.visible&&ry&&(0,st.jsx)("button",{type:"button",ref:_,className:"shiny-chat-drawer-trigger","aria-label":"Show drawer","aria-controls":`${f}-drawer`,"aria-expanded":!1,title:"Show drawer",onClick:FF,children:(0,st.jsx)(Mae,{})}),(0,st.jsxs)("div",{ref:de,className:"shiny-chat-layout",style:k.enabled||ve.centered?{...k.enabled?{"--_drawer-width":B}:{},"--_greeting-offset":`${ve.greetingOffset}px`,"--_composer-offset":`${ve.composerOffset}px`}:void 0,"data-drawer-open":QF?"":void 0,"data-drawer-takeover":qe&&ke?"":void 0,"data-drawer-resizing":oe||Pe?"":void 0,"data-composer-centered":ve.centered?"":void 0,"data-greeting-overflow":ve.greetingOverflows?"":void 0,"data-composer-motion-ready":vt?"":void 0,"data-composer-revealing":Ve?"":void 0,"data-composer-resizing":kt?"":void 0,children:[(0,st.jsxs)("div",{className:"shiny-chat-wrapper",children:[(0,st.jsxs)("div",{className:"shiny-chat-messages-wrapper",children:[h&&(0,st.jsx)("div",{className:"shiny-chat-restoring",role:"status",children:(0,st.jsx)("span",{children:"Restoring conversation\u2026"})}),(0,st.jsx)("div",{className:"shiny-chat-messages",ref:Ze,onClick:VF,onFocus:GF,onBlur:KF,onKeyDown:WF,children:(0,st.jsxs)(nT.Provider,{value:Xr,children:[d!=null&&d.status!=="held"&&(0,st.jsx)(K8,{greeting:d}),(0,st.jsx)("div",{className:"shiny-chat-messages-content",ref:PF,role:"log","aria-live":"polite",...d?.status==="dismissing"?{"data-greeting-dismissing":""}:{},children:(0,st.jsx)(q8,{messages:F,iconAssistant:s,onEdit:Q.enabled?O:void 0,onNavigate:Q.enabled?G:void 0,siblingNavigationPending:z,disabled:qh,inputId:l,submitKey:N,uploadAccept:u,maxUploadSize:c,enableUpload:y,thinkingShowAfter:g})})]})}),(0,st.jsx)(W8,{isAtBottom:$_,scrollToBottom:fn,streaming:!!r||!!d?.streaming})]}),(0,st.jsxs)("div",{className:"shiny-chat-composer",ref:ye,children:[(0,st.jsx)("div",{className:i?"shiny-chat-input disabled":"shiny-chat-input",onClick:X_,children:(0,st.jsx)(Y8,{ref:P,transport:t,inputId:l,uploadAccept:u,maxUploadSize:c,disabled:i,hasTopShadow:!$_,placeholder:o,onSend:XF,userMessages:I,enableCancel:b,enableUpload:y,cancelRequested:E,isStreaming:qh,onCancel:ty,slashCommands:v,slashCommandId:x,submitKey:N,iconSend:a})}),T&&(0,st.jsx)(A_,{source:T,className:"shiny-chat-input-toolbar"})]})]}),S&&(0,st.jsx)(A_,{source:S,className:"shiny-chat-footer"}),k.enabled&&(0,st.jsx)(iF,{drawer:k,source:A,panelId:`${f}-drawer`,titleId:`${f}-drawer-title`,takeover:qe,closeButtonRef:U,onClose:HF,onWidthChange:zF,onPresentationChange:ce,onResizeStateChange:Ee}),k.enabled&&(0,st.jsx)("div",{ref:Le,"aria-hidden":"true",className:"shiny-chat-drawer-width-probe",style:{width:k.width}})]}),L&&Q.enabled&&!Z&&(0,st.jsx)(sF,{isOpen:se,onClose:()=>_e(!1),triggerRef:ut,children:(0,st.jsx)($b,{conversations:Q.conversations,activeId:Q.activeId,busy:Q.busy,connected:Q.connected,onSelect:D.actions.select,onNew:D.actions.create,onRename:D.actions.rename,onDelete:D.actions.delete,onActionComplete:()=>_e(!1)})}),we&&(0,mF.createPortal)((0,st.jsx)($8,{url:we,onProceed:ny,onAlways:$F,onCancel:jF}),document.body)]})});var Dae=Object.freeze({initialized:!1,enabled:!1,conversations:Object.freeze([]),activeId:null,busy:!1,connected:!1}),D_=class{constructor(t){this.elementId=t}snapshot=Dae;listeners=new Set;transport=null;actions={select:t=>{let n=this.activeTransport();n&&!this.snapshot.busy&&n.sendHistorySelect(this.elementId,t)},create:()=>{let t=this.activeTransport();t&&!this.snapshot.busy&&t.sendHistoryNew(this.elementId)},rename:(t,n)=>{this.activeTransport()?.sendHistoryRename(this.elementId,t,n)},delete:t=>{let n=this.activeTransport();n&&!this.snapshot.busy&&n.sendHistoryDelete(this.elementId,t)}};getSnapshot=()=>this.snapshot;subscribe=t=>(Iae(this.elementId,this),this.listeners.add(t),()=>{this.listeners.delete(t),yF(this.elementId,this)});setTransport(t){this.transport=t,this.publish({...this.snapshot,connected:t!==null})}updateHistory({enabled:t,conversations:n,activeId:r}){let i=Lae(this.snapshot.conversations,n)?this.snapshot.conversations:Object.freeze(n.map(o=>({...o})));this.publish({initialized:!0,enabled:t,conversations:i,activeId:r,busy:this.snapshot.busy,connected:this.snapshot.connected})}setBusy(t){this.publish({...this.snapshot,busy:t})}get listenerCount(){return this.listeners.size}activeTransport(){return this.snapshot.connected?this.transport:null}publish(t){if(!Pae(this.snapshot,t)){this.snapshot=Object.freeze(t);for(let n of this.listeners)n()}}},ca=new Map;function Ol(e){let t=ca.get(e);return t||(t={store:new D_(e),owners:new Map,cleanupGeneration:0},ca.set(e,t)),t.store}function bF(e,t){let n=Ol(e),r=ca.get(e),i=r.owners.values().next().value;if(i&&i!==t)throw new Error(`History store for "${e}" is already owned by a different ChatTransport.`);r.cleanupGeneration+=1;let o=Symbol(e);r.owners.set(o,t),r.store.setTransport(t);let s=!1;return{store:n,release(){if(s)return;s=!0;let a=ca.get(e);if(!a||a.store!==r.store)return;a.owners.delete(o);let l=a.owners.values().next().value;a.store.setTransport(l??null),yF(e,a.store)}}}function yF(e,t){let n=ca.get(e);if(!n||n.store!==t||n.owners.size!==0||t.listenerCount!==0)return;let r=++n.cleanupGeneration;queueMicrotask(()=>{let i=ca.get(e);i?.store===t&&i.cleanupGeneration===r&&i.owners.size===0&&t.listenerCount===0&&ca.delete(e)})}function Iae(e,t){let n=ca.get(e);n?.store===t&&(n.cleanupGeneration+=1)}function Lae(e,t){return e.length===t.length&&e.every((n,r)=>n.id===t[r]?.id&&n.title===t[r]?.title&&n.created_at===t[r]?.created_at&&n.updated_at===t[r]?.updated_at)}function Pae(e,t){return e.initialized===t.initialized&&e.enabled===t.enabled&&e.conversations===t.conversations&&e.activeId===t.activeId&&e.busy===t.busy&&e.connected===t.connected}var Dl=q(ie(),1);function Bae(e,t,n=!1){let r=e.options.persistent===!0,i=n?"held":!r&&t>0?"dismissed":"visible";return{content:e.content,contentType:e.contentType,streaming:!1,status:i,options:e.options,blocks:[{type:"content",content:e.content,contentType:e.contentType}]}}function I_({transport:e,shinyLifecycle:t,elementId:n,iconAssistant:r,iconSend:i,inputId:o,cancelId:s,uploadAccept:a=[],maxUploadSize:l=null,placeholder:u,initialMessages:c,initialGreeting:f,restorePending:d=!1,initialDrawer:h,drawerSource:p,enableCancel:b,enableUpload:y,asideFavicon:g=!0,showHistory:E=!0,toolGrouping:T,thinkingShowAfter:S=0,toolbarEl:v,footerEl:x,slashCommandId:N="",submitKey:D}){let k=T??Bi.toolGrouping,A=(0,ht.useMemo)(()=>(c??[]).map(ce=>{let oe=ce.blocks.flatMap(Ee=>Ee.type==="content"?_m(Ee.content,Ee.contentType):[Ee]);return{...ce,blocks:oe,content:nd(oe)}}),[c]),[O,G]=(0,ht.useReducer)(tT,{...Bi,inputPlaceholder:u??Bi.inputPlaceholder,messages:A,greeting:f?Bae(f,A.length,d):null,enableCancel:b??Bi.enableCancel,enableCancelExplicit:b!==void 0,enableUpload:y??Bi.enableUpload,enableUploadExplicit:y!==void 0,toolGrouping:k,drawer:h??Bi.drawer});(0,ht.useEffect)(()=>{G({type:"SET_TOOL_GROUPING",grouping:k})},[k]);let z=(0,ht.useMemo)(()=>Ol(n),[n]);(0,ht.useEffect)(()=>bF(n,e).release,[n,z,e]);let L=(0,ht.useRef)(null),H=(0,ht.useRef)(!1),[I,F]=(0,ht.useState)(!1);(0,ht.useEffect)(()=>e.onMessage(n,oe=>{if(oe.type==="history_navigate"){cT(n,oe.active_id),fM(oe.url,oe.reload===!0);return}if(oe.type==="update_input"){oe.placeholder!==void 0&&G({type:"update_input",placeholder:oe.placeholder}),oe.value!==void 0||oe.attachments!==void 0?L.current?.setInputValue(oe.value,{submit:oe.submit,focus:oe.focus,attachments:oe.attachments,attachmentMode:oe.attachment_mode}):oe.focus&&L.current?.focus();return}if(oe.type==="history_update"){z.updateHistory({enabled:oe.enabled,conversations:oe.conversations,activeId:oe.active_id}),G({type:"greeting_settle",restored:oe.active_id!=null}),oe.enabled&&cT(n,oe.active_id),H.current&&(H.current=!1,F(!1),L.current?.endSiblingNavigation());return}G(oe)}),[e,n,z]);let[P,U]=(0,ht.useState)(!1);(0,ht.useEffect)(()=>{if(!n)return;let ce=document.getElementById(n);if(!ce)return;if(typeof IntersectionObserver>"u"){U(!0);return}let oe=new IntersectionObserver(Ee=>U(Ee[0]?.isIntersecting??!1),{threshold:0});return oe.observe(ce),()=>oe.disconnect()},[n]);let _=P&&O.messages.length===0&&O.greeting===null,re=(0,ht.useRef)(!1);(0,ht.useEffect)(()=>{if(!_){re.current=!1;return}re.current||window.Shiny?.setInputValue&&(re.current=!0,window.Shiny.setInputValue(`${n}_greeting_requested`,Date.now(),{priority:"event"}))},[_,n]);let ee=O.greeting?.status==="held";(0,ht.useEffect)(()=>{if(!ee)return;let ce=setTimeout(()=>G({type:"greeting_settle",restored:!1}),15e3);return()=>clearTimeout(ce)},[ee]);let[C,ae]=(0,ht.useState)(!1);(0,ht.useEffect)(()=>{if(!ee){ae(!1);return}let ce=setTimeout(()=>ae(!0),500);return()=>clearTimeout(ce)},[ee]);let ue=O.greeting?.status==="dismissed",de=(0,ht.useRef)(!1);(0,ht.useEffect)(()=>{window.Shiny?.setInputValue&&(ue&&!de.current?(de.current=!0,window.Shiny.setInputValue(`${n}_greeting_dismissed`,Date.now(),{priority:"event"})):!ue&&de.current&&(de.current=!1,window.Shiny.setInputValue(`${n}_greeting_dismissed`,null)))},[ue,n]),(0,ht.useLayoutEffect)(()=>{z.setBusy(O.streamingMessage!==null)},[z,O.streamingMessage]);let Le=(0,ht.useCallback)((ce,oe,Ee)=>{e.sendMessageEdit(n,ce,oe,Ee)},[e,n]),ye=(0,ht.useCallback)((ce,oe)=>{H.current||(H.current=!0,F(!0),L.current?.beginSiblingNavigation(),e.sendMessageNavigate(n,ce,oe))},[e,n]),qe=dM(O.messages,O.streamingMessage),De=hM(O.messages,O.streamingMessage),ke=(0,ht.useMemo)(()=>({supersededRequests:qe,requestDefinitionIcons:De}),[qe,De]);return(0,Dl.jsx)(Tr.Provider,{value:t,children:(0,Dl.jsx)(rT.Provider,{value:ke,children:(0,Dl.jsx)(iT.Provider,{value:O.toolGrouping,children:(0,Dl.jsx)(rd.Provider,{value:G,children:(0,Dl.jsx)(sT.Provider,{value:g,children:(0,Dl.jsx)(gF,{ref:L,transport:e,messages:O.messages,streamingMessage:O.streamingMessage,inputDisabled:O.inputDisabled,inputPlaceholder:O.inputPlaceholder,iconAssistant:r,iconSend:i,inputId:o,uploadAccept:a,maxUploadSize:l,elementId:n,greeting:O.greeting,restoring:ee&&C,cancelId:s,enableCancel:O.enableCancel,enableUpload:O.enableUpload,thinkingShowAfter:S,cancelRequested:O.cancelRequested,toolbarEl:v,footerEl:x,slashCommands:O.slashCommands,slashCommandId:N,submitKey:D,historyStore:z,onEdit:Le,onNavigate:ye,siblingNavigationPending:I,showHistory:E,drawer:O.drawer,drawerSource:p})})})})})})}function EF(e){if(!e||typeof e!="object")return!1;let t=e;return!(typeof t.id!="string"||!t.action||typeof t.action!="object"||typeof t.action.type!="string")}function Yc(){return window.__shinyChatTransport||(window.__shinyChatTransport=new L_),window.__shinyChatTransport}var L_=class{listeners=new Map;pendingMessages=new Map;inputSeq=0;constructor(){window.Shiny?.addCustomMessageHandler("shinyChatMessage",async t=>{if(!EF(t)){console.warn("[shinychat] Malformed shinyChatMessage envelope, dropping:",JSON.stringify(t));return}let{id:n,action:r,html_deps:i}=t;i&&Array.isArray(i)&&(r.type==="drawer_show"||r.type==="drawer_update"?r.html_deps=i:(await this.renderDependencies(i),(r.type==="message"||r.type==="chunk_start"||r.type==="chunk")&&(r.html_deps=i)));let o=this.listeners.get(n);if(!o||o.size===0){this.pendingMessages.has(n)||this.pendingMessages.set(n,[]),this.pendingMessages.get(n).push(r);return}for(let s of o)s(r)})}sendInput(t,n){if(!window.Shiny?.setInputValue)return;let r=typeof n=="string"?{text:n,attachments:[]}:n;this.inputSeq+=1,window.Shiny.setInputValue(`${t}:shinychat.userInput`,{...r,seq:this.inputSeq})}sendCancel(t){window.Shiny?.setInputValue&&window.Shiny.setInputValue(t,Date.now(),{priority:"event"})}sendSlashCommand(t,n,r,i){window.Shiny?.setInputValue&&window.Shiny.setInputValue(t,{command:n,userText:r,echo:i},{priority:"event"})}sendHistorySelect(t,n){window.Shiny?.setInputValue&&window.Shiny.setInputValue(`${t}_history_select`,{id:n,ts:Date.now()},{priority:"event"})}sendHistoryNew(t){window.Shiny?.setInputValue&&window.Shiny.setInputValue(`${t}_history_new`,Date.now(),{priority:"event"})}sendHistoryRename(t,n,r){window.Shiny?.setInputValue&&window.Shiny.setInputValue(`${t}_history_rename`,{id:n,title:r,ts:Date.now()},{priority:"event"})}sendHistoryDelete(t,n){window.Shiny?.setInputValue&&window.Shiny.setInputValue(`${t}_history_delete`,{id:n,ts:Date.now()},{priority:"event"})}sendMessageEdit(t,n,r,i=[]){window.Shiny?.setInputValue?.(`${t}_message_edit`,{index:n,content:r,attachments:i,ts:Date.now()})}sendMessageNavigate(t,n,r){window.Shiny?.setInputValue?.(`${t}_message_navigate`,{index:n,direction:r,ts:Date.now()})}onMessage(t,n){this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(n);let r=this.pendingMessages.get(t);if(r&&r.length>0){this.pendingMessages.delete(t);for(let i of r)n(i)}return()=>{this.listeners.get(t)?.delete(n)}}async renderDependencies(t){if(window.Shiny&&t)try{await window.Shiny.renderDependenciesAsync(t)}catch(n){this.showClientMessage({status:"error",message:`Failed to render HTML dependencies: ${n}`})}}async bindAll(t){if(window?.Shiny?.initializeInputs&&window?.Shiny?.bindAll){try{window.Shiny.initializeInputs(t)}catch(n){this.showClientMessage({status:"error",message:`Failed to initialize Shiny inputs: ${n}`})}try{await window.Shiny.bindAll(t)}catch(n){this.showClientMessage({status:"error",message:`Failed to bind Shiny inputs/outputs: ${n}`})}}}unbindAll(t){if(window?.Shiny?.unbindAll)try{window.Shiny.unbindAll(t)}catch(n){this.showClientMessage({status:"error",message:`Failed to unbind Shiny inputs/outputs: ${n}`})}}showClientMessage(t){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:t.headline??"",message:t.message,status:t.status??"warning"}}))}};function Xb(e,t){let n;try{n=JSON.parse(e)}catch{return console.warn(`Ignoring malformed ${t}: not valid JSON`),null}return Array.isArray(n)?n:(console.warn(`Ignoring malformed ${t}: expected a JSON array`),null)}var Wc=class{pending=null;cancel(){this.pending!==null&&(clearTimeout(this.pending),this.pending=null)}schedule(t){this.pending=setTimeout(()=>{this.pending=null,t()},0)}};var Qb=Yc(),TF="shinychat-browser-token",P_=null;function Hae(){try{let e=window.localStorage.getItem(TF);return e||(e=zn(),window.localStorage.setItem(TF,e)),e}catch{return P_||(P_=zn()),P_}}var Fae="shiny-chat-input",zae="shiny-chat-message",Uae="shiny-chat-input-toolbar",qae="shiny-chat-footer",Vae="shiny-chat-drawer",Gae=60;function Kae(e,t){let n=Xb(e,"data-initial-messages attribute");if(n===null)return null;let r=[];for(let i of n){if(typeof i!="object"||i===null||!Array.isArray(i.segments)){console.warn("Skipping malformed entry in data-initial-messages: expected an object with a segments array");continue}r.push(td(i,t))}return r}function Yae(e,t){let n=e.getAttribute("data-initial-messages");if(n!==null){let o=Kae(n,t);if(o)return o}let r=e.querySelectorAll(zae),i=[];return r.forEach(o=>{let s=o.getAttribute("content")??"",a=o.getAttribute("data-role")??"assistant",l=o.getAttribute("content-type")??"markdown",u=o.getAttribute("icon")??void 0;i.push(td({role:a,icon:u,segments:[{content:s,content_type:l}]},t))}),i}function Wae(e){let t=e.getAttribute("greeting");if(t)try{let n=JSON.parse(t);return n.content?{content:n.content,contentType:n.content_type??"markdown",options:n.options??{}}:void 0}catch{return}}function $ae(e){let t=e.querySelector(Vae);if(!t)return;let n=t.getAttribute("title");return{state:{enabled:!0,visible:t.hasAttribute("open")&&t.getAttribute("open")?.toLowerCase()!=="false",title:n||null,content:t.innerHTML,htmlDeps:[],width:t.getAttribute("width")||"400px",resizable:t.getAttribute("resizable")?.toLowerCase()!=="false"},source:t}}function SF(e){return e==="none"||e==="tool"||e==="all"?e:void 0}function xF(e){if(e===null)return 0;let t=Number(e);return Number.isFinite(t)?Math.min(t,Gae):0}var H_=class extends HTMLElement{reactRoot=null;toolbarEl=null;footerEl=null;drawerEl=null;deferredTeardown=new Wc;appProps=null;static observedAttributes=["show-thinking-after-s","tool-grouping","show-history"];connectedCallback(){if(this.deferredTeardown.cancel(),this.reactRoot)return;let t=this.getAttribute("id")??"",n=this.getAttribute("icon-assistant")??void 0,r=this.getAttribute("icon-send")??void 0,i=this.getAttribute("aside-favicon")!=="false",o=this.getAttribute("enable-cancel"),s=o===null?void 0:o!=="false",a=this.getAttribute("allow-attachments"),l=a===null?void 0:a!=="false",u=SF(this.getAttribute("tool-grouping")),c=xF(this.getAttribute("show-thinking-after-s")),f=this.getAttribute("show-history")!=="false",d=f&&(uT(t)!=null||lT()!=null),h=this.querySelector(Fae),p=h?.getAttribute("placeholder")??void 0,b=h?.getAttribute("id")??`${t}_user_input`,y=`${t}_cancel`,g=this.getAttribute("attachment-accept"),E=g?g.split(",").map(G=>G.trim()):bB,T=this.getAttribute("max-attachment-size"),S=T?parseInt(T,10):NaN,v=Number.isFinite(S)?S:null,x=Yae(this,u),N=$ae(this);this.toolbarEl||(this.toolbarEl=this.querySelector(Uae)),this.footerEl||(this.footerEl=this.querySelector(qae)),!this.drawerEl&&N&&(this.drawerEl=N.source);let D=Wae(this),A=this.getAttribute("submit-key")==="enter+modifier"?"enter+modifier":"enter",O=`${t}_slash_command`;Qb.unbindAll(this),this.toolbarEl?.remove(),this.footerEl?.remove(),this.drawerEl?.remove(),window.Shiny?.initializedPromise.then(()=>{window.Shiny?.setInputValue?.(`${t}_history_browser_token`,Hae()),window.Shiny?.setInputValue?.(`${t}_history_current_id`,uT(t)??""),window.Shiny?.setInputValue?.(`${t}_history_url_id`,lT()??"")}),this.appProps={transport:Qb,shinyLifecycle:Qb,elementId:t,iconAssistant:n,iconSend:r,inputId:b,cancelId:y,uploadAccept:E,maxUploadSize:v,placeholder:p,initialMessages:x,initialGreeting:D,initialDrawer:N?.state,drawerSource:this.drawerEl??void 0,enableCancel:s,enableUpload:l,asideFavicon:i,showHistory:f,restorePending:d,toolGrouping:u,thinkingShowAfter:c,toolbarEl:this.toolbarEl??void 0,footerEl:this.footerEl??void 0,slashCommandId:O,submitKey:A},this.reactRoot=(0,vF.createRoot)(this),this.reactRoot.render((0,B_.createElement)(I_,this.appProps))}attributeChangedCallback(t,n,r){if(!(!this.reactRoot||!this.appProps)){if(t==="show-thinking-after-s")this.appProps={...this.appProps,thinkingShowAfter:xF(r)};else if(t==="tool-grouping")this.appProps={...this.appProps,toolGrouping:SF(r)};else if(t==="show-history")this.appProps={...this.appProps,showHistory:r!=="false"};else return;this.reactRoot.render((0,B_.createElement)(I_,this.appProps))}}disconnectedCallback(){this.deferredTeardown.schedule(()=>{Qb.unbindAll(this),this.reactRoot?.unmount(),this.reactRoot=null})}};customElements.get("shiny-chat-container")||customElements.define("shiny-chat-container",H_);var $c=q(ge(),1),AF=q(Jf(),1);function jae({elementId:e}){let t=Ol(e),n=(0,$c.useSyncExternalStore)(t.subscribe,t.getSnapshot,t.getSnapshot);return!n.initialized||!n.enabled?null:(0,$c.createElement)("div",{className:"shiny-chat-history shiny-chat-history-inline",role:"region","aria-label":"Conversation history"},(0,$c.createElement)($b,{conversations:n.conversations,activeId:n.activeId,busy:n.busy,connected:n.connected,onSelect:t.actions.select,onNew:t.actions.create,onRename:t.actions.rename,onDelete:t.actions.delete}))}var F_=class extends HTMLElement{reactRoot=null;pendingUnmount=null;static observedAttributes=["for"];connectedCallback(){this.pendingUnmount!==null&&(clearTimeout(this.pendingUnmount),this.pendingUnmount=null),this.renderHistory()}attributeChangedCallback(){this.isConnected&&this.renderHistory()}disconnectedCallback(){this.pendingUnmount=setTimeout(()=>{this.reactRoot?.unmount(),this.reactRoot=null,this.pendingUnmount=null},0)}renderHistory(){let t=this.getAttribute("for")?.trim();if(!t){this.dataset.historyError="missing-for",this.reactRoot?.unmount(),this.reactRoot=null;return}delete this.dataset.historyError,this.reactRoot||(this.reactRoot=(0,AF.createRoot)(this)),this.reactRoot.render((0,$c.createElement)(jae,{elementId:t,key:t}))}};customElements.get("shiny-chat-history")||customElements.define("shiny-chat-history",F_);var NF=q(Jf(),1),q_=q(ge(),1);var zt=q(ge(),1);var fr=q(ge(),1);function _F({streaming:e,contentDependency:t,bottomTolerance:n=10,scrollOnContentChange:r=!1}){let i=(0,fr.useRef)(null),[o,s]=(0,fr.useState)(!0),a=(0,fr.useRef)(0),l=(0,fr.useCallback)(()=>{let b=i.current;if(!b)return;let{scrollTop:y,scrollHeight:g,clientHeight:E}=b,T=y+E>=g-n,S=y{u.current()}),f=(0,fr.useCallback)(b=>{i.current&&i.current.removeEventListener("scroll",c.current),i.current=b,b&&(a.current=b.scrollTop,b.addEventListener("scroll",c.current,{passive:!0}))},[]);(0,fr.useEffect)(()=>{(e||r)&&o&&i.current&&i.current.scrollTo({top:i.current.scrollHeight,behavior:"smooth"})},[e,o,t,r]);let d=(0,fr.useCallback)(()=>{s(!0),i.current?.scrollTo({top:i.current.scrollHeight,behavior:"smooth"})},[]),h=(0,fr.useCallback)(()=>{s(!0)},[]),p=(0,fr.useCallback)(()=>{let b=i.current;if(!b)return;let{scrollTop:y,scrollHeight:g,clientHeight:E}=b;y+E>=g-n&&s(!0)},[n]);return{containerRef:f,stickToBottom:o,scrollToBottom:d,engageStickToBottom:h,repinIfAtBottom:p}}function CF(e,t){let n=e.parentElement,r=t?.toLowerCase();for(;n&&!(r&&n.tagName.toLowerCase()===r);){let i=getComputedStyle(n),o=i.overflowY!=="hidden"&&i.overflowY!=="clip",s=n.scrollHeight>n.clientHeight;if(o&&s)return n;n=n.parentElement}return null}var Bh=q(ie(),1),Xae="shiny-chat-container";function z_(e){return"type"in e}function Zb(e){return!z_(e)&&e.text.trim()===""}function wF({initialContent:e="",initialSegments:t,initialContentType:n="markdown",initialStreaming:r=!1,initialTrusted:i=!1,autoScroll:o=!1,onApiReady:s}){let[a,l]=(0,zt.useState)(t??[{text:e,trusted:i}]),[u,c]=(0,zt.useState)(n),[f,d]=(0,zt.useState)(r),h=(0,zt.useRef)(null),p=(0,zt.useRef)(null),[b,y]=(0,zt.useState)(0),g=(0,zt.useCallback)(()=>{y(O=>O+1)},[]),E=(0,zt.useMemo)(()=>[a,b],[a,b]),{containerRef:T,scrollToBottom:S,repinIfAtBottom:v}=_F({streaming:o&&f,contentDependency:E});(0,zt.useLayoutEffect)(()=>{if(!o||!h.current){p.current&&(T(null),p.current=null);return}let O=CF(h.current,Xae);O!==p.current&&(T(O),p.current=O)},[o,a,b,T]),(0,zt.useEffect)(()=>()=>{p.current&&(T(null),p.current=null)},[T]),(0,zt.useEffect)(()=>{f&&o&&S()},[f,o,S]);let x=(0,zt.useCallback)((O,G=!1,z=!1)=>{v(),l(L=>{let H=L[L.length-1];return!z&&H&&!z_(H)&&H.trusted===G?[...L.slice(0,-1),{...H,text:H.text+O}]:[...L,{text:O,trusted:G}]})},[v]),N=(0,zt.useCallback)(O=>{v(),l(G=>O.type==="html_block"?[...G,O]:Is(G,O,Zb))},[v]),D=(0,zt.useCallback)((O,G=!1)=>{l([{text:O,trusted:G}])},[]),k=(0,zt.useCallback)(O=>{v(),l(O.type==="html_block"?[O]:Is([],O,Zb))},[v]),A=(0,zt.useMemo)(()=>({appendContent:x,appendBlock:N,replaceContent:D,replaceWithBlock:k,setStreaming:d,setContentType:c}),[x,N,D,k]);return(0,zt.useEffect)(()=>{s?.(A)},[A,s]),(0,Bh.jsx)("div",{ref:h,children:a.map((O,G)=>z_(O)?O.type==="web_activity"?(0,Bh.jsx)(B0,{items:O.items},G):(0,Bh.jsx)(H0,{content:O.content,htmlDeps:O.htmlDeps,onMounted:g},G):(0,Bh.jsx)(Xt,{content:O.text,contentType:u,streaming:f&&G===a.length-1,tagToComponentMap:O.trusted?Xs:Tc},G))})}var V_=Yc();function RF(e){return"isStreaming"in e}var G_=class extends HTMLElement{reactRoot=null;api=null;pendingMessages=[];deferredTeardown=new Wc;connectedCallback(){if(this.deferredTeardown.cancel(),this.reactRoot)return;this.reactRoot=(0,NF.createRoot)(this);let t=this.getAttribute("content")??"",n=Qae(this,t),r=this.getAttribute("content-type")??"markdown",i=U_(this,"streaming"),o=U_(this,"content-trusted"),s=U_(this,"auto-scroll");this.reactRoot.render((0,q_.createElement)(Tr.Provider,{value:V_},(0,q_.createElement)(wF,{initialContent:t,initialSegments:n,initialContentType:r,initialStreaming:i,initialTrusted:o,autoScroll:s,onApiReady:a=>{this.api=a;for(let l of this.pendingMessages)this.dispatchMessage(l);this.pendingMessages=[]}})))}disconnectedCallback(){this.deferredTeardown.schedule(()=>{this.reactRoot?.unmount(),this.reactRoot=null,this.api=null,this.pendingMessages=[]})}handleMessage(t){if(!this.api){this.pendingMessages.push(t);return}this.dispatchMessage(t)}dispatchMessage(t){if(RF(t)){this.api.setStreaming(t.isStreaming);return}if(t.block!==void 0){let r=kF(t.block);if(!r)return;t.operation==="replace"?this.api.replaceWithBlock(r):this.api.appendBlock(r);return}let n=t.content??"";t.operation==="replace"?this.api.replaceContent(n,t.trusted===!0):t.operation==="append"&&this.api.appendContent(n,t.trusted===!0,t.segment_start===!0)}};function kF(e){if(wu(e))return ed(e);if(e.type==="html_block"){let t=Nu(e);return t?Ru(t):null}return console.warn(`Ignoring unsupported structured block in a markdown stream: ${String(e.type)}`),null}function Qae(e,t){let n=e.getAttribute("content-segments");if(n===null)return;let r=Xb(n,"content-segments attribute");if(r===null)return[{text:t,trusted:!1}];let i=[];for(let o of r){if(Zae(o)){i.push(o);continue}if(Jae(o)){let s=kF(o.block);if(s){i=s.type==="html_block"?[...i,s]:Is(i,s,Zb);continue}}return[{text:t,trusted:!1}]}return i}function Zae(e){return typeof e=="object"&&e!==null&&typeof e.text=="string"&&typeof e.trusted=="boolean"}function Jae(e){return typeof e=="object"&&e!==null&&typeof e.block=="object"&&e.block!==null}function ele(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function U_(e,t){let n=e.getAttribute(t);if(n===""||n==="true")return!0;if(n==="false")return!1;let r=ele(t),i=e[r];return i===!0||i==="true"}customElements.get("shiny-markdown-stream")||customElements.define("shiny-markdown-stream",G_);window.Shiny?.addCustomMessageHandler("shinyMarkdownStreamMessage",async e=>{let t=document.getElementById(e.id);if(!t){V_.showClientMessage({status:"error",message:`Unable to handle MarkdownStream() message since element with id ${e.id} wasn't found.`});return}!RF(e)&&e.html_deps&&await V_.renderDependencies(e.html_deps),t.handleMessage(e)});var tle="(max-width: 799px)",dr="__home__",Y_="shiny-chat-page:change",nle=".shiny-chat-page-panel",rle=".shiny-chat-page-sidebar-panel",ile=["open","width","resizable"],K_="default",Hh=150,ole=360,sle=180,MF="--shiny-chat-page-toast-offset",Fh=8,ale=["a[href]","area[href]","button:not([disabled])","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","iframe","object","embed","audio[controls]","video[controls]","summary","[contenteditable]:not([contenteditable='false'])","[tabindex]:not([tabindex='-1'])"].join(","),OF="shiny-change-tab-visibility",DF=!1;function lle(){DF||!window.Shiny?.inputBindings||(window.Shiny.inputBindings.register(new W_,"shinychat.chatPage"),DF=!0)}var IF=!1;function ule(){IF||!window.jQuery||(window.jQuery(document).on("shiny:message",e=>{let t=e.message,n=t?.[OF];if(!n||typeof n!="object")return;let{inputId:r,target:i,type:o}=n;if(typeof r!="string"||typeof i!="string"||o!=="hide"&&o!=="show")return;let s=document.getElementById(r);s instanceof Jb&&(delete t[OF],o==="hide"?s.navHide(i):s.navShow(i))}),IF=!0)}function cle(e){return e==="open"||e==="closed"||e==="always"||e==="auto"?e:"auto"}function LF(e,t){return Array.from(e.children).filter(n=>n.matches(t))}function fle(e,t){if(e.hidden||e.matches(":disabled")||e.getAttribute("aria-disabled")==="true"||e.closest("[hidden], [inert], [aria-hidden='true']"))return!1;let n=e.closest("details:not([open])");if(n&&n.querySelector(":scope > summary")!==e)return!1;for(let r=e;r&&t.contains(r);r=r.parentElement){let i=window.getComputedStyle(r);if(i.display==="none"||i.visibility==="hidden")return!1;if(r===t)break}return!0}var Jb=class e extends HTMLElement{static toastOffsetOwner=null;initialized=!1;mobile=!1;layoutInitialized=!1;mediaQuery=null;cleanupListeners=[];toggle=null;identity=null;identityTooltip=null;identityTitleObserver=null;identityTitle=null;mobileHomeLink=null;identityReturnLabel="Return to chat";header=null;controls=null;toolbarScoped=null;toolbarGlobal=null;toolbarSources=new Map;activeToolbarSource=null;desktopMount=null;mobileMount=null;body=null;aside=null;closeButton=null;resizeHandle=null;sections=[];navButtons=[];sidebarPanels=[];sidebarStates=new Map;scrim=null;historyUnsubscribe=null;sidebarMutationObserver=null;historyAutoDecided=!1;resizingSidebarKey=null;sidebarMotionFrame=null;sidebarMotionTimer=null;connectedCallback(){if(this.initialized||(lle(),ule(),!this.captureDom()))return;this.initialized=!0,this.initializeIdentityTooltip(),this.bindInteractions(),this.bindMediaQuery(),this.bindResizeObserver();let t=this.dataset.activePage||dr;this.selectPage(t,!1)||this.selectPage(dr,!1),this.bindHistoryAutoOpen(),this.sidebarMotionFrame=window.requestAnimationFrame(()=>{this.sidebarMotionFrame=null,this.setAttribute("data-sidebar-motion-ready","")})}disconnectedCallback(){this.identityTooltip?.dispose(),this.identityTooltip=null,this.identityTitleObserver?.disconnect(),this.identityTitleObserver=null,this.historyUnsubscribe?.(),this.historyUnsubscribe=null,this.cleanupListeners.splice(0).forEach(t=>t()),this.closeMobileMenu(!1),this.removeScrim(),this.cancelSidebarMotion(),this.mediaQuery=null,this.layoutInitialized=!1,this.initialized=!1,e.toastOffsetOwner===this&&(document.documentElement.style.removeProperty(MF),e.toastOffsetOwner=null)}captureDom(){delete this.dataset.pageError;let t=this.querySelectorAll(".shiny-chat-page-controls"),n=this.querySelectorAll(".shiny-chat-page-controls-mount-desktop"),r=this.querySelectorAll(".shiny-chat-page-controls-mount-mobile"),i=this.querySelectorAll(".shiny-chat-page-sidebar"),o=this.querySelectorAll(".shiny-chat-page-body"),s=this.querySelectorAll(".shiny-chat-page-main"),a=this.querySelectorAll(".shiny-chat-page-header"),l=this.querySelectorAll("button.shiny-chat-page-sidebar-toggle"),u=[];t.length!==1&&u.push("controls"),n.length!==1&&u.push("desktop-mount"),r.length!==1&&u.push("mobile-mount"),i.length!==1&&u.push("sidebar"),o.length!==1&&u.push("body"),s.length!==1&&u.push("main"),a.length!==1&&u.push("header"),l.length!==1&&u.push("sidebar-toggle");let c=s[0],f=c?LF(c,nle):[];return f.filter(d=>d.dataset.pageValue===dr).length!==1&&u.push("home-panel"),u.length>0?(this.dataset.pageError=`invalid-dom:${u.join(",")}`,!1):(this.controls=t[0],this.header=a[0],this.toolbarScoped=this.controls.querySelector(".shiny-chat-page-toolbar-scoped"),this.toolbarGlobal=this.controls.querySelector(".shiny-chat-page-toolbar-global"),this.desktopMount=n[0],this.mobileMount=r[0],this.body=o[0],this.aside=i[0],this.toggle=l[0],this.closeButton=this.captureCloseButton(),this.resizeHandle=this.captureResizeHandle(),this.identity=this.querySelector("button.shiny-chat-page-identity[data-page-home]"),this.identityTitle=this.identity?.querySelector(".shiny-chat-page-identity-title")??null,this.captureMobileHomeLink(),this.identityReturnLabel=this.identity?.getAttribute("aria-label")?.trim()||"Return to chat",this.sections=f,this.navButtons=Array.from(this.controls.querySelectorAll("button.shiny-chat-page-nav-link[data-page-target]:not(.shiny-chat-page-home-link)")),this.captureToolbarSources(),this.sidebarPanels=LF(this.aside,rle),this.captureSidebarStates(),this.querySelectorAll(".shiny-chat-page-sidebar-scrim").forEach(d=>d.remove()),!0)}captureToolbarSources(){this.toolbarSources.clear(),this.querySelectorAll(".shiny-chat-page-toolbar-source[data-page-toolbar-source]").forEach(t=>{let n=t.dataset.pageToolbarSource?.trim();!n||this.toolbarSources.has(n)||this.toolbarSources.set(n,t)})}captureSidebarStates(){this.sidebarPanels.forEach(t=>{let n=t.dataset.sidebarFor?.trim();if(!n||this.sidebarStates.has(n))return;let r=cle(t.dataset.sidebarOpen);this.sidebarStates.set(n,{key:n,openMode:r,open:r==="open"||r==="always"||r==="auto"&&n!==K_,width:t.dataset.sidebarWidth?.trim()||"280px",resizable:t.dataset.sidebarResizable!=="false"})})}bindInteractions(){if(!this.toggle)return;this.listen(this.toggle,"click",()=>{if(this.toggle?.disabled)return;if(this.mobile){this.hasAttribute("data-mobile-menu-open")?this.closeMobileMenu():this.openMobileMenu();return}let r=this.activeSidebarState();!r||r.openMode==="always"||(r.key===K_&&r.openMode==="auto"&&!this.historyAutoDecided&&this.cancelHistoryAutoOpen(),r.open=!r.open,this.applyDesktopSidebarState(),window.dispatchEvent(new Event("resize")))}),this.closeButton&&this.listen(this.closeButton,"click",()=>{this.mobile&&this.closeMobileMenu()}),this.identity&&this.listen(this.identity,"click",()=>{this.selectPage(dr)}),this.mobileHomeLink&&this.listen(this.mobileHomeLink,"click",()=>{this.selectPage(dr)}),this.navButtons.forEach(r=>{this.listen(r,"click",()=>{let i=r.dataset.pageTarget;i&&this.selectPage(i)})});let t=this.controls?.querySelector(".shiny-chat-page-nav");t&&(this.listen(t,"scroll",()=>this.positionNavigationMenus()),t.querySelectorAll(".shiny-chat-page-nav-menu").forEach(r=>{this.listen(r,"toggle",()=>{window.requestAnimationFrame(()=>this.positionNavigationMenus())})})),this.listen(window,"resize",()=>this.positionNavigationMenus());let n=r=>{!this.mobile||!this.hasAttribute("data-mobile-menu-open")||(r.key==="Escape"?(r.preventDefault(),this.closeMobileMenu()):r.key==="Tab"&&this.trapMobileFocus(r))};document.addEventListener("keydown",n),this.cleanupListeners.push(()=>document.removeEventListener("keydown",n)),this.resizeHandle&&(this.listen(this.resizeHandle,"resize-request",r=>{this.setSidebarWidth(r.detail.value)}),this.listen(this.resizeHandle,"resize-start",()=>{this.resizingSidebarKey=this.activeSidebarState()?.key??null,this.setAttribute("data-sidebar-resizing","")}),this.listen(this.resizeHandle,"resize-end",()=>{this.resizingSidebarKey=null,this.removeAttribute("data-sidebar-resizing")})),this.listen(window,"resize",()=>{this.updateResizeHandle(),this.updateToastOffset()})}bindResizeObserver(){if(typeof ResizeObserver>"u"||!this.body||!this.aside||!this.header)return;let t=new ResizeObserver(()=>{this.updateResizeHandle(),this.updateToastOffset()});t.observe(this.body),t.observe(this.aside),t.observe(this.header),this.cleanupListeners.push(()=>t.disconnect());let n=new MutationObserver(()=>this.updateResizeHandle());this.sidebarMutationObserver=n,this.observeSidebarMutations(),this.cleanupListeners.push(()=>{n.disconnect(),this.sidebarMutationObserver===n&&(this.sidebarMutationObserver=null)})}observeSidebarMutations(){!this.sidebarMutationObserver||!this.aside||this.sidebarMutationObserver.observe(this.aside,{childList:!0,characterData:!0,subtree:!0})}bindMediaQuery(){if(typeof window.matchMedia!="function"){this.applyResponsiveLayout(!1);return}this.mediaQuery=window.matchMedia(tle);let t=n=>{this.applyResponsiveLayout(n.matches)};typeof this.mediaQuery.addEventListener=="function"?(this.mediaQuery.addEventListener("change",t),this.cleanupListeners.push(()=>this.mediaQuery?.removeEventListener("change",t))):(this.mediaQuery.addListener(t),this.cleanupListeners.push(()=>this.mediaQuery?.removeListener(t))),this.applyResponsiveLayout(this.mediaQuery.matches)}applyResponsiveLayout(t){if(!this.controls||!this.desktopMount||!this.mobileMount)return;let n=!this.layoutInitialized||this.mobile!==t,r=this.hasAttribute("data-mobile-menu-open");t?(this.setAttribute("data-responsive-takeover",""),this.cancelSidebarMotion()):(this.removeAttribute("data-responsive-takeover"),n&&this.suppressSidebarMotionThroughNextFrame()),this.mobile=t,this.layoutInitialized=!0,this.updateMobileHomeLink();let i=t?this.mobileMount:this.desktopMount;this.controls.parentElement!==i&&i.append(this.controls),this.closeButton&&(this.closeButton.hidden=!t),t?n&&(this.closeMobileMenu(!1),this.aside&&(this.aside.hidden=!1,this.aside.removeAttribute("inert"),this.aside.setAttribute("aria-hidden","false")),this.updateToggleState(),this.updateResizeHandle()):(this.closeMobileMenu(r),this.applyDesktopSidebarState()),this.positionNavigationMenus(),this.updateToastOffset()}selectPage(t,n=!0){let r=this.sections.find(a=>a.dataset.pageValue===t);if(!r)return!1;let i=this.dataset.activePage!==t;this.cancelSidebarResize(),this.sections.forEach(a=>{a.hidden=a!==r}),this.dataset.activePage=t,this.navButtons.forEach(a=>{t!==dr&&a.dataset.pageTarget===t?a.setAttribute("aria-current","page"):a.removeAttribute("aria-current")}),this.identity&&(t===dr?(this.identity.setAttribute("aria-current","page"),this.identity.removeAttribute("aria-label")):(this.identity.removeAttribute("aria-current"),this.identity.setAttribute("aria-label",this.identityReturnLabel)),this.updateIdentityTooltip()),this.mobileHomeLink&&(t===dr?this.mobileHomeLink.setAttribute("aria-current","page"):this.mobileHomeLink.removeAttribute("aria-current")),this.syncSidebar(r),this.syncToolbar(r);let o=document.activeElement,s=Array.from(this.controls?.querySelectorAll(".shiny-chat-page-nav-menu[open]")??[]).find(a=>a.contains(o));return this.controls?.querySelectorAll(".shiny-chat-page-nav-menu[open]").forEach(a=>a.removeAttribute("open")),s?.querySelector(":scope > summary")?.focus(),n&&this.mobile&&this.closeMobileMenu(),this.updateToastOffset(),window.dispatchEvent(new Event("resize")),i&&this.dispatchEvent(new CustomEvent(Y_,{detail:{value:t}})),!0}navSelect(t){this.selectPage(t)||this.reportNavigationError(`Cannot select page "${t}": no page_chat() page has that value.`)}navHide(t){if(t===dr){this.reportNavigationError(`Cannot hide page "${t}": the page_chat() home page is always available.`);return}if(!this.pageSection(t)){this.reportNavigationError(`Cannot hide page "${t}": no page_chat() page has that value.`);return}let n=this.navControlFor(t);this.dataset.activePage===t&&this.selectPage(dr),!(!n||n.hidden)&&(n.hidden=!0,n.contains(document.activeElement)&&this.identity?.focus(),this.refreshNavigationAvailability())}navShow(t){if(!this.pageSection(t)){this.reportNavigationError(`Cannot show page "${t}": no page_chat() page has that value.`);return}let n=this.navControlFor(t);!n||!n.hidden||(n.hidden=!1,this.refreshNavigationAvailability())}pageSection(t){return this.sections.find(n=>n.dataset.pageValue===t)}navControlFor(t){return this.navButtons.find(n=>n.dataset.pageTarget===t)}reportNavigationError(t){console.error(`[shinychat] ${t}`),Yc().showClientMessage({status:"error",message:t})}refreshNavigationAvailability(){this.mobile?(this.updateToggleState(),this.updateResizeHandle()):this.applyDesktopSidebarState()}positionNavigationMenus(){this.mobile||!this.controls||this.controls.querySelectorAll(".shiny-chat-page-nav-menu[open]").forEach(t=>{let n=t.querySelector(":scope > summary"),r=t.querySelector(":scope > .shiny-chat-page-nav-menu-items");if(!n||!r)return;let i=n.getBoundingClientRect(),o=r.getBoundingClientRect(),s=Math.max(Fh,window.innerWidth-o.width-Fh),a=window.getComputedStyle(n).direction==="rtl"?i.right-o.width:i.left,l=Math.min(Math.max(a,Fh),s),u=i.bottom+4,c=u+o.height<=window.innerHeight-Fh?u:Math.max(Fh,i.top-o.height-4);r.style.setProperty("--shiny-chat-page-nav-menu-top",`${Math.round(c)}px`),r.style.setProperty("--shiny-chat-page-nav-menu-left",`${Math.round(l)}px`)})}initializeIdentityTooltip(){let t=this.identity,n=this.identityTitle;if(!t||!n)return;this.identityTitleObserver=new MutationObserver(()=>{this.updateIdentityTooltip(),this.updateMobileHomeLink()}),this.identityTitleObserver.observe(n,{childList:!0,characterData:!0,subtree:!0});let r=window.bootstrap?.Tooltip;r&&(this.identityTooltip=new r(t,{html:!0,placement:"bottom",title:this.identityTooltipContent()}))}identityTooltipContent(){let t=document.createElement("span");return this.dataset.activePage!==dr&&t.append(this.identityReturnLabel,document.createElement("br")),t.append(this.mobileHomeLabel()),t}updateIdentityTooltip(){this.identityTooltip?.setContent({".tooltip-inner":this.identityTooltipContent()})}captureMobileHomeLink(){let t=this.controls?.querySelector(".shiny-chat-page-nav"),n=t?.querySelector("button.shiny-chat-page-home-link");if(this.mobileHomeLink=null,!this.identity||!t){n?.remove();return}let r=n??document.createElement("button");r.type="button",r.className="shiny-chat-page-nav-link shiny-chat-page-home-link",r.dataset.pageTarget=dr;let i=r.querySelector(".shiny-chat-page-nav-title");i||(i=document.createElement("span"),i.className="shiny-chat-page-nav-title",r.append(i)),r.isConnected||t.prepend(r),this.mobileHomeLink=r,this.updateMobileHomeLink()}updateMobileHomeLink(){if(!this.mobileHomeLink)return;let t=this.mobileHomeLabel(),n=this.mobileHomeLink.querySelector(".shiny-chat-page-nav-title");n&&(n.textContent=t),this.mobileHomeLink.hidden=!this.mobile}mobileHomeLabel(){return this.identityTitle?.textContent?.trim()||"Home"}updateToastOffset(){let t=this.header?.getBoundingClientRect().bottom;!t||!Number.isFinite(t)||(document.documentElement.style.setProperty(MF,`${Math.ceil(t)}px`),e.toastOffsetOwner=this)}syncToolbar(t){if(!this.toolbarScoped||this.toolbarSources.size===0)return;let n=t.dataset.pageToolbarSource?.trim(),r=n?this.toolbarSources.get(n):void 0;if(r===this.activeToolbarSource||(this.activeToolbarSource?this.activeToolbarSource.append(...this.toolbarScoped.childNodes):this.toolbarScoped.replaceChildren(),this.activeToolbarSource=null,!r))return;let i=r.querySelector(":scope > .shiny-chat-page-toolbar-content");i&&(this.toolbarScoped.append(i),this.activeToolbarSource=r)}syncSidebar(t){if(!this.aside)return;this.style.removeProperty("--shiny-chat-page-sidebar-rendered-width");let n=t.dataset.sidebarKey?.trim();n?this.aside.dataset.sidebarKey=n:delete this.aside.dataset.sidebarKey;let r;this.sidebarPanels.forEach(o=>{let s=!!n&&o.dataset.sidebarFor===n;o.hidden=!s,s&&!r&&(r=o)}),ile.forEach(o=>{let s=`data-sidebar-${o}`,a=r?.getAttribute(s);a==null?this.aside?.removeAttribute(s):this.aside?.setAttribute(s,a)});let i=n?this.sidebarStates.get(n):void 0;i?(this.aside.dataset.sidebarWidth=i.width,this.style.setProperty("--shiny-chat-page-sidebar-width",i.width)):this.style.removeProperty("--shiny-chat-page-sidebar-width"),this.mobile?(this.aside.hidden=!1,this.aside.removeAttribute("inert"),this.aside.setAttribute("aria-hidden","false"),this.updateToggleState(),this.updateResizeHandle()):this.applyDesktopSidebarState()}applyDesktopSidebarState(){if(!this.toggle||!this.aside)return;let t=this.activeSidebarState(),n=!!t?.open;t&&(this.aside.dataset.sidebarWidth=t.width,this.style.setProperty("--shiny-chat-page-sidebar-width",t.width)),this.presentDesktopSidebar(n),this.updateToggleState(),this.updateResizeHandle()}presentDesktopSidebar(t){if(this.aside){if(this.cancelSidebarMotion(),t){this.aside.hidden=!1,this.aside.removeAttribute("inert"),this.aside.setAttribute("aria-hidden","false");let n=()=>{this.sidebarMotionFrame=null,!this.mobile&&this.activeSidebarState()?.open&&this.setAttribute("data-sidebar-open","")};this.shouldAnimateSidebar()?this.sidebarMotionFrame=window.requestAnimationFrame(n):n();return}if(this.removeAttribute("data-sidebar-open"),this.aside.setAttribute("aria-hidden","true"),this.aside.setAttribute("inert",""),!this.shouldAnimateSidebar()){this.aside.hidden=!0;return}this.sidebarMotionTimer=window.setTimeout(()=>{this.sidebarMotionTimer=null,this.hasAttribute("data-sidebar-open")||(this.aside.hidden=!0)},sle)}}shouldAnimateSidebar(){let t=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;return this.hasAttribute("data-sidebar-motion-ready")&&!this.mobile&&!this.hasAttribute("data-responsive-takeover")&&!this.hasAttribute("data-sidebar-handoff")&&!t}cancelSidebarMotion(){this.sidebarMotionFrame!==null&&(window.cancelAnimationFrame(this.sidebarMotionFrame),this.sidebarMotionFrame=null),this.sidebarMotionTimer!==null&&(window.clearTimeout(this.sidebarMotionTimer),this.sidebarMotionTimer=null)}suppressSidebarMotionThroughNextFrame(){this.setAttribute("data-sidebar-handoff",""),window.requestAnimationFrame(()=>{this.removeAttribute("data-sidebar-handoff")})}updateToggleState(){if(!this.toggle||!this.aside)return;let t=this.activeSidebarState(),n=this.mobile?this.hasMobileMenuContent():this.availableSidebarKeys().size>0,r=n&&!this.mobile&&(t?.openMode==="always"||!t),i=n&&(this.mobile?this.hasAttribute("data-mobile-menu-open"):!!t?.open),o=!this.mobile&&t?.openMode==="always",s=r&&!o,a=o?"App menu is always open":s?"App menu unavailable on this page":"Toggle app menu";this.toggle.hidden=!n,this.header?.toggleAttribute("data-sidebar-toggle-hidden",!n),this.toggle.disabled=r,this.toggle.setAttribute("aria-disabled",r?"true":"false"),this.toggle.setAttribute("aria-expanded",i?"true":"false"),this.toggle.setAttribute("aria-label",a),s?(this.toggle.setAttribute("title",a),this.toggle.removeAttribute("aria-controls")):(o?this.toggle.setAttribute("title",a):this.toggle.removeAttribute("title"),this.toggle.setAttribute("aria-controls",this.aside.id))}hasMobileMenuContent(){return this.availableSidebarKeys().size>0||this.hasVisibleNavContent()||this.hasMeaningfulContent(this.toolbarGlobal)||this.hasMeaningfulContent(this.toolbarScoped?.querySelector(":scope > .shiny-chat-page-toolbar-content")??null)||Array.from(this.toolbarSources.values()).some(t=>this.hasMeaningfulContent(t.querySelector(":scope > .shiny-chat-page-toolbar-content")))}hasVisibleNavContent(){let t=this.controls?.querySelector(".shiny-chat-page-nav");return t?Array.from(t.children).some(n=>n instanceof HTMLElement&&n.hidden?!1:this.hasMeaningfulContent(n)):!1}availableSidebarKeys(){let t=new Set;this.navButtons.forEach(i=>{let o=i.dataset.pageTarget;i.hidden&&o&&t.add(o)});let n=this.dataset.activePage||dr,r=new Set;return this.sections.forEach(i=>{let o=i.dataset.pageValue;if(!(o===dr||o===n||!o||!t.has(o)))return;let a=i.dataset.sidebarKey?.trim();a&&this.sidebarStates.has(a)&&r.add(a)}),r}hasMeaningfulContent(t){return!!(t?.children.length||t?.textContent?.trim())}activeSidebarState(){let t=this.aside?.dataset.sidebarKey?.trim();return t?this.sidebarStates.get(t):void 0}bindHistoryAutoOpen(){if(this.historyAutoDecided||this.historyUnsubscribe)return;let t=this.sidebarStates.get(K_),n=this.dataset.chatId?.trim();if(!t||t.openMode!=="auto"||!n)return;let r=Ol(n),i=()=>{let o=r.getSnapshot();!o.initialized||this.historyAutoDecided||(this.historyAutoDecided=!0,t.open=o.enabled&&o.conversations.length>0,this.historyUnsubscribe?.(),this.historyUnsubscribe=null,!this.mobile&&this.activeSidebarState()===t&&(this.applyDesktopSidebarState(),window.dispatchEvent(new Event("resize"))))};this.historyUnsubscribe=r.subscribe(i),i()}cancelHistoryAutoOpen(){this.historyAutoDecided=!0,this.historyUnsubscribe?.(),this.historyUnsubscribe=null}captureResizeHandle(){if(!this.body)return null;let t=Array.from(this.body.querySelectorAll(":scope > .shiny-chat-page-sidebar-resizer")),n=t.shift()??J8({boundaryActivation:!0});return t.forEach(r=>r.remove()),n.className="shiny-chat-page-sidebar-resizer",n.isConnected||this.body.append(n),n}updateResizeHandle(){if(!this.resizeHandle)return;this.mobile?this.style.removeProperty("--shiny-chat-page-sidebar-max-width"):this.style.setProperty("--shiny-chat-page-sidebar-max-width",`${this.maximumSidebarWidth()}px`);let t=this.activeSidebarState(),n=!this.mobile&&!!(t?.open&&t.resizable&&this.aside);this.resizeHandle.hidden=!n,this.resizeHandle.setAttribute("aria-hidden",n?"false":"true");let r=this.maximumSidebarWidth(),i=Math.round(Math.min(Math.max(this.requestedSidebarWidth(),Hh),r));this.style.setProperty("--shiny-chat-page-sidebar-rendered-width",`${i}px`),this.resizeHandle.configure({value:i,min:Hh,max:r,panelSide:"inline-end",disabled:!n,label:"Resize sidebar",boundaryActivation:!0})}requestedSidebarWidth(){let t=this.activeSidebarState()?.width??"280px",n=t.match(/^\s*(\d+(?:\.\d+)?)px\s*$/i);if(n)return Number.parseFloat(n[1]);let r=t.match(/^\s*(\d+(?:\.\d+)?)rem\s*$/i);if(r){let o=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize);return Number.parseFloat(r[1])*(Number.isFinite(o)?o:16)}let i=t.match(/^\s*(\d+(?:\.\d+)?)%\s*$/);if(i){let o=this.body?.getBoundingClientRect().width??0;if(o>0)return o*Number.parseFloat(i[1])/100}if(t.trim().toLowerCase()==="fit-content"){let o=this.aside?.querySelector(".shiny-chat-page-sidebar-panel:not([hidden])");if(o){let s=o.cloneNode(!0);s.dataset.shinyChatSidebarMeasurement="",s.querySelectorAll("[id]").forEach(l=>l.removeAttribute("id")),s.style.cssText="position:fixed;visibility:hidden;pointer-events:none;contain:layout style;inline-size:max-content;block-size:auto;inset:0 auto auto -10000px;",this.sidebarMutationObserver?.disconnect();let a=0;try{this.aside?.append(s),a=s.getBoundingClientRect().width}finally{s.remove(),this.observeSidebarMutations()}if(a>0)return a}}if(this.body){let o=document.createElement("div");o.style.cssText="position:absolute;visibility:hidden;pointer-events:none;contain:layout style;inline-size:auto;block-size:0;overflow:hidden;",o.style.width=t,this.body.append(o);let s=o.getBoundingClientRect().width;if(o.remove(),s>0)return s}return 280}currentSidebarWidth(){let t=this.aside?.getBoundingClientRect().width??0;if(t>0)return t;let r=this.activeSidebarState()?.width?.match(/^(\d+(?:\.\d+)?)px$/);return r?Number(r[1]):280}maximumSidebarWidth(){let t=this.body?.getBoundingClientRect().width||this.getBoundingClientRect().width||window.innerWidth,n=parseFloat(getComputedStyle(this.body??this).columnGap)||0;return Math.max(Hh,Math.round(t-n-ole))}setSidebarWidth(t){let n=this.activeSidebarState();if(!n)return;let r=Math.round(Math.min(Math.max(t,Hh),this.maximumSidebarWidth()));n.width=`${r}px`,this.aside&&(this.aside.dataset.sidebarWidth=n.width),this.style.setProperty("--shiny-chat-page-sidebar-width",n.width),this.updateResizeHandle(),window.dispatchEvent(new Event("resize"))}cancelSidebarResize(){!this.resizeHandle||!this.resizingSidebarKey||this.resizeHandle.configure({value:this.currentSidebarWidth(),min:Hh,max:this.maximumSidebarWidth(),panelSide:"inline-end",disabled:!0,label:"Resize sidebar",boundaryActivation:!0})}openMobileMenu(){!this.mobile||!this.aside||!this.toggle||(this.setAttribute("data-mobile-menu-open","true"),this.toggle.setAttribute("aria-expanded","true"),this.aside.setAttribute("role","dialog"),this.aside.setAttribute("aria-modal","true"),this.aside.setAttribute("tabindex","-1"),this.ensureScrim(),this.aside.focus({preventScroll:!0}))}closeMobileMenu(t=!0){let n=this.hasAttribute("data-mobile-menu-open");this.removeAttribute("data-mobile-menu-open"),this.toggle?.setAttribute("aria-expanded","false"),this.aside?.removeAttribute("role"),this.aside?.removeAttribute("aria-modal"),this.aside?.removeAttribute("tabindex"),this.removeScrim(),n&&t&&this.toggle?.isConnected&&this.toggle.focus({preventScroll:!0})}ensureScrim(){if(this.scrim?.isConnected||!this.aside)return;let t=document.createElement("div");t.className="shiny-chat-page-sidebar-scrim",t.addEventListener("click",this.onScrimClick),this.aside.parentElement?.insertBefore(t,this.aside),this.scrim=t}captureCloseButton(){if(!this.aside)return null;let t=Array.from(this.aside.querySelectorAll([":scope > button.shiny-chat-page-sidebar-close",":scope > .bslib-toolbar button.shiny-chat-page-sidebar-close"].join(", "))),n=t.shift()??document.createElement("button");return t.forEach(r=>r.remove()),n.type="button",n.isConnected||(n.className="shiny-chat-page-sidebar-close",n.setAttribute("aria-label","Close app menu"),this.aside.prepend(n)),n}removeScrim(){this.scrim&&(this.scrim.removeEventListener("click",this.onScrimClick),this.scrim.remove(),this.scrim=null)}onScrimClick=()=>{this.closeMobileMenu()};trapMobileFocus(t){if(!this.aside)return;let n=Array.from(this.aside.querySelectorAll(ale)).filter(s=>fle(s,this.aside)),r=n[0],i=n[n.length-1],o=document.activeElement;if(!r||!i){t.preventDefault(),this.aside.focus();return}t.shiftKey&&(o===r||o===this.aside||!this.aside.contains(o))?(t.preventDefault(),i.focus()):!t.shiftKey&&(o===i||o===this.aside||!this.aside.contains(o))&&(t.preventDefault(),r.focus())}listen(t,n,r){t.addEventListener(n,r),this.cleanupListeners.push(()=>t.removeEventListener(n,r))}},W_=class{subscriptions=new WeakMap;find(t){let n=t,r=n instanceof Element||n instanceof Document?n:n?.[0];return r?Array.from(r.querySelectorAll("shiny-chat-page[id]")):[]}getId(t){return t.id}getType(){return null}getValue(t){return t.dataset.activePage||dr}getState(t){return{value:this.getValue(t)}}getRatePolicy(){return null}initialize(){}subscribe(t,n){let r=()=>n(!1);this.subscriptions.set(t,r),t.addEventListener(Y_,r)}unsubscribe(t){let n=this.subscriptions.get(t);n&&(t.removeEventListener(Y_,n),this.subscriptions.delete(t))}receiveMessage(t,n){if(!n||typeof n!="object")return;let r=n.value;typeof r=="string"&&t.navSelect(r)}};customElements.get("shiny-chat-page")||customElements.define("shiny-chat-page",Jb); +`,parseMarkdown:()=>({type:"hardBreak"}),addCommands(){return{setHardBreak:()=>({commands:e,chain:t,state:n,editor:r})=>e.first([()=>e.exitCode(),()=>e.command(()=>{let{selection:i,storedMarks:o}=n;if(i.$from.parent.type.spec.isolating)return!1;let{keepMarks:s}=this.options,{splittableMarks:a}=r.extensionManager,l=o||i.$to.parentOffset&&i.$from.marks();return t().insertContent({type:this.name}).command(({tr:u,dispatch:c})=>{if(c&&l&&s){let f=l.filter(d=>a.includes(d.type.name));u.ensureMarks(f)}return!0}).run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),C8=Qse;var Fb=200,Bn=function(){};Bn.prototype.append=function(t){return t.length?(t=Bn.from(t),!this.length&&t||t.length=n?Bn.empty:this.sliceInner(Math.max(0,t),Math.min(this.length,n))};Bn.prototype.get=function(t){if(!(t<0||t>=this.length))return this.getInner(t)};Bn.prototype.forEach=function(t,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length),n<=r?this.forEachInner(t,n,r,0):this.forEachInvertedInner(t,n,r,0)};Bn.prototype.map=function(t,n,r){n===void 0&&(n=0),r===void 0&&(r=this.length);var i=[];return this.forEach(function(o,s){return i.push(t(o,s))},n,r),i};Bn.from=function(t){return t instanceof Bn?t:t&&t.length?new w8(t):Bn.empty};var w8=function(e){function t(r){e.call(this),this.values=r}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var n={length:{configurable:!0},depth:{configurable:!0}};return t.prototype.flatten=function(){return this.values},t.prototype.sliceInner=function(i,o){return i==0&&o==this.length?this:new t(this.values.slice(i,o))},t.prototype.getInner=function(i){return this.values[i]},t.prototype.forEachInner=function(i,o,s,a){for(var l=o;l=s;l--)if(i(this.values[l],a+l)===!1)return!1},t.prototype.leafAppend=function(i){if(this.length+i.length<=Fb)return new t(this.values.concat(i.flatten()))},t.prototype.leafPrepend=function(i){if(this.length+i.length<=Fb)return new t(i.flatten().concat(this.values))},n.length.get=function(){return this.values.length},n.depth.get=function(){return 0},Object.defineProperties(t.prototype,n),t}(Bn);Bn.empty=new w8([]);var Zse=function(e){function t(n,r){e.call(this),this.left=n,this.right=r,this.length=n.length+r.length,this.depth=Math.max(n.depth,r.depth)+1}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},t.prototype.getInner=function(r){return ra&&this.right.forEachInner(r,Math.max(i-a,0),Math.min(this.length,o)-a,s+a)===!1)return!1},t.prototype.forEachInvertedInner=function(r,i,o,s){var a=this.left.length;if(i>a&&this.right.forEachInvertedInner(r,i-a,Math.max(o,a)-a,s+a)===!1||o=o?this.right.slice(r-o,i-o):this.left.slice(r,o).append(this.right.slice(0,i-o))},t.prototype.leafAppend=function(r){var i=this.right.leafAppend(r);if(i)return new t(this.left,i)},t.prototype.leafPrepend=function(r){var i=this.left.leafPrepend(r);if(i)return new t(i,this.right)},t.prototype.appendInner=function(r){return this.left.depth>=Math.max(this.right.depth,r.depth)+1?new t(this.left,new t(this.right,r)):new t(this,r)},t}(Bn),y_=Bn;var Jse=500,kl=class e{constructor(t,n){this.items=t,this.eventCount=n}popEvent(t,n){if(this.eventCount==0)return null;let r=this.items.length;for(;;r--)if(this.items.get(r-1).selection){--r;break}let i,o;n&&(i=this.remapping(r,this.items.length),o=i.maps.length);let s=t.tr,a,l,u=[],c=[];return this.items.forEach((f,d)=>{if(!f.step){i||(i=this.remapping(r,d+1),o=i.maps.length),o--,c.push(f);return}if(i){c.push(new io(f.map));let h=f.step.map(i.slice(o)),p;h&&s.maybeStep(h).doc&&(p=s.mapping.maps[s.mapping.maps.length-1],u.push(new io(p,void 0,void 0,u.length+c.length))),o--,p&&i.appendMap(p,o)}else s.maybeStep(f.step);if(f.selection)return a=i?f.selection.map(i.slice(o)):f.selection,l=new e(this.items.slice(0,r).append(c.reverse().concat(u)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:s,selection:a}}addTransform(t,n,r,i){let o=[],s=this.eventCount,a=this.items,l=!i&&a.length?a.get(a.length-1):null;for(let c=0;ctae&&(a=eae(a,u),s-=u),new e(a.append(o),s)}remapping(t,n){let r=new dh;return this.items.forEach((i,o)=>{let s=i.mirrorOffset!=null&&o-i.mirrorOffset>=t?r.maps.length-i.mirrorOffset:void 0;r.appendMap(i.map,s)},t,n),r}addMaps(t){return this.eventCount==0?this:new e(this.items.append(t.map(n=>new io(n))),this.eventCount)}rebased(t,n){if(!this.eventCount)return this;let r=[],i=Math.max(0,this.items.length-n),o=t.mapping,s=t.steps.length,a=this.eventCount;this.items.forEach(d=>{d.selection&&a--},i);let l=n;this.items.forEach(d=>{let h=o.getMirror(--l);if(h==null)return;s=Math.min(s,h);let p=o.maps[h];if(d.step){let b=t.steps[h].invert(t.docs[h]),y=d.selection&&d.selection.map(o.slice(l+1,h));y&&a++,r.push(new io(p,b,y))}else r.push(new io(p))},i);let u=[];for(let d=n;dJse&&(f=f.compress(this.items.length-r.length)),f}emptyItemCount(){let t=0;return this.items.forEach(n=>{n.step||t++}),t}compress(t=this.items.length){let n=this.remapping(0,t),r=n.maps.length,i=[],o=0;return this.items.forEach((s,a)=>{if(a>=t)i.push(s),s.selection&&o++;else if(s.step){let l=s.step.map(n.slice(r)),u=l&&l.getMap();if(r--,u&&n.appendMap(u,r),l){let c=s.selection&&s.selection.map(n.slice(r));c&&o++;let f=new io(u.invert(),l,c),d,h=i.length-1;(d=i.length&&i[h].merge(f))?i[h]=d:i.push(f)}}else s.map&&r--},this.items.length,0),new e(y_.from(i.reverse()),o)}};kl.empty=new kl(y_.empty,0);function eae(e,t){let n;return e.forEach((r,i)=>{if(r.selection&&t--==0)return n=i,!1}),e.slice(n)}var io=class e{constructor(t,n,r,i){this.map=t,this.step=n,this.selection=r,this.mirrorOffset=i}merge(t){if(this.step&&t.step&&!t.selection){let n=t.step.merge(this.step);if(n)return new e(n.getMap().invert(),n,this.selection)}}},oo=class{constructor(t,n,r,i,o){this.done=t,this.undone=n,this.prevRanges=r,this.prevTime=i,this.prevComposition=o}},tae=20;function nae(e,t,n,r){let i=n.getMeta(Rl),o;if(i)return i.historyState;n.getMeta(oae)&&(e=new oo(e.done,e.undone,null,0,-1));let s=n.getMeta("appendedTransaction");if(n.steps.length==0)return e;if(s&&s.getMeta(Rl))return s.getMeta(Rl).redo?new oo(e.done.addTransform(n,void 0,r,zb(t)),e.undone,N8(n.mapping.maps),e.prevTime,e.prevComposition):new oo(e.done,e.undone.addTransform(n,void 0,r,zb(t)),null,e.prevTime,e.prevComposition);if(n.getMeta("addToHistory")!==!1&&!(s&&s.getMeta("addToHistory")===!1)){let a=n.getMeta("composition"),l=e.prevTime==0||!s&&e.prevComposition!=a&&(e.prevTime<(n.time||0)-r.newGroupDelay||!rae(n,e.prevRanges)),u=s?E_(e.prevRanges,n.mapping):N8(n.mapping.maps);return new oo(e.done.addTransform(n,l?t.selection.getBookmark():void 0,r,zb(t)),kl.empty,u,n.time,a??e.prevComposition)}else return(o=n.getMeta("rebased"))?new oo(e.done.rebased(n,o),e.undone.rebased(n,o),E_(e.prevRanges,n.mapping),e.prevTime,e.prevComposition):new oo(e.done.addMaps(n.mapping.maps),e.undone.addMaps(n.mapping.maps),E_(e.prevRanges,n.mapping),e.prevTime,e.prevComposition)}function rae(e,t){if(!t)return!1;if(!e.docChanged)return!0;let n=!1;return e.mapping.maps[0].forEach((r,i)=>{for(let o=0;o=t[o]&&(n=!0)}),n}function N8(e){let t=[];for(let n=e.length-1;n>=0&&t.length==0;n--)e[n].forEach((r,i,o,s)=>t.push(o,s));return t}function E_(e,t){if(!e)return null;let n=[];for(let r=0;r{let i=Rl.getState(n);if(!i||(e?i.undone:i.done).eventCount==0)return!1;if(r){let o=iae(i,n,e);o&&r(t?o.scrollIntoView():o)}return!0}}var S_=Ub(!1,!0),v_=Ub(!0,!0),IRe=Ub(!1,!1),LRe=Ub(!0,!1);var M8=Mr.create({name:"undoRedo",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:e,dispatch:t})=>S_(e,t),redo:()=>({state:e,dispatch:t})=>v_(e,t)}},addProseMirrorPlugins(){return[k8(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-\u044F":()=>this.editor.commands.undo(),"Shift-Mod-\u044F":()=>this.editor.commands.redo()}}});function sae(e){var t;let{char:n,allowSpaces:r,allowToIncludeChar:i,allowedPrefixes:o,startOfLine:s,$position:a}=e,l=r&&!i,u=XH(n),c=new RegExp(`\\s${u}$`),f=s?"^":"",d=i?"":u,h=l?new RegExp(`${f}${u}.*?(?=\\s${d}|$)`,"gm"):new RegExp(`${f}(?:^)?${u}[^\\s${d}]*`,"gm"),p=((t=a.nodeBefore)==null?void 0:t.isText)&&a.nodeBefore.text;if(!p)return null;let b=a.pos-p.length,y=Array.from(p.matchAll(h)).pop();if(!y||y.input===void 0||y.index===void 0)return null;let g=y.input.slice(Math.max(0,y.index-1),y.index),E=new RegExp(`^[${o?.join("")}\0]?$`).test(g);if(o!==null&&!E)return null;let T=b+y.index,S=T+y[0].length;return l&&c.test(p.slice(S-1,S+1))&&(y[0]+=" ",S+=1),T=a.pos?{range:{from:T,to:S},query:y[0].slice(n.length),text:y[0]}:null}function aae(e){return e.docChanged?e.steps.some(t=>{let n=t.slice;if(!n?.content)return!1;let r=n.content.textBetween(0,n.content.size,` +`);return/\s/.test(r)}):!1}var x_=new Nt("suggestion");function O8({pluginKey:e=x_,editor:t,char:n="@",allowSpaces:r=!1,allowToIncludeChar:i=!1,allowedPrefixes:o=[" "],startOfLine:s=!1,decorationTag:a="span",decorationClass:l="suggestion",decorationContent:u="",decorationEmptyClass:c="is-empty",command:f=()=>null,items:d=()=>[],render:h=()=>({}),allow:p=()=>!0,findSuggestionMatch:b=sae,shouldShow:y,shouldResetDismissed:g}){let E,T=h?.(),S=r&&!i,x=()=>{let A=t.state.selection.$anchor.pos,P=t.view.coordsAtPos(A),{top:G,right:U,bottom:B,left:L}=P;try{return new DOMRect(L,G,U-L,B-G)}catch{return null}},v=(A,P)=>P?()=>{let G=e.getState(t.state),U=G?.decorationId,B=A.dom.querySelector(`[data-decoration-id="${U}"]`);return B?.getBoundingClientRect()||null}:x,N=({match:A,dismissedRange:P,state:G,transaction:U})=>g?.({editor:t,state:G,range:P,match:A,transaction:U,allowSpaces:S})?!1:S?A.range.from===P.from:A.range.from===P.from&&!aae(U);function D(A,P){var G;try{let B=e.getState(A.state),L=B?.decorationId?A.dom.querySelector(`[data-decoration-id="${B.decorationId}"]`):null,O={editor:t,range:B?.range||{from:0,to:0},query:B?.query||null,text:B?.text||null,items:[],command:F=>f({editor:t,range:B?.range||{from:0,to:0},props:F}),decorationNode:L,clientRect:v(A,L)};(G=T?.onExit)==null||G.call(T,O)}catch{}let U=A.state.tr.setMeta(P,{exit:!0});A.dispatch(U)}let k=new ct({key:e,view(){return{update:async(A,P)=>{var G,U,B,L,O,F,I;let z=(G=this.key)==null?void 0:G.getState(P),_=(U=this.key)==null?void 0:U.getState(A.state),oe=z.active&&_.active&&z.range.from!==_.range.from,re=!z.active&&_.active,C=z.active&&!_.active,se=!re&&!C&&z.query!==_.query,fe=re||oe&&se,ge=se||oe,De=C||oe&&se;if(!fe&&!ge&&!De)return;let Ee=De&&!fe?z:_,Ve=A.dom.querySelector(`[data-decoration-id="${Ee.decorationId}"]`);E={editor:t,range:Ee.range,query:Ee.query,text:Ee.text,items:[],command:Pe=>f({editor:t,range:Ee.range,props:Pe}),decorationNode:Ve,clientRect:v(A,Ve)},fe&&((B=T?.onBeforeStart)==null||B.call(T,E)),ge&&((L=T?.onBeforeUpdate)==null||L.call(T,E)),(ge||fe)&&(E.items=await d({editor:t,query:Ee.query})),De&&((O=T?.onExit)==null||O.call(T,E)),ge&&((F=T?.onUpdate)==null||F.call(T,E)),fe&&((I=T?.onStart)==null||I.call(T,E))},destroy:()=>{var A;E&&((A=T?.onExit)==null||A.call(T,E))}}},state:{init(){return{active:!1,range:{from:0,to:0},query:null,text:null,composing:!1,dismissedRange:null}},apply(A,P,G,U){let{isEditable:B}=t,{composing:L}=t.view,{selection:O}=A,{empty:F,from:I}=O,z={...P},_=A.getMeta(e);if(_&&_.exit)return z.active=!1,z.decorationId=null,z.range={from:0,to:0},z.query=null,z.text=null,z.dismissedRange=P.active?{...P.range}:P.dismissedRange,z;if(z.composing=L,A.docChanged&&z.dismissedRange!==null&&(z.dismissedRange={from:A.mapping.map(z.dismissedRange.from),to:A.mapping.map(z.dismissedRange.to)}),B&&(F||t.view.composing)){(IP.range.to)&&!L&&!P.composing&&(z.active=!1);let oe=b({char:n,allowSpaces:r,allowToIncludeChar:i,allowedPrefixes:o,startOfLine:s,$position:O.$from}),re=`id_${Math.floor(Math.random()*4294967295)}`;oe&&p({editor:t,state:U,range:oe.range,isActive:P.active})&&(!y||y({editor:t,range:oe.range,query:oe.query,text:oe.text,transaction:A}))?(z.dismissedRange!==null&&!N({match:oe,dismissedRange:z.dismissedRange,state:U,transaction:A})&&(z.dismissedRange=null),z.dismissedRange===null?(z.active=!0,z.decorationId=P.decorationId?P.decorationId:re,z.range=oe.range,z.query=oe.query,z.text=oe.text):z.active=!1):(oe||(z.dismissedRange=null),z.active=!1)}else z.active=!1;return z.active||(z.decorationId=null,z.range={from:0,to:0},z.query=null,z.text=null),z}},props:{handleKeyDown(A,P){var G,U;let{active:B,range:L}=k.getState(A.state);if(!B)return!1;if(P.key==="Escape"||P.key==="Esc"){let F=k.getState(A.state);return(G=T?.onKeyDown)==null||G.call(T,{view:A,event:P,range:F.range}),D(A,e),!0}return((U=T?.onKeyDown)==null?void 0:U.call(T,{view:A,event:P,range:L}))||!1},decorations(A){let{active:P,range:G,decorationId:U,query:B}=k.getState(A);if(!P)return null;let L=!B?.length,O=[l];return L&&O.push(c),kr.create(A.doc,[ro.inline(G.from,G.to,{nodeName:a,class:O.join(" "),"data-decoration-id":U,"data-decoration-content":u})])}}});return k}var D8=oa.create({name:"commandMention",group:"inline",inline:!0,atom:!0,selectable:!0,addOptions(){return{commands:[],suggestion:{char:"/",allowSpaces:!1,allow({range:e}){return e.from===0},command:({editor:e,range:t,props:n})=>{e.chain().focus().deleteRange(t).insertContent([{type:"commandMention",attrs:{name:n.name}},{type:"text",text:" "}]).run()}}}},addAttributes(){return{name:{default:null}}},parseHTML(){return[{tag:"span[data-command-mention]",getAttrs:e=>({name:e.getAttribute("data-command-mention")})}]},renderHTML({node:e,HTMLAttributes:t}){return["span",Ih(t,{"data-command-mention":e.attrs.name,class:"command-chip"}),`/${e.attrs.name}`]},addKeyboardShortcuts(){return{Backspace:()=>{let{state:e,view:t}=this.editor,{selection:n}=e,{$from:r}=n;if(n instanceof _e&&n.node.type.name==="commandMention"){let o=n.node.attrs.name,s=n.from,a=e.tr.replaceWith(s,n.to,e.schema.text(`/${o}`));return a.setSelection(Me.create(a.doc,s+o.length+1)),t.dispatch(a),!0}let i=r.nodeBefore;if(i?.type.name==="commandMention"){let o=i.attrs.name,s=r.pos-i.nodeSize,a=e.tr.replaceWith(s,r.pos,e.schema.text(`/${o}`));return a.setSelection(Me.create(a.doc,s+o.length+1)),t.dispatch(a),!0}return!1}}},addProseMirrorPlugins(){let e=this.options;return[O8({editor:this.editor,...this.options.suggestion}),new ct({key:new Nt("commandMentionPaste"),props:{handlePaste:(t,n)=>{let r=n.clipboardData?.getData("text/plain")??"";if(!r.startsWith("/"))return!1;let i=r.slice(1),o=i.indexOf(" "),s=o===-1?i:i.slice(0,o),a=o===-1?"":i.slice(o);if(!e.commands.find(y=>y.name===s))return!1;let{state:c}=t,f=c.schema.nodes.commandMention;if(!f)return!1;let d=[];d.push(f.create({name:s})),a&&d.push(c.schema.text(a));let h=c.tr,{from:p,to:b}=c.selection;return h.replaceWith(p,b,d),t.dispatch(h),!0}}})]}});var P8=q(td(),1);var qb=q(pe(),1),Ml=q(ie(),1);function I8(e,t){let n=t.toLowerCase();return e.filter(r=>r.name.toLowerCase().startsWith(n))}function L8({id:e,commands:t,effectiveIndex:n,onSelect:r,onHighlight:i}){let o=(0,qb.useRef)(null);return(0,qb.useEffect)(()=>{o.current?.children[n]?.scrollIntoView({block:"nearest"})},[n]),(0,Ml.jsx)("ul",{id:e,ref:o,className:"shiny-chat-slash-palette",role:"listbox","aria-label":"Slash commands",onMouseDown:s=>s.preventDefault(),children:t.length===0?(0,Ml.jsx)("li",{className:"shiny-chat-slash-palette-empty",role:"presentation",children:"No matching commands"}):t.map((s,a)=>(0,Ml.jsxs)("li",{id:`${e}-item-${s.name}`,className:"shiny-chat-slash-palette-item"+(a===n?" highlighted":""),role:"option","aria-selected":a===n,onClick:()=>r(s),onMouseEnter:()=>i(a),children:[(0,Ml.jsxs)("span",{className:"shiny-chat-slash-palette-name",children:["/",s.name]}),(0,Ml.jsx)("span",{className:"shiny-chat-slash-palette-desc",children:s.description})]},s.name))})}var H8=q(ie(),1);function B8({paletteId:e}){let t=null,n=null,r=0,i=[],o=null;function s(f){if(!t||!f)return;let d=f();if(!d)return;let h=t.offsetHeight,p=d.top,b=window.innerHeight-d.bottom,y=4;t.style.left=`${d.left}px`,h>0&&b>=h+y||b>=p?(t.style.top=`${d.bottom+y}px`,t.style.bottom=""):(t.style.top="",t.style.bottom=`${window.innerHeight-d.top+y}px`)}function a(){n&&n.render((0,H8.jsx)(L8,{id:e,commands:i,effectiveIndex:r>=0?Math.min(r,i.length-1):-1,onSelect:f=>{o?.({name:f.name})},onHighlight:f=>{r=f,a()}}))}let l=null,u=null;function c(){l&&(window.removeEventListener("resize",l),window.removeEventListener("scroll",l,!0),l=null),u&&(document.removeEventListener("pointerdown",u,!0),u=null),n&&(n.unmount(),n=null),t&&(t.remove(),t=null),o=null}return{onStart(f){i=f.items??[],r=0,o=f.command,t=document.createElement("div"),t.style.position="fixed",t.style.zIndex="var(--slash-palette-z-index, 1050)",t.style.width="max-content",t.style.maxWidth="400px",document.body.appendChild(t),n=(0,P8.createRoot)(t),a(),requestAnimationFrame(()=>requestAnimationFrame(()=>s(f.clientRect))),l=()=>s(f.clientRect),window.addEventListener("resize",l),window.addEventListener("scroll",l,!0),u=d=>{t&&t.contains(d.target)},document.addEventListener("pointerdown",u,!0)},onUpdate(f){i=f.items??[],r=0,o=f.command,a(),requestAnimationFrame(()=>s(f.clientRect))},onKeyDown({event:f}){if(f.key==="ArrowDown")return r=i.length===0?0:(r+1)%i.length,a(),!0;if(f.key==="ArrowUp")return r=i.length===0?0:(r-1+i.length)%i.length,a(),!0;if(f.key==="Enter"||f.key==="Tab"){if(i.length>0&&r>=0){let d=i[Math.min(r,i.length-1)];d&&o?.({name:d.name})}return!0}return f.key==="Escape"?(f.preventDefault(),f.stopPropagation(),!0):!1},onExit(){c()}}}var rs=q(pe(),1);function F8(e){let t=(0,rs.useRef)(-1),n=(0,rs.useRef)(new Map),r=(0,rs.useRef)(!1),i=(0,rs.useRef)(e);i.current!==e&&(i.current=e,t.current=-1,n.current.clear(),r.current=!1);let o=(0,rs.useCallback)((l,u)=>{let c=e.length-1;if(n.current.set(t.current,u),l==="up"){if(e.length===0)return;r.current=!0,t.current>c&&(t.current=-1);let f=t.current===-1?c:Math.max(0,t.current-1);return t.current=f,n.current.get(f)??e[f]}else{let f=t.current;if(f===-1)return;if(f>c){t.current=-1;return}if(f>=c)return t.current=-1,n.current.get(-1)??"";let d=f+1;return t.current=d,n.current.get(d)??e[d]}},[e]),s=(0,rs.useCallback)(()=>{t.current=-1,n.current.clear(),r.current=!1},[]),a=(0,rs.useCallback)(()=>r.current,[]);return{recall:o,reset:s,isActive:a}}var z8=q(ie(),1);function Bh(e){let t=e.state.doc,n=[];return t.descendants(r=>r.type.name==="commandMention"?(n.push(`/${r.attrs.name}`),!1):r.type.name==="text"?(n.push(r.text??""),!1):r.type.name==="hardBreak"?(n.push(` +`),!1):!0),n.join("")}function A_(e,t){if(!e)return{type:"doc",content:[]};if(e.startsWith("/")){let i=e.slice(1),o=i.indexOf(" "),s=o===-1?i:i.slice(0,o),a=o===-1?"":i.slice(o+1);if(t.find(u=>u.name===s)){let u=[{type:"commandMention",attrs:{name:s}}];return a&&u.push({type:"text",text:" "+a}),{type:"doc",content:u}}}let n=e.split(` +`),r=[];return n.forEach((i,o)=>{o>0&&r.push({type:"hardBreak"}),i&&r.push({type:"text",text:i})}),{type:"doc",content:r}}var Vb=(0,Or.forwardRef)(function({inputId:t,placeholder:n,hasTopShadow:r=!1,slashCommands:i,onHasTextChange:o,onSubmit:s,userMessages:a,submitKey:l,canSubmitEmpty:u},c){let{recall:f,reset:d,isActive:h}=F8(a),p=(0,Or.useRef)(i);p.current=i;let b=(0,Or.useRef)(n);b.current=n;let y=(0,Or.useRef)(s);y.current=s;let g=(0,Or.useRef)(o);g.current=o;let E=(0,Or.useRef)(u);E.current=u;let T=(0,Or.useRef)(d);T.current=d;let S=(0,Or.useRef)(null),x=g8({extensions:[A8.extend({content:"inline*"}),_8,C8,M8,Mr.create({name:"submitShortcut",priority:200,addKeyboardShortcuts(){let v=()=>{if(x_.getState(this.editor.view.state)?.active)return!1;let A=Bh(this.editor);return(this.editor.isEmpty||A.trim().length===0)&&!E.current?.()?!1:(y.current(A)&&(this.editor.commands.clearContent(!0),g.current(!1),T.current()),!0)},D={[l==="enter+modifier"?"Mod-Enter":"Enter"]:v};return l==="enter+modifier"&&(D.Enter=()=>this.editor.commands.first(({commands:k})=>[()=>k.newlineInCode(),()=>k.setHardBreak()])),D}}),D8.configure({commands:i,suggestion:{char:"/",allowSpaces:!1,allow({range:v}){return v.from===0},items:({query:v})=>I8(p.current,v),render:()=>B8({paletteId:`${t}-slash-palette`}),command:({editor:v,range:N,props:D})=>{v.chain().focus().deleteRange(N).insertContent([{type:"commandMention",attrs:{name:D.name}},{type:"text",text:" "}]).run()}}})],editorProps:{attributes:v=>{let N=v.doc.content.size===0;return{"aria-label":"Chat message","data-shiny-no-bind-input":"",role:"textbox","aria-multiline":"true",...p.current.length>0?{"aria-haspopup":"listbox"}:{},class:`form-control${r?" shadow":""}${N?" is-empty":""}`,...N?{"data-placeholder":b.current}:{}}},handleKeyDown:(v,N)=>{if(N.isComposing)return!1;if(N.key==="ArrowUp"||N.key==="ArrowDown"){let D=S.current;if(!D)return!1;let k=Bh(D),{$from:A}=v.state.selection,P=A.pos===v.state.doc.content.size-1;if(h()?P:k.length===0){let U=f(N.key==="ArrowUp"?"up":"down",k);if(U!==void 0)return N.preventDefault(),D.commands.setContent(A_(U,p.current)),o(U.trim().length>0),D.commands.focus("end"),!0}return!1}return!1}},onCreate:({editor:v})=>{S.current=v,o(!v.isEmpty)},onUpdate:({editor:v})=>{o(!v.isEmpty)}});return(0,Or.useEffect)(()=>{let v=x?.view?.dom;v&&(i.length>0?v.setAttribute("aria-haspopup","listbox"):v.removeAttribute("aria-haspopup"))},[x,i]),(0,Or.useImperativeHandle)(c,()=>({setInputValue(v,{submit:N=!1,focus:D=!1}={}){if(!x)return;let k=Bh(x);if(x.commands.setContent(A_(v,p.current)),o(v.trim().length>0),N){let A=Bh(x);s(A),x.commands.setContent(A_(k,p.current)),o(k.trim().length>0)}D&&(x.view.dom.focus(),x.commands.setTextSelection(x.state.doc.content.size))},focus(){x&&(x.view.dom.focus(),x.commands.setTextSelection(x.state.doc.content.size))},serializeEditor(){return x?Bh(x):""}}),[x,s,o]),(0,z8.jsx)(m_,{editor:x,id:t})});var xt=q(pe(),1);function lae(e){return{mime:e.type,data_url:e.dataUrl,name:e.name,size:e.size}}function uae(e){return e.map(t=>({id:zn(),type:t.mime,family:cl(t.mime)??"document",dataUrl:t.data_url,name:t.name,size:t.size}))}function Gb({uploadAccept:e,maxUploadSize:t,enableUpload:n,focusEditor:r}){let[i,o]=(0,xt.useState)([]),s=(0,xt.useRef)([]);(0,xt.useEffect)(()=>{s.current=i},[i]);let[a,l]=(0,xt.useState)(!1),[u,c]=(0,xt.useState)(!1),[f,d]=(0,xt.useState)(!1),h=(0,xt.useRef)(null),p=(0,xt.useCallback)(async P=>{let G=[];for(let O of Array.from(P)){let F=null;try{F=await OB(O,e)}catch{continue}F&&G.push(F)}if(G.length===0){r();return}let U=!1,B=!1,L=!1;o(O=>{let F=RB(O),I=[];for(let{file:z,wasDownscaled:_,wasConverted:oe}of G){if(t!==null&&F+z.size>t){U=!0;continue}I.push(z),F+=z.size,_&&(B=!0),oe&&(L=!0)}return I.length>0?[...O,...I]:O}),U&&d(!0),B&&l(!0),L&&c(!0),r()},[e,t,r]),b=(0,xt.useCallback)(P=>{d(!1),o(G=>{let U=G.filter(B=>B.id!==P);return U.length===0&&(l(!1),c(!1)),U})},[]),y=(0,xt.useRef)([]),g=(0,xt.useRef)(null),E=(0,xt.useCallback)(P=>{let G=i.length-1;g.current=G===0?"input":Math.min(P,G-1),b(i[P].id)},[i,b]);(0,xt.useLayoutEffect)(()=>{y.current.length=i.length;let P=g.current;P!==null&&(g.current=null,P==="input"?r():y.current[P]?.focus())},[i,r]);let T=(0,xt.useCallback)(P=>{if(!n)return;let G=P.clipboardData;if(!G)return;let U=[];for(let L of Array.from(G.items))if(L.kind==="file"&&e.includes(L.type)){let O=L.getAsFile();O&&U.push(O)}if(U.length>0){P.preventDefault(),P.stopPropagation(),p(U);return}let B=G.getData("text/plain");B.length>_B&&e.includes("text/plain")&&(P.preventDefault(),P.stopPropagation(),p([MB(B)]))},[p,n,e]),S=(0,xt.useCallback)(P=>{n&&P.dataTransfer?.files?.length&&(P.preventDefault(),P.stopPropagation(),p(P.dataTransfer.files))},[p,n]),x=(0,xt.useCallback)(P=>{P.target.files&&p(P.target.files),P.target.value=""},[p]),v=(0,xt.useCallback)(P=>{P.target===P.currentTarget&&(P.preventDefault(),r())},[r]),N=(0,xt.useCallback)(()=>s.current.map(lae),[]),D=(0,xt.useCallback)((P,G)=>{let U=uae(P);G==="append"?o(B=>[...B,...U]):(o(U),l(!1),c(!1),d(!1))},[]),k=(0,xt.useCallback)(()=>o([]),[]),A=(0,xt.useCallback)(()=>{o([]),l(!1),c(!1),d(!1)},[]);return{attachments:i,downscaleNotice:a,gifConvertedNotice:u,sizeNotice:f,fileInputRef:h,attachmentRefs:y,addFiles:p,removeAttachment:b,removeAttachmentByKeyboard:E,onPaste:T,onDrop:S,onFilePick:x,onAttachmentsMouseDown:v,getPayloads:N,applyPayloads:D,clearAttachments:k,resetAll:A}}var __=q(pe(),1);var Rt=q(ie(),1),Kb=(0,__.memo)(function({staging:t,uploadAccept:n,maxUploadSize:r,enableUpload:i,disabled:o}){let{attachments:s,downscaleNotice:a,gifConvertedNotice:l,sizeNotice:u,fileInputRef:c,attachmentRefs:f,removeAttachmentByKeyboard:d,onFilePick:h,onAttachmentsMouseDown:p}=t;return(0,Rt.jsxs)(Rt.Fragment,{children:[s.length>0&&(0,Rt.jsx)("div",{className:"shiny-chat-input-attachments",onMouseDown:p,children:s.map((b,y)=>(0,Rt.jsx)(cae,{attachment:b,index:y,onRemove:()=>d(y),registerRef:g=>{f.current[y]=g}},b.id))}),(a||u||l)&&(0,Rt.jsxs)("div",{className:"shiny-chat-input-notice",role:"status",children:[u&&r!==null&&(0,Rt.jsxs)("div",{children:["Attachments exceed the ",ih(r)," limit."]}),a&&(0,Rt.jsx)("div",{children:"Large image(s) were downscaled to fit."}),l&&(0,Rt.jsx)("div",{children:"Animated GIF(s) were converted to a still image."})]}),i&&(0,Rt.jsxs)(Rt.Fragment,{children:[(0,Rt.jsx)("input",{ref:c,type:"file",multiple:!0,accept:vB(n),style:{display:"none"},onChange:h,"data-shiny-no-bind-input":!0}),(0,Rt.jsx)("button",{type:"button",className:"shiny-chat-btn-attach",title:"Attach file","aria-label":"Attach file",disabled:o,onClick:()=>c.current?.click(),dangerouslySetInnerHTML:{__html:BP}})]})]})}),cae=(0,__.memo)(function({attachment:t,index:n,onRemove:r,registerRef:i}){let o={tabIndex:0,"aria-label":t.name?`Attachment: ${t.name}. Press Delete to remove.`:"Attachment. Press Delete to remove.",onClick:s=>s.currentTarget.focus(),onKeyDown:s=>{(s.code==="Delete"||s.code==="Backspace")&&(s.preventDefault(),r())}};return t.family==="image"?(0,Rt.jsxs)("div",{ref:i,className:"shiny-chat-input-thumbnail",title:t.name||void 0,...o,children:[(0,Rt.jsx)("img",{src:t.dataUrl,alt:t.name?`Attached image: ${t.name}`:`Attached image ${n+1}`}),(0,Rt.jsx)("button",{type:"button",tabIndex:0,"aria-label":t.name?`Remove ${t.name}`:"Remove image",onClick:r,children:"\xD7"})]}):t.family==="text"?(0,Rt.jsx)(K0,{dataUrl:t.dataUrl,name:t.name,size:t.size,onRemove:r,rootRef:i,rootProps:o}):(0,Rt.jsxs)("div",{ref:i,className:"shiny-chat-input-attachment-chip",title:t.name||void 0,...o,children:[(0,Rt.jsx)("span",{className:"shiny-chat-attachment-badge",children:V0(t.name,t.type)}),(0,Rt.jsxs)("span",{className:"shiny-chat-attachment-meta",children:[(0,Rt.jsx)("span",{className:"shiny-chat-attachment-name",children:t.name||"attachment"}),(0,Rt.jsx)("span",{className:"shiny-chat-attachment-size",children:ih(t.size)})]}),(0,Rt.jsx)("button",{type:"button",tabIndex:0,"aria-label":t.name?`Remove ${t.name}`:"Remove attachment",onClick:r,children:"\xD7"})]})});var Hh=q(pe(),1);var Zt=q(ie(),1),fae=3;function U8({url:e,deriveFavicon:t}){let n=Nx(e),[r,i]=(0,Hh.useState)(!1);return!t||!n||r?(0,Zt.jsx)("span",{className:"shiny-sources-favicon shiny-sources-favicon--blank","aria-hidden":"true"}):(0,Zt.jsx)("img",{className:"shiny-sources-favicon",src:n,alt:"",onError:()=>i(!0)})}function dae({sources:e}){let[t,n]=(0,Hh.useState)(!1),r=Mu(),{refs:i,floatingStyles:o,context:s,getReferenceProps:a,getFloatingProps:l}=N0(t,n),u=Tc(i.domReference.current);if(e.length===0)return null;let c=`Sources, ${e.length} ${e.length===1?"source":"sources"}`;return(0,Zt.jsxs)("div",{className:"shiny-sources",children:[(0,Zt.jsxs)("button",{ref:i.setReference,type:"button",className:"shiny-sources-pill","aria-label":c,...a(),children:[r&&(0,Zt.jsx)("span",{className:"shiny-sources-pill__stack",children:e.slice(0,fae).map(f=>(0,Zt.jsx)(U8,{url:f.url,deriveFavicon:r},f.url))}),(0,Zt.jsx)("span",{className:"shiny-sources-pill__label",children:"Sources"})]}),t&&(0,Zt.jsx)(bc,{children:(0,Zt.jsx)(yc,{context:s,modal:!1,initialFocus:-1,returnFocus:!0,children:(0,Zt.jsxs)("div",{ref:i.setFloating,className:"shiny-sources-popover shiny-floating-overlay",style:{...u.style,...o},"data-bs-theme":u.theme,"aria-label":c,...l(),children:[(0,Zt.jsx)("div",{className:"shiny-sources-popover__title",children:"Sources"}),(0,Zt.jsx)("ul",{className:"shiny-sources-list",children:e.map(f=>(0,Zt.jsx)("li",{className:"shiny-sources-item",children:(0,Zt.jsxs)("a",{className:"shiny-sources-item__link",href:f.url,...Yi,children:[(0,Zt.jsx)(U8,{url:f.url,deriveFavicon:r}),(0,Zt.jsxs)("span",{className:"shiny-sources-item__text",children:[f.domain&&(0,Zt.jsx)("span",{className:"shiny-sources-item__site",children:f.domain}),(0,Zt.jsx)("span",{className:"shiny-sources-item__title",children:f.title??f.domain??f.url})]})]})},f.url))})]})})})]})}var q8=(0,Hh.memo)(function(){return(0,Zt.jsx)(dae,{sources:kP()})});var Le=q(ie(),1);function hae(e,t){return t?{...e,trusted:!1,tagMap:void 0}:e.contentType==="html"?{...e,trusted:!0,tagMap:Xs}:{...e,trusted:!1,tagMap:Sc}}var pae=500,mae=10,gae=500,bae=200;function yae(e,t){if(!e.startsWith("/"))return null;let n=e.slice(1),r=n.indexOf(" "),i=r===-1?n:n.slice(0,r),o=r===-1?"":n.slice(r+1).trim();return t.find(a=>a.name===i)?{commandName:i,remainingText:o}:null}var V8=(0,et.memo)(function({message:t,index:n,iconAssistant:r,onEdit:i,onNavigate:o,siblingNavigationPending:s=!1,disabled:a,inputId:l,submitKey:u="enter",isEditing:c=!1,onStartEdit:f,onCancelEdit:d,uploadAccept:h=[],maxUploadSize:p=null,enableUpload:b,thinkingShowAfter:y=0}){let g=hM(),E=fM(),{supersededRequests:T,requestDefinitionIcons:S}=dM(),[x,v]=(0,et.useState)(null),[N,D]=(0,et.useState)(!1),k=(0,et.useRef)(null),A=t.role==="user",P=t.blocks,G=(0,et.useMemo)(()=>{let J=[];return P.forEach((Ne,en)=>{if(Ne.type!=="tool_loop"){J.push({block:Ne,index:en});return}let yt=Ne.groups.map(Ze=>{let zt=Ze.calls.filter(Xr=>!(Xr.status==="running"&&T.has(Xr.requestId))).map(Xr=>ZT(Xr,S));return zt.length!==Ze.calls.length||zt.some((Xr,Uh)=>Xr!==Ze.calls[Uh])?{...Ze,calls:zt,...wu(zt)}:Ze}).filter(Ze=>Ze.calls.length>0);yt.length>0&&J.push({block:{...Ne,groups:yt},index:en})}),J},[P,T,S]),[,U]=(0,et.useState)(0);(0,et.useEffect)(()=>{if(y<=0)return;let J=G.flatMap(({block:yt})=>yt.type!=="thinking"||!yt.streaming||yt.startedAt===void 0||L0(yt,y)?[]:[Math.max(0,y*1e3-(Date.now()-yt.startedAt))]),Ne=Math.min(...J);if(!Number.isFinite(Ne))return;let en=setTimeout(()=>U(yt=>yt+1),Ne);return()=>clearTimeout(en)},[G,y]);let B=A&&!!i&&!a&&!c,[L,O]=(0,et.useState)(!1),F=(0,et.useRef)(null),I=(0,et.useRef)(null),z=(0,et.useRef)(!1),_=(0,et.useRef)(null),oe=(0,et.useCallback)(()=>k.current?.focus(),[]),re=Gb({uploadAccept:h,maxUploadSize:p,enableUpload:b,focusEditor:oe}),{applyPayloads:C,getPayloads:se,onPaste:fe,onDrop:ge}=re,De=(0,et.useRef)(!1);(0,et.useEffect)(()=>{c&&!De.current&&(k.current?.setInputValue(t.content,{focus:!0}),C(t.attachments??[],"set")),De.current=c},[c,t.content,t.attachments,C]);let Ee=(0,et.useCallback)(J=>a?!1:(i?.(n,J,se()),d?.(),!0),[i,d,n,a,se]),Ve=(0,et.useCallback)(()=>se().length>0,[se]),Pe=(0,et.useCallback)(()=>{F.current!==null&&(clearTimeout(F.current),F.current=null)},[]),Re=(0,et.useCallback)(J=>{J.pointerType==="touch"&&(I.current={x:J.clientX,y:J.clientY},z.current=!1,Pe(),F.current=setTimeout(()=>{F.current=null,z.current=!0,O(!0)},pae))},[Pe]),Te=(0,et.useCallback)(J=>{let Ne=I.current;if(!Ne)return;Math.hypot(J.clientX-Ne.x,J.clientY-Ne.y)>mae&&(I.current=null,Pe())},[Pe]),Ae=(0,et.useCallback)(J=>{let Ne=I.current!==null;I.current=null,Pe(),Ne&&z.current&&J.preventDefault()},[Pe]),le=(0,et.useCallback)(()=>{I.current=null,Pe()},[Pe]),ye=(0,et.useCallback)(J=>{(I.current!==null||z.current)&&J.preventDefault()},[]);(0,et.useEffect)(()=>{if(!L)return;let J=Ne=>{_.current?.contains(Ne.target)||O(!1)};return document.addEventListener("pointerdown",J,!0),()=>document.removeEventListener("pointerdown",J,!0)},[L]);let ue=t.content.trim()!==""||G.some(({block:J})=>J.type==="thinking"&&L0(J,y)||J.type==="tool_loop"||J.type==="web_activity"||J.type==="html_block")||(t.attachments?.length??0)>0||t.cancelled,Se=A?void 0:t.icon??r,[$,tt]=(0,et.useState)(!1),[Ge,qe]=(0,et.useState)(!1),[Jt,Mt]=(0,et.useState)(!1);(0,et.useEffect)(()=>{if(A||Se!==""||ue)return;let J=setTimeout(()=>tt(!0),gae);return()=>clearTimeout(J)},[A,Se,ue]),(0,et.useEffect)(()=>{if(!ue||!$)return;qe(!0),Mt(!0);let J=setTimeout(()=>{tt(!1),qe(!1),Mt(!1)},bae);return()=>clearTimeout(J)},[ue,$]);let Ot,Hn=!A&&Se===""&&$;if(A?Ot=t.icon||void 0:Se===""?Ot=void 0:Ot=ue?Se??LP:Mx,!ue&&!t.streaming&&!t.isPlaceholder)return null;let H=A?yae(t.content,g):null,K=A?"shiny-chat-user-message":"shiny-chat-message",Z=t.attachments&&t.attachments.length>0?(0,Le.jsx)("div",{className:"shiny-chat-message-attachments",children:t.attachments.map((J,Ne)=>{if(J.mime.startsWith("image/")){let en=J.name?`Attached image: ${J.name}`:`Attached image ${Ne+1}`;return(0,Le.jsx)("button",{type:"button",className:"shiny-chat-message-image-btn",title:J.name||void 0,"aria-label":J.name?`View ${J.name}`:`View attached image ${Ne+1}`,onClick:()=>v({src:J.data_url,name:J.name,mime:J.mime}),children:(0,Le.jsx)("img",{className:"shiny-chat-message-image",src:J.data_url,alt:en})},Ne)}return cl(J.mime)==="text"?(0,Le.jsx)(K0,{dataUrl:J.data_url,name:J.name,size:q0(J.data_url),onActivate:()=>v({src:J.data_url,name:J.name,mime:J.mime})},Ne):(0,Le.jsxs)("button",{type:"button",className:"shiny-chat-message-attachment-chip",title:J.name||void 0,"aria-label":`View ${J.name||"attachment"}`,onClick:()=>v({src:J.data_url,name:J.name,mime:J.mime}),children:[(0,Le.jsx)("span",{className:"shiny-chat-attachment-badge",children:V0(J.name,J.mime)}),(0,Le.jsx)("span",{className:"shiny-chat-attachment-name",children:J.name||"attachment"})]},Ne)})}):null,ae=(J,Ne)=>{if(J.type==="thinking")return(0,Le.jsx)(GP,{thinking:J,messageId:`${t.id}-${Ne}`,showAfter:y},Ne);let en=Ne===P.length-1;if(J.type==="tool_loop")return(0,Le.jsx)("div",{className:"shiny-chat-tool-loop",children:J.groups.map(zt=>(0,Le.jsx)(pB,{group:zt},zt.key))},Ne);if(J.type==="web_activity")return(0,Le.jsx)(F0,{items:J.items},Ne);if(J.type==="html_block")return(0,Le.jsx)(z0,{content:J.content,htmlDeps:J.htmlDeps},Ne);if(J.type!=="content")return null;let yt=hae(J,A);if(H&&Ne===0){let zt=(0,Le.jsx)(bB,{name:H.commandName}),fn=H.remainingText||"";return yt.contentType==="text"?(0,Le.jsxs)("div",{className:"content-type-text",children:[zt,fn&&` ${fn}`]},Ne):fn?(0,Le.jsx)(Xt,{content:fn,contentType:yt.contentType,role:t.role,streaming:t.streaming&&en,tagToComponentMap:yt.tagMap,prefix:zt},Ne):(0,Le.jsx)("p",{children:zt},Ne)}let Ze=(0,Le.jsx)(Xt,{content:yt.content,contentType:yt.contentType,role:t.role,streaming:t.streaming&&en,tagToComponentMap:yt.tagMap},Ne);return yt.contentType==="text"?(0,Le.jsx)("div",{className:"content-type-text",children:Ze},Ne):Ze},Ce=G.map(({block:J,index:Ne})=>(0,Le.jsx)(Da,{context:`${J.type} block`,resetKey:J,fallback:J.type==="content"?(0,Le.jsx)("div",{className:"shiny-chat-block-error",role:"alert",children:(0,Le.jsx)("pre",{children:J.content})}):void 0,children:ae(J,Ne)},Ne)),ft=x&&(0,Le.jsx)(LB,{src:x.src,name:x.name,mime:x.mime,onClose:()=>v(null)});return(0,Le.jsxs)("div",{ref:_,className:K,"data-touch-revealed":L||void 0,onPointerDown:B?Re:void 0,onPointerMove:B?Te:void 0,onPointerUp:B?Ae:void 0,onPointerCancel:B?le:void 0,onContextMenu:B?ye:void 0,children:[Ot&&(0,Le.jsx)("div",{className:"message-icon",dangerouslySetInnerHTML:{__html:Ot}}),(0,Le.jsx)("div",{className:"shiny-chat-message-content","data-pending":Hn||void 0,children:c?(0,Le.jsxs)("div",{className:"shiny-chat-edit-wrap",onKeyDownCapture:J=>{J.key==="Escape"&&(J.preventDefault(),d?.())},children:[(0,Le.jsxs)("div",{className:"shiny-chat-edit-box",onDropCapture:ge,onDragOver:J=>J.preventDefault(),onPasteCapture:fe,children:[(0,Le.jsx)(Kb,{staging:re,uploadAccept:h,maxUploadSize:p,enableUpload:b,disabled:a}),(0,Le.jsx)(Vb,{ref:k,inputId:`${l}-edit`,placeholder:"Edit message",slashCommands:[],userMessages:[],submitKey:u,onHasTextChange:D,onSubmit:Ee,canSubmitEmpty:Ve}),(0,Le.jsx)("button",{type:"button",className:"shiny-chat-btn-send",disabled:a||!N&&re.attachments.length===0,onClick:()=>{let J=k.current?.serializeEditor()??"";Ee(J)},"aria-label":"Save and resend",title:"Save and resend",dangerouslySetInnerHTML:{__html:O0}})]}),(0,Le.jsx)("button",{type:"button",className:"shiny-chat-edit-cancel-outside",onClick:()=>d?.(),children:"Cancel"})]}):(0,Le.jsxs)(Le.Fragment,{children:[Hn&&(0,Le.jsx)("div",{className:"shiny-chat-pending-indicator","data-exiting":Ge||void 0,"aria-hidden":"true",dangerouslySetInnerHTML:{__html:Mx}}),A&&Z,(0,Le.jsx)("div",{className:"shiny-chat-message-body","data-entering":Jt||void 0,children:(0,Le.jsxs)(NP,{children:[Ce,!A&&(0,Le.jsx)(q8,{})]})}),!A&&Z,t.cancelled&&(0,Le.jsx)("div",{className:"shiny-chat-message-cancelled",children:"Response cancelled"})]})}),A&&!c&&(i&&!a||t.siblings&&t.siblings.total>1)&&(0,Le.jsxs)("div",{className:"shiny-chat-message-footer",children:[t.siblings&&t.siblings.total>1&&(0,Le.jsxs)("div",{className:"shiny-chat-sibling-nav",children:[(0,Le.jsx)("button",{type:"button",disabled:t.siblings.index===0||a||s,onClick:()=>o?.(n,"prev"),"aria-label":"Previous version",children:"\u2039"}),(0,Le.jsxs)("span",{"aria-live":"polite",children:[t.siblings.index+1," / ",t.siblings.total]}),(0,Le.jsx)("button",{type:"button",disabled:t.siblings.index===t.siblings.total-1||a||s,onClick:()=>o?.(n,"next"),"aria-label":"Next version",children:"\u203A"})]}),i&&!a&&(0,Le.jsx)("button",{type:"button",className:"shiny-chat-edit-btn",onClick:()=>{O(!1),f?.(t.id)},"aria-label":"Edit message",title:"Edit message",dangerouslySetInnerHTML:{__html:qP}})]}),ft]})});var G8=q(pe(),1),K8=q(ie(),1),Yb=class extends G8.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t,n){console.warn("[shinychat] Error rendering message:",t,n)}render(){return this.state.hasError?(0,K8.jsx)("div",{className:"shiny-chat-message-error",role:"alert",children:"Error rendering message"}):this.props.children}};var Uc=q(ie(),1),Y8=(0,Ol.memo)(function({messages:t,iconAssistant:n,onEdit:r,onNavigate:i,siblingNavigationPending:o,disabled:s,inputId:a,submitKey:l,uploadAccept:u,maxUploadSize:c,enableUpload:f,thinkingShowAfter:d}){let[h,p]=(0,Ol.useState)(null),b=(0,Ol.useCallback)(g=>p(g),[]),y=(0,Ol.useCallback)(()=>p(null),[]);return(0,Uc.jsx)(Uc.Fragment,{children:t.map((g,E)=>(0,Uc.jsx)(Yb,{children:(0,Uc.jsx)(V8,{message:g,index:E,iconAssistant:n,onEdit:r,onNavigate:i,siblingNavigationPending:o,disabled:s,inputId:a,submitKey:l,uploadAccept:u,maxUploadSize:c,enableUpload:f,thinkingShowAfter:d,isEditing:g.id===h,onStartEdit:b,onCancelEdit:y})},g.id))})});var Ci=q(pe(),1);var qc=q(pe(),1);var $8=q(ie(),1);function W8({children:e}){let t=(0,qc.useRef)(null),n=(0,qc.useContext)(Tr);return(0,qc.useEffect)(()=>{let r=t.current;if(!(!r||!n))return n.bindAll(r),()=>{n.unbindAll(r)}},[n]),(0,$8.jsx)("div",{ref:t,style:{display:"contents"},children:e})}var Vc=q(ie(),1),j8=(0,Ci.memo)(function({greeting:t}){let n=Qs(),r=(0,Ci.useContext)(od),i=(0,Ci.useRef)(null),[o,s]=(0,Ci.useState)(!0),a=t.status==="dismissing";if((0,Ci.useEffect)(()=>{if(!o)return;if(n){s(!1);return}let c=i.current;if(!c)return;function f(d){d.animationName==="shiny-chat-greeting-reveal"&&s(!1)}return c.addEventListener("animationend",f),()=>c.removeEventListener("animationend",f)},[o,n]),(0,Ci.useEffect)(()=>{if(!a)return;if(n){r?.({type:"greeting_dismissed"});return}let c=i.current;if(!c)return;function f(d){d.animationName==="shiny-chat-greeting-dismiss"&&r?.({type:"greeting_dismissed"})}return c.addEventListener("animationend",f),()=>c.removeEventListener("animationend",f)},[a,n,r]),t.status==="dismissed")return null;let l=t.blocks.length-1;return(0,Vc.jsx)("div",{className:o?"shiny-chat-greeting shiny-chat-greeting--enter":"shiny-chat-greeting",ref:i,...a?{"data-dismissing":""}:{},children:(0,Vc.jsx)("div",{className:"shiny-chat-greeting-content",children:t.blocks.map((c,f)=>c.contentType==="html"?(0,Vc.jsx)(W8,{children:(0,Vc.jsx)(Xt,{content:c.content,contentType:"html",role:"assistant",streaming:t.streaming&&f===l,tagToComponentMap:Xs})},`${f}:${c.content}`):(0,Vc.jsx)(Xt,{content:c.content,contentType:c.contentType,role:"assistant",streaming:t.streaming&&f===l,tagToComponentMap:Xs},f))})})});var Dr=q(pe(),1);var Gc=q(ie(),1);function Eae(e,t){if(!e.startsWith("/"))return null;let n=e.slice(1),r=n.indexOf(" "),i=r===-1?n:n.slice(0,r),o=r===-1?"":n.slice(r+1).trim(),s=t.find(a=>a.name===i);return s?{command:i,userText:o,echo:s.echo}:null}var X8=(0,Dr.memo)((0,Dr.forwardRef)(function({transport:t,inputId:n,uploadAccept:r,maxUploadSize:i,disabled:o,hasTopShadow:s=!1,placeholder:a,onSend:l,userMessages:u,enableCancel:c,enableUpload:f,cancelRequested:d,isStreaming:h,onCancel:p,slashCommands:b=[],slashCommandId:y="",submitKey:g="enter",iconSend:E},T){let S=wm(),x=(0,Dr.useRef)(null),[v,N]=(0,Dr.useState)(!1),D=(0,Dr.useCallback)(()=>x.current?.focus(),[]),k=Gb({uploadAccept:r,maxUploadSize:i,enableUpload:f,focusEditor:D}),{attachments:A,onPaste:P,onDrop:G,getPayloads:U,applyPayloads:B,clearAttachments:L,resetAll:O}=k,F=(0,Dr.useCallback)(ge=>{let De=U();if(ge.trim().length===0&&De.length===0||o)return!1;let Ee=Eae(ge,b);if(Ee){let Ve=document.getElementById(n),Pe=Ve?.closest("shiny-chat-container")??null,Re={id:Pe?.getAttribute("effective-id")??Pe?.id??"",command:Ee.command,userText:Ee.userText,echo:Ee.echo},Te=new CustomEvent("shiny:chat-slash-command",{detail:Re,cancelable:!0,bubbles:!0});(Pe??Ve)?.dispatchEvent(Te);let Ae=Re.echo,le=Te.defaultPrevented;Ae&&S({type:"INPUT_SENT",content:ge,role:"user",awaitResponse:!le}),le||t.sendSlashCommand(y,Ee.command,Ee.userText,Ae)}else S({type:"INPUT_SENT",content:ge,role:"user",...De.length>0?{attachments:De}:{}}),t.sendInput(n,f?{text:ge,attachments:De}:ge),O();return l?.(),!0},[o,S,t,n,l,b,y,f,U,O]),I=(0,Dr.useCallback)(()=>U().length>0,[U]);(0,Dr.useImperativeHandle)(T,()=>({setInputValue(ge,{submit:De=!1,focus:Ee=!1,attachments:Ve,attachmentMode:Pe="append"}={}){let Re=x.current;if(!Re)return;if(!De){ge!==void 0?Re.setInputValue(ge,{focus:Ee}):Ee&&Re.focus(),Ve!==void 0&&B(Ve,Pe);return}let Te=Re.serializeEditor();ge!==void 0&&Re.setInputValue(ge);let Ae=Re.serializeEditor(),le=Ve??[],ye=Pe==="append"?[...U(),...le]:le;ye.length===0?F(Ae):!o&&ye.length>0&&(S({type:"INPUT_SENT",content:Ae,role:"user",attachments:ye}),t.sendInput(n,f?{text:Ae,attachments:ye}:Ae),l?.()),ge!==void 0?Re.setInputValue(Te,{focus:Ee}):Ee&&Re.focus(),Ve!==void 0&&L()},focus(){x.current?.focus()}}),[o,S,t,n,f,l,F,B,U,L]);let z=v||A.length>0,_=d?"cancelling":c&&h?"cancel":o?"pending":z?"ready":"empty",oe=_==="cancel"?FP:_==="pending"||_==="cancelling"?zP:E??O0,re=_==="cancel"?"Stop generating":_==="pending"||_==="cancelling"?"Loading":"Send message",C=_==="empty",se=_==="pending"||_==="cancelling";return(0,Gc.jsxs)("div",{className:"shiny-chat-input-dropzone",onDropCapture:G,onDragOver:ge=>ge.preventDefault(),onPasteCapture:P,children:[(0,Gc.jsx)(Kb,{staging:k,uploadAccept:r,maxUploadSize:i,enableUpload:f,disabled:o}),(0,Gc.jsx)(Vb,{ref:x,inputId:n,placeholder:a,hasTopShadow:s,slashCommands:b,onHasTextChange:N,onSubmit:F,userMessages:u,submitKey:g,canSubmitEmpty:I}),(0,Gc.jsx)("button",{type:"button",className:"shiny-chat-btn-send","data-state":_,title:re,"aria-label":re,disabled:C,"aria-disabled":se||void 0,tabIndex:se?-1:void 0,onClick:_==="cancel"?p:_==="ready"?()=>{let ge=x.current?.serializeEditor()??"";F(ge)&&(x.current?.setInputValue(""),x.current?.focus())}:void 0,dangerouslySetInnerHTML:{__html:oe}})]})}));var C_=q(ie(),1);function Q8({isAtBottom:e,scrollToBottom:t,streaming:n}){return e?null:(0,C_.jsx)("button",{type:"button",className:n?"shiny-chat-scroll-to-bottom streaming":"shiny-chat-scroll-to-bottom",title:"Scroll to bottom","aria-label":"Scroll to bottom",onClick:()=>t(),children:(0,C_.jsx)("span",{dangerouslySetInnerHTML:{__html:vc}})})}var Kc=q(pe(),1),Xn=q(ie(),1);function Z8({url:e,onProceed:t,onAlways:n,onCancel:r}){let i=(0,Kc.useRef)(null),o=(0,Kc.useRef)(t);o.current=t;let s=(0,Kc.useRef)(r);return s.current=r,(0,Kc.useEffect)(()=>{let a=i.current;if(!a)return;try{a.showModal()}catch{o.current()}let l=c=>{c.target===a&&s.current()},u=()=>{s.current()};return a.addEventListener("click",l),a.addEventListener("cancel",u),()=>{a.removeEventListener("click",l),a.removeEventListener("cancel",u)}},[]),(0,Xn.jsx)("dialog",{ref:i,className:"shiny-chat-external-link-dialog",children:(0,Xn.jsx)("div",{className:"modal position-relative d-block fade show",children:(0,Xn.jsxs)("div",{className:"modal-content",children:[(0,Xn.jsxs)("div",{className:"modal-header",children:[(0,Xn.jsx)("h5",{className:"modal-title",children:"External Link"}),(0,Xn.jsx)("button",{className:"btn-close shiny-chat-btn-close","data-bs-dismiss":"modal","aria-label":"Close",onClick:r})]}),(0,Xn.jsxs)("div",{className:"modal-body",children:[(0,Xn.jsx)("p",{children:"This link will take you to an external website:"}),(0,Xn.jsx)("p",{className:"link-url text-break",children:e})]}),(0,Xn.jsxs)("div",{className:"modal-footer flex-wrap-reverse",children:[(0,Xn.jsx)("button",{className:"btn btn-sm btn-link shiny-chat-btn-always ps-0 me-auto",onClick:n,children:"Always open external links"}),(0,Xn.jsxs)("div",{className:"d-flex gap-2 justify-content-end",children:[(0,Xn.jsx)("button",{autoFocus:!0,className:"btn btn-sm btn-primary shiny-chat-btn-proceed",onClick:t,children:"Open Link"}),(0,Xn.jsx)("button",{className:"btn btn-sm btn-outline-danger shiny-chat-btn-cancel",onClick:r,children:"Cancel"})]})]})]})})})}var Yc=q(pe(),1);var J8=q(ie(),1);function w_({source:e,className:t}){let n=(0,Yc.useRef)(null),r=(0,Yc.useContext)(Tr);return(0,Yc.useEffect)(()=>{let i=n.current;if(i){for(r&&r.unbindAll(e);e.firstChild;)i.appendChild(e.firstChild);return r&&r.bindAll(i),()=>{for(r&&r.unbindAll(i);i.firstChild;)e.appendChild(i.firstChild)}}},[e,r]),(0,J8.jsx)("div",{ref:n,className:t})}var Be=q(pe(),1);var nF=["resize-request","resize-start","resize-end"],Wb="shiny-chat-resize-handle",eF="bslib-resize-handle";var N_={value:0,min:0,max:0,panelSide:"inline-end",disabled:!0,label:"Resize panel",step:10,largeStep:50,boundaryActivation:!1};function tF(e,t,n){return Math.round(Math.min(Math.max(e,t),n))}function Tae(e){if(!e)return!1;let t=e;return typeof t.prototype.configure=="function"&&nF.every(n=>t.resizeHandleEvents?.includes(n))}function M_(e=customElements,t={}){return t.boundaryActivation?{name:"local",tagName:Wb}:Tae(e.get(eF))?{name:"bslib",tagName:eF}:{name:"local",tagName:Wb}}function rF(e={}){let t=M_(customElements,e),n=document.createElement(t.tagName);return n.dataset.shinyChatResizeHandleProvider=t.name,n}var k_=class extends HTMLElement{static resizeHandleEvents=nF;options=N_;listenerAbort=null;boundaryListenerAbort=null;activeTouchAbort=null;pointer;previousBoundaryPointerX;connectedCallback(){if(this.listenerAbort)return;this.ensureBoundaryIndicator(),this.resetBoundaryPointer();let t=new AbortController;this.listenerAbort=t;let n={signal:t.signal};this.addEventListener("pointerdown",this.onPointerDown,n),this.addEventListener("pointermove",this.onPointerMove,n),this.addEventListener("pointerup",this.onPointerEnd,n),this.addEventListener("pointercancel",this.onPointerEnd,n),this.addEventListener("lostpointercapture",this.onPointerEnd,n),this.addEventListener("keydown",this.onKeyDown,n),this.syncBoundaryListeners()}disconnectedCallback(){this.finishPointer(),this.deactivateBoundary(),this.resetBoundaryPointer(),this.boundaryListenerAbort?.abort(),this.boundaryListenerAbort=null,this.activeTouchAbort?.abort(),this.activeTouchAbort=null,this.listenerAbort?.abort(),this.listenerAbort=null}configure(t){let n=Math.round(t.min),r=Math.max(n,Math.round(t.max));this.options={...t,min:n,max:r,value:tF(t.value,n,r),step:t.step??N_.step,largeStep:t.largeStep??N_.largeStep},this.setAttribute("role","separator"),this.setAttribute("aria-orientation","vertical"),this.setAttribute("aria-label",this.options.label),this.setAttribute("aria-keyshortcuts","ArrowLeft ArrowRight Home End"),this.setAttribute("aria-valuemin",n.toString()),this.setAttribute("aria-valuemax",r.toString()),this.setAttribute("aria-valuenow",this.options.value.toString()),this.setAttribute("aria-valuetext",`${this.options.value} pixels`),this.setAttribute("aria-disabled",this.options.disabled?"true":"false"),this.tabIndex=this.options.disabled?-1:0,this.toggleAttribute("data-disabled",this.options.disabled),this.toggleAttribute("data-boundary-activation",this.options.boundaryActivation),this.dataset.panelSide=this.options.panelSide,this.title=this.options.label,this.syncBoundaryListeners(),this.options.disabled?(this.finishPointer(),this.deactivateBoundary(),this.resetBoundaryPointer()):this.options.boundaryActivation||(this.deactivateBoundary(),this.resetBoundaryPointer())}onPointerDown=t=>{let n=t;this.options.disabled||this.pointer||n.button!==0||n.isPrimary===!1||this.options.boundaryActivation&&!this.hasAttribute("data-boundary-armed")&&!R_(n)&&!this.isDirectBoundaryIndicator(n.target)||this.beginPointer(n)};beginPointer(t){if(t.preventDefault(),this.resetBoundaryPointer(),this.options.boundaryActivation&&this.setAttribute("data-boundary-armed",""),this.pointer={id:t.pointerId,startX:t.clientX,startValue:this.options.value,pointerType:t.pointerType},this.setPointerCapture?.(t.pointerId),t.pointerType==="touch"){let n=new AbortController;this.activeTouchAbort=n,document.addEventListener("touchmove",this.onDocumentTouchMove,{signal:n.signal,capture:!0,passive:!1})}this.toggleAttribute("data-resizing",!0),this.emit("resize-start",{source:"pointer"})}onDocumentPointerDown=t=>{let n=t;this.resetBoundaryPointer(),!(!this.options.boundaryActivation||this.options.disabled||this.pointer||n.button!==0||n.isPrimary===!1||!R_(n)||!this.isWithinHitTarget(n.clientX,n.clientY))&&this.beginPointer(n)};onDocumentTouchStart=t=>{let n=t;if(this.resetBoundaryPointer(),!this.options.boundaryActivation||this.options.disabled||this.pointer||n.touches.length!==1)return;let r=n.changedTouches[0];r&&this.isWithinHitTarget(r.clientX,r.clientY)&&n.preventDefault()};onDocumentTouchMove=t=>{let n=t;this.pointer?.pointerType==="touch"&&n.touches.length===1&&n.preventDefault()};onPointerMove=t=>{let n=t,r=this.pointer;if(!r||n.pointerId!==r.id)return;n.preventDefault();let i=this.panelIsLeft()?1:-1,o=r.startValue+i*(n.clientX-r.startX);this.request(o,"pointer")};onDocumentPointerMove=t=>{let n=t;if(!this.options.boundaryActivation||this.options.disabled||this.pointer||R_(n)){this.resetBoundaryPointer();return}if(this.boundary()===void 0){this.resetBoundaryPointer();return}if(this.hasAttribute("data-boundary-armed")){this.previousBoundaryPointerX=n.clientX,this.isWithinBoundaryTarget(n.clientX,n.clientY,24)||this.deactivateBoundary();return}let i=this.previousBoundaryPointerX;this.previousBoundaryPointerX=n.clientX,(this.isWithinBoundaryProximity(n.clientX,n.clientY)||i!==void 0&&this.segmentCrossesBoundaryProximity(i,n.clientX,n.clientY))&&this.setAttribute("data-boundary-armed","")};onPointerEnd=t=>{let n=t;this.pointer?.id===n.pointerId&&this.finishPointer()};onKeyDown=t=>{let n=t;if(this.options.disabled)return;let r=n.shiftKey?this.options.largeStep:this.options.step,i=this.options.value,o=this.panelIsLeft()?1:-1;switch(n.key){case"ArrowLeft":i-=o*r;break;case"ArrowRight":i+=o*r;break;case"Home":i=this.options.min;break;case"End":i=this.options.max;break;default:return}n.preventDefault(),this.emit("resize-start",{source:"keyboard"}),this.request(i,"keyboard"),this.emit("resize-end",{source:"keyboard"})};request(t,n){let r=tF(t,this.options.min,this.options.max);this.options={...this.options,value:r},this.setAttribute("aria-valuenow",r.toString()),this.setAttribute("aria-valuetext",`${r} pixels`),this.emit("resize-request",{value:r,source:n})}finishPointer(){let t=this.pointer;t&&(this.pointer=void 0,this.activeTouchAbort?.abort(),this.activeTouchAbort=null,this.hasPointerCapture?.(t.id)&&this.releasePointerCapture(t.id),this.removeAttribute("data-resizing"),this.deactivateBoundary(),this.resetBoundaryPointer(),this.emit("resize-end",{source:"pointer"}))}boundary(){let t=this.getBoundingClientRect();if(!(t.width<=0))return this.panelIsLeft()?t.right:t.left}isWithinHitTarget(t,n){let r=this.getBoundingClientRect();return t>=r.left&&t<=r.right&&n>=r.top&&n<=r.bottom}isWithinBoundaryTarget(t,n,r){let i=this.getBoundingClientRect(),o=this.boundary();return o===void 0?!1:Math.abs(t-o)<=r/2&&n>=i.top&&n<=i.bottom}isWithinBoundaryProximity(t,n){return this.isWithinBoundaryTarget(t,n,this.boundaryActivationWidth())}segmentCrossesBoundaryProximity(t,n,r){let i=this.boundary();if(i===void 0||!this.isWithinBoundaryVerticalRange(r))return!1;let o=this.boundaryActivationWidth()/2;return Math.min(t,n)<=i+o&&Math.max(t,n)>=i-o}boundaryActivationWidth(){return 4}isWithinBoundaryVerticalRange(t){let n=this.getBoundingClientRect();return t>=n.top&&t<=n.bottom}isDirectBoundaryIndicator(t){return t instanceof Element&&t.closest("[data-shiny-chat-resize-indicator]")!==null}ensureBoundaryIndicator(){if(this.querySelector(":scope > [data-shiny-chat-resize-indicator]"))return;let t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.dataset.shinyChatResizeIndicator="",this.append(t)}panelIsLeft(){let t=window.getComputedStyle(this.parentElement??this).direction;return this.options.panelSide==="inline-end"==(t!=="rtl")}deactivateBoundary(){this.removeAttribute("data-boundary-armed")}resetBoundaryPointer(){this.previousBoundaryPointerX=void 0}syncBoundaryListeners(){if(this.boundaryListenerAbort?.abort(),this.boundaryListenerAbort=null,!this.listenerAbort||!this.options.boundaryActivation||this.options.disabled)return;let t=new AbortController;this.boundaryListenerAbort=t;let n={signal:t.signal,capture:!0};document.addEventListener("pointerdown",this.onDocumentPointerDown,n),document.addEventListener("touchstart",this.onDocumentTouchStart,{...n,passive:!1}),document.addEventListener("pointermove",this.onDocumentPointerMove,n)}emit(t,n){this.dispatchEvent(new CustomEvent(t,{bubbles:!0,composed:!0,detail:n}))}};function R_(e){return e.pointerType==="touch"}customElements.get(Wb)||customElements.define(Wb,k_);var wi=q(ie(),1),jb=240,sF=360,aF=24,iF=180,D_=jb+sF+aF+16;function $b(e,t){return Math.round(Math.min(Math.max(e,jb),t))}function O_(e){let t=/^\s*(\d+(?:\.\d+)?)px\s*$/i.exec(e);return t?Number.parseFloat(t[1]):void 0}function oF(){window.dispatchEvent(new Event("resize"))}function Sae(){return(0,wi.jsx)("svg",{"aria-hidden":"true",viewBox:"0 0 16 16",width:"16",height:"16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,wi.jsx)("path",{d:"m3 3 10 10M13 3 3 13"})})}function vae({content:e,htmlDeps:t,source:n,visible:r}){let i=(0,Be.useRef)(null),o=(0,Be.useContext)(Tr),s=(0,Be.useRef)(n),a=(0,Be.useRef)(e),l=(0,Be.useRef)(!1),u=(0,Be.useRef)(0),c=(0,Be.useRef)(null),f=(0,Be.useRef)(o);f.current=o;let d=(0,Be.useRef)(r);return d.current=r,(0,Be.useLayoutEffect)(()=>{let h=i.current;if(!h)return;let p=u.current+1;u.current=p;let b=!1,y=()=>u.current===p,g=document.createElement("div");return g.className="shiny-chat-drawer-generation",(async()=>{let T=c.current;if(T&&(o?.unbindAll(T),T.remove()),c.current=g,h.replaceChildren(g),t.length>0&&await o?.renderDependencies(t),b||!y())return;let S=s.current;if(!l.current&&S&&e===a.current){for(;S.firstChild;)g.appendChild(S.firstChild);l.current=!0}else g.innerHTML=e;if(!(b||!y()||!g.hasChildNodes())){if(await o?.bindAll(g),!y()){o?.unbindAll(g),g.remove();return}if(b){o?.unbindAll(g),g.remove(),c.current===g&&(c.current=null);return}d.current&&oF()}})(),()=>{b=!0}},[e,t,o]),(0,Be.useEffect)(()=>{let h=i.current;return()=>{u.current+=1;let p=c.current;!h||!p||(c.current=null,f.current?.unbindAll(p),p.remove())}},[]),(0,Be.useEffect)(()=>{r&&oF()},[r]),(0,wi.jsx)("div",{ref:i,className:"shiny-chat-drawer-content"})}function lF({drawer:e,source:t,panelId:n,titleId:r,takeover:i,closeButtonRef:o,onClose:s,onWidthChange:a,onPresentationChange:l,onResizeStateChange:u}){let c=(0,Be.useRef)(null),f=Qs(),[d,h]=(0,Be.useState)(e.visible),[p,b]=(0,Be.useState)(e.visible?"open":"closed"),[y,g]=(0,Be.useState)(!1),E=(0,Be.useRef)(e.visible),T=(0,Be.useRef)(null),S=(0,Be.useRef)(null),x=(0,Be.useRef)(null),[v,N]=(0,Be.useState)(e.visible),[D,k]=(0,Be.useState)(()=>e.width||"400px"),[A,P]=(0,Be.useState)(840),[G,U]=(0,Be.useState)(()=>O_(e.width||"400px")??400),[B]=(0,Be.useState)(()=>M_(customElements,{boundaryActivation:!0})),L=(0,Be.useRef)(null),O=(0,Be.useRef)(null);(0,Be.useLayoutEffect)(()=>{let C=E.current;if(T.current!==null&&(window.cancelAnimationFrame(T.current),T.current=null),S.current!==null&&(window.clearTimeout(S.current),S.current=null),x.current!==null&&(!e.visible||!C)&&(window.clearTimeout(x.current),x.current=null),E.current=e.visible,e.visible){h(!0),C?b("open"):(b("opening"),f||i?N(!0):(N(!1),x.current=window.setTimeout(()=>{x.current=null,N(!0)},iF)),T.current=window.requestAnimationFrame(()=>{T.current=null,b("open")}));return}if(O.current=null,g(!1),N(!1),!C){h(!1),b("closed");return}if(b("closing"),f||i){h(!1),b("closed");return}S.current=window.setTimeout(()=>{S.current=null,h(!1),b("closed")},iF)},[e.visible,f,i]),(0,Be.useEffect)(()=>{l?.(d)},[l,d]),(0,Be.useEffect)(()=>{u?.(y)},[u,y]),(0,Be.useEffect)(()=>()=>{T.current!==null&&window.cancelAnimationFrame(T.current),S.current!==null&&window.clearTimeout(S.current),x.current!==null&&window.clearTimeout(x.current)},[]);let F=(0,Be.useCallback)(()=>{let fe=c.current?.closest("shiny-chat-container")?.getBoundingClientRect().width??0;return fe<=0?840:Math.max(jb,fe-sF-aF)},[]),I=(0,Be.useCallback)(()=>{let C=c.current;if(!C||!e.visible)return;let se=F();P(se);let ge=C.closest(".shiny-chat-layout")?.getBoundingClientRect().width??0,De=Math.round(C.getBoundingClientRect().width),Ee=O_(e.width);if(i||ge>0&&ge{I();let C=c.current,se=C?.closest("shiny-chat-container");if(!se||typeof ResizeObserver>"u")return;let fe=new ResizeObserver(I);fe.observe(se);let ge=C?.closest(".shiny-chat-layout");return ge&&ge!==se&&fe.observe(ge),()=>fe.disconnect()},[I]);let z=O_(D)??G,_=(0,Be.useCallback)(C=>{let se=$b(C,F());O.current=se,k(`${se}px`),U(se),a(`${se}px`)},[F,a]);(0,Be.useLayoutEffect)(()=>{let C=L.current;if(!C)return;C.configure({value:z,min:jb,max:A,panelSide:"inline-start",disabled:!e.resizable||i||!e.visible,label:"Resize drawer panel",boundaryActivation:!0});let se=De=>{_(De.detail.value)},fe=()=>g(!0),ge=()=>g(!1);return C.addEventListener("resize-request",se),C.addEventListener("resize-start",fe),C.addEventListener("resize-end",ge),()=>{C.removeEventListener("resize-request",se),C.removeEventListener("resize-start",fe),C.removeEventListener("resize-end",ge)}},[e.resizable,e.visible,z,A,_,i]);let oe=e.title||"Drawer",re={"--_drawer-width":D};return(0,wi.jsxs)("aside",{ref:c,id:n,className:"shiny-chat-drawer","aria-labelledby":r,"aria-hidden":!e.visible||void 0,hidden:!d,"data-takeover":i?"":void 0,"data-motion":p,"data-drawer-resizing":y?"":void 0,style:re,children:[e.resizable&&!i&&(0,Be.createElement)(B.tagName,{ref:L,className:"shiny-chat-drawer-resizer","data-shiny-chat-resize-handle-provider":B.name}),(0,wi.jsxs)("div",{className:"shiny-chat-drawer-header",children:[(0,wi.jsx)("h2",{id:r,children:oe}),(0,wi.jsx)("button",{ref:o,type:"button",className:"shiny-chat-drawer-close","aria-label":"Close drawer",onClick:s,children:(0,wi.jsx)(Sae,{})})]}),(0,wi.jsx)(vae,{content:e.content,htmlDeps:e.htmlDeps,source:t,visible:e.visible})]})}var it=q(pe(),1);var me=q(ie(),1),xae=300,Aae=["--shiny-chat-history-accent","--shiny-chat-history-bg","--shiny-chat-history-border-color","--shiny-chat-history-item-hover-bg","--shiny-chat-history-item-active-bg","--_history-accent","--_history-bg","--_history-border-color","--_history-muted","--_history-fg","--_history-danger","--_history-item-hover-bg","--_history-item-active-bg"],uF=it.default.createContext(null);function cF({isOpen:e,onClose:t,triggerRef:n,children:r}){let[i,o]=(0,it.useState)(e),[s,a]=(0,it.useState)(!1),l=(0,it.useRef)(e);l.current=i;let u=Qs(),c=(0,it.useRef)(null),[f,d]=(0,it.useState)(null),h=(0,it.useCallback)(()=>{t()},[t]),p=(0,it.useCallback)(()=>{o(!1),a(!1),n.current?.focus({preventScroll:!0})},[n]);(0,it.useEffect)(()=>{e?(o(!0),a(!1)):l.current&&a(!0)},[e]),(0,it.useEffect)(()=>{if(!s)return;if(u){p();return}let y=setTimeout(p,xae);return()=>clearTimeout(y)},[s,u,p]),(0,it.useEffect)(()=>{if(!i||s)return;let y=c.current;if(!y)return;let g=E=>{if(E.key==="Escape"){if(E.defaultPrevented)return;E.preventDefault(),E.stopPropagation(),h();return}if(E.key==="Tab"){let T=y.querySelectorAll('button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex="-1"]):not([data-floating-ui-focus-guard])');if(T.length===0)return;let S=T[0],x=T[T.length-1],v=document.activeElement===y;E.shiftKey&&(document.activeElement===S||v)?(E.preventDefault(),x.focus()):!E.shiftKey&&document.activeElement===x&&(E.preventDefault(),S.focus())}};return document.addEventListener("keydown",g),()=>document.removeEventListener("keydown",g)},[i,s,h]),(0,it.useEffect)(()=>{i&&!s&&c.current?.focus({preventScroll:!0})},[i,s]);function b(y){y.target===y.currentTarget&&s&&p()}return i?(0,me.jsx)("div",{ref:c,onKeyDown:y=>{y.key==="Escape"&&(y.preventDefault(),y.stopPropagation(),h())},className:"shiny-chat-history","data-closing":s||void 0,role:"dialog","aria-modal":"true","aria-label":"Conversation history",tabIndex:-1,children:(0,me.jsxs)(uF.Provider,{value:f,children:[(0,me.jsx)("div",{className:"shiny-chat-history-scrim",onClick:h}),(0,me.jsxs)("div",{className:"shiny-chat-history-drawer",onAnimationEnd:b,children:[(0,me.jsxs)("div",{className:"shiny-chat-history-header",children:[(0,me.jsx)("h2",{className:"shiny-chat-history-title",children:"History"}),(0,me.jsx)("button",{type:"button",className:"shiny-chat-history-close","aria-label":"Close history",onClick:h,children:(0,me.jsx)(dF,{})})]}),r]}),(0,me.jsx)("div",{ref:d})]})}):null}function Xb({conversations:e,activeId:t,busy:n,connected:r=!0,onSelect:i,onNew:o,onRename:s,onDelete:a,onActionComplete:l}){let[u,c]=(0,it.useState)(""),[f,d]=(0,it.useState)(null),[h,p]=(0,it.useState)(null),[b,y]=(0,it.useState)(null),g=(0,it.useRef)(null),E=(0,it.useRef)(null),T=it.default.useContext(uF),S=(0,it.useMemo)(()=>{let k=u.trim().toLowerCase();return k?e.filter(A=>A.title.toLowerCase().includes(k)):e},[e,u]),x=(0,it.useMemo)(()=>Cae(S),[S]);function v(k){n||!r||(i(k),l?.())}function N(){n||!r||(o(),l?.())}let D=(0,it.useCallback)(()=>b?(y(null),!0):f?(d(null),!0):!1,[b,f]);return(0,it.useEffect)(()=>{if(!f&&!b)return;let k=A=>{A.key==="Escape"&&(A.preventDefault(),A.stopPropagation(),D())};return window.addEventListener("keydown",k,!0),()=>window.removeEventListener("keydown",k,!0)},[f,b,D]),(0,me.jsxs)("div",{ref:E,onKeyDown:k=>{k.key==="Escape"&&D()&&(k.preventDefault(),k.stopPropagation())},children:[(0,me.jsxs)("div",{className:"shiny-chat-history-toprow",children:[(0,me.jsxs)("button",{type:"button",className:"shiny-chat-history-new",disabled:n||!r,title:n?"Wait for the response to finish":r?void 0:"History is unavailable while chat reconnects","aria-label":"New conversation",onClick:N,children:[(0,me.jsx)(Nae,{}),"New"]}),(0,me.jsxs)("span",{className:"shiny-chat-history-search-wrap",children:[(0,me.jsx)("span",{className:"shiny-chat-history-search-icon",children:(0,me.jsx)(Rae,{})}),(0,me.jsx)("input",{className:"shiny-chat-history-search form-control",ref:g,placeholder:"Search\u2026",value:u,onChange:k=>c(k.target.value),"aria-label":"Search conversations"})]})]}),(0,me.jsxs)("div",{className:"shiny-chat-history-list",children:[S.length===0&&(0,me.jsx)("div",{className:"shiny-chat-history-empty",children:u.trim()?"No conversations found":"No conversations yet"}),x.map(([k,A])=>(0,me.jsxs)(it.default.Fragment,{children:[(0,me.jsx)("div",{className:"shiny-chat-history-section",children:k}),A.map(P=>(0,me.jsx)(_ae,{meta:P,active:P.id===t,busy:n,connected:r,portalRoot:T??E.current,menuOpen:f===P.id,renaming:h===P.id,confirmingDelete:b===P.id,onMenuOpenChange:G=>d(G?P.id:null),onStartRename:()=>{r&&(p(P.id),d(null))},onStartDelete:()=>{n||!r||(y(P.id),d(null))},onCancelEdit:()=>{p(null),y(null)},onRename:G=>{r&&(s(P.id,G),p(null))},onDelete:()=>{n||!r||(a(P.id),y(null))},onSelect:()=>v(P.id)},P.id))]},k))]})]})}function _ae({meta:e,active:t,busy:n,connected:r,portalRoot:i,menuOpen:o,renaming:s,confirmingDelete:a,onMenuOpenChange:l,onStartRename:u,onStartDelete:c,onCancelEdit:f,onRename:d,onDelete:h,onSelect:p}){let[b,y]=(0,it.useState)(e.title),{refs:g,floatingStyles:E,context:T}=C0({open:o,onOpenChange:l,strategy:"fixed",placement:"bottom-end",middleware:[pc(4),eh(),Jd({padding:8,crossAxis:!0})],whileElementsMounted:hc}),S=A0(T),x=_0(T,{outsidePressEvent:"mousedown"}),{getReferenceProps:v,getFloatingProps:N}=w0([S,x]),D=o?Tc(g.domReference.current,Aae):null;return(0,it.useEffect)(()=>{s||y(e.title)},[e.title,s]),s?(0,me.jsx)("div",{className:"shiny-chat-history-item",children:(0,me.jsx)("input",{className:"shiny-chat-history-rename-input form-control form-control-sm",autoFocus:!0,disabled:!r,value:b,onChange:k=>y(k.target.value),onKeyDown:k=>{if(k.key==="Enter"){if(!b.trim())return;d(b);return}k.key==="Escape"&&(k.preventDefault(),k.stopPropagation(),f())},onBlur:f,"aria-label":"Rename conversation"})}):(0,me.jsxs)("div",{className:`shiny-chat-history-item${t?" active":""}`,children:[(0,me.jsxs)("button",{type:"button",className:"shiny-chat-history-item-select",disabled:n||!r,title:n?"Wait for the response to finish":r?void 0:"History is unavailable while chat reconnects",onClick:p,children:[(0,me.jsx)("span",{className:"shiny-chat-history-item-title",children:e.title}),(0,me.jsx)("span",{className:"shiny-chat-history-item-time",children:wae(e.created_at)})]}),a?(0,me.jsxs)("span",{className:"shiny-chat-history-confirm",children:["Delete?",(0,me.jsx)("button",{type:"button",className:"shiny-chat-history-confirm-yes",disabled:n||!r,onClick:h,"aria-label":"Confirm delete",children:(0,me.jsx)(kae,{})}),(0,me.jsx)("button",{type:"button",className:"shiny-chat-history-confirm-no",onClick:f,"aria-label":"Cancel delete",children:(0,me.jsx)(dF,{})})]}):(0,me.jsxs)("span",{className:"shiny-chat-history-itemmenu","data-menu-id":e.id,"data-menu-open":o||void 0,children:[(0,me.jsx)("button",{ref:g.setReference,type:"button","aria-label":"Conversation actions",disabled:!r,title:r?void 0:"History is unavailable while chat reconnects",...v(),children:(0,me.jsx)(Mae,{})}),o&&(0,me.jsx)(bc,{root:i,children:(0,me.jsx)(yc,{context:T,modal:!1,initialFocus:-1,returnFocus:!0,children:(0,me.jsxs)("div",{ref:g.setFloating,className:"shiny-chat-history-menu",style:{...D?.style,...E},"data-bs-theme":D?.theme,...N(),children:[(0,me.jsxs)("button",{type:"button",disabled:!r,title:r?void 0:"History is unavailable while chat reconnects",onClick:u,children:[(0,me.jsx)(Oae,{}),"Rename"]}),(0,me.jsxs)("button",{type:"button",className:"shiny-chat-history-menu-danger",disabled:n||!r,title:n?"Wait for the response to finish":r?void 0:"History is unavailable while chat reconnects",onClick:c,children:[(0,me.jsx)(Dae,{}),"Delete"]})]})})})]})]})}function Cae(e){let t=new Date;t.setHours(0,0,0,0);let n=new Date(t);n.setDate(n.getDate()-7);let r=[],i=[],o=[];for(let a of e){let l=new Date(a.created_at);l>=t?r.push(a):l>=n?i.push(a):o.push(a)}let s=[];return r.length&&s.push(["Today",r]),i.length&&s.push(["Last 7 days",i]),o.length&&s.push(["Previous",o]),s}function wae(e){let t=new Date(e),n=new Date;return n.setHours(0,0,0,0),t>=n?t.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}):t.toLocaleDateString(void 0,{month:"short",day:"numeric"})}function fF(){return(0,me.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,me.jsx)("path",{d:"M2.5 3v3h3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,me.jsx)("path",{d:"M2.75 6A5.5 5.5 0 1 1 3 9.6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),(0,me.jsx)("path",{d:"M8 5v3.2l2.2 1.3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Nae(){return(0,me.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,me.jsx)("path",{d:"M8 2.5H3.5A1.5 1.5 0 0 0 2 4v8.5A1.5 1.5 0 0 0 3.5 14H12a1.5 1.5 0 0 0 1.5-1.5V8",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),(0,me.jsx)("path",{d:"M11.7 2.3a1.2 1.2 0 0 1 1.7 1.7L8 9.4l-2.3.6.6-2.3 5.4-5.4z",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}function Rae(){return(0,me.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,me.jsx)("circle",{cx:"7",cy:"7",r:"4.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,me.jsx)("path",{d:"m10.5 10.5 3 3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function dF(){return(0,me.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,me.jsx)("path",{d:"m4 4 8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})}function kae(){return(0,me.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,me.jsx)("path",{d:"m3.5 8.5 3 3 6-7",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}function Mae(){return(0,me.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",children:[(0,me.jsx)("circle",{cx:"3.5",cy:"8",r:"1.35"}),(0,me.jsx)("circle",{cx:"8",cy:"8",r:"1.35"}),(0,me.jsx)("circle",{cx:"12.5",cy:"8",r:"1.35"})]})}function Oae(){return(0,me.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,me.jsx)("path",{d:"M11.7 2.3a1.2 1.2 0 0 1 1.7 1.7l-8 8-2.8.9.9-2.8 8.2-8.2z",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"}),(0,me.jsx)("path",{d:"m10.5 3.5 2 2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})]})}function Dae(){return(0,me.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,me.jsx)("path",{d:"M3 4.5h10M6.5 4.5V3a.8.8 0 0 1 .8-.8h1.4a.8.8 0 0 1 .8.8v1.5M4.5 4.5l.5 8a1 1 0 0 0 1 .95h4a1 1 0 0 0 1-.95l.5-8M6.75 7v3.75M9.25 7v3.75",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}var hF=q(pe(),1);function pF(e){(0,hF.useEffect)(()=>{let t=e.current?.closest("shiny-chat-container");if(!t?.hasAttribute("fill")||!t.classList.contains("html-fill-item"))return;let n=null,r="",i=t;for(;i.parentElement instanceof HTMLElement&&i.parentElement.classList.contains("html-fill-container")&&i.parentElement.children.length===1;){i=i.parentElement;let s=getComputedStyle(i).paddingLeft;if(parseFloat(s)>0){n=i,r=s;break}}if(!n)return;let o=n.style.padding;return n.style.padding="0",t.style.setProperty("--shiny-chat-fill-padding",r),()=>{n.style.padding=o,t.style.removeProperty("--shiny-chat-fill-padding")}},[e])}var Qb=q(pe(),1);function mF(e,t){let n=(0,Qb.useRef)(t);n.current=t;let{enabled:r=!0,boundarySelector:i}=t;(0,Qb.useEffect)(()=>{if(!r)return;let o=e.current;if(!o)return;let s=o.closest(i);if(!s)return;let a=()=>{let{shiftProperty:h,side:p,gap:b=8,maxShiftFraction:y=1/3,shouldSkip:g}=n.current;if(g?.(s))return;let E=(typeof p=="function"?p(s):p)==="right";o.style.setProperty(h,"0px");let T=o.getBoundingClientRect();if(T.width===0||T.height===0)return;let S=E?T.right-1:T.left+1,x=[T.top+2,T.top+T.height/2,T.bottom-2],v=null;for(let k of x){let A=document.elementsFromPoint(S,k).find(U=>!s.contains(U)&&!U.contains(s));if(!A)continue;let P=A.getBoundingClientRect(),G=E?P.left:P.right;v=v===null?G:E?Math.min(v,G):Math.max(v,G)}if(v===null)return;let N=E?T.right-v+b:v-T.left+b;if(N<=0)return;let D=s.clientWidth*y;o.style.setProperty(h,`${Math.min(N,D)}px`)};a();let l=new ResizeObserver(a);l.observe(s),window.addEventListener("resize",a);let u=s.closest(".bslib-sidebar-layout");u?.addEventListener("transitionend",a);let c=u?new MutationObserver(a):null;c?.observe(u,{attributes:!0,attributeFilter:["class"]});let{watchMutations:f}=n.current,d=f?new MutationObserver(a):null;return d?.observe(s,f),()=>{l.disconnect(),window.removeEventListener("resize",a),u?.removeEventListener("transitionend",a),c?.disconnect(),d?.disconnect()}},[r,i,e])}var at=q(ie(),1),L_=400,gF=240,Iae=360,Lae=24,bF=120;function I_(e){window.open(e,"_blank","noopener,noreferrer")}function Pae(e,t,n){let r=t.getBoundingClientRect().width;if(r<=0)return`${L_}px`;let i=/^\s*(\d+(?:\.\d+)?)px\s*$/i.exec(e),o=/^\s*(\d+(?:\.\d+)?)%\s*$/.exec(e),s=i?Number.parseFloat(i[1]):o?r*Number.parseFloat(o[1])/100:NaN;Number.isFinite(s)||(s=n?.getBoundingClientRect().width??NaN),(!Number.isFinite(s)||s<=0)&&(s=L_);let a=Math.max(gF,r-Iae-Lae);return`${Math.round(Math.min(Math.max(s,gF),a))}px`}function Bae(){return(0,at.jsxs)("svg",{"aria-hidden":"true",viewBox:"0 0 16 16",width:"16",height:"16",fill:"currentColor",className:"bi bi-layout-sidebar-inset-reverse",children:[(0,at.jsx)("path",{d:"M2 2a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1zm12-1a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2z"}),(0,at.jsx)("path",{d:"M13 4a1 1 0 0 0-1-1h-2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1z"})]})}function Hae(e){let n=document.getElementById(e)?.closest("shiny-chat-page");return n?Array.from(n.querySelectorAll("aside.shiny-chat-page-sidebar shiny-chat-history")).some(r=>{if(r.getAttribute("for")!==e)return!1;let i=r.closest(".shiny-chat-page-sidebar-panel");return i===null||!i.hidden}):!1}var yF=12,TF=(0,be.forwardRef)(function({transport:t,messages:n,streamingMessage:r,inputDisabled:i,inputPlaceholder:o,iconAssistant:s,iconSend:a,inputId:l,uploadAccept:u,maxUploadSize:c,elementId:f,greeting:d,restoring:h=!1,cancelId:p,enableCancel:b,enableUpload:y,thinkingShowAfter:g,cancelRequested:E,toolbarEl:T,footerEl:S,slashCommands:x,slashCommandId:v,submitKey:N,historyStore:D,drawer:k,drawerSource:A,onEdit:P,onNavigate:G,siblingNavigationPending:U,showHistory:B},L){let O=(0,be.useMemo)(()=>n.filter(j=>j.role==="user").map(j=>j.content),[n]),F=(0,be.useMemo)(()=>r?[...n,r]:n,[n,r]),I=(0,be.useRef)(null),z=(0,be.useRef)(null),_=(0,be.useRef)(null),oe=(0,be.useRef)(null),re=(0,be.useRef)(null),C=(0,be.useRef)(!1),se=(0,be.useRef)(k.visible),fe=(0,be.useRef)(!1),ge=(0,be.useRef)(null),De=(0,be.useRef)(null),Ee=(0,be.useRef)(null),[Ve,Pe]=(0,be.useState)(!1),[Re,Te]=(0,be.useState)(k.visible),[Ae,le]=(0,be.useState)(!1),[ye,ue]=(0,be.useState)(!1),[Se,$]=(0,be.useState)({centered:!1,greetingOverflows:!1,greetingOffset:0,composerOffset:0}),[tt,Ge]=(0,be.useState)(!1),[qe,Jt]=(0,be.useState)(!1),[Mt,Ot]=(0,be.useState)(!1),Hn=(0,be.useRef)(Se);Hn.current=Se;let[H,K]=(0,be.useState)(`${L_}px`),Z=(0,be.useSyncExternalStore)(D.subscribe,D.getSnapshot,D.getSnapshot),[ae,Ce]=(0,be.useState)(!1),ft=(0,be.useRef)(null),J=(0,be.useMemo)(()=>Hae(f),[f]),[Ne,en]=(0,be.useState)(null),yt=(0,be.useRef)(null);yt.current=Ne;let{scrollRef:Ze,contentRef:zt,scrollToBottom:fn,stopScroll:Xr}=Rm({resize:"smooth"}),Uh=(0,be.useRef)(null),qh=(0,be.useRef)(null),UF=(0,be.useCallback)(j=>{Uh.current=j,qh.current===null&&zt(j)},[zt]),[Q_,qF]=(0,be.useState)(!0);(0,be.useEffect)(()=>{let j=Ze.current;if(!j)return;let ve=()=>{let It=j.scrollHeight-j.scrollTop-j.clientHeight;qF(It<=1)};ve(),j.addEventListener("scroll",ve,{passive:!0});let he=new ResizeObserver(ve);he.observe(j);let ut=()=>{Array.from(j.children).forEach(It=>he.observe(It))};ut();let Dt=new MutationObserver(()=>{ut(),ve()});return Dt.observe(j,{childList:!0}),()=>{j.removeEventListener("scroll",ve),he.disconnect(),Dt.disconnect()}},[Ze]);let is=wm(),Vh=!!r;(0,be.useEffect)(()=>{let j=requestAnimationFrame(()=>Ge(!0));return()=>cancelAnimationFrame(j)},[]),(0,be.useEffect)(()=>{if(!Se.centered)return;Jt(!0);let j=window.setTimeout(()=>Jt(!1),300);return()=>window.clearTimeout(j)},[Se.centered]),(0,be.useLayoutEffect)(()=>{let j=ge.current,ve=Ee.current,he=j?.querySelector(".shiny-chat-wrapper"),ut=document.getElementById(f)?.closest("shiny-chat-page");if(!j||!ve||!he||!ut)return;let Dt,It=null,so=!1,pi,da=mn=>{let Ni=Hn.current;Ni.centered===mn.centered&&Ni.greetingOverflows===mn.greetingOverflows&&Ni.greetingOffset===mn.greetingOffset&&Ni.composerOffset===mn.composerOffset||(Hn.current=mn,$(mn))},Gh=()=>{da({centered:!1,greetingOverflows:!1,greetingOffset:0,composerOffset:0})},tC=mn=>{let Ni=getComputedStyle(mn).translate;if(Ni==="none")return 0;let[,Zc]=Ni.split(/\s+/);return Number.parseFloat(Zc??"")||0},Qc=()=>{let mn=j.querySelector(".shiny-chat-greeting");if(!mn||n.length>0||d?.status!=="visible"){Gh();return}Dt&&It!==mn&&(It&&Dt.unobserve(It),Dt.observe(mn),It=mn);let Ni=he.getBoundingClientRect(),Zc=mn.getBoundingClientRect(),rC=ve.getBoundingClientRect(),iC=Zc.height+yF+rC.height;if(iC>he.clientHeight){let sC=Ze.current;Hn.current.greetingOverflows||(Xr(),sC&&(sC.scrollTop=0)),da({centered:!1,greetingOverflows:!0,greetingOffset:0,composerOffset:0});return}let oC=Ni.top+(Ni.height-iC)/2,iz=oC+Zc.height+yF;da({centered:!0,greetingOverflows:!1,greetingOffset:tC(mn)+oC-Zc.top,composerOffset:tC(ve)+iz-rC.top})},rz=()=>{Ot(!0),pi&&window.clearTimeout(pi),pi=window.setTimeout(()=>Ot(!1),bF)};if(typeof ResizeObserver<"u"){Dt=new ResizeObserver(()=>{Qc(),so&&rz(),so=!0}),Dt.observe(j),Dt.observe(he),Dt.observe(ve);let mn=j.querySelector(".shiny-chat-footer");mn&&Dt.observe(mn)}let nC=new MutationObserver(Qc);return nC.observe(j,{childList:!0,subtree:!0}),window.addEventListener("resize",Qc),Qc(),()=>{pi&&window.clearTimeout(pi),Ot(!1),Dt?.disconnect(),nC.disconnect(),window.removeEventListener("resize",Qc)}},[f,d,n.length,Ze,Xr]);let ry=(0,be.useCallback)(()=>{let j=ge.current;if(!j||!k.enabled)return;let ve=Pae(k.width,j,De.current);K(he=>he===ve?he:ve)},[k.enabled,k.width]);(0,be.useLayoutEffect)(()=>{ry();let j=ge.current;if(!j||!k.enabled||typeof ResizeObserver>"u")return;let ve=!1,he,ut=new ResizeObserver(()=>{ry(),ve&&(ue(!0),he&&window.clearTimeout(he),he=window.setTimeout(()=>{he=void 0,ue(!1)},bF)),ve=!0});return ut.observe(j),De.current&&ut.observe(De.current),()=>{he&&window.clearTimeout(he),ue(!1),ut.disconnect()}},[k.enabled,k.visible,ry]),(0,be.useEffect)(()=>{let j=ge.current;if(!j||!k.enabled){Pe(!1);return}let ve=ut=>{Pe(ut"u")return;let he=new ResizeObserver(ut=>{let Dt=ut[0];Dt&&ve(Dt.contentRect.width)});return he.observe(j),()=>he.disconnect()},[k.enabled,k.visible]),(0,be.useLayoutEffect)(()=>{let j=se.current,ve=fe.current,he=k.enabled&&k.visible,ut=he&&!j&&C.current,Dt=he&&Ve&&(!j||!ve);if(ut)oe.current=null,re.current=null,requestAnimationFrame(()=>z.current?.focus()),ae&&Ce(!1);else if(Dt){re.current=null;let It=document.activeElement,so=ge.current?.querySelector(".shiny-chat-wrapper"),pi=It instanceof HTMLElement&&so?.contains(It),da=It===ft.current;pi||da||ae?(oe.current=pi&&It instanceof HTMLElement?It:ft.current,requestAnimationFrame(()=>z.current?.focus())):C.current?(oe.current=null,requestAnimationFrame(()=>z.current?.focus())):oe.current=null,ae&&Ce(!1)}else if(j&&!he){let It=C.current;C.current=!1,It?requestAnimationFrame(()=>_.current?.focus()):re.current=oe.current,oe.current=null}se.current=he,fe.current=Ve},[k.enabled,k.visible,Ve,ae]),(0,be.useLayoutEffect)(()=>{if(k.visible||Re)return;let j=re.current;re.current=null,j?.isConnected&&requestAnimationFrame(()=>{j.isConnected&&j.focus()})},[k.visible,Re]),(0,be.useEffect)(()=>{Ve&&k.visible&&ae&&Ce(!1)},[k.visible,Ve,ae]);let VF=(0,be.useCallback)(()=>{is({type:"drawer_hide"})},[is]),GF=(0,be.useCallback)(()=>{C.current=!0,is({type:"drawer_toggle"})},[is]),KF=(0,be.useCallback)(j=>{is({type:"SET_DRAWER_WIDTH",width:j})},[is]),iy=(0,be.useCallback)(()=>!b||!p||!Vh||E?!1:(is({type:"CANCEL_REQUESTED"}),t.sendCancel(p),I.current?.focus(),!0),[b,p,Vh,E,is,t]),Z_=(0,be.useRef)(iy);Z_.current=iy,(0,be.useEffect)(()=>{if(!b&&!ae)return;let j=Ze.current?.closest("shiny-chat-container");if(!j)return;let ve=he=>{if(he.key!=="Escape")return;let ut=he.target instanceof Node&&document.getElementById(l)?.contains(he.target);if(he.defaultPrevented&&!ut){he.stopPropagation();return}ae?(Ce(!1),he.preventDefault(),he.stopPropagation()):Z_.current()&&(he.preventDefault(),he.stopPropagation())};return j.addEventListener("keydown",ve),()=>j.removeEventListener("keydown",ve)},[b,ae,l,Ze]),pF(Ze),mF(ft,{enabled:Z.enabled,boundarySelector:"shiny-chat-container",shiftProperty:"--_history-trigger-shift",side:j=>j.getAttribute("data-history-placement")==="right"?"right":"left",shouldSkip:j=>!!j.querySelector(":scope > .shiny-chat-history"),watchMutations:{childList:!0}}),(0,be.useImperativeHandle)(L,()=>({setInputValue(...j){I.current?.setInputValue(...j)},focus(){I.current?.focus()},beginSiblingNavigation(){let j=Ze.current;j&&(qh.current=j.scrollTop,zt(null),Xr())},endSiblingNavigation(){let j=qh.current;j!==null&&requestAnimationFrame(()=>{let ve=Uh.current,he=Ze.current;!ve||!he||(zt(ve),Xr(),he.scrollTop=j,qh.current=null)})}}));let J_=(0,be.useCallback)(j=>{let he=j.target.closest("a[data-shinychat-link]");if(!he||!he.href)return;if(j.preventDefault(),he.origin===window.location.origin||window.shinychat_always_open_external_links){I_(he.href);return}if(typeof window.HTMLDialogElement>"u"){I_(he.href);return}en(he.href)},[]);function YF(j){if(!(j instanceof HTMLElement))return{};let ve=j.closest(".suggestion, [data-suggestion]");return ve instanceof HTMLElement?ve.classList.contains("suggestion")||ve.dataset.suggestion!==void 0?{suggestion:ve.dataset.suggestion||ve.textContent||void 0,submit:ve.classList.contains("submit")||ve.dataset.suggestionSubmit===""||ve.dataset.suggestionSubmit==="true"}:{}:{}}function eC(j){let{suggestion:ve,submit:he}=YF(j.target);if(!ve)return;j.preventDefault();let ut=j.metaKey||j.ctrlKey?!0:j.altKey?!1:he;I.current?.setInputValue(ve,{submit:ut,focus:!ut});let Dt=j.target.closest(".shiny-chat-suggestion-list-item"),It=Dt?.closest(".shiny-chat-suggestion-list");Dt&&It&&(It.querySelectorAll("[data-last-clicked]").forEach(so=>so.removeAttribute("data-last-clicked")),Dt.setAttribute("data-last-clicked",""))}function WF(j){eC(j)}function $F(j){J_(j),WF(j)}function jF(j){let ve=j.target.closest(".shiny-chat-suggestion-list-item");if(!ve)return;let he=ve.closest(".shiny-chat-suggestion-list");!he||he.dataset.roved!==void 0||(he.dataset.roved="",he.querySelectorAll(".shiny-chat-suggestion-list-item").forEach(ut=>{ut!==ve&&(ut.tabIndex=-1)}))}function XF(j){let ve=j.target.closest(".shiny-chat-suggestion-list-item");if(!ve)return;let he=ve.closest(".shiny-chat-suggestion-list");if(!he)return;let ut=j.relatedTarget,Dt=ut?.closest(".shiny-chat-suggestion-list");(!ut||Dt!==he)&&delete he.dataset.roved}function QF(j,ve,he){switch(he){case"ArrowDown":case"ArrowRight":return(j+1)%ve;case"ArrowUp":case"ArrowLeft":return(j-1+ve)%ve;case"Home":return 0;case"End":return ve-1;default:return null}}function ZF(j){let he=j.target.closest(".shiny-chat-suggestion-list-item"),ut=he?.closest(".shiny-chat-suggestion-list");if(he&&ut){let It=Array.from(ut.querySelectorAll(".shiny-chat-suggestion-list-item")),so=It.indexOf(he),pi=QF(so,It.length,j.key);if(pi!==null){j.preventDefault();let da=It[so],Gh=It[pi];da.tabIndex=-1,Gh.tabIndex=0,Gh.focus();return}}(j.key==="Enter"||j.key===" ")&&eC(j)}let oy=(0,be.useCallback)(()=>{let j=yt.current;j&&I_(j),en(null)},[]),JF=(0,be.useCallback)(()=>{window.shinychat_always_open_external_links=!0,oy()},[oy]),ez=(0,be.useCallback)(()=>{en(null)},[]),tz=(0,be.useCallback)(()=>{fn()},[fn]),sy=k.content.trim().length>0,ay=Ve&&Re,nz=k.enabled&&(k.visible||Re);return(0,be.useLayoutEffect)(()=>{let j=document.getElementById(f);if(!j)return;let ve=[];B&&Z.enabled&&!J&&ve.push("history"),k.enabled&&!k.visible&&sy&&ve.push("drawer");let he=ve.join(" ");return he?j.dataset.inlineControls=he:delete j.dataset.inlineControls,()=>{j.dataset.inlineControls===he&&delete j.dataset.inlineControls}},[k.enabled,k.visible,sy,Z.enabled,J,f,B]),(0,at.jsxs)(l1.Provider,{value:x,children:[B&&Z.enabled&&!J&&(0,at.jsx)("button",{type:"button",ref:ft,className:"shiny-chat-history-trigger","aria-label":"Conversation history","aria-expanded":ae,"aria-hidden":ay||void 0,disabled:ay,tabIndex:ay?-1:void 0,onClick:()=>Ce(j=>!j),children:(0,at.jsx)(fF,{})}),k.enabled&&!k.visible&&sy&&(0,at.jsx)("button",{type:"button",ref:_,className:"shiny-chat-drawer-trigger","aria-label":"Show drawer","aria-controls":`${f}-drawer`,"aria-expanded":!1,title:"Show drawer",onClick:GF,children:(0,at.jsx)(Bae,{})}),(0,at.jsxs)("div",{ref:ge,className:"shiny-chat-layout",style:k.enabled||Se.centered?{...k.enabled?{"--_drawer-width":H}:{},"--_greeting-offset":`${Se.greetingOffset}px`,"--_composer-offset":`${Se.composerOffset}px`}:void 0,"data-drawer-open":nz?"":void 0,"data-drawer-takeover":Ve&&Re?"":void 0,"data-drawer-resizing":Ae||ye?"":void 0,"data-composer-centered":Se.centered?"":void 0,"data-greeting-overflow":Se.greetingOverflows?"":void 0,"data-composer-motion-ready":tt?"":void 0,"data-composer-revealing":qe?"":void 0,"data-composer-resizing":Mt?"":void 0,children:[(0,at.jsxs)("div",{className:"shiny-chat-wrapper",children:[(0,at.jsxs)("div",{className:"shiny-chat-messages-wrapper",children:[h&&(0,at.jsx)("div",{className:"shiny-chat-restoring",role:"status",children:(0,at.jsx)("span",{children:"Restoring conversation\u2026"})}),(0,at.jsx)("div",{className:"shiny-chat-messages",ref:Ze,onClick:$F,onFocus:jF,onBlur:XF,onKeyDown:ZF,children:(0,at.jsxs)(o1.Provider,{value:Xr,children:[d!=null&&d.status!=="held"&&(0,at.jsx)(j8,{greeting:d}),(0,at.jsx)("div",{className:"shiny-chat-messages-content",ref:UF,role:"log","aria-live":"polite",...d?.status==="dismissing"?{"data-greeting-dismissing":""}:{},children:(0,at.jsx)(Y8,{messages:F,iconAssistant:s,onEdit:Z.enabled?P:void 0,onNavigate:Z.enabled?G:void 0,siblingNavigationPending:U,disabled:Vh,inputId:l,submitKey:N,uploadAccept:u,maxUploadSize:c,enableUpload:y,thinkingShowAfter:g})})]})}),(0,at.jsx)(Q8,{isAtBottom:Q_,scrollToBottom:fn,streaming:!!r||!!d?.streaming})]}),(0,at.jsxs)("div",{className:"shiny-chat-composer",ref:Ee,children:[(0,at.jsx)("div",{className:i?"shiny-chat-input disabled":"shiny-chat-input",onClick:J_,children:(0,at.jsx)(X8,{ref:I,transport:t,inputId:l,uploadAccept:u,maxUploadSize:c,disabled:i,hasTopShadow:!Q_,placeholder:o,onSend:tz,userMessages:O,enableCancel:b,enableUpload:y,cancelRequested:E,isStreaming:Vh,onCancel:iy,slashCommands:x,slashCommandId:v,submitKey:N,iconSend:a})}),T&&(0,at.jsx)(w_,{source:T,className:"shiny-chat-input-toolbar"})]})]}),S&&(0,at.jsx)(w_,{source:S,className:"shiny-chat-footer"}),k.enabled&&(0,at.jsx)(lF,{drawer:k,source:A,panelId:`${f}-drawer`,titleId:`${f}-drawer-title`,takeover:Ve,closeButtonRef:z,onClose:VF,onWidthChange:KF,onPresentationChange:Te,onResizeStateChange:le}),k.enabled&&(0,at.jsx)("div",{ref:De,"aria-hidden":"true",className:"shiny-chat-drawer-width-probe",style:{width:k.width}})]}),B&&Z.enabled&&!J&&(0,at.jsx)(cF,{isOpen:ae,onClose:()=>Ce(!1),triggerRef:ft,children:(0,at.jsx)(Xb,{conversations:Z.conversations,activeId:Z.activeId,busy:Z.busy,connected:Z.connected,onSelect:D.actions.select,onNew:D.actions.create,onRename:D.actions.rename,onDelete:D.actions.delete,onActionComplete:()=>Ce(!1)})}),Ne&&(0,EF.createPortal)((0,at.jsx)(Z8,{url:Ne,onProceed:oy,onAlways:JF,onCancel:ez}),document.body)]})});var Fae=Object.freeze({initialized:!1,enabled:!1,conversations:Object.freeze([]),activeId:null,busy:!1,connected:!1}),P_=class{constructor(t){this.elementId=t}snapshot=Fae;listeners=new Set;transport=null;actions={select:t=>{let n=this.activeTransport();n&&!this.snapshot.busy&&n.sendHistorySelect(this.elementId,t)},create:()=>{let t=this.activeTransport();t&&!this.snapshot.busy&&t.sendHistoryNew(this.elementId)},rename:(t,n)=>{this.activeTransport()?.sendHistoryRename(this.elementId,t,n)},delete:t=>{let n=this.activeTransport();n&&!this.snapshot.busy&&n.sendHistoryDelete(this.elementId,t)}};getSnapshot=()=>this.snapshot;subscribe=t=>(zae(this.elementId,this),this.listeners.add(t),()=>{this.listeners.delete(t),vF(this.elementId,this)});setTransport(t){this.transport=t,this.publish({...this.snapshot,connected:t!==null})}updateHistory({enabled:t,conversations:n,activeId:r}){let i=Uae(this.snapshot.conversations,n)?this.snapshot.conversations:Object.freeze(n.map(o=>({...o})));this.publish({initialized:!0,enabled:t,conversations:i,activeId:r,busy:this.snapshot.busy,connected:this.snapshot.connected})}setBusy(t){this.publish({...this.snapshot,busy:t})}get listenerCount(){return this.listeners.size}activeTransport(){return this.snapshot.connected?this.transport:null}publish(t){if(!qae(this.snapshot,t)){this.snapshot=Object.freeze(t);for(let n of this.listeners)n()}}},ca=new Map;function Dl(e){let t=ca.get(e);return t||(t={store:new P_(e),owners:new Map,cleanupGeneration:0},ca.set(e,t)),t.store}function SF(e,t){let n=Dl(e),r=ca.get(e),i=r.owners.values().next().value;if(i&&i!==t)throw new Error(`History store for "${e}" is already owned by a different ChatTransport.`);r.cleanupGeneration+=1;let o=Symbol(e);r.owners.set(o,t),r.store.setTransport(t);let s=!1;return{store:n,release(){if(s)return;s=!0;let a=ca.get(e);if(!a||a.store!==r.store)return;a.owners.delete(o);let l=a.owners.values().next().value;a.store.setTransport(l??null),vF(e,a.store)}}}function vF(e,t){let n=ca.get(e);if(!n||n.store!==t||n.owners.size!==0||t.listenerCount!==0)return;let r=++n.cleanupGeneration;queueMicrotask(()=>{let i=ca.get(e);i?.store===t&&i.cleanupGeneration===r&&i.owners.size===0&&t.listenerCount===0&&ca.delete(e)})}function zae(e,t){let n=ca.get(e);n?.store===t&&(n.cleanupGeneration+=1)}function Uae(e,t){return e.length===t.length&&e.every((n,r)=>n.id===t[r]?.id&&n.title===t[r]?.title&&n.created_at===t[r]?.created_at&&n.updated_at===t[r]?.updated_at)}function qae(e,t){return e.initialized===t.initialized&&e.enabled===t.enabled&&e.conversations===t.conversations&&e.activeId===t.activeId&&e.busy===t.busy&&e.connected===t.connected}var Vae=16.666666666666668,Gae=new Set(["`","~","*","_"]),Wc=class{onEmit;canMerge;finishDurationMs;tagBoundaries;maxTagHoldMs;tickIntervalMs;drainRate;minCharsPerSecond;maxTickIntervalMs;overrunBackoffMultiplier;queue=[];timer=null;currentIntervalMs;lastTickAt=0;budgetCarry=0;onFinished=null;finishCharsPerMs=0;tagHoldStartMs=null;constructor(t){this.onEmit=t.onEmit,this.canMerge=t.canMerge,this.finishDurationMs=t.finishDurationMs??400,this.tagBoundaries=t.tagBoundaries??!0,this.maxTagHoldMs=t.maxTagHoldMs??1500,this.tickIntervalMs=t.tickIntervalMs??50,this.drainRate=t.drainRate??.02,this.minCharsPerSecond=t.minCharsPerSecond??30,this.maxTickIntervalMs=t.maxTickIntervalMs??250,this.overrunBackoffMultiplier=t.overrunBackoffMultiplier??2,this.currentIntervalMs=this.tickIntervalMs}push(t,n){if(t.length===0)return;let r=this.queue[this.queue.length-1];r&&this.canMerge?.(r.meta,n)?r.text+=t:this.queue.push({text:t,meta:n,emittedAny:!1}),this.ensureLoopRunning()}get finishing(){return this.onFinished!==null}finish(t){if(this.queue.length===0){this.stopLoop(),t();return}this.onFinished=t,this.finishCharsPerMs=this.backlog()/this.finishDurationMs,this.ensureLoopRunning()}flush(){this.stopLoop();let t=this.queue;this.queue=[];for(let n of t)this.onEmit(n.text,n.meta,!n.emittedAny);this.completeFinish()}dispose(){this.stopLoop(),this.queue=[],this.onFinished=null}backlog(){return this.queue.reduce((t,n)=>t+n.text.length,0)}completeFinish(){let t=this.onFinished;this.onFinished=null,this.finishCharsPerMs=0,t?.()}ensureLoopRunning(){this.timer===null&&(this.lastTickAt=Date.now(),this.scheduleTick(this.currentIntervalMs))}scheduleTick(t){this.timer=setTimeout(()=>this.tick(),t)}stopLoop(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null),this.currentIntervalMs=this.tickIntervalMs,this.budgetCarry=0,this.tagHoldStartMs=null}tick(){this.timer=null;let t=Date.now(),n=t-this.lastTickAt;this.lastTickAt=t;let r=Math.max(0,n-this.currentIntervalMs);if(this.drainFor(n),this.queue.length===0){this.budgetCarry=0,this.currentIntervalMs=this.tickIntervalMs,this.completeFinish();return}this.currentIntervalMs=Math.min(this.maxTickIntervalMs,this.tickIntervalMs+this.overrunBackoffMultiplier*r),this.scheduleTick(this.currentIntervalMs)}drainFor(t){let n=this.queue.map(u=>u.text).join("");if(n.length===0)return;let r=t/Vae,i=Math.max(n.length*this.drainRate,this.minCharsPerSecond/60),o=Math.max(i*r,this.finishCharsPerMs*t);this.budgetCarry+=o;let s=Math.floor(this.budgetCarry+1e-9);if(s<1)return;let a=Kae(n,Math.min(s,n.length)),l=this.tagBoundaries?this.snapToTagBoundary(n,a):a;if(l0&&this.queue.length>0;){let n=this.queue[0];if(t>=n.text.length){this.queue.shift(),this.onEmit(n.text,n.meta,!n.emittedAny),t-=n.text.length;continue}let r=n.text.slice(0,t),i=!n.emittedAny;n.emittedAny=!0,n.text=n.text.slice(t),this.onEmit(r,n.meta,i),t=0}}snapToTagBoundary(t,n){let r=t.lastIndexOf("<",n-1);if(r===-1)return n;let i=t.indexOf(">",r);if(i!==-1&&i=this.maxTagHoldMs?n:r}};function Kae(e,t){if(t>=e.length)return e.length;let n=e.charCodeAt(t-1);for(n>=55296&&n<=56319&&t++;t0?"dismissed":"visible";return{content:e.content,contentType:e.contentType,streaming:!1,status:i,options:e.options,blocks:[{type:"content",content:e.content,contentType:e.contentType}]}}function B_({transport:e,shinyLifecycle:t,elementId:n,iconAssistant:r,iconSend:i,inputId:o,cancelId:s,uploadAccept:a=[],maxUploadSize:l=null,placeholder:u,initialMessages:c,initialGreeting:f,restorePending:d=!1,initialDrawer:h,drawerSource:p,enableCancel:b,enableUpload:y,asideFavicon:g=!0,showHistory:E=!0,toolGrouping:T,thinkingShowAfter:S=0,toolbarEl:x,footerEl:v,slashCommandId:N="",submitKey:D}){let k=T??Bi.toolGrouping,A=(0,lt.useMemo)(()=>(c??[]).map(le=>{let ye=le.blocks.flatMap(ue=>ue.type==="content"?Cm(ue.content,ue.contentType):[ue]);return{...le,blocks:ye,content:id(ye)}}),[c]),[P,G]=(0,lt.useReducer)(i1,{...Bi,inputPlaceholder:u??Bi.inputPlaceholder,messages:A,greeting:f?Wae(f,A.length,d):null,enableCancel:b??Bi.enableCancel,enableCancelExplicit:b!==void 0,enableUpload:y??Bi.enableUpload,enableUploadExplicit:y!==void 0,toolGrouping:k,drawer:h??Bi.drawer});(0,lt.useEffect)(()=>{G({type:"SET_TOOL_GROUPING",grouping:k})},[k]);let U=(0,lt.useMemo)(()=>Dl(n),[n]);(0,lt.useEffect)(()=>SF(n,e).release,[n,U,e]);let B=(0,lt.useRef)(null),L=(0,lt.useRef)(null),O=(0,lt.useRef)(!1),[F,I]=(0,lt.useState)(!1);(0,lt.useEffect)(()=>{let le=new Wc({onEmit:($,tt,Ge)=>{G({type:"chunk",content:$,operation:"append",content_type:tt.content_type,html_deps:Ge?tt.html_deps:void 0})},canMerge:($,tt)=>$.content_type===tt.content_type&&!tt.html_deps?.length});L.current=le;let ye=[],ue=$=>{if($.type==="history_navigate"){h1(n,$.active_id),pM($.url,$.reload===!0);return}if($.type==="update_input"){$.placeholder!==void 0&&G({type:"update_input",placeholder:$.placeholder}),$.value!==void 0||$.attachments!==void 0?B.current?.setInputValue($.value,{submit:$.submit,focus:$.focus,attachments:$.attachments,attachmentMode:$.attachment_mode}):$.focus&&B.current?.focus();return}if($.type==="history_update"){U.updateHistory({enabled:$.enabled,conversations:$.conversations,activeId:$.active_id}),G({type:"greeting_settle",restored:$.active_id!=null}),$.enabled&&h1(n,$.active_id),O.current&&(O.current=!1,I(!1),B.current?.endSiblingNavigation());return}if($.type==="chunk_start"){le.dispose(),G($);return}if($.type==="chunk"){$.operation==="replace"?(le.dispose(),G($)):le.push($.content,{content_type:$.content_type,html_deps:$.html_deps});return}if($.type==="block_insert"){le.flush(),G($);return}if($.type==="chunk_end"){le.finish(()=>{G($);let tt=ye;ye=[],tt.forEach(ue)});return}G($)},Se=e.onMessage(n,$=>{if(le.finishing){if(!Yae.has($.type)){ye.push($);return}le.flush()}ue($)});return()=>{le.dispose(),L.current=null,ye=[],Se()}},[e,n,U]);let z=(0,lt.useCallback)(le=>{if(le.type==="CANCEL_REQUESTED"){let ye=L.current,ue=ye?.finishing??!1;if(ye?.flush(),ue)return}G(le)},[]),[_,oe]=(0,lt.useState)(!1);(0,lt.useEffect)(()=>{if(!n)return;let le=document.getElementById(n);if(!le)return;if(typeof IntersectionObserver>"u"){oe(!0);return}let ye=new IntersectionObserver(ue=>oe(ue[0]?.isIntersecting??!1),{threshold:0});return ye.observe(le),()=>ye.disconnect()},[n]);let re=_&&P.messages.length===0&&P.greeting===null,C=(0,lt.useRef)(!1);(0,lt.useEffect)(()=>{if(!re){C.current=!1;return}C.current||window.Shiny?.setInputValue&&(C.current=!0,window.Shiny.setInputValue(`${n}_greeting_requested`,Date.now(),{priority:"event"}))},[re,n]);let se=P.greeting?.status==="held";(0,lt.useEffect)(()=>{if(!se)return;let le=setTimeout(()=>G({type:"greeting_settle",restored:!1}),15e3);return()=>clearTimeout(le)},[se]);let[fe,ge]=(0,lt.useState)(!1);(0,lt.useEffect)(()=>{if(!se){ge(!1);return}let le=setTimeout(()=>ge(!0),500);return()=>clearTimeout(le)},[se]);let De=P.greeting?.status==="dismissed",Ee=(0,lt.useRef)(!1);(0,lt.useEffect)(()=>{window.Shiny?.setInputValue&&(De&&!Ee.current?(Ee.current=!0,window.Shiny.setInputValue(`${n}_greeting_dismissed`,Date.now(),{priority:"event"})):!De&&Ee.current&&(Ee.current=!1,window.Shiny.setInputValue(`${n}_greeting_dismissed`,null)))},[De,n]),(0,lt.useLayoutEffect)(()=>{U.setBusy(P.streamingMessage!==null)},[U,P.streamingMessage]);let Ve=(0,lt.useCallback)((le,ye,ue)=>{e.sendMessageEdit(n,le,ye,ue)},[e,n]),Pe=(0,lt.useCallback)((le,ye)=>{O.current||(O.current=!0,I(!0),B.current?.beginSiblingNavigation(),e.sendMessageNavigate(n,le,ye))},[e,n]),Re=mM(P.messages,P.streamingMessage),Te=gM(P.messages,P.streamingMessage),Ae=(0,lt.useMemo)(()=>({supersededRequests:Re,requestDefinitionIcons:Te}),[Re,Te]);return(0,Il.jsx)(Tr.Provider,{value:t,children:(0,Il.jsx)(s1.Provider,{value:Ae,children:(0,Il.jsx)(a1.Provider,{value:P.toolGrouping,children:(0,Il.jsx)(od.Provider,{value:z,children:(0,Il.jsx)(u1.Provider,{value:g,children:(0,Il.jsx)(TF,{ref:B,transport:e,messages:P.messages,streamingMessage:P.streamingMessage,inputDisabled:P.inputDisabled,inputPlaceholder:P.inputPlaceholder,iconAssistant:r,iconSend:i,inputId:o,uploadAccept:a,maxUploadSize:l,elementId:n,greeting:P.greeting,restoring:se&&fe,cancelId:s,enableCancel:P.enableCancel,enableUpload:P.enableUpload,thinkingShowAfter:S,cancelRequested:P.cancelRequested,toolbarEl:x,footerEl:v,slashCommands:P.slashCommands,slashCommandId:N,submitKey:D,historyStore:U,onEdit:Ve,onNavigate:Pe,siblingNavigationPending:F,showHistory:E,drawer:P.drawer,drawerSource:p})})})})})})}function xF(e){if(!e||typeof e!="object")return!1;let t=e;return!(typeof t.id!="string"||!t.action||typeof t.action!="object"||typeof t.action.type!="string")}function $c(){return window.__shinyChatTransport||(window.__shinyChatTransport=new H_),window.__shinyChatTransport}var H_=class{listeners=new Map;pendingMessages=new Map;inputSeq=0;constructor(){window.Shiny?.addCustomMessageHandler("shinyChatMessage",async t=>{if(!xF(t)){console.warn("[shinychat] Malformed shinyChatMessage envelope, dropping:",JSON.stringify(t));return}let{id:n,action:r,html_deps:i}=t;i&&Array.isArray(i)&&(r.type==="drawer_show"||r.type==="drawer_update"?r.html_deps=i:(await this.renderDependencies(i),(r.type==="message"||r.type==="chunk_start"||r.type==="chunk")&&(r.html_deps=i)));let o=this.listeners.get(n);if(!o||o.size===0){this.pendingMessages.has(n)||this.pendingMessages.set(n,[]),this.pendingMessages.get(n).push(r);return}for(let s of o)s(r)})}sendInput(t,n){if(!window.Shiny?.setInputValue)return;let r=typeof n=="string"?{text:n,attachments:[]}:n;this.inputSeq+=1,window.Shiny.setInputValue(`${t}:shinychat.userInput`,{...r,seq:this.inputSeq})}sendCancel(t){window.Shiny?.setInputValue&&window.Shiny.setInputValue(t,Date.now(),{priority:"event"})}sendSlashCommand(t,n,r,i){window.Shiny?.setInputValue&&window.Shiny.setInputValue(t,{command:n,userText:r,echo:i},{priority:"event"})}sendHistorySelect(t,n){window.Shiny?.setInputValue&&window.Shiny.setInputValue(`${t}_history_select`,{id:n,ts:Date.now()},{priority:"event"})}sendHistoryNew(t){window.Shiny?.setInputValue&&window.Shiny.setInputValue(`${t}_history_new`,Date.now(),{priority:"event"})}sendHistoryRename(t,n,r){window.Shiny?.setInputValue&&window.Shiny.setInputValue(`${t}_history_rename`,{id:n,title:r,ts:Date.now()},{priority:"event"})}sendHistoryDelete(t,n){window.Shiny?.setInputValue&&window.Shiny.setInputValue(`${t}_history_delete`,{id:n,ts:Date.now()},{priority:"event"})}sendMessageEdit(t,n,r,i=[]){window.Shiny?.setInputValue?.(`${t}_message_edit`,{index:n,content:r,attachments:i,ts:Date.now()})}sendMessageNavigate(t,n,r){window.Shiny?.setInputValue?.(`${t}_message_navigate`,{index:n,direction:r,ts:Date.now()})}onMessage(t,n){this.listeners.has(t)||this.listeners.set(t,new Set),this.listeners.get(t).add(n);let r=this.pendingMessages.get(t);if(r&&r.length>0){this.pendingMessages.delete(t);for(let i of r)n(i)}return()=>{this.listeners.get(t)?.delete(n)}}async renderDependencies(t){if(window.Shiny&&t)try{await window.Shiny.renderDependenciesAsync(t)}catch(n){this.showClientMessage({status:"error",message:`Failed to render HTML dependencies: ${n}`})}}async bindAll(t){if(window?.Shiny?.initializeInputs&&window?.Shiny?.bindAll){try{window.Shiny.initializeInputs(t)}catch(n){this.showClientMessage({status:"error",message:`Failed to initialize Shiny inputs: ${n}`})}try{await window.Shiny.bindAll(t)}catch(n){this.showClientMessage({status:"error",message:`Failed to bind Shiny inputs/outputs: ${n}`})}}}unbindAll(t){if(window?.Shiny?.unbindAll)try{window.Shiny.unbindAll(t)}catch(n){this.showClientMessage({status:"error",message:`Failed to unbind Shiny inputs/outputs: ${n}`})}}showClientMessage(t){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:t.headline??"",message:t.message,status:t.status??"warning"}}))}};function Zb(e,t){let n;try{n=JSON.parse(e)}catch{return console.warn(`Ignoring malformed ${t}: not valid JSON`),null}return Array.isArray(n)?n:(console.warn(`Ignoring malformed ${t}: expected a JSON array`),null)}var jc=class{pending=null;cancel(){this.pending!==null&&(clearTimeout(this.pending),this.pending=null)}schedule(t){this.pending=setTimeout(()=>{this.pending=null,t()},0)}};var Jb=$c(),AF="shinychat-browser-token",F_=null;function $ae(){try{let e=window.localStorage.getItem(AF);return e||(e=zn(),window.localStorage.setItem(AF,e)),e}catch{return F_||(F_=zn()),F_}}var jae="shiny-chat-input",Xae="shiny-chat-message",Qae="shiny-chat-input-toolbar",Zae="shiny-chat-footer",Jae="shiny-chat-drawer",ele=60;function tle(e,t){let n=Zb(e,"data-initial-messages attribute");if(n===null)return null;let r=[];for(let i of n){if(typeof i!="object"||i===null||!Array.isArray(i.segments)){console.warn("Skipping malformed entry in data-initial-messages: expected an object with a segments array");continue}r.push(rd(i,t))}return r}function nle(e,t){let n=e.getAttribute("data-initial-messages");if(n!==null){let o=tle(n,t);if(o)return o}let r=e.querySelectorAll(Xae),i=[];return r.forEach(o=>{let s=o.getAttribute("content")??"",a=o.getAttribute("data-role")??"assistant",l=o.getAttribute("content-type")??"markdown",u=o.getAttribute("icon")??void 0;i.push(rd({role:a,icon:u,segments:[{content:s,content_type:l}]},t))}),i}function rle(e){let t=e.getAttribute("greeting");if(t)try{let n=JSON.parse(t);return n.content?{content:n.content,contentType:n.content_type??"markdown",options:n.options??{}}:void 0}catch{return}}function ile(e){let t=e.querySelector(Jae);if(!t)return;let n=t.getAttribute("title");return{state:{enabled:!0,visible:t.hasAttribute("open")&&t.getAttribute("open")?.toLowerCase()!=="false",title:n||null,content:t.innerHTML,htmlDeps:[],width:t.getAttribute("width")||"400px",resizable:t.getAttribute("resizable")?.toLowerCase()!=="false"},source:t}}function _F(e){return e==="none"||e==="tool"||e==="all"?e:void 0}function CF(e){if(e===null)return 0;let t=Number(e);return Number.isFinite(t)?Math.min(t,ele):0}var U_=class extends HTMLElement{reactRoot=null;toolbarEl=null;footerEl=null;drawerEl=null;deferredTeardown=new jc;appProps=null;static observedAttributes=["show-thinking-after-s","tool-grouping","show-history"];connectedCallback(){if(this.deferredTeardown.cancel(),this.reactRoot)return;let t=this.getAttribute("id")??"",n=this.getAttribute("icon-assistant")??void 0,r=this.getAttribute("icon-send")??void 0,i=this.getAttribute("aside-favicon")!=="false",o=this.getAttribute("enable-cancel"),s=o===null?void 0:o!=="false",a=this.getAttribute("allow-attachments"),l=a===null?void 0:a!=="false",u=_F(this.getAttribute("tool-grouping")),c=CF(this.getAttribute("show-thinking-after-s")),f=this.getAttribute("show-history")!=="false",d=f&&(d1(t)!=null||f1()!=null),h=this.querySelector(jae),p=h?.getAttribute("placeholder")??void 0,b=h?.getAttribute("id")??`${t}_user_input`,y=`${t}_cancel`,g=this.getAttribute("attachment-accept"),E=g?g.split(",").map(G=>G.trim()):SB,T=this.getAttribute("max-attachment-size"),S=T?parseInt(T,10):NaN,x=Number.isFinite(S)?S:null,v=nle(this,u),N=ile(this);this.toolbarEl||(this.toolbarEl=this.querySelector(Qae)),this.footerEl||(this.footerEl=this.querySelector(Zae)),!this.drawerEl&&N&&(this.drawerEl=N.source);let D=rle(this),A=this.getAttribute("submit-key")==="enter+modifier"?"enter+modifier":"enter",P=`${t}_slash_command`;Jb.unbindAll(this),this.toolbarEl?.remove(),this.footerEl?.remove(),this.drawerEl?.remove(),window.Shiny?.initializedPromise.then(()=>{window.Shiny?.setInputValue?.(`${t}_history_browser_token`,$ae()),window.Shiny?.setInputValue?.(`${t}_history_current_id`,d1(t)??""),window.Shiny?.setInputValue?.(`${t}_history_url_id`,f1()??"")}),this.appProps={transport:Jb,shinyLifecycle:Jb,elementId:t,iconAssistant:n,iconSend:r,inputId:b,cancelId:y,uploadAccept:E,maxUploadSize:x,placeholder:p,initialMessages:v,initialGreeting:D,initialDrawer:N?.state,drawerSource:this.drawerEl??void 0,enableCancel:s,enableUpload:l,asideFavicon:i,showHistory:f,restorePending:d,toolGrouping:u,thinkingShowAfter:c,toolbarEl:this.toolbarEl??void 0,footerEl:this.footerEl??void 0,slashCommandId:P,submitKey:A},this.reactRoot=(0,wF.createRoot)(this),this.reactRoot.render((0,z_.createElement)(B_,this.appProps))}attributeChangedCallback(t,n,r){if(!(!this.reactRoot||!this.appProps)){if(t==="show-thinking-after-s")this.appProps={...this.appProps,thinkingShowAfter:CF(r)};else if(t==="tool-grouping")this.appProps={...this.appProps,toolGrouping:_F(r)};else if(t==="show-history")this.appProps={...this.appProps,showHistory:r!=="false"};else return;this.reactRoot.render((0,z_.createElement)(B_,this.appProps))}}disconnectedCallback(){this.deferredTeardown.schedule(()=>{Jb.unbindAll(this),this.reactRoot?.unmount(),this.reactRoot=null})}};customElements.get("shiny-chat-container")||customElements.define("shiny-chat-container",U_);var Xc=q(pe(),1),NF=q(td(),1);function ole({elementId:e}){let t=Dl(e),n=(0,Xc.useSyncExternalStore)(t.subscribe,t.getSnapshot,t.getSnapshot);return!n.initialized||!n.enabled?null:(0,Xc.createElement)("div",{className:"shiny-chat-history shiny-chat-history-inline",role:"region","aria-label":"Conversation history"},(0,Xc.createElement)(Xb,{conversations:n.conversations,activeId:n.activeId,busy:n.busy,connected:n.connected,onSelect:t.actions.select,onNew:t.actions.create,onRename:t.actions.rename,onDelete:t.actions.delete}))}var q_=class extends HTMLElement{reactRoot=null;pendingUnmount=null;static observedAttributes=["for"];connectedCallback(){this.pendingUnmount!==null&&(clearTimeout(this.pendingUnmount),this.pendingUnmount=null),this.renderHistory()}attributeChangedCallback(){this.isConnected&&this.renderHistory()}disconnectedCallback(){this.pendingUnmount=setTimeout(()=>{this.reactRoot?.unmount(),this.reactRoot=null,this.pendingUnmount=null},0)}renderHistory(){let t=this.getAttribute("for")?.trim();if(!t){this.dataset.historyError="missing-for",this.reactRoot?.unmount(),this.reactRoot=null;return}delete this.dataset.historyError,this.reactRoot||(this.reactRoot=(0,NF.createRoot)(this)),this.reactRoot.render((0,Xc.createElement)(ole,{elementId:t,key:t}))}};customElements.get("shiny-chat-history")||customElements.define("shiny-chat-history",q_);var DF=q(td(),1),K_=q(pe(),1);var kt=q(pe(),1);var V_=q(ie(),1);function RF(){return(0,V_.jsx)("svg",{width:12,height:12,viewBox:"0 0 12 12",xmlns:"http://www.w3.org/2000/svg",className:"markdown-stream-dot",style:{marginLeft:".25em",marginTop:"-.25em"},"aria-hidden":"true",children:(0,V_.jsx)("circle",{cx:6,cy:6,r:6})})}var fr=q(pe(),1);function kF({streaming:e,contentDependency:t,bottomTolerance:n=10,scrollOnContentChange:r=!1}){let i=(0,fr.useRef)(null),[o,s]=(0,fr.useState)(!0),a=(0,fr.useRef)(0),l=(0,fr.useCallback)(()=>{let b=i.current;if(!b)return;let{scrollTop:y,scrollHeight:g,clientHeight:E}=b,T=y+E>=g-n,S=y{u.current()}),f=(0,fr.useCallback)(b=>{i.current&&i.current.removeEventListener("scroll",c.current),i.current=b,b&&(a.current=b.scrollTop,b.addEventListener("scroll",c.current,{passive:!0}))},[]);(0,fr.useEffect)(()=>{(e||r)&&o&&i.current&&i.current.scrollTo({top:i.current.scrollHeight,behavior:"smooth"})},[e,o,t,r]);let d=(0,fr.useCallback)(()=>{s(!0),i.current?.scrollTo({top:i.current.scrollHeight,behavior:"smooth"})},[]),h=(0,fr.useCallback)(()=>{s(!0)},[]),p=(0,fr.useCallback)(()=>{let b=i.current;if(!b)return;let{scrollTop:y,scrollHeight:g,clientHeight:E}=b;y+E>=g-n&&s(!0)},[n]);return{containerRef:f,stickToBottom:o,scrollToBottom:d,engageStickToBottom:h,repinIfAtBottom:p}}function MF(e,t){let n=e.parentElement,r=t?.toLowerCase();for(;n&&!(r&&n.tagName.toLowerCase()===r);){let i=getComputedStyle(n),o=i.overflowY!=="hidden"&&i.overflowY!=="clip",s=n.scrollHeight>n.clientHeight;if(o&&s)return n;n=n.parentElement}return null}var fa=q(ie(),1),sle="shiny-chat-container";function ey(e){return"type"in e}function ty(e){return!ey(e)&&e.text.trim()===""}function OF({initialContent:e="",initialSegments:t,initialContentType:n="markdown",initialStreaming:r=!1,initialTrusted:i=!1,autoScroll:o=!1,onApiReady:s}){let[a,l]=(0,kt.useState)(t??[{text:e,trusted:i}]),[u,c]=(0,kt.useState)(n),[f,d]=(0,kt.useState)(r),h=(0,kt.useRef)(null),p=(0,kt.useRef)(null),[b,y]=(0,kt.useState)(0),g=(0,kt.useCallback)(()=>{y(L=>L+1)},[]),E=(0,kt.useMemo)(()=>[a,b],[a,b]),{containerRef:T,scrollToBottom:S,repinIfAtBottom:x,stickToBottom:v}=kF({streaming:o&&f,contentDependency:E});(0,kt.useLayoutEffect)(()=>{if(!o||!h.current){p.current&&(T(null),p.current=null);return}let L=MF(h.current,sle);L!==p.current&&(T(L),p.current=L)},[o,a,b,T]),(0,kt.useEffect)(()=>()=>{p.current&&(T(null),p.current=null)},[T]);let N=(0,kt.useRef)(v);N.current=v;let D=(0,kt.useRef)(f);(0,kt.useEffect)(()=>{let L=D.current;D.current=f,o&&(f||L&&N.current)&&S()},[f,o,S]);let k=(0,kt.useCallback)((L,O=!1,F=!1)=>{x(),l(I=>{let z=I[I.length-1];return!F&&z&&!ey(z)&&z.trusted===O?[...I.slice(0,-1),{...z,text:z.text+L}]:[...I,{text:L,trusted:O}]})},[x]),A=(0,kt.useCallback)(L=>{x(),l(O=>L.type==="html_block"?[...O,L]:Is(O,L,ty))},[x]),P=(0,kt.useCallback)((L,O=!1)=>{l([{text:L,trusted:O}])},[]),G=(0,kt.useCallback)(L=>{x(),l(L.type==="html_block"?[L]:Is([],L,ty))},[x]),U=(0,kt.useMemo)(()=>({appendContent:k,appendBlock:A,replaceContent:P,replaceWithBlock:G,setStreaming:d,setContentType:c}),[k,A,P,G]);(0,kt.useEffect)(()=>{s?.(U)},[U,s]);let B=f&&a.every(L=>!ey(L)&&!/\S/.test(L.text));return(0,fa.jsxs)("div",{ref:h,children:[B&&(0,fa.jsx)("p",{children:(0,fa.jsx)(RF,{})}),a.map((L,O)=>ey(L)?L.type==="web_activity"?(0,fa.jsx)(F0,{items:L.items},O):(0,fa.jsx)(z0,{content:L.content,htmlDeps:L.htmlDeps,onMounted:g},O):(0,fa.jsx)(Xt,{content:L.text,contentType:u,streaming:f&&O===a.length-1,tagToComponentMap:L.trusted?Xs:Sc},O))]})}var Y_=$c();function IF(e){return"isStreaming"in e}var W_=class extends HTMLElement{reactRoot=null;api=null;pendingMessages=[];deferredTeardown=new jc;smoother=null;connectedCallback(){if(this.deferredTeardown.cancel(),this.reactRoot)return;this.reactRoot=(0,DF.createRoot)(this);let t=this.getAttribute("content")??"",n=ale(this,t),r=this.getAttribute("content-type")??"markdown",i=G_(this,"streaming"),o=G_(this,"content-trusted"),s=G_(this,"auto-scroll");this.reactRoot.render((0,K_.createElement)(Tr.Provider,{value:Y_},(0,K_.createElement)(OF,{initialContent:t,initialSegments:n,initialContentType:r,initialStreaming:i,initialTrusted:o,autoScroll:s,onApiReady:a=>{this.api=a;for(let l of this.pendingMessages)this.dispatchMessage(l);this.pendingMessages=[]}})))}disconnectedCallback(){this.deferredTeardown.schedule(()=>{this.reactRoot?.unmount(),this.reactRoot=null,this.api=null,this.pendingMessages=[],this.smoother?.dispose(),this.smoother=null})}getSmoother(){return this.smoother||(this.smoother=new Wc({onEmit:(t,n,r)=>{this.api.appendContent(t,n.trusted,n.segmentStart&&r)},canMerge:(t,n)=>t.trusted===n.trusted&&!n.segmentStart})),this.smoother}handleMessage(t){if(!this.api){this.pendingMessages.push(t);return}this.dispatchMessage(t)}dispatchMessage(t){if(this.smoother?.finishing&&this.smoother.flush(),IF(t)){if(t.isStreaming===!1){let r=this.api;this.smoother?this.smoother.finish(()=>r.setStreaming(!1)):r.setStreaming(!1)}else t.isStreaming===!0&&(this.smoother?.dispose(),this.api.setStreaming(!0));return}if(t.block!==void 0){let r=LF(t.block);if(!r)return;t.operation==="replace"?(this.smoother?.dispose(),this.api.replaceWithBlock(r)):(this.smoother?.flush(),this.api.appendBlock(r));return}let n=t.content??"";t.operation==="replace"?(this.smoother?.dispose(),this.api.replaceContent(n,t.trusted===!0)):t.operation==="append"&&this.getSmoother().push(n,{trusted:t.trusted===!0,segmentStart:t.segment_start===!0})}};function LF(e){if(Nu(e))return nd(e);if(e.type==="html_block"){let t=Ru(e);return t?ku(t):null}return console.warn(`Ignoring unsupported structured block in a markdown stream: ${String(e.type)}`),null}function ale(e,t){let n=e.getAttribute("content-segments");if(n===null)return;let r=Zb(n,"content-segments attribute");if(r===null)return[{text:t,trusted:!1}];let i=[];for(let o of r){if(lle(o)){i.push(o);continue}if(ule(o)){let s=LF(o.block);if(s){i=s.type==="html_block"?[...i,s]:Is(i,s,ty);continue}}return[{text:t,trusted:!1}]}return i}function lle(e){return typeof e=="object"&&e!==null&&typeof e.text=="string"&&typeof e.trusted=="boolean"}function ule(e){return typeof e=="object"&&e!==null&&typeof e.block=="object"&&e.block!==null}function cle(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function G_(e,t){let n=e.getAttribute(t);if(n===""||n==="true")return!0;if(n==="false")return!1;let r=cle(t),i=e[r];return i===!0||i==="true"}customElements.get("shiny-markdown-stream")||customElements.define("shiny-markdown-stream",W_);window.Shiny?.addCustomMessageHandler("shinyMarkdownStreamMessage",async e=>{let t=document.getElementById(e.id);if(!t){Y_.showClientMessage({status:"error",message:`Unable to handle MarkdownStream() message since element with id ${e.id} wasn't found.`});return}!IF(e)&&e.html_deps&&await Y_.renderDependencies(e.html_deps),t.handleMessage(e)});var fle="(max-width: 799px)",dr="__home__",j_="shiny-chat-page:change",dle=".shiny-chat-page-panel",hle=".shiny-chat-page-sidebar-panel",ple=["open","width","resizable"],$_="default",Fh=150,mle=360,gle=180,PF="--shiny-chat-page-toast-offset",zh=8,ble=["a[href]","area[href]","button:not([disabled])","input:not([disabled]):not([type='hidden'])","select:not([disabled])","textarea:not([disabled])","iframe","object","embed","audio[controls]","video[controls]","summary","[contenteditable]:not([contenteditable='false'])","[tabindex]:not([tabindex='-1'])"].join(","),BF="shiny-change-tab-visibility",HF=!1;function yle(){HF||!window.Shiny?.inputBindings||(window.Shiny.inputBindings.register(new X_,"shinychat.chatPage"),HF=!0)}var FF=!1;function Ele(){FF||!window.jQuery||(window.jQuery(document).on("shiny:message",e=>{let t=e.message,n=t?.[BF];if(!n||typeof n!="object")return;let{inputId:r,target:i,type:o}=n;if(typeof r!="string"||typeof i!="string"||o!=="hide"&&o!=="show")return;let s=document.getElementById(r);s instanceof ny&&(delete t[BF],o==="hide"?s.navHide(i):s.navShow(i))}),FF=!0)}function Tle(e){return e==="open"||e==="closed"||e==="always"||e==="auto"?e:"auto"}function zF(e,t){return Array.from(e.children).filter(n=>n.matches(t))}function Sle(e,t){if(e.hidden||e.matches(":disabled")||e.getAttribute("aria-disabled")==="true"||e.closest("[hidden], [inert], [aria-hidden='true']"))return!1;let n=e.closest("details:not([open])");if(n&&n.querySelector(":scope > summary")!==e)return!1;for(let r=e;r&&t.contains(r);r=r.parentElement){let i=window.getComputedStyle(r);if(i.display==="none"||i.visibility==="hidden")return!1;if(r===t)break}return!0}var ny=class e extends HTMLElement{static toastOffsetOwner=null;initialized=!1;mobile=!1;layoutInitialized=!1;mediaQuery=null;cleanupListeners=[];toggle=null;identity=null;identityTooltip=null;identityTitleObserver=null;identityTitle=null;mobileHomeLink=null;identityReturnLabel="Return to chat";header=null;controls=null;toolbarScoped=null;toolbarGlobal=null;toolbarSources=new Map;activeToolbarSource=null;desktopMount=null;mobileMount=null;body=null;aside=null;closeButton=null;resizeHandle=null;sections=[];navButtons=[];sidebarPanels=[];sidebarStates=new Map;scrim=null;historyUnsubscribe=null;sidebarMutationObserver=null;historyAutoDecided=!1;resizingSidebarKey=null;sidebarMotionFrame=null;sidebarMotionTimer=null;connectedCallback(){if(this.initialized||(yle(),Ele(),!this.captureDom()))return;this.initialized=!0,this.initializeIdentityTooltip(),this.bindInteractions(),this.bindMediaQuery(),this.bindResizeObserver();let t=this.dataset.activePage||dr;this.selectPage(t,!1)||this.selectPage(dr,!1),this.bindHistoryAutoOpen(),this.sidebarMotionFrame=window.requestAnimationFrame(()=>{this.sidebarMotionFrame=null,this.setAttribute("data-sidebar-motion-ready","")})}disconnectedCallback(){this.identityTooltip?.dispose(),this.identityTooltip=null,this.identityTitleObserver?.disconnect(),this.identityTitleObserver=null,this.historyUnsubscribe?.(),this.historyUnsubscribe=null,this.cleanupListeners.splice(0).forEach(t=>t()),this.closeMobileMenu(!1),this.removeScrim(),this.cancelSidebarMotion(),this.mediaQuery=null,this.layoutInitialized=!1,this.initialized=!1,e.toastOffsetOwner===this&&(document.documentElement.style.removeProperty(PF),e.toastOffsetOwner=null)}captureDom(){delete this.dataset.pageError;let t=this.querySelectorAll(".shiny-chat-page-controls"),n=this.querySelectorAll(".shiny-chat-page-controls-mount-desktop"),r=this.querySelectorAll(".shiny-chat-page-controls-mount-mobile"),i=this.querySelectorAll(".shiny-chat-page-sidebar"),o=this.querySelectorAll(".shiny-chat-page-body"),s=this.querySelectorAll(".shiny-chat-page-main"),a=this.querySelectorAll(".shiny-chat-page-header"),l=this.querySelectorAll("button.shiny-chat-page-sidebar-toggle"),u=[];t.length!==1&&u.push("controls"),n.length!==1&&u.push("desktop-mount"),r.length!==1&&u.push("mobile-mount"),i.length!==1&&u.push("sidebar"),o.length!==1&&u.push("body"),s.length!==1&&u.push("main"),a.length!==1&&u.push("header"),l.length!==1&&u.push("sidebar-toggle");let c=s[0],f=c?zF(c,dle):[];return f.filter(d=>d.dataset.pageValue===dr).length!==1&&u.push("home-panel"),u.length>0?(this.dataset.pageError=`invalid-dom:${u.join(",")}`,!1):(this.controls=t[0],this.header=a[0],this.toolbarScoped=this.controls.querySelector(".shiny-chat-page-toolbar-scoped"),this.toolbarGlobal=this.controls.querySelector(".shiny-chat-page-toolbar-global"),this.desktopMount=n[0],this.mobileMount=r[0],this.body=o[0],this.aside=i[0],this.toggle=l[0],this.closeButton=this.captureCloseButton(),this.resizeHandle=this.captureResizeHandle(),this.identity=this.querySelector("button.shiny-chat-page-identity[data-page-home]"),this.identityTitle=this.identity?.querySelector(".shiny-chat-page-identity-title")??null,this.captureMobileHomeLink(),this.identityReturnLabel=this.identity?.getAttribute("aria-label")?.trim()||"Return to chat",this.sections=f,this.navButtons=Array.from(this.controls.querySelectorAll("button.shiny-chat-page-nav-link[data-page-target]:not(.shiny-chat-page-home-link)")),this.captureToolbarSources(),this.sidebarPanels=zF(this.aside,hle),this.captureSidebarStates(),this.querySelectorAll(".shiny-chat-page-sidebar-scrim").forEach(d=>d.remove()),!0)}captureToolbarSources(){this.toolbarSources.clear(),this.querySelectorAll(".shiny-chat-page-toolbar-source[data-page-toolbar-source]").forEach(t=>{let n=t.dataset.pageToolbarSource?.trim();!n||this.toolbarSources.has(n)||this.toolbarSources.set(n,t)})}captureSidebarStates(){this.sidebarPanels.forEach(t=>{let n=t.dataset.sidebarFor?.trim();if(!n||this.sidebarStates.has(n))return;let r=Tle(t.dataset.sidebarOpen);this.sidebarStates.set(n,{key:n,openMode:r,open:r==="open"||r==="always"||r==="auto"&&n!==$_,width:t.dataset.sidebarWidth?.trim()||"280px",resizable:t.dataset.sidebarResizable!=="false"})})}bindInteractions(){if(!this.toggle)return;this.listen(this.toggle,"click",()=>{if(this.toggle?.disabled)return;if(this.mobile){this.hasAttribute("data-mobile-menu-open")?this.closeMobileMenu():this.openMobileMenu();return}let r=this.activeSidebarState();!r||r.openMode==="always"||(r.key===$_&&r.openMode==="auto"&&!this.historyAutoDecided&&this.cancelHistoryAutoOpen(),r.open=!r.open,this.applyDesktopSidebarState(),window.dispatchEvent(new Event("resize")))}),this.closeButton&&this.listen(this.closeButton,"click",()=>{this.mobile&&this.closeMobileMenu()}),this.identity&&this.listen(this.identity,"click",()=>{this.selectPage(dr)}),this.mobileHomeLink&&this.listen(this.mobileHomeLink,"click",()=>{this.selectPage(dr)}),this.navButtons.forEach(r=>{this.listen(r,"click",()=>{let i=r.dataset.pageTarget;i&&this.selectPage(i)})});let t=this.controls?.querySelector(".shiny-chat-page-nav");t&&(this.listen(t,"scroll",()=>this.positionNavigationMenus()),t.querySelectorAll(".shiny-chat-page-nav-menu").forEach(r=>{this.listen(r,"toggle",()=>{window.requestAnimationFrame(()=>this.positionNavigationMenus())})})),this.listen(window,"resize",()=>this.positionNavigationMenus());let n=r=>{!this.mobile||!this.hasAttribute("data-mobile-menu-open")||(r.key==="Escape"?(r.preventDefault(),this.closeMobileMenu()):r.key==="Tab"&&this.trapMobileFocus(r))};document.addEventListener("keydown",n),this.cleanupListeners.push(()=>document.removeEventListener("keydown",n)),this.resizeHandle&&(this.listen(this.resizeHandle,"resize-request",r=>{this.setSidebarWidth(r.detail.value)}),this.listen(this.resizeHandle,"resize-start",()=>{this.resizingSidebarKey=this.activeSidebarState()?.key??null,this.setAttribute("data-sidebar-resizing","")}),this.listen(this.resizeHandle,"resize-end",()=>{this.resizingSidebarKey=null,this.removeAttribute("data-sidebar-resizing")})),this.listen(window,"resize",()=>{this.updateResizeHandle(),this.updateToastOffset()})}bindResizeObserver(){if(typeof ResizeObserver>"u"||!this.body||!this.aside||!this.header)return;let t=new ResizeObserver(()=>{this.updateResizeHandle(),this.updateToastOffset()});t.observe(this.body),t.observe(this.aside),t.observe(this.header),this.cleanupListeners.push(()=>t.disconnect());let n=new MutationObserver(()=>this.updateResizeHandle());this.sidebarMutationObserver=n,this.observeSidebarMutations(),this.cleanupListeners.push(()=>{n.disconnect(),this.sidebarMutationObserver===n&&(this.sidebarMutationObserver=null)})}observeSidebarMutations(){!this.sidebarMutationObserver||!this.aside||this.sidebarMutationObserver.observe(this.aside,{childList:!0,characterData:!0,subtree:!0})}bindMediaQuery(){if(typeof window.matchMedia!="function"){this.applyResponsiveLayout(!1);return}this.mediaQuery=window.matchMedia(fle);let t=n=>{this.applyResponsiveLayout(n.matches)};typeof this.mediaQuery.addEventListener=="function"?(this.mediaQuery.addEventListener("change",t),this.cleanupListeners.push(()=>this.mediaQuery?.removeEventListener("change",t))):(this.mediaQuery.addListener(t),this.cleanupListeners.push(()=>this.mediaQuery?.removeListener(t))),this.applyResponsiveLayout(this.mediaQuery.matches)}applyResponsiveLayout(t){if(!this.controls||!this.desktopMount||!this.mobileMount)return;let n=!this.layoutInitialized||this.mobile!==t,r=this.hasAttribute("data-mobile-menu-open");t?(this.setAttribute("data-responsive-takeover",""),this.cancelSidebarMotion()):(this.removeAttribute("data-responsive-takeover"),n&&this.suppressSidebarMotionThroughNextFrame()),this.mobile=t,this.layoutInitialized=!0,this.updateMobileHomeLink();let i=t?this.mobileMount:this.desktopMount;this.controls.parentElement!==i&&i.append(this.controls),this.closeButton&&(this.closeButton.hidden=!t),t?n&&(this.closeMobileMenu(!1),this.aside&&(this.aside.hidden=!1,this.aside.removeAttribute("inert"),this.aside.setAttribute("aria-hidden","false")),this.updateToggleState(),this.updateResizeHandle()):(this.closeMobileMenu(r),this.applyDesktopSidebarState()),this.positionNavigationMenus(),this.updateToastOffset()}selectPage(t,n=!0){let r=this.sections.find(a=>a.dataset.pageValue===t);if(!r)return!1;let i=this.dataset.activePage!==t;this.cancelSidebarResize(),this.sections.forEach(a=>{a.hidden=a!==r}),this.dataset.activePage=t,this.navButtons.forEach(a=>{t!==dr&&a.dataset.pageTarget===t?a.setAttribute("aria-current","page"):a.removeAttribute("aria-current")}),this.identity&&(t===dr?(this.identity.setAttribute("aria-current","page"),this.identity.removeAttribute("aria-label")):(this.identity.removeAttribute("aria-current"),this.identity.setAttribute("aria-label",this.identityReturnLabel)),this.updateIdentityTooltip()),this.mobileHomeLink&&(t===dr?this.mobileHomeLink.setAttribute("aria-current","page"):this.mobileHomeLink.removeAttribute("aria-current")),this.syncSidebar(r),this.syncToolbar(r);let o=document.activeElement,s=Array.from(this.controls?.querySelectorAll(".shiny-chat-page-nav-menu[open]")??[]).find(a=>a.contains(o));return this.controls?.querySelectorAll(".shiny-chat-page-nav-menu[open]").forEach(a=>a.removeAttribute("open")),s?.querySelector(":scope > summary")?.focus(),n&&this.mobile&&this.closeMobileMenu(),this.updateToastOffset(),window.dispatchEvent(new Event("resize")),i&&this.dispatchEvent(new CustomEvent(j_,{detail:{value:t}})),!0}navSelect(t){this.selectPage(t)||this.reportNavigationError(`Cannot select page "${t}": no page_chat() page has that value.`)}navHide(t){if(t===dr){this.reportNavigationError(`Cannot hide page "${t}": the page_chat() home page is always available.`);return}if(!this.pageSection(t)){this.reportNavigationError(`Cannot hide page "${t}": no page_chat() page has that value.`);return}let n=this.navControlFor(t);this.dataset.activePage===t&&this.selectPage(dr),!(!n||n.hidden)&&(n.hidden=!0,n.contains(document.activeElement)&&this.identity?.focus(),this.refreshNavigationAvailability())}navShow(t){if(!this.pageSection(t)){this.reportNavigationError(`Cannot show page "${t}": no page_chat() page has that value.`);return}let n=this.navControlFor(t);!n||!n.hidden||(n.hidden=!1,this.refreshNavigationAvailability())}pageSection(t){return this.sections.find(n=>n.dataset.pageValue===t)}navControlFor(t){return this.navButtons.find(n=>n.dataset.pageTarget===t)}reportNavigationError(t){console.error(`[shinychat] ${t}`),$c().showClientMessage({status:"error",message:t})}refreshNavigationAvailability(){this.mobile?(this.updateToggleState(),this.updateResizeHandle()):this.applyDesktopSidebarState()}positionNavigationMenus(){this.mobile||!this.controls||this.controls.querySelectorAll(".shiny-chat-page-nav-menu[open]").forEach(t=>{let n=t.querySelector(":scope > summary"),r=t.querySelector(":scope > .shiny-chat-page-nav-menu-items");if(!n||!r)return;let i=n.getBoundingClientRect(),o=r.getBoundingClientRect(),s=Math.max(zh,window.innerWidth-o.width-zh),a=window.getComputedStyle(n).direction==="rtl"?i.right-o.width:i.left,l=Math.min(Math.max(a,zh),s),u=i.bottom+4,c=u+o.height<=window.innerHeight-zh?u:Math.max(zh,i.top-o.height-4);r.style.setProperty("--shiny-chat-page-nav-menu-top",`${Math.round(c)}px`),r.style.setProperty("--shiny-chat-page-nav-menu-left",`${Math.round(l)}px`)})}initializeIdentityTooltip(){let t=this.identity,n=this.identityTitle;if(!t||!n)return;this.identityTitleObserver=new MutationObserver(()=>{this.updateIdentityTooltip(),this.updateMobileHomeLink()}),this.identityTitleObserver.observe(n,{childList:!0,characterData:!0,subtree:!0});let r=window.bootstrap?.Tooltip;r&&(this.identityTooltip=new r(t,{html:!0,placement:"bottom",title:this.identityTooltipContent()}))}identityTooltipContent(){let t=document.createElement("span");return this.dataset.activePage!==dr&&t.append(this.identityReturnLabel,document.createElement("br")),t.append(this.mobileHomeLabel()),t}updateIdentityTooltip(){this.identityTooltip?.setContent({".tooltip-inner":this.identityTooltipContent()})}captureMobileHomeLink(){let t=this.controls?.querySelector(".shiny-chat-page-nav"),n=t?.querySelector("button.shiny-chat-page-home-link");if(this.mobileHomeLink=null,!this.identity||!t){n?.remove();return}let r=n??document.createElement("button");r.type="button",r.className="shiny-chat-page-nav-link shiny-chat-page-home-link",r.dataset.pageTarget=dr;let i=r.querySelector(".shiny-chat-page-nav-title");i||(i=document.createElement("span"),i.className="shiny-chat-page-nav-title",r.append(i)),r.isConnected||t.prepend(r),this.mobileHomeLink=r,this.updateMobileHomeLink()}updateMobileHomeLink(){if(!this.mobileHomeLink)return;let t=this.mobileHomeLabel(),n=this.mobileHomeLink.querySelector(".shiny-chat-page-nav-title");n&&(n.textContent=t),this.mobileHomeLink.hidden=!this.mobile}mobileHomeLabel(){return this.identityTitle?.textContent?.trim()||"Home"}updateToastOffset(){let t=this.header?.getBoundingClientRect().bottom;!t||!Number.isFinite(t)||(document.documentElement.style.setProperty(PF,`${Math.ceil(t)}px`),e.toastOffsetOwner=this)}syncToolbar(t){if(!this.toolbarScoped||this.toolbarSources.size===0)return;let n=t.dataset.pageToolbarSource?.trim(),r=n?this.toolbarSources.get(n):void 0;if(r===this.activeToolbarSource||(this.activeToolbarSource?this.activeToolbarSource.append(...this.toolbarScoped.childNodes):this.toolbarScoped.replaceChildren(),this.activeToolbarSource=null,!r))return;let i=r.querySelector(":scope > .shiny-chat-page-toolbar-content");i&&(this.toolbarScoped.append(i),this.activeToolbarSource=r)}syncSidebar(t){if(!this.aside)return;this.style.removeProperty("--shiny-chat-page-sidebar-rendered-width");let n=t.dataset.sidebarKey?.trim();n?this.aside.dataset.sidebarKey=n:delete this.aside.dataset.sidebarKey;let r;this.sidebarPanels.forEach(o=>{let s=!!n&&o.dataset.sidebarFor===n;o.hidden=!s,s&&!r&&(r=o)}),ple.forEach(o=>{let s=`data-sidebar-${o}`,a=r?.getAttribute(s);a==null?this.aside?.removeAttribute(s):this.aside?.setAttribute(s,a)});let i=n?this.sidebarStates.get(n):void 0;i?(this.aside.dataset.sidebarWidth=i.width,this.style.setProperty("--shiny-chat-page-sidebar-width",i.width)):this.style.removeProperty("--shiny-chat-page-sidebar-width"),this.mobile?(this.aside.hidden=!1,this.aside.removeAttribute("inert"),this.aside.setAttribute("aria-hidden","false"),this.updateToggleState(),this.updateResizeHandle()):this.applyDesktopSidebarState()}applyDesktopSidebarState(){if(!this.toggle||!this.aside)return;let t=this.activeSidebarState(),n=!!t?.open;t&&(this.aside.dataset.sidebarWidth=t.width,this.style.setProperty("--shiny-chat-page-sidebar-width",t.width)),this.presentDesktopSidebar(n),this.updateToggleState(),this.updateResizeHandle()}presentDesktopSidebar(t){if(this.aside){if(this.cancelSidebarMotion(),t){this.aside.hidden=!1,this.aside.removeAttribute("inert"),this.aside.setAttribute("aria-hidden","false");let n=()=>{this.sidebarMotionFrame=null,!this.mobile&&this.activeSidebarState()?.open&&this.setAttribute("data-sidebar-open","")};this.shouldAnimateSidebar()?this.sidebarMotionFrame=window.requestAnimationFrame(n):n();return}if(this.removeAttribute("data-sidebar-open"),this.aside.setAttribute("aria-hidden","true"),this.aside.setAttribute("inert",""),!this.shouldAnimateSidebar()){this.aside.hidden=!0;return}this.sidebarMotionTimer=window.setTimeout(()=>{this.sidebarMotionTimer=null,this.hasAttribute("data-sidebar-open")||(this.aside.hidden=!0)},gle)}}shouldAnimateSidebar(){let t=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;return this.hasAttribute("data-sidebar-motion-ready")&&!this.mobile&&!this.hasAttribute("data-responsive-takeover")&&!this.hasAttribute("data-sidebar-handoff")&&!t}cancelSidebarMotion(){this.sidebarMotionFrame!==null&&(window.cancelAnimationFrame(this.sidebarMotionFrame),this.sidebarMotionFrame=null),this.sidebarMotionTimer!==null&&(window.clearTimeout(this.sidebarMotionTimer),this.sidebarMotionTimer=null)}suppressSidebarMotionThroughNextFrame(){this.setAttribute("data-sidebar-handoff",""),window.requestAnimationFrame(()=>{this.removeAttribute("data-sidebar-handoff")})}updateToggleState(){if(!this.toggle||!this.aside)return;let t=this.activeSidebarState(),n=this.mobile?this.hasMobileMenuContent():this.availableSidebarKeys().size>0,r=n&&!this.mobile&&(t?.openMode==="always"||!t),i=n&&(this.mobile?this.hasAttribute("data-mobile-menu-open"):!!t?.open),o=!this.mobile&&t?.openMode==="always",s=r&&!o,a=o?"App menu is always open":s?"App menu unavailable on this page":"Toggle app menu";this.toggle.hidden=!n,this.header?.toggleAttribute("data-sidebar-toggle-hidden",!n),this.toggle.disabled=r,this.toggle.setAttribute("aria-disabled",r?"true":"false"),this.toggle.setAttribute("aria-expanded",i?"true":"false"),this.toggle.setAttribute("aria-label",a),s?(this.toggle.setAttribute("title",a),this.toggle.removeAttribute("aria-controls")):(o?this.toggle.setAttribute("title",a):this.toggle.removeAttribute("title"),this.toggle.setAttribute("aria-controls",this.aside.id))}hasMobileMenuContent(){return this.availableSidebarKeys().size>0||this.hasVisibleNavContent()||this.hasMeaningfulContent(this.toolbarGlobal)||this.hasMeaningfulContent(this.toolbarScoped?.querySelector(":scope > .shiny-chat-page-toolbar-content")??null)||Array.from(this.toolbarSources.values()).some(t=>this.hasMeaningfulContent(t.querySelector(":scope > .shiny-chat-page-toolbar-content")))}hasVisibleNavContent(){let t=this.controls?.querySelector(".shiny-chat-page-nav");return t?Array.from(t.children).some(n=>n instanceof HTMLElement&&n.hidden?!1:this.hasMeaningfulContent(n)):!1}availableSidebarKeys(){let t=new Set;this.navButtons.forEach(i=>{let o=i.dataset.pageTarget;i.hidden&&o&&t.add(o)});let n=this.dataset.activePage||dr,r=new Set;return this.sections.forEach(i=>{let o=i.dataset.pageValue;if(!(o===dr||o===n||!o||!t.has(o)))return;let a=i.dataset.sidebarKey?.trim();a&&this.sidebarStates.has(a)&&r.add(a)}),r}hasMeaningfulContent(t){return!!(t?.children.length||t?.textContent?.trim())}activeSidebarState(){let t=this.aside?.dataset.sidebarKey?.trim();return t?this.sidebarStates.get(t):void 0}bindHistoryAutoOpen(){if(this.historyAutoDecided||this.historyUnsubscribe)return;let t=this.sidebarStates.get($_),n=this.dataset.chatId?.trim();if(!t||t.openMode!=="auto"||!n)return;let r=Dl(n),i=()=>{let o=r.getSnapshot();!o.initialized||this.historyAutoDecided||(this.historyAutoDecided=!0,t.open=o.enabled&&o.conversations.length>0,this.historyUnsubscribe?.(),this.historyUnsubscribe=null,!this.mobile&&this.activeSidebarState()===t&&(this.applyDesktopSidebarState(),window.dispatchEvent(new Event("resize"))))};this.historyUnsubscribe=r.subscribe(i),i()}cancelHistoryAutoOpen(){this.historyAutoDecided=!0,this.historyUnsubscribe?.(),this.historyUnsubscribe=null}captureResizeHandle(){if(!this.body)return null;let t=Array.from(this.body.querySelectorAll(":scope > .shiny-chat-page-sidebar-resizer")),n=t.shift()??rF({boundaryActivation:!0});return t.forEach(r=>r.remove()),n.className="shiny-chat-page-sidebar-resizer",n.isConnected||this.body.append(n),n}updateResizeHandle(){if(!this.resizeHandle)return;this.mobile?this.style.removeProperty("--shiny-chat-page-sidebar-max-width"):this.style.setProperty("--shiny-chat-page-sidebar-max-width",`${this.maximumSidebarWidth()}px`);let t=this.activeSidebarState(),n=!this.mobile&&!!(t?.open&&t.resizable&&this.aside);this.resizeHandle.hidden=!n,this.resizeHandle.setAttribute("aria-hidden",n?"false":"true");let r=this.maximumSidebarWidth(),i=Math.round(Math.min(Math.max(this.requestedSidebarWidth(),Fh),r));this.style.setProperty("--shiny-chat-page-sidebar-rendered-width",`${i}px`),this.resizeHandle.configure({value:i,min:Fh,max:r,panelSide:"inline-end",disabled:!n,label:"Resize sidebar",boundaryActivation:!0})}requestedSidebarWidth(){let t=this.activeSidebarState()?.width??"280px",n=t.match(/^\s*(\d+(?:\.\d+)?)px\s*$/i);if(n)return Number.parseFloat(n[1]);let r=t.match(/^\s*(\d+(?:\.\d+)?)rem\s*$/i);if(r){let o=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize);return Number.parseFloat(r[1])*(Number.isFinite(o)?o:16)}let i=t.match(/^\s*(\d+(?:\.\d+)?)%\s*$/);if(i){let o=this.body?.getBoundingClientRect().width??0;if(o>0)return o*Number.parseFloat(i[1])/100}if(t.trim().toLowerCase()==="fit-content"){let o=this.aside?.querySelector(".shiny-chat-page-sidebar-panel:not([hidden])");if(o){let s=o.cloneNode(!0);s.dataset.shinyChatSidebarMeasurement="",s.querySelectorAll("[id]").forEach(l=>l.removeAttribute("id")),s.style.cssText="position:fixed;visibility:hidden;pointer-events:none;contain:layout style;inline-size:max-content;block-size:auto;inset:0 auto auto -10000px;",this.sidebarMutationObserver?.disconnect();let a=0;try{this.aside?.append(s),a=s.getBoundingClientRect().width}finally{s.remove(),this.observeSidebarMutations()}if(a>0)return a}}if(this.body){let o=document.createElement("div");o.style.cssText="position:absolute;visibility:hidden;pointer-events:none;contain:layout style;inline-size:auto;block-size:0;overflow:hidden;",o.style.width=t,this.body.append(o);let s=o.getBoundingClientRect().width;if(o.remove(),s>0)return s}return 280}currentSidebarWidth(){let t=this.aside?.getBoundingClientRect().width??0;if(t>0)return t;let r=this.activeSidebarState()?.width?.match(/^(\d+(?:\.\d+)?)px$/);return r?Number(r[1]):280}maximumSidebarWidth(){let t=this.body?.getBoundingClientRect().width||this.getBoundingClientRect().width||window.innerWidth,n=parseFloat(getComputedStyle(this.body??this).columnGap)||0;return Math.max(Fh,Math.round(t-n-mle))}setSidebarWidth(t){let n=this.activeSidebarState();if(!n)return;let r=Math.round(Math.min(Math.max(t,Fh),this.maximumSidebarWidth()));n.width=`${r}px`,this.aside&&(this.aside.dataset.sidebarWidth=n.width),this.style.setProperty("--shiny-chat-page-sidebar-width",n.width),this.updateResizeHandle(),window.dispatchEvent(new Event("resize"))}cancelSidebarResize(){!this.resizeHandle||!this.resizingSidebarKey||this.resizeHandle.configure({value:this.currentSidebarWidth(),min:Fh,max:this.maximumSidebarWidth(),panelSide:"inline-end",disabled:!0,label:"Resize sidebar",boundaryActivation:!0})}openMobileMenu(){!this.mobile||!this.aside||!this.toggle||(this.setAttribute("data-mobile-menu-open","true"),this.toggle.setAttribute("aria-expanded","true"),this.aside.setAttribute("role","dialog"),this.aside.setAttribute("aria-modal","true"),this.aside.setAttribute("tabindex","-1"),this.ensureScrim(),this.aside.focus({preventScroll:!0}))}closeMobileMenu(t=!0){let n=this.hasAttribute("data-mobile-menu-open");this.removeAttribute("data-mobile-menu-open"),this.toggle?.setAttribute("aria-expanded","false"),this.aside?.removeAttribute("role"),this.aside?.removeAttribute("aria-modal"),this.aside?.removeAttribute("tabindex"),this.removeScrim(),n&&t&&this.toggle?.isConnected&&this.toggle.focus({preventScroll:!0})}ensureScrim(){if(this.scrim?.isConnected||!this.aside)return;let t=document.createElement("div");t.className="shiny-chat-page-sidebar-scrim",t.addEventListener("click",this.onScrimClick),this.aside.parentElement?.insertBefore(t,this.aside),this.scrim=t}captureCloseButton(){if(!this.aside)return null;let t=Array.from(this.aside.querySelectorAll([":scope > button.shiny-chat-page-sidebar-close",":scope > .bslib-toolbar button.shiny-chat-page-sidebar-close"].join(", "))),n=t.shift()??document.createElement("button");return t.forEach(r=>r.remove()),n.type="button",n.isConnected||(n.className="shiny-chat-page-sidebar-close",n.setAttribute("aria-label","Close app menu"),this.aside.prepend(n)),n}removeScrim(){this.scrim&&(this.scrim.removeEventListener("click",this.onScrimClick),this.scrim.remove(),this.scrim=null)}onScrimClick=()=>{this.closeMobileMenu()};trapMobileFocus(t){if(!this.aside)return;let n=Array.from(this.aside.querySelectorAll(ble)).filter(s=>Sle(s,this.aside)),r=n[0],i=n[n.length-1],o=document.activeElement;if(!r||!i){t.preventDefault(),this.aside.focus();return}t.shiftKey&&(o===r||o===this.aside||!this.aside.contains(o))?(t.preventDefault(),i.focus()):!t.shiftKey&&(o===i||o===this.aside||!this.aside.contains(o))&&(t.preventDefault(),r.focus())}listen(t,n,r){t.addEventListener(n,r),this.cleanupListeners.push(()=>t.removeEventListener(n,r))}},X_=class{subscriptions=new WeakMap;find(t){let n=t,r=n instanceof Element||n instanceof Document?n:n?.[0];return r?Array.from(r.querySelectorAll("shiny-chat-page[id]")):[]}getId(t){return t.id}getType(){return null}getValue(t){return t.dataset.activePage||dr}getState(t){return{value:this.getValue(t)}}getRatePolicy(){return null}initialize(){}subscribe(t,n){let r=()=>n(!1);this.subscriptions.set(t,r),t.addEventListener(j_,r)}unsubscribe(t){let n=this.subscriptions.get(t);n&&(t.removeEventListener(j_,n),this.subscriptions.delete(t))}receiveMessage(t,n){if(!n||typeof n!="object")return;let r=n.value;typeof r=="string"&&t.navSelect(r)}};customElements.get("shiny-chat-page")||customElements.define("shiny-chat-page",ny); /*! Bundled license information: scheduler/cjs/scheduler.production.js: diff --git a/js/dist/shinychat.js.map b/js/dist/shinychat.js.map index 9cc12e7a0..46b4f471e 100644 --- a/js/dist/shinychat.js.map +++ b/js/dist/shinychat.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../node_modules/scheduler/cjs/scheduler.production.js", "../node_modules/scheduler/index.js", "../node_modules/react/cjs/react.production.js", "../node_modules/react/index.js", "../node_modules/react-dom/cjs/react-dom.production.js", "../node_modules/react-dom/index.js", "../node_modules/react-dom/cjs/react-dom-client.production.js", "../node_modules/react-dom/client.js", "../node_modules/react/cjs/react-jsx-runtime.production.js", "../node_modules/react/jsx-runtime.js", "../node_modules/inline-style-parser/index.js", "../node_modules/style-to-object/src/index.ts", "../node_modules/style-to-js/src/utilities.ts", "../node_modules/style-to-js/src/index.ts", "../node_modules/extend/index.js", "../node_modules/highlight.js/lib/core.js", "../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js", "../node_modules/use-sync-external-store/shim/index.js", "../node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js", "../node_modules/use-sync-external-store/shim/with-selector.js", "../src/chat/chat-entry.ts", "../src/chat/ChatApp.tsx", "../src/chat/context.ts", "../src/utils/uuid.ts", "../src/chat/markdown-code-ranges.ts", "../src/chat/tool-model.ts", "../src/chat/web-activity-model.ts", "../src/chat/html-block-model.ts", "../src/chat/state.ts", "../src/chat/currentConversation.ts", "../src/utils/navigate.ts", "../src/chat/useSupersededRequests.ts", "../src/chat/ChatContainer.tsx", "../node_modules/use-stick-to-bottom/dist/useStickToBottom.js", "../src/chat/ChatMessages.tsx", "../src/chat/ChatMessage.tsx", "../src/chat/BlockErrorBoundary.tsx", "../src/markdown/MarkdownContent.tsx", "../node_modules/comma-separated-tokens/index.js", "../node_modules/estree-util-is-identifier-name/lib/index.js", "../node_modules/hast-util-whitespace/lib/index.js", "../node_modules/property-information/lib/util/schema.js", "../node_modules/property-information/lib/util/merge.js", "../node_modules/property-information/lib/normalize.js", "../node_modules/property-information/lib/util/info.js", "../node_modules/property-information/lib/util/types.js", "../node_modules/property-information/lib/util/defined-info.js", "../node_modules/property-information/lib/util/create.js", "../node_modules/property-information/lib/aria.js", "../node_modules/property-information/lib/util/case-sensitive-transform.js", "../node_modules/property-information/lib/util/case-insensitive-transform.js", "../node_modules/property-information/lib/html.js", "../node_modules/property-information/lib/svg.js", "../node_modules/property-information/lib/xlink.js", "../node_modules/property-information/lib/xmlns.js", "../node_modules/property-information/lib/xml.js", "../node_modules/property-information/lib/hast-to-react.js", "../node_modules/property-information/lib/find.js", "../node_modules/property-information/index.js", "../node_modules/space-separated-tokens/index.js", "../node_modules/hast-util-to-jsx-runtime/lib/index.js", "../node_modules/unist-util-position/lib/index.js", "../node_modules/unist-util-stringify-position/lib/index.js", "../node_modules/vfile-message/lib/index.js", "../node_modules/hast-util-parse-selector/lib/index.js", "../node_modules/hastscript/lib/create-h.js", "../node_modules/hastscript/lib/svg-case-sensitive-tag-names.js", "../node_modules/hastscript/lib/index.js", "../node_modules/vfile-location/lib/index.js", "../node_modules/web-namespaces/index.js", "../node_modules/hast-util-from-parse5/lib/index.js", "../src/markdown/markdownToReact.ts", "../node_modules/parse5/dist/common/unicode.js", "../node_modules/parse5/dist/common/error-codes.js", "../node_modules/parse5/dist/tokenizer/preprocessor.js", "../node_modules/parse5/dist/common/token.js", "../node_modules/entities/src/generated/decode-data-html.ts", "../node_modules/entities/src/decode-codepoint.ts", "../node_modules/entities/src/decode.ts", "../node_modules/parse5/dist/common/html.js", "../node_modules/parse5/dist/tokenizer/index.js", "../node_modules/parse5/dist/parser/open-element-stack.js", "../node_modules/parse5/dist/parser/formatting-element-list.js", "../node_modules/parse5/dist/tree-adapters/default.js", "../node_modules/parse5/dist/common/doctype.js", "../node_modules/parse5/dist/common/foreign-content.js", "../node_modules/parse5/dist/parser/index.js", "../node_modules/entities/src/escape.ts", "../node_modules/parse5/dist/serializer/index.js", "../node_modules/parse5/dist/index.js", "../node_modules/vfile/lib/minpath.browser.js", "../node_modules/vfile/lib/minproc.browser.js", "../node_modules/vfile/lib/minurl.shared.js", "../node_modules/vfile/lib/minurl.browser.js", "../node_modules/vfile/lib/index.js", "../node_modules/unist-util-is/lib/index.js", "../node_modules/unist-util-visit-parents/lib/index.js", "../node_modules/unist-util-visit/lib/index.js", "../src/markdown/urlSanitize.ts", "../src/markdown/plugins/suggestionHelpers.ts", "../src/markdown/streamingDot.ts", "../src/markdown/plugins/rehypeSuggestionCards.ts", "../src/markdown/plugins/markTrailingAsides.ts", "../src/markdown/plugins/hastRaw.ts", "../src/markdown/plugins/rewriteEndTags.ts", "../src/markdown/plugins/rewriteAsideTemplate.ts", "../src/markdown/hideTrailingPartialTag.ts", "../node_modules/bail/index.js", "../node_modules/unified/lib/index.js", "../node_modules/is-plain-obj/index.js", "../node_modules/trough/lib/index.js", "../node_modules/unified/lib/callable-instance.js", "../node_modules/mdast-util-to-string/lib/index.js", "../node_modules/decode-named-character-reference/index.dom.js", "../node_modules/micromark-util-chunked/index.js", "../node_modules/micromark-util-combine-extensions/index.js", "../node_modules/micromark-util-decode-numeric-character-reference/index.js", "../node_modules/micromark-util-normalize-identifier/index.js", "../node_modules/micromark-util-character/index.js", "../node_modules/micromark-util-sanitize-uri/index.js", "../node_modules/micromark-factory-space/index.js", "../node_modules/micromark/lib/initialize/content.js", "../node_modules/micromark/lib/initialize/document.js", "../node_modules/micromark-util-classify-character/index.js", "../node_modules/micromark-util-resolve-all/index.js", "../node_modules/micromark-core-commonmark/lib/attention.js", "../node_modules/micromark-core-commonmark/lib/autolink.js", "../node_modules/micromark-core-commonmark/lib/blank-line.js", "../node_modules/micromark-core-commonmark/lib/block-quote.js", "../node_modules/micromark-core-commonmark/lib/character-escape.js", "../node_modules/micromark-core-commonmark/lib/character-reference.js", "../node_modules/micromark-core-commonmark/lib/code-fenced.js", "../node_modules/micromark-core-commonmark/lib/code-indented.js", "../node_modules/micromark-core-commonmark/lib/code-text.js", "../node_modules/micromark-util-subtokenize/lib/splice-buffer.js", "../node_modules/micromark-util-subtokenize/index.js", "../node_modules/micromark-core-commonmark/lib/content.js", "../node_modules/micromark-factory-destination/index.js", "../node_modules/micromark-factory-label/index.js", "../node_modules/micromark-factory-title/index.js", "../node_modules/micromark-factory-whitespace/index.js", "../node_modules/micromark-core-commonmark/lib/definition.js", "../node_modules/micromark-core-commonmark/lib/hard-break-escape.js", "../node_modules/micromark-core-commonmark/lib/heading-atx.js", "../node_modules/micromark-util-html-tag-name/index.js", "../node_modules/micromark-core-commonmark/lib/html-flow.js", "../node_modules/micromark-core-commonmark/lib/html-text.js", "../node_modules/micromark-core-commonmark/lib/label-end.js", "../node_modules/micromark-core-commonmark/lib/label-start-image.js", "../node_modules/micromark-core-commonmark/lib/label-start-link.js", "../node_modules/micromark-core-commonmark/lib/line-ending.js", "../node_modules/micromark-core-commonmark/lib/thematic-break.js", "../node_modules/micromark-core-commonmark/lib/list.js", "../node_modules/micromark-core-commonmark/lib/setext-underline.js", "../node_modules/micromark/lib/initialize/flow.js", "../node_modules/micromark/lib/initialize/text.js", "../node_modules/micromark/lib/constructs.js", "../node_modules/micromark/lib/create-tokenizer.js", "../node_modules/micromark/lib/parse.js", "../node_modules/micromark/lib/postprocess.js", "../node_modules/micromark/lib/preprocess.js", "../node_modules/micromark-util-decode-string/index.js", "../node_modules/mdast-util-from-markdown/lib/index.js", "../node_modules/remark-parse/lib/index.js", "../node_modules/ccount/index.js", "../node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp/index.js", "../node_modules/mdast-util-find-and-replace/lib/index.js", "../node_modules/mdast-util-gfm-autolink-literal/lib/index.js", "../node_modules/mdast-util-gfm-footnote/lib/index.js", "../node_modules/mdast-util-gfm-strikethrough/lib/index.js", "../node_modules/markdown-table/index.js", "../node_modules/zwitch/index.js", "../node_modules/mdast-util-to-markdown/lib/handle/blockquote.js", "../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js", "../node_modules/mdast-util-to-markdown/lib/handle/break.js", "../node_modules/longest-streak/index.js", "../node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js", "../node_modules/mdast-util-to-markdown/lib/util/check-fence.js", "../node_modules/mdast-util-to-markdown/lib/handle/code.js", "../node_modules/mdast-util-to-markdown/lib/util/check-quote.js", "../node_modules/mdast-util-to-markdown/lib/handle/definition.js", "../node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js", "../node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js", "../node_modules/mdast-util-to-markdown/lib/util/encode-info.js", "../node_modules/mdast-util-to-markdown/lib/handle/emphasis.js", "../node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js", "../node_modules/mdast-util-to-markdown/lib/handle/heading.js", "../node_modules/mdast-util-to-markdown/lib/handle/html.js", "../node_modules/mdast-util-to-markdown/lib/handle/image.js", "../node_modules/mdast-util-to-markdown/lib/handle/image-reference.js", "../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js", "../node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js", "../node_modules/mdast-util-to-markdown/lib/handle/link.js", "../node_modules/mdast-util-to-markdown/lib/handle/link-reference.js", "../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js", "../node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js", "../node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js", "../node_modules/mdast-util-to-markdown/lib/util/check-rule.js", "../node_modules/mdast-util-to-markdown/lib/handle/list.js", "../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js", "../node_modules/mdast-util-to-markdown/lib/handle/list-item.js", "../node_modules/mdast-util-to-markdown/lib/handle/paragraph.js", "../node_modules/mdast-util-phrasing/lib/index.js", "../node_modules/mdast-util-to-markdown/lib/handle/root.js", "../node_modules/mdast-util-to-markdown/lib/util/check-strong.js", "../node_modules/mdast-util-to-markdown/lib/handle/strong.js", "../node_modules/mdast-util-to-markdown/lib/handle/text.js", "../node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js", "../node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js", "../node_modules/mdast-util-to-markdown/lib/handle/index.js", "../node_modules/mdast-util-gfm-table/lib/index.js", "../node_modules/mdast-util-gfm-task-list-item/lib/index.js", "../node_modules/mdast-util-gfm/lib/index.js", "../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js", "../node_modules/micromark-extension-gfm-footnote/lib/syntax.js", "../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js", "../node_modules/micromark-extension-gfm-table/lib/edit-map.js", "../node_modules/micromark-extension-gfm-table/lib/infer.js", "../node_modules/micromark-extension-gfm-table/lib/syntax.js", "../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js", "../node_modules/micromark-extension-gfm/index.js", "../node_modules/remark-gfm/lib/index.js", "../node_modules/mdast-util-to-hast/lib/handlers/blockquote.js", "../node_modules/mdast-util-to-hast/lib/handlers/break.js", "../node_modules/mdast-util-to-hast/lib/handlers/code.js", "../node_modules/mdast-util-to-hast/lib/handlers/delete.js", "../node_modules/mdast-util-to-hast/lib/handlers/emphasis.js", "../node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js", "../node_modules/mdast-util-to-hast/lib/handlers/heading.js", "../node_modules/mdast-util-to-hast/lib/handlers/html.js", "../node_modules/mdast-util-to-hast/lib/revert.js", "../node_modules/mdast-util-to-hast/lib/handlers/image-reference.js", "../node_modules/mdast-util-to-hast/lib/handlers/image.js", "../node_modules/mdast-util-to-hast/lib/handlers/inline-code.js", "../node_modules/mdast-util-to-hast/lib/handlers/link-reference.js", "../node_modules/mdast-util-to-hast/lib/handlers/link.js", "../node_modules/mdast-util-to-hast/lib/handlers/list-item.js", "../node_modules/mdast-util-to-hast/lib/handlers/list.js", "../node_modules/mdast-util-to-hast/lib/handlers/paragraph.js", "../node_modules/mdast-util-to-hast/lib/handlers/root.js", "../node_modules/mdast-util-to-hast/lib/handlers/strong.js", "../node_modules/mdast-util-to-hast/lib/handlers/table.js", "../node_modules/mdast-util-to-hast/lib/handlers/table-row.js", "../node_modules/mdast-util-to-hast/lib/handlers/table-cell.js", "../node_modules/trim-lines/index.js", "../node_modules/mdast-util-to-hast/lib/handlers/text.js", "../node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js", "../node_modules/mdast-util-to-hast/lib/handlers/index.js", "../node_modules/@ungap/structured-clone/esm/deserialize.js", "../node_modules/@ungap/structured-clone/esm/serialize.js", "../node_modules/@ungap/structured-clone/esm/index.js", "../node_modules/mdast-util-to-hast/lib/footer.js", "../node_modules/mdast-util-to-hast/lib/state.js", "../node_modules/mdast-util-to-hast/lib/index.js", "../node_modules/remark-rehype/lib/index.js", "../node_modules/hast-util-to-parse5/lib/index.js", "../node_modules/html-void-elements/index.js", "../node_modules/hast-util-raw/lib/index.js", "../node_modules/rehype-raw/lib/index.js", "../node_modules/hast-util-sanitize/lib/schema.js", "../node_modules/hast-util-sanitize/lib/index.js", "../node_modules/rehype-sanitize/lib/index.js", "../node_modules/unist-util-find-after/lib/index.js", "../node_modules/hast-util-is-element/lib/index.js", "../node_modules/hast-util-to-text/lib/index.js", "../node_modules/highlight.js/es/languages/arduino.js", "../node_modules/highlight.js/es/languages/bash.js", "../node_modules/highlight.js/es/languages/c.js", "../node_modules/highlight.js/es/languages/cpp.js", "../node_modules/highlight.js/es/languages/csharp.js", "../node_modules/highlight.js/es/languages/css.js", "../node_modules/highlight.js/es/languages/diff.js", "../node_modules/highlight.js/es/languages/go.js", "../node_modules/highlight.js/es/languages/graphql.js", "../node_modules/highlight.js/es/languages/ini.js", "../node_modules/highlight.js/es/languages/java.js", "../node_modules/highlight.js/es/languages/javascript.js", "../node_modules/highlight.js/es/languages/json.js", "../node_modules/highlight.js/es/languages/kotlin.js", "../node_modules/highlight.js/es/languages/less.js", "../node_modules/highlight.js/es/languages/lua.js", "../node_modules/highlight.js/es/languages/makefile.js", "../node_modules/highlight.js/es/languages/markdown.js", "../node_modules/highlight.js/es/languages/objectivec.js", "../node_modules/highlight.js/es/languages/perl.js", "../node_modules/highlight.js/es/languages/php.js", "../node_modules/highlight.js/es/languages/php-template.js", "../node_modules/highlight.js/es/languages/plaintext.js", "../node_modules/highlight.js/es/languages/python.js", "../node_modules/highlight.js/es/languages/python-repl.js", "../node_modules/highlight.js/es/languages/r.js", "../node_modules/highlight.js/es/languages/ruby.js", "../node_modules/highlight.js/es/languages/rust.js", "../node_modules/highlight.js/es/languages/scss.js", "../node_modules/highlight.js/es/languages/shell.js", "../node_modules/highlight.js/es/languages/sql.js", "../node_modules/highlight.js/es/languages/swift.js", "../node_modules/highlight.js/es/languages/typescript.js", "../node_modules/highlight.js/es/languages/vbnet.js", "../node_modules/highlight.js/es/languages/wasm.js", "../node_modules/highlight.js/es/languages/xml.js", "../node_modules/highlight.js/es/languages/yaml.js", "../node_modules/lowlight/lib/common.js", "../node_modules/highlight.js/es/core.js", "../node_modules/lowlight/lib/index.js", "../node_modules/rehype-highlight/lib/index.js", "../src/markdown/remarkGfmOptions.ts", "../src/markdown/plugins/rehypeAccessibleSuggestions.ts", "../src/markdown/plugins/remarkEscapeHtml.ts", "../src/markdown/plugins/rehypeExternalLinks.ts", "../src/markdown/plugins/rehypeUncontrolledInputs.ts", "../node_modules/stringify-entities/lib/core.js", "../node_modules/stringify-entities/lib/util/to-hexadecimal.js", "../node_modules/stringify-entities/lib/util/to-decimal.js", "../node_modules/character-entities-legacy/index.js", "../node_modules/character-entities-html4/index.js", "../node_modules/stringify-entities/lib/constant/dangerous.js", "../node_modules/stringify-entities/lib/util/to-named.js", "../node_modules/stringify-entities/lib/util/format-smart.js", "../node_modules/stringify-entities/lib/index.js", "../node_modules/hast-util-to-html/lib/handle/comment.js", "../node_modules/hast-util-to-html/lib/handle/doctype.js", "../node_modules/hast-util-to-html/lib/omission/util/siblings.js", "../node_modules/hast-util-to-html/lib/omission/omission.js", "../node_modules/hast-util-to-html/lib/omission/closing.js", "../node_modules/hast-util-to-html/lib/omission/opening.js", "../node_modules/hast-util-to-html/lib/handle/element.js", "../node_modules/hast-util-to-html/lib/handle/text.js", "../node_modules/hast-util-to-html/lib/handle/raw.js", "../node_modules/hast-util-to-html/lib/handle/root.js", "../node_modules/hast-util-to-html/lib/handle/index.js", "../node_modules/hast-util-to-html/lib/index.js", "../src/markdown/plugins/rehypeNeutralizeIslands.ts", "../src/markdown/plugins/rehypeUnwrapBlockCEs.ts", "../src/markdown/plugins/rehypeAttachAsidesToPreviousParagraph.ts", "../src/markdown/plugins/rehypeGroupAsides.ts", "../src/markdown/plugins/rehypeGroundedAsides.ts", "../src/markdown/plugins/rehypeLazyContinuation.ts", "../src/markdown/plugins/normalizeAsideMarkdown.ts", "../src/markdown/processors.ts", "../src/markdown/components/CopyableCodeBlock.tsx", "../src/markdown/components/BootstrapTable.tsx", "../src/chat/ThinkingDisplay.tsx", "../src/chat/Aside.tsx", "../src/chat/AsideGroup.tsx", "../node_modules/@floating-ui/react/dist/floating-ui.react.mjs", "../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs", "../node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs", "../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs", "../node_modules/tabbable/src/index.js", "../node_modules/@floating-ui/core/dist/floating-ui.core.mjs", "../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs", "../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs", "../src/chat/citationCollector.tsx", "../src/chat/domain.ts", "../src/chat/citations.ts", "../src/chat/portalTheme.ts", "../src/chat/useDismissiblePopover.ts", "../src/markdown/EscapedIsland.tsx", "../src/chat/trustGatedEscapes.ts", "../src/chat/chatTagToComponentMap.ts", "../src/chat/useFadingText.ts", "../src/chat/usePrefersReducedMotion.ts", "../src/utils/icons.ts", "../src/chat/ToolGroup.tsx", "../src/chat/tool-presentation.ts", "../src/chat/ToolResult.tsx", "../src/chat/ToolCard.tsx", "../src/chat/useFullscreen.tsx", "../src/chat/RawHTML.tsx", "../src/chat/useToolUiId.ts", "../src/markdown/markdownCodeBlock.ts", "../src/chat/ToolRequest.tsx", "../src/chat/WebActivity.tsx", "../src/chat/ChevronIcon.tsx", "../src/chat/HtmlBlockContent.tsx", "../src/chat/CommandChip.tsx", "../src/chat/attachment-types.json", "../src/chat/attachments.ts", "../src/chat/TextAttachmentPreview.tsx", "../src/chat/AttachmentLightbox.tsx", "../src/chat/TiptapInput.tsx", "../node_modules/@tiptap/react/src/Context.tsx", "../node_modules/@tiptap/react/src/EditorContent.tsx", "../node_modules/@tiptap/react/src/useEditor.ts", "../node_modules/@tiptap/react/src/useEditorState.ts", "../node_modules/@tiptap/react/src/useReactNodeView.ts", "../node_modules/@tiptap/react/src/NodeViewContent.tsx", "../node_modules/@tiptap/react/src/NodeViewWrapper.tsx", "../node_modules/@tiptap/react/src/ReactMarkViewRenderer.tsx", "../node_modules/@tiptap/react/src/ReactRenderer.tsx", "../node_modules/@tiptap/react/src/ReactNodeViewRenderer.tsx", "../node_modules/@tiptap/react/src/Tiptap.tsx", "../node_modules/@tiptap/react/src/index.ts", "../node_modules/orderedmap/dist/index.js", "../node_modules/prosemirror-model/dist/index.js", "../node_modules/prosemirror-transform/dist/index.js", "../node_modules/prosemirror-state/dist/index.js", "../node_modules/prosemirror-commands/dist/index.js", "../node_modules/prosemirror-schema-list/dist/index.js", "../node_modules/prosemirror-view/dist/index.js", "../node_modules/w3c-keyname/index.js", "../node_modules/prosemirror-keymap/dist/index.js", "../node_modules/@tiptap/core/src/helpers/createChainableState.ts", "../node_modules/@tiptap/core/src/CommandManager.ts", "../node_modules/@tiptap/core/src/commands/index.ts", "../node_modules/@tiptap/core/src/commands/blur.ts", "../node_modules/@tiptap/core/src/commands/clearContent.ts", "../node_modules/@tiptap/core/src/commands/clearNodes.ts", "../node_modules/@tiptap/core/src/commands/command.ts", "../node_modules/@tiptap/core/src/commands/createParagraphNear.ts", "../node_modules/@tiptap/core/src/commands/cut.ts", "../node_modules/@tiptap/core/src/commands/deleteCurrentNode.ts", "../node_modules/@tiptap/core/src/helpers/getNodeType.ts", "../node_modules/@tiptap/core/src/commands/deleteNode.ts", "../node_modules/@tiptap/core/src/commands/deleteRange.ts", "../node_modules/@tiptap/core/src/commands/deleteSelection.ts", "../node_modules/@tiptap/core/src/commands/enter.ts", "../node_modules/@tiptap/core/src/commands/exitCode.ts", "../node_modules/@tiptap/core/src/commands/extendMarkRange.ts", "../node_modules/@tiptap/core/src/utilities/isRegExp.ts", "../node_modules/@tiptap/core/src/utilities/objectIncludes.ts", "../node_modules/@tiptap/core/src/helpers/getMarkRange.ts", "../node_modules/@tiptap/core/src/helpers/getMarkType.ts", "../node_modules/@tiptap/core/src/commands/first.ts", "../node_modules/@tiptap/core/src/helpers/isTextSelection.ts", "../node_modules/@tiptap/core/src/helpers/resolveFocusPosition.ts", "../node_modules/@tiptap/core/src/utilities/minMax.ts", "../node_modules/@tiptap/core/src/utilities/isAndroid.ts", "../node_modules/@tiptap/core/src/utilities/isiOS.ts", "../node_modules/@tiptap/core/src/utilities/isSafari.ts", "../node_modules/@tiptap/core/src/commands/focus.ts", "../node_modules/@tiptap/core/src/commands/forEach.ts", "../node_modules/@tiptap/core/src/commands/insertContent.ts", "../node_modules/@tiptap/core/src/commands/insertContentAt.ts", "../node_modules/@tiptap/core/src/helpers/createNodeFromContent.ts", "../node_modules/@tiptap/core/src/utilities/elementFromString.ts", "../node_modules/@tiptap/core/src/helpers/selectionToInsertionEnd.ts", "../node_modules/@tiptap/core/src/commands/join.ts", "../node_modules/@tiptap/core/src/commands/joinItemBackward.ts", "../node_modules/@tiptap/core/src/commands/joinItemForward.ts", "../node_modules/@tiptap/core/src/commands/joinTextblockBackward.ts", "../node_modules/@tiptap/core/src/commands/joinTextblockForward.ts", "../node_modules/@tiptap/core/src/utilities/isMacOS.ts", "../node_modules/@tiptap/core/src/commands/keyboardShortcut.ts", "../node_modules/@tiptap/core/src/commands/lift.ts", "../node_modules/@tiptap/core/src/helpers/isNodeActive.ts", "../node_modules/@tiptap/core/src/commands/liftEmptyBlock.ts", "../node_modules/@tiptap/core/src/commands/liftListItem.ts", "../node_modules/@tiptap/core/src/commands/newlineInCode.ts", "../node_modules/@tiptap/core/src/helpers/getSchemaTypeNameByName.ts", "../node_modules/@tiptap/core/src/utilities/deleteProps.ts", "../node_modules/@tiptap/core/src/commands/resetAttributes.ts", "../node_modules/@tiptap/core/src/commands/scrollIntoView.ts", "../node_modules/@tiptap/core/src/commands/selectAll.ts", "../node_modules/@tiptap/core/src/commands/selectNodeBackward.ts", "../node_modules/@tiptap/core/src/commands/selectNodeForward.ts", "../node_modules/@tiptap/core/src/commands/selectParentNode.ts", "../node_modules/@tiptap/core/src/commands/selectTextblockEnd.ts", "../node_modules/@tiptap/core/src/commands/selectTextblockStart.ts", "../node_modules/@tiptap/core/src/helpers/createDocument.ts", "../node_modules/@tiptap/core/src/commands/setContent.ts", "../node_modules/@tiptap/core/src/helpers/getMarkAttributes.ts", "../node_modules/@tiptap/core/src/helpers/combineTransactionSteps.ts", "../node_modules/@tiptap/core/src/helpers/defaultBlockAt.ts", "../node_modules/@tiptap/core/src/helpers/findChildren.ts", "../node_modules/@tiptap/core/src/helpers/findChildrenInRange.ts", "../node_modules/@tiptap/core/src/helpers/findParentNodeClosestToPos.ts", "../node_modules/@tiptap/core/src/helpers/findParentNode.ts", "../node_modules/@tiptap/core/src/helpers/getExtensionField.ts", "../node_modules/@tiptap/core/src/helpers/flattenExtensions.ts", "../node_modules/@tiptap/core/src/helpers/generateHTML.ts", "../node_modules/@tiptap/core/src/helpers/getHTMLFromFragment.ts", "../node_modules/@tiptap/core/src/helpers/getSchemaByResolvedExtensions.ts", "../node_modules/@tiptap/core/src/utilities/isFunction.ts", "../node_modules/@tiptap/core/src/utilities/callOrReturn.ts", "../node_modules/@tiptap/core/src/utilities/isEmptyObject.ts", "../node_modules/@tiptap/core/src/helpers/splitExtensions.ts", "../node_modules/@tiptap/core/src/helpers/getAttributesFromExtensions.ts", "../node_modules/@tiptap/core/src/utilities/mergeAttributes.ts", "../node_modules/@tiptap/core/src/helpers/getRenderedAttributes.ts", "../node_modules/@tiptap/core/src/utilities/fromString.ts", "../node_modules/@tiptap/core/src/helpers/injectExtensionAttributesToParseRule.ts", "../node_modules/@tiptap/core/src/utilities/findDuplicates.ts", "../node_modules/@tiptap/core/src/helpers/sortExtensions.ts", "../node_modules/@tiptap/core/src/helpers/resolveExtensions.ts", "../node_modules/@tiptap/core/src/helpers/getSchema.ts", "../node_modules/@tiptap/core/src/helpers/generateJSON.ts", "../node_modules/@tiptap/core/src/helpers/generateText.ts", "../node_modules/@tiptap/core/src/helpers/getTextBetween.ts", "../node_modules/@tiptap/core/src/helpers/getText.ts", "../node_modules/@tiptap/core/src/helpers/getTextSerializersFromSchema.ts", "../node_modules/@tiptap/core/src/helpers/getNodeAttributes.ts", "../node_modules/@tiptap/core/src/helpers/getAttributes.ts", "../node_modules/@tiptap/core/src/utilities/removeDuplicates.ts", "../node_modules/@tiptap/core/src/helpers/getChangedRanges.ts", "../node_modules/@tiptap/core/src/helpers/getDebugJSON.ts", "../node_modules/@tiptap/core/src/helpers/getMarksBetween.ts", "../node_modules/@tiptap/core/src/helpers/getNodeAtPosition.ts", "../node_modules/@tiptap/core/src/helpers/getSchemaTypeByName.ts", "../node_modules/@tiptap/core/src/helpers/getSplittedAttributes.ts", "../node_modules/@tiptap/core/src/helpers/getTextContentFromNodes.ts", "../node_modules/@tiptap/core/src/helpers/isMarkActive.ts", "../node_modules/@tiptap/core/src/helpers/isActive.ts", "../node_modules/@tiptap/core/src/helpers/isAtEndOfNode.ts", "../node_modules/@tiptap/core/src/helpers/isAtStartOfNode.ts", "../node_modules/@tiptap/core/src/helpers/isExtensionRulesEnabled.ts", "../node_modules/@tiptap/core/src/helpers/isList.ts", "../node_modules/@tiptap/core/src/helpers/isNodeEmpty.ts", "../node_modules/@tiptap/core/src/helpers/isNodeSelection.ts", "../node_modules/@tiptap/core/src/helpers/isNodeViewSelected.ts", "../node_modules/@tiptap/core/src/helpers/MappablePosition.ts", "../node_modules/@tiptap/core/src/helpers/posToDOMRect.ts", "../node_modules/@tiptap/core/src/helpers/rewriteUnknownContent.ts", "../node_modules/@tiptap/core/src/commands/setMark.ts", "../node_modules/@tiptap/core/src/commands/setMeta.ts", "../node_modules/@tiptap/core/src/commands/setNode.ts", "../node_modules/@tiptap/core/src/commands/setNodeSelection.ts", "../node_modules/@tiptap/core/src/commands/setTextDirection.ts", "../node_modules/@tiptap/core/src/commands/setTextSelection.ts", "../node_modules/@tiptap/core/src/commands/sinkListItem.ts", "../node_modules/@tiptap/core/src/commands/splitBlock.ts", "../node_modules/@tiptap/core/src/commands/splitListItem.ts", "../node_modules/@tiptap/core/src/commands/toggleList.ts", "../node_modules/@tiptap/core/src/commands/toggleMark.ts", "../node_modules/@tiptap/core/src/commands/toggleNode.ts", "../node_modules/@tiptap/core/src/commands/toggleWrap.ts", "../node_modules/@tiptap/core/src/commands/undoInputRule.ts", "../node_modules/@tiptap/core/src/commands/unsetAllMarks.ts", "../node_modules/@tiptap/core/src/commands/unsetMark.ts", "../node_modules/@tiptap/core/src/commands/unsetTextDirection.ts", "../node_modules/@tiptap/core/src/commands/updateAttributes.ts", "../node_modules/@tiptap/core/src/commands/wrapIn.ts", "../node_modules/@tiptap/core/src/commands/wrapInList.ts", "../node_modules/@tiptap/core/src/Editor.ts", "../node_modules/@tiptap/core/src/EventEmitter.ts", "../node_modules/@tiptap/core/src/ExtensionManager.ts", "../node_modules/@tiptap/core/src/InputRule.ts", "../node_modules/@tiptap/core/src/utilities/isPlainObject.ts", "../node_modules/@tiptap/core/src/utilities/mergeDeep.ts", "../node_modules/@tiptap/core/src/Extendable.ts", "../node_modules/@tiptap/core/src/Mark.ts", "../node_modules/@tiptap/core/src/PasteRule.ts", "../node_modules/@tiptap/core/src/utilities/isNumber.ts", "../node_modules/@tiptap/core/src/extensions/index.ts", "../node_modules/@tiptap/core/src/extensions/clipboardTextSerializer.ts", "../node_modules/@tiptap/core/src/Extension.ts", "../node_modules/@tiptap/core/src/extensions/commands.ts", "../node_modules/@tiptap/core/src/extensions/delete.ts", "../node_modules/@tiptap/core/src/extensions/drop.ts", "../node_modules/@tiptap/core/src/extensions/editable.ts", "../node_modules/@tiptap/core/src/extensions/focusEvents.ts", "../node_modules/@tiptap/core/src/extensions/keymap.ts", "../node_modules/@tiptap/core/src/extensions/paste.ts", "../node_modules/@tiptap/core/src/extensions/tabindex.ts", "../node_modules/@tiptap/core/src/extensions/textDirection.ts", "../node_modules/@tiptap/core/src/NodePos.ts", "../node_modules/@tiptap/core/src/style.ts", "../node_modules/@tiptap/core/src/utilities/createStyleTag.ts", "../node_modules/@tiptap/core/src/inputRules/markInputRule.ts", "../node_modules/@tiptap/core/src/inputRules/nodeInputRule.ts", "../node_modules/@tiptap/core/src/inputRules/textblockTypeInputRule.ts", "../node_modules/@tiptap/core/src/inputRules/textInputRule.ts", "../node_modules/@tiptap/core/src/inputRules/wrappingInputRule.ts", "../node_modules/@tiptap/core/src/jsx-runtime.ts", "../node_modules/@tiptap/core/src/lib/ResizableNodeView.ts", "../node_modules/@tiptap/core/src/utilities/attrsEqual.ts", "../node_modules/@tiptap/core/src/utilities/canInsertNode.ts", "../node_modules/@tiptap/core/src/utilities/escapeForRegEx.ts", "../node_modules/@tiptap/core/src/utilities/getStyleProperty.ts", "../node_modules/@tiptap/core/src/utilities/htmlEntities.ts", "../node_modules/@tiptap/core/src/utilities/isFirefox.ts", "../node_modules/@tiptap/core/src/utilities/isString.ts", "../node_modules/@tiptap/core/src/utilities/markdown/index.ts", "../node_modules/@tiptap/core/src/utilities/markdown/attributeUtils.ts", "../node_modules/@tiptap/core/src/utilities/markdown/createAtomBlockMarkdownSpec.ts", "../node_modules/@tiptap/core/src/utilities/markdown/createBlockMarkdownSpec.ts", "../node_modules/@tiptap/core/src/utilities/markdown/createInlineMarkdownSpec.ts", "../node_modules/@tiptap/core/src/utilities/markdown/parseIndentedBlocks.ts", "../node_modules/@tiptap/core/src/utilities/markdown/renderNestedMarkdownContent.ts", "../node_modules/@tiptap/core/src/utilities/marksEqual.ts", "../node_modules/@tiptap/core/src/MarkView.ts", "../node_modules/@tiptap/core/src/Node.ts", "../node_modules/@tiptap/core/src/NodeView.ts", "../node_modules/@tiptap/core/src/pasteRules/markPasteRule.ts", "../node_modules/@tiptap/core/src/pasteRules/nodePasteRule.ts", "../node_modules/@tiptap/core/src/pasteRules/textPasteRule.ts", "../node_modules/@tiptap/core/src/Tracker.ts", "../node_modules/src/utils.ts", "../node_modules/src/equals.ts", "../node_modules/src/comparator.ts", "../node_modules/src/index.ts", "../node_modules/@tiptap/extension-document/src/document.ts", "../node_modules/@tiptap/extension-document/src/index.ts", "../node_modules/@tiptap/extension-text/src/text.ts", "../node_modules/@tiptap/extension-text/src/index.ts", "../node_modules/@tiptap/extension-hard-break/src/hard-break.ts", "../node_modules/@tiptap/extension-hard-break/src/index.ts", "../node_modules/rope-sequence/dist/index.js", "../node_modules/prosemirror-history/dist/index.js", "../node_modules/@tiptap/extensions/src/undo-redo/undo-redo.ts", "../node_modules/@tiptap/suggestion/src/suggestion.ts", "../node_modules/@tiptap/suggestion/src/findSuggestionMatch.ts", "../node_modules/@tiptap/suggestion/src/index.ts", "../src/chat/tiptap/commandMention.ts", "../src/chat/tiptap/suggestionRender.tsx", "../src/chat/SlashCommandPalette.tsx", "../src/chat/useInputHistory.ts", "../src/chat/useAttachmentStaging.ts", "../src/chat/AttachmentTray.tsx", "../src/chat/SourcesSummary.tsx", "../src/chat/MessageErrorBoundary.tsx", "../src/chat/ChatGreeting.tsx", "../src/chat/ShinyBindScope.tsx", "../src/chat/ChatInput.tsx", "../src/chat/ScrollToBottomButton.tsx", "../src/chat/ExternalLinkDialog.tsx", "../src/chat/RawDOM.tsx", "../src/chat/ChatDrawer.tsx", "../src/resize-handle.ts", "../src/chat/ChatHistoryDrawer.tsx", "../src/chat/useFillPaddingTransfer.ts", "../src/chat/useOverlapNudge.ts", "../src/chat/historyStore.ts", "../src/transport/types.ts", "../src/transport/shiny-transport.ts", "../src/utils/json.ts", "../src/utils/deferredTeardown.ts", "../src/chat/history-entry.ts", "../src/markdown-stream/markdown-stream-entry.ts", "../src/markdown-stream/MarkdownStream.tsx", "../src/markdown/useAutoScroll.ts", "../src/page/page-entry.ts"], - "sourcesContent": ["/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n", "/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray;\nfunction noop() {}\nvar ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, props) {\n var refProp = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== refProp ? refProp : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, oldElement.props);\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\nexports.Activity = REACT_ACTIVITY_TYPE;\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.__COMPILER_RUNTIME = {\n __proto__: null,\n c: function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n }\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cacheSignal = function () {\n return null;\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useEffectEvent = function (callback) {\n return ReactSharedInternals.H.useEffectEvent(callback);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.2.4\";\n", "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n", "/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.2.4\";\n", "'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n", "/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction getActivityInstanceFromFiber(fiber) {\n if (31 === fiber.tag) {\n var activityState = fiber.memoizedState;\n null === activityState &&\n ((fiber = fiber.alternate),\n null !== fiber && (activityState = fiber.memoizedState));\n if (null !== activityState) return activityState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$1) {\n control = x$1;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$2) {\n control = x$2;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber, childFiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return fiber.child !== childFiber && null !== childFiber\n ? describeBuiltInComponentFrame(\"Suspense Fallback\")\n : describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\",\n previous = null;\n do\n (info += describeFiber(workInProgress, previous)),\n (previous = workInProgress),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionUpdateLane = 256,\n nextTransitionDeferredLane = 262144,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n return lanes & 261888;\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 3932160;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 261930);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = renderLanes & -renderLanes;\n renderLane =\n 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);\n return 0 !== (renderLane & (root.suspendedLanes | renderLanes))\n ? 0\n : renderLane;\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentHydrationBoundary(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentHydrationBoundary(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 31 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$10 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$10 && \"aria-\" !== prefix$10) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node, valueField, currentValue) {\n var descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n );\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n if (!node._valueTracker) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\";\n node._valueTracker = trackValueOnNode(\n node,\n valueField,\n \"\" + node[valueField]\n );\n }\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n ) {\n track(element);\n return;\n }\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n track(element);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n track(element);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nfunction noop$1() {}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$286;\n if (canUseDOM) {\n var isSupported$jscomp$inline_427 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_427) {\n var element$jscomp$inline_428 = document.createElement(\"div\");\n element$jscomp$inline_428.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_427 =\n \"function\" === typeof element$jscomp$inline_428.oninput;\n }\n JSCompiler_inline_result$jscomp$286 = isSupported$jscomp$inline_427;\n } else JSCompiler_inline_result$jscomp$286 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$286 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiberImplClass(18, null, null, 0);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(\n formatProdErrorMessage(\n 418,\n 1 < arguments.length && void 0 !== arguments[1] && arguments[1]\n ? \"text\"\n : \"HTML\",\n \"\"\n )\n );\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber, !0);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 31:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else if (31 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n globalMostRecentTransitionTime = now();\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nfunction resolveLazy(lazyType) {\n try {\n var init = lazyType._init;\n return init(lazyType._payload);\n } catch (x) {\n if (null !== x && \"object\" === typeof x && \"function\" === typeof x.then)\n throw ((suspendedThenable = x), SuspenseException);\n throw x;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectTypeImpl(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n createChild(returnFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushDehydratedActivitySuspenseHandler(fiber) {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, fiber);\n null === shellBoundary && (shellBoundary = fiber);\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n 22 === fiber.tag\n ? (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary && (shellBoundary = fiber))\n : reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (\n 19 === node.tag &&\n (\"forwards\" === node.memoizedProps.revealOrder ||\n \"backwards\" === node.memoizedProps.revealOrder ||\n \"unstable_legacy-backwards\" === node.memoizedProps.revealOrder ||\n \"together\" === node.memoizedProps.revealOrder)\n ) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$60 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n gesture: update.gesture,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$60 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$66) {\n onActionError(actionQueue, node, error$66);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, deps) {\n tag = { tag: tag, create: create, deps: deps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((deps = create.next),\n (create.next = tag),\n (tag.next = deps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n { destroy: void 0 },\n create,\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction useEffectEventImpl(payload) {\n currentlyRenderingFiber.flags |= 4;\n var componentUpdateQueue = currentlyRenderingFiber.updateQueue;\n if (null === componentUpdateQueue)\n (componentUpdateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = componentUpdateQueue),\n (componentUpdateQueue.events = [payload]);\n else {\n var events = componentUpdateQueue.events;\n null === events\n ? (componentUpdateQueue.events = [payload])\n : events.push(payload);\n }\n}\nfunction updateEvent(callback) {\n var ref = updateWorkInProgressHook().memoizedState;\n useEffectEventImpl({ ref: ref, nextImpl: callback });\n return function () {\n if (0 !== (executionContext & 2)) throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (\n void 0 === initialValue ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (\n 0 === (renderLanes & 42) ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var stateHook = ensureFormComponentIsStateful(formFiber);\n null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);\n dispatchSetStateInternal(\n formFiber,\n stateHook.next.queue,\n {},\n requestUpdateLane()\n );\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$69 = enqueueUpdate(provider, fiber, lane);\n null !== root$69 &&\n (scheduleUpdateOnFiber(root$69, provider, lane),\n entangleTransitions(root$69, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n};\nContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;\nvar HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"_\" + identifierPrefix + \"R_\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"_\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"_\" +\n identifierPrefix +\n \"r_\" +\n JSCompiler_inline_result.toString(32) +\n \"_\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n },\n useEffectEvent: function (callback) {\n var hook = mountWorkInProgressHook(),\n ref = { impl: callback };\n hook.memoizedState = ref;\n return function () {\n if (0 !== (executionContext & 2))\n throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n };\nHooksDispatcherOnUpdate.useEffectEvent = updateEvent;\nvar HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n};\nHooksDispatcherOnRerender.useEffectEvent = updateEvent;\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 31:\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n nextProps\n) {\n var nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n null === current &&\n null === workInProgress.stateNode &&\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n prevState =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextProps = workInProgress.child = current.child;\n for (nextChildren = 0; null !== nextProps; )\n (nextChildren =\n nextChildren | nextProps.lanes | nextProps.childLanes),\n (nextProps = nextProps.sibling);\n nextProps = nextChildren & ~prevState;\n } else (nextProps = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n prevState,\n renderLanes,\n nextProps\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (nextProps = workInProgress.lanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes,\n nextProps\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction bailoutOffscreenComponent(current, workInProgress) {\n (null !== current && 22 === current.tag) ||\n null !== workInProgress.stateNode ||\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n return workInProgress.sibling;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes,\n remainingChildLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n workInProgress.childLanes = remainingChildLanes;\n return null;\n}\nfunction mountActivityChildren(workInProgress, nextProps) {\n nextProps = mountWorkInProgressOffscreenFiber(\n { mode: nextProps.mode, children: nextProps.children },\n workInProgress.mode\n );\n nextProps.ref = workInProgress.ref;\n workInProgress.child = nextProps;\n nextProps.return = workInProgress;\n return nextProps;\n}\nfunction retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountActivityChildren(workInProgress, workInProgress.pendingProps);\n current.flags |= 2;\n popSuspenseHandler(workInProgress);\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateActivityComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n didSuspend = 0 !== (workInProgress.flags & 128);\n workInProgress.flags &= -129;\n if (null === current) {\n if (isHydrating) {\n if (\"hidden\" === nextProps.mode)\n return (\n (current = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.lanes = 536870912),\n bailoutOffscreenComponent(null, current)\n );\n pushDehydratedActivitySuspenseHandler(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" === current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n workInProgress.lanes = 536870912;\n return null;\n }\n return mountActivityChildren(workInProgress, nextProps);\n }\n var prevState = current.memoizedState;\n if (null !== prevState) {\n var dehydrated = prevState.dehydrated;\n pushDehydratedActivitySuspenseHandler(workInProgress);\n if (didSuspend)\n if (workInProgress.flags & 256)\n (workInProgress.flags &= -257),\n (workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (null !== workInProgress.memoizedState)\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null);\n else throw Error(formatProdErrorMessage(558));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (didSuspend = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || didSuspend)\n ) {\n nextProps = workInProgressRoot;\n if (\n null !== nextProps &&\n ((dehydrated = getBumpedLaneForHydration(nextProps, renderLanes)),\n 0 !== dehydrated && dehydrated !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = dehydrated),\n enqueueConcurrentRenderForLane(current, dehydrated),\n scheduleUpdateOnFiber(nextProps, current, dehydrated),\n SelectiveHydrationException)\n );\n renderDidSuspendDelayIfPossible();\n workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n (current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(dehydrated.nextSibling)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.flags |= 4096);\n return workInProgress;\n }\n current = createWorkInProgress(current.child, {\n mode: nextProps.mode,\n children: nextProps.children\n });\n current.ref = workInProgress.ref;\n workInProgress.child = current;\n current.return = workInProgress;\n return current;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" !== current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n isSuspenseInstanceFallback(current)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912);\n return null;\n }\n var nextPrimaryChildren = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextPrimaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextPrimaryChildren },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.sibling = nextProps),\n (workInProgress.child = nextPrimaryChildren),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(null, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n var prevState = current.memoizedState;\n if (\n null !== prevState &&\n ((nextPrimaryChildren = prevState.dehydrated), null !== nextPrimaryChildren)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n showFallback\n )),\n (nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = bailoutOffscreenComponent(null, nextProps)));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextPrimaryChildren))\n ) {\n JSCompiler_temp =\n nextPrimaryChildren.nextSibling &&\n nextPrimaryChildren.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = getBumpedLaneForHydration(JSCompiler_temp, renderLanes)),\n 0 !== nextProps && nextProps !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n isSuspenseInstancePending(nextPrimaryChildren) ||\n renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n isSuspenseInstancePending(nextPrimaryChildren)\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextPrimaryChildren.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (prevState = current.child),\n (digest = prevState.sibling),\n (nextProps = createWorkInProgress(prevState, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags = prevState.subtreeFlags & 65011712),\n null !== digest\n ? (nextPrimaryChildren = createWorkInProgress(\n digest,\n nextPrimaryChildren\n ))\n : ((nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2)),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n bailoutOffscreenComponent(null, nextProps),\n (nextProps = workInProgress.child),\n (nextPrimaryChildren = current.child.memoizedState),\n null === nextPrimaryChildren\n ? (nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes))\n : ((showFallback = nextPrimaryChildren.cachePool),\n null !== showFallback\n ? ((prevState = CacheContext._currentValue),\n (showFallback =\n showFallback.parent !== prevState\n ? { parent: prevState, pool: prevState }\n : showFallback))\n : (showFallback = getSuspendedCache()),\n (nextPrimaryChildren = {\n baseLanes: nextPrimaryChildren.baseLanes | renderLanes,\n cachePool: showFallback\n })),\n (nextProps.memoizedState = nextPrimaryChildren),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(current.child, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode,\n treeForkCount\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode,\n treeForkCount: treeForkCount\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode),\n (renderState.treeForkCount = treeForkCount));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n nextProps = nextProps.children;\n var suspenseContext = suspenseStackCursor.current,\n shouldForceFallback = 0 !== (suspenseContext & 2);\n shouldForceFallback\n ? ((suspenseContext = (suspenseContext & 1) | 2),\n (workInProgress.flags |= 128))\n : (suspenseContext &= 1);\n push(suspenseStackCursor, suspenseContext);\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n nextProps = isHydrating ? treeForkCount : 0;\n if (!shouldForceFallback && null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode,\n nextProps\n );\n break;\n case \"backwards\":\n case \"unstable_legacy-backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode,\n nextProps\n );\n break;\n case \"together\":\n initSuspenseListRenderState(\n workInProgress,\n !1,\n null,\n null,\n void 0,\n nextProps\n );\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 31:\n if (null !== workInProgress.memoizedState)\n return (\n (workInProgress.flags |= 128),\n pushDehydratedActivitySuspenseHandler(workInProgress),\n null\n );\n break;\n case 13:\n var state$102 = workInProgress.memoizedState;\n if (null !== state$102) {\n if (null !== state$102.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state$102 = 0 !== (renderLanes & workInProgress.childLanes);\n state$102 ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state$102 = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state$102)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state$102) break;\n else return null;\n case 22:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n )\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n var props = workInProgress.pendingProps;\n current = resolveLazy(workInProgress.elementType);\n workInProgress.type = current;\n if (\"function\" === typeof current)\n shouldConstruct(current)\n ? ((props = resolveClassComponentProps(current, props)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )));\n else {\n if (void 0 !== current && null !== current) {\n var $$typeof = current.$$typeof;\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n } else if ($$typeof === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n }\n }\n workInProgress = getComponentNameFromType(current) || current;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (props = workInProgress.type),\n ($$typeof = resolveClassComponentProps(\n props,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n props,\n $$typeof,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n props = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n $$typeof = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, props, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n props = nextState.cache;\n pushProvider(workInProgress, CacheContext, props);\n props !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n props = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: props,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else if (props !== $$typeof) {\n $$typeof = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError($$typeof);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (props === $$typeof) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, props, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (props = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (props[internalInstanceKey] = workInProgress),\n (props[internalPropsKey] = current),\n setInitialProperties(props, renderLanes, current),\n markNodeAsHoistable(props),\n (workInProgress.stateNode = props))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((props = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n ($$typeof = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = $$typeof),\n (nextHydratableInstance = getNextHydratable(props.firstChild)))\n : (nextHydratableInstance = $$typeof)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if (($$typeof = props = nextHydratableInstance))\n (props = canHydrateInstance(\n props,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== props\n ? ((workInProgress.stateNode = props),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(props.firstChild)),\n (rootOrSingletonContext = !1),\n ($$typeof = !0))\n : ($$typeof = !1);\n $$typeof || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n $$typeof = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n props = prevState.children;\n shouldSetTextContent($$typeof, prevState)\n ? (props = null)\n : null !== nextState &&\n shouldSetTextContent($$typeof, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n (($$typeof = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = $$typeof));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, props, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (props = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n ))\n : reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (props = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, props.value),\n reconcileChildren(current, workInProgress, props.children, renderLanes),\n workInProgress.child\n );\n case 9:\n return (\n ($$typeof = workInProgress.type._context),\n (props = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n ($$typeof = readContext($$typeof)),\n (props = props($$typeof)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return updateActivityComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n );\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (props = readContext(CacheContext)),\n null === current\n ? (($$typeof = peekCacheFromPool()),\n null === $$typeof &&\n (($$typeof = workInProgressRoot),\n (prevState = createCache()),\n ($$typeof.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && ($$typeof.pooledCacheLanes |= renderLanes),\n ($$typeof = prevState)),\n (workInProgress.memoizedState = { parent: props, cache: $$typeof }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, $$typeof))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n ($$typeof = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n $$typeof.parent !== props\n ? (($$typeof = { parent: props, cache: props }),\n (workInProgress.memoizedState = $$typeof),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n $$typeof),\n pushProvider(workInProgress, CacheContext, props))\n : ((props = prevState.cache),\n pushProvider(workInProgress, CacheContext, props),\n props !== $$typeof.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n oldProps,\n newProps,\n renderLanes\n) {\n if ((type = 0 !== (workInProgress.mode & 32))) type = !1;\n if (type) {\n if (\n ((workInProgress.flags |= 16777216),\n (renderLanes & 335544128) === renderLanes)\n )\n if (workInProgress.stateNode.complete) workInProgress.flags |= 8192;\n else if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$106 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$106 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$106\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$106.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags & 65011712),\n (subtreeFlags |= child$107.flags & 65011712),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n else\n for (child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags),\n (subtreeFlags |= child$107.flags),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n var type = workInProgress.type,\n nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n null,\n newProps,\n renderLanes\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : ((current = current.memoizedProps),\n current !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n current,\n newProps,\n renderLanes\n ));\n return null;\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n nextResource = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, nextResource);\n else {\n var ownerDocument = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (nextResource) {\n case 1:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case 2:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n default:\n switch (type) {\n case \"svg\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case \"math\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n case \"script\":\n nextResource = ownerDocument.createElement(\"div\");\n nextResource.innerHTML = \"\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase();\n if (htmlRawNames.includes(name)) {\n effects.consume(code);\n return continuationClose;\n }\n return continuation(code);\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n // Always the case.\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationAfter(code);\n }\n effects.consume(code);\n return continuationClose;\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(\"htmlFlow\");\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start;\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
\n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return effects.attempt(blankLine, ok, nok);\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable | undefined} */\n let marker;\n /** @type {number} */\n let index;\n /** @type {State} */\n let returnState;\n return start;\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n index = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n return nok(code);\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return nok(code);\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n if (markdownLineEnding(code)) {\n returnState = comment;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return comment;\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return comment(code);\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code);\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n return index === value.length ? cdata : cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return cdata;\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return declaration;\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return instruction;\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n return tagCloseBetween(code);\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n return end(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n return end(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code === null) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok;\n }\n return nok(code);\n }\n\n /**\n * At eol.\n *\n * > \uD83D\uDC49 **Note**: we can\u2019t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineEndingAfter;\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > \uD83D\uDC49 **Note**: we can\u2019t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code);\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > \uD83D\uDC49 **Note**: we can\u2019t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(\"htmlTextData\");\n return returnState(code);\n }\n}", "/**\n * @import {\n * Construct,\n * Event,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n resolveAll: resolveAllLabelEnd,\n resolveTo: resolveToLabelEnd,\n tokenize: tokenizeLabelEnd\n};\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n};\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n};\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1;\n /** @type {Array} */\n const newEvents = [];\n while (++index < events.length) {\n const token = events[index][1];\n newEvents.push(events[index]);\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n // Remove the marker.\n const offset = token.type === \"labelImage\" ? 4 : 2;\n token.type = \"data\";\n index += offset;\n }\n }\n\n // If the events are equal, we don't have to copy newEvents to events\n if (events.length !== newEvents.length) {\n splice(events, 0, events.length, newEvents);\n }\n return events;\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length;\n let offset = 0;\n /** @type {Token} */\n let token;\n /** @type {number | undefined} */\n let open;\n /** @type {number | undefined} */\n let close;\n /** @type {Array} */\n let media;\n\n // Find an opening.\n while (index--) {\n token = events[index][1];\n if (open) {\n // If we see another link, or inactive link label, we\u2019ve been here before.\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n\n // Mark other link openings as inactive, as we can\u2019t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n const label = {\n type: \"label\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[close][1].end\n }\n };\n const text = {\n type: \"labelText\",\n start: {\n ...events[open + offset + 2][1].end\n },\n end: {\n ...events[close - 2][1].start\n }\n };\n media = [['enter', group, context], ['enter', label, context]];\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3));\n\n // Text open.\n media = push(media, [['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));\n\n // Text close, marker close, label close.\n media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]);\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1));\n\n // Media close.\n media = push(media, [['exit', group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n /** @type {Token} */\n let labelStart;\n /** @type {boolean} */\n let defined;\n\n // Find an opening.\n while (index--) {\n if ((self.events[index][1].type === \"labelImage\" || self.events[index][1].type === \"labelLink\") && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n return start;\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code);\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we\u2019d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can\u2019t have that, so it\u2019s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code);\n }\n defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })));\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return after;\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code);\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code);\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code);\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > \uD83D\uDC49 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code);\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code);\n }\n\n /**\n * Done, it\u2019s nothing.\n *\n * There was an okay opening, but we didn\u2019t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart;\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n return resourceBefore;\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code);\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code);\n }\n return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, \"resourceDestination\", \"resourceDestinationLiteral\", \"resourceDestinationLiteralMarker\", \"resourceDestinationRaw\", \"resourceDestinationString\", 32)(code);\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code);\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code);\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, resourceTitleAfter, nok, \"resourceTitle\", \"resourceTitleMarker\", \"resourceTitleString\")(code);\n }\n return resourceEnd(code);\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code);\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok;\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this;\n return referenceFull;\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, \"reference\", \"referenceMarker\", \"referenceString\")(code);\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code);\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart;\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > \uD83D\uDC49 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there\u2019s a `[`.\n\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n return referenceCollapsedOpen;\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > \uD83D\uDC49 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok;\n }\n return nok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartImage\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

!^a

\n *

!^a

\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn\u2019t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartLink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn\u2019t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}", "/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n /** @type {State} */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok, \"linePrefix\");\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"thematicBreak\");\n // To do: parse indent like `markdown-rs`.\n return before(code);\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n marker = code;\n return atBreak(code);\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter(\"thematicBreakSequence\");\n return sequence(code);\n }\n if (size >= 3 && (code === null || markdownLineEnding(code))) {\n effects.exit(\"thematicBreak\");\n return ok(code);\n }\n return nok(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return sequence;\n }\n effects.exit(\"thematicBreakSequence\");\n return markdownSpace(code) ? factorySpace(effects, atBreak, \"whitespace\")(code) : atBreak(code);\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiDigit, markdownSpace } from 'micromark-util-character';\nimport { blankLine } from './blank-line.js';\nimport { thematicBreak } from './thematic-break.js';\n\n/** @type {Construct} */\nexport const list = {\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd,\n name: 'list',\n tokenize: tokenizeListStart\n};\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n partial: true,\n tokenize: tokenizeListItemPrefixWhitespace\n};\n\n/** @type {Construct} */\nconst indentConstruct = {\n partial: true,\n tokenize: tokenizeIndent\n};\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this;\n const tail = self.events[self.events.length - 1];\n let initialSize = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n const kind = self.containerState.type || (code === 42 || code === 43 || code === 45 ? \"listUnordered\" : \"listOrdered\");\n if (kind === \"listUnordered\" ? !self.containerState.marker || code === self.containerState.marker : asciiDigit(code)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n if (kind === \"listUnordered\") {\n effects.enter(\"listItemPrefix\");\n return code === 42 || code === 45 ? effects.check(thematicBreak, nok, atMarker)(code) : atMarker(code);\n }\n if (!self.interrupt || code === 49) {\n effects.enter(\"listItemPrefix\");\n effects.enter(\"listItemValue\");\n return inside(code);\n }\n }\n return nok(code);\n }\n\n /** @type {State} */\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code);\n return inside;\n }\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code === self.containerState.marker : code === 41 || code === 46)) {\n effects.exit(\"listItemValue\");\n return atMarker(code);\n }\n return nok(code);\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n effects.enter(\"listItemMarker\");\n effects.consume(code);\n effects.exit(\"listItemMarker\");\n self.containerState.marker = self.containerState.marker || code;\n return effects.check(blankLine,\n // Can\u2019t be empty when interrupting.\n self.interrupt ? nok : onBlank, effects.attempt(listItemPrefixWhitespaceConstruct, endOfPrefix, otherPrefix));\n }\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code);\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter(\"listItemPrefixWhitespace\");\n effects.consume(code);\n effects.exit(\"listItemPrefixWhitespace\");\n return endOfPrefix;\n }\n return nok(code);\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n self.containerState.size = initialSize + self.sliceSerialize(effects.exit(\"listItemPrefix\"), true).length;\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this;\n self.containerState._closeFlow = undefined;\n return effects.check(blankLine, onBlank, notBlank);\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine;\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return factorySpace(effects, ok, \"listItemIndent\", self.containerState.size + 1)(code);\n }\n\n /** @type {State} */\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return notInCurrentItem(code);\n }\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code);\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true;\n // As we\u2019re closing flow, we\u2019re no longer interrupting.\n self.interrupt = undefined;\n // Always populated by defaults.\n\n return factorySpace(effects, effects.attempt(list, ok, nok), \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, \"listItemIndent\", self.containerState.size + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"listItemIndent\" && tail[2].sliceSerialize(tail[1], true).length === self.containerState.size ? ok(code) : nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Exiter}\n */\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this;\n\n // Always populated by defaults.\n\n return factorySpace(effects, afterPrefix, \"listItemPrefixWhitespace\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4 + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return !markdownSpace(code) && tail && tail[1].type === \"listItemPrefixWhitespace\" ? ok(code) : nok(code);\n }\n}", "/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n resolveTo: resolveToSetextUnderline,\n tokenize: tokenizeSetextUnderline\n};\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length;\n /** @type {number | undefined} */\n let content;\n /** @type {number | undefined} */\n let text;\n /** @type {number | undefined} */\n let definition;\n\n // Find the opening of the content.\n // It\u2019ll always exist: we don\u2019t tokenize if it isn\u2019t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === \"content\") {\n content = index;\n break;\n }\n if (events[index][1].type === \"paragraph\") {\n text = index;\n }\n }\n // Exit\n else {\n if (events[index][1].type === \"content\") {\n // Remove the content end (if needed we\u2019ll add it later)\n events.splice(index, 1);\n }\n if (!definition && events[index][1].type === \"definition\") {\n definition = index;\n }\n }\n }\n const heading = {\n type: \"setextHeading\",\n start: {\n ...events[content][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n\n // Change the paragraph to setext heading text.\n events[text][1].type = \"setextHeadingText\";\n\n // If we have definitions in the content, we\u2019ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context]);\n events.splice(definition + 1, 0, ['exit', events[content][1], context]);\n events[content][1].end = {\n ...events[definition][1].end\n };\n } else {\n events[content][1] = heading;\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context]);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length;\n /** @type {boolean | undefined} */\n let paragraph;\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (self.events[index][1].type !== \"lineEnding\" && self.events[index][1].type !== \"linePrefix\" && self.events[index][1].type !== \"content\") {\n paragraph = self.events[index][1].type === \"paragraph\";\n break;\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter(\"setextHeadingLine\");\n marker = code;\n return before(code);\n }\n return nok(code);\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"setextHeadingLineSequence\");\n return inside(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n effects.exit(\"setextHeadingLineSequence\");\n return markdownSpace(code) ? factorySpace(effects, after, \"lineSuffix\")(code) : after(code);\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"setextHeadingLine\");\n return ok(code);\n }\n return nok(code);\n }\n}", "/**\n * @import {\n * InitialConstruct,\n * Initializer,\n * State,\n * TokenizeContext\n * } from 'micromark-util-types'\n */\n\nimport { blankLine, content } from 'micromark-core-commonmark';\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n};\n\n/**\n * @this {TokenizeContext}\n * Self.\n * @type {Initializer}\n * Initializer.\n */\nfunction initializeFlow(effects) {\n const self = this;\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine, atBlankEnding,\n // Try to parse initial flow (essentially, only code).\n effects.attempt(this.parser.constructs.flowInitial, afterConstruct, factorySpace(effects, effects.attempt(this.parser.constructs.flow, afterConstruct, effects.attempt(content, afterConstruct)), \"linePrefix\")));\n return initial;\n\n /** @type {State} */\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEndingBlank\");\n effects.consume(code);\n effects.exit(\"lineEndingBlank\");\n self.currentConstruct = undefined;\n return initial;\n }\n\n /** @type {State} */\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n self.currentConstruct = undefined;\n return initial;\n }\n}", "/**\n * @import {\n * Code,\n * InitialConstruct,\n * Initializer,\n * Resolver,\n * State,\n * TokenizeContext\n * } from 'micromark-util-types'\n */\n\nexport const resolver = {\n resolveAll: createResolver()\n};\nexport const string = initializeFactory('string');\nexport const text = initializeFactory('text');\n\n/**\n * @param {'string' | 'text'} field\n * Field.\n * @returns {InitialConstruct}\n * Construct.\n */\nfunction initializeFactory(field) {\n return {\n resolveAll: createResolver(field === 'text' ? resolveAllLineSuffixes : undefined),\n tokenize: initializeText\n };\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Initializer}\n */\n function initializeText(effects) {\n const self = this;\n const constructs = this.parser.constructs[field];\n const text = effects.attempt(constructs, start, notText);\n return start;\n\n /** @type {State} */\n function start(code) {\n return atBreak(code) ? text(code) : notText(code);\n }\n\n /** @type {State} */\n function notText(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"data\");\n effects.consume(code);\n return data;\n }\n\n /** @type {State} */\n function data(code) {\n if (atBreak(code)) {\n effects.exit(\"data\");\n return text(code);\n }\n\n // Data.\n effects.consume(code);\n return data;\n }\n\n /**\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether the code is a break.\n */\n function atBreak(code) {\n if (code === null) {\n return true;\n }\n const list = constructs[code];\n let index = -1;\n if (list) {\n // Always populated by defaults.\n\n while (++index < list.length) {\n const item = list[index];\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true;\n }\n }\n }\n return false;\n }\n }\n}\n\n/**\n * @param {Resolver | undefined} [extraResolver]\n * Resolver.\n * @returns {Resolver}\n * Resolver.\n */\nfunction createResolver(extraResolver) {\n return resolveAllText;\n\n /** @type {Resolver} */\n function resolveAllText(events, context) {\n let index = -1;\n /** @type {number | undefined} */\n let enter;\n\n // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === \"data\") {\n enter = index;\n index++;\n }\n } else if (!events[index] || events[index][1].type !== \"data\") {\n // Don\u2019t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return extraResolver ? extraResolver(events, context) : events;\n }\n}\n\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can\u2019t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0; // Skip first.\n\n while (++eventIndex <= events.length) {\n if ((eventIndex === events.length || events[eventIndex][1].type === \"lineEnding\") && events[eventIndex - 1][1].type === \"data\") {\n const data = events[eventIndex - 1][1];\n const chunks = context.sliceStream(data);\n let index = chunks.length;\n let bufferIndex = -1;\n let size = 0;\n /** @type {boolean | undefined} */\n let tabs;\n while (index--) {\n const chunk = chunks[index];\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length;\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++;\n bufferIndex--;\n }\n if (bufferIndex) break;\n bufferIndex = -1;\n }\n // Number\n else if (chunk === -2) {\n tabs = true;\n size++;\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++;\n break;\n }\n }\n\n // Allow final trailing whitespace.\n if (context._contentTypeTextTrailing && eventIndex === events.length) {\n size = 0;\n }\n if (size) {\n const token = {\n type: eventIndex === events.length || tabs || size < 2 ? \"lineSuffix\" : \"hardBreakTrailing\",\n start: {\n _bufferIndex: index ? bufferIndex : data.start._bufferIndex + bufferIndex,\n _index: data.start._index + index,\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size\n },\n end: {\n ...data.end\n }\n };\n data.end = {\n ...token.start\n };\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token);\n } else {\n events.splice(eventIndex, 0, ['enter', token, context], ['exit', token, context]);\n eventIndex += 2;\n }\n }\n eventIndex++;\n }\n }\n return events;\n}", "/**\n * @import {Extension} from 'micromark-util-types'\n */\n\nimport { attention, autolink, blockQuote, characterEscape, characterReference, codeFenced, codeIndented, codeText, definition, hardBreakEscape, headingAtx, htmlFlow, htmlText, labelEnd, labelStartImage, labelStartLink, lineEnding, list, setextUnderline, thematicBreak } from 'micromark-core-commonmark';\nimport { resolver as resolveText } from './initialize/text.js';\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n};\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n};\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n};\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n};\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n};\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n};\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n};\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n};\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n};", "/**\n * @import {\n * Chunk,\n * Code,\n * ConstructRecord,\n * Construct,\n * Effects,\n * InitialConstruct,\n * ParseContext,\n * Point,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @callback Restore\n * Restore the state.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef Info\n * Info.\n * @property {Restore} restore\n * Restore.\n * @property {number} from\n * From.\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * Construct.\n * @param {Info} info\n * Info.\n * @returns {undefined}\n * Nothing.\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn\u2019t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * Parser.\n * @param {InitialConstruct} initialize\n * Construct.\n * @param {Omit | undefined} [from]\n * Point (optional).\n * @returns {TokenizeContext}\n * Context.\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = {\n _bufferIndex: -1,\n _index: 0,\n line: from && from.line || 1,\n column: from && from.column || 1,\n offset: from && from.offset || 0\n };\n /** @type {Record} */\n const columnStart = {};\n /** @type {Array} */\n const resolveAllConstructs = [];\n /** @type {Array} */\n let chunks = [];\n /** @type {Array} */\n let stack = [];\n /** @type {boolean | undefined} */\n let consumed = true;\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n consume,\n enter,\n exit,\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n code: null,\n containerState: {},\n defineSkip,\n events: [],\n now,\n parser,\n previous: null,\n sliceSerialize,\n sliceStream,\n write\n };\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects);\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode;\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n\n // Exit if we\u2019re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n } = point;\n return {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n };\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n * Nothing.\n */\n function main() {\n /** @type {number} */\n let chunkIndex;\n while (point._index < chunks.length) {\n const chunk = chunks[point._index];\n\n // If we\u2019re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * Code.\n * @returns {undefined}\n * Nothing.\n */\n function go(code) {\n consumed = undefined;\n expectedCode = code;\n state = state(code);\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++;\n\n // At end of string chunk.\n if (point._bufferIndex ===\n // Points w/ non-negative `_bufferIndex` reference\n // strings.\n /** @type {string} */\n chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n }\n\n // Expose the previous character.\n context.previous = code;\n\n // Mark as consumed.\n consumed = true;\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * Callback.\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n * Fields.\n */\n function constructFactory(onreturn, fields) {\n return hook;\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | ConstructRecord | Construct} constructs\n * Constructs.\n * @param {State} returnState\n * State.\n * @param {State | undefined} [bogusState]\n * State.\n * @returns {State}\n * State.\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {ReadonlyArray} */\n let listOfConstructs;\n /** @type {number} */\n let constructIndex;\n /** @type {Construct} */\n let currentConstruct;\n /** @type {Info} */\n let info;\n return Array.isArray(constructs) ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs) : 'tokenize' in constructs ?\n // Looks like a construct.\n handleListOfConstructs([(/** @type {Construct} */constructs)]) : handleMapOfConstructs(constructs);\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleMapOfConstructs(map) {\n return start;\n\n /** @type {State} */\n function start(code) {\n const left = code !== null && map[code];\n const all = code !== null && map.null;\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(left) ? left : left ? [left] : []), ...(Array.isArray(all) ? all : all ? [all] : [])];\n return handleListOfConstructs(list)(code);\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {ReadonlyArray} list\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n if (list.length === 0) {\n return bogusState;\n }\n return handleConstruct(list[constructIndex]);\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * Construct.\n * @returns {State}\n * State.\n */\n function handleConstruct(construct) {\n return start;\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn\u2019t work because `inspect` in document does a check\n // w/o a bogus, which doesn\u2019t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n // Always populated by defaults.\n\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok(code);\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a \u201Clive binding\u201D, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context, effects, ok, nok)(code);\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true;\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true;\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * Construct.\n * @param {number} from\n * From.\n * @returns {undefined}\n * Nothing.\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n * Info.\n */\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n from: startEventsIndex,\n restore\n };\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n * Nothing.\n */\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it\u2019s on a column\n * skip.\n *\n * @returns {undefined}\n * Nothing.\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {Pick} token\n * Token.\n * @returns {Array}\n * Chunks.\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n /** @type {Array} */\n let view;\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n const head = view[0];\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex);\n /* c8 ignore next 4 -- used to be used, no longer */\n } else {\n view.shift();\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {boolean | undefined} [expandTabs=false]\n * Whether to expand tabs (default: `false`).\n * @returns {string}\n * Result.\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1;\n /** @type {Array} */\n const result = [];\n /** @type {boolean | undefined} */\n let atTab;\n while (++index < chunks.length) {\n const chunk = chunks[index];\n /** @type {string} */\n let value;\n if (typeof chunk === 'string') {\n value = chunk;\n } else switch (chunk) {\n case -5:\n {\n value = \"\\r\";\n break;\n }\n case -4:\n {\n value = \"\\n\";\n break;\n }\n case -3:\n {\n value = \"\\r\" + \"\\n\";\n break;\n }\n case -2:\n {\n value = expandTabs ? \" \" : \"\\t\";\n break;\n }\n case -1:\n {\n if (!expandTabs && atTab) continue;\n value = \" \";\n break;\n }\n default:\n {\n // Currently only replacement character.\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join('');\n}", "/**\n * @import {\n * Create,\n * FullNormalizedExtension,\n * InitialConstruct,\n * ParseContext,\n * ParseOptions\n * } from 'micromark-util-types'\n */\n\nimport { combineExtensions } from 'micromark-util-combine-extensions';\nimport { content } from './initialize/content.js';\nimport { document } from './initialize/document.js';\nimport { flow } from './initialize/flow.js';\nimport { string, text } from './initialize/text.js';\nimport * as defaultConstructs from './constructs.js';\nimport { createTokenizer } from './create-tokenizer.js';\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ParseContext}\n * Parser.\n */\nexport function parse(options) {\n const settings = options || {};\n const constructs = /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])]);\n\n /** @type {ParseContext} */\n const parser = {\n constructs,\n content: create(content),\n defined: [],\n document: create(document),\n flow: create(flow),\n lazy: {},\n string: create(string),\n text: create(text)\n };\n return parser;\n\n /**\n * @param {InitialConstruct} initial\n * Construct to start with.\n * @returns {Create}\n * Create a tokenizer.\n */\n function create(initial) {\n return creator;\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from);\n }\n }\n}", "/**\n * @import {Event} from 'micromark-util-types'\n */\n\nimport { subtokenize } from 'micromark-util-subtokenize';\n\n/**\n * @param {Array} events\n * Events.\n * @returns {Array}\n * Events.\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events;\n}", "/**\n * @import {Chunk, Code, Encoding, Value} from 'micromark-util-types'\n */\n\n/**\n * @callback Preprocessor\n * Preprocess a value.\n * @param {Value} value\n * Value.\n * @param {Encoding | null | undefined} [encoding]\n * Encoding when `value` is a typed array (optional).\n * @param {boolean | null | undefined} [end=false]\n * Whether this is the last chunk (default: `false`).\n * @returns {Array}\n * Chunks.\n */\n\nconst search = /[\\0\\t\\n\\r]/g;\n\n/**\n * @returns {Preprocessor}\n * Preprocess a value.\n */\nexport function preprocess() {\n let column = 1;\n let buffer = '';\n /** @type {boolean | undefined} */\n let start = true;\n /** @type {boolean | undefined} */\n let atCarriageReturn;\n return preprocessor;\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = [];\n /** @type {RegExpMatchArray | null} */\n let match;\n /** @type {number} */\n let next;\n /** @type {number} */\n let startPosition;\n /** @type {number} */\n let endPosition;\n /** @type {Code} */\n let code;\n value = buffer + (typeof value === 'string' ? value.toString() : new TextDecoder(encoding || undefined).decode(value));\n startPosition = 0;\n buffer = '';\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n start = undefined;\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match && match.index !== undefined ? match.index : value.length;\n code = value.charCodeAt(endPosition);\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = undefined;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = undefined;\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n switch (code) {\n case 0:\n {\n chunks.push(65533);\n column++;\n break;\n }\n case 9:\n {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n while (column++ < next) chunks.push(-1);\n break;\n }\n case 10:\n {\n chunks.push(-4);\n column = 1;\n break;\n }\n default:\n {\n atCarriageReturn = true;\n column = 1;\n }\n }\n }\n startPosition = endPosition + 1;\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5);\n if (buffer) chunks.push(buffer);\n chunks.push(null);\n }\n return chunks;\n }\n}", "import { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nconst characterEscapeOrReference = /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The \u201Cstring\u201D content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode);\n}\n\n/**\n * @param {string} $0\n * Match.\n * @param {string} $1\n * Character escape.\n * @param {string} $2\n * Character reference.\n * @returns {string}\n * Decoded value\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1;\n }\n\n // Reference.\n const head = $2.charCodeAt(0);\n if (head === 35) {\n const head = $2.charCodeAt(1);\n const hex = head === 120 || head === 88;\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10);\n }\n return decodeNamedCharacterReference($2) || $0;\n}", "/**\n * @import {\n * Break,\n * Blockquote,\n * Code,\n * Definition,\n * Emphasis,\n * Heading,\n * Html,\n * Image,\n * InlineCode,\n * Link,\n * ListItem,\n * List,\n * Nodes,\n * Paragraph,\n * PhrasingContent,\n * ReferenceType,\n * Root,\n * Strong,\n * Text,\n * ThematicBreak\n * } from 'mdast'\n * @import {\n * Encoding,\n * Event,\n * Token,\n * Value\n * } from 'micromark-util-types'\n * @import {Point} from 'unist'\n * @import {\n * CompileContext,\n * CompileData,\n * Config,\n * Extension,\n * Handle,\n * OnEnterError,\n * Options\n * } from './types.js'\n */\n\nimport { toString } from 'mdast-util-to-string';\nimport { parse, postprocess, preprocess } from 'micromark';\nimport { decodeNumericCharacterReference } from 'micromark-util-decode-numeric-character-reference';\nimport { decodeString } from 'micromark-util-decode-string';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { stringifyPosition } from 'unist-util-stringify-position';\nconst own = {}.hasOwnProperty;\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (encoding && typeof encoding === 'object') {\n options = encoding;\n encoding = undefined;\n }\n return compiler(options)(postprocess(parse(options).document().write(preprocess()(value, encoding, true))));\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n characterReference: onexitcharacterreference,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n };\n configure(config, (options || {}).mdastExtensions || []);\n\n /** @type {CompileData} */\n const data = {};\n return compile;\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n };\n /** @type {Omit} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n };\n /** @type {Array} */\n const listStack = [];\n let index = -1;\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (events[index][1].type === \"listOrdered\" || events[index][1].type === \"listUnordered\") {\n if (events[index][0] === 'enter') {\n listStack.push(index);\n } else {\n const tail = listStack.pop();\n index = prepareList(events, tail, index);\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n const handler = config[events[index][0]];\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(Object.assign({\n sliceSerialize: events[index][2].sliceSerialize\n }, context), events[index][1]);\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1];\n const handler = tail[1] || defaultOnError;\n handler.call(context, undefined, tail[0]);\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(events.length > 0 ? events[0][1].start : {\n line: 1,\n column: 1,\n offset: 0\n }),\n end: point(events.length > 0 ? events[events.length - 2][1].end : {\n line: 1,\n column: 1,\n offset: 0\n })\n };\n\n // Call transforms.\n index = -1;\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree;\n }\n return tree;\n }\n\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1;\n let containerBalance = -1;\n let listSpread = false;\n /** @type {Token | undefined} */\n let listItem;\n /** @type {number | undefined} */\n let lineIndex;\n /** @type {number | undefined} */\n let firstBlankLineIndex;\n /** @type {boolean | undefined} */\n let atMarker;\n while (++index <= length) {\n const event = events[index];\n switch (event[1].type) {\n case \"listUnordered\":\n case \"listOrdered\":\n case \"blockQuote\":\n {\n if (event[0] === 'enter') {\n containerBalance++;\n } else {\n containerBalance--;\n }\n atMarker = undefined;\n break;\n }\n case \"lineEndingBlank\":\n {\n if (event[0] === 'enter') {\n if (listItem && !atMarker && !containerBalance && !firstBlankLineIndex) {\n firstBlankLineIndex = index;\n }\n atMarker = undefined;\n }\n break;\n }\n case \"linePrefix\":\n case \"listItemValue\":\n case \"listItemMarker\":\n case \"listItemPrefix\":\n case \"listItemPrefixWhitespace\":\n {\n // Empty.\n\n break;\n }\n default:\n {\n atMarker = undefined;\n }\n }\n if (!containerBalance && event[0] === 'enter' && event[1].type === \"listItemPrefix\" || containerBalance === -1 && event[0] === 'exit' && (event[1].type === \"listUnordered\" || event[1].type === \"listOrdered\")) {\n if (listItem) {\n let tailIndex = index;\n lineIndex = undefined;\n while (tailIndex--) {\n const tailEvent = events[tailIndex];\n if (tailEvent[1].type === \"lineEnding\" || tailEvent[1].type === \"lineEndingBlank\") {\n if (tailEvent[0] === 'exit') continue;\n if (lineIndex) {\n events[lineIndex][1].type = \"lineEndingBlank\";\n listSpread = true;\n }\n tailEvent[1].type = \"lineEnding\";\n lineIndex = tailIndex;\n } else if (tailEvent[1].type === \"linePrefix\" || tailEvent[1].type === \"blockQuotePrefix\" || tailEvent[1].type === \"blockQuotePrefixWhitespace\" || tailEvent[1].type === \"blockQuoteMarker\" || tailEvent[1].type === \"listItemIndent\") {\n // Empty\n } else {\n break;\n }\n }\n if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) {\n listItem._spread = true;\n }\n\n // Fix position.\n listItem.end = Object.assign({}, lineIndex ? events[lineIndex][1].start : event[1].end);\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]);\n index++;\n length++;\n }\n\n // Create a new list item.\n if (event[1].type === \"listItemPrefix\") {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we\u2019ll add `end` in a second.\n end: undefined\n };\n listItem = item;\n events.splice(index, 0, ['enter', item, event[2]]);\n index++;\n length++;\n firstBlankLineIndex = undefined;\n atMarker = true;\n }\n }\n }\n events[start][1]._spread = listSpread;\n return length;\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token);\n if (and) and.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['buffer']}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n });\n }\n\n /**\n * @type {CompileContext['enter']}\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1];\n /** @type {Array} */\n const siblings = parent.children;\n siblings.push(node);\n this.stack.push(node);\n this.tokenStack.push([token, errorHandler || undefined]);\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n };\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close;\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token);\n exit.call(this, token);\n }\n }\n\n /**\n * @type {CompileContext['exit']}\n */\n function exit(token, onExitError) {\n const node = this.stack.pop();\n const open = this.tokenStack.pop();\n if (!open) {\n throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({\n start: token.start,\n end: token.end\n }) + '): it\u2019s not open');\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0]);\n } else {\n const handler = open[1] || defaultOnError;\n handler.call(this, token, open[0]);\n }\n }\n node.position.end = point(token.end);\n }\n\n /**\n * @type {CompileContext['resume']}\n */\n function resume() {\n return toString(this.stack.pop());\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2];\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10);\n this.data.expectingFirstListItemValue = undefined;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.lang = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.meta = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return;\n this.buffer();\n this.data.flowCodeInside = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '');\n this.data.flowCodeInside = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '');\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.label = label;\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1];\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length;\n node.depth = depth;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1];\n node.depth = this.sliceSerialize(token).codePointAt(0) === 61 ? 1 : 2;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1];\n /** @type {Array} */\n const siblings = node.children;\n let tail = siblings[siblings.length - 1];\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text();\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we\u2019ll add `end` later.\n end: undefined\n };\n siblings.push(tail);\n }\n this.stack.push(tail);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop();\n tail.value += this.sliceSerialize(token);\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1];\n // If we\u2019re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n const tail = context.children[context.children.length - 1];\n tail.position.end = point(token.end);\n this.data.atHardBreak = undefined;\n return;\n }\n if (!this.data.setextHeadingSlurpLineEnding && config.canContainEols.includes(context.type)) {\n onenterdata.call(this, token);\n onexitdata.call(this, token);\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.value = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1];\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut';\n node.type += 'Reference';\n // @ts-expect-error: mutate.\n node.referenceType = referenceType;\n // @ts-expect-error: mutate.\n delete node.url;\n delete node.title;\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier;\n // @ts-expect-error: mutate.\n delete node.label;\n }\n this.data.referenceType = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token);\n const ancestor = this.stack[this.stack.length - 2];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string);\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase();\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1];\n const value = this.resume();\n const node = this.stack[this.stack.length - 1];\n // Assume a reference.\n this.data.inReference = true;\n if (node.type === 'link') {\n /** @type {Array} */\n const children = fragment.children;\n node.children = children;\n } else {\n node.alt = value;\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.url = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume();\n const node = this.stack[this.stack.length - 1];\n node.title = data;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume();\n const node = this.stack[this.stack.length - 1];\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label;\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase();\n this.data.referenceType = 'full';\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n this.data.characterReferenceType = token.type;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token);\n const type = this.data.characterReferenceType;\n /** @type {string} */\n let value;\n if (type) {\n value = decodeNumericCharacterReference(data, type === \"characterReferenceMarkerNumeric\" ? 10 : 16);\n this.data.characterReferenceType = undefined;\n } else {\n const result = decodeNamedCharacterReference(data);\n value = result;\n }\n const tail = this.stack[this.stack.length - 1];\n tail.value += value;\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreference(token) {\n const tail = this.stack.pop();\n tail.position.end = point(token.end);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = this.sliceSerialize(token);\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token);\n const node = this.stack[this.stack.length - 1];\n node.url = 'mailto:' + this.sliceSerialize(token);\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n };\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n };\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n };\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n };\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n };\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n };\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n };\n }\n\n /** @returns {Html} */\n function html() {\n return {\n type: 'html',\n value: ''\n };\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n };\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n };\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n };\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n };\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n };\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n };\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n };\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n };\n}\n\n/**\n * @param {Config} combined\n * @param {Array | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1;\n while (++index < extensions.length) {\n const value = extensions[index];\n if (Array.isArray(value)) {\n configure(combined, value);\n } else {\n extension(combined, value);\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key;\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'transforms':\n {\n const right = extension[key];\n if (right) {\n combined[key].push(...right);\n }\n break;\n }\n case 'enter':\n case 'exit':\n {\n const right = extension[key];\n if (right) {\n Object.assign(combined[key], right);\n }\n break;\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error('Cannot close `' + left.type + '` (' + stringifyPosition({\n start: left.start,\n end: left.end\n }) + '): a different token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is open');\n } else {\n throw new Error('Cannot close document, a token (`' + right.type + '`, ' + stringifyPosition({\n start: right.start,\n end: right.end\n }) + ') is still open');\n }\n}", "/**\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast-util-from-markdown').Options} FromMarkdownOptions\n * @typedef {import('unified').Parser} Parser\n * @typedef {import('unified').Processor} Processor\n */\n\n/**\n * @typedef {Omit} Options\n */\n\nimport {fromMarkdown} from 'mdast-util-from-markdown'\n\n/**\n * Aadd support for parsing from markdown.\n *\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkParse(options) {\n /** @type {Processor} */\n // @ts-expect-error: TS in JSDoc generates wrong types if `this` is typed regularly.\n const self = this\n\n self.parser = parser\n\n /**\n * @type {Parser}\n */\n function parser(doc) {\n return fromMarkdown(doc, {\n ...self.data('settings'),\n ...options,\n // Note: these options are not in the readme.\n // The goal is for them to be set by plugins on `data` instead of being\n // passed by users.\n extensions: self.data('micromarkExtensions') || [],\n mdastExtensions: self.data('fromMarkdownExtensions') || []\n })\n }\n}\n", "/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n", "export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it\u2019s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns\u2019 stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n", "/**\n * @import {Nodes, Parents, PhrasingContent, Root, Text} from 'mdast'\n * @import {BuildVisitor, Test, VisitorResult} from 'unist-util-visit-parents'\n */\n\n/**\n * @typedef RegExpMatchObject\n * Info on the match.\n * @property {number} index\n * The index of the search at which the result was found.\n * @property {string} input\n * A copy of the search string in the text node.\n * @property {[...Array, Text]} stack\n * All ancestors of the text node, where the last node is the text itself.\n *\n * @typedef {RegExp | string} Find\n * Pattern to find.\n *\n * Strings are escaped and then turned into global expressions.\n *\n * @typedef {Array} FindAndReplaceList\n * Several find and replaces, in array form.\n *\n * @typedef {[Find, Replace?]} FindAndReplaceTuple\n * Find and replace in tuple form.\n *\n * @typedef {ReplaceFunction | string | null | undefined} Replace\n * Thing to replace with.\n *\n * @callback ReplaceFunction\n * Callback called when a search matches.\n * @param {...any} parameters\n * The parameters are the result of corresponding search expression:\n *\n * * `value` (`string`) \u2014 whole match\n * * `...capture` (`Array`) \u2014 matches from regex capture groups\n * * `match` (`RegExpMatchObject`) \u2014 info on the match\n * @returns {Array | PhrasingContent | string | false | null | undefined}\n * Thing to replace with.\n *\n * * when `null`, `undefined`, `''`, remove the match\n * * \u2026or when `false`, do not replace at all\n * * \u2026or when `string`, replace with a text node of that value\n * * \u2026or when `Node` or `Array`, replace with those nodes\n *\n * @typedef {[RegExp, ReplaceFunction]} Pair\n * Normalized find and replace.\n *\n * @typedef {Array} Pairs\n * All find and replaced.\n *\n * @typedef Options\n * Configuration.\n * @property {Test | null | undefined} [ignore]\n * Test for which nodes to ignore (optional).\n */\n\nimport escape from 'escape-string-regexp'\nimport {visitParents} from 'unist-util-visit-parents'\nimport {convert} from 'unist-util-is'\n\n/**\n * Find patterns in a tree and replace them.\n *\n * The algorithm searches the tree in *preorder* for complete values in `Text`\n * nodes.\n * Partial matches are not supported.\n *\n * @param {Nodes} tree\n * Tree to change.\n * @param {FindAndReplaceList | FindAndReplaceTuple} list\n * Patterns to find.\n * @param {Options | null | undefined} [options]\n * Configuration (when `find` is not `Find`).\n * @returns {undefined}\n * Nothing.\n */\nexport function findAndReplace(tree, list, options) {\n const settings = options || {}\n const ignored = convert(settings.ignore || [])\n const pairs = toPairs(list)\n let pairIndex = -1\n\n while (++pairIndex < pairs.length) {\n visitParents(tree, 'text', visitor)\n }\n\n /** @type {BuildVisitor} */\n function visitor(node, parents) {\n let index = -1\n /** @type {Parents | undefined} */\n let grandparent\n\n while (++index < parents.length) {\n const parent = parents[index]\n /** @type {Array | undefined} */\n const siblings = grandparent ? grandparent.children : undefined\n\n if (\n ignored(\n parent,\n siblings ? siblings.indexOf(parent) : undefined,\n grandparent\n )\n ) {\n return\n }\n\n grandparent = parent\n }\n\n if (grandparent) {\n return handler(node, parents)\n }\n }\n\n /**\n * Handle a text node which is not in an ignored parent.\n *\n * @param {Text} node\n * Text node.\n * @param {Array} parents\n * Parents.\n * @returns {VisitorResult}\n * Result.\n */\n function handler(node, parents) {\n const parent = parents[parents.length - 1]\n const find = pairs[pairIndex][0]\n const replace = pairs[pairIndex][1]\n let start = 0\n /** @type {Array} */\n const siblings = parent.children\n const index = siblings.indexOf(node)\n let change = false\n /** @type {Array} */\n let nodes = []\n\n find.lastIndex = 0\n\n let match = find.exec(node.value)\n\n while (match) {\n const position = match.index\n /** @type {RegExpMatchObject} */\n const matchObject = {\n index: match.index,\n input: match.input,\n stack: [...parents, node]\n }\n let value = replace(...match, matchObject)\n\n if (typeof value === 'string') {\n value = value.length > 0 ? {type: 'text', value} : undefined\n }\n\n // It wasn\u2019t a match after all.\n if (value === false) {\n // False acts as if there was no match.\n // So we need to reset `lastIndex`, which currently being at the end of\n // the current match, to the beginning.\n find.lastIndex = position + 1\n } else {\n if (start !== position) {\n nodes.push({\n type: 'text',\n value: node.value.slice(start, position)\n })\n }\n\n if (Array.isArray(value)) {\n nodes.push(...value)\n } else if (value) {\n nodes.push(value)\n }\n\n start = position + match[0].length\n change = true\n }\n\n if (!find.global) {\n break\n }\n\n match = find.exec(node.value)\n }\n\n if (change) {\n if (start < node.value.length) {\n nodes.push({type: 'text', value: node.value.slice(start)})\n }\n\n parent.children.splice(index, 1, ...nodes)\n } else {\n nodes = [node]\n }\n\n return index + nodes.length\n }\n}\n\n/**\n * Turn a tuple or a list of tuples into pairs.\n *\n * @param {FindAndReplaceList | FindAndReplaceTuple} tupleOrList\n * Schema.\n * @returns {Pairs}\n * Clean pairs.\n */\nfunction toPairs(tupleOrList) {\n /** @type {Pairs} */\n const result = []\n\n if (!Array.isArray(tupleOrList)) {\n throw new TypeError('Expected find and replace tuple or list of tuples')\n }\n\n /** @type {FindAndReplaceList} */\n // @ts-expect-error: correct.\n const list =\n !tupleOrList[0] || Array.isArray(tupleOrList[0])\n ? tupleOrList\n : [tupleOrList]\n\n let index = -1\n\n while (++index < list.length) {\n const tuple = list[index]\n result.push([toExpression(tuple[0]), toFunction(tuple[1])])\n }\n\n return result\n}\n\n/**\n * Turn a find into an expression.\n *\n * @param {Find} find\n * Find.\n * @returns {RegExp}\n * Expression.\n */\nfunction toExpression(find) {\n return typeof find === 'string' ? new RegExp(escape(find), 'g') : find\n}\n\n/**\n * Turn a replace into a function.\n *\n * @param {Replace} replace\n * Replace.\n * @returns {ReplaceFunction}\n * Function.\n */\nfunction toFunction(replace) {\n return typeof replace === 'function'\n ? replace\n : function () {\n return replace\n }\n}\n", "/**\n * @import {RegExpMatchObject, ReplaceFunction} from 'mdast-util-find-and-replace'\n * @import {CompileContext, Extension as FromMarkdownExtension, Handle as FromMarkdownHandle, Transform as FromMarkdownTransform} from 'mdast-util-from-markdown'\n * @import {ConstructName, Options as ToMarkdownExtension} from 'mdast-util-to-markdown'\n * @import {Link, PhrasingContent} from 'mdast'\n */\n\nimport {ccount} from 'ccount'\nimport {ok as assert} from 'devlop'\nimport {unicodePunctuation, unicodeWhitespace} from 'micromark-util-character'\nimport {findAndReplace} from 'mdast-util-find-and-replace'\n\n/** @type {ConstructName} */\nconst inConstruct = 'phrasing'\n/** @type {Array} */\nconst notInConstruct = ['autolink', 'link', 'image', 'label']\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM autolink\n * literals in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n */\nexport function gfmAutolinkLiteralFromMarkdown() {\n return {\n transforms: [transformGfmAutolinkLiterals],\n enter: {\n literalAutolink: enterLiteralAutolink,\n literalAutolinkEmail: enterLiteralAutolinkValue,\n literalAutolinkHttp: enterLiteralAutolinkValue,\n literalAutolinkWww: enterLiteralAutolinkValue\n },\n exit: {\n literalAutolink: exitLiteralAutolink,\n literalAutolinkEmail: exitLiteralAutolinkEmail,\n literalAutolinkHttp: exitLiteralAutolinkHttp,\n literalAutolinkWww: exitLiteralAutolinkWww\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM autolink\n * literals in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM autolink literals.\n */\nexport function gfmAutolinkLiteralToMarkdown() {\n return {\n unsafe: [\n {\n character: '@',\n before: '[+\\\\-.\\\\w]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: '.',\n before: '[Ww]',\n after: '[\\\\-.\\\\w]',\n inConstruct,\n notInConstruct\n },\n {\n character: ':',\n before: '[ps]',\n after: '\\\\/',\n inConstruct,\n notInConstruct\n }\n ]\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolink(token) {\n this.enter({type: 'link', title: null, url: '', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterLiteralAutolinkValue(token) {\n this.config.enter.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkHttp(token) {\n this.config.exit.autolinkProtocol.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkWww(token) {\n this.config.exit.data.call(this, token)\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'link')\n node.url = 'http://' + this.sliceSerialize(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolinkEmail(token) {\n this.config.exit.autolinkEmail.call(this, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitLiteralAutolink(token) {\n this.exit(token)\n}\n\n/** @type {FromMarkdownTransform} */\nfunction transformGfmAutolinkLiterals(tree) {\n findAndReplace(\n tree,\n [\n [/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi, findUrl],\n [/(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/gu, findEmail]\n ],\n {ignore: ['link', 'linkReference']}\n )\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} protocol\n * @param {string} domain\n * @param {string} path\n * @param {RegExpMatchObject} match\n * @returns {Array | Link | false}\n */\n// eslint-disable-next-line max-params\nfunction findUrl(_, protocol, domain, path, match) {\n let prefix = ''\n\n // Not an expected previous character.\n if (!previous(match)) {\n return false\n }\n\n // Treat `www` as part of the domain.\n if (/^w/i.test(protocol)) {\n domain = protocol + domain\n protocol = ''\n prefix = 'http://'\n }\n\n if (!isCorrectDomain(domain)) {\n return false\n }\n\n const parts = splitUrl(domain + path)\n\n if (!parts[0]) return false\n\n /** @type {Link} */\n const result = {\n type: 'link',\n title: null,\n url: prefix + protocol + parts[0],\n children: [{type: 'text', value: protocol + parts[0]}]\n }\n\n if (parts[1]) {\n return [result, {type: 'text', value: parts[1]}]\n }\n\n return result\n}\n\n/**\n * @type {ReplaceFunction}\n * @param {string} _\n * @param {string} atext\n * @param {string} label\n * @param {RegExpMatchObject} match\n * @returns {Link | false}\n */\nfunction findEmail(_, atext, label, match) {\n if (\n // Not an expected previous character.\n !previous(match, true) ||\n // Label ends in not allowed character.\n /[-\\d_]$/.test(label)\n ) {\n return false\n }\n\n return {\n type: 'link',\n title: null,\n url: 'mailto:' + atext + '@' + label,\n children: [{type: 'text', value: atext + '@' + label}]\n }\n}\n\n/**\n * @param {string} domain\n * @returns {boolean}\n */\nfunction isCorrectDomain(domain) {\n const parts = domain.split('.')\n\n if (\n parts.length < 2 ||\n (parts[parts.length - 1] &&\n (/_/.test(parts[parts.length - 1]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 1]))) ||\n (parts[parts.length - 2] &&\n (/_/.test(parts[parts.length - 2]) ||\n !/[a-zA-Z\\d]/.test(parts[parts.length - 2])))\n ) {\n return false\n }\n\n return true\n}\n\n/**\n * @param {string} url\n * @returns {[string, string | undefined]}\n */\nfunction splitUrl(url) {\n const trailExec = /[!\"&'),.:;<>?\\]}]+$/.exec(url)\n\n if (!trailExec) {\n return [url, undefined]\n }\n\n url = url.slice(0, trailExec.index)\n\n let trail = trailExec[0]\n let closingParenIndex = trail.indexOf(')')\n const openingParens = ccount(url, '(')\n let closingParens = ccount(url, ')')\n\n while (closingParenIndex !== -1 && openingParens > closingParens) {\n url += trail.slice(0, closingParenIndex + 1)\n trail = trail.slice(closingParenIndex + 1)\n closingParenIndex = trail.indexOf(')')\n closingParens++\n }\n\n return [url, trail]\n}\n\n/**\n * @param {RegExpMatchObject} match\n * @param {boolean | null | undefined} [email=false]\n * @returns {boolean}\n */\nfunction previous(match, email) {\n const code = match.input.charCodeAt(match.index - 1)\n\n return (\n (match.index === 0 ||\n unicodeWhitespace(code) ||\n unicodePunctuation(code)) &&\n // If it\u2019s an email, the previous character should not be a slash.\n (!email || code !== 47)\n )\n}\n", "/**\n * @import {\n * CompileContext,\n * Extension as FromMarkdownExtension,\n * Handle as FromMarkdownHandle\n * } from 'mdast-util-from-markdown'\n * @import {ToMarkdownOptions} from 'mdast-util-gfm-footnote'\n * @import {\n * Handle as ToMarkdownHandle,\n * Map,\n * Options as ToMarkdownExtension\n * } from 'mdast-util-to-markdown'\n * @import {FootnoteDefinition, FootnoteReference} from 'mdast'\n */\n\nimport {ok as assert} from 'devlop'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\n\nfootnoteReference.peek = footnoteReferencePeek\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCallString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteCall(token) {\n this.enter({type: 'footnoteReference', identifier: '', label: ''}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinitionLabelString() {\n this.buffer()\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterFootnoteDefinition(token) {\n this.enter(\n {type: 'footnoteDefinition', identifier: '', label: '', children: []},\n token\n )\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCallString(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'footnoteReference')\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n node.label = label\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteCall(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinitionLabelString(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'footnoteDefinition')\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n node.label = label\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitFootnoteDefinition(token) {\n this.exit(token)\n}\n\n/** @type {ToMarkdownHandle} */\nfunction footnoteReferencePeek() {\n return '['\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {FootnoteReference} node\n */\nfunction footnoteReference(node, _, state, info) {\n const tracker = state.createTracker(info)\n let value = tracker.move('[^')\n const exit = state.enter('footnoteReference')\n const subexit = state.enter('reference')\n value += tracker.move(\n state.safe(state.associationId(node), {after: ']', before: value})\n )\n subexit()\n exit()\n value += tracker.move(']')\n return value\n}\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown`.\n */\nexport function gfmFootnoteFromMarkdown() {\n return {\n enter: {\n gfmFootnoteCallString: enterFootnoteCallString,\n gfmFootnoteCall: enterFootnoteCall,\n gfmFootnoteDefinitionLabelString: enterFootnoteDefinitionLabelString,\n gfmFootnoteDefinition: enterFootnoteDefinition\n },\n exit: {\n gfmFootnoteCallString: exitFootnoteCallString,\n gfmFootnoteCall: exitFootnoteCall,\n gfmFootnoteDefinitionLabelString: exitFootnoteDefinitionLabelString,\n gfmFootnoteDefinition: exitFootnoteDefinition\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM footnotes\n * in markdown.\n *\n * @param {ToMarkdownOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown`.\n */\nexport function gfmFootnoteToMarkdown(options) {\n // To do: next major: change default.\n let firstLineBlank = false\n\n if (options && options.firstLineBlank) {\n firstLineBlank = true\n }\n\n return {\n handlers: {footnoteDefinition, footnoteReference},\n // This is on by default already.\n unsafe: [{character: '[', inConstruct: ['label', 'phrasing', 'reference']}]\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {FootnoteDefinition} node\n */\n function footnoteDefinition(node, _, state, info) {\n const tracker = state.createTracker(info)\n let value = tracker.move('[^')\n const exit = state.enter('footnoteDefinition')\n const subexit = state.enter('label')\n value += tracker.move(\n state.safe(state.associationId(node), {before: value, after: ']'})\n )\n subexit()\n\n value += tracker.move(']:')\n\n if (node.children && node.children.length > 0) {\n tracker.shift(4)\n\n value += tracker.move(\n (firstLineBlank ? '\\n' : ' ') +\n state.indentLines(\n state.containerFlow(node, tracker.current()),\n firstLineBlank ? mapAll : mapExceptFirst\n )\n )\n }\n\n exit()\n\n return value\n }\n}\n\n/** @type {Map} */\nfunction mapExceptFirst(line, index, blank) {\n return index === 0 ? line : mapAll(line, index, blank)\n}\n\n/** @type {Map} */\nfunction mapAll(line, index, blank) {\n return (blank ? '' : ' ') + line\n}\n", "/**\n * @typedef {import('mdast').Delete} Delete\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').ConstructName} ConstructName\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n */\n\n/**\n * List of constructs that occur in phrasing (paragraphs, headings), but cannot\n * contain strikethrough.\n * So they sort of cancel each other out.\n * Note: could use a better name.\n *\n * Note: keep in sync with: \n *\n * @type {Array}\n */\nconst constructsWithoutStrikethrough = [\n 'autolink',\n 'destinationLiteral',\n 'destinationRaw',\n 'reference',\n 'titleQuote',\n 'titleApostrophe'\n]\n\nhandleDelete.peek = peekDelete\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM\n * strikethrough in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM strikethrough.\n */\nexport function gfmStrikethroughFromMarkdown() {\n return {\n canContainEols: ['delete'],\n enter: {strikethrough: enterStrikethrough},\n exit: {strikethrough: exitStrikethrough}\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM\n * strikethrough in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM strikethrough.\n */\nexport function gfmStrikethroughToMarkdown() {\n return {\n unsafe: [\n {\n character: '~',\n inConstruct: 'phrasing',\n notInConstruct: constructsWithoutStrikethrough\n }\n ],\n handlers: {delete: handleDelete}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterStrikethrough(token) {\n this.enter({type: 'delete', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitStrikethrough(token) {\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {Delete} node\n */\nfunction handleDelete(node, _, state, info) {\n const tracker = state.createTracker(info)\n const exit = state.enter('strikethrough')\n let value = tracker.move('~~')\n value += state.containerPhrasing(node, {\n ...tracker.current(),\n before: value,\n after: '~'\n })\n value += tracker.move('~~')\n exit()\n return value\n}\n\n/** @type {ToMarkdownHandle} */\nfunction peekDelete() {\n return '~'\n}\n", "// To do: next major: remove.\n/**\n * @typedef {Options} MarkdownTableOptions\n * Configuration.\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [alignDelimiters=true]\n * Whether to align the delimiters (default: `true`);\n * they are aligned by default:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * Pass `false` to make them staggered:\n *\n * ```markdown\n * | Alpha | B |\n * | - | - |\n * | C | Delta |\n * ```\n * @property {ReadonlyArray | string | null | undefined} [align]\n * How to align columns (default: `''`);\n * one style for all columns or styles for their respective columns;\n * each style is either `'l'` (left), `'r'` (right), or `'c'` (center);\n * other values are treated as `''`, which doesn\u2019t place the colon in the\n * alignment row but does align left;\n * *only the lowercased first character is used, so `Right` is fine.*\n * @property {boolean | null | undefined} [delimiterEnd=true]\n * Whether to end each row with the delimiter (default: `true`).\n *\n * > \uD83D\uDC49 **Note**: please don\u2019t use this: it could create fragile structures\n * > that aren\u2019t understandable to some markdown parsers.\n *\n * When `true`, there are ending delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no ending delimiters:\n *\n * ```markdown\n * | Alpha | B\n * | ----- | -----\n * | C | Delta\n * ```\n * @property {boolean | null | undefined} [delimiterStart=true]\n * Whether to begin each row with the delimiter (default: `true`).\n *\n * > \uD83D\uDC49 **Note**: please don\u2019t use this: it could create fragile structures\n * > that aren\u2019t understandable to some markdown parsers.\n *\n * When `true`, there are starting delimiters:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there are no starting delimiters:\n *\n * ```markdown\n * Alpha | B |\n * ----- | ----- |\n * C | Delta |\n * ```\n * @property {boolean | null | undefined} [padding=true]\n * Whether to add a space of padding between delimiters and cells\n * (default: `true`).\n *\n * When `true`, there is padding:\n *\n * ```markdown\n * | Alpha | B |\n * | ----- | ----- |\n * | C | Delta |\n * ```\n *\n * When `false`, there is no padding:\n *\n * ```markdown\n * |Alpha|B |\n * |-----|-----|\n * |C |Delta|\n * ```\n * @property {((value: string) => number) | null | undefined} [stringLength]\n * Function to detect the length of table cell content (optional);\n * this is used when aligning the delimiters (`|`) between table cells;\n * full-width characters and emoji mess up delimiter alignment when viewing\n * the markdown source;\n * to fix this, you can pass this function,\n * which receives the cell content and returns its \u201Cvisible\u201D size;\n * note that what is and isn\u2019t visible depends on where the text is displayed.\n *\n * Without such a function, the following:\n *\n * ```js\n * markdownTable([\n * ['Alpha', 'Bravo'],\n * ['\u4E2D\u6587', 'Charlie'],\n * ['\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC69', 'Delta']\n * ])\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | - | - |\n * | \u4E2D\u6587 | Charlie |\n * | \uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC69 | Delta |\n * ```\n *\n * With [`string-width`](https://github.com/sindresorhus/string-width):\n *\n * ```js\n * import stringWidth from 'string-width'\n *\n * markdownTable(\n * [\n * ['Alpha', 'Bravo'],\n * ['\u4E2D\u6587', 'Charlie'],\n * ['\uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC69', 'Delta']\n * ],\n * {stringLength: stringWidth}\n * )\n * ```\n *\n * Yields:\n *\n * ```markdown\n * | Alpha | Bravo |\n * | ----- | ------- |\n * | \u4E2D\u6587 | Charlie |\n * | \uD83D\uDC69\u200D\u2764\uFE0F\u200D\uD83D\uDC69 | Delta |\n * ```\n */\n\n/**\n * @param {string} value\n * Cell value.\n * @returns {number}\n * Cell size.\n */\nfunction defaultStringLength(value) {\n return value.length\n}\n\n/**\n * Generate a markdown\n * ([GFM](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/organizing-information-with-tables))\n * table.\n *\n * @param {ReadonlyArray>} table\n * Table data (matrix of strings).\n * @param {Readonly | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Result.\n */\nexport function markdownTable(table, options) {\n const settings = options || {}\n // To do: next major: change to spread.\n const align = (settings.align || []).concat()\n const stringLength = settings.stringLength || defaultStringLength\n /** @type {Array} Character codes as symbols for alignment per column. */\n const alignments = []\n /** @type {Array>} Cells per row. */\n const cellMatrix = []\n /** @type {Array>} Sizes of each cell per row. */\n const sizeMatrix = []\n /** @type {Array} */\n const longestCellByColumn = []\n let mostCellsPerRow = 0\n let rowIndex = -1\n\n // This is a superfluous loop if we don\u2019t align delimiters, but otherwise we\u2019d\n // do superfluous work when aligning, so optimize for aligning.\n while (++rowIndex < table.length) {\n /** @type {Array} */\n const row = []\n /** @type {Array} */\n const sizes = []\n let columnIndex = -1\n\n if (table[rowIndex].length > mostCellsPerRow) {\n mostCellsPerRow = table[rowIndex].length\n }\n\n while (++columnIndex < table[rowIndex].length) {\n const cell = serialize(table[rowIndex][columnIndex])\n\n if (settings.alignDelimiters !== false) {\n const size = stringLength(cell)\n sizes[columnIndex] = size\n\n if (\n longestCellByColumn[columnIndex] === undefined ||\n size > longestCellByColumn[columnIndex]\n ) {\n longestCellByColumn[columnIndex] = size\n }\n }\n\n row.push(cell)\n }\n\n cellMatrix[rowIndex] = row\n sizeMatrix[rowIndex] = sizes\n }\n\n // Figure out which alignments to use.\n let columnIndex = -1\n\n if (typeof align === 'object' && 'length' in align) {\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = toAlignment(align[columnIndex])\n }\n } else {\n const code = toAlignment(align)\n\n while (++columnIndex < mostCellsPerRow) {\n alignments[columnIndex] = code\n }\n }\n\n // Inject the alignment row.\n columnIndex = -1\n /** @type {Array} */\n const row = []\n /** @type {Array} */\n const sizes = []\n\n while (++columnIndex < mostCellsPerRow) {\n const code = alignments[columnIndex]\n let before = ''\n let after = ''\n\n if (code === 99 /* `c` */) {\n before = ':'\n after = ':'\n } else if (code === 108 /* `l` */) {\n before = ':'\n } else if (code === 114 /* `r` */) {\n after = ':'\n }\n\n // There *must* be at least one hyphen-minus in each alignment cell.\n let size =\n settings.alignDelimiters === false\n ? 1\n : Math.max(\n 1,\n longestCellByColumn[columnIndex] - before.length - after.length\n )\n\n const cell = before + '-'.repeat(size) + after\n\n if (settings.alignDelimiters !== false) {\n size = before.length + size + after.length\n\n if (size > longestCellByColumn[columnIndex]) {\n longestCellByColumn[columnIndex] = size\n }\n\n sizes[columnIndex] = size\n }\n\n row[columnIndex] = cell\n }\n\n // Inject the alignment row.\n cellMatrix.splice(1, 0, row)\n sizeMatrix.splice(1, 0, sizes)\n\n rowIndex = -1\n /** @type {Array} */\n const lines = []\n\n while (++rowIndex < cellMatrix.length) {\n const row = cellMatrix[rowIndex]\n const sizes = sizeMatrix[rowIndex]\n columnIndex = -1\n /** @type {Array} */\n const line = []\n\n while (++columnIndex < mostCellsPerRow) {\n const cell = row[columnIndex] || ''\n let before = ''\n let after = ''\n\n if (settings.alignDelimiters !== false) {\n const size =\n longestCellByColumn[columnIndex] - (sizes[columnIndex] || 0)\n const code = alignments[columnIndex]\n\n if (code === 114 /* `r` */) {\n before = ' '.repeat(size)\n } else if (code === 99 /* `c` */) {\n if (size % 2) {\n before = ' '.repeat(size / 2 + 0.5)\n after = ' '.repeat(size / 2 - 0.5)\n } else {\n before = ' '.repeat(size / 2)\n after = before\n }\n } else {\n after = ' '.repeat(size)\n }\n }\n\n if (settings.delimiterStart !== false && !columnIndex) {\n line.push('|')\n }\n\n if (\n settings.padding !== false &&\n // Don\u2019t add the opening space if we\u2019re not aligning and the cell is\n // empty: there will be a closing space.\n !(settings.alignDelimiters === false && cell === '') &&\n (settings.delimiterStart !== false || columnIndex)\n ) {\n line.push(' ')\n }\n\n if (settings.alignDelimiters !== false) {\n line.push(before)\n }\n\n line.push(cell)\n\n if (settings.alignDelimiters !== false) {\n line.push(after)\n }\n\n if (settings.padding !== false) {\n line.push(' ')\n }\n\n if (\n settings.delimiterEnd !== false ||\n columnIndex !== mostCellsPerRow - 1\n ) {\n line.push('|')\n }\n }\n\n lines.push(\n settings.delimiterEnd === false\n ? line.join('').replace(/ +$/, '')\n : line.join('')\n )\n }\n\n return lines.join('\\n')\n}\n\n/**\n * @param {string | null | undefined} [value]\n * Value to serialize.\n * @returns {string}\n * Result.\n */\nfunction serialize(value) {\n return value === null || value === undefined ? '' : String(value)\n}\n\n/**\n * @param {string | null | undefined} value\n * Value.\n * @returns {number}\n * Alignment.\n */\nfunction toAlignment(value) {\n const code = typeof value === 'string' ? value.codePointAt(0) : 0\n\n return code === 67 /* `C` */ || code === 99 /* `c` */\n ? 99 /* `c` */\n : code === 76 /* `L` */ || code === 108 /* `l` */\n ? 108 /* `l` */\n : code === 82 /* `R` */ || code === 114 /* `r` */\n ? 114 /* `r` */\n : 0\n}\n", "/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it\u2019s value is this function\u2019s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it\u2019s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record} [Handlers=Record]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record} [Handlers=Record]\n * @param {string} key\n * Field to switch on.\n * @param {Options} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters): ReturnType, (...parameters: Parameters): ReturnType}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn\u2019t have a `key` property, the special\n * \u201Cinvalid\u201D handler will be called.\n * If `value` has an unknown `key`, the special \u201Cunknown\u201D handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it\u2019s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it\u2019s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\n}\n", "/**\n * @import {Blockquote, Parents} from 'mdast'\n * @import {Info, Map, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {Blockquote} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function blockquote(node, _, state, info) {\n const exit = state.enter('blockquote')\n const tracker = state.createTracker(info)\n tracker.move('> ')\n tracker.shift(2)\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map\n )\n exit()\n return value\n}\n\n/** @type {Map} */\nfunction map(line, _, blank) {\n return '>' + (blank ? '' : ' ') + line\n}\n", "/**\n * @import {ConstructName, Unsafe} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {Array} stack\n * @param {Unsafe} pattern\n * @returns {boolean}\n */\nexport function patternInScope(stack, pattern) {\n return (\n listInScope(stack, pattern.inConstruct, true) &&\n !listInScope(stack, pattern.notInConstruct, false)\n )\n}\n\n/**\n * @param {Array} stack\n * @param {Unsafe['inConstruct']} list\n * @param {boolean} none\n * @returns {boolean}\n */\nfunction listInScope(stack, list, none) {\n if (typeof list === 'string') {\n list = [list]\n }\n\n if (!list || list.length === 0) {\n return none\n }\n\n let index = -1\n\n while (++index < list.length) {\n if (stack.includes(list[index])) {\n return true\n }\n }\n\n return false\n}\n", "/**\n * @import {Break, Parents} from 'mdast'\n * @import {Info, State} from 'mdast-util-to-markdown'\n */\n\nimport {patternInScope} from '../util/pattern-in-scope.js'\n\n/**\n * @param {Break} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function hardBreak(_, _1, state, info) {\n let index = -1\n\n while (++index < state.unsafe.length) {\n // If we can\u2019t put eols in this construct (setext headings, tables), use a\n // space instead.\n if (\n state.unsafe[index].character === '\\n' &&\n patternInScope(state.stack, state.unsafe[index])\n ) {\n return /[ \\t]/.test(info.before) ? '' : ' '\n }\n }\n\n return '\\\\\\n'\n}\n", "/**\n * Get the count of the longest repeating streak of `substring` in `value`.\n *\n * @param {string} value\n * Content to search in.\n * @param {string} substring\n * Substring to look for, typically one character.\n * @returns {number}\n * Count of most frequent adjacent `substring`s in `value`.\n */\nexport function longestStreak(value, substring) {\n const source = String(value)\n let index = source.indexOf(substring)\n let expected = index\n let count = 0\n let max = 0\n\n if (typeof substring !== 'string') {\n throw new TypeError('Expected substring')\n }\n\n while (index !== -1) {\n if (index === expected) {\n if (++count > max) {\n max = count\n }\n } else {\n count = 1\n }\n\n expected = index + substring.length\n index = source.indexOf(substring, expected)\n }\n\n return max\n}\n", "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {Code} from 'mdast'\n */\n\n/**\n * @param {Code} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatCodeAsIndented(node, state) {\n return Boolean(\n state.options.fences === false &&\n node.value &&\n // If there\u2019s no info\u2026\n !node.lang &&\n // And there\u2019s a non-whitespace character\u2026\n /[^ \\r\\n]/.test(node.value) &&\n // And the value doesn\u2019t start or end in a blank\u2026\n !/^[\\t ]*(?:[\\r\\n]|$)|(?:^|[\\r\\n])[\\t ]*$/.test(node.value)\n )\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkFence(state) {\n const marker = state.options.fence || '`'\n\n if (marker !== '`' && marker !== '~') {\n throw new Error(\n 'Cannot serialize code with `' +\n marker +\n '` for `options.fence`, expected `` ` `` or `~`'\n )\n }\n\n return marker\n}\n", "/**\n * @import {Info, Map, State} from 'mdast-util-to-markdown'\n * @import {Code, Parents} from 'mdast'\n */\n\nimport {longestStreak} from 'longest-streak'\nimport {formatCodeAsIndented} from '../util/format-code-as-indented.js'\nimport {checkFence} from '../util/check-fence.js'\n\n/**\n * @param {Code} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function code(node, _, state, info) {\n const marker = checkFence(state)\n const raw = node.value || ''\n const suffix = marker === '`' ? 'GraveAccent' : 'Tilde'\n\n if (formatCodeAsIndented(node, state)) {\n const exit = state.enter('codeIndented')\n const value = state.indentLines(raw, map)\n exit()\n return value\n }\n\n const tracker = state.createTracker(info)\n const sequence = marker.repeat(Math.max(longestStreak(raw, marker) + 1, 3))\n const exit = state.enter('codeFenced')\n let value = tracker.move(sequence)\n\n if (node.lang) {\n const subexit = state.enter(`codeFencedLang${suffix}`)\n value += tracker.move(\n state.safe(node.lang, {\n before: value,\n after: ' ',\n encode: ['`'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n if (node.lang && node.meta) {\n const subexit = state.enter(`codeFencedMeta${suffix}`)\n value += tracker.move(' ')\n value += tracker.move(\n state.safe(node.meta, {\n before: value,\n after: '\\n',\n encode: ['`'],\n ...tracker.current()\n })\n )\n subexit()\n }\n\n value += tracker.move('\\n')\n\n if (raw) {\n value += tracker.move(raw + '\\n')\n }\n\n value += tracker.move(sequence)\n exit()\n return value\n}\n\n/** @type {Map} */\nfunction map(line, _, blank) {\n return (blank ? '' : ' ') + line\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkQuote(state) {\n const marker = state.options.quote || '\"'\n\n if (marker !== '\"' && marker !== \"'\") {\n throw new Error(\n 'Cannot serialize title with `' +\n marker +\n '` for `options.quote`, expected `\"`, or `\\'`'\n )\n }\n\n return marker\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Definition, Parents} from 'mdast'\n */\n\nimport {checkQuote} from '../util/check-quote.js'\n\n/**\n * @param {Definition} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function definition(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const exit = state.enter('definition')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('[')\n value += tracker.move(\n state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n )\n value += tracker.move(']: ')\n\n subexit()\n\n if (\n // If there\u2019s no url, or\u2026\n !node.url ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : '\\n',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n exit()\n\n return value\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkEmphasis(state) {\n const marker = state.options.emphasis || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize emphasis with `' +\n marker +\n '` for `options.emphasis`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n", "/**\n * Encode a code point as a character reference.\n *\n * @param {number} code\n * Code point to encode.\n * @returns {string}\n * Encoded character reference.\n */\nexport function encodeCharacterReference(code) {\n return '&#x' + code.toString(16).toUpperCase() + ';'\n}\n", "/**\n * @import {EncodeSides} from '../types.js'\n */\n\nimport {classifyCharacter} from 'micromark-util-classify-character'\n\n/**\n * Check whether to encode (as a character reference) the characters\n * surrounding an attention run.\n *\n * Which characters are around an attention run influence whether it works or\n * not.\n *\n * See for more info.\n * See this markdown in a particular renderer to see what works:\n *\n * ```markdown\n * | | A (letter inside) | B (punctuation inside) | C (whitespace inside) | D (nothing inside) |\n * | ----------------------- | ----------------- | ---------------------- | --------------------- | ------------------ |\n * | 1 (letter outside) | x*y*z | x*.*z | x* *z | x**z |\n * | 2 (punctuation outside) | .*y*. | .*.*. | .* *. | .**. |\n * | 3 (whitespace outside) | x *y* z | x *.* z | x * * z | x ** z |\n * | 4 (nothing outside) | *x* | *.* | * * | ** |\n * ```\n *\n * @param {number} outside\n * Code point on the outer side of the run.\n * @param {number} inside\n * Code point on the inner side of the run.\n * @param {'*' | '_'} marker\n * Marker of the run.\n * Underscores are handled more strictly (they form less often) than\n * asterisks.\n * @returns {EncodeSides}\n * Whether to encode characters.\n */\n// Important: punctuation must never be encoded.\n// Punctuation is solely used by markdown constructs.\n// And by encoding itself.\n// Encoding them will break constructs or double encode things.\nexport function encodeInfo(outside, inside, marker) {\n const outsideKind = classifyCharacter(outside)\n const insideKind = classifyCharacter(inside)\n\n // Letter outside:\n if (outsideKind === undefined) {\n return insideKind === undefined\n ? // Letter inside:\n // we have to encode *both* letters for `_` as it is looser.\n // it already forms for `*` (and GFMs `~`).\n marker === '_'\n ? {inside: true, outside: true}\n : {inside: false, outside: false}\n : insideKind === 1\n ? // Whitespace inside: encode both (letter, whitespace).\n {inside: true, outside: true}\n : // Punctuation inside: encode outer (letter)\n {inside: false, outside: true}\n }\n\n // Whitespace outside:\n if (outsideKind === 1) {\n return insideKind === undefined\n ? // Letter inside: already forms.\n {inside: false, outside: false}\n : insideKind === 1\n ? // Whitespace inside: encode both (whitespace).\n {inside: true, outside: true}\n : // Punctuation inside: already forms.\n {inside: false, outside: false}\n }\n\n // Punctuation outside:\n return insideKind === undefined\n ? // Letter inside: already forms.\n {inside: false, outside: false}\n : insideKind === 1\n ? // Whitespace inside: encode inner (whitespace).\n {inside: true, outside: false}\n : // Punctuation inside: already forms.\n {inside: false, outside: false}\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Emphasis, Parents} from 'mdast'\n */\n\nimport {checkEmphasis} from '../util/check-emphasis.js'\nimport {encodeCharacterReference} from '../util/encode-character-reference.js'\nimport {encodeInfo} from '../util/encode-info.js'\n\nemphasis.peek = emphasisPeek\n\n/**\n * @param {Emphasis} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function emphasis(node, _, state, info) {\n const marker = checkEmphasis(state)\n const exit = state.enter('emphasis')\n const tracker = state.createTracker(info)\n const before = tracker.move(marker)\n\n let between = tracker.move(\n state.containerPhrasing(node, {\n after: marker,\n before,\n ...tracker.current()\n })\n )\n const betweenHead = between.charCodeAt(0)\n const open = encodeInfo(\n info.before.charCodeAt(info.before.length - 1),\n betweenHead,\n marker\n )\n\n if (open.inside) {\n between = encodeCharacterReference(betweenHead) + between.slice(1)\n }\n\n const betweenTail = between.charCodeAt(between.length - 1)\n const close = encodeInfo(info.after.charCodeAt(0), betweenTail, marker)\n\n if (close.inside) {\n between = between.slice(0, -1) + encodeCharacterReference(betweenTail)\n }\n\n const after = tracker.move(marker)\n\n exit()\n\n state.attentionEncodeSurroundingInfo = {\n after: close.outside,\n before: open.outside\n }\n return before + between + after\n}\n\n/**\n * @param {Emphasis} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nfunction emphasisPeek(_, _1, state) {\n return state.options.emphasis || '*'\n}\n", "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {Heading} from 'mdast'\n */\n\nimport {EXIT, visit} from 'unist-util-visit'\nimport {toString} from 'mdast-util-to-string'\n\n/**\n * @param {Heading} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatHeadingAsSetext(node, state) {\n let literalWithBreak = false\n\n // Look for literals with a line break.\n // Note that this also\n visit(node, function (node) {\n if (\n ('value' in node && /\\r?\\n|\\r/.test(node.value)) ||\n node.type === 'break'\n ) {\n literalWithBreak = true\n return EXIT\n }\n })\n\n return Boolean(\n (!node.depth || node.depth < 3) &&\n toString(node) &&\n (state.options.setext || literalWithBreak)\n )\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Heading, Parents} from 'mdast'\n */\n\nimport {encodeCharacterReference} from '../util/encode-character-reference.js'\nimport {formatHeadingAsSetext} from '../util/format-heading-as-setext.js'\n\n/**\n * @param {Heading} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function heading(node, _, state, info) {\n const rank = Math.max(Math.min(6, node.depth || 1), 1)\n const tracker = state.createTracker(info)\n\n if (formatHeadingAsSetext(node, state)) {\n const exit = state.enter('headingSetext')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, {\n ...tracker.current(),\n before: '\\n',\n after: '\\n'\n })\n subexit()\n exit()\n\n return (\n value +\n '\\n' +\n (rank === 1 ? '=' : '-').repeat(\n // The whole size\u2026\n value.length -\n // Minus the position of the character after the last EOL (or\n // 0 if there is none)\u2026\n (Math.max(value.lastIndexOf('\\r'), value.lastIndexOf('\\n')) + 1)\n )\n )\n }\n\n const sequence = '#'.repeat(rank)\n const exit = state.enter('headingAtx')\n const subexit = state.enter('phrasing')\n\n // Note: for proper tracking, we should reset the output positions when there\n // is no content returned, because then the space is not output.\n // Practically, in that case, there is no content, so it doesn\u2019t matter that\n // we\u2019ve tracked one too many characters.\n tracker.move(sequence + ' ')\n\n let value = state.containerPhrasing(node, {\n before: '# ',\n after: '\\n',\n ...tracker.current()\n })\n\n if (/^[\\t ]/.test(value)) {\n // To do: what effect has the character reference on tracking?\n value = encodeCharacterReference(value.charCodeAt(0)) + value.slice(1)\n }\n\n value = value ? sequence + ' ' + value : sequence\n\n if (state.options.closeAtx) {\n value += ' ' + sequence\n }\n\n subexit()\n exit()\n\n return value\n}\n", "/**\n * @import {Html} from 'mdast'\n */\n\nhtml.peek = htmlPeek\n\n/**\n * @param {Html} node\n * @returns {string}\n */\nexport function html(node) {\n return node.value || ''\n}\n\n/**\n * @returns {string}\n */\nfunction htmlPeek() {\n return '<'\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Image, Parents} from 'mdast'\n */\n\nimport {checkQuote} from '../util/check-quote.js'\n\nimage.peek = imagePeek\n\n/**\n * @param {Image} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function image(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const exit = state.enter('image')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('![')\n value += tracker.move(\n state.safe(node.alt, {before: value, after: ']', ...tracker.current()})\n )\n value += tracker.move('](')\n\n subexit()\n\n if (\n // If there\u2019s no url but there is a title\u2026\n (!node.url && node.title) ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : ')',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n value += tracker.move(')')\n exit()\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction imagePeek() {\n return '!'\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {ImageReference, Parents} from 'mdast'\n */\n\nimageReference.peek = imageReferencePeek\n\n/**\n * @param {ImageReference} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function imageReference(node, _, state, info) {\n const type = node.referenceType\n const exit = state.enter('imageReference')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('![')\n const alt = state.safe(node.alt, {\n before: value,\n after: ']',\n ...tracker.current()\n })\n value += tracker.move(alt + '][')\n\n subexit()\n // Hide the fact that we\u2019re in phrasing, because escapes don\u2019t work.\n const stack = state.stack\n state.stack = []\n subexit = state.enter('reference')\n // Note: for proper tracking, we should reset the output positions when we end\n // up making a `shortcut` reference, because then there is no brace output.\n // Practically, in that case, there is no content, so it doesn\u2019t matter that\n // we\u2019ve tracked one too many characters.\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n subexit()\n state.stack = stack\n exit()\n\n if (type === 'full' || !alt || alt !== reference) {\n value += tracker.move(reference + ']')\n } else if (type === 'shortcut') {\n // Remove the unwanted `[`.\n value = value.slice(0, -1)\n } else {\n value += tracker.move(']')\n }\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction imageReferencePeek() {\n return '!'\n}\n", "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {InlineCode, Parents} from 'mdast'\n */\n\ninlineCode.peek = inlineCodePeek\n\n/**\n * @param {InlineCode} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @returns {string}\n */\nexport function inlineCode(node, _, state) {\n let value = node.value || ''\n let sequence = '`'\n let index = -1\n\n // If there is a single grave accent on its own in the code, use a fence of\n // two.\n // If there are two in a row, use one.\n while (new RegExp('(^|[^`])' + sequence + '([^`]|$)').test(value)) {\n sequence += '`'\n }\n\n // If this is not just spaces or eols (tabs don\u2019t count), and either the\n // first or last character are a space, eol, or tick, then pad with spaces.\n if (\n /[^ \\r\\n]/.test(value) &&\n ((/^[ \\r\\n]/.test(value) && /[ \\r\\n]$/.test(value)) || /^`|`$/.test(value))\n ) {\n value = ' ' + value + ' '\n }\n\n // We have a potential problem: certain characters after eols could result in\n // blocks being seen.\n // For example, if someone injected the string `'\\n# b'`, then that would\n // result in an ATX heading.\n // We can\u2019t escape characters in `inlineCode`, but because eols are\n // transformed to spaces when going from markdown to HTML anyway, we can swap\n // them out.\n while (++index < state.unsafe.length) {\n const pattern = state.unsafe[index]\n const expression = state.compilePattern(pattern)\n /** @type {RegExpExecArray | null} */\n let match\n\n // Only look for `atBreak`s.\n // Btw: note that `atBreak` patterns will always start the regex at LF or\n // CR.\n if (!pattern.atBreak) continue\n\n while ((match = expression.exec(value))) {\n let position = match.index\n\n // Support CRLF (patterns only look for one of the characters).\n if (\n value.charCodeAt(position) === 10 /* `\\n` */ &&\n value.charCodeAt(position - 1) === 13 /* `\\r` */\n ) {\n position--\n }\n\n value = value.slice(0, position) + ' ' + value.slice(match.index + 1)\n }\n }\n\n return sequence + value + sequence\n}\n\n/**\n * @returns {string}\n */\nfunction inlineCodePeek() {\n return '`'\n}\n", "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {Link} from 'mdast'\n */\n\nimport {toString} from 'mdast-util-to-string'\n\n/**\n * @param {Link} node\n * @param {State} state\n * @returns {boolean}\n */\nexport function formatLinkAsAutolink(node, state) {\n const raw = toString(node)\n\n return Boolean(\n !state.options.resourceLink &&\n // If there\u2019s a url\u2026\n node.url &&\n // And there\u2019s a no title\u2026\n !node.title &&\n // And the content of `node` is a single text node\u2026\n node.children &&\n node.children.length === 1 &&\n node.children[0].type === 'text' &&\n // And if the url is the same as the content\u2026\n (raw === node.url || 'mailto:' + raw === node.url) &&\n // And that starts w/ a protocol\u2026\n /^[a-z][a-z+.-]+:/i.test(node.url) &&\n // And that doesn\u2019t contain ASCII control codes (character escapes and\n // references don\u2019t work), space, or angle brackets\u2026\n !/[\\0- <>\\u007F]/.test(node.url)\n )\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Link, Parents} from 'mdast'\n * @import {Exit} from '../types.js'\n */\n\nimport {checkQuote} from '../util/check-quote.js'\nimport {formatLinkAsAutolink} from '../util/format-link-as-autolink.js'\n\nlink.peek = linkPeek\n\n/**\n * @param {Link} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function link(node, _, state, info) {\n const quote = checkQuote(state)\n const suffix = quote === '\"' ? 'Quote' : 'Apostrophe'\n const tracker = state.createTracker(info)\n /** @type {Exit} */\n let exit\n /** @type {Exit} */\n let subexit\n\n if (formatLinkAsAutolink(node, state)) {\n // Hide the fact that we\u2019re in phrasing, because escapes don\u2019t work.\n const stack = state.stack\n state.stack = []\n exit = state.enter('autolink')\n let value = tracker.move('<')\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: '>',\n ...tracker.current()\n })\n )\n value += tracker.move('>')\n exit()\n state.stack = stack\n return value\n }\n\n exit = state.enter('link')\n subexit = state.enter('label')\n let value = tracker.move('[')\n value += tracker.move(\n state.containerPhrasing(node, {\n before: value,\n after: '](',\n ...tracker.current()\n })\n )\n value += tracker.move('](')\n subexit()\n\n if (\n // If there\u2019s no url but there is a title\u2026\n (!node.url && node.title) ||\n // If there are control characters or whitespace.\n /[\\0- \\u007F]/.test(node.url)\n ) {\n subexit = state.enter('destinationLiteral')\n value += tracker.move('<')\n value += tracker.move(\n state.safe(node.url, {before: value, after: '>', ...tracker.current()})\n )\n value += tracker.move('>')\n } else {\n // No whitespace, raw is prettier.\n subexit = state.enter('destinationRaw')\n value += tracker.move(\n state.safe(node.url, {\n before: value,\n after: node.title ? ' ' : ')',\n ...tracker.current()\n })\n )\n }\n\n subexit()\n\n if (node.title) {\n subexit = state.enter(`title${suffix}`)\n value += tracker.move(' ' + quote)\n value += tracker.move(\n state.safe(node.title, {\n before: value,\n after: quote,\n ...tracker.current()\n })\n )\n value += tracker.move(quote)\n subexit()\n }\n\n value += tracker.move(')')\n\n exit()\n return value\n}\n\n/**\n * @param {Link} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @returns {string}\n */\nfunction linkPeek(node, _, state) {\n return formatLinkAsAutolink(node, state) ? '<' : '['\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {LinkReference, Parents} from 'mdast'\n */\n\nlinkReference.peek = linkReferencePeek\n\n/**\n * @param {LinkReference} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function linkReference(node, _, state, info) {\n const type = node.referenceType\n const exit = state.enter('linkReference')\n let subexit = state.enter('label')\n const tracker = state.createTracker(info)\n let value = tracker.move('[')\n const text = state.containerPhrasing(node, {\n before: value,\n after: ']',\n ...tracker.current()\n })\n value += tracker.move(text + '][')\n\n subexit()\n // Hide the fact that we\u2019re in phrasing, because escapes don\u2019t work.\n const stack = state.stack\n state.stack = []\n subexit = state.enter('reference')\n // Note: for proper tracking, we should reset the output positions when we end\n // up making a `shortcut` reference, because then there is no brace output.\n // Practically, in that case, there is no content, so it doesn\u2019t matter that\n // we\u2019ve tracked one too many characters.\n const reference = state.safe(state.associationId(node), {\n before: value,\n after: ']',\n ...tracker.current()\n })\n subexit()\n state.stack = stack\n exit()\n\n if (type === 'full' || !text || text !== reference) {\n value += tracker.move(reference + ']')\n } else if (type === 'shortcut') {\n // Remove the unwanted `[`.\n value = value.slice(0, -1)\n } else {\n value += tracker.move(']')\n }\n\n return value\n}\n\n/**\n * @returns {string}\n */\nfunction linkReferencePeek() {\n return '['\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBullet(state) {\n const marker = state.options.bullet || '*'\n\n if (marker !== '*' && marker !== '+' && marker !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bullet`, expected `*`, `+`, or `-`'\n )\n }\n\n return marker\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\nimport {checkBullet} from './check-bullet.js'\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBulletOther(state) {\n const bullet = checkBullet(state)\n const bulletOther = state.options.bulletOther\n\n if (!bulletOther) {\n return bullet === '*' ? '-' : '*'\n }\n\n if (bulletOther !== '*' && bulletOther !== '+' && bulletOther !== '-') {\n throw new Error(\n 'Cannot serialize items with `' +\n bulletOther +\n '` for `options.bulletOther`, expected `*`, `+`, or `-`'\n )\n }\n\n if (bulletOther === bullet) {\n throw new Error(\n 'Expected `bullet` (`' +\n bullet +\n '`) and `bulletOther` (`' +\n bulletOther +\n '`) to be different'\n )\n }\n\n return bulletOther\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkBulletOrdered(state) {\n const marker = state.options.bulletOrdered || '.'\n\n if (marker !== '.' && marker !== ')') {\n throw new Error(\n 'Cannot serialize items with `' +\n marker +\n '` for `options.bulletOrdered`, expected `.` or `)`'\n )\n }\n\n return marker\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkRule(state) {\n const marker = state.options.rule || '*'\n\n if (marker !== '*' && marker !== '-' && marker !== '_') {\n throw new Error(\n 'Cannot serialize rules with `' +\n marker +\n '` for `options.rule`, expected `*`, `-`, or `_`'\n )\n }\n\n return marker\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {List, Parents} from 'mdast'\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkBulletOther} from '../util/check-bullet-other.js'\nimport {checkBulletOrdered} from '../util/check-bullet-ordered.js'\nimport {checkRule} from '../util/check-rule.js'\n\n/**\n * @param {List} node\n * @param {Parents | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function list(node, parent, state, info) {\n const exit = state.enter('list')\n const bulletCurrent = state.bulletCurrent\n /** @type {string} */\n let bullet = node.ordered ? checkBulletOrdered(state) : checkBullet(state)\n /** @type {string} */\n const bulletOther = node.ordered\n ? bullet === '.'\n ? ')'\n : '.'\n : checkBulletOther(state)\n let useDifferentMarker =\n parent && state.bulletLastUsed ? bullet === state.bulletLastUsed : false\n\n if (!node.ordered) {\n const firstListItem = node.children ? node.children[0] : undefined\n\n // If there\u2019s an empty first list item directly in two list items,\n // we have to use a different bullet:\n //\n // ```markdown\n // * - *\n // ```\n //\n // \u2026because otherwise it would become one big thematic break.\n if (\n // Bullet could be used as a thematic break marker:\n (bullet === '*' || bullet === '-') &&\n // Empty first list item:\n firstListItem &&\n (!firstListItem.children || !firstListItem.children[0]) &&\n // Directly in two other list items:\n state.stack[state.stack.length - 1] === 'list' &&\n state.stack[state.stack.length - 2] === 'listItem' &&\n state.stack[state.stack.length - 3] === 'list' &&\n state.stack[state.stack.length - 4] === 'listItem' &&\n // That are each the first child.\n state.indexStack[state.indexStack.length - 1] === 0 &&\n state.indexStack[state.indexStack.length - 2] === 0 &&\n state.indexStack[state.indexStack.length - 3] === 0\n ) {\n useDifferentMarker = true\n }\n\n // If there\u2019s a thematic break at the start of the first list item,\n // we have to use a different bullet:\n //\n // ```markdown\n // * ---\n // ```\n //\n // \u2026because otherwise it would become one big thematic break.\n if (checkRule(state) === bullet && firstListItem) {\n let index = -1\n\n while (++index < node.children.length) {\n const item = node.children[index]\n\n if (\n item &&\n item.type === 'listItem' &&\n item.children &&\n item.children[0] &&\n item.children[0].type === 'thematicBreak'\n ) {\n useDifferentMarker = true\n break\n }\n }\n }\n }\n\n if (useDifferentMarker) {\n bullet = bulletOther\n }\n\n state.bulletCurrent = bullet\n const value = state.containerFlow(node, info)\n state.bulletLastUsed = bullet\n state.bulletCurrent = bulletCurrent\n exit()\n return value\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkListItemIndent(state) {\n const style = state.options.listItemIndent || 'one'\n\n if (style !== 'tab' && style !== 'one' && style !== 'mixed') {\n throw new Error(\n 'Cannot serialize items with `' +\n style +\n '` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`'\n )\n }\n\n return style\n}\n", "/**\n * @import {Info, Map, State} from 'mdast-util-to-markdown'\n * @import {ListItem, Parents} from 'mdast'\n */\n\nimport {checkBullet} from '../util/check-bullet.js'\nimport {checkListItemIndent} from '../util/check-list-item-indent.js'\n\n/**\n * @param {ListItem} node\n * @param {Parents | undefined} parent\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function listItem(node, parent, state, info) {\n const listItemIndent = checkListItemIndent(state)\n let bullet = state.bulletCurrent || checkBullet(state)\n\n // Add the marker value for ordered lists.\n if (parent && parent.type === 'list' && parent.ordered) {\n bullet =\n (typeof parent.start === 'number' && parent.start > -1\n ? parent.start\n : 1) +\n (state.options.incrementListMarker === false\n ? 0\n : parent.children.indexOf(node)) +\n bullet\n }\n\n let size = bullet.length + 1\n\n if (\n listItemIndent === 'tab' ||\n (listItemIndent === 'mixed' &&\n ((parent && parent.type === 'list' && parent.spread) || node.spread))\n ) {\n size = Math.ceil(size / 4) * 4\n }\n\n const tracker = state.createTracker(info)\n tracker.move(bullet + ' '.repeat(size - bullet.length))\n tracker.shift(size)\n const exit = state.enter('listItem')\n const value = state.indentLines(\n state.containerFlow(node, tracker.current()),\n map\n )\n exit()\n\n return value\n\n /** @type {Map} */\n function map(line, index, blank) {\n if (index) {\n return (blank ? '' : ' '.repeat(size)) + line\n }\n\n return (blank ? bullet : bullet + ' '.repeat(size - bullet.length)) + line\n }\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Paragraph, Parents} from 'mdast'\n */\n\n/**\n * @param {Paragraph} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function paragraph(node, _, state, info) {\n const exit = state.enter('paragraph')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, info)\n subexit()\n exit()\n return value\n}\n", "/**\n * @typedef {import('mdast').Html} Html\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n */\n\nimport {convert} from 'unist-util-is'\n\n/**\n * Check if the given value is *phrasing content*.\n *\n * > \uD83D\uDC49 **Note**: Excludes `html`, which can be both phrasing or flow.\n *\n * @param node\n * Thing to check, typically `Node`.\n * @returns\n * Whether `value` is phrasing content.\n */\n\nexport const phrasing =\n /** @type {(node?: unknown) => node is Exclude} */\n (\n convert([\n 'break',\n 'delete',\n 'emphasis',\n // To do: next major: removed since footnotes were added to GFM.\n 'footnote',\n 'footnoteReference',\n 'image',\n 'imageReference',\n 'inlineCode',\n // Enabled by `mdast-util-math`:\n 'inlineMath',\n 'link',\n 'linkReference',\n // Enabled by `mdast-util-mdx`:\n 'mdxJsxTextElement',\n // Enabled by `mdast-util-mdx`:\n 'mdxTextExpression',\n 'strong',\n 'text',\n // Enabled by `mdast-util-directive`:\n 'textDirective'\n ])\n )\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Parents, Root} from 'mdast'\n */\n\nimport {phrasing} from 'mdast-util-phrasing'\n\n/**\n * @param {Root} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function root(node, _, state, info) {\n // Note: `html` nodes are ambiguous.\n const hasPhrasing = node.children.some(function (d) {\n return phrasing(d)\n })\n\n const container = hasPhrasing ? state.containerPhrasing : state.containerFlow\n return container.call(state, node, info)\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkStrong(state) {\n const marker = state.options.strong || '*'\n\n if (marker !== '*' && marker !== '_') {\n throw new Error(\n 'Cannot serialize strong with `' +\n marker +\n '` for `options.strong`, expected `*`, or `_`'\n )\n }\n\n return marker\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Parents, Strong} from 'mdast'\n */\n\nimport {checkStrong} from '../util/check-strong.js'\nimport {encodeCharacterReference} from '../util/encode-character-reference.js'\nimport {encodeInfo} from '../util/encode-info.js'\n\nstrong.peek = strongPeek\n\n/**\n * @param {Strong} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function strong(node, _, state, info) {\n const marker = checkStrong(state)\n const exit = state.enter('strong')\n const tracker = state.createTracker(info)\n const before = tracker.move(marker + marker)\n\n let between = tracker.move(\n state.containerPhrasing(node, {\n after: marker,\n before,\n ...tracker.current()\n })\n )\n const betweenHead = between.charCodeAt(0)\n const open = encodeInfo(\n info.before.charCodeAt(info.before.length - 1),\n betweenHead,\n marker\n )\n\n if (open.inside) {\n between = encodeCharacterReference(betweenHead) + between.slice(1)\n }\n\n const betweenTail = between.charCodeAt(between.length - 1)\n const close = encodeInfo(info.after.charCodeAt(0), betweenTail, marker)\n\n if (close.inside) {\n between = between.slice(0, -1) + encodeCharacterReference(betweenTail)\n }\n\n const after = tracker.move(marker + marker)\n\n exit()\n\n state.attentionEncodeSurroundingInfo = {\n after: close.outside,\n before: open.outside\n }\n return before + between + after\n}\n\n/**\n * @param {Strong} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nfunction strongPeek(_, _1, state) {\n return state.options.strong || '*'\n}\n", "/**\n * @import {Info, State} from 'mdast-util-to-markdown'\n * @import {Parents, Text} from 'mdast'\n */\n\n/**\n * @param {Text} node\n * @param {Parents | undefined} _\n * @param {State} state\n * @param {Info} info\n * @returns {string}\n */\nexport function text(node, _, state, info) {\n return state.safe(node.value, info)\n}\n", "/**\n * @import {Options, State} from 'mdast-util-to-markdown'\n */\n\n/**\n * @param {State} state\n * @returns {Exclude}\n */\nexport function checkRuleRepetition(state) {\n const repetition = state.options.ruleRepetition || 3\n\n if (repetition < 3) {\n throw new Error(\n 'Cannot serialize rules with repetition `' +\n repetition +\n '` for `options.ruleRepetition`, expected `3` or more'\n )\n }\n\n return repetition\n}\n", "/**\n * @import {State} from 'mdast-util-to-markdown'\n * @import {Parents, ThematicBreak} from 'mdast'\n */\n\nimport {checkRuleRepetition} from '../util/check-rule-repetition.js'\nimport {checkRule} from '../util/check-rule.js'\n\n/**\n * @param {ThematicBreak} _\n * @param {Parents | undefined} _1\n * @param {State} state\n * @returns {string}\n */\nexport function thematicBreak(_, _1, state) {\n const value = (\n checkRule(state) + (state.options.ruleSpaces ? ' ' : '')\n ).repeat(checkRuleRepetition(state))\n\n return state.options.ruleSpaces ? value.slice(0, -1) : value\n}\n", "import {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {definition} from './definition.js'\nimport {emphasis} from './emphasis.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {image} from './image.js'\nimport {imageReference} from './image-reference.js'\nimport {inlineCode} from './inline-code.js'\nimport {link} from './link.js'\nimport {linkReference} from './link-reference.js'\nimport {list} from './list.js'\nimport {listItem} from './list-item.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default (CommonMark) handlers.\n */\nexport const handle = {\n blockquote,\n break: hardBreak,\n code,\n definition,\n emphasis,\n hardBreak,\n heading,\n html,\n image,\n imageReference,\n inlineCode,\n link,\n linkReference,\n list,\n listItem,\n paragraph,\n root,\n strong,\n text,\n thematicBreak\n}\n", "/**\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Table} Table\n * @typedef {import('mdast').TableCell} TableCell\n * @typedef {import('mdast').TableRow} TableRow\n *\n * @typedef {import('markdown-table').Options} MarkdownTableOptions\n *\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n *\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').State} State\n * @typedef {import('mdast-util-to-markdown').Info} Info\n */\n\n/**\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [tableCellPadding=true]\n * Whether to add a space of padding between delimiters and cells (default:\n * `true`).\n * @property {boolean | null | undefined} [tablePipeAlign=true]\n * Whether to align the delimiters (default: `true`).\n * @property {MarkdownTableOptions['stringLength'] | null | undefined} [stringLength]\n * Function to detect the length of table cell content, used when aligning\n * the delimiters between cells (optional).\n */\n\nimport {ok as assert} from 'devlop'\nimport {markdownTable} from 'markdown-table'\nimport {defaultHandlers} from 'mdast-util-to-markdown'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM tables in\n * markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM tables.\n */\nexport function gfmTableFromMarkdown() {\n return {\n enter: {\n table: enterTable,\n tableData: enterCell,\n tableHeader: enterCell,\n tableRow: enterRow\n },\n exit: {\n codeText: exitCodeText,\n table: exitTable,\n tableData: exit,\n tableHeader: exit,\n tableRow: exit\n }\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterTable(token) {\n const align = token._align\n assert(align, 'expected `_align` on table')\n this.enter(\n {\n type: 'table',\n align: align.map(function (d) {\n return d === 'none' ? null : d\n }),\n children: []\n },\n token\n )\n this.data.inTable = true\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitTable(token) {\n this.exit(token)\n this.data.inTable = undefined\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterRow(token) {\n this.enter({type: 'tableRow', children: []}, token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exit(token) {\n this.exit(token)\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction enterCell(token) {\n this.enter({type: 'tableCell', children: []}, token)\n}\n\n// Overwrite the default code text data handler to unescape escaped pipes when\n// they are in tables.\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitCodeText(token) {\n let value = this.resume()\n\n if (this.data.inTable) {\n value = value.replace(/\\\\([\\\\|])/g, replace)\n }\n\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'inlineCode')\n node.value = value\n this.exit(token)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @returns {string}\n */\nfunction replace($0, $1) {\n // Pipes work, backslashes don\u2019t (but can\u2019t escape pipes).\n return $1 === '|' ? $1 : $0\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM tables in\n * markdown.\n *\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM tables.\n */\nexport function gfmTableToMarkdown(options) {\n const settings = options || {}\n const padding = settings.tableCellPadding\n const alignDelimiters = settings.tablePipeAlign\n const stringLength = settings.stringLength\n const around = padding ? ' ' : '|'\n\n return {\n unsafe: [\n {character: '\\r', inConstruct: 'tableCell'},\n {character: '\\n', inConstruct: 'tableCell'},\n // A pipe, when followed by a tab or space (padding), or a dash or colon\n // (unpadded delimiter row), could result in a table.\n {atBreak: true, character: '|', after: '[\\t :-]'},\n // A pipe in a cell must be encoded.\n {character: '|', inConstruct: 'tableCell'},\n // A colon must be followed by a dash, in which case it could start a\n // delimiter row.\n {atBreak: true, character: ':', after: '-'},\n // A delimiter row can also start with a dash, when followed by more\n // dashes, a colon, or a pipe.\n // This is a stricter version than the built in check for lists, thematic\n // breaks, and setex heading underlines though:\n // \n {atBreak: true, character: '-', after: '[:|-]'}\n ],\n handlers: {\n inlineCode: inlineCodeWithTable,\n table: handleTable,\n tableCell: handleTableCell,\n tableRow: handleTableRow\n }\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {Table} node\n */\n function handleTable(node, _, state, info) {\n return serializeData(handleTableAsData(node, state, info), node.align)\n }\n\n /**\n * This function isn\u2019t really used normally, because we handle rows at the\n * table level.\n * But, if someone passes in a table row, this ensures we make somewhat sense.\n *\n * @type {ToMarkdownHandle}\n * @param {TableRow} node\n */\n function handleTableRow(node, _, state, info) {\n const row = handleTableRowAsData(node, state, info)\n const value = serializeData([row])\n // `markdown-table` will always add an align row\n return value.slice(0, value.indexOf('\\n'))\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {TableCell} node\n */\n function handleTableCell(node, _, state, info) {\n const exit = state.enter('tableCell')\n const subexit = state.enter('phrasing')\n const value = state.containerPhrasing(node, {\n ...info,\n before: around,\n after: around\n })\n subexit()\n exit()\n return value\n }\n\n /**\n * @param {Array>} matrix\n * @param {Array | null | undefined} [align]\n */\n function serializeData(matrix, align) {\n return markdownTable(matrix, {\n align,\n // @ts-expect-error: `markdown-table` types should support `null`.\n alignDelimiters,\n // @ts-expect-error: `markdown-table` types should support `null`.\n padding,\n // @ts-expect-error: `markdown-table` types should support `null`.\n stringLength\n })\n }\n\n /**\n * @param {Table} node\n * @param {State} state\n * @param {Info} info\n */\n function handleTableAsData(node, state, info) {\n const children = node.children\n let index = -1\n /** @type {Array>} */\n const result = []\n const subexit = state.enter('table')\n\n while (++index < children.length) {\n result[index] = handleTableRowAsData(children[index], state, info)\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @param {TableRow} node\n * @param {State} state\n * @param {Info} info\n */\n function handleTableRowAsData(node, state, info) {\n const children = node.children\n let index = -1\n /** @type {Array} */\n const result = []\n const subexit = state.enter('tableRow')\n\n while (++index < children.length) {\n // Note: the positional info as used here is incorrect.\n // Making it correct would be impossible due to aligning cells?\n // And it would need copy/pasting `markdown-table` into this project.\n result[index] = handleTableCell(children[index], node, state, info)\n }\n\n subexit()\n\n return result\n }\n\n /**\n * @type {ToMarkdownHandle}\n * @param {InlineCode} node\n */\n function inlineCodeWithTable(node, parent, state) {\n let value = defaultHandlers.inlineCode(node, parent, state)\n\n if (state.stack.includes('tableCell')) {\n value = value.replace(/\\|/g, '\\\\$&')\n }\n\n return value\n }\n}\n", "/**\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast-util-from-markdown').CompileContext} CompileContext\n * @typedef {import('mdast-util-from-markdown').Extension} FromMarkdownExtension\n * @typedef {import('mdast-util-from-markdown').Handle} FromMarkdownHandle\n * @typedef {import('mdast-util-to-markdown').Options} ToMarkdownExtension\n * @typedef {import('mdast-util-to-markdown').Handle} ToMarkdownHandle\n */\n\nimport {ok as assert} from 'devlop'\nimport {defaultHandlers} from 'mdast-util-to-markdown'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM task\n * list items in markdown.\n *\n * @returns {FromMarkdownExtension}\n * Extension for `mdast-util-from-markdown` to enable GFM task list items.\n */\nexport function gfmTaskListItemFromMarkdown() {\n return {\n exit: {\n taskListCheckValueChecked: exitCheck,\n taskListCheckValueUnchecked: exitCheck,\n paragraph: exitParagraphWithTaskListItem\n }\n }\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM task list\n * items in markdown.\n *\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM task list items.\n */\nexport function gfmTaskListItemToMarkdown() {\n return {\n unsafe: [{atBreak: true, character: '-', after: '[:|-]'}],\n handlers: {listItem: listItemWithTaskListItem}\n }\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitCheck(token) {\n // We\u2019re always in a paragraph, in a list item.\n const node = this.stack[this.stack.length - 2]\n assert(node.type === 'listItem')\n node.checked = token.type === 'taskListCheckValueChecked'\n}\n\n/**\n * @this {CompileContext}\n * @type {FromMarkdownHandle}\n */\nfunction exitParagraphWithTaskListItem(token) {\n const parent = this.stack[this.stack.length - 2]\n\n if (\n parent &&\n parent.type === 'listItem' &&\n typeof parent.checked === 'boolean'\n ) {\n const node = this.stack[this.stack.length - 1]\n assert(node.type === 'paragraph')\n const head = node.children[0]\n\n if (head && head.type === 'text') {\n const siblings = parent.children\n let index = -1\n /** @type {Paragraph | undefined} */\n let firstParaghraph\n\n while (++index < siblings.length) {\n const sibling = siblings[index]\n if (sibling.type === 'paragraph') {\n firstParaghraph = sibling\n break\n }\n }\n\n if (firstParaghraph === node) {\n // Must start with a space or a tab.\n head.value = head.value.slice(1)\n\n if (head.value.length === 0) {\n node.children.shift()\n } else if (\n node.position &&\n head.position &&\n typeof head.position.start.offset === 'number'\n ) {\n head.position.start.column++\n head.position.start.offset++\n node.position.start = Object.assign({}, head.position.start)\n }\n }\n }\n }\n\n this.exit(token)\n}\n\n/**\n * @type {ToMarkdownHandle}\n * @param {ListItem} node\n */\nfunction listItemWithTaskListItem(node, parent, state, info) {\n const head = node.children[0]\n const checkable =\n typeof node.checked === 'boolean' && head && head.type === 'paragraph'\n const checkbox = '[' + (node.checked ? 'x' : ' ') + '] '\n const tracker = state.createTracker(info)\n\n if (checkable) {\n tracker.move(checkbox)\n }\n\n let value = defaultHandlers.listItem(node, parent, state, {\n ...info,\n ...tracker.current()\n })\n\n if (checkable) {\n value = value.replace(/^(?:[*+-]|\\d+\\.)([\\r\\n]| {1,3})/, check)\n }\n\n return value\n\n /**\n * @param {string} $0\n * @returns {string}\n */\n function check($0) {\n return $0 + checkbox\n }\n}\n", "/**\n * @import {Extension as FromMarkdownExtension} from 'mdast-util-from-markdown'\n * @import {Options} from 'mdast-util-gfm'\n * @import {Options as ToMarkdownExtension} from 'mdast-util-to-markdown'\n */\n\nimport {\n gfmAutolinkLiteralFromMarkdown,\n gfmAutolinkLiteralToMarkdown\n} from 'mdast-util-gfm-autolink-literal'\nimport {\n gfmFootnoteFromMarkdown,\n gfmFootnoteToMarkdown\n} from 'mdast-util-gfm-footnote'\nimport {\n gfmStrikethroughFromMarkdown,\n gfmStrikethroughToMarkdown\n} from 'mdast-util-gfm-strikethrough'\nimport {gfmTableFromMarkdown, gfmTableToMarkdown} from 'mdast-util-gfm-table'\nimport {\n gfmTaskListItemFromMarkdown,\n gfmTaskListItemToMarkdown\n} from 'mdast-util-gfm-task-list-item'\n\n/**\n * Create an extension for `mdast-util-from-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @returns {Array}\n * Extension for `mdast-util-from-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmFromMarkdown() {\n return [\n gfmAutolinkLiteralFromMarkdown(),\n gfmFootnoteFromMarkdown(),\n gfmStrikethroughFromMarkdown(),\n gfmTableFromMarkdown(),\n gfmTaskListItemFromMarkdown()\n ]\n}\n\n/**\n * Create an extension for `mdast-util-to-markdown` to enable GFM (autolink\n * literals, footnotes, strikethrough, tables, tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {ToMarkdownExtension}\n * Extension for `mdast-util-to-markdown` to enable GFM (autolink literals,\n * footnotes, strikethrough, tables, tasklists).\n */\nexport function gfmToMarkdown(options) {\n return {\n extensions: [\n gfmAutolinkLiteralToMarkdown(),\n gfmFootnoteToMarkdown(options),\n gfmStrikethroughToMarkdown(),\n gfmTableToMarkdown(options),\n gfmTaskListItemToMarkdown()\n ]\n }\n}\n", "/**\n * @import {Code, ConstructRecord, Event, Extension, Previous, State, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { asciiAlpha, asciiAlphanumeric, asciiControl, markdownLineEndingOrSpace, unicodePunctuation, unicodeWhitespace } from 'micromark-util-character';\nconst wwwPrefix = {\n tokenize: tokenizeWwwPrefix,\n partial: true\n};\nconst domain = {\n tokenize: tokenizeDomain,\n partial: true\n};\nconst path = {\n tokenize: tokenizePath,\n partial: true\n};\nconst trail = {\n tokenize: tokenizeTrail,\n partial: true\n};\nconst emailDomainDotTrail = {\n tokenize: tokenizeEmailDomainDotTrail,\n partial: true\n};\nconst wwwAutolink = {\n name: 'wwwAutolink',\n tokenize: tokenizeWwwAutolink,\n previous: previousWww\n};\nconst protocolAutolink = {\n name: 'protocolAutolink',\n tokenize: tokenizeProtocolAutolink,\n previous: previousProtocol\n};\nconst emailAutolink = {\n name: 'emailAutolink',\n tokenize: tokenizeEmailAutolink,\n previous: previousEmail\n};\n\n/** @type {ConstructRecord} */\nconst text = {};\n\n/**\n * Create an extension for `micromark` to support GitHub autolink literal\n * syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * autolink literal syntax.\n */\nexport function gfmAutolinkLiteral() {\n return {\n text\n };\n}\n\n/** @type {Code} */\nlet code = 48;\n\n// Add alphanumerics.\nwhile (code < 123) {\n text[code] = emailAutolink;\n code++;\n if (code === 58) code = 65;else if (code === 91) code = 97;\n}\ntext[43] = emailAutolink;\ntext[45] = emailAutolink;\ntext[46] = emailAutolink;\ntext[95] = emailAutolink;\ntext[72] = [emailAutolink, protocolAutolink];\ntext[104] = [emailAutolink, protocolAutolink];\ntext[87] = [emailAutolink, wwwAutolink];\ntext[119] = [emailAutolink, wwwAutolink];\n\n// To do: perform email autolink literals on events, afterwards.\n// That\u2019s where `markdown-rs` and `cmark-gfm` perform it.\n// It should look for `@`, then for atext backwards, and then for a label\n// forwards.\n// To do: `mailto:`, `xmpp:` protocol as prefix.\n\n/**\n * Email autolink literal.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^^^^^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeEmailAutolink(effects, ok, nok) {\n const self = this;\n /** @type {boolean | undefined} */\n let dot;\n /** @type {boolean} */\n let data;\n return start;\n\n /**\n * Start of email autolink literal.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (!gfmAtext(code) || !previousEmail.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code);\n }\n effects.enter('literalAutolink');\n effects.enter('literalAutolinkEmail');\n return atext(code);\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function atext(code) {\n if (gfmAtext(code)) {\n effects.consume(code);\n return atext;\n }\n if (code === 64) {\n effects.consume(code);\n return emailDomain;\n }\n return nok(code);\n }\n\n /**\n * In email domain.\n *\n * The reference code is a bit overly complex as it handles the `@`, of which\n * there may be just one.\n * Source: \n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomain(code) {\n // Dot followed by alphanumerical (not `-` or `_`).\n if (code === 46) {\n return effects.check(emailDomainDotTrail, emailDomainAfter, emailDomainDot)(code);\n }\n\n // Alphanumerical, `-`, and `_`.\n if (code === 45 || code === 95 || asciiAlphanumeric(code)) {\n data = true;\n effects.consume(code);\n return emailDomain;\n }\n\n // To do: `/` if xmpp.\n\n // Note: normally we\u2019d truncate trailing punctuation from the link.\n // However, email autolink literals cannot contain any of those markers,\n // except for `.`, but that can only occur if it isn\u2019t trailing.\n // So we can ignore truncating!\n return emailDomainAfter(code);\n }\n\n /**\n * In email domain, on dot that is not a trail.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomainDot(code) {\n effects.consume(code);\n dot = true;\n return emailDomain;\n }\n\n /**\n * After email domain.\n *\n * ```markdown\n * > | a contact@example.org b\n * ^\n * ```\n *\n * @type {State}\n */\n function emailDomainAfter(code) {\n // Domain must not be empty, must include a dot, and must end in alphabetical.\n // Source: .\n if (data && dot && asciiAlpha(self.previous)) {\n effects.exit('literalAutolinkEmail');\n effects.exit('literalAutolink');\n return ok(code);\n }\n return nok(code);\n }\n}\n\n/**\n * `www` autolink literal.\n *\n * ```markdown\n * > | a www.example.org b\n * ^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeWwwAutolink(effects, ok, nok) {\n const self = this;\n return wwwStart;\n\n /**\n * Start of www autolink literal.\n *\n * ```markdown\n * > | www.example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwStart(code) {\n if (code !== 87 && code !== 119 || !previousWww.call(self, self.previous) || previousUnbalanced(self.events)) {\n return nok(code);\n }\n effects.enter('literalAutolink');\n effects.enter('literalAutolinkWww');\n // Note: we *check*, so we can discard the `www.` we parsed.\n // If it worked, we consider it as a part of the domain.\n return effects.check(wwwPrefix, effects.attempt(domain, effects.attempt(path, wwwAfter), nok), nok)(code);\n }\n\n /**\n * After a www autolink literal.\n *\n * ```markdown\n * > | www.example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwAfter(code) {\n effects.exit('literalAutolinkWww');\n effects.exit('literalAutolink');\n return ok(code);\n }\n}\n\n/**\n * Protocol autolink literal.\n *\n * ```markdown\n * > | a https://example.org b\n * ^^^^^^^^^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeProtocolAutolink(effects, ok, nok) {\n const self = this;\n let buffer = '';\n let seen = false;\n return protocolStart;\n\n /**\n * Start of protocol autolink literal.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function protocolStart(code) {\n if ((code === 72 || code === 104) && previousProtocol.call(self, self.previous) && !previousUnbalanced(self.events)) {\n effects.enter('literalAutolink');\n effects.enter('literalAutolinkHttp');\n buffer += String.fromCodePoint(code);\n effects.consume(code);\n return protocolPrefixInside;\n }\n return nok(code);\n }\n\n /**\n * In protocol.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^^^^^\n * ```\n *\n * @type {State}\n */\n function protocolPrefixInside(code) {\n // `5` is size of `https`\n if (asciiAlpha(code) && buffer.length < 5) {\n // @ts-expect-error: definitely number.\n buffer += String.fromCodePoint(code);\n effects.consume(code);\n return protocolPrefixInside;\n }\n if (code === 58) {\n const protocol = buffer.toLowerCase();\n if (protocol === 'http' || protocol === 'https') {\n effects.consume(code);\n return protocolSlashesInside;\n }\n }\n return nok(code);\n }\n\n /**\n * In slashes.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^^\n * ```\n *\n * @type {State}\n */\n function protocolSlashesInside(code) {\n if (code === 47) {\n effects.consume(code);\n if (seen) {\n return afterProtocol;\n }\n seen = true;\n return protocolSlashesInside;\n }\n return nok(code);\n }\n\n /**\n * After protocol, before domain.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function afterProtocol(code) {\n // To do: this is different from `markdown-rs`:\n // https://github.com/wooorm/markdown-rs/blob/b3a921c761309ae00a51fe348d8a43adbc54b518/src/construct/gfm_autolink_literal.rs#L172-L182\n return code === null || asciiControl(code) || markdownLineEndingOrSpace(code) || unicodeWhitespace(code) || unicodePunctuation(code) ? nok(code) : effects.attempt(domain, effects.attempt(path, protocolAfter), nok)(code);\n }\n\n /**\n * After a protocol autolink literal.\n *\n * ```markdown\n * > | https://example.com/a?b#c\n * ^\n * ```\n *\n * @type {State}\n */\n function protocolAfter(code) {\n effects.exit('literalAutolinkHttp');\n effects.exit('literalAutolink');\n return ok(code);\n }\n}\n\n/**\n * `www` prefix.\n *\n * ```markdown\n * > | a www.example.org b\n * ^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeWwwPrefix(effects, ok, nok) {\n let size = 0;\n return wwwPrefixInside;\n\n /**\n * In www prefix.\n *\n * ```markdown\n * > | www.example.com\n * ^^^^\n * ```\n *\n * @type {State}\n */\n function wwwPrefixInside(code) {\n if ((code === 87 || code === 119) && size < 3) {\n size++;\n effects.consume(code);\n return wwwPrefixInside;\n }\n if (code === 46 && size === 3) {\n effects.consume(code);\n return wwwPrefixAfter;\n }\n return nok(code);\n }\n\n /**\n * After www prefix.\n *\n * ```markdown\n * > | www.example.com\n * ^\n * ```\n *\n * @type {State}\n */\n function wwwPrefixAfter(code) {\n // If there is *anything*, we can link.\n return code === null ? nok(code) : ok(code);\n }\n}\n\n/**\n * Domain.\n *\n * ```markdown\n * > | a https://example.org b\n * ^^^^^^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDomain(effects, ok, nok) {\n /** @type {boolean | undefined} */\n let underscoreInLastSegment;\n /** @type {boolean | undefined} */\n let underscoreInLastLastSegment;\n /** @type {boolean | undefined} */\n let seen;\n return domainInside;\n\n /**\n * In domain.\n *\n * ```markdown\n * > | https://example.com/a\n * ^^^^^^^^^^^\n * ```\n *\n * @type {State}\n */\n function domainInside(code) {\n // Check whether this marker, which is a trailing punctuation\n // marker, optionally followed by more trailing markers, and then\n // followed by an end.\n if (code === 46 || code === 95) {\n return effects.check(trail, domainAfter, domainAtPunctuation)(code);\n }\n\n // GH documents that only alphanumerics (other than `-`, `.`, and `_`) can\n // occur, which sounds like ASCII only, but they also support `www.\u9EDE\u770B.com`,\n // so that\u2019s Unicode.\n // Instead of some new production for Unicode alphanumerics, markdown\n // already has that for Unicode punctuation and whitespace, so use those.\n // Source: .\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code) || code !== 45 && unicodePunctuation(code)) {\n return domainAfter(code);\n }\n seen = true;\n effects.consume(code);\n return domainInside;\n }\n\n /**\n * In domain, at potential trailing punctuation, that was not trailing.\n *\n * ```markdown\n * > | https://example.com\n * ^\n * ```\n *\n * @type {State}\n */\n function domainAtPunctuation(code) {\n // There is an underscore in the last segment of the domain\n if (code === 95) {\n underscoreInLastSegment = true;\n }\n // Otherwise, it\u2019s a `.`: save the last segment underscore in the\n // penultimate segment slot.\n else {\n underscoreInLastLastSegment = underscoreInLastSegment;\n underscoreInLastSegment = undefined;\n }\n effects.consume(code);\n return domainInside;\n }\n\n /**\n * After domain.\n *\n * ```markdown\n * > | https://example.com/a\n * ^\n * ```\n *\n * @type {State} */\n function domainAfter(code) {\n // Note: that\u2019s GH says a dot is needed, but it\u2019s not true:\n // \n if (underscoreInLastLastSegment || underscoreInLastSegment || !seen) {\n return nok(code);\n }\n return ok(code);\n }\n}\n\n/**\n * Path.\n *\n * ```markdown\n * > | a https://example.org/stuff b\n * ^^^^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePath(effects, ok) {\n let sizeOpen = 0;\n let sizeClose = 0;\n return pathInside;\n\n /**\n * In path.\n *\n * ```markdown\n * > | https://example.com/a\n * ^^\n * ```\n *\n * @type {State}\n */\n function pathInside(code) {\n if (code === 40) {\n sizeOpen++;\n effects.consume(code);\n return pathInside;\n }\n\n // To do: `markdown-rs` also needs this.\n // If this is a paren, and there are less closings than openings,\n // we don\u2019t check for a trail.\n if (code === 41 && sizeClose < sizeOpen) {\n return pathAtPunctuation(code);\n }\n\n // Check whether this trailing punctuation marker is optionally\n // followed by more trailing markers, and then followed\n // by an end.\n if (code === 33 || code === 34 || code === 38 || code === 39 || code === 41 || code === 42 || code === 44 || code === 46 || code === 58 || code === 59 || code === 60 || code === 63 || code === 93 || code === 95 || code === 126) {\n return effects.check(trail, ok, pathAtPunctuation)(code);\n }\n if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return ok(code);\n }\n effects.consume(code);\n return pathInside;\n }\n\n /**\n * In path, at potential trailing punctuation, that was not trailing.\n *\n * ```markdown\n * > | https://example.com/a\"b\n * ^\n * ```\n *\n * @type {State}\n */\n function pathAtPunctuation(code) {\n // Count closing parens.\n if (code === 41) {\n sizeClose++;\n }\n effects.consume(code);\n return pathInside;\n }\n}\n\n/**\n * Trail.\n *\n * This calls `ok` if this *is* the trail, followed by an end, which means\n * the entire trail is not part of the link.\n * It calls `nok` if this *is* part of the link.\n *\n * ```markdown\n * > | https://example.com\").\n * ^^^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTrail(effects, ok, nok) {\n return trail;\n\n /**\n * In trail of domain or path.\n *\n * ```markdown\n * > | https://example.com\").\n * ^\n * ```\n *\n * @type {State}\n */\n function trail(code) {\n // Regular trailing punctuation.\n if (code === 33 || code === 34 || code === 39 || code === 41 || code === 42 || code === 44 || code === 46 || code === 58 || code === 59 || code === 63 || code === 95 || code === 126) {\n effects.consume(code);\n return trail;\n }\n\n // `&` followed by one or more alphabeticals and then a `;`, is\n // as a whole considered as trailing punctuation.\n // In all other cases, it is considered as continuation of the URL.\n if (code === 38) {\n effects.consume(code);\n return trailCharacterReferenceStart;\n }\n\n // Needed because we allow literals after `[`, as we fix:\n // .\n // Check that it is not followed by `(` or `[`.\n if (code === 93) {\n effects.consume(code);\n return trailBracketAfter;\n }\n if (\n // `<` is an end.\n code === 60 ||\n // So is whitespace.\n code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return ok(code);\n }\n return nok(code);\n }\n\n /**\n * In trail, after `]`.\n *\n * > \uD83D\uDC49 **Note**: this deviates from `cmark-gfm` to fix a bug.\n * > See end of for more.\n *\n * ```markdown\n * > | https://example.com](\n * ^\n * ```\n *\n * @type {State}\n */\n function trailBracketAfter(code) {\n // Whitespace or something that could start a resource or reference is the end.\n // Switch back to trail otherwise.\n if (code === null || code === 40 || code === 91 || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) {\n return ok(code);\n }\n return trail(code);\n }\n\n /**\n * In character-reference like trail, after `&`.\n *\n * ```markdown\n * > | https://example.com&).\n * ^\n * ```\n *\n * @type {State}\n */\n function trailCharacterReferenceStart(code) {\n // When non-alpha, it\u2019s not a trail.\n return asciiAlpha(code) ? trailCharacterReferenceInside(code) : nok(code);\n }\n\n /**\n * In character-reference like trail.\n *\n * ```markdown\n * > | https://example.com&).\n * ^\n * ```\n *\n * @type {State}\n */\n function trailCharacterReferenceInside(code) {\n // Switch back to trail if this is well-formed.\n if (code === 59) {\n effects.consume(code);\n return trail;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return trailCharacterReferenceInside;\n }\n\n // It\u2019s not a trail.\n return nok(code);\n }\n}\n\n/**\n * Dot in email domain trail.\n *\n * This calls `ok` if this *is* the trail, followed by an end, which means\n * the trail is not part of the link.\n * It calls `nok` if this *is* part of the link.\n *\n * ```markdown\n * > | contact@example.org.\n * ^\n * ```\n *\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeEmailDomainDotTrail(effects, ok, nok) {\n return start;\n\n /**\n * Dot.\n *\n * ```markdown\n * > | contact@example.org.\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Must be dot.\n effects.consume(code);\n return after;\n }\n\n /**\n * After dot.\n *\n * ```markdown\n * > | contact@example.org.\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Not a trail if alphanumeric.\n return asciiAlphanumeric(code) ? nok(code) : ok(code);\n }\n}\n\n/**\n * See:\n * .\n *\n * @type {Previous}\n */\nfunction previousWww(code) {\n return code === null || code === 40 || code === 42 || code === 95 || code === 91 || code === 93 || code === 126 || markdownLineEndingOrSpace(code);\n}\n\n/**\n * See:\n * .\n *\n * @type {Previous}\n */\nfunction previousProtocol(code) {\n return !asciiAlpha(code);\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previousEmail(code) {\n // Do not allow a slash \u201Cinside\u201D atext.\n // The reference code is a bit weird, but that\u2019s what it results in.\n // Source: .\n // Other than slash, every preceding character is allowed.\n return !(code === 47 || gfmAtext(code));\n}\n\n/**\n * @param {Code} code\n * @returns {boolean}\n */\nfunction gfmAtext(code) {\n return code === 43 || code === 45 || code === 46 || code === 95 || asciiAlphanumeric(code);\n}\n\n/**\n * @param {Array} events\n * @returns {boolean}\n */\nfunction previousUnbalanced(events) {\n let index = events.length;\n let result = false;\n while (index--) {\n const token = events[index][1];\n if ((token.type === 'labelLink' || token.type === 'labelImage') && !token._balanced) {\n result = true;\n break;\n }\n\n // If we\u2019ve seen this token, and it was marked as not having any unbalanced\n // bracket before it, we can exit.\n if (token._gfmAutolinkLiteralWalkedInto) {\n result = false;\n break;\n }\n }\n if (events.length > 0 && !result) {\n // Mark the last token as \u201Cwalked into\u201D w/o finding\n // anything.\n events[events.length - 1][1]._gfmAutolinkLiteralWalkedInto = true;\n }\n return result;\n}", "/**\n * @import {Event, Exiter, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { blankLine } from 'micromark-core-commonmark';\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nconst indent = {\n tokenize: tokenizeIndent,\n partial: true\n};\n\n// To do: micromark should support a `_hiddenGfmFootnoteSupport`, which only\n// affects label start (image).\n// That will let us drop `tokenizePotentialGfmFootnote*`.\n// It currently has a `_hiddenFootnoteSupport`, which affects that and more.\n// That can be removed when `micromark-extension-footnote` is archived.\n\n/**\n * Create an extension for `micromark` to enable GFM footnote syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to\n * enable GFM footnote syntax.\n */\nexport function gfmFootnote() {\n /** @type {Extension} */\n return {\n document: {\n [91]: {\n name: 'gfmFootnoteDefinition',\n tokenize: tokenizeDefinitionStart,\n continuation: {\n tokenize: tokenizeDefinitionContinuation\n },\n exit: gfmFootnoteDefinitionEnd\n }\n },\n text: {\n [91]: {\n name: 'gfmFootnoteCall',\n tokenize: tokenizeGfmFootnoteCall\n },\n [93]: {\n name: 'gfmPotentialFootnoteCall',\n add: 'after',\n tokenize: tokenizePotentialGfmFootnoteCall,\n resolveTo: resolveToPotentialGfmFootnoteCall\n }\n }\n };\n}\n\n// To do: remove after micromark update.\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizePotentialGfmFootnoteCall(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n /** @type {Token} */\n let labelStart;\n\n // Find an opening.\n while (index--) {\n const token = self.events[index][1];\n if (token.type === \"labelImage\") {\n labelStart = token;\n break;\n }\n\n // Exit if we\u2019ve walked far enough.\n if (token.type === 'gfmFootnoteCall' || token.type === \"labelLink\" || token.type === \"label\" || token.type === \"image\" || token.type === \"link\") {\n break;\n }\n }\n return start;\n\n /**\n * @type {State}\n */\n function start(code) {\n if (!labelStart || !labelStart._balanced) {\n return nok(code);\n }\n const id = normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n }));\n if (id.codePointAt(0) !== 94 || !defined.includes(id.slice(1))) {\n return nok(code);\n }\n effects.enter('gfmFootnoteCallLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteCallLabelMarker');\n return ok(code);\n }\n}\n\n// To do: remove after micromark update.\n/** @type {Resolver} */\nfunction resolveToPotentialGfmFootnoteCall(events, context) {\n let index = events.length;\n /** @type {Token | undefined} */\n let labelStart;\n\n // Find an opening.\n while (index--) {\n if (events[index][1].type === \"labelImage\" && events[index][0] === 'enter') {\n labelStart = events[index][1];\n break;\n }\n }\n // Change the `labelImageMarker` to a `data`.\n events[index + 1][1].type = \"data\";\n events[index + 3][1].type = 'gfmFootnoteCallLabelMarker';\n\n // The whole (without `!`):\n /** @type {Token} */\n const call = {\n type: 'gfmFootnoteCall',\n start: Object.assign({}, events[index + 3][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n // The `^` marker\n /** @type {Token} */\n const marker = {\n type: 'gfmFootnoteCallMarker',\n start: Object.assign({}, events[index + 3][1].end),\n end: Object.assign({}, events[index + 3][1].end)\n };\n // Increment the end 1 character.\n marker.end.column++;\n marker.end.offset++;\n marker.end._bufferIndex++;\n /** @type {Token} */\n const string = {\n type: 'gfmFootnoteCallString',\n start: Object.assign({}, marker.end),\n end: Object.assign({}, events[events.length - 1][1].start)\n };\n /** @type {Token} */\n const chunk = {\n type: \"chunkString\",\n contentType: 'string',\n start: Object.assign({}, string.start),\n end: Object.assign({}, string.end)\n };\n\n /** @type {Array} */\n const replacement = [\n // Take the `labelImageMarker` (now `data`, the `!`)\n events[index + 1], events[index + 2], ['enter', call, context],\n // The `[`\n events[index + 3], events[index + 4],\n // The `^`.\n ['enter', marker, context], ['exit', marker, context],\n // Everything in between.\n ['enter', string, context], ['enter', chunk, context], ['exit', chunk, context], ['exit', string, context],\n // The ending (`]`, properly parsed and labelled).\n events[events.length - 2], events[events.length - 1], ['exit', call, context]];\n events.splice(index, events.length - index + 1, ...replacement);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeGfmFootnoteCall(effects, ok, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n let size = 0;\n /** @type {boolean} */\n let data;\n\n // Note: the implementation of `markdown-rs` is different, because it houses\n // core *and* extensions in one project.\n // Therefore, it can include footnote logic inside `label-end`.\n // We can\u2019t do that, but luckily, we can parse footnotes in a simpler way than\n // needed for labels.\n return start;\n\n /**\n * Start of footnote label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('gfmFootnoteCall');\n effects.enter('gfmFootnoteCallLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteCallLabelMarker');\n return callStart;\n }\n\n /**\n * After `[`, at `^`.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callStart(code) {\n if (code !== 94) return nok(code);\n effects.enter('gfmFootnoteCallMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteCallMarker');\n effects.enter('gfmFootnoteCallString');\n effects.enter('chunkString').contentType = 'string';\n return callData;\n }\n\n /**\n * In label.\n *\n * ```markdown\n * > | a [^b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function callData(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n code === 93 && !data ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null || code === 91 || markdownLineEndingOrSpace(code)) {\n return nok(code);\n }\n if (code === 93) {\n effects.exit('chunkString');\n const token = effects.exit('gfmFootnoteCallString');\n if (!defined.includes(normalizeIdentifier(self.sliceSerialize(token)))) {\n return nok(code);\n }\n effects.enter('gfmFootnoteCallLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteCallLabelMarker');\n effects.exit('gfmFootnoteCall');\n return ok;\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true;\n }\n size++;\n effects.consume(code);\n return code === 92 ? callEscape : callData;\n }\n\n /**\n * On character after escape.\n *\n * ```markdown\n * > | a [^b\\c] d\n * ^\n * ```\n *\n * @type {State}\n */\n function callEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return callData;\n }\n return callData(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionStart(effects, ok, nok) {\n const self = this;\n const defined = self.parser.gfmFootnotes || (self.parser.gfmFootnotes = []);\n /** @type {string} */\n let identifier;\n let size = 0;\n /** @type {boolean | undefined} */\n let data;\n return start;\n\n /**\n * Start of GFM footnote definition.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('gfmFootnoteDefinition')._container = true;\n effects.enter('gfmFootnoteDefinitionLabel');\n effects.enter('gfmFootnoteDefinitionLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteDefinitionLabelMarker');\n return labelAtMarker;\n }\n\n /**\n * In label, at caret.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAtMarker(code) {\n if (code === 94) {\n effects.enter('gfmFootnoteDefinitionMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteDefinitionMarker');\n effects.enter('gfmFootnoteDefinitionLabelString');\n effects.enter('chunkString').contentType = 'string';\n return labelInside;\n }\n return nok(code);\n }\n\n /**\n * In label.\n *\n * > \uD83D\uDC49 **Note**: `cmark-gfm` prevents whitespace from occurring in footnote\n * > definition labels.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n // Too long.\n size > 999 ||\n // Closing brace with nothing.\n code === 93 && !data ||\n // Space or tab is not supported by GFM for some reason.\n // `\\n` and `[` not being supported makes sense.\n code === null || code === 91 || markdownLineEndingOrSpace(code)) {\n return nok(code);\n }\n if (code === 93) {\n effects.exit('chunkString');\n const token = effects.exit('gfmFootnoteDefinitionLabelString');\n identifier = normalizeIdentifier(self.sliceSerialize(token));\n effects.enter('gfmFootnoteDefinitionLabelMarker');\n effects.consume(code);\n effects.exit('gfmFootnoteDefinitionLabelMarker');\n effects.exit('gfmFootnoteDefinitionLabel');\n return labelAfter;\n }\n if (!markdownLineEndingOrSpace(code)) {\n data = true;\n }\n size++;\n effects.consume(code);\n return code === 92 ? labelEscape : labelInside;\n }\n\n /**\n * After `\\`, at a special character.\n *\n * > \uD83D\uDC49 **Note**: `cmark-gfm` currently does not support escaped brackets:\n * > \n *\n * ```markdown\n * > | [^a\\*b]: c\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code);\n size++;\n return labelInside;\n }\n return labelInside(code);\n }\n\n /**\n * After definition label.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelAfter(code) {\n if (code === 58) {\n effects.enter('definitionMarker');\n effects.consume(code);\n effects.exit('definitionMarker');\n if (!defined.includes(identifier)) {\n defined.push(identifier);\n }\n\n // Any whitespace after the marker is eaten, forming indented code\n // is not possible.\n // No space is also fine, just like a block quote marker.\n return factorySpace(effects, whitespaceAfter, 'gfmFootnoteDefinitionWhitespace');\n }\n return nok(code);\n }\n\n /**\n * After definition prefix.\n *\n * ```markdown\n * > | [^a]: b\n * ^\n * ```\n *\n * @type {State}\n */\n function whitespaceAfter(code) {\n // `markdown-rs` has a wrapping token for the prefix that is closed here.\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeDefinitionContinuation(effects, ok, nok) {\n /// Start of footnote definition continuation.\n ///\n /// ```markdown\n /// | [^a]: b\n /// > | c\n /// ^\n /// ```\n //\n // Either a blank line, which is okay, or an indented thing.\n return effects.check(blankLine, ok, effects.attempt(indent, ok, nok));\n}\n\n/** @type {Exiter} */\nfunction gfmFootnoteDefinitionEnd(effects) {\n effects.exit('gfmFootnoteDefinition');\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, 'gfmFootnoteDefinitionIndent', 4 + 1);\n\n /**\n * @type {State}\n */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === 'gfmFootnoteDefinitionIndent' && tail[2].sliceSerialize(tail[1], true).length === 4 ? ok(code) : nok(code);\n }\n}", "/**\n * @import {Options} from 'micromark-extension-gfm-strikethrough'\n * @import {Event, Extension, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { splice } from 'micromark-util-chunked';\nimport { classifyCharacter } from 'micromark-util-classify-character';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create an extension for `micromark` to enable GFM strikethrough syntax.\n *\n * @param {Options | null | undefined} [options={}]\n * Configuration.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions`, to\n * enable GFM strikethrough syntax.\n */\nexport function gfmStrikethrough(options) {\n const options_ = options || {};\n let single = options_.singleTilde;\n const tokenizer = {\n name: 'strikethrough',\n tokenize: tokenizeStrikethrough,\n resolveAll: resolveAllStrikethrough\n };\n if (single === null || single === undefined) {\n single = true;\n }\n return {\n text: {\n [126]: tokenizer\n },\n insideSpan: {\n null: [tokenizer]\n },\n attentionMarkers: {\n null: [126]\n }\n };\n\n /**\n * Take events and resolve strikethrough.\n *\n * @type {Resolver}\n */\n function resolveAllStrikethrough(events, context) {\n let index = -1;\n\n // Walk through all events.\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'strikethroughSequenceTemporary' && events[index][1]._close) {\n let open = index;\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'strikethroughSequenceTemporary' && events[open][1]._open &&\n // If the sizes are the same:\n events[index][1].end.offset - events[index][1].start.offset === events[open][1].end.offset - events[open][1].start.offset) {\n events[index][1].type = 'strikethroughSequence';\n events[open][1].type = 'strikethroughSequence';\n\n /** @type {Token} */\n const strikethrough = {\n type: 'strikethrough',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[index][1].end)\n };\n\n /** @type {Token} */\n const text = {\n type: 'strikethroughText',\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n\n // Opening.\n /** @type {Array} */\n const nextEvents = [['enter', strikethrough, context], ['enter', events[open][1], context], ['exit', events[open][1], context], ['enter', text, context]];\n const insideSpan = context.parser.constructs.insideSpan.null;\n if (insideSpan) {\n // Between.\n splice(nextEvents, nextEvents.length, 0, resolveAll(insideSpan, events.slice(open + 1, index), context));\n }\n\n // Closing.\n splice(nextEvents, nextEvents.length, 0, [['exit', text, context], ['enter', events[index][1], context], ['exit', events[index][1], context], ['exit', strikethrough, context]]);\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - 2;\n break;\n }\n }\n }\n }\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === 'strikethroughSequenceTemporary') {\n events[index][1].type = \"data\";\n }\n }\n return events;\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeStrikethrough(effects, ok, nok) {\n const previous = this.previous;\n const events = this.events;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n if (previous === 126 && events[events.length - 1][1].type !== \"characterEscape\") {\n return nok(code);\n }\n effects.enter('strikethroughSequenceTemporary');\n return more(code);\n }\n\n /** @type {State} */\n function more(code) {\n const before = classifyCharacter(previous);\n if (code === 126) {\n // If this is the third marker, exit.\n if (size > 1) return nok(code);\n effects.consume(code);\n size++;\n return more;\n }\n if (size < 2 && !single) return nok(code);\n const token = effects.exit('strikethroughSequenceTemporary');\n const after = classifyCharacter(code);\n token._open = !after || after === 2 && Boolean(before);\n token._close = !before || before === 2 && Boolean(after);\n return ok(code);\n }\n }\n}", "/**\n * @import {Event} from 'micromark-util-types'\n */\n\n// Port of `edit_map.rs` from `markdown-rs`.\n// This should move to `markdown-js` later.\n\n// Deal with several changes in events, batching them together.\n//\n// Preferably, changes should be kept to a minimum.\n// Sometimes, it\u2019s needed to change the list of events, because parsing can be\n// messy, and it helps to expose a cleaner interface of events to the compiler\n// and other users.\n// It can also help to merge many adjacent similar events.\n// And, in other cases, it\u2019s needed to parse subcontent: pass some events\n// through another tokenizer and inject the result.\n\n/**\n * @typedef {[number, number, Array]} Change\n * @typedef {[number, number, number]} Jump\n */\n\n/**\n * Tracks a bunch of edits.\n */\nexport class EditMap {\n /**\n * Create a new edit map.\n */\n constructor() {\n /**\n * Record of changes.\n *\n * @type {Array}\n */\n this.map = [];\n }\n\n /**\n * Create an edit: a remove and/or add at a certain place.\n *\n * @param {number} index\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\n add(index, remove, add) {\n addImplementation(this, index, remove, add);\n }\n\n // To do: add this when moving to `micromark`.\n // /**\n // * Create an edit: but insert `add` before existing additions.\n // *\n // * @param {number} index\n // * @param {number} remove\n // * @param {Array} add\n // * @returns {undefined}\n // */\n // addBefore(index, remove, add) {\n // addImplementation(this, index, remove, add, true)\n // }\n\n /**\n * Done, change the events.\n *\n * @param {Array} events\n * @returns {undefined}\n */\n consume(events) {\n this.map.sort(function (a, b) {\n return a[0] - b[0];\n });\n\n /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */\n if (this.map.length === 0) {\n return;\n }\n\n // To do: if links are added in events, like they are in `markdown-rs`,\n // this is needed.\n // // Calculate jumps: where items in the current list move to.\n // /** @type {Array} */\n // const jumps = []\n // let index = 0\n // let addAcc = 0\n // let removeAcc = 0\n // while (index < this.map.length) {\n // const [at, remove, add] = this.map[index]\n // removeAcc += remove\n // addAcc += add.length\n // jumps.push([at, removeAcc, addAcc])\n // index += 1\n // }\n //\n // . shiftLinks(events, jumps)\n\n let index = this.map.length;\n /** @type {Array>} */\n const vecs = [];\n while (index > 0) {\n index -= 1;\n vecs.push(events.slice(this.map[index][0] + this.map[index][1]), this.map[index][2]);\n\n // Truncate rest.\n events.length = this.map[index][0];\n }\n vecs.push(events.slice());\n events.length = 0;\n let slice = vecs.pop();\n while (slice) {\n for (const element of slice) {\n events.push(element);\n }\n slice = vecs.pop();\n }\n\n // Truncate everything.\n this.map.length = 0;\n }\n}\n\n/**\n * Create an edit.\n *\n * @param {EditMap} editMap\n * @param {number} at\n * @param {number} remove\n * @param {Array} add\n * @returns {undefined}\n */\nfunction addImplementation(editMap, at, remove, add) {\n let index = 0;\n\n /* c8 ignore next 3 -- `resolve` is never called without tables, so without edits. */\n if (remove === 0 && add.length === 0) {\n return;\n }\n while (index < editMap.map.length) {\n if (editMap.map[index][0] === at) {\n editMap.map[index][1] += remove;\n\n // To do: before not used by tables, use when moving to micromark.\n // if (before) {\n // add.push(...editMap.map[index][2])\n // editMap.map[index][2] = add\n // } else {\n editMap.map[index][2].push(...add);\n // }\n\n return;\n }\n index += 1;\n }\n editMap.map.push([at, remove, add]);\n}\n\n// /**\n// * Shift `previous` and `next` links according to `jumps`.\n// *\n// * This fixes links in case there are events removed or added between them.\n// *\n// * @param {Array} events\n// * @param {Array} jumps\n// */\n// function shiftLinks(events, jumps) {\n// let jumpIndex = 0\n// let index = 0\n// let add = 0\n// let rm = 0\n\n// while (index < events.length) {\n// const rmCurr = rm\n\n// while (jumpIndex < jumps.length && jumps[jumpIndex][0] <= index) {\n// add = jumps[jumpIndex][2]\n// rm = jumps[jumpIndex][1]\n// jumpIndex += 1\n// }\n\n// // Ignore items that will be removed.\n// if (rm > rmCurr) {\n// index += rm - rmCurr\n// } else {\n// // ?\n// // if let Some(link) = &events[index].link {\n// // if let Some(next) = link.next {\n// // events[next].link.as_mut().unwrap().previous = Some(index + add - rm);\n// // while jumpIndex < jumps.len() && jumps[jumpIndex].0 <= next {\n// // add = jumps[jumpIndex].2;\n// // rm = jumps[jumpIndex].1;\n// // jumpIndex += 1;\n// // }\n// // events[index].link.as_mut().unwrap().next = Some(next + add - rm);\n// // index = next;\n// // continue;\n// // }\n// // }\n// index += 1\n// }\n// }\n// }", "/**\n * @import {Event} from 'micromark-util-types'\n */\n\n/**\n * @typedef {'center' | 'left' | 'none' | 'right'} Align\n */\n\n/**\n * Figure out the alignment of a GFM table.\n *\n * @param {Readonly>} events\n * List of events.\n * @param {number} index\n * Table enter event.\n * @returns {Array}\n * List of aligns.\n */\nexport function gfmTableAlign(events, index) {\n let inDelimiterRow = false;\n /** @type {Array} */\n const align = [];\n while (index < events.length) {\n const event = events[index];\n if (inDelimiterRow) {\n if (event[0] === 'enter') {\n // Start of alignment value: set a new column.\n // To do: `markdown-rs` uses `tableDelimiterCellValue`.\n if (event[1].type === 'tableContent') {\n align.push(events[index + 1][1].type === 'tableDelimiterMarker' ? 'left' : 'none');\n }\n }\n // Exits:\n // End of alignment value: change the column.\n // To do: `markdown-rs` uses `tableDelimiterCellValue`.\n else if (event[1].type === 'tableContent') {\n if (events[index - 1][1].type === 'tableDelimiterMarker') {\n const alignIndex = align.length - 1;\n align[alignIndex] = align[alignIndex] === 'left' ? 'center' : 'right';\n }\n }\n // Done!\n else if (event[1].type === 'tableDelimiterRow') {\n break;\n }\n } else if (event[0] === 'enter' && event[1].type === 'tableDelimiterRow') {\n inDelimiterRow = true;\n }\n index += 1;\n }\n return align;\n}", "/**\n * @import {Event, Extension, Point, Resolver, State, Token, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\n/**\n * @typedef {[number, number, number, number]} Range\n * Cell info.\n *\n * @typedef {0 | 1 | 2 | 3} RowKind\n * Where we are: `1` for head row, `2` for delimiter row, `3` for body row.\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownLineEndingOrSpace, markdownSpace } from 'micromark-util-character';\nimport { EditMap } from './edit-map.js';\nimport { gfmTableAlign } from './infer.js';\n\n/**\n * Create an HTML extension for `micromark` to support GitHub tables syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * table syntax.\n */\nexport function gfmTable() {\n return {\n flow: {\n null: {\n name: 'table',\n tokenize: tokenizeTable,\n resolveAll: resolveTable\n }\n }\n };\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTable(effects, ok, nok) {\n const self = this;\n let size = 0;\n let sizeB = 0;\n /** @type {boolean | undefined} */\n let seen;\n return start;\n\n /**\n * Start of a GFM table.\n *\n * If there is a valid table row or table head before, then we try to parse\n * another row.\n * Otherwise, we try to parse a head.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * > | | b |\n * ^\n * ```\n * @type {State}\n */\n function start(code) {\n let index = self.events.length - 1;\n while (index > -1) {\n const type = self.events[index][1].type;\n if (type === \"lineEnding\" ||\n // Note: markdown-rs uses `whitespace` instead of `linePrefix`\n type === \"linePrefix\") index--;else break;\n }\n const tail = index > -1 ? self.events[index][1].type : null;\n const next = tail === 'tableHead' || tail === 'tableRow' ? bodyRowStart : headRowBefore;\n\n // Don\u2019t allow lazy body rows.\n if (next === bodyRowStart && self.parser.lazy[self.now().line]) {\n return nok(code);\n }\n return next(code);\n }\n\n /**\n * Before table head row.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowBefore(code) {\n effects.enter('tableHead');\n effects.enter('tableRow');\n return headRowStart(code);\n }\n\n /**\n * Before table head row, after whitespace.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowStart(code) {\n if (code === 124) {\n return headRowBreak(code);\n }\n\n // To do: micromark-js should let us parse our own whitespace in extensions,\n // like `markdown-rs`:\n //\n // ```js\n // // 4+ spaces.\n // if (markdownSpace(code)) {\n // return nok(code)\n // }\n // ```\n\n seen = true;\n // Count the first character, that isn\u2019t a pipe, double.\n sizeB += 1;\n return headRowBreak(code);\n }\n\n /**\n * At break in table head row.\n *\n * ```markdown\n * > | | a |\n * ^\n * ^\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowBreak(code) {\n if (code === null) {\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don\u2018t.\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n // If anything other than one pipe (ignoring whitespace) was used, it\u2019s fine.\n if (sizeB > 1) {\n sizeB = 0;\n // To do: check if this works.\n // Feel free to interrupt:\n self.interrupt = true;\n effects.exit('tableRow');\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return headDelimiterStart;\n }\n\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don\u2018t.\n return nok(code);\n }\n if (markdownSpace(code)) {\n // To do: check if this is fine.\n // effects.attempt(State::Next(StateName::GfmTableHeadRowBreak), State::Nok)\n // State::Retry(space_or_tab(tokenizer))\n return factorySpace(effects, headRowBreak, \"whitespace\")(code);\n }\n sizeB += 1;\n if (seen) {\n seen = false;\n // Header cell count.\n size += 1;\n }\n if (code === 124) {\n effects.enter('tableCellDivider');\n effects.consume(code);\n effects.exit('tableCellDivider');\n // Whether a delimiter was seen.\n seen = true;\n return headRowBreak;\n }\n\n // Anything else is cell data.\n effects.enter(\"data\");\n return headRowData(code);\n }\n\n /**\n * In table head row data.\n *\n * ```markdown\n * > | | a |\n * ^\n * | | - |\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headRowData(code) {\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit(\"data\");\n return headRowBreak(code);\n }\n effects.consume(code);\n return code === 92 ? headRowEscape : headRowData;\n }\n\n /**\n * In table head row escape.\n *\n * ```markdown\n * > | | a\\-b |\n * ^\n * | | ---- |\n * | | c |\n * ```\n *\n * @type {State}\n */\n function headRowEscape(code) {\n if (code === 92 || code === 124) {\n effects.consume(code);\n return headRowData;\n }\n return headRowData(code);\n }\n\n /**\n * Before delimiter row.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headDelimiterStart(code) {\n // Reset `interrupt`.\n self.interrupt = false;\n\n // Note: in `markdown-rs`, we need to handle piercing here too.\n if (self.parser.lazy[self.now().line]) {\n return nok(code);\n }\n effects.enter('tableDelimiterRow');\n // Track if we\u2019ve seen a `:` or `|`.\n seen = false;\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterBefore, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n return headDelimiterBefore(code);\n }\n\n /**\n * Before delimiter row, after optional whitespace.\n *\n * Reused when a `|` is found later, to parse another cell.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * | | b |\n * ```\n *\n * @type {State}\n */\n function headDelimiterBefore(code) {\n if (code === 45 || code === 58) {\n return headDelimiterValueBefore(code);\n }\n if (code === 124) {\n seen = true;\n // If we start with a pipe, we open a cell marker.\n effects.enter('tableCellDivider');\n effects.consume(code);\n effects.exit('tableCellDivider');\n return headDelimiterCellBefore;\n }\n\n // More whitespace / empty row not allowed at start.\n return headDelimiterNok(code);\n }\n\n /**\n * After `|`, before delimiter cell.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterCellBefore(code) {\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterValueBefore, \"whitespace\")(code);\n }\n return headDelimiterValueBefore(code);\n }\n\n /**\n * Before delimiter cell value.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterValueBefore(code) {\n // Align: left.\n if (code === 58) {\n sizeB += 1;\n seen = true;\n effects.enter('tableDelimiterMarker');\n effects.consume(code);\n effects.exit('tableDelimiterMarker');\n return headDelimiterLeftAlignmentAfter;\n }\n\n // Align: none.\n if (code === 45) {\n sizeB += 1;\n // To do: seems weird that this *isn\u2019t* left aligned, but that state is used?\n return headDelimiterLeftAlignmentAfter(code);\n }\n if (code === null || markdownLineEnding(code)) {\n return headDelimiterCellAfter(code);\n }\n return headDelimiterNok(code);\n }\n\n /**\n * After delimiter cell left alignment marker.\n *\n * ```markdown\n * | | a |\n * > | | :- |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterLeftAlignmentAfter(code) {\n if (code === 45) {\n effects.enter('tableDelimiterFiller');\n return headDelimiterFiller(code);\n }\n\n // Anything else is not ok after the left-align colon.\n return headDelimiterNok(code);\n }\n\n /**\n * In delimiter cell filler.\n *\n * ```markdown\n * | | a |\n * > | | - |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterFiller(code) {\n if (code === 45) {\n effects.consume(code);\n return headDelimiterFiller;\n }\n\n // Align is `center` if it was `left`, `right` otherwise.\n if (code === 58) {\n seen = true;\n effects.exit('tableDelimiterFiller');\n effects.enter('tableDelimiterMarker');\n effects.consume(code);\n effects.exit('tableDelimiterMarker');\n return headDelimiterRightAlignmentAfter;\n }\n effects.exit('tableDelimiterFiller');\n return headDelimiterRightAlignmentAfter(code);\n }\n\n /**\n * After delimiter cell right alignment marker.\n *\n * ```markdown\n * | | a |\n * > | | -: |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterRightAlignmentAfter(code) {\n if (markdownSpace(code)) {\n return factorySpace(effects, headDelimiterCellAfter, \"whitespace\")(code);\n }\n return headDelimiterCellAfter(code);\n }\n\n /**\n * After delimiter cell.\n *\n * ```markdown\n * | | a |\n * > | | -: |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterCellAfter(code) {\n if (code === 124) {\n return headDelimiterBefore(code);\n }\n if (code === null || markdownLineEnding(code)) {\n // Exit when:\n // * there was no `:` or `|` at all (it\u2019s a thematic break or setext\n // underline instead)\n // * the header cell count is not the delimiter cell count\n if (!seen || size !== sizeB) {\n return headDelimiterNok(code);\n }\n\n // Note: in markdown-rs`, a reset is needed here.\n effects.exit('tableDelimiterRow');\n effects.exit('tableHead');\n // To do: in `markdown-rs`, resolvers need to be registered manually.\n // effects.register_resolver(ResolveName::GfmTable)\n return ok(code);\n }\n return headDelimiterNok(code);\n }\n\n /**\n * In delimiter row, at a disallowed byte.\n *\n * ```markdown\n * | | a |\n * > | | x |\n * ^\n * ```\n *\n * @type {State}\n */\n function headDelimiterNok(code) {\n // Note: in `markdown-rs`, we need to reset, in `micromark-js` we don\u2018t.\n return nok(code);\n }\n\n /**\n * Before table body row.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowStart(code) {\n // Note: in `markdown-rs` we need to manually take care of a prefix,\n // but in `micromark-js` that is done for us, so if we\u2019re here, we\u2019re\n // never at whitespace.\n effects.enter('tableRow');\n return bodyRowBreak(code);\n }\n\n /**\n * At break in table body row.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ^\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowBreak(code) {\n if (code === 124) {\n effects.enter('tableCellDivider');\n effects.consume(code);\n effects.exit('tableCellDivider');\n return bodyRowBreak;\n }\n if (code === null || markdownLineEnding(code)) {\n effects.exit('tableRow');\n return ok(code);\n }\n if (markdownSpace(code)) {\n return factorySpace(effects, bodyRowBreak, \"whitespace\")(code);\n }\n\n // Anything else is cell content.\n effects.enter(\"data\");\n return bodyRowData(code);\n }\n\n /**\n * In table body row data.\n *\n * ```markdown\n * | | a |\n * | | - |\n * > | | b |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowData(code) {\n if (code === null || code === 124 || markdownLineEndingOrSpace(code)) {\n effects.exit(\"data\");\n return bodyRowBreak(code);\n }\n effects.consume(code);\n return code === 92 ? bodyRowEscape : bodyRowData;\n }\n\n /**\n * In table body row escape.\n *\n * ```markdown\n * | | a |\n * | | ---- |\n * > | | b\\-c |\n * ^\n * ```\n *\n * @type {State}\n */\n function bodyRowEscape(code) {\n if (code === 92 || code === 124) {\n effects.consume(code);\n return bodyRowData;\n }\n return bodyRowData(code);\n }\n}\n\n/** @type {Resolver} */\n\nfunction resolveTable(events, context) {\n let index = -1;\n let inFirstCellAwaitingPipe = true;\n /** @type {RowKind} */\n let rowKind = 0;\n /** @type {Range} */\n let lastCell = [0, 0, 0, 0];\n /** @type {Range} */\n let cell = [0, 0, 0, 0];\n let afterHeadAwaitingFirstBodyRow = false;\n let lastTableEnd = 0;\n /** @type {Token | undefined} */\n let currentTable;\n /** @type {Token | undefined} */\n let currentBody;\n /** @type {Token | undefined} */\n let currentCell;\n const map = new EditMap();\n while (++index < events.length) {\n const event = events[index];\n const token = event[1];\n if (event[0] === 'enter') {\n // Start of head.\n if (token.type === 'tableHead') {\n afterHeadAwaitingFirstBodyRow = false;\n\n // Inject previous (body end and) table end.\n if (lastTableEnd !== 0) {\n flushTableEnd(map, context, lastTableEnd, currentTable, currentBody);\n currentBody = undefined;\n lastTableEnd = 0;\n }\n\n // Inject table start.\n currentTable = {\n type: 'table',\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map.add(index, 0, [['enter', currentTable, context]]);\n } else if (token.type === 'tableRow' || token.type === 'tableDelimiterRow') {\n inFirstCellAwaitingPipe = true;\n currentCell = undefined;\n lastCell = [0, 0, 0, 0];\n cell = [0, index + 1, 0, 0];\n\n // Inject table body start.\n if (afterHeadAwaitingFirstBodyRow) {\n afterHeadAwaitingFirstBodyRow = false;\n currentBody = {\n type: 'tableBody',\n start: Object.assign({}, token.start),\n // Note: correct end is set later.\n end: Object.assign({}, token.end)\n };\n map.add(index, 0, [['enter', currentBody, context]]);\n }\n rowKind = token.type === 'tableDelimiterRow' ? 2 : currentBody ? 3 : 1;\n }\n // Cell data.\n else if (rowKind && (token.type === \"data\" || token.type === 'tableDelimiterMarker' || token.type === 'tableDelimiterFiller')) {\n inFirstCellAwaitingPipe = false;\n\n // First value in cell.\n if (cell[2] === 0) {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map, context, lastCell, rowKind, undefined, currentCell);\n lastCell = [0, 0, 0, 0];\n }\n cell[2] = index;\n }\n } else if (token.type === 'tableCellDivider') {\n if (inFirstCellAwaitingPipe) {\n inFirstCellAwaitingPipe = false;\n } else {\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map, context, lastCell, rowKind, undefined, currentCell);\n }\n lastCell = cell;\n cell = [lastCell[1], index, 0, 0];\n }\n }\n }\n // Exit events.\n else if (token.type === 'tableHead') {\n afterHeadAwaitingFirstBodyRow = true;\n lastTableEnd = index;\n } else if (token.type === 'tableRow' || token.type === 'tableDelimiterRow') {\n lastTableEnd = index;\n if (lastCell[1] !== 0) {\n cell[0] = cell[1];\n currentCell = flushCell(map, context, lastCell, rowKind, index, currentCell);\n } else if (cell[1] !== 0) {\n currentCell = flushCell(map, context, cell, rowKind, index, currentCell);\n }\n rowKind = 0;\n } else if (rowKind && (token.type === \"data\" || token.type === 'tableDelimiterMarker' || token.type === 'tableDelimiterFiller')) {\n cell[3] = index;\n }\n }\n if (lastTableEnd !== 0) {\n flushTableEnd(map, context, lastTableEnd, currentTable, currentBody);\n }\n map.consume(context.events);\n\n // To do: move this into `html`, when events are exposed there.\n // That\u2019s what `markdown-rs` does.\n // That needs updates to `mdast-util-gfm-table`.\n index = -1;\n while (++index < context.events.length) {\n const event = context.events[index];\n if (event[0] === 'enter' && event[1].type === 'table') {\n event[1]._align = gfmTableAlign(context.events, index);\n }\n }\n return events;\n}\n\n/**\n * Generate a cell.\n *\n * @param {EditMap} map\n * @param {Readonly} context\n * @param {Readonly} range\n * @param {RowKind} rowKind\n * @param {number | undefined} rowEnd\n * @param {Token | undefined} previousCell\n * @returns {Token | undefined}\n */\n// eslint-disable-next-line max-params\nfunction flushCell(map, context, range, rowKind, rowEnd, previousCell) {\n // `markdown-rs` uses:\n // rowKind === 2 ? 'tableDelimiterCell' : 'tableCell'\n const groupName = rowKind === 1 ? 'tableHeader' : rowKind === 2 ? 'tableDelimiter' : 'tableData';\n // `markdown-rs` uses:\n // rowKind === 2 ? 'tableDelimiterCellValue' : 'tableCellText'\n const valueName = 'tableContent';\n\n // Insert an exit for the previous cell, if there is one.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- exit\n // ^^^^-- this cell\n // ```\n if (range[0] !== 0) {\n previousCell.end = Object.assign({}, getPoint(context.events, range[0]));\n map.add(range[0], 0, [['exit', previousCell, context]]);\n }\n\n // Insert enter of this cell.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- enter\n // ^^^^-- this cell\n // ```\n const now = getPoint(context.events, range[1]);\n previousCell = {\n type: groupName,\n start: Object.assign({}, now),\n // Note: correct end is set later.\n end: Object.assign({}, now)\n };\n map.add(range[1], 0, [['enter', previousCell, context]]);\n\n // Insert text start at first data start and end at last data end, and\n // remove events between.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- enter\n // ^-- exit\n // ^^^^-- this cell\n // ```\n if (range[2] !== 0) {\n const relatedStart = getPoint(context.events, range[2]);\n const relatedEnd = getPoint(context.events, range[3]);\n /** @type {Token} */\n const valueToken = {\n type: valueName,\n start: Object.assign({}, relatedStart),\n end: Object.assign({}, relatedEnd)\n };\n map.add(range[2], 0, [['enter', valueToken, context]]);\n if (rowKind !== 2) {\n // Fix positional info on remaining events\n const start = context.events[range[2]];\n const end = context.events[range[3]];\n start[1].end = Object.assign({}, end[1].end);\n start[1].type = \"chunkText\";\n start[1].contentType = \"text\";\n\n // Remove if needed.\n if (range[3] > range[2] + 1) {\n const a = range[2] + 1;\n const b = range[3] - range[2] - 1;\n map.add(a, b, []);\n }\n }\n map.add(range[3] + 1, 0, [['exit', valueToken, context]]);\n }\n\n // Insert an exit for the last cell, if at the row end.\n //\n // ```markdown\n // > | | aa | bb | cc |\n // ^-- exit\n // ^^^^^^-- this cell (the last one contains two \u201Cbetween\u201D parts)\n // ```\n if (rowEnd !== undefined) {\n previousCell.end = Object.assign({}, getPoint(context.events, rowEnd));\n map.add(rowEnd, 0, [['exit', previousCell, context]]);\n previousCell = undefined;\n }\n return previousCell;\n}\n\n/**\n * Generate table end (and table body end).\n *\n * @param {Readonly} map\n * @param {Readonly} context\n * @param {number} index\n * @param {Token} table\n * @param {Token | undefined} tableBody\n */\n// eslint-disable-next-line max-params\nfunction flushTableEnd(map, context, index, table, tableBody) {\n /** @type {Array} */\n const exits = [];\n const related = getPoint(context.events, index);\n if (tableBody) {\n tableBody.end = Object.assign({}, related);\n exits.push(['exit', tableBody, context]);\n }\n table.end = Object.assign({}, related);\n exits.push(['exit', table, context]);\n map.add(index + 1, 0, exits);\n}\n\n/**\n * @param {Readonly>} events\n * @param {number} index\n * @returns {Readonly}\n */\nfunction getPoint(events, index) {\n const event = events[index];\n const side = event[0] === 'enter' ? 'start' : 'end';\n return event[1][side];\n}", "/**\n * @import {Extension, State, TokenizeContext, Tokenizer} from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownLineEndingOrSpace, markdownSpace } from 'micromark-util-character';\nconst tasklistCheck = {\n name: 'tasklistCheck',\n tokenize: tokenizeTasklistCheck\n};\n\n/**\n * Create an HTML extension for `micromark` to support GFM task list items\n * syntax.\n *\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `htmlExtensions` to\n * support GFM task list items when serializing to HTML.\n */\nexport function gfmTaskListItem() {\n return {\n text: {\n [91]: tasklistCheck\n }\n };\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeTasklistCheck(effects, ok, nok) {\n const self = this;\n return open;\n\n /**\n * At start of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (\n // Exit if there\u2019s stuff before.\n self.previous !== null ||\n // Exit if not in the first content that is the first child of a list\n // item.\n !self._gfmTasklistFirstContentOfListItem) {\n return nok(code);\n }\n effects.enter('taskListCheck');\n effects.enter('taskListCheckMarker');\n effects.consume(code);\n effects.exit('taskListCheckMarker');\n return inside;\n }\n\n /**\n * In task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // Currently we match how GH works in files.\n // To match how GH works in comments, use `markdownSpace` (`[\\t ]`) instead\n // of `markdownLineEndingOrSpace` (`[\\t\\n\\r ]`).\n if (markdownLineEndingOrSpace(code)) {\n effects.enter('taskListCheckValueUnchecked');\n effects.consume(code);\n effects.exit('taskListCheckValueUnchecked');\n return close;\n }\n if (code === 88 || code === 120) {\n effects.enter('taskListCheckValueChecked');\n effects.consume(code);\n effects.exit('taskListCheckValueChecked');\n return close;\n }\n return nok(code);\n }\n\n /**\n * At close of task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function close(code) {\n if (code === 93) {\n effects.enter('taskListCheckMarker');\n effects.consume(code);\n effects.exit('taskListCheckMarker');\n effects.exit('taskListCheck');\n return after;\n }\n return nok(code);\n }\n\n /**\n * @type {State}\n */\n function after(code) {\n // EOL in paragraph means there must be something else after it.\n if (markdownLineEnding(code)) {\n return ok(code);\n }\n\n // Space or tab?\n // Check what comes after.\n if (markdownSpace(code)) {\n return effects.check({\n tokenize: spaceThenNonSpace\n }, ok, nok)(code);\n }\n\n // EOF, or non-whitespace, both wrong.\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction spaceThenNonSpace(effects, ok, nok) {\n return factorySpace(effects, after, \"whitespace\");\n\n /**\n * After whitespace, after task list item check.\n *\n * ```markdown\n * > | * [x] y.\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // EOF means there was nothing, so bad.\n // EOL means there\u2019s content after it, so good.\n // Impossible to have more spaces.\n // Anything else is good.\n return code === null ? nok(code) : ok(code);\n }\n}", "/**\n * @typedef {import('micromark-extension-gfm-footnote').HtmlOptions} HtmlOptions\n * @typedef {import('micromark-extension-gfm-strikethrough').Options} Options\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n */\n\nimport {\n combineExtensions,\n combineHtmlExtensions\n} from 'micromark-util-combine-extensions'\nimport {\n gfmAutolinkLiteral,\n gfmAutolinkLiteralHtml\n} from 'micromark-extension-gfm-autolink-literal'\nimport {gfmFootnote, gfmFootnoteHtml} from 'micromark-extension-gfm-footnote'\nimport {\n gfmStrikethrough,\n gfmStrikethroughHtml\n} from 'micromark-extension-gfm-strikethrough'\nimport {gfmTable, gfmTableHtml} from 'micromark-extension-gfm-table'\nimport {gfmTagfilterHtml} from 'micromark-extension-gfm-tagfilter'\nimport {\n gfmTaskListItem,\n gfmTaskListItemHtml\n} from 'micromark-extension-gfm-task-list-item'\n\n/**\n * Create an extension for `micromark` to enable GFM syntax.\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n *\n * Passed to `micromark-extens-gfm-strikethrough`.\n * @returns {Extension}\n * Extension for `micromark` that can be passed in `extensions` to enable GFM\n * syntax.\n */\nexport function gfm(options) {\n return combineExtensions([\n gfmAutolinkLiteral(),\n gfmFootnote(),\n gfmStrikethrough(options),\n gfmTable(),\n gfmTaskListItem()\n ])\n}\n\n/**\n * Create an extension for `micromark` to support GFM when serializing to HTML.\n *\n * @param {HtmlOptions | null | undefined} [options]\n * Configuration (optional).\n *\n * Passed to `micromark-extens-gfm-footnote`.\n * @returns {HtmlExtension}\n * Extension for `micromark` that can be passed in `htmlExtensions` to\n * support GFM when serializing to HTML.\n */\nexport function gfmHtml(options) {\n return combineHtmlExtensions([\n gfmAutolinkLiteralHtml(),\n gfmFootnoteHtml(options),\n gfmStrikethroughHtml(),\n gfmTableHtml(),\n gfmTagfilterHtml(),\n gfmTaskListItemHtml()\n ])\n}\n", "/**\n * @import {Root} from 'mdast'\n * @import {Options} from 'remark-gfm'\n * @import {} from 'remark-parse'\n * @import {} from 'remark-stringify'\n * @import {Processor} from 'unified'\n */\n\nimport {gfmFromMarkdown, gfmToMarkdown} from 'mdast-util-gfm'\nimport {gfm} from 'micromark-extension-gfm'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Add support GFM (autolink literals, footnotes, strikethrough, tables,\n * tasklists).\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function remarkGfm(options) {\n // @ts-expect-error: TS is wrong about `this`.\n // eslint-disable-next-line unicorn/no-this-assignment\n const self = /** @type {Processor} */ (this)\n const settings = options || emptyOptions\n const data = self.data()\n\n const micromarkExtensions =\n data.micromarkExtensions || (data.micromarkExtensions = [])\n const fromMarkdownExtensions =\n data.fromMarkdownExtensions || (data.fromMarkdownExtensions = [])\n const toMarkdownExtensions =\n data.toMarkdownExtensions || (data.toMarkdownExtensions = [])\n\n micromarkExtensions.push(gfm(settings))\n fromMarkdownExtensions.push(gfmFromMarkdown())\n toMarkdownExtensions.push(gfmToMarkdown(settings))\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {Blockquote} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `blockquote` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Blockquote} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function blockquote(state, node) {\n /** @type {Element} */\n const result = {\n type: 'element',\n tagName: 'blockquote',\n properties: {},\n children: state.wrap(state.all(node), true)\n }\n state.patch(node, result)\n return state.applyData(node, result)\n}\n", "/**\n * @import {Element, Text} from 'hast'\n * @import {Break} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `break` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Break} node\n * mdast node.\n * @returns {Array}\n * hast element content.\n */\nexport function hardBreak(state, node) {\n /** @type {Element} */\n const result = {type: 'element', tagName: 'br', properties: {}, children: []}\n state.patch(node, result)\n return [state.applyData(node, result), {type: 'text', value: '\\n'}]\n}\n", "/**\n * @import {Element, Properties} from 'hast'\n * @import {Code} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `code` node into hast.\n *\n * @param {State} state\n * Info passed around.\n * @param {Code} node\n * mdast node.\n * @returns {Element}\n * hast node.\n */\nexport function code(state, node) {\n const value = node.value ? node.value + '\\n' : ''\n /** @type {Properties} */\n const properties = {}\n // Someone can write `js python ruby`.\n const language = node.lang ? node.lang.split(/\\s+/) : []\n\n // GH/CM still drop the non-first languages.\n if (language.length > 0) {\n properties.className = ['language-' + language[0]]\n }\n\n // Create ``.\n /** @type {Element} */\n let result = {\n type: 'element',\n tagName: 'code',\n properties,\n children: [{type: 'text', value}]\n }\n\n if (node.meta) {\n result.data = {meta: node.meta}\n }\n\n state.patch(node, result)\n result = state.applyData(node, result)\n\n // Create `
`.\n  result = {type: 'element', tagName: 'pre', properties: {}, children: [result]}\n  state.patch(node, result)\n  return result\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {Delete} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `delete` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Delete} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strikethrough(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'del',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {Emphasis} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `emphasis` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Emphasis} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function emphasis(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'em',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {FootnoteReference} from 'mdast'\n * @import {State} from '../state.js'\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `footnoteReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {FootnoteReference} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function footnoteReference(state, node) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const id = String(node.identifier).toUpperCase()\n  const safeId = normalizeUri(id.toLowerCase())\n  const index = state.footnoteOrder.indexOf(id)\n  /** @type {number} */\n  let counter\n\n  let reuseCounter = state.footnoteCounts.get(id)\n\n  if (reuseCounter === undefined) {\n    reuseCounter = 0\n    state.footnoteOrder.push(id)\n    counter = state.footnoteOrder.length\n  } else {\n    counter = index + 1\n  }\n\n  reuseCounter += 1\n  state.footnoteCounts.set(id, reuseCounter)\n\n  /** @type {Element} */\n  const link = {\n    type: 'element',\n    tagName: 'a',\n    properties: {\n      href: '#' + clobberPrefix + 'fn-' + safeId,\n      id:\n        clobberPrefix +\n        'fnref-' +\n        safeId +\n        (reuseCounter > 1 ? '-' + reuseCounter : ''),\n      dataFootnoteRef: true,\n      ariaDescribedBy: ['footnote-label']\n    },\n    children: [{type: 'text', value: String(counter)}]\n  }\n  state.patch(node, link)\n\n  /** @type {Element} */\n  const sup = {\n    type: 'element',\n    tagName: 'sup',\n    properties: {},\n    children: [link]\n  }\n  state.patch(node, sup)\n  return state.applyData(node, sup)\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {Heading} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `heading` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Heading} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function heading(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'h' + node.depth,\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {Html} from 'mdast'\n * @import {State} from '../state.js'\n * @import {Raw} from '../../index.js'\n */\n\n/**\n * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise\n * nothing).\n *\n * @param {State} state\n *   Info passed around.\n * @param {Html} node\n *   mdast node.\n * @returns {Element | Raw | undefined}\n *   hast node.\n */\nexport function html(state, node) {\n  if (state.options.allowDangerousHtml) {\n    /** @type {Raw} */\n    const result = {type: 'raw', value: node.value}\n    state.patch(node, result)\n    return state.applyData(node, result)\n  }\n\n  return undefined\n}\n", "/**\n * @import {ElementContent} from 'hast'\n * @import {Reference, Nodes} from 'mdast'\n * @import {State} from './state.js'\n */\n\n/**\n * Return the content of a reference without definition as plain text.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Extract} node\n *   Reference node (image, link).\n * @returns {Array}\n *   hast content.\n */\nexport function revert(state, node) {\n  const subtype = node.referenceType\n  let suffix = ']'\n\n  if (subtype === 'collapsed') {\n    suffix += '[]'\n  } else if (subtype === 'full') {\n    suffix += '[' + (node.label || node.identifier) + ']'\n  }\n\n  if (node.type === 'imageReference') {\n    return [{type: 'text', value: '![' + node.alt + suffix}]\n  }\n\n  const contents = state.all(node)\n  const head = contents[0]\n\n  if (head && head.type === 'text') {\n    head.value = '[' + head.value\n  } else {\n    contents.unshift({type: 'text', value: '['})\n  }\n\n  const tail = contents[contents.length - 1]\n\n  if (tail && tail.type === 'text') {\n    tail.value += suffix\n  } else {\n    contents.push({type: 'text', value: suffix})\n  }\n\n  return contents\n}\n", "/**\n * @import {ElementContent, Element, Properties} from 'hast'\n * @import {ImageReference} from 'mdast'\n * @import {State} from '../state.js'\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `imageReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ImageReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function imageReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const definition = state.definitionById.get(id)\n\n  if (!definition) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(definition.url || ''), alt: node.alt}\n\n  if (definition.title !== null && definition.title !== undefined) {\n    properties.title = definition.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element, Properties} from 'hast'\n * @import {Image} from 'mdast'\n * @import {State} from '../state.js'\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `image` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Image} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function image(state, node) {\n  /** @type {Properties} */\n  const properties = {src: normalizeUri(node.url)}\n\n  if (node.alt !== null && node.alt !== undefined) {\n    properties.alt = node.alt\n  }\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'img', properties, children: []}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element, Text} from 'hast'\n * @import {InlineCode} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `inlineCode` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {InlineCode} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function inlineCode(state, node) {\n  /** @type {Text} */\n  const text = {type: 'text', value: node.value.replace(/\\r?\\n|\\r/g, ' ')}\n  state.patch(node, text)\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'code',\n    properties: {},\n    children: [text]\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {ElementContent, Element, Properties} from 'hast'\n * @import {LinkReference} from 'mdast'\n * @import {State} from '../state.js'\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\nimport {revert} from '../revert.js'\n\n/**\n * Turn an mdast `linkReference` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {LinkReference} node\n *   mdast node.\n * @returns {Array | ElementContent}\n *   hast node.\n */\nexport function linkReference(state, node) {\n  const id = String(node.identifier).toUpperCase()\n  const definition = state.definitionById.get(id)\n\n  if (!definition) {\n    return revert(state, node)\n  }\n\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(definition.url || '')}\n\n  if (definition.title !== null && definition.title !== undefined) {\n    properties.title = definition.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element, Properties} from 'hast'\n * @import {Link} from 'mdast'\n * @import {State} from '../state.js'\n */\n\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Turn an mdast `link` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Link} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function link(state, node) {\n  /** @type {Properties} */\n  const properties = {href: normalizeUri(node.url)}\n\n  if (node.title !== null && node.title !== undefined) {\n    properties.title = node.title\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'a',\n    properties,\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {ElementContent, Element, Properties} from 'hast'\n * @import {ListItem, Parents} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `listItem` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ListItem} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function listItem(state, node, parent) {\n  const results = state.all(node)\n  const loose = parent ? listLoose(parent) : listItemLoose(node)\n  /** @type {Properties} */\n  const properties = {}\n  /** @type {Array} */\n  const children = []\n\n  if (typeof node.checked === 'boolean') {\n    const head = results[0]\n    /** @type {Element} */\n    let paragraph\n\n    if (head && head.type === 'element' && head.tagName === 'p') {\n      paragraph = head\n    } else {\n      paragraph = {type: 'element', tagName: 'p', properties: {}, children: []}\n      results.unshift(paragraph)\n    }\n\n    if (paragraph.children.length > 0) {\n      paragraph.children.unshift({type: 'text', value: ' '})\n    }\n\n    paragraph.children.unshift({\n      type: 'element',\n      tagName: 'input',\n      properties: {type: 'checkbox', checked: node.checked, disabled: true},\n      children: []\n    })\n\n    // According to github-markdown-css, this class hides bullet.\n    // See: .\n    properties.className = ['task-list-item']\n  }\n\n  let index = -1\n\n  while (++index < results.length) {\n    const child = results[index]\n\n    // Add eols before nodes, except if this is a loose, first paragraph.\n    if (\n      loose ||\n      index !== 0 ||\n      child.type !== 'element' ||\n      child.tagName !== 'p'\n    ) {\n      children.push({type: 'text', value: '\\n'})\n    }\n\n    if (child.type === 'element' && child.tagName === 'p' && !loose) {\n      children.push(...child.children)\n    } else {\n      children.push(child)\n    }\n  }\n\n  const tail = results[results.length - 1]\n\n  // Add a final eol.\n  if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {\n    children.push({type: 'text', value: '\\n'})\n  }\n\n  /** @type {Element} */\n  const result = {type: 'element', tagName: 'li', properties, children}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n\n/**\n * @param {Parents} node\n * @return {Boolean}\n */\nfunction listLoose(node) {\n  let loose = false\n  if (node.type === 'list') {\n    loose = node.spread || false\n    const children = node.children\n    let index = -1\n\n    while (!loose && ++index < children.length) {\n      loose = listItemLoose(children[index])\n    }\n  }\n\n  return loose\n}\n\n/**\n * @param {ListItem} node\n * @return {Boolean}\n */\nfunction listItemLoose(node) {\n  const spread = node.spread\n\n  return spread === null || spread === undefined\n    ? node.children.length > 1\n    : spread\n}\n", "/**\n * @import {Element, Properties} from 'hast'\n * @import {List} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `list` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {List} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function list(state, node) {\n  /** @type {Properties} */\n  const properties = {}\n  const results = state.all(node)\n  let index = -1\n\n  if (typeof node.start === 'number' && node.start !== 1) {\n    properties.start = node.start\n  }\n\n  // Like GitHub, add a class for custom styling.\n  while (++index < results.length) {\n    const child = results[index]\n\n    if (\n      child.type === 'element' &&\n      child.tagName === 'li' &&\n      child.properties &&\n      Array.isArray(child.properties.className) &&\n      child.properties.className.includes('task-list-item')\n    ) {\n      properties.className = ['contains-task-list']\n      break\n    }\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: node.ordered ? 'ol' : 'ul',\n    properties,\n    children: state.wrap(results, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {Paragraph} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `paragraph` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Paragraph} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function paragraph(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'p',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Parents as HastParents, Root as HastRoot} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `root` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastRoot} node\n *   mdast node.\n * @returns {HastParents}\n *   hast node.\n */\nexport function root(state, node) {\n  /** @type {HastRoot} */\n  const result = {type: 'root', children: state.wrap(state.all(node))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {Strong} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `strong` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Strong} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function strong(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'strong',\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Table} from 'mdast'\n * @import {Element} from 'hast'\n * @import {State} from '../state.js'\n */\n\nimport {pointEnd, pointStart} from 'unist-util-position'\n\n/**\n * Turn an mdast `table` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {Table} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function table(state, node) {\n  const rows = state.all(node)\n  const firstRow = rows.shift()\n  /** @type {Array} */\n  const tableContent = []\n\n  if (firstRow) {\n    /** @type {Element} */\n    const head = {\n      type: 'element',\n      tagName: 'thead',\n      properties: {},\n      children: state.wrap([firstRow], true)\n    }\n    state.patch(node.children[0], head)\n    tableContent.push(head)\n  }\n\n  if (rows.length > 0) {\n    /** @type {Element} */\n    const body = {\n      type: 'element',\n      tagName: 'tbody',\n      properties: {},\n      children: state.wrap(rows, true)\n    }\n\n    const start = pointStart(node.children[1])\n    const end = pointEnd(node.children[node.children.length - 1])\n    if (start && end) body.position = {start, end}\n    tableContent.push(body)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'table',\n    properties: {},\n    children: state.wrap(tableContent, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element, ElementContent, Properties} from 'hast'\n * @import {Parents, TableRow} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `tableRow` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableRow} node\n *   mdast node.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {Element}\n *   hast node.\n */\nexport function tableRow(state, node, parent) {\n  const siblings = parent ? parent.children : undefined\n  // Generate a body row when without parent.\n  const rowIndex = siblings ? siblings.indexOf(node) : 1\n  const tagName = rowIndex === 0 ? 'th' : 'td'\n  // To do: option to use `style`?\n  const align = parent && parent.type === 'table' ? parent.align : undefined\n  const length = align ? align.length : node.children.length\n  let cellIndex = -1\n  /** @type {Array} */\n  const cells = []\n\n  while (++cellIndex < length) {\n    // Note: can also be undefined.\n    const cell = node.children[cellIndex]\n    /** @type {Properties} */\n    const properties = {}\n    const alignValue = align ? align[cellIndex] : undefined\n\n    if (alignValue) {\n      properties.align = alignValue\n    }\n\n    /** @type {Element} */\n    let result = {type: 'element', tagName, properties, children: []}\n\n    if (cell) {\n      result.children = state.all(cell)\n      state.patch(cell, result)\n      result = state.applyData(cell, result)\n    }\n\n    cells.push(result)\n  }\n\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'tr',\n    properties: {},\n    children: state.wrap(cells, true)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {TableCell} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `tableCell` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {TableCell} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function tableCell(state, node) {\n  // Note: this function is normally not called: see `table-row` for how rows\n  // and their cells are compiled.\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'td', // Assume body cell.\n    properties: {},\n    children: state.all(node)\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "const tab = 9 /* `\\t` */\nconst space = 32 /* ` ` */\n\n/**\n * Remove initial and final spaces and tabs at the line breaks in `value`.\n * Does not trim initial and final spaces and tabs of the value itself.\n *\n * @param {string} value\n *   Value to trim.\n * @returns {string}\n *   Trimmed value.\n */\nexport function trimLines(value) {\n  const source = String(value)\n  const search = /\\r?\\n|\\r/g\n  let match = search.exec(source)\n  let last = 0\n  /** @type {Array} */\n  const lines = []\n\n  while (match) {\n    lines.push(\n      trimLine(source.slice(last, match.index), last > 0, true),\n      match[0]\n    )\n\n    last = match.index + match[0].length\n    match = search.exec(source)\n  }\n\n  lines.push(trimLine(source.slice(last), last > 0, false))\n\n  return lines.join('')\n}\n\n/**\n * @param {string} value\n *   Line to trim.\n * @param {boolean} start\n *   Whether to trim the start of the line.\n * @param {boolean} end\n *   Whether to trim the end of the line.\n * @returns {string}\n *   Trimmed line.\n */\nfunction trimLine(value, start, end) {\n  let startIndex = 0\n  let endIndex = value.length\n\n  if (start) {\n    let code = value.codePointAt(startIndex)\n\n    while (code === tab || code === space) {\n      startIndex++\n      code = value.codePointAt(startIndex)\n    }\n  }\n\n  if (end) {\n    let code = value.codePointAt(endIndex - 1)\n\n    while (code === tab || code === space) {\n      endIndex--\n      code = value.codePointAt(endIndex - 1)\n    }\n  }\n\n  return endIndex > startIndex ? value.slice(startIndex, endIndex) : ''\n}\n", "/**\n * @import {Element as HastElement, Text as HastText} from 'hast'\n * @import {Text as MdastText} from 'mdast'\n * @import {State} from '../state.js'\n */\n\nimport {trimLines} from 'trim-lines'\n\n/**\n * Turn an mdast `text` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {MdastText} node\n *   mdast node.\n * @returns {HastElement | HastText}\n *   hast node.\n */\nexport function text(state, node) {\n  /** @type {HastText} */\n  const result = {type: 'text', value: trimLines(String(node.value))}\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Element} from 'hast'\n * @import {ThematicBreak} from 'mdast'\n * @import {State} from '../state.js'\n */\n\n/**\n * Turn an mdast `thematicBreak` node into hast.\n *\n * @param {State} state\n *   Info passed around.\n * @param {ThematicBreak} node\n *   mdast node.\n * @returns {Element}\n *   hast node.\n */\nexport function thematicBreak(state, node) {\n  /** @type {Element} */\n  const result = {\n    type: 'element',\n    tagName: 'hr',\n    properties: {},\n    children: []\n  }\n  state.patch(node, result)\n  return state.applyData(node, result)\n}\n", "/**\n * @import {Handlers} from '../state.js'\n */\n\nimport {blockquote} from './blockquote.js'\nimport {hardBreak} from './break.js'\nimport {code} from './code.js'\nimport {strikethrough} from './delete.js'\nimport {emphasis} from './emphasis.js'\nimport {footnoteReference} from './footnote-reference.js'\nimport {heading} from './heading.js'\nimport {html} from './html.js'\nimport {imageReference} from './image-reference.js'\nimport {image} from './image.js'\nimport {inlineCode} from './inline-code.js'\nimport {linkReference} from './link-reference.js'\nimport {link} from './link.js'\nimport {listItem} from './list-item.js'\nimport {list} from './list.js'\nimport {paragraph} from './paragraph.js'\nimport {root} from './root.js'\nimport {strong} from './strong.js'\nimport {table} from './table.js'\nimport {tableRow} from './table-row.js'\nimport {tableCell} from './table-cell.js'\nimport {text} from './text.js'\nimport {thematicBreak} from './thematic-break.js'\n\n/**\n * Default handlers for nodes.\n *\n * @satisfies {Handlers}\n */\nexport const handlers = {\n  blockquote,\n  break: hardBreak,\n  code,\n  delete: strikethrough,\n  emphasis,\n  footnoteReference,\n  heading,\n  html,\n  imageReference,\n  image,\n  inlineCode,\n  linkReference,\n  link,\n  listItem,\n  list,\n  paragraph,\n  // @ts-expect-error: root is different, but hard to type.\n  root,\n  strong,\n  table,\n  tableCell,\n  tableRow,\n  text,\n  thematicBreak,\n  toml: ignore,\n  yaml: ignore,\n  definition: ignore,\n  footnoteDefinition: ignore\n}\n\n// Return nothing for nodes that are ignored.\nfunction ignore() {\n  return undefined\n}\n", "import {\n  VOID, PRIMITIVE,\n  ARRAY, OBJECT,\n  DATE, REGEXP, MAP, SET,\n  ERROR, BIGINT\n} from './types.js';\n\nconst env = typeof self === 'object' ? self : globalThis;\n\nconst deserializer = ($, _) => {\n  const as = (out, index) => {\n    $.set(index, out);\n    return out;\n  };\n\n  const unpair = index => {\n    if ($.has(index))\n      return $.get(index);\n\n    const [type, value] = _[index];\n    switch (type) {\n      case PRIMITIVE:\n      case VOID:\n        return as(value, index);\n      case ARRAY: {\n        const arr = as([], index);\n        for (const index of value)\n          arr.push(unpair(index));\n        return arr;\n      }\n      case OBJECT: {\n        const object = as({}, index);\n        for (const [key, index] of value)\n          object[unpair(key)] = unpair(index);\n        return object;\n      }\n      case DATE:\n        return as(new Date(value), index);\n      case REGEXP: {\n        const {source, flags} = value;\n        return as(new RegExp(source, flags), index);\n      }\n      case MAP: {\n        const map = as(new Map, index);\n        for (const [key, index] of value)\n          map.set(unpair(key), unpair(index));\n        return map;\n      }\n      case SET: {\n        const set = as(new Set, index);\n        for (const index of value)\n          set.add(unpair(index));\n        return set;\n      }\n      case ERROR: {\n        const {name, message} = value;\n        return as(new env[name](message), index);\n      }\n      case BIGINT:\n        return as(BigInt(value), index);\n      case 'BigInt':\n        return as(Object(BigInt(value)), index);\n      case 'ArrayBuffer':\n        return as(new Uint8Array(value).buffer, value);\n      case 'DataView': {\n        const { buffer } = new Uint8Array(value);\n        return as(new DataView(buffer), value);\n      }\n    }\n    return as(new env[type](value), index);\n  };\n\n  return unpair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns a deserialized value from a serialized array of Records.\n * @param {Record[]} serialized a previously serialized value.\n * @returns {any}\n */\nexport const deserialize = serialized => deserializer(new Map, serialized)(0);\n", "import {\n  VOID, PRIMITIVE,\n  ARRAY, OBJECT,\n  DATE, REGEXP, MAP, SET,\n  ERROR, BIGINT\n} from './types.js';\n\nconst EMPTY = '';\n\nconst {toString} = {};\nconst {keys} = Object;\n\nconst typeOf = value => {\n  const type = typeof value;\n  if (type !== 'object' || !value)\n    return [PRIMITIVE, type];\n\n  const asString = toString.call(value).slice(8, -1);\n  switch (asString) {\n    case 'Array':\n      return [ARRAY, EMPTY];\n    case 'Object':\n      return [OBJECT, EMPTY];\n    case 'Date':\n      return [DATE, EMPTY];\n    case 'RegExp':\n      return [REGEXP, EMPTY];\n    case 'Map':\n      return [MAP, EMPTY];\n    case 'Set':\n      return [SET, EMPTY];\n    case 'DataView':\n      return [ARRAY, asString];\n  }\n\n  if (asString.includes('Array'))\n    return [ARRAY, asString];\n\n  if (asString.includes('Error'))\n    return [ERROR, asString];\n\n  return [OBJECT, asString];\n};\n\nconst shouldSkip = ([TYPE, type]) => (\n  TYPE === PRIMITIVE &&\n  (type === 'function' || type === 'symbol')\n);\n\nconst serializer = (strict, json, $, _) => {\n\n  const as = (out, value) => {\n    const index = _.push(out) - 1;\n    $.set(value, index);\n    return index;\n  };\n\n  const pair = value => {\n    if ($.has(value))\n      return $.get(value);\n\n    let [TYPE, type] = typeOf(value);\n    switch (TYPE) {\n      case PRIMITIVE: {\n        let entry = value;\n        switch (type) {\n          case 'bigint':\n            TYPE = BIGINT;\n            entry = value.toString();\n            break;\n          case 'function':\n          case 'symbol':\n            if (strict)\n              throw new TypeError('unable to serialize ' + type);\n            entry = null;\n            break;\n          case 'undefined':\n            return as([VOID], value);\n        }\n        return as([TYPE, entry], value);\n      }\n      case ARRAY: {\n        if (type) {\n          let spread = value;\n          if (type === 'DataView') {\n            spread = new Uint8Array(value.buffer);\n          }\n          else if (type === 'ArrayBuffer') {\n            spread = new Uint8Array(value);\n          }\n          return as([type, [...spread]], value);\n        }\n\n        const arr = [];\n        const index = as([TYPE, arr], value);\n        for (const entry of value)\n          arr.push(pair(entry));\n        return index;\n      }\n      case OBJECT: {\n        if (type) {\n          switch (type) {\n            case 'BigInt':\n              return as([type, value.toString()], value);\n            case 'Boolean':\n            case 'Number':\n            case 'String':\n              return as([type, value.valueOf()], value);\n          }\n        }\n\n        if (json && ('toJSON' in value))\n          return pair(value.toJSON());\n\n        const entries = [];\n        const index = as([TYPE, entries], value);\n        for (const key of keys(value)) {\n          if (strict || !shouldSkip(typeOf(value[key])))\n            entries.push([pair(key), pair(value[key])]);\n        }\n        return index;\n      }\n      case DATE:\n        return as([TYPE, value.toISOString()], value);\n      case REGEXP: {\n        const {source, flags} = value;\n        return as([TYPE, {source, flags}], value);\n      }\n      case MAP: {\n        const entries = [];\n        const index = as([TYPE, entries], value);\n        for (const [key, entry] of value) {\n          if (strict || !(shouldSkip(typeOf(key)) || shouldSkip(typeOf(entry))))\n            entries.push([pair(key), pair(entry)]);\n        }\n        return index;\n      }\n      case SET: {\n        const entries = [];\n        const index = as([TYPE, entries], value);\n        for (const entry of value) {\n          if (strict || !shouldSkip(typeOf(entry)))\n            entries.push(pair(entry));\n        }\n        return index;\n      }\n    }\n\n    const {message} = value;\n    return as([TYPE, {name: type, message}], value);\n  };\n\n  return pair;\n};\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} value a serializable value.\n * @param {{json?: boolean, lossy?: boolean}?} options an object with a `lossy` or `json` property that,\n *  if `true`, will not throw errors on incompatible types, and behave more\n *  like JSON stringify would behave. Symbol and Function will be discarded.\n * @returns {Record[]}\n */\n export const serialize = (value, {json, lossy} = {}) => {\n  const _ = [];\n  return serializer(!(json || lossy), !!json, new Map, _)(value), _;\n};\n", "import {deserialize} from './deserialize.js';\nimport {serialize} from './serialize.js';\n\n/**\n * @typedef {Array} Record a type representation\n */\n\n/**\n * Returns an array of serialized Records.\n * @param {any} any a serializable value.\n * @param {{transfer?: any[], json?: boolean, lossy?: boolean}?} options an object with\n * a transfer option (ignored when polyfilled) and/or non standard fields that\n * fallback to the polyfill if present.\n * @returns {Record[]}\n */\nexport default typeof structuredClone === \"function\" ?\n  /* c8 ignore start */\n  (any, options) => (\n    options && ('json' in options || 'lossy' in options) ?\n      deserialize(serialize(any, options)) : structuredClone(any)\n  ) :\n  (any, options) => deserialize(serialize(any, options));\n  /* c8 ignore stop */\n\nexport {deserialize, serialize};\n", "/**\n * @import {ElementContent, Element} from 'hast'\n * @import {State} from './state.js'\n */\n\n/**\n * @callback FootnoteBackContentTemplate\n *   Generate content for the backreference dynamically.\n *\n *   For the following markdown:\n *\n *   ```markdown\n *   Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n *   [^remark]: things about remark\n *   [^micromark]: things about micromark\n *   ```\n *\n *   This function will be called with:\n *\n *   *  `0` and `0` for the backreference from `things about micromark` to\n *      `alpha`, as it is the first used definition, and the first call to it\n *   *  `0` and `1` for the backreference from `things about micromark` to\n *      `bravo`, as it is the first used definition, and the second call to it\n *   *  `1` and `0` for the backreference from `things about remark` to\n *      `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {Array | ElementContent | string}\n *   Content for the backreference when linking back from definitions to their\n *   reference.\n *\n * @callback FootnoteBackLabelTemplate\n *   Generate a back label dynamically.\n *\n *   For the following markdown:\n *\n *   ```markdown\n *   Alpha[^micromark], bravo[^micromark], and charlie[^remark].\n *\n *   [^remark]: things about remark\n *   [^micromark]: things about micromark\n *   ```\n *\n *   This function will be called with:\n *\n *   *  `0` and `0` for the backreference from `things about micromark` to\n *      `alpha`, as it is the first used definition, and the first call to it\n *   *  `0` and `1` for the backreference from `things about micromark` to\n *      `bravo`, as it is the first used definition, and the second call to it\n *   *  `1` and `0` for the backreference from `things about remark` to\n *      `charlie`, as it is the second used definition\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {string}\n *   Back label to use when linking back from definitions to their reference.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {normalizeUri} from 'micromark-util-sanitize-uri'\n\n/**\n * Generate the default content that GitHub uses on backreferences.\n *\n * @param {number} _\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {Array}\n *   Content.\n */\nexport function defaultFootnoteBackContent(_, rereferenceIndex) {\n  /** @type {Array} */\n  const result = [{type: 'text', value: '\u21A9'}]\n\n  if (rereferenceIndex > 1) {\n    result.push({\n      type: 'element',\n      tagName: 'sup',\n      properties: {},\n      children: [{type: 'text', value: String(rereferenceIndex)}]\n    })\n  }\n\n  return result\n}\n\n/**\n * Generate the default label that GitHub uses on backreferences.\n *\n * @param {number} referenceIndex\n *   Index of the definition in the order that they are first referenced,\n *   0-indexed.\n * @param {number} rereferenceIndex\n *   Index of calls to the same definition, 0-indexed.\n * @returns {string}\n *   Label.\n */\nexport function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n  return (\n    'Back to reference ' +\n    (referenceIndex + 1) +\n    (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n  )\n}\n\n/**\n * Generate a hast footer for called footnote definitions.\n *\n * @param {State} state\n *   Info passed around.\n * @returns {Element | undefined}\n *   `section` element or `undefined`.\n */\n// eslint-disable-next-line complexity\nexport function footer(state) {\n  const clobberPrefix =\n    typeof state.options.clobberPrefix === 'string'\n      ? state.options.clobberPrefix\n      : 'user-content-'\n  const footnoteBackContent =\n    state.options.footnoteBackContent || defaultFootnoteBackContent\n  const footnoteBackLabel =\n    state.options.footnoteBackLabel || defaultFootnoteBackLabel\n  const footnoteLabel = state.options.footnoteLabel || 'Footnotes'\n  const footnoteLabelTagName = state.options.footnoteLabelTagName || 'h2'\n  const footnoteLabelProperties = state.options.footnoteLabelProperties || {\n    className: ['sr-only']\n  }\n  /** @type {Array} */\n  const listItems = []\n  let referenceIndex = -1\n\n  while (++referenceIndex < state.footnoteOrder.length) {\n    const definition = state.footnoteById.get(\n      state.footnoteOrder[referenceIndex]\n    )\n\n    if (!definition) {\n      continue\n    }\n\n    const content = state.all(definition)\n    const id = String(definition.identifier).toUpperCase()\n    const safeId = normalizeUri(id.toLowerCase())\n    let rereferenceIndex = 0\n    /** @type {Array} */\n    const backReferences = []\n    const counts = state.footnoteCounts.get(id)\n\n    // eslint-disable-next-line no-unmodified-loop-condition\n    while (counts !== undefined && ++rereferenceIndex <= counts) {\n      if (backReferences.length > 0) {\n        backReferences.push({type: 'text', value: ' '})\n      }\n\n      let children =\n        typeof footnoteBackContent === 'string'\n          ? footnoteBackContent\n          : footnoteBackContent(referenceIndex, rereferenceIndex)\n\n      if (typeof children === 'string') {\n        children = {type: 'text', value: children}\n      }\n\n      backReferences.push({\n        type: 'element',\n        tagName: 'a',\n        properties: {\n          href:\n            '#' +\n            clobberPrefix +\n            'fnref-' +\n            safeId +\n            (rereferenceIndex > 1 ? '-' + rereferenceIndex : ''),\n          dataFootnoteBackref: '',\n          ariaLabel:\n            typeof footnoteBackLabel === 'string'\n              ? footnoteBackLabel\n              : footnoteBackLabel(referenceIndex, rereferenceIndex),\n          className: ['data-footnote-backref']\n        },\n        children: Array.isArray(children) ? children : [children]\n      })\n    }\n\n    const tail = content[content.length - 1]\n\n    if (tail && tail.type === 'element' && tail.tagName === 'p') {\n      const tailTail = tail.children[tail.children.length - 1]\n      if (tailTail && tailTail.type === 'text') {\n        tailTail.value += ' '\n      } else {\n        tail.children.push({type: 'text', value: ' '})\n      }\n\n      tail.children.push(...backReferences)\n    } else {\n      content.push(...backReferences)\n    }\n\n    /** @type {Element} */\n    const listItem = {\n      type: 'element',\n      tagName: 'li',\n      properties: {id: clobberPrefix + 'fn-' + safeId},\n      children: state.wrap(content, true)\n    }\n\n    state.patch(definition, listItem)\n\n    listItems.push(listItem)\n  }\n\n  if (listItems.length === 0) {\n    return\n  }\n\n  return {\n    type: 'element',\n    tagName: 'section',\n    properties: {dataFootnotes: true, className: ['footnotes']},\n    children: [\n      {\n        type: 'element',\n        tagName: footnoteLabelTagName,\n        properties: {\n          ...structuredClone(footnoteLabelProperties),\n          id: 'footnote-label'\n        },\n        children: [{type: 'text', value: footnoteLabel}]\n      },\n      {type: 'text', value: '\\n'},\n      {\n        type: 'element',\n        tagName: 'ol',\n        properties: {},\n        children: state.wrap(listItems, true)\n      },\n      {type: 'text', value: '\\n'}\n    ]\n  }\n}\n", "/**\n * @import {\n *   ElementContent as HastElementContent,\n *   Element as HastElement,\n *   Nodes as HastNodes,\n *   Properties as HastProperties,\n *   RootContent as HastRootContent,\n *   Text as HastText\n * } from 'hast'\n * @import {\n *   Definition as MdastDefinition,\n *   FootnoteDefinition as MdastFootnoteDefinition,\n *   Nodes as MdastNodes,\n *   Parents as MdastParents\n * } from 'mdast'\n * @import {VFile} from 'vfile'\n * @import {\n *   FootnoteBackContentTemplate,\n *   FootnoteBackLabelTemplate\n * } from './footer.js'\n */\n\n/**\n * @callback Handler\n *   Handle a node.\n * @param {State} state\n *   Info passed around.\n * @param {any} node\n *   mdast node to handle.\n * @param {MdastParents | undefined} parent\n *   Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n *   hast node.\n *\n * @typedef {Partial>} Handlers\n *   Handle nodes.\n *\n * @typedef Options\n *   Configuration (optional).\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Whether to persist raw HTML in markdown in the hast tree (default:\n *   `false`).\n * @property {string | null | undefined} [clobberPrefix='user-content-']\n *   Prefix to use before the `id` property on footnotes to prevent them from\n *   *clobbering* (default: `'user-content-'`).\n *\n *   Pass `''` for trusted markdown and when you are careful with\n *   polyfilling.\n *   You could pass a different prefix.\n *\n *   DOM clobbering is this:\n *\n *   ```html\n *   

\n * \n * ```\n *\n * The above example shows that elements are made available by browsers, by\n * their ID, on the `window` object.\n * This is a security risk because you might be expecting some other variable\n * at that place.\n * It can also break polyfills.\n * Using a prefix solves these problems.\n * @property {VFile | null | undefined} [file]\n * Corresponding virtual file representing the input document (optional).\n * @property {FootnoteBackContentTemplate | string | null | undefined} [footnoteBackContent]\n * Content of the backreference back to references (default: `defaultFootnoteBackContent`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackContent(_, rereferenceIndex) {\n * const result = [{type: 'text', value: '\u21A9'}]\n *\n * if (rereferenceIndex > 1) {\n * result.push({\n * type: 'element',\n * tagName: 'sup',\n * properties: {},\n * children: [{type: 'text', value: String(rereferenceIndex)}]\n * })\n * }\n *\n * return result\n * }\n * ```\n *\n * This content is used in the `a` element of each backreference (the `\u21A9`\n * links).\n * @property {FootnoteBackLabelTemplate | string | null | undefined} [footnoteBackLabel]\n * Label to describe the backreference back to references (default:\n * `defaultFootnoteBackLabel`).\n *\n * The default value is:\n *\n * ```js\n * function defaultFootnoteBackLabel(referenceIndex, rereferenceIndex) {\n * return (\n * 'Back to reference ' +\n * (referenceIndex + 1) +\n * (rereferenceIndex > 1 ? '-' + rereferenceIndex : '')\n * )\n * }\n * ```\n *\n * Change it when the markdown is not in English.\n *\n * This label is used in the `ariaLabel` property on each backreference\n * (the `\u21A9` links).\n * It affects users of assistive technology.\n * @property {string | null | undefined} [footnoteLabel='Footnotes']\n * Textual label to use for the footnotes section (default: `'Footnotes'`).\n *\n * Change it when the markdown is not in English.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]\n * Properties to use on the footnote label (default: `{className:\n * ['sr-only']}`).\n *\n * Change it to show the label and add other properties.\n *\n * This label is typically hidden visually (assuming an `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass an empty string.\n * You can also add different properties.\n *\n * > **Note**: `id: 'footnote-label'` is always added, because footnote\n * > calls use it with `aria-describedby` to provide an accessible label.\n * @property {string | null | undefined} [footnoteLabelTagName='h2']\n * HTML tag name to use for the footnote label element (default: `'h2'`).\n *\n * Change it to match your document structure.\n *\n * This label is typically hidden visually (assuming a `sr-only` CSS class\n * is defined that does that) and so affects screen readers only.\n * If you do have such a class, but want to show this section to everyone,\n * pass different properties with the `footnoteLabelProperties` option.\n * @property {Handlers | null | undefined} [handlers]\n * Extra handlers for nodes (optional).\n * @property {Array | null | undefined} [passThrough]\n * List of custom mdast node types to pass through (keep) in hast (note that\n * the node itself is passed, but eventual children are transformed)\n * (optional).\n * @property {Handler | null | undefined} [unknownHandler]\n * Handler for all unknown nodes (optional).\n *\n * @typedef State\n * Info passed around.\n * @property {(node: MdastNodes) => Array} all\n * Transform the children of an mdast parent to hast.\n * @property {(from: MdastNodes, to: Type) => HastElement | Type} applyData\n * Honor the `data` of `from`, and generate an element instead of `node`.\n * @property {Map} definitionById\n * Definitions by their identifier.\n * @property {Map} footnoteById\n * Footnote definitions by their identifier.\n * @property {Map} footnoteCounts\n * Counts for how often the same footnote was called.\n * @property {Array} footnoteOrder\n * Identifiers of order when footnote calls first appear in tree order.\n * @property {Handlers} handlers\n * Applied handlers.\n * @property {(node: MdastNodes, parent: MdastParents | undefined) => Array | HastElementContent | undefined} one\n * Transform an mdast node to hast.\n * @property {Options} options\n * Configuration.\n * @property {(from: MdastNodes, node: HastNodes) => undefined} patch\n * Copy a node\u2019s positional info.\n * @property {(nodes: Array, loose?: boolean | undefined) => Array} wrap\n * Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {visit} from 'unist-util-visit'\nimport {position} from 'unist-util-position'\nimport {handlers as defaultHandlers} from './handlers/index.js'\n\nconst own = {}.hasOwnProperty\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/**\n * Create `state` from an mdast tree.\n *\n * @param {MdastNodes} tree\n * mdast node to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {State}\n * `state` function.\n */\nexport function createState(tree, options) {\n const settings = options || emptyOptions\n /** @type {Map} */\n const definitionById = new Map()\n /** @type {Map} */\n const footnoteById = new Map()\n /** @type {Map} */\n const footnoteCounts = new Map()\n /** @type {Handlers} */\n // @ts-expect-error: the root handler returns a root.\n // Hard to type.\n const handlers = {...defaultHandlers, ...settings.handlers}\n\n /** @type {State} */\n const state = {\n all,\n applyData,\n definitionById,\n footnoteById,\n footnoteCounts,\n footnoteOrder: [],\n handlers,\n one,\n options: settings,\n patch,\n wrap\n }\n\n visit(tree, function (node) {\n if (node.type === 'definition' || node.type === 'footnoteDefinition') {\n const map = node.type === 'definition' ? definitionById : footnoteById\n const id = String(node.identifier).toUpperCase()\n\n // Mimick CM behavior of link definitions.\n // See: .\n if (!map.has(id)) {\n // @ts-expect-error: node type matches map.\n map.set(id, node)\n }\n }\n })\n\n return state\n\n /**\n * Transform an mdast node into a hast node.\n *\n * @param {MdastNodes} node\n * mdast node.\n * @param {MdastParents | undefined} [parent]\n * Parent of `node`.\n * @returns {Array | HastElementContent | undefined}\n * Resulting hast node.\n */\n function one(node, parent) {\n const type = node.type\n const handle = state.handlers[type]\n\n if (own.call(state.handlers, type) && handle) {\n return handle(state, node, parent)\n }\n\n if (state.options.passThrough && state.options.passThrough.includes(type)) {\n if ('children' in node) {\n const {children, ...shallow} = node\n const result = structuredClone(shallow)\n // @ts-expect-error: TS doesn\u2019t understand\u2026\n result.children = state.all(node)\n // @ts-expect-error: TS doesn\u2019t understand\u2026\n return result\n }\n\n // @ts-expect-error: it\u2019s custom.\n return structuredClone(node)\n }\n\n const unknown = state.options.unknownHandler || defaultUnknownHandler\n\n return unknown(state, node, parent)\n }\n\n /**\n * Transform the children of an mdast node into hast nodes.\n *\n * @param {MdastNodes} parent\n * mdast node to compile\n * @returns {Array}\n * Resulting hast nodes.\n */\n function all(parent) {\n /** @type {Array} */\n const values = []\n\n if ('children' in parent) {\n const nodes = parent.children\n let index = -1\n while (++index < nodes.length) {\n const result = state.one(nodes[index], parent)\n\n // To do: see if we van clean this? Can we merge texts?\n if (result) {\n if (index && nodes[index - 1].type === 'break') {\n if (!Array.isArray(result) && result.type === 'text') {\n result.value = trimMarkdownSpaceStart(result.value)\n }\n\n if (!Array.isArray(result) && result.type === 'element') {\n const head = result.children[0]\n\n if (head && head.type === 'text') {\n head.value = trimMarkdownSpaceStart(head.value)\n }\n }\n }\n\n if (Array.isArray(result)) {\n values.push(...result)\n } else {\n values.push(result)\n }\n }\n }\n }\n\n return values\n }\n}\n\n/**\n * Copy a node\u2019s positional info.\n *\n * @param {MdastNodes} from\n * mdast node to copy from.\n * @param {HastNodes} to\n * hast node to copy into.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n if (from.position) to.position = position(from)\n}\n\n/**\n * Honor the `data` of `from` and maybe generate an element instead of `to`.\n *\n * @template {HastNodes} Type\n * Node type.\n * @param {MdastNodes} from\n * mdast node to use data from.\n * @param {Type} to\n * hast node to change.\n * @returns {HastElement | Type}\n * Nothing.\n */\nfunction applyData(from, to) {\n /** @type {HastElement | Type} */\n let result = to\n\n // Handle `data.hName`, `data.hProperties, `data.hChildren`.\n if (from && from.data) {\n const hName = from.data.hName\n const hChildren = from.data.hChildren\n const hProperties = from.data.hProperties\n\n if (typeof hName === 'string') {\n // Transforming the node resulted in an element with a different name\n // than wanted:\n if (result.type === 'element') {\n result.tagName = hName\n }\n // Transforming the node resulted in a non-element, which happens for\n // raw, text, and root nodes (unless custom handlers are passed).\n // The intent of `hName` is to create an element, but likely also to keep\n // the content around (otherwise: pass `hChildren`).\n else {\n /** @type {Array} */\n // @ts-expect-error: assume no doctypes in `root`.\n const children = 'children' in result ? result.children : [result]\n result = {type: 'element', tagName: hName, properties: {}, children}\n }\n }\n\n if (result.type === 'element' && hProperties) {\n Object.assign(result.properties, structuredClone(hProperties))\n }\n\n if (\n 'children' in result &&\n result.children &&\n hChildren !== null &&\n hChildren !== undefined\n ) {\n result.children = hChildren\n }\n }\n\n return result\n}\n\n/**\n * Transform an unknown node.\n *\n * @param {State} state\n * Info passed around.\n * @param {MdastNodes} node\n * Unknown mdast node.\n * @returns {HastElement | HastText}\n * Resulting hast node.\n */\nfunction defaultUnknownHandler(state, node) {\n const data = node.data || {}\n /** @type {HastElement | HastText} */\n const result =\n 'value' in node &&\n !(own.call(data, 'hProperties') || own.call(data, 'hChildren'))\n ? {type: 'text', value: node.value}\n : {\n type: 'element',\n tagName: 'div',\n properties: {},\n children: state.all(node)\n }\n\n state.patch(node, result)\n return state.applyData(node, result)\n}\n\n/**\n * Wrap `nodes` with line endings between each node.\n *\n * @template {HastRootContent} Type\n * Node type.\n * @param {Array} nodes\n * List of nodes to wrap.\n * @param {boolean | undefined} [loose=false]\n * Whether to add line endings at start and end (default: `false`).\n * @returns {Array}\n * Wrapped nodes.\n */\nexport function wrap(nodes, loose) {\n /** @type {Array} */\n const result = []\n let index = -1\n\n if (loose) {\n result.push({type: 'text', value: '\\n'})\n }\n\n while (++index < nodes.length) {\n if (index) result.push({type: 'text', value: '\\n'})\n result.push(nodes[index])\n }\n\n if (loose && nodes.length > 0) {\n result.push({type: 'text', value: '\\n'})\n }\n\n return result\n}\n\n/**\n * Trim spaces and tabs at the start of `value`.\n *\n * @param {string} value\n * Value to trim.\n * @returns {string}\n * Result.\n */\nfunction trimMarkdownSpaceStart(value) {\n let index = 0\n let code = value.charCodeAt(index)\n\n while (code === 9 || code === 32) {\n index++\n code = value.charCodeAt(index)\n }\n\n return value.slice(index)\n}\n", "/**\n * @import {Nodes as HastNodes} from 'hast'\n * @import {Nodes as MdastNodes} from 'mdast'\n * @import {Options} from './state.js'\n */\n\nimport {ok as assert} from 'devlop'\nimport {footer} from './footer.js'\nimport {createState} from './state.js'\n\n/**\n * Transform mdast to hast.\n *\n * ##### Notes\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most utilities ignore `raw` nodes but two notable ones don\u2019t:\n *\n * * `hast-util-to-html` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful\n * if you completely trust authors\n * * `hast-util-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc).\n * This is a heavy task as it needs a full HTML parser, but it is the only\n * way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark, which we follow by default.\n * They are supported by GitHub, so footnotes can be enabled in markdown with\n * `mdast-util-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes, which is hidden for sighted users but shown to\n * assistive technology.\n * When your page is not in English, you must define translated values.\n *\n * Back references use ARIA attributes, but the section label itself uses a\n * heading that is hidden with an `sr-only` class.\n * To show it to sighted users, define different attributes in\n * `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem, as it links footnote calls to footnote\n * definitions on the page through `id` attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * Example: headings (DOM clobbering) in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn\u2019t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value` (and doesn\u2019t have `data.hName`,\n * `data.hProperties`, or `data.hChildren`, see later), create a hast `text`\n * node\n * * otherwise, create a `
` element (which could be changed with\n * `data.hName`), with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @param {MdastNodes} tree\n * mdast tree.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {HastNodes}\n * hast tree.\n */\nexport function toHast(tree, options) {\n const state = createState(tree, options)\n const node = state.one(tree, undefined)\n const foot = footer(state)\n /** @type {HastNodes} */\n const result = Array.isArray(node)\n ? {type: 'root', children: node}\n : node || {type: 'root', children: []}\n\n if (foot) {\n // If there\u2019s a footer, there were definitions, meaning block\n // content.\n // So `result` is a parent node.\n assert('children' in result)\n result.children.push({type: 'text', value: '\\n'}, foot)\n }\n\n return result\n}\n", "/**\n * @import {Root as HastRoot} from 'hast'\n * @import {Root as MdastRoot} from 'mdast'\n * @import {Options as ToHastOptions} from 'mdast-util-to-hast'\n * @import {Processor} from 'unified'\n * @import {VFile} from 'vfile'\n */\n\n/**\n * @typedef {Omit} Options\n *\n * @callback TransformBridge\n * Bridge-mode.\n *\n * Runs the destination with the new hast tree.\n * Discards result.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {Promise}\n * Nothing.\n *\n * @callback TransformMutate\n * Mutate-mode.\n *\n * Further transformers run on the hast tree.\n * @param {MdastRoot} tree\n * Tree.\n * @param {VFile} file\n * File.\n * @returns {HastRoot}\n * Tree (hast).\n */\n\nimport {toHast} from 'mdast-util-to-hast'\n\n/**\n * Turn markdown into HTML.\n *\n * ##### Notes\n *\n * ###### Signature\n *\n * * if a processor is given,\n * runs the (rehype) plugins used on it with a hast tree,\n * then discards the result (*bridge mode*)\n * * otherwise,\n * returns a hast tree,\n * the plugins used after `remarkRehype` are rehype plugins (*mutate mode*)\n *\n * > \uD83D\uDC49 **Note**:\n * > It\u2019s highly unlikely that you want to pass a `processor`.\n *\n * ###### HTML\n *\n * Raw HTML is available in mdast as `html` nodes and can be embedded in hast\n * as semistandard `raw` nodes.\n * Most plugins ignore `raw` nodes but two notable ones don\u2019t:\n *\n * * `rehype-stringify` also has an option `allowDangerousHtml` which will\n * output the raw HTML.\n * This is typically discouraged as noted by the option name but is useful if\n * you completely trust authors\n * * `rehype-raw` can handle the raw embedded HTML strings by parsing them\n * into standard hast nodes (`element`, `text`, etc);\n * this is a heavy task as it needs a full HTML parser,\n * but it is the only way to support untrusted content\n *\n * ###### Footnotes\n *\n * Many options supported here relate to footnotes.\n * Footnotes are not specified by CommonMark,\n * which we follow by default.\n * They are supported by GitHub,\n * so footnotes can be enabled in markdown with `remark-gfm`.\n *\n * The options `footnoteBackLabel` and `footnoteLabel` define natural language\n * that explains footnotes,\n * which is hidden for sighted users but shown to assistive technology.\n * When your page is not in English,\n * you must define translated values.\n *\n * Back references use ARIA attributes,\n * but the section label itself uses a heading that is hidden with an\n * `sr-only` class.\n * To show it to sighted users,\n * define different attributes in `footnoteLabelProperties`.\n *\n * ###### Clobbering\n *\n * Footnotes introduces a problem,\n * as it links footnote calls to footnote definitions on the page through `id`\n * attributes generated from user content,\n * which results in DOM clobbering.\n *\n * DOM clobbering is this:\n *\n * ```html\n *

\n * \n * ```\n *\n * Elements by their ID are made available by browsers on the `window` object,\n * which is a security risk.\n * Using a prefix solves this problem.\n *\n * More information on how to handle clobbering and the prefix is explained in\n * *Example: headings (DOM clobbering)* in `rehype-sanitize`.\n *\n * ###### Unknown nodes\n *\n * Unknown nodes are nodes with a type that isn\u2019t in `handlers` or `passThrough`.\n * The default behavior for unknown nodes is:\n *\n * * when the node has a `value`\n * (and doesn\u2019t have `data.hName`, `data.hProperties`, or `data.hChildren`,\n * see later),\n * create a hast `text` node\n * * otherwise,\n * create a `
` element (which could be changed with `data.hName`),\n * with its children mapped from mdast to hast as well\n *\n * This behavior can be changed by passing an `unknownHandler`.\n *\n * @overload\n * @param {Processor} processor\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge}\n *\n * @overload\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformMutate}\n *\n * @overload\n * @param {Readonly | Processor | null | undefined} [destination]\n * @param {Readonly | null | undefined} [options]\n * @returns {TransformBridge | TransformMutate}\n *\n * @param {Readonly | Processor | null | undefined} [destination]\n * Processor or configuration (optional).\n * @param {Readonly | null | undefined} [options]\n * When a processor was given,\n * configuration (optional).\n * @returns {TransformBridge | TransformMutate}\n * Transform.\n */\nexport default function remarkRehype(destination, options) {\n if (destination && 'run' in destination) {\n /**\n * @type {TransformBridge}\n */\n return async function (tree, file) {\n // Cast because root in -> root out.\n const hastTree = /** @type {HastRoot} */ (\n toHast(tree, {file, ...options})\n )\n await destination.run(hastTree, file)\n }\n }\n\n /**\n * @type {TransformMutate}\n */\n return function (tree, file) {\n // Cast because root in -> root out.\n // To do: in the future, disallow ` || options` fallback.\n // With `unified-engine`, `destination` can be `undefined` but\n // `options` will be the file set.\n // We should not pass that as `options`.\n return /** @type {HastRoot} */ (\n toHast(tree, {file, ...(destination || options)})\n )\n }\n}\n", "/**\n * @import {Comment, Doctype, Element, Nodes, RootContent, Root, Text} from 'hast'\n * @import {DefaultTreeAdapterMap, Token} from 'parse5'\n * @import {Schema} from 'property-information'\n */\n\n/**\n * @typedef {DefaultTreeAdapterMap['document']} Parse5Document\n * @typedef {DefaultTreeAdapterMap['documentFragment']} Parse5Fragment\n * @typedef {DefaultTreeAdapterMap['element']} Parse5Element\n * @typedef {DefaultTreeAdapterMap['node']} Parse5Nodes\n * @typedef {DefaultTreeAdapterMap['documentType']} Parse5Doctype\n * @typedef {DefaultTreeAdapterMap['commentNode']} Parse5Comment\n * @typedef {DefaultTreeAdapterMap['textNode']} Parse5Text\n * @typedef {DefaultTreeAdapterMap['parentNode']} Parse5Parent\n * @typedef {Token.Attribute} Parse5Attribute\n *\n * @typedef Options\n * Configuration.\n * @property {Space | null | undefined} [space='html']\n * Which space the document is in (default: `'html'`).\n *\n * When an `` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it.\n *\n * @typedef {Exclude} Parse5Content\n *\n * @typedef {'html' | 'svg'} Space\n */\n\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {ok as assert} from 'devlop'\nimport {find, html, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\nconst own = {}.hasOwnProperty\n\nconst one = zwitch('type', {handlers: {root, element, text, comment, doctype}})\n\n/**\n * Transform a hast tree to a `parse5` AST.\n *\n * @param {Nodes} tree\n * Tree to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {Parse5Nodes}\n * `parse5` node.\n */\nexport function toParse5(tree, options) {\n const settings = options || emptyOptions\n const space = settings.space\n return one(tree, space === 'svg' ? svg : html)\n}\n\n/**\n * @param {Root} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Document}\n * Parse5 node.\n */\nfunction root(node, schema) {\n /** @type {Parse5Document} */\n const result = {\n nodeName: '#document',\n // @ts-expect-error: `parse5` uses enums, which are actually strings.\n mode: (node.data || {}).quirksMode ? 'quirks' : 'no-quirks',\n childNodes: []\n }\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Root} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Fragment}\n * Parse5 node.\n */\nfunction fragment(node, schema) {\n /** @type {Parse5Fragment} */\n const result = {nodeName: '#document-fragment', childNodes: []}\n result.childNodes = all(node.children, result, schema)\n patch(node, result)\n return result\n}\n\n/**\n * @param {Doctype} node\n * Node (hast) to transform.\n * @returns {Parse5Doctype}\n * Parse5 node.\n */\nfunction doctype(node) {\n /** @type {Parse5Doctype} */\n const result = {\n nodeName: '#documentType',\n name: 'html',\n publicId: '',\n systemId: '',\n parentNode: null\n }\n\n patch(node, result)\n return result\n}\n\n/**\n * @param {Text} node\n * Node (hast) to transform.\n * @returns {Parse5Text}\n * Parse5 node.\n */\nfunction text(node) {\n /** @type {Parse5Text} */\n const result = {\n nodeName: '#text',\n value: node.value,\n parentNode: null\n }\n patch(node, result)\n return result\n}\n\n/**\n * @param {Comment} node\n * Node (hast) to transform.\n * @returns {Parse5Comment}\n * Parse5 node.\n */\nfunction comment(node) {\n /** @type {Parse5Comment} */\n const result = {\n nodeName: '#comment',\n data: node.value,\n parentNode: null\n }\n\n patch(node, result)\n\n return result\n}\n\n/**\n * @param {Element} node\n * Node (hast) to transform.\n * @param {Schema} schema\n * Current schema.\n * @returns {Parse5Element}\n * Parse5 node.\n */\nfunction element(node, schema) {\n const parentSchema = schema\n let currentSchema = parentSchema\n\n if (\n node.type === 'element' &&\n node.tagName.toLowerCase() === 'svg' &&\n parentSchema.space === 'html'\n ) {\n currentSchema = svg\n }\n\n /** @type {Array} */\n const attrs = []\n /** @type {string} */\n let prop\n\n if (node.properties) {\n for (prop in node.properties) {\n if (prop !== 'children' && own.call(node.properties, prop)) {\n const result = createProperty(\n currentSchema,\n prop,\n node.properties[prop]\n )\n\n if (result) {\n attrs.push(result)\n }\n }\n }\n }\n\n const space = currentSchema.space\n // `html` and `svg` both have a space.\n assert(space)\n\n /** @type {Parse5Element} */\n const result = {\n nodeName: node.tagName,\n tagName: node.tagName,\n attrs,\n // @ts-expect-error: `parse5` types are wrong.\n namespaceURI: webNamespaces[space],\n childNodes: [],\n parentNode: null\n }\n result.childNodes = all(node.children, result, currentSchema)\n patch(node, result)\n\n if (node.tagName === 'template' && node.content) {\n // @ts-expect-error: `parse5` types are wrong.\n result.content = fragment(node.content, currentSchema)\n }\n\n return result\n}\n\n/**\n * Handle a property.\n *\n * @param {Schema} schema\n * Current schema.\n * @param {string} prop\n * Key.\n * @param {Array | boolean | number | string | null | undefined} value\n * hast property value.\n * @returns {Parse5Attribute | undefined}\n * Field for runtime, optional.\n */\nfunction createProperty(schema, prop, value) {\n const info = find(schema, prop)\n\n // Ignore nullish and `NaN` values.\n if (\n value === false ||\n value === null ||\n value === undefined ||\n (typeof value === 'number' && Number.isNaN(value)) ||\n (!value && info.boolean)\n ) {\n return\n }\n\n if (Array.isArray(value)) {\n // Accept `array`.\n // Most props are space-separated.\n value = info.commaSeparated ? commas(value) : spaces(value)\n }\n\n /** @type {Parse5Attribute} */\n const attribute = {\n name: info.attribute,\n value: value === true ? '' : String(value)\n }\n\n if (info.space && info.space !== 'html' && info.space !== 'svg') {\n const index = attribute.name.indexOf(':')\n\n if (index < 0) {\n attribute.prefix = ''\n } else {\n attribute.name = attribute.name.slice(index + 1)\n attribute.prefix = info.attribute.slice(0, index)\n }\n\n attribute.namespace = webNamespaces[info.space]\n }\n\n return attribute\n}\n\n/**\n * Transform all hast nodes.\n *\n * @param {Array} children\n * List of children.\n * @param {Parse5Parent} parentNode\n * `parse5` parent node.\n * @param {Schema} schema\n * Current schema.\n * @returns {Array}\n * Transformed children.\n */\nfunction all(children, parentNode, schema) {\n let index = -1\n /** @type {Array} */\n const results = []\n\n if (children) {\n while (++index < children.length) {\n /** @type {Parse5Content} */\n const child = one(children[index], schema)\n\n child.parentNode = parentNode\n\n results.push(child)\n }\n }\n\n return results\n}\n\n/**\n * Add position info from `from` to `to`.\n *\n * @param {Nodes} from\n * hast node.\n * @param {Parse5Nodes} to\n * `parse5` node.\n * @returns {undefined}\n * Nothing.\n */\nfunction patch(from, to) {\n const position = from.position\n\n if (position && position.start && position.end) {\n assert(typeof position.start.offset === 'number')\n assert(typeof position.end.offset === 'number')\n\n to.sourceCodeLocation = {\n startLine: position.start.line,\n startCol: position.start.column,\n startOffset: position.start.offset,\n endLine: position.end.line,\n endCol: position.end.column,\n endOffset: position.end.offset\n }\n }\n}\n", "/**\n * List of HTML void tag names.\n *\n * @type {Array}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n", "/**\n * @import {Options} from 'hast-util-raw'\n * @import {Comment, Doctype, Element, Nodes, RootContent, Root, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {DefaultTreeAdapterMap, ParserOptions} from 'parse5'\n * @import {Point} from 'unist'\n */\n\n/**\n * @typedef State\n * Info passed around about the current state.\n * @property {(node: Nodes) => undefined} handle\n * Add a hast node to the parser.\n * @property {Options} options\n * User configuration.\n * @property {Parser} parser\n * Current parser.\n * @property {boolean} stitches\n * Whether there are stitches.\n */\n\n/**\n * @typedef Stitch\n * Custom comment-like value we pass through parse5, which contains a\n * replacement node that we\u2019ll swap back in afterwards.\n * @property {'comment'} type\n * Node type.\n * @property {{stitch: Nodes}} value\n * Replacement value.\n */\n\nimport structuredClone from '@ungap/structured-clone'\nimport {fromParse5} from 'hast-util-from-parse5'\nimport {toParse5} from 'hast-util-to-parse5'\nimport {htmlVoidElements} from 'html-void-elements'\nimport {Parser, Token, TokenizerMode, html} from 'parse5'\nimport {pointEnd, pointStart} from 'unist-util-position'\nimport {visit} from 'unist-util-visit'\nimport {webNamespaces} from 'web-namespaces'\nimport {zwitch} from 'zwitch'\n\nconst gfmTagfilterExpression =\n /<(\\/?)(iframe|noembed|noframes|plaintext|script|style|textarea|title|xmp)(?=[\\t\\n\\f\\r />])/gi\n\n// Node types associated with MDX.\n// \nconst knownMdxNames = new Set([\n 'mdxFlowExpression',\n 'mdxJsxFlowElement',\n 'mdxJsxTextElement',\n 'mdxTextExpression',\n 'mdxjsEsm'\n])\n\n/** @type {ParserOptions} */\nconst parseOptions = {sourceCodeLocationInfo: true, scriptingEnabled: false}\n\n/**\n * Pass a hast tree through an HTML parser, which will fix nesting, and turn\n * raw nodes into actual nodes.\n *\n * @param {Nodes} tree\n * Original hast tree to transform.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {Nodes}\n * Parsed again tree.\n */\nexport function raw(tree, options) {\n const document = documentMode(tree)\n /** @type {(node: Nodes, state: State) => undefined} */\n const one = zwitch('type', {\n handlers: {root, element, text, comment, doctype, raw: handleRaw},\n unknown\n })\n\n /** @type {State} */\n const state = {\n parser: document\n ? new Parser(parseOptions)\n : Parser.getFragmentParser(undefined, parseOptions),\n handle(node) {\n one(node, state)\n },\n stitches: false,\n options: options || {}\n }\n\n one(tree, state)\n resetTokenizer(state, pointStart())\n\n const p5 = document ? state.parser.document : state.parser.getFragment()\n const result = fromParse5(p5, {\n // To do: support `space`?\n file: state.options.file\n })\n\n if (state.stitches) {\n visit(result, 'comment', function (node, index, parent) {\n const stitch = /** @type {Stitch} */ (/** @type {unknown} */ (node))\n if (stitch.value.stitch && parent && index !== undefined) {\n /** @type {Array} */\n const siblings = parent.children\n // @ts-expect-error: assume the stitch is allowed.\n siblings[index] = stitch.value.stitch\n return index\n }\n })\n }\n\n // Unpack if possible and when not given a `root`.\n if (\n result.type === 'root' &&\n result.children.length === 1 &&\n result.children[0].type === tree.type\n ) {\n return result.children[0]\n }\n\n return result\n}\n\n/**\n * Transform all nodes\n *\n * @param {Array} nodes\n * hast content.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction all(nodes, state) {\n let index = -1\n\n /* istanbul ignore else - invalid nodes, see rehypejs/rehype-raw#7. */\n if (nodes) {\n while (++index < nodes.length) {\n state.handle(nodes[index])\n }\n }\n}\n\n/**\n * Transform a root.\n *\n * @param {Root} node\n * hast root node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction root(node, state) {\n all(node.children, state)\n}\n\n/**\n * Transform an element.\n *\n * @param {Element} node\n * hast element node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction element(node, state) {\n startTag(node, state)\n\n all(node.children, state)\n\n endTag(node, state)\n}\n\n/**\n * Transform a text.\n *\n * @param {Text} node\n * hast text node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction text(node, state) {\n // Allow `DATA` through `PLAINTEXT`,\n // but when hanging in a tag for example,\n // switch back to `DATA`.\n // Note: `State` is not exposed by `parse5`, so these numbers are fragile.\n // See: \n if (state.parser.tokenizer.state > 4) {\n state.parser.tokenizer.state = 0\n }\n\n /** @type {Token.CharacterToken} */\n const token = {\n type: Token.TokenType.CHARACTER,\n chars: node.value,\n location: createParse5Location(node)\n }\n\n resetTokenizer(state, pointStart(node))\n // @ts-expect-error: private.\n state.parser.currentToken = token\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n}\n\n/**\n * Transform a doctype.\n *\n * @param {Doctype} node\n * hast doctype node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction doctype(node, state) {\n /** @type {Token.DoctypeToken} */\n const token = {\n type: Token.TokenType.DOCTYPE,\n name: 'html',\n forceQuirks: false,\n publicId: '',\n systemId: '',\n location: createParse5Location(node)\n }\n\n resetTokenizer(state, pointStart(node))\n // @ts-expect-error: private.\n state.parser.currentToken = token\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n}\n\n/**\n * Transform a stitch.\n *\n * @param {Nodes} node\n * unknown node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction stitch(node, state) {\n // Mark that there are stitches, so we need to walk the tree and revert them.\n state.stitches = true\n\n /** @type {Nodes} */\n const clone = cloneWithoutChildren(node)\n\n // Recurse, because to somewhat handle `[]` (where `[]` denotes the\n // passed through node).\n if ('children' in node && 'children' in clone) {\n // Root in root out.\n const fakeRoot = /** @type {Root} */ (\n raw({type: 'root', children: node.children}, state.options)\n )\n clone.children = fakeRoot.children\n }\n\n // Hack: `value` is supposed to be a string, but as none of the tools\n // (`parse5` or `hast-util-from-parse5`) looks at it, we can pass nodes\n // through.\n comment({type: 'comment', value: {stitch: clone}}, state)\n}\n\n/**\n * Transform a comment (or stitch).\n *\n * @param {Comment | Stitch} node\n * hast comment node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction comment(node, state) {\n /** @type {string} */\n // @ts-expect-error: we pass stitches through.\n const data = node.value\n\n /** @type {Token.CommentToken} */\n const token = {\n type: Token.TokenType.COMMENT,\n data,\n location: createParse5Location(node)\n }\n resetTokenizer(state, pointStart(node))\n // @ts-expect-error: private.\n state.parser.currentToken = token\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n}\n\n/**\n * Transform a raw node.\n *\n * @param {Raw} node\n * hast raw node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction handleRaw(node, state) {\n // Reset preprocessor:\n // See: .\n state.parser.tokenizer.preprocessor.html = ''\n state.parser.tokenizer.preprocessor.pos = -1\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.lastGapPos = -2\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.gapStack = []\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.skipNextNewLine = false\n state.parser.tokenizer.preprocessor.lastChunkWritten = false\n state.parser.tokenizer.preprocessor.endOfChunkHit = false\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.isEol = false\n\n // Now pass `node.value`.\n setPoint(state, pointStart(node))\n\n state.parser.tokenizer.write(\n state.options.tagfilter\n ? node.value.replace(gfmTagfilterExpression, '<$1$2')\n : node.value,\n false\n )\n // @ts-expect-error: private.\n state.parser.tokenizer._runParsingLoop()\n\n // Character references hang, so if we ended there, we need to flush\n // those too.\n // We reset the preprocessor as if the document ends here.\n // Then one single call to the relevant state does the trick, parse5\n // consumes the whole token.\n\n // Note: `State` is not exposed by `parse5`, so these numbers are fragile.\n // See: \n // Note: a change to `parse5`, which breaks this, was merged but not released.\n // Investigate when it is.\n // To do: remove next major.\n /* c8 ignore next 12 -- removed in */\n if (\n state.parser.tokenizer.state === 72 /* NAMED_CHARACTER_REFERENCE */ ||\n // @ts-expect-error: removed.\n state.parser.tokenizer.state === 78 /* NUMERIC_CHARACTER_REFERENCE_END */\n ) {\n state.parser.tokenizer.preprocessor.lastChunkWritten = true\n /** @type {number} */\n // @ts-expect-error: private.\n const cp = state.parser.tokenizer._consume()\n // @ts-expect-error: private.\n state.parser.tokenizer._callState(cp)\n }\n}\n\n/**\n * Crash on an unknown node.\n *\n * @param {unknown} node_\n * unknown node.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Never.\n */\nfunction unknown(node_, state) {\n const node = /** @type {Nodes} */ (node_)\n\n if (\n state.options.passThrough &&\n state.options.passThrough.includes(node.type)\n ) {\n stitch(node, state)\n } else {\n let extra = ''\n\n if (knownMdxNames.has(node.type)) {\n extra =\n \". It looks like you are using MDX nodes with `hast-util-raw` (or `rehype-raw`). If you use this because you are using remark or rehype plugins that inject `'html'` nodes, then please raise an issue with that plugin, as its a bad and slow idea. If you use this because you are using markdown syntax, then you have to configure this utility (or plugin) to pass through these nodes (see `passThrough` in docs), but you can also migrate to use the MDX syntax\"\n }\n\n throw new Error('Cannot compile `' + node.type + '` node' + extra)\n }\n}\n\n/**\n * Reset the tokenizer of a parser.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Point | undefined} point\n * Point.\n * @returns {undefined}\n * Nothing.\n */\nfunction resetTokenizer(state, point) {\n setPoint(state, point)\n\n // Process final characters if they\u2019re still there after hibernating.\n /** @type {Token.CharacterToken} */\n // @ts-expect-error: private.\n const token = state.parser.tokenizer.currentCharacterToken\n\n if (token && token.location) {\n token.location.endLine = state.parser.tokenizer.preprocessor.line\n token.location.endCol = state.parser.tokenizer.preprocessor.col + 1\n token.location.endOffset = state.parser.tokenizer.preprocessor.offset + 1\n // @ts-expect-error: private.\n state.parser.currentToken = token\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n }\n\n // Reset tokenizer:\n // See: .\n // Especially putting it back in the `data` state is useful: some elements,\n // like textareas and iframes, change the state.\n // See GH-7.\n // But also if broken HTML is in `raw`, and then a correct element is given.\n // See GH-11.\n // @ts-expect-error: private.\n state.parser.tokenizer.paused = false\n // @ts-expect-error: private.\n state.parser.tokenizer.inLoop = false\n\n // Note: don\u2019t reset `state`, `inForeignNode`, or `lastStartTagName`, we\n // manually update those when needed.\n state.parser.tokenizer.active = false\n // @ts-expect-error: private.\n state.parser.tokenizer.returnState = TokenizerMode.DATA\n // @ts-expect-error: private.\n state.parser.tokenizer.charRefCode = -1\n // @ts-expect-error: private.\n state.parser.tokenizer.consumedAfterSnapshot = -1\n // @ts-expect-error: private.\n state.parser.tokenizer.currentLocation = null\n // @ts-expect-error: private.\n state.parser.tokenizer.currentCharacterToken = null\n // @ts-expect-error: private.\n state.parser.tokenizer.currentToken = null\n // @ts-expect-error: private.\n state.parser.tokenizer.currentAttr = {name: '', value: ''}\n}\n\n/**\n * Set current location.\n *\n * @param {State} state\n * Info passed around about the current state.\n * @param {Point | undefined} point\n * Point.\n * @returns {undefined}\n * Nothing.\n */\nfunction setPoint(state, point) {\n if (point && point.offset !== undefined) {\n /** @type {Token.Location} */\n const location = {\n startLine: point.line,\n startCol: point.column,\n startOffset: point.offset,\n endLine: -1,\n endCol: -1,\n endOffset: -1\n }\n\n // @ts-expect-error: private.\n // type-coverage:ignore-next-line\n state.parser.tokenizer.preprocessor.lineStartPos = -point.column + 1 // Looks weird, but ensures we get correct positional info.\n state.parser.tokenizer.preprocessor.droppedBufferSize = point.offset\n state.parser.tokenizer.preprocessor.line = point.line\n // @ts-expect-error: private.\n state.parser.tokenizer.currentLocation = location\n }\n}\n\n/**\n * Emit a start tag.\n *\n * @param {Element} node\n * Element.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction startTag(node, state) {\n const tagName = node.tagName.toLowerCase()\n\n // Ignore tags if we\u2019re in plain text.\n if (state.parser.tokenizer.state === TokenizerMode.PLAINTEXT) return\n\n resetTokenizer(state, pointStart(node))\n\n const current = state.parser.openElements.current\n let ns = 'namespaceURI' in current ? current.namespaceURI : webNamespaces.html\n\n if (ns === webNamespaces.html && tagName === 'svg') {\n ns = webNamespaces.svg\n }\n\n const result = toParse5(\n // Shallow clone to not delve into `children`: we only need the attributes.\n {...node, children: []},\n {space: ns === webNamespaces.svg ? 'svg' : 'html'}\n )\n\n /** @type {Token.TagToken} */\n const tag = {\n type: Token.TokenType.START_TAG,\n tagName,\n tagID: html.getTagID(tagName),\n // We always send start and end tags.\n selfClosing: false,\n ackSelfClosing: false,\n // Always element.\n /* c8 ignore next */\n attrs: 'attrs' in result ? result.attrs : [],\n location: createParse5Location(node)\n }\n\n // The HTML parsing algorithm works by doing half of the state management in\n // the tokenizer and half in the parser.\n // We can\u2019t use the tokenizer here, as we don\u2019t have strings.\n // So we act *as if* the tokenizer emits tokens:\n\n // @ts-expect-error: private.\n state.parser.currentToken = tag\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n\n // \u2026but then we still need a bunch of work that the tokenizer would normally\n // do, such as:\n\n // Set a tag name, similar to how the tokenizer would do it.\n state.parser.tokenizer.lastStartTagName = tagName\n\n // `inForeignNode` is correctly set by the parser.\n}\n\n/**\n * Emit an end tag.\n *\n * @param {Element} node\n * Element.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {undefined}\n * Nothing.\n */\nfunction endTag(node, state) {\n const tagName = node.tagName.toLowerCase()\n // Do not emit closing tags for HTML void elements.\n if (\n !state.parser.tokenizer.inForeignNode &&\n htmlVoidElements.includes(tagName)\n ) {\n return\n }\n\n // Ignore tags if we\u2019re in plain text.\n if (state.parser.tokenizer.state === TokenizerMode.PLAINTEXT) return\n\n resetTokenizer(state, pointEnd(node))\n\n /** @type {Token.TagToken} */\n const tag = {\n type: Token.TokenType.END_TAG,\n tagName,\n tagID: html.getTagID(tagName),\n selfClosing: false,\n ackSelfClosing: false,\n attrs: [],\n location: createParse5Location(node)\n }\n\n // The HTML parsing algorithm works by doing half of the state management in\n // the tokenizer and half in the parser.\n // We can\u2019t use the tokenizer here, as we don\u2019t have strings.\n // So we act *as if* the tokenizer emits tokens:\n\n // @ts-expect-error: private.\n state.parser.currentToken = tag\n // @ts-expect-error: private.\n state.parser._processToken(state.parser.currentToken)\n\n // \u2026but then we still need a bunch of work that the tokenizer would normally\n // do, such as:\n\n // Switch back to the data state after alternative states that don\u2019t accept\n // tags:\n if (\n // Current element is closed.\n tagName === state.parser.tokenizer.lastStartTagName &&\n // `