diff --git a/js/dist/chat/chat.css b/js/dist/chat/chat.css index 75023df8..ff7e9c95 100644 --- a/js/dist/chat/chat.css +++ b/js/dist/chat/chat.css @@ -1,2 +1,2 @@ -@charset "UTF-8";shiny-chat-container{--shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef);--shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), .06);--_chat-container-padding: .25rem;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;margin:0 auto;gap:0;padding:var(--_chat-container-padding);padding-bottom:0}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-underline-offset:2px;text-underline-offset:4px;text-decoration-thickness:2px;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)}shiny-chat-messages{display:flex;flex-direction:column;gap:2rem;overflow:auto;margin-bottom:1rem;--_scroll-margin: 1rem;padding-right:var(--_scroll-margin);margin-right:calc(-1 * var(--_scroll-margin))}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(--shiny-chat-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-markdown-stream{align-self:center}shiny-user-message{align-self:flex-end;padding:.75rem 1rem;border-radius:10px;background-color:var(--shiny-chat-user-message-bg);max-width:100%}shiny-user-message[content_type=text],shiny-chat-message[content_type=text]{white-space:pre;overflow-x:auto}shiny-chat-input{--_input-padding-top: 0;--_input-padding-bottom: var(--_chat-container-padding, .25rem);margin-top:calc(-1 * var(--_input-padding-top));position:sticky;bottom:calc(-1 * var(--_input-padding-bottom) + 4px);padding-block:var(--_input-padding-top) var(--_input-padding-bottom)}shiny-chat-input textarea{--bs-border-radius: 26px;resize:none;padding-right:36px!important;max-height:175px}shiny-chat-input textarea::placeholder{color:var(--bs-gray-600, #707782)!important}shiny-chat-input button{position:absolute;bottom:calc(6px + var(--_input-padding-bottom));right:8px;background-color:transparent;color:var(--bs-primary, #007bc2);transition:color .25s ease-in-out;border:none;padding:0;cursor:pointer;line-height:16px;border-radius:50%}shiny-chat-input button:disabled{cursor:not-allowed;color:var(--bs-gray-500, #8d959e)}.shiny-busy:has(shiny-chat-input[disabled]):after{display:none} +@charset "UTF-8";.shiny-tool-card{max-height:var(--shiny-tool-card-max-height, 500px)}.shiny-tool-card .tool-intent{opacity:.66;font-style:italic;font-weight:400}.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:.66}.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{transition:max-height .3s ease-out,opacity .2s ease-out;opacity:1;overflow:auto}.shiny-tool-card>.card-body.collapsed{max-height:0;opacity:0;padding:0}.shiny-tool-card pre{margin:0;white-space:pre-wrap;padding:1em;border-radius:var(--bs-border-radius, 4px)}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-request[hidden]+shiny-tool-result:first-of-type{margin-top:0}shiny-chat-container{--shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef);--shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), .06);--_chat-container-padding: .25rem;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;margin:0 auto;gap:0;padding:var(--_chat-container-padding);padding-bottom:0}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-underline-offset:2px;text-underline-offset:4px;text-decoration-thickness:2px;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)}shiny-chat-messages{display:flex;flex-direction:column;gap:2rem;overflow:auto;margin-bottom:1rem;--_scroll-margin: 1rem;padding-right:var(--_scroll-margin);margin-right:calc(-1 * var(--_scroll-margin))}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(--shiny-chat-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-markdown-stream{align-self:center}shiny-user-message{align-self:flex-end;padding:.75rem 1rem;border-radius:10px;background-color:var(--shiny-chat-user-message-bg);max-width:100%}shiny-user-message[content_type=text],shiny-chat-message[content_type=text]{white-space:pre;overflow-x:auto}shiny-chat-input{--_input-padding-top: 0;--_input-padding-bottom: var(--_chat-container-padding, .25rem);margin-top:calc(-1 * var(--_input-padding-top));position:sticky;bottom:calc(-1 * var(--_input-padding-bottom) + 4px);padding-block:var(--_input-padding-top) var(--_input-padding-bottom)}shiny-chat-input textarea{--bs-border-radius: 26px;resize:none;padding-right:36px!important;max-height:175px}shiny-chat-input textarea::placeholder{color:var(--bs-gray-600, #707782)!important}shiny-chat-input button{position:absolute;bottom:calc(6px + var(--_input-padding-bottom));right:8px;background-color:transparent;color:var(--bs-primary, #007bc2);transition:color .25s ease-in-out;border:none;padding:0;cursor:pointer;line-height:16px;border-radius:50%}shiny-chat-input button:disabled{cursor:not-allowed;color:var(--bs-gray-500, #8d959e)}.shiny-busy:has(shiny-chat-input[disabled]):after{display:none} /*# sourceMappingURL=chat.css.map */ diff --git a/js/dist/chat/chat.css.map b/js/dist/chat/chat.css.map index c0cfa22f..89201ef7 100644 --- a/js/dist/chat/chat.css.map +++ b/js/dist/chat/chat.css.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../src/chat/chat.scss"], - "sourcesContent": ["@charset \"UTF-8\";\nshiny-chat-container {\n --shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef);\n --shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), 0.06);\n --_chat-container-padding: 0.25rem;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr auto;\n margin: 0 auto;\n gap: 0;\n padding: var(--_chat-container-padding);\n padding-bottom: 0;\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: 2px;\n text-underline-offset: 4px;\n text-decoration-thickness: 2px;\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\nshiny-chat-messages {\n display: flex;\n flex-direction: column;\n gap: 2rem;\n overflow: auto;\n margin-bottom: 1rem;\n --_scroll-margin: 1rem;\n padding-right: var(--_scroll-margin);\n margin-right: calc(-1 * var(--_scroll-margin));\n}\n\nshiny-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}\nshiny-chat-message > * {\n height: fit-content;\n}\nshiny-chat-message .message-icon {\n border-radius: 50%;\n border: var(--shiny-chat-border);\n height: 2rem;\n width: 2rem;\n display: grid;\n place-items: center;\n overflow: clip;\n}\nshiny-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}\nshiny-chat-message .message-icon > svg,\nshiny-chat-message .message-icon > .icon,\nshiny-chat-message .message-icon > .fa,\nshiny-chat-message .message-icon > .bi {\n max-height: 66%;\n max-width: 66%;\n}\nshiny-chat-message .message-icon:has(> .border-0) {\n border: none;\n border-radius: unset;\n overflow: unset;\n}\nshiny-chat-message shiny-markdown-stream {\n align-self: center;\n}\n\n/* Align the user message to the right */\nshiny-user-message {\n align-self: flex-end;\n padding: 0.75rem 1rem;\n border-radius: 10px;\n background-color: var(--shiny-chat-user-message-bg);\n max-width: 100%;\n}\n\nshiny-user-message[content_type=text],\nshiny-chat-message[content_type=text] {\n white-space: pre;\n overflow-x: auto;\n}\n\nshiny-chat-input {\n --_input-padding-top: 0;\n --_input-padding-bottom: var(--_chat-container-padding, 0.25rem);\n margin-top: calc(-1 * var(--_input-padding-top));\n position: sticky;\n bottom: calc(-1 * var(--_input-padding-bottom) + 4px);\n padding-block: var(--_input-padding-top) var(--_input-padding-bottom);\n}\nshiny-chat-input textarea {\n --bs-border-radius: 26px;\n resize: none;\n padding-right: 36px !important;\n max-height: 175px;\n}\nshiny-chat-input textarea::placeholder {\n color: var(--bs-gray-600, #707782) !important;\n}\nshiny-chat-input button {\n position: absolute;\n bottom: calc(6px + var(--_input-padding-bottom));\n right: 8px;\n background-color: transparent;\n color: var(--bs-primary, #007bc2);\n transition: color 0.25s ease-in-out;\n border: none;\n padding: 0;\n cursor: pointer;\n line-height: 16px;\n border-radius: 50%;\n}\nshiny-chat-input button:disabled {\n cursor: not-allowed;\n color: var(--bs-gray-500, #8d959e);\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}"], - "mappings": "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", + "sourcesContent": ["@charset \"UTF-8\";\n.shiny-tool-card {\n max-height: var(--shiny-tool-card-max-height, 500px);\n}\n.shiny-tool-card .tool-intent {\n opacity: 0.66;\n font-style: italic;\n font-weight: normal;\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: 0.66;\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 transition: max-height 0.3s ease-out, 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 pre {\n margin: 0;\n white-space: pre-wrap;\n padding: 1em;\n border-radius: var(--bs-border-radius, 4px);\n}\n\nshiny-tool-result,\nshiny-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}\nshiny-tool-result[hidden],\nshiny-tool-request[hidden] {\n display: none;\n}\n\nshiny-tool-result + p,\nshiny-tool-request + p {\n margin-top: 1rem;\n}\n\nshiny-tool-result:first-child,\nshiny-tool-request:first-child {\n margin-top: 0;\n}\nshiny-tool-result:last-child,\nshiny-tool-request:last-child {\n margin-bottom: 0;\n}\n\nshiny-tool-request[hidden] + shiny-tool-result:first-of-type {\n margin-top: 0;\n}\n\nshiny-chat-container {\n --shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef);\n --shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), 0.06);\n --_chat-container-padding: 0.25rem;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr auto;\n margin: 0 auto;\n gap: 0;\n padding: var(--_chat-container-padding);\n padding-bottom: 0;\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: 2px;\n text-underline-offset: 4px;\n text-decoration-thickness: 2px;\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\nshiny-chat-messages {\n display: flex;\n flex-direction: column;\n gap: 2rem;\n overflow: auto;\n margin-bottom: 1rem;\n --_scroll-margin: 1rem;\n padding-right: var(--_scroll-margin);\n margin-right: calc(-1 * var(--_scroll-margin));\n}\n\nshiny-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}\nshiny-chat-message > * {\n height: fit-content;\n}\nshiny-chat-message .message-icon {\n border-radius: 50%;\n border: var(--shiny-chat-border);\n height: 2rem;\n width: 2rem;\n display: grid;\n place-items: center;\n overflow: clip;\n}\nshiny-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}\nshiny-chat-message .message-icon > svg,\nshiny-chat-message .message-icon > .icon,\nshiny-chat-message .message-icon > .fa,\nshiny-chat-message .message-icon > .bi {\n max-height: 66%;\n max-width: 66%;\n}\nshiny-chat-message .message-icon:has(> .border-0) {\n border: none;\n border-radius: unset;\n overflow: unset;\n}\nshiny-chat-message shiny-markdown-stream {\n align-self: center;\n}\n\n/* Align the user message to the right */\nshiny-user-message {\n align-self: flex-end;\n padding: 0.75rem 1rem;\n border-radius: 10px;\n background-color: var(--shiny-chat-user-message-bg);\n max-width: 100%;\n}\n\nshiny-user-message[content_type=text],\nshiny-chat-message[content_type=text] {\n white-space: pre;\n overflow-x: auto;\n}\n\nshiny-chat-input {\n --_input-padding-top: 0;\n --_input-padding-bottom: var(--_chat-container-padding, 0.25rem);\n margin-top: calc(-1 * var(--_input-padding-top));\n position: sticky;\n bottom: calc(-1 * var(--_input-padding-bottom) + 4px);\n padding-block: var(--_input-padding-top) var(--_input-padding-bottom);\n}\nshiny-chat-input textarea {\n --bs-border-radius: 26px;\n resize: none;\n padding-right: 36px !important;\n max-height: 175px;\n}\nshiny-chat-input textarea::placeholder {\n color: var(--bs-gray-600, #707782) !important;\n}\nshiny-chat-input button {\n position: absolute;\n bottom: calc(6px + var(--_input-padding-bottom));\n right: 8px;\n background-color: transparent;\n color: var(--bs-primary, #007bc2);\n transition: color 0.25s ease-in-out;\n border: none;\n padding: 0;\n cursor: pointer;\n line-height: 16px;\n border-radius: 50%;\n}\nshiny-chat-input button:disabled {\n cursor: not-allowed;\n color: var(--bs-gray-500, #8d959e);\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}"], + "mappings": "iBACA,CAAC,gBACC,WAAY,IAAI,4BAA4B,EAAE,MAChD,CACA,CAHC,gBAGgB,CAAC,YAChB,QAAS,IACT,WAAY,OACZ,YAAa,GACf,CACA,CARC,gBAQgB,CAAC,YAChB,oBAAqB,IACvB,CACA,CAXC,gBAWgB,CAAC,UAChB,cAAc,IAAI,2BAA2B,EAAE,MAC/C,MAAO,IAAI,cACX,OAAQ,IAAI,cACZ,QAAS,KACT,YAAa,OACb,KAAM,IACR,CACA,CAnBC,gBAmBgB,CARC,UAQU,CAAC,gBAC3B,oBAAoB,IAAI,cACxB,qBAAqB,IAAI,cACzB,2BAA2B,KAC3B,MAAO,IAAI,+BAA+B,EAAE,IAAI,YAAY,EAAE,SAChE,CACA,CAzBC,gBAyBgB,CAAC,gBAChB,YAAa,GACf,CACA,CA5BC,gBA4BgB,CAAC,YAClB,CA7BC,gBA6BgB,CAAC,YAChB,UAAW,QACX,YAAa,IACb,WAAY,UACd,CACA,CAlCC,eAkCgB,CAAE,CAND,YAOhB,QAAS,KACT,eAAgB,IAChB,YAAa,OACb,WAAY,QACZ,IAAK,MACL,MAAO,KACP,WAAY,KACZ,OAAQ,QACR,iBAAkB,EAClB,mBAAoB,EACpB,kBAAmB,CACrB,CACA,CA/CC,eA+CgB,CAAE,CAnBD,WAmBa,CAAC,qBAC9B,oBAAqB,CACvB,CACA,CAlDC,eAkDgB,CAAE,CAtBD,WAsBc,CAAE,EAChC,YAAa,CACf,CACA,CArDC,eAqDgB,CAAE,CAzBD,WAyBa,OAAQ,CArDtC,eAqDuD,CAAE,CAzBxC,WAyBoD,eACpE,iBAAkB,KAAK,IAAI,wBAAwB,CAAE,KACrD,QAAS,IACX,CACA,CAzDC,eAyDgB,CAAE,CA7BD,YA6Bc,CAAC,cAC/B,YAAa,GACf,CACA,CA5DC,eA4DgB,CAAE,CAhCD,YAgCc,CAAC,mBAC/B,QAAS,KACT,YAAa,OACb,MAAO,IACP,OAAQ,IACR,QAAS,GACX,CACA,CAnEC,eAmEgB,CAAE,CAvCD,YAuCc,CAPC,mBAQjC,CApEC,eAoEgB,CAAE,CAxCD,YAwCc,CARC,kBAQmB,CAAE,CAAC,WACrD,WAAY,IAAK,YAAY,IAC7B,iBAAkB,OAAO,MAC3B,CACA,CAxEC,eAwEgB,CAAE,CA5CD,WA4Ca,CAAC,mBAAoB,CAAE,CAZrB,mBAa/B,UAAW,OAAO,OACpB,CACA,CA3EC,eA2EgB,CAAE,CA/CD,WA+Ca,CAAC,mBAAoB,CAAE,CAfrB,mBAeyC,CAPnB,WAQrD,UAAW,MAAM,EACnB,CACA,CA9EC,eA8EgB,CAAE,CAAC,UAClB,WAAY,WAAW,IAAK,QAAQ,CAAE,QAAQ,IAAK,SACnD,QAAS,EACT,SAAU,IACZ,CACA,CAnFC,eAmFgB,CAAE,CALC,SAKS,CAAC,UAC5B,WAAY,EACZ,QAAS,EAtFX,QAuFW,CACX,CACA,CAxFC,gBAwFgB,IAzFjB,OA0FU,EACR,YAAa,SA3Ff,QA4FW,IACT,cAAe,IAAI,kBAAkB,EAAE,IACzC,CAEA,kBACA,mBACE,QAAS,MAlGX,OAmGU,IAAI,EACZ,cAAe,IAAI,kBAAkB,EAAE,KACvC,SAAU,QArGZ,QAsGW,EACT,UAAW,IACb,CACA,iBAAiB,CAAC,QAClB,kBAAkB,CAAC,QACjB,QAAS,IACX,CAEA,iBAAkB,CAAE,EACpB,kBAAmB,CAAE,EACnB,WAAY,IACd,CAEA,iBAAiB,aACjB,kBAAkB,aAChB,WAAY,CACd,CACA,iBAAiB,YACjB,kBAAkB,YAChB,cAAe,CACjB,CAEA,kBAAkB,CAAC,OAAQ,CAAE,iBAAiB,eAC5C,WAAY,CACd,CAEA,qBACE,qBAAqB,IAAI,iBAAiB,EAAE,KAAK,MAAM,IAAI,iBAAiB,EAAE,SAC9E,8BAA8B,KAAK,IAAI,gBAAgB,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KACvE,2BAA2B,OAC3B,QAAS,KACT,sBAAuB,IACvB,mBAAoB,IAAI,KAtI1B,OAuIU,EAAE,KACV,IAAK,EACL,QAAS,IAAI,2BACb,eAAgB,CAClB,CACA,qBAAqB,CAAC,YACpB,cAAe,CACjB,CACA,qBAAqB,CAAC,WACtB,qBAAqB,CAAC,iBACpB,OAAQ,OACV,CACA,qBAAqB,CAJC,WAKpB,MAAO,IAAI,eAAe,EAAE,SAC5B,sBAAuB,IAAI,eAAe,EAAE,SAC5C,qBAAsB,UACtB,sBAAuB,OAEvB,sBAAuB,IACvB,sBAAuB,IACvB,0BAA2B,IAC3B,eAAgB,GAClB,CACA,qBAAqB,CAfC,UAeU,OAC9B,sBAAuB,KACzB,CACA,qBAAqB,CAlBC,UAkBU,OAC9B,QAAS,QACT,QAAS,aACT,oBAAqB,KACvB,CACA,qBAAqB,CAvBC,UAuBU,CAAC,MAAM,OAAS,qBAAqB,CAvB/C,UAuB0D,CAAC,0BAA0B,OAAS,qBAAqB,CAvBnH,UAuB8H,CAAC,4BAA4B,OAC/K,QAAS,OACX,CACA,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,OACzC,MAAO,IAAI,eAAe,EAAE,SAC5B,aAAc,KAAK,IAAI,oBAAoB,CAAE,GAC/C,CAEA,oBACE,QAAS,KACT,eAAgB,OAChB,IAAK,KACL,SAAU,KACV,cAAe,KACf,kBAAkB,KAClB,cAAe,IAAI,kBACnB,aAAc,KAAK,GAAG,EAAE,IAAI,kBAC9B,CAEA,mBACE,QAAS,KACT,sBAAuB,KAAK,OAAO,CAAC,CAAE,KACtC,IAAK,IAEP,CACA,kBAAmB,CAAE,EACnB,OAAQ,WACV,CACA,mBAAmB,CAAC,aAlMpB,cAmMiB,IACf,OAAQ,IAAI,qBACZ,OAAQ,KACR,MAAO,KACP,QAAS,KACT,YAAa,OACb,SAAU,IACZ,CACA,mBAAmB,CATC,YASa,CAAE,EACjC,OAAQ,KACR,MAAO,KACP,UAAW,KACX,WAAY,KA/Md,OAgNU,YACR,WAAY,OACd,CACA,mBAAmB,CAjBC,YAiBa,CAAE,IACnC,mBAAmB,CAlBC,YAkBa,CAAE,CAAC,KACpC,mBAAmB,CAnBC,YAmBa,CAAE,CAAC,GACpC,mBAAmB,CApBC,YAoBa,CAAE,CAAC,GAClC,WAAY,IACZ,UAAW,GACb,CACA,mBAAmB,CAxBC,YAwBY,KAAK,CAAE,CAAC,UACtC,OAAQ,KACR,cAAe,MACf,SAAU,KACZ,CACA,mBAAmB,sBACjB,WAAY,MACd,CAGA,mBACE,WAAY,SArOd,QAsOW,OAAQ,KAtOnB,cAuOiB,KACf,iBAAkB,IAAI,8BACtB,UAAW,IACb,CAEA,kBAAkB,CAAC,mBACnB,kBAAkB,CAAC,mBACjB,YAAa,IACb,WAAY,IACd,CAEA,iBACE,sBAAsB,EACtB,yBAAyB,IAAI,yBAAyB,EAAE,QACxD,WAAY,KAAK,GAAG,EAAE,IAAI,uBAC1B,SAAU,OACV,OAAQ,KAAK,GAAG,EAAE,IAAI,yBAAyB,EAAE,KACjD,cAAe,IAAI,sBAAsB,IAAI,wBAC/C,CACA,iBAAiB,SACf,oBAAoB,KACpB,OAAQ,KACR,cAAe,eACf,WAAY,KACd,CACA,iBAAiB,QAAQ,cACvB,MAAO,IAAI,aAAa,EAAE,kBAC5B,CACA,iBAAiB,OACf,SAAU,SACV,OAAQ,KAAK,IAAI,EAAE,IAAI,0BACvB,MAAO,IACP,iBAAkB,YAClB,MAAO,IAAI,YAAY,EAAE,SACzB,WAAY,MAAM,KAAM,YACxB,OAAQ,KA1QV,QA2QW,EACT,OAAQ,QACR,YAAa,KA7Qf,cA8QiB,GACjB,CACA,iBAAiB,MAAM,UACrB,OAAQ,YACR,MAAO,IAAI,aAAa,EAAE,QAC5B,CAMA,CAAC,UAAU,KAAK,gBAAgB,CAAC,UAAU,OACzC,QAAS,IACX", "names": [] } diff --git a/js/dist/chat/chat.js b/js/dist/chat/chat.js index 103de17d..3f3ceced 100644 --- a/js/dist/chat/chat.js +++ b/js/dist/chat/chat.js @@ -1,29 +1,92 @@ -var hs=Object.defineProperty;var ps=Object.getOwnPropertyDescriptor;var B=(o,t,e,n)=>{for(var i=n>1?void 0:n?ps(t,e):t,r=o.length-1,l;r>=0;r--)(l=o[r])&&(i=(n?l(t,e,i):l(i))||i);return n&&i&&hs(t,e,i),i};var kt=globalThis,Ht=kt.ShadowRoot&&(kt.ShadyCSS===void 0||kt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,an=Symbol(),rn=new WeakMap,Ut=class{constructor(t,e,n){if(this._$cssResult$=!0,n!==an)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Ht&&t===void 0){let n=e!==void 0&&e.length===1;n&&(t=rn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&rn.set(e,t))}return t}toString(){return this.cssText}},ln=o=>new Ut(typeof o=="string"?o:o+"",void 0,an);var cn=(o,t)=>{if(Ht)o.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let n=document.createElement("style"),i=kt.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=e.cssText,o.appendChild(n)}},pe=Ht?o=>o:o=>o instanceof CSSStyleSheet?(t=>{let e="";for(let n of t.cssRules)e+=n.cssText;return ln(e)})(o):o;var{is:ds,defineProperty:fs,getOwnPropertyDescriptor:ms,getOwnPropertyNames:gs,getOwnPropertySymbols:_s,getPrototypeOf:Es}=Object,zt=globalThis,un=zt.trustedTypes,As=un?un.emptyScript:"",ys=zt.reactiveElementPolyfillSupport,mt=(o,t)=>o,gt={toAttribute(o,t){switch(t){case Boolean:o=o?As:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,t){let e=o;switch(t){case Boolean:e=o!==null;break;case Number:e=o===null?null:Number(o);break;case Object:case Array:try{e=JSON.parse(o)}catch{e=null}}return e}},Ft=(o,t)=>!ds(o,t),hn={attribute:!0,type:String,converter:gt,reflect:!1,useDefault:!1,hasChanged:Ft};Symbol.metadata??=Symbol("metadata"),zt.litPropertyMetadata??=new WeakMap;var G=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=hn){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let n=Symbol(),i=this.getPropertyDescriptor(t,n,e);i!==void 0&&fs(this.prototype,t,i)}}static getPropertyDescriptor(t,e,n){let{get:i,set:r}=ms(this.prototype,t)??{get(){return this[e]},set(l){this[e]=l}};return{get:i,set(l){let d=i?.call(this);r?.call(this,l),this.requestUpdate(t,d,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??hn}static _$Ei(){if(this.hasOwnProperty(mt("elementProperties")))return;let t=Es(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(mt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(mt("properties"))){let e=this.properties,n=[...gs(e),..._s(e)];for(let i of n)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[n,i]of e)this.elementProperties.set(n,i)}this._$Eh=new Map;for(let[e,n]of this.elementProperties){let i=this._$Eu(e,n);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)e.unshift(pe(i))}else t!==void 0&&e.push(pe(t));return e}static _$Eu(t,e){let n=e.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let n of e.keys())this.hasOwnProperty(n)&&(t.set(n,this[n]),delete this[n]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return cn(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,n){this._$AK(t,n)}_$ET(t,e){let n=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,n);if(i!==void 0&&n.reflect===!0){let r=(n.converter?.toAttribute!==void 0?n.converter:gt).toAttribute(e,n.type);this._$Em=t,r==null?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){let n=this.constructor,i=n._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let r=n.getPropertyOptions(i),l=typeof r.converter=="function"?{fromAttribute:r.converter}:r.converter?.fromAttribute!==void 0?r.converter:gt;this._$Em=i,this[i]=l.fromAttribute(e,r.type)??this._$Ej?.get(i)??null,this._$Em=null}}requestUpdate(t,e,n){if(t!==void 0){let i=this.constructor,r=this[t];if(n??=i.getPropertyOptions(t),!((n.hasChanged??Ft)(r,e)||n.useDefault&&n.reflect&&r===this._$Ej?.get(t)&&!this.hasAttribute(i._$Eu(t,n))))return;this.C(t,e,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:n,reflect:i,wrapped:r},l){n&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,l??e??this[t]),r!==!0||l!==void 0)||(this._$AL.has(t)||(this.hasUpdated||n||(e=void 0),this._$AL.set(t,e)),i===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[i,r]of this._$Ep)this[i]=r;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[i,r]of n){let{wrapped:l}=r,d=this[i];l!==!0||this._$AL.has(i)||d===void 0||this.C(i,void 0,r,d)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(e)):this._$EM()}catch(n){throw t=!1,this._$EM(),n}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};G.elementStyles=[],G.shadowRootOptions={mode:"open"},G[mt("elementProperties")]=new Map,G[mt("finalized")]=new Map,ys?.({ReactiveElement:G}),(zt.reactiveElementVersions??=[]).push("2.1.0");var Ae=globalThis,Bt=Ae.trustedTypes,pn=Bt?Bt.createPolicy("lit-html",{createHTML:o=>o}):void 0,En="$lit$",j=`lit$${Math.random().toFixed(9).slice(2)}$`,An="?"+j,Ts=`<${An}>`,J=document,Et=()=>J.createComment(""),At=o=>o===null||typeof o!="object"&&typeof o!="function",ye=Array.isArray,vs=o=>ye(o)||typeof o?.[Symbol.iterator]=="function",de=`[ -\f\r]`,_t=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,dn=/-->/g,fn=/>/g,X=RegExp(`>|${de}(?:([^\\s"'>=/]+)(${de}*=${de}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),mn=/'/g,gn=/"/g,yn=/^(?:script|style|textarea|title)$/i,Te=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),ct=Te(1),ii=Te(2),oi=Te(3),W=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),_n=new WeakMap,Z=J.createTreeWalker(J,129);function Tn(o,t){if(!ye(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return pn!==void 0?pn.createHTML(t):t}var Ss=(o,t)=>{let e=o.length-1,n=[],i,r=t===2?"":t===3?"":"",l=_t;for(let d=0;d"?(l=i??_t,f=-1):y[1]===void 0?f=-2:(f=l.lastIndex-y[2].length,m=y[1],l=y[3]===void 0?X:y[3]==='"'?gn:mn):l===gn||l===mn?l=X:l===dn||l===fn?l=_t:(l=X,i=void 0);let R=l===X&&o[d+1].startsWith("/>")?" ":"";r+=l===_t?h+Ts:f>=0?(n.push(m),h.slice(0,f)+En+h.slice(f)+j+R):h+j+(f===-2?d:R)}return[Tn(o,r+(o[e]||"")+(t===2?"":t===3?"":"")),n]},yt=class o{constructor({strings:t,_$litType$:e},n){let i;this.parts=[];let r=0,l=0,d=t.length-1,h=this.parts,[m,y]=Ss(t,e);if(this.el=o.createElement(m,n),Z.currentNode=this.el.content,e===2||e===3){let f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(i=Z.nextNode())!==null&&h.length0){i.textContent=Bt?Bt.emptyScript:"";for(let R=0;R2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=E}_$AI(t,e=this,n,i){let r=this.strings,l=!1;if(r===void 0)t=at(this,t,e,0),l=!At(t)||t!==this._$AH&&t!==W,l&&(this._$AH=t);else{let d=t,h,m;for(t=r[0],h=0;h{let n=e?.renderBefore??t,i=n._$litPart$;if(i===void 0){let r=e?.renderBefore??null;n._$litPart$=i=new Tt(t.insertBefore(Et(),r),r,void 0,e??{})}return i._$AI(o),i};var ve=globalThis,q=class extends G{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=vn(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return W}};q._$litElement$=!0,q.finalized=!0,ve.litElementHydrateSupport?.({LitElement:q});var Cs=ve.litElementPolyfillSupport;Cs?.({LitElement:q});(ve.litElementVersions??=[]).push("4.2.0");var Sn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},bn=o=>(...t)=>({_$litDirective$:o,values:t}),Gt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var vt=class extends Gt{constructor(t){if(super(t),this.it=E,t.type!==Sn.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===E||t==null)return this._t=void 0,this.it=t;if(t===W)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};vt.directiveName="unsafeHTML",vt.resultType=1;var Se=bn(vt);var ws={attribute:!0,type:String,converter:gt,reflect:!1,hasChanged:Ft},$s=(o=ws,t,e)=>{let{kind:n,metadata:i}=e,r=globalThis.litPropertyMetadata.get(i);if(r===void 0&&globalThis.litPropertyMetadata.set(i,r=new Map),n==="setter"&&((o=Object.create(o)).wrapped=!0),r.set(e.name,o),n==="accessor"){let{name:l}=e;return{set(d){let h=t.get.call(this);t.set.call(this,d),this.requestUpdate(l,h,o)},init(d){return d!==void 0&&this.C(l,void 0,o,d),d}}}if(n==="setter"){let{name:l}=e;return function(d){let h=this[l];t.call(this,d),this.requestUpdate(l,h,o)}}throw Error("Unsupported decorator location: "+n)};function U(o){return(t,e)=>typeof e=="object"?$s(o,t,e):((n,i,r)=>{let l=i.hasOwnProperty(r);return i.constructor.createProperty(r,n),l?Object.getOwnPropertyDescriptor(i,r):void 0})(o,t,e)}var{entries:In,setPrototypeOf:Cn,isFrozen:Ms,getPrototypeOf:Os,getOwnPropertyDescriptor:xs}=Object,{freeze:O,seal:N,create:Dn}=Object,{apply:Oe,construct:xe}=typeof Reflect<"u"&&Reflect;O||(O=function(t){return t});N||(N=function(t){return t});Oe||(Oe=function(t,e,n){return t.apply(e,n)});xe||(xe=function(t,e){return new t(...e)});var Vt=x(Array.prototype.forEach),Ls=x(Array.prototype.lastIndexOf),wn=x(Array.prototype.pop),St=x(Array.prototype.push),Rs=x(Array.prototype.splice),qt=x(String.prototype.toLowerCase),be=x(String.prototype.toString),$n=x(String.prototype.match),bt=x(String.prototype.replace),Ns=x(String.prototype.indexOf),Is=x(String.prototype.trim),D=x(Object.prototype.hasOwnProperty),M=x(RegExp.prototype.test),Ct=Ds(TypeError);function x(o){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:qt;Cn&&Cn(o,null);let n=t.length;for(;n--;){let i=t[n];if(typeof i=="string"){let r=e(i);r!==i&&(Ms(t)||(t[n]=r),i=r)}o[i]=!0}return o}function Ps(o){for(let t=0;t/gm),Fs=N(/\$\{[\w\W]*/gm),Bs=N(/^data-[\-\w.\u00B7-\uFFFF]+$/),Gs=N(/^aria-[\-\w]+$/),Pn=N(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ws=N(/^(?:\w+script|data):/i),Vs=N(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),kn=N(/^html$/i),js=N(/^[a-z][.\w]*(-[.\w]+)+$/i),Rn=Object.freeze({__proto__:null,ARIA_ATTR:Gs,ATTR_WHITESPACE:Vs,CUSTOM_ELEMENT:js,DATA_ATTR:Bs,DOCTYPE_NAME:kn,ERB_EXPR:zs,IS_ALLOWED_URI:Pn,IS_SCRIPT_OR_DATA:Ws,MUSTACHE_EXPR:Hs,TMPLIT_EXPR:Fs}),$t={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},qs=function(){return typeof window>"u"?null:window},Ys=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(n=e.getAttribute(i));let r="dompurify"+(n?"#"+n:"");try{return t.createPolicy(r,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}},Nn=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Un(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:qs(),t=u=>Un(u);if(t.version="3.2.6",t.removed=[],!o||!o.document||o.document.nodeType!==$t.document||!o.Element)return t.isSupported=!1,t;let{document:e}=o,n=e,i=n.currentScript,{DocumentFragment:r,HTMLTemplateElement:l,Node:d,Element:h,NodeFilter:m,NamedNodeMap:y=o.NamedNodeMap||o.MozNamedAttrMap,HTMLFormElement:f,DOMParser:I,trustedTypes:R}=o,P=h.prototype,Vn=wt(P,"cloneNode"),jn=wt(P,"remove"),qn=wt(P,"nextSibling"),Yn=wt(P,"childNodes"),Ot=wt(P,"parentNode");if(typeof l=="function"){let u=e.createElement("template");u.content&&u.content.ownerDocument&&(e=u.content.ownerDocument)}let w,ut="",{implementation:Zt,createNodeIterator:Kn,createDocumentFragment:Xn,getElementsByTagName:Zn}=e,{importNode:Jn}=n,$=Nn();t.isSupported=typeof In=="function"&&typeof Ot=="function"&&Zt&&Zt.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Jt,ERB_EXPR:Qt,TMPLIT_EXPR:te,DATA_ATTR:Qn,ARIA_ATTR:ts,IS_SCRIPT_OR_DATA:es,ATTR_WHITESPACE:Ie,CUSTOM_ELEMENT:ns}=Rn,{IS_ALLOWED_URI:De}=Rn,T=null,Pe=p({},[...Mn,...Ce,...we,...$e,...On]),S=null,ke=p({},[...xn,...Me,...Ln,...jt]),_=Object.seal(Dn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ht=null,ee=null,Ue=!0,ne=!0,He=!1,ze=!0,tt=!1,xt=!0,K=!1,se=!1,ie=!1,et=!1,Lt=!1,Rt=!1,Fe=!0,Be=!1,ss="user-content-",oe=!0,pt=!1,nt={},st=null,Ge=p({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),We=null,Ve=p({},["audio","video","img","source","image","track"]),re=null,je=p({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Nt="http://www.w3.org/1998/Math/MathML",It="http://www.w3.org/2000/svg",H="http://www.w3.org/1999/xhtml",it=H,ae=!1,le=null,is=p({},[Nt,It,H],be),Dt=p({},["mi","mo","mn","ms","mtext"]),Pt=p({},["annotation-xml"]),os=p({},["title","style","font","a","script"]),dt=null,rs=["application/xhtml+xml","text/html"],as="text/html",v=null,ot=null,ls=e.createElement("form"),qe=function(s){return s instanceof RegExp||s instanceof Function},ce=function(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ot&&ot===s)){if((!s||typeof s!="object")&&(s={}),s=V(s),dt=rs.indexOf(s.PARSER_MEDIA_TYPE)===-1?as:s.PARSER_MEDIA_TYPE,v=dt==="application/xhtml+xml"?be:qt,T=D(s,"ALLOWED_TAGS")?p({},s.ALLOWED_TAGS,v):Pe,S=D(s,"ALLOWED_ATTR")?p({},s.ALLOWED_ATTR,v):ke,le=D(s,"ALLOWED_NAMESPACES")?p({},s.ALLOWED_NAMESPACES,be):is,re=D(s,"ADD_URI_SAFE_ATTR")?p(V(je),s.ADD_URI_SAFE_ATTR,v):je,We=D(s,"ADD_DATA_URI_TAGS")?p(V(Ve),s.ADD_DATA_URI_TAGS,v):Ve,st=D(s,"FORBID_CONTENTS")?p({},s.FORBID_CONTENTS,v):Ge,ht=D(s,"FORBID_TAGS")?p({},s.FORBID_TAGS,v):V({}),ee=D(s,"FORBID_ATTR")?p({},s.FORBID_ATTR,v):V({}),nt=D(s,"USE_PROFILES")?s.USE_PROFILES:!1,Ue=s.ALLOW_ARIA_ATTR!==!1,ne=s.ALLOW_DATA_ATTR!==!1,He=s.ALLOW_UNKNOWN_PROTOCOLS||!1,ze=s.ALLOW_SELF_CLOSE_IN_ATTR!==!1,tt=s.SAFE_FOR_TEMPLATES||!1,xt=s.SAFE_FOR_XML!==!1,K=s.WHOLE_DOCUMENT||!1,et=s.RETURN_DOM||!1,Lt=s.RETURN_DOM_FRAGMENT||!1,Rt=s.RETURN_TRUSTED_TYPE||!1,ie=s.FORCE_BODY||!1,Fe=s.SANITIZE_DOM!==!1,Be=s.SANITIZE_NAMED_PROPS||!1,oe=s.KEEP_CONTENT!==!1,pt=s.IN_PLACE||!1,De=s.ALLOWED_URI_REGEXP||Pn,it=s.NAMESPACE||H,Dt=s.MATHML_TEXT_INTEGRATION_POINTS||Dt,Pt=s.HTML_INTEGRATION_POINTS||Pt,_=s.CUSTOM_ELEMENT_HANDLING||{},s.CUSTOM_ELEMENT_HANDLING&&qe(s.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(_.tagNameCheck=s.CUSTOM_ELEMENT_HANDLING.tagNameCheck),s.CUSTOM_ELEMENT_HANDLING&&qe(s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(_.attributeNameCheck=s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),s.CUSTOM_ELEMENT_HANDLING&&typeof s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(_.allowCustomizedBuiltInElements=s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),tt&&(ne=!1),Lt&&(et=!0),nt&&(T=p({},On),S=[],nt.html===!0&&(p(T,Mn),p(S,xn)),nt.svg===!0&&(p(T,Ce),p(S,Me),p(S,jt)),nt.svgFilters===!0&&(p(T,we),p(S,Me),p(S,jt)),nt.mathMl===!0&&(p(T,$e),p(S,Ln),p(S,jt))),s.ADD_TAGS&&(T===Pe&&(T=V(T)),p(T,s.ADD_TAGS,v)),s.ADD_ATTR&&(S===ke&&(S=V(S)),p(S,s.ADD_ATTR,v)),s.ADD_URI_SAFE_ATTR&&p(re,s.ADD_URI_SAFE_ATTR,v),s.FORBID_CONTENTS&&(st===Ge&&(st=V(st)),p(st,s.FORBID_CONTENTS,v)),oe&&(T["#text"]=!0),K&&p(T,["html","head","body"]),T.table&&(p(T,["tbody"]),delete ht.tbody),s.TRUSTED_TYPES_POLICY){if(typeof s.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ct('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof s.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ct('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=s.TRUSTED_TYPES_POLICY,ut=w.createHTML("")}else w===void 0&&(w=Ys(R,i)),w!==null&&typeof ut=="string"&&(ut=w.createHTML(""));O&&O(s),ot=s}},Ye=p({},[...Ce,...we,...ks]),Ke=p({},[...$e,...Us]),cs=function(s){let a=Ot(s);(!a||!a.tagName)&&(a={namespaceURI:it,tagName:"template"});let c=qt(s.tagName),g=qt(a.tagName);return le[s.namespaceURI]?s.namespaceURI===It?a.namespaceURI===H?c==="svg":a.namespaceURI===Nt?c==="svg"&&(g==="annotation-xml"||Dt[g]):!!Ye[c]:s.namespaceURI===Nt?a.namespaceURI===H?c==="math":a.namespaceURI===It?c==="math"&&Pt[g]:!!Ke[c]:s.namespaceURI===H?a.namespaceURI===It&&!Pt[g]||a.namespaceURI===Nt&&!Dt[g]?!1:!Ke[c]&&(os[c]||!Ye[c]):!!(dt==="application/xhtml+xml"&&le[s.namespaceURI]):!1},k=function(s){St(t.removed,{element:s});try{Ot(s).removeChild(s)}catch{jn(s)}},rt=function(s,a){try{St(t.removed,{attribute:a.getAttributeNode(s),from:a})}catch{St(t.removed,{attribute:null,from:a})}if(a.removeAttribute(s),s==="is")if(et||Lt)try{k(a)}catch{}else try{a.setAttribute(s,"")}catch{}},Xe=function(s){let a=null,c=null;if(ie)s=""+s;else{let A=$n(s,/^[\r\n\t ]+/);c=A&&A[0]}dt==="application/xhtml+xml"&&it===H&&(s=''+s+"");let g=w?w.createHTML(s):s;if(it===H)try{a=new I().parseFromString(g,dt)}catch{}if(!a||!a.documentElement){a=Zt.createDocument(it,"template",null);try{a.documentElement.innerHTML=ae?ut:g}catch{}}let b=a.body||a.documentElement;return s&&c&&b.insertBefore(e.createTextNode(c),b.childNodes[0]||null),it===H?Zn.call(a,K?"html":"body")[0]:K?a.documentElement:b},Ze=function(s){return Kn.call(s.ownerDocument||s,s,m.SHOW_ELEMENT|m.SHOW_COMMENT|m.SHOW_TEXT|m.SHOW_PROCESSING_INSTRUCTION|m.SHOW_CDATA_SECTION,null)},ue=function(s){return s instanceof f&&(typeof s.nodeName!="string"||typeof s.textContent!="string"||typeof s.removeChild!="function"||!(s.attributes instanceof y)||typeof s.removeAttribute!="function"||typeof s.setAttribute!="function"||typeof s.namespaceURI!="string"||typeof s.insertBefore!="function"||typeof s.hasChildNodes!="function")},Je=function(s){return typeof d=="function"&&s instanceof d};function z(u,s,a){Vt(u,c=>{c.call(t,s,a,ot)})}let Qe=function(s){let a=null;if(z($.beforeSanitizeElements,s,null),ue(s))return k(s),!0;let c=v(s.nodeName);if(z($.uponSanitizeElement,s,{tagName:c,allowedTags:T}),xt&&s.hasChildNodes()&&!Je(s.firstElementChild)&&M(/<[/\w!]/g,s.innerHTML)&&M(/<[/\w!]/g,s.textContent)||s.nodeType===$t.progressingInstruction||xt&&s.nodeType===$t.comment&&M(/<[/\w]/g,s.data))return k(s),!0;if(!T[c]||ht[c]){if(!ht[c]&&en(c)&&(_.tagNameCheck instanceof RegExp&&M(_.tagNameCheck,c)||_.tagNameCheck instanceof Function&&_.tagNameCheck(c)))return!1;if(oe&&!st[c]){let g=Ot(s)||s.parentNode,b=Yn(s)||s.childNodes;if(b&&g){let A=b.length;for(let L=A-1;L>=0;--L){let F=Vn(b[L],!0);F.__removalCount=(s.__removalCount||0)+1,g.insertBefore(F,qn(s))}}}return k(s),!0}return s instanceof h&&!cs(s)||(c==="noscript"||c==="noembed"||c==="noframes")&&M(/<\/no(script|embed|frames)/i,s.innerHTML)?(k(s),!0):(tt&&s.nodeType===$t.text&&(a=s.textContent,Vt([Jt,Qt,te],g=>{a=bt(a,g," ")}),s.textContent!==a&&(St(t.removed,{element:s.cloneNode()}),s.textContent=a)),z($.afterSanitizeElements,s,null),!1)},tn=function(s,a,c){if(Fe&&(a==="id"||a==="name")&&(c in e||c in ls))return!1;if(!(ne&&!ee[a]&&M(Qn,a))){if(!(Ue&&M(ts,a))){if(!S[a]||ee[a]){if(!(en(s)&&(_.tagNameCheck instanceof RegExp&&M(_.tagNameCheck,s)||_.tagNameCheck instanceof Function&&_.tagNameCheck(s))&&(_.attributeNameCheck instanceof RegExp&&M(_.attributeNameCheck,a)||_.attributeNameCheck instanceof Function&&_.attributeNameCheck(a))||a==="is"&&_.allowCustomizedBuiltInElements&&(_.tagNameCheck instanceof RegExp&&M(_.tagNameCheck,c)||_.tagNameCheck instanceof Function&&_.tagNameCheck(c))))return!1}else if(!re[a]){if(!M(De,bt(c,Ie,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&s!=="script"&&Ns(c,"data:")===0&&We[s])){if(!(He&&!M(es,bt(c,Ie,"")))){if(c)return!1}}}}}}return!0},en=function(s){return s!=="annotation-xml"&&$n(s,ns)},nn=function(s){z($.beforeSanitizeAttributes,s,null);let{attributes:a}=s;if(!a||ue(s))return;let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:S,forceKeepAttr:void 0},g=a.length;for(;g--;){let b=a[g],{name:A,namespaceURI:L,value:F}=b,ft=v(A),he=F,C=A==="value"?he:Is(he);if(c.attrName=ft,c.attrValue=C,c.keepAttr=!0,c.forceKeepAttr=void 0,z($.uponSanitizeAttribute,s,c),C=c.attrValue,Be&&(ft==="id"||ft==="name")&&(rt(A,s),C=ss+C),xt&&M(/((--!?|])>)|<\/(style|title)/i,C)){rt(A,s);continue}if(c.forceKeepAttr)continue;if(!c.keepAttr){rt(A,s);continue}if(!ze&&M(/\/>/i,C)){rt(A,s);continue}tt&&Vt([Jt,Qt,te],on=>{C=bt(C,on," ")});let sn=v(s.nodeName);if(!tn(sn,ft,C)){rt(A,s);continue}if(w&&typeof R=="object"&&typeof R.getAttributeType=="function"&&!L)switch(R.getAttributeType(sn,ft)){case"TrustedHTML":{C=w.createHTML(C);break}case"TrustedScriptURL":{C=w.createScriptURL(C);break}}if(C!==he)try{L?s.setAttributeNS(L,A,C):s.setAttribute(A,C),ue(s)?k(s):wn(t.removed)}catch{rt(A,s)}}z($.afterSanitizeAttributes,s,null)},us=function u(s){let a=null,c=Ze(s);for(z($.beforeSanitizeShadowDOM,s,null);a=c.nextNode();)z($.uponSanitizeShadowNode,a,null),Qe(a),nn(a),a.content instanceof r&&u(a.content);z($.afterSanitizeShadowDOM,s,null)};return t.sanitize=function(u){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,c=null,g=null,b=null;if(ae=!u,ae&&(u=""),typeof u!="string"&&!Je(u))if(typeof u.toString=="function"){if(u=u.toString(),typeof u!="string")throw Ct("dirty is not a string, aborting")}else throw Ct("toString is not a function");if(!t.isSupported)return u;if(se||ce(s),t.removed=[],typeof u=="string"&&(pt=!1),pt){if(u.nodeName){let F=v(u.nodeName);if(!T[F]||ht[F])throw Ct("root node is forbidden and cannot be sanitized in-place")}}else if(u instanceof d)a=Xe(""),c=a.ownerDocument.importNode(u,!0),c.nodeType===$t.element&&c.nodeName==="BODY"||c.nodeName==="HTML"?a=c:a.appendChild(c);else{if(!et&&!tt&&!K&&u.indexOf("<")===-1)return w&&Rt?w.createHTML(u):u;if(a=Xe(u),!a)return et?null:Rt?ut:""}a&&ie&&k(a.firstChild);let A=Ze(pt?u:a);for(;g=A.nextNode();)Qe(g),nn(g),g.content instanceof r&&us(g.content);if(pt)return u;if(et){if(Lt)for(b=Xn.call(a.ownerDocument);a.firstChild;)b.appendChild(a.firstChild);else b=a;return(S.shadowroot||S.shadowrootmode)&&(b=Jn.call(n,b,!0)),b}let L=K?a.outerHTML:a.innerHTML;return K&&T["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&M(kn,a.ownerDocument.doctype.name)&&(L=" -`+L),tt&&Vt([Jt,Qt,te],F=>{L=bt(L,F," ")}),w&&Rt?w.createHTML(L):L},t.setConfig=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ce(u),se=!0},t.clearConfig=function(){ot=null,se=!1},t.isValidAttribute=function(u,s,a){ot||ce({});let c=v(u),g=v(s);return tn(c,g,a)},t.addHook=function(u,s){typeof s=="function"&&St($[u],s)},t.removeHook=function(u,s){if(s!==void 0){let a=Ls($[u],s);return a===-1?void 0:Rs($[u],a,1)[0]}return wn($[u])},t.removeHooks=function(u){$[u]=[]},t.removeAllHooks=function(){$=Nn()},t}var Hn=Un();function Yt(o,t){let e=document.createElement(o);for(let[n,i]of Object.entries(t)){let r=n.replace(/_/g,"-");i!==null&&e.setAttribute(r,i)}return e}var Y=class extends q{createRenderRoot(){return this}};function Le({headline:o="",message:t,status:e="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:o,message:t,status:e}}))}async function zn(o){if(window.Shiny&&o)try{await window.Shiny.renderDependenciesAsync(o)}catch(t){Le({status:"error",message:`Failed to render HTML dependencies: ${t}`})}}var Ks=Hn();Ks.addHook("uponSanitizeElement",(o,t)=>{if(o.nodeName&&o.nodeName==="SCRIPT"){let e=o,n=e.getAttribute("type")==="application/json"&&e.getAttribute("data-for")!==null;t.allowedTags.script=n}});var Re="shiny-chat-message",Bn="shiny-user-message",Gn="shiny-chat-messages",Wn="shiny-chat-input",Xs="shiny-chat-container",Fn={robot:'',dots_fade:''},Q=class extends Y{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let n=this.content.trim().length===0?Fn.dots_fade:this.icon||Fn.robot;return ct` -
${Se(n)}
+var gs=Object.defineProperty;var _s=Object.getOwnPropertyDescriptor;var g=(i,t,e,n)=>{for(var r=n>1?void 0:n?_s(t,e):t,o=i.length-1,l;o>=0;o--)(l=i[o])&&(r=(n?l(t,e,r):l(r))||r);return n&&r&&gs(t,e,r),r};var zt=globalThis,Bt=zt.ShadowRoot&&(zt.ShadyCSS===void 0||zt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,dn=Symbol(),hn=new WeakMap,qt=class{constructor(t,e,n){if(this._$cssResult$=!0,n!==dn)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Bt&&t===void 0){let n=e!==void 0&&e.length===1;n&&(t=hn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&hn.set(e,t))}return t}toString(){return this.cssText}},pn=i=>new qt(typeof i=="string"?i:i+"",void 0,dn);var mn=(i,t)=>{if(Bt)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let n=document.createElement("style"),r=zt.litNonce;r!==void 0&&n.setAttribute("nonce",r),n.textContent=e.cssText,i.appendChild(n)}},ge=Bt?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(let n of t.cssRules)e+=n.cssText;return pn(e)})(i):i;var{is:Es,defineProperty:ys,getOwnPropertyDescriptor:As,getOwnPropertyNames:vs,getOwnPropertySymbols:Ts,getPrototypeOf:bs}=Object,Gt=globalThis,fn=Gt.trustedTypes,Ss=fn?fn.emptyScript:"",ws=Gt.reactiveElementPolyfillSupport,yt=(i,t)=>i,At={toAttribute(i,t){switch(t){case Boolean:i=i?Ss:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},Wt=(i,t)=>!Es(i,t),gn={attribute:!0,type:String,converter:At,reflect:!1,useDefault:!1,hasChanged:Wt};Symbol.metadata??=Symbol("metadata"),Gt.litPropertyMetadata??=new WeakMap;var j=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=gn){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(t,n,e);r!==void 0&&ys(this.prototype,t,r)}}static getPropertyDescriptor(t,e,n){let{get:r,set:o}=As(this.prototype,t)??{get(){return this[e]},set(l){this[e]=l}};return{get:r,set(l){let p=r?.call(this);o?.call(this,l),this.requestUpdate(t,p,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??gn}static _$Ei(){if(this.hasOwnProperty(yt("elementProperties")))return;let t=bs(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(yt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(yt("properties"))){let e=this.properties,n=[...vs(e),...Ts(e)];for(let r of n)this.createProperty(r,e[r])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[n,r]of e)this.elementProperties.set(n,r)}this._$Eh=new Map;for(let[e,n]of this.elementProperties){let r=this._$Eu(e,n);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let r of n)e.unshift(ge(r))}else t!==void 0&&e.push(ge(t));return e}static _$Eu(t,e){let n=e.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let n of e.keys())this.hasOwnProperty(n)&&(t.set(n,this[n]),delete this[n]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return mn(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,n){this._$AK(t,n)}_$ET(t,e){let n=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,n);if(r!==void 0&&n.reflect===!0){let o=(n.converter?.toAttribute!==void 0?n.converter:At).toAttribute(e,n.type);this._$Em=t,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(t,e){let n=this.constructor,r=n._$Eh.get(t);if(r!==void 0&&this._$Em!==r){let o=n.getPropertyOptions(r),l=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:At;this._$Em=r,this[r]=l.fromAttribute(e,o.type)??this._$Ej?.get(r)??null,this._$Em=null}}requestUpdate(t,e,n){if(t!==void 0){let r=this.constructor,o=this[t];if(n??=r.getPropertyOptions(t),!((n.hasChanged??Wt)(o,e)||n.useDefault&&n.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,n))))return;this.C(t,e,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:n,reflect:r,wrapped:o},l){n&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,l??e??this[t]),o!==!0||l!==void 0)||(this._$AL.has(t)||(this.hasUpdated||n||(e=void 0),this._$AL.set(t,e)),r===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[r,o]of n){let{wrapped:l}=o,p=this[r];l!==!0||this._$AL.has(r)||p===void 0||this.C(r,void 0,o,p)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(e)):this._$EM()}catch(n){throw t=!1,this._$EM(),n}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};j.elementStyles=[],j.shadowRootOptions={mode:"open"},j[yt("elementProperties")]=new Map,j[yt("finalized")]=new Map,ws?.({ReactiveElement:j}),(Gt.reactiveElementVersions??=[]).push("2.1.0");var be=globalThis,jt=be.trustedTypes,_n=jt?jt.createPolicy("lit-html",{createHTML:i=>i}):void 0,bn="$lit$",X=`lit$${Math.random().toFixed(9).slice(2)}$`,Sn="?"+X,Cs=`<${Sn}>`,nt=document,Tt=()=>nt.createComment(""),bt=i=>i===null||typeof i!="object"&&typeof i!="function",Se=Array.isArray,$s=i=>Se(i)||typeof i?.[Symbol.iterator]=="function",_e=`[ +\f\r]`,vt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,En=/-->/g,yn=/>/g,tt=RegExp(`>|${_e}(?:([^\\s"'>=/]+)(${_e}*=${_e}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),An=/'/g,vn=/"/g,wn=/^(?:script|style|textarea|title)$/i,we=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),y=we(1),hi=we(2),di=we(3),V=Symbol.for("lit-noChange"),v=Symbol.for("lit-nothing"),Tn=new WeakMap,et=nt.createTreeWalker(nt,129);function Cn(i,t){if(!Se(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return _n!==void 0?_n.createHTML(t):t}var xs=(i,t)=>{let e=i.length-1,n=[],r,o=t===2?"":t===3?"":"",l=vt;for(let p=0;p"?(l=r??vt,m=-1):b[1]===void 0?m=-2:(m=l.lastIndex-b[2].length,_=b[1],l=b[3]===void 0?tt:b[3]==='"'?vn:An):l===vn||l===An?l=tt:l===En||l===yn?l=vt:(l=tt,r=void 0);let D=l===tt&&i[p+1].startsWith("/>")?" ":"";o+=l===vt?h+Cs:m>=0?(n.push(_),h.slice(0,m)+bn+h.slice(m)+X+D):h+X+(m===-2?p:D)}return[Cn(i,o+(i[e]||"")+(t===2?"":t===3?"":"")),n]},St=class i{constructor({strings:t,_$litType$:e},n){let r;this.parts=[];let o=0,l=0,p=t.length-1,h=this.parts,[_,b]=xs(t,e);if(this.el=i.createElement(_,n),et.currentNode=this.el.content,e===2||e===3){let m=this.el.content.firstChild;m.replaceWith(...m.childNodes)}for(;(r=et.nextNode())!==null&&h.length0){r.textContent=jt?jt.emptyScript:"";for(let D=0;D2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=v}_$AI(t,e=this,n,r){let o=this.strings,l=!1;if(o===void 0)t=ht(this,t,e,0),l=!bt(t)||t!==this._$AH&&t!==V,l&&(this._$AH=t);else{let p=t,h,_;for(t=o[0],h=0;h{let n=e?.renderBefore??t,r=n._$litPart$;if(r===void 0){let o=e?.renderBefore??null;n._$litPart$=r=new wt(t.insertBefore(Tt(),o),o,void 0,e??{})}return r._$AI(i),r};var Ce=globalThis,q=class extends j{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=$n(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return V}};q._$litElement$=!0,q.finalized=!0,Ce.litElementHydrateSupport?.({LitElement:q});var Rs=Ce.litElementPolyfillSupport;Rs?.({LitElement:q});(Ce.litElementVersions??=[]).push("4.2.0");var xn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Mn=i=>(...t)=>({_$litDirective$:i,values:t}),Vt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var Ct=class extends Vt{constructor(t){if(super(t),this.it=v,t.type!==xn.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===v||t==null)return this._t=void 0,this.it=t;if(t===V)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};Ct.directiveName="unsafeHTML",Ct.resultType=1;var Z=Mn(Ct);var Ls={attribute:!0,type:String,converter:At,reflect:!1,hasChanged:Wt},Os=(i=Ls,t,e)=>{let{kind:n,metadata:r}=e,o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),n==="setter"&&((i=Object.create(i)).wrapped=!0),o.set(e.name,i),n==="accessor"){let{name:l}=e;return{set(p){let h=t.get.call(this);t.set.call(this,p),this.requestUpdate(l,h,i)},init(p){return p!==void 0&&this.C(l,void 0,i,p),p}}}if(n==="setter"){let{name:l}=e;return function(p){let h=this[l];t.call(this,p),this.requestUpdate(l,h,i)}}throw Error("Unsupported decorator location: "+n)};function f(i){return(t,e)=>typeof e=="object"?Os(i,t,e):((n,r,o)=>{let l=r.hasOwnProperty(o);return r.constructor.createProperty(o,n),l?Object.getOwnPropertyDescriptor(r,o):void 0})(i,t,e)}var{entries:Hn,setPrototypeOf:Rn,isFrozen:Ns,getPrototypeOf:Is,getOwnPropertyDescriptor:Ds}=Object,{freeze:O,seal:P,create:Fn}=Object,{apply:Oe,construct:Ne}=typeof Reflect<"u"&&Reflect;O||(O=function(t){return t});P||(P=function(t){return t});Oe||(Oe=function(t,e,n){return t.apply(e,n)});Ne||(Ne=function(t,e){return new t(...e)});var Kt=N(Array.prototype.forEach),Ps=N(Array.prototype.lastIndexOf),Ln=N(Array.prototype.pop),$t=N(Array.prototype.push),ks=N(Array.prototype.splice),Zt=N(String.prototype.toLowerCase),$e=N(String.prototype.toString),On=N(String.prototype.match),xt=N(String.prototype.replace),Us=N(String.prototype.indexOf),Hs=N(String.prototype.trim),H=N(Object.prototype.hasOwnProperty),L=N(RegExp.prototype.test),Mt=Fs(TypeError);function N(i){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r2&&arguments[2]!==void 0?arguments[2]:Zt;Rn&&Rn(i,null);let n=t.length;for(;n--;){let r=t[n];if(typeof r=="string"){let o=e(r);o!==r&&(Ns(t)||(t[n]=o),r=o)}i[r]=!0}return i}function zs(i){for(let t=0;t/gm),js=P(/\$\{[\w\W]*/gm),Vs=P(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ys=P(/^aria-[\-\w]+$/),zn=P(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ks=P(/^(?:\w+script|data):/i),Xs=P(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),qn=P(/^html$/i),Zs=P(/^[a-z][.\w]*(-[.\w]+)+$/i),kn=Object.freeze({__proto__:null,ARIA_ATTR:Ys,ATTR_WHITESPACE:Xs,CUSTOM_ELEMENT:Zs,DATA_ATTR:Vs,DOCTYPE_NAME:qn,ERB_EXPR:Ws,IS_ALLOWED_URI:zn,IS_SCRIPT_OR_DATA:Ks,MUSTACHE_EXPR:Gs,TMPLIT_EXPR:js}),Lt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Js=function(){return typeof window>"u"?null:window},Qs=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(n=e.getAttribute(r));let o="dompurify"+(n?"#"+n:"");try{return t.createPolicy(o,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},Un=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Bn(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Js(),t=u=>Bn(u);if(t.version="3.2.6",t.removed=[],!i||!i.document||i.document.nodeType!==Lt.document||!i.Element)return t.isSupported=!1,t;let{document:e}=i,n=e,r=n.currentScript,{DocumentFragment:o,HTMLTemplateElement:l,Node:p,Element:h,NodeFilter:_,NamedNodeMap:b=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:m,DOMParser:U,trustedTypes:D}=i,F=h.prototype,Xn=Rt(F,"cloneNode"),Zn=Rt(F,"remove"),Jn=Rt(F,"nextSibling"),Qn=Rt(F,"childNodes"),Nt=Rt(F,"parentNode");if(typeof l=="function"){let u=e.createElement("template");u.content&&u.content.ownerDocument&&(e=u.content.ownerDocument)}let M,mt="",{implementation:ee,createNodeIterator:ts,createDocumentFragment:es,getElementsByTagName:ns}=e,{importNode:ss}=n,R=Un();t.isSupported=typeof Hn=="function"&&typeof Nt=="function"&&ee&&ee.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:ne,ERB_EXPR:se,TMPLIT_EXPR:ie,DATA_ATTR:is,ARIA_ATTR:rs,IS_SCRIPT_OR_DATA:os,ATTR_WHITESPACE:He,CUSTOM_ELEMENT:as}=kn,{IS_ALLOWED_URI:Fe}=kn,S=null,ze=d({},[...Nn,...xe,...Me,...Re,...In]),C=null,qe=d({},[...Dn,...Le,...Pn,...Xt]),A=Object.seal(Fn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ft=null,re=null,Be=!0,oe=!0,Ge=!1,We=!0,it=!1,It=!0,Q=!1,ae=!1,le=!1,rt=!1,Dt=!1,Pt=!1,je=!0,Ve=!1,ls="user-content-",ce=!0,gt=!1,ot={},at=null,Ye=d({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ke=null,Xe=d({},["audio","video","img","source","image","track"]),ue=null,Ze=d({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),kt="http://www.w3.org/1998/Math/MathML",Ut="http://www.w3.org/2000/svg",B="http://www.w3.org/1999/xhtml",lt=B,he=!1,de=null,cs=d({},[kt,Ut,B],$e),Ht=d({},["mi","mo","mn","ms","mtext"]),Ft=d({},["annotation-xml"]),us=d({},["title","style","font","a","script"]),_t=null,hs=["application/xhtml+xml","text/html"],ds="text/html",w=null,ct=null,ps=e.createElement("form"),Je=function(s){return s instanceof RegExp||s instanceof Function},pe=function(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ct&&ct===s)){if((!s||typeof s!="object")&&(s={}),s=Y(s),_t=hs.indexOf(s.PARSER_MEDIA_TYPE)===-1?ds:s.PARSER_MEDIA_TYPE,w=_t==="application/xhtml+xml"?$e:Zt,S=H(s,"ALLOWED_TAGS")?d({},s.ALLOWED_TAGS,w):ze,C=H(s,"ALLOWED_ATTR")?d({},s.ALLOWED_ATTR,w):qe,de=H(s,"ALLOWED_NAMESPACES")?d({},s.ALLOWED_NAMESPACES,$e):cs,ue=H(s,"ADD_URI_SAFE_ATTR")?d(Y(Ze),s.ADD_URI_SAFE_ATTR,w):Ze,Ke=H(s,"ADD_DATA_URI_TAGS")?d(Y(Xe),s.ADD_DATA_URI_TAGS,w):Xe,at=H(s,"FORBID_CONTENTS")?d({},s.FORBID_CONTENTS,w):Ye,ft=H(s,"FORBID_TAGS")?d({},s.FORBID_TAGS,w):Y({}),re=H(s,"FORBID_ATTR")?d({},s.FORBID_ATTR,w):Y({}),ot=H(s,"USE_PROFILES")?s.USE_PROFILES:!1,Be=s.ALLOW_ARIA_ATTR!==!1,oe=s.ALLOW_DATA_ATTR!==!1,Ge=s.ALLOW_UNKNOWN_PROTOCOLS||!1,We=s.ALLOW_SELF_CLOSE_IN_ATTR!==!1,it=s.SAFE_FOR_TEMPLATES||!1,It=s.SAFE_FOR_XML!==!1,Q=s.WHOLE_DOCUMENT||!1,rt=s.RETURN_DOM||!1,Dt=s.RETURN_DOM_FRAGMENT||!1,Pt=s.RETURN_TRUSTED_TYPE||!1,le=s.FORCE_BODY||!1,je=s.SANITIZE_DOM!==!1,Ve=s.SANITIZE_NAMED_PROPS||!1,ce=s.KEEP_CONTENT!==!1,gt=s.IN_PLACE||!1,Fe=s.ALLOWED_URI_REGEXP||zn,lt=s.NAMESPACE||B,Ht=s.MATHML_TEXT_INTEGRATION_POINTS||Ht,Ft=s.HTML_INTEGRATION_POINTS||Ft,A=s.CUSTOM_ELEMENT_HANDLING||{},s.CUSTOM_ELEMENT_HANDLING&&Je(s.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(A.tagNameCheck=s.CUSTOM_ELEMENT_HANDLING.tagNameCheck),s.CUSTOM_ELEMENT_HANDLING&&Je(s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(A.attributeNameCheck=s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),s.CUSTOM_ELEMENT_HANDLING&&typeof s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(A.allowCustomizedBuiltInElements=s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),it&&(oe=!1),Dt&&(rt=!0),ot&&(S=d({},In),C=[],ot.html===!0&&(d(S,Nn),d(C,Dn)),ot.svg===!0&&(d(S,xe),d(C,Le),d(C,Xt)),ot.svgFilters===!0&&(d(S,Me),d(C,Le),d(C,Xt)),ot.mathMl===!0&&(d(S,Re),d(C,Pn),d(C,Xt))),s.ADD_TAGS&&(S===ze&&(S=Y(S)),d(S,s.ADD_TAGS,w)),s.ADD_ATTR&&(C===qe&&(C=Y(C)),d(C,s.ADD_ATTR,w)),s.ADD_URI_SAFE_ATTR&&d(ue,s.ADD_URI_SAFE_ATTR,w),s.FORBID_CONTENTS&&(at===Ye&&(at=Y(at)),d(at,s.FORBID_CONTENTS,w)),ce&&(S["#text"]=!0),Q&&d(S,["html","head","body"]),S.table&&(d(S,["tbody"]),delete ft.tbody),s.TRUSTED_TYPES_POLICY){if(typeof s.TRUSTED_TYPES_POLICY.createHTML!="function")throw Mt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof s.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Mt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');M=s.TRUSTED_TYPES_POLICY,mt=M.createHTML("")}else M===void 0&&(M=Qs(D,r)),M!==null&&typeof mt=="string"&&(mt=M.createHTML(""));O&&O(s),ct=s}},Qe=d({},[...xe,...Me,...qs]),tn=d({},[...Re,...Bs]),ms=function(s){let a=Nt(s);(!a||!a.tagName)&&(a={namespaceURI:lt,tagName:"template"});let c=Zt(s.tagName),E=Zt(a.tagName);return de[s.namespaceURI]?s.namespaceURI===Ut?a.namespaceURI===B?c==="svg":a.namespaceURI===kt?c==="svg"&&(E==="annotation-xml"||Ht[E]):!!Qe[c]:s.namespaceURI===kt?a.namespaceURI===B?c==="math":a.namespaceURI===Ut?c==="math"&&Ft[E]:!!tn[c]:s.namespaceURI===B?a.namespaceURI===Ut&&!Ft[E]||a.namespaceURI===kt&&!Ht[E]?!1:!tn[c]&&(us[c]||!Qe[c]):!!(_t==="application/xhtml+xml"&&de[s.namespaceURI]):!1},z=function(s){$t(t.removed,{element:s});try{Nt(s).removeChild(s)}catch{Zn(s)}},ut=function(s,a){try{$t(t.removed,{attribute:a.getAttributeNode(s),from:a})}catch{$t(t.removed,{attribute:null,from:a})}if(a.removeAttribute(s),s==="is")if(rt||Dt)try{z(a)}catch{}else try{a.setAttribute(s,"")}catch{}},en=function(s){let a=null,c=null;if(le)s=""+s;else{let T=On(s,/^[\r\n\t ]+/);c=T&&T[0]}_t==="application/xhtml+xml"&<===B&&(s=''+s+"");let E=M?M.createHTML(s):s;if(lt===B)try{a=new U().parseFromString(E,_t)}catch{}if(!a||!a.documentElement){a=ee.createDocument(lt,"template",null);try{a.documentElement.innerHTML=he?mt:E}catch{}}let $=a.body||a.documentElement;return s&&c&&$.insertBefore(e.createTextNode(c),$.childNodes[0]||null),lt===B?ns.call(a,Q?"html":"body")[0]:Q?a.documentElement:$},nn=function(s){return ts.call(s.ownerDocument||s,s,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT|_.SHOW_PROCESSING_INSTRUCTION|_.SHOW_CDATA_SECTION,null)},me=function(s){return s instanceof m&&(typeof s.nodeName!="string"||typeof s.textContent!="string"||typeof s.removeChild!="function"||!(s.attributes instanceof b)||typeof s.removeAttribute!="function"||typeof s.setAttribute!="function"||typeof s.namespaceURI!="string"||typeof s.insertBefore!="function"||typeof s.hasChildNodes!="function")},sn=function(s){return typeof p=="function"&&s instanceof p};function G(u,s,a){Kt(u,c=>{c.call(t,s,a,ct)})}let rn=function(s){let a=null;if(G(R.beforeSanitizeElements,s,null),me(s))return z(s),!0;let c=w(s.nodeName);if(G(R.uponSanitizeElement,s,{tagName:c,allowedTags:S}),It&&s.hasChildNodes()&&!sn(s.firstElementChild)&&L(/<[/\w!]/g,s.innerHTML)&&L(/<[/\w!]/g,s.textContent)||s.nodeType===Lt.progressingInstruction||It&&s.nodeType===Lt.comment&&L(/<[/\w]/g,s.data))return z(s),!0;if(!S[c]||ft[c]){if(!ft[c]&&an(c)&&(A.tagNameCheck instanceof RegExp&&L(A.tagNameCheck,c)||A.tagNameCheck instanceof Function&&A.tagNameCheck(c)))return!1;if(ce&&!at[c]){let E=Nt(s)||s.parentNode,$=Qn(s)||s.childNodes;if($&&E){let T=$.length;for(let I=T-1;I>=0;--I){let W=Xn($[I],!0);W.__removalCount=(s.__removalCount||0)+1,E.insertBefore(W,Jn(s))}}}return z(s),!0}return s instanceof h&&!ms(s)||(c==="noscript"||c==="noembed"||c==="noframes")&&L(/<\/no(script|embed|frames)/i,s.innerHTML)?(z(s),!0):(it&&s.nodeType===Lt.text&&(a=s.textContent,Kt([ne,se,ie],E=>{a=xt(a,E," ")}),s.textContent!==a&&($t(t.removed,{element:s.cloneNode()}),s.textContent=a)),G(R.afterSanitizeElements,s,null),!1)},on=function(s,a,c){if(je&&(a==="id"||a==="name")&&(c in e||c in ps))return!1;if(!(oe&&!re[a]&&L(is,a))){if(!(Be&&L(rs,a))){if(!C[a]||re[a]){if(!(an(s)&&(A.tagNameCheck instanceof RegExp&&L(A.tagNameCheck,s)||A.tagNameCheck instanceof Function&&A.tagNameCheck(s))&&(A.attributeNameCheck instanceof RegExp&&L(A.attributeNameCheck,a)||A.attributeNameCheck instanceof Function&&A.attributeNameCheck(a))||a==="is"&&A.allowCustomizedBuiltInElements&&(A.tagNameCheck instanceof RegExp&&L(A.tagNameCheck,c)||A.tagNameCheck instanceof Function&&A.tagNameCheck(c))))return!1}else if(!ue[a]){if(!L(Fe,xt(c,He,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&s!=="script"&&Us(c,"data:")===0&&Ke[s])){if(!(Ge&&!L(os,xt(c,He,"")))){if(c)return!1}}}}}}return!0},an=function(s){return s!=="annotation-xml"&&On(s,as)},ln=function(s){G(R.beforeSanitizeAttributes,s,null);let{attributes:a}=s;if(!a||me(s))return;let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:C,forceKeepAttr:void 0},E=a.length;for(;E--;){let $=a[E],{name:T,namespaceURI:I,value:W}=$,Et=w(T),fe=W,x=T==="value"?fe:Hs(fe);if(c.attrName=Et,c.attrValue=x,c.keepAttr=!0,c.forceKeepAttr=void 0,G(R.uponSanitizeAttribute,s,c),x=c.attrValue,Ve&&(Et==="id"||Et==="name")&&(ut(T,s),x=ls+x),It&&L(/((--!?|])>)|<\/(style|title)/i,x)){ut(T,s);continue}if(c.forceKeepAttr)continue;if(!c.keepAttr){ut(T,s);continue}if(!We&&L(/\/>/i,x)){ut(T,s);continue}it&&Kt([ne,se,ie],un=>{x=xt(x,un," ")});let cn=w(s.nodeName);if(!on(cn,Et,x)){ut(T,s);continue}if(M&&typeof D=="object"&&typeof D.getAttributeType=="function"&&!I)switch(D.getAttributeType(cn,Et)){case"TrustedHTML":{x=M.createHTML(x);break}case"TrustedScriptURL":{x=M.createScriptURL(x);break}}if(x!==fe)try{I?s.setAttributeNS(I,T,x):s.setAttribute(T,x),me(s)?z(s):Ln(t.removed)}catch{ut(T,s)}}G(R.afterSanitizeAttributes,s,null)},fs=function u(s){let a=null,c=nn(s);for(G(R.beforeSanitizeShadowDOM,s,null);a=c.nextNode();)G(R.uponSanitizeShadowNode,a,null),rn(a),ln(a),a.content instanceof o&&u(a.content);G(R.afterSanitizeShadowDOM,s,null)};return t.sanitize=function(u){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,c=null,E=null,$=null;if(he=!u,he&&(u=""),typeof u!="string"&&!sn(u))if(typeof u.toString=="function"){if(u=u.toString(),typeof u!="string")throw Mt("dirty is not a string, aborting")}else throw Mt("toString is not a function");if(!t.isSupported)return u;if(ae||pe(s),t.removed=[],typeof u=="string"&&(gt=!1),gt){if(u.nodeName){let W=w(u.nodeName);if(!S[W]||ft[W])throw Mt("root node is forbidden and cannot be sanitized in-place")}}else if(u instanceof p)a=en(""),c=a.ownerDocument.importNode(u,!0),c.nodeType===Lt.element&&c.nodeName==="BODY"||c.nodeName==="HTML"?a=c:a.appendChild(c);else{if(!rt&&!it&&!Q&&u.indexOf("<")===-1)return M&&Pt?M.createHTML(u):u;if(a=en(u),!a)return rt?null:Pt?mt:""}a&&le&&z(a.firstChild);let T=nn(gt?u:a);for(;E=T.nextNode();)rn(E),ln(E),E.content instanceof o&&fs(E.content);if(gt)return u;if(rt){if(Dt)for($=es.call(a.ownerDocument);a.firstChild;)$.appendChild(a.firstChild);else $=a;return(C.shadowroot||C.shadowrootmode)&&($=ss.call(n,$,!0)),$}let I=Q?a.outerHTML:a.innerHTML;return Q&&S["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&L(qn,a.ownerDocument.doctype.name)&&(I=" +`+I),it&&Kt([ne,se,ie],W=>{I=xt(I,W," ")}),M&&Pt?M.createHTML(I):I},t.setConfig=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};pe(u),ae=!0},t.clearConfig=function(){ct=null,ae=!1},t.isValidAttribute=function(u,s,a){ct||pe({});let c=w(u),E=w(s);return on(c,E,a)},t.addHook=function(u,s){typeof s=="function"&&$t(R[u],s)},t.removeHook=function(u,s){if(s!==void 0){let a=Ps(R[u],s);return a===-1?void 0:ks(R[u],a,1)[0]}return Ln(R[u])},t.removeHooks=function(u){R[u]=[]},t.removeAllHooks=function(){R=Un()},t}var Gn=Bn();function Jt(i,t){let e=document.createElement(i);for(let[n,r]of Object.entries(t)){let o=n.replace(/_/g,"-");r!==null&&e.setAttribute(o,r)}return e}var J=class extends q{createRenderRoot(){return this}};function Ie({headline:i="",message:t,status:e="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:i,message:t,status:e}}))}async function Wn(i){if(window.Shiny&&i)try{await window.Shiny.renderDependenciesAsync(i)}catch(t){Ie({status:"error",message:`Failed to render HTML dependencies: ${t}`})}}var ti=Gn();ti.addHook("uponSanitizeElement",(i,t)=>{if(i.nodeName&&i.nodeName==="SCRIPT"){let e=i,n=e.getAttribute("type")==="application/json"&&e.getAttribute("data-for")!==null;t.allowedTags.script=n}});window.shinychat=window.shinychat||{};window.shinychat.hiddenToolRequests=window.shinychat.hiddenToolRequests||new Set;var k=class extends q{constructor(){super(...arguments);this.expanded=!1;this.classStatus="";this.icon="";this.titleTemplate="{title}"}createRenderRoot(){return this}#t(e){e.preventDefault(),this.expanded=!this.expanded,this.requestUpdate()}formatTitle(){let e=this.toolTitle||`${this.toolName}()`;return e=`${e}`,e=this.titleTemplate.replace("{title}",e),y`${Z(e)}`}renderCard(e){let n=`tool-header-${this.requestId}`,r=`tool-content-${this.requestId}`,o=y` +
${Z(this.icon)}
+
${this.formatTitle()}
+
+ ${this.intent?y`
${this.intent}
`:""} + `;return y` +
+ +
+ ${e} +
+
+ `}};g([f({type:String,attribute:"request-id"})],k.prototype,"requestId",2),g([f({type:String,attribute:"tool-name"})],k.prototype,"toolName",2),g([f({type:String,attribute:"tool-title"})],k.prototype,"toolTitle",2),g([f({type:String})],k.prototype,"intent",2),g([f({type:Boolean,reflect:!0})],k.prototype,"expanded",2),g([f({type:String})],k.prototype,"classStatus",2),g([f({type:String})],k.prototype,"icon",2),g([f({type:String})],k.prototype,"titleTemplate",2);var pt=class extends k{constructor(){super();this.hidden=!1;this.#t=e=>{e.detail.request_id===this.requestId&&(this.hidden=!0)};this.titleTemplate="Running {title}",this.icon='
'}connectedCallback(){super.connectedCallback(),this.hidden=window.shinychat.hiddenToolRequests.has(this.requestId),window.addEventListener("shiny-tool-request-hide",this.#t)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("shiny-tool-request-hide",this.#t)}#t;render(){if(this.hidden)return y``;let e=y` + + `;return this.renderCard(y`
+ Tool arguments ${e} +
`)}};g([f({type:String})],pt.prototype,"arguments",2),g([f({type:Boolean,reflect:!0})],pt.prototype,"hidden",2);var K=class extends k{constructor(){super();this.showRequest=!1;this.titleTemplate="{title}"}connectedCallback(){super.connectedCallback(),this.status==="error"?(this.classStatus="text-danger",this.icon=De.exclamationCircleFill,this.titleTemplate="{title} failed"):this.icon||(this.icon=De.wrenchAdjustable),window.shinychat.hiddenToolRequests.add(this.requestId),this.dispatchEvent(new CustomEvent("shiny-tool-request-hide",{detail:{request_id:this.requestId},bubbles:!0,cancelable:!0}))}#t(){let e="";if(this.valueType==="html"?e=y`${Z(this.value)}`:this.valueType==="text"?e=y`

${this.value}

`:(this.valueType!=="markdown"&&(e=Pe(this.value,"text")),e=y``),!this.showRequest&&this.valueType==="html")return e;let n=this.showRequest?y`Tool result `:"";return y`
+ ${n}${e} +
`}#e(){if(!this.showRequest||!this.requestCall)return"";let e=y``,n=this.requestCall.split(` +`).length>2;return y`
+ ${n?y`
+ Tool call + ${e} +
`:y`Tool call ${e}`} +
`}render(){let e=y` ${this.#e()} ${this.#t()} `;return this.renderCard(e)}};g([f({type:String,attribute:"request-call"})],K.prototype,"requestCall",2),g([f({type:String})],K.prototype,"status",2),g([f({type:Boolean,attribute:"show-request"})],K.prototype,"showRequest",2),g([f({type:String})],K.prototype,"value",2),g([f({type:String,attribute:"value-type"})],K.prototype,"valueType",2);var De={exclamationCircleFill:` + +`,wrenchAdjustable:` + + +`,plus:` + + +`},Pe=(i,t="markdown")=>{let e="`".repeat(8);return`${e}${t} +${i} +${e}`};window.Shiny?.addCustomMessageHandler("shiny-tool-request-hide",i=>{window.shinychat.hiddenToolRequests.add(i);let t=new CustomEvent("shiny-tool-request-hide",{detail:{request_id:i},bubbles:!0,cancelable:!0});window.dispatchEvent(t)});var ke="shiny-chat-message",Vn="shiny-user-message",Yn="shiny-chat-messages",Kn="shiny-chat-input",ei="shiny-chat-container",ni="shiny-tool-request",si="shiny-tool-result",jn={robot:'',dots_fade:''},st=class extends J{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let n=this.content.trim().length===0?jn.dots_fade:this.icon||jn.robot;return y` +
${Z(n)}
- `}#e(){this.streaming||this.#t()}#t(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(e=>{if(!(e instanceof HTMLElement)||e.hasAttribute("tabindex"))return;e.setAttribute("tabindex","0"),e.setAttribute("role","button");let n=e.dataset.suggestion||e.textContent;e.setAttribute("aria-label",`Use chat suggestion: ${n}`)})}};B([U()],Q.prototype,"content",2),B([U({attribute:"content-type"})],Q.prototype,"contentType",2),B([U({type:Boolean,reflect:!0})],Q.prototype,"streaming",2),B([U()],Q.prototype,"icon",2);var Kt=class extends Y{constructor(){super(...arguments);this.content="..."}render(){return ct` + `}#t(){this.streaming||this.#e()}#e(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(e=>{if(!(e instanceof HTMLElement)||e.hasAttribute("tabindex"))return;e.setAttribute("tabindex","0"),e.setAttribute("role","button");let n=e.dataset.suggestion||e.textContent;e.setAttribute("aria-label",`Use chat suggestion: ${n}`)})}};g([f()],st.prototype,"content",2),g([f({attribute:"content-type"})],st.prototype,"contentType",2),g([f({type:Boolean,reflect:!0})],st.prototype,"streaming",2),g([f()],st.prototype,"icon",2);var Qt=class extends J{constructor(){super(...arguments);this.content="..."}render(){return y` - `}};B([U()],Kt.prototype,"content",2);var Ne=class extends Y{render(){return ct``}},Mt=class extends Y{constructor(){super(...arguments);this.placeholder="Enter a message...";this._disabled=!1}get disabled(){return this._disabled}set disabled(e){let n=this._disabled;e!==n&&(this._disabled=e,e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",n),this.#t())}connectedCallback(){super.connectedCallback(),this.inputVisibleObserver=new IntersectionObserver(e=>{e.forEach(n=>{n.isIntersecting&&this.#n()})}),this.inputVisibleObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.inputVisibleObserver?.disconnect(),this.inputVisibleObserver=void 0}attributeChangedCallback(e,n,i){super.attributeChangedCallback(e,n,i),e==="disabled"&&(this.disabled=i!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){return ct` + `}};g([f()],Qt.prototype,"content",2);var Ue=class extends J{render(){return y``}},Ot=class extends J{constructor(){super(...arguments);this.placeholder="Enter a message...";this._disabled=!1}get disabled(){return this._disabled}set disabled(e){let n=this._disabled;e!==n&&(this._disabled=e,e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",n),this.#e())}connectedCallback(){super.connectedCallback(),this.inputVisibleObserver=new IntersectionObserver(e=>{e.forEach(n=>{n.isIntersecting&&this.#n()})}),this.inputVisibleObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.inputVisibleObserver?.disconnect(),this.inputVisibleObserver=void 0}attributeChangedCallback(e,n,r){super.attributeChangedCallback(e,n,r),e==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){return y` - `}#e(e){e.code==="Enter"&&!e.shiftKey&&!this.valueIsEmpty&&(e.preventDefault(),this.#s())}#t(){this.#n(),this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#t()}#s(e=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let n=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(n),this.setInputValue(""),this.disabled=!0,e&&this.textarea.focus()}#n(){let e=this.textarea;e.scrollHeight!=0&&(e.style.height="auto",e.style.height=`${e.scrollHeight}px`)}setInputValue(e,{submit:n=!1,focus:i=!1}={}){let r=this.textarea.value;this.textarea.value=e;let l=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(l),n&&(this.#s(!1),r&&this.setInputValue(r)),i&&this.textarea.focus()}};B([U()],Mt.prototype,"placeholder",2),B([U({type:Boolean})],Mt.prototype,"disabled",1);var Xt=class extends Y{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(Wn)}get messages(){return this.querySelector(Gn)}get lastMessage(){let e=this.messages.lastElementChild;return e||null}render(){return ct``}connectedCallback(){super.connectedCallback();let e=this.querySelector("div");e||(e=Yt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",e)),this.inputSentinelObserver=new IntersectionObserver(n=>{let i=this.input.querySelector("textarea");if(!i)return;let r=n[0]?.intersectionRatio===0;i.classList.toggle("shadow",r)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(e)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#e),this.addEventListener("shiny-chat-append-message",this.#t),this.addEventListener("shiny-chat-append-message-chunk",this.#r),this.addEventListener("shiny-chat-clear-messages",this.#a),this.addEventListener("shiny-chat-update-user-input",this.#l),this.addEventListener("shiny-chat-remove-loading-message",this.#p),this.addEventListener("click",this.#c),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#e),this.removeEventListener("shiny-chat-append-message",this.#t),this.removeEventListener("shiny-chat-append-message-chunk",this.#r),this.removeEventListener("shiny-chat-clear-messages",this.#a),this.removeEventListener("shiny-chat-update-user-input",this.#l),this.removeEventListener("shiny-chat-remove-loading-message",this.#p),this.removeEventListener("click",this.#c),this.removeEventListener("keydown",this.#u)}#e(e){this.#n(e.detail),this.#d()}#t(e){this.#n(e.detail)}#s(){this.#o(),this.input.disabled||(this.input.disabled=!0)}#n(e,n=!0){this.#s();let i=e.role==="user"?Bn:Re;this.iconAssistant&&(e.icon=e.icon||this.iconAssistant);let r=Yt(i,e);this.messages.appendChild(r),n&&this.#i()}#d(){let n=Yt(Re,{content:"",role:"assistant"});this.messages.appendChild(n)}#o(){this.lastMessage?.content||this.lastMessage?.remove()}#r(e){this.#f(e.detail)}#f(e){e.chunk_type==="message_start"&&this.#n(e,!1);let n=this.lastMessage;if(!n)throw new Error("No messages found in the chat output");if(e.chunk_type==="message_start"){n.setAttribute("streaming","");return}let i=e.operation==="append"?n.getAttribute("content")+e.content:e.content;n.setAttribute("content",i),e.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#i())}#a(){this.messages.innerHTML=""}#l(e){let{value:n,placeholder:i,submit:r,focus:l}=e.detail;n!==void 0&&this.input.setInputValue(n,{submit:r,focus:l}),i!==void 0&&(this.input.placeholder=i)}#c(e){this.#h(e)}#u(e){(e.key==="Enter"||e.key===" ")&&this.#h(e)}#h(e){let{suggestion:n,submit:i}=this.#m(e.target);if(!n)return;e.preventDefault();let r=e.metaKey||e.ctrlKey?!0:e.altKey?!1:i;this.input.setInputValue(n,{submit:r,focus:!r})}#m(e){if(!(e instanceof HTMLElement))return{};let n=e.closest(".suggestion, [data-suggestion]");return n instanceof HTMLElement?n.classList.contains("suggestion")||n.dataset.suggestion!==void 0?{suggestion:n.dataset.suggestion||n.textContent||void 0,submit:n.classList.contains("submit")||n.dataset.suggestionSubmit===""||n.dataset.suggestionSubmit==="true"}:{}:{}}#p(){this.#o(),this.#i()}#i(){this.input.disabled=!1}};B([U({attribute:"icon-assistant"})],Xt.prototype,"iconAssistant",2);var Zs=[{tag:Re,component:Q},{tag:Bn,component:Kt},{tag:Gn,component:Ne},{tag:Wn,component:Mt},{tag:Xs,component:Xt}];Zs.forEach(({tag:o,component:t})=>{customElements.get(o)||customElements.define(o,t)});window.Shiny.addCustomMessageHandler("shinyChatMessage",async function(o){o.obj?.html_deps&&await zn(o.obj.html_deps);let t=new CustomEvent(o.handler,{detail:o.obj}),e=document.getElementById(o.id);if(!e){Le({status:"error",message:`Unable to handle Chat() message since element with id - ${o.id} wasn't found. Do you need to call .ui() (Express) or need a - chat_ui('${o.id}') in the UI (Core)? - `});return}e.dispatchEvent(t)});export{Xs as CHAT_CONTAINER_TAG}; + `}#t(e){e.code==="Enter"&&!e.shiftKey&&!this.valueIsEmpty&&(e.preventDefault(),this.#s())}#e(){this.#n(),this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#e()}#s(e=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let n=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(n),this.setInputValue(""),this.disabled=!0,e&&this.textarea.focus()}#n(){let e=this.textarea;e.scrollHeight!=0&&(e.style.height="auto",e.style.height=`${e.scrollHeight}px`)}setInputValue(e,{submit:n=!1,focus:r=!1}={}){let o=this.textarea.value;this.textarea.value=e;let l=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(l),n&&(this.#s(!1),o&&this.setInputValue(o)),r&&this.textarea.focus()}};g([f()],Ot.prototype,"placeholder",2),g([f({type:Boolean})],Ot.prototype,"disabled",1);var te=class extends J{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(Kn)}get messages(){return this.querySelector(Yn)}get lastMessage(){let e=this.messages.lastElementChild;return e||null}render(){return y``}connectedCallback(){super.connectedCallback();let e=this.querySelector("div");e||(e=Jt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",e)),this.inputSentinelObserver=new IntersectionObserver(n=>{let r=this.input.querySelector("textarea");if(!r)return;let o=n[0]?.intersectionRatio===0;r.classList.toggle("shadow",o)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(e)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#t),this.addEventListener("shiny-chat-append-message",this.#e),this.addEventListener("shiny-chat-append-message-chunk",this.#o),this.addEventListener("shiny-chat-clear-messages",this.#a),this.addEventListener("shiny-chat-update-user-input",this.#l),this.addEventListener("shiny-chat-remove-loading-message",this.#d),this.addEventListener("click",this.#c),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#t),this.removeEventListener("shiny-chat-append-message",this.#e),this.removeEventListener("shiny-chat-append-message-chunk",this.#o),this.removeEventListener("shiny-chat-clear-messages",this.#a),this.removeEventListener("shiny-chat-update-user-input",this.#l),this.removeEventListener("shiny-chat-remove-loading-message",this.#d),this.removeEventListener("click",this.#c),this.removeEventListener("keydown",this.#u)}#t(e){this.#n(e.detail),this.#p()}#e(e){this.#n(e.detail)}#s(){this.#r(),this.input.disabled||(this.input.disabled=!0)}#n(e,n=!0){this.#s();let r=e.role==="user"?Vn:ke;this.iconAssistant&&(e.icon=e.icon||this.iconAssistant);let o=Jt(r,e);this.messages.appendChild(o),n&&this.#i()}#p(){let n=Jt(ke,{content:"",role:"assistant"});this.messages.appendChild(n)}#r(){this.lastMessage?.content||this.lastMessage?.remove()}#o(e){this.#m(e.detail)}#m(e){e.chunk_type==="message_start"&&this.#n(e,!1);let n=this.lastMessage;if(!n)throw new Error("No messages found in the chat output");if(e.chunk_type==="message_start"){n.setAttribute("streaming","");return}let r=e.operation==="append"?n.getAttribute("content")+e.content:e.content;n.setAttribute("content",r),e.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#i())}#a(){this.messages.innerHTML=""}#l(e){let{value:n,placeholder:r,submit:o,focus:l}=e.detail;n!==void 0&&this.input.setInputValue(n,{submit:o,focus:l}),r!==void 0&&(this.input.placeholder=r)}#c(e){this.#h(e)}#u(e){(e.key==="Enter"||e.key===" ")&&this.#h(e)}#h(e){let{suggestion:n,submit:r}=this.#f(e.target);if(!n)return;e.preventDefault();let o=e.metaKey||e.ctrlKey?!0:e.altKey?!1:r;this.input.setInputValue(n,{submit:o,focus:!o})}#f(e){if(!(e instanceof HTMLElement))return{};let n=e.closest(".suggestion, [data-suggestion]");return n instanceof HTMLElement?n.classList.contains("suggestion")||n.dataset.suggestion!==void 0?{suggestion:n.dataset.suggestion||n.textContent||void 0,submit:n.classList.contains("submit")||n.dataset.suggestionSubmit===""||n.dataset.suggestionSubmit==="true"}:{}:{}}#d(){this.#r(),this.#i()}#i(){this.input.disabled=!1}};g([f({attribute:"icon-assistant"})],te.prototype,"iconAssistant",2);var ii=[{tag:ke,component:st},{tag:Vn,component:Qt},{tag:Yn,component:Ue},{tag:Kn,component:Ot},{tag:ei,component:te},{tag:ni,component:pt},{tag:si,component:K}];ii.forEach(({tag:i,component:t})=>{customElements.get(i)||customElements.define(i,t)});window.Shiny?.addCustomMessageHandler("shinyChatMessage",async function(i){i.obj?.html_deps&&await Wn(i.obj.html_deps);let t=new CustomEvent(i.handler,{detail:i.obj}),e=document.getElementById(i.id);if(!e){Ie({status:"error",message:`Unable to handle Chat() message since element with id + ${i.id} wasn't found. Do you need to call .ui() (Express) or need a + chat_ui('${i.id}') in the UI (Core)? + `});return}e.dispatchEvent(t)});export{ei as CHAT_CONTAINER_TAG}; /*! Bundled license information: @lit/reactive-element/css-tag.js: diff --git a/js/dist/chat/chat.js.map b/js/dist/chat/chat.js.map index df6e0d36..e48902fa 100644 --- a/js/dist/chat/chat.js.map +++ b/js/dist/chat/chat.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../node_modules/dompurify/src/utils.ts", "../../node_modules/dompurify/src/tags.ts", "../../node_modules/dompurify/src/attrs.ts", "../../node_modules/dompurify/src/regexp.ts", "../../node_modules/dompurify/src/purify.ts", "../../src/utils/_utils.ts", "../../src/chat/chat.ts"], - "sourcesContent": ["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic the native feature](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/adoptedStyleSheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable = Omit & {\n -readonly [P in keyof Pick]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n global.litIssuedWarnings ??= new Set();\n\n /**\n * Issue a warning if we haven't already, based either on `code` or `warning`.\n * Warnings are disabled automatically only by `warning`; disabling via `code`\n * can be done by users.\n */\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (\n !global.litIssuedWarnings!.has(warning) &&\n !global.litIssuedWarnings!.has(code)\n ) {\n console.warn(warning);\n global.litIssuedWarnings!.add(warning);\n }\n };\n\n queueMicrotask(() => {\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n });\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =

(\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n\n /**\n * When `true`, uses the initial value of the property as the default value,\n * which changes how attributes are handled:\n * - The initial value does *not* reflect, even if the `reflect` option is `true`.\n * Subsequent changes to the property will reflect, even if they are equal to the\n * default value.\n * - When the attribute is removed, the property is set to the default value\n * - The initial value will not trigger an old value in the `changedProperties` map\n * argument to update lifecycle methods.\n *\n * When set, properties must be initialized, either with a field initializer, or an\n * assignment in the constructor. Not initializing the property may lead to\n * improper handling of subsequent property assignments.\n *\n * While this behavior is opt-in, most properties that reflect to attributes should\n * use `useDefault: true` so that their initial values do not reflect.\n */\n useDefault?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n useDefault: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `',\n}\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\"\n @property({ attribute: \"content-type\" }) contentType: ContentType = \"markdown\"\n @property({ type: Boolean, reflect: true }) streaming = false\n @property() icon = \"\"\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot\n\n return html`\n

${unsafeHTML(icon)}
\n \n `\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible()\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n if (el.hasAttribute(\"tabindex\")) return\n\n el.setAttribute(\"tabindex\", \"0\")\n el.setAttribute(\"role\", \"button\")\n\n const suggestion = el.dataset.suggestion || el.textContent\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`)\n })\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\"\n\n render() {\n return html`\n \n `\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean\n focus?: boolean\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\"\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled\n if (value === oldValue) {\n return\n }\n\n this._disabled = value\n if (value) {\n this.setAttribute(\"disabled\", \"\")\n } else {\n this.removeAttribute(\"disabled\")\n }\n\n this.requestUpdate(\"disabled\", oldValue)\n this.#onInput()\n }\n\n private _disabled = false\n inputVisibleObserver?: IntersectionObserver\n\n connectedCallback(): void {\n super.connectedCallback()\n\n this.inputVisibleObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) this.#updateHeight()\n })\n })\n\n this.inputVisibleObserver.observe(this)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n this.inputVisibleObserver?.disconnect()\n this.inputVisibleObserver = undefined\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null,\n ) {\n super.attributeChangedCallback(name, _old, value)\n if (name === \"disabled\") {\n this.disabled = value !== null\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement\n }\n\n private get value(): string {\n return this.textarea.value\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement\n }\n\n render() {\n const icon =\n ''\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault()\n this.#sendInput()\n }\n }\n\n #onInput(): void {\n this.#updateHeight()\n this.button.disabled = this.disabled ? true : this.value.trim().length === 0\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput()\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return\n if (this.disabled) return\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" })\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n })\n this.dispatchEvent(sentEvent)\n\n this.setInputValue(\"\")\n this.disabled = true\n\n if (focus) this.textarea.focus()\n }\n\n #updateHeight(): void {\n const el = this.textarea\n if (el.scrollHeight == 0) {\n return\n }\n el.style.height = \"auto\"\n el.style.height = `${el.scrollHeight}px`\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {},\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value\n\n this.textarea.value = value\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true })\n this.textarea.dispatchEvent(inputEvent)\n\n if (submit) {\n this.#sendInput(false)\n if (oldValue) this.setInputValue(oldValue)\n }\n\n if (focus) {\n this.textarea.focus()\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\"\n inputSentinelObserver?: IntersectionObserver\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild\n return last ? (last as ChatMessage) : null\n }\n\n render() {\n return html``\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\")\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement\n this.input.insertAdjacentElement(\"afterend\", sentinel)\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\")\n if (!inputTextarea) return\n const addShadow = entries[0]?.intersectionRatio === 0\n inputTextarea.classList.toggle(\"shadow\", addShadow)\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n },\n )\n\n this.inputSentinelObserver.observe(sentinel)\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.addEventListener(\"click\", this.#onInputSuggestionClick)\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n\n this.inputSentinelObserver?.disconnect()\n this.inputSentinelObserver = undefined\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.removeEventListener(\"click\", this.#onInputSuggestionClick)\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n this.#addLoadingMessage()\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage()\n if (!this.input.disabled) {\n this.input.disabled = true\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage()\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant\n }\n\n const msg = createElement(TAG_NAME, message)\n this.messages.appendChild(msg)\n\n if (finalize) {\n this.#finalizeMessage()\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n }\n const message = createElement(CHAT_MESSAGE_TAG, loading_message)\n this.messages.appendChild(message)\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content\n if (!content) this.lastMessage?.remove()\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail)\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false)\n }\n\n const lastMessage = this.lastMessage\n if (!lastMessage) throw new Error(\"No messages found in the chat output\")\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\")\n return\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content\n\n lastMessage.setAttribute(\"content\", content)\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\")\n this.#finalizeMessage()\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\"\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus })\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \"\n if (!isEnterOrSpace) return\n\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target)\n if (!suggestion) return\n\n e.preventDefault()\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n })\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string\n submit?: boolean\n } {\n if (!(x instanceof HTMLElement)) return {}\n\n const el = x.closest(\".suggestion, [data-suggestion]\")\n if (!(el instanceof HTMLElement)) return {}\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") || el.dataset.suggestion !== undefined\n if (!isSuggestion) return {}\n\n const suggestion = el.dataset.suggestion || el.textContent\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n }\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage()\n this.#finalizeMessage()\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nconst chatCustomElements = [\n { tag: CHAT_MESSAGE_TAG, component: ChatMessage },\n { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage },\n { tag: CHAT_MESSAGES_TAG, component: ChatMessages },\n { tag: CHAT_INPUT_TAG, component: ChatInput },\n { tag: CHAT_CONTAINER_TAG, component: ChatContainer },\n]\n\nchatCustomElements.forEach(({ tag, component }) => {\n if (!customElements.get(tag)) {\n customElements.define(tag, component)\n }\n})\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps)\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n })\n\n const el = document.getElementById(message.id)\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n })\n return\n }\n\n el.dispatchEvent(evt)\n },\n)\n\nexport { CHAT_CONTAINER_TAG }\n"], - "mappings": "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GvDN,EAAMM,CAAK,EAAI,MAInB,OAAON,CACT,CAQA,SAASO,EAAqCC,EAAS,CACrD,IAAMC,EAAY/D,GAAO,IAAI,EAE7B,OAAW,CAACgE,EAAUC,CAAK,IAAKzE,GAAQsE,CAAM,EACpB3B,EAAqB2B,EAAQE,CAAQ,IAGvDrD,MAAMuD,QAAQD,CAAK,EACrBF,EAAUC,CAAQ,EAAIL,GAAWM,CAAK,EAEtCA,GACA,OAAOA,GAAU,UACjBA,EAAME,cAAgBtE,OAEtBkE,EAAUC,CAAQ,EAAIH,EAAMI,CAAK,EAEjCF,EAAUC,CAAQ,EAAIC,GAK5B,OAAOF,CACT,CASA,SAASK,GACPN,EACAO,EAAY,CAEZ,KAAOP,IAAW,MAAM,CACtB,IAAMQ,EAAO1E,GAAyBkE,EAAQO,CAAI,EAElD,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAO7D,EAAQ4D,EAAKC,GAAG,EAGzB,GAAI,OAAOD,EAAKL,OAAU,WACxB,OAAOvD,EAAQ4D,EAAKL,KAAK,CAE7B,CAEAH,EAASnE,GAAemE,CAAM,CAChC,CAEA,SAASU,GAAa,CACpB,OAAO,IACT,CAEA,OAAOA,CACT,CC3MO,IAAMC,GAAO3E,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACG,EAEG4E,GAAM5E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACC,EAEG6E,GAAa7E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACN,EAMG8E,GAAgB9E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACG,EAEG+E,GAAS/E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACL,EAIGgF,GAAmBhF,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACE,EAEGiF,GAAOjF,EAAO,CAAC,OAAO,CAAU,ECpRhC2E,GAAO3E,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACE,EAEG4E,GAAM5E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACJ,EAEG+E,GAAS/E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYkF,GAAMlF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACL,EC/WGmF,GAAgBlF,EAAK,2BAA2B,EAChDmF,GAAWnF,EAAK,uBAAuB,EACvCoF,GAAcpF,EAAK,eAAe,EAClCqF,GAAYrF,EAAK,8BAA8B,EAC/CsF,GAAYtF,EAAK,gBAAgB,EACjCuF,GAAiBvF,EAC5B,oGAEWwF,GAAoBxF,EAAK,uBAAuB,EAChDyF,GAAkBzF,EAC7B,+DAEW0F,GAAe1F,EAAK,SAAS,EAC7B2F,GAAiB3F,EAAK,0BAA0B,uMCmBvD4F,GAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,IAGNC,GAAY,UAAA,CAChB,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAChCC,EACAC,EAAoC,CAEpC,GACE,OAAOD,GAAiB,UACxB,OAAOA,EAAaE,cAAiB,WAErC,OAAO,KAMT,IAAIC,EAAS,KACPC,EAAY,wBACdH,GAAqBA,EAAkBI,aAAaD,CAAS,IAC/DD,EAASF,EAAkBK,aAAaF,CAAS,GAGnD,IAAMG,EAAa,aAAeJ,EAAS,IAAMA,EA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", - "names": ["global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "useDefault", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "prototype", "hasOwnProperty", "create", "wrapped", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "get", "v", "oldValue", "call", "requestUpdate", "configurable", "enumerable", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "__defaultValues", "newValue", "hasAttribute", "_$changeProperty", "__enqueueUpdate", "initializeValue", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "mathml", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "wrapper", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "global", "globalThis", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "global", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "Object", "create", "wrapped", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "getOwnPropertyDescriptor", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "func", "thisArg", "lastIndex", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "__removalCount", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "LightElement", "i", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizer", "purify", "node", "data", "element", "isOK", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "entries", "entry", "#updateHeight", "name", "_old", "#onKeyDown", "#sendInput", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "chatCustomElements", "tag", "component", "renderDependencies", "evt", "showShinyClientMessage"] + "sources": ["../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../node_modules/dompurify/src/utils.ts", "../../node_modules/dompurify/src/tags.ts", "../../node_modules/dompurify/src/attrs.ts", "../../node_modules/dompurify/src/regexp.ts", "../../node_modules/dompurify/src/purify.ts", "../../src/utils/_utils.ts", "../../src/chat/chat-tools.ts", "../../src/chat/chat.ts"], + "sourcesContent": ["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic the native feature](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/adoptedStyleSheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable = Omit & {\n -readonly [P in keyof Pick]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n global.litIssuedWarnings ??= new Set();\n\n /**\n * Issue a warning if we haven't already, based either on `code` or `warning`.\n * Warnings are disabled automatically only by `warning`; disabling via `code`\n * can be done by users.\n */\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (\n !global.litIssuedWarnings!.has(warning) &&\n !global.litIssuedWarnings!.has(code)\n ) {\n console.warn(warning);\n global.litIssuedWarnings!.add(warning);\n }\n };\n\n queueMicrotask(() => {\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n });\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =

(\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n\n /**\n * When `true`, uses the initial value of the property as the default value,\n * which changes how attributes are handled:\n * - The initial value does *not* reflect, even if the `reflect` option is `true`.\n * Subsequent changes to the property will reflect, even if they are equal to the\n * default value.\n * - When the attribute is removed, the property is set to the default value\n * - The initial value will not trigger an old value in the `changedProperties` map\n * argument to update lifecycle methods.\n *\n * When set, properties must be initialized, either with a field initializer, or an\n * assignment in the constructor. Not initializing the property may lead to\n * improper handling of subsequent property assignments.\n *\n * While this behavior is opt-in, most properties that reflect to attributes should\n * use `useDefault: true` so that their initial values do not reflect.\n */\n useDefault?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n useDefault: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `',\n}\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\"\n @property({ attribute: \"content-type\" }) contentType: ContentType = \"markdown\"\n @property({ type: Boolean, reflect: true }) streaming = false\n @property() icon = \"\"\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot\n\n return html`\n

${unsafeHTML(icon)}
\n \n `\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible()\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n if (el.hasAttribute(\"tabindex\")) return\n\n el.setAttribute(\"tabindex\", \"0\")\n el.setAttribute(\"role\", \"button\")\n\n const suggestion = el.dataset.suggestion || el.textContent\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`)\n })\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\"\n\n render() {\n return html`\n \n `\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean\n focus?: boolean\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\"\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled\n if (value === oldValue) {\n return\n }\n\n this._disabled = value\n if (value) {\n this.setAttribute(\"disabled\", \"\")\n } else {\n this.removeAttribute(\"disabled\")\n }\n\n this.requestUpdate(\"disabled\", oldValue)\n this.#onInput()\n }\n\n private _disabled = false\n inputVisibleObserver?: IntersectionObserver\n\n connectedCallback(): void {\n super.connectedCallback()\n\n this.inputVisibleObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) this.#updateHeight()\n })\n })\n\n this.inputVisibleObserver.observe(this)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n this.inputVisibleObserver?.disconnect()\n this.inputVisibleObserver = undefined\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null,\n ) {\n super.attributeChangedCallback(name, _old, value)\n if (name === \"disabled\") {\n this.disabled = value !== null\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement\n }\n\n private get value(): string {\n return this.textarea.value\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement\n }\n\n render() {\n const icon =\n ''\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault()\n this.#sendInput()\n }\n }\n\n #onInput(): void {\n this.#updateHeight()\n this.button.disabled = this.disabled ? true : this.value.trim().length === 0\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput()\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return\n if (this.disabled) return\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" })\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n })\n this.dispatchEvent(sentEvent)\n\n this.setInputValue(\"\")\n this.disabled = true\n\n if (focus) this.textarea.focus()\n }\n\n #updateHeight(): void {\n const el = this.textarea\n if (el.scrollHeight == 0) {\n return\n }\n el.style.height = \"auto\"\n el.style.height = `${el.scrollHeight}px`\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {},\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value\n\n this.textarea.value = value\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true })\n this.textarea.dispatchEvent(inputEvent)\n\n if (submit) {\n this.#sendInput(false)\n if (oldValue) this.setInputValue(oldValue)\n }\n\n if (focus) {\n this.textarea.focus()\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\"\n inputSentinelObserver?: IntersectionObserver\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild\n return last ? (last as ChatMessage) : null\n }\n\n render() {\n return html``\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\")\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement\n this.input.insertAdjacentElement(\"afterend\", sentinel)\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\")\n if (!inputTextarea) return\n const addShadow = entries[0]?.intersectionRatio === 0\n inputTextarea.classList.toggle(\"shadow\", addShadow)\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n },\n )\n\n this.inputSentinelObserver.observe(sentinel)\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.addEventListener(\"click\", this.#onInputSuggestionClick)\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n\n this.inputSentinelObserver?.disconnect()\n this.inputSentinelObserver = undefined\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.removeEventListener(\"click\", this.#onInputSuggestionClick)\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n this.#addLoadingMessage()\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage()\n if (!this.input.disabled) {\n this.input.disabled = true\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage()\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant\n }\n\n const msg = createElement(TAG_NAME, message)\n this.messages.appendChild(msg)\n\n if (finalize) {\n this.#finalizeMessage()\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n }\n const message = createElement(CHAT_MESSAGE_TAG, loading_message)\n this.messages.appendChild(message)\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content\n if (!content) this.lastMessage?.remove()\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail)\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false)\n }\n\n const lastMessage = this.lastMessage\n if (!lastMessage) throw new Error(\"No messages found in the chat output\")\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\")\n return\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content\n\n lastMessage.setAttribute(\"content\", content)\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\")\n this.#finalizeMessage()\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\"\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus })\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \"\n if (!isEnterOrSpace) return\n\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target)\n if (!suggestion) return\n\n e.preventDefault()\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n })\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string\n submit?: boolean\n } {\n if (!(x instanceof HTMLElement)) return {}\n\n const el = x.closest(\".suggestion, [data-suggestion]\")\n if (!(el instanceof HTMLElement)) return {}\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") || el.dataset.suggestion !== undefined\n if (!isSuggestion) return {}\n\n const suggestion = el.dataset.suggestion || el.textContent\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n }\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage()\n this.#finalizeMessage()\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nconst chatCustomElements = [\n { tag: CHAT_MESSAGE_TAG, component: ChatMessage },\n { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage },\n { tag: CHAT_MESSAGES_TAG, component: ChatMessages },\n { tag: CHAT_INPUT_TAG, component: ChatInput },\n { tag: CHAT_CONTAINER_TAG, component: ChatContainer },\n { tag: CHAT_TOOL_REQUEST_TAG, component: ShinyToolRequest },\n { tag: CHAT_TOOL_RESULT_TAG, component: ShinyToolResult },\n]\n\nchatCustomElements.forEach(({ tag, component }) => {\n if (!customElements.get(tag)) {\n customElements.define(tag, component)\n }\n})\n\nwindow.Shiny?.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps)\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n })\n\n const el = document.getElementById(message.id)\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n })\n return\n }\n\n el.dispatchEvent(evt)\n },\n)\n\nexport { CHAT_CONTAINER_TAG }\n"], + "mappings": "4MAMA,IAGMA,GAASC,WAKFC,GACXF,GAAOG,aACNH,GAAOI,WADDD,QAC2BH,GAAOI,SAASC,eAClD,uBAAwBC,SAASC,WACjC,YAAaC,cAAcD,UAkBvBE,GAAoBC,OAAAA,EAEpBC,GAAc,IAAIC,QASXC,GATWD,KASXC,CAOX,YACEC,EACAC,EACAC,EAAAA,CAEA,GAVFC,KAAe,aAAA,GAUTD,IAAcP,GAChB,MAAUS,MACR,mEAAA,EAGJD,KAAKH,QAAUA,EACfG,KAAKE,EAAWJ,CACjB,CAID,IAAA,YAAIK,CAGF,IAAIA,EAAaH,KAAKI,EAChBN,EAAUE,KAAKE,EACrB,GAAIjB,IAA+BkB,IAA/BlB,OAAyD,CAC3D,IAAMoB,EAAYP,IAAZO,QAAqCP,EAAQQ,SAAW,EAC1DD,IACFF,EAAaT,GAAYa,IAAIT,CAAAA,GAE3BK,IAF2BL,UAG5BE,KAAKI,EAAcD,EAAa,IAAIZ,eAAiBiB,YACpDR,KAAKH,OAAAA,EAEHQ,GACFX,GAAYe,IAAIX,EAASK,CAAAA,EAG9B,CACD,OAAOA,CACR,CAED,UAAAO,CACE,OAAOV,KAAKH,OACb,CAAA,EAiCUc,GAAaC,GACxB,IAAKhB,GACc,OAAVgB,GAAU,SAAWA,EAAeA,EAAPC,GAAAA,OAEpCrB,EAAAA,EA1BJ,IAgEasB,GAAc,CACzBC,EACAC,IAAAA,CAEA,GAAIC,GACDF,EAA0BG,mBAAqBF,EAAOG,IAAKC,GAC1DA,aAAaC,cAAgBD,EAAIA,EAAEE,UAAAA,MAGrC,SAAWF,KAAKJ,EAAQ,CACtB,IAAMO,EAAQC,SAASC,cAAc,OAAA,EAE/BC,EAASC,GAAyB,SACpCD,IADoC,QAEtCH,EAAMK,aAAa,QAASF,CAAAA,EAE9BH,EAAMM,YAAeT,EAAgBU,QACrCf,EAAWgB,YAAYR,CAAAA,CACxB,CACF,EAWUS,GACXf,GAEKG,GAAyBA,EACzBA,GACCA,aAAaC,eAbYY,GAAAA,CAC/B,IAAIH,EAAU,GACd,QAAWI,KAAQD,EAAME,SACvBL,GAAWI,EAAKJ,QAElB,OAAOM,GAAUN,CAAAA,CAAQ,GAQkCV,CAAAA,EAAKA,EChKlE,GAAA,CAAMiB,GACJA,GAAEC,eACFA,GAAcC,yBACdA,GAAwBC,oBACxBA,GAAmBC,sBACnBA,GAAqBC,eACrBA,EAAAA,EACEC,OAKEC,GAASC,WAUTC,GAAgBF,GACnBE,aAMGC,GAAiCD,GAClCA,GAAaE,YACd,GAEEC,GAEFL,GAAOM,+BAoGLC,GAA4B,CAChCC,EACAC,IACMD,EA0KKE,GAA8C,CACzD,YAAYC,EAAgBC,EAAAA,CAC1B,OAAQA,EAAAA,CACN,KAAKC,QACHF,EAAQA,EAAQR,GAAiC,KACjD,MACF,KAAKJ,OACL,KAAKe,MAGHH,EAAQA,GAAS,KAAOA,EAAQI,KAAKC,UAAUL,CAAAA,CAAAA,CAGnD,OAAOA,CACR,EAED,cAAcA,EAAsBC,EAAAA,CAClC,IAAIK,EAAqBN,EACzB,OAAQC,EAAAA,CACN,KAAKC,QACHI,EAAYN,IAAU,KACtB,MACF,KAAKO,OACHD,EAAYN,IAAU,KAAO,KAAOO,OAAOP,CAAAA,EAC3C,MACF,KAAKZ,OACL,KAAKe,MAIH,GAAA,CAEEG,EAAYF,KAAKI,MAAMR,CAAAA,CACxB,MAAQS,CACPH,EAAY,IACb,CAAA,CAGL,OAAOA,CACR,CAAA,EAWUI,GAAuB,CAACV,EAAgBW,IAAAA,CAClD7B,GAAGkB,EAAOW,CAAAA,EAEPC,GAAkD,CACtDC,UAAAA,GACAZ,KAAMa,OACNC,UAAWhB,GACXiB,QAAAA,GACAC,WAAAA,GACAC,WAAYR,EAAAA,EAsBbS,OAA8BC,WAAaD,OAAO,UAAA,EAcnD9B,GAAOgC,sBAAwB,IAAIC,QAAAA,IAWbC,EAXaD,cAoBzBE,WAAAA,CAqFR,OAAA,eAAsBC,EAAAA,CACpBC,KAAKC,KAAAA,GACJD,KAAKE,IAAkB,CAAA,GAAIC,KAAKJ,CAAAA,CAClC,CAuGD,WAAA,oBAAWK,CAOT,OALAJ,KAAKK,SAAAA,EAMHL,KAAKM,MAA4B,CAAA,GAAIN,KAAKM,KAAyBC,KAAAA,CAAAA,CAEtE,CA6BD,OAAA,eACEC,EACAC,EAA+BvB,GAAAA,CAc/B,GAXIuB,EAAQC,QACTD,EAAsDtB,UAAAA,IAEzDa,KAAKC,KAAAA,EAGDD,KAAKW,UAAUC,eAAeJ,CAAAA,KAChCC,EAAU/C,OAAOmD,OAAOJ,CAAAA,GAChBK,QAAAA,IAEVd,KAAKe,kBAAkBC,IAAIR,EAAMC,CAAAA,EAAAA,CAC5BA,EAAQQ,WAAY,CACvB,IAAMC,EAIFzB,OAAAA,EACE0B,EAAanB,KAAKoB,sBAAsBZ,EAAMU,EAAKT,CAAAA,EACrDU,IADqDV,QAEvDpD,GAAe2C,KAAKW,UAAWH,EAAMW,CAAAA,CAExC,CACF,CA6BS,OAAA,sBACRX,EACAU,EACAT,EAAAA,CAEA,GAAA,CAAMY,IAACA,EAAGL,IAAEA,CAAAA,EAAO1D,GAAyB0C,KAAKW,UAAWH,CAAAA,GAAS,CACnE,KAAAa,CACE,OAAOrB,KAAKkB,CAAAA,CACb,EACD,IAA2BI,EAAAA,CACxBtB,KAAqDkB,CAAAA,EAAOI,CAC9D,CAAA,EAmBH,MAAO,CACLD,IAAAA,EACA,IAA2B/C,EAAAA,CACzB,IAAMiD,EAAWF,GAAKG,KAAKxB,IAAAA,EAC3BgB,GAAKQ,KAAKxB,KAAM1B,CAAAA,EAChB0B,KAAKyB,cAAcjB,EAAMe,EAAUd,CAAAA,CACpC,EACDiB,aAAAA,GACAC,WAAAA,EAAY,CAEf,CAgBD,OAAA,mBAA0BnB,EAAAA,CACxB,OAAOR,KAAKe,kBAAkBM,IAAIb,CAAAA,GAAStB,EAC5C,CAgBO,OAAA,MAAOe,CACb,GACED,KAAKY,eAAe1C,GAA0B,mBAAA,CAAA,EAG9C,OAGF,IAAM0D,EAAYnE,GAAeuC,IAAAA,EACjC4B,EAAUvB,SAAAA,EAKNuB,EAAU1B,IALJG,SAMRL,KAAKE,EAAgB,CAAA,GAAI0B,EAAU1B,CAAAA,GAGrCF,KAAKe,kBAAoB,IAAIc,IAAID,EAAUb,iBAAAA,CAC5C,CAaS,OAAA,UAAOV,CACf,GAAIL,KAAKY,eAAe1C,GAA0B,WAAA,CAAA,EAChD,OAMF,GAJA8B,KAAK8B,UAAAA,GACL9B,KAAKC,KAAAA,EAGDD,KAAKY,eAAe1C,GAA0B,YAAA,CAAA,EAAsB,CACtE,IAAM6D,EAAQ/B,KAAKgC,WACbC,EAAW,CAAA,GACZ1E,GAAoBwE,CAAAA,EAAAA,GACpBvE,GAAsBuE,CAAAA,CAAAA,EAE3B,QAAWG,KAAKD,EACdjC,KAAKmC,eAAeD,EAAGH,EAAMG,CAAAA,CAAAA,CAEhC,CAGD,IAAMxC,EAAWM,KAAKP,OAAOC,QAAAA,EAC7B,GAAIA,IAAa,KAAM,CACrB,IAAMsC,EAAarC,oBAAoB0B,IAAI3B,CAAAA,EAC3C,GAAIsC,IAAJ,OACE,OAAK,CAAOE,EAAGzB,CAAAA,IAAYuB,EACzBhC,KAAKe,kBAAkBC,IAAIkB,EAAGzB,CAAAA,CAGnC,CAGDT,KAAKM,KAA2B,IAAIuB,IACpC,OAAK,CAAOK,EAAGzB,CAAAA,IAAYT,KAAKe,kBAAmB,CACjD,IAAMqB,EAAOpC,KAAKqC,KAA2BH,EAAGzB,CAAAA,EAC5C2B,IAD4C3B,QAE9CT,KAAKM,KAAyBU,IAAIoB,EAAMF,CAAAA,CAE3C,CAEDlC,KAAKsC,cAAgBtC,KAAKuC,eAAevC,KAAKwC,MAAAA,CAkB/C,CA4BS,OAAA,eACRA,EAAAA,CAEA,IAAMF,EAAgB,CAAA,EACtB,GAAI7D,MAAMgE,QAAQD,CAAAA,EAAS,CAIzB,IAAMxB,EAAM,IAAI0B,IAAKF,EAA0BG,KAAKC,GAAAA,EAAUC,QAAAA,CAAAA,EAE9D,QAAWC,KAAK9B,EACdsB,EAAcS,QAAQC,GAAmBF,CAAAA,CAAAA,CAE5C,MAAUN,IAAV,QACCF,EAAcnC,KAAK6C,GAAmBR,CAAAA,CAAAA,EAExC,OAAOF,CACR,CAaO,OAAA,KACN9B,EACAC,EAAAA,CAEA,IAAMtB,EAAYsB,EAAQtB,UAC1B,OAAOA,IAAP,GAAOA,OAEkB,OAAdA,GAAc,SACnBA,EACgB,OAATqB,GAAS,SACdA,EAAKyC,YAAAA,EAAAA,MAEd,CAiDD,aAAAC,CACEC,MAAAA,EA9WMnD,KAAoBoD,KAAAA,OAuU5BpD,KAAeqD,gBAAAA,GAOfrD,KAAUsD,WAAAA,GAwBFtD,KAAoBuD,KAAuB,KASjDvD,KAAKwD,KAAAA,CACN,CAMO,MAAAA,CACNxD,KAAKyD,KAAkB,IAAIC,QACxBC,GAAS3D,KAAK4D,eAAiBD,CAAAA,EAElC3D,KAAK6D,KAAsB,IAAIhC,IAG/B7B,KAAK8D,KAAAA,EAGL9D,KAAKyB,cAAAA,EACJzB,KAAKkD,YAAuChD,GAAe6D,QAASC,GACnEA,EAAEhE,IAAAA,CAAAA,CAEL,CAWD,cAAciE,EAAAA,EACXjE,KAAKkE,OAAkB,IAAIxB,KAAOyB,IAAIF,CAAAA,EAKnCjE,KAAKoE,aAL8BH,QAKFjE,KAAKqE,aACxCJ,EAAWK,gBAAAA,CAEd,CAMD,iBAAiBL,EAAAA,CACfjE,KAAKkE,MAAeK,OAAON,CAAAA,CAC5B,CAQO,MAAAH,CACN,IAAMU,EAAqB,IAAI3C,IACzBd,EAAqBf,KAAKkD,YAC7BnC,kBACH,QAAWmB,KAAKnB,EAAkBR,KAAAA,EAC5BP,KAAKY,eAAesB,CAAAA,IACtBsC,EAAmBxD,IAAIkB,EAAGlC,KAAKkC,CAAAA,CAAAA,EAAAA,OACxBlC,KAAKkC,CAAAA,GAGZsC,EAAmBC,KAAO,IAC5BzE,KAAKoD,KAAuBoB,EAE/B,CAWS,kBAAAE,CACR,IAAMN,EACJpE,KAAK2E,YACL3E,KAAK4E,aACF5E,KAAKkD,YAAuC2B,iBAAAA,EAMjD,OAJAC,GACEV,EACCpE,KAAKkD,YAAuCZ,aAAAA,EAExC8B,CACR,CAOD,mBAAAW,CAEG/E,KAA4CoE,aAC3CpE,KAAK0E,iBAAAA,EACP1E,KAAK4D,eAAAA,EAAe,EACpB5D,KAAKkE,MAAeH,QAASiB,GAAMA,EAAEV,gBAAAA,CAAAA,CACtC,CAQS,eAAeW,EAAAA,CAA6B,CAQtD,sBAAAC,CACElF,KAAKkE,MAAeH,QAASiB,GAAMA,EAAEG,mBAAAA,CAAAA,CACtC,CAcD,yBACE3E,EACA4E,EACA9G,EAAAA,CAEA0B,KAAKqF,KAAsB7E,EAAMlC,CAAAA,CAClC,CAEO,KAAsBkC,EAAmBlC,EAAAA,CAC/C,IAGMmC,EAFJT,KAAKkD,YACLnC,kBAC6BM,IAAIb,CAAAA,EAC7B4B,EACJpC,KAAKkD,YACLb,KAA2B7B,EAAMC,CAAAA,EACnC,GAAI2B,IAAJ,QAA0B3B,EAAQnB,UAA9B8C,GAAgD,CAClD,IAKMkD,GAJH7E,EAAQpB,WAAyCkG,cAI9CD,OAFC7E,EAAQpB,UACThB,IACsBkH,YAAajH,EAAOmC,EAAQlC,IAAAA,EAwBxDyB,KAAKuD,KAAuB/C,EACxB8E,GAAa,KACftF,KAAKwF,gBAAgBpD,CAAAA,EAErBpC,KAAKyF,aAAarD,EAAMkD,CAAAA,EAG1BtF,KAAKuD,KAAuB,IAC7B,CACF,CAGD,KAAsB/C,EAAclC,EAAAA,CAClC,IAAMoH,EAAO1F,KAAKkD,YAGZyC,EAAYD,EAAKpF,KAA0Ce,IAAIb,CAAAA,EAGrE,GAAImF,IAAJ,QAA8B3F,KAAKuD,OAAyBoC,EAAU,CACpE,IAAMlF,EAAUiF,EAAKE,mBAAmBD,CAAAA,EAClCtG,EACyB,OAAtBoB,EAAQpB,WAAc,WACzB,CAACwG,cAAepF,EAAQpB,SAAAA,EACxBoB,EAAQpB,WAAWwG,gBADKxG,OAEtBoB,EAAQpB,UACRhB,GAER2B,KAAKuD,KAAuBoC,EAC5B3F,KAAK2F,CAAAA,EACHtG,EAAUwG,cAAevH,EAAOmC,EAAQlC,IAAAA,GACxCyB,KAAK8F,MAAiBzE,IAAIsE,CAAAA,GAEzB,KAEH3F,KAAKuD,KAAuB,IAC7B,CACF,CAgBD,cACE/C,EACAe,EACAd,EAAAA,CAGA,GAAID,IAAJ,OAAwB,CAOtB,IAAMkF,EAAO1F,KAAKkD,YACZ6C,EAAW/F,KAAKQ,CAAAA,EActB,GAbAC,IAAYiF,EAAKE,mBAAmBpF,CAAAA,EAAAA,GAEjCC,EAAQjB,YAAcR,IAAU+G,EAAUxE,CAAAA,GAO1Cd,EAAQlB,YACPkB,EAAQnB,SACRyG,IAAa/F,KAAK8F,MAAiBzE,IAAIb,CAAAA,GAAAA,CACtCR,KAAKgG,aAAaN,EAAKrD,KAA2B7B,EAAMC,CAAAA,CAAAA,GAK3D,OAHAT,KAAKiG,EAAiBzF,EAAMe,EAAUd,CAAAA,CAKzC,CACGT,KAAKqD,kBADR,KAECrD,KAAKyD,KAAkBzD,KAAKkG,KAAAA,EAE/B,CAKD,EACE1F,EACAe,EAAAA,CACAhC,WAACA,EAAUD,QAAEA,EAAOwB,QAAEA,CAAAA,EACtBqF,EAAAA,CAII5G,GAAAA,EAAgBS,KAAK8F,OAAoB,IAAIjE,KAAOuE,IAAI5F,CAAAA,IAC1DR,KAAK8F,KAAgB9E,IACnBR,EACA2F,GAAmB5E,GAAYvB,KAAKQ,CAAAA,CAAAA,EAIlCM,IAJkCN,IAId2F,IAApBrF,UAMDd,KAAK6D,KAAoBuC,IAAI5F,CAAAA,IAG3BR,KAAKsD,YAAe/D,IACvBgC,EAAAA,QAEFvB,KAAK6D,KAAoB7C,IAAIR,EAAMe,CAAAA,GAMjCjC,IANiCiC,IAMbvB,KAAKuD,OAAyB/C,IACnDR,KAAKqG,OAA2B,IAAI3D,KAAoByB,IAAI3D,CAAAA,EAEhE,CAKO,MAAA,MAAM0F,CACZlG,KAAKqD,gBAAAA,GACL,GAAA,CAAA,MAGQrD,KAAKyD,IACZ,OAAQ1E,EAAAA,CAKP2E,QAAQ4C,OAAOvH,CAAAA,CAChB,CACD,IAAMwH,EAASvG,KAAKwG,eAAAA,EAOpB,OAHID,GAAU,MAAVA,MACIA,EAAAA,CAEAvG,KAAKqD,eACd,CAmBS,gBAAAmD,CAiBR,OAhBexG,KAAKyG,cAAAA,CAiBrB,CAYS,eAAAA,CAIR,GAAA,CAAKzG,KAAKqD,gBACR,OAGF,GAAA,CAAKrD,KAAKsD,WAAY,CA2BpB,GAxBCtD,KAA4CoE,aAC3CpE,KAAK0E,iBAAAA,EAuBH1E,KAAKoD,KAAsB,CAG7B,OAAK,CAAOlB,EAAG5D,CAAAA,IAAU0B,KAAKoD,KAC5BpD,KAAKkC,CAAAA,EAAmB5D,EAE1B0B,KAAKoD,KAAAA,MACN,CAUD,IAAMrC,EAAqBf,KAAKkD,YAC7BnC,kBACH,GAAIA,EAAkB0D,KAAO,EAC3B,OAAK,CAAOvC,EAAGzB,CAAAA,IAAYM,EAAmB,CAC5C,GAAA,CAAMD,QAACA,CAAAA,EAAWL,EACZnC,EAAQ0B,KAAKkC,CAAAA,EAEjBpB,IAFiBoB,IAGhBlC,KAAK6D,KAAoBuC,IAAIlE,CAAAA,GAC9B5D,IAD8B4D,QAG9BlC,KAAKiG,EAAiB/D,EAAAA,OAAczB,EAASnC,CAAAA,CAEhD,CAEJ,CACD,IAAIoI,EAAAA,GACEC,EAAoB3G,KAAK6D,KAC/B,GAAA,CACE6C,EAAe1G,KAAK0G,aAAaC,CAAAA,EAC7BD,GACF1G,KAAK4G,WAAWD,CAAAA,EAChB3G,KAAKkE,MAAeH,QAASiB,GAAMA,EAAE6B,aAAAA,CAAAA,EACrC7G,KAAK8G,OAAOH,CAAAA,GAEZ3G,KAAK+G,KAAAA,CAER,OAAQhI,EAAAA,CAMP,MAHA2H,EAAAA,GAEA1G,KAAK+G,KAAAA,EACChI,CACP,CAEG2H,GACF1G,KAAKgH,KAAYL,CAAAA,CAEpB,CAuBS,WAAWM,EAAAA,CAA4C,CAIjE,KAAYN,EAAAA,CACV3G,KAAKkE,MAAeH,QAASiB,GAAMA,EAAEkC,cAAAA,CAAAA,EAChClH,KAAKsD,aACRtD,KAAKsD,WAAAA,GACLtD,KAAKmH,aAAaR,CAAAA,GAEpB3G,KAAKoH,QAAQT,CAAAA,CAiBd,CAEO,MAAAI,CACN/G,KAAK6D,KAAsB,IAAIhC,IAC/B7B,KAAKqD,gBAAAA,EACN,CAkBD,IAAA,gBAAIgE,CACF,OAAOrH,KAAKsH,kBAAAA,CACb,CAyBS,mBAAAA,CACR,OAAOtH,KAAKyD,IACb,CAUS,aAAawD,EAAAA,CACrB,MAAA,EACD,CAWS,OAAOA,EAAAA,CAIfjH,KAAKqG,OAA2BrG,KAAKqG,KAAuBtC,QAAS7B,GACnElC,KAAKuH,KAAsBrF,EAAGlC,KAAKkC,CAAAA,CAAAA,CAAAA,EAErClC,KAAK+G,KAAAA,CACN,CAYS,QAAQE,EAAAA,CAAsC,CAkB9C,aAAaA,EAAAA,CAAsC,CAAA,EAliCtDpH,EAAayC,cAA6B,CAAA,EAiT1CzC,EAAAgF,kBAAoC,CAAC2C,KAAM,MAAA,EAsvBnD3H,EACC3B,GAA0B,mBAAA,CAAA,EACxB,IAAI2D,IACPhC,EACC3B,GAA0B,WAAA,CAAA,EACxB,IAAI2D,IAGR7D,KAAkB,CAAC6B,gBAAAA,CAAAA,CAAAA,GAuClBlC,GAAO8J,0BAA4B,CAAA,GAAItH,KAAK,OAAA,ECrrD7C,IAAMuH,GAASC,WA4OTC,GAAgBF,GAAyCE,aAUzDC,GAASD,GACXA,GAAaE,aAAa,WAAY,CACpCC,WAAaC,GAAMA,CAAAA,CAAAA,EAAAA,OA8EnBC,GAAuB,QAMvBC,EAAS,OAAOC,KAAKC,OAAAA,EAASC,QAAQ,CAAA,EAAGC,MAAM,CAAA,CAAA,IAG/CC,GAAc,IAAML,EAIpBM,GAAa,IAAID,EAAAA,IAEjBE,GAOAC,SAGAC,GAAe,IAAMF,GAAEG,cAAc,EAAA,EAIrCC,GAAeC,GACnBA,IAAU,MAAyB,OAATA,GAAS,UAA4B,OAATA,GAAS,WAC3DC,GAAUC,MAAMD,QAChBE,GAAcH,GAClBC,GAAQD,CAAAA,GAEqC,OAArCA,IAAgBI,OAAOC,QAAAA,GAAc,WAEzCC,GAAa;OAkBbC,GAAe,sDAKfC,GAAkB,OAIlBC,GAAmB,KAwBnBC,GAAkBC,OACtB,KAAKL,EAAAA,qBAAgCA,EAAAA,KAAeA,EAAAA;0BACpD,GAAA,EAOIM,GAA0B,KAC1BC,GAA0B,KAO1BC,GAAiB,qCAyGjBC,GACmBC,GACvB,CAACC,KAAkCC,KAwB1B,CAELC,WAAgBH,EAChBC,QAAAA,EACAC,OAAAA,CAAAA,GAiBOE,EAAOL,GArJA,CAAA,EA+KPM,GAAMN,GA9KA,CAAA,EAwMNO,GAASP,GAvMA,CAAA,EA6MTQ,EAAWnB,OAAOoB,IAAI,cAAA,EAqBtBC,EAAUrB,OAAOoB,IAAI,aAAA,EAS5BE,GAAgB,IAAIC,QAqCpBC,GAASjC,GAAEkC,iBACflC,GACA,GAAA,EAqBF,SAASmC,GACPC,EACAC,EAAAA,CAOA,GAAA,CAAK/B,GAAQ8B,CAAAA,GAAAA,CAASA,EAAIE,eAAe,KAAA,EAiBvC,MAAUC,MAhBI,gCAAA,EAkBhB,OAAOnD,KAAP,OACIA,GAAOE,WAAW+C,CAAAA,EACjBA,CACP,CAcA,IAAMG,GAAkB,CACtBlB,EACAD,IAAAA,CAQA,IAAMoB,EAAInB,EAAQoB,OAAS,EAIrBC,EAA2B,CAAA,EAO7BC,EANAnB,EACFJ,IArWe,EAqWO,QAAUA,IApWd,EAoWuC,SAAW,GASlEwB,EAAQjC,GAEZ,QAASkC,EAAI,EAAGA,EAAIL,EAAGK,IAAK,CAC1B,IAAMvD,EAAI+B,EAAQwB,CAAAA,EAOdC,EAEAC,EAHAC,EAAAA,GAEAC,EAAY,EAKhB,KAAOA,EAAY3D,EAAEmD,SAEnBG,EAAMK,UAAYA,EAClBF,EAAQH,EAAMM,KAAK5D,CAAAA,EACfyD,IAAU,OAGdE,EAAYL,EAAMK,UACdL,IAAUjC,GACRoC,EA5bU,CAAA,IA4be,MAC3BH,EAAQhC,GACCmC,EA9bG,CAAA,IA6bJnC,OAGRgC,EAAQ/B,GACCkC,EAhcF,CAAA,IA+bClC,QAEJK,GAAeiC,KAAKJ,EAjcjB,CAAA,CAAA,IAocLJ,EAAsB5B,OAAO,KAAKgC,EApc7B,CAAA,EAocgD,GAAA,GAEvDH,EAAQ9B,IACCiC,EAtcM,CAAA,IAqcPjC,SAQR8B,EAAQ9B,IAED8B,IAAU9B,GACfiC,EA9aS,CAAA,IA8ae,KAG1BH,EAAQD,GAAmBhC,GAG3BqC,EAAAA,IACSD,EApbI,CAAA,IAmbO,OAGpBC,EAAAA,IAEAA,EAAmBJ,EAAMK,UAAYF,EAvbrB,CAAA,EAub8CN,OAC9DK,EAAWC,EAzbE,CAAA,EA0bbH,EACEG,EAzbO,CAAA,IAwbTH,OAEM9B,GACAiC,EA3bG,CAAA,IA2bmB,IACpB9B,GACAD,IAGV4B,IAAU3B,IACV2B,IAAU5B,GAEV4B,EAAQ9B,GACC8B,IAAUhC,IAAmBgC,IAAU/B,GAChD+B,EAAQjC,IAIRiC,EAAQ9B,GACR6B,EAAAA,QA8BJ,IAAMS,EACJR,IAAU9B,IAAeO,EAAQwB,EAAI,CAAA,EAAGQ,WAAW,IAAA,EAAQ,IAAM,GACnE7B,GACEoB,IAAUjC,GACNrB,EAAIQ,GACJkD,GAAoB,GACjBN,EAAUY,KAAKR,CAAAA,EAChBxD,EAAEM,MAAM,EAAGoD,CAAAA,EACTzD,GACAD,EAAEM,MAAMoD,CAAAA,EACVxD,EACA4D,GACA9D,EAAIE,GAAUwD,IAAVxD,GAAoCqD,EAAIO,EACrD,CAQD,MAAO,CAAClB,GAAwBb,EAL9BG,GACCH,EAAQmB,CAAAA,GAAM,QACdpB,IA5ec,EA4eQ,SAAWA,IA3ehB,EA2eyC,UAAY,GAAA,EAGnBsB,CAAAA,CAAU,EAK5Da,GAAN,MAAMA,CAAAA,CAMJ,YAAAC,CAEEnC,QAACA,EAASE,WAAgBH,CAAAA,EAC1BqC,EAAAA,CAEA,IAAIC,EAPNC,KAAKC,MAAwB,CAAA,EAQ3B,IAAIC,EAAY,EACZC,EAAgB,EACdC,EAAY1C,EAAQoB,OAAS,EAC7BmB,EAAQD,KAAKC,MAAAA,CAGZpC,EAAMkB,CAAAA,EAAaH,GAAgBlB,EAASD,CAAAA,EAKnD,GAJAuC,KAAKK,GAAKT,EAASU,cAAczC,EAAMiC,CAAAA,EACvCzB,GAAOkC,YAAcP,KAAKK,GAAGG,QAGzB/C,IA3gBW,GA2gBYA,IA1gBT,EA0gBiC,CACjD,IAAMgD,EAAUT,KAAKK,GAAGG,QAAQE,WAChCD,EAAQE,YAAAA,GAAeF,EAAQG,UAAAA,CAChC,CAGD,MAAQb,EAAO1B,GAAOwC,SAAAA,KAAgB,MAAQZ,EAAMnB,OAASsB,GAAW,CACtE,GAAIL,EAAKe,WAAa,EAAG,CAuBvB,GAAKf,EAAiBgB,cAAAA,EACpB,QAAWC,KAASjB,EAAiBkB,kBAAAA,EACnC,GAAID,EAAKE,SAAStF,EAAAA,EAAuB,CACvC,IAAMuF,EAAWpC,EAAUoB,GAAAA,EAErBiB,EADSrB,EAAiBsB,aAAaL,CAAAA,EACvBM,MAAMzF,CAAAA,EACtB0F,EAAI,eAAehC,KAAK4B,CAAAA,EAC9BlB,EAAMN,KAAK,CACTlC,KA1iBO,EA2iBP+D,MAAOtB,EACPc,KAAMO,EAAE,CAAA,EACR7D,QAAS0D,EACTK,KACEF,EAAE,CAAA,IAAO,IACLG,GACAH,EAAE,CAAA,IAAO,IACPI,GACAJ,EAAE,CAAA,IAAO,IACPK,GACAC,EAAAA,CAAAA,EAEX9B,EAAiB+B,gBAAgBd,CAAAA,CACnC,MAAUA,EAAKtB,WAAW7D,CAAAA,IACzBoE,EAAMN,KAAK,CACTlC,KArjBK,EAsjBL+D,MAAOtB,CAAAA,CAAAA,EAERH,EAAiB+B,gBAAgBd,CAAAA,GAMxC,GAAIzD,GAAeiC,KAAMO,EAAiBgC,OAAAA,EAAU,CAIlD,IAAMrE,EAAWqC,EAAiBiC,YAAaV,MAAMzF,CAAAA,EAC/CyD,EAAY5B,EAAQoB,OAAS,EACnC,GAAIQ,EAAY,EAAG,CAChBS,EAAiBiC,YAAczG,GAC3BA,GAAa0G,YACd,GAGJ,QAAS/C,EAAI,EAAGA,EAAII,EAAWJ,IAC5Ba,EAAiBmC,OAAOxE,EAAQwB,CAAAA,EAAI5C,GAAAA,CAAAA,EAErC+B,GAAOwC,SAAAA,EACPZ,EAAMN,KAAK,CAAClC,KAllBP,EAklByB+D,MAAAA,EAAStB,CAAAA,CAAAA,EAKxCH,EAAiBmC,OAAOxE,EAAQ4B,CAAAA,EAAYhD,GAAAA,CAAAA,CAC9C,CACF,CACF,SAAUyD,EAAKe,WAAa,EAE3B,GADcf,EAAiBoC,OAClBjG,GACX+D,EAAMN,KAAK,CAAClC,KA7lBH,EA6lBqB+D,MAAOtB,CAAAA,CAAAA,MAChC,CACL,IAAIhB,EAAAA,GACJ,MAAQA,EAAKa,EAAiBoC,KAAKC,QAAQvG,EAAQqD,EAAI,CAAA,KAAvD,IAGEe,EAAMN,KAAK,CAAClC,KA9lBH,EA8lBuB+D,MAAOtB,CAAAA,CAAAA,EAEvChB,GAAKrD,EAAOiD,OAAS,CAExB,CAEHoB,GACD,CAkCF,CAID,OAAA,cAAqBrC,EAAmBwE,EAAAA,CACtC,IAAMhC,EAAKjE,GAAEkE,cAAc,UAAA,EAE3B,OADAD,EAAGiC,UAAYzE,EACRwC,CACR,CAAA,EAgBH,SAASkC,GACPC,EACA/F,EACAgG,EAA0BD,EAC1BE,EAAAA,CAIA,GAAIjG,IAAUuB,EACZ,OAAOvB,EAET,IAAIkG,EACFD,IADEC,OAEGF,EAAyBG,OAAeF,CAAAA,EACxCD,EAA+CI,KAChDC,EAA2BtG,GAAYC,CAAAA,EAAAA,OAGxCA,EAA2C,gBAyBhD,OAxBIkG,GAAkB9C,cAAgBiD,IAEpCH,GAAuD,OAAA,EAAI,EACvDG,IADuD,OAEzDH,EAAAA,QAEAA,EAAmB,IAAIG,EAAyBN,CAAAA,EAChDG,EAAiBI,KAAaP,EAAMC,EAAQC,CAAAA,GAE1CA,IAF0CA,QAG1CD,EAAyBG,OAAiB,CAAA,GAAIF,CAAAA,EAC9CC,EAEDF,EAAiCI,KAAcF,GAGhDA,IAHgDA,SAIlDlG,EAAQ8F,GACNC,EACAG,EAAiBK,KAAUR,EAAO/F,EAA0BkB,MAAAA,EAC5DgF,EACAD,CAAAA,GAGGjG,CACT,CAOA,IAAMwG,GAAN,KAAMA,CASJ,YAAYC,EAAoBT,EAAAA,CAPhCzC,KAAOmD,KAA4B,CAAA,EAKnCnD,KAAwBoD,KAAAA,OAGtBpD,KAAKqD,KAAaH,EAClBlD,KAAKsD,KAAWb,CACjB,CAGD,IAAA,YAAIc,CACF,OAAOvD,KAAKsD,KAASC,UACtB,CAGD,IAAA,MAAIC,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAID,EAAO1D,EAAAA,CACL,GAAA,CACEO,GAAAA,CAAIG,QAACA,CAAAA,EACLP,MAAOA,CAAAA,EACLD,KAAKqD,KACHI,GAAY3D,GAAS4D,eAAiBtH,IAAGuH,WAAWnD,EAAAA,EAAS,EACnEnC,GAAOkC,YAAckD,EAErB,IAAI1D,EAAO1B,GAAOwC,SAAAA,EACdX,EAAY,EACZ0D,EAAY,EACZC,EAAe5D,EAAM,CAAA,EAEzB,KAAO4D,IAAP,QAAmC,CACjC,GAAI3D,IAAc2D,EAAarC,MAAO,CACpC,IAAIgB,EACAqB,EAAapG,OAjwBN,EAkwBT+E,EAAO,IAAIsB,GACT/D,EACAA,EAAKgE,YACL/D,KACAF,CAAAA,EAEO+D,EAAapG,OAzwBT,EA0wBb+E,EAAO,IAAIqB,EAAapC,KACtB1B,EACA8D,EAAa7C,KACb6C,EAAanG,QACbsC,KACAF,CAAAA,EAEO+D,EAAapG,OA5wBX,IA6wBX+E,EAAO,IAAIwB,GAAYjE,EAAqBC,KAAMF,CAAAA,GAEpDE,KAAKmD,KAAQxD,KAAK6C,CAAAA,EAClBqB,EAAe5D,EAAAA,EAAQ2D,CAAAA,CACxB,CACG1D,IAAc2D,GAAcrC,QAC9BzB,EAAO1B,GAAOwC,SAAAA,EACdX,IAEH,CAKD,OADA7B,GAAOkC,YAAcnE,GACdqH,CACR,CAED,EAAQ9F,EAAAA,CACN,IAAIuB,EAAI,EACR,QAAWsD,KAAQxC,KAAKmD,KAClBX,IADkBW,SAWfX,EAAuB9E,UAV1B8E,QAWCA,EAAuByB,KAAWtG,EAAQ6E,EAAuBtD,CAAAA,EAIlEA,GAAMsD,EAAuB9E,QAASoB,OAAS,GAE/C0D,EAAKyB,KAAWtG,EAAOuB,CAAAA,CAAAA,GAG3BA,GAEH,CAAA,EA8CG4E,GAAN,MAAMA,CAAAA,CAwBJ,IAAA,MAAIN,CAIF,OAAOxD,KAAKsD,MAAUE,MAAiBxD,KAAKkE,IAC7C,CAeD,YACEC,EACAC,EACA3B,EACA3C,EAAAA,CA/COE,KAAIvC,KA12BI,EA42BjBuC,KAAgBqE,KAAYnG,EA+B5B8B,KAAwBoD,KAAAA,OAgBtBpD,KAAKsE,KAAcH,EACnBnE,KAAKuE,KAAYH,EACjBpE,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,EAIfE,KAAKkE,KAAgBpE,GAAS0E,aAAAA,EAK/B,CAoBD,IAAA,YAAIjB,CACF,IAAIA,EAAwBvD,KAAKsE,KAAaf,WACxCd,EAASzC,KAAKsD,KAUpB,OAREb,IAQF,QAPEc,GAAYzC,WAAa,KAKzByC,EAAcd,EAAwCc,YAEjDA,CACR,CAMD,IAAA,WAAIY,CACF,OAAOnE,KAAKsE,IACb,CAMD,IAAA,SAAIF,CACF,OAAOpE,KAAKuE,IACb,CAED,KAAW9H,EAAgBgI,EAAmCzE,KAAAA,CAM5DvD,EAAQ8F,GAAiBvC,KAAMvD,EAAOgI,CAAAA,EAClCjI,GAAYC,CAAAA,EAIVA,IAAUyB,GAAWzB,GAAS,MAAQA,IAAU,IAC9CuD,KAAKqE,OAAqBnG,GAS5B8B,KAAK0E,KAAAA,EAEP1E,KAAKqE,KAAmBnG,GACfzB,IAAUuD,KAAKqE,MAAoB5H,IAAUuB,GACtDgC,KAAK2E,EAAYlI,CAAAA,EAGTA,EAAqC,aAH5BA,OAInBuD,KAAK4E,EAAsBnI,CAAAA,EACjBA,EAAeqE,WADErE,OAiB3BuD,KAAK6E,EAAYpI,CAAAA,EACRG,GAAWH,CAAAA,EACpBuD,KAAK8E,EAAgBrI,CAAAA,EAGrBuD,KAAK2E,EAAYlI,CAAAA,CAEpB,CAEO,EAAwBsD,EAAAA,CAC9B,OAAiBC,KAAKsE,KAAaf,WAAawB,aAC9ChF,EACAC,KAAKuE,IAAAA,CAER,CAEO,EAAY9H,EAAAA,CACduD,KAAKqE,OAAqB5H,IAC5BuD,KAAK0E,KAAAA,EAoCL1E,KAAKqE,KAAmBrE,KAAKgF,EAAQvI,CAAAA,EAExC,CAEO,EAAYA,EAAAA,CAKhBuD,KAAKqE,OAAqBnG,GAC1B1B,GAAYwD,KAAKqE,IAAAA,EAECrE,KAAKsE,KAAaP,YAcrB5B,KAAO1F,EAsBpBuD,KAAK6E,EAAYzI,GAAE6I,eAAexI,CAAAA,CAAAA,EAUtCuD,KAAKqE,KAAmB5H,CACzB,CAEO,EACNyI,EAAAA,CAGA,GAAA,CAAMvH,OAACA,EAAQC,WAAgBH,CAAAA,EAAQyH,EAKjChC,EACY,OAATzF,GAAS,SACZuC,KAAKmF,KAAcD,CAAAA,GAClBzH,EAAK4C,KADa6E,SAEhBzH,EAAK4C,GAAKT,GAASU,cAClB/B,GAAwBd,EAAK2H,EAAG3H,EAAK2H,EAAE,CAAA,CAAA,EACvCpF,KAAKF,OAAAA,GAETrC,GAEN,GAAKuC,KAAKqE,MAAuChB,OAAeH,EAU7DlD,KAAKqE,KAAsCgB,EAAQ1H,CAAAA,MAC/C,CACL,IAAM2H,EAAW,IAAIrC,GAAiBC,EAAsBlD,IAAAA,EACtDyD,EAAW6B,EAASC,EAAOvF,KAAKF,OAAAA,EAWtCwF,EAASD,EAAQ1H,CAAAA,EAWjBqC,KAAK6E,EAAYpB,CAAAA,EACjBzD,KAAKqE,KAAmBiB,CACzB,CACF,CAID,KAAcJ,EAAAA,CACZ,IAAIhC,EAAW/E,GAAcqH,IAAIN,EAAOxH,OAAAA,EAIxC,OAHIwF,IAGJ,QAFE/E,GAAcsH,IAAIP,EAAOxH,QAAUwF,EAAW,IAAItD,GAASsF,CAAAA,CAAAA,EAEtDhC,CACR,CAEO,EAAgBzG,EAAAA,CAWjBC,GAAQsD,KAAKqE,IAAAA,IAChBrE,KAAKqE,KAAmB,CAAA,EACxBrE,KAAK0E,KAAAA,GAKP,IAAMgB,EAAY1F,KAAKqE,KAEnBsB,EADA/B,EAAY,EAGhB,QAAWgC,KAAQnJ,EACbmH,IAAc8B,EAAU5G,OAK1B4G,EAAU/F,KACPgG,EAAW,IAAI7B,EACd9D,KAAKgF,EAAQ1I,GAAAA,CAAAA,EACb0D,KAAKgF,EAAQ1I,GAAAA,CAAAA,EACb0D,KACAA,KAAKF,OAAAA,CAAAA,EAKT6F,EAAWD,EAAU9B,CAAAA,EAEvB+B,EAAS1B,KAAW2B,CAAAA,EACpBhC,IAGEA,EAAY8B,EAAU5G,SAExBkB,KAAK0E,KACHiB,GAAiBA,EAASpB,KAAYR,YACtCH,CAAAA,EAGF8B,EAAU5G,OAAS8E,EAEtB,CAaD,KACEiC,EAA+B7F,KAAKsE,KAAaP,YACjD+B,EAAAA,CAGA,IADA9F,KAAK+F,OAAAA,GAA4B,GAAaD,CAAAA,EACvCD,GAASA,IAAU7F,KAAKuE,MAAW,CACxC,IAAMyB,EAASH,EAAQ9B,YACjB8B,EAAoBI,OAAAA,EAC1BJ,EAAQG,CACT,CACF,CAQD,aAAaxB,EAAAA,CACPxE,KAAKsD,OADEkB,SAETxE,KAAKkE,KAAgBM,EACrBxE,KAAK+F,OAA4BvB,CAAAA,EAOpC,CAAA,EA2BG3C,GAAN,KAAMA,CA2BJ,IAAA,SAAIE,CACF,OAAO/B,KAAKkG,QAAQnE,OACrB,CAGD,IAAA,MAAIyB,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAED,YACE0C,EACAlF,EACAtD,EACA+E,EACA3C,EAAAA,CAxCOE,KAAIvC,KA3zCQ,EA20CrBuC,KAAgBqE,KAA6BnG,EAM7C8B,KAAwBoD,KAAAA,OAoBtBpD,KAAKkG,QAAUA,EACflG,KAAKgB,KAAOA,EACZhB,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,EACXpC,EAAQoB,OAAS,GAAKpB,EAAQ,CAAA,IAAO,IAAMA,EAAQ,CAAA,IAAO,IAC5DsC,KAAKqE,KAAuB1H,MAAMe,EAAQoB,OAAS,CAAA,EAAGqH,KAAK,IAAIC,MAAAA,EAC/DpG,KAAKtC,QAAUA,GAEfsC,KAAKqE,KAAmBnG,CAK3B,CAwBD,KACEzB,EACAgI,EAAmCzE,KACnCqG,EACAC,EAAAA,CAEA,IAAM5I,EAAUsC,KAAKtC,QAGjB6I,EAAAA,GAEJ,GAAI7I,IAAJ,OAEEjB,EAAQ8F,GAAiBvC,KAAMvD,EAAOgI,EAAiB,CAAA,EACvD8B,EAAAA,CACG/J,GAAYC,CAAAA,GACZA,IAAUuD,KAAKqE,MAAoB5H,IAAUuB,EAC5CuI,IACFvG,KAAKqE,KAAmB5H,OAErB,CAEL,IAAMkB,EAASlB,EAGXyC,EAAGsH,EACP,IAHA/J,EAAQiB,EAAQ,CAAA,EAGXwB,EAAI,EAAGA,EAAIxB,EAAQoB,OAAS,EAAGI,IAClCsH,EAAIjE,GAAiBvC,KAAMrC,EAAO0I,EAAcnH,CAAAA,EAAIuF,EAAiBvF,CAAAA,EAEjEsH,IAAMxI,IAERwI,EAAKxG,KAAKqE,KAAoCnF,CAAAA,GAEhDqH,IAAAA,CACG/J,GAAYgK,CAAAA,GAAMA,IAAOxG,KAAKqE,KAAoCnF,CAAAA,EACjEsH,IAAMtI,EACRzB,EAAQyB,EACCzB,IAAUyB,IACnBzB,IAAU+J,GAAK,IAAM9I,EAAQwB,EAAI,CAAA,GAIlCc,KAAKqE,KAAoCnF,CAAAA,EAAKsH,CAElD,CACGD,GAAAA,CAAWD,GACbtG,KAAKyG,EAAahK,CAAAA,CAErB,CAGD,EAAaA,EAAAA,CACPA,IAAUyB,EACN8B,KAAKkG,QAAqBpE,gBAAgB9B,KAAKgB,IAAAA,EAoB/ChB,KAAKkG,QAAqBQ,aAC9B1G,KAAKgB,KACJvE,GAAS,EAAA,CAGf,CAAA,EAIGiF,GAAN,cAA2BG,EAAAA,CAA3B,aAAAhC,CAAAA,MAAAA,GAAAA,SAAAA,EACoBG,KAAIvC,KA39CF,CAo/CrB,CAtBU,EAAahB,EAAAA,CAoBnBuD,KAAKkG,QAAgBlG,KAAKgB,IAAAA,EAAQvE,IAAUyB,EAAAA,OAAsBzB,CACpE,CAAA,EAIGkF,GAAN,cAAmCE,EAAAA,CAAnC,aAAAhC,CAAAA,MAAAA,GAAAA,SAAAA,EACoBG,KAAIvC,KAv/CO,CAwgD9B,CAdU,EAAahB,EAAAA,CASduD,KAAKkG,QAAqBS,gBAC9B3G,KAAKgB,KAAAA,CAAAA,CACHvE,GAASA,IAAUyB,CAAAA,CAExB,CAAA,EAkBG0D,GAAN,cAAwBC,EAAAA,CAGtB,YACEqE,EACAlF,EACAtD,EACA+E,EACA3C,EAAAA,CAEA8G,MAAMV,EAASlF,EAAMtD,EAAS+E,EAAQ3C,CAAAA,EATtBE,KAAIvC,KAzhDL,CA2iDhB,CAKQ,KACPoJ,EACApC,EAAmCzE,KAAAA,CAInC,IAFA6G,EACEtE,GAAiBvC,KAAM6G,EAAapC,EAAiB,CAAA,GAAMvG,KACzCF,EAClB,OAEF,IAAM8I,EAAc9G,KAAKqE,KAInB0C,EACHF,IAAgB3I,GAAW4I,IAAgB5I,GAC3C2I,EAAyCG,UACvCF,EAAyCE,SAC3CH,EAAyCI,OACvCH,EAAyCG,MAC3CJ,EAAyCK,UACvCJ,EAAyCI,QAIxCC,EACJN,IAAgB3I,IACf4I,IAAgB5I,GAAW6I,GAa1BA,GACF/G,KAAKkG,QAAQkB,oBACXpH,KAAKgB,KACLhB,KACA8G,CAAAA,EAGAK,GACFnH,KAAKkG,QAAQmB,iBACXrH,KAAKgB,KACLhB,KACA6G,CAAAA,EAGJ7G,KAAKqE,KAAmBwC,CACzB,CAED,YAAYS,EAAAA,CAC2B,OAA1BtH,KAAKqE,MAAqB,WACnCrE,KAAKqE,KAAiBkD,KAAKvH,KAAKF,SAAS0H,MAAQxH,KAAKkG,QAASoB,CAAAA,EAE9DtH,KAAKqE,KAAyCoD,YAAYH,CAAAA,CAE9D,CAAA,EAIGtD,GAAN,KAAMA,CAiBJ,YACSkC,EACPzD,EACA3C,EAAAA,CAFOE,KAAOkG,QAAPA,EAjBAlG,KAAIvC,KAlnDM,EA8nDnBuC,KAAwBoD,KAAAA,OAStBpD,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,CAChB,CAGD,IAAA,MAAI0D,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAED,KAAW/G,EAAAA,CAQT8F,GAAiBvC,KAAMvD,CAAAA,CACxB,CAAA,EAqBU,IAoBPiL,GAEFC,GAAOC,uBACXF,KAAkBG,GAAUC,EAAAA,GAI3BH,GAAOI,kBAAoB,CAAA,GAAIC,KAAK,OAAA,EAoCxB,IAAAC,GAAS,CACpBC,EACAC,EACAC,IAAAA,CAUA,IAAMC,EAAgBD,GAASE,cAAgBH,EAG3CI,EAAmBF,EAAkC,WAUzD,GAAIE,IAAJ,OAAwB,CACtB,IAAMC,EAAUJ,GAASE,cAAgB,KAGxCD,EAAkC,WAAIE,EAAO,IAAIT,GAChDK,EAAUM,aAAaC,GAAAA,EAAgBF,CAAAA,EACvCA,EAAAA,OAEAJ,GAAW,CAAE,CAAA,CAEhB,CAWD,OAVAG,EAAKI,KAAWT,CAAAA,EAUTK,CAAgB,ECppEzB,IAOMK,GAASC,WAmCFC,EAAP,cAA0BC,CAAAA,CAAhC,aAAAC,CAAAA,MAAAA,GAAAA,SAAAA,EAOWC,KAAAC,cAA+B,CAACC,KAAMF,IAAAA,EAEvCA,KAAWG,KAAAA,MA8FpB,CAzFoB,kBAAAC,CACjB,IAAMC,EAAaC,MAAMF,iBAAAA,EAOzB,OADAJ,KAAKC,cAAcM,eAAiBF,EAAYG,WACzCH,CACR,CASkB,OAAOI,EAAAA,CAIxB,IAAMC,EAAQV,KAAKW,OAAAA,EACdX,KAAKY,aACRZ,KAAKC,cAAcY,YAAcb,KAAKa,aAExCP,MAAMQ,OAAOL,CAAAA,EACbT,KAAKG,KAAcQ,GAAOD,EAAOV,KAAKK,WAAYL,KAAKC,aAAAA,CACxD,CAsBQ,mBAAAc,CACPT,MAAMS,kBAAAA,EACNf,KAAKG,MAAaa,aAAAA,EAAa,CAChC,CAqBQ,sBAAAC,CACPX,MAAMW,qBAAAA,EACNjB,KAAKG,MAAaa,aAAAA,EAAa,CAChC,CASS,QAAAL,CACR,OAAOO,CACR,CAAA,EApGMrB,EAAgB,cAAA,GA8GxBA,EAC2B,UAAA,GAI5BF,GAAOwB,2BAA2B,CAACtB,WAAAA,CAAAA,CAAAA,EAGnC,IAAMuB,GAEFzB,GAAO0B,0BACXD,KAAkB,CAACvB,WAAAA,CAAAA,CAAAA,GAmClByB,GAAOC,qBAAuB,CAAA,GAAIC,KAAK,OAAA,ECrP3B,IAAAC,GAAW,CACtBC,UAAW,EACXC,MAAO,EACPC,SAAU,EACVC,kBAAmB,EACnBC,MAAO,EACPC,QAAS,CAAA,EAoCEC,GACgBC,GAC3B,IAAIC,KAAsE,CAExEC,gBAAqBF,EACrBC,OAAAA,CAAAA,GAQkBE,GARlBF,KAQkBE,CAkBpB,YAAYC,EAAAA,CAAuB,CAGnC,IAAA,MAAIC,CACF,OAAOC,KAAKC,KAASF,IACtB,CAGD,KACEG,EACAC,EACAC,EAAAA,CAEAJ,KAAKK,KAASH,EACdF,KAAKC,KAAWE,EAChBH,KAAKM,KAAmBF,CACzB,CAED,KAAUF,EAAYK,EAAAA,CACpB,OAAOP,KAAKQ,OAAON,EAAMK,CAAAA,CAC1B,CAID,OAAOE,EAAaF,EAAAA,CAClB,OAAOP,KAAKU,OAAAA,GAAUH,CAAAA,CACvB,CAAA,EClIG,IAAOI,GAAP,cAAmCC,EAAAA,CAOvC,YAAYC,EAAAA,CAEV,GADAC,MAAMD,CAAAA,EAJAE,KAAMC,GAAYC,EAKpBJ,EAASK,OAASC,GAASC,MAC7B,MAAUC,MAELN,KAAKO,YAA2CC,cADnD,uCAAA,CAKL,CAED,OAAOC,EAAAA,CACL,GAAIA,IAAUP,GAAWO,GAAS,KAEhC,OADAT,KAAKU,GAAAA,OACGV,KAAKC,GAASQ,EAExB,GAAIA,IAAUE,EACZ,OAAOF,EAET,GAAoB,OAATA,GAAS,SAClB,MAAUH,MAELN,KAAKO,YAA2CC,cADnD,mCAAA,EAKJ,GAAIC,IAAUT,KAAKC,GACjB,OAAOD,KAAKU,GAEdV,KAAKC,GAASQ,EACd,IAAMG,EAAU,CAACH,CAAAA,EAKjB,OAHCG,EAAgBC,IAAMD,EAGfZ,KAAKU,GAAkB,CAI7BI,WAAiBd,KAAKO,YACnBQ,WACHH,QAAAA,EACAI,OAAQ,CAAA,CAAA,CAEX,CAAA,EAlDMpB,GAAaY,cAAG,aAChBZ,GAAUmB,WAJC,EAAA,IAkEPE,EAAaC,GAAUtB,EAAAA,ECHpC,IAoBMuB,GAAkD,CACtDC,UAAAA,GACAC,KAAMC,OACNC,UAAWC,GACXC,QAAAA,GACAC,WAAYC,EAAAA,EAaDC,GAAmB,CAC9BC,EAA+BV,GAC/BW,EACAC,IAAAA,CAEA,GAAA,CAAMC,KAACA,EAAIC,SAAEA,CAAAA,EAAYF,EAarBG,EAAaC,WAAWC,oBAAoBC,IAAIJ,CAAAA,EAUpD,GATIC,IASJ,QAREC,WAAWC,oBAAoBE,IAAIL,EAAWC,EAAa,IAAIK,GAAAA,EAE7DP,IAAS,YACXH,EAAUW,OAAOC,OAAOZ,CAAAA,GAChBa,QAAAA,IAEVR,EAAWI,IAAIP,EAAQY,KAAMd,CAAAA,EAEzBG,IAAS,WAAY,CAIvB,GAAA,CAAMW,KAACA,CAAAA,EAAQZ,EACf,MAAO,CACL,IAA2Ba,EAAAA,CACzB,IAAMC,EACJf,EACAO,IAAIS,KAAKC,IAAAA,EACVjB,EAA8CQ,IAAIQ,KACjDC,KACAH,CAAAA,EAEFG,KAAKC,cAAcL,EAAME,EAAUhB,CAAAA,CACpC,EACD,KAA4Be,EAAAA,CAI1B,OAHIA,IAGJ,QAFEG,KAAKE,EAAiBN,EAAAA,OAAiBd,EAASe,CAAAA,EAE3CA,CACR,CAAA,CAEJ,CAAM,GAAIZ,IAAS,SAAU,CAC5B,GAAA,CAAMW,KAACA,CAAAA,EAAQZ,EACf,OAAO,SAAiCmB,EAAAA,CACtC,IAAML,EAAWE,KAAKJ,CAAAA,EACrBb,EAA8BgB,KAAKC,KAAMG,CAAAA,EAC1CH,KAAKC,cAAcL,EAAME,EAAUhB,CAAAA,CACrC,CACD,CACD,MAAUsB,MAAM,mCAAmCnB,CAAAA,CAAO,EAmCtD,SAAUoB,EAASvB,EAAAA,CACvB,MAAO,CACLwB,EAIAC,IAO2B,OAAlBA,GAAkB,SACrB1B,GACEC,EACAwB,EAGAC,CAAAA,GAvJW,CACrBzB,EACA0B,EACAZ,IAAAA,CAEA,IAAMa,EAAiBD,EAAMC,eAAeb,CAAAA,EAO5C,OANCY,EAAME,YAAuCC,eAAef,EAAMd,CAAAA,EAM5D2B,EACHhB,OAAOmB,yBAAyBJ,EAAOZ,CAAAA,EAAAA,MAC9B,GA4IHd,EACAwB,EACAC,CAAAA,CAIZ,CCxOA,GAAM,CACJM,QAAAA,GACAC,eAAAA,GACAC,SAAAA,GACAC,eAAAA,GACAC,yBAAAA,EACD,EAAGC,OAEA,CAAEC,OAAAA,EAAQC,KAAAA,EAAMC,OAAAA,EAAM,EAAKH,OAC3B,CAAEI,MAAAA,GAAOC,UAAAA,EAAW,EAAG,OAAOC,QAAY,KAAeA,QAExDL,IACHA,EAAS,SAAUM,EAAC,CAClB,OAAOA,IAINL,IACHA,EAAO,SAAUK,EAAC,CAChB,OAAOA,IAINH,KACHA,GAAQ,SAAUI,EAAKC,EAAWC,EAAI,CACpC,OAAOF,EAAIJ,MAAMK,EAAWC,CAAI,IAI/BL,KACHA,GAAY,SAAUM,EAAMD,EAAI,CAC9B,OAAO,IAAIC,EAAK,GAAGD,CAAI,IAI3B,IAAME,GAAeC,EAAQC,MAAMC,UAAUC,OAAO,EAE9CC,GAAmBJ,EAAQC,MAAMC,UAAUG,WAAW,EACtDC,GAAWN,EAAQC,MAAMC,UAAUK,GAAG,EACtCC,GAAYR,EAAQC,MAAMC,UAAUO,IAAI,EAExCC,GAAcV,EAAQC,MAAMC,UAAUS,MAAM,EAE5CC,GAAoBZ,EAAQa,OAAOX,UAAUY,WAAW,EACxDC,GAAiBf,EAAQa,OAAOX,UAAUc,QAAQ,EAClDC,GAAcjB,EAAQa,OAAOX,UAAUgB,KAAK,EAC5CC,GAAgBnB,EAAQa,OAAOX,UAAUkB,OAAO,EAChDC,GAAgBrB,EAAQa,OAAOX,UAAUoB,OAAO,EAChDC,GAAavB,EAAQa,OAAOX,UAAUsB,IAAI,EAE1CC,EAAuBzB,EAAQb,OAAOe,UAAUwB,cAAc,EAE9DC,EAAa3B,EAAQ4B,OAAO1B,UAAU2B,IAAI,EAE1CC,GAAkBC,GAAYC,SAAS,EAQ7C,SAAShC,EACPiC,EAAyC,CAEzC,OAAO,SAACC,EAAmC,CACrCA,aAAmBN,SACrBM,EAAQC,UAAY,GACrB,QAAAC,EAAAC,UAAAC,OAHsBzC,EAAW,IAAAI,MAAAmC,EAAAA,EAAAA,EAAA,EAAA,CAAA,EAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAX1C,EAAW0C,EAAAF,CAAAA,EAAAA,UAAAE,CAAA,EAKlC,OAAOhD,GAAM0C,EAAMC,EAASrC,CAAI,EAEpC,CAQA,SAASkC,GAAeE,EAA2B,CACjD,OAAO,UAAA,CAAA,QAAAO,EAAAH,UAAAC,OAAIzC,EAAWI,IAAAA,MAAAuC,CAAA,EAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAX5C,EAAW4C,CAAA,EAAAJ,UAAAI,CAAA,EAAA,OAAQjD,GAAUyC,EAAMpC,CAAI,CAAC,CACrD,CAUA,SAAS6C,EACPC,EACAC,EACyE,CAAA,IAAzEC,EAAAA,UAAAA,OAAAA,GAAAA,UAAAA,CAAAA,IAAAA,OAAAA,UAAAA,CAAAA,EAAwDjC,GAEpD7B,IAIFA,GAAe4D,EAAK,IAAI,EAG1B,IAAIG,EAAIF,EAAMN,OACd,KAAOQ,KAAK,CACV,IAAIC,EAAUH,EAAME,CAAC,EACrB,GAAI,OAAOC,GAAY,SAAU,CAC/B,IAAMC,EAAYH,EAAkBE,CAAO,EACvCC,IAAcD,IAEX/D,GAAS4D,CAAK,IAChBA,EAAgBE,CAAC,EAAIE,GAGxBD,EAAUC,EAEd,CAEAL,EAAII,CAAO,EAAI,EACjB,CAEA,OAAOJ,CACT,CAQA,SAASM,GAAcL,EAAU,CAC/B,QAASM,EAAQ,EAAGA,EAAQN,EAAMN,OAAQY,IAChBzB,EAAqBmB,EAAOM,CAAK,IAGvDN,EAAMM,CAAK,EAAI,MAInB,OAAON,CACT,CAQA,SAASO,EAAqCC,EAAS,CACrD,IAAMC,EAAY/D,GAAO,IAAI,EAE7B,OAAW,CAACgE,EAAUC,CAAK,IAAKzE,GAAQsE,CAAM,EACpB3B,EAAqB2B,EAAQE,CAAQ,IAGvDrD,MAAMuD,QAAQD,CAAK,EACrBF,EAAUC,CAAQ,EAAIL,GAAWM,CAAK,EAEtCA,GACA,OAAOA,GAAU,UACjBA,EAAME,cAAgBtE,OAEtBkE,EAAUC,CAAQ,EAAIH,EAAMI,CAAK,EAEjCF,EAAUC,CAAQ,EAAIC,GAK5B,OAAOF,CACT,CASA,SAASK,GACPN,EACAO,EAAY,CAEZ,KAAOP,IAAW,MAAM,CACtB,IAAMQ,EAAO1E,GAAyBkE,EAAQO,CAAI,EAElD,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAO7D,EAAQ4D,EAAKC,GAAG,EAGzB,GAAI,OAAOD,EAAKL,OAAU,WACxB,OAAOvD,EAAQ4D,EAAKL,KAAK,CAE7B,CAEAH,EAASnE,GAAemE,CAAM,CAChC,CAEA,SAASU,GAAa,CACpB,OAAO,IACT,CAEA,OAAOA,CACT,CC3MO,IAAMC,GAAO3E,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACG,EAEG4E,GAAM5E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACC,EAEG6E,GAAa7E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACN,EAMG8E,GAAgB9E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACG,EAEG+E,GAAS/E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACL,EAIGgF,GAAmBhF,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACE,EAEGiF,GAAOjF,EAAO,CAAC,OAAO,CAAU,ECpRhC2E,GAAO3E,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACE,EAEG4E,GAAM5E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACJ,EAEG+E,GAAS/E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYkF,GAAMlF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACL,EC/WGmF,GAAgBlF,EAAK,2BAA2B,EAChDmF,GAAWnF,EAAK,uBAAuB,EACvCoF,GAAcpF,EAAK,eAAe,EAClCqF,GAAYrF,EAAK,8BAA8B,EAC/CsF,GAAYtF,EAAK,gBAAgB,EACjCuF,GAAiBvF,EAC5B,oGAEWwF,GAAoBxF,EAAK,uBAAuB,EAChDyF,GAAkBzF,EAC7B,+DAEW0F,GAAe1F,EAAK,SAAS,EAC7B2F,GAAiB3F,EAAK,0BAA0B,uMCmBvD4F,GAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,IAGNC,GAAY,UAAA,CAChB,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAChCC,EACAC,EAAoC,CAEpC,GACE,OAAOD,GAAiB,UACxB,OAAOA,EAAaE,cAAiB,WAErC,OAAO,KAMT,IAAIC,EAAS,KACPC,EAAY,wBACdH,GAAqBA,EAAkBI,aAAaD,CAAS,IAC/DD,EAASF,EAAkBK,aAAaF,CAAS,GAGnD,IAAMG,EAAa,aAAeJ,EAAS,IAAMA,EA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", + "names": ["global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "useDefault", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "prototype", "hasOwnProperty", "create", "wrapped", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "get", "v", "oldValue", "call", "requestUpdate", "configurable", "enumerable", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "__defaultValues", "newValue", "hasAttribute", "_$changeProperty", "__enqueueUpdate", "initializeValue", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "mathml", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "wrapper", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "global", "globalThis", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "global", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "Object", "create", "wrapped", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "getOwnPropertyDescriptor", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "func", "thisArg", "lastIndex", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "__removalCount", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "LightElement", "i", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizer", "purify", "node", "data", "element", "isOK", "ShinyToolCard", "i", "#toggleCollapse", "displayTitle", "x", "o", "bodyContent", "headerId", "contentId", "headerContent", "ICONS", "__decorateClass", "n", "ShinyToolRequest", "#onToolRequestHide", "event", "markdownCodeBlock", "ShinyToolResult", "#renderResult", "result", "resultHeader", "#renderRequest", "request", "isLongRequest", "content", "language", "backticks", "request_id", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "CHAT_TOOL_REQUEST_TAG", "CHAT_TOOL_RESULT_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "entries", "entry", "#updateHeight", "name", "_old", "#onKeyDown", "#sendInput", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "chatCustomElements", "ShinyToolRequest", "ShinyToolResult", "tag", "component", "renderDependencies", "evt", "showShinyClientMessage"] } diff --git a/js/dist/markdown-stream/markdown-stream.js b/js/dist/markdown-stream/markdown-stream.js index 75d18109..2d168b35 100644 --- a/js/dist/markdown-stream/markdown-stream.js +++ b/js/dist/markdown-stream/markdown-stream.js @@ -1,35 +1,35 @@ -var da=Object.create;var $n=Object.defineProperty;var Ui=Object.getOwnPropertyDescriptor;var pa=Object.getOwnPropertyNames;var ga=Object.getPrototypeOf,fa=Object.prototype.hasOwnProperty;var H=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var ha=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of pa(e))!fa.call(n,r)&&r!==t&&$n(n,r,{get:()=>e[r],enumerable:!(i=Ui(e,r))||i.enumerable});return n};var Bi=(n,e,t)=>(t=n!=null?da(ga(n)):{},ha(e||!n||!n.__esModule?$n(t,"default",{value:n,enumerable:!0}):t,n));var pe=(n,e,t,i)=>{for(var r=i>1?void 0:i?Ui(e,t):e,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(e,t,r):s(r))||r);return i&&r&&$n(e,t,r),r};var sr=H((Pt,Yn)=>{(function(e,t){typeof Pt=="object"&&typeof Yn=="object"?Yn.exports=t():typeof define=="function"&&define.amd?define([],t):typeof Pt=="object"?Pt.ClipboardJS=t():e.ClipboardJS=t()})(Pt,function(){return function(){var n={686:function(i,r,o){"use strict";o.d(r,{default:function(){return $}});var s=o(279),a=o.n(s),c=o(370),u=o.n(c),d=o(817),g=o.n(d);function p(w){try{return document.execCommand(w)}catch{return!1}}var f=function(m){var E=g()(m);return p("cut"),E},b=f;function T(w){var m=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[m?"right":"left"]="-9999px";var v=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(v,"px"),E.setAttribute("readonly",""),E.value=w,E}var k=function(m,E){var v=T(m);E.container.appendChild(v);var R=g()(v);return p("copy"),v.remove(),R},M=function(m){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},v="";return typeof m=="string"?v=k(m,E):m instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(m?.type)?v=k(m.value,E):(v=g()(m),p("copy")),v},P=M;function U(w){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?U=function(E){return typeof E}:U=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},U(w)}var C=function(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=m.action,v=E===void 0?"copy":E,R=m.container,A=m.target,ee=m.text;if(v!=="copy"&&v!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(A!==void 0)if(A&&U(A)==="object"&&A.nodeType===1){if(v==="copy"&&A.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(v==="cut"&&(A.hasAttribute("readonly")||A.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ee)return P(ee,{container:R});if(A)return v==="cut"?b(A):P(A,{container:R})},B=C;function D(w){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?D=function(E){return typeof E}:D=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},D(w)}function ie(w,m){if(!(w instanceof m))throw new TypeError("Cannot call a class as a function")}function K(w,m){for(var E=0;E"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function h(w){return h=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},h(w)}function S(w,m){var E="data-clipboard-".concat(w);if(m.hasAttribute(E))return m.getAttribute(E)}var N=function(w){ce(E,w);var m=le(E);function E(v,R){var A;return ie(this,E),A=m.call(this),A.resolveOptions(R),A.listenClick(v),A}return X(E,[{key:"resolveOptions",value:function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof R.action=="function"?R.action:this.defaultAction,this.target=typeof R.target=="function"?R.target:this.defaultTarget,this.text=typeof R.text=="function"?R.text:this.defaultText,this.container=D(R.container)==="object"?R.container:document.body}},{key:"listenClick",value:function(R){var A=this;this.listener=u()(R,"click",function(ee){return A.onClick(ee)})}},{key:"onClick",value:function(R){var A=R.delegateTarget||R.currentTarget,ee=this.action(A)||"copy",ve=B({action:ee,container:this.container,target:this.target(A),text:this.text(A)});this.emit(ve?"success":"error",{action:ee,text:ve,trigger:A,clearSelection:function(){A&&A.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(R){return S("action",R)}},{key:"defaultTarget",value:function(R){var A=S("target",R);if(A)return document.querySelector(A)}},{key:"defaultText",value:function(R){return S("text",R)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(R){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return P(R,A)}},{key:"cut",value:function(R){return b(R)}},{key:"isSupported",value:function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],A=typeof R=="string"?[R]:R,ee=!!document.queryCommandSupported;return A.forEach(function(ve){ee=ee&&!!document.queryCommandSupported(ve)}),ee}}]),E}(a()),$=N},828:function(i){var r=9;if(typeof Element<"u"&&!Element.prototype.matches){var o=Element.prototype;o.matches=o.matchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector||o.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==r;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}i.exports=s},438:function(i,r,o){var s=o(828);function a(d,g,p,f,b){var T=u.apply(this,arguments);return d.addEventListener(p,T,b),{destroy:function(){d.removeEventListener(p,T,b)}}}function c(d,g,p,f,b){return typeof d.addEventListener=="function"?a.apply(null,arguments):typeof p=="function"?a.bind(null,document).apply(null,arguments):(typeof d=="string"&&(d=document.querySelectorAll(d)),Array.prototype.map.call(d,function(T){return a(T,g,p,f,b)}))}function u(d,g,p,f){return function(b){b.delegateTarget=s(b.target,g),b.delegateTarget&&f.call(d,b)}}i.exports=c},879:function(i,r){r.node=function(o){return o!==void 0&&o instanceof HTMLElement&&o.nodeType===1},r.nodeList=function(o){var s=Object.prototype.toString.call(o);return o!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in o&&(o.length===0||r.node(o[0]))},r.string=function(o){return typeof o=="string"||o instanceof String},r.fn=function(o){var s=Object.prototype.toString.call(o);return s==="[object Function]"}},370:function(i,r,o){var s=o(879),a=o(438);function c(p,f,b){if(!p&&!f&&!b)throw new Error("Missing required arguments");if(!s.string(f))throw new TypeError("Second argument must be a String");if(!s.fn(b))throw new TypeError("Third argument must be a Function");if(s.node(p))return u(p,f,b);if(s.nodeList(p))return d(p,f,b);if(s.string(p))return g(p,f,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function u(p,f,b){return p.addEventListener(f,b),{destroy:function(){p.removeEventListener(f,b)}}}function d(p,f,b){return Array.prototype.forEach.call(p,function(T){T.addEventListener(f,b)}),{destroy:function(){Array.prototype.forEach.call(p,function(T){T.removeEventListener(f,b)})}}}function g(p,f,b){return a(document.body,p,f,b)}i.exports=c},817:function(i){function r(o){var s;if(o.nodeName==="SELECT")o.focus(),s=o.value;else if(o.nodeName==="INPUT"||o.nodeName==="TEXTAREA"){var a=o.hasAttribute("readonly");a||o.setAttribute("readonly",""),o.select(),o.setSelectionRange(0,o.value.length),a||o.removeAttribute("readonly"),s=o.value}else{o.hasAttribute("contenteditable")&&o.focus();var c=window.getSelection(),u=document.createRange();u.selectNodeContents(o),c.removeAllRanges(),c.addRange(u),s=c.toString()}return s}i.exports=r},279:function(i){function r(){}r.prototype={on:function(o,s,a){var c=this.e||(this.e={});return(c[o]||(c[o]=[])).push({fn:s,ctx:a}),this},once:function(o,s,a){var c=this;function u(){c.off(o,u),s.apply(a,arguments)}return u._=s,this.on(o,u,a)},emit:function(o){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[o]||[]).slice(),c=0,u=a.length;for(c;c{function pr(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(e=>{let t=n[e],i=typeof t;(i==="object"||i==="function")&&!Object.isFrozen(t)&&pr(t)}),n}var un=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function gr(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Je(n,...e){let t=Object.create(null);for(let i in n)t[i]=n[i];return e.forEach(function(i){for(let r in i)t[r]=i[r]}),t}var Ca="",or=n=>!!n.scope,Ma=(n,{prefix:e})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){let t=n.split(".");return[`${e}${t.shift()}`,...t.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${n}`},Xn=class{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=gr(e)}openNode(e){if(!or(e))return;let t=Ma(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){or(e)&&(this.buffer+=Ca)}value(){return this.buffer}span(e){this.buffer+=``}},ar=(n={})=>{let e={children:[]};return Object.assign(e,n),e},Qn=class n{constructor(){this.rootNode=ar(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=ar({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t=="string"?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(i=>this._walk(e,i)),e.closeNode(t)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(t=>typeof t=="string")?e.children=[e.children.join("")]:e.children.forEach(t=>{n._collapse(t)}))}},Jn=class extends Qn{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let i=e.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new Xn(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ut(n){return n?typeof n=="string"?n:n.source:null}function fr(n){return ot("(?=",n,")")}function Ia(n){return ot("(?:",n,")*")}function La(n){return ot("(?:",n,")?")}function ot(...n){return n.map(t=>Ut(t)).join("")}function Da(n){let e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function ei(...n){return"("+(Da(n).capture?"":"?:")+n.map(i=>Ut(i)).join("|")+")"}function hr(n){return new RegExp(n.toString()+"|").exec("").length-1}function $a(n,e){let t=n&&n.exec(e);return t&&t.index===0}var Pa=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function ti(n,{joinWith:e}){let t=0;return n.map(i=>{t+=1;let r=t,o=Ut(i),s="";for(;o.length>0;){let a=Pa.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])+r):(s+=a[0],a[0]==="("&&t++)}return s}).map(i=>`(${i})`).join(e)}var Ua=/\b\B/,mr="[a-zA-Z]\\w*",ni="[a-zA-Z_]\\w*",br="\\b\\d+(\\.\\d+)?",_r="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Er="\\b(0b[01]+)",Ba="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",za=(n={})=>{let e=/^#![ ]*\//;return n.binary&&(n.begin=ot(e,/.*\b/,n.binary,/\b.*/)),Je({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},n)},Bt={begin:"\\\\[\\s\\S]",relevance:0},Fa={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Bt]},Ha={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Bt]},Ga={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/},pn=function(n,e,t={}){let i=Je({scope:"comment",begin:n,end:e,contains:[]},t);i.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 r=ei("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 i.contains.push({begin:ot(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Ka=pn("//","$"),qa=pn("/\\*","\\*/"),Wa=pn("#","$"),Za={scope:"number",begin:br,relevance:0},Ya={scope:"number",begin:_r,relevance:0},Va={scope:"number",begin:Er,relevance:0},Xa={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Bt,{begin:/\[/,end:/\]/,relevance:0,contains:[Bt]}]},Qa={scope:"title",begin:mr,relevance:0},Ja={scope:"title",begin:ni,relevance:0},ja={begin:"\\.\\s*"+ni,relevance:0},ec=function(n){return Object.assign(n,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},ln=Object.freeze({__proto__:null,APOS_STRING_MODE:Fa,BACKSLASH_ESCAPE:Bt,BINARY_NUMBER_MODE:Va,BINARY_NUMBER_RE:Er,COMMENT:pn,C_BLOCK_COMMENT_MODE:qa,C_LINE_COMMENT_MODE:Ka,C_NUMBER_MODE:Ya,C_NUMBER_RE:_r,END_SAME_AS_BEGIN:ec,HASH_COMMENT_MODE:Wa,IDENT_RE:mr,MATCH_NOTHING_RE:Ua,METHOD_GUARD:ja,NUMBER_MODE:Za,NUMBER_RE:br,PHRASAL_WORDS_MODE:Ga,QUOTE_STRING_MODE:Ha,REGEXP_MODE:Xa,RE_STARTERS_RE:Ba,SHEBANG:za,TITLE_MODE:Qa,UNDERSCORE_IDENT_RE:ni,UNDERSCORE_TITLE_MODE:Ja});function tc(n,e){n.input[n.index-1]==="."&&e.ignoreMatch()}function nc(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function ic(n,e){e&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=tc,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function rc(n,e){Array.isArray(n.illegal)&&(n.illegal=ei(...n.illegal))}function sc(n,e){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function oc(n,e){n.relevance===void 0&&(n.relevance=1)}var ac=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");let t=Object.assign({},n);Object.keys(n).forEach(i=>{delete n[i]}),n.keywords=t.keywords,n.begin=ot(t.beforeMatch,fr(t.begin)),n.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},n.relevance=0,delete t.beforeMatch},cc=["of","and","for","in","not","or","if","then","parent","list","value"],lc="keyword";function yr(n,e,t=lc){let i=Object.create(null);return typeof n=="string"?r(t,n.split(" ")):Array.isArray(n)?r(t,n):Object.keys(n).forEach(function(o){Object.assign(i,yr(n[o],e,o))}),i;function r(o,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let c=a.split("|");i[c[0]]=[o,uc(c[0],c[1])]})}}function uc(n,e){return e?Number(e):dc(n)?0:1}function dc(n){return cc.includes(n.toLowerCase())}var cr={},st=n=>{console.error(n)},lr=(n,...e)=>{console.log(`WARN: ${n}`,...e)},yt=(n,e)=>{cr[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),cr[`${n}/${e}`]=!0)},dn=new Error;function Tr(n,e,{key:t}){let i=0,r=n[t],o={},s={};for(let a=1;a<=e.length;a++)s[a+i]=r[a],o[a+i]=!0,i+=hr(e[a-1]);n[t]=s,n[t]._emit=o,n[t]._multi=!0}function pc(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw st("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),dn;if(typeof n.beginScope!="object"||n.beginScope===null)throw st("beginScope must be object"),dn;Tr(n,n.begin,{key:"beginScope"}),n.begin=ti(n.begin,{joinWith:""})}}function gc(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw st("skip, excludeEnd, returnEnd not compatible with endScope: {}"),dn;if(typeof n.endScope!="object"||n.endScope===null)throw st("endScope must be object"),dn;Tr(n,n.end,{key:"endScope"}),n.end=ti(n.end,{joinWith:""})}}function fc(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function hc(n){fc(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),pc(n),gc(n)}function mc(n){function e(s,a){return new RegExp(Ut(s),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(a?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,a]),this.matchAt+=hr(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(c=>c[1]);this.matcherRe=e(ti(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(a);if(!c)return null;let u=c.findIndex((g,p)=>p>0&&g!==void 0),d=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,d)}}class i{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 c=new t;return this.rules.slice(a).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[a]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,c){this.rules.push([a,c]),c.type==="begin"&&this.count++}exec(a){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(a);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(a)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(s){let a=new i;return s.contains.forEach(c=>a.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){let c=s;if(s.isCompiled)return c;[nc,sc,hc,ac].forEach(d=>d(s,a)),n.compilerExtensions.forEach(d=>d(s,a)),s.__beforeBegin=null,[ic,rc,oc].forEach(d=>d(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=yr(s.keywords,n.case_insensitive)),c.keywordPatternRe=e(u,!0),a&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=Ut(c.end)||"",s.endsWithParent&&a.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(d){return bc(d==="self"?s:d)})),s.contains.forEach(function(d){o(d,c)}),s.starts&&o(s.starts,a),c.matcher=r(c),c}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=Je(n.classNameAliases||{}),o(n)}function wr(n){return n?n.endsWithParent||wr(n.starts):!1}function bc(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return Je(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:wr(n)?Je(n,{starts:n.starts?Je(n.starts):null}):Object.isFrozen(n)?Je(n):n}var _c="11.11.1",jn=class extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}},Vn=gr,ur=Je,dr=Symbol("nomatch"),Ec=7,vr=function(n){let e=Object.create(null),t=Object.create(null),i=[],r=!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:Jn};function c(h){return a.noHighlightRe.test(h)}function u(h){let S=h.className+" ";S+=h.parentNode?h.parentNode.className:"";let N=a.languageDetectRe.exec(S);if(N){let $=K(N[1]);return $||(lr(o.replace("{}",N[1])),lr("Falling back to no-highlight mode for this block.",h)),$?N[1]:"no-highlight"}return S.split(/\s+/).find($=>c($)||K($))}function d(h,S,N){let $="",w="";typeof S=="object"?($=h,N=S.ignoreIllegals,w=S.language):(yt("10.7.0","highlight(lang, code, ...args) has been deprecated."),yt("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),w=h,$=S),N===void 0&&(N=!0);let m={code:$,language:w};j("before:highlight",m);let E=m.result?m.result:g(m.language,m.code,N);return E.code=m.code,j("after:highlight",E),E}function g(h,S,N,$){let w=Object.create(null);function m(y,x){return y.keywords[x]}function E(){if(!L.keywords){se.addText(Y);return}let y=0;L.keywordPatternRe.lastIndex=0;let x=L.keywordPatternRe.exec(Y),z="";for(;x;){z+=Y.substring(y,x.index);let W=fe.case_insensitive?x[0].toLowerCase():x[0],oe=m(L,W);if(oe){let[Ne,gt]=oe;if(se.addText(z),z="",w[W]=(w[W]||0)+1,w[W]<=Ec&&(pt+=gt),Ne.startsWith("_"))z+=x[0];else{let ft=fe.classNameAliases[Ne]||Ne;A(x[0],ft)}}else z+=x[0];y=L.keywordPatternRe.lastIndex,x=L.keywordPatternRe.exec(Y)}z+=Y.substring(y),se.addText(z)}function v(){if(Y==="")return;let y=null;if(typeof L.subLanguage=="string"){if(!e[L.subLanguage]){se.addText(Y);return}y=g(L.subLanguage,Y,!0,Ue[L.subLanguage]),Ue[L.subLanguage]=y._top}else y=f(Y,L.subLanguage.length?L.subLanguage:null);L.relevance>0&&(pt+=y.relevance),se.__addSublanguage(y._emitter,y.language)}function R(){L.subLanguage!=null?v():E(),Y=""}function A(y,x){y!==""&&(se.startScope(x),se.addText(y),se.endScope())}function ee(y,x){let z=1,W=x.length-1;for(;z<=W;){if(!y._emit[z]){z++;continue}let oe=fe.classNameAliases[y[z]]||y[z],Ne=x[z];oe?A(Ne,oe):(Y=Ne,E(),Y=""),z++}}function ve(y,x){return y.scope&&typeof y.scope=="string"&&se.openNode(fe.classNameAliases[y.scope]||y.scope),y.beginScope&&(y.beginScope._wrap?(A(Y,fe.classNameAliases[y.beginScope._wrap]||y.beginScope._wrap),Y=""):y.beginScope._multi&&(ee(y.beginScope,x),Y="")),L=Object.create(y,{parent:{value:L}}),L}function Pe(y,x,z){let W=$a(y.endRe,z);if(W){if(y["on:end"]){let oe=new un(y);y["on:end"](x,oe),oe.isMatchIgnored&&(W=!1)}if(W){for(;y.endsParent&&y.parent;)y=y.parent;return y}}if(y.endsWithParent)return Pe(y.parent,x,z)}function et(y){return L.matcher.regexIndex===0?(Y+=y[0],1):(Ie=!0,0)}function ut(y){let x=y[0],z=y.rule,W=new un(z),oe=[z.__beforeBegin,z["on:begin"]];for(let Ne of oe)if(Ne&&(Ne(y,W),W.isMatchIgnored))return et(x);return z.skip?Y+=x:(z.excludeBegin&&(Y+=x),R(),!z.returnBegin&&!z.excludeBegin&&(Y=x)),ve(z,y),z.returnBegin?0:x.length}function dt(y){let x=y[0],z=S.substring(y.index),W=Pe(L,y,z);if(!W)return dr;let oe=L;L.endScope&&L.endScope._wrap?(R(),A(x,L.endScope._wrap)):L.endScope&&L.endScope._multi?(R(),ee(L.endScope,y)):oe.skip?Y+=x:(oe.returnEnd||oe.excludeEnd||(Y+=x),R(),oe.excludeEnd&&(Y=x));do L.scope&&se.closeNode(),!L.skip&&!L.subLanguage&&(pt+=L.relevance),L=L.parent;while(L!==W.parent);return W.starts&&ve(W.starts,y),oe.returnEnd?0:x.length}function Me(){let y=[];for(let x=L;x!==fe;x=x.parent)x.scope&&y.unshift(x.scope);y.forEach(x=>se.openNode(x))}let Oe={};function Se(y,x){let z=x&&x[0];if(Y+=y,z==null)return R(),0;if(Oe.type==="begin"&&x.type==="end"&&Oe.index===x.index&&z===""){if(Y+=S.slice(x.index,x.index+1),!r){let W=new Error(`0 width match regex (${h})`);throw W.languageName=h,W.badRule=Oe.rule,W}return 1}if(Oe=x,x.type==="begin")return ut(x);if(x.type==="illegal"&&!N){let W=new Error('Illegal lexeme "'+z+'" for mode "'+(L.scope||"")+'"');throw W.mode=L,W}else if(x.type==="end"){let W=dt(x);if(W!==dr)return W}if(x.type==="illegal"&&z==="")return Y+=` -`,1;if(Be>1e5&&Be>x.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Y+=z,z.length}let fe=K(h);if(!fe)throw st(o.replace("{}",h)),new Error('Unknown language: "'+h+'"');let q=mc(fe),be="",L=$||q,Ue={},se=new a.__emitter(a);Me();let Y="",pt=0,Re=0,Be=0,Ie=!1;try{if(fe.__emitTokens)fe.__emitTokens(S,se);else{for(L.matcher.considerAll();;){Be++,Ie?Ie=!1:L.matcher.considerAll(),L.matcher.lastIndex=Re;let y=L.matcher.exec(S);if(!y)break;let x=S.substring(Re,y.index),z=Se(x,y);Re=y.index+z}Se(S.substring(Re))}return se.finalize(),be=se.toHTML(),{language:h,value:be,relevance:pt,illegal:!1,_emitter:se,_top:L}}catch(y){if(y.message&&y.message.includes("Illegal"))return{language:h,value:Vn(S),illegal:!0,relevance:0,_illegalBy:{message:y.message,index:Re,context:S.slice(Re-100,Re+100),mode:y.mode,resultSoFar:be},_emitter:se};if(r)return{language:h,value:Vn(S),illegal:!1,relevance:0,errorRaised:y,_emitter:se,_top:L};throw y}}function p(h){let S={value:Vn(h),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return S._emitter.addText(h),S}function f(h,S){S=S||a.languages||Object.keys(e);let N=p(h),$=S.filter(K).filter(ce).map(R=>g(R,h,!1));$.unshift(N);let w=$.sort((R,A)=>{if(R.relevance!==A.relevance)return A.relevance-R.relevance;if(R.language&&A.language){if(K(R.language).supersetOf===A.language)return 1;if(K(A.language).supersetOf===R.language)return-1}return 0}),[m,E]=w,v=m;return v.secondBest=E,v}function b(h,S,N){let $=S&&t[S]||N;h.classList.add("hljs"),h.classList.add(`language-${$}`)}function T(h){let S=null,N=u(h);if(c(N))return;if(j("before:highlightElement",{el:h,language:N}),h.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",h);return}if(h.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(h)),a.throwUnescapedHTML))throw new jn("One of your code blocks includes unescaped HTML.",h.innerHTML);S=h;let $=S.textContent,w=N?d($,{language:N,ignoreIllegals:!0}):f($);h.innerHTML=w.value,h.dataset.highlighted="yes",b(h,N,w.language),h.result={language:w.language,re:w.relevance,relevance:w.relevance},w.secondBest&&(h.secondBest={language:w.secondBest.language,relevance:w.secondBest.relevance}),j("after:highlightElement",{el:h,result:w,text:$})}function k(h){a=ur(a,h)}let M=()=>{C(),yt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function P(){C(),yt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let U=!1;function C(){function h(){C()}if(document.readyState==="loading"){U||window.addEventListener("DOMContentLoaded",h,!1),U=!0;return}document.querySelectorAll(a.cssSelector).forEach(T)}function B(h,S){let N=null;try{N=S(n)}catch($){if(st("Language definition for '{}' could not be registered.".replace("{}",h)),r)st($);else throw $;N=s}N.name||(N.name=h),e[h]=N,N.rawDefinition=S.bind(null,n),N.aliases&&X(N.aliases,{languageName:h})}function D(h){delete e[h];for(let S of Object.keys(t))t[S]===h&&delete t[S]}function ie(){return Object.keys(e)}function K(h){return h=(h||"").toLowerCase(),e[h]||e[t[h]]}function X(h,{languageName:S}){typeof h=="string"&&(h=[h]),h.forEach(N=>{t[N.toLowerCase()]=S})}function ce(h){let S=K(h);return S&&!S.disableAutodetect}function Z(h){h["before:highlightBlock"]&&!h["before:highlightElement"]&&(h["before:highlightElement"]=S=>{h["before:highlightBlock"](Object.assign({block:S.el},S))}),h["after:highlightBlock"]&&!h["after:highlightElement"]&&(h["after:highlightElement"]=S=>{h["after:highlightBlock"](Object.assign({block:S.el},S))})}function le(h){Z(h),i.push(h)}function de(h){let S=i.indexOf(h);S!==-1&&i.splice(S,1)}function j(h,S){let N=h;i.forEach(function($){$[N]&&$[N](S)})}function ne(h){return yt("10.7.0","highlightBlock will be removed entirely in v12.0"),yt("10.7.0","Please use highlightElement now."),T(h)}Object.assign(n,{highlight:d,highlightAuto:f,highlightAll:C,highlightElement:T,highlightBlock:ne,configure:k,initHighlighting:M,initHighlightingOnLoad:P,registerLanguage:B,unregisterLanguage:D,listLanguages:ie,getLanguage:K,registerAliases:X,autoDetection:ce,inherit:ur,addPlugin:le,removePlugin:de}),n.debugMode=function(){r=!1},n.safeMode=function(){r=!0},n.versionString=_c,n.regex={concat:ot,lookahead:fr,either:ei,optional:La,anyNumberOfTimes:Ia};for(let h in ln)typeof ln[h]=="object"&&pr(ln[h]);return Object.assign(n,ln),n},Tt=vr({});Tt.newInstance=()=>vr({});Ar.exports=Tt;Tt.HighlightJS=Tt;Tt.default=Tt});var kr=H((Hd,Nr)=>{function yc(n){let e=n.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={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=n.inherit(o,{begin:/\(/,end:/\)/}),a=n.inherit(n.APOS_STRING_MODE,{className:"string"}),c=n.inherit(n.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,c,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[o,s,c,a]}]}]},n.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{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:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:u}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Nr.exports=yc});var Or=H((Gd,xr)=>{function Tc(n){let e=n.regex,t={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},o=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,t,r]};r.contains.push(a);let c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},g={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,t]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],f=n.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},T=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],k=["true","false"],M={match:/(\/[a-z._-]+)+/},P=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],U=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],C=["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"],B=["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:T,literal:k,built_in:[...P,...U,"set","shopt",...C,...B]},contains:[f,n.SHEBANG(),b,g,o,s,M,a,c,u,d,t]}}xr.exports=Tc});var Cr=H((Kd,Rr)=>{function wc(n){let e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.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:[n.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:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={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},g={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},n.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},f=e.optional(r)+n.IDENT_RE+"\\s*\\(",k={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"},M=[g,a,t,n.C_BLOCK_COMMENT_MODE,d,u],P={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:M.concat([{begin:/\(/,end:/\)/,keywords:k,contains:M.concat(["self"]),relevance:0}]),relevance:0},U={begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:k,relevance:0},{begin:f,returnBegin:!0,contains:[n.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,u,d,a,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,u,d,a]}]},a,t,n.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:k,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{preprocessor:g,strings:u,keywords:k}}}Rr.exports=wc});var Ir=H((qd,Mr)=>{function vc(n){let e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.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:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={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},g={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},n.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},f=e.optional(r)+n.IDENT_RE+"\\s*\\(",b=["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"],T=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["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"],M=["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"],C={type:T,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},B={className:"function.dispatch",relevance:0,keywords:{_hint:M},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,n.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},D=[B,g,a,t,n.C_BLOCK_COMMENT_MODE,d,u],ie={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:C,contains:D.concat([{begin:/\(/,end:/\)/,keywords:C,contains:D.concat(["self"]),relevance:0}]),relevance:0},K={className:"function",begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:C,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:C,relevance:0},{begin:f,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,u,d,a,{begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,u,d,a]}]},a,t,n.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:C,illegal:"",keywords:C,contains:["self",a]},{begin:n.IDENT_RE+"::",keywords:C},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}Mr.exports=vc});var Dr=H((Wd,Lr)=>{function Ac(n){let e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],t=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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:r.concat(o),built_in:e,literal:i},a=n.inherit(n.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={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},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},g=n.inherit(d,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:s},f=n.inherit(p,{illegal:/\n/}),b={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},n.BACKSLASH_ESCAPE,f]},T={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},k=n.inherit(T,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},f]});p.contains=[T,b,d,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,c,n.C_BLOCK_COMMENT_MODE],f.contains=[k,b,g,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,c,n.inherit(n.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let M={variants:[u,T,b,d,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},P={begin:"<",end:">",contains:[{beginKeywords:"in out"},a]},U=n.IDENT_RE+"(<"+n.IDENT_RE+"(\\s*,\\s*"+n.IDENT_RE+")*>)?(\\[\\])?",C={begin:"@"+n.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[n.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},M,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},a,P,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,P,n.C_LINE_COMMENT_MODE,n.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:"("+U+"\\s+)+"+n.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:t.join(" "),relevance:0},{begin:n.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[n.TITLE_MODE,P],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[M,c,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},C]}}Lr.exports=Ac});var Pr=H((Zd,$r)=>{var Sc=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),Nc=["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"],kc=["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"],xc=[...Nc,...kc],Oc=["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(),Rc=["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(),Cc=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Mc=["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 Ic(n){let e=n.regex,t=Sc(n),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,i,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Rc.join("|")+")"},{begin:":(:)?("+Cc.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Mc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.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}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Oc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+xc.join("|")+")\\b"}]}}$r.exports=Ic});var Br=H((Yd,Ur)=>{function Lc(n){let e=n.regex,t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={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+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.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}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=n.inherit(u,{contains:[]}),p=n.inherit(d,{contains:[]});u.contains.push(p),d.contains.push(g);let f=[t,c];return[u,d,g,p].forEach(M=>{M.contains=M.contains.concat(f)}),f=f.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},t,o,u,d,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},r,i,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}Ur.exports=Lc});var Fr=H((Vd,zr)=>{function Dc(n){let e=n.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}zr.exports=Dc});var Gr=H((Xd,Hr)=>{function $c(n){let e=n.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=e.concat(i,/(::\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]+"},c={begin:"#<",end:">"},u=[n.COMMENT("#","$",{contains:[a]}),n.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),n.COMMENT("^__END__",n.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:s},g={className:"string",contains:[n.BACKSLASH_ESCAPE,d],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:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[n.BACKSLASH_ESCAPE,d]})]}]},p="[1-9](_?[0-9])*|0",f="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${f}))?([eE][+-]?(${f})|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"}]},T={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},D=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:s},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[T]},{begin:n.IDENT_RE+"::"},{className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:t}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+n.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[n.BACKSLASH_ESCAPE,d],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(c,u),relevance:0}].concat(c,u);d.contains=D,T.contains=D;let ce=[{begin:/^\s*=>/,starts:{end:"$",contains:D}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:D}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[n.SHEBANG({binary:"ruby"})].concat(ce).concat(u).concat(D)}}Hr.exports=$c});var qr=H((Qd,Kr)=>{function Pc(n){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:"{function Uc(n){let e=n.regex,t=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[n.HASH_COMMENT_MODE,n.QUOTE_STRING_MODE,n.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(t,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}Wr.exports=Uc});var Vr=H((jd,Yr)=>{function Bc(n){let e=n.regex,t={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:n.NUMBER_RE}]},i=n.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},o={className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},a={begin:/\[/,end:/\]/,contains:[i,o,r,s,t,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,u=/"(\\"|[^"])*"/,d=/'[^']*'/,g=e.either(c,u,d),p=e.concat(g,"(\\s*\\.\\s*",g,")*",e.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,a,o,r,s,t]}}]}}Yr.exports=Bc});var jr=H((ep,Jr)=>{var wt="[0-9](_*[0-9])*",gn=`\\.(${wt})`,fn="[0-9a-fA-F](_*[0-9a-fA-F])*",Xr={className:"number",variants:[{begin:`(\\b(${wt})((${gn})|\\.)?|(${gn}))[eE][+-]?(${wt})[fFdD]?\\b`},{begin:`\\b(${wt})((${gn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${gn})[fFdD]?\\b`},{begin:`\\b(${wt})[fFdD]\\b`},{begin:`\\b0[xX]((${fn})\\.?|(${fn})?\\.(${fn}))[pP][+-]?(${wt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${fn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Qr(n,e,t){return t===-1?"":n.replace(e,i=>Qr(n,e,t-1))}function zc(n){let e=n.regex,t="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=t+Qr("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),c={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:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[d,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,Xr,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},Xr,u]}}Jr.exports=zc});var ss=H((tp,rs)=>{var es="[A-Za-z$_][0-9A-Za-z$_]*",Fc=["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"],Hc=["true","false","null","undefined","NaN","Infinity"],ts=["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"],ns=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],is=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Gc=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Kc=[].concat(is,ts,ns);function qc(n){let e=n.regex,t=(N,{after:$})=>{let w="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,$)=>{let w=N[0].length+N.index,m=N.input[w];if(m==="<"||m===","){$.ignoreMatch();return}m===">"&&(t(N,{after:w})||$.ignoreMatch());let E,v=N.input.substring(w);if(E=v.match(/^\s*=/)){$.ignoreMatch();return}if((E=v.match(/^\s+extends\s+/))&&E.index===0){$.ignoreMatch();return}}},a={$pattern:es,keyword:Fc,literal:Hc,built_in:Kc,"variable.language":Gc},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\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},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"css"}},T={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[n.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,T,k,{match:/\$\d+/},g];p.contains=U.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(U)});let C=[].concat(P,p.contains),B=C.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(C)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},ie={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},K={relevance:0,match:e.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:{_:[...ts,...ns]}},X={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ce={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},Z={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function le(N){return e.concat("(?!",N.join("|"),")")}let de={match:e.concat(/\b/,le([...is,"super","import"].map(N=>`${N}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},j={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ne={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},h="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",S={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(h)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:K},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),X,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,T,k,P,{match:/\$\d+/},g,K,{scope:"attr",match:i+e.lookahead(":"),relevance:0},S,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,n.REGEXP_MODE,{className:"function",begin:h,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.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"]}]}]},ce,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},j,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},de,Z,ie,ne,{match:/\$[(.]/}]}}rs.exports=qc});var as=H((np,os)=>{function Wc(n){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[e,t,n.QUOTE_STRING_MODE,r,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}os.exports=Wc});var ls=H((ip,cs)=>{var vt="[0-9](_*[0-9])*",hn=`\\.(${vt})`,mn="[0-9a-fA-F](_*[0-9a-fA-F])*",Zc={className:"number",variants:[{begin:`(\\b(${vt})((${hn})|\\.)?|(${hn}))[eE][+-]?(${vt})[fFdD]?\\b`},{begin:`\\b(${vt})((${hn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${hn})[fFdD]?\\b`},{begin:`\\b(${vt})[fFdD]\\b`},{begin:`\\b0[xX]((${mn})\\.?|(${mn})?\\.(${mn}))[pP][+-]?(${vt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${mn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Yc(n){let e={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"},t={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[n.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+n.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,r]},{begin:"'",end:"'",illegal:/\n/,contains:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[n.BACKSLASH_ESCAPE,o,r]}]};r.contains.push(s);let a={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+n.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+n.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[n.inherit(s,{className:"string"}),"self"]}]},u=Zc,d=n.COMMENT("/\\*","\\*/",{contains:[n.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:n.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),n.C_LINE_COMMENT_MODE,d,t,i,a,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:n.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[n.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,n.C_LINE_COMMENT_MODE,d],relevance:0},n.C_LINE_COMMENT_MODE,d,a,c,s,n.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,n.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},n.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},a,c]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},u]}}cs.exports=Yc});var gs=H((rp,ps)=>{var Vc=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),Xc=["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"],Qc=["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"],Jc=[...Xc,...Qc],jc=["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(),us=["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(),ds=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),el=["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(),tl=us.concat(ds).sort().reverse();function nl(n){let e=Vc(n),t=tl,i="and or not only",r="[\\w-]+",o="("+r+"|@\\{"+r+"\\})",s=[],a=[],c=function(U){return{className:"string",begin:"~?"+U+".*?"+U}},u=function(U,C,B){return{className:U,begin:C,relevance:B}},d={$pattern:/[a-z-]+/,keyword:i,attribute:jc.join(" ")},g={begin:"\\(",end:"\\)",contains:a,keywords:d,relevance:0};a.push(n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,c("'"),c('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,g,u("variable","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);let p=a.concat({begin:/\{/,end:/\}/,contains:s}),f={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},b={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+el.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},T={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:a,relevance:0}},k={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,f,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+Jc.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,u("selector-tag",o,0),u("selector-id","#"+o),u("selector-class","\\."+o,0),u("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+us.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+ds.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},e.FUNCTION_DISPATCH]},P={begin:r+`:(:)?(${t.join("|")})`,returnBegin:!0,contains:[M]};return s.push(n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,T,k,P,b,M,f,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}ps.exports=nl});var hs=H((sp,fs)=>{function il(n){let e="\\[=*\\[",t="\\]=*\\]",i={begin:e,end:t,contains:["self"]},r=[n.COMMENT("--(?!"+e+")","$"),n.COMMENT("--"+e,t,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:n.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:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[n.inherit(n.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},n.C_NUMBER_MODE,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{className:"string",begin:e,end:t,contains:[i],relevance:5}])}}fs.exports=il});var bs=H((op,ms)=>{function rl(n){let e={className:"variable",variants:[{begin:"\\$\\("+n.UNDERSCORE_IDENT_RE+"\\)",contains:[n.BACKSLASH_ESCAPE]},{begin:/\$[@%{function sl(n){let e=n.regex,t=["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"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:t.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},s={begin:/->\{/,end:/\}/},a={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:e.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},d=[n.BACKSLASH_ESCAPE,o,c],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],p=(T,k,M="\\1")=>{let P=M==="\\1"?M:e.concat(M,k);return e.concat(e.concat("(?:",T,")"),k,/(?:\\.|[^\\\/])*?/,P,/(?:\\.|[^\\\/])*?/,M,i)},f=(T,k,M)=>e.concat(e.concat("(?:",T,")"),k,/(?:\\.|[^\\\/])*?/,M,i),b=[c,n.HASH_COMMENT_MODE,n.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:d,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:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+n.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[n.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:p("s|tr|y",e.either(...g,{capture:!0}))},{begin:p("s|tr|y","\\(","\\)")},{begin:p("s|tr|y","\\[","\\]")},{begin:p("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:f("(?:m|qr)?",/\//,/\//)},{begin:f("m|qr",e.either(...g,{capture:!0}),/\1/)},{begin:f("m|qr",/\(/,/\)/)},{begin:f("m|qr",/\[/,/\]/)},{begin:f("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[n.TITLE_MODE,a]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[n.TITLE_MODE,a,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=b,s.contains=b,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:b}}_s.exports=sl});var Ts=H((cp,ys)=>{function ol(n){let e={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+"},t=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:t,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"]},c={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"/,end:/$/,illegal:"\\n"},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[n.UNDERSCORE_TITLE_MODE]},{begin:"\\."+n.UNDERSCORE_IDENT_RE,relevance:0}]}}ys.exports=ol});var vs=H((lp,ws)=>{function al(n){let e=n.regex,t=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),o=e.concat(/[A-Z]+/,t),s={scope:"variable",match:"\\$+"+i},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=n.inherit(n.APOS_STRING_MODE,{illegal:null}),d=n.inherit(n.QUOTE_STRING_MODE,{illegal:null,contains:n.QUOTE_STRING_MODE.contains.concat(c)}),g={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:n.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(j,ne)=>{ne.data._beginMatch=j[1]||j[2]},"on:end":(j,ne)=>{ne.data._beginMatch!==j[1]&&ne.ignoreMatch()}},p=n.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),f=`[ -]`,b={scope:"string",variants:[d,u,g,p]},T={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},k=["false","null","true"],M=["__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"],P=["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"],C={keyword:M,literal:(j=>{let ne=[];return j.forEach(h=>{ne.push(h),h.toLowerCase()===h?ne.push(h.toUpperCase()):ne.push(h.toLowerCase())}),ne})(k),built_in:P},B=j=>j.map(ne=>ne.replace(/\|\d+$/,"")),D={variants:[{match:[/new/,e.concat(f,"+"),e.concat("(?!",B(P).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},ie=e.concat(i,"\\b(?!\\()"),K={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),ie],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),ie],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},X={scope:"attr",match:e.concat(i,e.lookahead(":"),e.lookahead(/(?!::)/))},ce={relevance:0,begin:/\(/,end:/\)/,keywords:C,contains:[X,s,K,n.C_BLOCK_COMMENT_MODE,b,T,D]},Z={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",B(M).join("\\b|"),"|",B(P).join("\\b|"),"\\b)"),i,e.concat(f,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[ce]};ce.contains.push(Z);let le=[X,K,n.C_BLOCK_COMMENT_MODE,b,T,D],de={begin:e.concat(/#\[\s*\\?/,e.either(r,o)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:k,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:k,keyword:["new","array"]},contains:["self",...le]},...le,{scope:"meta",variants:[{match:r},{match:o}]}]};return{case_insensitive:!1,keywords:C,contains:[de,n.HASH_COMMENT_MODE,n.COMMENT("//","$"),n.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:n.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,Z,K,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},D,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},n.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:C,contains:["self",de,s,K,n.C_BLOCK_COMMENT_MODE,b,T]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},n.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[n.inherit(n.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},n.UNDERSCORE_TITLE_MODE]},b,T]}}ws.exports=al});var Ss=H((up,As)=>{function cl(n){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},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}As.exports=cl});var ks=H((dp,Ns)=>{function ll(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}Ns.exports=ll});var Os=H((pp,xs)=>{function ul(n){let e=n.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["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:i,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},d={begin:/\{\{/,relevance:0},g={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c,d,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:[n.BACKSLASH_ESCAPE,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,d,u]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",f=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,b=`\\b|${i.join("|")}`,T={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${f}))[eE][+-]?(${p})[jJ]?(?=${b})`},{begin:`(${f})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${p})[jJ](?=${b})`}]},k={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},M={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,T,g,n.HASH_COMMENT_MODE]}]};return u.contains=[g,T,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,T,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},g,k,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[M]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[T,M,g]}]}}xs.exports=ul});var Cs=H((gp,Rs)=>{function dl(n){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}Rs.exports=dl});var Is=H((fp,Ms)=>{function pl(n){let e=n.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=e.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,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:[n.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),n.HASH_COMMENT_MODE,{scope:"string",contains:[n.BACKSLASH_ESCAPE],variants:[n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[o,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}Ms.exports=pl});var Ds=H((hp,Ls)=>{function gl(n){let e=n.regex,t=/(r#)?/,i=e.concat(t,n.UNDERSCORE_IDENT_RE),r=e.concat(t,n.IDENT_RE),o={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,e.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"],c=["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!"],d=["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:n.IDENT_RE+"!?",type:d,keyword:a,literal:c,built_in:u},illegal:""},o]}}Ls.exports=gl});var Ps=H((mp,$s)=>{var fl=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),hl=["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"],ml=["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"],bl=[...hl,...ml],_l=["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(),El=["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(),yl=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Tl=["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 wl(n){let e=fl(n),t=yl,i=El,r="@[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:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+bl.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Tl.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:[e.BLOCK_COMMENT,a,e.HEXCOLOR,e.CSS_NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:_l.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}$s.exports=wl});var Bs=H((bp,Us)=>{function vl(n){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}Us.exports=vl});var Fs=H((_p,zs)=>{function Al(n){let e=n.regex,t=n.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={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"],c=["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"],d=["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"],g=["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"],p=["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"],f=d,b=[...u,...c].filter(B=>!d.includes(B)),T={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},k={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},M={match:e.concat(/\b/,e.either(...f),/\s*\(/),relevance:0,keywords:{built_in:f}};function P(B){return e.concat(/\b/,e.either(...B.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}let U={scope:"keyword",match:P(p),relevance:0};function C(B,{exceptions:D,when:ie}={}){let K=ie;return D=D||[],B.map(X=>X.match(/\|\d+$/)||D.includes(X)?X:K(X)?`${X}|0`:X)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:C(b,{when:B=>B.length<3}),literal:o,type:a,built_in:g},contains:[{scope:"type",match:P(s)},U,M,T,i,r,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,t,k]}}zs.exports=Al});var Xs=H((Ep,Vs)=>{function qs(n){return n?typeof n=="string"?n:n.source:null}function zt(n){return Q("(?=",n,")")}function Q(...n){return n.map(t=>qs(t)).join("")}function Sl(n){let e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function _e(...n){return"("+(Sl(n).capture?"":"?:")+n.map(i=>qs(i)).join("|")+")"}var si=n=>Q(/\b/,n,/\w$/.test(n)?/\b/:/\B/),Nl=["Protocol","Type"].map(si),Hs=["init","self"].map(si),kl=["Any","Self"],ii=["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"],Gs=["false","nil","true"],xl=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ol=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Ks=["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"],Ws=_e(/[/=\-+!*%<>&|^~?]/,/[\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]/),Zs=_e(Ws,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),ri=Q(Ws,Zs,"*"),Ys=_e(/[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]/),_n=_e(Ys,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),De=Q(Ys,_n,"*"),bn=Q(/[A-Z]/,_n,"*"),Rl=["attached","autoclosure",Q(/convention\(/,_e("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Q(/objc\(/,De,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Cl=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Ml(n){let e={match:/\s+/,relevance:0},t=n.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[n.C_LINE_COMMENT_MODE,t],r={match:[/\./,_e(...Nl,...Hs)],className:{2:"keyword"}},o={match:Q(/\./,_e(...ii)),relevance:0},s=ii.filter(q=>typeof q=="string").concat(["_|0"]),a=ii.filter(q=>typeof q!="string").concat(kl).map(si),c={variants:[{className:"keyword",match:_e(...a,...Hs)}]},u={$pattern:_e(/\b\w+/,/#\w+/),keyword:s.concat(Ol),literal:Gs},d=[r,o,c],g={match:Q(/\./,_e(...Ks)),relevance:0},p={className:"built_in",match:Q(/\b/,_e(...Ks),/(?=\()/)},f=[g,p],b={match:/->/,relevance:0},T={className:"operator",relevance:0,variants:[{match:ri},{match:`\\.(\\.|${Zs})+`}]},k=[b,T],M="([0-9]_*)+",P="([0-9a-fA-F]_*)+",U={className:"number",relevance:0,variants:[{match:`\\b(${M})(\\.(${M}))?([eE][+-]?(${M}))?\\b`},{match:`\\b0x(${P})(\\.(${P}))?([pP][+-]?(${M}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},C=(q="")=>({className:"subst",variants:[{match:Q(/\\/,q,/[0\\tnr"']/)},{match:Q(/\\/,q,/u\{[0-9a-fA-F]{1,8}\}/)}]}),B=(q="")=>({className:"subst",match:Q(/\\/,q,/[\t ]*(?:[\r\n]|\r\n)/)}),D=(q="")=>({className:"subst",label:"interpol",begin:Q(/\\/,q,/\(/),end:/\)/}),ie=(q="")=>({begin:Q(q,/"""/),end:Q(/"""/,q),contains:[C(q),B(q),D(q)]}),K=(q="")=>({begin:Q(q,/"/),end:Q(/"/,q),contains:[C(q),D(q)]}),X={className:"string",variants:[ie(),ie("#"),ie("##"),ie("###"),K(),K("#"),K("##"),K("###")]},ce=[n.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[n.BACKSLASH_ESCAPE]}],Z={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:ce},le=q=>{let be=Q(q,/\//),L=Q(/\//,q);return{begin:be,end:L,contains:[...ce,{scope:"comment",begin:`#(?!.*${L})`,end:/$/}]}},de={scope:"regexp",variants:[le("###"),le("##"),le("#"),Z]},j={match:Q(/`/,De,/`/)},ne={className:"variable",match:/\$\d+/},h={className:"variable",match:`\\$${_n}+`},S=[j,ne,h],N={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Cl,contains:[...k,U,X]}]}},$={scope:"keyword",match:Q(/@/,_e(...Rl),zt(_e(/\(/,/\s+/)))},w={scope:"meta",match:Q(/@/,De)},m=[N,$,w],E={match:zt(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Q(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,_n,"+")},{className:"type",match:bn,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Q(/\s+&\s+/,zt(bn)),relevance:0}]},v={begin://,keywords:u,contains:[...i,...d,...m,b,E]};E.contains.push(v);let R={match:Q(De,/\s*:/),keywords:"_|0",relevance:0},A={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",R,...i,de,...d,...f,...k,U,X,...S,...m,E]},ee={begin://,keywords:"repeat each",contains:[...i,E]},ve={begin:_e(zt(Q(De,/\s*:/)),zt(Q(De,/\s+/,De,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:De}]},Pe={begin:/\(/,end:/\)/,keywords:u,contains:[ve,...i,...d,...k,U,X,...m,E,A],endsParent:!0,illegal:/["']/},et={match:[/(func|macro)/,/\s+/,_e(j.match,De,ri)],className:{1:"keyword",3:"title.function"},contains:[ee,Pe,e],illegal:[/\[/,/%/]},ut={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ee,Pe,e],illegal:/\[|%/},dt={match:[/operator/,/\s+/,ri],className:{1:"keyword",3:"title"}},Me={begin:[/precedencegroup/,/\s+/,bn],className:{1:"keyword",3:"title"},contains:[E],keywords:[...xl,...Gs],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"}},Se={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},fe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,De,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[ee,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:bn},...d],relevance:0}]};for(let q of X.variants){let be=q.contains.find(Ue=>Ue.label==="interpol");be.keywords=u;let L=[...d,...f,...k,U,X,...S];be.contains=[...L,{begin:/\(/,end:/\)/,contains:["self",...L]}]}return{name:"Swift",keywords:u,contains:[...i,et,ut,Oe,Se,fe,dt,Me,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},de,...d,...f,...k,U,X,...S,...m,E,A]}}Vs.exports=Ml});var Js=H((yp,Qs)=>{function Il(n){let e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={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:[n.BACKSLASH_ESCAPE,r]},a=n.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),p={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"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},b={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},T={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},k=[i,{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+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},p,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},b,T,o,s],M=[...k];return M.pop(),M.push(a),f.contains=M,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:k}}Qs.exports=Il});var ao=H((Tp,oo)=>{var En="[A-Za-z$_][0-9A-Za-z$_]*",js=["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"],eo=["true","false","null","undefined","NaN","Infinity"],to=["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"],no=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],io=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ro=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],so=[].concat(io,to,no);function Ll(n){let e=n.regex,t=(N,{after:$})=>{let w="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,$)=>{let w=N[0].length+N.index,m=N.input[w];if(m==="<"||m===","){$.ignoreMatch();return}m===">"&&(t(N,{after:w})||$.ignoreMatch());let E,v=N.input.substring(w);if(E=v.match(/^\s*=/)){$.ignoreMatch();return}if((E=v.match(/^\s+extends\s+/))&&E.index===0){$.ignoreMatch();return}}},a={$pattern:En,keyword:js,literal:eo,built_in:so,"variable.language":ro},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\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},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"css"}},T={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[n.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,T,k,{match:/\$\d+/},g];p.contains=U.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(U)});let C=[].concat(P,p.contains),B=C.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(C)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},ie={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},K={relevance:0,match:e.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:{_:[...to,...no]}},X={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ce={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},Z={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function le(N){return e.concat("(?!",N.join("|"),")")}let de={match:e.concat(/\b/,le([...io,"super","import"].map(N=>`${N}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},j={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ne={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},h="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",S={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(h)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:K},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),X,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,T,k,P,{match:/\$\d+/},g,K,{scope:"attr",match:i+e.lookahead(":"),relevance:0},S,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,n.REGEXP_MODE,{className:"function",begin:h,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.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"]}]}]},ce,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},j,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},de,Z,ie,ne,{match:/\$[(.]/}]}}function Dl(n){let e=n.regex,t=Ll(n),i=En,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[t.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:En,keyword:js.concat(c),literal:eo,built_in:so.concat(r),"variable.language":ro},d={className:"meta",begin:"@"+i},g=(T,k,M)=>{let P=T.contains.findIndex(U=>U.label===k);if(P===-1)throw new Error("can not find mode to replace");T.contains.splice(P,1,M)};Object.assign(t.keywords,u),t.exports.PARAMS_CONTAINS.push(d);let p=t.contains.find(T=>T.scope==="attr"),f=Object.assign({},p,{match:e.concat(i,e.lookahead(/\s*\?:/))});t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,p,f]),t.contains=t.contains.concat([d,o,s,f]),g(t,"shebang",n.SHEBANG()),g(t,"use_strict",a);let b=t.contains.find(T=>T.label==="func.def");return b.relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t}oo.exports=Dl});var lo=H((wp,co)=>{function $l(n){let e=n.regex,t={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\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}/,c={className:"literal",variants:[{begin:e.concat(/# */,e.either(o,r),/ *#/)},{begin:e.concat(/# */,a,/ *#/)},{begin:e.concat(/# */,s,/ *#/)},{begin:e.concat(/# */,e.either(o,r),/ +/,e.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])|[%&])?/}]},d={className:"label",begin:/^\w+:/},g=n.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=n.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:[t,i,c,u,d,g,p,{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:[p]}]}}co.exports=$l});var po=H((vp,uo)=>{function Pl(n){n.regex;let e=n.COMMENT(/\(;/,/;\)/);e.contains.push("self");let t=n.COMMENT(/;;/,/$/),i=["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"],r={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/},c={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:i},contains:[t,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},o,s,r,n.QUOTE_STRING_MODE,c,u,a]}}uo.exports=Pl});var fo=H((Ap,go)=>{var F=Sr();F.registerLanguage("xml",kr());F.registerLanguage("bash",Or());F.registerLanguage("c",Cr());F.registerLanguage("cpp",Ir());F.registerLanguage("csharp",Dr());F.registerLanguage("css",Pr());F.registerLanguage("markdown",Br());F.registerLanguage("diff",Fr());F.registerLanguage("ruby",Gr());F.registerLanguage("go",qr());F.registerLanguage("graphql",Zr());F.registerLanguage("ini",Vr());F.registerLanguage("java",jr());F.registerLanguage("javascript",ss());F.registerLanguage("json",as());F.registerLanguage("kotlin",ls());F.registerLanguage("less",gs());F.registerLanguage("lua",hs());F.registerLanguage("makefile",bs());F.registerLanguage("perl",Es());F.registerLanguage("objectivec",Ts());F.registerLanguage("php",vs());F.registerLanguage("php-template",Ss());F.registerLanguage("plaintext",ks());F.registerLanguage("python",Os());F.registerLanguage("python-repl",Cs());F.registerLanguage("r",Is());F.registerLanguage("rust",Ds());F.registerLanguage("scss",Ps());F.registerLanguage("shell",Bs());F.registerLanguage("sql",Fs());F.registerLanguage("swift",Xs());F.registerLanguage("yaml",Js());F.registerLanguage("typescript",ao());F.registerLanguage("vbnet",lo());F.registerLanguage("wasm",po());F.HighlightJS=F;F.default=F;go.exports=F});var en=globalThis,nn=en.ShadowRoot&&(en.ShadyCSS===void 0||en.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Fi=Symbol(),zi=new WeakMap,tn=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==Fi)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(nn&&e===void 0){let i=t!==void 0&&t.length===1;i&&(e=zi.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&zi.set(t,e))}return e}toString(){return this.cssText}},Hi=n=>new tn(typeof n=="string"?n:n+"",void 0,Fi);var Gi=(n,e)=>{if(nn)n.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let i=document.createElement("style"),r=en.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=t.cssText,n.appendChild(i)}},Pn=nn?n=>n:n=>n instanceof CSSStyleSheet?(e=>{let t="";for(let i of e.cssRules)t+=i.cssText;return Hi(t)})(n):n;var{is:ma,defineProperty:ba,getOwnPropertyDescriptor:_a,getOwnPropertyNames:Ea,getOwnPropertySymbols:ya,getPrototypeOf:Ta}=Object,rn=globalThis,Ki=rn.trustedTypes,wa=Ki?Ki.emptyScript:"",va=rn.reactiveElementPolyfillSupport,Ot=(n,e)=>n,Rt={toAttribute(n,e){switch(e){case Boolean:n=n?wa:null;break;case Object:case Array:n=n==null?n:JSON.stringify(n)}return n},fromAttribute(n,e){let t=n;switch(e){case Boolean:t=n!==null;break;case Number:t=n===null?null:Number(n);break;case Object:case Array:try{t=JSON.parse(n)}catch{t=null}}return t}},sn=(n,e)=>!ma(n,e),qi={attribute:!0,type:String,converter:Rt,reflect:!1,useDefault:!1,hasChanged:sn};Symbol.metadata??=Symbol("metadata"),rn.litPropertyMetadata??=new WeakMap;var Ge=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=qi){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(e,i,t);r!==void 0&&ba(this.prototype,e,r)}}static getPropertyDescriptor(e,t,i){let{get:r,set:o}=_a(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s}};return{get:r,set(s){let a=r?.call(this);o?.call(this,s),this.requestUpdate(e,a,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??qi}static _$Ei(){if(this.hasOwnProperty(Ot("elementProperties")))return;let e=Ta(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Ot("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Ot("properties"))){let t=this.properties,i=[...Ea(t),...ya(t)];for(let r of i)this.createProperty(r,t[r])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[i,r]of t)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[t,i]of this.elementProperties){let r=this._$Eu(t,i);r!==void 0&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let i=new Set(e.flat(1/0).reverse());for(let r of i)t.unshift(Pn(r))}else e!==void 0&&t.push(Pn(e));return t}static _$Eu(e,t){let i=t.attribute;return i===!1?void 0:typeof i=="string"?i:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Gi(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$ET(e,t){let i=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,i);if(r!==void 0&&i.reflect===!0){let o=(i.converter?.toAttribute!==void 0?i.converter:Rt).toAttribute(t,i.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(e,t){let i=this.constructor,r=i._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let o=i.getPropertyOptions(r),s=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:Rt;this._$Em=r,this[r]=s.fromAttribute(t,o.type)??this._$Ej?.get(r)??null,this._$Em=null}}requestUpdate(e,t,i){if(e!==void 0){let r=this.constructor,o=this[e];if(i??=r.getPropertyOptions(e),!((i.hasChanged??sn)(o,t)||i.useDefault&&i.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(r._$Eu(e,i))))return;this.C(e,t,i)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:i,reflect:r,wrapped:o},s){i&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),o!==!0||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),r===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,o]of i){let{wrapped:s}=o,a=this[r];s!==!0||this._$AL.has(r)||a===void 0||this.C(r,void 0,o,a)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(i=>i.hostUpdate?.()),this.update(t)):this._$EM()}catch(i){throw e=!1,this._$EM(),i}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(e){}firstUpdated(e){}};Ge.elementStyles=[],Ge.shadowRootOptions={mode:"open"},Ge[Ot("elementProperties")]=new Map,Ge[Ot("finalized")]=new Map,va?.({ReactiveElement:Ge}),(rn.reactiveElementVersions??=[]).push("2.1.0");var Kn=globalThis,on=Kn.trustedTypes,Wi=on?on.createPolicy("lit-html",{createHTML:n=>n}):void 0,Ji="$lit$",Ve=`lit$${Math.random().toFixed(9).slice(2)}$`,ji="?"+Ve,Aa=`<${ji}>`,it=document,Mt=()=>it.createComment(""),It=n=>n===null||typeof n!="object"&&typeof n!="function",qn=Array.isArray,Sa=n=>qn(n)||typeof n?.[Symbol.iterator]=="function",Un=`[ -\f\r]`,Ct=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Zi=/-->/g,Yi=/>/g,tt=RegExp(`>|${Un}(?:([^\\s"'>=/]+)(${Un}*=${Un}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),Vi=/'/g,Xi=/"/g,er=/^(?:script|style|textarea|title)$/i,Wn=n=>(e,...t)=>({_$litType$:n,strings:e,values:t}),Xe=Wn(1),Xu=Wn(2),Qu=Wn(3),Ke=Symbol.for("lit-noChange"),re=Symbol.for("lit-nothing"),Qi=new WeakMap,nt=it.createTreeWalker(it,129);function tr(n,e){if(!qn(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return Wi!==void 0?Wi.createHTML(e):e}var Na=(n,e)=>{let t=n.length-1,i=[],r,o=e===2?"":e===3?"":"",s=Ct;for(let a=0;a"?(s=r??Ct,g=-1):d[1]===void 0?g=-2:(g=s.lastIndex-d[2].length,u=d[1],s=d[3]===void 0?tt:d[3]==='"'?Xi:Vi):s===Xi||s===Vi?s=tt:s===Zi||s===Yi?s=Ct:(s=tt,r=void 0);let f=s===tt&&n[a+1].startsWith("/>")?" ":"";o+=s===Ct?c+Aa:g>=0?(i.push(u),c.slice(0,g)+Ji+c.slice(g)+Ve+f):c+Ve+(g===-2?a:f)}return[tr(n,o+(n[t]||"")+(e===2?"":e===3?"":"")),i]},Lt=class n{constructor({strings:e,_$litType$:t},i){let r;this.parts=[];let o=0,s=0,a=e.length-1,c=this.parts,[u,d]=Na(e,t);if(this.el=n.createElement(u,i),nt.currentNode=this.el.content,t===2||t===3){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(r=nt.nextNode())!==null&&c.length0){r.textContent=on?on.emptyScript:"";for(let f=0;f2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=re}_$AI(e,t=this,i,r){let o=this.strings,s=!1;if(o===void 0)e=_t(this,e,t,0),s=!It(e)||e!==this._$AH&&e!==Ke,s&&(this._$AH=e);else{let a=e,c,u;for(e=o[0],c=0;c{let i=t?.renderBefore??e,r=i._$litPart$;if(r===void 0){let o=t?.renderBefore??null;i._$litPart$=r=new Dt(e.insertBefore(Mt(),o),o,void 0,t??{})}return r._$AI(n),r};var Zn=globalThis,Qe=class extends Ge{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=nr(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ke}};Qe._$litElement$=!0,Qe.finalized=!0,Zn.litElementHydrateSupport?.({LitElement:Qe});var xa=Zn.litElementPolyfillSupport;xa?.({LitElement:Qe});(Zn.litElementVersions??=[]).push("4.2.0");var ir={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},rr=n=>(...e)=>({_$litDirective$:n,values:e}),an=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var $t=class extends an{constructor(e){if(super(e),this.it=re,e.type!==ir.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===re||e==null)return this._t=void 0,this.it=e;if(e===Ke)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};$t.directiveName="unsafeHTML",$t.resultType=1;var rt=rr($t);var Oa={attribute:!0,type:String,converter:Rt,reflect:!1,hasChanged:sn},Ra=(n=Oa,e,t)=>{let{kind:i,metadata:r}=t,o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),i==="setter"&&((n=Object.create(n)).wrapped=!0),o.set(t.name,n),i==="accessor"){let{name:s}=t;return{set(a){let c=e.get.call(this);e.set.call(this,a),this.requestUpdate(s,c,n)},init(a){return a!==void 0&&this.C(s,void 0,n,a),a}}}if(i==="setter"){let{name:s}=t;return function(a){let c=this[s];e.call(this,a),this.requestUpdate(s,c,n)}}throw Error("Unsupported decorator location: "+i)};function ge(n){return(e,t)=>typeof t=="object"?Ra(n,e,t):((i,r,o)=>{let s=r.hasOwnProperty(o);return r.constructor.createProperty(o,i),s?Object.getOwnPropertyDescriptor(r,o):void 0})(n,e,t)}var ea=Bi(sr(),1);var ho=Bi(fo(),1);var mo=ho.default;function ci(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ct=ci();function wo(n){ct=n}var vo=/[&<>"']/,Ul=new RegExp(vo.source,"g"),Ao=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Bl=new RegExp(Ao.source,"g"),zl={"&":"&","<":"<",">":">",'"':""","'":"'"},bo=n=>zl[n];function Ae(n,e){if(e){if(vo.test(n))return n.replace(Ul,bo)}else if(Ao.test(n))return n.replace(Bl,bo);return n}var Fl=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Hl(n){return n.replace(Fl,(e,t)=>(t=t.toLowerCase(),t==="colon"?":":t.charAt(0)==="#"?t.charAt(1)==="x"?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}var Gl=/(^|[^\[])\^/g;function J(n,e){let t=typeof n=="string"?n:n.source;e=e||"";let i={replace:(r,o)=>{let s=typeof o=="string"?o:o.source;return s=s.replace(Gl,"$1"),t=t.replace(r,s),i},getRegex:()=>new RegExp(t,e)};return i}function _o(n){try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}var Ht={exec:()=>null};function Eo(n,e){let t=n.replace(/\|/g,(o,s,a)=>{let c=!1,u=s;for(;--u>=0&&a[u]==="\\";)c=!c;return c?"|":" |"}),i=t.split(/ \|/),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length()=>(e||n((e={exports:{}}).exports,e),e.exports);var ya=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ba(e))!Ea.call(n,r)&&r!==t&&zn(n,r,{get:()=>e[r],enumerable:!(i=qi(e,r))||i.enumerable});return n};var Ki=(n,e,t)=>(t=n!=null?ma(_a(n)):{},ya(e||!n||!n.__esModule?zn(t,"default",{value:n,enumerable:!0}):t,n));var K=(n,e,t,i)=>{for(var r=i>1?void 0:i?qi(e,t):e,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(e,t,r):s(r))||r);return i&&r&&zn(e,t,r),r};var dr=H((zt,Jn)=>{(function(e,t){typeof zt=="object"&&typeof Jn=="object"?Jn.exports=t():typeof define=="function"&&define.amd?define([],t):typeof zt=="object"?zt.ClipboardJS=t():e.ClipboardJS=t()})(zt,function(){return function(){var n={686:function(i,r,o){"use strict";o.d(r,{default:function(){return $}});var s=o(279),a=o.n(s),c=o(370),u=o.n(c),l=o(817),g=o.n(l);function p(T){try{return document.execCommand(T)}catch{return!1}}var f=function(m){var E=g()(m);return p("cut"),E},b=f;function w(T){var m=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[m?"right":"left"]="-9999px";var v=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(v,"px"),E.setAttribute("readonly",""),E.value=T,E}var k=function(m,E){var v=w(m);E.container.appendChild(v);var R=g()(v);return p("copy"),v.remove(),R},M=function(m){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},v="";return typeof m=="string"?v=k(m,E):m instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(m?.type)?v=k(m.value,E):(v=g()(m),p("copy")),v},P=M;function U(T){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?U=function(E){return typeof E}:U=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},U(T)}var C=function(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=m.action,v=E===void 0?"copy":E,R=m.container,S=m.target,ie=m.text;if(v!=="copy"&&v!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(S!==void 0)if(S&&U(S)==="object"&&S.nodeType===1){if(v==="copy"&&S.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(v==="cut"&&(S.hasAttribute("readonly")||S.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ie)return P(ie,{container:R});if(S)return v==="cut"?b(S):P(S,{container:R})},B=C;function D(T){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?D=function(E){return typeof E}:D=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},D(T)}function oe(T,m){if(!(T instanceof m))throw new TypeError("Cannot call a class as a function")}function q(T,m){for(var E=0;E"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function h(T){return h=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},h(T)}function A(T,m){var E="data-clipboard-".concat(T);if(m.hasAttribute(E))return m.getAttribute(E)}var N=function(T){de(E,T);var m=pe(E);function E(v,R){var S;return oe(this,E),S=m.call(this),S.resolveOptions(R),S.listenClick(v),S}return J(E,[{key:"resolveOptions",value:function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof R.action=="function"?R.action:this.defaultAction,this.target=typeof R.target=="function"?R.target:this.defaultTarget,this.text=typeof R.text=="function"?R.text:this.defaultText,this.container=D(R.container)==="object"?R.container:document.body}},{key:"listenClick",value:function(R){var S=this;this.listener=u()(R,"click",function(ie){return S.onClick(ie)})}},{key:"onClick",value:function(R){var S=R.delegateTarget||R.currentTarget,ie=this.action(S)||"copy",Se=B({action:ie,container:this.container,target:this.target(S),text:this.text(S)});this.emit(Se?"success":"error",{action:ie,text:Se,trigger:S,clearSelection:function(){S&&S.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(R){return A("action",R)}},{key:"defaultTarget",value:function(R){var S=A("target",R);if(S)return document.querySelector(S)}},{key:"defaultText",value:function(R){return A("text",R)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(R){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return P(R,S)}},{key:"cut",value:function(R){return b(R)}},{key:"isSupported",value:function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],S=typeof R=="string"?[R]:R,ie=!!document.queryCommandSupported;return S.forEach(function(Se){ie=ie&&!!document.queryCommandSupported(Se)}),ie}}]),E}(a()),$=N},828:function(i){var r=9;if(typeof Element<"u"&&!Element.prototype.matches){var o=Element.prototype;o.matches=o.matchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector||o.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==r;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}i.exports=s},438:function(i,r,o){var s=o(828);function a(l,g,p,f,b){var w=u.apply(this,arguments);return l.addEventListener(p,w,b),{destroy:function(){l.removeEventListener(p,w,b)}}}function c(l,g,p,f,b){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof p=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(w){return a(w,g,p,f,b)}))}function u(l,g,p,f){return function(b){b.delegateTarget=s(b.target,g),b.delegateTarget&&f.call(l,b)}}i.exports=c},879:function(i,r){r.node=function(o){return o!==void 0&&o instanceof HTMLElement&&o.nodeType===1},r.nodeList=function(o){var s=Object.prototype.toString.call(o);return o!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in o&&(o.length===0||r.node(o[0]))},r.string=function(o){return typeof o=="string"||o instanceof String},r.fn=function(o){var s=Object.prototype.toString.call(o);return s==="[object Function]"}},370:function(i,r,o){var s=o(879),a=o(438);function c(p,f,b){if(!p&&!f&&!b)throw new Error("Missing required arguments");if(!s.string(f))throw new TypeError("Second argument must be a String");if(!s.fn(b))throw new TypeError("Third argument must be a Function");if(s.node(p))return u(p,f,b);if(s.nodeList(p))return l(p,f,b);if(s.string(p))return g(p,f,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function u(p,f,b){return p.addEventListener(f,b),{destroy:function(){p.removeEventListener(f,b)}}}function l(p,f,b){return Array.prototype.forEach.call(p,function(w){w.addEventListener(f,b)}),{destroy:function(){Array.prototype.forEach.call(p,function(w){w.removeEventListener(f,b)})}}}function g(p,f,b){return a(document.body,p,f,b)}i.exports=c},817:function(i){function r(o){var s;if(o.nodeName==="SELECT")o.focus(),s=o.value;else if(o.nodeName==="INPUT"||o.nodeName==="TEXTAREA"){var a=o.hasAttribute("readonly");a||o.setAttribute("readonly",""),o.select(),o.setSelectionRange(0,o.value.length),a||o.removeAttribute("readonly"),s=o.value}else{o.hasAttribute("contenteditable")&&o.focus();var c=window.getSelection(),u=document.createRange();u.selectNodeContents(o),c.removeAllRanges(),c.addRange(u),s=c.toString()}return s}i.exports=r},279:function(i){function r(){}r.prototype={on:function(o,s,a){var c=this.e||(this.e={});return(c[o]||(c[o]=[])).push({fn:s,ctx:a}),this},once:function(o,s,a){var c=this;function u(){c.off(o,u),s.apply(a,arguments)}return u._=s,this.on(o,u,a)},emit:function(o){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[o]||[]).slice(),c=0,u=a.length;for(c;c{function _r(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(e=>{let t=n[e],i=typeof t;(i==="object"||i==="function")&&!Object.isFrozen(t)&&_r(t)}),n}var gn=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Er(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function tt(n,...e){let t=Object.create(null);for(let i in n)t[i]=n[i];return e.forEach(function(i){for(let r in i)t[r]=i[r]}),t}var $a="",pr=n=>!!n.scope,Pa=(n,{prefix:e})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){let t=n.split(".");return[`${e}${t.shift()}`,...t.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${n}`},ei=class{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=Er(e)}openNode(e){if(!pr(e))return;let t=Pa(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){pr(e)&&(this.buffer+=$a)}value(){return this.buffer}span(e){this.buffer+=``}},gr=(n={})=>{let e={children:[]};return Object.assign(e,n),e},ti=class n{constructor(){this.rootNode=gr(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=gr({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t=="string"?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(i=>this._walk(e,i)),e.closeNode(t)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(t=>typeof t=="string")?e.children=[e.children.join("")]:e.children.forEach(t=>{n._collapse(t)}))}},ni=class extends ti{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let i=e.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new ei(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ft(n){return n?typeof n=="string"?n:n.source:null}function yr(n){return ct("(?=",n,")")}function Ua(n){return ct("(?:",n,")*")}function Ba(n){return ct("(?:",n,")?")}function ct(...n){return n.map(t=>Ft(t)).join("")}function za(n){let e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function ri(...n){return"("+(za(n).capture?"":"?:")+n.map(i=>Ft(i)).join("|")+")"}function wr(n){return new RegExp(n.toString()+"|").exec("").length-1}function Fa(n,e){let t=n&&n.exec(e);return t&&t.index===0}var Ha=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function si(n,{joinWith:e}){let t=0;return n.map(i=>{t+=1;let r=t,o=Ft(i),s="";for(;o.length>0;){let a=Ha.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])+r):(s+=a[0],a[0]==="("&&t++)}return s}).map(i=>`(${i})`).join(e)}var Ga=/\b\B/,Tr="[a-zA-Z]\\w*",oi="[a-zA-Z_]\\w*",vr="\\b\\d+(\\.\\d+)?",Sr="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ar="\\b(0b[01]+)",qa="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Ka=(n={})=>{let e=/^#![ ]*\//;return n.binary&&(n.begin=ct(e,/.*\b/,n.binary,/\b.*/)),tt({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},n)},Ht={begin:"\\\\[\\s\\S]",relevance:0},Wa={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ht]},Za={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ht]},Ya={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/},hn=function(n,e,t={}){let i=tt({scope:"comment",begin:n,end:e,contains:[]},t);i.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 r=ri("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 i.contains.push({begin:ct(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Va=hn("//","$"),Xa=hn("/\\*","\\*/"),Qa=hn("#","$"),Ja={scope:"number",begin:vr,relevance:0},ja={scope:"number",begin:Sr,relevance:0},ec={scope:"number",begin:Ar,relevance:0},tc={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ht,{begin:/\[/,end:/\]/,relevance:0,contains:[Ht]}]},nc={scope:"title",begin:Tr,relevance:0},ic={scope:"title",begin:oi,relevance:0},rc={begin:"\\.\\s*"+oi,relevance:0},sc=function(n){return Object.assign(n,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},pn=Object.freeze({__proto__:null,APOS_STRING_MODE:Wa,BACKSLASH_ESCAPE:Ht,BINARY_NUMBER_MODE:ec,BINARY_NUMBER_RE:Ar,COMMENT:hn,C_BLOCK_COMMENT_MODE:Xa,C_LINE_COMMENT_MODE:Va,C_NUMBER_MODE:ja,C_NUMBER_RE:Sr,END_SAME_AS_BEGIN:sc,HASH_COMMENT_MODE:Qa,IDENT_RE:Tr,MATCH_NOTHING_RE:Ga,METHOD_GUARD:rc,NUMBER_MODE:Ja,NUMBER_RE:vr,PHRASAL_WORDS_MODE:Ya,QUOTE_STRING_MODE:Za,REGEXP_MODE:tc,RE_STARTERS_RE:qa,SHEBANG:Ka,TITLE_MODE:nc,UNDERSCORE_IDENT_RE:oi,UNDERSCORE_TITLE_MODE:ic});function oc(n,e){n.input[n.index-1]==="."&&e.ignoreMatch()}function ac(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function cc(n,e){e&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=oc,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function lc(n,e){Array.isArray(n.illegal)&&(n.illegal=ri(...n.illegal))}function uc(n,e){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function dc(n,e){n.relevance===void 0&&(n.relevance=1)}var pc=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");let t=Object.assign({},n);Object.keys(n).forEach(i=>{delete n[i]}),n.keywords=t.keywords,n.begin=ct(t.beforeMatch,yr(t.begin)),n.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},n.relevance=0,delete t.beforeMatch},gc=["of","and","for","in","not","or","if","then","parent","list","value"],fc="keyword";function Nr(n,e,t=fc){let i=Object.create(null);return typeof n=="string"?r(t,n.split(" ")):Array.isArray(n)?r(t,n):Object.keys(n).forEach(function(o){Object.assign(i,Nr(n[o],e,o))}),i;function r(o,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let c=a.split("|");i[c[0]]=[o,hc(c[0],c[1])]})}}function hc(n,e){return e?Number(e):mc(n)?0:1}function mc(n){return gc.includes(n.toLowerCase())}var fr={},at=n=>{console.error(n)},hr=(n,...e)=>{console.log(`WARN: ${n}`,...e)},Tt=(n,e)=>{fr[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),fr[`${n}/${e}`]=!0)},fn=new Error;function kr(n,e,{key:t}){let i=0,r=n[t],o={},s={};for(let a=1;a<=e.length;a++)s[a+i]=r[a],o[a+i]=!0,i+=wr(e[a-1]);n[t]=s,n[t]._emit=o,n[t]._multi=!0}function bc(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw at("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),fn;if(typeof n.beginScope!="object"||n.beginScope===null)throw at("beginScope must be object"),fn;kr(n,n.begin,{key:"beginScope"}),n.begin=si(n.begin,{joinWith:""})}}function _c(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw at("skip, excludeEnd, returnEnd not compatible with endScope: {}"),fn;if(typeof n.endScope!="object"||n.endScope===null)throw at("endScope must be object"),fn;kr(n,n.end,{key:"endScope"}),n.end=si(n.end,{joinWith:""})}}function Ec(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function yc(n){Ec(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),bc(n),_c(n)}function wc(n){function e(s,a){return new RegExp(Ft(s),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(a?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,a]),this.matchAt+=wr(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(c=>c[1]);this.matcherRe=e(si(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(a);if(!c)return null;let u=c.findIndex((g,p)=>p>0&&g!==void 0),l=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,l)}}class i{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 c=new t;return this.rules.slice(a).forEach(([u,l])=>c.addRule(u,l)),c.compile(),this.multiRegexes[a]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,c){this.rules.push([a,c]),c.type==="begin"&&this.count++}exec(a){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(a);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){let l=this.getMatcher(0);l.lastIndex=this.lastIndex+1,u=l.exec(a)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(s){let a=new i;return s.contains.forEach(c=>a.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){let c=s;if(s.isCompiled)return c;[ac,uc,yc,pc].forEach(l=>l(s,a)),n.compilerExtensions.forEach(l=>l(s,a)),s.__beforeBegin=null,[cc,lc,dc].forEach(l=>l(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=Nr(s.keywords,n.case_insensitive)),c.keywordPatternRe=e(u,!0),a&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=Ft(c.end)||"",s.endsWithParent&&a.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(l){return Tc(l==="self"?s:l)})),s.contains.forEach(function(l){o(l,c)}),s.starts&&o(s.starts,a),c.matcher=r(c),c}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=tt(n.classNameAliases||{}),o(n)}function xr(n){return n?n.endsWithParent||xr(n.starts):!1}function Tc(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return tt(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:xr(n)?tt(n,{starts:n.starts?tt(n.starts):null}):Object.isFrozen(n)?tt(n):n}var vc="11.11.1",ii=class extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}},jn=Er,mr=tt,br=Symbol("nomatch"),Sc=7,Or=function(n){let e=Object.create(null),t=Object.create(null),i=[],r=!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:ni};function c(h){return a.noHighlightRe.test(h)}function u(h){let A=h.className+" ";A+=h.parentNode?h.parentNode.className:"";let N=a.languageDetectRe.exec(A);if(N){let $=q(N[1]);return $||(hr(o.replace("{}",N[1])),hr("Falling back to no-highlight mode for this block.",h)),$?N[1]:"no-highlight"}return A.split(/\s+/).find($=>c($)||q($))}function l(h,A,N){let $="",T="";typeof A=="object"?($=h,N=A.ignoreIllegals,T=A.language):(Tt("10.7.0","highlight(lang, code, ...args) has been deprecated."),Tt("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),T=h,$=A),N===void 0&&(N=!0);let m={code:$,language:T};te("before:highlight",m);let E=m.result?m.result:g(m.language,m.code,N);return E.code=m.code,te("after:highlight",E),E}function g(h,A,N,$){let T=Object.create(null);function m(y,x){return y.keywords[x]}function E(){if(!L.keywords){ce.addText(X);return}let y=0;L.keywordPatternRe.lastIndex=0;let x=L.keywordPatternRe.exec(X),z="";for(;x;){z+=X.substring(y,x.index);let Y=he.case_insensitive?x[0].toLowerCase():x[0],le=m(L,Y);if(le){let[ke,ht]=le;if(ce.addText(z),z="",T[Y]=(T[Y]||0)+1,T[Y]<=Sc&&(ft+=ht),ke.startsWith("_"))z+=x[0];else{let mt=he.classNameAliases[ke]||ke;S(x[0],mt)}}else z+=x[0];y=L.keywordPatternRe.lastIndex,x=L.keywordPatternRe.exec(X)}z+=X.substring(y),ce.addText(z)}function v(){if(X==="")return;let y=null;if(typeof L.subLanguage=="string"){if(!e[L.subLanguage]){ce.addText(X);return}y=g(L.subLanguage,X,!0,He[L.subLanguage]),He[L.subLanguage]=y._top}else y=f(X,L.subLanguage.length?L.subLanguage:null);L.relevance>0&&(ft+=y.relevance),ce.__addSublanguage(y._emitter,y.language)}function R(){L.subLanguage!=null?v():E(),X=""}function S(y,x){y!==""&&(ce.startScope(x),ce.addText(y),ce.endScope())}function ie(y,x){let z=1,Y=x.length-1;for(;z<=Y;){if(!y._emit[z]){z++;continue}let le=he.classNameAliases[y[z]]||y[z],ke=x[z];le?S(ke,le):(X=ke,E(),X=""),z++}}function Se(y,x){return y.scope&&typeof y.scope=="string"&&ce.openNode(he.classNameAliases[y.scope]||y.scope),y.beginScope&&(y.beginScope._wrap?(S(X,he.classNameAliases[y.beginScope._wrap]||y.beginScope._wrap),X=""):y.beginScope._multi&&(ie(y.beginScope,x),X="")),L=Object.create(y,{parent:{value:L}}),L}function Fe(y,x,z){let Y=Fa(y.endRe,z);if(Y){if(y["on:end"]){let le=new gn(y);y["on:end"](x,le),le.isMatchIgnored&&(Y=!1)}if(Y){for(;y.endsParent&&y.parent;)y=y.parent;return y}}if(y.endsWithParent)return Fe(y.parent,x,z)}function it(y){return L.matcher.regexIndex===0?(X+=y[0],1):($e=!0,0)}function pt(y){let x=y[0],z=y.rule,Y=new gn(z),le=[z.__beforeBegin,z["on:begin"]];for(let ke of le)if(ke&&(ke(y,Y),Y.isMatchIgnored))return it(x);return z.skip?X+=x:(z.excludeBegin&&(X+=x),R(),!z.returnBegin&&!z.excludeBegin&&(X=x)),Se(z,y),z.returnBegin?0:x.length}function gt(y){let x=y[0],z=A.substring(y.index),Y=Fe(L,y,z);if(!Y)return br;let le=L;L.endScope&&L.endScope._wrap?(R(),S(x,L.endScope._wrap)):L.endScope&&L.endScope._multi?(R(),ie(L.endScope,y)):le.skip?X+=x:(le.returnEnd||le.excludeEnd||(X+=x),R(),le.excludeEnd&&(X=x));do L.scope&&ce.closeNode(),!L.skip&&!L.subLanguage&&(ft+=L.relevance),L=L.parent;while(L!==Y.parent);return Y.starts&&Se(Y.starts,y),le.returnEnd?0:x.length}function De(){let y=[];for(let x=L;x!==he;x=x.parent)x.scope&&y.unshift(x.scope);y.forEach(x=>ce.openNode(x))}let Me={};function Ne(y,x){let z=x&&x[0];if(X+=y,z==null)return R(),0;if(Me.type==="begin"&&x.type==="end"&&Me.index===x.index&&z===""){if(X+=A.slice(x.index,x.index+1),!r){let Y=new Error(`0 width match regex (${h})`);throw Y.languageName=h,Y.badRule=Me.rule,Y}return 1}if(Me=x,x.type==="begin")return pt(x);if(x.type==="illegal"&&!N){let Y=new Error('Illegal lexeme "'+z+'" for mode "'+(L.scope||"")+'"');throw Y.mode=L,Y}else if(x.type==="end"){let Y=gt(x);if(Y!==br)return Y}if(x.type==="illegal"&&z==="")return X+=` +`,1;if(Ge>1e5&&Ge>x.index*3)throw new Error("potential infinite loop, way more iterations than matches");return X+=z,z.length}let he=q(h);if(!he)throw at(o.replace("{}",h)),new Error('Unknown language: "'+h+'"');let Z=wc(he),_e="",L=$||Z,He={},ce=new a.__emitter(a);De();let X="",ft=0,Ie=0,Ge=0,$e=!1;try{if(he.__emitTokens)he.__emitTokens(A,ce);else{for(L.matcher.considerAll();;){Ge++,$e?$e=!1:L.matcher.considerAll(),L.matcher.lastIndex=Ie;let y=L.matcher.exec(A);if(!y)break;let x=A.substring(Ie,y.index),z=Ne(x,y);Ie=y.index+z}Ne(A.substring(Ie))}return ce.finalize(),_e=ce.toHTML(),{language:h,value:_e,relevance:ft,illegal:!1,_emitter:ce,_top:L}}catch(y){if(y.message&&y.message.includes("Illegal"))return{language:h,value:jn(A),illegal:!0,relevance:0,_illegalBy:{message:y.message,index:Ie,context:A.slice(Ie-100,Ie+100),mode:y.mode,resultSoFar:_e},_emitter:ce};if(r)return{language:h,value:jn(A),illegal:!1,relevance:0,errorRaised:y,_emitter:ce,_top:L};throw y}}function p(h){let A={value:jn(h),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return A._emitter.addText(h),A}function f(h,A){A=A||a.languages||Object.keys(e);let N=p(h),$=A.filter(q).filter(de).map(R=>g(R,h,!1));$.unshift(N);let T=$.sort((R,S)=>{if(R.relevance!==S.relevance)return S.relevance-R.relevance;if(R.language&&S.language){if(q(R.language).supersetOf===S.language)return 1;if(q(S.language).supersetOf===R.language)return-1}return 0}),[m,E]=T,v=m;return v.secondBest=E,v}function b(h,A,N){let $=A&&t[A]||N;h.classList.add("hljs"),h.classList.add(`language-${$}`)}function w(h){let A=null,N=u(h);if(c(N))return;if(te("before:highlightElement",{el:h,language:N}),h.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",h);return}if(h.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(h)),a.throwUnescapedHTML))throw new ii("One of your code blocks includes unescaped HTML.",h.innerHTML);A=h;let $=A.textContent,T=N?l($,{language:N,ignoreIllegals:!0}):f($);h.innerHTML=T.value,h.dataset.highlighted="yes",b(h,N,T.language),h.result={language:T.language,re:T.relevance,relevance:T.relevance},T.secondBest&&(h.secondBest={language:T.secondBest.language,relevance:T.secondBest.relevance}),te("after:highlightElement",{el:h,result:T,text:$})}function k(h){a=mr(a,h)}let M=()=>{C(),Tt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function P(){C(),Tt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let U=!1;function C(){function h(){C()}if(document.readyState==="loading"){U||window.addEventListener("DOMContentLoaded",h,!1),U=!0;return}document.querySelectorAll(a.cssSelector).forEach(w)}function B(h,A){let N=null;try{N=A(n)}catch($){if(at("Language definition for '{}' could not be registered.".replace("{}",h)),r)at($);else throw $;N=s}N.name||(N.name=h),e[h]=N,N.rawDefinition=A.bind(null,n),N.aliases&&J(N.aliases,{languageName:h})}function D(h){delete e[h];for(let A of Object.keys(t))t[A]===h&&delete t[A]}function oe(){return Object.keys(e)}function q(h){return h=(h||"").toLowerCase(),e[h]||e[t[h]]}function J(h,{languageName:A}){typeof h=="string"&&(h=[h]),h.forEach(N=>{t[N.toLowerCase()]=A})}function de(h){let A=q(h);return A&&!A.disableAutodetect}function V(h){h["before:highlightBlock"]&&!h["before:highlightElement"]&&(h["before:highlightElement"]=A=>{h["before:highlightBlock"](Object.assign({block:A.el},A))}),h["after:highlightBlock"]&&!h["after:highlightElement"]&&(h["after:highlightElement"]=A=>{h["after:highlightBlock"](Object.assign({block:A.el},A))})}function pe(h){V(h),i.push(h)}function fe(h){let A=i.indexOf(h);A!==-1&&i.splice(A,1)}function te(h,A){let N=h;i.forEach(function($){$[N]&&$[N](A)})}function se(h){return Tt("10.7.0","highlightBlock will be removed entirely in v12.0"),Tt("10.7.0","Please use highlightElement now."),w(h)}Object.assign(n,{highlight:l,highlightAuto:f,highlightAll:C,highlightElement:w,highlightBlock:se,configure:k,initHighlighting:M,initHighlightingOnLoad:P,registerLanguage:B,unregisterLanguage:D,listLanguages:oe,getLanguage:q,registerAliases:J,autoDetection:de,inherit:mr,addPlugin:pe,removePlugin:fe}),n.debugMode=function(){r=!1},n.safeMode=function(){r=!0},n.versionString=vc,n.regex={concat:ct,lookahead:yr,either:ri,optional:Ba,anyNumberOfTimes:Ua};for(let h in pn)typeof pn[h]=="object"&&_r(pn[h]);return Object.assign(n,pn),n},vt=Or({});vt.newInstance=()=>Or({});Rr.exports=vt;vt.HighlightJS=vt;vt.default=vt});var Ir=H((Xd,Mr)=>{function Ac(n){let e=n.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={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=n.inherit(o,{begin:/\(/,end:/\)/}),a=n.inherit(n.APOS_STRING_MODE,{className:"string"}),c=n.inherit(n.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,c,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[o,s,c,a]}]}]},n.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{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:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:u}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Mr.exports=Ac});var Dr=H((Qd,Lr)=>{function Nc(n){let e=n.regex,t={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},o=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,t,r]};r.contains.push(a);let c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},l={match:/\\'/},g={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,t]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],f=n.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},w=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],k=["true","false"],M={match:/(\/[a-z._-]+)+/},P=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],U=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],C=["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"],B=["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:w,literal:k,built_in:[...P,...U,"set","shopt",...C,...B]},contains:[f,n.SHEBANG(),b,g,o,s,M,a,c,u,l,t]}}Lr.exports=Nc});var Pr=H((Jd,$r)=>{function kc(n){let e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.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:[n.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:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={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},g={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},n.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},f=e.optional(r)+n.IDENT_RE+"\\s*\\(",k={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"},M=[g,a,t,n.C_BLOCK_COMMENT_MODE,l,u],P={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:M.concat([{begin:/\(/,end:/\)/,keywords:k,contains:M.concat(["self"]),relevance:0}]),relevance:0},U={begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:k,relevance:0},{begin:f,returnBegin:!0,contains:[n.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,u,l,a,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,u,l,a]}]},a,t,n.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:k,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{preprocessor:g,strings:u,keywords:k}}}$r.exports=kc});var Br=H((jd,Ur)=>{function xc(n){let e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.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:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={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},g={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},n.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},f=e.optional(r)+n.IDENT_RE+"\\s*\\(",b=["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"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["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"],M=["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"],C={type:w,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},B={className:"function.dispatch",relevance:0,keywords:{_hint:M},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,n.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},D=[B,g,a,t,n.C_BLOCK_COMMENT_MODE,l,u],oe={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:C,contains:D.concat([{begin:/\(/,end:/\)/,keywords:C,contains:D.concat(["self"]),relevance:0}]),relevance:0},q={className:"function",begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:C,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:C,relevance:0},{begin:f,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,l]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,u,l,a,{begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,u,l,a]}]},a,t,n.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:C,illegal:"",keywords:C,contains:["self",a]},{begin:n.IDENT_RE+"::",keywords:C},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}Ur.exports=xc});var Fr=H((ep,zr)=>{function Oc(n){let e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],t=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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:r.concat(o),built_in:e,literal:i},a=n.inherit(n.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={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},l={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},g=n.inherit(l,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:s},f=n.inherit(p,{illegal:/\n/}),b={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},n.BACKSLASH_ESCAPE,f]},w={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},k=n.inherit(w,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},f]});p.contains=[w,b,l,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,c,n.C_BLOCK_COMMENT_MODE],f.contains=[k,b,g,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,c,n.inherit(n.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let M={variants:[u,w,b,l,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},P={begin:"<",end:">",contains:[{beginKeywords:"in out"},a]},U=n.IDENT_RE+"(<"+n.IDENT_RE+"(\\s*,\\s*"+n.IDENT_RE+")*>)?(\\[\\])?",C={begin:"@"+n.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[n.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},M,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},a,P,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,P,n.C_LINE_COMMENT_MODE,n.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:"("+U+"\\s+)+"+n.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:t.join(" "),relevance:0},{begin:n.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[n.TITLE_MODE,P],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[M,c,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},C]}}zr.exports=Oc});var Gr=H((tp,Hr)=>{var Rc=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),Cc=["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"],Mc=["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"],Ic=[...Cc,...Mc],Lc=["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(),Dc=["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(),$c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Pc=["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 Uc(n){let e=n.regex,t=Rc(n),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,i,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Dc.join("|")+")"},{begin:":(:)?("+$c.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Pc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.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}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Lc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Ic.join("|")+")\\b"}]}}Hr.exports=Uc});var Kr=H((np,qr)=>{function Bc(n){let e=n.regex,t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={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+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.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}/}]},l={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=n.inherit(u,{contains:[]}),p=n.inherit(l,{contains:[]});u.contains.push(p),l.contains.push(g);let f=[t,c];return[u,l,g,p].forEach(M=>{M.contains=M.contains.concat(f)}),f=f.concat(u,l),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},t,o,u,l,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},r,i,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}qr.exports=Bc});var Zr=H((ip,Wr)=>{function zc(n){let e=n.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}Wr.exports=zc});var Vr=H((rp,Yr)=>{function Fc(n){let e=n.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=e.concat(i,/(::\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]+"},c={begin:"#<",end:">"},u=[n.COMMENT("#","$",{contains:[a]}),n.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),n.COMMENT("^__END__",n.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/,end:/\}/,keywords:s},g={className:"string",contains:[n.BACKSLASH_ESCAPE,l],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:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[n.BACKSLASH_ESCAPE,l]})]}]},p="[1-9](_?[0-9])*|0",f="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${f}))?([eE][+-]?(${f})|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"}]},w={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},D=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:s},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[w]},{begin:n.IDENT_RE+"::"},{className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:t}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+n.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[n.BACKSLASH_ESCAPE,l],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(c,u),relevance:0}].concat(c,u);l.contains=D,w.contains=D;let de=[{begin:/^\s*=>/,starts:{end:"$",contains:D}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:D}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[n.SHEBANG({binary:"ruby"})].concat(de).concat(u).concat(D)}}Yr.exports=Fc});var Qr=H((sp,Xr)=>{function Hc(n){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:"{function Gc(n){let e=n.regex,t=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[n.HASH_COMMENT_MODE,n.QUOTE_STRING_MODE,n.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(t,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}Jr.exports=Gc});var ts=H((ap,es)=>{function qc(n){let e=n.regex,t={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:n.NUMBER_RE}]},i=n.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},o={className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},a={begin:/\[/,end:/\]/,contains:[i,o,r,s,t,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,u=/"(\\"|[^"])*"/,l=/'[^']*'/,g=e.either(c,u,l),p=e.concat(g,"(\\s*\\.\\s*",g,")*",e.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,a,o,r,s,t]}}]}}es.exports=qc});var ss=H((cp,rs)=>{var St="[0-9](_*[0-9])*",mn=`\\.(${St})`,bn="[0-9a-fA-F](_*[0-9a-fA-F])*",ns={className:"number",variants:[{begin:`(\\b(${St})((${mn})|\\.)?|(${mn}))[eE][+-]?(${St})[fFdD]?\\b`},{begin:`\\b(${St})((${mn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${mn})[fFdD]?\\b`},{begin:`\\b(${St})[fFdD]\\b`},{begin:`\\b0[xX]((${bn})\\.?|(${bn})?\\.(${bn}))[pP][+-]?(${St})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${bn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function is(n,e,t){return t===-1?"":n.replace(e,i=>is(n,e,t-1))}function Kc(n){let e=n.regex,t="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=t+is("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),c={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:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[l,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,ns,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},ns,u]}}rs.exports=Kc});var ds=H((lp,us)=>{var os="[A-Za-z$_][0-9A-Za-z$_]*",Wc=["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"],Zc=["true","false","null","undefined","NaN","Infinity"],as=["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"],cs=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ls=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Yc=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Vc=[].concat(ls,as,cs);function Xc(n){let e=n.regex,t=(N,{after:$})=>{let T="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,$)=>{let T=N[0].length+N.index,m=N.input[T];if(m==="<"||m===","){$.ignoreMatch();return}m===">"&&(t(N,{after:T})||$.ignoreMatch());let E,v=N.input.substring(T);if(E=v.match(/^\s*=/)){$.ignoreMatch();return}if((E=v.match(/^\s+extends\s+/))&&E.index===0){$.ignoreMatch();return}}},a={$pattern:os,keyword:Wc,literal:Zc,built_in:Vc,"variable.language":Yc},c="[0-9](_?[0-9])*",u=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\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},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[n.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,w,k,{match:/\$\d+/},g];p.contains=U.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(U)});let C=[].concat(P,p.contains),B=C.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(C)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},oe={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},q={relevance:0,match:e.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:{_:[...as,...cs]}},J={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},de={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},V={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function pe(N){return e.concat("(?!",N.join("|"),")")}let fe={match:e.concat(/\b/,pe([...ls,"super","import"].map(N=>`${N}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},se={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},h="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",A={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(h)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:q},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),J,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,w,k,P,{match:/\$\d+/},g,q,{scope:"attr",match:i+e.lookahead(":"),relevance:0},A,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,n.REGEXP_MODE,{className:"function",begin:h,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.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"]}]}]},de,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},fe,V,oe,se,{match:/\$[(.]/}]}}us.exports=Xc});var gs=H((up,ps)=>{function Qc(n){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[e,t,n.QUOTE_STRING_MODE,r,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}ps.exports=Qc});var hs=H((dp,fs)=>{var At="[0-9](_*[0-9])*",_n=`\\.(${At})`,En="[0-9a-fA-F](_*[0-9a-fA-F])*",Jc={className:"number",variants:[{begin:`(\\b(${At})((${_n})|\\.)?|(${_n}))[eE][+-]?(${At})[fFdD]?\\b`},{begin:`\\b(${At})((${_n})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${_n})[fFdD]?\\b`},{begin:`\\b(${At})[fFdD]\\b`},{begin:`\\b0[xX]((${En})\\.?|(${En})?\\.(${En}))[pP][+-]?(${At})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${En})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function jc(n){let e={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"},t={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[n.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+n.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,r]},{begin:"'",end:"'",illegal:/\n/,contains:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[n.BACKSLASH_ESCAPE,o,r]}]};r.contains.push(s);let a={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+n.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+n.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[n.inherit(s,{className:"string"}),"self"]}]},u=Jc,l=n.COMMENT("/\\*","\\*/",{contains:[n.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:n.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),n.C_LINE_COMMENT_MODE,l,t,i,a,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:n.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[n.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,n.C_LINE_COMMENT_MODE,l],relevance:0},n.C_LINE_COMMENT_MODE,l,a,c,s,n.C_NUMBER_MODE]},l]},{begin:[/class|interface|trait/,/\s+/,n.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},n.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},a,c]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`},u]}}fs.exports=jc});var Es=H((pp,_s)=>{var el=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),tl=["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"],nl=["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"],il=[...tl,...nl],rl=["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(),ms=["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(),bs=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),sl=["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(),ol=ms.concat(bs).sort().reverse();function al(n){let e=el(n),t=ol,i="and or not only",r="[\\w-]+",o="("+r+"|@\\{"+r+"\\})",s=[],a=[],c=function(U){return{className:"string",begin:"~?"+U+".*?"+U}},u=function(U,C,B){return{className:U,begin:C,relevance:B}},l={$pattern:/[a-z-]+/,keyword:i,attribute:rl.join(" ")},g={begin:"\\(",end:"\\)",contains:a,keywords:l,relevance:0};a.push(n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,c("'"),c('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,g,u("variable","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);let p=a.concat({begin:/\{/,end:/\}/,contains:s}),f={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},b={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+sl.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},w={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:a,relevance:0}},k={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,f,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+il.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,u("selector-tag",o,0),u("selector-id","#"+o),u("selector-class","\\."+o,0),u("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+ms.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+bs.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},e.FUNCTION_DISPATCH]},P={begin:r+`:(:)?(${t.join("|")})`,returnBegin:!0,contains:[M]};return s.push(n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,w,k,P,b,M,f,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}_s.exports=al});var ws=H((gp,ys)=>{function cl(n){let e="\\[=*\\[",t="\\]=*\\]",i={begin:e,end:t,contains:["self"]},r=[n.COMMENT("--(?!"+e+")","$"),n.COMMENT("--"+e,t,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:n.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:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[n.inherit(n.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},n.C_NUMBER_MODE,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{className:"string",begin:e,end:t,contains:[i],relevance:5}])}}ys.exports=cl});var vs=H((fp,Ts)=>{function ll(n){let e={className:"variable",variants:[{begin:"\\$\\("+n.UNDERSCORE_IDENT_RE+"\\)",contains:[n.BACKSLASH_ESCAPE]},{begin:/\$[@%{function ul(n){let e=n.regex,t=["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"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:t.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},s={begin:/->\{/,end:/\}/},a={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:e.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},l=[n.BACKSLASH_ESCAPE,o,c],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],p=(w,k,M="\\1")=>{let P=M==="\\1"?M:e.concat(M,k);return e.concat(e.concat("(?:",w,")"),k,/(?:\\.|[^\\\/])*?/,P,/(?:\\.|[^\\\/])*?/,M,i)},f=(w,k,M)=>e.concat(e.concat("(?:",w,")"),k,/(?:\\.|[^\\\/])*?/,M,i),b=[c,n.HASH_COMMENT_MODE,n.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:l,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:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+n.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[n.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:p("s|tr|y",e.either(...g,{capture:!0}))},{begin:p("s|tr|y","\\(","\\)")},{begin:p("s|tr|y","\\[","\\]")},{begin:p("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:f("(?:m|qr)?",/\//,/\//)},{begin:f("m|qr",e.either(...g,{capture:!0}),/\1/)},{begin:f("m|qr",/\(/,/\)/)},{begin:f("m|qr",/\[/,/\]/)},{begin:f("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[n.TITLE_MODE,a]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[n.TITLE_MODE,a,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=b,s.contains=b,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:b}}Ss.exports=ul});var ks=H((mp,Ns)=>{function dl(n){let e={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+"},t=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:t,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"]},c={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"/,end:/$/,illegal:"\\n"},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[n.UNDERSCORE_TITLE_MODE]},{begin:"\\."+n.UNDERSCORE_IDENT_RE,relevance:0}]}}Ns.exports=dl});var Os=H((bp,xs)=>{function pl(n){let e=n.regex,t=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),o=e.concat(/[A-Z]+/,t),s={scope:"variable",match:"\\$+"+i},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=n.inherit(n.APOS_STRING_MODE,{illegal:null}),l=n.inherit(n.QUOTE_STRING_MODE,{illegal:null,contains:n.QUOTE_STRING_MODE.contains.concat(c)}),g={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:n.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(te,se)=>{se.data._beginMatch=te[1]||te[2]},"on:end":(te,se)=>{se.data._beginMatch!==te[1]&&se.ignoreMatch()}},p=n.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),f=`[ +]`,b={scope:"string",variants:[l,u,g,p]},w={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},k=["false","null","true"],M=["__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"],P=["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"],C={keyword:M,literal:(te=>{let se=[];return te.forEach(h=>{se.push(h),h.toLowerCase()===h?se.push(h.toUpperCase()):se.push(h.toLowerCase())}),se})(k),built_in:P},B=te=>te.map(se=>se.replace(/\|\d+$/,"")),D={variants:[{match:[/new/,e.concat(f,"+"),e.concat("(?!",B(P).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},oe=e.concat(i,"\\b(?!\\()"),q={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),oe],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),oe],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},J={scope:"attr",match:e.concat(i,e.lookahead(":"),e.lookahead(/(?!::)/))},de={relevance:0,begin:/\(/,end:/\)/,keywords:C,contains:[J,s,q,n.C_BLOCK_COMMENT_MODE,b,w,D]},V={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",B(M).join("\\b|"),"|",B(P).join("\\b|"),"\\b)"),i,e.concat(f,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[de]};de.contains.push(V);let pe=[J,q,n.C_BLOCK_COMMENT_MODE,b,w,D],fe={begin:e.concat(/#\[\s*\\?/,e.either(r,o)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:k,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:k,keyword:["new","array"]},contains:["self",...pe]},...pe,{scope:"meta",variants:[{match:r},{match:o}]}]};return{case_insensitive:!1,keywords:C,contains:[fe,n.HASH_COMMENT_MODE,n.COMMENT("//","$"),n.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:n.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,V,q,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},D,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},n.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:C,contains:["self",fe,s,q,n.C_BLOCK_COMMENT_MODE,b,w]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},n.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[n.inherit(n.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},n.UNDERSCORE_TITLE_MODE]},b,w]}}xs.exports=pl});var Cs=H((_p,Rs)=>{function gl(n){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},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}Rs.exports=gl});var Is=H((Ep,Ms)=>{function fl(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}Ms.exports=fl});var Ds=H((yp,Ls)=>{function hl(n){let e=n.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["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:i,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},l={begin:/\{\{/,relevance:0},g={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c,l,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c,l,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:[n.BACKSLASH_ESCAPE,l,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,l,u]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",f=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,b=`\\b|${i.join("|")}`,w={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${f}))[eE][+-]?(${p})[jJ]?(?=${b})`},{begin:`(${f})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${p})[jJ](?=${b})`}]},k={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},M={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,w,g,n.HASH_COMMENT_MODE]}]};return u.contains=[g,w,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,w,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},g,k,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[M]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[w,M,g]}]}}Ls.exports=hl});var Ps=H((wp,$s)=>{function ml(n){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}$s.exports=ml});var Bs=H((Tp,Us)=>{function bl(n){let e=n.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=e.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,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:[n.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),n.HASH_COMMENT_MODE,{scope:"string",contains:[n.BACKSLASH_ESCAPE],variants:[n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[o,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}Us.exports=bl});var Fs=H((vp,zs)=>{function _l(n){let e=n.regex,t=/(r#)?/,i=e.concat(t,n.UNDERSCORE_IDENT_RE),r=e.concat(t,n.IDENT_RE),o={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,e.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"],c=["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!"],l=["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:n.IDENT_RE+"!?",type:l,keyword:a,literal:c,built_in:u},illegal:""},o]}}zs.exports=_l});var Gs=H((Sp,Hs)=>{var El=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),yl=["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"],wl=["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"],Tl=[...yl,...wl],vl=["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(),Sl=["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(),Al=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Nl=["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 kl(n){let e=El(n),t=Al,i=Sl,r="@[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:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Tl.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Nl.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:[e.BLOCK_COMMENT,a,e.HEXCOLOR,e.CSS_NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:vl.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}Hs.exports=kl});var Ks=H((Ap,qs)=>{function xl(n){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}qs.exports=xl});var Zs=H((Np,Ws)=>{function Ol(n){let e=n.regex,t=n.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={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"],c=["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"],l=["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"],g=["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"],p=["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"],f=l,b=[...u,...c].filter(B=>!l.includes(B)),w={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},k={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},M={match:e.concat(/\b/,e.either(...f),/\s*\(/),relevance:0,keywords:{built_in:f}};function P(B){return e.concat(/\b/,e.either(...B.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}let U={scope:"keyword",match:P(p),relevance:0};function C(B,{exceptions:D,when:oe}={}){let q=oe;return D=D||[],B.map(J=>J.match(/\|\d+$/)||D.includes(J)?J:q(J)?`${J}|0`:J)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:C(b,{when:B=>B.length<3}),literal:o,type:a,built_in:g},contains:[{scope:"type",match:P(s)},U,M,w,i,r,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,t,k]}}Ws.exports=Ol});var no=H((kp,to)=>{function Qs(n){return n?typeof n=="string"?n:n.source:null}function Gt(n){return j("(?=",n,")")}function j(...n){return n.map(t=>Qs(t)).join("")}function Rl(n){let e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function Ee(...n){return"("+(Rl(n).capture?"":"?:")+n.map(i=>Qs(i)).join("|")+")"}var li=n=>j(/\b/,n,/\w$/.test(n)?/\b/:/\B/),Cl=["Protocol","Type"].map(li),Ys=["init","self"].map(li),Ml=["Any","Self"],ai=["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"],Vs=["false","nil","true"],Il=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ll=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Xs=["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"],Js=Ee(/[/=\-+!*%<>&|^~?]/,/[\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]/),js=Ee(Js,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),ci=j(Js,js,"*"),eo=Ee(/[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]/),wn=Ee(eo,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Be=j(eo,wn,"*"),yn=j(/[A-Z]/,wn,"*"),Dl=["attached","autoclosure",j(/convention\(/,Ee("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",j(/objc\(/,Be,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],$l=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Pl(n){let e={match:/\s+/,relevance:0},t=n.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[n.C_LINE_COMMENT_MODE,t],r={match:[/\./,Ee(...Cl,...Ys)],className:{2:"keyword"}},o={match:j(/\./,Ee(...ai)),relevance:0},s=ai.filter(Z=>typeof Z=="string").concat(["_|0"]),a=ai.filter(Z=>typeof Z!="string").concat(Ml).map(li),c={variants:[{className:"keyword",match:Ee(...a,...Ys)}]},u={$pattern:Ee(/\b\w+/,/#\w+/),keyword:s.concat(Ll),literal:Vs},l=[r,o,c],g={match:j(/\./,Ee(...Xs)),relevance:0},p={className:"built_in",match:j(/\b/,Ee(...Xs),/(?=\()/)},f=[g,p],b={match:/->/,relevance:0},w={className:"operator",relevance:0,variants:[{match:ci},{match:`\\.(\\.|${js})+`}]},k=[b,w],M="([0-9]_*)+",P="([0-9a-fA-F]_*)+",U={className:"number",relevance:0,variants:[{match:`\\b(${M})(\\.(${M}))?([eE][+-]?(${M}))?\\b`},{match:`\\b0x(${P})(\\.(${P}))?([pP][+-]?(${M}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},C=(Z="")=>({className:"subst",variants:[{match:j(/\\/,Z,/[0\\tnr"']/)},{match:j(/\\/,Z,/u\{[0-9a-fA-F]{1,8}\}/)}]}),B=(Z="")=>({className:"subst",match:j(/\\/,Z,/[\t ]*(?:[\r\n]|\r\n)/)}),D=(Z="")=>({className:"subst",label:"interpol",begin:j(/\\/,Z,/\(/),end:/\)/}),oe=(Z="")=>({begin:j(Z,/"""/),end:j(/"""/,Z),contains:[C(Z),B(Z),D(Z)]}),q=(Z="")=>({begin:j(Z,/"/),end:j(/"/,Z),contains:[C(Z),D(Z)]}),J={className:"string",variants:[oe(),oe("#"),oe("##"),oe("###"),q(),q("#"),q("##"),q("###")]},de=[n.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[n.BACKSLASH_ESCAPE]}],V={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:de},pe=Z=>{let _e=j(Z,/\//),L=j(/\//,Z);return{begin:_e,end:L,contains:[...de,{scope:"comment",begin:`#(?!.*${L})`,end:/$/}]}},fe={scope:"regexp",variants:[pe("###"),pe("##"),pe("#"),V]},te={match:j(/`/,Be,/`/)},se={className:"variable",match:/\$\d+/},h={className:"variable",match:`\\$${wn}+`},A=[te,se,h],N={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:$l,contains:[...k,U,J]}]}},$={scope:"keyword",match:j(/@/,Ee(...Dl),Gt(Ee(/\(/,/\s+/)))},T={scope:"meta",match:j(/@/,Be)},m=[N,$,T],E={match:Gt(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:j(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,wn,"+")},{className:"type",match:yn,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:j(/\s+&\s+/,Gt(yn)),relevance:0}]},v={begin://,keywords:u,contains:[...i,...l,...m,b,E]};E.contains.push(v);let R={match:j(Be,/\s*:/),keywords:"_|0",relevance:0},S={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",R,...i,fe,...l,...f,...k,U,J,...A,...m,E]},ie={begin://,keywords:"repeat each",contains:[...i,E]},Se={begin:Ee(Gt(j(Be,/\s*:/)),Gt(j(Be,/\s+/,Be,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Be}]},Fe={begin:/\(/,end:/\)/,keywords:u,contains:[Se,...i,...l,...k,U,J,...m,E,S],endsParent:!0,illegal:/["']/},it={match:[/(func|macro)/,/\s+/,Ee(te.match,Be,ci)],className:{1:"keyword",3:"title.function"},contains:[ie,Fe,e],illegal:[/\[/,/%/]},pt={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ie,Fe,e],illegal:/\[|%/},gt={match:[/operator/,/\s+/,ci],className:{1:"keyword",3:"title"}},De={begin:[/precedencegroup/,/\s+/,yn],className:{1:"keyword",3:"title"},contains:[E],keywords:[...Il,...Vs],end:/}/},Me={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Ne={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},he={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Be,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[ie,...l,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:yn},...l],relevance:0}]};for(let Z of J.variants){let _e=Z.contains.find(He=>He.label==="interpol");_e.keywords=u;let L=[...l,...f,...k,U,J,...A];_e.contains=[...L,{begin:/\(/,end:/\)/,contains:["self",...L]}]}return{name:"Swift",keywords:u,contains:[...i,it,pt,Me,Ne,he,gt,De,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},fe,...l,...f,...k,U,J,...A,...m,E,S]}}to.exports=Pl});var ro=H((xp,io)=>{function Ul(n){let e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={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:[n.BACKSLASH_ESCAPE,r]},a=n.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),p={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"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},b={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},w={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},k=[i,{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+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},p,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},b,w,o,s],M=[...k];return M.pop(),M.push(a),f.contains=M,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:k}}io.exports=Ul});var fo=H((Op,go)=>{var Tn="[A-Za-z$_][0-9A-Za-z$_]*",so=["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"],oo=["true","false","null","undefined","NaN","Infinity"],ao=["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"],co=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],lo=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],uo=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],po=[].concat(lo,ao,co);function Bl(n){let e=n.regex,t=(N,{after:$})=>{let T="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,$)=>{let T=N[0].length+N.index,m=N.input[T];if(m==="<"||m===","){$.ignoreMatch();return}m===">"&&(t(N,{after:T})||$.ignoreMatch());let E,v=N.input.substring(T);if(E=v.match(/^\s*=/)){$.ignoreMatch();return}if((E=v.match(/^\s+extends\s+/))&&E.index===0){$.ignoreMatch();return}}},a={$pattern:Tn,keyword:so,literal:oo,built_in:po,"variable.language":uo},c="[0-9](_?[0-9])*",u=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\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},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[n.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,w,k,{match:/\$\d+/},g];p.contains=U.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(U)});let C=[].concat(P,p.contains),B=C.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(C)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},oe={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},q={relevance:0,match:e.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:{_:[...ao,...co]}},J={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},de={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},V={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function pe(N){return e.concat("(?!",N.join("|"),")")}let fe={match:e.concat(/\b/,pe([...lo,"super","import"].map(N=>`${N}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},se={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},h="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",A={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(h)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:q},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),J,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,w,k,P,{match:/\$\d+/},g,q,{scope:"attr",match:i+e.lookahead(":"),relevance:0},A,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,n.REGEXP_MODE,{className:"function",begin:h,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.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"]}]}]},de,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},fe,V,oe,se,{match:/\$[(.]/}]}}function zl(n){let e=n.regex,t=Bl(n),i=Tn,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[t.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:Tn,keyword:so.concat(c),literal:oo,built_in:po.concat(r),"variable.language":uo},l={className:"meta",begin:"@"+i},g=(w,k,M)=>{let P=w.contains.findIndex(U=>U.label===k);if(P===-1)throw new Error("can not find mode to replace");w.contains.splice(P,1,M)};Object.assign(t.keywords,u),t.exports.PARAMS_CONTAINS.push(l);let p=t.contains.find(w=>w.scope==="attr"),f=Object.assign({},p,{match:e.concat(i,e.lookahead(/\s*\?:/))});t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,p,f]),t.contains=t.contains.concat([l,o,s,f]),g(t,"shebang",n.SHEBANG()),g(t,"use_strict",a);let b=t.contains.find(w=>w.label==="func.def");return b.relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t}go.exports=zl});var mo=H((Rp,ho)=>{function Fl(n){let e=n.regex,t={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\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}/,c={className:"literal",variants:[{begin:e.concat(/# */,e.either(o,r),/ *#/)},{begin:e.concat(/# */,a,/ *#/)},{begin:e.concat(/# */,s,/ *#/)},{begin:e.concat(/# */,e.either(o,r),/ +/,e.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])|[%&])?/}]},l={className:"label",begin:/^\w+:/},g=n.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=n.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:[t,i,c,u,l,g,p,{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:[p]}]}}ho.exports=Fl});var _o=H((Cp,bo)=>{function Hl(n){n.regex;let e=n.COMMENT(/\(;/,/;\)/);e.contains.push("self");let t=n.COMMENT(/;;/,/$/),i=["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"],r={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/},c={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:i},contains:[t,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},o,s,r,n.QUOTE_STRING_MODE,c,u,a]}}bo.exports=Hl});var yo=H((Mp,Eo)=>{var F=Cr();F.registerLanguage("xml",Ir());F.registerLanguage("bash",Dr());F.registerLanguage("c",Pr());F.registerLanguage("cpp",Br());F.registerLanguage("csharp",Fr());F.registerLanguage("css",Gr());F.registerLanguage("markdown",Kr());F.registerLanguage("diff",Zr());F.registerLanguage("ruby",Vr());F.registerLanguage("go",Qr());F.registerLanguage("graphql",jr());F.registerLanguage("ini",ts());F.registerLanguage("java",ss());F.registerLanguage("javascript",ds());F.registerLanguage("json",gs());F.registerLanguage("kotlin",hs());F.registerLanguage("less",Es());F.registerLanguage("lua",ws());F.registerLanguage("makefile",vs());F.registerLanguage("perl",As());F.registerLanguage("objectivec",ks());F.registerLanguage("php",Os());F.registerLanguage("php-template",Cs());F.registerLanguage("plaintext",Is());F.registerLanguage("python",Ds());F.registerLanguage("python-repl",Ps());F.registerLanguage("r",Bs());F.registerLanguage("rust",Fs());F.registerLanguage("scss",Gs());F.registerLanguage("shell",Ks());F.registerLanguage("sql",Zs());F.registerLanguage("swift",no());F.registerLanguage("yaml",ro());F.registerLanguage("typescript",fo());F.registerLanguage("vbnet",mo());F.registerLanguage("wasm",_o());F.HighlightJS=F;F.default=F;Eo.exports=F});var rn=globalThis,on=rn.ShadowRoot&&(rn.ShadyCSS===void 0||rn.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Zi=Symbol(),Wi=new WeakMap,sn=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==Zi)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(on&&e===void 0){let i=t!==void 0&&t.length===1;i&&(e=Wi.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&Wi.set(t,e))}return e}toString(){return this.cssText}},Yi=n=>new sn(typeof n=="string"?n:n+"",void 0,Zi);var Vi=(n,e)=>{if(on)n.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let i=document.createElement("style"),r=rn.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=t.cssText,n.appendChild(i)}},Fn=on?n=>n:n=>n instanceof CSSStyleSheet?(e=>{let t="";for(let i of e.cssRules)t+=i.cssText;return Yi(t)})(n):n;var{is:wa,defineProperty:Ta,getOwnPropertyDescriptor:va,getOwnPropertyNames:Sa,getOwnPropertySymbols:Aa,getPrototypeOf:Na}=Object,an=globalThis,Xi=an.trustedTypes,ka=Xi?Xi.emptyScript:"",xa=an.reactiveElementPolyfillSupport,Mt=(n,e)=>n,It={toAttribute(n,e){switch(e){case Boolean:n=n?ka:null;break;case Object:case Array:n=n==null?n:JSON.stringify(n)}return n},fromAttribute(n,e){let t=n;switch(e){case Boolean:t=n!==null;break;case Number:t=n===null?null:Number(n);break;case Object:case Array:try{t=JSON.parse(n)}catch{t=null}}return t}},cn=(n,e)=>!wa(n,e),Qi={attribute:!0,type:String,converter:It,reflect:!1,useDefault:!1,hasChanged:cn};Symbol.metadata??=Symbol("metadata"),an.litPropertyMetadata??=new WeakMap;var Ze=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Qi){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(e,i,t);r!==void 0&&Ta(this.prototype,e,r)}}static getPropertyDescriptor(e,t,i){let{get:r,set:o}=va(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s}};return{get:r,set(s){let a=r?.call(this);o?.call(this,s),this.requestUpdate(e,a,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Qi}static _$Ei(){if(this.hasOwnProperty(Mt("elementProperties")))return;let e=Na(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Mt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Mt("properties"))){let t=this.properties,i=[...Sa(t),...Aa(t)];for(let r of i)this.createProperty(r,t[r])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[i,r]of t)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[t,i]of this.elementProperties){let r=this._$Eu(t,i);r!==void 0&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let i=new Set(e.flat(1/0).reverse());for(let r of i)t.unshift(Fn(r))}else e!==void 0&&t.push(Fn(e));return t}static _$Eu(e,t){let i=t.attribute;return i===!1?void 0:typeof i=="string"?i:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Vi(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$ET(e,t){let i=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,i);if(r!==void 0&&i.reflect===!0){let o=(i.converter?.toAttribute!==void 0?i.converter:It).toAttribute(t,i.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(e,t){let i=this.constructor,r=i._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let o=i.getPropertyOptions(r),s=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:It;this._$Em=r,this[r]=s.fromAttribute(t,o.type)??this._$Ej?.get(r)??null,this._$Em=null}}requestUpdate(e,t,i){if(e!==void 0){let r=this.constructor,o=this[e];if(i??=r.getPropertyOptions(e),!((i.hasChanged??cn)(o,t)||i.useDefault&&i.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(r._$Eu(e,i))))return;this.C(e,t,i)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:i,reflect:r,wrapped:o},s){i&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),o!==!0||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),r===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,o]of i){let{wrapped:s}=o,a=this[r];s!==!0||this._$AL.has(r)||a===void 0||this.C(r,void 0,o,a)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(i=>i.hostUpdate?.()),this.update(t)):this._$EM()}catch(i){throw e=!1,this._$EM(),i}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(e){}firstUpdated(e){}};Ze.elementStyles=[],Ze.shadowRootOptions={mode:"open"},Ze[Mt("elementProperties")]=new Map,Ze[Mt("finalized")]=new Map,xa?.({ReactiveElement:Ze}),(an.reactiveElementVersions??=[]).push("2.1.0");var Yn=globalThis,ln=Yn.trustedTypes,Ji=ln?ln.createPolicy("lit-html",{createHTML:n=>n}):void 0,rr="$lit$",et=`lit$${Math.random().toFixed(9).slice(2)}$`,sr="?"+et,Oa=`<${sr}>`,ot=document,Dt=()=>ot.createComment(""),$t=n=>n===null||typeof n!="object"&&typeof n!="function",Vn=Array.isArray,Ra=n=>Vn(n)||typeof n?.[Symbol.iterator]=="function",Hn=`[ +\f\r]`,Lt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ji=/-->/g,er=/>/g,rt=RegExp(`>|${Hn}(?:([^\\s"'>=/]+)(${Hn}*=${Hn}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),tr=/'/g,nr=/"/g,or=/^(?:script|style|textarea|title)$/i,Xn=n=>(e,...t)=>({_$litType$:n,strings:e,values:t}),ne=Xn(1),rd=Xn(2),sd=Xn(3),Ye=Symbol.for("lit-noChange"),ae=Symbol.for("lit-nothing"),ir=new WeakMap,st=ot.createTreeWalker(ot,129);function ar(n,e){if(!Vn(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ji!==void 0?Ji.createHTML(e):e}var Ca=(n,e)=>{let t=n.length-1,i=[],r,o=e===2?"":e===3?"":"",s=Lt;for(let a=0;a"?(s=r??Lt,g=-1):l[1]===void 0?g=-2:(g=s.lastIndex-l[2].length,u=l[1],s=l[3]===void 0?rt:l[3]==='"'?nr:tr):s===nr||s===tr?s=rt:s===ji||s===er?s=Lt:(s=rt,r=void 0);let f=s===rt&&n[a+1].startsWith("/>")?" ":"";o+=s===Lt?c+Oa:g>=0?(i.push(u),c.slice(0,g)+rr+c.slice(g)+et+f):c+et+(g===-2?a:f)}return[ar(n,o+(n[t]||"")+(e===2?"":e===3?"":"")),i]},Pt=class n{constructor({strings:e,_$litType$:t},i){let r;this.parts=[];let o=0,s=0,a=e.length-1,c=this.parts,[u,l]=Ca(e,t);if(this.el=n.createElement(u,i),st.currentNode=this.el.content,t===2||t===3){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(r=st.nextNode())!==null&&c.length0){r.textContent=ln?ln.emptyScript:"";for(let f=0;f2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ae}_$AI(e,t=this,i,r){let o=this.strings,s=!1;if(o===void 0)e=yt(this,e,t,0),s=!$t(e)||e!==this._$AH&&e!==Ye,s&&(this._$AH=e);else{let a=e,c,u;for(e=o[0],c=0;c{let i=t?.renderBefore??e,r=i._$litPart$;if(r===void 0){let o=t?.renderBefore??null;i._$litPart$=r=new Ut(e.insertBefore(Dt(),o),o,void 0,t??{})}return r._$AI(n),r};var Qn=globalThis,Ue=class extends Ze{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=cr(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ye}};Ue._$litElement$=!0,Ue.finalized=!0,Qn.litElementHydrateSupport?.({LitElement:Ue});var Ia=Qn.litElementPolyfillSupport;Ia?.({LitElement:Ue});(Qn.litElementVersions??=[]).push("4.2.0");var lr={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ur=n=>(...e)=>({_$litDirective$:n,values:e}),un=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var Bt=class extends un{constructor(e){if(super(e),this.it=ae,e.type!==lr.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===ae||e==null)return this._t=void 0,this.it=e;if(e===Ye)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};Bt.directiveName="unsafeHTML",Bt.resultType=1;var xe=ur(Bt);var La={attribute:!0,type:String,converter:It,reflect:!1,hasChanged:cn},Da=(n=La,e,t)=>{let{kind:i,metadata:r}=t,o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),i==="setter"&&((n=Object.create(n)).wrapped=!0),o.set(t.name,n),i==="accessor"){let{name:s}=t;return{set(a){let c=e.get.call(this);e.set.call(this,a),this.requestUpdate(s,c,n)},init(a){return a!==void 0&&this.C(s,void 0,n,a),a}}}if(i==="setter"){let{name:s}=t;return function(a){let c=this[s];e.call(this,a),this.requestUpdate(s,c,n)}}throw Error("Unsupported decorator location: "+i)};function W(n){return(e,t)=>typeof t=="object"?Da(n,e,t):((i,r,o)=>{let s=r.hasOwnProperty(o);return r.constructor.createProperty(o,i),s?Object.getOwnPropertyDescriptor(r,o):void 0})(n,e,t)}var oa=Ki(dr(),1);var wo=Ki(yo(),1);var To=wo.default;function pi(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ut=pi();function xo(n){ut=n}var Oo=/[&<>"']/,Gl=new RegExp(Oo.source,"g"),Ro=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,ql=new RegExp(Ro.source,"g"),Kl={"&":"&","<":"<",">":">",'"':""","'":"'"},vo=n=>Kl[n];function Ae(n,e){if(e){if(Oo.test(n))return n.replace(Gl,vo)}else if(Ro.test(n))return n.replace(ql,vo);return n}var Wl=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Zl(n){return n.replace(Wl,(e,t)=>(t=t.toLowerCase(),t==="colon"?":":t.charAt(0)==="#"?t.charAt(1)==="x"?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}var Yl=/(^|[^\[])\^/g;function ee(n,e){let t=typeof n=="string"?n:n.source;e=e||"";let i={replace:(r,o)=>{let s=typeof o=="string"?o:o.source;return s=s.replace(Yl,"$1"),t=t.replace(r,s),i},getRegex:()=>new RegExp(t,e)};return i}function So(n){try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}var Kt={exec:()=>null};function Ao(n,e){let t=n.replace(/\|/g,(o,s,a)=>{let c=!1,u=s;for(;--u>=0&&a[u]==="\\";)c=!c;return c?"|":" |"}),i=t.split(/ \|/),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length{let o=r.match(/^\s+/);if(o===null)return r;let[s]=o;return s.length>=i.length?r.slice(i.length):r}).join(` -`)}var St=class{options;rules;lexer;constructor(e){this.options=e||ct}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let i=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:yn(i,` -`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let i=t[0],r=ql(i,t[3]||"");return{type:"code",raw:i,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(/#$/.test(i)){let r=yn(i,"#");(this.options.pedantic||!r||/ $/.test(r))&&(i=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let i=t[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` - $1`);i=yn(i.replace(/^ *>[ \t]?/gm,""),` -`);let r=this.lexer.state.top;this.lexer.state.top=!0;let o=this.lexer.blockTokens(i);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:o,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim(),r=i.length>1,o={type:"list",raw:"",ordered:r,start:r?+i.slice(0,-1):"",loose:!1,items:[]};i=r?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=r?i:"[*+-]");let s=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),a="",c="",u=!1;for(;e;){let d=!1;if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;a=t[0],e=e.substring(a.length);let g=t[2].split(` +`)}var kt=class{options;rules;lexer;constructor(e){this.options=e||ut}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let i=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:vn(i,` +`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let i=t[0],r=Xl(i,t[3]||"");return{type:"code",raw:i,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(/#$/.test(i)){let r=vn(i,"#");(this.options.pedantic||!r||/ $/.test(r))&&(i=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let i=t[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` + $1`);i=vn(i.replace(/^ *>[ \t]?/gm,""),` +`);let r=this.lexer.state.top;this.lexer.state.top=!0;let o=this.lexer.blockTokens(i);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:o,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim(),r=i.length>1,o={type:"list",raw:"",ordered:r,start:r?+i.slice(0,-1):"",loose:!1,items:[]};i=r?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=r?i:"[*+-]");let s=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),a="",c="",u=!1;for(;e;){let l=!1;if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;a=t[0],e=e.substring(a.length);let g=t[2].split(` `,1)[0].replace(/^\t+/,M=>" ".repeat(3*M.length)),p=e.split(` `,1)[0],f=0;this.options.pedantic?(f=2,c=g.trimStart()):(f=t[2].search(/[^ ]/),f=f>4?1:f,c=g.slice(f),f+=t[1].length);let b=!1;if(!g&&/^ *$/.test(p)&&(a+=p+` -`,e=e.substring(p.length+1),d=!0),!d){let M=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),P=new RegExp(`^ {0,${Math.min(3,f-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),U=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:\`\`\`|~~~)`),C=new RegExp(`^ {0,${Math.min(3,f-1)}}#`);for(;e;){let B=e.split(` +`,e=e.substring(p.length+1),l=!0),!l){let M=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),P=new RegExp(`^ {0,${Math.min(3,f-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),U=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:\`\`\`|~~~)`),C=new RegExp(`^ {0,${Math.min(3,f-1)}}#`);for(;e;){let B=e.split(` `,1)[0];if(p=B,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),U.test(p)||C.test(p)||M.test(p)||P.test(e))break;if(p.search(/[^ ]/)>=f||!p.trim())c+=` `+p.slice(f);else{if(b||g.search(/[^ ]/)>=4||U.test(g)||C.test(g)||P.test(g))break;c+=` `+p}!b&&!p.trim()&&(b=!0),a+=B+` -`,e=e.substring(B.length+1),g=p.slice(f)}}o.loose||(u?o.loose=!0:/\n *\n *$/.test(a)&&(u=!0));let T=null,k;this.options.gfm&&(T=/^\[[ xX]\] /.exec(c),T&&(k=T[0]!=="[ ] ",c=c.replace(/^\[[ xX]\] +/,""))),o.items.push({type:"list_item",raw:a,task:!!T,checked:k,loose:!1,text:c,tokens:[]}),o.raw+=a}o.items[o.items.length-1].raw=a.trimEnd(),o.items[o.items.length-1].text=c.trimEnd(),o.raw=o.raw.trimEnd();for(let d=0;df.type==="space"),p=g.length>0&&g.some(f=>/\n.*\n/.test(f.raw));o.loose=p}if(o.loose)for(let d=0;d$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:i,raw:t[0],href:r,title:o}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;let i=Eo(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),o=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(` -`):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===r.length){for(let a of r)/^ *-+: *$/.test(a)?s.align.push("right"):/^ *:-+: *$/.test(a)?s.align.push("center"):/^ *:-+ *$/.test(a)?s.align.push("left"):s.align.push(null);for(let a of i)s.header.push({text:a,tokens:this.lexer.inline(a)});for(let a of o)s.rows.push(Eo(a,s.header.length).map(c=>({text:c,tokens:this.lexer.inline(c)})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let i=t[1].charAt(t[1].length-1)===` -`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:Ae(t[1])}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let i=t[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let s=yn(i.slice(0,-1),"\\");if((i.length-s.length)%2===0)return}else{let s=Kl(t[2],"()");if(s>-1){let c=(t[0].indexOf("!")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,c).trim(),t[3]=""}}let r=t[2],o="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);s&&(r=s[1],o=s[3])}else o=t[3]?t[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r=r.slice(1):r=r.slice(1,-1)),yo(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let r=(i[2]||i[1]).replace(/\s+/g," "),o=t[r.toLowerCase()];if(!o){let s=i[0].charAt(0);return{type:"text",raw:s,text:s}}return yo(i,o,i[0],this.lexer)}}emStrong(e,t,i=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){let s=[...r[0]].length-1,a,c,u=s,d=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,t=t.slice(-1*e.length+s);(r=g.exec(t))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(c=[...a].length,r[3]||r[4]){u+=c;continue}else if((r[5]||r[6])&&s%3&&!((s+c)%3)){d+=c;continue}if(u-=c,u>0)continue;c=Math.min(c,c+u+d);let p=[...r[0]][0].length,f=e.slice(0,s+r.index+p+c);if(Math.min(s,c)%2){let T=f.slice(1,-1);return{type:"em",raw:f,text:T,tokens:this.lexer.inlineTokens(T)}}let b=f.slice(2,-2);return{type:"strong",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(/\n/g," "),r=/[^ ]/.test(i),o=/^ /.test(i)&&/ $/.test(i);return r&&o&&(i=i.substring(1,i.length-1)),i=Ae(i,!0),{type:"codespan",raw:t[0],text:i}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let i,r;return t[2]==="@"?(i=Ae(t[1]),r="mailto:"+i):(i=Ae(t[1]),r=i),{type:"link",raw:t[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let i,r;if(t[2]==="@")i=Ae(t[0]),r="mailto:"+i;else{let o;do o=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(o!==t[0]);i=Ae(t[0]),t[1]==="www."?r="http://"+t[0]:r=t[0]}return{type:"link",raw:t[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let i;return this.lexer.state.inRawBlock?i=t[0]:i=Ae(t[0]),{type:"text",raw:t[0],text:i}}}},Wl=/^(?: *(?:\n|$))+/,Zl=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,Yl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Kt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Vl=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,So=/(?:[*+-]|\d{1,9}[.)])/,No=J(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,So).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),li=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Xl=/^[^\n]+/,ui=/(?!\s*\])(?:\\.|[^\[\]\\])+/,Ql=J(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",ui).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Jl=J(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,So).getRegex(),vn="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",di=/|$))/,jl=J("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",di).replace("tag",vn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ko=J(li).replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",vn).getRegex(),eu=J(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ko).getRegex(),pi={blockquote:eu,code:Zl,def:Ql,fences:Yl,heading:Vl,hr:Kt,html:jl,lheading:No,list:Jl,newline:Wl,paragraph:ko,table:Ht,text:Xl},To=J("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",vn).getRegex(),tu={...pi,table:To,paragraph:J(li).replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",To).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",vn).getRegex()},nu={...pi,html:J(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",di).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ht,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:J(li).replace("hr",Kt).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",No).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},xo=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,iu=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Oo=/^( {2,}|\\)\n(?!\s*$)/,ru=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,au=J(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,qt).getRegex(),cu=J("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,qt).getRegex(),lu=J("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,qt).getRegex(),uu=J(/\\([punct])/,"gu").replace(/punct/g,qt).getRegex(),du=J(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),pu=J(di).replace("(?:-->|$)","-->").getRegex(),gu=J("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",pu).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),wn=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,fu=J(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",wn).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ro=J(/^!?\[(label)\]\[(ref)\]/).replace("label",wn).replace("ref",ui).getRegex(),Co=J(/^!?\[(ref)\](?:\[\])?/).replace("ref",ui).getRegex(),hu=J("reflink|nolink(?!\\()","g").replace("reflink",Ro).replace("nolink",Co).getRegex(),gi={_backpedal:Ht,anyPunctuation:uu,autolink:du,blockSkip:ou,br:Oo,code:iu,del:Ht,emStrongLDelim:au,emStrongRDelimAst:cu,emStrongRDelimUnd:lu,escape:xo,link:fu,nolink:Co,punctuation:su,reflink:Ro,reflinkSearch:hu,tag:gu,text:ru,url:Ht},mu={...gi,link:J(/^!?\[(label)\]\((.*?)\)/).replace("label",wn).getRegex(),reflink:J(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",wn).getRegex()},oi={...gi,escape:J(xo).replace("])","~|])").getRegex(),url:J(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\f.type==="space"),p=g.length>0&&g.some(f=>/\n.*\n/.test(f.raw));o.loose=p}if(o.loose)for(let l=0;l$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:i,raw:t[0],href:r,title:o}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;let i=Ao(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),o=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(` +`):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===r.length){for(let a of r)/^ *-+: *$/.test(a)?s.align.push("right"):/^ *:-+: *$/.test(a)?s.align.push("center"):/^ *:-+ *$/.test(a)?s.align.push("left"):s.align.push(null);for(let a of i)s.header.push({text:a,tokens:this.lexer.inline(a)});for(let a of o)s.rows.push(Ao(a,s.header.length).map(c=>({text:c,tokens:this.lexer.inline(c)})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let i=t[1].charAt(t[1].length-1)===` +`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:Ae(t[1])}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let i=t[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let s=vn(i.slice(0,-1),"\\");if((i.length-s.length)%2===0)return}else{let s=Vl(t[2],"()");if(s>-1){let c=(t[0].indexOf("!")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,c).trim(),t[3]=""}}let r=t[2],o="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);s&&(r=s[1],o=s[3])}else o=t[3]?t[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r=r.slice(1):r=r.slice(1,-1)),No(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let r=(i[2]||i[1]).replace(/\s+/g," "),o=t[r.toLowerCase()];if(!o){let s=i[0].charAt(0);return{type:"text",raw:s,text:s}}return No(i,o,i[0],this.lexer)}}emStrong(e,t,i=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){let s=[...r[0]].length-1,a,c,u=s,l=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,t=t.slice(-1*e.length+s);(r=g.exec(t))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(c=[...a].length,r[3]||r[4]){u+=c;continue}else if((r[5]||r[6])&&s%3&&!((s+c)%3)){l+=c;continue}if(u-=c,u>0)continue;c=Math.min(c,c+u+l);let p=[...r[0]][0].length,f=e.slice(0,s+r.index+p+c);if(Math.min(s,c)%2){let w=f.slice(1,-1);return{type:"em",raw:f,text:w,tokens:this.lexer.inlineTokens(w)}}let b=f.slice(2,-2);return{type:"strong",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(/\n/g," "),r=/[^ ]/.test(i),o=/^ /.test(i)&&/ $/.test(i);return r&&o&&(i=i.substring(1,i.length-1)),i=Ae(i,!0),{type:"codespan",raw:t[0],text:i}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let i,r;return t[2]==="@"?(i=Ae(t[1]),r="mailto:"+i):(i=Ae(t[1]),r=i),{type:"link",raw:t[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let i,r;if(t[2]==="@")i=Ae(t[0]),r="mailto:"+i;else{let o;do o=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(o!==t[0]);i=Ae(t[0]),t[1]==="www."?r="http://"+t[0]:r=t[0]}return{type:"link",raw:t[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let i;return this.lexer.state.inRawBlock?i=t[0]:i=Ae(t[0]),{type:"text",raw:t[0],text:i}}}},Ql=/^(?: *(?:\n|$))+/,Jl=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,jl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Zt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,eu=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Co=/(?:[*+-]|\d{1,9}[.)])/,Mo=ee(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Co).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),gi=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,tu=/^[^\n]+/,fi=/(?!\s*\])(?:\\.|[^\[\]\\])+/,nu=ee(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",fi).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),iu=ee(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Co).getRegex(),Nn="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",hi=/|$))/,ru=ee("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",hi).replace("tag",Nn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Io=ee(gi).replace("hr",Zt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex(),su=ee(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Io).getRegex(),mi={blockquote:su,code:Jl,def:nu,fences:jl,heading:eu,hr:Zt,html:ru,lheading:Mo,list:iu,newline:Ql,paragraph:Io,table:Kt,text:tu},ko=ee("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Zt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex(),ou={...mi,table:ko,paragraph:ee(gi).replace("hr",Zt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",ko).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex()},au={...mi,html:ee(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",hi).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Kt,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ee(gi).replace("hr",Zt).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Mo).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Lo=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,cu=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Do=/^( {2,}|\\)\n(?!\s*$)/,lu=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,pu=ee(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Yt).getRegex(),gu=ee("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Yt).getRegex(),fu=ee("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Yt).getRegex(),hu=ee(/\\([punct])/,"gu").replace(/punct/g,Yt).getRegex(),mu=ee(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),bu=ee(hi).replace("(?:-->|$)","-->").getRegex(),_u=ee("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",bu).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),An=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Eu=ee(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",An).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$o=ee(/^!?\[(label)\]\[(ref)\]/).replace("label",An).replace("ref",fi).getRegex(),Po=ee(/^!?\[(ref)\](?:\[\])?/).replace("ref",fi).getRegex(),yu=ee("reflink|nolink(?!\\()","g").replace("reflink",$o).replace("nolink",Po).getRegex(),bi={_backpedal:Kt,anyPunctuation:hu,autolink:mu,blockSkip:du,br:Do,code:cu,del:Kt,emStrongLDelim:pu,emStrongRDelimAst:gu,emStrongRDelimUnd:fu,escape:Lo,link:Eu,nolink:Po,punctuation:uu,reflink:$o,reflinkSearch:yu,tag:_u,text:lu,url:Kt},wu={...bi,link:ee(/^!?\[(label)\]\((.*?)\)/).replace("label",An).getRegex(),reflink:ee(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",An).getRegex()},ui={...bi,escape:ee(Lo).replace("])","~|])").getRegex(),url:ee(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\c+" ".repeat(u.length));let i,r,o,s;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(i=a.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&t.length>0?t[t.length-1].raw+=` `:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` `+i.raw,r.text+=` `+i.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` `+i.raw,r.text+=` -`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startBlock){let a=1/0,c=e.slice(1),u;this.options.extensions.startBlock.forEach(d=>{u=d.call({lexer:this},c),typeof u=="number"&&u>=0&&(a=Math.min(a,u))}),a<1/0&&a>=0&&(o=e.substring(0,a+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){r=t[t.length-1],s&&r.type==="paragraph"?(r.raw+=` +`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startBlock){let a=1/0,c=e.slice(1),u;this.options.extensions.startBlock.forEach(l=>{u=l.call({lexer:this},c),typeof u=="number"&&u>=0&&(a=Math.min(a,u))}),a<1/0&&a>=0&&(o=e.substring(0,a+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){r=t[t.length-1],s&&r.type==="paragraph"?(r.raw+=` `+i.raw,r.text+=` `+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(i),s=o.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&r.type==="text"?(r.raw+=` `+i.raw,r.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(i);continue}if(e){let a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,r,o,s=e,a,c,u;if(this.tokens.links){let d=Object.keys(this.tokens.links);if(d.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)d.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(d=>(i=d.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),r=t[t.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(i=this.tokenizer.emStrong(e,s,u)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),t.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),t.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startInline){let d=1/0,g=e.slice(1),p;this.options.extensions.startInline.forEach(f=>{p=f.call({lexer:this},g),typeof p=="number"&&p>=0&&(d=Math.min(d,p))}),d<1/0&&d>=0&&(o=e.substring(0,d+1))}if(i=this.tokenizer.inlineText(o)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(u=i.raw.slice(-1)),c=!0,r=t[t.length-1],r&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(e){let d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}else throw new Error(d)}}return t}},Ze=class{options;constructor(e){this.options=e||ct}code(e,t,i){let r=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+` +`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(i);continue}if(e){let a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,r,o,s=e,a,c,u;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)l.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(l=>(i=l.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),r=t[t.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(i=this.tokenizer.emStrong(e,s,u)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),t.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),t.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startInline){let l=1/0,g=e.slice(1),p;this.options.extensions.startInline.forEach(f=>{p=f.call({lexer:this},g),typeof p=="number"&&p>=0&&(l=Math.min(l,p))}),l<1/0&&l>=0&&(o=e.substring(0,l+1))}if(i=this.tokenizer.inlineText(o)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(u=i.raw.slice(-1)),c=!0,r=t[t.length-1],r&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return t}},Qe=class{options;constructor(e){this.options=e||ut}code(e,t,i){let r=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+` `,r?'
'+(i?e:Ae(e,!0))+`
`:"
"+(i?e:Ae(e,!0))+`
`}blockquote(e){return`
@@ -47,32 +47,95 @@ ${e}
`}tablerow(e){return` ${e} `}tablecell(e,t){let i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+e+` -`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
"}del(e){return`${e}`}link(e,t,i){let r=_o(e);if(r===null)return i;e=r;let o='
",o}image(e,t,i){let r=_o(e);if(r===null)return i;e=r;let o=`${i}0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=k+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=k+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:k+" "}):T+=k+" "}T+=this.parse(p.tokens,u),d+=this.renderer.listitem(T,b,!!f)}i+=this.renderer.list(d,a,c);continue}case"html":{let s=o;i+=this.renderer.html(s.text,s.block);continue}case"paragraph":{let s=o;i+=this.renderer.paragraph(this.parseInline(s.tokens));continue}case"text":{let s=o,a=s.tokens?this.parseInline(s.tokens):s.text;for(;r+1{let a=o[s].flat(1/0);i=i.concat(this.walkTokens(a,t))}):o.tokens&&(i=i.concat(this.walkTokens(o.tokens,t)))}}return i}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let s=t.renderers[o.name];s?t.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=s.apply(this,a)),c}:t.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[o.level];s?s.unshift(o.tokenizer):t[o.level]=[o.tokenizer],o.start&&(o.level==="block"?t.startBlock?t.startBlock.push(o.start):t.startBlock=[o.start]:o.level==="inline"&&(t.startInline?t.startInline.push(o.start):t.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(t.childTokens[o.name]=o.childTokens)}),r.extensions=t),i.renderer){let o=this.defaults.renderer||new Ze(this.defaults);for(let s in i.renderer){if(!(s in o))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.renderer[a],u=o[a];o[a]=(...d)=>{let g=c.apply(o,d);return g===!1&&(g=u.apply(o,d)),g||""}}r.renderer=o}if(i.tokenizer){let o=this.defaults.tokenizer||new St(this.defaults);for(let s in i.tokenizer){if(!(s in o))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,c=i.tokenizer[a],u=o[a];o[a]=(...d)=>{let g=c.apply(o,d);return g===!1&&(g=u.apply(o,d)),g}}r.tokenizer=o}if(i.hooks){let o=this.defaults.hooks||new At;for(let s in i.hooks){if(!(s in o))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.hooks[a],u=o[a];At.passThroughHooks.has(s)?o[a]=d=>{if(this.defaults.async)return Promise.resolve(c.call(o,d)).then(p=>u.call(o,p));let g=c.call(o,d);return u.call(o,g)}:o[a]=(...d)=>{let g=c.apply(o,d);return g===!1&&(g=u.apply(o,d)),g}}r.hooks=o}if(i.walkTokens){let o=this.defaults.walkTokens,s=i.walkTokens;r.walkTokens=function(a){let c=[];return c.push(s.call(this,a)),o&&(c=c.concat(o.call(this,a))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return qe.lex(e,t??this.defaults)}parser(e,t){return We.parse(e,t??this.defaults)}#t(e,t){return(i,r)=>{let o={...r},s={...this.defaults,...o};this.defaults.async===!0&&o.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);let a=this.#e(!!s.silent,!!s.async);if(typeof i>"u"||i===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(i):i).then(c=>e(c,s)).then(c=>s.hooks?s.hooks.processAllTokens(c):c).then(c=>s.walkTokens?Promise.all(this.walkTokens(c,s.walkTokens)).then(()=>c):c).then(c=>t(c,s)).then(c=>s.hooks?s.hooks.postprocess(c):c).catch(a);try{s.hooks&&(i=s.hooks.preprocess(i));let c=e(i,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let u=t(c,s);return s.hooks&&(u=s.hooks.postprocess(u)),u}catch(c){return a(c)}}}#e(e,t){return i=>{if(i.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let r="

An error occurred:

"+Ae(i.message+"",!0)+"
";return t?Promise.resolve(r):r}if(t)return Promise.reject(i);throw i}}},at=new ai;function V(n,e){return at.parse(n,e)}V.options=V.setOptions=function(n){return at.setOptions(n),V.defaults=at.defaults,wo(V.defaults),V};V.getDefaults=ci;V.defaults=ct;V.use=function(...n){return at.use(...n),V.defaults=at.defaults,wo(V.defaults),V};V.walkTokens=function(n,e){return at.walkTokens(n,e)};V.parseInline=at.parseInline;V.Parser=We;V.parser=We.parse;V.Renderer=Ze;V.TextRenderer=Gt;V.Lexer=qe;V.lexer=qe.lex;V.Tokenizer=St;V.Hooks=At;V.parse=V;var Np=V.options,kp=V.setOptions,xp=V.use,Op=V.walkTokens,Rp=V.parseInline,fi=V,Cp=We.parse,Mp=qe.lex;var{entries:Fo,setPrototypeOf:Mo,isFrozen:_u,getPrototypeOf:Eu,getOwnPropertyDescriptor:yu}=Object,{freeze:ye,seal:ke,create:Ho}=Object,{apply:yi,construct:Ti}=typeof Reflect<"u"&&Reflect;ye||(ye=function(e){return e});ke||(ke=function(e){return e});yi||(yi=function(e,t,i){return e.apply(t,i)});Ti||(Ti=function(e,t){return new e(...t)});var An=Te(Array.prototype.forEach),Tu=Te(Array.prototype.lastIndexOf),Io=Te(Array.prototype.pop),Wt=Te(Array.prototype.push),wu=Te(Array.prototype.splice),Nn=Te(String.prototype.toLowerCase),hi=Te(String.prototype.toString),Lo=Te(String.prototype.match),Zt=Te(String.prototype.replace),vu=Te(String.prototype.indexOf),Au=Te(String.prototype.trim),Ce=Te(Object.prototype.hasOwnProperty),Ee=Te(RegExp.prototype.test),Yt=Su(TypeError);function Te(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r2&&arguments[2]!==void 0?arguments[2]:Nn;Mo&&Mo(n,null);let i=e.length;for(;i--;){let r=e[i];if(typeof r=="string"){let o=t(r);o!==r&&(_u(e)||(e[i]=o),r=o)}n[r]=!0}return n}function Nu(n){for(let e=0;e/gm),Cu=ke(/\$\{[\w\W]*/gm),Mu=ke(/^data-[\-\w.\u00B7-\uFFFF]+$/),Iu=ke(/^aria-[\-\w]+$/),Go=ke(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Lu=ke(/^(?:\w+script|data):/i),Du=ke(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ko=ke(/^html$/i),$u=ke(/^[a-z][.\w]*(-[.\w]+)+$/i),Bo=Object.freeze({__proto__:null,ARIA_ATTR:Iu,ATTR_WHITESPACE:Du,CUSTOM_ELEMENT:$u,DATA_ATTR:Mu,DOCTYPE_NAME:Ko,ERB_EXPR:Ru,IS_ALLOWED_URI:Go,IS_SCRIPT_OR_DATA:Lu,MUSTACHE_EXPR:Ou,TMPLIT_EXPR:Cu}),Xt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Pu=function(){return typeof window>"u"?null:window},Uu=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));let o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},zo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function qo(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Pu(),e=I=>qo(I);if(e.version="3.2.6",e.removed=[],!n||!n.document||n.document.nodeType!==Xt.document||!n.Element)return e.isSupported=!1,e;let{document:t}=n,i=t,r=i.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:u,NamedNodeMap:d=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:g,DOMParser:p,trustedTypes:f}=n,b=c.prototype,T=Vt(b,"cloneNode"),k=Vt(b,"remove"),M=Vt(b,"nextSibling"),P=Vt(b,"childNodes"),U=Vt(b,"parentNode");if(typeof s=="function"){let I=t.createElement("template");I.content&&I.content.ownerDocument&&(t=I.content.ownerDocument)}let C,B="",{implementation:D,createNodeIterator:ie,createDocumentFragment:K,getElementsByTagName:X}=t,{importNode:ce}=i,Z=zo();e.isSupported=typeof Fo=="function"&&typeof U=="function"&&D&&D.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:le,ERB_EXPR:de,TMPLIT_EXPR:j,DATA_ATTR:ne,ARIA_ATTR:h,IS_SCRIPT_OR_DATA:S,ATTR_WHITESPACE:N,CUSTOM_ELEMENT:$}=Bo,{IS_ALLOWED_URI:w}=Bo,m=null,E=G({},[...Do,...mi,...bi,..._i,...$o]),v=null,R=G({},[...Po,...Ei,...Uo,...Sn]),A=Object.seal(Ho(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,ve=null,Pe=!0,et=!0,ut=!1,dt=!0,Me=!1,Oe=!0,Se=!1,fe=!1,q=!1,be=!1,L=!1,Ue=!1,se=!0,Y=!1,pt="user-content-",Re=!0,Be=!1,Ie={},y=null,x=G({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),z=null,W=G({},["audio","video","img","source","image","track"]),oe=null,Ne=G({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),gt="http://www.w3.org/1998/Math/MathML",ft="http://www.w3.org/2000/svg",ze="http://www.w3.org/1999/xhtml",ht=ze,Cn=!1,Mn=null,ra=G({},[gt,ft,ze],hi),Jt=G({},["mi","mo","mn","ms","mtext"]),jt=G({},["annotation-xml"]),sa=G({},["title","style","font","a","script"]),kt=null,oa=["application/xhtml+xml","text/html"],aa="text/html",ue=null,mt=null,ca=t.createElement("form"),Ni=function(l){return l instanceof RegExp||l instanceof Function},In=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(mt&&mt===l)){if((!l||typeof l!="object")&&(l={}),l=Ye(l),kt=oa.indexOf(l.PARSER_MEDIA_TYPE)===-1?aa:l.PARSER_MEDIA_TYPE,ue=kt==="application/xhtml+xml"?hi:Nn,m=Ce(l,"ALLOWED_TAGS")?G({},l.ALLOWED_TAGS,ue):E,v=Ce(l,"ALLOWED_ATTR")?G({},l.ALLOWED_ATTR,ue):R,Mn=Ce(l,"ALLOWED_NAMESPACES")?G({},l.ALLOWED_NAMESPACES,hi):ra,oe=Ce(l,"ADD_URI_SAFE_ATTR")?G(Ye(Ne),l.ADD_URI_SAFE_ATTR,ue):Ne,z=Ce(l,"ADD_DATA_URI_TAGS")?G(Ye(W),l.ADD_DATA_URI_TAGS,ue):W,y=Ce(l,"FORBID_CONTENTS")?G({},l.FORBID_CONTENTS,ue):x,ee=Ce(l,"FORBID_TAGS")?G({},l.FORBID_TAGS,ue):Ye({}),ve=Ce(l,"FORBID_ATTR")?G({},l.FORBID_ATTR,ue):Ye({}),Ie=Ce(l,"USE_PROFILES")?l.USE_PROFILES:!1,Pe=l.ALLOW_ARIA_ATTR!==!1,et=l.ALLOW_DATA_ATTR!==!1,ut=l.ALLOW_UNKNOWN_PROTOCOLS||!1,dt=l.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Me=l.SAFE_FOR_TEMPLATES||!1,Oe=l.SAFE_FOR_XML!==!1,Se=l.WHOLE_DOCUMENT||!1,be=l.RETURN_DOM||!1,L=l.RETURN_DOM_FRAGMENT||!1,Ue=l.RETURN_TRUSTED_TYPE||!1,q=l.FORCE_BODY||!1,se=l.SANITIZE_DOM!==!1,Y=l.SANITIZE_NAMED_PROPS||!1,Re=l.KEEP_CONTENT!==!1,Be=l.IN_PLACE||!1,w=l.ALLOWED_URI_REGEXP||Go,ht=l.NAMESPACE||ze,Jt=l.MATHML_TEXT_INTEGRATION_POINTS||Jt,jt=l.HTML_INTEGRATION_POINTS||jt,A=l.CUSTOM_ELEMENT_HANDLING||{},l.CUSTOM_ELEMENT_HANDLING&&Ni(l.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(A.tagNameCheck=l.CUSTOM_ELEMENT_HANDLING.tagNameCheck),l.CUSTOM_ELEMENT_HANDLING&&Ni(l.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(A.attributeNameCheck=l.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),l.CUSTOM_ELEMENT_HANDLING&&typeof l.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(A.allowCustomizedBuiltInElements=l.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Me&&(et=!1),L&&(be=!0),Ie&&(m=G({},$o),v=[],Ie.html===!0&&(G(m,Do),G(v,Po)),Ie.svg===!0&&(G(m,mi),G(v,Ei),G(v,Sn)),Ie.svgFilters===!0&&(G(m,bi),G(v,Ei),G(v,Sn)),Ie.mathMl===!0&&(G(m,_i),G(v,Uo),G(v,Sn))),l.ADD_TAGS&&(m===E&&(m=Ye(m)),G(m,l.ADD_TAGS,ue)),l.ADD_ATTR&&(v===R&&(v=Ye(v)),G(v,l.ADD_ATTR,ue)),l.ADD_URI_SAFE_ATTR&&G(oe,l.ADD_URI_SAFE_ATTR,ue),l.FORBID_CONTENTS&&(y===x&&(y=Ye(y)),G(y,l.FORBID_CONTENTS,ue)),Re&&(m["#text"]=!0),Se&&G(m,["html","head","body"]),m.table&&(G(m,["tbody"]),delete ee.tbody),l.TRUSTED_TYPES_POLICY){if(typeof l.TRUSTED_TYPES_POLICY.createHTML!="function")throw Yt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof l.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Yt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=l.TRUSTED_TYPES_POLICY,B=C.createHTML("")}else C===void 0&&(C=Uu(f,r)),C!==null&&typeof B=="string"&&(B=C.createHTML(""));ye&&ye(l),mt=l}},ki=G({},[...mi,...bi,...ku]),xi=G({},[..._i,...xu]),la=function(l){let _=U(l);(!_||!_.tagName)&&(_={namespaceURI:ht,tagName:"template"});let O=Nn(l.tagName),te=Nn(_.tagName);return Mn[l.namespaceURI]?l.namespaceURI===ft?_.namespaceURI===ze?O==="svg":_.namespaceURI===gt?O==="svg"&&(te==="annotation-xml"||Jt[te]):!!ki[O]:l.namespaceURI===gt?_.namespaceURI===ze?O==="math":_.namespaceURI===ft?O==="math"&&jt[te]:!!xi[O]:l.namespaceURI===ze?_.namespaceURI===ft&&!jt[te]||_.namespaceURI===gt&&!Jt[te]?!1:!xi[O]&&(sa[O]||!ki[O]):!!(kt==="application/xhtml+xml"&&Mn[l.namespaceURI]):!1},Le=function(l){Wt(e.removed,{element:l});try{U(l).removeChild(l)}catch{k(l)}},bt=function(l,_){try{Wt(e.removed,{attribute:_.getAttributeNode(l),from:_})}catch{Wt(e.removed,{attribute:null,from:_})}if(_.removeAttribute(l),l==="is")if(be||L)try{Le(_)}catch{}else try{_.setAttribute(l,"")}catch{}},Oi=function(l){let _=null,O=null;if(q)l=""+l;else{let ae=Lo(l,/^[\r\n\t ]+/);O=ae&&ae[0]}kt==="application/xhtml+xml"&&ht===ze&&(l=''+l+"");let te=C?C.createHTML(l):l;if(ht===ze)try{_=new p().parseFromString(te,kt)}catch{}if(!_||!_.documentElement){_=D.createDocument(ht,"template",null);try{_.documentElement.innerHTML=Cn?B:te}catch{}}let he=_.body||_.documentElement;return l&&O&&he.insertBefore(t.createTextNode(O),he.childNodes[0]||null),ht===ze?X.call(_,Se?"html":"body")[0]:Se?_.documentElement:he},Ri=function(l){return ie.call(l.ownerDocument||l,l,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ln=function(l){return l instanceof g&&(typeof l.nodeName!="string"||typeof l.textContent!="string"||typeof l.removeChild!="function"||!(l.attributes instanceof d)||typeof l.removeAttribute!="function"||typeof l.setAttribute!="function"||typeof l.namespaceURI!="string"||typeof l.insertBefore!="function"||typeof l.hasChildNodes!="function")},Ci=function(l){return typeof a=="function"&&l instanceof a};function Fe(I,l,_){An(I,O=>{O.call(e,l,_,mt)})}let Mi=function(l){let _=null;if(Fe(Z.beforeSanitizeElements,l,null),Ln(l))return Le(l),!0;let O=ue(l.nodeName);if(Fe(Z.uponSanitizeElement,l,{tagName:O,allowedTags:m}),Oe&&l.hasChildNodes()&&!Ci(l.firstElementChild)&&Ee(/<[/\w!]/g,l.innerHTML)&&Ee(/<[/\w!]/g,l.textContent)||l.nodeType===Xt.progressingInstruction||Oe&&l.nodeType===Xt.comment&&Ee(/<[/\w]/g,l.data))return Le(l),!0;if(!m[O]||ee[O]){if(!ee[O]&&Li(O)&&(A.tagNameCheck instanceof RegExp&&Ee(A.tagNameCheck,O)||A.tagNameCheck instanceof Function&&A.tagNameCheck(O)))return!1;if(Re&&!y[O]){let te=U(l)||l.parentNode,he=P(l)||l.childNodes;if(he&&te){let ae=he.length;for(let we=ae-1;we>=0;--we){let He=T(he[we],!0);He.__removalCount=(l.__removalCount||0)+1,te.insertBefore(He,M(l))}}}return Le(l),!0}return l instanceof c&&!la(l)||(O==="noscript"||O==="noembed"||O==="noframes")&&Ee(/<\/no(script|embed|frames)/i,l.innerHTML)?(Le(l),!0):(Me&&l.nodeType===Xt.text&&(_=l.textContent,An([le,de,j],te=>{_=Zt(_,te," ")}),l.textContent!==_&&(Wt(e.removed,{element:l.cloneNode()}),l.textContent=_)),Fe(Z.afterSanitizeElements,l,null),!1)},Ii=function(l,_,O){if(se&&(_==="id"||_==="name")&&(O in t||O in ca))return!1;if(!(et&&!ve[_]&&Ee(ne,_))){if(!(Pe&&Ee(h,_))){if(!v[_]||ve[_]){if(!(Li(l)&&(A.tagNameCheck instanceof RegExp&&Ee(A.tagNameCheck,l)||A.tagNameCheck instanceof Function&&A.tagNameCheck(l))&&(A.attributeNameCheck instanceof RegExp&&Ee(A.attributeNameCheck,_)||A.attributeNameCheck instanceof Function&&A.attributeNameCheck(_))||_==="is"&&A.allowCustomizedBuiltInElements&&(A.tagNameCheck instanceof RegExp&&Ee(A.tagNameCheck,O)||A.tagNameCheck instanceof Function&&A.tagNameCheck(O))))return!1}else if(!oe[_]){if(!Ee(w,Zt(O,N,""))){if(!((_==="src"||_==="xlink:href"||_==="href")&&l!=="script"&&vu(O,"data:")===0&&z[l])){if(!(ut&&!Ee(S,Zt(O,N,"")))){if(O)return!1}}}}}}return!0},Li=function(l){return l!=="annotation-xml"&&Lo(l,$)},Di=function(l){Fe(Z.beforeSanitizeAttributes,l,null);let{attributes:_}=l;if(!_||Ln(l))return;let O={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:v,forceKeepAttr:void 0},te=_.length;for(;te--;){let he=_[te],{name:ae,namespaceURI:we,value:He}=he,xt=ue(ae),Dn=He,me=ae==="value"?Dn:Au(Dn);if(O.attrName=xt,O.attrValue=me,O.keepAttr=!0,O.forceKeepAttr=void 0,Fe(Z.uponSanitizeAttribute,l,O),me=O.attrValue,Y&&(xt==="id"||xt==="name")&&(bt(ae,l),me=pt+me),Oe&&Ee(/((--!?|])>)|<\/(style|title)/i,me)){bt(ae,l);continue}if(O.forceKeepAttr)continue;if(!O.keepAttr){bt(ae,l);continue}if(!dt&&Ee(/\/>/i,me)){bt(ae,l);continue}Me&&An([le,de,j],Pi=>{me=Zt(me,Pi," ")});let $i=ue(l.nodeName);if(!Ii($i,xt,me)){bt(ae,l);continue}if(C&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!we)switch(f.getAttributeType($i,xt)){case"TrustedHTML":{me=C.createHTML(me);break}case"TrustedScriptURL":{me=C.createScriptURL(me);break}}if(me!==Dn)try{we?l.setAttributeNS(we,ae,me):l.setAttribute(ae,me),Ln(l)?Le(l):Io(e.removed)}catch{bt(ae,l)}}Fe(Z.afterSanitizeAttributes,l,null)},ua=function I(l){let _=null,O=Ri(l);for(Fe(Z.beforeSanitizeShadowDOM,l,null);_=O.nextNode();)Fe(Z.uponSanitizeShadowNode,_,null),Mi(_),Di(_),_.content instanceof o&&I(_.content);Fe(Z.afterSanitizeShadowDOM,l,null)};return e.sanitize=function(I){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_=null,O=null,te=null,he=null;if(Cn=!I,Cn&&(I=""),typeof I!="string"&&!Ci(I))if(typeof I.toString=="function"){if(I=I.toString(),typeof I!="string")throw Yt("dirty is not a string, aborting")}else throw Yt("toString is not a function");if(!e.isSupported)return I;if(fe||In(l),e.removed=[],typeof I=="string"&&(Be=!1),Be){if(I.nodeName){let He=ue(I.nodeName);if(!m[He]||ee[He])throw Yt("root node is forbidden and cannot be sanitized in-place")}}else if(I instanceof a)_=Oi(""),O=_.ownerDocument.importNode(I,!0),O.nodeType===Xt.element&&O.nodeName==="BODY"||O.nodeName==="HTML"?_=O:_.appendChild(O);else{if(!be&&!Me&&!Se&&I.indexOf("<")===-1)return C&&Ue?C.createHTML(I):I;if(_=Oi(I),!_)return be?null:Ue?B:""}_&&q&&Le(_.firstChild);let ae=Ri(Be?I:_);for(;te=ae.nextNode();)Mi(te),Di(te),te.content instanceof o&&ua(te.content);if(Be)return I;if(be){if(L)for(he=K.call(_.ownerDocument);_.firstChild;)he.appendChild(_.firstChild);else he=_;return(v.shadowroot||v.shadowrootmode)&&(he=ce.call(i,he,!0)),he}let we=Se?_.outerHTML:_.innerHTML;return Se&&m["!doctype"]&&_.ownerDocument&&_.ownerDocument.doctype&&_.ownerDocument.doctype.name&&Ee(Ko,_.ownerDocument.doctype.name)&&(we=" -`+we),Me&&An([le,de,j],He=>{we=Zt(we,He," ")}),C&&Ue?C.createHTML(we):we},e.setConfig=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};In(I),fe=!0},e.clearConfig=function(){mt=null,fe=!1},e.isValidAttribute=function(I,l,_){mt||In({});let O=ue(I),te=ue(l);return Ii(O,te,_)},e.addHook=function(I,l){typeof l=="function"&&Wt(Z[I],l)},e.removeHook=function(I,l){if(l!==void 0){let _=Tu(Z[I],l);return _===-1?void 0:wu(Z[I],_,1)[0]}return Io(Z[I])},e.removeHooks=function(I){Z[I]=[]},e.removeAllHooks=function(){Z=zo()},e}var Wo=qo();function Nt(n,e){let t=document.createElement(n);for(let[i,r]of Object.entries(e)){let o=i.replace(/_/g,"-");r!==null&&t.setAttribute(o,r)}return t}function Zo(n){return new DOMParser().parseFromString(n,"image/svg+xml").documentElement}var $e=class extends Qe{createRenderRoot(){return this}};function je({headline:n="",message:e,status:t="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:n,message:e,status:t}}))}async function kn(n){if(window.Shiny&&n)try{await window.Shiny.renderDependenciesAsync(n)}catch(e){je({status:"error",message:`Failed to render HTML dependencies: ${e}`})}}function xn(n){return Yo.sanitize(n,{ADD_TAGS:["script"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>window.customElements.get(e)!==void 0,attributeNameCheck:e=>!0,allowCustomizedBuiltInElements:!0}})}var Yo=Wo();Yo.addHook("uponSanitizeElement",(n,e)=>{if(n.nodeName&&n.nodeName==="SCRIPT"){let t=n,i=t.getAttribute("type")==="application/json"&&t.getAttribute("data-for")!==null;e.allowedTags.script=i}});function Vo(n){return function(e,t,i){let r=i.value,o;return i.value=function(...s){o&&window.clearTimeout(o),o=window.setTimeout(()=>{r.apply(this,s),o=void 0},n)},i}}var wi="shiny-chat-message",Qo="shiny-user-message",Jo="shiny-chat-messages",jo="shiny-chat-input",Ai="shiny-chat-container",Xo={robot:'',dots_fade:''},lt=class extends $e{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let i=this.content.trim().length===0?Xo.dots_fade:this.icon||Xo.robot;return Xe` -
${rt(i)}
+`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
"}del(e){return`${e}`}link(e,t,i){let r=So(e);if(r===null)return i;e=r;let o='
",o}image(e,t,i){let r=So(e);if(r===null)return i;e=r;let o=`${i}0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=k+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=k+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:k+" "}):w+=k+" "}w+=this.parse(p.tokens,u),l+=this.renderer.listitem(w,b,!!f)}i+=this.renderer.list(l,a,c);continue}case"html":{let s=o;i+=this.renderer.html(s.text,s.block);continue}case"paragraph":{let s=o;i+=this.renderer.paragraph(this.parseInline(s.tokens));continue}case"text":{let s=o,a=s.tokens?this.parseInline(s.tokens):s.text;for(;r+1{let a=o[s].flat(1/0);i=i.concat(this.walkTokens(a,t))}):o.tokens&&(i=i.concat(this.walkTokens(o.tokens,t)))}}return i}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let s=t.renderers[o.name];s?t.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=s.apply(this,a)),c}:t.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[o.level];s?s.unshift(o.tokenizer):t[o.level]=[o.tokenizer],o.start&&(o.level==="block"?t.startBlock?t.startBlock.push(o.start):t.startBlock=[o.start]:o.level==="inline"&&(t.startInline?t.startInline.push(o.start):t.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(t.childTokens[o.name]=o.childTokens)}),r.extensions=t),i.renderer){let o=this.defaults.renderer||new Qe(this.defaults);for(let s in i.renderer){if(!(s in o))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.renderer[a],u=o[a];o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=u.apply(o,l)),g||""}}r.renderer=o}if(i.tokenizer){let o=this.defaults.tokenizer||new kt(this.defaults);for(let s in i.tokenizer){if(!(s in o))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,c=i.tokenizer[a],u=o[a];o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=u.apply(o,l)),g}}r.tokenizer=o}if(i.hooks){let o=this.defaults.hooks||new Nt;for(let s in i.hooks){if(!(s in o))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.hooks[a],u=o[a];Nt.passThroughHooks.has(s)?o[a]=l=>{if(this.defaults.async)return Promise.resolve(c.call(o,l)).then(p=>u.call(o,p));let g=c.call(o,l);return u.call(o,g)}:o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=u.apply(o,l)),g}}r.hooks=o}if(i.walkTokens){let o=this.defaults.walkTokens,s=i.walkTokens;r.walkTokens=function(a){let c=[];return c.push(s.call(this,a)),o&&(c=c.concat(o.call(this,a))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Ve.lex(e,t??this.defaults)}parser(e,t){return Xe.parse(e,t??this.defaults)}#e(e,t){return(i,r)=>{let o={...r},s={...this.defaults,...o};this.defaults.async===!0&&o.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);let a=this.#t(!!s.silent,!!s.async);if(typeof i>"u"||i===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(i):i).then(c=>e(c,s)).then(c=>s.hooks?s.hooks.processAllTokens(c):c).then(c=>s.walkTokens?Promise.all(this.walkTokens(c,s.walkTokens)).then(()=>c):c).then(c=>t(c,s)).then(c=>s.hooks?s.hooks.postprocess(c):c).catch(a);try{s.hooks&&(i=s.hooks.preprocess(i));let c=e(i,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let u=t(c,s);return s.hooks&&(u=s.hooks.postprocess(u)),u}catch(c){return a(c)}}}#t(e,t){return i=>{if(i.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let r="

An error occurred:

"+Ae(i.message+"",!0)+"
";return t?Promise.resolve(r):r}if(t)return Promise.reject(i);throw i}}},lt=new di;function Q(n,e){return lt.parse(n,e)}Q.options=Q.setOptions=function(n){return lt.setOptions(n),Q.defaults=lt.defaults,xo(Q.defaults),Q};Q.getDefaults=pi;Q.defaults=ut;Q.use=function(...n){return lt.use(...n),Q.defaults=lt.defaults,xo(Q.defaults),Q};Q.walkTokens=function(n,e){return lt.walkTokens(n,e)};Q.parseInline=lt.parseInline;Q.Parser=Xe;Q.parser=Xe.parse;Q.Renderer=Qe;Q.TextRenderer=Wt;Q.Lexer=Ve;Q.lexer=Ve.lex;Q.Tokenizer=kt;Q.Hooks=Nt;Q.parse=Q;var Lp=Q.options,Dp=Q.setOptions,$p=Q.use,Pp=Q.walkTokens,Up=Q.parseInline,_i=Q,Bp=Xe.parse,zp=Ve.lex;var{entries:Zo,setPrototypeOf:Uo,isFrozen:vu,getPrototypeOf:Su,getOwnPropertyDescriptor:Au}=Object,{freeze:we,seal:Oe,create:Yo}=Object,{apply:Si,construct:Ai}=typeof Reflect<"u"&&Reflect;we||(we=function(e){return e});Oe||(Oe=function(e){return e});Si||(Si=function(e,t,i){return e.apply(t,i)});Ai||(Ai=function(e,t){return new e(...t)});var kn=Te(Array.prototype.forEach),Nu=Te(Array.prototype.lastIndexOf),Bo=Te(Array.prototype.pop),Vt=Te(Array.prototype.push),ku=Te(Array.prototype.splice),On=Te(String.prototype.toLowerCase),Ei=Te(String.prototype.toString),zo=Te(String.prototype.match),Xt=Te(String.prototype.replace),xu=Te(String.prototype.indexOf),Ou=Te(String.prototype.trim),Le=Te(Object.prototype.hasOwnProperty),ye=Te(RegExp.prototype.test),Qt=Ru(TypeError);function Te(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r2&&arguments[2]!==void 0?arguments[2]:On;Uo&&Uo(n,null);let i=e.length;for(;i--;){let r=e[i];if(typeof r=="string"){let o=t(r);o!==r&&(vu(e)||(e[i]=o),r=o)}n[r]=!0}return n}function Cu(n){for(let e=0;e/gm),$u=Oe(/\$\{[\w\W]*/gm),Pu=Oe(/^data-[\-\w.\u00B7-\uFFFF]+$/),Uu=Oe(/^aria-[\-\w]+$/),Vo=Oe(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Bu=Oe(/^(?:\w+script|data):/i),zu=Oe(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Xo=Oe(/^html$/i),Fu=Oe(/^[a-z][.\w]*(-[.\w]+)+$/i),Ko=Object.freeze({__proto__:null,ARIA_ATTR:Uu,ATTR_WHITESPACE:zu,CUSTOM_ELEMENT:Fu,DATA_ATTR:Pu,DOCTYPE_NAME:Xo,ERB_EXPR:Du,IS_ALLOWED_URI:Vo,IS_SCRIPT_OR_DATA:Bu,MUSTACHE_EXPR:Lu,TMPLIT_EXPR:$u}),jt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Hu=function(){return typeof window>"u"?null:window},Gu=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));let o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},Wo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Qo(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Hu(),e=I=>Qo(I);if(e.version="3.2.6",e.removed=[],!n||!n.document||n.document.nodeType!==jt.document||!n.Element)return e.isSupported=!1,e;let{document:t}=n,i=t,r=i.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:u,NamedNodeMap:l=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:g,DOMParser:p,trustedTypes:f}=n,b=c.prototype,w=Jt(b,"cloneNode"),k=Jt(b,"remove"),M=Jt(b,"nextSibling"),P=Jt(b,"childNodes"),U=Jt(b,"parentNode");if(typeof s=="function"){let I=t.createElement("template");I.content&&I.content.ownerDocument&&(t=I.content.ownerDocument)}let C,B="",{implementation:D,createNodeIterator:oe,createDocumentFragment:q,getElementsByTagName:J}=t,{importNode:de}=i,V=Wo();e.isSupported=typeof Zo=="function"&&typeof U=="function"&&D&&D.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:pe,ERB_EXPR:fe,TMPLIT_EXPR:te,DATA_ATTR:se,ARIA_ATTR:h,IS_SCRIPT_OR_DATA:A,ATTR_WHITESPACE:N,CUSTOM_ELEMENT:$}=Ko,{IS_ALLOWED_URI:T}=Ko,m=null,E=G({},[...Fo,...yi,...wi,...Ti,...Ho]),v=null,R=G({},[...Go,...vi,...qo,...xn]),S=Object.seal(Yo(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ie=null,Se=null,Fe=!0,it=!0,pt=!1,gt=!0,De=!1,Me=!0,Ne=!1,he=!1,Z=!1,_e=!1,L=!1,He=!1,ce=!0,X=!1,ft="user-content-",Ie=!0,Ge=!1,$e={},y=null,x=G({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),z=null,Y=G({},["audio","video","img","source","image","track"]),le=null,ke=G({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ht="http://www.w3.org/1998/Math/MathML",mt="http://www.w3.org/2000/svg",qe="http://www.w3.org/1999/xhtml",bt=qe,Dn=!1,$n=null,la=G({},[ht,mt,qe],Ei),tn=G({},["mi","mo","mn","ms","mtext"]),nn=G({},["annotation-xml"]),ua=G({},["title","style","font","a","script"]),Rt=null,da=["application/xhtml+xml","text/html"],pa="text/html",ge=null,_t=null,ga=t.createElement("form"),Mi=function(d){return d instanceof RegExp||d instanceof Function},Pn=function(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(_t&&_t===d)){if((!d||typeof d!="object")&&(d={}),d=Je(d),Rt=da.indexOf(d.PARSER_MEDIA_TYPE)===-1?pa:d.PARSER_MEDIA_TYPE,ge=Rt==="application/xhtml+xml"?Ei:On,m=Le(d,"ALLOWED_TAGS")?G({},d.ALLOWED_TAGS,ge):E,v=Le(d,"ALLOWED_ATTR")?G({},d.ALLOWED_ATTR,ge):R,$n=Le(d,"ALLOWED_NAMESPACES")?G({},d.ALLOWED_NAMESPACES,Ei):la,le=Le(d,"ADD_URI_SAFE_ATTR")?G(Je(ke),d.ADD_URI_SAFE_ATTR,ge):ke,z=Le(d,"ADD_DATA_URI_TAGS")?G(Je(Y),d.ADD_DATA_URI_TAGS,ge):Y,y=Le(d,"FORBID_CONTENTS")?G({},d.FORBID_CONTENTS,ge):x,ie=Le(d,"FORBID_TAGS")?G({},d.FORBID_TAGS,ge):Je({}),Se=Le(d,"FORBID_ATTR")?G({},d.FORBID_ATTR,ge):Je({}),$e=Le(d,"USE_PROFILES")?d.USE_PROFILES:!1,Fe=d.ALLOW_ARIA_ATTR!==!1,it=d.ALLOW_DATA_ATTR!==!1,pt=d.ALLOW_UNKNOWN_PROTOCOLS||!1,gt=d.ALLOW_SELF_CLOSE_IN_ATTR!==!1,De=d.SAFE_FOR_TEMPLATES||!1,Me=d.SAFE_FOR_XML!==!1,Ne=d.WHOLE_DOCUMENT||!1,_e=d.RETURN_DOM||!1,L=d.RETURN_DOM_FRAGMENT||!1,He=d.RETURN_TRUSTED_TYPE||!1,Z=d.FORCE_BODY||!1,ce=d.SANITIZE_DOM!==!1,X=d.SANITIZE_NAMED_PROPS||!1,Ie=d.KEEP_CONTENT!==!1,Ge=d.IN_PLACE||!1,T=d.ALLOWED_URI_REGEXP||Vo,bt=d.NAMESPACE||qe,tn=d.MATHML_TEXT_INTEGRATION_POINTS||tn,nn=d.HTML_INTEGRATION_POINTS||nn,S=d.CUSTOM_ELEMENT_HANDLING||{},d.CUSTOM_ELEMENT_HANDLING&&Mi(d.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(S.tagNameCheck=d.CUSTOM_ELEMENT_HANDLING.tagNameCheck),d.CUSTOM_ELEMENT_HANDLING&&Mi(d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(S.attributeNameCheck=d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),d.CUSTOM_ELEMENT_HANDLING&&typeof d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(S.allowCustomizedBuiltInElements=d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),De&&(it=!1),L&&(_e=!0),$e&&(m=G({},Ho),v=[],$e.html===!0&&(G(m,Fo),G(v,Go)),$e.svg===!0&&(G(m,yi),G(v,vi),G(v,xn)),$e.svgFilters===!0&&(G(m,wi),G(v,vi),G(v,xn)),$e.mathMl===!0&&(G(m,Ti),G(v,qo),G(v,xn))),d.ADD_TAGS&&(m===E&&(m=Je(m)),G(m,d.ADD_TAGS,ge)),d.ADD_ATTR&&(v===R&&(v=Je(v)),G(v,d.ADD_ATTR,ge)),d.ADD_URI_SAFE_ATTR&&G(le,d.ADD_URI_SAFE_ATTR,ge),d.FORBID_CONTENTS&&(y===x&&(y=Je(y)),G(y,d.FORBID_CONTENTS,ge)),Ie&&(m["#text"]=!0),Ne&&G(m,["html","head","body"]),m.table&&(G(m,["tbody"]),delete ie.tbody),d.TRUSTED_TYPES_POLICY){if(typeof d.TRUSTED_TYPES_POLICY.createHTML!="function")throw Qt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof d.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Qt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=d.TRUSTED_TYPES_POLICY,B=C.createHTML("")}else C===void 0&&(C=Gu(f,r)),C!==null&&typeof B=="string"&&(B=C.createHTML(""));we&&we(d),_t=d}},Ii=G({},[...yi,...wi,...Mu]),Li=G({},[...Ti,...Iu]),fa=function(d){let _=U(d);(!_||!_.tagName)&&(_={namespaceURI:bt,tagName:"template"});let O=On(d.tagName),re=On(_.tagName);return $n[d.namespaceURI]?d.namespaceURI===mt?_.namespaceURI===qe?O==="svg":_.namespaceURI===ht?O==="svg"&&(re==="annotation-xml"||tn[re]):!!Ii[O]:d.namespaceURI===ht?_.namespaceURI===qe?O==="math":_.namespaceURI===mt?O==="math"&&nn[re]:!!Li[O]:d.namespaceURI===qe?_.namespaceURI===mt&&!nn[re]||_.namespaceURI===ht&&!tn[re]?!1:!Li[O]&&(ua[O]||!Ii[O]):!!(Rt==="application/xhtml+xml"&&$n[d.namespaceURI]):!1},Pe=function(d){Vt(e.removed,{element:d});try{U(d).removeChild(d)}catch{k(d)}},Et=function(d,_){try{Vt(e.removed,{attribute:_.getAttributeNode(d),from:_})}catch{Vt(e.removed,{attribute:null,from:_})}if(_.removeAttribute(d),d==="is")if(_e||L)try{Pe(_)}catch{}else try{_.setAttribute(d,"")}catch{}},Di=function(d){let _=null,O=null;if(Z)d=""+d;else{let ue=zo(d,/^[\r\n\t ]+/);O=ue&&ue[0]}Rt==="application/xhtml+xml"&&bt===qe&&(d=''+d+"");let re=C?C.createHTML(d):d;if(bt===qe)try{_=new p().parseFromString(re,Rt)}catch{}if(!_||!_.documentElement){_=D.createDocument(bt,"template",null);try{_.documentElement.innerHTML=Dn?B:re}catch{}}let me=_.body||_.documentElement;return d&&O&&me.insertBefore(t.createTextNode(O),me.childNodes[0]||null),bt===qe?J.call(_,Ne?"html":"body")[0]:Ne?_.documentElement:me},$i=function(d){return oe.call(d.ownerDocument||d,d,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Un=function(d){return d instanceof g&&(typeof d.nodeName!="string"||typeof d.textContent!="string"||typeof d.removeChild!="function"||!(d.attributes instanceof l)||typeof d.removeAttribute!="function"||typeof d.setAttribute!="function"||typeof d.namespaceURI!="string"||typeof d.insertBefore!="function"||typeof d.hasChildNodes!="function")},Pi=function(d){return typeof a=="function"&&d instanceof a};function Ke(I,d,_){kn(I,O=>{O.call(e,d,_,_t)})}let Ui=function(d){let _=null;if(Ke(V.beforeSanitizeElements,d,null),Un(d))return Pe(d),!0;let O=ge(d.nodeName);if(Ke(V.uponSanitizeElement,d,{tagName:O,allowedTags:m}),Me&&d.hasChildNodes()&&!Pi(d.firstElementChild)&&ye(/<[/\w!]/g,d.innerHTML)&&ye(/<[/\w!]/g,d.textContent)||d.nodeType===jt.progressingInstruction||Me&&d.nodeType===jt.comment&&ye(/<[/\w]/g,d.data))return Pe(d),!0;if(!m[O]||ie[O]){if(!ie[O]&&zi(O)&&(S.tagNameCheck instanceof RegExp&&ye(S.tagNameCheck,O)||S.tagNameCheck instanceof Function&&S.tagNameCheck(O)))return!1;if(Ie&&!y[O]){let re=U(d)||d.parentNode,me=P(d)||d.childNodes;if(me&&re){let ue=me.length;for(let ve=ue-1;ve>=0;--ve){let We=w(me[ve],!0);We.__removalCount=(d.__removalCount||0)+1,re.insertBefore(We,M(d))}}}return Pe(d),!0}return d instanceof c&&!fa(d)||(O==="noscript"||O==="noembed"||O==="noframes")&&ye(/<\/no(script|embed|frames)/i,d.innerHTML)?(Pe(d),!0):(De&&d.nodeType===jt.text&&(_=d.textContent,kn([pe,fe,te],re=>{_=Xt(_,re," ")}),d.textContent!==_&&(Vt(e.removed,{element:d.cloneNode()}),d.textContent=_)),Ke(V.afterSanitizeElements,d,null),!1)},Bi=function(d,_,O){if(ce&&(_==="id"||_==="name")&&(O in t||O in ga))return!1;if(!(it&&!Se[_]&&ye(se,_))){if(!(Fe&&ye(h,_))){if(!v[_]||Se[_]){if(!(zi(d)&&(S.tagNameCheck instanceof RegExp&&ye(S.tagNameCheck,d)||S.tagNameCheck instanceof Function&&S.tagNameCheck(d))&&(S.attributeNameCheck instanceof RegExp&&ye(S.attributeNameCheck,_)||S.attributeNameCheck instanceof Function&&S.attributeNameCheck(_))||_==="is"&&S.allowCustomizedBuiltInElements&&(S.tagNameCheck instanceof RegExp&&ye(S.tagNameCheck,O)||S.tagNameCheck instanceof Function&&S.tagNameCheck(O))))return!1}else if(!le[_]){if(!ye(T,Xt(O,N,""))){if(!((_==="src"||_==="xlink:href"||_==="href")&&d!=="script"&&xu(O,"data:")===0&&z[d])){if(!(pt&&!ye(A,Xt(O,N,"")))){if(O)return!1}}}}}}return!0},zi=function(d){return d!=="annotation-xml"&&zo(d,$)},Fi=function(d){Ke(V.beforeSanitizeAttributes,d,null);let{attributes:_}=d;if(!_||Un(d))return;let O={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:v,forceKeepAttr:void 0},re=_.length;for(;re--;){let me=_[re],{name:ue,namespaceURI:ve,value:We}=me,Ct=ge(ue),Bn=We,be=ue==="value"?Bn:Ou(Bn);if(O.attrName=Ct,O.attrValue=be,O.keepAttr=!0,O.forceKeepAttr=void 0,Ke(V.uponSanitizeAttribute,d,O),be=O.attrValue,X&&(Ct==="id"||Ct==="name")&&(Et(ue,d),be=ft+be),Me&&ye(/((--!?|])>)|<\/(style|title)/i,be)){Et(ue,d);continue}if(O.forceKeepAttr)continue;if(!O.keepAttr){Et(ue,d);continue}if(!gt&&ye(/\/>/i,be)){Et(ue,d);continue}De&&kn([pe,fe,te],Gi=>{be=Xt(be,Gi," ")});let Hi=ge(d.nodeName);if(!Bi(Hi,Ct,be)){Et(ue,d);continue}if(C&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!ve)switch(f.getAttributeType(Hi,Ct)){case"TrustedHTML":{be=C.createHTML(be);break}case"TrustedScriptURL":{be=C.createScriptURL(be);break}}if(be!==Bn)try{ve?d.setAttributeNS(ve,ue,be):d.setAttribute(ue,be),Un(d)?Pe(d):Bo(e.removed)}catch{Et(ue,d)}}Ke(V.afterSanitizeAttributes,d,null)},ha=function I(d){let _=null,O=$i(d);for(Ke(V.beforeSanitizeShadowDOM,d,null);_=O.nextNode();)Ke(V.uponSanitizeShadowNode,_,null),Ui(_),Fi(_),_.content instanceof o&&I(_.content);Ke(V.afterSanitizeShadowDOM,d,null)};return e.sanitize=function(I){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_=null,O=null,re=null,me=null;if(Dn=!I,Dn&&(I=""),typeof I!="string"&&!Pi(I))if(typeof I.toString=="function"){if(I=I.toString(),typeof I!="string")throw Qt("dirty is not a string, aborting")}else throw Qt("toString is not a function");if(!e.isSupported)return I;if(he||Pn(d),e.removed=[],typeof I=="string"&&(Ge=!1),Ge){if(I.nodeName){let We=ge(I.nodeName);if(!m[We]||ie[We])throw Qt("root node is forbidden and cannot be sanitized in-place")}}else if(I instanceof a)_=Di(""),O=_.ownerDocument.importNode(I,!0),O.nodeType===jt.element&&O.nodeName==="BODY"||O.nodeName==="HTML"?_=O:_.appendChild(O);else{if(!_e&&!De&&!Ne&&I.indexOf("<")===-1)return C&&He?C.createHTML(I):I;if(_=Di(I),!_)return _e?null:He?B:""}_&&Z&&Pe(_.firstChild);let ue=$i(Ge?I:_);for(;re=ue.nextNode();)Ui(re),Fi(re),re.content instanceof o&&ha(re.content);if(Ge)return I;if(_e){if(L)for(me=q.call(_.ownerDocument);_.firstChild;)me.appendChild(_.firstChild);else me=_;return(v.shadowroot||v.shadowrootmode)&&(me=de.call(i,me,!0)),me}let ve=Ne?_.outerHTML:_.innerHTML;return Ne&&m["!doctype"]&&_.ownerDocument&&_.ownerDocument.doctype&&_.ownerDocument.doctype.name&&ye(Xo,_.ownerDocument.doctype.name)&&(ve=" +`+ve),De&&kn([pe,fe,te],We=>{ve=Xt(ve,We," ")}),C&&He?C.createHTML(ve):ve},e.setConfig=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Pn(I),he=!0},e.clearConfig=function(){_t=null,he=!1},e.isValidAttribute=function(I,d,_){_t||Pn({});let O=ge(I),re=ge(d);return Bi(O,re,_)},e.addHook=function(I,d){typeof d=="function"&&Vt(V[I],d)},e.removeHook=function(I,d){if(d!==void 0){let _=Nu(V[I],d);return _===-1?void 0:ku(V[I],_,1)[0]}return Bo(V[I])},e.removeHooks=function(I){V[I]=[]},e.removeAllHooks=function(){V=Wo()},e}var Jo=Qo();function xt(n,e){let t=document.createElement(n);for(let[i,r]of Object.entries(e)){let o=i.replace(/_/g,"-");r!==null&&t.setAttribute(o,r)}return t}function jo(n){return new DOMParser().parseFromString(n,"image/svg+xml").documentElement}var ze=class extends Ue{createRenderRoot(){return this}};function nt({headline:n="",message:e,status:t="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:n,message:e,status:t}}))}async function Rn(n){if(window.Shiny&&n)try{await window.Shiny.renderDependenciesAsync(n)}catch(e){nt({status:"error",message:`Failed to render HTML dependencies: ${e}`})}}function Cn(n){return ea.sanitize(n,{ADD_TAGS:["script"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>window.customElements.get(e)!==void 0,attributeNameCheck:e=>!0,allowCustomizedBuiltInElements:!0}})}var ea=Jo();ea.addHook("uponSanitizeElement",(n,e)=>{if(n.nodeName&&n.nodeName==="SCRIPT"){let t=n,i=t.getAttribute("type")==="application/json"&&t.getAttribute("data-for")!==null;e.allowedTags.script=i}});function ta(n){return function(e,t,i){let r=i.value,o;return i.value=function(...s){o&&window.clearTimeout(o),o=window.setTimeout(()=>{r.apply(this,s),o=void 0},n)},i}}window.shinychat=window.shinychat||{};window.shinychat.hiddenToolRequests=window.shinychat.hiddenToolRequests||new Set;var Re=class extends Ue{constructor(){super(...arguments);this.expanded=!1;this.classStatus="";this.icon="";this.titleTemplate="{title}"}createRenderRoot(){return this}#e(t){t.preventDefault(),this.expanded=!this.expanded,this.requestUpdate()}formatTitle(){let t=this.toolTitle||`${this.toolName}()`;return t=`${t}`,t=this.titleTemplate.replace("{title}",t),ne`${xe(t)}`}renderCard(t){let i=`tool-header-${this.requestId}`,r=`tool-content-${this.requestId}`,o=ne` +
${xe(this.icon)}
+
${this.formatTitle()}
+
+ ${this.intent?ne`
${this.intent}
`:""} + `;return ne` +
+ +
+ ${t} +
+
+ `}};K([W({type:String,attribute:"request-id"})],Re.prototype,"requestId",2),K([W({type:String,attribute:"tool-name"})],Re.prototype,"toolName",2),K([W({type:String,attribute:"tool-title"})],Re.prototype,"toolTitle",2),K([W({type:String})],Re.prototype,"intent",2),K([W({type:Boolean,reflect:!0})],Re.prototype,"expanded",2),K([W({type:String})],Re.prototype,"classStatus",2),K([W({type:String})],Re.prototype,"icon",2),K([W({type:String})],Re.prototype,"titleTemplate",2);var Ot=class extends Re{constructor(){super();this.hidden=!1;this.#e=t=>{t.detail.request_id===this.requestId&&(this.hidden=!0)};this.titleTemplate="Running {title}",this.icon='
'}connectedCallback(){super.connectedCallback(),this.hidden=window.shinychat.hiddenToolRequests.has(this.requestId),window.addEventListener("shiny-tool-request-hide",this.#e)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("shiny-tool-request-hide",this.#e)}#e;render(){if(this.hidden)return ne``;let t=ne` + + `;return this.renderCard(ne`
+ Tool arguments ${t} +
`)}};K([W({type:String})],Ot.prototype,"arguments",2),K([W({type:Boolean,reflect:!0})],Ot.prototype,"hidden",2);var je=class extends Re{constructor(){super();this.showRequest=!1;this.titleTemplate="{title}"}connectedCallback(){super.connectedCallback(),this.status==="error"?(this.classStatus="text-danger",this.icon=Ni.exclamationCircleFill,this.titleTemplate="{title} failed"):this.icon||(this.icon=Ni.wrenchAdjustable),window.shinychat.hiddenToolRequests.add(this.requestId),this.dispatchEvent(new CustomEvent("shiny-tool-request-hide",{detail:{request_id:this.requestId},bubbles:!0,cancelable:!0}))}#e(){let t="";if(this.valueType==="html"?t=ne`${xe(this.value)}`:this.valueType==="text"?t=ne`

${this.value}

`:(this.valueType!=="markdown"&&(t=ki(this.value,"text")),t=ne``),!this.showRequest&&this.valueType==="html")return t;let i=this.showRequest?ne`Tool result `:"";return ne`
+ ${i}${t} +
`}#t(){if(!this.showRequest||!this.requestCall)return"";let t=ne``,i=this.requestCall.split(` +`).length>2;return ne`
+ ${i?ne`
+ Tool call + ${t} +
`:ne`Tool call ${t}`} +
`}render(){let t=ne` ${this.#t()} ${this.#e()} `;return this.renderCard(t)}};K([W({type:String,attribute:"request-call"})],je.prototype,"requestCall",2),K([W({type:String})],je.prototype,"status",2),K([W({type:Boolean,attribute:"show-request"})],je.prototype,"showRequest",2),K([W({type:String})],je.prototype,"value",2),K([W({type:String,attribute:"value-type"})],je.prototype,"valueType",2);var Ni={exclamationCircleFill:` + +`,wrenchAdjustable:` + + +`,plus:` + + +`},ki=(n,e="markdown")=>{let t="`".repeat(8);return`${t}${e} +${n} +${t}`};window.Shiny?.addCustomMessageHandler("shiny-tool-request-hide",n=>{window.shinychat.hiddenToolRequests.add(n);let e=new CustomEvent("shiny-tool-request-hide",{detail:{request_id:n},bubbles:!0,cancelable:!0});window.dispatchEvent(e)});var xi="shiny-chat-message",ia="shiny-user-message",ra="shiny-chat-messages",sa="shiny-chat-input",Ri="shiny-chat-container",qu="shiny-tool-request",Ku="shiny-tool-result",na={robot:'',dots_fade:''},dt=class extends ze{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let i=this.content.trim().length===0?na.dots_fade:this.icon||na.robot;return ne` +
${xe(i)}
- `}#t(){this.streaming||this.#e()}#e(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(t=>{if(!(t instanceof HTMLElement)||t.hasAttribute("tabindex"))return;t.setAttribute("tabindex","0"),t.setAttribute("role","button");let i=t.dataset.suggestion||t.textContent;t.setAttribute("aria-label",`Use chat suggestion: ${i}`)})}};pe([ge()],lt.prototype,"content",2),pe([ge({attribute:"content-type"})],lt.prototype,"contentType",2),pe([ge({type:Boolean,reflect:!0})],lt.prototype,"streaming",2),pe([ge()],lt.prototype,"icon",2);var On=class extends $e{constructor(){super(...arguments);this.content="..."}render(){return Xe` + `}#e(){this.streaming||this.#t()}#t(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(t=>{if(!(t instanceof HTMLElement)||t.hasAttribute("tabindex"))return;t.setAttribute("tabindex","0"),t.setAttribute("role","button");let i=t.dataset.suggestion||t.textContent;t.setAttribute("aria-label",`Use chat suggestion: ${i}`)})}};K([W()],dt.prototype,"content",2),K([W({attribute:"content-type"})],dt.prototype,"contentType",2),K([W({type:Boolean,reflect:!0})],dt.prototype,"streaming",2),K([W()],dt.prototype,"icon",2);var Mn=class extends ze{constructor(){super(...arguments);this.content="..."}render(){return ne` - `}};pe([ge()],On.prototype,"content",2);var vi=class extends $e{render(){return Xe``}},Qt=class extends $e{constructor(){super(...arguments);this.placeholder="Enter a message...";this._disabled=!1}get disabled(){return this._disabled}set disabled(t){let i=this._disabled;t!==i&&(this._disabled=t,t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",i),this.#e())}connectedCallback(){super.connectedCallback(),this.inputVisibleObserver=new IntersectionObserver(t=>{t.forEach(i=>{i.isIntersecting&&this.#i()})}),this.inputVisibleObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.inputVisibleObserver?.disconnect(),this.inputVisibleObserver=void 0}attributeChangedCallback(t,i,r){super.attributeChangedCallback(t,i,r),t==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){return Xe` + `}};K([W()],Mn.prototype,"content",2);var Oi=class extends ze{render(){return ne``}},en=class extends ze{constructor(){super(...arguments);this.placeholder="Enter a message...";this._disabled=!1}get disabled(){return this._disabled}set disabled(t){let i=this._disabled;t!==i&&(this._disabled=t,t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",i),this.#t())}connectedCallback(){super.connectedCallback(),this.inputVisibleObserver=new IntersectionObserver(t=>{t.forEach(i=>{i.isIntersecting&&this.#i()})}),this.inputVisibleObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.inputVisibleObserver?.disconnect(),this.inputVisibleObserver=void 0}attributeChangedCallback(t,i,r){super.attributeChangedCallback(t,i,r),t==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){return ne` - `}#t(t){t.code==="Enter"&&!t.shiftKey&&!this.valueIsEmpty&&(t.preventDefault(),this.#r())}#e(){this.#i(),this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#e()}#r(t=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let i=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(i),this.setInputValue(""),this.disabled=!0,t&&this.textarea.focus()}#i(){let t=this.textarea;t.scrollHeight!=0&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`)}setInputValue(t,{submit:i=!1,focus:r=!1}={}){let o=this.textarea.value;this.textarea.value=t;let s=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(s),i&&(this.#r(!1),o&&this.setInputValue(o)),r&&this.textarea.focus()}};pe([ge()],Qt.prototype,"placeholder",2),pe([ge({type:Boolean})],Qt.prototype,"disabled",1);var Rn=class extends $e{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(jo)}get messages(){return this.querySelector(Jo)}get lastMessage(){let t=this.messages.lastElementChild;return t||null}render(){return Xe``}connectedCallback(){super.connectedCallback();let t=this.querySelector("div");t||(t=Nt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",t)),this.inputSentinelObserver=new IntersectionObserver(i=>{let r=this.input.querySelector("textarea");if(!r)return;let o=i[0]?.intersectionRatio===0;r.classList.toggle("shadow",o)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(t)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#t),this.addEventListener("shiny-chat-append-message",this.#e),this.addEventListener("shiny-chat-append-message-chunk",this.#s),this.addEventListener("shiny-chat-clear-messages",this.#o),this.addEventListener("shiny-chat-update-user-input",this.#c),this.addEventListener("shiny-chat-remove-loading-message",this.#h),this.addEventListener("click",this.#l),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#t),this.removeEventListener("shiny-chat-append-message",this.#e),this.removeEventListener("shiny-chat-append-message-chunk",this.#s),this.removeEventListener("shiny-chat-clear-messages",this.#o),this.removeEventListener("shiny-chat-update-user-input",this.#c),this.removeEventListener("shiny-chat-remove-loading-message",this.#h),this.removeEventListener("click",this.#l),this.removeEventListener("keydown",this.#u)}#t(t){this.#i(t.detail),this.#p()}#e(t){this.#i(t.detail)}#r(){this.#n(),this.input.disabled||(this.input.disabled=!0)}#i(t,i=!0){this.#r();let r=t.role==="user"?Qo:wi;this.iconAssistant&&(t.icon=t.icon||this.iconAssistant);let o=Nt(r,t);this.messages.appendChild(o),i&&this.#f()}#p(){let i=Nt(wi,{content:"",role:"assistant"});this.messages.appendChild(i)}#n(){this.lastMessage?.content||this.lastMessage?.remove()}#s(t){this.#a(t.detail)}#a(t){t.chunk_type==="message_start"&&this.#i(t,!1);let i=this.lastMessage;if(!i)throw new Error("No messages found in the chat output");if(t.chunk_type==="message_start"){i.setAttribute("streaming","");return}let r=t.operation==="append"?i.getAttribute("content")+t.content:t.content;i.setAttribute("content",r),t.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#f())}#o(){this.messages.innerHTML=""}#c(t){let{value:i,placeholder:r,submit:o,focus:s}=t.detail;i!==void 0&&this.input.setInputValue(i,{submit:o,focus:s}),r!==void 0&&(this.input.placeholder=r)}#l(t){this.#d(t)}#u(t){(t.key==="Enter"||t.key===" ")&&this.#d(t)}#d(t){let{suggestion:i,submit:r}=this.#g(t.target);if(!i)return;t.preventDefault();let o=t.metaKey||t.ctrlKey?!0:t.altKey?!1:r;this.input.setInputValue(i,{submit:o,focus:!o})}#g(t){if(!(t instanceof HTMLElement))return{};let i=t.closest(".suggestion, [data-suggestion]");return i instanceof HTMLElement?i.classList.contains("suggestion")||i.dataset.suggestion!==void 0?{suggestion:i.dataset.suggestion||i.textContent||void 0,submit:i.classList.contains("submit")||i.dataset.suggestionSubmit===""||i.dataset.suggestionSubmit==="true"}:{}:{}}#h(){this.#n(),this.#f()}#f(){this.input.disabled=!1}};pe([ge({attribute:"icon-assistant"})],Rn.prototype,"iconAssistant",2);var Bu=[{tag:wi,component:lt},{tag:Qo,component:On},{tag:Jo,component:vi},{tag:jo,component:Qt},{tag:Ai,component:Rn}];Bu.forEach(({tag:n,component:e})=>{customElements.get(n)||customElements.define(n,e)});window.Shiny.addCustomMessageHandler("shinyChatMessage",async function(n){n.obj?.html_deps&&await kn(n.obj.html_deps);let e=new CustomEvent(n.handler,{detail:n.obj}),t=document.getElementById(n.id);if(!t){je({status:"error",message:`Unable to handle Chat() message since element with id + `}#e(t){t.code==="Enter"&&!t.shiftKey&&!this.valueIsEmpty&&(t.preventDefault(),this.#r())}#t(){this.#i(),this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#t()}#r(t=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let i=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(i),this.setInputValue(""),this.disabled=!0,t&&this.textarea.focus()}#i(){let t=this.textarea;t.scrollHeight!=0&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`)}setInputValue(t,{submit:i=!1,focus:r=!1}={}){let o=this.textarea.value;this.textarea.value=t;let s=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(s),i&&(this.#r(!1),o&&this.setInputValue(o)),r&&this.textarea.focus()}};K([W()],en.prototype,"placeholder",2),K([W({type:Boolean})],en.prototype,"disabled",1);var In=class extends ze{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(sa)}get messages(){return this.querySelector(ra)}get lastMessage(){let t=this.messages.lastElementChild;return t||null}render(){return ne``}connectedCallback(){super.connectedCallback();let t=this.querySelector("div");t||(t=xt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",t)),this.inputSentinelObserver=new IntersectionObserver(i=>{let r=this.input.querySelector("textarea");if(!r)return;let o=i[0]?.intersectionRatio===0;r.classList.toggle("shadow",o)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(t)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#e),this.addEventListener("shiny-chat-append-message",this.#t),this.addEventListener("shiny-chat-append-message-chunk",this.#s),this.addEventListener("shiny-chat-clear-messages",this.#o),this.addEventListener("shiny-chat-update-user-input",this.#c),this.addEventListener("shiny-chat-remove-loading-message",this.#h),this.addEventListener("click",this.#l),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#e),this.removeEventListener("shiny-chat-append-message",this.#t),this.removeEventListener("shiny-chat-append-message-chunk",this.#s),this.removeEventListener("shiny-chat-clear-messages",this.#o),this.removeEventListener("shiny-chat-update-user-input",this.#c),this.removeEventListener("shiny-chat-remove-loading-message",this.#h),this.removeEventListener("click",this.#l),this.removeEventListener("keydown",this.#u)}#e(t){this.#i(t.detail),this.#p()}#t(t){this.#i(t.detail)}#r(){this.#n(),this.input.disabled||(this.input.disabled=!0)}#i(t,i=!0){this.#r();let r=t.role==="user"?ia:xi;this.iconAssistant&&(t.icon=t.icon||this.iconAssistant);let o=xt(r,t);this.messages.appendChild(o),i&&this.#f()}#p(){let i=xt(xi,{content:"",role:"assistant"});this.messages.appendChild(i)}#n(){this.lastMessage?.content||this.lastMessage?.remove()}#s(t){this.#a(t.detail)}#a(t){t.chunk_type==="message_start"&&this.#i(t,!1);let i=this.lastMessage;if(!i)throw new Error("No messages found in the chat output");if(t.chunk_type==="message_start"){i.setAttribute("streaming","");return}let r=t.operation==="append"?i.getAttribute("content")+t.content:t.content;i.setAttribute("content",r),t.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#f())}#o(){this.messages.innerHTML=""}#c(t){let{value:i,placeholder:r,submit:o,focus:s}=t.detail;i!==void 0&&this.input.setInputValue(i,{submit:o,focus:s}),r!==void 0&&(this.input.placeholder=r)}#l(t){this.#d(t)}#u(t){(t.key==="Enter"||t.key===" ")&&this.#d(t)}#d(t){let{suggestion:i,submit:r}=this.#g(t.target);if(!i)return;t.preventDefault();let o=t.metaKey||t.ctrlKey?!0:t.altKey?!1:r;this.input.setInputValue(i,{submit:o,focus:!o})}#g(t){if(!(t instanceof HTMLElement))return{};let i=t.closest(".suggestion, [data-suggestion]");return i instanceof HTMLElement?i.classList.contains("suggestion")||i.dataset.suggestion!==void 0?{suggestion:i.dataset.suggestion||i.textContent||void 0,submit:i.classList.contains("submit")||i.dataset.suggestionSubmit===""||i.dataset.suggestionSubmit==="true"}:{}:{}}#h(){this.#n(),this.#f()}#f(){this.input.disabled=!1}};K([W({attribute:"icon-assistant"})],In.prototype,"iconAssistant",2);var Wu=[{tag:xi,component:dt},{tag:ia,component:Mn},{tag:ra,component:Oi},{tag:sa,component:en},{tag:Ri,component:In},{tag:qu,component:Ot},{tag:Ku,component:je}];Wu.forEach(({tag:n,component:e})=>{customElements.get(n)||customElements.define(n,e)});window.Shiny?.addCustomMessageHandler("shinyChatMessage",async function(n){n.obj?.html_deps&&await Rn(n.obj.html_deps);let e=new CustomEvent(n.handler,{detail:n.obj}),t=document.getElementById(n.id);if(!t){nt({status:"error",message:`Unable to handle Chat() message since element with id ${n.id} wasn't found. Do you need to call .ui() (Express) or need a chat_ui('${n.id}') in the UI (Core)? - `});return}t.dispatchEvent(e)});function zu(n){return"isStreaming"in n}var ta="markdown-stream-dot",Fu=Zo(``),na=new Ze;na.table=(n,e)=>` + `});return}t.dispatchEvent(e)});function Zu(n){return"isStreaming"in n}var aa="markdown-stream-dot",Yu=jo(``),Ln=new Qe;Ln.table=(n,e)=>`
${n}${e} -
`;var ia=new Ze;ia.html=n=>n.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'");function Hu(n,e){if(e==="markdown"){let t=fi(n,{renderer:na});return rt(xn(t))}else if(e==="semi-markdown"){let t=fi(n,{renderer:ia});return rt(xn(t))}else{if(e==="html")return rt(xn(n));if(e==="text")return n;throw new Error(`Unknown content type: ${e}`)}}var xe=class xe extends $e{constructor(){super(...arguments);this.content="";this.content_type="markdown";this.streaming=!1;this.auto_scroll=!1;this.#n=null;this.#s=!1;this.#a=!1;this.#o=()=>{this.#s||(this.#a=!this.#c())}}render(){return Xe`${Hu(this.content,this.content_type)}`}disconnectedCallback(){super.disconnectedCallback(),this.#g()}willUpdate(t){t.has("content")&&(this.#s=!0,xe.#r(this)),super.willUpdate(t)}updated(t){if(t.has("content")){try{this.#p()}catch(i){console.warn("Failed to highlight code:",i)}if(this.streaming?(this.#t(),xe._throttledBind(this)):xe.#i(this),this.#l(),this.#s=!1,this.#d(),this.onContentChange)try{this.onContentChange()}catch(i){console.warn("Failed to call onContentUpdate callback:",i)}}if(t.has("streaming")){if(this.streaming)this.#t();else if(this.#e(),this.onStreamEnd)try{this.onStreamEnd()}catch(i){console.warn("Failed to call onStreamEnd callback:",i)}}}#t(){this.lastElementChild?.appendChild(Fu)}#e(){this.querySelector(`svg.${ta}`)?.remove()}static async#r(t){if(window?.Shiny?.unbindAll)try{window.Shiny.unbindAll(t)}catch(i){je({status:"error",message:`Failed to unbind Shiny inputs/outputs: ${i}`})}}static async#i(t){if(window?.Shiny?.initializeInputs&&window?.Shiny?.bindAll){try{window.Shiny.initializeInputs(t)}catch(i){je({status:"error",message:`Failed to initialize Shiny inputs: ${i}`})}try{await window.Shiny.bindAll(t)}catch(i){je({status:"error",message:`Failed to bind Shiny inputs/outputs: ${i}`})}}}static async _throttledBind(t){await this.#i(t)}#p(){this.querySelector("pre code")&&this.querySelectorAll("pre code").forEach(i=>{if(i.dataset.highlighted==="yes")return;mo.highlightElement(i);let r=Nt("button",{class:"code-copy-button",title:"Copy to clipboard"});r.innerHTML='',i.prepend(r),new ea.default(r,{target:()=>i}).on("success",s=>{r.classList.add("code-copy-button-checked"),setTimeout(()=>r.classList.remove("code-copy-button-checked"),2e3),s.clearSelection()})})}#n;#s;#a;#o;#c(){let t=this.#n;return t?t.scrollHeight-(t.scrollTop+t.clientHeight)<50:!1}#l(){let t=this.#u();t!==this.#n&&(this.#n?.removeEventListener("scroll",this.#o),this.#n=t,this.#n?.addEventListener("scroll",this.#o))}#u(){if(!this.auto_scroll)return null;let t=this;for(;t;){if(t.scrollHeight>t.clientHeight)return t;if(t=t.parentElement,t?.tagName?.toLowerCase()===Ai.toLowerCase())break}return null}#d(){let t=this.#n;!t||this.#a||t.scroll({top:t.scrollHeight-t.clientHeight,behavior:this.streaming?"instant":"smooth"})}#g(){this.#n?.removeEventListener("scroll",this.#o),this.#n=null,this.#a=!1}};pe([ge()],xe.prototype,"content",2),pe([ge({attribute:"content-type"})],xe.prototype,"content_type",2),pe([ge({type:Boolean,reflect:!0})],xe.prototype,"streaming",2),pe([ge({type:Boolean,reflect:!0,attribute:"auto-scroll"})],xe.prototype,"auto_scroll",2),pe([ge({type:Function})],xe.prototype,"onContentChange",2),pe([ge({type:Function})],xe.prototype,"onStreamEnd",2),pe([Vo(200)],xe,"_throttledBind",1);var Si=xe;customElements.get("shiny-markdown-stream")||customElements.define("shiny-markdown-stream",Si);async function Gu(n){let e=document.getElementById(n.id);if(!e){je({status:"error",message:`Unable to handle MarkdownStream() message since element with id + `;var Vu=Ln.code;Ln.code=function(n,e,t){return e==="{=html}"?n:Vu.call(this,n,e,t)};var ca=new Qe;ca.html=n=>n.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'");function Xu(n,e){if(e==="markdown"){let t=_i(n,{renderer:Ln});return xe(Cn(t))}else if(e==="semi-markdown"){let t=_i(n,{renderer:ca});return xe(Cn(t))}else{if(e==="html")return xe(Cn(n));if(e==="text")return n;throw new Error(`Unknown content type: ${e}`)}}var Ce=class Ce extends ze{constructor(){super(...arguments);this.content="";this.content_type="markdown";this.streaming=!1;this.auto_scroll=!1;this.#n=null;this.#s=!1;this.#a=!1;this.#o=()=>{this.#s||(this.#a=!this.#c())}}render(){return ne`${Xu(this.content,this.content_type)}`}disconnectedCallback(){super.disconnectedCallback(),this.#g()}willUpdate(t){t.has("content")&&(this.#s=!0,Ce.#r(this)),super.willUpdate(t)}updated(t){if(t.has("content")){try{this.#p()}catch(i){console.warn("Failed to highlight code:",i)}if(this.streaming?(this.#e(),Ce._throttledBind(this)):Ce.#i(this),this.#l(),this.#s=!1,this.#d(),this.onContentChange)try{this.onContentChange()}catch(i){console.warn("Failed to call onContentUpdate callback:",i)}}if(t.has("streaming")){if(this.streaming)this.#e();else if(this.#t(),this.onStreamEnd)try{this.onStreamEnd()}catch(i){console.warn("Failed to call onStreamEnd callback:",i)}}}#e(){if(this.#t(),this.content.trim()===""||this.lastElementChild?.tagName.toLowerCase()==="shiny-tool-request")return;let t=s=>/\S/.test(s.textContent||""),i=new Set(["p","div","pre","ul","ol"]),r=new Set(["p","h1","h2","h3","h4","h5","h6","li","code"]);(s=>{let a=s,c=0;for(;c<5;){c++;let u=a.childNodes,l=null;for(let p=u.length-1;p>=0;p--){let f=u[p];if(!f)break;if(f.nodeType===Node.ELEMENT_NODE||f.nodeType===Node.TEXT_NODE&&t(f)){l=f;break}}if(!l||!(l instanceof Element))return a;let g=l.tagName.toLowerCase();if(i.has(g)){a=l;continue}return r.has(g)?l:a}return a})(this).appendChild(Yu)}#t(){this.querySelector(`svg.${aa}`)?.remove()}static async#r(t){if(window?.Shiny?.unbindAll)try{window.Shiny.unbindAll(t)}catch(i){nt({status:"error",message:`Failed to unbind Shiny inputs/outputs: ${i}`})}}static async#i(t){if(window?.Shiny?.initializeInputs&&window?.Shiny?.bindAll){try{window.Shiny.initializeInputs(t)}catch(i){nt({status:"error",message:`Failed to initialize Shiny inputs: ${i}`})}try{await window.Shiny.bindAll(t)}catch(i){nt({status:"error",message:`Failed to bind Shiny inputs/outputs: ${i}`})}}}static async _throttledBind(t){await this.#i(t)}#p(){this.querySelector("pre code")&&this.querySelectorAll("pre code").forEach(i=>{if(i.dataset.highlighted==="yes")return;To.highlightElement(i);let r=xt("button",{class:"code-copy-button",title:"Copy to clipboard"});r.innerHTML='',i.prepend(r),new oa.default(r,{target:()=>i}).on("success",s=>{r.classList.add("code-copy-button-checked"),setTimeout(()=>r.classList.remove("code-copy-button-checked"),2e3),s.clearSelection()})})}#n;#s;#a;#o;#c(){let t=this.#n;return t?t.scrollHeight-(t.scrollTop+t.clientHeight)<50:!1}#l(){let t=this.#u();t!==this.#n&&(this.#n?.removeEventListener("scroll",this.#o),this.#n=t,this.#n?.addEventListener("scroll",this.#o))}#u(){if(!this.auto_scroll)return null;let t=this;for(;t;){if(t.scrollHeight>t.clientHeight)return t;if(t=t.parentElement,t?.tagName?.toLowerCase()===Ri.toLowerCase())break}return null}#d(){let t=this.#n;!t||this.#a||t.scroll({top:t.scrollHeight-t.clientHeight,behavior:this.streaming?"instant":"smooth"})}#g(){this.#n?.removeEventListener("scroll",this.#o),this.#n=null,this.#a=!1}};K([W()],Ce.prototype,"content",2),K([W({attribute:"content-type"})],Ce.prototype,"content_type",2),K([W({type:Boolean,reflect:!0})],Ce.prototype,"streaming",2),K([W({type:Boolean,reflect:!0,attribute:"auto-scroll"})],Ce.prototype,"auto_scroll",2),K([W({type:Function})],Ce.prototype,"onContentChange",2),K([W({type:Function})],Ce.prototype,"onStreamEnd",2),K([ta(200)],Ce,"_throttledBind",1);var Ci=Ce;customElements.get("shiny-markdown-stream")||customElements.define("shiny-markdown-stream",Ci);async function Qu(n){let e=document.getElementById(n.id);if(!e){nt({status:"error",message:`Unable to handle MarkdownStream() message since element with id ${n.id} wasn't found. Do you need to call .ui() (Express) or need a - output_markdown_stream('${n.id}') in the UI (Core)?`});return}if(zu(n)){e.streaming=n.isStreaming;return}if(n.html_deps&&await kn(n.html_deps),n.operation==="replace")e.setAttribute("content",n.content);else if(n.operation==="append"){let t=e.getAttribute("content");e.setAttribute("content",t+n.content)}else throw new Error(`Unknown operation: ${n.operation}`)}window.Shiny.addCustomMessageHandler("shinyMarkdownStreamMessage",Gu);export{Si as MarkdownElement,Hu as contentToHTML}; + output_markdown_stream('${n.id}') in the UI (Core)?`});return}if(Zu(n)){e.streaming=n.isStreaming;return}if(n.html_deps&&await Rn(n.html_deps),n.operation==="replace")e.setAttribute("content",n.content);else if(n.operation==="append"){let t=e.getAttribute("content");e.setAttribute("content",t+n.content)}else throw new Error(`Unknown operation: ${n.operation}`)}window.Shiny?.addCustomMessageHandler("shinyMarkdownStreamMessage",Qu);export{Ci as MarkdownElement,Xu as contentToHTML}; /*! Bundled license information: clipboard/dist/clipboard.js: diff --git a/js/dist/markdown-stream/markdown-stream.js.map b/js/dist/markdown-stream/markdown-stream.js.map index ee6b042f..74748aa5 100644 --- a/js/dist/markdown-stream/markdown-stream.js.map +++ b/js/dist/markdown-stream/markdown-stream.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../node_modules/clipboard/dist/clipboard.js", "../../node_modules/highlight.js/lib/core.js", "../../node_modules/highlight.js/lib/languages/xml.js", "../../node_modules/highlight.js/lib/languages/bash.js", "../../node_modules/highlight.js/lib/languages/c.js", "../../node_modules/highlight.js/lib/languages/cpp.js", "../../node_modules/highlight.js/lib/languages/csharp.js", "../../node_modules/highlight.js/lib/languages/css.js", "../../node_modules/highlight.js/lib/languages/markdown.js", "../../node_modules/highlight.js/lib/languages/diff.js", "../../node_modules/highlight.js/lib/languages/ruby.js", "../../node_modules/highlight.js/lib/languages/go.js", "../../node_modules/highlight.js/lib/languages/graphql.js", "../../node_modules/highlight.js/lib/languages/ini.js", "../../node_modules/highlight.js/lib/languages/java.js", "../../node_modules/highlight.js/lib/languages/javascript.js", "../../node_modules/highlight.js/lib/languages/json.js", "../../node_modules/highlight.js/lib/languages/kotlin.js", "../../node_modules/highlight.js/lib/languages/less.js", "../../node_modules/highlight.js/lib/languages/lua.js", "../../node_modules/highlight.js/lib/languages/makefile.js", "../../node_modules/highlight.js/lib/languages/perl.js", "../../node_modules/highlight.js/lib/languages/objectivec.js", "../../node_modules/highlight.js/lib/languages/php.js", "../../node_modules/highlight.js/lib/languages/php-template.js", "../../node_modules/highlight.js/lib/languages/plaintext.js", "../../node_modules/highlight.js/lib/languages/python.js", "../../node_modules/highlight.js/lib/languages/python-repl.js", "../../node_modules/highlight.js/lib/languages/r.js", "../../node_modules/highlight.js/lib/languages/rust.js", "../../node_modules/highlight.js/lib/languages/scss.js", "../../node_modules/highlight.js/lib/languages/shell.js", "../../node_modules/highlight.js/lib/languages/sql.js", "../../node_modules/highlight.js/lib/languages/swift.js", "../../node_modules/highlight.js/lib/languages/yaml.js", "../../node_modules/highlight.js/lib/languages/typescript.js", "../../node_modules/highlight.js/lib/languages/vbnet.js", "../../node_modules/highlight.js/lib/languages/wasm.js", "../../node_modules/highlight.js/lib/common.js", "../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../src/markdown-stream/markdown-stream.ts", "../../node_modules/highlight.js/es/common.js", "../../node_modules/marked/src/defaults.ts", "../../node_modules/marked/src/helpers.ts", "../../node_modules/marked/src/Tokenizer.ts", "../../node_modules/marked/src/rules.ts", "../../node_modules/marked/src/Lexer.ts", "../../node_modules/marked/src/Renderer.ts", "../../node_modules/marked/src/TextRenderer.ts", "../../node_modules/marked/src/Parser.ts", "../../node_modules/marked/src/Hooks.ts", "../../node_modules/marked/src/Instance.ts", "../../node_modules/marked/src/marked.ts", "../../node_modules/dompurify/src/utils.ts", "../../node_modules/dompurify/src/tags.ts", "../../node_modules/dompurify/src/attrs.ts", "../../node_modules/dompurify/src/regexp.ts", "../../node_modules/dompurify/src/purify.ts", "../../src/utils/_utils.ts", "../../src/chat/chat.ts"], - "sourcesContent": ["/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '
';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n 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/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.11.1\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n modeBuffer += \"\\n\";\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n highlightAll();\n }\n\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n // make sure the event listener is only added once\n if (!wantsHighlight) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n", "/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[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]/, regex.optional(/[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]*:/), /[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 // const XML_IDENT_RE = /[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 // const TAG_NAME_RE = regex.concat(/[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]/, regex.optional(/[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]*:/), /[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 // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the ',\n}\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\"\n @property({ attribute: \"content-type\" }) contentType: ContentType = \"markdown\"\n @property({ type: Boolean, reflect: true }) streaming = false\n @property() icon = \"\"\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot\n\n return html`\n
${unsafeHTML(icon)}
\n \n `\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible()\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n if (el.hasAttribute(\"tabindex\")) return\n\n el.setAttribute(\"tabindex\", \"0\")\n el.setAttribute(\"role\", \"button\")\n\n const suggestion = el.dataset.suggestion || el.textContent\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`)\n })\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\"\n\n render() {\n return html`\n \n `\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean\n focus?: boolean\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\"\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled\n if (value === oldValue) {\n return\n }\n\n this._disabled = value\n if (value) {\n this.setAttribute(\"disabled\", \"\")\n } else {\n this.removeAttribute(\"disabled\")\n }\n\n this.requestUpdate(\"disabled\", oldValue)\n this.#onInput()\n }\n\n private _disabled = false\n inputVisibleObserver?: IntersectionObserver\n\n connectedCallback(): void {\n super.connectedCallback()\n\n this.inputVisibleObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) this.#updateHeight()\n })\n })\n\n this.inputVisibleObserver.observe(this)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n this.inputVisibleObserver?.disconnect()\n this.inputVisibleObserver = undefined\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null,\n ) {\n super.attributeChangedCallback(name, _old, value)\n if (name === \"disabled\") {\n this.disabled = value !== null\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement\n }\n\n private get value(): string {\n return this.textarea.value\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement\n }\n\n render() {\n const icon =\n ''\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault()\n this.#sendInput()\n }\n }\n\n #onInput(): void {\n this.#updateHeight()\n this.button.disabled = this.disabled ? true : this.value.trim().length === 0\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput()\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return\n if (this.disabled) return\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" })\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n })\n this.dispatchEvent(sentEvent)\n\n this.setInputValue(\"\")\n this.disabled = true\n\n if (focus) this.textarea.focus()\n }\n\n #updateHeight(): void {\n const el = this.textarea\n if (el.scrollHeight == 0) {\n return\n }\n el.style.height = \"auto\"\n el.style.height = `${el.scrollHeight}px`\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {},\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value\n\n this.textarea.value = value\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true })\n this.textarea.dispatchEvent(inputEvent)\n\n if (submit) {\n this.#sendInput(false)\n if (oldValue) this.setInputValue(oldValue)\n }\n\n if (focus) {\n this.textarea.focus()\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\"\n inputSentinelObserver?: IntersectionObserver\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild\n return last ? (last as ChatMessage) : null\n }\n\n render() {\n return html``\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\")\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement\n this.input.insertAdjacentElement(\"afterend\", sentinel)\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\")\n if (!inputTextarea) return\n const addShadow = entries[0]?.intersectionRatio === 0\n inputTextarea.classList.toggle(\"shadow\", addShadow)\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n },\n )\n\n this.inputSentinelObserver.observe(sentinel)\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.addEventListener(\"click\", this.#onInputSuggestionClick)\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n\n this.inputSentinelObserver?.disconnect()\n this.inputSentinelObserver = undefined\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.removeEventListener(\"click\", this.#onInputSuggestionClick)\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n this.#addLoadingMessage()\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage()\n if (!this.input.disabled) {\n this.input.disabled = true\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage()\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant\n }\n\n const msg = createElement(TAG_NAME, message)\n this.messages.appendChild(msg)\n\n if (finalize) {\n this.#finalizeMessage()\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n }\n const message = createElement(CHAT_MESSAGE_TAG, loading_message)\n this.messages.appendChild(message)\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content\n if (!content) this.lastMessage?.remove()\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail)\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false)\n }\n\n const lastMessage = this.lastMessage\n if (!lastMessage) throw new Error(\"No messages found in the chat output\")\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\")\n return\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content\n\n lastMessage.setAttribute(\"content\", content)\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\")\n this.#finalizeMessage()\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\"\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus })\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \"\n if (!isEnterOrSpace) return\n\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target)\n if (!suggestion) return\n\n e.preventDefault()\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n })\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string\n submit?: boolean\n } {\n if (!(x instanceof HTMLElement)) return {}\n\n const el = x.closest(\".suggestion, [data-suggestion]\")\n if (!(el instanceof HTMLElement)) return {}\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") || el.dataset.suggestion !== undefined\n if (!isSuggestion) return {}\n\n const suggestion = el.dataset.suggestion || el.textContent\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n }\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage()\n this.#finalizeMessage()\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nconst chatCustomElements = [\n { tag: CHAT_MESSAGE_TAG, component: ChatMessage },\n { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage },\n { tag: CHAT_MESSAGES_TAG, component: ChatMessages },\n { tag: CHAT_INPUT_TAG, component: ChatInput },\n { tag: CHAT_CONTAINER_TAG, component: ChatContainer },\n]\n\nchatCustomElements.forEach(({ tag, component }) => {\n if (!customElements.get(tag)) {\n customElements.define(tag, component)\n }\n})\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps)\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n })\n\n const el = document.getElementById(message.id)\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n })\n return\n }\n\n el.dispatchEvent(evt)\n },\n)\n\nexport { CHAT_CONTAINER_TAG }\n"], - "mappings": "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EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAUL,EAAK,QACnBA,EAAK,QAAQ,EACb,CACE,MAAO,CACL,SACA,MACF,EACA,MAAO,CACL,EAAG,SACL,CACF,CACF,EACMM,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBN,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMO,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRP,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKG,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAX,EAAK,YACLE,CACF,CACF,EACMU,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBb,EAAK,QAAQ,CACjC,OAAQ,IAAIY,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEd,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMe,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,OACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,SACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CACP,KACA,KACF,EACA,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAb,EAAK,QAAQ,EACbc,EACAH,EACAN,EACAC,EACAW,EACAV,EACAC,EACAC,EACAC,EACAR,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCxZjB,IAAAuB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,IACrBF,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAJC,UAI4B,EACvD,IAGIK,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAKMC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEP,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACX,EACAA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,cAAe,EACxB,CAAE,MAAO,iFAAkF,EAC3F,CAAE,MAAO,kHAAmH,EAC5H,CAAE,MAAO,wDAAyD,CACtE,EACE,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,yGACyD,EAC7D,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAT,EAAK,QAAQO,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAL,EACAF,EAAK,oBACP,CACF,EAEMU,EAAa,CACjB,UAAW,QACX,MAAOT,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMW,EAAiBV,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAoFhEY,EAAW,CACf,QAnFiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,gBACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EAyCE,KAvCc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,UACA,WACA,aACA,aACA,aACA,aACA,cACA,cACA,eACA,WACA,WACA,WACA,YACA,YACA,YACA,aAEA,QACA,SACA,YAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAH,EACAJ,EACAF,EAAK,qBACLQ,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMV,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOT,EACP,SAAUS,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEX,EAAK,QAAQU,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRV,EACAF,EAAK,qBACLO,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUM,EACV,UAAW,EACX,SAAU,CACR,OACAV,EACAF,EAAK,qBACLO,EACAC,EACAF,CACF,CACF,CACF,CACF,EACAA,EACAJ,EACAF,EAAK,qBACLS,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOT,EAAK,SAAW,KACvB,SAAUY,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCZ,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcS,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAd,GAAO,QAAUC,KC5UjB,IAAAiB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,cACrBF,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAJC,UAI4B,EACvD,IAEIK,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAKMC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEP,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACX,EACAA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMQ,EAAU,CACd,UAAW,SACX,SAAU,CAER,CAAE,MACA,8UAkBF,EAEA,CAAE,MACA,6JAcF,CACF,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAT,EAAK,QAAQO,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAL,EACAF,EAAK,oBACP,CACF,EAEMU,EAAa,CACjB,UAAW,QACX,MAAOT,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMW,EAAiBV,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEY,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,WACA,WACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOd,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMiB,EAAsB,CAC1BD,EACAR,EACAH,EACAJ,EACAF,EAAK,qBACLQ,EACAD,CACF,EAEMY,GAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,UAAW,WACX,MAAO,IAAMf,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOb,EACP,SAAUa,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRd,EACAF,EAAK,qBACLO,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUU,EACV,UAAW,EACX,SAAU,CACR,OACAd,EACAF,EAAK,qBACLO,EACAC,EACAF,CACF,CACF,CACF,CACF,EACAA,EACAJ,EACAF,EAAK,qBACLS,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,GACAC,EACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,8NACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAV,CACF,CACF,EACA,CACE,MAAON,EAAK,SAAW,KACvB,SAAUgB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEAlB,GAAO,QAAUC,KC5lBjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,OACA,QACA,QACA,KACA,aACA,UACA,SACA,OACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,WACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAa,CACjB,UAAW,SACX,MAAO,4BACP,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBX,EAAK,QAAQU,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUN,CACZ,EACMO,EAAcb,EAAK,QAAQY,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBd,EAAK,iBACLa,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqChB,EAAK,QAAQe,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAa,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAX,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMiB,EAAS,CAAE,SAAU,CACzBR,EACAM,EACAD,EACAJ,EACAV,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIkB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BX,CACF,CACF,EACMY,EAAgBnB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFoB,EAAgB,CAGpB,MAAO,IAAMpB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAiB,EACAT,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAW,EACAlB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAW,EACAlB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMmB,EAAgB,SAAWnB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLkB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUZ,EACV,UAAW,EACX,SAAU,CACRW,EACAT,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAoB,CACF,CACF,CACF,CAEAtB,GAAO,QAAUC,KC3ZjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAUjB,SAASC,GAAIR,EAAM,CACjB,IAAMS,EAAQT,EAAK,MACbU,EAAQX,GAAMC,CAAI,EAClBW,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdf,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRU,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAL,GAAO,QAAUU,KCp7BjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EAqCtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CA1CG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAwBIX,EACAG,EACAI,EACAC,EAzBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAsBIT,EACAD,EACAK,EACAF,EAvBW,CAEb,MAAO,UACP,MAAO,oDACT,CAqBE,CACF,CACF,CAEAR,GAAO,QAAUC,KCvPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,UACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EASlB,IAAMC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUD,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAfW,QAeY,IAbX,kCAakC,IAZtC,iDAYyD,WACxE,OAAQ,CACN,IAAK,IACL,SAAUV,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOgB,EAAW,EAClB,OAAOR,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,6DACP,UAAW,CACb,EACA,CACE,MAAO,sFACP,UAAW,CACb,EACA,CACE,MAAO,wBACP,UAAW,CACb,EACA,CACE,MAAO,uCACP,UAAW,CACb,EACA,CACE,MAAO,wDACP,UAAW,CACb,CACF,CACF,EACA,CAAE,MAAO,IACT,EACA,CACE,UAAW,WACX,cAAe,OACf,IAAK,cACL,WAAY,GACZ,SAAU,CACRA,EAAK,WACL,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,QAAS,MACX,CACF,CACF,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC3JjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAQC,EAAM,CACrB,IAAMC,EAAQD,EAAK,MACbE,EAAW,yBACjB,MAAO,CACL,KAAM,UACN,QAAS,CAAE,KAAM,EACjB,iBAAkB,GAClB,kBAAmB,GACnB,SAAU,CACR,QAAS,CACP,QACA,WACA,eACA,OACA,QACA,SACA,YACA,YACA,QACA,SACA,WACA,OACA,IACF,EACA,QAAS,CACP,OACA,QACA,MACF,CACF,EACA,SAAU,CACRF,EAAK,kBACLA,EAAK,kBACLA,EAAK,YACL,CACE,MAAO,cACP,MAAO,SACP,UAAW,CACb,EACA,CACE,MAAO,cACP,MAAO,4BACP,UAAW,CACb,EACA,CACE,MAAO,WACP,MAAO,KACP,IAAK,KACL,WAAY,GACZ,UAAW,CACb,EACA,CACE,MAAO,OACP,MAAO,OACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAOC,EAAM,OAAOC,EAAUD,EAAM,UAAU,MAAM,CAAC,EACrD,UAAW,CACb,CACF,EACA,QAAS,CACP,QACA,OACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7EjB,IAAAI,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAU,CACd,UAAW,SACX,UAAW,EACX,SAAU,CACR,CAAE,MAAO,sBAAuB,EAChC,CAAE,MAAOF,EAAK,SAAU,CAC1B,CACF,EACMG,EAAWH,EAAK,QAAQ,EAC9BG,EAAS,SAAW,CAClB,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,CACF,EACA,IAAMC,EAAY,CAChB,UAAW,WACX,SAAU,CACR,CAAE,MAAO,mBAAoB,EAC7B,CAAE,MAAO,aAAc,CACzB,CACF,EACMC,EAAW,CACf,UAAW,UACX,MAAO,8BACT,EACMC,EAAU,CACd,UAAW,SACX,SAAU,CAAEN,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,MACP,IAAK,MACL,UAAW,EACb,EACA,CACE,MAAO,MACP,IAAK,MACL,UAAW,EACb,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACMO,EAAQ,CACZ,MAAO,KACP,IAAK,KACL,SAAU,CACRJ,EACAE,EACAD,EACAE,EACAJ,EACA,MACF,EACA,UAAW,CACb,EAEMM,EAAW,iBACXC,EAA0B,gBAC1BC,EAA0B,UAC1BC,EAAUV,EAAM,OACpBO,EAAUC,EAAyBC,CACrC,EACME,EAAaX,EAAM,OACvBU,EAAS,eAAgBA,EAAS,KAClCV,EAAM,UAAU,eAAe,CACjC,EAEA,MAAO,CACL,KAAM,iBACN,QAAS,CAAE,MAAO,EAClB,iBAAkB,GAClB,QAAS,KACT,SAAU,CACRE,EACA,CACE,UAAW,UACX,MAAO,MACP,IAAK,KACP,EACA,CACE,MAAOS,EACP,UAAW,OACX,OAAQ,CACN,IAAK,IACL,SAAU,CACRT,EACAI,EACAF,EACAD,EACAE,EACAJ,CACF,CACF,CACF,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCxHjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CACA,IAAIC,GAAgB,kBAChBC,GAAO,OAAOD,EAAa,IAC3BE,GAAY,8BACZC,GAAU,CACZ,UAAW,SACX,SAAU,CAGR,CAAE,MAAO,QAAQH,EAAa,MAAMC,EAAI,YAAYA,EAAI,eACzCD,EAAa,aAAc,EAE1C,CAAE,MAAO,OAAOA,EAAa,MAAMC,EAAI,8BAA+B,EACtE,CAAE,MAAO,IAAIA,EAAI,aAAc,EAC/B,CAAE,MAAO,OAAOD,EAAa,YAAa,EAG1C,CAAE,MAAO,aAAaE,EAAS,UAAUA,EAAS,SAASA,EAAS,eACrDF,EAAa,aAAc,EAG1C,CAAE,MAAO,gCAAiC,EAG1C,CAAE,MAAO,YAAYE,EAAS,WAAY,EAG1C,CAAE,MAAO,wBAAyB,EAGlC,CAAE,MAAO,+BAAgC,CAC3C,EACA,UAAW,CACb,EAqBA,SAASE,GAAWC,EAAIC,EAAcC,EAAO,CAC3C,OAAIA,IAAU,GAAW,GAElBF,EAAG,QAAQC,EAAcE,GACvBJ,GAAWC,EAAIC,EAAcC,EAAQ,CAAC,CAC9C,CACH,CAGA,SAASE,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAgB,iDAChBC,EAAmBD,EACrBR,GAAW,OAASQ,EAAgB,kBAAoBA,EAAgB,WAAY,OAAQ,CAAC,EAsE3FE,EAAW,CACf,QAtEoB,CACpB,eACA,WACA,UACA,MACA,SACA,KACA,SACA,MACA,QACA,WACA,UACA,YACA,SACA,SACA,QACA,OACA,OACA,OACA,QACA,YACA,QACA,aACA,WACA,OACA,SACA,UACA,UACA,SACA,MACA,SACA,WACA,SACA,YACA,SACA,UACA,SACA,WACA,UACA,KACA,SACA,QACA,UACA,OACA,MACF,EA0BE,QAnBe,CACf,QACA,OACA,MACF,EAgBE,KAdY,CACZ,OACA,UACA,OACA,QACA,MACA,OACA,QACA,QACF,EAME,SA1BgB,CAChB,QACA,MACF,CAwBA,EAEMC,EAAa,CACjB,UAAW,OACX,MAAO,IAAMH,EACb,SAAU,CACR,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAE,MAAO,CACrB,CACF,CACF,EACMI,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,UAAW,EACX,SAAU,CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KClSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,UAEA,OACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,GAIEC,IAAa,KAGbA,IAAa,IACX,CACFF,EAAS,YAAY,EACrB,MACF,CAIIE,IAAa,MAGVV,EAAcC,EAAO,CAAE,MAAOQ,CAAgB,CAAC,GAClDD,EAAS,YAAY,GAOzB,IAAI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,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAmBH,GAAe,OAAOC,EAAe,EAAE,KAAK,EAAE,QAAQ,EAY/E,SAASG,GAAKT,EAAM,CAClB,IAAMU,EAAQX,GAAMC,CAAI,EAClBW,EAAqBH,GAErBI,EAAe,kBACfC,EAAW,UACXC,EAAkB,IAAMD,EAAW,QAAUA,EAAW,OAIxDE,EAAQ,CAAC,EAASC,EAAc,CAAC,EAEjCC,EAAc,SAASC,EAAG,CAC9B,MAAO,CAEL,UAAW,SACX,MAAO,KAAOA,EAAI,MAAQA,CAC5B,CACF,EAEMC,EAAa,SAASC,EAAMC,EAAOC,EAAW,CAClD,MAAO,CACL,UAAWF,EACX,MAAOC,EACP,UAAWC,CACb,CACF,EAEMC,EAAc,CAClB,SAAU,UACV,QAASX,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EAEMoB,EAAc,CAElB,MAAO,MACP,IAAK,MACL,SAAUR,EACV,SAAUO,EACV,UAAW,CACb,EAGAP,EAAY,KACVhB,EAAK,oBACLA,EAAK,qBACLiB,EAAY,GAAG,EACfA,EAAY,GAAG,EACfP,EAAM,gBACN,CACE,MAAO,oBACP,OAAQ,CAC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CF,EAAE,OAAOA,CAAQ,CACnB,EACAJ,EAAK,cACLA,EAAK,iBACLA,EAAK,kBACL,CACE,UAAW,SACX,MAAOC,EACP,IAAKC,EACL,SAAU,CAAEC,CAAc,EAC1B,UAAW,CACb,CACF,CAAC,CACH,CACF,CAEAL,GAAO,QAAUC,KChFjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CAEtB,IAAMC,EAAW,CACf,UAAW,WACX,SAAU,CACR,CACE,MAAO,SAAWD,EAAK,oBAAsB,MAC7C,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CAAE,MAAO,gBAAiB,CAC5B,CACF,EAEME,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRF,EAAK,iBACLC,CACF,CACF,EAEME,EAAO,CACX,UAAW,WACX,MAAO,eACP,IAAK,KACL,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CACRF,EACAC,CACF,CACF,EAEME,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCxFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAO,CACX,MAAO,OACP,MAAO,yBACT,EAC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ApB,GAAO,QAAUC,KCvfjB,IAAAoB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAiBJ,EAAM,OAC3B,SACAC,CAAY,EACRI,EAAW,CACf,MAAO,WACP,MAAO,OAASH,CAClB,EACMI,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBT,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtEU,EAAgBV,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOQ,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUX,EAAK,kBAAkB,SAAS,OAAOQ,CAAK,EACtD,WAAY,CAACI,EAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,EAAE,CAAC,GAAKA,EAAE,CAAC,CAAG,EACjE,SAAU,CAACA,EAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,EAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASd,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKe,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,m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AAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAO,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,EACAH,EACA,CACE,MAAO,CACL,QACA,KACAzB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAuB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxB1B,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUqB,EACV,SAAU,CACR,OACAY,GACA3B,EACAsB,EACA5B,EAAK,qBACLgB,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCjB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAgB,EACAC,CACF,CACF,CACF,CAEAnB,GAAO,QAAUC,KChnBjB,IAAAmC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAAK,iBACP,CACF,EAGMS,EAAY,kBACZC,EAAa,QAAQD,CAAS,UAAUA,CAAS,SAASA,CAAS,OAMnEE,EAAY,OAAOR,EAAe,KAAK,GAAG,CAAC,GAC3CS,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAWR,CACE,MAAO,QAAQH,CAAS,MAAMC,CAAU,eAAeD,CAAS,YAAYE,CAAS,GACvF,EACA,CACE,MAAO,IAAID,CAAU,QACvB,EAQA,CACE,MAAO,0CAA0CC,CAAS,GAC5D,EACA,CACE,MAAO,4BAA4BA,CAAS,GAC9C,EACA,CACE,MAAO,6BAA6BA,CAAS,GAC/C,EACA,CACE,MAAO,mCAAmCA,CAAS,GACrD,EAIA,CACE,MAAO,OAAOF,CAAS,WAAWE,CAAS,GAC7C,CACF,CACF,EACME,EAAe,CACnB,UAAW,UACX,MAAOZ,EAAM,UAAU,SAAS,EAChC,IAAK,IACL,SAAUG,EACV,SAAU,CACR,CACE,MAAO,SACT,EAEA,CACE,MAAO,IACP,IAAK,OACL,eAAgB,EAClB,CACF,CACF,EACMU,EAAS,CACb,UAAW,SACX,SAAU,CAER,CACE,UAAW,GACX,MAAO,UACP,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUV,EACV,SAAU,CACR,OACAC,EACAO,EACAJ,EACAR,EAAK,iBACP,CACF,CACF,CACF,EACA,OAAAM,EAAM,SAAW,CACfE,EACAI,EACAP,CACF,EAEO,CACL,KAAM,SACN,QAAS,CACP,KACA,MACA,SACF,EACA,aAAc,GACd,SAAUD,EACV,QAAS,cACT,SAAU,CACRC,EACAO,EACA,CAEE,MAAO,oBACP,MAAO,UACT,EACA,CAGE,cAAe,KACf,UAAW,CACb,EACA,CAAE,MAAO,SAAU,MAAO,SAAU,EACpCJ,EACAK,EACAb,EAAK,kBACL,CACE,MAAO,CACL,QAAS,MACTE,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CAAEY,CAAO,CACrB,EACA,CACE,SAAU,CACR,CACE,MAAO,CACL,UAAW,MACXZ,EAAU,MACV,QAASA,EAAS,OACpB,CACF,EACA,CACE,MAAO,CACL,UAAW,MACXA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,uBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,WACP,IAAK,UACL,SAAU,CACRU,EACAE,EACAN,CACF,CACF,CACF,CACF,CACF,CAEAV,GAAO,QAAUC,KCnbjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAWC,EAAM,CACxB,MAAO,CACL,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,cACX,OAAQ,CAGN,IAAK,MACL,OAAQ,CACN,IAAK,IACL,YAAa,QACf,CACF,EACA,SAAU,CACR,CAAE,MAAO,eAAgB,EACzB,CAAE,MAAO,kBAAmB,CAC9B,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC/BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAObE,EAAW,uDACXC,EAAkBF,EAAM,OAE5B,gDAEA,0CAEA,+CACF,EACMG,EAAe,mEACfC,EAAiBJ,EAAM,OAC3B,OACA,OACA,OACA,QACA,KACA,GACF,EAEA,MAAO,CACL,KAAM,IAEN,SAAU,CACR,SAAUC,EACV,QACE,kDACF,QACE,wFAEF,SAEE,ghCAqBJ,EAEA,SAAU,CAERF,EAAK,QACH,KACA,IACA,CAAE,SAAU,CACV,CAME,MAAO,SACP,MAAO,YACP,OAAQ,CACN,IAAKC,EAAM,UAAUA,EAAM,OAEzB,yBAEA,WACF,CAAC,EACD,WAAY,EACd,CACF,EACA,CAGE,MAAO,SACP,MAAO,SACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,WACP,SAAU,CACR,CAAE,MAAOC,CAAS,EAClB,CAAE,MAAO,mBAAoB,CAC/B,EACA,WAAY,EACd,CACF,CACF,EACA,CACE,MAAO,SACP,MAAO,YACT,EACA,CACE,MAAO,UACP,MAAO,aACT,CACF,CAAE,CACJ,EAEAF,EAAK,kBAEL,CACE,MAAO,SACP,SAAU,CAAEA,EAAK,gBAAiB,EAClC,SAAU,CACRA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MAGbE,EAAiB,QACjBC,EAAsBF,EAAM,OAAOC,EAAgBF,EAAK,mBAAmB,EAC3EI,EAAWH,EAAM,OAAOC,EAAgBF,EAAK,QAAQ,EAErDK,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOJ,EAAM,OACX,KACA,oCACAG,EACAH,EAAM,UAAU,OAAO,CAAC,CAC5B,EACMK,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,QACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUV,EAAK,SAAW,KAC1B,KAAMU,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRT,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SAEX,MAAO,8BACT,EACA,CACE,MAAO,SACP,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CACE,MAAO,MACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,cACP,MAAO,+BACT,CACF,CACF,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBM,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRH,EAAK,gBACP,CACF,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAG,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EACA,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOH,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUS,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KCrUjB,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAYjB,SAASC,GAAKR,EAAM,CAClB,IAAMS,EAAQV,GAAMC,CAAI,EAClBU,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRd,EAAK,oBACLA,EAAK,qBAGLS,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNT,EAAK,kBACLA,EAAK,iBACLS,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAd,EAAK,kBACLA,EAAK,iBACLS,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAX,GAAO,QAAUU,KC16BjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,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,WACA,SACA,MACA,OACA,SACA,SACA,YACA,QACA,SACA,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF,EAGMG,GAAuB,CAC3B,MACA,0BACA,QACA,4BACA,cACA,kCACA,UACA,8BACA,OACA,2BACA,OACF,EAaA,SAASC,GAAMC,EAAM,CACnB,IAAMC,EAAa,CACjB,MAAO,MACP,UAAW,CACb,EAEMC,EAAgBF,EAAK,QACzB,OACA,OACA,CAAE,SAAU,CAAE,MAAO,CAAE,CACzB,EACMG,EAAW,CACfH,EAAK,oBACLE,CACF,EAIME,EAAc,CAClB,MAAO,CACL,KACAzB,GAAO,GAAGG,GAAa,GAAGC,EAAmB,CAC/C,EACA,UAAW,CAAE,EAAG,SAAU,CAC5B,EACMsB,EAAgB,CAEpB,MAAO/B,EAAO,KAAMK,GAAO,GAAGM,EAAQ,CAAC,EACvC,UAAW,CACb,EACMqB,EAAiBrB,GACpB,OAAOsB,GAAM,OAAOA,GAAO,QAAQ,EACnC,OAAO,CAAE,KAAM,CAAC,EACbC,EAAiBvB,GACpB,OAAOsB,GAAM,OAAOA,GAAO,QAAQ,EACnC,OAAOvB,EAAY,EACnB,IAAIJ,EAAc,EACf6B,EAAU,CAAE,SAAU,CAC1B,CACE,UAAW,UACX,MAAO9B,GAAO,GAAG6B,EAAgB,GAAGzB,EAAmB,CACzD,CACF,CAAE,EAEI2B,EAAW,CACf,SAAU/B,GACR,QACA,MACF,EACA,QAAS2B,EACN,OAAOlB,EAAkB,EAC5B,QAASF,EACX,EACMyB,EAAgB,CACpBP,EACAC,EACAI,CACF,EAGMG,EAAiB,CAErB,MAAOtC,EAAO,KAAMK,GAAO,GAAGU,EAAQ,CAAC,EACvC,UAAW,CACb,EACMwB,EAAW,CACf,UAAW,WACX,MAAOvC,EAAO,KAAMK,GAAO,GAAGU,EAAQ,EAAG,QAAQ,CACnD,EACMyB,EAAY,CAChBF,EACAC,CACF,EAGME,EAAiB,CAErB,MAAO,KACP,UAAW,CACb,EACMC,EAAW,CACf,UAAW,WACX,UAAW,EACX,SAAU,CACR,CAAE,MAAOxB,EAAS,EAClB,CAIE,MAAO,WAAWD,EAAiB,IAAK,CAC5C,CACF,EACM0B,EAAY,CAChBF,EACAC,CACF,EAIME,EAAgB,aAChBC,EAAY,mBACZC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAa,SAASA,CAAa,iBAAsBA,CAAa,QAAS,EAE/F,CAAE,MAAO,SAASC,CAAS,SAASA,CAAS,iBAAsBD,CAAa,QAAS,EAEzF,CAAE,MAAO,kBAAmB,EAE5B,CAAE,MAAO,iBAAkB,CAC7B,CACF,EAGMG,EAAoB,CAACC,EAAe,MAAQ,CAChD,UAAW,QACX,SAAU,CACR,CAAE,MAAOhD,EAAO,KAAMgD,EAAc,YAAY,CAAE,EAClD,CAAE,MAAOhD,EAAO,KAAMgD,EAAc,uBAAuB,CAAE,CAC/D,CACF,GACMC,EAAkB,CAACD,EAAe,MAAQ,CAC9C,UAAW,QACX,MAAOhD,EAAO,KAAMgD,EAAc,uBAAuB,CAC3D,GACME,EAAgB,CAACF,EAAe,MAAQ,CAC5C,UAAW,QACX,MAAO,WACP,MAAOhD,EAAO,KAAMgD,EAAc,IAAI,EACtC,IAAK,IACP,GACMG,GAAmB,CAACH,EAAe,MAAQ,CAC/C,MAAOhD,EAAOgD,EAAc,KAAK,EACjC,IAAKhD,EAAO,MAAOgD,CAAY,EAC/B,SAAU,CACRD,EAAkBC,CAAY,EAC9BC,EAAgBD,CAAY,EAC5BE,EAAcF,CAAY,CAC5B,CACF,GACMI,EAAqB,CAACJ,EAAe,MAAQ,CACjD,MAAOhD,EAAOgD,EAAc,GAAG,EAC/B,IAAKhD,EAAO,IAAKgD,CAAY,EAC7B,SAAU,CACRD,EAAkBC,CAAY,EAC9BE,EAAcF,CAAY,CAC5B,CACF,GACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRF,GAAiB,EACjBA,GAAiB,GAAG,EACpBA,GAAiB,IAAI,EACrBA,GAAiB,KAAK,EACtBC,EAAmB,EACnBA,EAAmB,GAAG,EACtBA,EAAmB,IAAI,EACvBA,EAAmB,KAAK,CAC1B,CACF,EAEME,GAAkB,CACtB5B,EAAK,iBACL,CACE,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,EAEM6B,EAAsB,CAC1B,MAAO,uBACP,IAAK,KACL,SAAUD,EACZ,EAEME,GAA2BR,GAAiB,CAChD,IAAMS,GAAQzD,EAAOgD,EAAc,IAAI,EACjCU,EAAM1D,EAAO,KAAMgD,CAAY,EACrC,MAAO,CACL,MAAAS,GACA,IAAAC,EACA,SAAU,CACR,GAAGJ,GACH,CACE,MAAO,UACP,MAAO,SAASI,CAAG,IACnB,IAAK,GACP,CACF,CACF,CACF,EAGMC,GAAS,CACb,MAAO,SACP,SAAU,CACRH,GAAwB,KAAK,EAC7BA,GAAwB,IAAI,EAC5BA,GAAwB,GAAG,EAC3BD,CACF,CACF,EAGMK,EAAoB,CAAE,MAAO5D,EAAO,IAAKqB,GAAY,GAAG,CAAE,EAC1DwC,GAAqB,CACzB,UAAW,WACX,MAAO,OACT,EACMC,EAA8B,CAClC,UAAW,WACX,MAAO,MAAM1C,EAAmB,GAClC,EACM2C,EAAc,CAClBH,EACAC,GACAC,CACF,EAGME,EAAsB,CAC1B,MAAO,sBACP,MAAO,UACP,OAAQ,CAAE,SAAU,CAClB,CACE,MAAO,KACP,IAAK,KACL,SAAUxC,GACV,SAAU,CACR,GAAGmB,EACHG,EACAO,CACF,CACF,CACF,CAAE,CACJ,EAEMY,EAAoB,CACxB,MAAO,UACP,MAAOjE,EAAO,IAAKK,GAAO,GAAGkB,EAAiB,EAAGxB,GAAUM,GAAO,KAAM,KAAK,CAAC,CAAC,CACjF,EAEM6D,EAAyB,CAC7B,MAAO,OACP,MAAOlE,EAAO,IAAKqB,EAAU,CAC/B,EAEM8C,EAAa,CACjBH,EACAC,EACAC,CACF,EAGME,EAAO,CACX,MAAOrE,GAAU,SAAS,EAC1B,UAAW,EACX,SAAU,CACR,CACE,UAAW,OACX,MAAOC,EAAO,gEAAiEoB,GAAqB,GAAG,CACzG,EACA,CACE,UAAW,OACX,MAAOE,GACP,UAAW,CACb,EACA,CACE,MAAO,QACP,UAAW,CACb,EACA,CACE,MAAO,SACP,UAAW,CACb,EACA,CACE,MAAOtB,EAAO,UAAWD,GAAUuB,EAAc,CAAC,EAClD,UAAW,CACb,CACF,CACF,EACM+C,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAUjC,EACV,SAAU,CACR,GAAGP,EACH,GAAGQ,EACH,GAAG8B,EACH1B,EACA2B,CACF,CACF,EACAA,EAAK,SAAS,KAAKC,CAAiB,EAIpC,IAAMC,EAAqB,CACzB,MAAOtE,EAAOqB,GAAY,MAAM,EAChC,SAAU,MACV,UAAW,CACb,EAEMkD,EAAQ,CACZ,MAAO,KACP,IAAK,KACL,UAAW,EACX,SAAUnC,EACV,SAAU,CACR,OACAkC,EACA,GAAGzC,EACH8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,CACF,CACF,EAEMI,GAAqB,CACzB,MAAO,IACP,IAAK,IACL,SAAU,cACV,SAAU,CACR,GAAG3C,EACHuC,CACF,CACF,EACMK,GAA0B,CAC9B,MAAOpE,GACLN,GAAUC,EAAOqB,GAAY,MAAM,CAAC,EACpCtB,GAAUC,EAAOqB,GAAY,MAAOA,GAAY,MAAM,CAAC,CACzD,EACA,IAAK,IACL,UAAW,EACX,SAAU,CACR,CACE,UAAW,UACX,MAAO,OACT,EACA,CACE,UAAW,SACX,MAAOA,EACT,CACF,CACF,EACMqD,GAAsB,CAC1B,MAAO,KACP,IAAK,KACL,SAAUtC,EACV,SAAU,CACRqC,GACA,GAAG5C,EACH,GAAGQ,EACH,GAAGM,EACHG,EACAO,EACA,GAAGc,EACHC,EACAG,CACF,EACA,WAAY,GACZ,QAAS,MACX,EAGMI,GAAoB,CACxB,MAAO,CACL,eACA,MACAtE,GAAOuD,EAAkB,MAAOvC,GAAYH,EAAQ,CACtD,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRsD,GACAE,GACA/C,CACF,EACA,QAAS,CACP,KACA,GACF,CACF,EAIMiD,GAAiB,CACrB,MAAO,CACL,4BACA,aACF,EACA,UAAW,CAAE,EAAG,SAAU,EAC1B,SAAU,CACRJ,GACAE,GACA/C,CACF,EACA,QAAS,MACX,EAEMkD,GAAuB,CAC3B,MAAO,CACL,WACA,MACA3D,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,CACF,EAGM4D,GAAkB,CACtB,MAAO,CACL,kBACA,MACAxD,EACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,OACL,EACA,SAAU,CAAE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAEMmE,GAAyB,CAC7B,MAAO,CACL,UACA,MACA,SACA,MACA,4BACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,GAAwB,CAC5B,MAAO,CACL,UACA,MACA,OACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,SACL,CACF,EAEMC,GAAmB,CACvB,MAAO,CACL,+CACA,MACA5D,GACA,KACF,EACA,WAAY,CACV,EAAG,UACH,EAAG,aACL,EACA,SAAUe,EACV,SAAU,CACRoC,GACA,GAAGnC,EACH,CACE,MAAO,IACP,IAAK,KACL,SAAUD,EACV,SAAU,CACR,CACE,MAAO,wBACP,MAAOd,EACT,EACA,GAAGe,CACL,EACA,UAAW,CACb,CACF,CACF,EAGA,QAAW6C,KAAW7B,EAAO,SAAU,CACrC,IAAM8B,GAAgBD,EAAQ,SAAS,KAAKE,IAAQA,GAAK,QAAU,UAAU,EAE7ED,GAAc,SAAW/C,EACzB,IAAMiD,EAAW,CACf,GAAGhD,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,CACL,EACAoB,GAAc,SAAW,CACvB,GAAGE,EACH,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACR,OACA,GAAGA,CACL,CACF,CACF,CACF,CAEA,MAAO,CACL,KAAM,QACN,SAAUjD,EACV,SAAU,CACR,GAAGP,EACH8C,GACAC,GACAG,GACAC,GACAC,GACAJ,GACAC,GACA,CACE,cAAe,SACf,IAAK,IACL,SAAU,CAAE,GAAGjD,CAAS,EACxB,UAAW,CACb,EACA8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,EACAG,CACF,CACF,CACF,CAEA3E,GAAO,QAAU6B,KC38BjB,IAAA6D,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAW,yBAGXC,EAAiB,8BAMjBC,EAAM,CACV,UAAW,OACX,SAAU,CAER,CAAE,MAAO,mCAAoC,EAC7C,CACE,MAAO,qCAAsC,EAC/C,CACE,MAAO,qCAAsC,CACjD,CACF,EAEMC,EAAqB,CACzB,UAAW,oBACX,SAAU,CACR,CACE,MAAO,OACP,IAAK,MACP,EACA,CACE,MAAO,MACP,IAAK,IACP,CACF,CACF,EAEMC,EAAsB,CAC1B,UAAW,SACX,UAAW,EACX,MAAO,IACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,KACP,MAAO,cACP,UAAW,CACb,CACF,CACF,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,KAAM,CACjB,EACA,SAAU,CACRN,EAAK,iBACLI,CACF,CACF,EAIMG,EAAmBP,EAAK,QAAQM,EAAQ,CAAE,SAAU,CACxD,CACE,MAAO,IACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,KACP,UAAW,CACb,CACF,CACF,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,cAAe,CAC1B,CAAE,CAAC,EAMGE,EAAY,CAChB,UAAW,SACX,MAAO,MANO,6BACA,yCACI,eACJ,8CAG6C,KAC7D,EAEMC,EAAkB,CACtB,IAAK,IACL,eAAgB,GAChB,WAAY,GACZ,SAAUR,EACV,UAAW,CACb,EACMS,EAAS,CACb,MAAO,KACP,IAAK,KACL,SAAU,CAAED,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EACME,EAAQ,CACZ,MAAO,MACP,IAAK,MACL,SAAU,CAAEF,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EAEMG,EAAQ,CACZT,EACA,CACE,UAAW,OACX,MAAO,YACP,UAAW,EACb,EACA,CAKE,UAAW,SACX,MAAO,+DACT,EACA,CACE,MAAO,WACP,IAAK,UACL,YAAa,OACb,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,SAAWD,CACpB,EAEA,CACE,UAAW,OACX,MAAO,KAAOA,EAAiB,GACjC,EACA,CACE,UAAW,OACX,MAAO,IAAMA,CACf,EACA,CACE,UAAW,OACX,MAAO,KAAOA,CAChB,EACA,CACE,UAAW,OACX,MAAO,IAAMF,EAAK,oBAAsB,GAC1C,EACA,CACE,UAAW,OACX,MAAO,MAAQA,EAAK,oBAAsB,GAC5C,EACA,CACE,UAAW,SAEX,MAAO,aACP,UAAW,CACb,EACAA,EAAK,kBACL,CACE,cAAeC,EACf,SAAU,CAAE,QAASA,CAAS,CAChC,EACAO,EAGA,CACE,UAAW,SACX,MAAOR,EAAK,YAAc,MAC1B,UAAW,CACb,EACAU,EACAC,EACAN,EACAC,CACF,EAEMO,EAAc,CAAE,GAAGD,CAAM,EAC/B,OAAAC,EAAY,IAAI,EAChBA,EAAY,KAAKN,CAAgB,EACjCE,EAAgB,SAAWI,EAEpB,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,CAAE,KAAM,EACjB,SAAUD,CACZ,CACF,CAEAd,GAAO,QAAUC,KCpNjB,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,UAEA,OACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,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A,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACG,EAEG4E,GAAM5E,GAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACC,EAEG6E,GAAa7E,GAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACN,EAMG8E,GAAgB9E,GAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACG,EAEG+E,GAAS/E,GAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACL,EAIGgF,GAAmBhF,GAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACE,EAEGiF,GAAOjF,GAAO,CAAC,OAAO,CAAU,ECpRhC2E,GAAO3E,GAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACE,EAEG4E,GAAM5E,GAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACJ,EAEG+E,GAAS/E,GAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYkF,GAAMlF,GAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACL,EC/WGmF,GAAgBlF,GAAK,2BAA2B,EAChDmF,GAAWnF,GAAK,uBAAuB,EACvCoF,GAAcpF,GAAK,eAAe,EAClCqF,GAAYrF,GAAK,8BAA8B,EAC/CsF,GAAYtF,GAAK,gBAAgB,EACjCuF,GAAiBvF,GAC5B,oGAEWwF,GAAoBxF,GAAK,uBAAuB,EAChDyF,GAAkBzF,GAC7B,+DAEW0F,GAAe1F,GAAK,SAAS,EAC7B2F,GAAiB3F,GAAK,0BAA0B,uMCmBvD4F,GAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,IAGNC,GAAY,UAAA,CAChB,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAChCC,EACAC,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", - "names": ["require_clipboard", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_exports__", "__webpack_require__", "clipboard", "tiny_emitter", "tiny_emitter_default", "listen", "listen_default", "src_select", "select_default", "command", "type", "ClipboardActionCut", "target", "selectedText", "actions_cut", "createFakeElement", "value", "isRTL", "fakeElement", "yPosition", "fakeCopyAction", "options", "ClipboardActionCopy", "actions_copy", "_typeof", "obj", "ClipboardActionDefault", "_options$action", "action", "container", "text", "actions_default", "clipboard_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "props", "i", "descriptor", "_createClass", "protoProps", "staticProps", "_inherits", "subClass", "superClass", "_setPrototypeOf", "o", "p", "_createSuper", "Derived", "hasNativeReflectConstruct", "_isNativeReflectConstruct", "Super", "_getPrototypeOf", "result", "NewTarget", "_possibleConstructorReturn", "self", "call", "_assertThisInitialized", "getAttributeValue", "suffix", "element", "attribute", "Clipboard", "_Emitter", "_super", "trigger", "_this", "_this2", "e", "selector", "actions", "support", "DOCUMENT_NODE_TYPE", "proto", "closest", "__unused_webpack_exports", "_delegate", "callback", "useCapture", "listenerFn", "listener", "delegate", "elements", "is", "listenNode", "listenNodeList", "listenSelector", "node", "nodeList", "select", "isReadOnly", "selection", "range", "E", "name", "ctx", "data", "evtArr", "len", "evts", "liveEvents", "__webpack_module_cache__", "moduleId", "getter", "definition", "key", "prop", "require_core", "__commonJSMin", "exports", "module", "deepFreeze", "obj", "name", "prop", "type", "Response", "mode", "escapeHTML", "value", "inherit$1", "original", "objects", "result", "key", "SPAN_CLOSE", "emitsWrappingTags", "node", "scopeToCSSClass", "prefix", "pieces", "x", "i", "HTMLRenderer", "parseTree", "options", "text", "className", "newNode", "opts", "TokenTree", "_TokenTree", "scope", "builder", "child", "el", "TokenTreeEmitter", "emitter", "source", "re", "lookahead", "concat", "anyNumberOfTimes", "optional", "args", "stripOptionsFromArgs", "either", "countMatchGroups", "startsWith", "lexeme", "match", "BACKREF_RE", "_rewriteBackreferences", "regexps", "joinWith", "numCaptures", "regex", "offset", "out", "MATCH_NOTHING_RE", "IDENT_RE", "UNDERSCORE_IDENT_RE", "NUMBER_RE", "C_NUMBER_RE", "BINARY_NUMBER_RE", "RE_STARTERS_RE", "SHEBANG", "beginShebang", "m", "resp", "BACKSLASH_ESCAPE", "APOS_STRING_MODE", "QUOTE_STRING_MODE", "PHRASAL_WORDS_MODE", "COMMENT", "begin", "end", "modeOptions", "ENGLISH_WORD", "C_LINE_COMMENT_MODE", "C_BLOCK_COMMENT_MODE", "HASH_COMMENT_MODE", "NUMBER_MODE", "C_NUMBER_MODE", "BINARY_NUMBER_MODE", "REGEXP_MODE", "TITLE_MODE", "UNDERSCORE_TITLE_MODE", "METHOD_GUARD", "END_SAME_AS_BEGIN", "MODES", "skipIfHasPrecedingDot", "response", "scopeClassName", "_parent", "beginKeywords", "parent", "compileIllegal", "compileMatch", "compileRelevance", "beforeMatchExt", "originalMode", "COMMON_KEYWORDS", "DEFAULT_KEYWORD_SCOPE", "compileKeywords", "rawKeywords", "caseInsensitive", "scopeName", "compiledKeywords", "compileList", "keywordList", "keyword", "pair", "scoreForKeyword", "providedScore", "commonKeyword", "seenDeprecations", "error", "message", "warn", "deprecated", "version", "MultiClassError", "remapScopeNames", "regexes", "scopeNames", "emit", "positions", "beginMultiClass", "endMultiClass", "scopeSugar", "MultiClass", "compileLanguage", "language", "langRe", "global", "MultiRegex", "terminators", "s", "matchData", "ResumableMultiRegex", "index", "matcher", "m2", "buildModeRegex", "mm", "term", "compileMode", "cmode", "ext", "keywordPattern", "c", "expandOrCloneMode", "dependencyOnParent", "variant", "HTMLInjectionError", "reason", "html", "escape", "inherit", "NO_MATCH", "MAX_KEYWORD_HITS", "HLJS", "hljs", "languages", "aliases", "plugins", "SAFE_MODE", "LANGUAGE_NOT_FOUND", "PLAINTEXT_LANGUAGE", "shouldNotHighlight", "languageName", "blockLanguage", "block", "classes", "getLanguage", "_class", "highlight", "codeOrLanguageName", "optionsOrCode", "ignoreIllegals", "code", "context", "fire", "_highlight", "codeToHighlight", "continuation", "keywordHits", "keywordData", "matchText", "processKeywords", "top", "modeBuffer", "lastIndex", "buf", "word", "data", "kind", "keywordRelevance", "relevance", "cssClass", "emitKeyword", "processSubLanguage", "continuations", "highlightAuto", "processBuffer", "emitMultiClass", "max", "klass", "startNewMode", "endOfMode", "matchPlusRemainder", "matched", "doIgnore", "resumeScanAtSamePosition", "doBeginMatch", "newMode", "beforeCallbacks", "cb", "doEndMatch", "endMode", "origin", "processContinuations", "list", "current", "item", "lastMatch", "processLexeme", "textBeforeMatch", "err", "processed", "iterations", "md", "beforeMatch", "processedCount", "justTextHighlightResult", "languageSubset", "plaintext", "results", "autoDetection", "sorted", "a", "b", "best", "secondBest", "updateClassName", "element", "currentLang", "resultLang", "highlightElement", "configure", "userOptions", "initHighlighting", "highlightAll", "initHighlightingOnLoad", "wantsHighlight", "boot", "registerLanguage", "languageDefinition", "lang", "error$1", "registerAliases", "unregisterLanguage", "alias", "listLanguages", "aliasList", "upgradePluginAPI", "plugin", "addPlugin", "removePlugin", "event", "deprecateHighlightBlock", "require_xml", "__commonJSMin", "exports", "module", "xml", "hljs", "regex", "TAG_NAME_RE", "XML_IDENT_RE", "XML_ENTITIES", "XML_META_KEYWORDS", "XML_META_PAR_KEYWORDS", "APOS_META_STRING_MODE", "QUOTE_META_STRING_MODE", "TAG_INTERNALS", "require_bash", "__commonJSMin", "exports", "module", "bash", "hljs", "regex", "VAR", "BRACED_VAR", "SUBST", "COMMENT", "HERE_DOC", "QUOTE_STRING", "ESCAPED_QUOTE", "APOS_STRING", "ESCAPED_APOS", "ARITHMETIC", "SH_LIKE_SHELLS", "KNOWN_SHEBANG", "FUNCTION", "KEYWORDS", "LITERALS", "PATH_MODE", "SHELL_BUILT_INS", "BASH_BUILT_INS", "ZSH_BUILT_INS", "GNU_CORE_UTILS", "require_c", "__commonJSMin", "exports", "module", "c", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "FUNCTION_TYPE_RE", "TYPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "KEYWORDS", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_cpp", "__commonJSMin", "exports", "module", "cpp", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "FUNCTION_TYPE_RE", "CPP_PRIMITIVE_TYPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "RESERVED_KEYWORDS", "RESERVED_TYPES", "TYPE_HINTS", "FUNCTION_HINTS", "CPP_KEYWORDS", "FUNCTION_DISPATCH", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_csharp", "__commonJSMin", "exports", "module", "csharp", "hljs", "BUILT_IN_KEYWORDS", "FUNCTION_MODIFIERS", "LITERAL_KEYWORDS", "NORMAL_KEYWORDS", "CONTEXTUAL_KEYWORDS", "KEYWORDS", "TITLE_MODE", "NUMBERS", "RAW_STRING", "VERBATIM_STRING", "VERBATIM_STRING_NO_LF", "SUBST", "SUBST_NO_LF", "INTERPOLATED_STRING", "INTERPOLATED_VERBATIM_STRING", "INTERPOLATED_VERBATIM_STRING_NO_LF", "STRING", "GENERIC_MODIFIER", "TYPE_IDENT_RE", "AT_IDENTIFIER", "require_css", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "css", "regex", "modes", "VENDOR_PREFIX", "AT_MODIFIERS", "AT_PROPERTY_RE", "IDENT_RE", "STRINGS", "require_markdown", "__commonJSMin", "exports", "module", "markdown", "hljs", "regex", "INLINE_HTML", "HORIZONTAL_RULE", "CODE", "LIST", "LINK_REFERENCE", "URL_SCHEME", "LINK", "BOLD", "ITALIC", "BOLD_WITHOUT_ITALIC", "ITALIC_WITHOUT_BOLD", "CONTAINABLE", "m", "require_diff", "__commonJSMin", "exports", "module", "diff", "hljs", "regex", "require_ruby", "__commonJSMin", "exports", "module", "ruby", "hljs", "regex", "RUBY_METHOD_RE", "CLASS_NAME_RE", "CLASS_NAME_WITH_NAMESPACE_RE", "RUBY_KEYWORDS", "YARDOCTAG", "IRB_OBJECT", "COMMENT_MODES", "SUBST", "STRING", "decimal", "digits", "NUMBER", "PARAMS", "RUBY_DEFAULT_CONTAINS", "IRB_DEFAULT", "require_go", "__commonJSMin", "exports", "module", "go", "hljs", "KEYWORDS", "require_graphql", "__commonJSMin", "exports", "module", "graphql", "hljs", "regex", "GQL_NAME", "require_ini", "__commonJSMin", "exports", "module", "ini", "hljs", "regex", "NUMBERS", "COMMENTS", "VARIABLES", "LITERALS", "STRINGS", "ARRAY", "BARE_KEY", "QUOTED_KEY_DOUBLE_QUOTE", "QUOTED_KEY_SINGLE_QUOTE", "ANY_KEY", "DOTTED_KEY", "require_java", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "recurRegex", "re", "substitution", "depth", "_", "java", "hljs", "regex", "JAVA_IDENT_RE", "GENERIC_IDENT_RE", "KEYWORDS", "ANNOTATION", "PARAMS", "require_javascript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "x", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "require_json", "__commonJSMin", "exports", "module", "json", "hljs", "ATTRIBUTE", "PUNCTUATION", "LITERALS", "LITERALS_MODE", "require_kotlin", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "kotlin", "hljs", "KEYWORDS", "KEYWORDS_WITH_LABEL", "LABEL", "SUBST", "VARIABLE", "STRING", "ANNOTATION_USE_SITE", "ANNOTATION", "KOTLIN_NUMBER_MODE", "KOTLIN_NESTED_COMMENT", "KOTLIN_PAREN_TYPE", "KOTLIN_PAREN_TYPE2", "require_less", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "PSEUDO_SELECTORS", "less", "modes", "PSEUDO_SELECTORS$1", "AT_MODIFIERS", "IDENT_RE", "INTERP_IDENT_RE", "RULES", "VALUE_MODES", "STRING_MODE", "c", "IDENT_MODE", "name", "begin", "relevance", "AT_KEYWORDS", "PARENS_MODE", "VALUE_WITH_RULESETS", "MIXIN_GUARD_MODE", "RULE_MODE", "AT_RULE_MODE", "VAR_RULE_MODE", "SELECTOR_MODE", "PSEUDO_SELECTOR_MODE", "require_lua", "__commonJSMin", "exports", "module", "lua", "hljs", "OPENING_LONG_BRACKET", "CLOSING_LONG_BRACKET", "LONG_BRACKETS", "COMMENTS", "require_makefile", "__commonJSMin", "exports", "module", "makefile", "hljs", "VARIABLE", "QUOTE_STRING", "FUNC", "ASSIGNMENT", "META", "TARGET", "require_perl", "__commonJSMin", "exports", "module", "perl", "hljs", "regex", "KEYWORDS", "REGEX_MODIFIERS", "PERL_KEYWORDS", "SUBST", "METHOD", "ATTR", "VAR", "NUMBER", "STRING_CONTAINS", "REGEX_DELIMS", "PAIRED_DOUBLE_RE", "prefix", "open", "close", "middle", "PAIRED_RE", "PERL_DEFAULT_CONTAINS", "require_objectivec", "__commonJSMin", "exports", "module", "objectivec", "hljs", "API_CLASS", "IDENTIFIER_RE", "KEYWORDS", "CLASS_KEYWORDS", "require_php", "__commonJSMin", "exports", "module", "php", "hljs", "regex", "NOT_PERL_ETC", "IDENT_RE", "PASCAL_CASE_CLASS_NAME_RE", "UPCASE_NAME_RE", "VARIABLE", "PREPROCESSOR", "SUBST", "SINGLE_QUOTED", "DOUBLE_QUOTED", "HEREDOC", "m", "resp", "NOWDOC", "WHITESPACE", "STRING", "NUMBER", "LITERALS", "KWS", "BUILT_INS", "KEYWORDS", "items", "result", "item", "normalizeKeywords", "CONSTRUCTOR_CALL", "CONSTANT_REFERENCE", "LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON", "NAMED_ARGUMENT", "PARAMS_MODE", "FUNCTION_INVOKE", "ATTRIBUTE_CONTAINS", "ATTRIBUTES", "require_php_template", "__commonJSMin", "exports", "module", "phpTemplate", "hljs", "require_plaintext", "__commonJSMin", "exports", "module", "plaintext", "hljs", "require_python", "__commonJSMin", "exports", "module", "python", "hljs", "regex", "IDENT_RE", "RESERVED_WORDS", "KEYWORDS", "PROMPT", "SUBST", "LITERAL_BRACKET", "STRING", "digitpart", "pointfloat", "lookahead", "NUMBER", "COMMENT_TYPE", "PARAMS", "require_python_repl", "__commonJSMin", "exports", "module", "pythonRepl", "hljs", "require_r", "__commonJSMin", "exports", "module", "r", "hljs", "regex", "IDENT_RE", "NUMBER_TYPES_RE", "OPERATORS_RE", "PUNCTUATION_RE", "require_rust", "__commonJSMin", "exports", "module", "rust", "hljs", "regex", "RAW_IDENTIFIER", "UNDERSCORE_IDENT_RE", "IDENT_RE", "FUNCTION_INVOKE", "NUMBER_SUFFIX", "KEYWORDS", "LITERALS", "BUILTINS", "TYPES", "require_scss", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "scss", "modes", "PSEUDO_ELEMENTS$1", "PSEUDO_CLASSES$1", "AT_IDENTIFIER", "AT_MODIFIERS", "VARIABLE", "require_shell", "__commonJSMin", "exports", "module", "shell", "hljs", "require_sql", "__commonJSMin", "exports", "module", "sql", "hljs", "regex", "COMMENT_MODE", "STRING", "QUOTED_IDENTIFIER", "LITERALS", "MULTI_WORD_TYPES", "TYPES", "NON_RESERVED_WORDS", "RESERVED_WORDS", "RESERVED_FUNCTIONS", "POSSIBLE_WITHOUT_PARENS", "COMBOS", "FUNCTIONS", "KEYWORDS", "keyword", "VARIABLE", "OPERATOR", "FUNCTION_CALL", "kws_to_regex", "list", "kw", "MULTI_WORD_KEYWORDS", "reduceRelevancy", "exceptions", "when", "qualifyFn", "item", "x", "require_swift", "__commonJSMin", "exports", "module", "source", "re", "lookahead", "concat", "args", "x", "stripOptionsFromArgs", "opts", "either", "keywordWrapper", "keyword", "dotKeywords", "optionalDotKeywords", "keywordTypes", "keywords", "literals", "precedencegroupKeywords", "numberSignKeywords", "builtIns", "operatorHead", "operatorCharacter", "operator", "identifierHead", "identifierCharacter", "identifier", "typeIdentifier", "keywordAttributes", "availabilityKeywords", "swift", "hljs", "WHITESPACE", "BLOCK_COMMENT", "COMMENTS", "DOT_KEYWORD", "KEYWORD_GUARD", "PLAIN_KEYWORDS", "kw", "REGEX_KEYWORDS", "KEYWORD", "KEYWORDS", "KEYWORD_MODES", "BUILT_IN_GUARD", "BUILT_IN", "BUILT_INS", "OPERATOR_GUARD", "OPERATOR", "OPERATORS", "decimalDigits", "hexDigits", "NUMBER", "ESCAPED_CHARACTER", "rawDelimiter", "ESCAPED_NEWLINE", "INTERPOLATION", "MULTILINE_STRING", "SINGLE_LINE_STRING", "STRING", "REGEXP_CONTENTS", "BARE_REGEXP_LITERAL", "EXTENDED_REGEXP_LITERAL", "begin", "end", "REGEXP", "QUOTED_IDENTIFIER", "IMPLICIT_PARAMETER", "PROPERTY_WRAPPER_PROJECTION", "IDENTIFIERS", "AVAILABLE_ATTRIBUTE", "KEYWORD_ATTRIBUTE", "USER_DEFINED_ATTRIBUTE", "ATTRIBUTES", "TYPE", "GENERIC_ARGUMENTS", "TUPLE_ELEMENT_NAME", "TUPLE", "GENERIC_PARAMETERS", "FUNCTION_PARAMETER_NAME", "FUNCTION_PARAMETERS", "FUNCTION_OR_MACRO", "INIT_SUBSCRIPT", "OPERATOR_DECLARATION", "PRECEDENCEGROUP", "CLASS_FUNC_DECLARATION", "CLASS_VAR_DECLARATION", "TYPE_DECLARATION", "variant", "interpolation", "mode", "submodes", "require_yaml", "__commonJSMin", "exports", "module", "yaml", "hljs", "LITERALS", "URI_CHARACTERS", "KEY", "TEMPLATE_VARIABLES", "SINGLE_QUOTE_STRING", "STRING", "CONTAINER_STRING", "TIMESTAMP", "VALUE_CONTAINER", "OBJECT", "ARRAY", "MODES", "VALUE_MODES", "require_typescript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "x", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "typescript", "tsLanguage", "NAMESPACE", "INTERFACE", "TS_SPECIFIC_KEYWORDS", "DECORATOR", "swapMode", "mode", "label", "replacement", "indx", "ATTRIBUTE_HIGHLIGHT", "c", "OPTIONAL_KEY_OR_ARGUMENT", "functionDeclaration", "require_vbnet", "__commonJSMin", "exports", "module", "vbnet", "hljs", "regex", "CHARACTER", "STRING", "MM_DD_YYYY", "YYYY_MM_DD", "TIME_12H", "TIME_24H", "DATE", "NUMBER", "LABEL", "DOC_COMMENT", "COMMENT", "require_wasm", "__commonJSMin", "exports", "module", "wasm", "hljs", "BLOCK_COMMENT", "LINE_COMMENT", "KWS", "FUNCTION_REFERENCE", "ARGUMENT", "PARENS", "NUMBER", "TYPE", "MATH_OPERATIONS", "require_common", "__commonJSMin", "exports", "module", "hljs", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "useDefault", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "prototype", "hasOwnProperty", "create", "wrapped", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "get", "v", "oldValue", "call", "requestUpdate", "configurable", "enumerable", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "__defaultValues", "newValue", "hasAttribute", "_$changeProperty", "__enqueueUpdate", "initializeValue", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "mathml", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "wrapper", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "global", "globalThis", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "global", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "Object", "create", "wrapped", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "getOwnPropertyDescriptor", "import_clipboard", "import_common", "common_default", "HighlightJS", "_getDefaults", "_defaults", "changeDefaults", "newDefaults", "escapeTest", "escapeReplace", "escapeTestNoEncode", "escapeReplaceNoEncode", "escapeReplacements", "getEscapeReplacement", "ch", "escape", "html", "encode", "unescapeTest", "unescape", "_", "n", "caret", "edit", "regex", "opt", "source", "obj", "name", "val", "valSource", "cleanUrl", "href", "noopTest", "splitCells", "tableRow", "count", "row", "match", "offset", "str", "escaped", "curr", "cells", "i", "rtrim", "c", "invert", "l", "suffLen", "currChar", "findClosingBracket", "b", "level", "outputLink", "cap", "link", "raw", "lexer", "title", "text", "token", "indentCodeCompensation", "matchIndentToCode", "indentToCode", "node", "matchIndentInNode", "indentInNode", "_Tokenizer", "options", "src", "trimmed", "top", "tokens", "bull", "isordered", "list", "itemRegex", "itemContents", "endsWithBlankLine", "endEarly", "line", "t", "nextLine", "indent", "blankLine", "nextBulletRegex", "hrRegex", "fencesBeginRegex", "headingBeginRegex", "rawLine", "istask", "ischecked", "spacers", "hasMultipleLineBreaks", "tag", "headers", "aligns", "rows", "item", "align", "header", "cell", "trimmedUrl", "rtrimSlash", "lastParenIndex", "linkLen", "links", "linkString", "maskedSrc", "prevChar", "lLength", "rDelim", "rLength", "delimTotal", "midDelimTotal", "endReg", "lastCharLength", "hasNonSpaceChars", "hasSpaceCharsOnBothEnds", "prevCapZero", "newline", "blockCode", "fences", "hr", "heading", "bullet", "lheading", "_paragraph", "blockText", "_blockLabel", "def", "_tag", "_comment", "paragraph", "blockquote", "blockNormal", "gfmTable", "blockGfm", "blockPedantic", "inlineCode", "br", "inlineText", "_punctuation", "punctuation", "blockSkip", "emStrongLDelim", "emStrongRDelimAst", "emStrongRDelimUnd", "anyPunctuation", "autolink", "_inlineComment", "_inlineLabel", "reflink", "nolink", "reflinkSearch", "inlineNormal", "inlinePedantic", "inlineGfm", "inlineBreaks", "block", "inline", "_Lexer", "__Lexer", "rules", "next", "leading", "tabs", "lastToken", "cutSrc", "lastParagraphClipped", "extTokenizer", "startIndex", "tempSrc", "tempStart", "getStartIndex", "errMsg", "keepPrevChar", "_Renderer", "code", "infostring", "lang", "quote", "body", "ordered", "start", "type", "startatt", "task", "checked", "content", "flags", "cleanHref", "out", "_TextRenderer", "_Parser", "__Parser", "genericToken", "ret", "headingToken", "codeToken", "tableToken", "j", "k", "blockquoteToken", "listToken", "loose", "itemBody", "checkbox", "htmlToken", "paragraphToken", "textToken", "renderer", "escapeToken", "tagToken", "linkToken", "imageToken", "strongToken", "emToken", "codespanToken", "delToken", "_Hooks", "markdown", "Marked", "#parseMarkdown", "args", "callback", "values", "childTokens", "extensions", "pack", "opts", "ext", "prevRenderer", "extLevel", "prop", "rendererProp", "rendererFunc", "tokenizer", "tokenizerProp", "tokenizerFunc", "prevTokenizer", "hooks", "hooksProp", "hooksFunc", "prevHook", "arg", "walkTokens", "packWalktokens", "parser", "origOpt", "throwError", "#onError", "e", "silent", "async", "msg", "markedInstance", "marked", "setOptions", "use", "parseInline", "parse", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "func", "thisArg", "lastIndex", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "__removalCount", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "createSVGIcon", "icon", "LightElement", "i", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizeHTML", "html", "sanitizer", "tagName", "attr", "purify", "node", "data", "element", "isOK", "throttle", "delay", "_target", "_propertyKey", "descriptor", "originalMethod", "timeout", "args", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "entries", "entry", "#updateHeight", "name", "_old", "#onKeyDown", "#sendInput", "e", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "chatCustomElements", "tag", "component", "renderDependencies", "evt", "showShinyClientMessage", "isStreamingMessage", "message", "SVG_DOT_CLASS", "SVG_DOT", "createSVGIcon", "markdownRenderer", "_Renderer", "header", "body", "semiMarkdownRenderer", "html", "contentToHTML", "content", "content_type", "parse", "o", "sanitizeHTML", "_MarkdownElement", "LightElement", "#scrollableElement", "#isContentBeingAdded", "#isUserScrolled", "#onScroll", "#isNearBottom", "x", "#cleanup", "changedProperties", "#doUnBind", "#highlightAndCodeCopy", "error", "#appendStreamingDot", "#doBind", "#updateScrollableElement", "#maybeScrollToBottom", "#removeStreamingDot", "el", "err", "showShinyClientMessage", "common_default", "btn", "createElement", "ClipboardJS", "e", "#findScrollableParent", "CHAT_CONTAINER_TAG", "__decorateClass", "n", "throttle", "MarkdownElement", "handleMessage", "renderDependencies"] + "sources": ["../../node_modules/clipboard/dist/clipboard.js", "../../node_modules/highlight.js/lib/core.js", "../../node_modules/highlight.js/lib/languages/xml.js", "../../node_modules/highlight.js/lib/languages/bash.js", "../../node_modules/highlight.js/lib/languages/c.js", "../../node_modules/highlight.js/lib/languages/cpp.js", "../../node_modules/highlight.js/lib/languages/csharp.js", "../../node_modules/highlight.js/lib/languages/css.js", "../../node_modules/highlight.js/lib/languages/markdown.js", "../../node_modules/highlight.js/lib/languages/diff.js", "../../node_modules/highlight.js/lib/languages/ruby.js", "../../node_modules/highlight.js/lib/languages/go.js", "../../node_modules/highlight.js/lib/languages/graphql.js", "../../node_modules/highlight.js/lib/languages/ini.js", "../../node_modules/highlight.js/lib/languages/java.js", "../../node_modules/highlight.js/lib/languages/javascript.js", "../../node_modules/highlight.js/lib/languages/json.js", "../../node_modules/highlight.js/lib/languages/kotlin.js", "../../node_modules/highlight.js/lib/languages/less.js", "../../node_modules/highlight.js/lib/languages/lua.js", "../../node_modules/highlight.js/lib/languages/makefile.js", "../../node_modules/highlight.js/lib/languages/perl.js", "../../node_modules/highlight.js/lib/languages/objectivec.js", "../../node_modules/highlight.js/lib/languages/php.js", "../../node_modules/highlight.js/lib/languages/php-template.js", "../../node_modules/highlight.js/lib/languages/plaintext.js", "../../node_modules/highlight.js/lib/languages/python.js", "../../node_modules/highlight.js/lib/languages/python-repl.js", "../../node_modules/highlight.js/lib/languages/r.js", "../../node_modules/highlight.js/lib/languages/rust.js", "../../node_modules/highlight.js/lib/languages/scss.js", "../../node_modules/highlight.js/lib/languages/shell.js", "../../node_modules/highlight.js/lib/languages/sql.js", "../../node_modules/highlight.js/lib/languages/swift.js", "../../node_modules/highlight.js/lib/languages/yaml.js", "../../node_modules/highlight.js/lib/languages/typescript.js", "../../node_modules/highlight.js/lib/languages/vbnet.js", "../../node_modules/highlight.js/lib/languages/wasm.js", "../../node_modules/highlight.js/lib/common.js", "../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../src/markdown-stream/markdown-stream.ts", "../../node_modules/highlight.js/es/common.js", "../../node_modules/marked/src/defaults.ts", "../../node_modules/marked/src/helpers.ts", "../../node_modules/marked/src/Tokenizer.ts", "../../node_modules/marked/src/rules.ts", "../../node_modules/marked/src/Lexer.ts", "../../node_modules/marked/src/Renderer.ts", "../../node_modules/marked/src/TextRenderer.ts", "../../node_modules/marked/src/Parser.ts", "../../node_modules/marked/src/Hooks.ts", "../../node_modules/marked/src/Instance.ts", "../../node_modules/marked/src/marked.ts", "../../node_modules/dompurify/src/utils.ts", "../../node_modules/dompurify/src/tags.ts", "../../node_modules/dompurify/src/attrs.ts", "../../node_modules/dompurify/src/regexp.ts", "../../node_modules/dompurify/src/purify.ts", "../../src/utils/_utils.ts", "../../src/chat/chat-tools.ts", "../../src/chat/chat.ts"], + "sourcesContent": ["/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '
';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n 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/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.11.1\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n modeBuffer += \"\\n\";\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n highlightAll();\n }\n\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n // make sure the event listener is only added once\n if (!wantsHighlight) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n", "/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[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]/, regex.optional(/[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]*:/), /[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 // const XML_IDENT_RE = /[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 // const TAG_NAME_RE = regex.concat(/[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]/, regex.optional(/[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]*:/), /[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 // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the ',\n}\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\"\n @property({ attribute: \"content-type\" }) contentType: ContentType = \"markdown\"\n @property({ type: Boolean, reflect: true }) streaming = false\n @property() icon = \"\"\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot\n\n return html`\n
${unsafeHTML(icon)}
\n \n `\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible()\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n if (el.hasAttribute(\"tabindex\")) return\n\n el.setAttribute(\"tabindex\", \"0\")\n el.setAttribute(\"role\", \"button\")\n\n const suggestion = el.dataset.suggestion || el.textContent\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`)\n })\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\"\n\n render() {\n return html`\n \n `\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean\n focus?: boolean\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\"\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled\n if (value === oldValue) {\n return\n }\n\n this._disabled = value\n if (value) {\n this.setAttribute(\"disabled\", \"\")\n } else {\n this.removeAttribute(\"disabled\")\n }\n\n this.requestUpdate(\"disabled\", oldValue)\n this.#onInput()\n }\n\n private _disabled = false\n inputVisibleObserver?: IntersectionObserver\n\n connectedCallback(): void {\n super.connectedCallback()\n\n this.inputVisibleObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) this.#updateHeight()\n })\n })\n\n this.inputVisibleObserver.observe(this)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n this.inputVisibleObserver?.disconnect()\n this.inputVisibleObserver = undefined\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null,\n ) {\n super.attributeChangedCallback(name, _old, value)\n if (name === \"disabled\") {\n this.disabled = value !== null\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement\n }\n\n private get value(): string {\n return this.textarea.value\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement\n }\n\n render() {\n const icon =\n ''\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault()\n this.#sendInput()\n }\n }\n\n #onInput(): void {\n this.#updateHeight()\n this.button.disabled = this.disabled ? true : this.value.trim().length === 0\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput()\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return\n if (this.disabled) return\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" })\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n })\n this.dispatchEvent(sentEvent)\n\n this.setInputValue(\"\")\n this.disabled = true\n\n if (focus) this.textarea.focus()\n }\n\n #updateHeight(): void {\n const el = this.textarea\n if (el.scrollHeight == 0) {\n return\n }\n el.style.height = \"auto\"\n el.style.height = `${el.scrollHeight}px`\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {},\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value\n\n this.textarea.value = value\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true })\n this.textarea.dispatchEvent(inputEvent)\n\n if (submit) {\n this.#sendInput(false)\n if (oldValue) this.setInputValue(oldValue)\n }\n\n if (focus) {\n this.textarea.focus()\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\"\n inputSentinelObserver?: IntersectionObserver\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild\n return last ? (last as ChatMessage) : null\n }\n\n render() {\n return html``\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\")\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement\n this.input.insertAdjacentElement(\"afterend\", sentinel)\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\")\n if (!inputTextarea) return\n const addShadow = entries[0]?.intersectionRatio === 0\n inputTextarea.classList.toggle(\"shadow\", addShadow)\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n },\n )\n\n this.inputSentinelObserver.observe(sentinel)\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.addEventListener(\"click\", this.#onInputSuggestionClick)\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n\n this.inputSentinelObserver?.disconnect()\n this.inputSentinelObserver = undefined\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.removeEventListener(\"click\", this.#onInputSuggestionClick)\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n this.#addLoadingMessage()\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage()\n if (!this.input.disabled) {\n this.input.disabled = true\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage()\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant\n }\n\n const msg = createElement(TAG_NAME, message)\n this.messages.appendChild(msg)\n\n if (finalize) {\n this.#finalizeMessage()\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n }\n const message = createElement(CHAT_MESSAGE_TAG, loading_message)\n this.messages.appendChild(message)\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content\n if (!content) this.lastMessage?.remove()\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail)\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false)\n }\n\n const lastMessage = this.lastMessage\n if (!lastMessage) throw new Error(\"No messages found in the chat output\")\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\")\n return\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content\n\n lastMessage.setAttribute(\"content\", content)\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\")\n this.#finalizeMessage()\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\"\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus })\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \"\n if (!isEnterOrSpace) return\n\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target)\n if (!suggestion) return\n\n e.preventDefault()\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n })\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string\n submit?: boolean\n } {\n if (!(x instanceof HTMLElement)) return {}\n\n const el = x.closest(\".suggestion, [data-suggestion]\")\n if (!(el instanceof HTMLElement)) return {}\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") || el.dataset.suggestion !== undefined\n if (!isSuggestion) return {}\n\n const suggestion = el.dataset.suggestion || el.textContent\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n }\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage()\n this.#finalizeMessage()\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nconst chatCustomElements = [\n { tag: CHAT_MESSAGE_TAG, component: ChatMessage },\n { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage },\n { tag: CHAT_MESSAGES_TAG, component: ChatMessages },\n { tag: CHAT_INPUT_TAG, component: ChatInput },\n { tag: CHAT_CONTAINER_TAG, component: ChatContainer },\n { tag: CHAT_TOOL_REQUEST_TAG, component: ShinyToolRequest },\n { tag: CHAT_TOOL_RESULT_TAG, component: ShinyToolResult },\n]\n\nchatCustomElements.forEach(({ tag, component }) => {\n if (!customElements.get(tag)) {\n customElements.define(tag, component)\n }\n})\n\nwindow.Shiny?.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps)\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n })\n\n const el = document.getElementById(message.id)\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n })\n return\n }\n\n el.dispatchEvent(evt)\n },\n)\n\nexport { CHAT_CONTAINER_TAG }\n"], + "mappings": "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EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAUL,EAAK,QACnBA,EAAK,QAAQ,EACb,CACE,MAAO,CACL,SACA,MACF,EACA,MAAO,CACL,EAAG,SACL,CACF,CACF,EACMM,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBN,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMO,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRP,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKG,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAX,EAAK,YACLE,CACF,CACF,EACMU,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBb,EAAK,QAAQ,CACjC,OAAQ,IAAIY,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEd,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMe,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,OACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,SACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CACP,KACA,KACF,EACA,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAb,EAAK,QAAQ,EACbc,EACAH,EACAN,EACAC,EACAW,EACAV,EACAC,EACAC,EACAC,EACAR,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCxZjB,IAAAuB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,IACrBF,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAJC,UAI4B,EACvD,IAGIK,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAKMC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEP,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACX,EACAA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,cAAe,EACxB,CAAE,MAAO,iFAAkF,EAC3F,CAAE,MAAO,kHAAmH,EAC5H,CAAE,MAAO,wDAAyD,CACtE,EACE,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,yGACyD,EAC7D,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAT,EAAK,QAAQO,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAL,EACAF,EAAK,oBACP,CACF,EAEMU,EAAa,CACjB,UAAW,QACX,MAAOT,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMW,EAAiBV,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAoFhEY,EAAW,CACf,QAnFiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,gBACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EAyCE,KAvCc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,UACA,WACA,aACA,aACA,aACA,aACA,cACA,cACA,eACA,WACA,WACA,WACA,YACA,YACA,YACA,aAEA,QACA,SACA,YAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAH,EACAJ,EACAF,EAAK,qBACLQ,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMV,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOT,EACP,SAAUS,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEX,EAAK,QAAQU,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRV,EACAF,EAAK,qBACLO,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUM,EACV,UAAW,EACX,SAAU,CACR,OACAV,EACAF,EAAK,qBACLO,EACAC,EACAF,CACF,CACF,CACF,CACF,EACAA,EACAJ,EACAF,EAAK,qBACLS,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOT,EAAK,SAAW,KACvB,SAAUY,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCZ,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcS,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAd,GAAO,QAAUC,KC5UjB,IAAAiB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,cACrBF,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAJC,UAI4B,EACvD,IAEIK,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAKMC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEP,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACX,EACAA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMQ,EAAU,CACd,UAAW,SACX,SAAU,CAER,CAAE,MACA,8UAkBF,EAEA,CAAE,MACA,6JAcF,CACF,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAT,EAAK,QAAQO,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAL,EACAF,EAAK,oBACP,CACF,EAEMU,EAAa,CACjB,UAAW,QACX,MAAOT,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMW,EAAiBV,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEY,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,WACA,WACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOd,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMiB,EAAsB,CAC1BD,EACAR,EACAH,EACAJ,EACAF,EAAK,qBACLQ,EACAD,CACF,EAEMY,GAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,UAAW,WACX,MAAO,IAAMf,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOb,EACP,SAAUa,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRd,EACAF,EAAK,qBACLO,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUU,EACV,UAAW,EACX,SAAU,CACR,OACAd,EACAF,EAAK,qBACLO,EACAC,EACAF,CACF,CACF,CACF,CACF,EACAA,EACAJ,EACAF,EAAK,qBACLS,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,GACAC,EACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,8NACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAV,CACF,CACF,EACA,CACE,MAAON,EAAK,SAAW,KACvB,SAAUgB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEAlB,GAAO,QAAUC,KC5lBjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,OACA,QACA,QACA,KACA,aACA,UACA,SACA,OACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,WACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAa,CACjB,UAAW,SACX,MAAO,4BACP,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBX,EAAK,QAAQU,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUN,CACZ,EACMO,EAAcb,EAAK,QAAQY,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBd,EAAK,iBACLa,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqChB,EAAK,QAAQe,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAa,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAX,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMiB,EAAS,CAAE,SAAU,CACzBR,EACAM,EACAD,EACAJ,EACAV,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIkB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BX,CACF,CACF,EACMY,EAAgBnB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFoB,EAAgB,CAGpB,MAAO,IAAMpB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAiB,EACAT,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAW,EACAlB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAW,EACAlB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMmB,EAAgB,SAAWnB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLkB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUZ,EACV,UAAW,EACX,SAAU,CACRW,EACAT,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAoB,CACF,CACF,CACF,CAEAtB,GAAO,QAAUC,KC3ZjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAUjB,SAASC,GAAIR,EAAM,CACjB,IAAMS,EAAQT,EAAK,MACbU,EAAQX,GAAMC,CAAI,EAClBW,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdf,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRU,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAL,GAAO,QAAUU,KCp7BjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EAqCtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CA1CG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAwBIX,EACAG,EACAI,EACAC,EAzBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAsBIT,EACAD,EACAK,EACAF,EAvBW,CAEb,MAAO,UACP,MAAO,oDACT,CAqBE,CACF,CACF,CAEAR,GAAO,QAAUC,KCvPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,UACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EASlB,IAAMC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUD,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAfW,QAeY,IAbX,kCAakC,IAZtC,iDAYyD,WACxE,OAAQ,CACN,IAAK,IACL,SAAUV,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOgB,EAAW,EAClB,OAAOR,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,6DACP,UAAW,CACb,EACA,CACE,MAAO,sFACP,UAAW,CACb,EACA,CACE,MAAO,wBACP,UAAW,CACb,EACA,CACE,MAAO,uCACP,UAAW,CACb,EACA,CACE,MAAO,wDACP,UAAW,CACb,CACF,CACF,EACA,CAAE,MAAO,IACT,EACA,CACE,UAAW,WACX,cAAe,OACf,IAAK,cACL,WAAY,GACZ,SAAU,CACRA,EAAK,WACL,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,QAAS,MACX,CACF,CACF,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC3JjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAQC,EAAM,CACrB,IAAMC,EAAQD,EAAK,MACbE,EAAW,yBACjB,MAAO,CACL,KAAM,UACN,QAAS,CAAE,KAAM,EACjB,iBAAkB,GAClB,kBAAmB,GACnB,SAAU,CACR,QAAS,CACP,QACA,WACA,eACA,OACA,QACA,SACA,YACA,YACA,QACA,SACA,WACA,OACA,IACF,EACA,QAAS,CACP,OACA,QACA,MACF,CACF,EACA,SAAU,CACRF,EAAK,kBACLA,EAAK,kBACLA,EAAK,YACL,CACE,MAAO,cACP,MAAO,SACP,UAAW,CACb,EACA,CACE,MAAO,cACP,MAAO,4BACP,UAAW,CACb,EACA,CACE,MAAO,WACP,MAAO,KACP,IAAK,KACL,WAAY,GACZ,UAAW,CACb,EACA,CACE,MAAO,OACP,MAAO,OACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAOC,EAAM,OAAOC,EAAUD,EAAM,UAAU,MAAM,CAAC,EACrD,UAAW,CACb,CACF,EACA,QAAS,CACP,QACA,OACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7EjB,IAAAI,GAAAC,EAAA,CAAAC,G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CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KClSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,UAEA,OACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,GAIEC,IAAa,KAGbA,IAAa,IACX,CACFF,EAAS,YAAY,EACrB,MACF,CAIIE,IAAa,MAGVV,EAAcC,EAAO,CAAE,MAAOQ,CAAgB,CAAC,GAClDD,EAAS,YAAY,GAOzB,IAAI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,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAmBH,GAAe,OAAOC,EAAe,EAAE,KAAK,EAAE,QAAQ,EAY/E,SAASG,GAAKT,EAAM,CAClB,IAAMU,EAAQX,GAAMC,CAAI,EAClBW,EAAqBH,GAErBI,EAAe,kBACfC,EAAW,UACXC,EAAkB,IAAMD,EAAW,QAAUA,EAAW,OAIxDE,EAAQ,CAAC,EAASC,EAAc,CAAC,EAEjCC,EAAc,SAASC,EAAG,CAC9B,MAAO,CAEL,UAAW,SACX,MAAO,KAAOA,EAAI,MAAQA,CAC5B,CACF,EAEMC,EAAa,SAASC,EAAMC,EAAOC,EAAW,CAClD,MAAO,CACL,UAAWF,EACX,MAAOC,EACP,UAAWC,CACb,CACF,EAEMC,EAAc,CAClB,SAAU,UACV,QAASX,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EAEMoB,EAAc,CAElB,MAAO,MACP,IAAK,MACL,SAAUR,EACV,SAAUO,EACV,UAAW,CACb,EAGAP,EAAY,KACVhB,EAAK,oBACLA,EAAK,qBACLiB,EAAY,GAAG,EACfA,EAAY,GAAG,EACfP,EAAM,gBACN,CACE,MAAO,oBACP,OAAQ,CAC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CF,EAAE,OAAOA,CAAQ,CACnB,EACAJ,EAAK,cACLA,EAAK,iBACLA,EAAK,kBACL,CACE,UAAW,SACX,MAAOC,EACP,IAAKC,EACL,SAAU,CAAEC,CAAc,EAC1B,UAAW,CACb,CACF,CAAC,CACH,CACF,CAEAL,GAAO,QAAUC,KChFjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CAEtB,IAAMC,EAAW,CACf,UAAW,WACX,SAAU,CACR,CACE,MAAO,SAAWD,EAAK,oBAAsB,MAC7C,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CAAE,MAAO,gBAAiB,CAC5B,CACF,EAEME,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRF,EAAK,iBACLC,CACF,CACF,EAEME,EAAO,CACX,UAAW,WACX,MAAO,eACP,IAAK,KACL,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CACRF,EACAC,CACF,CACF,EAEME,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCxFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAO,CACX,MAAO,OACP,MAAO,yBACT,EAC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ApB,GAAO,QAAUC,KCvfjB,IAAAoB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAiBJ,EAAM,OAC3B,SACAC,CAAY,EACRI,EAAW,CACf,MAAO,WACP,MAAO,OAASH,CAClB,EACMI,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBT,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtEU,EAAgBV,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOQ,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUX,EAAK,kBAAkB,SAAS,OAAOQ,CAAK,EACtD,WAAY,CAACI,GAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,GAAE,CAAC,GAAKA,GAAE,CAAC,CAAG,EACjE,SAAU,CAACA,GAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,GAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASd,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKe,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,m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AAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAO,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,EACAH,EACA,CACE,MAAO,CACL,QACA,KACAzB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAuB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxB1B,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUqB,EACV,SAAU,CACR,OACAY,GACA3B,EACAsB,EACA5B,EAAK,qBACLgB,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCjB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAgB,EACAC,CACF,CACF,CACF,CAEAnB,GAAO,QAAUC,KChnBjB,IAAAmC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAAK,iBACP,CACF,EAGMS,EAAY,kBACZC,EAAa,QAAQD,CAAS,UAAUA,CAAS,SAASA,CAAS,OAMnEE,EAAY,OAAOR,EAAe,KAAK,GAAG,CAAC,GAC3CS,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAWR,CACE,MAAO,QAAQH,CAAS,MAAMC,CAAU,eAAeD,CAAS,YAAYE,CAAS,GACvF,EACA,CACE,MAAO,IAAID,CAAU,QACvB,EAQA,CACE,MAAO,0CAA0CC,CAAS,GAC5D,EACA,CACE,MAAO,4BAA4BA,CAAS,GAC9C,EACA,CACE,MAAO,6BAA6BA,CAAS,GAC/C,EACA,CACE,MAAO,mCAAmCA,CAAS,GACrD,EAIA,CACE,MAAO,OAAOF,CAAS,WAAWE,CAAS,GAC7C,CACF,CACF,EACME,EAAe,CACnB,UAAW,UACX,MAAOZ,EAAM,UAAU,SAAS,EAChC,IAAK,IACL,SAAUG,EACV,SAAU,CACR,CACE,MAAO,SACT,EAEA,CACE,MAAO,IACP,IAAK,OACL,eAAgB,EAClB,CACF,CACF,EACMU,EAAS,CACb,UAAW,SACX,SAAU,CAER,CACE,UAAW,GACX,MAAO,UACP,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUV,EACV,SAAU,CACR,OACAC,EACAO,EACAJ,EACAR,EAAK,iBACP,CACF,CACF,CACF,EACA,OAAAM,EAAM,SAAW,CACfE,EACAI,EACAP,CACF,EAEO,CACL,KAAM,SACN,QAAS,CACP,KACA,MACA,SACF,EACA,aAAc,GACd,SAAUD,EACV,QAAS,cACT,SAAU,CACRC,EACAO,EACA,CAEE,MAAO,oBACP,MAAO,UACT,EACA,CAGE,cAAe,KACf,UAAW,CACb,EACA,CAAE,MAAO,SAAU,MAAO,SAAU,EACpCJ,EACAK,EACAb,EAAK,kBACL,CACE,MAAO,CACL,QAAS,MACTE,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CAAEY,CAAO,CACrB,EACA,CACE,SAAU,CACR,CACE,MAAO,CACL,UAAW,MACXZ,EAAU,MACV,QAASA,EAAS,OACpB,CACF,EACA,CACE,MAAO,CACL,UAAW,MACXA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,uBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,WACP,IAAK,UACL,SAAU,CACRU,EACAE,EACAN,CACF,CACF,CACF,CACF,CACF,CAEAV,GAAO,QAAUC,KCnbjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAWC,EAAM,CACxB,MAAO,CACL,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,cACX,OAAQ,CAGN,IAAK,MACL,OAAQ,CACN,IAAK,IACL,YAAa,QACf,CACF,EACA,SAAU,CACR,CAAE,MAAO,eAAgB,EACzB,CAAE,MAAO,kBAAmB,CAC9B,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC/BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAObE,EAAW,uDACXC,EAAkBF,EAAM,OAE5B,gDAEA,0CAEA,+CACF,EACMG,EAAe,mEACfC,EAAiBJ,EAAM,OAC3B,OACA,OACA,OACA,QACA,KACA,GACF,EAEA,MAAO,CACL,KAAM,IAEN,SAAU,CACR,SAAUC,EACV,QACE,kDACF,QACE,wFAEF,SAEE,ghCAqBJ,EAEA,SAAU,CAERF,EAAK,QACH,KACA,IACA,CAAE,SAAU,CACV,CAME,MAAO,SACP,MAAO,YACP,OAAQ,CACN,IAAKC,EAAM,UAAUA,EAAM,OAEzB,yBAEA,WACF,CAAC,EACD,WAAY,EACd,CACF,EACA,CAGE,MAAO,SACP,MAAO,SACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,WACP,SAAU,CACR,CAAE,MAAOC,CAAS,EAClB,CAAE,MAAO,mBAAoB,CAC/B,EACA,WAAY,EACd,CACF,CACF,EACA,CACE,MAAO,SACP,MAAO,YACT,EACA,CACE,MAAO,UACP,MAAO,aACT,CACF,CAAE,CACJ,EAEAF,EAAK,kBAEL,CACE,MAAO,SACP,SAAU,CAAEA,EAAK,gBAAiB,EAClC,SAAU,CACRA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MAGbE,EAAiB,QACjBC,EAAsBF,EAAM,OAAOC,EAAgBF,EAAK,mBAAmB,EAC3EI,EAAWH,EAAM,OAAOC,EAAgBF,EAAK,QAAQ,EAErDK,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOJ,EAAM,OACX,KACA,oCACAG,EACAH,EAAM,UAAU,OAAO,CAAC,CAC5B,EACMK,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,QACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUV,EAAK,SAAW,KAC1B,KAAMU,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRT,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SAEX,MAAO,8BACT,EACA,CACE,MAAO,SACP,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CACE,MAAO,MACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,cACP,MAAO,+BACT,CACF,CACF,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBM,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRH,EAAK,gBACP,CACF,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAG,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EACA,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOH,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUS,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KCrUjB,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAYjB,SAASC,GAAKR,EAAM,CAClB,IAAMS,EAAQV,GAAMC,CAAI,EAClBU,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRd,EAAK,oBACLA,EAAK,qBAGLS,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNT,EAAK,kBACLA,EAAK,iBACLS,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAd,EAAK,kBACLA,EAAK,iBACLS,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAX,GAAO,QAAUU,KC16BjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,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,WACA,SACA,MACA,OACA,SACA,SACA,YACA,QACA,SACA,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF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AE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAEMmE,GAAyB,CAC7B,MAAO,CACL,UACA,MACA,SACA,MACA,4BACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,GAAwB,CAC5B,MAAO,CACL,UACA,MACA,OACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,SACL,CACF,EAEMC,GAAmB,CACvB,MAAO,CACL,+CACA,MACA5D,GACA,KACF,EACA,WAAY,CACV,EAAG,UACH,EAAG,aACL,EACA,SAAUe,EACV,SAAU,CACRoC,GACA,GAAGnC,EACH,CACE,MAAO,IACP,IAAK,KACL,SAAUD,EACV,SAAU,CACR,CACE,MAAO,wBACP,MAAOd,EACT,EACA,GAAGe,CACL,EACA,UAAW,CACb,CACF,CACF,EAGA,QAAW6C,KAAW7B,EAAO,SAAU,CACrC,IAAM8B,GAAgBD,EAAQ,SAAS,KAAKE,IAAQA,GAAK,QAAU,UAAU,EAE7ED,GAAc,SAAW/C,EACzB,IAAMiD,EAAW,CACf,GAAGhD,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,CACL,EACAoB,GAAc,SAAW,CACvB,GAAGE,EACH,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACR,OACA,GAAGA,CACL,CACF,CACF,CACF,CAEA,MAAO,CACL,KAAM,QACN,SAAUjD,EACV,SAAU,CACR,GAAGP,EACH8C,GACAC,GACAG,GACAC,GACAC,GACAJ,GACAC,GACA,CACE,cAAe,SACf,IAAK,IACL,SAAU,CAAE,GAAGjD,CAAS,EACxB,UAAW,CACb,EACA8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,EACAG,CACF,CACF,CACF,CAEA3E,GAAO,QAAU6B,KC38BjB,IAAA6D,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAW,yBAGXC,EAAiB,8BAMjBC,EAAM,CACV,UAAW,OACX,SAAU,CAER,CAAE,MAAO,mCAAoC,EAC7C,CACE,MAAO,qCAAsC,EAC/C,CACE,MAAO,qCAAsC,CACjD,CACF,EAEMC,EAAqB,CACzB,UAAW,oBACX,SAAU,CACR,CACE,MAAO,OACP,IAAK,MACP,EACA,CACE,MAAO,MACP,IAAK,IACP,CACF,CACF,EAEMC,EAAsB,CAC1B,UAAW,SACX,UAAW,EACX,MAAO,IACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,KACP,MAAO,cACP,UAAW,CACb,CACF,CACF,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,KAAM,CACjB,EACA,SAAU,CACRN,EAAK,iBACLI,CACF,CACF,EAIMG,EAAmBP,EAAK,QAAQM,EAAQ,CAAE,SAAU,CACxD,CACE,MAAO,IACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,KACP,UAAW,CACb,CACF,CACF,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,cAAe,CAC1B,CAAE,CAAC,EAMGE,EAAY,CAChB,UAAW,SACX,MAAO,MANO,6BACA,yCACI,eACJ,8CAG6C,KAC7D,EAEMC,EAAkB,CACtB,IAAK,IACL,eAAgB,GAChB,WAAY,GACZ,SAAUR,EACV,UAAW,CACb,EACMS,EAAS,CACb,MAAO,KACP,IAAK,KACL,SAAU,CAAED,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EACME,EAAQ,CACZ,MAAO,MACP,IAAK,MACL,SAAU,CAAEF,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EAEMG,EAAQ,CACZT,EACA,CACE,UAAW,OACX,MAAO,YACP,UAAW,EACb,EACA,CAKE,UAAW,SACX,MAAO,+DACT,EACA,CACE,MAAO,WACP,IAAK,UACL,YAAa,OACb,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,SAAWD,CACpB,EAEA,CACE,UAAW,OACX,MAAO,KAAOA,EAAiB,GACjC,EACA,CACE,UAAW,OACX,MAAO,IAAMA,CACf,EACA,CACE,UAAW,OACX,MAAO,KAAOA,CAChB,EACA,CACE,UAAW,OACX,MAAO,IAAMF,EAAK,oBAAsB,GAC1C,EACA,CACE,UAAW,OACX,MAAO,MAAQA,EAAK,oBAAsB,GAC5C,EACA,CACE,UAAW,SAEX,MAAO,aACP,UAAW,CACb,EACAA,EAAK,kBACL,CACE,cAAeC,EACf,SAAU,CAAE,QAASA,CAAS,CAChC,EACAO,EAGA,CACE,UAAW,SACX,MAAOR,EAAK,YAAc,MAC1B,UAAW,CACb,EACAU,EACAC,EACAN,EACAC,CACF,EAEMO,EAAc,CAAE,GAAGD,CAAM,EAC/B,OAAAC,EAAY,IAAI,EAChBA,EAAY,KAAKN,CAAgB,EACjCE,EAAgB,SAAWI,EAEpB,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,CAAE,KAAM,EACjB,SAAUD,CACZ,CACF,CAEAd,GAAO,QAAUC,KCpNjB,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,UAEA,OACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,GAIEC,IAAa,KAGbA,IAAa,IACX,CACFF,EAAS,YAAY,EACrB,MACF,CAIIE,IAAa,MAGVV,EAAcC,EAAO,CAAE,MAAOQ,CAAgB,CAAC,GAClDD,EAAS,YAAY,GAOzB,IAAIG,EACEC,EAAaX,EAAM,MAAM,UAAUQ,CAAe,EAIxD,GAAKE,EAAIC,EAAW,MAAM,OAAO,EAAI,CACnCJ,EAAS,YAAY,EACrB,MACF,CAKA,IAAKG,EAAIC,EAAW,MAAM,gBAAgB,IACpCD,EAAE,QAAU,EAAG,CACjBH,EAAS,YAAY,EAErB,MACF,CAEJ,CACF,EACMK,EAAa,CACjB,SAAUxB,GACV,QAASC,GACT,QAASC,GACT,SAAUK,GACV,oBAAqBD,EACvB,EAGMmB,EAAgB,kBAChBC,EAAO,OAAOD,CAAa,IAG3BE,EAAiB,sCACjBC,EAAS,CACb,UAAW,SACX,SAAU,CAER,CAAE,MAAO,QAAQD,CAAc,MAAMD,CAAI,YAAYA,CAAI,eAC1CD,CAAa,MAAO,EACnC,CAAE,MAAO,OAAOE,CAAc,SAASD,CAAI,eAAeA,CAAI,MAAO,EAGrE,CAAE,MAAO,4BAA6B,EAGtC,CAAE,MAAO,0CAA2C,EACpD,CAAE,MAAO,8BAA+B,EACxC,CAAE,MAAO,8BAA+B,EAIxC,CAAE,MAAO,iBAAkB,CAC7B,EACA,UAAW,CACb,EAEMG,EAAQ,CACZ,UAAW,QACX,MAAO,SACP,IAAK,MACL,SAAUL,EACV,SAAU,CAAC,CACb,EACMM,EAAgB,CACpB,MAAO,UACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRrB,EAAK,iBACLoB,CACF,EACA,YAAa,KACf,CACF,EACME,EAAe,CACnB,MAAO,SACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRtB,EAAK,iBACLoB,CACF,EACA,YAAa,KACf,CACF,EACMG,EAAmB,CACvB,MAAO,SACP,IAAK,GACL,OAAQ,CACN,IAAK,IACL,UAAW,GACX,SAAU,CACRvB,EAAK,iBACLoB,CACF,EACA,YAAa,SACf,CACF,EACMI,EAAkB,CACtB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRxB,EAAK,iBACLoB,CACF,CACF,EAwCMK,EAAU,CACd,UAAW,UACX,SAAU,CAzCUzB,EAAK,QACzB,eACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,iBACP,UAAW,EACX,SAAU,CACR,CACE,UAAW,SACX,MAAO,YACT,EACA,CACE,UAAW,OACX,MAAO,MACP,IAAK,MACL,WAAY,GACZ,aAAc,GACd,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAOM,EAAa,gBACpB,WAAY,GACZ,UAAW,CACb,EAGA,CACE,MAAO,cACP,UAAW,CACb,CACF,CACF,CACF,CACF,CACF,EAKIN,EAAK,qBACLA,EAAK,mBACP,CACF,EACM0B,EAAkB,CACtB1B,EAAK,iBACLA,EAAK,kBACLqB,EACAC,EACAC,EACAC,EAEA,CAAE,MAAO,OAAQ,EACjBL,CAIF,EACAC,EAAM,SAAWM,EACd,OAAO,CAGN,MAAO,KACP,IAAK,KACL,SAAUX,EACV,SAAU,CACR,MACF,EAAE,OAAOW,CAAe,CAC1B,CAAC,EACH,IAAMC,EAAqB,CAAC,EAAE,OAAOF,EAASL,EAAM,QAAQ,EACtDQ,EAAkBD,EAAmB,OAAO,CAEhD,CACE,MAAO,UACP,IAAK,KACL,SAAUZ,EACV,SAAU,CAAC,MAAM,EAAE,OAAOY,CAAkB,CAC9C,CACF,CAAC,EACKE,EAAS,CACb,UAAW,SAEX,MAAO,UACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUd,EACV,SAAUa,CACZ,EAGME,GAAmB,CACvB,SAAU,CAER,CACE,MAAO,CACL,QACA,MACAxB,EACA,MACA,UACA,MACAL,EAAM,OAAOK,EAAY,IAAKL,EAAM,OAAO,KAAMK,CAAU,EAAG,IAAI,CACpE,EACA,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,UACH,EAAG,uBACL,CACF,EAEA,CACE,MAAO,CACL,QACA,MACAA,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,aACL,CACF,CAEF,CACF,EAEMyB,EAAkB,CACtB,UAAW,EACX,MACA9B,EAAM,OAEJ,SAEA,iCAEA,6CAEA,kDAKF,EACA,UAAW,cACX,SAAU,CACR,EAAG,CAED,GAAGP,GACH,GAAGC,EACL,CACF,CACF,EAEMqC,EAAa,CACjB,MAAO,aACP,UAAW,OACX,UAAW,GACX,MAAO,8BACT,EAEMC,GAAsB,CAC1B,SAAU,CACR,CACE,MAAO,CACL,WACA,MACA3B,EACA,WACF,CACF,EAEA,CACE,MAAO,CACL,WACA,WACF,CACF,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,MAAO,WACP,SAAU,CAAEuB,CAAO,EACnB,QAAS,GACX,EAEMK,EAAsB,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EAEA,SAASC,GAAOC,EAAM,CACpB,OAAOnC,EAAM,OAAO,MAAOmC,EAAK,KAAK,GAAG,EAAG,GAAG,CAChD,CAEA,IAAMC,GAAgB,CACpB,MAAOpC,EAAM,OACX,KACAkC,GAAO,CACL,GAAGvC,GACH,QACA,QACF,EAAE,IAAI0C,GAAK,GAAGA,CAAC,SAAS,CAAC,EACzBhC,EAAYL,EAAM,UAAU,OAAO,CAAC,EACtC,UAAW,iBACX,UAAW,CACb,EAEMsC,GAAkB,CACtB,MAAOtC,EAAM,OAAO,KAAMA,EAAM,UAC9BA,EAAM,OAAOK,EAAY,oBAAoB,CAC/C,CAAC,EACD,IAAKA,EACL,aAAc,GACd,SAAU,YACV,UAAW,WACX,UAAW,CACb,EAEMkC,GAAmB,CACvB,MAAO,CACL,UACA,MACAlC,EACA,QACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACR,CACE,MAAO,MACT,EACAuB,CACF,CACF,EAEMY,EAAkB,2DAMbzC,EAAK,oBAAsB,UAEhC0C,EAAoB,CACxB,MAAO,CACL,gBAAiB,MACjBpC,EAAY,MACZ,OACA,cACAL,EAAM,UAAUwC,CAAe,CACjC,EACA,SAAU,QACV,UAAW,CACT,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRZ,CACF,CACF,EAEA,MAAO,CACL,KAAM,aACN,QAAS,CAAC,KAAM,MAAO,MAAO,KAAK,EACnC,SAAUd,EAEV,QAAS,CAAE,gBAAAa,EAAiB,gBAAAG,CAAgB,EAC5C,QAAS,eACT,SAAU,CACR/B,EAAK,QAAQ,CACX,MAAO,UACP,OAAQ,OACR,UAAW,CACb,CAAC,EACDgC,EACAhC,EAAK,iBACLA,EAAK,kBACLqB,EACAC,EACAC,EACAC,EACAC,EAEA,CAAE,MAAO,OAAQ,EACjBN,EACAY,EACA,CACE,MAAO,OACP,MAAOzB,EAAaL,EAAM,UAAU,GAAG,EACvC,UAAW,CACb,EACAyC,EACA,CACE,MAAO,IAAM1C,EAAK,eAAiB,kCACnC,SAAU,oBACV,UAAW,EACX,SAAU,CACRyB,EACAzB,EAAK,YACL,CACE,UAAW,WAIX,MAAOyC,EACP,YAAa,GACb,IAAK,SACL,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAOzC,EAAK,oBACZ,UAAW,CACb,EACA,CACE,UAAW,KACX,MAAO,UACP,KAAM,EACR,EACA,CACE,MAAO,UACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUe,EACV,SAAUa,CACZ,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,IACP,UAAW,CACb,EACA,CACE,MAAO,MACP,UAAW,CACb,EACA,CACE,SAAU,CACR,CAAE,MAAOrB,EAAS,MAAO,IAAKA,EAAS,GAAI,EAC3C,CAAE,MAAOC,CAAiB,EAC1B,CACE,MAAOC,EAAQ,MAGf,WAAYA,EAAQ,kBACpB,IAAKA,EAAQ,GACf,CACF,EACA,YAAa,MACb,SAAU,CACR,CACE,MAAOA,EAAQ,MACf,IAAKA,EAAQ,IACb,KAAM,GACN,SAAU,CAAC,MAAM,CACnB,CACF,CACF,CACF,CACF,EACAwB,GACA,CAGE,cAAe,2BACjB,EACA,CAIE,MAAO,kBAAoBjC,EAAK,oBAC9B,gEAOF,YAAY,GACZ,MAAO,WACP,SAAU,CACR6B,EACA7B,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAOM,EAAY,UAAW,gBAAiB,CAAC,CAClF,CACF,EAEA,CACE,MAAO,SACP,UAAW,CACb,EACAiC,GAIA,CACE,MAAO,MAAQjC,EACf,UAAW,CACb,EACA,CACE,MAAO,CAAE,wBAAyB,EAClC,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAU,CAAEuB,CAAO,CACrB,EACAQ,GACAH,EACAJ,GACAU,GACA,CACE,MAAO,QACT,CACF,CACF,CACF,CAaA,SAASG,GAAW3C,EAAM,CACxB,IAAMC,EAAQD,EAAK,MACb4C,EAAa7C,GAAWC,CAAI,EAE5BM,EAAaf,GACbG,EAAQ,CACZ,MACA,OACA,SACA,UACA,SACA,SACA,QACA,SACA,SACA,SACF,EACMmD,EAAY,CAChB,MAAO,CACL,YACA,MACA7C,EAAK,QACP,EACA,WAAY,CACV,EAAG,UACH,EAAG,aACL,CACF,EACM8C,EAAY,CAChB,cAAe,YACf,IAAK,KACL,WAAY,GACZ,SAAU,CACR,QAAS,oBACT,SAAUpD,CACZ,EACA,SAAU,CAAEkD,EAAW,QAAQ,eAAgB,CACjD,EACMZ,EAAa,CACjB,UAAW,OACX,UAAW,GACX,MAAO,wBACT,EACMe,EAAuB,CAC3B,OAEA,YACA,SACA,UACA,YACA,aACA,UACA,WACA,WACA,OACA,WACA,WACF,EAMMhC,EAAa,CACjB,SAAUxB,GACV,QAASC,GAAS,OAAOuD,CAAoB,EAC7C,QAAStD,GACT,SAAUK,GAAU,OAAOJ,CAAK,EAChC,oBAAqBG,EACvB,EAEMmD,EAAY,CAChB,UAAW,OACX,MAAO,IAAM1C,CACf,EAEM2C,EAAW,CAACC,EAAMC,EAAOC,IAAgB,CAC7C,IAAMC,EAAOH,EAAK,SAAS,UAAUrC,GAAKA,EAAE,QAAUsC,CAAK,EAC3D,GAAIE,IAAS,GAAM,MAAM,IAAI,MAAM,8BAA8B,EAEjEH,EAAK,SAAS,OAAOG,EAAM,EAAGD,CAAW,CAC3C,EAKA,OAAO,OAAOR,EAAW,SAAU7B,CAAU,EAE7C6B,EAAW,QAAQ,gBAAgB,KAAKI,CAAS,EAGjD,IAAMM,EAAsBV,EAAW,SAAS,KAAKW,GAAKA,EAAE,QAAU,MAAM,EAGtEC,EAA2B,OAAO,OAAO,CAAC,EAC9CF,EACA,CAAE,MAAOrD,EAAM,OAAOK,EAAYL,EAAM,UAAU,QAAQ,CAAC,CAAE,CAC/D,EACA2C,EAAW,QAAQ,gBAAgB,KAAK,CACtCA,EAAW,QAAQ,gBACnBU,EACAE,CACF,CAAC,EAGDZ,EAAW,SAAWA,EAAW,SAAS,OAAO,CAC/CI,EACAH,EACAC,EACAU,CACF,CAAC,EAGDP,EAASL,EAAY,UAAW5C,EAAK,QAAQ,CAAC,EAE9CiD,EAASL,EAAY,aAAcZ,CAAU,EAE7C,IAAMyB,EAAsBb,EAAW,SAAS,KAAK/B,GAAKA,EAAE,QAAU,UAAU,EAChF,OAAA4C,EAAoB,UAAY,EAEhC,OAAO,OAAOb,EAAY,CACxB,KAAM,aACN,QAAS,CACP,KACA,MACA,MACA,KACF,CACF,CAAC,EAEMA,CACT,CAEAtD,GAAO,QAAUqD,KCh5BjB,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,IAAMC,EAAQD,EAAK,MAKbE,EAAY,CAChB,UAAW,SACX,MAAO,iBACT,EAEMC,EAAS,CACb,UAAW,SACX,MAAO,IACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAEE,MAAO,IAAK,CAChB,CACF,EAGMC,EAAa,0BACbC,EAAa,wBACbC,EAAW,kCACXC,EAAW,yBACXC,EAAO,CACX,UAAW,UACX,SAAU,CACR,CAEE,MAAOP,EAAM,OAAO,MAAOA,EAAM,OAAOI,EAAYD,CAAU,EAAG,KAAK,CAAE,EAC1E,CAEE,MAAOH,EAAM,OAAO,MAAOM,EAAU,KAAK,CAAE,EAC9C,CAEE,MAAON,EAAM,OAAO,MAAOK,EAAU,KAAK,CAAE,EAC9C,CAEE,MAAOL,EAAM,OACX,MACAA,EAAM,OAAOI,EAAYD,CAAU,EACnC,KACAH,EAAM,OAAOK,EAAUC,CAAQ,EAC/B,KACF,CAAE,CACN,CACF,EAEME,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CACR,CAEE,MAAO,+DAAgE,EACzE,CAEE,MAAO,6BAA8B,EACvC,CAEE,MAAO,8BAA+B,EACxC,CAEE,MAAO,4BAA6B,EACtC,CAEE,MAAO,2BAA4B,CACvC,CACF,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,OACT,EAEMC,EAAcX,EAAK,QAAQ,MAAO,IAAK,CAAE,SAAU,CACvD,CACE,UAAW,SACX,MAAO,OACP,IAAK,GACP,CACF,CAAE,CAAC,EAEGY,EAAUZ,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAClD,CAAE,MAAO,GAAI,EACb,CAEE,MAAO,oBAAqB,CAChC,CAAE,CAAC,EAYH,MAAO,CACL,KAAM,oBACN,QAAS,CAAE,IAAK,EAChB,iBAAkB,GAClB,iBAAkB,CAAE,MAAO,QAAS,EACpC,SAAU,CACR,QACE,k2BAWF,SAEE,2OAGF,KAEE,4GACF,QAAS,oBACX,EACA,QACE,4CACF,SAAU,CACRE,EACAC,EACAK,EACAC,EACAC,EACAC,EACAC,EA/Ce,CACjB,UAAW,OAEX,MAAO,2EACP,IAAK,IACL,SAAU,CAAE,QACR,oEAAqE,EACzE,SAAU,CAAEA,CAAQ,CACtB,CAyCE,CACF,CACF,CAEAd,GAAO,QAAUC,KC5JjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClBA,EAAK,MACL,IAAMC,EAAgBD,EAAK,QAAQ,MAAO,KAAK,EAC/CC,EAAc,SAAS,KAAK,MAAM,EAClC,IAAMC,EAAeF,EAAK,QAAQ,KAAM,GAAG,EAErCG,EAAM,CACV,UACA,QACA,KACA,QACA,WACA,OACA,gBACA,OACA,OACA,OACA,OACA,MACA,SACA,OACA,aACA,aACA,YACA,YACA,YACA,aACA,YACA,SACA,KACA,SACA,QACA,OACA,SACA,cACA,cACA,SACA,MACA,MACA,SACA,QACA,SACA,SACA,SACA,aACA,YACA,QACA,QACA,YACA,OACA,OACA,aACF,EAEMC,EAAqB,CACzB,MAAO,CACL,8BACA,MACA,WACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,EAAW,CACf,UAAW,WACX,MAAO,UACT,EAEMC,EAAS,CACb,MAAO,gBACP,UAAW,cACX,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EAEX,MAAO,iNACT,EAEMC,EAAO,CAEX,MAAO,0BACP,UAAW,MACb,EAEMC,EAAkB,CACtB,UAAW,UAEX,MAAO,mZACT,EAcA,MAAO,CACL,KAAM,cACN,SAAU,CACR,SAAU,SACV,QAASN,CACX,EACA,SAAU,CACRD,EACAD,EApBiB,CACnB,MAAO,CACL,mBACA,MACA,GACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACL,CACF,EAYII,EACAC,EACAF,EACAJ,EAAK,kBACLQ,EACAC,EACAF,CACF,CACF,CACF,CAEAT,GAAO,QAAUC,KC1IjB,IAAAW,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAIC,EAAO,KAEXA,EAAK,iBAAiB,MAAO,IAA0B,EACvDA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,IAAK,IAAwB,EACnDA,EAAK,iBAAiB,MAAO,IAA0B,EACvDA,EAAK,iBAAiB,SAAU,IAA6B,EAC7DA,EAAK,iBAAiB,MAAO,IAA0B,EACvDA,EAAK,iBAAiB,WAAY,IAA+B,EACjEA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,KAAM,IAAyB,EACrDA,EAAK,iBAAiB,UAAW,IAA8B,EAC/DA,EAAK,iBAAiB,MAAO,IAA0B,EACvDA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,aAAc,IAAiC,EACrEA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,SAAU,IAA6B,EAC7DA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,MAAO,IAA0B,EACvDA,EAAK,iBAAiB,WAAY,IAA+B,EACjEA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,aAAc,IAAiC,EACrEA,EAAK,iBAAiB,MAAO,IAA0B,EACvDA,EAAK,iBAAiB,eAAgB,IAAmC,EACzEA,EAAK,iBAAiB,YAAa,IAAgC,EACnEA,EAAK,iBAAiB,SAAU,IAA6B,EAC7DA,EAAK,iBAAiB,cAAe,IAAkC,EACvEA,EAAK,iBAAiB,IAAK,IAAwB,EACnDA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,QAAS,IAA4B,EAC3DA,EAAK,iBAAiB,MAAO,IAA0B,EACvDA,EAAK,iBAAiB,QAAS,IAA4B,EAC3DA,EAAK,iBAAiB,OAAQ,IAA2B,EACzDA,EAAK,iBAAiB,aAAc,IAAiC,EACrEA,EAAK,iBAAiB,QAAS,IAA4B,EAC3DA,EAAK,iBAAiB,OAAQ,IAA2B,EAEzDA,EAAK,YAAcA,EACnBA,EAAK,QAAUA,EACfD,GAAO,QAAUC,ICnCjB,IAGMC,GAASC,WAKFC,GACXF,GAAOG,aACNH,GAAOI,WADDD,QAC2BH,GAAOI,SAASC,eAClD,uBAAwBC,SAASC,WACjC,YAAaC,cAAcD,UAkBvBE,GAAoBC,OAAAA,EAEpBC,GAAc,IAAIC,QASXC,GATWD,KASXC,CAOX,YACEC,EACAC,EACAC,EAAAA,CAEA,GAVFC,KAAe,aAAA,GAUTD,IAAcP,GAChB,MAAUS,MACR,mEAAA,EAGJD,KAAKH,QAAUA,EACfG,KAAKE,EAAWJ,CACjB,CAID,IAAA,YAAIK,CAGF,IAAIA,EAAaH,KAAKI,EAChBN,EAAUE,KAAKE,EACrB,GAAIjB,IAA+BkB,IAA/BlB,OAAyD,CAC3D,IAAMoB,EAAYP,IAAZO,QAAqCP,EAAQQ,SAAW,EAC1DD,IACFF,EAAaT,GAAYa,IAAIT,CAAAA,GAE3BK,IAF2BL,UAG5BE,KAAKI,EAAcD,EAAa,IAAIZ,eAAiBiB,YACpDR,KAAKH,OAAAA,EAEHQ,GACFX,GAAYe,IAAIX,EAASK,CAAAA,EAG9B,CACD,OAAOA,CACR,CAED,UAAAO,CACE,OAAOV,KAAKH,OACb,CAAA,EAiCUc,GAAaC,GACxB,IAAKhB,GACc,OAAVgB,GAAU,SAAWA,EAAeA,EAAPC,GAAAA,OAEpCrB,EAAAA,EA1BJ,IAgEasB,GAAc,CACzBC,EACAC,IAAAA,CAEA,GAAIC,GACDF,EAA0BG,mBAAqBF,EAAOG,IAAKC,GAC1DA,aAAaC,cAAgBD,EAAIA,EAAEE,UAAAA,MAGrC,SAAWF,KAAKJ,EAAQ,CACtB,IAAMO,EAAQC,SAASC,cAAc,OAAA,EAE/BC,EAASC,GAAyB,SACpCD,IADoC,QAEtCH,EAAMK,aAAa,QAASF,CAAAA,EAE9BH,EAAMM,YAAeT,EAAgBU,QACrCf,EAAWgB,YAAYR,CAAAA,CACxB,CACF,EAWUS,GACXf,GAEKG,GAAyBA,EACzBA,GACCA,aAAaC,eAbYY,GAAAA,CAC/B,IAAIH,EAAU,GACd,QAAWI,KAAQD,EAAME,SACvBL,GAAWI,EAAKJ,QAElB,OAAOM,GAAUN,CAAAA,CAAQ,GAQkCV,CAAAA,EAAKA,EChKlE,GAAA,CAAMiB,GACJA,GAAEC,eACFA,GAAcC,yBACdA,GAAwBC,oBACxBA,GAAmBC,sBACnBA,GAAqBC,eACrBA,EAAAA,EACEC,OAKEC,GAASC,WAUTC,GAAgBF,GACnBE,aAMGC,GAAiCD,GAClCA,GAAaE,YACd,GAEEC,GAEFL,GAAOM,+BAoGLC,GAA4B,CAChCC,EACAC,IACMD,EA0KKE,GAA8C,CACzD,YAAYC,EAAgBC,EAAAA,CAC1B,OAAQA,EAAAA,CACN,KAAKC,QACHF,EAAQA,EAAQR,GAAiC,KACjD,MACF,KAAKJ,OACL,KAAKe,MAGHH,EAAQA,GAAS,KAAOA,EAAQI,KAAKC,UAAUL,CAAAA,CAAAA,CAGnD,OAAOA,CACR,EAED,cAAcA,EAAsBC,EAAAA,CAClC,IAAIK,EAAqBN,EACzB,OAAQC,EAAAA,CACN,KAAKC,QACHI,EAAYN,IAAU,KACtB,MACF,KAAKO,OACHD,EAAYN,IAAU,KAAO,KAAOO,OAAOP,CAAAA,EAC3C,MACF,KAAKZ,OACL,KAAKe,MAIH,GAAA,CAEEG,EAAYF,KAAKI,MAAMR,CAAAA,CACxB,MAAQS,CACPH,EAAY,IACb,CAAA,CAGL,OAAOA,CACR,CAAA,EAWUI,GAAuB,CAACV,EAAgBW,IAAAA,CAClD7B,GAAGkB,EAAOW,CAAAA,EAEPC,GAAkD,CACtDC,UAAAA,GACAZ,KAAMa,OACNC,UAAWhB,GACXiB,QAAAA,GACAC,WAAAA,GACAC,WAAYR,EAAAA,EAsBbS,OAA8BC,WAAaD,OAAO,UAAA,EAcnD9B,GAAOgC,sBAAwB,IAAIC,QAAAA,IAWbC,GAXaD,cAoBzBE,WAAAA,CAqFR,OAAA,eAAsBC,EAAAA,CACpBC,KAAKC,KAAAA,GACJD,KAAKE,IAAkB,CAAA,GAAIC,KAAKJ,CAAAA,CAClC,CAuGD,WAAA,oBAAWK,CAOT,OALAJ,KAAKK,SAAAA,EAMHL,KAAKM,MAA4B,CAAA,GAAIN,KAAKM,KAAyBC,KAAAA,CAAAA,CAEtE,CA6BD,OAAA,eACEC,EACAC,EAA+BvB,GAAAA,CAc/B,GAXIuB,EAAQC,QACTD,EAAsDtB,UAAAA,IAEzDa,KAAKC,KAAAA,EAGDD,KAAKW,UAAUC,eAAeJ,CAAAA,KAChCC,EAAU/C,OAAOmD,OAAOJ,CAAAA,GAChBK,QAAAA,IAEVd,KAAKe,kBAAkBC,IAAIR,EAAMC,CAAAA,EAAAA,CAC5BA,EAAQQ,WAAY,CACvB,IAAMC,EAIFzB,OAAAA,EACE0B,EAAanB,KAAKoB,sBAAsBZ,EAAMU,EAAKT,CAAAA,EACrDU,IADqDV,QAEvDpD,GAAe2C,KAAKW,UAAWH,EAAMW,CAAAA,CAExC,CACF,CA6BS,OAAA,sBACRX,EACAU,EACAT,EAAAA,CAEA,GAAA,CAAMY,IAACA,EAAGL,IAAEA,CAAAA,EAAO1D,GAAyB0C,KAAKW,UAAWH,CAAAA,GAAS,CACnE,KAAAa,CACE,OAAOrB,KAAKkB,CAAAA,CACb,EACD,IAA2BI,EAAAA,CACxBtB,KAAqDkB,CAAAA,EAAOI,CAC9D,CAAA,EAmBH,MAAO,CACLD,IAAAA,EACA,IAA2B/C,EAAAA,CACzB,IAAMiD,EAAWF,GAAKG,KAAKxB,IAAAA,EAC3BgB,GAAKQ,KAAKxB,KAAM1B,CAAAA,EAChB0B,KAAKyB,cAAcjB,EAAMe,EAAUd,CAAAA,CACpC,EACDiB,aAAAA,GACAC,WAAAA,EAAY,CAEf,CAgBD,OAAA,mBAA0BnB,EAAAA,CACxB,OAAOR,KAAKe,kBAAkBM,IAAIb,CAAAA,GAAStB,EAC5C,CAgBO,OAAA,MAAOe,CACb,GACED,KAAKY,eAAe1C,GAA0B,mBAAA,CAAA,EAG9C,OAGF,IAAM0D,EAAYnE,GAAeuC,IAAAA,EACjC4B,EAAUvB,SAAAA,EAKNuB,EAAU1B,IALJG,SAMRL,KAAKE,EAAgB,CAAA,GAAI0B,EAAU1B,CAAAA,GAGrCF,KAAKe,kBAAoB,IAAIc,IAAID,EAAUb,iBAAAA,CAC5C,CAaS,OAAA,UAAOV,CACf,GAAIL,KAAKY,eAAe1C,GAA0B,WAAA,CAAA,EAChD,OAMF,GAJA8B,KAAK8B,UAAAA,GACL9B,KAAKC,KAAAA,EAGDD,KAAKY,eAAe1C,GAA0B,YAAA,CAAA,EAAsB,CACtE,IAAM6D,EAAQ/B,KAAKgC,WACbC,EAAW,CAAA,GACZ1E,GAAoBwE,CAAAA,EAAAA,GACpBvE,GAAsBuE,CAAAA,CAAAA,EAE3B,QAAWG,KAAKD,EACdjC,KAAKmC,eAAeD,EAAGH,EAAMG,CAAAA,CAAAA,CAEhC,CAGD,IAAMxC,EAAWM,KAAKP,OAAOC,QAAAA,EAC7B,GAAIA,IAAa,KAAM,CACrB,IAAMsC,EAAarC,oBAAoB0B,IAAI3B,CAAAA,EAC3C,GAAIsC,IAAJ,OACE,OAAK,CAAOE,EAAGzB,CAAAA,IAAYuB,EACzBhC,KAAKe,kBAAkBC,IAAIkB,EAAGzB,CAAAA,CAGnC,CAGDT,KAAKM,KAA2B,IAAIuB,IACpC,OAAK,CAAOK,EAAGzB,CAAAA,IAAYT,KAAKe,kBAAmB,CACjD,IAAMqB,EAAOpC,KAAKqC,KAA2BH,EAAGzB,CAAAA,EAC5C2B,IAD4C3B,QAE9CT,KAAKM,KAAyBU,IAAIoB,EAAMF,CAAAA,CAE3C,CAEDlC,KAAKsC,cAAgBtC,KAAKuC,eAAevC,KAAKwC,MAAAA,CAkB/C,CA4BS,OAAA,eACRA,EAAAA,CAEA,IAAMF,EAAgB,CAAA,EACtB,GAAI7D,MAAMgE,QAAQD,CAAAA,EAAS,CAIzB,IAAMxB,EAAM,IAAI0B,IAAKF,EAA0BG,KAAKC,GAAAA,EAAUC,QAAAA,CAAAA,EAE9D,QAAWC,KAAK9B,EACdsB,EAAcS,QAAQC,GAAmBF,CAAAA,CAAAA,CAE5C,MAAUN,IAAV,QACCF,EAAcnC,KAAK6C,GAAmBR,CAAAA,CAAAA,EAExC,OAAOF,CACR,CAaO,OAAA,KACN9B,EACAC,EAAAA,CAEA,IAAMtB,EAAYsB,EAAQtB,UAC1B,OAAOA,IAAP,GAAOA,OAEkB,OAAdA,GAAc,SACnBA,EACgB,OAATqB,GAAS,SACdA,EAAKyC,YAAAA,EAAAA,MAEd,CAiDD,aAAAC,CACEC,MAAAA,EA9WMnD,KAAoBoD,KAAAA,OAuU5BpD,KAAeqD,gBAAAA,GAOfrD,KAAUsD,WAAAA,GAwBFtD,KAAoBuD,KAAuB,KASjDvD,KAAKwD,KAAAA,CACN,CAMO,MAAAA,CACNxD,KAAKyD,KAAkB,IAAIC,QACxBC,GAAS3D,KAAK4D,eAAiBD,CAAAA,EAElC3D,KAAK6D,KAAsB,IAAIhC,IAG/B7B,KAAK8D,KAAAA,EAGL9D,KAAKyB,cAAAA,EACJzB,KAAKkD,YAAuChD,GAAe6D,QAASC,GACnEA,EAAEhE,IAAAA,CAAAA,CAEL,CAWD,cAAciE,EAAAA,EACXjE,KAAKkE,OAAkB,IAAIxB,KAAOyB,IAAIF,CAAAA,EAKnCjE,KAAKoE,aAL8BH,QAKFjE,KAAKqE,aACxCJ,EAAWK,gBAAAA,CAEd,CAMD,iBAAiBL,EAAAA,CACfjE,KAAKkE,MAAeK,OAAON,CAAAA,CAC5B,CAQO,MAAAH,CACN,IAAMU,EAAqB,IAAI3C,IACzBd,EAAqBf,KAAKkD,YAC7BnC,kBACH,QAAWmB,KAAKnB,EAAkBR,KAAAA,EAC5BP,KAAKY,eAAesB,CAAAA,IACtBsC,EAAmBxD,IAAIkB,EAAGlC,KAAKkC,CAAAA,CAAAA,EAAAA,OACxBlC,KAAKkC,CAAAA,GAGZsC,EAAmBC,KAAO,IAC5BzE,KAAKoD,KAAuBoB,EAE/B,CAWS,kBAAAE,CACR,IAAMN,EACJpE,KAAK2E,YACL3E,KAAK4E,aACF5E,KAAKkD,YAAuC2B,iBAAAA,EAMjD,OAJAC,GACEV,EACCpE,KAAKkD,YAAuCZ,aAAAA,EAExC8B,CACR,CAOD,mBAAAW,CAEG/E,KAA4CoE,aAC3CpE,KAAK0E,iBAAAA,EACP1E,KAAK4D,eAAAA,EAAe,EACpB5D,KAAKkE,MAAeH,QAASiB,GAAMA,EAAEV,gBAAAA,CAAAA,CACtC,CAQS,eAAeW,EAAAA,CAA6B,CAQtD,sBAAAC,CACElF,KAAKkE,MAAeH,QAASiB,GAAMA,EAAEG,mBAAAA,CAAAA,CACtC,CAcD,yBACE3E,EACA4E,EACA9G,EAAAA,CAEA0B,KAAKqF,KAAsB7E,EAAMlC,CAAAA,CAClC,CAEO,KAAsBkC,EAAmBlC,EAAAA,CAC/C,IAGMmC,EAFJT,KAAKkD,YACLnC,kBAC6BM,IAAIb,CAAAA,EAC7B4B,EACJpC,KAAKkD,YACLb,KAA2B7B,EAAMC,CAAAA,EACnC,GAAI2B,IAAJ,QAA0B3B,EAAQnB,UAA9B8C,GAAgD,CAClD,IAKMkD,GAJH7E,EAAQpB,WAAyCkG,cAI9CD,OAFC7E,EAAQpB,UACThB,IACsBkH,YAAajH,EAAOmC,EAAQlC,IAAAA,EAwBxDyB,KAAKuD,KAAuB/C,EACxB8E,GAAa,KACftF,KAAKwF,gBAAgBpD,CAAAA,EAErBpC,KAAKyF,aAAarD,EAAMkD,CAAAA,EAG1BtF,KAAKuD,KAAuB,IAC7B,CACF,CAGD,KAAsB/C,EAAclC,EAAAA,CAClC,IAAMoH,EAAO1F,KAAKkD,YAGZyC,EAAYD,EAAKpF,KAA0Ce,IAAIb,CAAAA,EAGrE,GAAImF,IAAJ,QAA8B3F,KAAKuD,OAAyBoC,EAAU,CACpE,IAAMlF,EAAUiF,EAAKE,mBAAmBD,CAAAA,EAClCtG,EACyB,OAAtBoB,EAAQpB,WAAc,WACzB,CAACwG,cAAepF,EAAQpB,SAAAA,EACxBoB,EAAQpB,WAAWwG,gBADKxG,OAEtBoB,EAAQpB,UACRhB,GAER2B,KAAKuD,KAAuBoC,EAC5B3F,KAAK2F,CAAAA,EACHtG,EAAUwG,cAAevH,EAAOmC,EAAQlC,IAAAA,GACxCyB,KAAK8F,MAAiBzE,IAAIsE,CAAAA,GAEzB,KAEH3F,KAAKuD,KAAuB,IAC7B,CACF,CAgBD,cACE/C,EACAe,EACAd,EAAAA,CAGA,GAAID,IAAJ,OAAwB,CAOtB,IAAMkF,EAAO1F,KAAKkD,YACZ6C,EAAW/F,KAAKQ,CAAAA,EActB,GAbAC,IAAYiF,EAAKE,mBAAmBpF,CAAAA,EAAAA,GAEjCC,EAAQjB,YAAcR,IAAU+G,EAAUxE,CAAAA,GAO1Cd,EAAQlB,YACPkB,EAAQnB,SACRyG,IAAa/F,KAAK8F,MAAiBzE,IAAIb,CAAAA,GAAAA,CACtCR,KAAKgG,aAAaN,EAAKrD,KAA2B7B,EAAMC,CAAAA,CAAAA,GAK3D,OAHAT,KAAKiG,EAAiBzF,EAAMe,EAAUd,CAAAA,CAKzC,CACGT,KAAKqD,kBADR,KAECrD,KAAKyD,KAAkBzD,KAAKkG,KAAAA,EAE/B,CAKD,EACE1F,EACAe,EAAAA,CACAhC,WAACA,EAAUD,QAAEA,EAAOwB,QAAEA,CAAAA,EACtBqF,EAAAA,CAII5G,GAAAA,EAAgBS,KAAK8F,OAAoB,IAAIjE,KAAOuE,IAAI5F,CAAAA,IAC1DR,KAAK8F,KAAgB9E,IACnBR,EACA2F,GAAmB5E,GAAYvB,KAAKQ,CAAAA,CAAAA,EAIlCM,IAJkCN,IAId2F,IAApBrF,UAMDd,KAAK6D,KAAoBuC,IAAI5F,CAAAA,IAG3BR,KAAKsD,YAAe/D,IACvBgC,EAAAA,QAEFvB,KAAK6D,KAAoB7C,IAAIR,EAAMe,CAAAA,GAMjCjC,IANiCiC,IAMbvB,KAAKuD,OAAyB/C,IACnDR,KAAKqG,OAA2B,IAAI3D,KAAoByB,IAAI3D,CAAAA,EAEhE,CAKO,MAAA,MAAM0F,CACZlG,KAAKqD,gBAAAA,GACL,GAAA,CAAA,MAGQrD,KAAKyD,IACZ,OAAQ1E,EAAAA,CAKP2E,QAAQ4C,OAAOvH,CAAAA,CAChB,CACD,IAAMwH,EAASvG,KAAKwG,eAAAA,EAOpB,OAHID,GAAU,MAAVA,MACIA,EAAAA,CAEAvG,KAAKqD,eACd,CAmBS,gBAAAmD,CAiBR,OAhBexG,KAAKyG,cAAAA,CAiBrB,CAYS,eAAAA,CAIR,GAAA,CAAKzG,KAAKqD,gBACR,OAGF,GAAA,CAAKrD,KAAKsD,WAAY,CA2BpB,GAxBCtD,KAA4CoE,aAC3CpE,KAAK0E,iBAAAA,EAuBH1E,KAAKoD,KAAsB,CAG7B,OAAK,CAAOlB,EAAG5D,CAAAA,IAAU0B,KAAKoD,KAC5BpD,KAAKkC,CAAAA,EAAmB5D,EAE1B0B,KAAKoD,KAAAA,MACN,CAUD,IAAMrC,EAAqBf,KAAKkD,YAC7BnC,kBACH,GAAIA,EAAkB0D,KAAO,EAC3B,OAAK,CAAOvC,EAAGzB,CAAAA,IAAYM,EAAmB,CAC5C,GAAA,CAAMD,QAACA,CAAAA,EAAWL,EACZnC,EAAQ0B,KAAKkC,CAAAA,EAEjBpB,IAFiBoB,IAGhBlC,KAAK6D,KAAoBuC,IAAIlE,CAAAA,GAC9B5D,IAD8B4D,QAG9BlC,KAAKiG,EAAiB/D,EAAAA,OAAczB,EAASnC,CAAAA,CAEhD,CAEJ,CACD,IAAIoI,EAAAA,GACEC,EAAoB3G,KAAK6D,KAC/B,GAAA,CACE6C,EAAe1G,KAAK0G,aAAaC,CAAAA,EAC7BD,GACF1G,KAAK4G,WAAWD,CAAAA,EAChB3G,KAAKkE,MAAeH,QAASiB,GAAMA,EAAE6B,aAAAA,CAAAA,EACrC7G,KAAK8G,OAAOH,CAAAA,GAEZ3G,KAAK+G,KAAAA,CAER,OAAQhI,EAAAA,CAMP,MAHA2H,EAAAA,GAEA1G,KAAK+G,KAAAA,EACChI,CACP,CAEG2H,GACF1G,KAAKgH,KAAYL,CAAAA,CAEpB,CAuBS,WAAWM,EAAAA,CAA4C,CAIjE,KAAYN,EAAAA,CACV3G,KAAKkE,MAAeH,QAASiB,GAAMA,EAAEkC,cAAAA,CAAAA,EAChClH,KAAKsD,aACRtD,KAAKsD,WAAAA,GACLtD,KAAKmH,aAAaR,CAAAA,GAEpB3G,KAAKoH,QAAQT,CAAAA,CAiBd,CAEO,MAAAI,CACN/G,KAAK6D,KAAsB,IAAIhC,IAC/B7B,KAAKqD,gBAAAA,EACN,CAkBD,IAAA,gBAAIgE,CACF,OAAOrH,KAAKsH,kBAAAA,CACb,CAyBS,mBAAAA,CACR,OAAOtH,KAAKyD,IACb,CAUS,aAAawD,EAAAA,CACrB,MAAA,EACD,CAWS,OAAOA,EAAAA,CAIfjH,KAAKqG,OAA2BrG,KAAKqG,KAAuBtC,QAAS7B,GACnElC,KAAKuH,KAAsBrF,EAAGlC,KAAKkC,CAAAA,CAAAA,CAAAA,EAErClC,KAAK+G,KAAAA,CACN,CAYS,QAAQE,EAAAA,CAAsC,CAkB9C,aAAaA,EAAAA,CAAsC,CAAA,EAliCtDpH,GAAayC,cAA6B,CAAA,EAiT1CzC,GAAAgF,kBAAoC,CAAC2C,KAAM,MAAA,EAsvBnD3H,GACC3B,GAA0B,mBAAA,CAAA,EACxB,IAAI2D,IACPhC,GACC3B,GAA0B,WAAA,CAAA,EACxB,IAAI2D,IAGR7D,KAAkB,CAAC6B,gBAAAA,EAAAA,CAAAA,GAuClBlC,GAAO8J,0BAA4B,CAAA,GAAItH,KAAK,OAAA,ECrrD7C,IAAMuH,GAASC,WA4OTC,GAAgBF,GAAyCE,aAUzDC,GAASD,GACXA,GAAaE,aAAa,WAAY,CACpCC,WAAaC,GAAMA,CAAAA,CAAAA,EAAAA,OA8EnBC,GAAuB,QAMvBC,GAAS,OAAOC,KAAKC,OAAAA,EAASC,QAAQ,CAAA,EAAGC,MAAM,CAAA,CAAA,IAG/CC,GAAc,IAAML,GAIpBM,GAAa,IAAID,EAAAA,IAEjBE,GAOAC,SAGAC,GAAe,IAAMF,GAAEG,cAAc,EAAA,EAIrCC,GAAeC,GACnBA,IAAU,MAAyB,OAATA,GAAS,UAA4B,OAATA,GAAS,WAC3DC,GAAUC,MAAMD,QAChBE,GAAcH,GAClBC,GAAQD,CAAAA,GAEqC,OAArCA,IAAgBI,OAAOC,QAAAA,GAAc,WAEzCC,GAAa;OAkBbC,GAAe,sDAKfC,GAAkB,OAIlBC,GAAmB,KAwBnBC,GAAkBC,OACtB,KAAKL,EAAAA,qBAAgCA,EAAAA,KAAeA,EAAAA;0BACpD,GAAA,EAOIM,GAA0B,KAC1BC,GAA0B,KAO1BC,GAAiB,qCAyGjBC,GACmBC,GACvB,CAACC,KAAkCC,KAwB1B,CAELC,WAAgBH,EAChBC,QAAAA,EACAC,OAAAA,CAAAA,GAiBOE,GAAOL,GArJA,CAAA,EA+KPM,GAAMN,GA9KA,CAAA,EAwMNO,GAASP,GAvMA,CAAA,EA6MTQ,GAAWnB,OAAOoB,IAAI,cAAA,EAqBtBC,GAAUrB,OAAOoB,IAAI,aAAA,EAS5BE,GAAgB,IAAIC,QAqCpBC,GAASjC,GAAEkC,iBACflC,GACA,GAAA,EAqBF,SAASmC,GACPC,EACAC,EAAAA,CAOA,GAAA,CAAK/B,GAAQ8B,CAAAA,GAAAA,CAASA,EAAIE,eAAe,KAAA,EAiBvC,MAAUC,MAhBI,gCAAA,EAkBhB,OAAOnD,KAAP,OACIA,GAAOE,WAAW+C,CAAAA,EACjBA,CACP,CAcA,IAAMG,GAAkB,CACtBlB,EACAD,IAAAA,CAQA,IAAMoB,EAAInB,EAAQoB,OAAS,EAIrBC,EAA2B,CAAA,EAO7BC,EANAnB,EACFJ,IArWe,EAqWO,QAAUA,IApWd,EAoWuC,SAAW,GASlEwB,EAAQjC,GAEZ,QAASkC,EAAI,EAAGA,EAAIL,EAAGK,IAAK,CAC1B,IAAMvD,EAAI+B,EAAQwB,CAAAA,EAOdC,EAEAC,EAHAC,EAAAA,GAEAC,EAAY,EAKhB,KAAOA,EAAY3D,EAAEmD,SAEnBG,EAAMK,UAAYA,EAClBF,EAAQH,EAAMM,KAAK5D,CAAAA,EACfyD,IAAU,OAGdE,EAAYL,EAAMK,UACdL,IAAUjC,GACRoC,EA5bU,CAAA,IA4be,MAC3BH,EAAQhC,GACCmC,EA9bG,CAAA,IA6bJnC,OAGRgC,EAAQ/B,GACCkC,EAhcF,CAAA,IA+bClC,QAEJK,GAAeiC,KAAKJ,EAjcjB,CAAA,CAAA,IAocLJ,EAAsB5B,OAAO,KAAKgC,EApc7B,CAAA,EAocgD,GAAA,GAEvDH,EAAQ9B,IACCiC,EAtcM,CAAA,IAqcPjC,SAQR8B,EAAQ9B,IAED8B,IAAU9B,GACfiC,EA9aS,CAAA,IA8ae,KAG1BH,EAAQD,GAAmBhC,GAG3BqC,EAAAA,IACSD,EApbI,CAAA,IAmbO,OAGpBC,EAAAA,IAEAA,EAAmBJ,EAAMK,UAAYF,EAvbrB,CAAA,EAub8CN,OAC9DK,EAAWC,EAzbE,CAAA,EA0bbH,EACEG,EAzbO,CAAA,IAwbTH,OAEM9B,GACAiC,EA3bG,CAAA,IA2bmB,IACpB9B,GACAD,IAGV4B,IAAU3B,IACV2B,IAAU5B,GAEV4B,EAAQ9B,GACC8B,IAAUhC,IAAmBgC,IAAU/B,GAChD+B,EAAQjC,IAIRiC,EAAQ9B,GACR6B,EAAAA,QA8BJ,IAAMS,EACJR,IAAU9B,IAAeO,EAAQwB,EAAI,CAAA,EAAGQ,WAAW,IAAA,EAAQ,IAAM,GACnE7B,GACEoB,IAAUjC,GACNrB,EAAIQ,GACJkD,GAAoB,GACjBN,EAAUY,KAAKR,CAAAA,EAChBxD,EAAEM,MAAM,EAAGoD,CAAAA,EACTzD,GACAD,EAAEM,MAAMoD,CAAAA,EACVxD,GACA4D,GACA9D,EAAIE,IAAUwD,IAAVxD,GAAoCqD,EAAIO,EACrD,CAQD,MAAO,CAAClB,GAAwBb,EAL9BG,GACCH,EAAQmB,CAAAA,GAAM,QACdpB,IA5ec,EA4eQ,SAAWA,IA3ehB,EA2eyC,UAAY,GAAA,EAGnBsB,CAAAA,CAAU,EAK5Da,GAAN,MAAMA,CAAAA,CAMJ,YAAAC,CAEEnC,QAACA,EAASE,WAAgBH,CAAAA,EAC1BqC,EAAAA,CAEA,IAAIC,EAPNC,KAAKC,MAAwB,CAAA,EAQ3B,IAAIC,EAAY,EACZC,EAAgB,EACdC,EAAY1C,EAAQoB,OAAS,EAC7BmB,EAAQD,KAAKC,MAAAA,CAGZpC,EAAMkB,CAAAA,EAAaH,GAAgBlB,EAASD,CAAAA,EAKnD,GAJAuC,KAAKK,GAAKT,EAASU,cAAczC,EAAMiC,CAAAA,EACvCzB,GAAOkC,YAAcP,KAAKK,GAAGG,QAGzB/C,IA3gBW,GA2gBYA,IA1gBT,EA0gBiC,CACjD,IAAMgD,EAAUT,KAAKK,GAAGG,QAAQE,WAChCD,EAAQE,YAAAA,GAAeF,EAAQG,UAAAA,CAChC,CAGD,MAAQb,EAAO1B,GAAOwC,SAAAA,KAAgB,MAAQZ,EAAMnB,OAASsB,GAAW,CACtE,GAAIL,EAAKe,WAAa,EAAG,CAuBvB,GAAKf,EAAiBgB,cAAAA,EACpB,QAAWC,KAASjB,EAAiBkB,kBAAAA,EACnC,GAAID,EAAKE,SAAStF,EAAAA,EAAuB,CACvC,IAAMuF,EAAWpC,EAAUoB,GAAAA,EAErBiB,EADSrB,EAAiBsB,aAAaL,CAAAA,EACvBM,MAAMzF,EAAAA,EACtB0F,EAAI,eAAehC,KAAK4B,CAAAA,EAC9BlB,EAAMN,KAAK,CACTlC,KA1iBO,EA2iBP+D,MAAOtB,EACPc,KAAMO,EAAE,CAAA,EACR7D,QAAS0D,EACTK,KACEF,EAAE,CAAA,IAAO,IACLG,GACAH,EAAE,CAAA,IAAO,IACPI,GACAJ,EAAE,CAAA,IAAO,IACPK,GACAC,EAAAA,CAAAA,EAEX9B,EAAiB+B,gBAAgBd,CAAAA,CACnC,MAAUA,EAAKtB,WAAW7D,EAAAA,IACzBoE,EAAMN,KAAK,CACTlC,KArjBK,EAsjBL+D,MAAOtB,CAAAA,CAAAA,EAERH,EAAiB+B,gBAAgBd,CAAAA,GAMxC,GAAIzD,GAAeiC,KAAMO,EAAiBgC,OAAAA,EAAU,CAIlD,IAAMrE,EAAWqC,EAAiBiC,YAAaV,MAAMzF,EAAAA,EAC/CyD,EAAY5B,EAAQoB,OAAS,EACnC,GAAIQ,EAAY,EAAG,CAChBS,EAAiBiC,YAAczG,GAC3BA,GAAa0G,YACd,GAGJ,QAAS/C,EAAI,EAAGA,EAAII,EAAWJ,IAC5Ba,EAAiBmC,OAAOxE,EAAQwB,CAAAA,EAAI5C,GAAAA,CAAAA,EAErC+B,GAAOwC,SAAAA,EACPZ,EAAMN,KAAK,CAAClC,KAllBP,EAklByB+D,MAAAA,EAAStB,CAAAA,CAAAA,EAKxCH,EAAiBmC,OAAOxE,EAAQ4B,CAAAA,EAAYhD,GAAAA,CAAAA,CAC9C,CACF,CACF,SAAUyD,EAAKe,WAAa,EAE3B,GADcf,EAAiBoC,OAClBjG,GACX+D,EAAMN,KAAK,CAAClC,KA7lBH,EA6lBqB+D,MAAOtB,CAAAA,CAAAA,MAChC,CACL,IAAIhB,EAAAA,GACJ,MAAQA,EAAKa,EAAiBoC,KAAKC,QAAQvG,GAAQqD,EAAI,CAAA,KAAvD,IAGEe,EAAMN,KAAK,CAAClC,KA9lBH,EA8lBuB+D,MAAOtB,CAAAA,CAAAA,EAEvChB,GAAKrD,GAAOiD,OAAS,CAExB,CAEHoB,GACD,CAkCF,CAID,OAAA,cAAqBrC,EAAmBwE,EAAAA,CACtC,IAAMhC,EAAKjE,GAAEkE,cAAc,UAAA,EAE3B,OADAD,EAAGiC,UAAYzE,EACRwC,CACR,CAAA,EAgBH,SAASkC,GACPC,EACA/F,EACAgG,EAA0BD,EAC1BE,EAAAA,CAIA,GAAIjG,IAAUuB,GACZ,OAAOvB,EAET,IAAIkG,EACFD,IADEC,OAEGF,EAAyBG,OAAeF,CAAAA,EACxCD,EAA+CI,KAChDC,EAA2BtG,GAAYC,CAAAA,EAAAA,OAGxCA,EAA2C,gBAyBhD,OAxBIkG,GAAkB9C,cAAgBiD,IAEpCH,GAAuD,OAAA,EAAI,EACvDG,IADuD,OAEzDH,EAAAA,QAEAA,EAAmB,IAAIG,EAAyBN,CAAAA,EAChDG,EAAiBI,KAAaP,EAAMC,EAAQC,CAAAA,GAE1CA,IAF0CA,QAG1CD,EAAyBG,OAAiB,CAAA,GAAIF,CAAAA,EAC9CC,EAEDF,EAAiCI,KAAcF,GAGhDA,IAHgDA,SAIlDlG,EAAQ8F,GACNC,EACAG,EAAiBK,KAAUR,EAAO/F,EAA0BkB,MAAAA,EAC5DgF,EACAD,CAAAA,GAGGjG,CACT,CAOA,IAAMwG,GAAN,KAAMA,CASJ,YAAYC,EAAoBT,EAAAA,CAPhCzC,KAAOmD,KAA4B,CAAA,EAKnCnD,KAAwBoD,KAAAA,OAGtBpD,KAAKqD,KAAaH,EAClBlD,KAAKsD,KAAWb,CACjB,CAGD,IAAA,YAAIc,CACF,OAAOvD,KAAKsD,KAASC,UACtB,CAGD,IAAA,MAAIC,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAID,EAAO1D,EAAAA,CACL,GAAA,CACEO,GAAAA,CAAIG,QAACA,CAAAA,EACLP,MAAOA,CAAAA,EACLD,KAAKqD,KACHI,GAAY3D,GAAS4D,eAAiBtH,IAAGuH,WAAWnD,EAAAA,EAAS,EACnEnC,GAAOkC,YAAckD,EAErB,IAAI1D,EAAO1B,GAAOwC,SAAAA,EACdX,EAAY,EACZ0D,EAAY,EACZC,EAAe5D,EAAM,CAAA,EAEzB,KAAO4D,IAAP,QAAmC,CACjC,GAAI3D,IAAc2D,EAAarC,MAAO,CACpC,IAAIgB,EACAqB,EAAapG,OAjwBN,EAkwBT+E,EAAO,IAAIsB,GACT/D,EACAA,EAAKgE,YACL/D,KACAF,CAAAA,EAEO+D,EAAapG,OAzwBT,EA0wBb+E,EAAO,IAAIqB,EAAapC,KACtB1B,EACA8D,EAAa7C,KACb6C,EAAanG,QACbsC,KACAF,CAAAA,EAEO+D,EAAapG,OA5wBX,IA6wBX+E,EAAO,IAAIwB,GAAYjE,EAAqBC,KAAMF,CAAAA,GAEpDE,KAAKmD,KAAQxD,KAAK6C,CAAAA,EAClBqB,EAAe5D,EAAAA,EAAQ2D,CAAAA,CACxB,CACG1D,IAAc2D,GAAcrC,QAC9BzB,EAAO1B,GAAOwC,SAAAA,EACdX,IAEH,CAKD,OADA7B,GAAOkC,YAAcnE,GACdqH,CACR,CAED,EAAQ9F,EAAAA,CACN,IAAIuB,EAAI,EACR,QAAWsD,KAAQxC,KAAKmD,KAClBX,IADkBW,SAWfX,EAAuB9E,UAV1B8E,QAWCA,EAAuByB,KAAWtG,EAAQ6E,EAAuBtD,CAAAA,EAIlEA,GAAMsD,EAAuB9E,QAASoB,OAAS,GAE/C0D,EAAKyB,KAAWtG,EAAOuB,CAAAA,CAAAA,GAG3BA,GAEH,CAAA,EA8CG4E,GAAN,MAAMA,CAAAA,CAwBJ,IAAA,MAAIN,CAIF,OAAOxD,KAAKsD,MAAUE,MAAiBxD,KAAKkE,IAC7C,CAeD,YACEC,EACAC,EACA3B,EACA3C,EAAAA,CA/COE,KAAIvC,KA12BI,EA42BjBuC,KAAgBqE,KAAYnG,GA+B5B8B,KAAwBoD,KAAAA,OAgBtBpD,KAAKsE,KAAcH,EACnBnE,KAAKuE,KAAYH,EACjBpE,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,EAIfE,KAAKkE,KAAgBpE,GAAS0E,aAAAA,EAK/B,CAoBD,IAAA,YAAIjB,CACF,IAAIA,EAAwBvD,KAAKsE,KAAaf,WACxCd,EAASzC,KAAKsD,KAUpB,OAREb,IAQF,QAPEc,GAAYzC,WAAa,KAKzByC,EAAcd,EAAwCc,YAEjDA,CACR,CAMD,IAAA,WAAIY,CACF,OAAOnE,KAAKsE,IACb,CAMD,IAAA,SAAIF,CACF,OAAOpE,KAAKuE,IACb,CAED,KAAW9H,EAAgBgI,EAAmCzE,KAAAA,CAM5DvD,EAAQ8F,GAAiBvC,KAAMvD,EAAOgI,CAAAA,EAClCjI,GAAYC,CAAAA,EAIVA,IAAUyB,IAAWzB,GAAS,MAAQA,IAAU,IAC9CuD,KAAKqE,OAAqBnG,IAS5B8B,KAAK0E,KAAAA,EAEP1E,KAAKqE,KAAmBnG,IACfzB,IAAUuD,KAAKqE,MAAoB5H,IAAUuB,IACtDgC,KAAK2E,EAAYlI,CAAAA,EAGTA,EAAqC,aAH5BA,OAInBuD,KAAK4E,EAAsBnI,CAAAA,EACjBA,EAAeqE,WADErE,OAiB3BuD,KAAK6E,EAAYpI,CAAAA,EACRG,GAAWH,CAAAA,EACpBuD,KAAK8E,EAAgBrI,CAAAA,EAGrBuD,KAAK2E,EAAYlI,CAAAA,CAEpB,CAEO,EAAwBsD,EAAAA,CAC9B,OAAiBC,KAAKsE,KAAaf,WAAawB,aAC9ChF,EACAC,KAAKuE,IAAAA,CAER,CAEO,EAAY9H,EAAAA,CACduD,KAAKqE,OAAqB5H,IAC5BuD,KAAK0E,KAAAA,EAoCL1E,KAAKqE,KAAmBrE,KAAKgF,EAAQvI,CAAAA,EAExC,CAEO,EAAYA,EAAAA,CAKhBuD,KAAKqE,OAAqBnG,IAC1B1B,GAAYwD,KAAKqE,IAAAA,EAECrE,KAAKsE,KAAaP,YAcrB5B,KAAO1F,EAsBpBuD,KAAK6E,EAAYzI,GAAE6I,eAAexI,CAAAA,CAAAA,EAUtCuD,KAAKqE,KAAmB5H,CACzB,CAEO,EACNyI,EAAAA,CAGA,GAAA,CAAMvH,OAACA,EAAQC,WAAgBH,CAAAA,EAAQyH,EAKjChC,EACY,OAATzF,GAAS,SACZuC,KAAKmF,KAAcD,CAAAA,GAClBzH,EAAK4C,KADa6E,SAEhBzH,EAAK4C,GAAKT,GAASU,cAClB/B,GAAwBd,EAAK2H,EAAG3H,EAAK2H,EAAE,CAAA,CAAA,EACvCpF,KAAKF,OAAAA,GAETrC,GAEN,GAAKuC,KAAKqE,MAAuChB,OAAeH,EAU7DlD,KAAKqE,KAAsCgB,EAAQ1H,CAAAA,MAC/C,CACL,IAAM2H,EAAW,IAAIrC,GAAiBC,EAAsBlD,IAAAA,EACtDyD,EAAW6B,EAASC,EAAOvF,KAAKF,OAAAA,EAWtCwF,EAASD,EAAQ1H,CAAAA,EAWjBqC,KAAK6E,EAAYpB,CAAAA,EACjBzD,KAAKqE,KAAmBiB,CACzB,CACF,CAID,KAAcJ,EAAAA,CACZ,IAAIhC,EAAW/E,GAAcqH,IAAIN,EAAOxH,OAAAA,EAIxC,OAHIwF,IAGJ,QAFE/E,GAAcsH,IAAIP,EAAOxH,QAAUwF,EAAW,IAAItD,GAASsF,CAAAA,CAAAA,EAEtDhC,CACR,CAEO,EAAgBzG,EAAAA,CAWjBC,GAAQsD,KAAKqE,IAAAA,IAChBrE,KAAKqE,KAAmB,CAAA,EACxBrE,KAAK0E,KAAAA,GAKP,IAAMgB,EAAY1F,KAAKqE,KAEnBsB,EADA/B,EAAY,EAGhB,QAAWgC,KAAQnJ,EACbmH,IAAc8B,EAAU5G,OAK1B4G,EAAU/F,KACPgG,EAAW,IAAI7B,EACd9D,KAAKgF,EAAQ1I,GAAAA,CAAAA,EACb0D,KAAKgF,EAAQ1I,GAAAA,CAAAA,EACb0D,KACAA,KAAKF,OAAAA,CAAAA,EAKT6F,EAAWD,EAAU9B,CAAAA,EAEvB+B,EAAS1B,KAAW2B,CAAAA,EACpBhC,IAGEA,EAAY8B,EAAU5G,SAExBkB,KAAK0E,KACHiB,GAAiBA,EAASpB,KAAYR,YACtCH,CAAAA,EAGF8B,EAAU5G,OAAS8E,EAEtB,CAaD,KACEiC,EAA+B7F,KAAKsE,KAAaP,YACjD+B,EAAAA,CAGA,IADA9F,KAAK+F,OAAAA,GAA4B,GAAaD,CAAAA,EACvCD,GAASA,IAAU7F,KAAKuE,MAAW,CACxC,IAAMyB,EAASH,EAAQ9B,YACjB8B,EAAoBI,OAAAA,EAC1BJ,EAAQG,CACT,CACF,CAQD,aAAaxB,EAAAA,CACPxE,KAAKsD,OADEkB,SAETxE,KAAKkE,KAAgBM,EACrBxE,KAAK+F,OAA4BvB,CAAAA,EAOpC,CAAA,EA2BG3C,GAAN,KAAMA,CA2BJ,IAAA,SAAIE,CACF,OAAO/B,KAAKkG,QAAQnE,OACrB,CAGD,IAAA,MAAIyB,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAED,YACE0C,EACAlF,EACAtD,EACA+E,EACA3C,EAAAA,CAxCOE,KAAIvC,KA3zCQ,EA20CrBuC,KAAgBqE,KAA6BnG,GAM7C8B,KAAwBoD,KAAAA,OAoBtBpD,KAAKkG,QAAUA,EACflG,KAAKgB,KAAOA,EACZhB,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,EACXpC,EAAQoB,OAAS,GAAKpB,EAAQ,CAAA,IAAO,IAAMA,EAAQ,CAAA,IAAO,IAC5DsC,KAAKqE,KAAuB1H,MAAMe,EAAQoB,OAAS,CAAA,EAAGqH,KAAK,IAAIC,MAAAA,EAC/DpG,KAAKtC,QAAUA,GAEfsC,KAAKqE,KAAmBnG,EAK3B,CAwBD,KACEzB,EACAgI,EAAmCzE,KACnCqG,EACAC,EAAAA,CAEA,IAAM5I,EAAUsC,KAAKtC,QAGjB6I,EAAAA,GAEJ,GAAI7I,IAAJ,OAEEjB,EAAQ8F,GAAiBvC,KAAMvD,EAAOgI,EAAiB,CAAA,EACvD8B,EAAAA,CACG/J,GAAYC,CAAAA,GACZA,IAAUuD,KAAKqE,MAAoB5H,IAAUuB,GAC5CuI,IACFvG,KAAKqE,KAAmB5H,OAErB,CAEL,IAAMkB,EAASlB,EAGXyC,EAAGsH,EACP,IAHA/J,EAAQiB,EAAQ,CAAA,EAGXwB,EAAI,EAAGA,EAAIxB,EAAQoB,OAAS,EAAGI,IAClCsH,EAAIjE,GAAiBvC,KAAMrC,EAAO0I,EAAcnH,CAAAA,EAAIuF,EAAiBvF,CAAAA,EAEjEsH,IAAMxI,KAERwI,EAAKxG,KAAKqE,KAAoCnF,CAAAA,GAEhDqH,IAAAA,CACG/J,GAAYgK,CAAAA,GAAMA,IAAOxG,KAAKqE,KAAoCnF,CAAAA,EACjEsH,IAAMtI,GACRzB,EAAQyB,GACCzB,IAAUyB,KACnBzB,IAAU+J,GAAK,IAAM9I,EAAQwB,EAAI,CAAA,GAIlCc,KAAKqE,KAAoCnF,CAAAA,EAAKsH,CAElD,CACGD,GAAAA,CAAWD,GACbtG,KAAKyG,EAAahK,CAAAA,CAErB,CAGD,EAAaA,EAAAA,CACPA,IAAUyB,GACN8B,KAAKkG,QAAqBpE,gBAAgB9B,KAAKgB,IAAAA,EAoB/ChB,KAAKkG,QAAqBQ,aAC9B1G,KAAKgB,KACJvE,GAAS,EAAA,CAGf,CAAA,EAIGiF,GAAN,cAA2BG,EAAAA,CAA3B,aAAAhC,CAAAA,MAAAA,GAAAA,SAAAA,EACoBG,KAAIvC,KA39CF,CAo/CrB,CAtBU,EAAahB,EAAAA,CAoBnBuD,KAAKkG,QAAgBlG,KAAKgB,IAAAA,EAAQvE,IAAUyB,GAAAA,OAAsBzB,CACpE,CAAA,EAIGkF,GAAN,cAAmCE,EAAAA,CAAnC,aAAAhC,CAAAA,MAAAA,GAAAA,SAAAA,EACoBG,KAAIvC,KAv/CO,CAwgD9B,CAdU,EAAahB,EAAAA,CASduD,KAAKkG,QAAqBS,gBAC9B3G,KAAKgB,KAAAA,CAAAA,CACHvE,GAASA,IAAUyB,EAAAA,CAExB,CAAA,EAkBG0D,GAAN,cAAwBC,EAAAA,CAGtB,YACEqE,EACAlF,EACAtD,EACA+E,EACA3C,EAAAA,CAEA8G,MAAMV,EAASlF,EAAMtD,EAAS+E,EAAQ3C,CAAAA,EATtBE,KAAIvC,KAzhDL,CA2iDhB,CAKQ,KACPoJ,EACApC,EAAmCzE,KAAAA,CAInC,IAFA6G,EACEtE,GAAiBvC,KAAM6G,EAAapC,EAAiB,CAAA,GAAMvG,MACzCF,GAClB,OAEF,IAAM8I,EAAc9G,KAAKqE,KAInB0C,EACHF,IAAgB3I,IAAW4I,IAAgB5I,IAC3C2I,EAAyCG,UACvCF,EAAyCE,SAC3CH,EAAyCI,OACvCH,EAAyCG,MAC3CJ,EAAyCK,UACvCJ,EAAyCI,QAIxCC,EACJN,IAAgB3I,KACf4I,IAAgB5I,IAAW6I,GAa1BA,GACF/G,KAAKkG,QAAQkB,oBACXpH,KAAKgB,KACLhB,KACA8G,CAAAA,EAGAK,GACFnH,KAAKkG,QAAQmB,iBACXrH,KAAKgB,KACLhB,KACA6G,CAAAA,EAGJ7G,KAAKqE,KAAmBwC,CACzB,CAED,YAAYS,EAAAA,CAC2B,OAA1BtH,KAAKqE,MAAqB,WACnCrE,KAAKqE,KAAiBkD,KAAKvH,KAAKF,SAAS0H,MAAQxH,KAAKkG,QAASoB,CAAAA,EAE9DtH,KAAKqE,KAAyCoD,YAAYH,CAAAA,CAE9D,CAAA,EAIGtD,GAAN,KAAMA,CAiBJ,YACSkC,EACPzD,EACA3C,EAAAA,CAFOE,KAAOkG,QAAPA,EAjBAlG,KAAIvC,KAlnDM,EA8nDnBuC,KAAwBoD,KAAAA,OAStBpD,KAAKsD,KAAWb,EAChBzC,KAAKF,QAAUA,CAChB,CAGD,IAAA,MAAI0D,CACF,OAAOxD,KAAKsD,KAASE,IACtB,CAED,KAAW/G,EAAAA,CAQT8F,GAAiBvC,KAAMvD,CAAAA,CACxB,CAAA,EAqBU,IAoBPiL,GAEFC,GAAOC,uBACXF,KAAkBG,GAAUC,EAAAA,GAI3BH,GAAOI,kBAAoB,CAAA,GAAIC,KAAK,OAAA,EAoCxB,IAAAC,GAAS,CACpBC,EACAC,EACAC,IAAAA,CAUA,IAAMC,EAAgBD,GAASE,cAAgBH,EAG3CI,EAAmBF,EAAkC,WAUzD,GAAIE,IAAJ,OAAwB,CACtB,IAAMC,EAAUJ,GAASE,cAAgB,KAGxCD,EAAkC,WAAIE,EAAO,IAAIT,GAChDK,EAAUM,aAAaC,GAAAA,EAAgBF,CAAAA,EACvCA,EAAAA,OAEAJ,GAAW,CAAE,CAAA,CAEhB,CAWD,OAVAG,EAAKI,KAAWT,CAAAA,EAUTK,CAAgB,ECppEzB,IAOMK,GAASC,WAmCFC,GAAP,cAA0BC,EAAAA,CAAhC,aAAAC,CAAAA,MAAAA,GAAAA,SAAAA,EAOWC,KAAAC,cAA+B,CAACC,KAAMF,IAAAA,EAEvCA,KAAWG,KAAAA,MA8FpB,CAzFoB,kBAAAC,CACjB,IAAMC,EAAaC,MAAMF,iBAAAA,EAOzB,OADAJ,KAAKC,cAAcM,eAAiBF,EAAYG,WACzCH,CACR,CASkB,OAAOI,EAAAA,CAIxB,IAAMC,EAAQV,KAAKW,OAAAA,EACdX,KAAKY,aACRZ,KAAKC,cAAcY,YAAcb,KAAKa,aAExCP,MAAMQ,OAAOL,CAAAA,EACbT,KAAKG,KAAcQ,GAAOD,EAAOV,KAAKK,WAAYL,KAAKC,aAAAA,CACxD,CAsBQ,mBAAAc,CACPT,MAAMS,kBAAAA,EACNf,KAAKG,MAAaa,aAAAA,EAAa,CAChC,CAqBQ,sBAAAC,CACPX,MAAMW,qBAAAA,EACNjB,KAAKG,MAAaa,aAAAA,EAAa,CAChC,CASS,QAAAL,CACR,OAAOO,EACR,CAAA,EApGMrB,GAAgB,cAAA,GA8GxBA,GAC2B,UAAA,GAI5BF,GAAOwB,2BAA2B,CAACtB,WAAAA,EAAAA,CAAAA,EAGnC,IAAMuB,GAEFzB,GAAO0B,0BACXD,KAAkB,CAACvB,WAAAA,EAAAA,CAAAA,GAmClByB,GAAOC,qBAAuB,CAAA,GAAIC,KAAK,OAAA,ECrP3B,IAAAC,GAAW,CACtBC,UAAW,EACXC,MAAO,EACPC,SAAU,EACVC,kBAAmB,EACnBC,MAAO,EACPC,QAAS,CAAA,EAoCEC,GACgBC,GAC3B,IAAIC,KAAsE,CAExEC,gBAAqBF,EACrBC,OAAAA,CAAAA,GAQkBE,GARlBF,KAQkBE,CAkBpB,YAAYC,EAAAA,CAAuB,CAGnC,IAAA,MAAIC,CACF,OAAOC,KAAKC,KAASF,IACtB,CAGD,KACEG,EACAC,EACAC,EAAAA,CAEAJ,KAAKK,KAASH,EACdF,KAAKC,KAAWE,EAChBH,KAAKM,KAAmBF,CACzB,CAED,KAAUF,EAAYK,EAAAA,CACpB,OAAOP,KAAKQ,OAAON,EAAMK,CAAAA,CAC1B,CAID,OAAOE,EAAaF,EAAAA,CAClB,OAAOP,KAAKU,OAAAA,GAAUH,CAAAA,CACvB,CAAA,EClIG,IAAOI,GAAP,cAAmCC,EAAAA,CAOvC,YAAYC,EAAAA,CAEV,GADAC,MAAMD,CAAAA,EAJAE,KAAMC,GAAYC,GAKpBJ,EAASK,OAASC,GAASC,MAC7B,MAAUC,MAELN,KAAKO,YAA2CC,cADnD,uCAAA,CAKL,CAED,OAAOC,EAAAA,CACL,GAAIA,IAAUP,IAAWO,GAAS,KAEhC,OADAT,KAAKU,GAAAA,OACGV,KAAKC,GAASQ,EAExB,GAAIA,IAAUE,GACZ,OAAOF,EAET,GAAoB,OAATA,GAAS,SAClB,MAAUH,MAELN,KAAKO,YAA2CC,cADnD,mCAAA,EAKJ,GAAIC,IAAUT,KAAKC,GACjB,OAAOD,KAAKU,GAEdV,KAAKC,GAASQ,EACd,IAAMG,EAAU,CAACH,CAAAA,EAKjB,OAHCG,EAAgBC,IAAMD,EAGfZ,KAAKU,GAAkB,CAI7BI,WAAiBd,KAAKO,YACnBQ,WACHH,QAAAA,EACAI,OAAQ,CAAA,CAAA,CAEX,CAAA,EAlDMpB,GAAaY,cAAG,aAChBZ,GAAUmB,WAJC,EAAA,IAkEPE,GAAaC,GAAUtB,EAAAA,ECHpC,IAoBMuB,GAAkD,CACtDC,UAAAA,GACAC,KAAMC,OACNC,UAAWC,GACXC,QAAAA,GACAC,WAAYC,EAAAA,EAaDC,GAAmB,CAC9BC,EAA+BV,GAC/BW,EACAC,IAAAA,CAEA,GAAA,CAAMC,KAACA,EAAIC,SAAEA,CAAAA,EAAYF,EAarBG,EAAaC,WAAWC,oBAAoBC,IAAIJ,CAAAA,EAUpD,GATIC,IASJ,QAREC,WAAWC,oBAAoBE,IAAIL,EAAWC,EAAa,IAAIK,GAAAA,EAE7DP,IAAS,YACXH,EAAUW,OAAOC,OAAOZ,CAAAA,GAChBa,QAAAA,IAEVR,EAAWI,IAAIP,EAAQY,KAAMd,CAAAA,EAEzBG,IAAS,WAAY,CAIvB,GAAA,CAAMW,KAACA,CAAAA,EAAQZ,EACf,MAAO,CACL,IAA2Ba,EAAAA,CACzB,IAAMC,EACJf,EACAO,IAAIS,KAAKC,IAAAA,EACVjB,EAA8CQ,IAAIQ,KACjDC,KACAH,CAAAA,EAEFG,KAAKC,cAAcL,EAAME,EAAUhB,CAAAA,CACpC,EACD,KAA4Be,EAAAA,CAI1B,OAHIA,IAGJ,QAFEG,KAAKE,EAAiBN,EAAAA,OAAiBd,EAASe,CAAAA,EAE3CA,CACR,CAAA,CAEJ,CAAM,GAAIZ,IAAS,SAAU,CAC5B,GAAA,CAAMW,KAACA,CAAAA,EAAQZ,EACf,OAAO,SAAiCmB,EAAAA,CACtC,IAAML,EAAWE,KAAKJ,CAAAA,EACrBb,EAA8BgB,KAAKC,KAAMG,CAAAA,EAC1CH,KAAKC,cAAcL,EAAME,EAAUhB,CAAAA,CACrC,CACD,CACD,MAAUsB,MAAM,mCAAmCnB,CAAAA,CAAO,EAmCtD,SAAUoB,EAASvB,EAAAA,CACvB,MAAO,CACLwB,EAIAC,IAO2B,OAAlBA,GAAkB,SACrB1B,GACEC,EACAwB,EAGAC,CAAAA,GAvJW,CACrBzB,EACA0B,EACAZ,IAAAA,CAEA,IAAMa,EAAiBD,EAAMC,eAAeb,CAAAA,EAO5C,OANCY,EAAME,YAAuCC,eAAef,EAAMd,CAAAA,EAM5D2B,EACHhB,OAAOmB,yBAAyBJ,EAAOZ,CAAAA,EAAAA,MAC9B,GA4IHd,EACAwB,EACAC,CAAAA,CAIZ,CCpOA,IAAAM,GAAwB,WCHxB,IAAAC,GAAwB,WAExB,IAAOC,GAAQ,GAAAC,QCAR,SAASC,IAAe,CAC3B,MAAO,CACH,MAAO,GACP,OAAQ,GACR,WAAY,KACZ,IAAK,GACL,MAAO,KACP,SAAU,GACV,SAAU,KACV,OAAQ,GACR,UAAW,KACX,WAAY,IACpB,CACA,CACU,IAACC,GAAYD,GAAY,EAC5B,SAASE,GAAeC,EAAa,CACxCF,GAAYE,CAChB,CCjBA,IAAMC,GAAa,UACbC,GAAgB,IAAI,OAAOD,GAAW,OAAQ,GAAG,EACjDE,GAAqB,oDACrBC,GAAwB,IAAI,OAAOD,GAAmB,OAAQ,GAAG,EACjEE,GAAqB,CACvB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,OACT,EACMC,GAAwBC,GAAOF,GAAmBE,CAAE,EACnD,SAASC,GAAOC,EAAMC,EAAQ,CACjC,GAAIA,GACA,GAAIT,GAAW,KAAKQ,CAAI,EACpB,OAAOA,EAAK,QAAQP,GAAeI,EAAoB,UAIvDH,GAAmB,KAAKM,CAAI,EAC5B,OAAOA,EAAK,QAAQL,GAAuBE,EAAoB,EAGvE,OAAOG,CACX,CACA,IAAME,GAAe,6CACd,SAASC,GAASH,EAAM,CAE3B,OAAOA,EAAK,QAAQE,GAAc,CAACE,EAAGC,KAClCA,EAAIA,EAAE,YAAW,EACbA,IAAM,QACC,IACPA,EAAE,OAAO,CAAC,IAAM,IACTA,EAAE,OAAO,CAAC,IAAM,IACjB,OAAO,aAAa,SAASA,EAAE,UAAU,CAAC,EAAG,EAAE,CAAC,EAChD,OAAO,aAAa,CAACA,EAAE,UAAU,CAAC,CAAC,EAEtC,GACV,CACL,CACA,IAAMC,GAAQ,eACP,SAASC,GAAKC,EAAOC,EAAK,CAC7B,IAAIC,EAAS,OAAOF,GAAU,SAAWA,EAAQA,EAAM,OACvDC,EAAMA,GAAO,GACb,IAAME,EAAM,CACR,QAAS,CAACC,EAAMC,IAAQ,CACpB,IAAIC,EAAY,OAAOD,GAAQ,SAAWA,EAAMA,EAAI,OACpD,OAAAC,EAAYA,EAAU,QAAQR,GAAO,IAAI,EACzCI,EAASA,EAAO,QAAQE,EAAME,CAAS,EAChCH,CACnB,EACQ,SAAU,IACC,IAAI,OAAOD,EAAQD,CAAG,CAEzC,EACI,OAAOE,CACX,CACO,SAASI,GAASC,EAAM,CAC3B,GAAI,CACAA,EAAO,UAAUA,CAAI,EAAE,QAAQ,OAAQ,GAAG,CAClD,MACc,CACN,OAAO,IACf,CACI,OAAOA,CACX,CACO,IAAMC,GAAW,CAAE,KAAM,IAAM,IAAI,EACnC,SAASC,GAAWC,EAAUC,EAAO,CAGxC,IAAMC,EAAMF,EAAS,QAAQ,MAAO,CAACG,EAAOC,EAAQC,IAAQ,CACxD,IAAIC,EAAU,GACVC,EAAOH,EACX,KAAO,EAAEG,GAAQ,GAAKF,EAAIE,CAAI,IAAM,MAChCD,EAAU,CAACA,EACf,OAAIA,EAGO,IAIA,IAEnB,CAAK,EAAGE,EAAQN,EAAI,MAAM,KAAK,EACvBO,EAAI,EAQR,GANKD,EAAM,CAAC,EAAE,KAAI,GACdA,EAAM,MAAK,EAEXA,EAAM,OAAS,GAAK,CAACA,EAAMA,EAAM,OAAS,CAAC,EAAE,KAAI,GACjDA,EAAM,IAAG,EAETP,EACA,GAAIO,EAAM,OAASP,EACfO,EAAM,OAAOP,CAAK,MAGlB,MAAOO,EAAM,OAASP,GAClBO,EAAM,KAAK,EAAE,EAGzB,KAAOC,EAAID,EAAM,OAAQC,IAErBD,EAAMC,CAAC,EAAID,EAAMC,CAAC,EAAE,KAAI,EAAG,QAAQ,QAAS,GAAG,EAEnD,OAAOD,CACX,CASO,SAASE,GAAML,EAAKM,EAAGC,EAAQ,CAClC,IAAMC,EAAIR,EAAI,OACd,GAAIQ,IAAM,EACN,MAAO,GAGX,IAAIC,EAAU,EAEd,KAAOA,EAAUD,GAAG,CAChB,IAAME,EAAWV,EAAI,OAAOQ,EAAIC,EAAU,CAAC,EAC3C,GAAIC,IAAaJ,GAAK,CAACC,EACnBE,YAEKC,IAAaJ,GAAKC,EACvBE,QAGA,MAEZ,CACI,OAAOT,EAAI,MAAM,EAAGQ,EAAIC,CAAO,CACnC,CACO,SAASE,GAAmBX,EAAKY,EAAG,CACvC,GAAIZ,EAAI,QAAQY,EAAE,CAAC,CAAC,IAAM,GACtB,MAAO,GAEX,IAAIC,EAAQ,EACZ,QAAS,EAAI,EAAG,EAAIb,EAAI,OAAQ,IAC5B,GAAIA,EAAI,CAAC,IAAM,KACX,YAEKA,EAAI,CAAC,IAAMY,EAAE,CAAC,EACnBC,YAEKb,EAAI,CAAC,IAAMY,EAAE,CAAC,IACnBC,IACIA,EAAQ,GACR,OAAO,EAInB,MAAO,EACX,CC/JA,SAASC,GAAWC,EAAKC,EAAMC,EAAKC,EAAO,CACvC,IAAM1B,EAAOwB,EAAK,KACZG,EAAQH,EAAK,MAAQzC,GAAOyC,EAAK,KAAK,EAAI,KAC1CI,EAAOL,EAAI,CAAC,EAAE,QAAQ,cAAe,IAAI,EAC/C,GAAIA,EAAI,CAAC,EAAE,OAAO,CAAC,IAAM,IAAK,CAC1BG,EAAM,MAAM,OAAS,GACrB,IAAMG,EAAQ,CACV,KAAM,OACN,IAAAJ,EACA,KAAAzB,EACA,MAAA2B,EACA,KAAAC,EACA,OAAQF,EAAM,aAAaE,CAAI,CAC3C,EACQ,OAAAF,EAAM,MAAM,OAAS,GACdG,CACf,CACI,MAAO,CACH,KAAM,QACN,IAAAJ,EACA,KAAAzB,EACA,MAAA2B,EACA,KAAM5C,GAAO6C,CAAI,CACzB,CACA,CACA,SAASE,GAAuBL,EAAKG,EAAM,CACvC,IAAMG,EAAoBN,EAAI,MAAM,eAAe,EACnD,GAAIM,IAAsB,KACtB,OAAOH,EAEX,IAAMI,EAAeD,EAAkB,CAAC,EACxC,OAAOH,EACF,MAAM;CAAI,EACV,IAAIK,GAAQ,CACb,IAAMC,EAAoBD,EAAK,MAAM,MAAM,EAC3C,GAAIC,IAAsB,KACtB,OAAOD,EAEX,GAAM,CAACE,CAAY,EAAID,EACvB,OAAIC,EAAa,QAAUH,EAAa,OAC7BC,EAAK,MAAMD,EAAa,MAAM,EAElCC,CACf,CAAK,EACI,KAAK;CAAI,CAClB,CAIO,IAAMG,GAAN,KAAiB,CACpB,QACA,MACA,MACA,YAAYC,EAAS,CACjB,KAAK,QAAUA,GAAWhE,EAClC,CACI,MAAMiE,EAAK,CACP,IAAMf,EAAM,KAAK,MAAM,MAAM,QAAQ,KAAKe,CAAG,EAC7C,GAAIf,GAAOA,EAAI,CAAC,EAAE,OAAS,EACvB,MAAO,CACH,KAAM,QACN,IAAKA,EAAI,CAAC,CAC1B,CAEA,CACI,KAAKe,EAAK,CACN,IAAMf,EAAM,KAAK,MAAM,MAAM,KAAK,KAAKe,CAAG,EAC1C,GAAIf,EAAK,CACL,IAAMK,EAAOL,EAAI,CAAC,EAAE,QAAQ,YAAa,EAAE,EAC3C,MAAO,CACH,KAAM,OACN,IAAKA,EAAI,CAAC,EACV,eAAgB,WAChB,KAAO,KAAK,QAAQ,SAEdK,EADAf,GAAMe,EAAM;CAAI,CAEtC,CACA,CACA,CACI,OAAOU,EAAK,CACR,IAAMf,EAAM,KAAK,MAAM,MAAM,OAAO,KAAKe,CAAG,EAC5C,GAAIf,EAAK,CACL,IAAME,EAAMF,EAAI,CAAC,EACXK,EAAOE,GAAuBL,EAAKF,EAAI,CAAC,GAAK,EAAE,EACrD,MAAO,CACH,KAAM,OACN,IAAAE,EACA,KAAMF,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAE,KAAI,EAAG,QAAQ,KAAK,MAAM,OAAO,eAAgB,IAAI,EAAIA,EAAI,CAAC,EACpF,KAAAK,CAChB,CACA,CACA,CACI,QAAQU,EAAK,CACT,IAAMf,EAAM,KAAK,MAAM,MAAM,QAAQ,KAAKe,CAAG,EAC7C,GAAIf,EAAK,CACL,IAAIK,EAAOL,EAAI,CAAC,EAAE,KAAI,EAEtB,GAAI,KAAK,KAAKK,CAAI,EAAG,CACjB,IAAMW,EAAU1B,GAAMe,EAAM,GAAG,GAC3B,KAAK,QAAQ,UAGR,CAACW,GAAW,KAAK,KAAKA,CAAO,KAElCX,EAAOW,EAAQ,KAAI,EAEvC,CACY,MAAO,CACH,KAAM,UACN,IAAKhB,EAAI,CAAC,EACV,MAAOA,EAAI,CAAC,EAAE,OACd,KAAAK,EACA,OAAQ,KAAK,MAAM,OAAOA,CAAI,CAC9C,CACA,CACA,CACI,GAAGU,EAAK,CACJ,IAAMf,EAAM,KAAK,MAAM,MAAM,GAAG,KAAKe,CAAG,EACxC,GAAIf,EACA,MAAO,CACH,KAAM,KACN,IAAKA,EAAI,CAAC,CAC1B,CAEA,CACI,WAAWe,EAAK,CACZ,IAAMf,EAAM,KAAK,MAAM,MAAM,WAAW,KAAKe,CAAG,EAChD,GAAIf,EAAK,CAEL,IAAIK,EAAOL,EAAI,CAAC,EAAE,QAAQ,iCAAkC;OAAU,EACtEK,EAAOf,GAAMe,EAAK,QAAQ,eAAgB,EAAE,EAAG;CAAI,EACnD,IAAMY,EAAM,KAAK,MAAM,MAAM,IAC7B,KAAK,MAAM,MAAM,IAAM,GACvB,IAAMC,EAAS,KAAK,MAAM,YAAYb,CAAI,EAC1C,YAAK,MAAM,MAAM,IAAMY,EAChB,CACH,KAAM,aACN,IAAKjB,EAAI,CAAC,EACV,OAAAkB,EACA,KAAAb,CAChB,CACA,CACA,CACI,KAAKU,EAAK,CACN,IAAIf,EAAM,KAAK,MAAM,MAAM,KAAK,KAAKe,CAAG,EACxC,GAAIf,EAAK,CACL,IAAImB,EAAOnB,EAAI,CAAC,EAAE,KAAI,EAChBoB,EAAYD,EAAK,OAAS,EAC1BE,EAAO,CACT,KAAM,OACN,IAAK,GACL,QAASD,EACT,MAAOA,EAAY,CAACD,EAAK,MAAM,EAAG,EAAE,EAAI,GACxC,MAAO,GACP,MAAO,CAAA,CACvB,EACYA,EAAOC,EAAY,aAAaD,EAAK,MAAM,EAAE,CAAC,GAAK,KAAKA,CAAI,GACxD,KAAK,QAAQ,WACbA,EAAOC,EAAYD,EAAO,SAG9B,IAAMG,EAAY,IAAI,OAAO,WAAWH,CAAI,8BAA+B,EACvEjB,EAAM,GACNqB,EAAe,GACfC,EAAoB,GAExB,KAAOT,GAAK,CACR,IAAIU,EAAW,GAIf,GAHI,EAAEzB,EAAMsB,EAAU,KAAKP,CAAG,IAG1B,KAAK,MAAM,MAAM,GAAG,KAAKA,CAAG,EAC5B,MAEJb,EAAMF,EAAI,CAAC,EACXe,EAAMA,EAAI,UAAUb,EAAI,MAAM,EAC9B,IAAIwB,EAAO1B,EAAI,CAAC,EAAE,MAAM;EAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,OAAS2B,GAAM,IAAI,OAAO,EAAIA,EAAE,MAAM,CAAC,EAC/EC,EAAWb,EAAI,MAAM;EAAM,CAAC,EAAE,CAAC,EAC/Bc,EAAS,EACT,KAAK,QAAQ,UACbA,EAAS,EACTN,EAAeG,EAAK,UAAS,IAG7BG,EAAS7B,EAAI,CAAC,EAAE,OAAO,MAAM,EAC7B6B,EAASA,EAAS,EAAI,EAAIA,EAC1BN,EAAeG,EAAK,MAAMG,CAAM,EAChCA,GAAU7B,EAAI,CAAC,EAAE,QAErB,IAAI8B,EAAY,GAMhB,GALI,CAACJ,GAAQ,OAAO,KAAKE,CAAQ,IAC7B1B,GAAO0B,EAAW;EAClBb,EAAMA,EAAI,UAAUa,EAAS,OAAS,CAAC,EACvCH,EAAW,IAEX,CAACA,EAAU,CACX,IAAMM,EAAkB,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAGF,EAAS,CAAC,CAAC,oDAAqD,EACjHG,EAAU,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAGH,EAAS,CAAC,CAAC,oDAAoD,EACxGI,EAAmB,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAGJ,EAAS,CAAC,CAAC,iBAAiB,EAC9EK,EAAoB,IAAI,OAAO,QAAQ,KAAK,IAAI,EAAGL,EAAS,CAAC,CAAC,IAAI,EAExE,KAAOd,GAAK,CACR,IAAMoB,EAAUpB,EAAI,MAAM;EAAM,CAAC,EAAE,CAAC,EAmBpC,GAlBAa,EAAWO,EAEP,KAAK,QAAQ,WACbP,EAAWA,EAAS,QAAQ,0BAA2B,IAAI,GAG3DK,EAAiB,KAAKL,CAAQ,GAI9BM,EAAkB,KAAKN,CAAQ,GAI/BG,EAAgB,KAAKH,CAAQ,GAI7BI,EAAQ,KAAKjB,CAAG,EAChB,MAEJ,GAAIa,EAAS,OAAO,MAAM,GAAKC,GAAU,CAACD,EAAS,KAAI,EACnDL,GAAgB;EAAOK,EAAS,MAAMC,CAAM,MAE3C,CAeD,GAbIC,GAIAJ,EAAK,OAAO,MAAM,GAAK,GAGvBO,EAAiB,KAAKP,CAAI,GAG1BQ,EAAkB,KAAKR,CAAI,GAG3BM,EAAQ,KAAKN,CAAI,EACjB,MAEJH,GAAgB;EAAOK,CACnD,CAC4B,CAACE,GAAa,CAACF,EAAS,KAAI,IAC5BE,EAAY,IAEhB5B,GAAOiC,EAAU;EACjBpB,EAAMA,EAAI,UAAUoB,EAAQ,OAAS,CAAC,EACtCT,EAAOE,EAAS,MAAMC,CAAM,CACpD,CACA,CACqBR,EAAK,QAEFG,EACAH,EAAK,MAAQ,GAER,YAAY,KAAKnB,CAAG,IACzBsB,EAAoB,KAG5B,IAAIY,EAAS,KACTC,EAEA,KAAK,QAAQ,MACbD,EAAS,cAAc,KAAKb,CAAY,EACpCa,IACAC,EAAYD,EAAO,CAAC,IAAM,OAC1Bb,EAAeA,EAAa,QAAQ,eAAgB,EAAE,IAG9DF,EAAK,MAAM,KAAK,CACZ,KAAM,YACN,IAAAnB,EACA,KAAM,CAAC,CAACkC,EACR,QAASC,EACT,MAAO,GACP,KAAMd,EACN,OAAQ,CAAA,CAC5B,CAAiB,EACDF,EAAK,KAAOnB,CAC5B,CAEYmB,EAAK,MAAMA,EAAK,MAAM,OAAS,CAAC,EAAE,IAAMnB,EAAI,QAAO,EAClDmB,EAAK,MAAMA,EAAK,MAAM,OAAS,CAAC,EAAG,KAAOE,EAAa,QAAO,EAC/DF,EAAK,IAAMA,EAAK,IAAI,QAAO,EAE3B,QAAShC,EAAI,EAAGA,EAAIgC,EAAK,MAAM,OAAQhC,IAGnC,GAFA,KAAK,MAAM,MAAM,IAAM,GACvBgC,EAAK,MAAMhC,CAAC,EAAE,OAAS,KAAK,MAAM,YAAYgC,EAAK,MAAMhC,CAAC,EAAE,KAAM,CAAA,CAAE,EAChE,CAACgC,EAAK,MAAO,CAEb,IAAMiB,EAAUjB,EAAK,MAAMhC,CAAC,EAAE,OAAO,OAAOsC,GAAKA,EAAE,OAAS,OAAO,EAC7DY,EAAwBD,EAAQ,OAAS,GAAKA,EAAQ,KAAKX,GAAK,SAAS,KAAKA,EAAE,GAAG,CAAC,EAC1FN,EAAK,MAAQkB,CACjC,CAGY,GAAIlB,EAAK,MACL,QAAShC,EAAI,EAAGA,EAAIgC,EAAK,MAAM,OAAQhC,IACnCgC,EAAK,MAAMhC,CAAC,EAAE,MAAQ,GAG9B,OAAOgC,CACnB,CACA,CACI,KAAKN,EAAK,CACN,IAAMf,EAAM,KAAK,MAAM,MAAM,KAAK,KAAKe,CAAG,EAC1C,GAAIf,EAQA,MAPc,CACV,KAAM,OACN,MAAO,GACP,IAAKA,EAAI,CAAC,EACV,IAAKA,EAAI,CAAC,IAAM,OAASA,EAAI,CAAC,IAAM,UAAYA,EAAI,CAAC,IAAM,QAC3D,KAAMA,EAAI,CAAC,CAC3B,CAGA,CACI,IAAIe,EAAK,CACL,IAAMf,EAAM,KAAK,MAAM,MAAM,IAAI,KAAKe,CAAG,EACzC,GAAIf,EAAK,CACL,IAAMwC,EAAMxC,EAAI,CAAC,EAAE,YAAW,EAAG,QAAQ,OAAQ,GAAG,EAC9CvB,EAAOuB,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAE,QAAQ,WAAY,IAAI,EAAE,QAAQ,KAAK,MAAM,OAAO,eAAgB,IAAI,EAAI,GACnGI,EAAQJ,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAE,UAAU,EAAGA,EAAI,CAAC,EAAE,OAAS,CAAC,EAAE,QAAQ,KAAK,MAAM,OAAO,eAAgB,IAAI,EAAIA,EAAI,CAAC,EACrH,MAAO,CACH,KAAM,MACN,IAAAwC,EACA,IAAKxC,EAAI,CAAC,EACV,KAAAvB,EACA,MAAA2B,CAChB,CACA,CACA,CACI,MAAMW,EAAK,CACP,IAAMf,EAAM,KAAK,MAAM,MAAM,MAAM,KAAKe,CAAG,EAI3C,GAHI,CAACf,GAGD,CAAC,OAAO,KAAKA,EAAI,CAAC,CAAC,EAEnB,OAEJ,IAAMyC,EAAU9D,GAAWqB,EAAI,CAAC,CAAC,EAC3B0C,EAAS1C,EAAI,CAAC,EAAE,QAAQ,aAAc,EAAE,EAAE,MAAM,GAAG,EACnD2C,EAAO3C,EAAI,CAAC,GAAKA,EAAI,CAAC,EAAE,KAAI,EAAKA,EAAI,CAAC,EAAE,QAAQ,YAAa,EAAE,EAAE,MAAM;CAAI,EAAI,CAAA,EAC/E4C,EAAO,CACT,KAAM,QACN,IAAK5C,EAAI,CAAC,EACV,OAAQ,CAAA,EACR,MAAO,CAAA,EACP,KAAM,CAAA,CAClB,EACQ,GAAIyC,EAAQ,SAAWC,EAAO,OAI9B,SAAWG,KAASH,EACZ,YAAY,KAAKG,CAAK,EACtBD,EAAK,MAAM,KAAK,OAAO,EAElB,aAAa,KAAKC,CAAK,EAC5BD,EAAK,MAAM,KAAK,QAAQ,EAEnB,YAAY,KAAKC,CAAK,EAC3BD,EAAK,MAAM,KAAK,MAAM,EAGtBA,EAAK,MAAM,KAAK,IAAI,EAG5B,QAAWE,KAAUL,EACjBG,EAAK,OAAO,KAAK,CACb,KAAME,EACN,OAAQ,KAAK,MAAM,OAAOA,CAAM,CAChD,CAAa,EAEL,QAAWhE,KAAO6D,EACdC,EAAK,KAAK,KAAKjE,GAAWG,EAAK8D,EAAK,OAAO,MAAM,EAAE,IAAIG,IAC5C,CACH,KAAMA,EACN,OAAQ,KAAK,MAAM,OAAOA,CAAI,CAClD,EACa,CAAC,EAEN,OAAOH,EACf,CACI,SAAS7B,EAAK,CACV,IAAMf,EAAM,KAAK,MAAM,MAAM,SAAS,KAAKe,CAAG,EAC9C,GAAIf,EACA,MAAO,CACH,KAAM,UACN,IAAKA,EAAI,CAAC,EACV,MAAOA,EAAI,CAAC,EAAE,OAAO,CAAC,IAAM,IAAM,EAAI,EACtC,KAAMA,EAAI,CAAC,EACX,OAAQ,KAAK,MAAM,OAAOA,EAAI,CAAC,CAAC,CAChD,CAEA,CACI,UAAUe,EAAK,CACX,IAAMf,EAAM,KAAK,MAAM,MAAM,UAAU,KAAKe,CAAG,EAC/C,GAAIf,EAAK,CACL,IAAMK,EAAOL,EAAI,CAAC,EAAE,OAAOA,EAAI,CAAC,EAAE,OAAS,CAAC,IAAM;EAC5CA,EAAI,CAAC,EAAE,MAAM,EAAG,EAAE,EAClBA,EAAI,CAAC,EACX,MAAO,CACH,KAAM,YACN,IAAKA,EAAI,CAAC,EACV,KAAAK,EACA,OAAQ,KAAK,MAAM,OAAOA,CAAI,CAC9C,CACA,CACA,CACI,KAAKU,EAAK,CACN,IAAMf,EAAM,KAAK,MAAM,MAAM,KAAK,KAAKe,CAAG,EAC1C,GAAIf,EACA,MAAO,CACH,KAAM,OACN,IAAKA,EAAI,CAAC,EACV,KAAMA,EAAI,CAAC,EACX,OAAQ,KAAK,MAAM,OAAOA,EAAI,CAAC,CAAC,CAChD,CAEA,CACI,OAAOe,EAAK,CACR,IAAMf,EAAM,KAAK,MAAM,OAAO,OAAO,KAAKe,CAAG,EAC7C,GAAIf,EACA,MAAO,CACH,KAAM,SACN,IAAKA,EAAI,CAAC,EACV,KAAMxC,GAAOwC,EAAI,CAAC,CAAC,CACnC,CAEA,CACI,IAAIe,EAAK,CACL,IAAMf,EAAM,KAAK,MAAM,OAAO,IAAI,KAAKe,CAAG,EAC1C,GAAIf,EACA,MAAI,CAAC,KAAK,MAAM,MAAM,QAAU,QAAQ,KAAKA,EAAI,CAAC,CAAC,EAC/C,KAAK,MAAM,MAAM,OAAS,GAErB,KAAK,MAAM,MAAM,QAAU,UAAU,KAAKA,EAAI,CAAC,CAAC,IACrD,KAAK,MAAM,MAAM,OAAS,IAE1B,CAAC,KAAK,MAAM,MAAM,YAAc,iCAAiC,KAAKA,EAAI,CAAC,CAAC,EAC5E,KAAK,MAAM,MAAM,WAAa,GAEzB,KAAK,MAAM,MAAM,YAAc,mCAAmC,KAAKA,EAAI,CAAC,CAAC,IAClF,KAAK,MAAM,MAAM,WAAa,IAE3B,CACH,KAAM,OACN,IAAKA,EAAI,CAAC,EACV,OAAQ,KAAK,MAAM,MAAM,OACzB,WAAY,KAAK,MAAM,MAAM,WAC7B,MAAO,GACP,KAAMA,EAAI,CAAC,CAC3B,CAEA,CACI,KAAKe,EAAK,CACN,IAAMf,EAAM,KAAK,MAAM,OAAO,KAAK,KAAKe,CAAG,EAC3C,GAAIf,EAAK,CACL,IAAMgD,EAAahD,EAAI,CAAC,EAAE,KAAI,EAC9B,GAAI,CAAC,KAAK,QAAQ,UAAY,KAAK,KAAKgD,CAAU,EAAG,CAEjD,GAAI,CAAE,KAAK,KAAKA,CAAU,EACtB,OAGJ,IAAMC,EAAa3D,GAAM0D,EAAW,MAAM,EAAG,EAAE,EAAG,IAAI,EACtD,IAAKA,EAAW,OAASC,EAAW,QAAU,IAAM,EAChD,MAEpB,KACiB,CAED,IAAMC,EAAiBtD,GAAmBI,EAAI,CAAC,EAAG,IAAI,EACtD,GAAIkD,EAAiB,GAAI,CAErB,IAAMC,GADQnD,EAAI,CAAC,EAAE,QAAQ,GAAG,IAAM,EAAI,EAAI,GACtBA,EAAI,CAAC,EAAE,OAASkD,EACxClD,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAE,UAAU,EAAGkD,CAAc,EAC3ClD,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAE,UAAU,EAAGmD,CAAO,EAAE,KAAI,EAC1CnD,EAAI,CAAC,EAAI,EAC7B,CACA,CACY,IAAIvB,EAAOuB,EAAI,CAAC,EACZI,EAAQ,GACZ,GAAI,KAAK,QAAQ,SAAU,CAEvB,IAAMH,EAAO,gCAAgC,KAAKxB,CAAI,EAClDwB,IACAxB,EAAOwB,EAAK,CAAC,EACbG,EAAQH,EAAK,CAAC,EAElC,MAEgBG,EAAQJ,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAE,MAAM,EAAG,EAAE,EAAI,GAE3C,OAAAvB,EAAOA,EAAK,KAAI,EACZ,KAAK,KAAKA,CAAI,IACV,KAAK,QAAQ,UAAY,CAAE,KAAK,KAAKuE,CAAU,EAE/CvE,EAAOA,EAAK,MAAM,CAAC,EAGnBA,EAAOA,EAAK,MAAM,EAAG,EAAE,GAGxBsB,GAAWC,EAAK,CACnB,KAAMvB,GAAOA,EAAK,QAAQ,KAAK,MAAM,OAAO,eAAgB,IAAI,EAChE,MAAO2B,GAAQA,EAAM,QAAQ,KAAK,MAAM,OAAO,eAAgB,IAAI,CACnF,EAAeJ,EAAI,CAAC,EAAG,KAAK,KAAK,CACjC,CACA,CACI,QAAQe,EAAKqC,EAAO,CAChB,IAAIpD,EACJ,IAAKA,EAAM,KAAK,MAAM,OAAO,QAAQ,KAAKe,CAAG,KACrCf,EAAM,KAAK,MAAM,OAAO,OAAO,KAAKe,CAAG,GAAI,CAC/C,IAAMsC,GAAcrD,EAAI,CAAC,GAAKA,EAAI,CAAC,GAAG,QAAQ,OAAQ,GAAG,EACnDC,EAAOmD,EAAMC,EAAW,YAAW,CAAE,EAC3C,GAAI,CAACpD,EAAM,CACP,IAAMI,EAAOL,EAAI,CAAC,EAAE,OAAO,CAAC,EAC5B,MAAO,CACH,KAAM,OACN,IAAKK,EACL,KAAAA,CACpB,CACA,CACY,OAAON,GAAWC,EAAKC,EAAMD,EAAI,CAAC,EAAG,KAAK,KAAK,CAC3D,CACA,CACI,SAASe,EAAKuC,EAAWC,EAAW,GAAI,CACpC,IAAIxE,EAAQ,KAAK,MAAM,OAAO,eAAe,KAAKgC,CAAG,EAIrD,GAHI,CAAChC,GAGDA,EAAM,CAAC,GAAKwE,EAAS,MAAM,eAAe,EAC1C,OAEJ,GAAI,EADaxE,EAAM,CAAC,GAAKA,EAAM,CAAC,GAAK,KACxB,CAACwE,GAAY,KAAK,MAAM,OAAO,YAAY,KAAKA,CAAQ,EAAG,CAExE,IAAMC,EAAU,CAAC,GAAGzE,EAAM,CAAC,CAAC,EAAE,OAAS,EACnC0E,EAAQC,EAASC,EAAaH,EAASI,EAAgB,EACrDC,EAAS9E,EAAM,CAAC,EAAE,CAAC,IAAM,IAAM,KAAK,MAAM,OAAO,kBAAoB,KAAK,MAAM,OAAO,kBAI7F,IAHA8E,EAAO,UAAY,EAEnBP,EAAYA,EAAU,MAAM,GAAKvC,EAAI,OAASyC,CAAO,GAC7CzE,EAAQ8E,EAAO,KAAKP,CAAS,IAAM,MAAM,CAE7C,GADAG,EAAS1E,EAAM,CAAC,GAAKA,EAAM,CAAC,GAAKA,EAAM,CAAC,GAAKA,EAAM,CAAC,GAAKA,EAAM,CAAC,GAAKA,EAAM,CAAC,EACxE,CAAC0E,EACD,SAEJ,GADAC,EAAU,CAAC,GAAGD,CAAM,EAAE,OAClB1E,EAAM,CAAC,GAAKA,EAAM,CAAC,EAAG,CACtB4E,GAAcD,EACd,QACpB,UACyB3E,EAAM,CAAC,GAAKA,EAAM,CAAC,IACpByE,EAAU,GAAK,GAAGA,EAAUE,GAAW,GAAI,CAC3CE,GAAiBF,EACjB,QACxB,CAGgB,GADAC,GAAcD,EACVC,EAAa,EACb,SAEJD,EAAU,KAAK,IAAIA,EAASA,EAAUC,EAAaC,CAAa,EAEhE,IAAME,EAAiB,CAAC,GAAG/E,EAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAClCmB,EAAMa,EAAI,MAAM,EAAGyC,EAAUzE,EAAM,MAAQ+E,EAAiBJ,CAAO,EAEzE,GAAI,KAAK,IAAIF,EAASE,CAAO,EAAI,EAAG,CAChC,IAAMrD,EAAOH,EAAI,MAAM,EAAG,EAAE,EAC5B,MAAO,CACH,KAAM,KACN,IAAAA,EACA,KAAAG,EACA,OAAQ,KAAK,MAAM,aAAaA,CAAI,CAC5D,CACA,CAEgB,IAAMA,EAAOH,EAAI,MAAM,EAAG,EAAE,EAC5B,MAAO,CACH,KAAM,SACN,IAAAA,EACA,KAAAG,EACA,OAAQ,KAAK,MAAM,aAAaA,CAAI,CACxD,CACA,CACA,CACA,CACI,SAASU,EAAK,CACV,IAAMf,EAAM,KAAK,MAAM,OAAO,KAAK,KAAKe,CAAG,EAC3C,GAAIf,EAAK,CACL,IAAIK,EAAOL,EAAI,CAAC,EAAE,QAAQ,MAAO,GAAG,EAC9B+D,EAAmB,OAAO,KAAK1D,CAAI,EACnC2D,EAA0B,KAAK,KAAK3D,CAAI,GAAK,KAAK,KAAKA,CAAI,EACjE,OAAI0D,GAAoBC,IACpB3D,EAAOA,EAAK,UAAU,EAAGA,EAAK,OAAS,CAAC,GAE5CA,EAAO7C,GAAO6C,EAAM,EAAI,EACjB,CACH,KAAM,WACN,IAAKL,EAAI,CAAC,EACV,KAAAK,CAChB,CACA,CACA,CACI,GAAGU,EAAK,CACJ,IAAMf,EAAM,KAAK,MAAM,OAAO,GAAG,KAAKe,CAAG,EACzC,GAAIf,EACA,MAAO,CACH,KAAM,KACN,IAAKA,EAAI,CAAC,CAC1B,CAEA,CACI,IAAIe,EAAK,CACL,IAAMf,EAAM,KAAK,MAAM,OAAO,IAAI,KAAKe,CAAG,EAC1C,GAAIf,EACA,MAAO,CACH,KAAM,MACN,IAAKA,EAAI,CAAC,EACV,KAAMA,EAAI,CAAC,EACX,OAAQ,KAAK,MAAM,aAAaA,EAAI,CAAC,CAAC,CACtD,CAEA,CACI,SAASe,EAAK,CACV,IAAMf,EAAM,KAAK,MAAM,OAAO,SAAS,KAAKe,CAAG,EAC/C,GAAIf,EAAK,CACL,IAAIK,EAAM5B,EACV,OAAIuB,EAAI,CAAC,IAAM,KACXK,EAAO7C,GAAOwC,EAAI,CAAC,CAAC,EACpBvB,EAAO,UAAY4B,IAGnBA,EAAO7C,GAAOwC,EAAI,CAAC,CAAC,EACpBvB,EAAO4B,GAEJ,CACH,KAAM,OACN,IAAKL,EAAI,CAAC,EACV,KAAAK,EACA,KAAA5B,EACA,OAAQ,CACJ,CACI,KAAM,OACN,IAAK4B,EACL,KAAAA,CACxB,CACA,CACA,CACA,CACA,CACI,IAAIU,EAAK,CACL,IAAIf,EACJ,GAAIA,EAAM,KAAK,MAAM,OAAO,IAAI,KAAKe,CAAG,EAAG,CACvC,IAAIV,EAAM5B,EACV,GAAIuB,EAAI,CAAC,IAAM,IACXK,EAAO7C,GAAOwC,EAAI,CAAC,CAAC,EACpBvB,EAAO,UAAY4B,MAElB,CAED,IAAI4D,EACJ,GACIA,EAAcjE,EAAI,CAAC,EACnBA,EAAI,CAAC,EAAI,KAAK,MAAM,OAAO,WAAW,KAAKA,EAAI,CAAC,CAAC,IAAI,CAAC,GAAK,SACtDiE,IAAgBjE,EAAI,CAAC,GAC9BK,EAAO7C,GAAOwC,EAAI,CAAC,CAAC,EAChBA,EAAI,CAAC,IAAM,OACXvB,EAAO,UAAYuB,EAAI,CAAC,EAGxBvB,EAAOuB,EAAI,CAAC,CAEhC,CACY,MAAO,CACH,KAAM,OACN,IAAKA,EAAI,CAAC,EACV,KAAAK,EACA,KAAA5B,EACA,OAAQ,CACJ,CACI,KAAM,OACN,IAAK4B,EACL,KAAAA,CACxB,CACA,CACA,CACA,CACA,CACI,WAAWU,EAAK,CACZ,IAAMf,EAAM,KAAK,MAAM,OAAO,KAAK,KAAKe,CAAG,EAC3C,GAAIf,EAAK,CACL,IAAIK,EACJ,OAAI,KAAK,MAAM,MAAM,WACjBA,EAAOL,EAAI,CAAC,EAGZK,EAAO7C,GAAOwC,EAAI,CAAC,CAAC,EAEjB,CACH,KAAM,OACN,IAAKA,EAAI,CAAC,EACV,KAAAK,CAChB,CACA,CACA,CACA,ECvsBM6D,GAAU,mBACVC,GAAY,uCACZC,GAAS,8GACTC,GAAK,qEACLC,GAAU,uCACVC,GAAS,wBACTC,GAAWxG,GAAK,oJAAoJ,EACrK,QAAQ,QAASuG,EAAM,EACvB,QAAQ,aAAc,MAAM,EAC5B,QAAQ,UAAW,uBAAuB,EAC1C,QAAQ,cAAe,SAAS,EAChC,QAAQ,WAAY,cAAc,EAClC,QAAQ,QAAS,mBAAmB,EACpC,SAAQ,EACPE,GAAa,uFACbC,GAAY,UACZC,GAAc,8BACdC,GAAM5G,GAAK,iGAAiG,EAC7G,QAAQ,QAAS2G,EAAW,EAC5B,QAAQ,QAAS,8DAA8D,EAC/E,SAAQ,EACPtD,GAAOrD,GAAK,sCAAsC,EACnD,QAAQ,QAASuG,EAAM,EACvB,SAAQ,EACPM,GAAO,gWAMPC,GAAW,gCACXrH,GAAOO,GAAK,mdASP,GAAG,EACT,QAAQ,UAAW8G,EAAQ,EAC3B,QAAQ,MAAOD,EAAI,EACnB,QAAQ,YAAa,0EAA0E,EAC/F,SAAQ,EACPE,GAAY/G,GAAKyG,EAAU,EAC5B,QAAQ,KAAMJ,EAAE,EAChB,QAAQ,UAAW,uBAAuB,EAC1C,QAAQ,YAAa,EAAE,EACvB,QAAQ,SAAU,EAAE,EACpB,QAAQ,aAAc,SAAS,EAC/B,QAAQ,SAAU,gDAAgD,EAClE,QAAQ,OAAQ,wBAAwB,EACxC,QAAQ,OAAQ,6DAA6D,EAC7E,QAAQ,MAAOQ,EAAI,EACnB,SAAQ,EACPG,GAAahH,GAAK,yCAAyC,EAC5D,QAAQ,YAAa+G,EAAS,EAC9B,SAAQ,EAIPE,GAAc,CAChB,WAAAD,GACA,KAAMb,GACN,IAAAS,GACA,OAAAR,GACA,QAAAE,GACA,GAAAD,GACA,KAAA5G,GACA,SAAA+G,GACA,KAAAnD,GACA,QAAA6C,GACA,UAAAa,GACA,MAAOrG,GACP,KAAMgG,EACV,EAIMQ,GAAWlH,GAAK,6JAEsE,EACvF,QAAQ,KAAMqG,EAAE,EAChB,QAAQ,UAAW,uBAAuB,EAC1C,QAAQ,aAAc,SAAS,EAC/B,QAAQ,OAAQ,YAAY,EAC5B,QAAQ,SAAU,gDAAgD,EAClE,QAAQ,OAAQ,wBAAwB,EACxC,QAAQ,OAAQ,6DAA6D,EAC7E,QAAQ,MAAOQ,EAAI,EACnB,SAAQ,EACPM,GAAW,CACb,GAAGF,GACH,MAAOC,GACP,UAAWlH,GAAKyG,EAAU,EACrB,QAAQ,KAAMJ,EAAE,EAChB,QAAQ,UAAW,uBAAuB,EAC1C,QAAQ,YAAa,EAAE,EACvB,QAAQ,QAASa,EAAQ,EACzB,QAAQ,aAAc,SAAS,EAC/B,QAAQ,SAAU,gDAAgD,EAClE,QAAQ,OAAQ,wBAAwB,EACxC,QAAQ,OAAQ,6DAA6D,EAC7E,QAAQ,MAAOL,EAAI,EACnB,SAAQ,CACjB,EAIMO,GAAgB,CAClB,GAAGH,GACH,KAAMjH,GAAK,wIAEiE,EACvE,QAAQ,UAAW8G,EAAQ,EAC3B,QAAQ,OAAQ,mKAGgB,EAChC,SAAQ,EACb,IAAK,oEACL,QAAS,yBACT,OAAQpG,GACR,SAAU,mCACV,UAAWV,GAAKyG,EAAU,EACrB,QAAQ,KAAMJ,EAAE,EAChB,QAAQ,UAAW;EAAiB,EACpC,QAAQ,WAAYG,EAAQ,EAC5B,QAAQ,SAAU,EAAE,EACpB,QAAQ,aAAc,SAAS,EAC/B,QAAQ,UAAW,EAAE,EACrB,QAAQ,QAAS,EAAE,EACnB,QAAQ,QAAS,EAAE,EACnB,QAAQ,OAAQ,EAAE,EAClB,SAAQ,CACjB,EAIMhH,GAAS,8CACT6H,GAAa,sCACbC,GAAK,wBACLC,GAAa,8EAEbC,GAAe,eACfC,GAAczH,GAAK,6BAA8B,GAAG,EACrD,QAAQ,eAAgBwH,EAAY,EAAE,SAAQ,EAE7CE,GAAY,gDACZC,GAAiB3H,GAAK,oEAAqE,GAAG,EAC/F,QAAQ,SAAUwH,EAAY,EAC9B,SAAQ,EACPI,GAAoB5H,GAAK,wQAOY,IAAI,EAC1C,QAAQ,SAAUwH,EAAY,EAC9B,SAAQ,EAEPK,GAAoB7H,GAAK,uNAMY,IAAI,EAC1C,QAAQ,SAAUwH,EAAY,EAC9B,SAAQ,EACPM,GAAiB9H,GAAK,cAAe,IAAI,EAC1C,QAAQ,SAAUwH,EAAY,EAC9B,SAAQ,EACPO,GAAW/H,GAAK,qCAAqC,EACtD,QAAQ,SAAU,8BAA8B,EAChD,QAAQ,QAAS,8IAA8I,EAC/J,SAAQ,EACPgI,GAAiBhI,GAAK8G,EAAQ,EAAE,QAAQ,YAAa,KAAK,EAAE,SAAQ,EACpEtC,GAAMxE,GAAK,0JAKuB,EACnC,QAAQ,UAAWgI,EAAc,EACjC,QAAQ,YAAa,6EAA6E,EAClG,SAAQ,EACPC,GAAe,sDACfhG,GAAOjC,GAAK,+CAA+C,EAC5D,QAAQ,QAASiI,EAAY,EAC7B,QAAQ,OAAQ,sCAAsC,EACtD,QAAQ,QAAS,6DAA6D,EAC9E,SAAQ,EACPC,GAAUlI,GAAK,yBAAyB,EACzC,QAAQ,QAASiI,EAAY,EAC7B,QAAQ,MAAOtB,EAAW,EAC1B,SAAQ,EACPwB,GAASnI,GAAK,uBAAuB,EACtC,QAAQ,MAAO2G,EAAW,EAC1B,SAAQ,EACPyB,GAAgBpI,GAAK,wBAAyB,GAAG,EAClD,QAAQ,UAAWkI,EAAO,EAC1B,QAAQ,SAAUC,EAAM,EACxB,SAAQ,EAIPE,GAAe,CACjB,WAAY3H,GACZ,eAAAoH,GACA,SAAAC,GACA,UAAAL,GACA,GAAAJ,GACA,KAAMD,GACN,IAAK3G,GACL,eAAAiH,GACA,kBAAAC,GACA,kBAAAC,GACA,OAAArI,GACA,KAAAyC,GACA,OAAAkG,GACA,YAAAV,GACA,QAAAS,GACA,cAAAE,GACA,IAAA5D,GACA,KAAM+C,GACN,IAAK7G,EACT,EAIM4H,GAAiB,CACnB,GAAGD,GACH,KAAMrI,GAAK,yBAAyB,EAC/B,QAAQ,QAASiI,EAAY,EAC7B,SAAQ,EACb,QAASjI,GAAK,+BAA+B,EACxC,QAAQ,QAASiI,EAAY,EAC7B,SAAQ,CACjB,EAIMM,GAAY,CACd,GAAGF,GACH,OAAQrI,GAAKR,EAAM,EAAE,QAAQ,KAAM,MAAM,EAAE,SAAQ,EACnD,IAAKQ,GAAK,mEAAoE,GAAG,EAC5E,QAAQ,QAAS,2EAA2E,EAC5F,SAAQ,EACb,WAAY,6EACZ,IAAK,+CACL,KAAM,4NACV,EAIMwI,GAAe,CACjB,GAAGD,GACH,GAAIvI,GAAKsH,EAAE,EAAE,QAAQ,OAAQ,GAAG,EAAE,SAAQ,EAC1C,KAAMtH,GAAKuI,GAAU,IAAI,EACpB,QAAQ,OAAQ,eAAe,EAC/B,QAAQ,UAAW,GAAG,EACtB,SAAQ,CACjB,EAIaE,GAAQ,CACjB,OAAQxB,GACR,IAAKE,GACL,SAAUC,EACd,EACasB,GAAS,CAClB,OAAQL,GACR,IAAKE,GACL,OAAQC,GACR,SAAUF,EACd,ECtRaK,GAAN,MAAMC,CAAO,CAChB,OACA,QACA,MACA,UACA,YACA,YAAY9F,EAAS,CAEjB,KAAK,OAAS,CAAA,EACd,KAAK,OAAO,MAAQ,OAAO,OAAO,IAAI,EACtC,KAAK,QAAUA,GAAWhE,GAC1B,KAAK,QAAQ,UAAY,KAAK,QAAQ,WAAa,IAAI+D,GACvD,KAAK,UAAY,KAAK,QAAQ,UAC9B,KAAK,UAAU,QAAU,KAAK,QAC9B,KAAK,UAAU,MAAQ,KACvB,KAAK,YAAc,CAAA,EACnB,KAAK,MAAQ,CACT,OAAQ,GACR,WAAY,GACZ,IAAK,EACjB,EACQ,IAAMgG,EAAQ,CACV,MAAOJ,GAAM,OACb,OAAQC,GAAO,MAC3B,EACY,KAAK,QAAQ,UACbG,EAAM,MAAQJ,GAAM,SACpBI,EAAM,OAASH,GAAO,UAEjB,KAAK,QAAQ,MAClBG,EAAM,MAAQJ,GAAM,IAChB,KAAK,QAAQ,OACbI,EAAM,OAASH,GAAO,OAGtBG,EAAM,OAASH,GAAO,KAG9B,KAAK,UAAU,MAAQG,CAC/B,CAII,WAAW,OAAQ,CACf,MAAO,CACH,MAAAJ,GACA,OAAAC,EACZ,CACA,CAII,OAAO,IAAI3F,EAAKD,EAAS,CAErB,OADc,IAAI8F,EAAO9F,CAAO,EACnB,IAAIC,CAAG,CAC5B,CAII,OAAO,UAAUA,EAAKD,EAAS,CAE3B,OADc,IAAI8F,EAAO9F,CAAO,EACnB,aAAaC,CAAG,CACrC,CAII,IAAIA,EAAK,CACLA,EAAMA,EACD,QAAQ,WAAY;CAAI,EAC7B,KAAK,YAAYA,EAAK,KAAK,MAAM,EACjC,QAAS1B,EAAI,EAAGA,EAAI,KAAK,YAAY,OAAQA,IAAK,CAC9C,IAAMyH,EAAO,KAAK,YAAYzH,CAAC,EAC/B,KAAK,aAAayH,EAAK,IAAKA,EAAK,MAAM,CACnD,CACQ,YAAK,YAAc,CAAA,EACZ,KAAK,MACpB,CACI,YAAY/F,EAAKG,EAAS,CAAA,EAAI,CACtB,KAAK,QAAQ,SACbH,EAAMA,EAAI,QAAQ,MAAO,MAAM,EAAE,QAAQ,SAAU,EAAE,EAGrDA,EAAMA,EAAI,QAAQ,eAAgB,CAAClD,EAAGkJ,EAASC,IACpCD,EAAU,OAAO,OAAOC,EAAK,MAAM,CAC7C,EAEL,IAAI1G,EACA2G,EACAC,EACAC,EACJ,KAAOpG,GACH,GAAI,OAAK,QAAQ,YACV,KAAK,QAAQ,WAAW,OACxB,KAAK,QAAQ,WAAW,MAAM,KAAMqG,IAC/B9G,EAAQ8G,EAAa,KAAK,CAAE,MAAO,IAAI,EAAIrG,EAAKG,CAAM,IACtDH,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACV,IAEJ,EACV,GAIL,IAAIA,EAAQ,KAAK,UAAU,MAAMS,CAAG,EAAG,CACnCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EAChCA,EAAM,IAAI,SAAW,GAAKY,EAAO,OAAS,EAG1CA,EAAOA,EAAO,OAAS,CAAC,EAAE,KAAO;EAGjCA,EAAO,KAAKZ,CAAK,EAErB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,KAAKS,CAAG,EAAG,CAClCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpC2G,EAAY/F,EAAOA,EAAO,OAAS,CAAC,EAEhC+F,IAAcA,EAAU,OAAS,aAAeA,EAAU,OAAS,SACnEA,EAAU,KAAO;EAAO3G,EAAM,IAC9B2G,EAAU,MAAQ;EAAO3G,EAAM,KAC/B,KAAK,YAAY,KAAK,YAAY,OAAS,CAAC,EAAE,IAAM2G,EAAU,MAG9D/F,EAAO,KAAKZ,CAAK,EAErB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,OAAOS,CAAG,EAAG,CACpCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,QAAQS,CAAG,EAAG,CACrCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,GAAGS,CAAG,EAAG,CAChCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,WAAWS,CAAG,EAAG,CACxCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,KAAKS,CAAG,EAAG,CAClCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,KAAKS,CAAG,EAAG,CAClCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,IAAIS,CAAG,EAAG,CACjCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpC2G,EAAY/F,EAAOA,EAAO,OAAS,CAAC,EAChC+F,IAAcA,EAAU,OAAS,aAAeA,EAAU,OAAS,SACnEA,EAAU,KAAO;EAAO3G,EAAM,IAC9B2G,EAAU,MAAQ;EAAO3G,EAAM,IAC/B,KAAK,YAAY,KAAK,YAAY,OAAS,CAAC,EAAE,IAAM2G,EAAU,MAExD,KAAK,OAAO,MAAM3G,EAAM,GAAG,IACjC,KAAK,OAAO,MAAMA,EAAM,GAAG,EAAI,CAC3B,KAAMA,EAAM,KACZ,MAAOA,EAAM,KACrC,GAEgB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,MAAMS,CAAG,EAAG,CACnCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,SAASS,CAAG,EAAG,CACtCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAIY,GADA4G,EAASnG,EACL,KAAK,QAAQ,YAAc,KAAK,QAAQ,WAAW,WAAY,CAC/D,IAAIsG,EAAa,IACXC,EAAUvG,EAAI,MAAM,CAAC,EACvBwG,EACJ,KAAK,QAAQ,WAAW,WAAW,QAASC,GAAkB,CAC1DD,EAAYC,EAAc,KAAK,CAAE,MAAO,IAAI,EAAIF,CAAO,EACnD,OAAOC,GAAc,UAAYA,GAAa,IAC9CF,EAAa,KAAK,IAAIA,EAAYE,CAAS,EAEnE,CAAiB,EACGF,EAAa,KAAYA,GAAc,IACvCH,EAASnG,EAAI,UAAU,EAAGsG,EAAa,CAAC,EAE5D,CACY,GAAI,KAAK,MAAM,MAAQ/G,EAAQ,KAAK,UAAU,UAAU4G,CAAM,GAAI,CAC9DD,EAAY/F,EAAOA,EAAO,OAAS,CAAC,EAChCiG,GAAwBF,EAAU,OAAS,aAC3CA,EAAU,KAAO;EAAO3G,EAAM,IAC9B2G,EAAU,MAAQ;EAAO3G,EAAM,KAC/B,KAAK,YAAY,IAAG,EACpB,KAAK,YAAY,KAAK,YAAY,OAAS,CAAC,EAAE,IAAM2G,EAAU,MAG9D/F,EAAO,KAAKZ,CAAK,EAErB6G,EAAwBD,EAAO,SAAWnG,EAAI,OAC9CA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpC,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,KAAKS,CAAG,EAAG,CAClCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpC2G,EAAY/F,EAAOA,EAAO,OAAS,CAAC,EAChC+F,GAAaA,EAAU,OAAS,QAChCA,EAAU,KAAO;EAAO3G,EAAM,IAC9B2G,EAAU,MAAQ;EAAO3G,EAAM,KAC/B,KAAK,YAAY,IAAG,EACpB,KAAK,YAAY,KAAK,YAAY,OAAS,CAAC,EAAE,IAAM2G,EAAU,MAG9D/F,EAAO,KAAKZ,CAAK,EAErB,QAChB,CACY,GAAIS,EAAK,CACL,IAAM0G,EAAS,0BAA4B1G,EAAI,WAAW,CAAC,EAC3D,GAAI,KAAK,QAAQ,OAAQ,CACrB,QAAQ,MAAM0G,CAAM,EACpB,KACpB,KAEoB,OAAM,IAAI,MAAMA,CAAM,CAE1C,EAEQ,YAAK,MAAM,IAAM,GACVvG,CACf,CACI,OAAOH,EAAKG,EAAS,CAAA,EAAI,CACrB,YAAK,YAAY,KAAK,CAAE,IAAAH,EAAK,OAAAG,CAAM,CAAE,EAC9BA,CACf,CAII,aAAaH,EAAKG,EAAS,CAAA,EAAI,CAC3B,IAAIZ,EAAO2G,EAAWC,EAElB5D,EAAYvC,EACZhC,EACA2I,EAAcnE,EAElB,GAAI,KAAK,OAAO,MAAO,CACnB,IAAMH,EAAQ,OAAO,KAAK,KAAK,OAAO,KAAK,EAC3C,GAAIA,EAAM,OAAS,EACf,MAAQrE,EAAQ,KAAK,UAAU,MAAM,OAAO,cAAc,KAAKuE,CAAS,IAAM,MACtEF,EAAM,SAASrE,EAAM,CAAC,EAAE,MAAMA,EAAM,CAAC,EAAE,YAAY,GAAG,EAAI,EAAG,EAAE,CAAC,IAChEuE,EAAYA,EAAU,MAAM,EAAGvE,EAAM,KAAK,EAAI,IAAM,IAAI,OAAOA,EAAM,CAAC,EAAE,OAAS,CAAC,EAAI,IAAMuE,EAAU,MAAM,KAAK,UAAU,MAAM,OAAO,cAAc,SAAS,EAIvL,CAEQ,MAAQvE,EAAQ,KAAK,UAAU,MAAM,OAAO,UAAU,KAAKuE,CAAS,IAAM,MACtEA,EAAYA,EAAU,MAAM,EAAGvE,EAAM,KAAK,EAAI,IAAM,IAAI,OAAOA,EAAM,CAAC,EAAE,OAAS,CAAC,EAAI,IAAMuE,EAAU,MAAM,KAAK,UAAU,MAAM,OAAO,UAAU,SAAS,EAG/J,MAAQvE,EAAQ,KAAK,UAAU,MAAM,OAAO,eAAe,KAAKuE,CAAS,IAAM,MAC3EA,EAAYA,EAAU,MAAM,EAAGvE,EAAM,KAAK,EAAI,KAAOuE,EAAU,MAAM,KAAK,UAAU,MAAM,OAAO,eAAe,SAAS,EAE7H,KAAOvC,GAMH,GALK2G,IACDnE,EAAW,IAEfmE,EAAe,GAEX,OAAK,QAAQ,YACV,KAAK,QAAQ,WAAW,QACxB,KAAK,QAAQ,WAAW,OAAO,KAAMN,IAChC9G,EAAQ8G,EAAa,KAAK,CAAE,MAAO,IAAI,EAAIrG,EAAKG,CAAM,IACtDH,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACV,IAEJ,EACV,GAIL,IAAIA,EAAQ,KAAK,UAAU,OAAOS,CAAG,EAAG,CACpCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,IAAIS,CAAG,EAAG,CACjCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpC2G,EAAY/F,EAAOA,EAAO,OAAS,CAAC,EAChC+F,GAAa3G,EAAM,OAAS,QAAU2G,EAAU,OAAS,QACzDA,EAAU,KAAO3G,EAAM,IACvB2G,EAAU,MAAQ3G,EAAM,MAGxBY,EAAO,KAAKZ,CAAK,EAErB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,KAAKS,CAAG,EAAG,CAClCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,QAAQS,EAAK,KAAK,OAAO,KAAK,EAAG,CACxDA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpC2G,EAAY/F,EAAOA,EAAO,OAAS,CAAC,EAChC+F,GAAa3G,EAAM,OAAS,QAAU2G,EAAU,OAAS,QACzDA,EAAU,KAAO3G,EAAM,IACvB2G,EAAU,MAAQ3G,EAAM,MAGxBY,EAAO,KAAKZ,CAAK,EAErB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,SAASS,EAAKuC,EAAWC,CAAQ,EAAG,CAC3DxC,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,SAASS,CAAG,EAAG,CACtCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,GAAGS,CAAG,EAAG,CAChCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,IAAIS,CAAG,EAAG,CACjCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAIA,EAAQ,KAAK,UAAU,SAASS,CAAG,EAAG,CACtCA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAEY,GAAI,CAAC,KAAK,MAAM,SAAWA,EAAQ,KAAK,UAAU,IAAIS,CAAG,GAAI,CACzDA,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EACpCY,EAAO,KAAKZ,CAAK,EACjB,QAChB,CAIY,GADA4G,EAASnG,EACL,KAAK,QAAQ,YAAc,KAAK,QAAQ,WAAW,YAAa,CAChE,IAAIsG,EAAa,IACXC,EAAUvG,EAAI,MAAM,CAAC,EACvBwG,EACJ,KAAK,QAAQ,WAAW,YAAY,QAASC,GAAkB,CAC3DD,EAAYC,EAAc,KAAK,CAAE,MAAO,IAAI,EAAIF,CAAO,EACnD,OAAOC,GAAc,UAAYA,GAAa,IAC9CF,EAAa,KAAK,IAAIA,EAAYE,CAAS,EAEnE,CAAiB,EACGF,EAAa,KAAYA,GAAc,IACvCH,EAASnG,EAAI,UAAU,EAAGsG,EAAa,CAAC,EAE5D,CACY,GAAI/G,EAAQ,KAAK,UAAU,WAAW4G,CAAM,EAAG,CAC3CnG,EAAMA,EAAI,UAAUT,EAAM,IAAI,MAAM,EAChCA,EAAM,IAAI,MAAM,EAAE,IAAM,MACxBiD,EAAWjD,EAAM,IAAI,MAAM,EAAE,GAEjCoH,EAAe,GACfT,EAAY/F,EAAOA,EAAO,OAAS,CAAC,EAChC+F,GAAaA,EAAU,OAAS,QAChCA,EAAU,KAAO3G,EAAM,IACvB2G,EAAU,MAAQ3G,EAAM,MAGxBY,EAAO,KAAKZ,CAAK,EAErB,QAChB,CACY,GAAIS,EAAK,CACL,IAAM0G,EAAS,0BAA4B1G,EAAI,WAAW,CAAC,EAC3D,GAAI,KAAK,QAAQ,OAAQ,CACrB,QAAQ,MAAM0G,CAAM,EACpB,KACpB,KAEoB,OAAM,IAAI,MAAMA,CAAM,CAE1C,EAEQ,OAAOvG,CACf,CACA,EC5aayG,GAAN,KAAgB,CACnB,QACA,YAAY7G,EAAS,CACjB,KAAK,QAAUA,GAAWhE,EAClC,CACI,KAAK8K,EAAMC,EAAY3I,EAAS,CAC5B,IAAM4I,GAAQD,GAAc,IAAI,MAAM,MAAM,IAAI,CAAC,EAEjD,OADAD,EAAOA,EAAK,QAAQ,MAAO,EAAE,EAAI;EAC5BE,EAKE,8BACDtK,GAAOsK,CAAI,EACX,MACC5I,EAAU0I,EAAOpK,GAAOoK,EAAM,EAAI,GACnC;EARK,eACA1I,EAAU0I,EAAOpK,GAAOoK,EAAM,EAAI,GACnC;CAOlB,CACI,WAAWG,EAAO,CACd,MAAO;EAAiBA,CAAK;CACrC,CACI,KAAKtK,EAAMgJ,EAAO,CACd,OAAOhJ,CACf,CACI,QAAQ4C,EAAMP,EAAOI,EAAK,CAEtB,MAAO,KAAKJ,CAAK,IAAIO,CAAI,MAAMP,CAAK;CAC5C,CACI,IAAK,CACD,MAAO;CACf,CACI,KAAKkI,EAAMC,EAASC,EAAO,CACvB,IAAMC,EAAOF,EAAU,KAAO,KACxBG,EAAYH,GAAWC,IAAU,EAAM,WAAaA,EAAQ,IAAO,GACzE,MAAO,IAAMC,EAAOC,EAAW;EAAQJ,EAAO,KAAOG,EAAO;CACpE,CACI,SAAS9H,EAAMgI,EAAMC,EAAS,CAC1B,MAAO,OAAOjI,CAAI;CAC1B,CACI,SAASiI,EAAS,CACd,MAAO,WACAA,EAAU,cAAgB,IAC3B,8BACd,CACI,UAAUjI,EAAM,CACZ,MAAO,MAAMA,CAAI;CACzB,CACI,MAAMyC,EAAQkF,EAAM,CAChB,OAAIA,IACAA,EAAO,UAAUA,CAAI,YAClB;;EAEDlF,EACA;EACAkF,EACA;CACd,CACI,SAASO,EAAS,CACd,MAAO;EAASA,CAAO;CAC/B,CACI,UAAUA,EAASC,EAAO,CACtB,IAAML,EAAOK,EAAM,OAAS,KAAO,KAInC,OAHYA,EAAM,MACZ,IAAIL,CAAI,WAAWK,EAAM,KAAK,KAC9B,IAAIL,CAAI,KACDI,EAAU,KAAKJ,CAAI;CACxC,CAII,OAAO9H,EAAM,CACT,MAAO,WAAWA,CAAI,WAC9B,CACI,GAAGA,EAAM,CACL,MAAO,OAAOA,CAAI,OAC1B,CACI,SAASA,EAAM,CACX,MAAO,SAASA,CAAI,SAC5B,CACI,IAAK,CACD,MAAO,MACf,CACI,IAAIA,EAAM,CACN,MAAO,QAAQA,CAAI,QAC3B,CACI,KAAK5B,EAAM2B,EAAOC,EAAM,CACpB,IAAMoI,EAAYjK,GAASC,CAAI,EAC/B,GAAIgK,IAAc,KACd,OAAOpI,EAEX5B,EAAOgK,EACP,IAAIC,EAAM,YAAcjK,EAAO,IAC/B,OAAI2B,IACAsI,GAAO,WAAatI,EAAQ,KAEhCsI,GAAO,IAAMrI,EAAO,OACbqI,CACf,CACI,MAAMjK,EAAM2B,EAAOC,EAAM,CACrB,IAAMoI,EAAYjK,GAASC,CAAI,EAC/B,GAAIgK,IAAc,KACd,OAAOpI,EAEX5B,EAAOgK,EACP,IAAIC,EAAM,aAAajK,CAAI,UAAU4B,CAAI,IACzC,OAAID,IACAsI,GAAO,WAAWtI,CAAK,KAE3BsI,GAAO,IACAA,CACf,CACI,KAAKrI,EAAM,CACP,OAAOA,CACf,CACA,ECpHasI,GAAN,KAAoB,CAEvB,OAAOtI,EAAM,CACT,OAAOA,CACf,CACI,GAAGA,EAAM,CACL,OAAOA,CACf,CACI,SAASA,EAAM,CACX,OAAOA,CACf,CACI,IAAIA,EAAM,CACN,OAAOA,CACf,CACI,KAAKA,EAAM,CACP,OAAOA,CACf,CACI,KAAKA,EAAM,CACP,OAAOA,CACf,CACI,KAAK5B,EAAM2B,EAAOC,EAAM,CACpB,MAAO,GAAKA,CACpB,CACI,MAAM5B,EAAM2B,EAAOC,EAAM,CACrB,MAAO,GAAKA,CACpB,CACI,IAAK,CACD,MAAO,EACf,CACA,EC1BauI,GAAN,MAAMC,CAAQ,CACjB,QACA,SACA,aACA,YAAY/H,EAAS,CACjB,KAAK,QAAUA,GAAWhE,GAC1B,KAAK,QAAQ,SAAW,KAAK,QAAQ,UAAY,IAAI6K,GACrD,KAAK,SAAW,KAAK,QAAQ,SAC7B,KAAK,SAAS,QAAU,KAAK,QAC7B,KAAK,aAAe,IAAIgB,EAChC,CAII,OAAO,MAAMzH,EAAQJ,EAAS,CAE1B,OADe,IAAI+H,EAAQ/H,CAAO,EACpB,MAAMI,CAAM,CAClC,CAII,OAAO,YAAYA,EAAQJ,EAAS,CAEhC,OADe,IAAI+H,EAAQ/H,CAAO,EACpB,YAAYI,CAAM,CACxC,CAII,MAAMA,EAAQD,EAAM,GAAM,CACtB,IAAIyH,EAAM,GACV,QAASrJ,EAAI,EAAGA,EAAI6B,EAAO,OAAQ7B,IAAK,CACpC,IAAMiB,EAAQY,EAAO7B,CAAC,EAEtB,GAAI,KAAK,QAAQ,YAAc,KAAK,QAAQ,WAAW,WAAa,KAAK,QAAQ,WAAW,UAAUiB,EAAM,IAAI,EAAG,CAC/G,IAAMwI,EAAexI,EACfyI,EAAM,KAAK,QAAQ,WAAW,UAAUD,EAAa,IAAI,EAAE,KAAK,CAAE,OAAQ,IAAI,EAAIA,CAAY,EACpG,GAAIC,IAAQ,IAAS,CAAC,CAAC,QAAS,KAAM,UAAW,OAAQ,QAAS,aAAc,OAAQ,OAAQ,YAAa,MAAM,EAAE,SAASD,EAAa,IAAI,EAAG,CAC9IJ,GAAOK,GAAO,GACd,QACpB,CACA,CACY,OAAQzI,EAAM,KAAI,CACd,IAAK,QACD,SAEJ,IAAK,KAAM,CACPoI,GAAO,KAAK,SAAS,GAAE,EACvB,QACpB,CACgB,IAAK,UAAW,CACZ,IAAMM,EAAe1I,EACrBoI,GAAO,KAAK,SAAS,QAAQ,KAAK,YAAYM,EAAa,MAAM,EAAGA,EAAa,MAAOpL,GAAS,KAAK,YAAYoL,EAAa,OAAQ,KAAK,YAAY,CAAC,CAAC,EAC1J,QACpB,CACgB,IAAK,OAAQ,CACT,IAAMC,EAAY3I,EAClBoI,GAAO,KAAK,SAAS,KAAKO,EAAU,KAAMA,EAAU,KAAM,CAAC,CAACA,EAAU,OAAO,EAC7E,QACpB,CACgB,IAAK,QAAS,CACV,IAAMC,EAAa5I,EACfwC,EAAS,GAETC,EAAO,GACX,QAASoG,EAAI,EAAGA,EAAID,EAAW,OAAO,OAAQC,IAC1CpG,GAAQ,KAAK,SAAS,UAAU,KAAK,YAAYmG,EAAW,OAAOC,CAAC,EAAE,MAAM,EAAG,CAAE,OAAQ,GAAM,MAAOD,EAAW,MAAMC,CAAC,CAAC,CAAE,EAE/HrG,GAAU,KAAK,SAAS,SAASC,CAAI,EACrC,IAAIiF,EAAO,GACX,QAASmB,EAAI,EAAGA,EAAID,EAAW,KAAK,OAAQC,IAAK,CAC7C,IAAMrK,EAAMoK,EAAW,KAAKC,CAAC,EAC7BpG,EAAO,GACP,QAASqG,EAAI,EAAGA,EAAItK,EAAI,OAAQsK,IAC5BrG,GAAQ,KAAK,SAAS,UAAU,KAAK,YAAYjE,EAAIsK,CAAC,EAAE,MAAM,EAAG,CAAE,OAAQ,GAAO,MAAOF,EAAW,MAAME,CAAC,CAAC,CAAE,EAElHpB,GAAQ,KAAK,SAAS,SAASjF,CAAI,CAC3D,CACoB2F,GAAO,KAAK,SAAS,MAAM5F,EAAQkF,CAAI,EACvC,QACpB,CACgB,IAAK,aAAc,CACf,IAAMqB,EAAkB/I,EAClB0H,EAAO,KAAK,MAAMqB,EAAgB,MAAM,EAC9CX,GAAO,KAAK,SAAS,WAAWV,CAAI,EACpC,QACpB,CACgB,IAAK,OAAQ,CACT,IAAMsB,EAAYhJ,EACZ2H,EAAUqB,EAAU,QACpBpB,EAAQoB,EAAU,MAClBC,EAAQD,EAAU,MACpBtB,EAAO,GACX,QAASmB,EAAI,EAAGA,EAAIG,EAAU,MAAM,OAAQH,IAAK,CAC7C,IAAMvG,EAAO0G,EAAU,MAAMH,CAAC,EACxBb,EAAU1F,EAAK,QACfyF,EAAOzF,EAAK,KACd4G,EAAW,GACf,GAAI5G,EAAK,KAAM,CACX,IAAM6G,EAAW,KAAK,SAAS,SAAS,CAAC,CAACnB,CAAO,EAC7CiB,EACI3G,EAAK,OAAO,OAAS,GAAKA,EAAK,OAAO,CAAC,EAAE,OAAS,aAClDA,EAAK,OAAO,CAAC,EAAE,KAAO6G,EAAW,IAAM7G,EAAK,OAAO,CAAC,EAAE,KAClDA,EAAK,OAAO,CAAC,EAAE,QAAUA,EAAK,OAAO,CAAC,EAAE,OAAO,OAAS,GAAKA,EAAK,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAS,SAC/FA,EAAK,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,KAAO6G,EAAW,IAAM7G,EAAK,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAI9EA,EAAK,OAAO,QAAQ,CAChB,KAAM,OACN,KAAM6G,EAAW,GACzD,CAAqC,EAILD,GAAYC,EAAW,GAEvD,CACwBD,GAAY,KAAK,MAAM5G,EAAK,OAAQ2G,CAAK,EACzCvB,GAAQ,KAAK,SAAS,SAASwB,EAAUnB,EAAM,CAAC,CAACC,CAAO,CAChF,CACoBI,GAAO,KAAK,SAAS,KAAKV,EAAMC,EAASC,CAAK,EAC9C,QACpB,CACgB,IAAK,OAAQ,CACT,IAAMwB,EAAYpJ,EAClBoI,GAAO,KAAK,SAAS,KAAKgB,EAAU,KAAMA,EAAU,KAAK,EACzD,QACpB,CACgB,IAAK,YAAa,CACd,IAAMC,EAAiBrJ,EACvBoI,GAAO,KAAK,SAAS,UAAU,KAAK,YAAYiB,EAAe,MAAM,CAAC,EACtE,QACpB,CACgB,IAAK,OAAQ,CACT,IAAIC,EAAYtJ,EACZ0H,EAAO4B,EAAU,OAAS,KAAK,YAAYA,EAAU,MAAM,EAAIA,EAAU,KAC7E,KAAOvK,EAAI,EAAI6B,EAAO,QAAUA,EAAO7B,EAAI,CAAC,EAAE,OAAS,QACnDuK,EAAY1I,EAAO,EAAE7B,CAAC,EACtB2I,GAAQ;GAAQ4B,EAAU,OAAS,KAAK,YAAYA,EAAU,MAAM,EAAIA,EAAU,MAEtFlB,GAAOzH,EAAM,KAAK,SAAS,UAAU+G,CAAI,EAAIA,EAC7C,QACpB,CACgB,QAAS,CACL,IAAMP,EAAS,eAAiBnH,EAAM,KAAO,wBAC7C,GAAI,KAAK,QAAQ,OACb,eAAQ,MAAMmH,CAAM,EACb,GAGP,MAAM,IAAI,MAAMA,CAAM,CAE9C,CACA,CACA,CACQ,OAAOiB,CACf,CAII,YAAYxH,EAAQ2I,EAAU,CAC1BA,EAAWA,GAAY,KAAK,SAC5B,IAAInB,EAAM,GACV,QAASrJ,EAAI,EAAGA,EAAI6B,EAAO,OAAQ7B,IAAK,CACpC,IAAMiB,EAAQY,EAAO7B,CAAC,EAEtB,GAAI,KAAK,QAAQ,YAAc,KAAK,QAAQ,WAAW,WAAa,KAAK,QAAQ,WAAW,UAAUiB,EAAM,IAAI,EAAG,CAC/G,IAAMyI,EAAM,KAAK,QAAQ,WAAW,UAAUzI,EAAM,IAAI,EAAE,KAAK,CAAE,OAAQ,IAAI,EAAIA,CAAK,EACtF,GAAIyI,IAAQ,IAAS,CAAC,CAAC,SAAU,OAAQ,OAAQ,QAAS,SAAU,KAAM,WAAY,KAAM,MAAO,MAAM,EAAE,SAASzI,EAAM,IAAI,EAAG,CAC7HoI,GAAOK,GAAO,GACd,QACpB,CACA,CACY,OAAQzI,EAAM,KAAI,CACd,IAAK,SAAU,CACX,IAAMwJ,EAAcxJ,EACpBoI,GAAOmB,EAAS,KAAKC,EAAY,IAAI,EACrC,KACpB,CACgB,IAAK,OAAQ,CACT,IAAMC,EAAWzJ,EACjBoI,GAAOmB,EAAS,KAAKE,EAAS,IAAI,EAClC,KACpB,CACgB,IAAK,OAAQ,CACT,IAAMC,EAAY1J,EAClBoI,GAAOmB,EAAS,KAAKG,EAAU,KAAMA,EAAU,MAAO,KAAK,YAAYA,EAAU,OAAQH,CAAQ,CAAC,EAClG,KACpB,CACgB,IAAK,QAAS,CACV,IAAMI,EAAa3J,EACnBoI,GAAOmB,EAAS,MAAMI,EAAW,KAAMA,EAAW,MAAOA,EAAW,IAAI,EACxE,KACpB,CACgB,IAAK,SAAU,CACX,IAAMC,EAAc5J,EACpBoI,GAAOmB,EAAS,OAAO,KAAK,YAAYK,EAAY,OAAQL,CAAQ,CAAC,EACrE,KACpB,CACgB,IAAK,KAAM,CACP,IAAMM,EAAU7J,EAChBoI,GAAOmB,EAAS,GAAG,KAAK,YAAYM,EAAQ,OAAQN,CAAQ,CAAC,EAC7D,KACpB,CACgB,IAAK,WAAY,CACb,IAAMO,EAAgB9J,EACtBoI,GAAOmB,EAAS,SAASO,EAAc,IAAI,EAC3C,KACpB,CACgB,IAAK,KAAM,CACP1B,GAAOmB,EAAS,GAAE,EAClB,KACpB,CACgB,IAAK,MAAO,CACR,IAAMQ,EAAW/J,EACjBoI,GAAOmB,EAAS,IAAI,KAAK,YAAYQ,EAAS,OAAQR,CAAQ,CAAC,EAC/D,KACpB,CACgB,IAAK,OAAQ,CACT,IAAMD,EAAYtJ,EAClBoI,GAAOmB,EAAS,KAAKD,EAAU,IAAI,EACnC,KACpB,CACgB,QAAS,CACL,IAAMnC,EAAS,eAAiBnH,EAAM,KAAO,wBAC7C,GAAI,KAAK,QAAQ,OACb,eAAQ,MAAMmH,CAAM,EACb,GAGP,MAAM,IAAI,MAAMA,CAAM,CAE9C,CACA,CACA,CACQ,OAAOiB,CACf,CACA,ECnPa4B,GAAN,KAAa,CAChB,QACA,YAAYxJ,EAAS,CACjB,KAAK,QAAUA,GAAWhE,EAClC,CACI,OAAO,iBAAmB,IAAI,IAAI,CAC9B,aACA,cACA,kBACR,CAAK,EAID,WAAWyN,EAAU,CACjB,OAAOA,CACf,CAII,YAAY9M,EAAM,CACd,OAAOA,CACf,CAII,iBAAiByD,EAAQ,CACrB,OAAOA,CACf,CACA,ECrBasJ,GAAN,KAAa,CAChB,SAAW3N,GAAY,EACvB,QAAU,KAAK,WACf,MAAQ,KAAK4N,GAAe9D,GAAO,IAAKiC,GAAQ,KAAK,EACrD,YAAc,KAAK6B,GAAe9D,GAAO,UAAWiC,GAAQ,WAAW,EACvE,OAASA,GACT,SAAWjB,GACX,aAAegB,GACf,MAAQhC,GACR,UAAY9F,GACZ,MAAQyJ,GACR,eAAeI,EAAM,CACjB,KAAK,IAAI,GAAGA,CAAI,CACxB,CAII,WAAWxJ,EAAQyJ,EAAU,CACzB,IAAIC,EAAS,CAAA,EACb,QAAWtK,KAASY,EAEhB,OADA0J,EAASA,EAAO,OAAOD,EAAS,KAAK,KAAMrK,CAAK,CAAC,EACzCA,EAAM,KAAI,CACd,IAAK,QAAS,CACV,IAAM4I,EAAa5I,EACnB,QAAWyC,KAAQmG,EAAW,OAC1B0B,EAASA,EAAO,OAAO,KAAK,WAAW7H,EAAK,OAAQ4H,CAAQ,CAAC,EAEjE,QAAW7L,KAAOoK,EAAW,KACzB,QAAWnG,KAAQjE,EACf8L,EAASA,EAAO,OAAO,KAAK,WAAW7H,EAAK,OAAQ4H,CAAQ,CAAC,EAGrE,KACpB,CACgB,IAAK,OAAQ,CACT,IAAMrB,EAAYhJ,EAClBsK,EAASA,EAAO,OAAO,KAAK,WAAWtB,EAAU,MAAOqB,CAAQ,CAAC,EACjE,KACpB,CACgB,QAAS,CACL,IAAM7B,EAAexI,EACjB,KAAK,SAAS,YAAY,cAAcwI,EAAa,IAAI,EACzD,KAAK,SAAS,WAAW,YAAYA,EAAa,IAAI,EAAE,QAAS+B,GAAgB,CAC7E,IAAM3J,EAAS4H,EAAa+B,CAAW,EAAE,KAAK,GAAQ,EACtDD,EAASA,EAAO,OAAO,KAAK,WAAW1J,EAAQyJ,CAAQ,CAAC,CACpF,CAAyB,EAEI7B,EAAa,SAClB8B,EAASA,EAAO,OAAO,KAAK,WAAW9B,EAAa,OAAQ6B,CAAQ,CAAC,EAE7F,CACA,CAEQ,OAAOC,CACf,CACI,OAAOF,EAAM,CACT,IAAMI,EAAa,KAAK,SAAS,YAAc,CAAE,UAAW,CAAA,EAAI,YAAa,CAAA,CAAE,EAC/E,OAAAJ,EAAK,QAASK,GAAS,CAEnB,IAAMC,EAAO,CAAE,GAAGD,CAAI,EA8DtB,GA5DAC,EAAK,MAAQ,KAAK,SAAS,OAASA,EAAK,OAAS,GAE9CD,EAAK,aACLA,EAAK,WAAW,QAASE,GAAQ,CAC7B,GAAI,CAACA,EAAI,KACL,MAAM,IAAI,MAAM,yBAAyB,EAE7C,GAAI,aAAcA,EAAK,CACnB,IAAMC,EAAeJ,EAAW,UAAUG,EAAI,IAAI,EAC9CC,EAEAJ,EAAW,UAAUG,EAAI,IAAI,EAAI,YAAaP,EAAM,CAChD,IAAI3B,EAAMkC,EAAI,SAAS,MAAM,KAAMP,CAAI,EACvC,OAAI3B,IAAQ,KACRA,EAAMmC,EAAa,MAAM,KAAMR,CAAI,GAEhC3B,CACvC,EAG4B+B,EAAW,UAAUG,EAAI,IAAI,EAAIA,EAAI,QAEjE,CACoB,GAAI,cAAeA,EAAK,CACpB,GAAI,CAACA,EAAI,OAAUA,EAAI,QAAU,SAAWA,EAAI,QAAU,SACtD,MAAM,IAAI,MAAM,6CAA6C,EAEjE,IAAME,EAAWL,EAAWG,EAAI,KAAK,EACjCE,EACAA,EAAS,QAAQF,EAAI,SAAS,EAG9BH,EAAWG,EAAI,KAAK,EAAI,CAACA,EAAI,SAAS,EAEtCA,EAAI,QACAA,EAAI,QAAU,QACVH,EAAW,WACXA,EAAW,WAAW,KAAKG,EAAI,KAAK,EAGpCH,EAAW,WAAa,CAACG,EAAI,KAAK,EAGjCA,EAAI,QAAU,WACfH,EAAW,YACXA,EAAW,YAAY,KAAKG,EAAI,KAAK,EAGrCH,EAAW,YAAc,CAACG,EAAI,KAAK,GAIvE,CACwB,gBAAiBA,GAAOA,EAAI,cAC5BH,EAAW,YAAYG,EAAI,IAAI,EAAIA,EAAI,YAE/D,CAAiB,EACDD,EAAK,WAAaF,GAGlBC,EAAK,SAAU,CACf,IAAMlB,EAAW,KAAK,SAAS,UAAY,IAAIlC,GAAU,KAAK,QAAQ,EACtE,QAAWyD,KAAQL,EAAK,SAAU,CAC9B,GAAI,EAAEK,KAAQvB,GACV,MAAM,IAAI,MAAM,aAAauB,CAAI,kBAAkB,EAEvD,GAAIA,IAAS,UAET,SAEJ,IAAMC,EAAeD,EACfE,EAAeP,EAAK,SAASM,CAAY,EACzCH,EAAerB,EAASwB,CAAY,EAE1CxB,EAASwB,CAAY,EAAI,IAAIX,IAAS,CAClC,IAAI3B,EAAMuC,EAAa,MAAMzB,EAAUa,CAAI,EAC3C,OAAI3B,IAAQ,KACRA,EAAMmC,EAAa,MAAMrB,EAAUa,CAAI,GAEpC3B,GAAO,EACtC,CACA,CACgBiC,EAAK,SAAWnB,CAChC,CACY,GAAIkB,EAAK,UAAW,CAChB,IAAMQ,EAAY,KAAK,SAAS,WAAa,IAAI1K,GAAW,KAAK,QAAQ,EACzE,QAAWuK,KAAQL,EAAK,UAAW,CAC/B,GAAI,EAAEK,KAAQG,GACV,MAAM,IAAI,MAAM,cAAcH,CAAI,kBAAkB,EAExD,GAAI,CAAC,UAAW,QAAS,OAAO,EAAE,SAASA,CAAI,EAE3C,SAEJ,IAAMI,EAAgBJ,EAChBK,EAAgBV,EAAK,UAAUS,CAAa,EAC5CE,EAAgBH,EAAUC,CAAa,EAG7CD,EAAUC,CAAa,EAAI,IAAId,IAAS,CACpC,IAAI3B,EAAM0C,EAAc,MAAMF,EAAWb,CAAI,EAC7C,OAAI3B,IAAQ,KACRA,EAAM2C,EAAc,MAAMH,EAAWb,CAAI,GAEtC3B,CAC/B,CACA,CACgBiC,EAAK,UAAYO,CACjC,CAEY,GAAIR,EAAK,MAAO,CACZ,IAAMY,EAAQ,KAAK,SAAS,OAAS,IAAIrB,GACzC,QAAWc,KAAQL,EAAK,MAAO,CAC3B,GAAI,EAAEK,KAAQO,GACV,MAAM,IAAI,MAAM,SAASP,CAAI,kBAAkB,EAEnD,GAAIA,IAAS,UAET,SAEJ,IAAMQ,EAAYR,EACZS,EAAYd,EAAK,MAAMa,CAAS,EAChCE,EAAWH,EAAMC,CAAS,EAC5BtB,GAAO,iBAAiB,IAAIc,CAAI,EAEhCO,EAAMC,CAAS,EAAKG,GAAQ,CACxB,GAAI,KAAK,SAAS,MACd,OAAO,QAAQ,QAAQF,EAAU,KAAKF,EAAOI,CAAG,CAAC,EAAE,KAAKhD,GAC7C+C,EAAS,KAAKH,EAAO5C,CAAG,CAClC,EAEL,IAAMA,EAAM8C,EAAU,KAAKF,EAAOI,CAAG,EACrC,OAAOD,EAAS,KAAKH,EAAO5C,CAAG,CAC3D,EAIwB4C,EAAMC,CAAS,EAAI,IAAIlB,IAAS,CAC5B,IAAI3B,EAAM8C,EAAU,MAAMF,EAAOjB,CAAI,EACrC,OAAI3B,IAAQ,KACRA,EAAM+C,EAAS,MAAMH,EAAOjB,CAAI,GAE7B3B,CACnC,CAEA,CACgBiC,EAAK,MAAQW,CAC7B,CAEY,GAAIZ,EAAK,WAAY,CACjB,IAAMiB,EAAa,KAAK,SAAS,WAC3BC,EAAiBlB,EAAK,WAC5BC,EAAK,WAAa,SAAU1K,EAAO,CAC/B,IAAIsK,EAAS,CAAA,EACb,OAAAA,EAAO,KAAKqB,EAAe,KAAK,KAAM3L,CAAK,CAAC,EACxC0L,IACApB,EAASA,EAAO,OAAOoB,EAAW,KAAK,KAAM1L,CAAK,CAAC,GAEhDsK,CAC3B,CACA,CACY,KAAK,SAAW,CAAE,GAAG,KAAK,SAAU,GAAGI,CAAI,CACvD,CAAS,EACM,IACf,CACI,WAAW9M,EAAK,CACZ,YAAK,SAAW,CAAE,GAAG,KAAK,SAAU,GAAGA,CAAG,EACnC,IACf,CACI,MAAM6C,EAAKD,EAAS,CAChB,OAAO6F,GAAO,IAAI5F,EAAKD,GAAW,KAAK,QAAQ,CACvD,CACI,OAAOI,EAAQJ,EAAS,CACpB,OAAO8H,GAAQ,MAAM1H,EAAQJ,GAAW,KAAK,QAAQ,CAC7D,CACI2J,GAAetK,EAAO+L,EAAQ,CAC1B,MAAO,CAACnL,EAAKD,IAAY,CACrB,IAAMqL,EAAU,CAAE,GAAGrL,CAAO,EACtB5C,EAAM,CAAE,GAAG,KAAK,SAAU,GAAGiO,CAAO,EAEtC,KAAK,SAAS,QAAU,IAAQA,EAAQ,QAAU,KAC7CjO,EAAI,QACL,QAAQ,KAAK,oHAAoH,EAErIA,EAAI,MAAQ,IAEhB,IAAMkO,EAAa,KAAKC,GAAS,CAAC,CAACnO,EAAI,OAAQ,CAAC,CAACA,EAAI,KAAK,EAE1D,GAAI,OAAO6C,EAAQ,KAAeA,IAAQ,KACtC,OAAOqL,EAAW,IAAI,MAAM,gDAAgD,CAAC,EAEjF,GAAI,OAAOrL,GAAQ,SACf,OAAOqL,EAAW,IAAI,MAAM,wCACtB,OAAO,UAAU,SAAS,KAAKrL,CAAG,EAAI,mBAAmB,CAAC,EAKpE,GAHI7C,EAAI,QACJA,EAAI,MAAM,QAAUA,GAEpBA,EAAI,MACJ,OAAO,QAAQ,QAAQA,EAAI,MAAQA,EAAI,MAAM,WAAW6C,CAAG,EAAIA,CAAG,EAC7D,KAAKA,GAAOZ,EAAMY,EAAK7C,CAAG,CAAC,EAC3B,KAAKgD,GAAUhD,EAAI,MAAQA,EAAI,MAAM,iBAAiBgD,CAAM,EAAIA,CAAM,EACtE,KAAKA,GAAUhD,EAAI,WAAa,QAAQ,IAAI,KAAK,WAAWgD,EAAQhD,EAAI,UAAU,CAAC,EAAE,KAAK,IAAMgD,CAAM,EAAIA,CAAM,EAChH,KAAKA,GAAUgL,EAAOhL,EAAQhD,CAAG,CAAC,EAClC,KAAKT,GAAQS,EAAI,MAAQA,EAAI,MAAM,YAAYT,CAAI,EAAIA,CAAI,EAC3D,MAAM2O,CAAU,EAEzB,GAAI,CACIlO,EAAI,QACJ6C,EAAM7C,EAAI,MAAM,WAAW6C,CAAG,GAElC,IAAIG,EAASf,EAAMY,EAAK7C,CAAG,EACvBA,EAAI,QACJgD,EAAShD,EAAI,MAAM,iBAAiBgD,CAAM,GAE1ChD,EAAI,YACJ,KAAK,WAAWgD,EAAQhD,EAAI,UAAU,EAE1C,IAAIT,EAAOyO,EAAOhL,EAAQhD,CAAG,EAC7B,OAAIA,EAAI,QACJT,EAAOS,EAAI,MAAM,YAAYT,CAAI,GAE9BA,CACvB,OACmB6O,EAAG,CACN,OAAOF,EAAWE,CAAC,CACnC,CACA,CACA,CACID,GAASE,EAAQC,EAAO,CACpB,OAAQF,GAAM,CAEV,GADAA,EAAE,SAAW;2DACTC,EAAQ,CACR,IAAME,EAAM,iCACNjP,GAAO8O,EAAE,QAAU,GAAI,EAAI,EAC3B,SACN,OAAIE,EACO,QAAQ,QAAQC,CAAG,EAEvBA,CACvB,CACY,GAAID,EACA,OAAO,QAAQ,OAAOF,CAAC,EAE3B,MAAMA,CAClB,CACA,CACA,ECpTMI,GAAiB,IAAIlC,GACpB,SAASmC,EAAO5L,EAAK7C,EAAK,CAC7B,OAAOwO,GAAe,MAAM3L,EAAK7C,CAAG,CACxC,CAMAyO,EAAO,QACHA,EAAO,WAAa,SAAU7L,EAAS,CACnC,OAAA4L,GAAe,WAAW5L,CAAO,EACjC6L,EAAO,SAAWD,GAAe,SACjC3P,GAAe4P,EAAO,QAAQ,EACvBA,CACf,EAIAA,EAAO,YAAc9P,GACrB8P,EAAO,SAAW7P,GAIlB6P,EAAO,IAAM,YAAajC,EAAM,CAC5B,OAAAgC,GAAe,IAAI,GAAGhC,CAAI,EAC1BiC,EAAO,SAAWD,GAAe,SACjC3P,GAAe4P,EAAO,QAAQ,EACvBA,CACX,EAIAA,EAAO,WAAa,SAAUzL,EAAQyJ,EAAU,CAC5C,OAAO+B,GAAe,WAAWxL,EAAQyJ,CAAQ,CACrD,EAQAgC,EAAO,YAAcD,GAAe,YAIpCC,EAAO,OAAS/D,GAChB+D,EAAO,OAAS/D,GAAQ,MACxB+D,EAAO,SAAWhF,GAClBgF,EAAO,aAAehE,GACtBgE,EAAO,MAAQhG,GACfgG,EAAO,MAAQhG,GAAO,IACtBgG,EAAO,UAAY9L,GACnB8L,EAAO,MAAQrC,GACfqC,EAAO,MAAQA,EACH,IAAC7L,GAAU6L,EAAO,QACjBC,GAAaD,EAAO,WACpBE,GAAMF,EAAO,IACbX,GAAaW,EAAO,WACpBG,GAAcH,EAAO,YACrBI,GAAQJ,EACRT,GAAStD,GAAQ,MACjBzI,GAAQwG,GAAO,ICvE5B,GAAM,CACJqG,QAAAA,GACAC,eAAAA,GACAC,SAAAA,GACAC,eAAAA,GACAC,yBAAAA,EACD,EAAGC,OAEA,CAAEC,OAAAA,GAAQC,KAAAA,GAAMC,OAAAA,EAAM,EAAKH,OAC3B,CAAEI,MAAAA,GAAOC,UAAAA,EAAW,EAAG,OAAOC,QAAY,KAAeA,QAExDL,KACHA,GAAS,SAAUM,EAAC,CAClB,OAAOA,IAINL,KACHA,GAAO,SAAUK,EAAC,CAChB,OAAOA,IAINH,KACHA,GAAQ,SAAUI,EAAKC,EAAWC,EAAI,CACpC,OAAOF,EAAIJ,MAAMK,EAAWC,CAAI,IAI/BL,KACHA,GAAY,SAAUM,EAAMD,EAAI,CAC9B,OAAO,IAAIC,EAAK,GAAGD,CAAI,IAI3B,IAAME,GAAeC,GAAQC,MAAMC,UAAUC,OAAO,EAE9CC,GAAmBJ,GAAQC,MAAMC,UAAUG,WAAW,EACtDC,GAAWN,GAAQC,MAAMC,UAAUK,GAAG,EACtCC,GAAYR,GAAQC,MAAMC,UAAUO,IAAI,EAExCC,GAAcV,GAAQC,MAAMC,UAAUS,MAAM,EAE5CC,GAAoBZ,GAAQa,OAAOX,UAAUY,WAAW,EACxDC,GAAiBf,GAAQa,OAAOX,UAAUc,QAAQ,EAClDC,GAAcjB,GAAQa,OAAOX,UAAUgB,KAAK,EAC5CC,GAAgBnB,GAAQa,OAAOX,UAAUkB,OAAO,EAChDC,GAAgBrB,GAAQa,OAAOX,UAAUoB,OAAO,EAChDC,GAAavB,GAAQa,OAAOX,UAAUsB,IAAI,EAE1CC,GAAuBzB,GAAQb,OAAOe,UAAUwB,cAAc,EAE9DC,GAAa3B,GAAQ4B,OAAO1B,UAAU2B,IAAI,EAE1CC,GAAkBC,GAAYC,SAAS,EAQ7C,SAAShC,GACPiC,EAAyC,CAEzC,OAAO,SAACC,EAAmC,CACrCA,aAAmBN,SACrBM,EAAQC,UAAY,GACrB,QAAAC,EAAAC,UAAAC,OAHsBzC,EAAW,IAAAI,MAAAmC,EAAAA,EAAAA,EAAA,EAAA,CAAA,EAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAX1C,EAAW0C,EAAAF,CAAAA,EAAAA,UAAAE,CAAA,EAKlC,OAAOhD,GAAM0C,EAAMC,EAASrC,CAAI,EAEpC,CAQA,SAASkC,GAAeE,EAA2B,CACjD,OAAO,UAAA,CAAA,QAAAO,EAAAH,UAAAC,OAAIzC,EAAWI,IAAAA,MAAAuC,CAAA,EAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAX5C,EAAW4C,CAAA,EAAAJ,UAAAI,CAAA,EAAA,OAAQjD,GAAUyC,EAAMpC,CAAI,CAAC,CACrD,CAUA,SAAS6C,EACPC,EACAC,EACyE,CAAA,IAAzEC,EAAAA,UAAAA,OAAAA,GAAAA,UAAAA,CAAAA,IAAAA,OAAAA,UAAAA,CAAAA,EAAwDjC,GAEpD7B,IAIFA,GAAe4D,EAAK,IAAI,EAG1B,IAAIG,EAAIF,EAAMN,OACd,KAAOQ,KAAK,CACV,IAAIC,EAAUH,EAAME,CAAC,EACrB,GAAI,OAAOC,GAAY,SAAU,CAC/B,IAAMC,EAAYH,EAAkBE,CAAO,EACvCC,IAAcD,IAEX/D,GAAS4D,CAAK,IAChBA,EAAgBE,CAAC,EAAIE,GAGxBD,EAAUC,EAEd,CAEAL,EAAII,CAAO,EAAI,EACjB,CAEA,OAAOJ,CACT,CAQA,SAASM,GAAcL,EAAU,CAC/B,QAASM,EAAQ,EAAGA,EAAQN,EAAMN,OAAQY,IAChBzB,GAAqBmB,EAAOM,CAAK,IAGvDN,EAAMM,CAAK,EAAI,MAInB,OAAON,CACT,CAQA,SAASO,GAAqCC,EAAS,CACrD,IAAMC,EAAY/D,GAAO,IAAI,EAE7B,OAAW,CAACgE,EAAUC,CAAK,IAAKzE,GAAQsE,CAAM,EACpB3B,GAAqB2B,EAAQE,CAAQ,IAGvDrD,MAAMuD,QAAQD,CAAK,EACrBF,EAAUC,CAAQ,EAAIL,GAAWM,CAAK,EAEtCA,GACA,OAAOA,GAAU,UACjBA,EAAME,cAAgBtE,OAEtBkE,EAAUC,CAAQ,EAAIH,GAAMI,CAAK,EAEjCF,EAAUC,CAAQ,EAAIC,GAK5B,OAAOF,CACT,CASA,SAASK,GACPN,EACAO,EAAY,CAEZ,KAAOP,IAAW,MAAM,CACtB,IAAMQ,EAAO1E,GAAyBkE,EAAQO,CAAI,EAElD,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAO7D,GAAQ4D,EAAKC,GAAG,EAGzB,GAAI,OAAOD,EAAKL,OAAU,WACxB,OAAOvD,GAAQ4D,EAAKL,KAAK,CAE7B,CAEAH,EAASnE,GAAemE,CAAM,CAChC,CAEA,SAASU,GAAa,CACpB,OAAO,IACT,CAEA,OAAOA,CACT,CC3MO,IAAMC,GAAO3E,GAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACG,EAEG4E,GAAM5E,GAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACC,EAEG6E,GAAa7E,GAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACN,EAMG8E,GAAgB9E,GAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACG,EAEG+E,GAAS/E,GAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACL,EAIGgF,GAAmBhF,GAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACE,EAEGiF,GAAOjF,GAAO,CAAC,OAAO,CAAU,ECpRhC2E,GAAO3E,GAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACE,EAEG4E,GAAM5E,GAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACJ,EAEG+E,GAAS/E,GAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYkF,GAAMlF,GAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACL,EC/WGmF,GAAgBlF,GAAK,2BAA2B,EAChDmF,GAAWnF,GAAK,uBAAuB,EACvCoF,GAAcpF,GAAK,eAAe,EAClCqF,GAAYrF,GAAK,8BAA8B,EAC/CsF,GAAYtF,GAAK,gBAAgB,EACjCuF,GAAiBvF,GAC5B,oGAEWwF,GAAoBxF,GAAK,uBAAuB,EAChDyF,GAAkBzF,GAC7B,+DAEW0F,GAAe1F,GAAK,SAAS,EAC7B2F,GAAiB3F,GAAK,0BAA0B,uMCmBvD4F,GAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,IAGNC,GAAY,UAAA,CAChB,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAChCC,EACAC,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", + "names": ["require_clipboard", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_exports__", "__webpack_require__", "clipboard", "tiny_emitter", "tiny_emitter_default", "listen", "listen_default", "src_select", "select_default", "command", "type", "ClipboardActionCut", "target", "selectedText", "actions_cut", "createFakeElement", "value", "isRTL", "fakeElement", "yPosition", "fakeCopyAction", "options", "ClipboardActionCopy", "actions_copy", "_typeof", "obj", "ClipboardActionDefault", "_options$action", "action", "container", "text", "actions_default", "clipboard_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "props", "i", "descriptor", "_createClass", "protoProps", "staticProps", "_inherits", "subClass", "superClass", "_setPrototypeOf", "o", "p", "_createSuper", "Derived", "hasNativeReflectConstruct", "_isNativeReflectConstruct", "Super", "_getPrototypeOf", "result", "NewTarget", "_possibleConstructorReturn", "self", "call", "_assertThisInitialized", "getAttributeValue", "suffix", "element", "attribute", "Clipboard", "_Emitter", "_super", "trigger", "_this", "_this2", "e", "selector", "actions", "support", "DOCUMENT_NODE_TYPE", "proto", "closest", "__unused_webpack_exports", "_delegate", "callback", "useCapture", "listenerFn", "listener", "delegate", "elements", "is", "listenNode", "listenNodeList", "listenSelector", "node", "nodeList", "select", "isReadOnly", "selection", "range", "E", "name", "ctx", "data", "evtArr", "len", "evts", "liveEvents", "__webpack_module_cache__", "moduleId", "getter", "definition", "key", "prop", "require_core", "__commonJSMin", "exports", "module", "deepFreeze", "obj", "name", "prop", "type", "Response", "mode", "escapeHTML", "value", "inherit$1", "original", "objects", "result", "key", "SPAN_CLOSE", "emitsWrappingTags", "node", "scopeToCSSClass", "prefix", "pieces", "x", "i", "HTMLRenderer", "parseTree", "options", "text", "className", "newNode", "opts", "TokenTree", "_TokenTree", "scope", "builder", "child", "el", "TokenTreeEmitter", "emitter", "source", "re", "lookahead", "concat", "anyNumberOfTimes", "optional", "args", "stripOptionsFromArgs", "either", "countMatchGroups", "startsWith", "lexeme", "match", "BACKREF_RE", "_rewriteBackreferences", "regexps", "joinWith", "numCaptures", "regex", "offset", "out", "MATCH_NOTHING_RE", "IDENT_RE", "UNDERSCORE_IDENT_RE", "NUMBER_RE", "C_NUMBER_RE", "BINARY_NUMBER_RE", "RE_STARTERS_RE", "SHEBANG", "beginShebang", "m", "resp", "BACKSLASH_ESCAPE", "APOS_STRING_MODE", "QUOTE_STRING_MODE", "PHRASAL_WORDS_MODE", "COMMENT", "begin", "end", "modeOptions", "ENGLISH_WORD", "C_LINE_COMMENT_MODE", "C_BLOCK_COMMENT_MODE", "HASH_COMMENT_MODE", "NUMBER_MODE", "C_NUMBER_MODE", "BINARY_NUMBER_MODE", "REGEXP_MODE", "TITLE_MODE", "UNDERSCORE_TITLE_MODE", "METHOD_GUARD", "END_SAME_AS_BEGIN", "MODES", "skipIfHasPrecedingDot", "response", "scopeClassName", "_parent", "beginKeywords", "parent", "compileIllegal", "compileMatch", "compileRelevance", "beforeMatchExt", "originalMode", "COMMON_KEYWORDS", "DEFAULT_KEYWORD_SCOPE", "compileKeywords", "rawKeywords", "caseInsensitive", "scopeName", "compiledKeywords", "compileList", "keywordList", "keyword", "pair", "scoreForKeyword", "providedScore", "commonKeyword", "seenDeprecations", "error", "message", "warn", "deprecated", "version", "MultiClassError", "remapScopeNames", "regexes", "scopeNames", "emit", "positions", "beginMultiClass", "endMultiClass", "scopeSugar", "MultiClass", "compileLanguage", "language", "langRe", "global", "MultiRegex", "terminators", "s", "matchData", "ResumableMultiRegex", "index", "matcher", "m2", "buildModeRegex", "mm", "term", "compileMode", "cmode", "ext", "keywordPattern", "c", "expandOrCloneMode", "dependencyOnParent", "variant", "HTMLInjectionError", "reason", "html", "escape", "inherit", "NO_MATCH", "MAX_KEYWORD_HITS", "HLJS", "hljs", "languages", "aliases", "plugins", "SAFE_MODE", "LANGUAGE_NOT_FOUND", "PLAINTEXT_LANGUAGE", "shouldNotHighlight", "languageName", "blockLanguage", "block", "classes", "getLanguage", "_class", "highlight", "codeOrLanguageName", "optionsOrCode", "ignoreIllegals", "code", "context", "fire", "_highlight", "codeToHighlight", "continuation", "keywordHits", "keywordData", "matchText", "processKeywords", "top", "modeBuffer", "lastIndex", "buf", "word", "data", "kind", "keywordRelevance", "relevance", "cssClass", "emitKeyword", "processSubLanguage", "continuations", "highlightAuto", "processBuffer", "emitMultiClass", "max", "klass", "startNewMode", "endOfMode", "matchPlusRemainder", "matched", "doIgnore", "resumeScanAtSamePosition", "doBeginMatch", "newMode", "beforeCallbacks", "cb", "doEndMatch", "endMode", "origin", "processContinuations", "list", "current", "item", "lastMatch", "processLexeme", "textBeforeMatch", "err", "processed", "iterations", "md", "beforeMatch", "processedCount", "justTextHighlightResult", "languageSubset", "plaintext", "results", "autoDetection", "sorted", "a", "b", "best", "secondBest", "updateClassName", "element", "currentLang", "resultLang", "highlightElement", "configure", "userOptions", "initHighlighting", "highlightAll", "initHighlightingOnLoad", "wantsHighlight", "boot", "registerLanguage", "languageDefinition", "lang", "error$1", "registerAliases", "unregisterLanguage", "alias", "listLanguages", "aliasList", "upgradePluginAPI", "plugin", "addPlugin", "removePlugin", "event", "deprecateHighlightBlock", "require_xml", "__commonJSMin", "exports", "module", "xml", "hljs", "regex", "TAG_NAME_RE", "XML_IDENT_RE", "XML_ENTITIES", "XML_META_KEYWORDS", "XML_META_PAR_KEYWORDS", "APOS_META_STRING_MODE", "QUOTE_META_STRING_MODE", "TAG_INTERNALS", "require_bash", "__commonJSMin", "exports", "module", "bash", "hljs", "regex", "VAR", "BRACED_VAR", "SUBST", "COMMENT", "HERE_DOC", "QUOTE_STRING", "ESCAPED_QUOTE", "APOS_STRING", "ESCAPED_APOS", "ARITHMETIC", "SH_LIKE_SHELLS", "KNOWN_SHEBANG", "FUNCTION", "KEYWORDS", "LITERALS", "PATH_MODE", "SHELL_BUILT_INS", "BASH_BUILT_INS", "ZSH_BUILT_INS", "GNU_CORE_UTILS", "require_c", "__commonJSMin", "exports", "module", "c", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "FUNCTION_TYPE_RE", "TYPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "KEYWORDS", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_cpp", "__commonJSMin", "exports", "module", "cpp", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "FUNCTION_TYPE_RE", "CPP_PRIMITIVE_TYPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "RESERVED_KEYWORDS", "RESERVED_TYPES", "TYPE_HINTS", "FUNCTION_HINTS", "CPP_KEYWORDS", "FUNCTION_DISPATCH", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_csharp", "__commonJSMin", "exports", "module", "csharp", "hljs", "BUILT_IN_KEYWORDS", "FUNCTION_MODIFIERS", "LITERAL_KEYWORDS", "NORMAL_KEYWORDS", "CONTEXTUAL_KEYWORDS", "KEYWORDS", "TITLE_MODE", "NUMBERS", "RAW_STRING", "VERBATIM_STRING", "VERBATIM_STRING_NO_LF", "SUBST", "SUBST_NO_LF", "INTERPOLATED_STRING", "INTERPOLATED_VERBATIM_STRING", "INTERPOLATED_VERBATIM_STRING_NO_LF", "STRING", "GENERIC_MODIFIER", "TYPE_IDENT_RE", "AT_IDENTIFIER", "require_css", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "css", "regex", "modes", "VENDOR_PREFIX", "AT_MODIFIERS", "AT_PROPERTY_RE", "IDENT_RE", "STRINGS", "require_markdown", "__commonJSMin", "exports", "module", "markdown", "hljs", "regex", "INLINE_HTML", "HORIZONTAL_RULE", "CODE", "LIST", "LINK_REFERENCE", "URL_SCHEME", "LINK", "BOLD", "ITALIC", "BOLD_WITHOUT_ITALIC", "ITALIC_WITHOUT_BOLD", "CONTAINABLE", "m", "require_diff", "__commonJSMin", "exports", "module", "diff", "hljs", "regex", "require_ruby", "__commonJSMin", "exports", "module", "ruby", "hljs", "regex", "RUBY_METHOD_RE", "CLASS_NAME_RE", "CLASS_NAME_WITH_NAMESPACE_RE", "RUBY_KEYWORDS", "YARDOCTAG", "IRB_OBJECT", "COMMENT_MODES", "SUBST", "STRING", "decimal", "digits", "NUMBER", "PARAMS", "RUBY_DEFAULT_CONTAINS", "IRB_DEFAULT", "require_go", "__commonJSMin", "exports", "module", "go", "hljs", "KEYWORDS", "require_graphql", "__commonJSMin", "exports", "module", "graphql", "hljs", "regex", "GQL_NAME", "require_ini", "__commonJSMin", "exports", "module", "ini", "hljs", "regex", "NUMBERS", "COMMENTS", "VARIABLES", "LITERALS", "STRINGS", "ARRAY", "BARE_KEY", "QUOTED_KEY_DOUBLE_QUOTE", "QUOTED_KEY_SINGLE_QUOTE", "ANY_KEY", "DOTTED_KEY", "require_java", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "recurRegex", "re", "substitution", "depth", "_", "java", "hljs", "regex", "JAVA_IDENT_RE", "GENERIC_IDENT_RE", "KEYWORDS", "ANNOTATION", "PARAMS", "require_javascript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "x", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "require_json", "__commonJSMin", "exports", "module", "json", "hljs", "ATTRIBUTE", "PUNCTUATION", "LITERALS", "LITERALS_MODE", "require_kotlin", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "kotlin", "hljs", "KEYWORDS", "KEYWORDS_WITH_LABEL", "LABEL", "SUBST", "VARIABLE", "STRING", "ANNOTATION_USE_SITE", "ANNOTATION", "KOTLIN_NUMBER_MODE", "KOTLIN_NESTED_COMMENT", "KOTLIN_PAREN_TYPE", "KOTLIN_PAREN_TYPE2", "require_less", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "PSEUDO_SELECTORS", "less", "modes", "PSEUDO_SELECTORS$1", "AT_MODIFIERS", "IDENT_RE", "INTERP_IDENT_RE", "RULES", "VALUE_MODES", "STRING_MODE", "c", "IDENT_MODE", "name", "begin", "relevance", "AT_KEYWORDS", "PARENS_MODE", "VALUE_WITH_RULESETS", "MIXIN_GUARD_MODE", "RULE_MODE", "AT_RULE_MODE", "VAR_RULE_MODE", "SELECTOR_MODE", "PSEUDO_SELECTOR_MODE", "require_lua", "__commonJSMin", "exports", "module", "lua", "hljs", "OPENING_LONG_BRACKET", "CLOSING_LONG_BRACKET", "LONG_BRACKETS", "COMMENTS", "require_makefile", "__commonJSMin", "exports", "module", "makefile", "hljs", "VARIABLE", "QUOTE_STRING", "FUNC", "ASSIGNMENT", "META", "TARGET", "require_perl", "__commonJSMin", "exports", "module", "perl", "hljs", "regex", "KEYWORDS", "REGEX_MODIFIERS", "PERL_KEYWORDS", "SUBST", "METHOD", "ATTR", "VAR", "NUMBER", "STRING_CONTAINS", "REGEX_DELIMS", "PAIRED_DOUBLE_RE", "prefix", "open", "close", "middle", "PAIRED_RE", "PERL_DEFAULT_CONTAINS", "require_objectivec", "__commonJSMin", "exports", "module", "objectivec", "hljs", "API_CLASS", "IDENTIFIER_RE", "KEYWORDS", "CLASS_KEYWORDS", "require_php", "__commonJSMin", "exports", "module", "php", "hljs", "regex", "NOT_PERL_ETC", "IDENT_RE", "PASCAL_CASE_CLASS_NAME_RE", "UPCASE_NAME_RE", "VARIABLE", "PREPROCESSOR", "SUBST", "SINGLE_QUOTED", "DOUBLE_QUOTED", "HEREDOC", "m", "resp", "NOWDOC", "WHITESPACE", "STRING", "NUMBER", "LITERALS", "KWS", "BUILT_INS", "KEYWORDS", "items", "result", "item", "normalizeKeywords", "CONSTRUCTOR_CALL", "CONSTANT_REFERENCE", "LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON", "NAMED_ARGUMENT", "PARAMS_MODE", "FUNCTION_INVOKE", "ATTRIBUTE_CONTAINS", "ATTRIBUTES", "require_php_template", "__commonJSMin", "exports", "module", "phpTemplate", "hljs", "require_plaintext", "__commonJSMin", "exports", "module", "plaintext", "hljs", "require_python", "__commonJSMin", "exports", "module", "python", "hljs", "regex", "IDENT_RE", "RESERVED_WORDS", "KEYWORDS", "PROMPT", "SUBST", "LITERAL_BRACKET", "STRING", "digitpart", "pointfloat", "lookahead", "NUMBER", "COMMENT_TYPE", "PARAMS", "require_python_repl", "__commonJSMin", "exports", "module", "pythonRepl", "hljs", "require_r", "__commonJSMin", "exports", "module", "r", "hljs", "regex", "IDENT_RE", "NUMBER_TYPES_RE", "OPERATORS_RE", "PUNCTUATION_RE", "require_rust", "__commonJSMin", "exports", "module", "rust", "hljs", "regex", "RAW_IDENTIFIER", "UNDERSCORE_IDENT_RE", "IDENT_RE", "FUNCTION_INVOKE", "NUMBER_SUFFIX", "KEYWORDS", "LITERALS", "BUILTINS", "TYPES", "require_scss", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "scss", "modes", "PSEUDO_ELEMENTS$1", "PSEUDO_CLASSES$1", "AT_IDENTIFIER", "AT_MODIFIERS", "VARIABLE", "require_shell", "__commonJSMin", "exports", "module", "shell", "hljs", "require_sql", "__commonJSMin", "exports", "module", "sql", "hljs", "regex", "COMMENT_MODE", "STRING", "QUOTED_IDENTIFIER", "LITERALS", "MULTI_WORD_TYPES", "TYPES", "NON_RESERVED_WORDS", "RESERVED_WORDS", "RESERVED_FUNCTIONS", "POSSIBLE_WITHOUT_PARENS", "COMBOS", "FUNCTIONS", "KEYWORDS", "keyword", "VARIABLE", "OPERATOR", "FUNCTION_CALL", "kws_to_regex", "list", "kw", "MULTI_WORD_KEYWORDS", "reduceRelevancy", "exceptions", "when", "qualifyFn", "item", "x", "require_swift", "__commonJSMin", "exports", "module", "source", "re", "lookahead", "concat", "args", "x", "stripOptionsFromArgs", "opts", "either", "keywordWrapper", "keyword", "dotKeywords", "optionalDotKeywords", "keywordTypes", "keywords", "literals", "precedencegroupKeywords", "numberSignKeywords", "builtIns", "operatorHead", "operatorCharacter", "operator", "identifierHead", "identifierCharacter", "identifier", "typeIdentifier", "keywordAttributes", "availabilityKeywords", "swift", "hljs", "WHITESPACE", "BLOCK_COMMENT", "COMMENTS", "DOT_KEYWORD", "KEYWORD_GUARD", "PLAIN_KEYWORDS", "kw", "REGEX_KEYWORDS", "KEYWORD", "KEYWORDS", "KEYWORD_MODES", "BUILT_IN_GUARD", "BUILT_IN", "BUILT_INS", "OPERATOR_GUARD", "OPERATOR", "OPERATORS", "decimalDigits", "hexDigits", "NUMBER", "ESCAPED_CHARACTER", "rawDelimiter", "ESCAPED_NEWLINE", "INTERPOLATION", "MULTILINE_STRING", "SINGLE_LINE_STRING", "STRING", "REGEXP_CONTENTS", "BARE_REGEXP_LITERAL", "EXTENDED_REGEXP_LITERAL", "begin", "end", "REGEXP", "QUOTED_IDENTIFIER", "IMPLICIT_PARAMETER", "PROPERTY_WRAPPER_PROJECTION", "IDENTIFIERS", "AVAILABLE_ATTRIBUTE", "KEYWORD_ATTRIBUTE", "USER_DEFINED_ATTRIBUTE", "ATTRIBUTES", "TYPE", "GENERIC_ARGUMENTS", "TUPLE_ELEMENT_NAME", "TUPLE", "GENERIC_PARAMETERS", "FUNCTION_PARAMETER_NAME", "FUNCTION_PARAMETERS", "FUNCTION_OR_MACRO", "INIT_SUBSCRIPT", "OPERATOR_DECLARATION", "PRECEDENCEGROUP", "CLASS_FUNC_DECLARATION", "CLASS_VAR_DECLARATION", "TYPE_DECLARATION", "variant", "interpolation", "mode", "submodes", "require_yaml", "__commonJSMin", "exports", "module", "yaml", "hljs", "LITERALS", "URI_CHARACTERS", "KEY", "TEMPLATE_VARIABLES", "SINGLE_QUOTE_STRING", "STRING", "CONTAINER_STRING", "TIMESTAMP", "VALUE_CONTAINER", "OBJECT", "ARRAY", "MODES", "VALUE_MODES", "require_typescript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "x", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "typescript", "tsLanguage", "NAMESPACE", "INTERFACE", "TS_SPECIFIC_KEYWORDS", "DECORATOR", "swapMode", "mode", "label", "replacement", "indx", "ATTRIBUTE_HIGHLIGHT", "c", "OPTIONAL_KEY_OR_ARGUMENT", "functionDeclaration", "require_vbnet", "__commonJSMin", "exports", "module", "vbnet", "hljs", "regex", "CHARACTER", "STRING", "MM_DD_YYYY", "YYYY_MM_DD", "TIME_12H", "TIME_24H", "DATE", "NUMBER", "LABEL", "DOC_COMMENT", "COMMENT", "require_wasm", "__commonJSMin", "exports", "module", "wasm", "hljs", "BLOCK_COMMENT", "LINE_COMMENT", "KWS", "FUNCTION_REFERENCE", "ARGUMENT", "PARENS", "NUMBER", "TYPE", "MATH_OPERATIONS", "require_common", "__commonJSMin", "exports", "module", "hljs", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "useDefault", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "prototype", "hasOwnProperty", "create", "wrapped", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "get", "v", "oldValue", "call", "requestUpdate", "configurable", "enumerable", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "__defaultValues", "newValue", "hasAttribute", "_$changeProperty", "__enqueueUpdate", "initializeValue", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "mathml", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "wrapper", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "global", "globalThis", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "global", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "Object", "create", "wrapped", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "getOwnPropertyDescriptor", "import_clipboard", "import_common", "common_default", "HighlightJS", "_getDefaults", "_defaults", "changeDefaults", "newDefaults", "escapeTest", "escapeReplace", "escapeTestNoEncode", "escapeReplaceNoEncode", "escapeReplacements", "getEscapeReplacement", "ch", "escape", "html", "encode", "unescapeTest", "unescape", "_", "n", "caret", "edit", "regex", "opt", "source", "obj", "name", "val", "valSource", "cleanUrl", "href", "noopTest", "splitCells", "tableRow", "count", "row", "match", "offset", "str", "escaped", "curr", "cells", "i", "rtrim", "c", "invert", "l", "suffLen", "currChar", "findClosingBracket", "b", "level", "outputLink", "cap", "link", "raw", "lexer", "title", "text", "token", "indentCodeCompensation", "matchIndentToCode", "indentToCode", "node", "matchIndentInNode", "indentInNode", "_Tokenizer", "options", "src", "trimmed", "top", "tokens", "bull", "isordered", "list", "itemRegex", "itemContents", "endsWithBlankLine", "endEarly", "line", "t", "nextLine", "indent", "blankLine", "nextBulletRegex", "hrRegex", "fencesBeginRegex", "headingBeginRegex", "rawLine", "istask", "ischecked", "spacers", "hasMultipleLineBreaks", "tag", "headers", "aligns", "rows", "item", "align", "header", "cell", "trimmedUrl", "rtrimSlash", "lastParenIndex", "linkLen", "links", "linkString", "maskedSrc", "prevChar", "lLength", "rDelim", "rLength", "delimTotal", "midDelimTotal", "endReg", "lastCharLength", "hasNonSpaceChars", "hasSpaceCharsOnBothEnds", "prevCapZero", "newline", "blockCode", "fences", "hr", "heading", "bullet", "lheading", "_paragraph", "blockText", "_blockLabel", "def", "_tag", "_comment", "paragraph", "blockquote", "blockNormal", "gfmTable", "blockGfm", "blockPedantic", "inlineCode", "br", "inlineText", "_punctuation", "punctuation", "blockSkip", "emStrongLDelim", "emStrongRDelimAst", "emStrongRDelimUnd", "anyPunctuation", "autolink", "_inlineComment", "_inlineLabel", "reflink", "nolink", "reflinkSearch", "inlineNormal", "inlinePedantic", "inlineGfm", "inlineBreaks", "block", "inline", "_Lexer", "__Lexer", "rules", "next", "leading", "tabs", "lastToken", "cutSrc", "lastParagraphClipped", "extTokenizer", "startIndex", "tempSrc", "tempStart", "getStartIndex", "errMsg", "keepPrevChar", "_Renderer", "code", "infostring", "lang", "quote", "body", "ordered", "start", "type", "startatt", "task", "checked", "content", "flags", "cleanHref", "out", "_TextRenderer", "_Parser", "__Parser", "genericToken", "ret", "headingToken", "codeToken", "tableToken", "j", "k", "blockquoteToken", "listToken", "loose", "itemBody", "checkbox", "htmlToken", "paragraphToken", "textToken", "renderer", "escapeToken", "tagToken", "linkToken", "imageToken", "strongToken", "emToken", "codespanToken", "delToken", "_Hooks", "markdown", "Marked", "#parseMarkdown", "args", "callback", "values", "childTokens", "extensions", "pack", "opts", "ext", "prevRenderer", "extLevel", "prop", "rendererProp", "rendererFunc", "tokenizer", "tokenizerProp", "tokenizerFunc", "prevTokenizer", "hooks", "hooksProp", "hooksFunc", "prevHook", "arg", "walkTokens", "packWalktokens", "parser", "origOpt", "throwError", "#onError", "e", "silent", "async", "msg", "markedInstance", "marked", "setOptions", "use", "parseInline", "parse", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "func", "thisArg", "lastIndex", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "__removalCount", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "createSVGIcon", "icon", "LightElement", "i", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizeHTML", "html", "sanitizer", "tagName", "attr", "purify", "node", "data", "element", "isOK", "throttle", "delay", "_target", "_propertyKey", "descriptor", "originalMethod", "timeout", "args", "ShinyToolCard", "i", "#toggleCollapse", "e", "displayTitle", "x", "o", "bodyContent", "headerId", "contentId", "headerContent", "ICONS", "__decorateClass", "n", "ShinyToolRequest", "#onToolRequestHide", "event", "markdownCodeBlock", "ShinyToolResult", "#renderResult", "result", "resultHeader", "#renderRequest", "request", "isLongRequest", "content", "language", "backticks", "request_id", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "CHAT_TOOL_REQUEST_TAG", "CHAT_TOOL_RESULT_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "entries", "entry", "#updateHeight", "name", "_old", "#onKeyDown", "#sendInput", "e", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "chatCustomElements", "ShinyToolRequest", "ShinyToolResult", "tag", "component", "renderDependencies", "evt", "showShinyClientMessage", "isStreamingMessage", "message", "SVG_DOT_CLASS", "SVG_DOT", "createSVGIcon", "markdownRenderer", "_Renderer", "header", "body", "defaultMarkdownCodeRenderer", "code", "infostring", "escaped", "semiMarkdownRenderer", "html", "contentToHTML", "content", "content_type", "parse", "o", "sanitizeHTML", "_MarkdownElement", "LightElement", "#scrollableElement", "#isContentBeingAdded", "#isUserScrolled", "#onScroll", "#isNearBottom", "x", "#cleanup", "changedProperties", "#doUnBind", "#highlightAndCodeCopy", "error", "#appendStreamingDot", "#doBind", "#updateScrollableElement", "#maybeScrollToBottom", "#removeStreamingDot", "hasText", "node", "recurseInto", "inlineContainers", "element", "current", "depth", "children", "lastMeaningfulChild", "i", "child", "tagName", "el", "err", "showShinyClientMessage", "common_default", "btn", "createElement", "ClipboardJS", "e", "#findScrollableParent", "CHAT_CONTAINER_TAG", "__decorateClass", "n", "throttle", "MarkdownElement", "handleMessage", "renderDependencies"] } diff --git a/js/src/chat/chat-tools.scss b/js/src/chat/chat-tools.scss new file mode 100644 index 00000000..584e1a3b --- /dev/null +++ b/js/src/chat/chat-tools.scss @@ -0,0 +1,154 @@ +.shiny-tool-card { + max-height: var(--shiny-tool-card-max-height, 500px); + + .tool-intent { + opacity: 0.66; + font-style: italic; + font-weight: normal; + } + + .tool-spacer { + margin-inline-start: auto; + } + + .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; + + [class^=spinner] { + --bs-spinner-width: var(--_icon-size); + --bs-spinner-height: var(--_icon-size); + --bs-spinner-border-width: 0.20em; + color: var(--shiny-tool-card-spinner-color, var(--bs-primary, #007bc2)); + } + } + + .tool-title-name { + font-weight: 600; + } + + .card-header, + .card-footer { + font-size: inherit; + font-weight: 400; + word-break: break-word; + } + + >.card-header { + // .hstack + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; + + // .gap-2 + gap: 0.5rem; + + width: 100%; + text-align: left; + cursor: pointer; + + border-top-width: 0; + border-right-width: 0; + border-left-width: 0; + + &[aria-expanded="false"] { + border-bottom-width: 0; + } + + >* { + line-height: 1; + } + + &:hover, + &:focus-visible { + background-color: rgba(var(--bs-emphasis-color-rgb), 0.05); + outline: none; + } + + .function-name { + font-weight: bold; + } + + .collapse-indicator { + display: grid; + place-items: center; + width: 1em; + height: 1em; + opacity: 0.66; + + &, + >.horizontal { + transition: 0.3s ease-in-out all; + transform-origin: center center; + } + } + + &[aria-expanded="true"] { + >.collapse-indicator { + transform: rotate(-90deg); + + .horizontal { + transform: scale(0); + } + } + } + } + + >.card-body { + transition: max-height 0.3s ease-out, opacity 0.2s ease-out; + opacity: 1; + overflow: auto; + + &.collapsed { + max-height: 0; + opacity: 0; + padding: 0; + } + } + + pre { + margin: 0; + white-space: pre-wrap; + padding: 1em; + border-radius: var(--bs-border-radius, 4px); + } +} + +shiny-tool-result, +shiny-tool-request { + display: block; + margin: 1em 0; + border-radius: var(--bs-border-radius, 4px); + overflow: visible; + padding: 0; + font-size: 0.8em; + + &[hidden] { + display: none; + } +} + +shiny-tool-result+p, +shiny-tool-request+p { + margin-top: 1rem; +} + +shiny-tool-result, +shiny-tool-request { + &:first-child { + margin-top: 0; + } + + &:last-child { + margin-bottom: 0; + } +} + +shiny-tool-request[hidden]+shiny-tool-result:first-of-type { + margin-top: 0; +} diff --git a/js/src/chat/chat-tools.ts b/js/src/chat/chat-tools.ts new file mode 100644 index 00000000..4341c488 --- /dev/null +++ b/js/src/chat/chat-tools.ts @@ -0,0 +1,434 @@ +import { LitElement, html, TemplateResult } from "lit" +import { property } from "lit/decorators.js" +import { unsafeHTML } from "lit/directives/unsafe-html.js" + +/** + * Custom event interface for hiding tool requests + */ +declare global { + interface Window { + shinychat: { + hiddenToolRequests: Set + } + } + interface GlobalEventHandlersEventMap { + "shiny-tool-request-hide": CustomEvent<{ request_id: string }> + } +} + +// TODO: remove this hack and rely only on events +window.shinychat = window.shinychat || {} +window.shinychat.hiddenToolRequests = + window.shinychat.hiddenToolRequests || new Set() + +/** + * Base class for a collapsible tool request or result card component. + * + * @element shiny-tool-card + * @extends LitElement + */ +class ShinyToolCard extends LitElement { + /** + * Unique identifier for the tool request or result. This value links a + * request to a result and is therefore not unique on the page. + * @property {string} requestId + * @attr request-id + */ + @property({ type: String, attribute: "request-id" }) + requestId!: string + + /** + * Name of the tool being executed, e.g. `get_weather`. + * @property {string} name + * @attr tool-name + */ + @property({ type: String, attribute: "tool-name" }) + toolName!: string + + /** + * Display title for the card. If not provided, falls back to `toolName`. + * @property {string} title + * @attr tool-title + */ + @property({ type: String, attribute: "tool-title" }) + toolTitle?: string + + /** + * Optional intent description explaining the purpose of the tool execution. + * This value is shown in the card header with the class "tool-intent". + * @property {string | undefined} intent + */ + @property({ type: String }) + intent?: string + + /** + * Controls whether the card content is expanded/visible. + * @property {boolean} expanded + * @attr expanded + * @default false + */ + @property({ type: Boolean, reflect: true }) + expanded = false + + /** + * CSS class(es) to apply for status styling (e.g., "text-danger" for errors). + * @property {string} classStatus + */ + @property({ type: String }) + classStatus: string = "" + + /** + * HTML content for the icon displayed in the card header. + * @property {string} icon + */ + @property({ type: String }) + icon: string = "" + + /** + * Template string for formatting the card title. {title} is replaced with the + * actual title. + * @property {string} titleTemplate + * @default "{title}" + */ + @property({ type: String }) + titleTemplate: string = "{title}" + + createRenderRoot(): ShinyToolCard { + return this + } + + #toggleCollapse(e: Event) { + e.preventDefault() + this.expanded = !this.expanded + this.requestUpdate() + } + + /** + * Formats the title for display in the card header. Uses the `titleTemplate`, + * replacing `{title}` with the actual title or name of the tool. + */ + protected formatTitle() { + let displayTitle = this.toolTitle || `${this.toolName}()` + displayTitle = `${displayTitle}` + displayTitle = this.titleTemplate.replace("{title}", displayTitle) + return html`${unsafeHTML(displayTitle)}` + } + + /** + * Renders the card with the provided body content. + * @param {TemplateResult} bodyContent - The content to display in the card + * body. + */ + protected renderCard(bodyContent: TemplateResult) { + const headerId = `tool-header-${this.requestId}` + const contentId = `tool-content-${this.requestId}` + + const headerContent = html` +
${unsafeHTML(this.icon)}
+
${this.formatTitle()}
+
+ ${this.intent ? html`
${this.intent}
` : ""} + ` + + return html` +
+ +
+ ${bodyContent} +
+
+ ` + } +} + +/** + * Web component that displays information about a tool request. + * + * @element shiny-tool-request + * @extends ShinyToolCard + */ +export class ShinyToolRequest extends ShinyToolCard { + /** + * The function arguments as requested by the LLM, typically in JSON format. + * @property {string} arguments + * @attr + */ + @property({ type: String }) + arguments!: string + + /** + * Controls the visibility of the tool request component. + * When true, the component is hidden from view. + * @property {boolean} hidden + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + hidden = false + + constructor() { + super() + this.titleTemplate = "Running {title}" + this.icon = '
' + } + + connectedCallback() { + super.connectedCallback() + this.hidden = window.shinychat.hiddenToolRequests.has(this.requestId) + window.addEventListener("shiny-tool-request-hide", this.#onToolRequestHide) + } + + disconnectedCallback() { + super.disconnectedCallback() + window.removeEventListener( + "shiny-tool-request-hide", + this.#onToolRequestHide, + ) + } + + #onToolRequestHide = (event: CustomEvent) => { + if (event.detail.request_id === this.requestId) { + this.hidden = true + } + } + + render() { + if (this.hidden) { + return html`` + } + + const bodyContent = html` + + ` + + return this.renderCard( + html`
+ Tool arguments ${bodyContent} +
`, + ) + } +} + +/** + * Web component that displays the result of a tool execution. + * + * @element shiny-tool-result + * @extends ShinyToolCard + * @fires shiny-tool-request-hide - Event fired to hide any corresponding tool + * requests on the page. + */ +export class ShinyToolResult extends ShinyToolCard { + /** + * The original tool call that generated this result. Used to display the tool + * invocation. + * @property {string | undefined} requestCall + * @attr request-call + */ + @property({ type: String, attribute: "request-call" }) + requestCall?: string + + /** + * The status of the tool execution. When set to "error", displays in an error + * state with red text and an exclamation icon. + * @property {string} status + */ + @property({ type: String }) + status!: string + + /** + * Should the tool request should be displayed alongside the result? + * @property {boolean} showRequest + * @attr show-request + * @default true + */ + @property({ type: Boolean, attribute: "show-request" }) + showRequest = false + + /** + * The actual result content returned by the tool execution. + * @property {string} value + */ + @property({ type: String }) + value!: string + + /** + * Specifies how the value should be rendered. Supported types: + * - "html": Renders the value as raw HTML + * - "text": Renders the value as plain text in a paragraph + * - "markdown": Renders the value as Markdown (default) + * - "code": Renders the value as a code block + * Any other value defaults to markdown rendering. + * @property {string} valueType + * @attr value-type + */ + @property({ type: String, attribute: "value-type" }) + valueType!: string + + constructor() { + super() + this.titleTemplate = "{title}" + } + + connectedCallback() { + super.connectedCallback() + // Set status class and icon based on status + if (this.status === "error") { + this.classStatus = "text-danger" + this.icon = ICONS.exclamationCircleFill + this.titleTemplate = "{title} failed" + } else if (!this.icon) { + this.icon = ICONS.wrenchAdjustable + } + // Emit event to hide the corresponding tool request + window.shinychat.hiddenToolRequests.add(this.requestId) + this.dispatchEvent( + new CustomEvent("shiny-tool-request-hide", { + detail: { request_id: this.requestId }, + bubbles: true, + cancelable: true, + }), + ) + } + + /** + * Renders the tool result content. + */ + #renderResult() { + let result: string | TemplateResult = "" + + if (this.valueType === "html") { + result = html`${unsafeHTML(this.value)}` + } else if (this.valueType === "text") { + result = html`

${this.value}

` + } else { + // markdown, code, or default + if (this.valueType !== "markdown") { + // If value_type is "code", we format it as a markdown code block + result = markdownCodeBlock(this.value, "text") + } + + result = html`` + } + + if (!this.showRequest && this.valueType === "html") { + return result + } + + const resultHeader = this.showRequest + ? html`Tool result ` + : "" + + return html`
+ ${resultHeader}${result} +
` + } + + /** + * Renders the tool request call, if applicable. + * If the request call is long, it will be wrapped in a
element. + */ + #renderRequest() { + if (!this.showRequest || !this.requestCall) { + return "" + } + + const request = html`` + + const isLongRequest = this.requestCall.split("\n").length > 2 + + return html`
+ ${isLongRequest + ? html`
+ Tool call + ${request} +
` + : html`Tool call ${request}`} +
` + } + + render() { + const bodyContent = html` ${this.#renderRequest()} ${this.#renderResult()} ` + + return this.renderCard(bodyContent) + } +} + +const ICONS = { + exclamationCircleFill: ` + +`, + wrenchAdjustable: ` + + +`, + plus: ` + + +`, +} + +/** + * Formats a string as a Markdown code block with the specified language. + * Defaults to "markdown" if no language is provided. + * + * @param {string} content - The content to include in the code block. + * @param {string} [language="markdown"] - The programming language for syntax + * highlighting. + * @returns {string} - The formatted Markdown code block. + */ +const markdownCodeBlock = (content: string, language: string = "markdown") => { + const backticks = "`".repeat(8) + return `${backticks}${language}\n${content}\n${backticks}` +} + +window.Shiny?.addCustomMessageHandler( + "shiny-tool-request-hide", + (request_id) => { + window.shinychat.hiddenToolRequests.add(request_id) + const event = new CustomEvent("shiny-tool-request-hide", { + detail: { request_id }, + bubbles: true, + cancelable: true, + }) + window.dispatchEvent(event) + }, +) + +declare global { + interface HTMLElementTagNameMap { + "shiny-tool-request": ShinyToolRequest + "shiny-tool-result": ShinyToolResult + } +} diff --git a/js/src/chat/chat.scss b/js/src/chat/chat.scss index b5011f6d..1a7225bb 100644 --- a/js/src/chat/chat.scss +++ b/js/src/chat/chat.scss @@ -1,3 +1,5 @@ +@import "chat-tools.scss"; + shiny-chat-container { --shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef); --shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), 0.06); diff --git a/js/src/chat/chat.ts b/js/src/chat/chat.ts index 8b9209fd..4997ba23 100644 --- a/js/src/chat/chat.ts +++ b/js/src/chat/chat.ts @@ -9,6 +9,8 @@ import { showShinyClientMessage, } from "../utils/_utils" +import { ShinyToolRequest, ShinyToolResult } from "./chat-tools" + import type { HtmlDep } from "../utils/_utils" type ContentType = "markdown" | "html" | "text" @@ -54,6 +56,8 @@ const CHAT_USER_MESSAGE_TAG = "shiny-user-message" const CHAT_MESSAGES_TAG = "shiny-chat-messages" const CHAT_INPUT_TAG = "shiny-chat-input" const CHAT_CONTAINER_TAG = "shiny-chat-container" +const CHAT_TOOL_REQUEST_TAG = "shiny-tool-request" +const CHAT_TOOL_RESULT_TAG = "shiny-tool-result" const ICONS = { robot: @@ -561,6 +565,8 @@ const chatCustomElements = [ { tag: CHAT_MESSAGES_TAG, component: ChatMessages }, { tag: CHAT_INPUT_TAG, component: ChatInput }, { tag: CHAT_CONTAINER_TAG, component: ChatContainer }, + { tag: CHAT_TOOL_REQUEST_TAG, component: ShinyToolRequest }, + { tag: CHAT_TOOL_RESULT_TAG, component: ShinyToolResult }, ] chatCustomElements.forEach(({ tag, component }) => { @@ -569,7 +575,7 @@ chatCustomElements.forEach(({ tag, component }) => { } }) -window.Shiny.addCustomMessageHandler( +window.Shiny?.addCustomMessageHandler( "shinyChatMessage", async function (message: ShinyChatMessage) { if (message.obj?.html_deps) { diff --git a/js/src/markdown-stream/markdown-stream.ts b/js/src/markdown-stream/markdown-stream.ts index b80c4c84..e86a733e 100644 --- a/js/src/markdown-stream/markdown-stream.ts +++ b/js/src/markdown-stream/markdown-stream.ts @@ -58,6 +58,19 @@ markdownRenderer.table = (header: string, body: string) => { ` } +const defaultMarkdownCodeRenderer = markdownRenderer.code + +markdownRenderer.code = function ( + code: string, + infostring: string | undefined, + escaped: boolean, +): string { + if (infostring === "{=html}") { + return code + } + return defaultMarkdownCodeRenderer.call(this, code, infostring, escaped) +} + // 'semi-markdown' renderer (for user messages) const semiMarkdownRenderer = new Renderer() @@ -167,7 +180,79 @@ class MarkdownElement extends LightElement { } #appendStreamingDot(): void { - this.lastElementChild?.appendChild(SVG_DOT) + this.#removeStreamingDot() + + if (this.content.trim() === "") { + return + } + if (this.lastElementChild?.tagName.toLowerCase() === "shiny-tool-request") { + return + } + + const hasText = (node: Text): boolean => /\S/.test(node.textContent || "") + + // We go into these elements to find the innermost streaming element + const recurseInto = new Set(["p", "div", "pre", "ul", "ol"]) + // We can put the dot in these kinds of containers + const inlineContainers = new Set([ + "p", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "li", + "code", + ]) + + /** + * Find the innermost element where streaming is happening, i.e. where the + * streaming is appending new content. + */ + const findInnermostStreamingElement = (element: Element): Element => { + let current = element + let depth = 0 + + while (depth < 5) { + depth++ + const children = current.childNodes + + let lastMeaningfulChild: Node | null = null + + // Find last meaningful child + for (let i = children.length - 1; i >= 0; i--) { + const child = children[i] + if (!child) break + if ( + child.nodeType === Node.ELEMENT_NODE || + (child.nodeType === Node.TEXT_NODE && hasText(child as Text)) + ) { + lastMeaningfulChild = child + break + } + } + + if (!lastMeaningfulChild || !(lastMeaningfulChild instanceof Element)) { + // If no meaningful child, or last child is a text node, streaming + // is happening the `current` element. + return current + } + + const tagName = lastMeaningfulChild.tagName.toLowerCase() + + if (recurseInto.has(tagName)) { + current = lastMeaningfulChild + continue // Keep drilling down to find innermost streaming element + } + + return inlineContainers.has(tagName) ? lastMeaningfulChild : current + } + + return current + } + + findInnermostStreamingElement(this).appendChild(SVG_DOT) } #removeStreamingDot(): void { @@ -348,7 +433,7 @@ async function handleMessage( } } -window.Shiny.addCustomMessageHandler( +window.Shiny?.addCustomMessageHandler( "shinyMarkdownStreamMessage", handleMessage, ) diff --git a/pkg-r/.Rbuildignore b/pkg-r/.Rbuildignore index c187d448..6574a819 100644 --- a/pkg-r/.Rbuildignore +++ b/pkg-r/.Rbuildignore @@ -14,3 +14,4 @@ ^_dev$ ^revdep$ ^shiny_bookmarks$ +^vignettes/articles$ diff --git a/pkg-r/DESCRIPTION b/pkg-r/DESCRIPTION index 0cc0e5a3..36df0c48 100644 --- a/pkg-r/DESCRIPTION +++ b/pkg-r/DESCRIPTION @@ -22,8 +22,9 @@ BugReports: https://github.com/posit-dev/shinychat/issues Imports: base64enc, bslib, + cli, coro, - ellmer (>= 0.2.0.9001), + ellmer (>= 0.3.0), fastmap, htmltools, jsonlite, @@ -34,10 +35,9 @@ Imports: shiny (>= 1.10.0) Suggests: later, - testthat (>= 3.0.0) -Remotes: - tidyverse/ellmer -Config/Needs/website: tidyverse/tidytemplate + testthat (>= 3.0.0), + withr +Config/Needs/website: tidyverse/tidytemplate, rmarkdown, weathR, gt, glue Config/testthat/edition: 3 Encoding: UTF-8 Roxygen: list(markdown = TRUE) diff --git a/pkg-r/NAMESPACE b/pkg-r/NAMESPACE index b707be29..c759771f 100644 --- a/pkg-r/NAMESPACE +++ b/pkg-r/NAMESPACE @@ -1,5 +1,8 @@ # Generated by roxygen2: do not edit by hand +S3method(as.tags,shinychat_tool_card) +S3method(format,shinychat_tool_card) +S3method(print,shinychat_tool_card) export(chat_app) export(chat_append) export(chat_append_message) @@ -8,6 +11,7 @@ export(chat_mod_server) export(chat_mod_ui) export(chat_restore) export(chat_ui) +export(contents_shinychat) export(markdown_stream) export(output_markdown_stream) export(update_chat_user_input) @@ -16,6 +20,7 @@ import(S7) import(rlang) importFrom(coro,async) importFrom(htmltools,HTML) +importFrom(htmltools,as.tags) importFrom(htmltools,css) importFrom(htmltools,tag) importFrom(lifecycle,deprecated) diff --git a/pkg-r/NEWS.md b/pkg-r/NEWS.md index 5a12d946..491e6ffd 100644 --- a/pkg-r/NEWS.md +++ b/pkg-r/NEWS.md @@ -6,6 +6,8 @@ * Added `update_chat_user_input()` for programmatically updating the user input of a chat UI element. (#78) +* shinychat now shows tool call request and results in the UI, and the feature is enabled by default in `chat_app()` and the chat module (`chat_mod_server()`). When using `chat_append()` with `chat_ui()`, set `stream = "content"` when you call the `$stream_async()` method on the `ellmer::Chat` client to ensure tool calls are included in the chat stream output. Learn more in the [tool calling UI article](https://posit-dev.github.io/shinychat/r/articles/tool-ui.html). (#52) + ## Improvements * `chat_app()` now correctly restores the chat client state when refreshing the app, e.g. by reloading the page. (#71) diff --git a/pkg-r/R/chat.R b/pkg-r/R/chat.R index 8237e8a9..ae915dd3 100644 --- a/pkg-r/R/chat.R +++ b/pkg-r/R/chat.R @@ -360,7 +360,13 @@ chat_append_message <- function( content <- msg[["content"]] is_html <- inherits( content, - c("shiny.tag", "shiny.tag.list", "html", "htmlwidget") + c( + "shiny.tag", + "shiny.tag.list", + "html", + "htmlwidget", + "shinychat_tool_card" + ) ) content_type <- if (is_html) "html" else "markdown" @@ -380,8 +386,18 @@ chat_append_message <- function( ui <- process_ui(content, session) } + msg_content <- ui[["html"]] + if (is_html) { + # Code blocks with `{=html}` infostrings are rendered as-is by a custom + # rendering method in markdown-stream.ts + msg_content <- sprintf( + "\n\n````````{=html}\n%s\n````````\n\n", + msg_content + ) + } + msg <- list( - content = ui[["html"]], + content = msg_content, role = msg[["role"]], content_type = content_type, html_deps = ui[["deps"]], @@ -455,12 +471,17 @@ rlang::on_load( role = "assistant", session = shiny::getDefaultReactiveDomain() ) { - chat_append_message( - id, - list(role = role, content = ""), - chunk = "start", - session = session - ) + chat_append_ <- function(content, chunk = TRUE) { + chat_append_message( + id, + msg = list(role = role, content = content), + operation = "append", + chunk = chunk, + session = session + ) + } + + chat_append_("", chunk = "start") res <- fastmap::fastqueue(200) @@ -474,22 +495,20 @@ rlang::on_load( res$add(msg) - chat_append_message( - id, - list(role = role, content = msg), - chunk = TRUE, - operation = "append", - session = session - ) + if (S7::S7_inherits(msg, ellmer::ContentToolResult)) { + if (!is.null(msg@request)) { + session$sendCustomMessage("shiny-tool-request-hide", msg@request@id) + } + } + + if (S7::S7_inherits(msg, ellmer::Content)) { + msg <- contents_shinychat(msg) + } + + chat_append_(msg) } - chat_append_message( - id, - list(role = role, content = ""), - chunk = "end", - operation = "append", - session = session - ) + chat_append_("", chunk = "end") res <- res$as_list() if (every(res, is.character)) { diff --git a/pkg-r/R/chat_app.R b/pkg-r/R/chat_app.R index 4d03f796..f7a60cff 100644 --- a/pkg-r/R/chat_app.R +++ b/pkg-r/R/chat_app.R @@ -152,12 +152,15 @@ chat_mod_server <- function( append_stream_task <- shiny::ExtendedTask$new( function(client, ui_id, user_input) { - promises::then( - promises::promise_resolve(client$stream_async(user_input)), - function(stream) { - chat_append(ui_id, stream) - } + stream <- client$stream_async( + user_input, + stream = "content" ) + + p <- promises::promise_resolve(stream) + promises::then(p, function(stream) { + chat_append(ui_id, stream) + }) } ) diff --git a/pkg-r/R/client_state.R b/pkg-r/R/client_state.R index ba89f97d..96c4bd0f 100644 --- a/pkg-r/R/client_state.R +++ b/pkg-r/R/client_state.R @@ -87,8 +87,20 @@ method(client_set_ui, S7::new_S3_class(c("Chat", "R6"))) <- # TODO-barret-future; In shinychat, make this a single/internal custom message call to send all the messages at once (and then scroll) msgs <- contents_shinychat(client) - lapply(msgs, function(x) { - chat_append(id, x$content, role = x$role) + lapply(msgs, function(msg_turn) { + is_list <- is.list(msg_turn$content) && + !inherits(msg_turn$content, c("shiny.tag", "shiny.taglist")) + + if (is_list) { + stream <- coro::generator(function() { + for (x in msg_turn$content) { + coro::yield(x) + } + }) + chat_append(id, stream(), msg_turn$role) + } else { + chat_append(id, msg_turn$content, role = msg_turn$role) + } }) } diff --git a/pkg-r/R/contents_shinychat.R b/pkg-r/R/contents_shinychat.R index 16fa7758..df3b1102 100644 --- a/pkg-r/R/contents_shinychat.R +++ b/pkg-r/R/contents_shinychat.R @@ -1,14 +1,422 @@ -contents_shinychat <- function(client) { - # TODO(garrick): placeholder, will be replaces with S7 generic - check_ellmer_chat(client) +opt_shinychat_tool_display <- function() { + choices <- c("none", "basic", "rich") - client_msgs <- map(client$get_turns(), function(turn) { - content <- ellmer::contents_markdown(turn) + opt <- getOption("shinychat.tool_display", default = NULL) + if (!is.null(opt)) { + opt <- arg_match(opt, choices, error_arg = "shinychat.tool_display") + return(opt) + } + + env <- Sys.getenv("SHINYCHAT_TOOL_DISPLAY", unset = "rich") + arg_match(env, choices, error_arg = "SHINYCHAT_TOOL_DISPLAY") +} + +#' Format ellmer content for shinychat +#' +#' @section Extending `contents_shinychat()`: +#' +#' You can extend `contents_shinychat()` to handle custom content types in your +#' application. `contents_shinychat()` is [an S7 generic][S7::new_generic]. If +#' you haven't worked with S7 before, you can learn more about S7 classes, +#' generics and methods in the [S7 +#' documentation](https://rconsortium.github.io/S7/articles/S7.html). +#' +#' We'll work through a short example creating a custom display for the results +#' of a tool that gets local weather forecasts. We first need to create a custom +#' class that extends [ellmer::ContentToolResult]. +#' +#' ```r +#' library(ellmer) +#' +#' WeatherToolResult <- S7::new_class( +#' "WeatherToolResult", +#' parent = ContentToolResult, +#' properties = list( +#' location_name = S7::class_character +#' ) +#' ) +#' ``` +#' +#' Next, we'll create a simple [ellmer::tool()] that gets the weather forecast +#' for a location and returns our custom `WeatherToolResult` class. The custom +#' class works just like a regular `ContentToolResult`, but it has an additional +#' `location_name` property. +#' +#' ```r +#' get_weather_forecast <- tool( +#' function(lat, lon, location_name) { +#' WeatherToolResult( +#' weathR::point_tomorrow(lat, lon, short = FALSE), +#' location_name = location_name +#' ) +#' }, +#' name = "get_weather_forecast", +#' description = "Get the weather forecast for a location.", +#' arguments = list( +#' lat = type_number("Latitude"), +#' lon = type_number("Longitude"), +#' location_name = type_string("Name of the location for display to the user") +#' ) +#' ) +#' ``` +#' +#' Finally, we can extend `contents_shinychat()` to render our custom content +#' class for display in the chat interface. The basic process is to define a +#' `contents_shinychat()` external generic and then implement a method for your +#' custom class. +#' +#' ```r +#' contents_shinychat <- S7::new_external_generic( +#' package = "shinychat", +#' name = "contents_shinychat", +#' dispatch_args = "contents" +#' ) +#' +#' S7::method(contents_shinychat, WeatherToolResult) <- function(content) { +#' # Your custom rendering logic here +#' } +#' ``` +#' +#' You can use this pattern to completely customize how the content is displayed +#' inside shinychat by returning HTML objects directly from this method. +#' +#' You can also use this pattern to build upon the default shinychat display for +#' tool requests and results. By using [S7::super()], you can create the +#' object shinychat uses for tool results (or tool requests), and then modify it +#' to suit your needs. +#' +#' ```r +#' S7::method(contents_shinychat, WeatherToolResult) <- function(content) { +#' # Call the super method for ContentToolResult to get shinychat's defaults +#' res <- contents_shinychat(S7::super(content, ContentToolResult)) +#' +#' # Then update the result object with more specific content +#' # In this case, we render the tool result dataframe as a {gt} table... +#' res$value <- gt::as_raw_html(gt::gt(content@value)) +#' res$value_type <- "html" +#' # ...and update the tool result title to include the location name +#' res$title <- paste("Weather Forecast for", content@location_name) +#' +#' res +#' } +#' ``` +#' +#' Note that you do **not** need to create a new class or extend +#' `contents_shinychat()` to customize the tool display. Rather, you can use the +#' strategies discussed in the [Tool Calling UI +#' article](https://posit-dev.github.io/shinychat/r/article/tool-ui.html) to +#' customize the tool request and result display by providing a `display` list +#' in the `extra` argument of the tool result. +#' +#' @param content An [`ellmer::Content`] object. +#' +#' @return Returns text, HTML, or web component tags formatted for use in +#' `chat_ui()`. +#' +#' @export +contents_shinychat <- S7::new_generic( + "contents_shinychat", + "content", + function(content) { + S7::S7_dispatch() + } +) + +S7::method(contents_shinychat, ellmer::Content) <- function(content) { + # Fall back to html or markdown + html <- ellmer::contents_html(content) + if (!is.null(html)) { + shiny::HTML(html) + } else { + ellmer::contents_markdown(content) + } +} + +S7::method(contents_shinychat, ellmer::ContentText) <- function(content) { + content@text +} + +new_tool_card <- function(type, request_id, tool_name, ...) { + type <- arg_match(type, c("request", "result")) + + classes <- c( + paste0("shinychat_tool_", type), + "shinychat_tool_card" + ) + + dots <- dots_list( + type = type, + request_id = request_id, + tool_name = tool_name, + ... + ) + + structure(dots, class = classes) +} + +#' @export +as.tags.shinychat_tool_card <- function(x, ...) { + tag_name <- switch( + x$type, + request = "shiny-tool-request", + result = "shiny-tool-result", + cli::cli_abort( + "shinychat tool card must have type {.val request} or {.val result}, not {.val {x$type}}." + ) + ) + + names(x) <- gsub("_", "-", names(x)) + + deps <- list( + htmltools::findDependencies(x$value), + htmltools::findDependencies(x$icon), + chat_deps() + ) + + htmltools::tag( + tag_name, + dots_list(type = NULL, !!!x, !!!deps, .homonyms = "first") + ) +} + +#' @export +format.shinychat_tool_card <- function(x, ...) { + format(as.tags(x), ...) +} + +#' @export +print.shinychat_tool_card <- function(x, ...) { + tags <- as.tags(x) + class(tags) <- c("bslib_fragment", class(tags)) + attr(tags, "bslib_page") <- function(...) { + bslib::page_fluid( + htmltools::div( + class = "m-3", + ... + ) + ) + } + print(tags, ...) + invisible(x) +} + +S7::method(contents_shinychat, ellmer::ContentToolRequest) <- function( + content +) { + if (opt_shinychat_tool_display() == "none") { + return(NULL) + } + + tool <- content@tool + + new_tool_card( + "request", + request_id = content@id, + tool_name = content@name, + arguments = jsonlite::toJSON(content@arguments, auto_unbox = TRUE), + intent = content@arguments$.intent, + tool_title = if (!is.null(tool)) tool@annotations$title + ) +} + +S7::method(contents_shinychat, ellmer::ContentToolResult) <- function(content) { + if (opt_shinychat_tool_display() == "none") { + return(NULL) + } + + if (is.null(content@request)) { + cli::cli_abort( + "`ContentToolResult` objects must have an associated `@request` property." + ) + } + + display <- get_tool_result_display(content) + annotations <- list() + + if (!is.null(content@request@tool)) { + annotations <- content@request@tool@annotations + request_call <- format(content@request, show = "call") + } else { + # formatting the request fails if tool is not present + # (ellmer v0.3.0, tidyverse/ellmer#691) + request_call <- jsonlite::toJSON( + list( + id = content@request@id, + name = content@request@name, + arguments = content@request@arguments + ), + auto_unbox = TRUE, + pretty = 2 + ) + } + + new_tool_card( + "result", + request_id = content@request@id, + request_call = request_call, + status = if (tool_errored(content)) "error" else "success", + tool_name = content@request@name, + tool_title = display$title %||% annotations$title, + icon = display$icon %||% annotations$icon, + intent = content@request@arguments$.intent, + show_request = if (!isFALSE(display$show_request)) NA, + expanded = if (isTRUE(display$open)) NA, + !!!tool_result_display(content, display) + ) +} + +get_tool_result_display <- function(content) { + display <- content@extra$display + request <- content@request + + if (is.null(display) || opt_shinychat_tool_display() == "basic") { + return(list()) + } + + invalid_display_fmt <- "Invalid {.code @extra$display} format for {.code ContentToolResult} from {.fn {request@name}} (call id: {request@id})." + + if ( + inherits(display, c("html", "shiny.tag", "shiny.tag.list", "htmlwidgets")) + ) { + cli::cli_warn(c( + invalid_display_fmt, + "i" = "To display HTML content for tool results in {.pkg shinychat}, create a tool result with {.code extra = list(display = list(html = ...))}.", + "i" = "You can also use {.code markdown} or {.code text} items in {.code display} to show Markdown or plain text, respectively." + )) + return(list()) + } + + # fmt: skip + expected_fields <- c( + "html", "markdown", "text", "show_request", "open", "title", "icon" + ) + + if (!is.list(display)) { + cli::cli_warn(c( + invalid_display_fmt, + "x" = "Expected a list with fields {.or {.var {expected_fields}}}, not {.obj_type_friendly {display}}." + )) + return(list()) + } + + display +} + +tool_result_display <- function(content, display = NULL) { + display <- display %||% content@extra$display + + has_display <- !is.null(display) && is.list(display) && length(display) > 0 + use_basic_display <- opt_shinychat_tool_display() == "basic" + + if (tool_errored(content) || use_basic_display || !has_display) { + return(list(value = tool_string(content), value_type = "code")) + } + + if (is.list(display)) { + has_type <- intersect(c("html", "markdown", "text"), names(display)) + if (length(has_type) > 0) { + value_type <- has_type[1] + return(list(value = display[[value_type]], value_type = value_type)) + } + } + + list(value = tool_string(content), value_type = "code") +} + +# Copied from +# https://github.com/tidyverse/ellmer/blob/11cf1696/R/content.R#L292-L308 +tool_errored <- function(x) !is.null(x@error) +tool_error_string <- function(x) { + if (inherits(x@error, "condition")) conditionMessage(x@error) else x@error +} +tool_string <- function(x) { + if (tool_errored(x)) { + # Changed from original: if tool errored, just return the error message + strip_ansi(tool_error_string(x)) + } else if (inherits(x@value, "AsIs")) { + x@value + } else if (inherits(x@value, "json")) { + x@value + } else if (is.character(x@value)) { + paste(x@value, collapse = "\n") + } else { + jsonlite::toJSON(x@value, auto_unbox = TRUE, pretty = 2) + } +} + + +S7::method(contents_shinychat, ellmer::Turn) <- function(content) { + # Process all contents in the turn, filtering out empty results + compact(map(content@contents, contents_shinychat)) +} + +S7::method(contents_shinychat, S7::new_S3_class(c("Chat", "R6"))) <- function( + content +) { + tools <- content$get_tools() + + # Process turns with tool request/result consolidation + turns <- map(content$get_turns(), function(turn) { + turn@contents <- map(turn@contents, function(x) { + if (!S7::S7_inherits(x, ellmer::ContentToolResult)) { + return(x) + } + if (!is.null(x@request@tool)) { + return(x) + } + if (x@request@name %in% names(tools)) { + x@request@tool <- tools[[x@request@name]] + } + x + }) + + # Turns containing only tool results are converted into assistant turns + if (every(turn@contents, S7::S7_inherits, ellmer::ContentToolResult)) { + turn@role <- "assistant" + return(turn) + } + + # Filter out tool requests as they'll be shown in results + is_tool_request <- map_lgl( + turn@contents, + S7::S7_inherits, + ellmer::ContentToolRequest + ) + turn@contents <- turn@contents[!is_tool_request] + + turn + }) + + # Consolidate adjacent turns with the same role + turns <- reduce( + turns, + .init = list(), + function(acc, turn) { + if (length(acc) == 0) { + return(list(turn)) + } + + last_turn <- acc[[length(acc)]] + if (identical(last_turn@role, turn@role)) { + acc[[length(acc)]]@contents <- c(last_turn@contents, turn@contents) + return(acc) + } + + c(acc, list(turn)) + } + ) + + # Convert turns to messages + messages <- map(turns, function(turn) { + content <- compact(contents_shinychat(turn)) if (is.null(content) || identical(content, "")) { return(NULL) } + if (every(content, is.character)) { + content <- paste(unlist(content), collapse = "\n\n") + } list(role = turn@role, content = content) }) - compact(client_msgs) + compact(messages) } diff --git a/pkg-r/R/shinychat-package.R b/pkg-r/R/shinychat-package.R index 617fd5dd..8d1a0b93 100644 --- a/pkg-r/R/shinychat-package.R +++ b/pkg-r/R/shinychat-package.R @@ -5,6 +5,7 @@ #' @import rlang #' @import S7 #' @importFrom coro async +#' @importFrom htmltools as.tags #' @importFrom htmltools tag css HTML #' @importFrom lifecycle deprecated ## usethis namespace: end @@ -17,6 +18,7 @@ NULL ignore_unused_imports <- function() { jsonlite::fromJSON fastmap::fastqueue + ellmer::contents_html } release_bullets <- function() { diff --git a/pkg-r/inst/lib/shiny/GIT_VERSION b/pkg-r/inst/lib/shiny/GIT_VERSION index 6831c3de..3c893757 100644 --- a/pkg-r/inst/lib/shiny/GIT_VERSION +++ b/pkg-r/inst/lib/shiny/GIT_VERSION @@ -1 +1 @@ -7af739e0d851c463cd6b47e6ee8def261c47f4b6 +a7901656e993dd75534448775fbaafb36bd7b026 diff --git a/pkg-r/inst/lib/shiny/chat/chat.css b/pkg-r/inst/lib/shiny/chat/chat.css index 75023df8..ff7e9c95 100644 --- a/pkg-r/inst/lib/shiny/chat/chat.css +++ b/pkg-r/inst/lib/shiny/chat/chat.css @@ -1,2 +1,2 @@ -@charset "UTF-8";shiny-chat-container{--shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef);--shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), .06);--_chat-container-padding: .25rem;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;margin:0 auto;gap:0;padding:var(--_chat-container-padding);padding-bottom:0}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-underline-offset:2px;text-underline-offset:4px;text-decoration-thickness:2px;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)}shiny-chat-messages{display:flex;flex-direction:column;gap:2rem;overflow:auto;margin-bottom:1rem;--_scroll-margin: 1rem;padding-right:var(--_scroll-margin);margin-right:calc(-1 * var(--_scroll-margin))}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(--shiny-chat-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-markdown-stream{align-self:center}shiny-user-message{align-self:flex-end;padding:.75rem 1rem;border-radius:10px;background-color:var(--shiny-chat-user-message-bg);max-width:100%}shiny-user-message[content_type=text],shiny-chat-message[content_type=text]{white-space:pre;overflow-x:auto}shiny-chat-input{--_input-padding-top: 0;--_input-padding-bottom: var(--_chat-container-padding, .25rem);margin-top:calc(-1 * var(--_input-padding-top));position:sticky;bottom:calc(-1 * var(--_input-padding-bottom) + 4px);padding-block:var(--_input-padding-top) var(--_input-padding-bottom)}shiny-chat-input textarea{--bs-border-radius: 26px;resize:none;padding-right:36px!important;max-height:175px}shiny-chat-input textarea::placeholder{color:var(--bs-gray-600, #707782)!important}shiny-chat-input button{position:absolute;bottom:calc(6px + var(--_input-padding-bottom));right:8px;background-color:transparent;color:var(--bs-primary, #007bc2);transition:color .25s ease-in-out;border:none;padding:0;cursor:pointer;line-height:16px;border-radius:50%}shiny-chat-input button:disabled{cursor:not-allowed;color:var(--bs-gray-500, #8d959e)}.shiny-busy:has(shiny-chat-input[disabled]):after{display:none} +@charset "UTF-8";.shiny-tool-card{max-height:var(--shiny-tool-card-max-height, 500px)}.shiny-tool-card .tool-intent{opacity:.66;font-style:italic;font-weight:400}.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:.66}.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{transition:max-height .3s ease-out,opacity .2s ease-out;opacity:1;overflow:auto}.shiny-tool-card>.card-body.collapsed{max-height:0;opacity:0;padding:0}.shiny-tool-card pre{margin:0;white-space:pre-wrap;padding:1em;border-radius:var(--bs-border-radius, 4px)}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-request[hidden]+shiny-tool-result:first-of-type{margin-top:0}shiny-chat-container{--shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef);--shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), .06);--_chat-container-padding: .25rem;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto;margin:0 auto;gap:0;padding:var(--_chat-container-padding);padding-bottom:0}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-underline-offset:2px;text-underline-offset:4px;text-decoration-thickness:2px;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)}shiny-chat-messages{display:flex;flex-direction:column;gap:2rem;overflow:auto;margin-bottom:1rem;--_scroll-margin: 1rem;padding-right:var(--_scroll-margin);margin-right:calc(-1 * var(--_scroll-margin))}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(--shiny-chat-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-markdown-stream{align-self:center}shiny-user-message{align-self:flex-end;padding:.75rem 1rem;border-radius:10px;background-color:var(--shiny-chat-user-message-bg);max-width:100%}shiny-user-message[content_type=text],shiny-chat-message[content_type=text]{white-space:pre;overflow-x:auto}shiny-chat-input{--_input-padding-top: 0;--_input-padding-bottom: var(--_chat-container-padding, .25rem);margin-top:calc(-1 * var(--_input-padding-top));position:sticky;bottom:calc(-1 * var(--_input-padding-bottom) + 4px);padding-block:var(--_input-padding-top) var(--_input-padding-bottom)}shiny-chat-input textarea{--bs-border-radius: 26px;resize:none;padding-right:36px!important;max-height:175px}shiny-chat-input textarea::placeholder{color:var(--bs-gray-600, #707782)!important}shiny-chat-input button{position:absolute;bottom:calc(6px + var(--_input-padding-bottom));right:8px;background-color:transparent;color:var(--bs-primary, #007bc2);transition:color .25s ease-in-out;border:none;padding:0;cursor:pointer;line-height:16px;border-radius:50%}shiny-chat-input button:disabled{cursor:not-allowed;color:var(--bs-gray-500, #8d959e)}.shiny-busy:has(shiny-chat-input[disabled]):after{display:none} /*# sourceMappingURL=chat.css.map */ diff --git a/pkg-r/inst/lib/shiny/chat/chat.css.map b/pkg-r/inst/lib/shiny/chat/chat.css.map index c0cfa22f..89201ef7 100644 --- a/pkg-r/inst/lib/shiny/chat/chat.css.map +++ b/pkg-r/inst/lib/shiny/chat/chat.css.map @@ -1,7 +1,7 @@ { "version": 3, "sources": ["../../src/chat/chat.scss"], - "sourcesContent": ["@charset \"UTF-8\";\nshiny-chat-container {\n --shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef);\n --shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), 0.06);\n --_chat-container-padding: 0.25rem;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr auto;\n margin: 0 auto;\n gap: 0;\n padding: var(--_chat-container-padding);\n padding-bottom: 0;\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: 2px;\n text-underline-offset: 4px;\n text-decoration-thickness: 2px;\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\nshiny-chat-messages {\n display: flex;\n flex-direction: column;\n gap: 2rem;\n overflow: auto;\n margin-bottom: 1rem;\n --_scroll-margin: 1rem;\n padding-right: var(--_scroll-margin);\n margin-right: calc(-1 * var(--_scroll-margin));\n}\n\nshiny-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}\nshiny-chat-message > * {\n height: fit-content;\n}\nshiny-chat-message .message-icon {\n border-radius: 50%;\n border: var(--shiny-chat-border);\n height: 2rem;\n width: 2rem;\n display: grid;\n place-items: center;\n overflow: clip;\n}\nshiny-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}\nshiny-chat-message .message-icon > svg,\nshiny-chat-message .message-icon > .icon,\nshiny-chat-message .message-icon > .fa,\nshiny-chat-message .message-icon > .bi {\n max-height: 66%;\n max-width: 66%;\n}\nshiny-chat-message .message-icon:has(> .border-0) {\n border: none;\n border-radius: unset;\n overflow: unset;\n}\nshiny-chat-message shiny-markdown-stream {\n align-self: center;\n}\n\n/* Align the user message to the right */\nshiny-user-message {\n align-self: flex-end;\n padding: 0.75rem 1rem;\n border-radius: 10px;\n background-color: var(--shiny-chat-user-message-bg);\n max-width: 100%;\n}\n\nshiny-user-message[content_type=text],\nshiny-chat-message[content_type=text] {\n white-space: pre;\n overflow-x: auto;\n}\n\nshiny-chat-input {\n --_input-padding-top: 0;\n --_input-padding-bottom: var(--_chat-container-padding, 0.25rem);\n margin-top: calc(-1 * var(--_input-padding-top));\n position: sticky;\n bottom: calc(-1 * var(--_input-padding-bottom) + 4px);\n padding-block: var(--_input-padding-top) var(--_input-padding-bottom);\n}\nshiny-chat-input textarea {\n --bs-border-radius: 26px;\n resize: none;\n padding-right: 36px !important;\n max-height: 175px;\n}\nshiny-chat-input textarea::placeholder {\n color: var(--bs-gray-600, #707782) !important;\n}\nshiny-chat-input button {\n position: absolute;\n bottom: calc(6px + var(--_input-padding-bottom));\n right: 8px;\n background-color: transparent;\n color: var(--bs-primary, #007bc2);\n transition: color 0.25s ease-in-out;\n border: none;\n padding: 0;\n cursor: pointer;\n line-height: 16px;\n border-radius: 50%;\n}\nshiny-chat-input button:disabled {\n cursor: not-allowed;\n color: var(--bs-gray-500, #8d959e);\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}"], - "mappings": "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", + "sourcesContent": ["@charset \"UTF-8\";\n.shiny-tool-card {\n max-height: var(--shiny-tool-card-max-height, 500px);\n}\n.shiny-tool-card .tool-intent {\n opacity: 0.66;\n font-style: italic;\n font-weight: normal;\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: 0.66;\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 transition: max-height 0.3s ease-out, 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 pre {\n margin: 0;\n white-space: pre-wrap;\n padding: 1em;\n border-radius: var(--bs-border-radius, 4px);\n}\n\nshiny-tool-result,\nshiny-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}\nshiny-tool-result[hidden],\nshiny-tool-request[hidden] {\n display: none;\n}\n\nshiny-tool-result + p,\nshiny-tool-request + p {\n margin-top: 1rem;\n}\n\nshiny-tool-result:first-child,\nshiny-tool-request:first-child {\n margin-top: 0;\n}\nshiny-tool-result:last-child,\nshiny-tool-request:last-child {\n margin-bottom: 0;\n}\n\nshiny-tool-request[hidden] + shiny-tool-result:first-of-type {\n margin-top: 0;\n}\n\nshiny-chat-container {\n --shiny-chat-border: var(--bs-border-width, 1px) solid var(--bs-border-color, #e9ecef);\n --shiny-chat-user-message-bg: RGBA(var(--bs-primary-rgb, 0, 123, 194), 0.06);\n --_chat-container-padding: 0.25rem;\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr auto;\n margin: 0 auto;\n gap: 0;\n padding: var(--_chat-container-padding);\n padding-bottom: 0;\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: 2px;\n text-underline-offset: 4px;\n text-decoration-thickness: 2px;\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\nshiny-chat-messages {\n display: flex;\n flex-direction: column;\n gap: 2rem;\n overflow: auto;\n margin-bottom: 1rem;\n --_scroll-margin: 1rem;\n padding-right: var(--_scroll-margin);\n margin-right: calc(-1 * var(--_scroll-margin));\n}\n\nshiny-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}\nshiny-chat-message > * {\n height: fit-content;\n}\nshiny-chat-message .message-icon {\n border-radius: 50%;\n border: var(--shiny-chat-border);\n height: 2rem;\n width: 2rem;\n display: grid;\n place-items: center;\n overflow: clip;\n}\nshiny-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}\nshiny-chat-message .message-icon > svg,\nshiny-chat-message .message-icon > .icon,\nshiny-chat-message .message-icon > .fa,\nshiny-chat-message .message-icon > .bi {\n max-height: 66%;\n max-width: 66%;\n}\nshiny-chat-message .message-icon:has(> .border-0) {\n border: none;\n border-radius: unset;\n overflow: unset;\n}\nshiny-chat-message shiny-markdown-stream {\n align-self: center;\n}\n\n/* Align the user message to the right */\nshiny-user-message {\n align-self: flex-end;\n padding: 0.75rem 1rem;\n border-radius: 10px;\n background-color: var(--shiny-chat-user-message-bg);\n max-width: 100%;\n}\n\nshiny-user-message[content_type=text],\nshiny-chat-message[content_type=text] {\n white-space: pre;\n overflow-x: auto;\n}\n\nshiny-chat-input {\n --_input-padding-top: 0;\n --_input-padding-bottom: var(--_chat-container-padding, 0.25rem);\n margin-top: calc(-1 * var(--_input-padding-top));\n position: sticky;\n bottom: calc(-1 * var(--_input-padding-bottom) + 4px);\n padding-block: var(--_input-padding-top) var(--_input-padding-bottom);\n}\nshiny-chat-input textarea {\n --bs-border-radius: 26px;\n resize: none;\n padding-right: 36px !important;\n max-height: 175px;\n}\nshiny-chat-input textarea::placeholder {\n color: var(--bs-gray-600, #707782) !important;\n}\nshiny-chat-input button {\n position: absolute;\n bottom: calc(6px + var(--_input-padding-bottom));\n right: 8px;\n background-color: transparent;\n color: var(--bs-primary, #007bc2);\n transition: color 0.25s ease-in-out;\n border: none;\n padding: 0;\n cursor: pointer;\n line-height: 16px;\n border-radius: 50%;\n}\nshiny-chat-input button:disabled {\n cursor: not-allowed;\n color: var(--bs-gray-500, #8d959e);\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}"], + "mappings": "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", "names": [] } diff --git a/pkg-r/inst/lib/shiny/chat/chat.js b/pkg-r/inst/lib/shiny/chat/chat.js index 103de17d..3f3ceced 100644 --- a/pkg-r/inst/lib/shiny/chat/chat.js +++ b/pkg-r/inst/lib/shiny/chat/chat.js @@ -1,29 +1,92 @@ -var hs=Object.defineProperty;var ps=Object.getOwnPropertyDescriptor;var B=(o,t,e,n)=>{for(var i=n>1?void 0:n?ps(t,e):t,r=o.length-1,l;r>=0;r--)(l=o[r])&&(i=(n?l(t,e,i):l(i))||i);return n&&i&&hs(t,e,i),i};var kt=globalThis,Ht=kt.ShadowRoot&&(kt.ShadyCSS===void 0||kt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,an=Symbol(),rn=new WeakMap,Ut=class{constructor(t,e,n){if(this._$cssResult$=!0,n!==an)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Ht&&t===void 0){let n=e!==void 0&&e.length===1;n&&(t=rn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&rn.set(e,t))}return t}toString(){return this.cssText}},ln=o=>new Ut(typeof o=="string"?o:o+"",void 0,an);var cn=(o,t)=>{if(Ht)o.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let n=document.createElement("style"),i=kt.litNonce;i!==void 0&&n.setAttribute("nonce",i),n.textContent=e.cssText,o.appendChild(n)}},pe=Ht?o=>o:o=>o instanceof CSSStyleSheet?(t=>{let e="";for(let n of t.cssRules)e+=n.cssText;return ln(e)})(o):o;var{is:ds,defineProperty:fs,getOwnPropertyDescriptor:ms,getOwnPropertyNames:gs,getOwnPropertySymbols:_s,getPrototypeOf:Es}=Object,zt=globalThis,un=zt.trustedTypes,As=un?un.emptyScript:"",ys=zt.reactiveElementPolyfillSupport,mt=(o,t)=>o,gt={toAttribute(o,t){switch(t){case Boolean:o=o?As:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,t){let e=o;switch(t){case Boolean:e=o!==null;break;case Number:e=o===null?null:Number(o);break;case Object:case Array:try{e=JSON.parse(o)}catch{e=null}}return e}},Ft=(o,t)=>!ds(o,t),hn={attribute:!0,type:String,converter:gt,reflect:!1,useDefault:!1,hasChanged:Ft};Symbol.metadata??=Symbol("metadata"),zt.litPropertyMetadata??=new WeakMap;var G=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=hn){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let n=Symbol(),i=this.getPropertyDescriptor(t,n,e);i!==void 0&&fs(this.prototype,t,i)}}static getPropertyDescriptor(t,e,n){let{get:i,set:r}=ms(this.prototype,t)??{get(){return this[e]},set(l){this[e]=l}};return{get:i,set(l){let d=i?.call(this);r?.call(this,l),this.requestUpdate(t,d,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??hn}static _$Ei(){if(this.hasOwnProperty(mt("elementProperties")))return;let t=Es(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(mt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(mt("properties"))){let e=this.properties,n=[...gs(e),..._s(e)];for(let i of n)this.createProperty(i,e[i])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[n,i]of e)this.elementProperties.set(n,i)}this._$Eh=new Map;for(let[e,n]of this.elementProperties){let i=this._$Eu(e,n);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let i of n)e.unshift(pe(i))}else t!==void 0&&e.push(pe(t));return e}static _$Eu(t,e){let n=e.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let n of e.keys())this.hasOwnProperty(n)&&(t.set(n,this[n]),delete this[n]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return cn(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,n){this._$AK(t,n)}_$ET(t,e){let n=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,n);if(i!==void 0&&n.reflect===!0){let r=(n.converter?.toAttribute!==void 0?n.converter:gt).toAttribute(e,n.type);this._$Em=t,r==null?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){let n=this.constructor,i=n._$Eh.get(t);if(i!==void 0&&this._$Em!==i){let r=n.getPropertyOptions(i),l=typeof r.converter=="function"?{fromAttribute:r.converter}:r.converter?.fromAttribute!==void 0?r.converter:gt;this._$Em=i,this[i]=l.fromAttribute(e,r.type)??this._$Ej?.get(i)??null,this._$Em=null}}requestUpdate(t,e,n){if(t!==void 0){let i=this.constructor,r=this[t];if(n??=i.getPropertyOptions(t),!((n.hasChanged??Ft)(r,e)||n.useDefault&&n.reflect&&r===this._$Ej?.get(t)&&!this.hasAttribute(i._$Eu(t,n))))return;this.C(t,e,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:n,reflect:i,wrapped:r},l){n&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,l??e??this[t]),r!==!0||l!==void 0)||(this._$AL.has(t)||(this.hasUpdated||n||(e=void 0),this._$AL.set(t,e)),i===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[i,r]of this._$Ep)this[i]=r;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[i,r]of n){let{wrapped:l}=r,d=this[i];l!==!0||this._$AL.has(i)||d===void 0||this.C(i,void 0,r,d)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(e)):this._$EM()}catch(n){throw t=!1,this._$EM(),n}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};G.elementStyles=[],G.shadowRootOptions={mode:"open"},G[mt("elementProperties")]=new Map,G[mt("finalized")]=new Map,ys?.({ReactiveElement:G}),(zt.reactiveElementVersions??=[]).push("2.1.0");var Ae=globalThis,Bt=Ae.trustedTypes,pn=Bt?Bt.createPolicy("lit-html",{createHTML:o=>o}):void 0,En="$lit$",j=`lit$${Math.random().toFixed(9).slice(2)}$`,An="?"+j,Ts=`<${An}>`,J=document,Et=()=>J.createComment(""),At=o=>o===null||typeof o!="object"&&typeof o!="function",ye=Array.isArray,vs=o=>ye(o)||typeof o?.[Symbol.iterator]=="function",de=`[ -\f\r]`,_t=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,dn=/-->/g,fn=/>/g,X=RegExp(`>|${de}(?:([^\\s"'>=/]+)(${de}*=${de}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),mn=/'/g,gn=/"/g,yn=/^(?:script|style|textarea|title)$/i,Te=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),ct=Te(1),ii=Te(2),oi=Te(3),W=Symbol.for("lit-noChange"),E=Symbol.for("lit-nothing"),_n=new WeakMap,Z=J.createTreeWalker(J,129);function Tn(o,t){if(!ye(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return pn!==void 0?pn.createHTML(t):t}var Ss=(o,t)=>{let e=o.length-1,n=[],i,r=t===2?"":t===3?"":"",l=_t;for(let d=0;d"?(l=i??_t,f=-1):y[1]===void 0?f=-2:(f=l.lastIndex-y[2].length,m=y[1],l=y[3]===void 0?X:y[3]==='"'?gn:mn):l===gn||l===mn?l=X:l===dn||l===fn?l=_t:(l=X,i=void 0);let R=l===X&&o[d+1].startsWith("/>")?" ":"";r+=l===_t?h+Ts:f>=0?(n.push(m),h.slice(0,f)+En+h.slice(f)+j+R):h+j+(f===-2?d:R)}return[Tn(o,r+(o[e]||"")+(t===2?"":t===3?"":"")),n]},yt=class o{constructor({strings:t,_$litType$:e},n){let i;this.parts=[];let r=0,l=0,d=t.length-1,h=this.parts,[m,y]=Ss(t,e);if(this.el=o.createElement(m,n),Z.currentNode=this.el.content,e===2||e===3){let f=this.el.content.firstChild;f.replaceWith(...f.childNodes)}for(;(i=Z.nextNode())!==null&&h.length0){i.textContent=Bt?Bt.emptyScript:"";for(let R=0;R2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=E}_$AI(t,e=this,n,i){let r=this.strings,l=!1;if(r===void 0)t=at(this,t,e,0),l=!At(t)||t!==this._$AH&&t!==W,l&&(this._$AH=t);else{let d=t,h,m;for(t=r[0],h=0;h{let n=e?.renderBefore??t,i=n._$litPart$;if(i===void 0){let r=e?.renderBefore??null;n._$litPart$=i=new Tt(t.insertBefore(Et(),r),r,void 0,e??{})}return i._$AI(o),i};var ve=globalThis,q=class extends G{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=vn(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return W}};q._$litElement$=!0,q.finalized=!0,ve.litElementHydrateSupport?.({LitElement:q});var Cs=ve.litElementPolyfillSupport;Cs?.({LitElement:q});(ve.litElementVersions??=[]).push("4.2.0");var Sn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},bn=o=>(...t)=>({_$litDirective$:o,values:t}),Gt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var vt=class extends Gt{constructor(t){if(super(t),this.it=E,t.type!==Sn.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===E||t==null)return this._t=void 0,this.it=t;if(t===W)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};vt.directiveName="unsafeHTML",vt.resultType=1;var Se=bn(vt);var ws={attribute:!0,type:String,converter:gt,reflect:!1,hasChanged:Ft},$s=(o=ws,t,e)=>{let{kind:n,metadata:i}=e,r=globalThis.litPropertyMetadata.get(i);if(r===void 0&&globalThis.litPropertyMetadata.set(i,r=new Map),n==="setter"&&((o=Object.create(o)).wrapped=!0),r.set(e.name,o),n==="accessor"){let{name:l}=e;return{set(d){let h=t.get.call(this);t.set.call(this,d),this.requestUpdate(l,h,o)},init(d){return d!==void 0&&this.C(l,void 0,o,d),d}}}if(n==="setter"){let{name:l}=e;return function(d){let h=this[l];t.call(this,d),this.requestUpdate(l,h,o)}}throw Error("Unsupported decorator location: "+n)};function U(o){return(t,e)=>typeof e=="object"?$s(o,t,e):((n,i,r)=>{let l=i.hasOwnProperty(r);return i.constructor.createProperty(r,n),l?Object.getOwnPropertyDescriptor(i,r):void 0})(o,t,e)}var{entries:In,setPrototypeOf:Cn,isFrozen:Ms,getPrototypeOf:Os,getOwnPropertyDescriptor:xs}=Object,{freeze:O,seal:N,create:Dn}=Object,{apply:Oe,construct:xe}=typeof Reflect<"u"&&Reflect;O||(O=function(t){return t});N||(N=function(t){return t});Oe||(Oe=function(t,e,n){return t.apply(e,n)});xe||(xe=function(t,e){return new t(...e)});var Vt=x(Array.prototype.forEach),Ls=x(Array.prototype.lastIndexOf),wn=x(Array.prototype.pop),St=x(Array.prototype.push),Rs=x(Array.prototype.splice),qt=x(String.prototype.toLowerCase),be=x(String.prototype.toString),$n=x(String.prototype.match),bt=x(String.prototype.replace),Ns=x(String.prototype.indexOf),Is=x(String.prototype.trim),D=x(Object.prototype.hasOwnProperty),M=x(RegExp.prototype.test),Ct=Ds(TypeError);function x(o){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:qt;Cn&&Cn(o,null);let n=t.length;for(;n--;){let i=t[n];if(typeof i=="string"){let r=e(i);r!==i&&(Ms(t)||(t[n]=r),i=r)}o[i]=!0}return o}function Ps(o){for(let t=0;t/gm),Fs=N(/\$\{[\w\W]*/gm),Bs=N(/^data-[\-\w.\u00B7-\uFFFF]+$/),Gs=N(/^aria-[\-\w]+$/),Pn=N(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ws=N(/^(?:\w+script|data):/i),Vs=N(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),kn=N(/^html$/i),js=N(/^[a-z][.\w]*(-[.\w]+)+$/i),Rn=Object.freeze({__proto__:null,ARIA_ATTR:Gs,ATTR_WHITESPACE:Vs,CUSTOM_ELEMENT:js,DATA_ATTR:Bs,DOCTYPE_NAME:kn,ERB_EXPR:zs,IS_ALLOWED_URI:Pn,IS_SCRIPT_OR_DATA:Ws,MUSTACHE_EXPR:Hs,TMPLIT_EXPR:Fs}),$t={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},qs=function(){return typeof window>"u"?null:window},Ys=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,i="data-tt-policy-suffix";e&&e.hasAttribute(i)&&(n=e.getAttribute(i));let r="dompurify"+(n?"#"+n:"");try{return t.createPolicy(r,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}},Nn=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Un(){let o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:qs(),t=u=>Un(u);if(t.version="3.2.6",t.removed=[],!o||!o.document||o.document.nodeType!==$t.document||!o.Element)return t.isSupported=!1,t;let{document:e}=o,n=e,i=n.currentScript,{DocumentFragment:r,HTMLTemplateElement:l,Node:d,Element:h,NodeFilter:m,NamedNodeMap:y=o.NamedNodeMap||o.MozNamedAttrMap,HTMLFormElement:f,DOMParser:I,trustedTypes:R}=o,P=h.prototype,Vn=wt(P,"cloneNode"),jn=wt(P,"remove"),qn=wt(P,"nextSibling"),Yn=wt(P,"childNodes"),Ot=wt(P,"parentNode");if(typeof l=="function"){let u=e.createElement("template");u.content&&u.content.ownerDocument&&(e=u.content.ownerDocument)}let w,ut="",{implementation:Zt,createNodeIterator:Kn,createDocumentFragment:Xn,getElementsByTagName:Zn}=e,{importNode:Jn}=n,$=Nn();t.isSupported=typeof In=="function"&&typeof Ot=="function"&&Zt&&Zt.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Jt,ERB_EXPR:Qt,TMPLIT_EXPR:te,DATA_ATTR:Qn,ARIA_ATTR:ts,IS_SCRIPT_OR_DATA:es,ATTR_WHITESPACE:Ie,CUSTOM_ELEMENT:ns}=Rn,{IS_ALLOWED_URI:De}=Rn,T=null,Pe=p({},[...Mn,...Ce,...we,...$e,...On]),S=null,ke=p({},[...xn,...Me,...Ln,...jt]),_=Object.seal(Dn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ht=null,ee=null,Ue=!0,ne=!0,He=!1,ze=!0,tt=!1,xt=!0,K=!1,se=!1,ie=!1,et=!1,Lt=!1,Rt=!1,Fe=!0,Be=!1,ss="user-content-",oe=!0,pt=!1,nt={},st=null,Ge=p({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),We=null,Ve=p({},["audio","video","img","source","image","track"]),re=null,je=p({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Nt="http://www.w3.org/1998/Math/MathML",It="http://www.w3.org/2000/svg",H="http://www.w3.org/1999/xhtml",it=H,ae=!1,le=null,is=p({},[Nt,It,H],be),Dt=p({},["mi","mo","mn","ms","mtext"]),Pt=p({},["annotation-xml"]),os=p({},["title","style","font","a","script"]),dt=null,rs=["application/xhtml+xml","text/html"],as="text/html",v=null,ot=null,ls=e.createElement("form"),qe=function(s){return s instanceof RegExp||s instanceof Function},ce=function(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ot&&ot===s)){if((!s||typeof s!="object")&&(s={}),s=V(s),dt=rs.indexOf(s.PARSER_MEDIA_TYPE)===-1?as:s.PARSER_MEDIA_TYPE,v=dt==="application/xhtml+xml"?be:qt,T=D(s,"ALLOWED_TAGS")?p({},s.ALLOWED_TAGS,v):Pe,S=D(s,"ALLOWED_ATTR")?p({},s.ALLOWED_ATTR,v):ke,le=D(s,"ALLOWED_NAMESPACES")?p({},s.ALLOWED_NAMESPACES,be):is,re=D(s,"ADD_URI_SAFE_ATTR")?p(V(je),s.ADD_URI_SAFE_ATTR,v):je,We=D(s,"ADD_DATA_URI_TAGS")?p(V(Ve),s.ADD_DATA_URI_TAGS,v):Ve,st=D(s,"FORBID_CONTENTS")?p({},s.FORBID_CONTENTS,v):Ge,ht=D(s,"FORBID_TAGS")?p({},s.FORBID_TAGS,v):V({}),ee=D(s,"FORBID_ATTR")?p({},s.FORBID_ATTR,v):V({}),nt=D(s,"USE_PROFILES")?s.USE_PROFILES:!1,Ue=s.ALLOW_ARIA_ATTR!==!1,ne=s.ALLOW_DATA_ATTR!==!1,He=s.ALLOW_UNKNOWN_PROTOCOLS||!1,ze=s.ALLOW_SELF_CLOSE_IN_ATTR!==!1,tt=s.SAFE_FOR_TEMPLATES||!1,xt=s.SAFE_FOR_XML!==!1,K=s.WHOLE_DOCUMENT||!1,et=s.RETURN_DOM||!1,Lt=s.RETURN_DOM_FRAGMENT||!1,Rt=s.RETURN_TRUSTED_TYPE||!1,ie=s.FORCE_BODY||!1,Fe=s.SANITIZE_DOM!==!1,Be=s.SANITIZE_NAMED_PROPS||!1,oe=s.KEEP_CONTENT!==!1,pt=s.IN_PLACE||!1,De=s.ALLOWED_URI_REGEXP||Pn,it=s.NAMESPACE||H,Dt=s.MATHML_TEXT_INTEGRATION_POINTS||Dt,Pt=s.HTML_INTEGRATION_POINTS||Pt,_=s.CUSTOM_ELEMENT_HANDLING||{},s.CUSTOM_ELEMENT_HANDLING&&qe(s.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(_.tagNameCheck=s.CUSTOM_ELEMENT_HANDLING.tagNameCheck),s.CUSTOM_ELEMENT_HANDLING&&qe(s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(_.attributeNameCheck=s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),s.CUSTOM_ELEMENT_HANDLING&&typeof s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(_.allowCustomizedBuiltInElements=s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),tt&&(ne=!1),Lt&&(et=!0),nt&&(T=p({},On),S=[],nt.html===!0&&(p(T,Mn),p(S,xn)),nt.svg===!0&&(p(T,Ce),p(S,Me),p(S,jt)),nt.svgFilters===!0&&(p(T,we),p(S,Me),p(S,jt)),nt.mathMl===!0&&(p(T,$e),p(S,Ln),p(S,jt))),s.ADD_TAGS&&(T===Pe&&(T=V(T)),p(T,s.ADD_TAGS,v)),s.ADD_ATTR&&(S===ke&&(S=V(S)),p(S,s.ADD_ATTR,v)),s.ADD_URI_SAFE_ATTR&&p(re,s.ADD_URI_SAFE_ATTR,v),s.FORBID_CONTENTS&&(st===Ge&&(st=V(st)),p(st,s.FORBID_CONTENTS,v)),oe&&(T["#text"]=!0),K&&p(T,["html","head","body"]),T.table&&(p(T,["tbody"]),delete ht.tbody),s.TRUSTED_TYPES_POLICY){if(typeof s.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ct('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof s.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ct('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=s.TRUSTED_TYPES_POLICY,ut=w.createHTML("")}else w===void 0&&(w=Ys(R,i)),w!==null&&typeof ut=="string"&&(ut=w.createHTML(""));O&&O(s),ot=s}},Ye=p({},[...Ce,...we,...ks]),Ke=p({},[...$e,...Us]),cs=function(s){let a=Ot(s);(!a||!a.tagName)&&(a={namespaceURI:it,tagName:"template"});let c=qt(s.tagName),g=qt(a.tagName);return le[s.namespaceURI]?s.namespaceURI===It?a.namespaceURI===H?c==="svg":a.namespaceURI===Nt?c==="svg"&&(g==="annotation-xml"||Dt[g]):!!Ye[c]:s.namespaceURI===Nt?a.namespaceURI===H?c==="math":a.namespaceURI===It?c==="math"&&Pt[g]:!!Ke[c]:s.namespaceURI===H?a.namespaceURI===It&&!Pt[g]||a.namespaceURI===Nt&&!Dt[g]?!1:!Ke[c]&&(os[c]||!Ye[c]):!!(dt==="application/xhtml+xml"&&le[s.namespaceURI]):!1},k=function(s){St(t.removed,{element:s});try{Ot(s).removeChild(s)}catch{jn(s)}},rt=function(s,a){try{St(t.removed,{attribute:a.getAttributeNode(s),from:a})}catch{St(t.removed,{attribute:null,from:a})}if(a.removeAttribute(s),s==="is")if(et||Lt)try{k(a)}catch{}else try{a.setAttribute(s,"")}catch{}},Xe=function(s){let a=null,c=null;if(ie)s=""+s;else{let A=$n(s,/^[\r\n\t ]+/);c=A&&A[0]}dt==="application/xhtml+xml"&&it===H&&(s=''+s+"");let g=w?w.createHTML(s):s;if(it===H)try{a=new I().parseFromString(g,dt)}catch{}if(!a||!a.documentElement){a=Zt.createDocument(it,"template",null);try{a.documentElement.innerHTML=ae?ut:g}catch{}}let b=a.body||a.documentElement;return s&&c&&b.insertBefore(e.createTextNode(c),b.childNodes[0]||null),it===H?Zn.call(a,K?"html":"body")[0]:K?a.documentElement:b},Ze=function(s){return Kn.call(s.ownerDocument||s,s,m.SHOW_ELEMENT|m.SHOW_COMMENT|m.SHOW_TEXT|m.SHOW_PROCESSING_INSTRUCTION|m.SHOW_CDATA_SECTION,null)},ue=function(s){return s instanceof f&&(typeof s.nodeName!="string"||typeof s.textContent!="string"||typeof s.removeChild!="function"||!(s.attributes instanceof y)||typeof s.removeAttribute!="function"||typeof s.setAttribute!="function"||typeof s.namespaceURI!="string"||typeof s.insertBefore!="function"||typeof s.hasChildNodes!="function")},Je=function(s){return typeof d=="function"&&s instanceof d};function z(u,s,a){Vt(u,c=>{c.call(t,s,a,ot)})}let Qe=function(s){let a=null;if(z($.beforeSanitizeElements,s,null),ue(s))return k(s),!0;let c=v(s.nodeName);if(z($.uponSanitizeElement,s,{tagName:c,allowedTags:T}),xt&&s.hasChildNodes()&&!Je(s.firstElementChild)&&M(/<[/\w!]/g,s.innerHTML)&&M(/<[/\w!]/g,s.textContent)||s.nodeType===$t.progressingInstruction||xt&&s.nodeType===$t.comment&&M(/<[/\w]/g,s.data))return k(s),!0;if(!T[c]||ht[c]){if(!ht[c]&&en(c)&&(_.tagNameCheck instanceof RegExp&&M(_.tagNameCheck,c)||_.tagNameCheck instanceof Function&&_.tagNameCheck(c)))return!1;if(oe&&!st[c]){let g=Ot(s)||s.parentNode,b=Yn(s)||s.childNodes;if(b&&g){let A=b.length;for(let L=A-1;L>=0;--L){let F=Vn(b[L],!0);F.__removalCount=(s.__removalCount||0)+1,g.insertBefore(F,qn(s))}}}return k(s),!0}return s instanceof h&&!cs(s)||(c==="noscript"||c==="noembed"||c==="noframes")&&M(/<\/no(script|embed|frames)/i,s.innerHTML)?(k(s),!0):(tt&&s.nodeType===$t.text&&(a=s.textContent,Vt([Jt,Qt,te],g=>{a=bt(a,g," ")}),s.textContent!==a&&(St(t.removed,{element:s.cloneNode()}),s.textContent=a)),z($.afterSanitizeElements,s,null),!1)},tn=function(s,a,c){if(Fe&&(a==="id"||a==="name")&&(c in e||c in ls))return!1;if(!(ne&&!ee[a]&&M(Qn,a))){if(!(Ue&&M(ts,a))){if(!S[a]||ee[a]){if(!(en(s)&&(_.tagNameCheck instanceof RegExp&&M(_.tagNameCheck,s)||_.tagNameCheck instanceof Function&&_.tagNameCheck(s))&&(_.attributeNameCheck instanceof RegExp&&M(_.attributeNameCheck,a)||_.attributeNameCheck instanceof Function&&_.attributeNameCheck(a))||a==="is"&&_.allowCustomizedBuiltInElements&&(_.tagNameCheck instanceof RegExp&&M(_.tagNameCheck,c)||_.tagNameCheck instanceof Function&&_.tagNameCheck(c))))return!1}else if(!re[a]){if(!M(De,bt(c,Ie,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&s!=="script"&&Ns(c,"data:")===0&&We[s])){if(!(He&&!M(es,bt(c,Ie,"")))){if(c)return!1}}}}}}return!0},en=function(s){return s!=="annotation-xml"&&$n(s,ns)},nn=function(s){z($.beforeSanitizeAttributes,s,null);let{attributes:a}=s;if(!a||ue(s))return;let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:S,forceKeepAttr:void 0},g=a.length;for(;g--;){let b=a[g],{name:A,namespaceURI:L,value:F}=b,ft=v(A),he=F,C=A==="value"?he:Is(he);if(c.attrName=ft,c.attrValue=C,c.keepAttr=!0,c.forceKeepAttr=void 0,z($.uponSanitizeAttribute,s,c),C=c.attrValue,Be&&(ft==="id"||ft==="name")&&(rt(A,s),C=ss+C),xt&&M(/((--!?|])>)|<\/(style|title)/i,C)){rt(A,s);continue}if(c.forceKeepAttr)continue;if(!c.keepAttr){rt(A,s);continue}if(!ze&&M(/\/>/i,C)){rt(A,s);continue}tt&&Vt([Jt,Qt,te],on=>{C=bt(C,on," ")});let sn=v(s.nodeName);if(!tn(sn,ft,C)){rt(A,s);continue}if(w&&typeof R=="object"&&typeof R.getAttributeType=="function"&&!L)switch(R.getAttributeType(sn,ft)){case"TrustedHTML":{C=w.createHTML(C);break}case"TrustedScriptURL":{C=w.createScriptURL(C);break}}if(C!==he)try{L?s.setAttributeNS(L,A,C):s.setAttribute(A,C),ue(s)?k(s):wn(t.removed)}catch{rt(A,s)}}z($.afterSanitizeAttributes,s,null)},us=function u(s){let a=null,c=Ze(s);for(z($.beforeSanitizeShadowDOM,s,null);a=c.nextNode();)z($.uponSanitizeShadowNode,a,null),Qe(a),nn(a),a.content instanceof r&&u(a.content);z($.afterSanitizeShadowDOM,s,null)};return t.sanitize=function(u){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,c=null,g=null,b=null;if(ae=!u,ae&&(u=""),typeof u!="string"&&!Je(u))if(typeof u.toString=="function"){if(u=u.toString(),typeof u!="string")throw Ct("dirty is not a string, aborting")}else throw Ct("toString is not a function");if(!t.isSupported)return u;if(se||ce(s),t.removed=[],typeof u=="string"&&(pt=!1),pt){if(u.nodeName){let F=v(u.nodeName);if(!T[F]||ht[F])throw Ct("root node is forbidden and cannot be sanitized in-place")}}else if(u instanceof d)a=Xe(""),c=a.ownerDocument.importNode(u,!0),c.nodeType===$t.element&&c.nodeName==="BODY"||c.nodeName==="HTML"?a=c:a.appendChild(c);else{if(!et&&!tt&&!K&&u.indexOf("<")===-1)return w&&Rt?w.createHTML(u):u;if(a=Xe(u),!a)return et?null:Rt?ut:""}a&&ie&&k(a.firstChild);let A=Ze(pt?u:a);for(;g=A.nextNode();)Qe(g),nn(g),g.content instanceof r&&us(g.content);if(pt)return u;if(et){if(Lt)for(b=Xn.call(a.ownerDocument);a.firstChild;)b.appendChild(a.firstChild);else b=a;return(S.shadowroot||S.shadowrootmode)&&(b=Jn.call(n,b,!0)),b}let L=K?a.outerHTML:a.innerHTML;return K&&T["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&M(kn,a.ownerDocument.doctype.name)&&(L=" -`+L),tt&&Vt([Jt,Qt,te],F=>{L=bt(L,F," ")}),w&&Rt?w.createHTML(L):L},t.setConfig=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};ce(u),se=!0},t.clearConfig=function(){ot=null,se=!1},t.isValidAttribute=function(u,s,a){ot||ce({});let c=v(u),g=v(s);return tn(c,g,a)},t.addHook=function(u,s){typeof s=="function"&&St($[u],s)},t.removeHook=function(u,s){if(s!==void 0){let a=Ls($[u],s);return a===-1?void 0:Rs($[u],a,1)[0]}return wn($[u])},t.removeHooks=function(u){$[u]=[]},t.removeAllHooks=function(){$=Nn()},t}var Hn=Un();function Yt(o,t){let e=document.createElement(o);for(let[n,i]of Object.entries(t)){let r=n.replace(/_/g,"-");i!==null&&e.setAttribute(r,i)}return e}var Y=class extends q{createRenderRoot(){return this}};function Le({headline:o="",message:t,status:e="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:o,message:t,status:e}}))}async function zn(o){if(window.Shiny&&o)try{await window.Shiny.renderDependenciesAsync(o)}catch(t){Le({status:"error",message:`Failed to render HTML dependencies: ${t}`})}}var Ks=Hn();Ks.addHook("uponSanitizeElement",(o,t)=>{if(o.nodeName&&o.nodeName==="SCRIPT"){let e=o,n=e.getAttribute("type")==="application/json"&&e.getAttribute("data-for")!==null;t.allowedTags.script=n}});var Re="shiny-chat-message",Bn="shiny-user-message",Gn="shiny-chat-messages",Wn="shiny-chat-input",Xs="shiny-chat-container",Fn={robot:'',dots_fade:''},Q=class extends Y{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let n=this.content.trim().length===0?Fn.dots_fade:this.icon||Fn.robot;return ct` -
${Se(n)}
+var gs=Object.defineProperty;var _s=Object.getOwnPropertyDescriptor;var g=(i,t,e,n)=>{for(var r=n>1?void 0:n?_s(t,e):t,o=i.length-1,l;o>=0;o--)(l=i[o])&&(r=(n?l(t,e,r):l(r))||r);return n&&r&&gs(t,e,r),r};var zt=globalThis,Bt=zt.ShadowRoot&&(zt.ShadyCSS===void 0||zt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,dn=Symbol(),hn=new WeakMap,qt=class{constructor(t,e,n){if(this._$cssResult$=!0,n!==dn)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o,e=this.t;if(Bt&&t===void 0){let n=e!==void 0&&e.length===1;n&&(t=hn.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),n&&hn.set(e,t))}return t}toString(){return this.cssText}},pn=i=>new qt(typeof i=="string"?i:i+"",void 0,dn);var mn=(i,t)=>{if(Bt)i.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let e of t){let n=document.createElement("style"),r=zt.litNonce;r!==void 0&&n.setAttribute("nonce",r),n.textContent=e.cssText,i.appendChild(n)}},ge=Bt?i=>i:i=>i instanceof CSSStyleSheet?(t=>{let e="";for(let n of t.cssRules)e+=n.cssText;return pn(e)})(i):i;var{is:Es,defineProperty:ys,getOwnPropertyDescriptor:As,getOwnPropertyNames:vs,getOwnPropertySymbols:Ts,getPrototypeOf:bs}=Object,Gt=globalThis,fn=Gt.trustedTypes,Ss=fn?fn.emptyScript:"",ws=Gt.reactiveElementPolyfillSupport,yt=(i,t)=>i,At={toAttribute(i,t){switch(t){case Boolean:i=i?Ss:null;break;case Object:case Array:i=i==null?i:JSON.stringify(i)}return i},fromAttribute(i,t){let e=i;switch(t){case Boolean:e=i!==null;break;case Number:e=i===null?null:Number(i);break;case Object:case Array:try{e=JSON.parse(i)}catch{e=null}}return e}},Wt=(i,t)=>!Es(i,t),gn={attribute:!0,type:String,converter:At,reflect:!1,useDefault:!1,hasChanged:Wt};Symbol.metadata??=Symbol("metadata"),Gt.litPropertyMetadata??=new WeakMap;var j=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=gn){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(t,n,e);r!==void 0&&ys(this.prototype,t,r)}}static getPropertyDescriptor(t,e,n){let{get:r,set:o}=As(this.prototype,t)??{get(){return this[e]},set(l){this[e]=l}};return{get:r,set(l){let p=r?.call(this);o?.call(this,l),this.requestUpdate(t,p,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??gn}static _$Ei(){if(this.hasOwnProperty(yt("elementProperties")))return;let t=bs(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(yt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(yt("properties"))){let e=this.properties,n=[...vs(e),...Ts(e)];for(let r of n)this.createProperty(r,e[r])}let t=this[Symbol.metadata];if(t!==null){let e=litPropertyMetadata.get(t);if(e!==void 0)for(let[n,r]of e)this.elementProperties.set(n,r)}this._$Eh=new Map;for(let[e,n]of this.elementProperties){let r=this._$Eu(e,n);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){let e=[];if(Array.isArray(t)){let n=new Set(t.flat(1/0).reverse());for(let r of n)e.unshift(ge(r))}else t!==void 0&&e.push(ge(t));return e}static _$Eu(t,e){let n=e.attribute;return n===!1?void 0:typeof n=="string"?n:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){let t=new Map,e=this.constructor.elementProperties;for(let n of e.keys())this.hasOwnProperty(n)&&(t.set(n,this[n]),delete this[n]);t.size>0&&(this._$Ep=t)}createRenderRoot(){let t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return mn(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,n){this._$AK(t,n)}_$ET(t,e){let n=this.constructor.elementProperties.get(t),r=this.constructor._$Eu(t,n);if(r!==void 0&&n.reflect===!0){let o=(n.converter?.toAttribute!==void 0?n.converter:At).toAttribute(e,n.type);this._$Em=t,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(t,e){let n=this.constructor,r=n._$Eh.get(t);if(r!==void 0&&this._$Em!==r){let o=n.getPropertyOptions(r),l=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:At;this._$Em=r,this[r]=l.fromAttribute(e,o.type)??this._$Ej?.get(r)??null,this._$Em=null}}requestUpdate(t,e,n){if(t!==void 0){let r=this.constructor,o=this[t];if(n??=r.getPropertyOptions(t),!((n.hasChanged??Wt)(o,e)||n.useDefault&&n.reflect&&o===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,n))))return;this.C(t,e,n)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:n,reflect:r,wrapped:o},l){n&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,l??e??this[t]),o!==!0||l!==void 0)||(this._$AL.has(t)||(this.hasUpdated||n||(e=void 0),this._$AL.set(t,e)),r===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let n=this.constructor.elementProperties;if(n.size>0)for(let[r,o]of n){let{wrapped:l}=o,p=this[r];l!==!0||this._$AL.has(r)||p===void 0||this.C(r,void 0,o,p)}}let t=!1,e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(n=>n.hostUpdate?.()),this.update(e)):this._$EM()}catch(n){throw t=!1,this._$EM(),n}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};j.elementStyles=[],j.shadowRootOptions={mode:"open"},j[yt("elementProperties")]=new Map,j[yt("finalized")]=new Map,ws?.({ReactiveElement:j}),(Gt.reactiveElementVersions??=[]).push("2.1.0");var be=globalThis,jt=be.trustedTypes,_n=jt?jt.createPolicy("lit-html",{createHTML:i=>i}):void 0,bn="$lit$",X=`lit$${Math.random().toFixed(9).slice(2)}$`,Sn="?"+X,Cs=`<${Sn}>`,nt=document,Tt=()=>nt.createComment(""),bt=i=>i===null||typeof i!="object"&&typeof i!="function",Se=Array.isArray,$s=i=>Se(i)||typeof i?.[Symbol.iterator]=="function",_e=`[ +\f\r]`,vt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,En=/-->/g,yn=/>/g,tt=RegExp(`>|${_e}(?:([^\\s"'>=/]+)(${_e}*=${_e}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),An=/'/g,vn=/"/g,wn=/^(?:script|style|textarea|title)$/i,we=i=>(t,...e)=>({_$litType$:i,strings:t,values:e}),y=we(1),hi=we(2),di=we(3),V=Symbol.for("lit-noChange"),v=Symbol.for("lit-nothing"),Tn=new WeakMap,et=nt.createTreeWalker(nt,129);function Cn(i,t){if(!Se(i)||!i.hasOwnProperty("raw"))throw Error("invalid template strings array");return _n!==void 0?_n.createHTML(t):t}var xs=(i,t)=>{let e=i.length-1,n=[],r,o=t===2?"":t===3?"":"",l=vt;for(let p=0;p"?(l=r??vt,m=-1):b[1]===void 0?m=-2:(m=l.lastIndex-b[2].length,_=b[1],l=b[3]===void 0?tt:b[3]==='"'?vn:An):l===vn||l===An?l=tt:l===En||l===yn?l=vt:(l=tt,r=void 0);let D=l===tt&&i[p+1].startsWith("/>")?" ":"";o+=l===vt?h+Cs:m>=0?(n.push(_),h.slice(0,m)+bn+h.slice(m)+X+D):h+X+(m===-2?p:D)}return[Cn(i,o+(i[e]||"")+(t===2?"":t===3?"":"")),n]},St=class i{constructor({strings:t,_$litType$:e},n){let r;this.parts=[];let o=0,l=0,p=t.length-1,h=this.parts,[_,b]=xs(t,e);if(this.el=i.createElement(_,n),et.currentNode=this.el.content,e===2||e===3){let m=this.el.content.firstChild;m.replaceWith(...m.childNodes)}for(;(r=et.nextNode())!==null&&h.length0){r.textContent=jt?jt.emptyScript:"";for(let D=0;D2||n[0]!==""||n[1]!==""?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=v}_$AI(t,e=this,n,r){let o=this.strings,l=!1;if(o===void 0)t=ht(this,t,e,0),l=!bt(t)||t!==this._$AH&&t!==V,l&&(this._$AH=t);else{let p=t,h,_;for(t=o[0],h=0;h{let n=e?.renderBefore??t,r=n._$litPart$;if(r===void 0){let o=e?.renderBefore??null;n._$litPart$=r=new wt(t.insertBefore(Tt(),o),o,void 0,e??{})}return r._$AI(i),r};var Ce=globalThis,q=class extends j{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){let e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=$n(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return V}};q._$litElement$=!0,q.finalized=!0,Ce.litElementHydrateSupport?.({LitElement:q});var Rs=Ce.litElementPolyfillSupport;Rs?.({LitElement:q});(Ce.litElementVersions??=[]).push("4.2.0");var xn={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Mn=i=>(...t)=>({_$litDirective$:i,values:t}),Vt=class{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,n){this._$Ct=t,this._$AM=e,this._$Ci=n}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}};var Ct=class extends Vt{constructor(t){if(super(t),this.it=v,t.type!==xn.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(t){if(t===v||t==null)return this._t=void 0,this.it=t;if(t===V)return t;if(typeof t!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(t===this.it)return this._t;this.it=t;let e=[t];return e.raw=e,this._t={_$litType$:this.constructor.resultType,strings:e,values:[]}}};Ct.directiveName="unsafeHTML",Ct.resultType=1;var Z=Mn(Ct);var Ls={attribute:!0,type:String,converter:At,reflect:!1,hasChanged:Wt},Os=(i=Ls,t,e)=>{let{kind:n,metadata:r}=e,o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),n==="setter"&&((i=Object.create(i)).wrapped=!0),o.set(e.name,i),n==="accessor"){let{name:l}=e;return{set(p){let h=t.get.call(this);t.set.call(this,p),this.requestUpdate(l,h,i)},init(p){return p!==void 0&&this.C(l,void 0,i,p),p}}}if(n==="setter"){let{name:l}=e;return function(p){let h=this[l];t.call(this,p),this.requestUpdate(l,h,i)}}throw Error("Unsupported decorator location: "+n)};function f(i){return(t,e)=>typeof e=="object"?Os(i,t,e):((n,r,o)=>{let l=r.hasOwnProperty(o);return r.constructor.createProperty(o,n),l?Object.getOwnPropertyDescriptor(r,o):void 0})(i,t,e)}var{entries:Hn,setPrototypeOf:Rn,isFrozen:Ns,getPrototypeOf:Is,getOwnPropertyDescriptor:Ds}=Object,{freeze:O,seal:P,create:Fn}=Object,{apply:Oe,construct:Ne}=typeof Reflect<"u"&&Reflect;O||(O=function(t){return t});P||(P=function(t){return t});Oe||(Oe=function(t,e,n){return t.apply(e,n)});Ne||(Ne=function(t,e){return new t(...e)});var Kt=N(Array.prototype.forEach),Ps=N(Array.prototype.lastIndexOf),Ln=N(Array.prototype.pop),$t=N(Array.prototype.push),ks=N(Array.prototype.splice),Zt=N(String.prototype.toLowerCase),$e=N(String.prototype.toString),On=N(String.prototype.match),xt=N(String.prototype.replace),Us=N(String.prototype.indexOf),Hs=N(String.prototype.trim),H=N(Object.prototype.hasOwnProperty),L=N(RegExp.prototype.test),Mt=Fs(TypeError);function N(i){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r2&&arguments[2]!==void 0?arguments[2]:Zt;Rn&&Rn(i,null);let n=t.length;for(;n--;){let r=t[n];if(typeof r=="string"){let o=e(r);o!==r&&(Ns(t)||(t[n]=o),r=o)}i[r]=!0}return i}function zs(i){for(let t=0;t/gm),js=P(/\$\{[\w\W]*/gm),Vs=P(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ys=P(/^aria-[\-\w]+$/),zn=P(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ks=P(/^(?:\w+script|data):/i),Xs=P(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),qn=P(/^html$/i),Zs=P(/^[a-z][.\w]*(-[.\w]+)+$/i),kn=Object.freeze({__proto__:null,ARIA_ATTR:Ys,ATTR_WHITESPACE:Xs,CUSTOM_ELEMENT:Zs,DATA_ATTR:Vs,DOCTYPE_NAME:qn,ERB_EXPR:Ws,IS_ALLOWED_URI:zn,IS_SCRIPT_OR_DATA:Ks,MUSTACHE_EXPR:Gs,TMPLIT_EXPR:js}),Lt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Js=function(){return typeof window>"u"?null:window},Qs=function(t,e){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,r="data-tt-policy-suffix";e&&e.hasAttribute(r)&&(n=e.getAttribute(r));let o="dompurify"+(n?"#"+n:"");try{return t.createPolicy(o,{createHTML(l){return l},createScriptURL(l){return l}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},Un=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Bn(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Js(),t=u=>Bn(u);if(t.version="3.2.6",t.removed=[],!i||!i.document||i.document.nodeType!==Lt.document||!i.Element)return t.isSupported=!1,t;let{document:e}=i,n=e,r=n.currentScript,{DocumentFragment:o,HTMLTemplateElement:l,Node:p,Element:h,NodeFilter:_,NamedNodeMap:b=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:m,DOMParser:U,trustedTypes:D}=i,F=h.prototype,Xn=Rt(F,"cloneNode"),Zn=Rt(F,"remove"),Jn=Rt(F,"nextSibling"),Qn=Rt(F,"childNodes"),Nt=Rt(F,"parentNode");if(typeof l=="function"){let u=e.createElement("template");u.content&&u.content.ownerDocument&&(e=u.content.ownerDocument)}let M,mt="",{implementation:ee,createNodeIterator:ts,createDocumentFragment:es,getElementsByTagName:ns}=e,{importNode:ss}=n,R=Un();t.isSupported=typeof Hn=="function"&&typeof Nt=="function"&&ee&&ee.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:ne,ERB_EXPR:se,TMPLIT_EXPR:ie,DATA_ATTR:is,ARIA_ATTR:rs,IS_SCRIPT_OR_DATA:os,ATTR_WHITESPACE:He,CUSTOM_ELEMENT:as}=kn,{IS_ALLOWED_URI:Fe}=kn,S=null,ze=d({},[...Nn,...xe,...Me,...Re,...In]),C=null,qe=d({},[...Dn,...Le,...Pn,...Xt]),A=Object.seal(Fn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ft=null,re=null,Be=!0,oe=!0,Ge=!1,We=!0,it=!1,It=!0,Q=!1,ae=!1,le=!1,rt=!1,Dt=!1,Pt=!1,je=!0,Ve=!1,ls="user-content-",ce=!0,gt=!1,ot={},at=null,Ye=d({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ke=null,Xe=d({},["audio","video","img","source","image","track"]),ue=null,Ze=d({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),kt="http://www.w3.org/1998/Math/MathML",Ut="http://www.w3.org/2000/svg",B="http://www.w3.org/1999/xhtml",lt=B,he=!1,de=null,cs=d({},[kt,Ut,B],$e),Ht=d({},["mi","mo","mn","ms","mtext"]),Ft=d({},["annotation-xml"]),us=d({},["title","style","font","a","script"]),_t=null,hs=["application/xhtml+xml","text/html"],ds="text/html",w=null,ct=null,ps=e.createElement("form"),Je=function(s){return s instanceof RegExp||s instanceof Function},pe=function(){let s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(ct&&ct===s)){if((!s||typeof s!="object")&&(s={}),s=Y(s),_t=hs.indexOf(s.PARSER_MEDIA_TYPE)===-1?ds:s.PARSER_MEDIA_TYPE,w=_t==="application/xhtml+xml"?$e:Zt,S=H(s,"ALLOWED_TAGS")?d({},s.ALLOWED_TAGS,w):ze,C=H(s,"ALLOWED_ATTR")?d({},s.ALLOWED_ATTR,w):qe,de=H(s,"ALLOWED_NAMESPACES")?d({},s.ALLOWED_NAMESPACES,$e):cs,ue=H(s,"ADD_URI_SAFE_ATTR")?d(Y(Ze),s.ADD_URI_SAFE_ATTR,w):Ze,Ke=H(s,"ADD_DATA_URI_TAGS")?d(Y(Xe),s.ADD_DATA_URI_TAGS,w):Xe,at=H(s,"FORBID_CONTENTS")?d({},s.FORBID_CONTENTS,w):Ye,ft=H(s,"FORBID_TAGS")?d({},s.FORBID_TAGS,w):Y({}),re=H(s,"FORBID_ATTR")?d({},s.FORBID_ATTR,w):Y({}),ot=H(s,"USE_PROFILES")?s.USE_PROFILES:!1,Be=s.ALLOW_ARIA_ATTR!==!1,oe=s.ALLOW_DATA_ATTR!==!1,Ge=s.ALLOW_UNKNOWN_PROTOCOLS||!1,We=s.ALLOW_SELF_CLOSE_IN_ATTR!==!1,it=s.SAFE_FOR_TEMPLATES||!1,It=s.SAFE_FOR_XML!==!1,Q=s.WHOLE_DOCUMENT||!1,rt=s.RETURN_DOM||!1,Dt=s.RETURN_DOM_FRAGMENT||!1,Pt=s.RETURN_TRUSTED_TYPE||!1,le=s.FORCE_BODY||!1,je=s.SANITIZE_DOM!==!1,Ve=s.SANITIZE_NAMED_PROPS||!1,ce=s.KEEP_CONTENT!==!1,gt=s.IN_PLACE||!1,Fe=s.ALLOWED_URI_REGEXP||zn,lt=s.NAMESPACE||B,Ht=s.MATHML_TEXT_INTEGRATION_POINTS||Ht,Ft=s.HTML_INTEGRATION_POINTS||Ft,A=s.CUSTOM_ELEMENT_HANDLING||{},s.CUSTOM_ELEMENT_HANDLING&&Je(s.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(A.tagNameCheck=s.CUSTOM_ELEMENT_HANDLING.tagNameCheck),s.CUSTOM_ELEMENT_HANDLING&&Je(s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(A.attributeNameCheck=s.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),s.CUSTOM_ELEMENT_HANDLING&&typeof s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(A.allowCustomizedBuiltInElements=s.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),it&&(oe=!1),Dt&&(rt=!0),ot&&(S=d({},In),C=[],ot.html===!0&&(d(S,Nn),d(C,Dn)),ot.svg===!0&&(d(S,xe),d(C,Le),d(C,Xt)),ot.svgFilters===!0&&(d(S,Me),d(C,Le),d(C,Xt)),ot.mathMl===!0&&(d(S,Re),d(C,Pn),d(C,Xt))),s.ADD_TAGS&&(S===ze&&(S=Y(S)),d(S,s.ADD_TAGS,w)),s.ADD_ATTR&&(C===qe&&(C=Y(C)),d(C,s.ADD_ATTR,w)),s.ADD_URI_SAFE_ATTR&&d(ue,s.ADD_URI_SAFE_ATTR,w),s.FORBID_CONTENTS&&(at===Ye&&(at=Y(at)),d(at,s.FORBID_CONTENTS,w)),ce&&(S["#text"]=!0),Q&&d(S,["html","head","body"]),S.table&&(d(S,["tbody"]),delete ft.tbody),s.TRUSTED_TYPES_POLICY){if(typeof s.TRUSTED_TYPES_POLICY.createHTML!="function")throw Mt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof s.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Mt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');M=s.TRUSTED_TYPES_POLICY,mt=M.createHTML("")}else M===void 0&&(M=Qs(D,r)),M!==null&&typeof mt=="string"&&(mt=M.createHTML(""));O&&O(s),ct=s}},Qe=d({},[...xe,...Me,...qs]),tn=d({},[...Re,...Bs]),ms=function(s){let a=Nt(s);(!a||!a.tagName)&&(a={namespaceURI:lt,tagName:"template"});let c=Zt(s.tagName),E=Zt(a.tagName);return de[s.namespaceURI]?s.namespaceURI===Ut?a.namespaceURI===B?c==="svg":a.namespaceURI===kt?c==="svg"&&(E==="annotation-xml"||Ht[E]):!!Qe[c]:s.namespaceURI===kt?a.namespaceURI===B?c==="math":a.namespaceURI===Ut?c==="math"&&Ft[E]:!!tn[c]:s.namespaceURI===B?a.namespaceURI===Ut&&!Ft[E]||a.namespaceURI===kt&&!Ht[E]?!1:!tn[c]&&(us[c]||!Qe[c]):!!(_t==="application/xhtml+xml"&&de[s.namespaceURI]):!1},z=function(s){$t(t.removed,{element:s});try{Nt(s).removeChild(s)}catch{Zn(s)}},ut=function(s,a){try{$t(t.removed,{attribute:a.getAttributeNode(s),from:a})}catch{$t(t.removed,{attribute:null,from:a})}if(a.removeAttribute(s),s==="is")if(rt||Dt)try{z(a)}catch{}else try{a.setAttribute(s,"")}catch{}},en=function(s){let a=null,c=null;if(le)s=""+s;else{let T=On(s,/^[\r\n\t ]+/);c=T&&T[0]}_t==="application/xhtml+xml"&<===B&&(s=''+s+"");let E=M?M.createHTML(s):s;if(lt===B)try{a=new U().parseFromString(E,_t)}catch{}if(!a||!a.documentElement){a=ee.createDocument(lt,"template",null);try{a.documentElement.innerHTML=he?mt:E}catch{}}let $=a.body||a.documentElement;return s&&c&&$.insertBefore(e.createTextNode(c),$.childNodes[0]||null),lt===B?ns.call(a,Q?"html":"body")[0]:Q?a.documentElement:$},nn=function(s){return ts.call(s.ownerDocument||s,s,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT|_.SHOW_PROCESSING_INSTRUCTION|_.SHOW_CDATA_SECTION,null)},me=function(s){return s instanceof m&&(typeof s.nodeName!="string"||typeof s.textContent!="string"||typeof s.removeChild!="function"||!(s.attributes instanceof b)||typeof s.removeAttribute!="function"||typeof s.setAttribute!="function"||typeof s.namespaceURI!="string"||typeof s.insertBefore!="function"||typeof s.hasChildNodes!="function")},sn=function(s){return typeof p=="function"&&s instanceof p};function G(u,s,a){Kt(u,c=>{c.call(t,s,a,ct)})}let rn=function(s){let a=null;if(G(R.beforeSanitizeElements,s,null),me(s))return z(s),!0;let c=w(s.nodeName);if(G(R.uponSanitizeElement,s,{tagName:c,allowedTags:S}),It&&s.hasChildNodes()&&!sn(s.firstElementChild)&&L(/<[/\w!]/g,s.innerHTML)&&L(/<[/\w!]/g,s.textContent)||s.nodeType===Lt.progressingInstruction||It&&s.nodeType===Lt.comment&&L(/<[/\w]/g,s.data))return z(s),!0;if(!S[c]||ft[c]){if(!ft[c]&&an(c)&&(A.tagNameCheck instanceof RegExp&&L(A.tagNameCheck,c)||A.tagNameCheck instanceof Function&&A.tagNameCheck(c)))return!1;if(ce&&!at[c]){let E=Nt(s)||s.parentNode,$=Qn(s)||s.childNodes;if($&&E){let T=$.length;for(let I=T-1;I>=0;--I){let W=Xn($[I],!0);W.__removalCount=(s.__removalCount||0)+1,E.insertBefore(W,Jn(s))}}}return z(s),!0}return s instanceof h&&!ms(s)||(c==="noscript"||c==="noembed"||c==="noframes")&&L(/<\/no(script|embed|frames)/i,s.innerHTML)?(z(s),!0):(it&&s.nodeType===Lt.text&&(a=s.textContent,Kt([ne,se,ie],E=>{a=xt(a,E," ")}),s.textContent!==a&&($t(t.removed,{element:s.cloneNode()}),s.textContent=a)),G(R.afterSanitizeElements,s,null),!1)},on=function(s,a,c){if(je&&(a==="id"||a==="name")&&(c in e||c in ps))return!1;if(!(oe&&!re[a]&&L(is,a))){if(!(Be&&L(rs,a))){if(!C[a]||re[a]){if(!(an(s)&&(A.tagNameCheck instanceof RegExp&&L(A.tagNameCheck,s)||A.tagNameCheck instanceof Function&&A.tagNameCheck(s))&&(A.attributeNameCheck instanceof RegExp&&L(A.attributeNameCheck,a)||A.attributeNameCheck instanceof Function&&A.attributeNameCheck(a))||a==="is"&&A.allowCustomizedBuiltInElements&&(A.tagNameCheck instanceof RegExp&&L(A.tagNameCheck,c)||A.tagNameCheck instanceof Function&&A.tagNameCheck(c))))return!1}else if(!ue[a]){if(!L(Fe,xt(c,He,""))){if(!((a==="src"||a==="xlink:href"||a==="href")&&s!=="script"&&Us(c,"data:")===0&&Ke[s])){if(!(Ge&&!L(os,xt(c,He,"")))){if(c)return!1}}}}}}return!0},an=function(s){return s!=="annotation-xml"&&On(s,as)},ln=function(s){G(R.beforeSanitizeAttributes,s,null);let{attributes:a}=s;if(!a||me(s))return;let c={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:C,forceKeepAttr:void 0},E=a.length;for(;E--;){let $=a[E],{name:T,namespaceURI:I,value:W}=$,Et=w(T),fe=W,x=T==="value"?fe:Hs(fe);if(c.attrName=Et,c.attrValue=x,c.keepAttr=!0,c.forceKeepAttr=void 0,G(R.uponSanitizeAttribute,s,c),x=c.attrValue,Ve&&(Et==="id"||Et==="name")&&(ut(T,s),x=ls+x),It&&L(/((--!?|])>)|<\/(style|title)/i,x)){ut(T,s);continue}if(c.forceKeepAttr)continue;if(!c.keepAttr){ut(T,s);continue}if(!We&&L(/\/>/i,x)){ut(T,s);continue}it&&Kt([ne,se,ie],un=>{x=xt(x,un," ")});let cn=w(s.nodeName);if(!on(cn,Et,x)){ut(T,s);continue}if(M&&typeof D=="object"&&typeof D.getAttributeType=="function"&&!I)switch(D.getAttributeType(cn,Et)){case"TrustedHTML":{x=M.createHTML(x);break}case"TrustedScriptURL":{x=M.createScriptURL(x);break}}if(x!==fe)try{I?s.setAttributeNS(I,T,x):s.setAttribute(T,x),me(s)?z(s):Ln(t.removed)}catch{ut(T,s)}}G(R.afterSanitizeAttributes,s,null)},fs=function u(s){let a=null,c=nn(s);for(G(R.beforeSanitizeShadowDOM,s,null);a=c.nextNode();)G(R.uponSanitizeShadowNode,a,null),rn(a),ln(a),a.content instanceof o&&u(a.content);G(R.afterSanitizeShadowDOM,s,null)};return t.sanitize=function(u){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=null,c=null,E=null,$=null;if(he=!u,he&&(u=""),typeof u!="string"&&!sn(u))if(typeof u.toString=="function"){if(u=u.toString(),typeof u!="string")throw Mt("dirty is not a string, aborting")}else throw Mt("toString is not a function");if(!t.isSupported)return u;if(ae||pe(s),t.removed=[],typeof u=="string"&&(gt=!1),gt){if(u.nodeName){let W=w(u.nodeName);if(!S[W]||ft[W])throw Mt("root node is forbidden and cannot be sanitized in-place")}}else if(u instanceof p)a=en(""),c=a.ownerDocument.importNode(u,!0),c.nodeType===Lt.element&&c.nodeName==="BODY"||c.nodeName==="HTML"?a=c:a.appendChild(c);else{if(!rt&&!it&&!Q&&u.indexOf("<")===-1)return M&&Pt?M.createHTML(u):u;if(a=en(u),!a)return rt?null:Pt?mt:""}a&&le&&z(a.firstChild);let T=nn(gt?u:a);for(;E=T.nextNode();)rn(E),ln(E),E.content instanceof o&&fs(E.content);if(gt)return u;if(rt){if(Dt)for($=es.call(a.ownerDocument);a.firstChild;)$.appendChild(a.firstChild);else $=a;return(C.shadowroot||C.shadowrootmode)&&($=ss.call(n,$,!0)),$}let I=Q?a.outerHTML:a.innerHTML;return Q&&S["!doctype"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&L(qn,a.ownerDocument.doctype.name)&&(I=" +`+I),it&&Kt([ne,se,ie],W=>{I=xt(I,W," ")}),M&&Pt?M.createHTML(I):I},t.setConfig=function(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};pe(u),ae=!0},t.clearConfig=function(){ct=null,ae=!1},t.isValidAttribute=function(u,s,a){ct||pe({});let c=w(u),E=w(s);return on(c,E,a)},t.addHook=function(u,s){typeof s=="function"&&$t(R[u],s)},t.removeHook=function(u,s){if(s!==void 0){let a=Ps(R[u],s);return a===-1?void 0:ks(R[u],a,1)[0]}return Ln(R[u])},t.removeHooks=function(u){R[u]=[]},t.removeAllHooks=function(){R=Un()},t}var Gn=Bn();function Jt(i,t){let e=document.createElement(i);for(let[n,r]of Object.entries(t)){let o=n.replace(/_/g,"-");r!==null&&e.setAttribute(o,r)}return e}var J=class extends q{createRenderRoot(){return this}};function Ie({headline:i="",message:t,status:e="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:i,message:t,status:e}}))}async function Wn(i){if(window.Shiny&&i)try{await window.Shiny.renderDependenciesAsync(i)}catch(t){Ie({status:"error",message:`Failed to render HTML dependencies: ${t}`})}}var ti=Gn();ti.addHook("uponSanitizeElement",(i,t)=>{if(i.nodeName&&i.nodeName==="SCRIPT"){let e=i,n=e.getAttribute("type")==="application/json"&&e.getAttribute("data-for")!==null;t.allowedTags.script=n}});window.shinychat=window.shinychat||{};window.shinychat.hiddenToolRequests=window.shinychat.hiddenToolRequests||new Set;var k=class extends q{constructor(){super(...arguments);this.expanded=!1;this.classStatus="";this.icon="";this.titleTemplate="{title}"}createRenderRoot(){return this}#t(e){e.preventDefault(),this.expanded=!this.expanded,this.requestUpdate()}formatTitle(){let e=this.toolTitle||`${this.toolName}()`;return e=`${e}`,e=this.titleTemplate.replace("{title}",e),y`${Z(e)}`}renderCard(e){let n=`tool-header-${this.requestId}`,r=`tool-content-${this.requestId}`,o=y` +
${Z(this.icon)}
+
${this.formatTitle()}
+
+ ${this.intent?y`
${this.intent}
`:""} + `;return y` +
+ +
+ ${e} +
+
+ `}};g([f({type:String,attribute:"request-id"})],k.prototype,"requestId",2),g([f({type:String,attribute:"tool-name"})],k.prototype,"toolName",2),g([f({type:String,attribute:"tool-title"})],k.prototype,"toolTitle",2),g([f({type:String})],k.prototype,"intent",2),g([f({type:Boolean,reflect:!0})],k.prototype,"expanded",2),g([f({type:String})],k.prototype,"classStatus",2),g([f({type:String})],k.prototype,"icon",2),g([f({type:String})],k.prototype,"titleTemplate",2);var pt=class extends k{constructor(){super();this.hidden=!1;this.#t=e=>{e.detail.request_id===this.requestId&&(this.hidden=!0)};this.titleTemplate="Running {title}",this.icon='
'}connectedCallback(){super.connectedCallback(),this.hidden=window.shinychat.hiddenToolRequests.has(this.requestId),window.addEventListener("shiny-tool-request-hide",this.#t)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("shiny-tool-request-hide",this.#t)}#t;render(){if(this.hidden)return y``;let e=y` + + `;return this.renderCard(y`
+ Tool arguments ${e} +
`)}};g([f({type:String})],pt.prototype,"arguments",2),g([f({type:Boolean,reflect:!0})],pt.prototype,"hidden",2);var K=class extends k{constructor(){super();this.showRequest=!1;this.titleTemplate="{title}"}connectedCallback(){super.connectedCallback(),this.status==="error"?(this.classStatus="text-danger",this.icon=De.exclamationCircleFill,this.titleTemplate="{title} failed"):this.icon||(this.icon=De.wrenchAdjustable),window.shinychat.hiddenToolRequests.add(this.requestId),this.dispatchEvent(new CustomEvent("shiny-tool-request-hide",{detail:{request_id:this.requestId},bubbles:!0,cancelable:!0}))}#t(){let e="";if(this.valueType==="html"?e=y`${Z(this.value)}`:this.valueType==="text"?e=y`

${this.value}

`:(this.valueType!=="markdown"&&(e=Pe(this.value,"text")),e=y``),!this.showRequest&&this.valueType==="html")return e;let n=this.showRequest?y`Tool result `:"";return y`
+ ${n}${e} +
`}#e(){if(!this.showRequest||!this.requestCall)return"";let e=y``,n=this.requestCall.split(` +`).length>2;return y`
+ ${n?y`
+ Tool call + ${e} +
`:y`Tool call ${e}`} +
`}render(){let e=y` ${this.#e()} ${this.#t()} `;return this.renderCard(e)}};g([f({type:String,attribute:"request-call"})],K.prototype,"requestCall",2),g([f({type:String})],K.prototype,"status",2),g([f({type:Boolean,attribute:"show-request"})],K.prototype,"showRequest",2),g([f({type:String})],K.prototype,"value",2),g([f({type:String,attribute:"value-type"})],K.prototype,"valueType",2);var De={exclamationCircleFill:` + +`,wrenchAdjustable:` + + +`,plus:` + + +`},Pe=(i,t="markdown")=>{let e="`".repeat(8);return`${e}${t} +${i} +${e}`};window.Shiny?.addCustomMessageHandler("shiny-tool-request-hide",i=>{window.shinychat.hiddenToolRequests.add(i);let t=new CustomEvent("shiny-tool-request-hide",{detail:{request_id:i},bubbles:!0,cancelable:!0});window.dispatchEvent(t)});var ke="shiny-chat-message",Vn="shiny-user-message",Yn="shiny-chat-messages",Kn="shiny-chat-input",ei="shiny-chat-container",ni="shiny-tool-request",si="shiny-tool-result",jn={robot:'',dots_fade:''},st=class extends J{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let n=this.content.trim().length===0?jn.dots_fade:this.icon||jn.robot;return y` +
${Z(n)}
- `}#e(){this.streaming||this.#t()}#t(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(e=>{if(!(e instanceof HTMLElement)||e.hasAttribute("tabindex"))return;e.setAttribute("tabindex","0"),e.setAttribute("role","button");let n=e.dataset.suggestion||e.textContent;e.setAttribute("aria-label",`Use chat suggestion: ${n}`)})}};B([U()],Q.prototype,"content",2),B([U({attribute:"content-type"})],Q.prototype,"contentType",2),B([U({type:Boolean,reflect:!0})],Q.prototype,"streaming",2),B([U()],Q.prototype,"icon",2);var Kt=class extends Y{constructor(){super(...arguments);this.content="..."}render(){return ct` + `}#t(){this.streaming||this.#e()}#e(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(e=>{if(!(e instanceof HTMLElement)||e.hasAttribute("tabindex"))return;e.setAttribute("tabindex","0"),e.setAttribute("role","button");let n=e.dataset.suggestion||e.textContent;e.setAttribute("aria-label",`Use chat suggestion: ${n}`)})}};g([f()],st.prototype,"content",2),g([f({attribute:"content-type"})],st.prototype,"contentType",2),g([f({type:Boolean,reflect:!0})],st.prototype,"streaming",2),g([f()],st.prototype,"icon",2);var Qt=class extends J{constructor(){super(...arguments);this.content="..."}render(){return y` - `}};B([U()],Kt.prototype,"content",2);var Ne=class extends Y{render(){return ct``}},Mt=class extends Y{constructor(){super(...arguments);this.placeholder="Enter a message...";this._disabled=!1}get disabled(){return this._disabled}set disabled(e){let n=this._disabled;e!==n&&(this._disabled=e,e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",n),this.#t())}connectedCallback(){super.connectedCallback(),this.inputVisibleObserver=new IntersectionObserver(e=>{e.forEach(n=>{n.isIntersecting&&this.#n()})}),this.inputVisibleObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.inputVisibleObserver?.disconnect(),this.inputVisibleObserver=void 0}attributeChangedCallback(e,n,i){super.attributeChangedCallback(e,n,i),e==="disabled"&&(this.disabled=i!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){return ct` + `}};g([f()],Qt.prototype,"content",2);var Ue=class extends J{render(){return y``}},Ot=class extends J{constructor(){super(...arguments);this.placeholder="Enter a message...";this._disabled=!1}get disabled(){return this._disabled}set disabled(e){let n=this._disabled;e!==n&&(this._disabled=e,e?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",n),this.#e())}connectedCallback(){super.connectedCallback(),this.inputVisibleObserver=new IntersectionObserver(e=>{e.forEach(n=>{n.isIntersecting&&this.#n()})}),this.inputVisibleObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.inputVisibleObserver?.disconnect(),this.inputVisibleObserver=void 0}attributeChangedCallback(e,n,r){super.attributeChangedCallback(e,n,r),e==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){return y` - `}#e(e){e.code==="Enter"&&!e.shiftKey&&!this.valueIsEmpty&&(e.preventDefault(),this.#s())}#t(){this.#n(),this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#t()}#s(e=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let n=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(n),this.setInputValue(""),this.disabled=!0,e&&this.textarea.focus()}#n(){let e=this.textarea;e.scrollHeight!=0&&(e.style.height="auto",e.style.height=`${e.scrollHeight}px`)}setInputValue(e,{submit:n=!1,focus:i=!1}={}){let r=this.textarea.value;this.textarea.value=e;let l=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(l),n&&(this.#s(!1),r&&this.setInputValue(r)),i&&this.textarea.focus()}};B([U()],Mt.prototype,"placeholder",2),B([U({type:Boolean})],Mt.prototype,"disabled",1);var Xt=class extends Y{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(Wn)}get messages(){return this.querySelector(Gn)}get lastMessage(){let e=this.messages.lastElementChild;return e||null}render(){return ct``}connectedCallback(){super.connectedCallback();let e=this.querySelector("div");e||(e=Yt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",e)),this.inputSentinelObserver=new IntersectionObserver(n=>{let i=this.input.querySelector("textarea");if(!i)return;let r=n[0]?.intersectionRatio===0;i.classList.toggle("shadow",r)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(e)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#e),this.addEventListener("shiny-chat-append-message",this.#t),this.addEventListener("shiny-chat-append-message-chunk",this.#r),this.addEventListener("shiny-chat-clear-messages",this.#a),this.addEventListener("shiny-chat-update-user-input",this.#l),this.addEventListener("shiny-chat-remove-loading-message",this.#p),this.addEventListener("click",this.#c),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#e),this.removeEventListener("shiny-chat-append-message",this.#t),this.removeEventListener("shiny-chat-append-message-chunk",this.#r),this.removeEventListener("shiny-chat-clear-messages",this.#a),this.removeEventListener("shiny-chat-update-user-input",this.#l),this.removeEventListener("shiny-chat-remove-loading-message",this.#p),this.removeEventListener("click",this.#c),this.removeEventListener("keydown",this.#u)}#e(e){this.#n(e.detail),this.#d()}#t(e){this.#n(e.detail)}#s(){this.#o(),this.input.disabled||(this.input.disabled=!0)}#n(e,n=!0){this.#s();let i=e.role==="user"?Bn:Re;this.iconAssistant&&(e.icon=e.icon||this.iconAssistant);let r=Yt(i,e);this.messages.appendChild(r),n&&this.#i()}#d(){let n=Yt(Re,{content:"",role:"assistant"});this.messages.appendChild(n)}#o(){this.lastMessage?.content||this.lastMessage?.remove()}#r(e){this.#f(e.detail)}#f(e){e.chunk_type==="message_start"&&this.#n(e,!1);let n=this.lastMessage;if(!n)throw new Error("No messages found in the chat output");if(e.chunk_type==="message_start"){n.setAttribute("streaming","");return}let i=e.operation==="append"?n.getAttribute("content")+e.content:e.content;n.setAttribute("content",i),e.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#i())}#a(){this.messages.innerHTML=""}#l(e){let{value:n,placeholder:i,submit:r,focus:l}=e.detail;n!==void 0&&this.input.setInputValue(n,{submit:r,focus:l}),i!==void 0&&(this.input.placeholder=i)}#c(e){this.#h(e)}#u(e){(e.key==="Enter"||e.key===" ")&&this.#h(e)}#h(e){let{suggestion:n,submit:i}=this.#m(e.target);if(!n)return;e.preventDefault();let r=e.metaKey||e.ctrlKey?!0:e.altKey?!1:i;this.input.setInputValue(n,{submit:r,focus:!r})}#m(e){if(!(e instanceof HTMLElement))return{};let n=e.closest(".suggestion, [data-suggestion]");return n instanceof HTMLElement?n.classList.contains("suggestion")||n.dataset.suggestion!==void 0?{suggestion:n.dataset.suggestion||n.textContent||void 0,submit:n.classList.contains("submit")||n.dataset.suggestionSubmit===""||n.dataset.suggestionSubmit==="true"}:{}:{}}#p(){this.#o(),this.#i()}#i(){this.input.disabled=!1}};B([U({attribute:"icon-assistant"})],Xt.prototype,"iconAssistant",2);var Zs=[{tag:Re,component:Q},{tag:Bn,component:Kt},{tag:Gn,component:Ne},{tag:Wn,component:Mt},{tag:Xs,component:Xt}];Zs.forEach(({tag:o,component:t})=>{customElements.get(o)||customElements.define(o,t)});window.Shiny.addCustomMessageHandler("shinyChatMessage",async function(o){o.obj?.html_deps&&await zn(o.obj.html_deps);let t=new CustomEvent(o.handler,{detail:o.obj}),e=document.getElementById(o.id);if(!e){Le({status:"error",message:`Unable to handle Chat() message since element with id - ${o.id} wasn't found. Do you need to call .ui() (Express) or need a - chat_ui('${o.id}') in the UI (Core)? - `});return}e.dispatchEvent(t)});export{Xs as CHAT_CONTAINER_TAG}; + `}#t(e){e.code==="Enter"&&!e.shiftKey&&!this.valueIsEmpty&&(e.preventDefault(),this.#s())}#e(){this.#n(),this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#e()}#s(e=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let n=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(n),this.setInputValue(""),this.disabled=!0,e&&this.textarea.focus()}#n(){let e=this.textarea;e.scrollHeight!=0&&(e.style.height="auto",e.style.height=`${e.scrollHeight}px`)}setInputValue(e,{submit:n=!1,focus:r=!1}={}){let o=this.textarea.value;this.textarea.value=e;let l=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(l),n&&(this.#s(!1),o&&this.setInputValue(o)),r&&this.textarea.focus()}};g([f()],Ot.prototype,"placeholder",2),g([f({type:Boolean})],Ot.prototype,"disabled",1);var te=class extends J{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(Kn)}get messages(){return this.querySelector(Yn)}get lastMessage(){let e=this.messages.lastElementChild;return e||null}render(){return y``}connectedCallback(){super.connectedCallback();let e=this.querySelector("div");e||(e=Jt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",e)),this.inputSentinelObserver=new IntersectionObserver(n=>{let r=this.input.querySelector("textarea");if(!r)return;let o=n[0]?.intersectionRatio===0;r.classList.toggle("shadow",o)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(e)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#t),this.addEventListener("shiny-chat-append-message",this.#e),this.addEventListener("shiny-chat-append-message-chunk",this.#o),this.addEventListener("shiny-chat-clear-messages",this.#a),this.addEventListener("shiny-chat-update-user-input",this.#l),this.addEventListener("shiny-chat-remove-loading-message",this.#d),this.addEventListener("click",this.#c),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#t),this.removeEventListener("shiny-chat-append-message",this.#e),this.removeEventListener("shiny-chat-append-message-chunk",this.#o),this.removeEventListener("shiny-chat-clear-messages",this.#a),this.removeEventListener("shiny-chat-update-user-input",this.#l),this.removeEventListener("shiny-chat-remove-loading-message",this.#d),this.removeEventListener("click",this.#c),this.removeEventListener("keydown",this.#u)}#t(e){this.#n(e.detail),this.#p()}#e(e){this.#n(e.detail)}#s(){this.#r(),this.input.disabled||(this.input.disabled=!0)}#n(e,n=!0){this.#s();let r=e.role==="user"?Vn:ke;this.iconAssistant&&(e.icon=e.icon||this.iconAssistant);let o=Jt(r,e);this.messages.appendChild(o),n&&this.#i()}#p(){let n=Jt(ke,{content:"",role:"assistant"});this.messages.appendChild(n)}#r(){this.lastMessage?.content||this.lastMessage?.remove()}#o(e){this.#m(e.detail)}#m(e){e.chunk_type==="message_start"&&this.#n(e,!1);let n=this.lastMessage;if(!n)throw new Error("No messages found in the chat output");if(e.chunk_type==="message_start"){n.setAttribute("streaming","");return}let r=e.operation==="append"?n.getAttribute("content")+e.content:e.content;n.setAttribute("content",r),e.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#i())}#a(){this.messages.innerHTML=""}#l(e){let{value:n,placeholder:r,submit:o,focus:l}=e.detail;n!==void 0&&this.input.setInputValue(n,{submit:o,focus:l}),r!==void 0&&(this.input.placeholder=r)}#c(e){this.#h(e)}#u(e){(e.key==="Enter"||e.key===" ")&&this.#h(e)}#h(e){let{suggestion:n,submit:r}=this.#f(e.target);if(!n)return;e.preventDefault();let o=e.metaKey||e.ctrlKey?!0:e.altKey?!1:r;this.input.setInputValue(n,{submit:o,focus:!o})}#f(e){if(!(e instanceof HTMLElement))return{};let n=e.closest(".suggestion, [data-suggestion]");return n instanceof HTMLElement?n.classList.contains("suggestion")||n.dataset.suggestion!==void 0?{suggestion:n.dataset.suggestion||n.textContent||void 0,submit:n.classList.contains("submit")||n.dataset.suggestionSubmit===""||n.dataset.suggestionSubmit==="true"}:{}:{}}#d(){this.#r(),this.#i()}#i(){this.input.disabled=!1}};g([f({attribute:"icon-assistant"})],te.prototype,"iconAssistant",2);var ii=[{tag:ke,component:st},{tag:Vn,component:Qt},{tag:Yn,component:Ue},{tag:Kn,component:Ot},{tag:ei,component:te},{tag:ni,component:pt},{tag:si,component:K}];ii.forEach(({tag:i,component:t})=>{customElements.get(i)||customElements.define(i,t)});window.Shiny?.addCustomMessageHandler("shinyChatMessage",async function(i){i.obj?.html_deps&&await Wn(i.obj.html_deps);let t=new CustomEvent(i.handler,{detail:i.obj}),e=document.getElementById(i.id);if(!e){Ie({status:"error",message:`Unable to handle Chat() message since element with id + ${i.id} wasn't found. Do you need to call .ui() (Express) or need a + chat_ui('${i.id}') in the UI (Core)? + `});return}e.dispatchEvent(t)});export{ei as CHAT_CONTAINER_TAG}; /*! Bundled license information: @lit/reactive-element/css-tag.js: diff --git a/pkg-r/inst/lib/shiny/chat/chat.js.map b/pkg-r/inst/lib/shiny/chat/chat.js.map index 556efd0f..e48902fa 100644 --- a/pkg-r/inst/lib/shiny/chat/chat.js.map +++ b/pkg-r/inst/lib/shiny/chat/chat.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../node_modules/dompurify/src/utils.ts", "../../node_modules/dompurify/src/tags.ts", "../../node_modules/dompurify/src/attrs.ts", "../../node_modules/dompurify/src/regexp.ts", "../../node_modules/dompurify/src/purify.ts", "../../src/utils/_utils.ts", "../../src/chat/chat.ts"], - "sourcesContent": ["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic the native feature](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/adoptedStyleSheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable = Omit & {\n -readonly [P in keyof Pick]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n global.litIssuedWarnings ??= new Set();\n\n /**\n * Issue a warning if we haven't already, based either on `code` or `warning`.\n * Warnings are disabled automatically only by `warning`; disabling via `code`\n * can be done by users.\n */\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (\n !global.litIssuedWarnings!.has(warning) &&\n !global.litIssuedWarnings!.has(code)\n ) {\n console.warn(warning);\n global.litIssuedWarnings!.add(warning);\n }\n };\n\n queueMicrotask(() => {\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n });\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =

(\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n\n /**\n * When `true`, uses the initial value of the property as the default value,\n * which changes how attributes are handled:\n * - The initial value does *not* reflect, even if the `reflect` option is `true`.\n * Subsequent changes to the property will reflect, even if they are equal to the\n * default value.\n * - When the attribute is removed, the property is set to the default value\n * - The initial value will not trigger an old value in the `changedProperties` map\n * argument to update lifecycle methods.\n *\n * When set, properties must be initialized, either with a field initializer, or an\n * assignment in the constructor. Not initializing the property may lead to\n * improper handling of subsequent property assignments.\n *\n * While this behavior is opt-in, most properties that reflect to attributes should\n * use `useDefault: true` so that their initial values do not reflect.\n */\n useDefault?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n useDefault: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property({ attribute: \"content-type\" }) contentType: ContentType =\n \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n @property() icon = \"\";\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0;\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot;\n\n return html`\n

${unsafeHTML(icon)}
\n \n `;\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible();\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return;\n if (el.hasAttribute(\"tabindex\")) return;\n\n el.setAttribute(\"tabindex\", \"0\");\n el.setAttribute(\"role\", \"button\");\n\n const suggestion = el.dataset.suggestion || el.textContent;\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`);\n });\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean;\n focus?: boolean;\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\";\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled;\n if (value === oldValue) {\n return;\n }\n\n this._disabled = value;\n if (value) {\n this.setAttribute(\"disabled\", \"\");\n } else {\n this.removeAttribute(\"disabled\");\n }\n\n this.requestUpdate(\"disabled\", oldValue);\n this.#onInput();\n }\n\n private _disabled = false;\n inputVisibleObserver?: IntersectionObserver;\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.inputVisibleObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) this.#updateHeight();\n });\n });\n\n this.inputVisibleObserver.observe(this);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.inputVisibleObserver?.disconnect();\n this.inputVisibleObserver = undefined;\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n super.attributeChangedCallback(name, _old, value);\n if (name === \"disabled\") {\n this.disabled = value !== null;\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.#updateHeight();\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n #updateHeight(): void {\n const el = this.textarea;\n if (el.scrollHeight == 0) {\n return;\n }\n el.style.height = \"auto\";\n el.style.height = `${el.scrollHeight}px`;\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nconst chatCustomElements = [\n { tag: CHAT_MESSAGE_TAG, component: ChatMessage },\n { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage },\n { tag: CHAT_MESSAGES_TAG, component: ChatMessages },\n { tag: CHAT_INPUT_TAG, component: ChatInput },\n { tag: CHAT_CONTAINER_TAG, component: ChatContainer }\n];\n\nchatCustomElements.forEach(({ tag, component }) => {\n if (!customElements.get(tag)) {\n customElements.define(tag, component);\n }\n});\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], - "mappings": "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GvDN,EAAMM,CAAK,EAAI,MAInB,OAAON,CACT,CAQA,SAASO,EAAqCC,EAAS,CACrD,IAAMC,EAAY/D,GAAO,IAAI,EAE7B,OAAW,CAACgE,EAAUC,CAAK,IAAKzE,GAAQsE,CAAM,EACpB3B,EAAqB2B,EAAQE,CAAQ,IAGvDrD,MAAMuD,QAAQD,CAAK,EACrBF,EAAUC,CAAQ,EAAIL,GAAWM,CAAK,EAEtCA,GACA,OAAOA,GAAU,UACjBA,EAAME,cAAgBtE,OAEtBkE,EAAUC,CAAQ,EAAIH,EAAMI,CAAK,EAEjCF,EAAUC,CAAQ,EAAIC,GAK5B,OAAOF,CACT,CASA,SAASK,GACPN,EACAO,EAAY,CAEZ,KAAOP,IAAW,MAAM,CACtB,IAAMQ,EAAO1E,GAAyBkE,EAAQO,CAAI,EAElD,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAO7D,EAAQ4D,EAAKC,GAAG,EAGzB,GAAI,OAAOD,EAAKL,OAAU,WACxB,OAAOvD,EAAQ4D,EAAKL,KAAK,CAE7B,CAEAH,EAASnE,GAAemE,CAAM,CAChC,CAEA,SAASU,GAAa,CACpB,OAAO,IACT,CAEA,OAAOA,CACT,CC3MO,IAAMC,GAAO3E,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACG,EAEG4E,GAAM5E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACC,EAEG6E,GAAa7E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACN,EAMG8E,GAAgB9E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACG,EAEG+E,GAAS/E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACL,EAIGgF,GAAmBhF,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACE,EAEGiF,GAAOjF,EAAO,CAAC,OAAO,CAAU,ECpRhC2E,GAAO3E,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACE,EAEG4E,GAAM5E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACJ,EAEG+E,GAAS/E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYkF,GAAMlF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACL,EC/WGmF,GAAgBlF,EAAK,2BAA2B,EAChDmF,GAAWnF,EAAK,uBAAuB,EACvCoF,GAAcpF,EAAK,eAAe,EAClCqF,GAAYrF,EAAK,8BAA8B,EAC/CsF,GAAYtF,EAAK,gBAAgB,EACjCuF,GAAiBvF,EAC5B,oGAEWwF,GAAoBxF,EAAK,uBAAuB,EAChDyF,GAAkBzF,EAC7B,+DAEW0F,GAAe1F,EAAK,SAAS,EAC7B2F,GAAiB3F,EAAK,0BAA0B,uMCmBvD4F,GAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,IAGNC,GAAY,UAAA,CAChB,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAChCC,EACAC,EAAoC,CAEpC,GACE,OAAOD,GAAiB,UACxB,OAAOA,EAAaE,cAAiB,WAErC,OAAO,KAMT,IAAIC,EAAS,KACPC,EAAY,wBACdH,GAAqBA,EAAkBI,aAAaD,CAAS,IAC/DD,EAASF,EAAkBK,aAAaF,CAAS,GAGnD,IAAMG,EAAa,aAAeJ,EAAS,IAAMA,EA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", - "names": ["global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "useDefault", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "prototype", "hasOwnProperty", "create", "wrapped", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "get", "v", "oldValue", "call", "requestUpdate", "configurable", "enumerable", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "__defaultValues", "newValue", "hasAttribute", "_$changeProperty", "__enqueueUpdate", "initializeValue", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "mathml", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "wrapper", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "global", "globalThis", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "global", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "Object", "create", "wrapped", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "getOwnPropertyDescriptor", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "func", "thisArg", "lastIndex", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "__removalCount", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "LightElement", "i", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizer", "purify", "node", "data", "element", "isOK", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "entries", "entry", "#updateHeight", "name", "_old", "#onKeyDown", "#sendInput", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "chatCustomElements", "tag", "component", "renderDependencies", "evt", "showShinyClientMessage"] + "sources": ["../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../node_modules/dompurify/src/utils.ts", "../../node_modules/dompurify/src/tags.ts", "../../node_modules/dompurify/src/attrs.ts", "../../node_modules/dompurify/src/regexp.ts", "../../node_modules/dompurify/src/purify.ts", "../../src/utils/_utils.ts", "../../src/chat/chat-tools.ts", "../../src/chat/chat.ts"], + "sourcesContent": ["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\nconst NODE_MODE = false;\n\n// Allows minifiers to rename references to globalThis\nconst global = globalThis;\n\n/**\n * Whether the current browser supports `adoptedStyleSheets`.\n */\nexport const supportsAdoptingStyleSheets: boolean =\n global.ShadowRoot &&\n (global.ShadyCSS === undefined || global.ShadyCSS.nativeShadow) &&\n 'adoptedStyleSheets' in Document.prototype &&\n 'replace' in CSSStyleSheet.prototype;\n\n/**\n * A CSSResult or native CSSStyleSheet.\n *\n * In browsers that support constructible CSS style sheets, CSSStyleSheet\n * object can be used for styling along side CSSResult from the `css`\n * template tag.\n */\nexport type CSSResultOrNative = CSSResult | CSSStyleSheet;\n\nexport type CSSResultArray = Array;\n\n/**\n * A single CSSResult, CSSStyleSheet, or an array or nested arrays of those.\n */\nexport type CSSResultGroup = CSSResultOrNative | CSSResultArray;\n\nconst constructionToken = Symbol();\n\nconst cssTagCache = new WeakMap();\n\n/**\n * A container for a string of CSS text, that may be used to create a CSSStyleSheet.\n *\n * CSSResult is the return value of `css`-tagged template literals and\n * `unsafeCSS()`. In order to ensure that CSSResults are only created via the\n * `css` tag and `unsafeCSS()`, CSSResult cannot be constructed directly.\n */\nexport class CSSResult {\n // This property needs to remain unminified.\n ['_$cssResult$'] = true;\n readonly cssText: string;\n private _styleSheet?: CSSStyleSheet;\n private _strings: TemplateStringsArray | undefined;\n\n private constructor(\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ) {\n if (safeToken !== constructionToken) {\n throw new Error(\n 'CSSResult is not constructable. Use `unsafeCSS` or `css` instead.'\n );\n }\n this.cssText = cssText;\n this._strings = strings;\n }\n\n // This is a getter so that it's lazy. In practice, this means stylesheets\n // are not created until the first element instance is made.\n get styleSheet(): CSSStyleSheet | undefined {\n // If `supportsAdoptingStyleSheets` is true then we assume CSSStyleSheet is\n // constructable.\n let styleSheet = this._styleSheet;\n const strings = this._strings;\n if (supportsAdoptingStyleSheets && styleSheet === undefined) {\n const cacheable = strings !== undefined && strings.length === 1;\n if (cacheable) {\n styleSheet = cssTagCache.get(strings);\n }\n if (styleSheet === undefined) {\n (this._styleSheet = styleSheet = new CSSStyleSheet()).replaceSync(\n this.cssText\n );\n if (cacheable) {\n cssTagCache.set(strings, styleSheet);\n }\n }\n }\n return styleSheet;\n }\n\n toString(): string {\n return this.cssText;\n }\n}\n\ntype ConstructableCSSResult = CSSResult & {\n new (\n cssText: string,\n strings: TemplateStringsArray | undefined,\n safeToken: symbol\n ): CSSResult;\n};\n\nconst textFromCSSResult = (value: CSSResultGroup | number) => {\n // This property needs to remain unminified.\n if ((value as CSSResult)['_$cssResult$'] === true) {\n return (value as CSSResult).cssText;\n } else if (typeof value === 'number') {\n return value;\n } else {\n throw new Error(\n `Value passed to 'css' function must be a 'css' function result: ` +\n `${value}. Use 'unsafeCSS' to pass non-literal values, but take care ` +\n `to ensure page security.`\n );\n }\n};\n\n/**\n * Wrap a value for interpolation in a {@linkcode css} tagged template literal.\n *\n * This is unsafe because untrusted CSS text can be used to phone home\n * or exfiltrate data to an attacker controlled site. Take care to only use\n * this with trusted input.\n */\nexport const unsafeCSS = (value: unknown) =>\n new (CSSResult as ConstructableCSSResult)(\n typeof value === 'string' ? value : String(value),\n undefined,\n constructionToken\n );\n\n/**\n * A template literal tag which can be used with LitElement's\n * {@linkcode LitElement.styles} property to set element styles.\n *\n * For security reasons, only literal string values and number may be used in\n * embedded expressions. To incorporate non-literal values {@linkcode unsafeCSS}\n * may be used inside an expression.\n */\nexport const css = (\n strings: TemplateStringsArray,\n ...values: (CSSResultGroup | number)[]\n): CSSResult => {\n const cssText =\n strings.length === 1\n ? strings[0]\n : values.reduce(\n (acc, v, idx) => acc + textFromCSSResult(v) + strings[idx + 1],\n strings[0]\n );\n return new (CSSResult as ConstructableCSSResult)(\n cssText,\n strings,\n constructionToken\n );\n};\n\n/**\n * Applies the given styles to a `shadowRoot`. When Shadow DOM is\n * available but `adoptedStyleSheets` is not, styles are appended to the\n * `shadowRoot` to [mimic the native feature](https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/adoptedStyleSheets).\n * Note, when shimming is used, any styles that are subsequently placed into\n * the shadowRoot should be placed *before* any shimmed adopted styles. This\n * will match spec behavior that gives adopted sheets precedence over styles in\n * shadowRoot.\n */\nexport const adoptStyles = (\n renderRoot: ShadowRoot,\n styles: Array\n) => {\n if (supportsAdoptingStyleSheets) {\n (renderRoot as ShadowRoot).adoptedStyleSheets = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!\n );\n } else {\n for (const s of styles) {\n const style = document.createElement('style');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const nonce = (global as any)['litNonce'];\n if (nonce !== undefined) {\n style.setAttribute('nonce', nonce);\n }\n style.textContent = (s as CSSResult).cssText;\n renderRoot.appendChild(style);\n }\n }\n};\n\nconst cssResultFromStyleSheet = (sheet: CSSStyleSheet) => {\n let cssText = '';\n for (const rule of sheet.cssRules) {\n cssText += rule.cssText;\n }\n return unsafeCSS(cssText);\n};\n\nexport const getCompatibleStyle =\n supportsAdoptingStyleSheets ||\n (NODE_MODE && global.CSSStyleSheet === undefined)\n ? (s: CSSResultOrNative) => s\n : (s: CSSResultOrNative) =>\n s instanceof CSSStyleSheet ? cssResultFromStyleSheet(s) : s;\n", "/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * Use this module if you want to create your own base class extending\n * {@link ReactiveElement}.\n * @packageDocumentation\n */\n\nimport {\n getCompatibleStyle,\n adoptStyles,\n CSSResultGroup,\n CSSResultOrNative,\n} from './css-tag.js';\nimport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n// In the Node build, this import will be injected by Rollup:\n// import {HTMLElement, customElements} from '@lit-labs/ssr-dom-shim';\n\nexport * from './css-tag.js';\nexport type {\n ReactiveController,\n ReactiveControllerHost,\n} from './reactive-controller.js';\n\n/**\n * Removes the `readonly` modifier from properties in the union K.\n *\n * This is a safer way to cast a value to a type with a mutable version of a\n * readonly field, than casting to an interface with the field re-declared\n * because it preserves the type of all the fields and warns on typos.\n */\ntype Mutable = Omit & {\n -readonly [P in keyof Pick]: P extends K ? T[P] : never;\n};\n\n// TODO (justinfagnani): Add `hasOwn` here when we ship ES2022\nconst {\n is,\n defineProperty,\n getOwnPropertyDescriptor,\n getOwnPropertyNames,\n getOwnPropertySymbols,\n getPrototypeOf,\n} = Object;\n\nconst NODE_MODE = false;\n\n// Lets a minifier replace globalThis references with a minified name\nconst global = globalThis;\n\nif (NODE_MODE) {\n global.customElements ??= customElements;\n}\n\nconst DEV_MODE = true;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nconst trustedTypes = (global as unknown as {trustedTypes?: {emptyScript: ''}})\n .trustedTypes;\n\n// Temporary workaround for https://crbug.com/993268\n// Currently, any attribute starting with \"on\" is considered to be a\n// TrustedScript source. Such boolean attributes must be set to the equivalent\n// trusted emptyScript value.\nconst emptyStringForBooleanAttribute = trustedTypes\n ? (trustedTypes.emptyScript as unknown as '')\n : '';\n\nconst polyfillSupport = DEV_MODE\n ? global.reactiveElementPolyfillSupportDevMode\n : global.reactiveElementPolyfillSupport;\n\nif (DEV_MODE) {\n // Ensure warnings are issued only 1x, even if multiple versions of Lit\n // are loaded.\n global.litIssuedWarnings ??= new Set();\n\n /**\n * Issue a warning if we haven't already, based either on `code` or `warning`.\n * Warnings are disabled automatically only by `warning`; disabling via `code`\n * can be done by users.\n */\n issueWarning = (code: string, warning: string) => {\n warning += ` See https://lit.dev/msg/${code} for more information.`;\n if (\n !global.litIssuedWarnings!.has(warning) &&\n !global.litIssuedWarnings!.has(code)\n ) {\n console.warn(warning);\n global.litIssuedWarnings!.add(warning);\n }\n };\n\n queueMicrotask(() => {\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n\n // Issue polyfill support warning.\n if (global.ShadyDOM?.inUse && polyfillSupport === undefined) {\n issueWarning(\n 'polyfill-support-missing',\n `Shadow DOM is being polyfilled via \\`ShadyDOM\\` but ` +\n `the \\`polyfill-support\\` module has not been loaded.`\n );\n }\n });\n}\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace ReactiveUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry = Update;\n export interface Update {\n kind: 'update';\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: ReactiveUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n\n/*\n * When using Closure Compiler, JSCompiler_renameProperty(property, object) is\n * replaced at compile time by the munged name for object[property]. We cannot\n * alias this function, so we have to use a small shim that has the same\n * behavior when not compiling.\n */\n/*@__INLINE__*/\nconst JSCompiler_renameProperty =

(\n prop: P,\n _obj: unknown\n): P => prop;\n\n/**\n * Converts property values to and from attribute values.\n */\nexport interface ComplexAttributeConverter {\n /**\n * Called to convert an attribute value to a property\n * value.\n */\n fromAttribute?(value: string | null, type?: TypeHint): Type;\n\n /**\n * Called to convert a property value to an attribute\n * value.\n *\n * It returns unknown instead of string, to be compatible with\n * https://github.com/WICG/trusted-types (and similar efforts).\n */\n toAttribute?(value: Type, type?: TypeHint): unknown;\n}\n\ntype AttributeConverter =\n | ComplexAttributeConverter\n | ((value: string | null, type?: TypeHint) => Type);\n\n/**\n * Defines options for a property accessor.\n */\nexport interface PropertyDeclaration {\n /**\n * When set to `true`, indicates the property is internal private state. The\n * property should not be set by users. When using TypeScript, this property\n * should be marked as `private` or `protected`, and it is also a common\n * practice to use a leading `_` in the name. The property is not added to\n * `observedAttributes`.\n */\n readonly state?: boolean;\n\n /**\n * Indicates how and whether the property becomes an observed attribute.\n * If the value is `false`, the property is not added to `observedAttributes`.\n * If true or absent, the lowercased property name is observed (e.g. `fooBar`\n * becomes `foobar`). If a string, the string value is observed (e.g\n * `attribute: 'foo-bar'`).\n */\n readonly attribute?: boolean | string;\n\n /**\n * Indicates the type of the property. This is used only as a hint for the\n * `converter` to determine how to convert the attribute\n * to/from a property.\n */\n readonly type?: TypeHint;\n\n /**\n * Indicates how to convert the attribute to/from a property. If this value\n * is a function, it is used to convert the attribute value a the property\n * value. If it's an object, it can have keys for `fromAttribute` and\n * `toAttribute`. If no `toAttribute` function is provided and\n * `reflect` is set to `true`, the property value is set directly to the\n * attribute. A default `converter` is used if none is provided; it supports\n * `Boolean`, `String`, `Number`, `Object`, and `Array`. Note,\n * when a property changes and the converter is used to update the attribute,\n * the property is never updated again as a result of the attribute changing,\n * and vice versa.\n */\n readonly converter?: AttributeConverter;\n\n /**\n * Indicates if the property should reflect to an attribute.\n * If `true`, when the property is set, the attribute is set using the\n * attribute name determined according to the rules for the `attribute`\n * property option and the value of the property converted using the rules\n * from the `converter` property option.\n */\n readonly reflect?: boolean;\n\n /**\n * A function that indicates if a property should be considered changed when\n * it is set. The function should take the `newValue` and `oldValue` and\n * return `true` if an update should be requested.\n */\n hasChanged?(value: Type, oldValue: Type): boolean;\n\n /**\n * Indicates whether an accessor will be created for this property. By\n * default, an accessor will be generated for this property that requests an\n * update when set. If this flag is `true`, no accessor will be created, and\n * it will be the user's responsibility to call\n * `this.requestUpdate(propertyName, oldValue)` to request an update when\n * the property changes.\n */\n readonly noAccessor?: boolean;\n\n /**\n * Whether this property is wrapping accessors. This is set by `@property`\n * to control the initial value change and reflection logic.\n *\n * @internal\n */\n wrapped?: boolean;\n\n /**\n * When `true`, uses the initial value of the property as the default value,\n * which changes how attributes are handled:\n * - The initial value does *not* reflect, even if the `reflect` option is `true`.\n * Subsequent changes to the property will reflect, even if they are equal to the\n * default value.\n * - When the attribute is removed, the property is set to the default value\n * - The initial value will not trigger an old value in the `changedProperties` map\n * argument to update lifecycle methods.\n *\n * When set, properties must be initialized, either with a field initializer, or an\n * assignment in the constructor. Not initializing the property may lead to\n * improper handling of subsequent property assignments.\n *\n * While this behavior is opt-in, most properties that reflect to attributes should\n * use `useDefault: true` so that their initial values do not reflect.\n */\n useDefault?: boolean;\n}\n\n/**\n * Map of properties to PropertyDeclaration options. For each property an\n * accessor is made, and the property is processed according to the\n * PropertyDeclaration options.\n */\nexport interface PropertyDeclarations {\n readonly [key: string]: PropertyDeclaration;\n}\n\ntype PropertyDeclarationMap = Map;\n\ntype AttributeMap = Map;\n\n/**\n * A Map of property keys to values.\n *\n * Takes an optional type parameter T, which when specified as a non-any,\n * non-unknown type, will make the Map more strongly-typed, associating the map\n * keys with their corresponding value type on T.\n *\n * Use `PropertyValues` when overriding ReactiveElement.update() and\n * other lifecycle methods in order to get stronger type-checking on keys\n * and values.\n */\n// This type is conditional so that if the parameter T is not specified, or\n// is `any`, the type will include `Map`. Since T is not\n// given in the uses of PropertyValues in this file, all uses here fallback to\n// meaning `Map`, but if a developer uses\n// `PropertyValues` (or any other value for T) they will get a\n// strongly-typed Map type.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type PropertyValues = T extends object\n ? PropertyValueMap\n : Map;\n\n/**\n * Do not use, instead prefer {@linkcode PropertyValues}.\n */\n// This type must be exported such that JavaScript generated by the Google\n// Closure Compiler can import a type reference.\nexport interface PropertyValueMap extends Map {\n get(k: K): T[K] | undefined;\n set(key: K, value: T[K]): this;\n has(k: K): boolean;\n delete(k: K): boolean;\n}\n\nexport const defaultConverter: ComplexAttributeConverter = {\n toAttribute(value: unknown, type?: unknown): unknown {\n switch (type) {\n case Boolean:\n value = value ? emptyStringForBooleanAttribute : null;\n break;\n case Object:\n case Array:\n // if the value is `null` or `undefined` pass this through\n // to allow removing/no change behavior.\n value = value == null ? value : JSON.stringify(value);\n break;\n }\n return value;\n },\n\n fromAttribute(value: string | null, type?: unknown) {\n let fromValue: unknown = value;\n switch (type) {\n case Boolean:\n fromValue = value !== null;\n break;\n case Number:\n fromValue = value === null ? null : Number(value);\n break;\n case Object:\n case Array:\n // Do *not* generate exception when invalid JSON is set as elements\n // don't normally complain on being mis-configured.\n // TODO(sorvell): Do generate exception in *dev mode*.\n try {\n // Assert to adhere to Bazel's \"must type assert JSON parse\" rule.\n fromValue = JSON.parse(value!) as unknown;\n } catch (e) {\n fromValue = null;\n }\n break;\n }\n return fromValue;\n },\n};\n\nexport interface HasChanged {\n (value: unknown, old: unknown): boolean;\n}\n\n/**\n * Change function that returns true if `value` is different from `oldValue`.\n * This method is used as the default for a property's `hasChanged` function.\n */\nexport const notEqual: HasChanged = (value: unknown, old: unknown): boolean =>\n !is(value, old);\n\nconst defaultPropertyDeclaration: PropertyDeclaration = {\n attribute: true,\n type: String,\n converter: defaultConverter,\n reflect: false,\n useDefault: false,\n hasChanged: notEqual,\n};\n\n/**\n * A string representing one of the supported dev mode warning categories.\n */\nexport type WarningKind =\n | 'change-in-update'\n | 'migration'\n | 'async-perform-update';\n\nexport type Initializer = (element: ReactiveElement) => void;\n\n// Temporary, until google3 is on TypeScript 5.2\ndeclare global {\n interface SymbolConstructor {\n readonly metadata: unique symbol;\n }\n}\n\n// Ensure metadata is enabled. TypeScript does not polyfill\n// Symbol.metadata, so we must ensure that it exists.\n(Symbol as {metadata: symbol}).metadata ??= Symbol('metadata');\n\ndeclare global {\n // This is public global API, do not change!\n // eslint-disable-next-line no-var\n var litPropertyMetadata: WeakMap<\n object,\n Map\n >;\n}\n\n// Map from a class's metadata object to property options\n// Note that we must use nullish-coalescing assignment so that we only use one\n// map even if we load multiple version of this module.\nglobal.litPropertyMetadata ??= new WeakMap<\n object,\n Map\n>();\n\n/**\n * Base element class which manages element properties and attributes. When\n * properties change, the `update` method is asynchronously called. This method\n * should be supplied by subclasses to render updates as desired.\n * @noInheritDoc\n */\nexport abstract class ReactiveElement\n // In the Node build, this `extends` clause will be substituted with\n // `(globalThis.HTMLElement ?? HTMLElement)`.\n //\n // This way, we will first prefer any global `HTMLElement` polyfill that the\n // user has assigned, and then fall back to the `HTMLElement` shim which has\n // been imported (see note at the top of this file about how this import is\n // generated by Rollup). Note that the `HTMLElement` variable has been\n // shadowed by this import, so it no longer refers to the global.\n extends HTMLElement\n implements ReactiveControllerHost\n{\n // Note: these are patched in only in DEV_MODE.\n /**\n * Read or set all the enabled warning categories for this class.\n *\n * This property is only used in development builds.\n *\n * @nocollapse\n * @category dev-mode\n */\n static enabledWarnings?: WarningKind[];\n\n /**\n * Enable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Enable for all ReactiveElement subclasses\n * ReactiveElement.enableWarning?.('migration');\n *\n * // Enable for only MyElement and subclasses\n * MyElement.enableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static enableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Disable the given warning category for this class.\n *\n * This method only exists in development builds, so it should be accessed\n * with a guard like:\n *\n * ```ts\n * // Disable for all ReactiveElement subclasses\n * ReactiveElement.disableWarning?.('migration');\n *\n * // Disable for only MyElement and subclasses\n * MyElement.disableWarning?.('migration');\n * ```\n *\n * @nocollapse\n * @category dev-mode\n */\n static disableWarning?: (warningKind: WarningKind) => void;\n\n /**\n * Adds an initializer function to the class that is called during instance\n * construction.\n *\n * This is useful for code that runs against a `ReactiveElement`\n * subclass, such as a decorator, that needs to do work for each\n * instance, such as setting up a `ReactiveController`.\n *\n * ```ts\n * const myDecorator = (target: typeof ReactiveElement, key: string) => {\n * target.addInitializer((instance: ReactiveElement) => {\n * // This is run during construction of the element\n * new MyController(instance);\n * });\n * }\n * ```\n *\n * Decorating a field will then cause each instance to run an initializer\n * that adds a controller:\n *\n * ```ts\n * class MyElement extends LitElement {\n * @myDecorator foo;\n * }\n * ```\n *\n * Initializers are stored per-constructor. Adding an initializer to a\n * subclass does not add it to a superclass. Since initializers are run in\n * constructors, initializers will run in order of the class hierarchy,\n * starting with superclasses and progressing to the instance's class.\n *\n * @nocollapse\n */\n static addInitializer(initializer: Initializer) {\n this.__prepare();\n (this._initializers ??= []).push(initializer);\n }\n\n static _initializers?: Initializer[];\n\n /*\n * Due to closure compiler ES6 compilation bugs, @nocollapse is required on\n * all static methods and properties with initializers. Reference:\n * - https://github.com/google/closure-compiler/issues/1776\n */\n\n /**\n * Maps attribute names to properties; for example `foobar` attribute to\n * `fooBar` property. Created lazily on user subclasses when finalizing the\n * class.\n * @nocollapse\n */\n private static __attributeToPropertyMap: AttributeMap;\n\n /**\n * Marks class as having been finalized, which includes creating properties\n * from `static properties`, but does *not* include all properties created\n * from decorators.\n * @nocollapse\n */\n protected static finalized: true | undefined;\n\n /**\n * Memoized list of all element properties, including any superclass\n * properties. Created lazily on user subclasses when finalizing the class.\n *\n * @nocollapse\n * @category properties\n */\n static elementProperties: PropertyDeclarationMap;\n\n /**\n * User-supplied object that maps property names to `PropertyDeclaration`\n * objects containing options for configuring reactive properties. When\n * a reactive property is set the element will update and render.\n *\n * By default properties are public fields, and as such, they should be\n * considered as primarily settable by element users, either via attribute or\n * the property itself.\n *\n * Generally, properties that are changed by the element should be private or\n * protected fields and should use the `state: true` option. Properties\n * marked as `state` do not reflect from the corresponding attribute\n *\n * However, sometimes element code does need to set a public property. This\n * should typically only be done in response to user interaction, and an event\n * should be fired informing the user; for example, a checkbox sets its\n * `checked` property when clicked and fires a `changed` event. Mutating\n * public properties should typically not be done for non-primitive (object or\n * array) properties. In other cases when an element needs to manage state, a\n * private property set with the `state: true` option should be used. When\n * needed, state properties can be initialized via public properties to\n * facilitate complex interactions.\n * @nocollapse\n * @category properties\n */\n static properties: PropertyDeclarations;\n\n /**\n * Memoized list of all element styles.\n * Created lazily on user subclasses when finalizing the class.\n * @nocollapse\n * @category styles\n */\n static elementStyles: Array = [];\n\n /**\n * Array of styles to apply to the element. The styles should be defined\n * using the {@linkcode css} tag function, via constructible stylesheets, or\n * imported from native CSS module scripts.\n *\n * Note on Content Security Policy:\n *\n * Element styles are implemented with `',\n}\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\"\n @property({ attribute: \"content-type\" }) contentType: ContentType = \"markdown\"\n @property({ type: Boolean, reflect: true }) streaming = false\n @property() icon = \"\"\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot\n\n return html`\n

${unsafeHTML(icon)}
\n \n `\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible()\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n if (el.hasAttribute(\"tabindex\")) return\n\n el.setAttribute(\"tabindex\", \"0\")\n el.setAttribute(\"role\", \"button\")\n\n const suggestion = el.dataset.suggestion || el.textContent\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`)\n })\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\"\n\n render() {\n return html`\n \n `\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean\n focus?: boolean\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\"\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled\n if (value === oldValue) {\n return\n }\n\n this._disabled = value\n if (value) {\n this.setAttribute(\"disabled\", \"\")\n } else {\n this.removeAttribute(\"disabled\")\n }\n\n this.requestUpdate(\"disabled\", oldValue)\n this.#onInput()\n }\n\n private _disabled = false\n inputVisibleObserver?: IntersectionObserver\n\n connectedCallback(): void {\n super.connectedCallback()\n\n this.inputVisibleObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) this.#updateHeight()\n })\n })\n\n this.inputVisibleObserver.observe(this)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n this.inputVisibleObserver?.disconnect()\n this.inputVisibleObserver = undefined\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null,\n ) {\n super.attributeChangedCallback(name, _old, value)\n if (name === \"disabled\") {\n this.disabled = value !== null\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement\n }\n\n private get value(): string {\n return this.textarea.value\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement\n }\n\n render() {\n const icon =\n ''\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault()\n this.#sendInput()\n }\n }\n\n #onInput(): void {\n this.#updateHeight()\n this.button.disabled = this.disabled ? true : this.value.trim().length === 0\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput()\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return\n if (this.disabled) return\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" })\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n })\n this.dispatchEvent(sentEvent)\n\n this.setInputValue(\"\")\n this.disabled = true\n\n if (focus) this.textarea.focus()\n }\n\n #updateHeight(): void {\n const el = this.textarea\n if (el.scrollHeight == 0) {\n return\n }\n el.style.height = \"auto\"\n el.style.height = `${el.scrollHeight}px`\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {},\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value\n\n this.textarea.value = value\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true })\n this.textarea.dispatchEvent(inputEvent)\n\n if (submit) {\n this.#sendInput(false)\n if (oldValue) this.setInputValue(oldValue)\n }\n\n if (focus) {\n this.textarea.focus()\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\"\n inputSentinelObserver?: IntersectionObserver\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild\n return last ? (last as ChatMessage) : null\n }\n\n render() {\n return html``\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\")\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement\n this.input.insertAdjacentElement(\"afterend\", sentinel)\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\")\n if (!inputTextarea) return\n const addShadow = entries[0]?.intersectionRatio === 0\n inputTextarea.classList.toggle(\"shadow\", addShadow)\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n },\n )\n\n this.inputSentinelObserver.observe(sentinel)\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.addEventListener(\"click\", this.#onInputSuggestionClick)\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n\n this.inputSentinelObserver?.disconnect()\n this.inputSentinelObserver = undefined\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.removeEventListener(\"click\", this.#onInputSuggestionClick)\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n this.#addLoadingMessage()\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage()\n if (!this.input.disabled) {\n this.input.disabled = true\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage()\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant\n }\n\n const msg = createElement(TAG_NAME, message)\n this.messages.appendChild(msg)\n\n if (finalize) {\n this.#finalizeMessage()\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n }\n const message = createElement(CHAT_MESSAGE_TAG, loading_message)\n this.messages.appendChild(message)\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content\n if (!content) this.lastMessage?.remove()\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail)\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false)\n }\n\n const lastMessage = this.lastMessage\n if (!lastMessage) throw new Error(\"No messages found in the chat output\")\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\")\n return\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content\n\n lastMessage.setAttribute(\"content\", content)\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\")\n this.#finalizeMessage()\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\"\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus })\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \"\n if (!isEnterOrSpace) return\n\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target)\n if (!suggestion) return\n\n e.preventDefault()\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n })\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string\n submit?: boolean\n } {\n if (!(x instanceof HTMLElement)) return {}\n\n const el = x.closest(\".suggestion, [data-suggestion]\")\n if (!(el instanceof HTMLElement)) return {}\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") || el.dataset.suggestion !== undefined\n if (!isSuggestion) return {}\n\n const suggestion = el.dataset.suggestion || el.textContent\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n }\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage()\n this.#finalizeMessage()\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nconst chatCustomElements = [\n { tag: CHAT_MESSAGE_TAG, component: ChatMessage },\n { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage },\n { tag: CHAT_MESSAGES_TAG, component: ChatMessages },\n { tag: CHAT_INPUT_TAG, component: ChatInput },\n { tag: CHAT_CONTAINER_TAG, component: ChatContainer },\n { tag: CHAT_TOOL_REQUEST_TAG, component: ShinyToolRequest },\n { tag: CHAT_TOOL_RESULT_TAG, component: ShinyToolResult },\n]\n\nchatCustomElements.forEach(({ tag, component }) => {\n if (!customElements.get(tag)) {\n customElements.define(tag, component)\n }\n})\n\nwindow.Shiny?.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps)\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n })\n\n const el = document.getElementById(message.id)\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n })\n return\n }\n\n el.dispatchEvent(evt)\n },\n)\n\nexport { CHAT_CONTAINER_TAG }\n"], + "mappings": "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GvDN,EAAMM,CAAK,EAAI,MAInB,OAAON,CACT,CAQA,SAASO,EAAqCC,EAAS,CACrD,IAAMC,EAAY/D,GAAO,IAAI,EAE7B,OAAW,CAACgE,EAAUC,CAAK,IAAKzE,GAAQsE,CAAM,EACpB3B,EAAqB2B,EAAQE,CAAQ,IAGvDrD,MAAMuD,QAAQD,CAAK,EACrBF,EAAUC,CAAQ,EAAIL,GAAWM,CAAK,EAEtCA,GACA,OAAOA,GAAU,UACjBA,EAAME,cAAgBtE,OAEtBkE,EAAUC,CAAQ,EAAIH,EAAMI,CAAK,EAEjCF,EAAUC,CAAQ,EAAIC,GAK5B,OAAOF,CACT,CASA,SAASK,GACPN,EACAO,EAAY,CAEZ,KAAOP,IAAW,MAAM,CACtB,IAAMQ,EAAO1E,GAAyBkE,EAAQO,CAAI,EAElD,GAAIC,EAAM,CACR,GAAIA,EAAKC,IACP,OAAO7D,EAAQ4D,EAAKC,GAAG,EAGzB,GAAI,OAAOD,EAAKL,OAAU,WACxB,OAAOvD,EAAQ4D,EAAKL,KAAK,CAE7B,CAEAH,EAASnE,GAAemE,CAAM,CAChC,CAEA,SAASU,GAAa,CACpB,OAAO,IACT,CAEA,OAAOA,CACT,CC3MO,IAAMC,GAAO3E,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,SACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACG,EAEG4E,GAAM5E,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACC,EAEG6E,GAAa7E,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACN,EAMG8E,GAAgB9E,EAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACG,EAEG+E,GAAS/E,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACL,EAIGgF,GAAmBhF,EAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACE,EAEGiF,GAAOjF,EAAO,CAAC,OAAO,CAAU,ECpRhC2E,GAAO3E,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACE,EAEG4E,GAAM5E,EAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACJ,EAEG+E,GAAS/E,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYkF,GAAMlF,EAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACL,EC/WGmF,GAAgBlF,EAAK,2BAA2B,EAChDmF,GAAWnF,EAAK,uBAAuB,EACvCoF,GAAcpF,EAAK,eAAe,EAClCqF,GAAYrF,EAAK,8BAA8B,EAC/CsF,GAAYtF,EAAK,gBAAgB,EACjCuF,GAAiBvF,EAC5B,oGAEWwF,GAAoBxF,EAAK,uBAAuB,EAChDyF,GAAkBzF,EAC7B,+DAEW0F,GAAe1F,EAAK,SAAS,EAC7B2F,GAAiB3F,EAAK,0BAA0B,uMCmBvD4F,GAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,IAGNC,GAAY,UAAA,CAChB,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAChCC,EACAC,EAAoC,CAEpC,GACE,OAAOD,GAAiB,UACxB,OAAOA,EAAaE,cAAiB,WAErC,OAAO,KAMT,IAAIC,EAAS,KACPC,EAAY,wBACdH,GAAqBA,EAAkBI,aAAaD,CAAS,IAC/DD,EAASF,EAAkBK,aAAaF,CAAS,GAGnD,IAAMG,EAAa,aAAeJ,EAAS,IAAMA,EA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", + "names": ["global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "useDefault", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "prototype", "hasOwnProperty", "create", "wrapped", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "get", "v", "oldValue", "call", "requestUpdate", "configurable", "enumerable", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "__defaultValues", "newValue", "hasAttribute", "_$changeProperty", "__enqueueUpdate", "initializeValue", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "mathml", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "wrapper", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "global", "globalThis", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "global", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "Object", "create", "wrapped", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "getOwnPropertyDescriptor", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "func", "thisArg", "lastIndex", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "__removalCount", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "LightElement", "i", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizer", "purify", "node", "data", "element", "isOK", "ShinyToolCard", "i", "#toggleCollapse", "displayTitle", "x", "o", "bodyContent", "headerId", "contentId", "headerContent", "ICONS", "__decorateClass", "n", "ShinyToolRequest", "#onToolRequestHide", "event", "markdownCodeBlock", "ShinyToolResult", "#renderResult", "result", "resultHeader", "#renderRequest", "request", "isLongRequest", "content", "language", "backticks", "request_id", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "CHAT_TOOL_REQUEST_TAG", "CHAT_TOOL_RESULT_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "entries", "entry", "#updateHeight", "name", "_old", "#onKeyDown", "#sendInput", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "chatCustomElements", "ShinyToolRequest", "ShinyToolResult", "tag", "component", "renderDependencies", "evt", "showShinyClientMessage"] } diff --git a/pkg-r/inst/lib/shiny/markdown-stream/markdown-stream.js b/pkg-r/inst/lib/shiny/markdown-stream/markdown-stream.js index 75d18109..2d168b35 100644 --- a/pkg-r/inst/lib/shiny/markdown-stream/markdown-stream.js +++ b/pkg-r/inst/lib/shiny/markdown-stream/markdown-stream.js @@ -1,35 +1,35 @@ -var da=Object.create;var $n=Object.defineProperty;var Ui=Object.getOwnPropertyDescriptor;var pa=Object.getOwnPropertyNames;var ga=Object.getPrototypeOf,fa=Object.prototype.hasOwnProperty;var H=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports);var ha=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of pa(e))!fa.call(n,r)&&r!==t&&$n(n,r,{get:()=>e[r],enumerable:!(i=Ui(e,r))||i.enumerable});return n};var Bi=(n,e,t)=>(t=n!=null?da(ga(n)):{},ha(e||!n||!n.__esModule?$n(t,"default",{value:n,enumerable:!0}):t,n));var pe=(n,e,t,i)=>{for(var r=i>1?void 0:i?Ui(e,t):e,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(e,t,r):s(r))||r);return i&&r&&$n(e,t,r),r};var sr=H((Pt,Yn)=>{(function(e,t){typeof Pt=="object"&&typeof Yn=="object"?Yn.exports=t():typeof define=="function"&&define.amd?define([],t):typeof Pt=="object"?Pt.ClipboardJS=t():e.ClipboardJS=t()})(Pt,function(){return function(){var n={686:function(i,r,o){"use strict";o.d(r,{default:function(){return $}});var s=o(279),a=o.n(s),c=o(370),u=o.n(c),d=o(817),g=o.n(d);function p(w){try{return document.execCommand(w)}catch{return!1}}var f=function(m){var E=g()(m);return p("cut"),E},b=f;function T(w){var m=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[m?"right":"left"]="-9999px";var v=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(v,"px"),E.setAttribute("readonly",""),E.value=w,E}var k=function(m,E){var v=T(m);E.container.appendChild(v);var R=g()(v);return p("copy"),v.remove(),R},M=function(m){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},v="";return typeof m=="string"?v=k(m,E):m instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(m?.type)?v=k(m.value,E):(v=g()(m),p("copy")),v},P=M;function U(w){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?U=function(E){return typeof E}:U=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},U(w)}var C=function(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=m.action,v=E===void 0?"copy":E,R=m.container,A=m.target,ee=m.text;if(v!=="copy"&&v!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(A!==void 0)if(A&&U(A)==="object"&&A.nodeType===1){if(v==="copy"&&A.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(v==="cut"&&(A.hasAttribute("readonly")||A.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ee)return P(ee,{container:R});if(A)return v==="cut"?b(A):P(A,{container:R})},B=C;function D(w){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?D=function(E){return typeof E}:D=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},D(w)}function ie(w,m){if(!(w instanceof m))throw new TypeError("Cannot call a class as a function")}function K(w,m){for(var E=0;E"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function h(w){return h=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},h(w)}function S(w,m){var E="data-clipboard-".concat(w);if(m.hasAttribute(E))return m.getAttribute(E)}var N=function(w){ce(E,w);var m=le(E);function E(v,R){var A;return ie(this,E),A=m.call(this),A.resolveOptions(R),A.listenClick(v),A}return X(E,[{key:"resolveOptions",value:function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof R.action=="function"?R.action:this.defaultAction,this.target=typeof R.target=="function"?R.target:this.defaultTarget,this.text=typeof R.text=="function"?R.text:this.defaultText,this.container=D(R.container)==="object"?R.container:document.body}},{key:"listenClick",value:function(R){var A=this;this.listener=u()(R,"click",function(ee){return A.onClick(ee)})}},{key:"onClick",value:function(R){var A=R.delegateTarget||R.currentTarget,ee=this.action(A)||"copy",ve=B({action:ee,container:this.container,target:this.target(A),text:this.text(A)});this.emit(ve?"success":"error",{action:ee,text:ve,trigger:A,clearSelection:function(){A&&A.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(R){return S("action",R)}},{key:"defaultTarget",value:function(R){var A=S("target",R);if(A)return document.querySelector(A)}},{key:"defaultText",value:function(R){return S("text",R)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(R){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return P(R,A)}},{key:"cut",value:function(R){return b(R)}},{key:"isSupported",value:function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],A=typeof R=="string"?[R]:R,ee=!!document.queryCommandSupported;return A.forEach(function(ve){ee=ee&&!!document.queryCommandSupported(ve)}),ee}}]),E}(a()),$=N},828:function(i){var r=9;if(typeof Element<"u"&&!Element.prototype.matches){var o=Element.prototype;o.matches=o.matchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector||o.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==r;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}i.exports=s},438:function(i,r,o){var s=o(828);function a(d,g,p,f,b){var T=u.apply(this,arguments);return d.addEventListener(p,T,b),{destroy:function(){d.removeEventListener(p,T,b)}}}function c(d,g,p,f,b){return typeof d.addEventListener=="function"?a.apply(null,arguments):typeof p=="function"?a.bind(null,document).apply(null,arguments):(typeof d=="string"&&(d=document.querySelectorAll(d)),Array.prototype.map.call(d,function(T){return a(T,g,p,f,b)}))}function u(d,g,p,f){return function(b){b.delegateTarget=s(b.target,g),b.delegateTarget&&f.call(d,b)}}i.exports=c},879:function(i,r){r.node=function(o){return o!==void 0&&o instanceof HTMLElement&&o.nodeType===1},r.nodeList=function(o){var s=Object.prototype.toString.call(o);return o!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in o&&(o.length===0||r.node(o[0]))},r.string=function(o){return typeof o=="string"||o instanceof String},r.fn=function(o){var s=Object.prototype.toString.call(o);return s==="[object Function]"}},370:function(i,r,o){var s=o(879),a=o(438);function c(p,f,b){if(!p&&!f&&!b)throw new Error("Missing required arguments");if(!s.string(f))throw new TypeError("Second argument must be a String");if(!s.fn(b))throw new TypeError("Third argument must be a Function");if(s.node(p))return u(p,f,b);if(s.nodeList(p))return d(p,f,b);if(s.string(p))return g(p,f,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function u(p,f,b){return p.addEventListener(f,b),{destroy:function(){p.removeEventListener(f,b)}}}function d(p,f,b){return Array.prototype.forEach.call(p,function(T){T.addEventListener(f,b)}),{destroy:function(){Array.prototype.forEach.call(p,function(T){T.removeEventListener(f,b)})}}}function g(p,f,b){return a(document.body,p,f,b)}i.exports=c},817:function(i){function r(o){var s;if(o.nodeName==="SELECT")o.focus(),s=o.value;else if(o.nodeName==="INPUT"||o.nodeName==="TEXTAREA"){var a=o.hasAttribute("readonly");a||o.setAttribute("readonly",""),o.select(),o.setSelectionRange(0,o.value.length),a||o.removeAttribute("readonly"),s=o.value}else{o.hasAttribute("contenteditable")&&o.focus();var c=window.getSelection(),u=document.createRange();u.selectNodeContents(o),c.removeAllRanges(),c.addRange(u),s=c.toString()}return s}i.exports=r},279:function(i){function r(){}r.prototype={on:function(o,s,a){var c=this.e||(this.e={});return(c[o]||(c[o]=[])).push({fn:s,ctx:a}),this},once:function(o,s,a){var c=this;function u(){c.off(o,u),s.apply(a,arguments)}return u._=s,this.on(o,u,a)},emit:function(o){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[o]||[]).slice(),c=0,u=a.length;for(c;c{function pr(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(e=>{let t=n[e],i=typeof t;(i==="object"||i==="function")&&!Object.isFrozen(t)&&pr(t)}),n}var un=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function gr(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function Je(n,...e){let t=Object.create(null);for(let i in n)t[i]=n[i];return e.forEach(function(i){for(let r in i)t[r]=i[r]}),t}var Ca="",or=n=>!!n.scope,Ma=(n,{prefix:e})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){let t=n.split(".");return[`${e}${t.shift()}`,...t.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${n}`},Xn=class{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=gr(e)}openNode(e){if(!or(e))return;let t=Ma(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){or(e)&&(this.buffer+=Ca)}value(){return this.buffer}span(e){this.buffer+=``}},ar=(n={})=>{let e={children:[]};return Object.assign(e,n),e},Qn=class n{constructor(){this.rootNode=ar(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=ar({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t=="string"?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(i=>this._walk(e,i)),e.closeNode(t)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(t=>typeof t=="string")?e.children=[e.children.join("")]:e.children.forEach(t=>{n._collapse(t)}))}},Jn=class extends Qn{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let i=e.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new Xn(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ut(n){return n?typeof n=="string"?n:n.source:null}function fr(n){return ot("(?=",n,")")}function Ia(n){return ot("(?:",n,")*")}function La(n){return ot("(?:",n,")?")}function ot(...n){return n.map(t=>Ut(t)).join("")}function Da(n){let e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function ei(...n){return"("+(Da(n).capture?"":"?:")+n.map(i=>Ut(i)).join("|")+")"}function hr(n){return new RegExp(n.toString()+"|").exec("").length-1}function $a(n,e){let t=n&&n.exec(e);return t&&t.index===0}var Pa=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function ti(n,{joinWith:e}){let t=0;return n.map(i=>{t+=1;let r=t,o=Ut(i),s="";for(;o.length>0;){let a=Pa.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])+r):(s+=a[0],a[0]==="("&&t++)}return s}).map(i=>`(${i})`).join(e)}var Ua=/\b\B/,mr="[a-zA-Z]\\w*",ni="[a-zA-Z_]\\w*",br="\\b\\d+(\\.\\d+)?",_r="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Er="\\b(0b[01]+)",Ba="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",za=(n={})=>{let e=/^#![ ]*\//;return n.binary&&(n.begin=ot(e,/.*\b/,n.binary,/\b.*/)),Je({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},n)},Bt={begin:"\\\\[\\s\\S]",relevance:0},Fa={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Bt]},Ha={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Bt]},Ga={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/},pn=function(n,e,t={}){let i=Je({scope:"comment",begin:n,end:e,contains:[]},t);i.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 r=ei("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 i.contains.push({begin:ot(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Ka=pn("//","$"),qa=pn("/\\*","\\*/"),Wa=pn("#","$"),Za={scope:"number",begin:br,relevance:0},Ya={scope:"number",begin:_r,relevance:0},Va={scope:"number",begin:Er,relevance:0},Xa={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Bt,{begin:/\[/,end:/\]/,relevance:0,contains:[Bt]}]},Qa={scope:"title",begin:mr,relevance:0},Ja={scope:"title",begin:ni,relevance:0},ja={begin:"\\.\\s*"+ni,relevance:0},ec=function(n){return Object.assign(n,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},ln=Object.freeze({__proto__:null,APOS_STRING_MODE:Fa,BACKSLASH_ESCAPE:Bt,BINARY_NUMBER_MODE:Va,BINARY_NUMBER_RE:Er,COMMENT:pn,C_BLOCK_COMMENT_MODE:qa,C_LINE_COMMENT_MODE:Ka,C_NUMBER_MODE:Ya,C_NUMBER_RE:_r,END_SAME_AS_BEGIN:ec,HASH_COMMENT_MODE:Wa,IDENT_RE:mr,MATCH_NOTHING_RE:Ua,METHOD_GUARD:ja,NUMBER_MODE:Za,NUMBER_RE:br,PHRASAL_WORDS_MODE:Ga,QUOTE_STRING_MODE:Ha,REGEXP_MODE:Xa,RE_STARTERS_RE:Ba,SHEBANG:za,TITLE_MODE:Qa,UNDERSCORE_IDENT_RE:ni,UNDERSCORE_TITLE_MODE:Ja});function tc(n,e){n.input[n.index-1]==="."&&e.ignoreMatch()}function nc(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function ic(n,e){e&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=tc,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function rc(n,e){Array.isArray(n.illegal)&&(n.illegal=ei(...n.illegal))}function sc(n,e){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function oc(n,e){n.relevance===void 0&&(n.relevance=1)}var ac=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");let t=Object.assign({},n);Object.keys(n).forEach(i=>{delete n[i]}),n.keywords=t.keywords,n.begin=ot(t.beforeMatch,fr(t.begin)),n.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},n.relevance=0,delete t.beforeMatch},cc=["of","and","for","in","not","or","if","then","parent","list","value"],lc="keyword";function yr(n,e,t=lc){let i=Object.create(null);return typeof n=="string"?r(t,n.split(" ")):Array.isArray(n)?r(t,n):Object.keys(n).forEach(function(o){Object.assign(i,yr(n[o],e,o))}),i;function r(o,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let c=a.split("|");i[c[0]]=[o,uc(c[0],c[1])]})}}function uc(n,e){return e?Number(e):dc(n)?0:1}function dc(n){return cc.includes(n.toLowerCase())}var cr={},st=n=>{console.error(n)},lr=(n,...e)=>{console.log(`WARN: ${n}`,...e)},yt=(n,e)=>{cr[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),cr[`${n}/${e}`]=!0)},dn=new Error;function Tr(n,e,{key:t}){let i=0,r=n[t],o={},s={};for(let a=1;a<=e.length;a++)s[a+i]=r[a],o[a+i]=!0,i+=hr(e[a-1]);n[t]=s,n[t]._emit=o,n[t]._multi=!0}function pc(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw st("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),dn;if(typeof n.beginScope!="object"||n.beginScope===null)throw st("beginScope must be object"),dn;Tr(n,n.begin,{key:"beginScope"}),n.begin=ti(n.begin,{joinWith:""})}}function gc(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw st("skip, excludeEnd, returnEnd not compatible with endScope: {}"),dn;if(typeof n.endScope!="object"||n.endScope===null)throw st("endScope must be object"),dn;Tr(n,n.end,{key:"endScope"}),n.end=ti(n.end,{joinWith:""})}}function fc(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function hc(n){fc(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),pc(n),gc(n)}function mc(n){function e(s,a){return new RegExp(Ut(s),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(a?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,a]),this.matchAt+=hr(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(c=>c[1]);this.matcherRe=e(ti(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(a);if(!c)return null;let u=c.findIndex((g,p)=>p>0&&g!==void 0),d=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,d)}}class i{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 c=new t;return this.rules.slice(a).forEach(([u,d])=>c.addRule(u,d)),c.compile(),this.multiRegexes[a]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,c){this.rules.push([a,c]),c.type==="begin"&&this.count++}exec(a){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(a);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,u=d.exec(a)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(s){let a=new i;return s.contains.forEach(c=>a.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){let c=s;if(s.isCompiled)return c;[nc,sc,hc,ac].forEach(d=>d(s,a)),n.compilerExtensions.forEach(d=>d(s,a)),s.__beforeBegin=null,[ic,rc,oc].forEach(d=>d(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=yr(s.keywords,n.case_insensitive)),c.keywordPatternRe=e(u,!0),a&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=Ut(c.end)||"",s.endsWithParent&&a.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(d){return bc(d==="self"?s:d)})),s.contains.forEach(function(d){o(d,c)}),s.starts&&o(s.starts,a),c.matcher=r(c),c}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=Je(n.classNameAliases||{}),o(n)}function wr(n){return n?n.endsWithParent||wr(n.starts):!1}function bc(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return Je(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:wr(n)?Je(n,{starts:n.starts?Je(n.starts):null}):Object.isFrozen(n)?Je(n):n}var _c="11.11.1",jn=class extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}},Vn=gr,ur=Je,dr=Symbol("nomatch"),Ec=7,vr=function(n){let e=Object.create(null),t=Object.create(null),i=[],r=!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:Jn};function c(h){return a.noHighlightRe.test(h)}function u(h){let S=h.className+" ";S+=h.parentNode?h.parentNode.className:"";let N=a.languageDetectRe.exec(S);if(N){let $=K(N[1]);return $||(lr(o.replace("{}",N[1])),lr("Falling back to no-highlight mode for this block.",h)),$?N[1]:"no-highlight"}return S.split(/\s+/).find($=>c($)||K($))}function d(h,S,N){let $="",w="";typeof S=="object"?($=h,N=S.ignoreIllegals,w=S.language):(yt("10.7.0","highlight(lang, code, ...args) has been deprecated."),yt("10.7.0",`Please use highlight(code, options) instead. -https://github.com/highlightjs/highlight.js/issues/2277`),w=h,$=S),N===void 0&&(N=!0);let m={code:$,language:w};j("before:highlight",m);let E=m.result?m.result:g(m.language,m.code,N);return E.code=m.code,j("after:highlight",E),E}function g(h,S,N,$){let w=Object.create(null);function m(y,x){return y.keywords[x]}function E(){if(!L.keywords){se.addText(Y);return}let y=0;L.keywordPatternRe.lastIndex=0;let x=L.keywordPatternRe.exec(Y),z="";for(;x;){z+=Y.substring(y,x.index);let W=fe.case_insensitive?x[0].toLowerCase():x[0],oe=m(L,W);if(oe){let[Ne,gt]=oe;if(se.addText(z),z="",w[W]=(w[W]||0)+1,w[W]<=Ec&&(pt+=gt),Ne.startsWith("_"))z+=x[0];else{let ft=fe.classNameAliases[Ne]||Ne;A(x[0],ft)}}else z+=x[0];y=L.keywordPatternRe.lastIndex,x=L.keywordPatternRe.exec(Y)}z+=Y.substring(y),se.addText(z)}function v(){if(Y==="")return;let y=null;if(typeof L.subLanguage=="string"){if(!e[L.subLanguage]){se.addText(Y);return}y=g(L.subLanguage,Y,!0,Ue[L.subLanguage]),Ue[L.subLanguage]=y._top}else y=f(Y,L.subLanguage.length?L.subLanguage:null);L.relevance>0&&(pt+=y.relevance),se.__addSublanguage(y._emitter,y.language)}function R(){L.subLanguage!=null?v():E(),Y=""}function A(y,x){y!==""&&(se.startScope(x),se.addText(y),se.endScope())}function ee(y,x){let z=1,W=x.length-1;for(;z<=W;){if(!y._emit[z]){z++;continue}let oe=fe.classNameAliases[y[z]]||y[z],Ne=x[z];oe?A(Ne,oe):(Y=Ne,E(),Y=""),z++}}function ve(y,x){return y.scope&&typeof y.scope=="string"&&se.openNode(fe.classNameAliases[y.scope]||y.scope),y.beginScope&&(y.beginScope._wrap?(A(Y,fe.classNameAliases[y.beginScope._wrap]||y.beginScope._wrap),Y=""):y.beginScope._multi&&(ee(y.beginScope,x),Y="")),L=Object.create(y,{parent:{value:L}}),L}function Pe(y,x,z){let W=$a(y.endRe,z);if(W){if(y["on:end"]){let oe=new un(y);y["on:end"](x,oe),oe.isMatchIgnored&&(W=!1)}if(W){for(;y.endsParent&&y.parent;)y=y.parent;return y}}if(y.endsWithParent)return Pe(y.parent,x,z)}function et(y){return L.matcher.regexIndex===0?(Y+=y[0],1):(Ie=!0,0)}function ut(y){let x=y[0],z=y.rule,W=new un(z),oe=[z.__beforeBegin,z["on:begin"]];for(let Ne of oe)if(Ne&&(Ne(y,W),W.isMatchIgnored))return et(x);return z.skip?Y+=x:(z.excludeBegin&&(Y+=x),R(),!z.returnBegin&&!z.excludeBegin&&(Y=x)),ve(z,y),z.returnBegin?0:x.length}function dt(y){let x=y[0],z=S.substring(y.index),W=Pe(L,y,z);if(!W)return dr;let oe=L;L.endScope&&L.endScope._wrap?(R(),A(x,L.endScope._wrap)):L.endScope&&L.endScope._multi?(R(),ee(L.endScope,y)):oe.skip?Y+=x:(oe.returnEnd||oe.excludeEnd||(Y+=x),R(),oe.excludeEnd&&(Y=x));do L.scope&&se.closeNode(),!L.skip&&!L.subLanguage&&(pt+=L.relevance),L=L.parent;while(L!==W.parent);return W.starts&&ve(W.starts,y),oe.returnEnd?0:x.length}function Me(){let y=[];for(let x=L;x!==fe;x=x.parent)x.scope&&y.unshift(x.scope);y.forEach(x=>se.openNode(x))}let Oe={};function Se(y,x){let z=x&&x[0];if(Y+=y,z==null)return R(),0;if(Oe.type==="begin"&&x.type==="end"&&Oe.index===x.index&&z===""){if(Y+=S.slice(x.index,x.index+1),!r){let W=new Error(`0 width match regex (${h})`);throw W.languageName=h,W.badRule=Oe.rule,W}return 1}if(Oe=x,x.type==="begin")return ut(x);if(x.type==="illegal"&&!N){let W=new Error('Illegal lexeme "'+z+'" for mode "'+(L.scope||"")+'"');throw W.mode=L,W}else if(x.type==="end"){let W=dt(x);if(W!==dr)return W}if(x.type==="illegal"&&z==="")return Y+=` -`,1;if(Be>1e5&&Be>x.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Y+=z,z.length}let fe=K(h);if(!fe)throw st(o.replace("{}",h)),new Error('Unknown language: "'+h+'"');let q=mc(fe),be="",L=$||q,Ue={},se=new a.__emitter(a);Me();let Y="",pt=0,Re=0,Be=0,Ie=!1;try{if(fe.__emitTokens)fe.__emitTokens(S,se);else{for(L.matcher.considerAll();;){Be++,Ie?Ie=!1:L.matcher.considerAll(),L.matcher.lastIndex=Re;let y=L.matcher.exec(S);if(!y)break;let x=S.substring(Re,y.index),z=Se(x,y);Re=y.index+z}Se(S.substring(Re))}return se.finalize(),be=se.toHTML(),{language:h,value:be,relevance:pt,illegal:!1,_emitter:se,_top:L}}catch(y){if(y.message&&y.message.includes("Illegal"))return{language:h,value:Vn(S),illegal:!0,relevance:0,_illegalBy:{message:y.message,index:Re,context:S.slice(Re-100,Re+100),mode:y.mode,resultSoFar:be},_emitter:se};if(r)return{language:h,value:Vn(S),illegal:!1,relevance:0,errorRaised:y,_emitter:se,_top:L};throw y}}function p(h){let S={value:Vn(h),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return S._emitter.addText(h),S}function f(h,S){S=S||a.languages||Object.keys(e);let N=p(h),$=S.filter(K).filter(ce).map(R=>g(R,h,!1));$.unshift(N);let w=$.sort((R,A)=>{if(R.relevance!==A.relevance)return A.relevance-R.relevance;if(R.language&&A.language){if(K(R.language).supersetOf===A.language)return 1;if(K(A.language).supersetOf===R.language)return-1}return 0}),[m,E]=w,v=m;return v.secondBest=E,v}function b(h,S,N){let $=S&&t[S]||N;h.classList.add("hljs"),h.classList.add(`language-${$}`)}function T(h){let S=null,N=u(h);if(c(N))return;if(j("before:highlightElement",{el:h,language:N}),h.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",h);return}if(h.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(h)),a.throwUnescapedHTML))throw new jn("One of your code blocks includes unescaped HTML.",h.innerHTML);S=h;let $=S.textContent,w=N?d($,{language:N,ignoreIllegals:!0}):f($);h.innerHTML=w.value,h.dataset.highlighted="yes",b(h,N,w.language),h.result={language:w.language,re:w.relevance,relevance:w.relevance},w.secondBest&&(h.secondBest={language:w.secondBest.language,relevance:w.secondBest.relevance}),j("after:highlightElement",{el:h,result:w,text:$})}function k(h){a=ur(a,h)}let M=()=>{C(),yt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function P(){C(),yt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let U=!1;function C(){function h(){C()}if(document.readyState==="loading"){U||window.addEventListener("DOMContentLoaded",h,!1),U=!0;return}document.querySelectorAll(a.cssSelector).forEach(T)}function B(h,S){let N=null;try{N=S(n)}catch($){if(st("Language definition for '{}' could not be registered.".replace("{}",h)),r)st($);else throw $;N=s}N.name||(N.name=h),e[h]=N,N.rawDefinition=S.bind(null,n),N.aliases&&X(N.aliases,{languageName:h})}function D(h){delete e[h];for(let S of Object.keys(t))t[S]===h&&delete t[S]}function ie(){return Object.keys(e)}function K(h){return h=(h||"").toLowerCase(),e[h]||e[t[h]]}function X(h,{languageName:S}){typeof h=="string"&&(h=[h]),h.forEach(N=>{t[N.toLowerCase()]=S})}function ce(h){let S=K(h);return S&&!S.disableAutodetect}function Z(h){h["before:highlightBlock"]&&!h["before:highlightElement"]&&(h["before:highlightElement"]=S=>{h["before:highlightBlock"](Object.assign({block:S.el},S))}),h["after:highlightBlock"]&&!h["after:highlightElement"]&&(h["after:highlightElement"]=S=>{h["after:highlightBlock"](Object.assign({block:S.el},S))})}function le(h){Z(h),i.push(h)}function de(h){let S=i.indexOf(h);S!==-1&&i.splice(S,1)}function j(h,S){let N=h;i.forEach(function($){$[N]&&$[N](S)})}function ne(h){return yt("10.7.0","highlightBlock will be removed entirely in v12.0"),yt("10.7.0","Please use highlightElement now."),T(h)}Object.assign(n,{highlight:d,highlightAuto:f,highlightAll:C,highlightElement:T,highlightBlock:ne,configure:k,initHighlighting:M,initHighlightingOnLoad:P,registerLanguage:B,unregisterLanguage:D,listLanguages:ie,getLanguage:K,registerAliases:X,autoDetection:ce,inherit:ur,addPlugin:le,removePlugin:de}),n.debugMode=function(){r=!1},n.safeMode=function(){r=!0},n.versionString=_c,n.regex={concat:ot,lookahead:fr,either:ei,optional:La,anyNumberOfTimes:Ia};for(let h in ln)typeof ln[h]=="object"&&pr(ln[h]);return Object.assign(n,ln),n},Tt=vr({});Tt.newInstance=()=>vr({});Ar.exports=Tt;Tt.HighlightJS=Tt;Tt.default=Tt});var kr=H((Hd,Nr)=>{function yc(n){let e=n.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={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=n.inherit(o,{begin:/\(/,end:/\)/}),a=n.inherit(n.APOS_STRING_MODE,{className:"string"}),c=n.inherit(n.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,c,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[o,s,c,a]}]}]},n.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{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:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:u}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Nr.exports=yc});var Or=H((Gd,xr)=>{function Tc(n){let e=n.regex,t={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},o=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,t,r]};r.contains.push(a);let c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},d={match:/\\'/},g={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,t]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],f=n.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},T=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],k=["true","false"],M={match:/(\/[a-z._-]+)+/},P=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],U=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],C=["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"],B=["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:T,literal:k,built_in:[...P,...U,"set","shopt",...C,...B]},contains:[f,n.SHEBANG(),b,g,o,s,M,a,c,u,d,t]}}xr.exports=Tc});var Cr=H((Kd,Rr)=>{function wc(n){let e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.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:[n.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:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={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},g={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},n.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},f=e.optional(r)+n.IDENT_RE+"\\s*\\(",k={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"},M=[g,a,t,n.C_BLOCK_COMMENT_MODE,d,u],P={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:M.concat([{begin:/\(/,end:/\)/,keywords:k,contains:M.concat(["self"]),relevance:0}]),relevance:0},U={begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:k,relevance:0},{begin:f,returnBegin:!0,contains:[n.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,u,d,a,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,u,d,a]}]},a,t,n.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:k,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{preprocessor:g,strings:u,keywords:k}}}Rr.exports=wc});var Ir=H((qd,Mr)=>{function vc(n){let e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.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:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={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},g={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},n.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},f=e.optional(r)+n.IDENT_RE+"\\s*\\(",b=["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"],T=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["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"],M=["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"],C={type:T,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},B={className:"function.dispatch",relevance:0,keywords:{_hint:M},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,n.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},D=[B,g,a,t,n.C_BLOCK_COMMENT_MODE,d,u],ie={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:C,contains:D.concat([{begin:/\(/,end:/\)/,keywords:C,contains:D.concat(["self"]),relevance:0}]),relevance:0},K={className:"function",begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:C,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:C,relevance:0},{begin:f,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,u,d,a,{begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,u,d,a]}]},a,t,n.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:C,illegal:"",keywords:C,contains:["self",a]},{begin:n.IDENT_RE+"::",keywords:C},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}Mr.exports=vc});var Dr=H((Wd,Lr)=>{function Ac(n){let e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],t=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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:r.concat(o),built_in:e,literal:i},a=n.inherit(n.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={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},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},g=n.inherit(d,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:s},f=n.inherit(p,{illegal:/\n/}),b={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},n.BACKSLASH_ESCAPE,f]},T={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},k=n.inherit(T,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},f]});p.contains=[T,b,d,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,c,n.C_BLOCK_COMMENT_MODE],f.contains=[k,b,g,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,c,n.inherit(n.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let M={variants:[u,T,b,d,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},P={begin:"<",end:">",contains:[{beginKeywords:"in out"},a]},U=n.IDENT_RE+"(<"+n.IDENT_RE+"(\\s*,\\s*"+n.IDENT_RE+")*>)?(\\[\\])?",C={begin:"@"+n.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[n.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},M,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},a,P,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,P,n.C_LINE_COMMENT_MODE,n.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:"("+U+"\\s+)+"+n.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:t.join(" "),relevance:0},{begin:n.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[n.TITLE_MODE,P],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[M,c,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},C]}}Lr.exports=Ac});var Pr=H((Zd,$r)=>{var Sc=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),Nc=["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"],kc=["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"],xc=[...Nc,...kc],Oc=["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(),Rc=["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(),Cc=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Mc=["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 Ic(n){let e=n.regex,t=Sc(n),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,i,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Rc.join("|")+")"},{begin:":(:)?("+Cc.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Mc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.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}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Oc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+xc.join("|")+")\\b"}]}}$r.exports=Ic});var Br=H((Yd,Ur)=>{function Lc(n){let e=n.regex,t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={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+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.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}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=n.inherit(u,{contains:[]}),p=n.inherit(d,{contains:[]});u.contains.push(p),d.contains.push(g);let f=[t,c];return[u,d,g,p].forEach(M=>{M.contains=M.contains.concat(f)}),f=f.concat(u,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},t,o,u,d,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},r,i,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}Ur.exports=Lc});var Fr=H((Vd,zr)=>{function Dc(n){let e=n.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}zr.exports=Dc});var Gr=H((Xd,Hr)=>{function $c(n){let e=n.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=e.concat(i,/(::\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]+"},c={begin:"#<",end:">"},u=[n.COMMENT("#","$",{contains:[a]}),n.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),n.COMMENT("^__END__",n.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:s},g={className:"string",contains:[n.BACKSLASH_ESCAPE,d],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:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[n.BACKSLASH_ESCAPE,d]})]}]},p="[1-9](_?[0-9])*|0",f="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${f}))?([eE][+-]?(${f})|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"}]},T={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},D=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:s},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[T]},{begin:n.IDENT_RE+"::"},{className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:t}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+n.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[n.BACKSLASH_ESCAPE,d],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(c,u),relevance:0}].concat(c,u);d.contains=D,T.contains=D;let ce=[{begin:/^\s*=>/,starts:{end:"$",contains:D}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:D}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[n.SHEBANG({binary:"ruby"})].concat(ce).concat(u).concat(D)}}Hr.exports=$c});var qr=H((Qd,Kr)=>{function Pc(n){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:"{function Uc(n){let e=n.regex,t=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[n.HASH_COMMENT_MODE,n.QUOTE_STRING_MODE,n.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(t,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}Wr.exports=Uc});var Vr=H((jd,Yr)=>{function Bc(n){let e=n.regex,t={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:n.NUMBER_RE}]},i=n.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},o={className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},a={begin:/\[/,end:/\]/,contains:[i,o,r,s,t,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,u=/"(\\"|[^"])*"/,d=/'[^']*'/,g=e.either(c,u,d),p=e.concat(g,"(\\s*\\.\\s*",g,")*",e.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,a,o,r,s,t]}}]}}Yr.exports=Bc});var jr=H((ep,Jr)=>{var wt="[0-9](_*[0-9])*",gn=`\\.(${wt})`,fn="[0-9a-fA-F](_*[0-9a-fA-F])*",Xr={className:"number",variants:[{begin:`(\\b(${wt})((${gn})|\\.)?|(${gn}))[eE][+-]?(${wt})[fFdD]?\\b`},{begin:`\\b(${wt})((${gn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${gn})[fFdD]?\\b`},{begin:`\\b(${wt})[fFdD]\\b`},{begin:`\\b0[xX]((${fn})\\.?|(${fn})?\\.(${fn}))[pP][+-]?(${wt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${fn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Qr(n,e,t){return t===-1?"":n.replace(e,i=>Qr(n,e,t-1))}function zc(n){let e=n.regex,t="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=t+Qr("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),c={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:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[d,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,Xr,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},Xr,u]}}Jr.exports=zc});var ss=H((tp,rs)=>{var es="[A-Za-z$_][0-9A-Za-z$_]*",Fc=["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"],Hc=["true","false","null","undefined","NaN","Infinity"],ts=["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"],ns=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],is=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Gc=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Kc=[].concat(is,ts,ns);function qc(n){let e=n.regex,t=(N,{after:$})=>{let w="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,$)=>{let w=N[0].length+N.index,m=N.input[w];if(m==="<"||m===","){$.ignoreMatch();return}m===">"&&(t(N,{after:w})||$.ignoreMatch());let E,v=N.input.substring(w);if(E=v.match(/^\s*=/)){$.ignoreMatch();return}if((E=v.match(/^\s+extends\s+/))&&E.index===0){$.ignoreMatch();return}}},a={$pattern:es,keyword:Fc,literal:Hc,built_in:Kc,"variable.language":Gc},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\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},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"css"}},T={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[n.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,T,k,{match:/\$\d+/},g];p.contains=U.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(U)});let C=[].concat(P,p.contains),B=C.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(C)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},ie={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},K={relevance:0,match:e.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:{_:[...ts,...ns]}},X={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ce={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},Z={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function le(N){return e.concat("(?!",N.join("|"),")")}let de={match:e.concat(/\b/,le([...is,"super","import"].map(N=>`${N}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},j={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ne={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},h="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",S={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(h)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:K},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),X,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,T,k,P,{match:/\$\d+/},g,K,{scope:"attr",match:i+e.lookahead(":"),relevance:0},S,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,n.REGEXP_MODE,{className:"function",begin:h,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.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"]}]}]},ce,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},j,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},de,Z,ie,ne,{match:/\$[(.]/}]}}rs.exports=qc});var as=H((np,os)=>{function Wc(n){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[e,t,n.QUOTE_STRING_MODE,r,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}os.exports=Wc});var ls=H((ip,cs)=>{var vt="[0-9](_*[0-9])*",hn=`\\.(${vt})`,mn="[0-9a-fA-F](_*[0-9a-fA-F])*",Zc={className:"number",variants:[{begin:`(\\b(${vt})((${hn})|\\.)?|(${hn}))[eE][+-]?(${vt})[fFdD]?\\b`},{begin:`\\b(${vt})((${hn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${hn})[fFdD]?\\b`},{begin:`\\b(${vt})[fFdD]\\b`},{begin:`\\b0[xX]((${mn})\\.?|(${mn})?\\.(${mn}))[pP][+-]?(${vt})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${mn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Yc(n){let e={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"},t={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[n.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+n.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,r]},{begin:"'",end:"'",illegal:/\n/,contains:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[n.BACKSLASH_ESCAPE,o,r]}]};r.contains.push(s);let a={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+n.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+n.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[n.inherit(s,{className:"string"}),"self"]}]},u=Zc,d=n.COMMENT("/\\*","\\*/",{contains:[n.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:n.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),n.C_LINE_COMMENT_MODE,d,t,i,a,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:n.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[n.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,n.C_LINE_COMMENT_MODE,d],relevance:0},n.C_LINE_COMMENT_MODE,d,a,c,s,n.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,n.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},n.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},a,c]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` -`},u]}}cs.exports=Yc});var gs=H((rp,ps)=>{var Vc=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),Xc=["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"],Qc=["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"],Jc=[...Xc,...Qc],jc=["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(),us=["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(),ds=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),el=["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(),tl=us.concat(ds).sort().reverse();function nl(n){let e=Vc(n),t=tl,i="and or not only",r="[\\w-]+",o="("+r+"|@\\{"+r+"\\})",s=[],a=[],c=function(U){return{className:"string",begin:"~?"+U+".*?"+U}},u=function(U,C,B){return{className:U,begin:C,relevance:B}},d={$pattern:/[a-z-]+/,keyword:i,attribute:jc.join(" ")},g={begin:"\\(",end:"\\)",contains:a,keywords:d,relevance:0};a.push(n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,c("'"),c('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,g,u("variable","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);let p=a.concat({begin:/\{/,end:/\}/,contains:s}),f={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},b={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+el.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},T={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:a,relevance:0}},k={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,f,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+Jc.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,u("selector-tag",o,0),u("selector-id","#"+o),u("selector-class","\\."+o,0),u("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+us.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+ds.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},e.FUNCTION_DISPATCH]},P={begin:r+`:(:)?(${t.join("|")})`,returnBegin:!0,contains:[M]};return s.push(n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,T,k,P,b,M,f,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}ps.exports=nl});var hs=H((sp,fs)=>{function il(n){let e="\\[=*\\[",t="\\]=*\\]",i={begin:e,end:t,contains:["self"]},r=[n.COMMENT("--(?!"+e+")","$"),n.COMMENT("--"+e,t,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:n.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:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[n.inherit(n.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},n.C_NUMBER_MODE,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{className:"string",begin:e,end:t,contains:[i],relevance:5}])}}fs.exports=il});var bs=H((op,ms)=>{function rl(n){let e={className:"variable",variants:[{begin:"\\$\\("+n.UNDERSCORE_IDENT_RE+"\\)",contains:[n.BACKSLASH_ESCAPE]},{begin:/\$[@%{function sl(n){let e=n.regex,t=["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"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:t.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},s={begin:/->\{/,end:/\}/},a={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:e.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},d=[n.BACKSLASH_ESCAPE,o,c],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],p=(T,k,M="\\1")=>{let P=M==="\\1"?M:e.concat(M,k);return e.concat(e.concat("(?:",T,")"),k,/(?:\\.|[^\\\/])*?/,P,/(?:\\.|[^\\\/])*?/,M,i)},f=(T,k,M)=>e.concat(e.concat("(?:",T,")"),k,/(?:\\.|[^\\\/])*?/,M,i),b=[c,n.HASH_COMMENT_MODE,n.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:d,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:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+n.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[n.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:p("s|tr|y",e.either(...g,{capture:!0}))},{begin:p("s|tr|y","\\(","\\)")},{begin:p("s|tr|y","\\[","\\]")},{begin:p("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:f("(?:m|qr)?",/\//,/\//)},{begin:f("m|qr",e.either(...g,{capture:!0}),/\1/)},{begin:f("m|qr",/\(/,/\)/)},{begin:f("m|qr",/\[/,/\]/)},{begin:f("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[n.TITLE_MODE,a]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[n.TITLE_MODE,a,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=b,s.contains=b,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:b}}_s.exports=sl});var Ts=H((cp,ys)=>{function ol(n){let e={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+"},t=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:t,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"]},c={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"/,end:/$/,illegal:"\\n"},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[n.UNDERSCORE_TITLE_MODE]},{begin:"\\."+n.UNDERSCORE_IDENT_RE,relevance:0}]}}ys.exports=ol});var vs=H((lp,ws)=>{function al(n){let e=n.regex,t=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),o=e.concat(/[A-Z]+/,t),s={scope:"variable",match:"\\$+"+i},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=n.inherit(n.APOS_STRING_MODE,{illegal:null}),d=n.inherit(n.QUOTE_STRING_MODE,{illegal:null,contains:n.QUOTE_STRING_MODE.contains.concat(c)}),g={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:n.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(j,ne)=>{ne.data._beginMatch=j[1]||j[2]},"on:end":(j,ne)=>{ne.data._beginMatch!==j[1]&&ne.ignoreMatch()}},p=n.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),f=`[ -]`,b={scope:"string",variants:[d,u,g,p]},T={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},k=["false","null","true"],M=["__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"],P=["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"],C={keyword:M,literal:(j=>{let ne=[];return j.forEach(h=>{ne.push(h),h.toLowerCase()===h?ne.push(h.toUpperCase()):ne.push(h.toLowerCase())}),ne})(k),built_in:P},B=j=>j.map(ne=>ne.replace(/\|\d+$/,"")),D={variants:[{match:[/new/,e.concat(f,"+"),e.concat("(?!",B(P).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},ie=e.concat(i,"\\b(?!\\()"),K={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),ie],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),ie],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},X={scope:"attr",match:e.concat(i,e.lookahead(":"),e.lookahead(/(?!::)/))},ce={relevance:0,begin:/\(/,end:/\)/,keywords:C,contains:[X,s,K,n.C_BLOCK_COMMENT_MODE,b,T,D]},Z={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",B(M).join("\\b|"),"|",B(P).join("\\b|"),"\\b)"),i,e.concat(f,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[ce]};ce.contains.push(Z);let le=[X,K,n.C_BLOCK_COMMENT_MODE,b,T,D],de={begin:e.concat(/#\[\s*\\?/,e.either(r,o)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:k,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:k,keyword:["new","array"]},contains:["self",...le]},...le,{scope:"meta",variants:[{match:r},{match:o}]}]};return{case_insensitive:!1,keywords:C,contains:[de,n.HASH_COMMENT_MODE,n.COMMENT("//","$"),n.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:n.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,Z,K,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},D,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},n.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:C,contains:["self",de,s,K,n.C_BLOCK_COMMENT_MODE,b,T]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},n.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[n.inherit(n.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},n.UNDERSCORE_TITLE_MODE]},b,T]}}ws.exports=al});var Ss=H((up,As)=>{function cl(n){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},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}As.exports=cl});var ks=H((dp,Ns)=>{function ll(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}Ns.exports=ll});var Os=H((pp,xs)=>{function ul(n){let e=n.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["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:i,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},d={begin:/\{\{/,relevance:0},g={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c,d,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:[n.BACKSLASH_ESCAPE,d,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,d,u]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",f=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,b=`\\b|${i.join("|")}`,T={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${f}))[eE][+-]?(${p})[jJ]?(?=${b})`},{begin:`(${f})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${p})[jJ](?=${b})`}]},k={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},M={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,T,g,n.HASH_COMMENT_MODE]}]};return u.contains=[g,T,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,T,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},g,k,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[M]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[T,M,g]}]}}xs.exports=ul});var Cs=H((gp,Rs)=>{function dl(n){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}Rs.exports=dl});var Is=H((fp,Ms)=>{function pl(n){let e=n.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=e.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,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:[n.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),n.HASH_COMMENT_MODE,{scope:"string",contains:[n.BACKSLASH_ESCAPE],variants:[n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[o,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}Ms.exports=pl});var Ds=H((hp,Ls)=>{function gl(n){let e=n.regex,t=/(r#)?/,i=e.concat(t,n.UNDERSCORE_IDENT_RE),r=e.concat(t,n.IDENT_RE),o={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,e.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"],c=["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!"],d=["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:n.IDENT_RE+"!?",type:d,keyword:a,literal:c,built_in:u},illegal:""},o]}}Ls.exports=gl});var Ps=H((mp,$s)=>{var fl=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),hl=["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"],ml=["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"],bl=[...hl,...ml],_l=["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(),El=["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(),yl=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Tl=["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 wl(n){let e=fl(n),t=yl,i=El,r="@[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:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+bl.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Tl.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:[e.BLOCK_COMMENT,a,e.HEXCOLOR,e.CSS_NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:_l.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}$s.exports=wl});var Bs=H((bp,Us)=>{function vl(n){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}Us.exports=vl});var Fs=H((_p,zs)=>{function Al(n){let e=n.regex,t=n.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={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"],c=["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"],d=["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"],g=["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"],p=["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"],f=d,b=[...u,...c].filter(B=>!d.includes(B)),T={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},k={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},M={match:e.concat(/\b/,e.either(...f),/\s*\(/),relevance:0,keywords:{built_in:f}};function P(B){return e.concat(/\b/,e.either(...B.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}let U={scope:"keyword",match:P(p),relevance:0};function C(B,{exceptions:D,when:ie}={}){let K=ie;return D=D||[],B.map(X=>X.match(/\|\d+$/)||D.includes(X)?X:K(X)?`${X}|0`:X)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:C(b,{when:B=>B.length<3}),literal:o,type:a,built_in:g},contains:[{scope:"type",match:P(s)},U,M,T,i,r,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,t,k]}}zs.exports=Al});var Xs=H((Ep,Vs)=>{function qs(n){return n?typeof n=="string"?n:n.source:null}function zt(n){return Q("(?=",n,")")}function Q(...n){return n.map(t=>qs(t)).join("")}function Sl(n){let e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function _e(...n){return"("+(Sl(n).capture?"":"?:")+n.map(i=>qs(i)).join("|")+")"}var si=n=>Q(/\b/,n,/\w$/.test(n)?/\b/:/\B/),Nl=["Protocol","Type"].map(si),Hs=["init","self"].map(si),kl=["Any","Self"],ii=["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"],Gs=["false","nil","true"],xl=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ol=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Ks=["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"],Ws=_e(/[/=\-+!*%<>&|^~?]/,/[\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]/),Zs=_e(Ws,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),ri=Q(Ws,Zs,"*"),Ys=_e(/[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]/),_n=_e(Ys,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),De=Q(Ys,_n,"*"),bn=Q(/[A-Z]/,_n,"*"),Rl=["attached","autoclosure",Q(/convention\(/,_e("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",Q(/objc\(/,De,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Cl=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Ml(n){let e={match:/\s+/,relevance:0},t=n.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[n.C_LINE_COMMENT_MODE,t],r={match:[/\./,_e(...Nl,...Hs)],className:{2:"keyword"}},o={match:Q(/\./,_e(...ii)),relevance:0},s=ii.filter(q=>typeof q=="string").concat(["_|0"]),a=ii.filter(q=>typeof q!="string").concat(kl).map(si),c={variants:[{className:"keyword",match:_e(...a,...Hs)}]},u={$pattern:_e(/\b\w+/,/#\w+/),keyword:s.concat(Ol),literal:Gs},d=[r,o,c],g={match:Q(/\./,_e(...Ks)),relevance:0},p={className:"built_in",match:Q(/\b/,_e(...Ks),/(?=\()/)},f=[g,p],b={match:/->/,relevance:0},T={className:"operator",relevance:0,variants:[{match:ri},{match:`\\.(\\.|${Zs})+`}]},k=[b,T],M="([0-9]_*)+",P="([0-9a-fA-F]_*)+",U={className:"number",relevance:0,variants:[{match:`\\b(${M})(\\.(${M}))?([eE][+-]?(${M}))?\\b`},{match:`\\b0x(${P})(\\.(${P}))?([pP][+-]?(${M}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},C=(q="")=>({className:"subst",variants:[{match:Q(/\\/,q,/[0\\tnr"']/)},{match:Q(/\\/,q,/u\{[0-9a-fA-F]{1,8}\}/)}]}),B=(q="")=>({className:"subst",match:Q(/\\/,q,/[\t ]*(?:[\r\n]|\r\n)/)}),D=(q="")=>({className:"subst",label:"interpol",begin:Q(/\\/,q,/\(/),end:/\)/}),ie=(q="")=>({begin:Q(q,/"""/),end:Q(/"""/,q),contains:[C(q),B(q),D(q)]}),K=(q="")=>({begin:Q(q,/"/),end:Q(/"/,q),contains:[C(q),D(q)]}),X={className:"string",variants:[ie(),ie("#"),ie("##"),ie("###"),K(),K("#"),K("##"),K("###")]},ce=[n.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[n.BACKSLASH_ESCAPE]}],Z={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:ce},le=q=>{let be=Q(q,/\//),L=Q(/\//,q);return{begin:be,end:L,contains:[...ce,{scope:"comment",begin:`#(?!.*${L})`,end:/$/}]}},de={scope:"regexp",variants:[le("###"),le("##"),le("#"),Z]},j={match:Q(/`/,De,/`/)},ne={className:"variable",match:/\$\d+/},h={className:"variable",match:`\\$${_n}+`},S=[j,ne,h],N={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Cl,contains:[...k,U,X]}]}},$={scope:"keyword",match:Q(/@/,_e(...Rl),zt(_e(/\(/,/\s+/)))},w={scope:"meta",match:Q(/@/,De)},m=[N,$,w],E={match:zt(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:Q(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,_n,"+")},{className:"type",match:bn,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:Q(/\s+&\s+/,zt(bn)),relevance:0}]},v={begin://,keywords:u,contains:[...i,...d,...m,b,E]};E.contains.push(v);let R={match:Q(De,/\s*:/),keywords:"_|0",relevance:0},A={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",R,...i,de,...d,...f,...k,U,X,...S,...m,E]},ee={begin://,keywords:"repeat each",contains:[...i,E]},ve={begin:_e(zt(Q(De,/\s*:/)),zt(Q(De,/\s+/,De,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:De}]},Pe={begin:/\(/,end:/\)/,keywords:u,contains:[ve,...i,...d,...k,U,X,...m,E,A],endsParent:!0,illegal:/["']/},et={match:[/(func|macro)/,/\s+/,_e(j.match,De,ri)],className:{1:"keyword",3:"title.function"},contains:[ee,Pe,e],illegal:[/\[/,/%/]},ut={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ee,Pe,e],illegal:/\[|%/},dt={match:[/operator/,/\s+/,ri],className:{1:"keyword",3:"title"}},Me={begin:[/precedencegroup/,/\s+/,bn],className:{1:"keyword",3:"title"},contains:[E],keywords:[...xl,...Gs],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"}},Se={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},fe={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,De,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[ee,...d,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:bn},...d],relevance:0}]};for(let q of X.variants){let be=q.contains.find(Ue=>Ue.label==="interpol");be.keywords=u;let L=[...d,...f,...k,U,X,...S];be.contains=[...L,{begin:/\(/,end:/\)/,contains:["self",...L]}]}return{name:"Swift",keywords:u,contains:[...i,et,ut,Oe,Se,fe,dt,Me,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},de,...d,...f,...k,U,X,...S,...m,E,A]}}Vs.exports=Ml});var Js=H((yp,Qs)=>{function Il(n){let e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={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:[n.BACKSLASH_ESCAPE,r]},a=n.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),p={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"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},b={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},T={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},k=[i,{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+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},p,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},b,T,o,s],M=[...k];return M.pop(),M.push(a),f.contains=M,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:k}}Qs.exports=Il});var ao=H((Tp,oo)=>{var En="[A-Za-z$_][0-9A-Za-z$_]*",js=["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"],eo=["true","false","null","undefined","NaN","Infinity"],to=["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"],no=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],io=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ro=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],so=[].concat(io,to,no);function Ll(n){let e=n.regex,t=(N,{after:$})=>{let w="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,$)=>{let w=N[0].length+N.index,m=N.input[w];if(m==="<"||m===","){$.ignoreMatch();return}m===">"&&(t(N,{after:w})||$.ignoreMatch());let E,v=N.input.substring(w);if(E=v.match(/^\s*=/)){$.ignoreMatch();return}if((E=v.match(/^\s+extends\s+/))&&E.index===0){$.ignoreMatch();return}}},a={$pattern:En,keyword:js,literal:eo,built_in:so,"variable.language":ro},c="[0-9](_?[0-9])*",u=`\\.(${c})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${d})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${d})\\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},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"css"}},T={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[n.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,T,k,{match:/\$\d+/},g];p.contains=U.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(U)});let C=[].concat(P,p.contains),B=C.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(C)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},ie={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},K={relevance:0,match:e.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:{_:[...to,...no]}},X={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},ce={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},Z={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function le(N){return e.concat("(?!",N.join("|"),")")}let de={match:e.concat(/\b/,le([...io,"super","import"].map(N=>`${N}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},j={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ne={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},h="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",S={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(h)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:K},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),X,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,T,k,P,{match:/\$\d+/},g,K,{scope:"attr",match:i+e.lookahead(":"),relevance:0},S,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,n.REGEXP_MODE,{className:"function",begin:h,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.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"]}]}]},ce,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},j,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},de,Z,ie,ne,{match:/\$[(.]/}]}}function Dl(n){let e=n.regex,t=Ll(n),i=En,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[t.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:En,keyword:js.concat(c),literal:eo,built_in:so.concat(r),"variable.language":ro},d={className:"meta",begin:"@"+i},g=(T,k,M)=>{let P=T.contains.findIndex(U=>U.label===k);if(P===-1)throw new Error("can not find mode to replace");T.contains.splice(P,1,M)};Object.assign(t.keywords,u),t.exports.PARAMS_CONTAINS.push(d);let p=t.contains.find(T=>T.scope==="attr"),f=Object.assign({},p,{match:e.concat(i,e.lookahead(/\s*\?:/))});t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,p,f]),t.contains=t.contains.concat([d,o,s,f]),g(t,"shebang",n.SHEBANG()),g(t,"use_strict",a);let b=t.contains.find(T=>T.label==="func.def");return b.relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t}oo.exports=Dl});var lo=H((wp,co)=>{function $l(n){let e=n.regex,t={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\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}/,c={className:"literal",variants:[{begin:e.concat(/# */,e.either(o,r),/ *#/)},{begin:e.concat(/# */,a,/ *#/)},{begin:e.concat(/# */,s,/ *#/)},{begin:e.concat(/# */,e.either(o,r),/ +/,e.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])|[%&])?/}]},d={className:"label",begin:/^\w+:/},g=n.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=n.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:[t,i,c,u,d,g,p,{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:[p]}]}}co.exports=$l});var po=H((vp,uo)=>{function Pl(n){n.regex;let e=n.COMMENT(/\(;/,/;\)/);e.contains.push("self");let t=n.COMMENT(/;;/,/$/),i=["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"],r={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/},c={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:i},contains:[t,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},o,s,r,n.QUOTE_STRING_MODE,c,u,a]}}uo.exports=Pl});var fo=H((Ap,go)=>{var F=Sr();F.registerLanguage("xml",kr());F.registerLanguage("bash",Or());F.registerLanguage("c",Cr());F.registerLanguage("cpp",Ir());F.registerLanguage("csharp",Dr());F.registerLanguage("css",Pr());F.registerLanguage("markdown",Br());F.registerLanguage("diff",Fr());F.registerLanguage("ruby",Gr());F.registerLanguage("go",qr());F.registerLanguage("graphql",Zr());F.registerLanguage("ini",Vr());F.registerLanguage("java",jr());F.registerLanguage("javascript",ss());F.registerLanguage("json",as());F.registerLanguage("kotlin",ls());F.registerLanguage("less",gs());F.registerLanguage("lua",hs());F.registerLanguage("makefile",bs());F.registerLanguage("perl",Es());F.registerLanguage("objectivec",Ts());F.registerLanguage("php",vs());F.registerLanguage("php-template",Ss());F.registerLanguage("plaintext",ks());F.registerLanguage("python",Os());F.registerLanguage("python-repl",Cs());F.registerLanguage("r",Is());F.registerLanguage("rust",Ds());F.registerLanguage("scss",Ps());F.registerLanguage("shell",Bs());F.registerLanguage("sql",Fs());F.registerLanguage("swift",Xs());F.registerLanguage("yaml",Js());F.registerLanguage("typescript",ao());F.registerLanguage("vbnet",lo());F.registerLanguage("wasm",po());F.HighlightJS=F;F.default=F;go.exports=F});var en=globalThis,nn=en.ShadowRoot&&(en.ShadyCSS===void 0||en.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Fi=Symbol(),zi=new WeakMap,tn=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==Fi)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(nn&&e===void 0){let i=t!==void 0&&t.length===1;i&&(e=zi.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&zi.set(t,e))}return e}toString(){return this.cssText}},Hi=n=>new tn(typeof n=="string"?n:n+"",void 0,Fi);var Gi=(n,e)=>{if(nn)n.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let i=document.createElement("style"),r=en.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=t.cssText,n.appendChild(i)}},Pn=nn?n=>n:n=>n instanceof CSSStyleSheet?(e=>{let t="";for(let i of e.cssRules)t+=i.cssText;return Hi(t)})(n):n;var{is:ma,defineProperty:ba,getOwnPropertyDescriptor:_a,getOwnPropertyNames:Ea,getOwnPropertySymbols:ya,getPrototypeOf:Ta}=Object,rn=globalThis,Ki=rn.trustedTypes,wa=Ki?Ki.emptyScript:"",va=rn.reactiveElementPolyfillSupport,Ot=(n,e)=>n,Rt={toAttribute(n,e){switch(e){case Boolean:n=n?wa:null;break;case Object:case Array:n=n==null?n:JSON.stringify(n)}return n},fromAttribute(n,e){let t=n;switch(e){case Boolean:t=n!==null;break;case Number:t=n===null?null:Number(n);break;case Object:case Array:try{t=JSON.parse(n)}catch{t=null}}return t}},sn=(n,e)=>!ma(n,e),qi={attribute:!0,type:String,converter:Rt,reflect:!1,useDefault:!1,hasChanged:sn};Symbol.metadata??=Symbol("metadata"),rn.litPropertyMetadata??=new WeakMap;var Ge=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=qi){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(e,i,t);r!==void 0&&ba(this.prototype,e,r)}}static getPropertyDescriptor(e,t,i){let{get:r,set:o}=_a(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s}};return{get:r,set(s){let a=r?.call(this);o?.call(this,s),this.requestUpdate(e,a,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??qi}static _$Ei(){if(this.hasOwnProperty(Ot("elementProperties")))return;let e=Ta(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Ot("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Ot("properties"))){let t=this.properties,i=[...Ea(t),...ya(t)];for(let r of i)this.createProperty(r,t[r])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[i,r]of t)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[t,i]of this.elementProperties){let r=this._$Eu(t,i);r!==void 0&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let i=new Set(e.flat(1/0).reverse());for(let r of i)t.unshift(Pn(r))}else e!==void 0&&t.push(Pn(e));return t}static _$Eu(e,t){let i=t.attribute;return i===!1?void 0:typeof i=="string"?i:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Gi(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$ET(e,t){let i=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,i);if(r!==void 0&&i.reflect===!0){let o=(i.converter?.toAttribute!==void 0?i.converter:Rt).toAttribute(t,i.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(e,t){let i=this.constructor,r=i._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let o=i.getPropertyOptions(r),s=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:Rt;this._$Em=r,this[r]=s.fromAttribute(t,o.type)??this._$Ej?.get(r)??null,this._$Em=null}}requestUpdate(e,t,i){if(e!==void 0){let r=this.constructor,o=this[e];if(i??=r.getPropertyOptions(e),!((i.hasChanged??sn)(o,t)||i.useDefault&&i.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(r._$Eu(e,i))))return;this.C(e,t,i)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:i,reflect:r,wrapped:o},s){i&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),o!==!0||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),r===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,o]of i){let{wrapped:s}=o,a=this[r];s!==!0||this._$AL.has(r)||a===void 0||this.C(r,void 0,o,a)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(i=>i.hostUpdate?.()),this.update(t)):this._$EM()}catch(i){throw e=!1,this._$EM(),i}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(e){}firstUpdated(e){}};Ge.elementStyles=[],Ge.shadowRootOptions={mode:"open"},Ge[Ot("elementProperties")]=new Map,Ge[Ot("finalized")]=new Map,va?.({ReactiveElement:Ge}),(rn.reactiveElementVersions??=[]).push("2.1.0");var Kn=globalThis,on=Kn.trustedTypes,Wi=on?on.createPolicy("lit-html",{createHTML:n=>n}):void 0,Ji="$lit$",Ve=`lit$${Math.random().toFixed(9).slice(2)}$`,ji="?"+Ve,Aa=`<${ji}>`,it=document,Mt=()=>it.createComment(""),It=n=>n===null||typeof n!="object"&&typeof n!="function",qn=Array.isArray,Sa=n=>qn(n)||typeof n?.[Symbol.iterator]=="function",Un=`[ -\f\r]`,Ct=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Zi=/-->/g,Yi=/>/g,tt=RegExp(`>|${Un}(?:([^\\s"'>=/]+)(${Un}*=${Un}*(?:[^ -\f\r"'\`<>=]|("|')|))|$)`,"g"),Vi=/'/g,Xi=/"/g,er=/^(?:script|style|textarea|title)$/i,Wn=n=>(e,...t)=>({_$litType$:n,strings:e,values:t}),Xe=Wn(1),Xu=Wn(2),Qu=Wn(3),Ke=Symbol.for("lit-noChange"),re=Symbol.for("lit-nothing"),Qi=new WeakMap,nt=it.createTreeWalker(it,129);function tr(n,e){if(!qn(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return Wi!==void 0?Wi.createHTML(e):e}var Na=(n,e)=>{let t=n.length-1,i=[],r,o=e===2?"":e===3?"":"",s=Ct;for(let a=0;a"?(s=r??Ct,g=-1):d[1]===void 0?g=-2:(g=s.lastIndex-d[2].length,u=d[1],s=d[3]===void 0?tt:d[3]==='"'?Xi:Vi):s===Xi||s===Vi?s=tt:s===Zi||s===Yi?s=Ct:(s=tt,r=void 0);let f=s===tt&&n[a+1].startsWith("/>")?" ":"";o+=s===Ct?c+Aa:g>=0?(i.push(u),c.slice(0,g)+Ji+c.slice(g)+Ve+f):c+Ve+(g===-2?a:f)}return[tr(n,o+(n[t]||"")+(e===2?"":e===3?"":"")),i]},Lt=class n{constructor({strings:e,_$litType$:t},i){let r;this.parts=[];let o=0,s=0,a=e.length-1,c=this.parts,[u,d]=Na(e,t);if(this.el=n.createElement(u,i),nt.currentNode=this.el.content,t===2||t===3){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(r=nt.nextNode())!==null&&c.length0){r.textContent=on?on.emptyScript:"";for(let f=0;f2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=re}_$AI(e,t=this,i,r){let o=this.strings,s=!1;if(o===void 0)e=_t(this,e,t,0),s=!It(e)||e!==this._$AH&&e!==Ke,s&&(this._$AH=e);else{let a=e,c,u;for(e=o[0],c=0;c{let i=t?.renderBefore??e,r=i._$litPart$;if(r===void 0){let o=t?.renderBefore??null;i._$litPart$=r=new Dt(e.insertBefore(Mt(),o),o,void 0,t??{})}return r._$AI(n),r};var Zn=globalThis,Qe=class extends Ge{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=nr(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ke}};Qe._$litElement$=!0,Qe.finalized=!0,Zn.litElementHydrateSupport?.({LitElement:Qe});var xa=Zn.litElementPolyfillSupport;xa?.({LitElement:Qe});(Zn.litElementVersions??=[]).push("4.2.0");var ir={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},rr=n=>(...e)=>({_$litDirective$:n,values:e}),an=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var $t=class extends an{constructor(e){if(super(e),this.it=re,e.type!==ir.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===re||e==null)return this._t=void 0,this.it=e;if(e===Ke)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};$t.directiveName="unsafeHTML",$t.resultType=1;var rt=rr($t);var Oa={attribute:!0,type:String,converter:Rt,reflect:!1,hasChanged:sn},Ra=(n=Oa,e,t)=>{let{kind:i,metadata:r}=t,o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),i==="setter"&&((n=Object.create(n)).wrapped=!0),o.set(t.name,n),i==="accessor"){let{name:s}=t;return{set(a){let c=e.get.call(this);e.set.call(this,a),this.requestUpdate(s,c,n)},init(a){return a!==void 0&&this.C(s,void 0,n,a),a}}}if(i==="setter"){let{name:s}=t;return function(a){let c=this[s];e.call(this,a),this.requestUpdate(s,c,n)}}throw Error("Unsupported decorator location: "+i)};function ge(n){return(e,t)=>typeof t=="object"?Ra(n,e,t):((i,r,o)=>{let s=r.hasOwnProperty(o);return r.constructor.createProperty(o,i),s?Object.getOwnPropertyDescriptor(r,o):void 0})(n,e,t)}var ea=Bi(sr(),1);var ho=Bi(fo(),1);var mo=ho.default;function ci(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ct=ci();function wo(n){ct=n}var vo=/[&<>"']/,Ul=new RegExp(vo.source,"g"),Ao=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Bl=new RegExp(Ao.source,"g"),zl={"&":"&","<":"<",">":">",'"':""","'":"'"},bo=n=>zl[n];function Ae(n,e){if(e){if(vo.test(n))return n.replace(Ul,bo)}else if(Ao.test(n))return n.replace(Bl,bo);return n}var Fl=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Hl(n){return n.replace(Fl,(e,t)=>(t=t.toLowerCase(),t==="colon"?":":t.charAt(0)==="#"?t.charAt(1)==="x"?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}var Gl=/(^|[^\[])\^/g;function J(n,e){let t=typeof n=="string"?n:n.source;e=e||"";let i={replace:(r,o)=>{let s=typeof o=="string"?o:o.source;return s=s.replace(Gl,"$1"),t=t.replace(r,s),i},getRegex:()=>new RegExp(t,e)};return i}function _o(n){try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}var Ht={exec:()=>null};function Eo(n,e){let t=n.replace(/\|/g,(o,s,a)=>{let c=!1,u=s;for(;--u>=0&&a[u]==="\\";)c=!c;return c?"|":" |"}),i=t.split(/ \|/),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length()=>(e||n((e={exports:{}}).exports,e),e.exports);var ya=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of ba(e))!Ea.call(n,r)&&r!==t&&zn(n,r,{get:()=>e[r],enumerable:!(i=qi(e,r))||i.enumerable});return n};var Ki=(n,e,t)=>(t=n!=null?ma(_a(n)):{},ya(e||!n||!n.__esModule?zn(t,"default",{value:n,enumerable:!0}):t,n));var K=(n,e,t,i)=>{for(var r=i>1?void 0:i?qi(e,t):e,o=n.length-1,s;o>=0;o--)(s=n[o])&&(r=(i?s(e,t,r):s(r))||r);return i&&r&&zn(e,t,r),r};var dr=H((zt,Jn)=>{(function(e,t){typeof zt=="object"&&typeof Jn=="object"?Jn.exports=t():typeof define=="function"&&define.amd?define([],t):typeof zt=="object"?zt.ClipboardJS=t():e.ClipboardJS=t()})(zt,function(){return function(){var n={686:function(i,r,o){"use strict";o.d(r,{default:function(){return $}});var s=o(279),a=o.n(s),c=o(370),u=o.n(c),l=o(817),g=o.n(l);function p(T){try{return document.execCommand(T)}catch{return!1}}var f=function(m){var E=g()(m);return p("cut"),E},b=f;function w(T){var m=document.documentElement.getAttribute("dir")==="rtl",E=document.createElement("textarea");E.style.fontSize="12pt",E.style.border="0",E.style.padding="0",E.style.margin="0",E.style.position="absolute",E.style[m?"right":"left"]="-9999px";var v=window.pageYOffset||document.documentElement.scrollTop;return E.style.top="".concat(v,"px"),E.setAttribute("readonly",""),E.value=T,E}var k=function(m,E){var v=w(m);E.container.appendChild(v);var R=g()(v);return p("copy"),v.remove(),R},M=function(m){var E=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},v="";return typeof m=="string"?v=k(m,E):m instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(m?.type)?v=k(m.value,E):(v=g()(m),p("copy")),v},P=M;function U(T){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?U=function(E){return typeof E}:U=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},U(T)}var C=function(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},E=m.action,v=E===void 0?"copy":E,R=m.container,S=m.target,ie=m.text;if(v!=="copy"&&v!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(S!==void 0)if(S&&U(S)==="object"&&S.nodeType===1){if(v==="copy"&&S.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(v==="cut"&&(S.hasAttribute("readonly")||S.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ie)return P(ie,{container:R});if(S)return v==="cut"?b(S):P(S,{container:R})},B=C;function D(T){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?D=function(E){return typeof E}:D=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},D(T)}function oe(T,m){if(!(T instanceof m))throw new TypeError("Cannot call a class as a function")}function q(T,m){for(var E=0;E"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function h(T){return h=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},h(T)}function A(T,m){var E="data-clipboard-".concat(T);if(m.hasAttribute(E))return m.getAttribute(E)}var N=function(T){de(E,T);var m=pe(E);function E(v,R){var S;return oe(this,E),S=m.call(this),S.resolveOptions(R),S.listenClick(v),S}return J(E,[{key:"resolveOptions",value:function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof R.action=="function"?R.action:this.defaultAction,this.target=typeof R.target=="function"?R.target:this.defaultTarget,this.text=typeof R.text=="function"?R.text:this.defaultText,this.container=D(R.container)==="object"?R.container:document.body}},{key:"listenClick",value:function(R){var S=this;this.listener=u()(R,"click",function(ie){return S.onClick(ie)})}},{key:"onClick",value:function(R){var S=R.delegateTarget||R.currentTarget,ie=this.action(S)||"copy",Se=B({action:ie,container:this.container,target:this.target(S),text:this.text(S)});this.emit(Se?"success":"error",{action:ie,text:Se,trigger:S,clearSelection:function(){S&&S.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(R){return A("action",R)}},{key:"defaultTarget",value:function(R){var S=A("target",R);if(S)return document.querySelector(S)}},{key:"defaultText",value:function(R){return A("text",R)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(R){var S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return P(R,S)}},{key:"cut",value:function(R){return b(R)}},{key:"isSupported",value:function(){var R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],S=typeof R=="string"?[R]:R,ie=!!document.queryCommandSupported;return S.forEach(function(Se){ie=ie&&!!document.queryCommandSupported(Se)}),ie}}]),E}(a()),$=N},828:function(i){var r=9;if(typeof Element<"u"&&!Element.prototype.matches){var o=Element.prototype;o.matches=o.matchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector||o.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==r;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}i.exports=s},438:function(i,r,o){var s=o(828);function a(l,g,p,f,b){var w=u.apply(this,arguments);return l.addEventListener(p,w,b),{destroy:function(){l.removeEventListener(p,w,b)}}}function c(l,g,p,f,b){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof p=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(w){return a(w,g,p,f,b)}))}function u(l,g,p,f){return function(b){b.delegateTarget=s(b.target,g),b.delegateTarget&&f.call(l,b)}}i.exports=c},879:function(i,r){r.node=function(o){return o!==void 0&&o instanceof HTMLElement&&o.nodeType===1},r.nodeList=function(o){var s=Object.prototype.toString.call(o);return o!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in o&&(o.length===0||r.node(o[0]))},r.string=function(o){return typeof o=="string"||o instanceof String},r.fn=function(o){var s=Object.prototype.toString.call(o);return s==="[object Function]"}},370:function(i,r,o){var s=o(879),a=o(438);function c(p,f,b){if(!p&&!f&&!b)throw new Error("Missing required arguments");if(!s.string(f))throw new TypeError("Second argument must be a String");if(!s.fn(b))throw new TypeError("Third argument must be a Function");if(s.node(p))return u(p,f,b);if(s.nodeList(p))return l(p,f,b);if(s.string(p))return g(p,f,b);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function u(p,f,b){return p.addEventListener(f,b),{destroy:function(){p.removeEventListener(f,b)}}}function l(p,f,b){return Array.prototype.forEach.call(p,function(w){w.addEventListener(f,b)}),{destroy:function(){Array.prototype.forEach.call(p,function(w){w.removeEventListener(f,b)})}}}function g(p,f,b){return a(document.body,p,f,b)}i.exports=c},817:function(i){function r(o){var s;if(o.nodeName==="SELECT")o.focus(),s=o.value;else if(o.nodeName==="INPUT"||o.nodeName==="TEXTAREA"){var a=o.hasAttribute("readonly");a||o.setAttribute("readonly",""),o.select(),o.setSelectionRange(0,o.value.length),a||o.removeAttribute("readonly"),s=o.value}else{o.hasAttribute("contenteditable")&&o.focus();var c=window.getSelection(),u=document.createRange();u.selectNodeContents(o),c.removeAllRanges(),c.addRange(u),s=c.toString()}return s}i.exports=r},279:function(i){function r(){}r.prototype={on:function(o,s,a){var c=this.e||(this.e={});return(c[o]||(c[o]=[])).push({fn:s,ctx:a}),this},once:function(o,s,a){var c=this;function u(){c.off(o,u),s.apply(a,arguments)}return u._=s,this.on(o,u,a)},emit:function(o){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[o]||[]).slice(),c=0,u=a.length;for(c;c{function _r(n){return n instanceof Map?n.clear=n.delete=n.set=function(){throw new Error("map is read-only")}:n instanceof Set&&(n.add=n.clear=n.delete=function(){throw new Error("set is read-only")}),Object.freeze(n),Object.getOwnPropertyNames(n).forEach(e=>{let t=n[e],i=typeof t;(i==="object"||i==="function")&&!Object.isFrozen(t)&&_r(t)}),n}var gn=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Er(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function tt(n,...e){let t=Object.create(null);for(let i in n)t[i]=n[i];return e.forEach(function(i){for(let r in i)t[r]=i[r]}),t}var $a="",pr=n=>!!n.scope,Pa=(n,{prefix:e})=>{if(n.startsWith("language:"))return n.replace("language:","language-");if(n.includes(".")){let t=n.split(".");return[`${e}${t.shift()}`,...t.map((i,r)=>`${i}${"_".repeat(r+1)}`)].join(" ")}return`${e}${n}`},ei=class{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=Er(e)}openNode(e){if(!pr(e))return;let t=Pa(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){pr(e)&&(this.buffer+=$a)}value(){return this.buffer}span(e){this.buffer+=``}},gr=(n={})=>{let e={children:[]};return Object.assign(e,n),e},ti=class n{constructor(){this.rootNode=gr(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=gr({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t=="string"?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(i=>this._walk(e,i)),e.closeNode(t)),e}static _collapse(e){typeof e!="string"&&e.children&&(e.children.every(t=>typeof t=="string")?e.children=[e.children.join("")]:e.children.forEach(t=>{n._collapse(t)}))}},ni=class extends ti{constructor(e){super(),this.options=e}addText(e){e!==""&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let i=e.root;t&&(i.scope=`language:${t}`),this.add(i)}toHTML(){return new ei(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Ft(n){return n?typeof n=="string"?n:n.source:null}function yr(n){return ct("(?=",n,")")}function Ua(n){return ct("(?:",n,")*")}function Ba(n){return ct("(?:",n,")?")}function ct(...n){return n.map(t=>Ft(t)).join("")}function za(n){let e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function ri(...n){return"("+(za(n).capture?"":"?:")+n.map(i=>Ft(i)).join("|")+")"}function wr(n){return new RegExp(n.toString()+"|").exec("").length-1}function Fa(n,e){let t=n&&n.exec(e);return t&&t.index===0}var Ha=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function si(n,{joinWith:e}){let t=0;return n.map(i=>{t+=1;let r=t,o=Ft(i),s="";for(;o.length>0;){let a=Ha.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])+r):(s+=a[0],a[0]==="("&&t++)}return s}).map(i=>`(${i})`).join(e)}var Ga=/\b\B/,Tr="[a-zA-Z]\\w*",oi="[a-zA-Z_]\\w*",vr="\\b\\d+(\\.\\d+)?",Sr="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Ar="\\b(0b[01]+)",qa="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Ka=(n={})=>{let e=/^#![ ]*\//;return n.binary&&(n.begin=ct(e,/.*\b/,n.binary,/\b.*/)),tt({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(t,i)=>{t.index!==0&&i.ignoreMatch()}},n)},Ht={begin:"\\\\[\\s\\S]",relevance:0},Wa={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ht]},Za={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ht]},Ya={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/},hn=function(n,e,t={}){let i=tt({scope:"comment",begin:n,end:e,contains:[]},t);i.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 r=ri("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 i.contains.push({begin:ct(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),i},Va=hn("//","$"),Xa=hn("/\\*","\\*/"),Qa=hn("#","$"),Ja={scope:"number",begin:vr,relevance:0},ja={scope:"number",begin:Sr,relevance:0},ec={scope:"number",begin:Ar,relevance:0},tc={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ht,{begin:/\[/,end:/\]/,relevance:0,contains:[Ht]}]},nc={scope:"title",begin:Tr,relevance:0},ic={scope:"title",begin:oi,relevance:0},rc={begin:"\\.\\s*"+oi,relevance:0},sc=function(n){return Object.assign(n,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},pn=Object.freeze({__proto__:null,APOS_STRING_MODE:Wa,BACKSLASH_ESCAPE:Ht,BINARY_NUMBER_MODE:ec,BINARY_NUMBER_RE:Ar,COMMENT:hn,C_BLOCK_COMMENT_MODE:Xa,C_LINE_COMMENT_MODE:Va,C_NUMBER_MODE:ja,C_NUMBER_RE:Sr,END_SAME_AS_BEGIN:sc,HASH_COMMENT_MODE:Qa,IDENT_RE:Tr,MATCH_NOTHING_RE:Ga,METHOD_GUARD:rc,NUMBER_MODE:Ja,NUMBER_RE:vr,PHRASAL_WORDS_MODE:Ya,QUOTE_STRING_MODE:Za,REGEXP_MODE:tc,RE_STARTERS_RE:qa,SHEBANG:Ka,TITLE_MODE:nc,UNDERSCORE_IDENT_RE:oi,UNDERSCORE_TITLE_MODE:ic});function oc(n,e){n.input[n.index-1]==="."&&e.ignoreMatch()}function ac(n,e){n.className!==void 0&&(n.scope=n.className,delete n.className)}function cc(n,e){e&&n.beginKeywords&&(n.begin="\\b("+n.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",n.__beforeBegin=oc,n.keywords=n.keywords||n.beginKeywords,delete n.beginKeywords,n.relevance===void 0&&(n.relevance=0))}function lc(n,e){Array.isArray(n.illegal)&&(n.illegal=ri(...n.illegal))}function uc(n,e){if(n.match){if(n.begin||n.end)throw new Error("begin & end are not supported with match");n.begin=n.match,delete n.match}}function dc(n,e){n.relevance===void 0&&(n.relevance=1)}var pc=(n,e)=>{if(!n.beforeMatch)return;if(n.starts)throw new Error("beforeMatch cannot be used with starts");let t=Object.assign({},n);Object.keys(n).forEach(i=>{delete n[i]}),n.keywords=t.keywords,n.begin=ct(t.beforeMatch,yr(t.begin)),n.starts={relevance:0,contains:[Object.assign(t,{endsParent:!0})]},n.relevance=0,delete t.beforeMatch},gc=["of","and","for","in","not","or","if","then","parent","list","value"],fc="keyword";function Nr(n,e,t=fc){let i=Object.create(null);return typeof n=="string"?r(t,n.split(" ")):Array.isArray(n)?r(t,n):Object.keys(n).forEach(function(o){Object.assign(i,Nr(n[o],e,o))}),i;function r(o,s){e&&(s=s.map(a=>a.toLowerCase())),s.forEach(function(a){let c=a.split("|");i[c[0]]=[o,hc(c[0],c[1])]})}}function hc(n,e){return e?Number(e):mc(n)?0:1}function mc(n){return gc.includes(n.toLowerCase())}var fr={},at=n=>{console.error(n)},hr=(n,...e)=>{console.log(`WARN: ${n}`,...e)},Tt=(n,e)=>{fr[`${n}/${e}`]||(console.log(`Deprecated as of ${n}. ${e}`),fr[`${n}/${e}`]=!0)},fn=new Error;function kr(n,e,{key:t}){let i=0,r=n[t],o={},s={};for(let a=1;a<=e.length;a++)s[a+i]=r[a],o[a+i]=!0,i+=wr(e[a-1]);n[t]=s,n[t]._emit=o,n[t]._multi=!0}function bc(n){if(Array.isArray(n.begin)){if(n.skip||n.excludeBegin||n.returnBegin)throw at("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),fn;if(typeof n.beginScope!="object"||n.beginScope===null)throw at("beginScope must be object"),fn;kr(n,n.begin,{key:"beginScope"}),n.begin=si(n.begin,{joinWith:""})}}function _c(n){if(Array.isArray(n.end)){if(n.skip||n.excludeEnd||n.returnEnd)throw at("skip, excludeEnd, returnEnd not compatible with endScope: {}"),fn;if(typeof n.endScope!="object"||n.endScope===null)throw at("endScope must be object"),fn;kr(n,n.end,{key:"endScope"}),n.end=si(n.end,{joinWith:""})}}function Ec(n){n.scope&&typeof n.scope=="object"&&n.scope!==null&&(n.beginScope=n.scope,delete n.scope)}function yc(n){Ec(n),typeof n.beginScope=="string"&&(n.beginScope={_wrap:n.beginScope}),typeof n.endScope=="string"&&(n.endScope={_wrap:n.endScope}),bc(n),_c(n)}function wc(n){function e(s,a){return new RegExp(Ft(s),"m"+(n.case_insensitive?"i":"")+(n.unicodeRegex?"u":"")+(a?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,c){c.position=this.position++,this.matchIndexes[this.matchAt]=c,this.regexes.push([c,a]),this.matchAt+=wr(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(c=>c[1]);this.matcherRe=e(si(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let c=this.matcherRe.exec(a);if(!c)return null;let u=c.findIndex((g,p)=>p>0&&g!==void 0),l=this.matchIndexes[u];return c.splice(0,u),Object.assign(c,l)}}class i{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 c=new t;return this.rules.slice(a).forEach(([u,l])=>c.addRule(u,l)),c.compile(),this.multiRegexes[a]=c,c}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,c){this.rules.push([a,c]),c.type==="begin"&&this.count++}exec(a){let c=this.getMatcher(this.regexIndex);c.lastIndex=this.lastIndex;let u=c.exec(a);if(this.resumingScanAtSamePosition()&&!(u&&u.index===this.lastIndex)){let l=this.getMatcher(0);l.lastIndex=this.lastIndex+1,u=l.exec(a)}return u&&(this.regexIndex+=u.position+1,this.regexIndex===this.count&&this.considerAll()),u}}function r(s){let a=new i;return s.contains.forEach(c=>a.addRule(c.begin,{rule:c,type:"begin"})),s.terminatorEnd&&a.addRule(s.terminatorEnd,{type:"end"}),s.illegal&&a.addRule(s.illegal,{type:"illegal"}),a}function o(s,a){let c=s;if(s.isCompiled)return c;[ac,uc,yc,pc].forEach(l=>l(s,a)),n.compilerExtensions.forEach(l=>l(s,a)),s.__beforeBegin=null,[cc,lc,dc].forEach(l=>l(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=Nr(s.keywords,n.case_insensitive)),c.keywordPatternRe=e(u,!0),a&&(s.begin||(s.begin=/\B|\b/),c.beginRe=e(c.begin),!s.end&&!s.endsWithParent&&(s.end=/\B|\b/),s.end&&(c.endRe=e(c.end)),c.terminatorEnd=Ft(c.end)||"",s.endsWithParent&&a.terminatorEnd&&(c.terminatorEnd+=(s.end?"|":"")+a.terminatorEnd)),s.illegal&&(c.illegalRe=e(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(l){return Tc(l==="self"?s:l)})),s.contains.forEach(function(l){o(l,c)}),s.starts&&o(s.starts,a),c.matcher=r(c),c}if(n.compilerExtensions||(n.compilerExtensions=[]),n.contains&&n.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return n.classNameAliases=tt(n.classNameAliases||{}),o(n)}function xr(n){return n?n.endsWithParent||xr(n.starts):!1}function Tc(n){return n.variants&&!n.cachedVariants&&(n.cachedVariants=n.variants.map(function(e){return tt(n,{variants:null},e)})),n.cachedVariants?n.cachedVariants:xr(n)?tt(n,{starts:n.starts?tt(n.starts):null}):Object.isFrozen(n)?tt(n):n}var vc="11.11.1",ii=class extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}},jn=Er,mr=tt,br=Symbol("nomatch"),Sc=7,Or=function(n){let e=Object.create(null),t=Object.create(null),i=[],r=!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:ni};function c(h){return a.noHighlightRe.test(h)}function u(h){let A=h.className+" ";A+=h.parentNode?h.parentNode.className:"";let N=a.languageDetectRe.exec(A);if(N){let $=q(N[1]);return $||(hr(o.replace("{}",N[1])),hr("Falling back to no-highlight mode for this block.",h)),$?N[1]:"no-highlight"}return A.split(/\s+/).find($=>c($)||q($))}function l(h,A,N){let $="",T="";typeof A=="object"?($=h,N=A.ignoreIllegals,T=A.language):(Tt("10.7.0","highlight(lang, code, ...args) has been deprecated."),Tt("10.7.0",`Please use highlight(code, options) instead. +https://github.com/highlightjs/highlight.js/issues/2277`),T=h,$=A),N===void 0&&(N=!0);let m={code:$,language:T};te("before:highlight",m);let E=m.result?m.result:g(m.language,m.code,N);return E.code=m.code,te("after:highlight",E),E}function g(h,A,N,$){let T=Object.create(null);function m(y,x){return y.keywords[x]}function E(){if(!L.keywords){ce.addText(X);return}let y=0;L.keywordPatternRe.lastIndex=0;let x=L.keywordPatternRe.exec(X),z="";for(;x;){z+=X.substring(y,x.index);let Y=he.case_insensitive?x[0].toLowerCase():x[0],le=m(L,Y);if(le){let[ke,ht]=le;if(ce.addText(z),z="",T[Y]=(T[Y]||0)+1,T[Y]<=Sc&&(ft+=ht),ke.startsWith("_"))z+=x[0];else{let mt=he.classNameAliases[ke]||ke;S(x[0],mt)}}else z+=x[0];y=L.keywordPatternRe.lastIndex,x=L.keywordPatternRe.exec(X)}z+=X.substring(y),ce.addText(z)}function v(){if(X==="")return;let y=null;if(typeof L.subLanguage=="string"){if(!e[L.subLanguage]){ce.addText(X);return}y=g(L.subLanguage,X,!0,He[L.subLanguage]),He[L.subLanguage]=y._top}else y=f(X,L.subLanguage.length?L.subLanguage:null);L.relevance>0&&(ft+=y.relevance),ce.__addSublanguage(y._emitter,y.language)}function R(){L.subLanguage!=null?v():E(),X=""}function S(y,x){y!==""&&(ce.startScope(x),ce.addText(y),ce.endScope())}function ie(y,x){let z=1,Y=x.length-1;for(;z<=Y;){if(!y._emit[z]){z++;continue}let le=he.classNameAliases[y[z]]||y[z],ke=x[z];le?S(ke,le):(X=ke,E(),X=""),z++}}function Se(y,x){return y.scope&&typeof y.scope=="string"&&ce.openNode(he.classNameAliases[y.scope]||y.scope),y.beginScope&&(y.beginScope._wrap?(S(X,he.classNameAliases[y.beginScope._wrap]||y.beginScope._wrap),X=""):y.beginScope._multi&&(ie(y.beginScope,x),X="")),L=Object.create(y,{parent:{value:L}}),L}function Fe(y,x,z){let Y=Fa(y.endRe,z);if(Y){if(y["on:end"]){let le=new gn(y);y["on:end"](x,le),le.isMatchIgnored&&(Y=!1)}if(Y){for(;y.endsParent&&y.parent;)y=y.parent;return y}}if(y.endsWithParent)return Fe(y.parent,x,z)}function it(y){return L.matcher.regexIndex===0?(X+=y[0],1):($e=!0,0)}function pt(y){let x=y[0],z=y.rule,Y=new gn(z),le=[z.__beforeBegin,z["on:begin"]];for(let ke of le)if(ke&&(ke(y,Y),Y.isMatchIgnored))return it(x);return z.skip?X+=x:(z.excludeBegin&&(X+=x),R(),!z.returnBegin&&!z.excludeBegin&&(X=x)),Se(z,y),z.returnBegin?0:x.length}function gt(y){let x=y[0],z=A.substring(y.index),Y=Fe(L,y,z);if(!Y)return br;let le=L;L.endScope&&L.endScope._wrap?(R(),S(x,L.endScope._wrap)):L.endScope&&L.endScope._multi?(R(),ie(L.endScope,y)):le.skip?X+=x:(le.returnEnd||le.excludeEnd||(X+=x),R(),le.excludeEnd&&(X=x));do L.scope&&ce.closeNode(),!L.skip&&!L.subLanguage&&(ft+=L.relevance),L=L.parent;while(L!==Y.parent);return Y.starts&&Se(Y.starts,y),le.returnEnd?0:x.length}function De(){let y=[];for(let x=L;x!==he;x=x.parent)x.scope&&y.unshift(x.scope);y.forEach(x=>ce.openNode(x))}let Me={};function Ne(y,x){let z=x&&x[0];if(X+=y,z==null)return R(),0;if(Me.type==="begin"&&x.type==="end"&&Me.index===x.index&&z===""){if(X+=A.slice(x.index,x.index+1),!r){let Y=new Error(`0 width match regex (${h})`);throw Y.languageName=h,Y.badRule=Me.rule,Y}return 1}if(Me=x,x.type==="begin")return pt(x);if(x.type==="illegal"&&!N){let Y=new Error('Illegal lexeme "'+z+'" for mode "'+(L.scope||"")+'"');throw Y.mode=L,Y}else if(x.type==="end"){let Y=gt(x);if(Y!==br)return Y}if(x.type==="illegal"&&z==="")return X+=` +`,1;if(Ge>1e5&&Ge>x.index*3)throw new Error("potential infinite loop, way more iterations than matches");return X+=z,z.length}let he=q(h);if(!he)throw at(o.replace("{}",h)),new Error('Unknown language: "'+h+'"');let Z=wc(he),_e="",L=$||Z,He={},ce=new a.__emitter(a);De();let X="",ft=0,Ie=0,Ge=0,$e=!1;try{if(he.__emitTokens)he.__emitTokens(A,ce);else{for(L.matcher.considerAll();;){Ge++,$e?$e=!1:L.matcher.considerAll(),L.matcher.lastIndex=Ie;let y=L.matcher.exec(A);if(!y)break;let x=A.substring(Ie,y.index),z=Ne(x,y);Ie=y.index+z}Ne(A.substring(Ie))}return ce.finalize(),_e=ce.toHTML(),{language:h,value:_e,relevance:ft,illegal:!1,_emitter:ce,_top:L}}catch(y){if(y.message&&y.message.includes("Illegal"))return{language:h,value:jn(A),illegal:!0,relevance:0,_illegalBy:{message:y.message,index:Ie,context:A.slice(Ie-100,Ie+100),mode:y.mode,resultSoFar:_e},_emitter:ce};if(r)return{language:h,value:jn(A),illegal:!1,relevance:0,errorRaised:y,_emitter:ce,_top:L};throw y}}function p(h){let A={value:jn(h),illegal:!1,relevance:0,_top:s,_emitter:new a.__emitter(a)};return A._emitter.addText(h),A}function f(h,A){A=A||a.languages||Object.keys(e);let N=p(h),$=A.filter(q).filter(de).map(R=>g(R,h,!1));$.unshift(N);let T=$.sort((R,S)=>{if(R.relevance!==S.relevance)return S.relevance-R.relevance;if(R.language&&S.language){if(q(R.language).supersetOf===S.language)return 1;if(q(S.language).supersetOf===R.language)return-1}return 0}),[m,E]=T,v=m;return v.secondBest=E,v}function b(h,A,N){let $=A&&t[A]||N;h.classList.add("hljs"),h.classList.add(`language-${$}`)}function w(h){let A=null,N=u(h);if(c(N))return;if(te("before:highlightElement",{el:h,language:N}),h.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",h);return}if(h.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(h)),a.throwUnescapedHTML))throw new ii("One of your code blocks includes unescaped HTML.",h.innerHTML);A=h;let $=A.textContent,T=N?l($,{language:N,ignoreIllegals:!0}):f($);h.innerHTML=T.value,h.dataset.highlighted="yes",b(h,N,T.language),h.result={language:T.language,re:T.relevance,relevance:T.relevance},T.secondBest&&(h.secondBest={language:T.secondBest.language,relevance:T.secondBest.relevance}),te("after:highlightElement",{el:h,result:T,text:$})}function k(h){a=mr(a,h)}let M=()=>{C(),Tt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function P(){C(),Tt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let U=!1;function C(){function h(){C()}if(document.readyState==="loading"){U||window.addEventListener("DOMContentLoaded",h,!1),U=!0;return}document.querySelectorAll(a.cssSelector).forEach(w)}function B(h,A){let N=null;try{N=A(n)}catch($){if(at("Language definition for '{}' could not be registered.".replace("{}",h)),r)at($);else throw $;N=s}N.name||(N.name=h),e[h]=N,N.rawDefinition=A.bind(null,n),N.aliases&&J(N.aliases,{languageName:h})}function D(h){delete e[h];for(let A of Object.keys(t))t[A]===h&&delete t[A]}function oe(){return Object.keys(e)}function q(h){return h=(h||"").toLowerCase(),e[h]||e[t[h]]}function J(h,{languageName:A}){typeof h=="string"&&(h=[h]),h.forEach(N=>{t[N.toLowerCase()]=A})}function de(h){let A=q(h);return A&&!A.disableAutodetect}function V(h){h["before:highlightBlock"]&&!h["before:highlightElement"]&&(h["before:highlightElement"]=A=>{h["before:highlightBlock"](Object.assign({block:A.el},A))}),h["after:highlightBlock"]&&!h["after:highlightElement"]&&(h["after:highlightElement"]=A=>{h["after:highlightBlock"](Object.assign({block:A.el},A))})}function pe(h){V(h),i.push(h)}function fe(h){let A=i.indexOf(h);A!==-1&&i.splice(A,1)}function te(h,A){let N=h;i.forEach(function($){$[N]&&$[N](A)})}function se(h){return Tt("10.7.0","highlightBlock will be removed entirely in v12.0"),Tt("10.7.0","Please use highlightElement now."),w(h)}Object.assign(n,{highlight:l,highlightAuto:f,highlightAll:C,highlightElement:w,highlightBlock:se,configure:k,initHighlighting:M,initHighlightingOnLoad:P,registerLanguage:B,unregisterLanguage:D,listLanguages:oe,getLanguage:q,registerAliases:J,autoDetection:de,inherit:mr,addPlugin:pe,removePlugin:fe}),n.debugMode=function(){r=!1},n.safeMode=function(){r=!0},n.versionString=vc,n.regex={concat:ct,lookahead:yr,either:ri,optional:Ba,anyNumberOfTimes:Ua};for(let h in pn)typeof pn[h]=="object"&&_r(pn[h]);return Object.assign(n,pn),n},vt=Or({});vt.newInstance=()=>Or({});Rr.exports=vt;vt.HighlightJS=vt;vt.default=vt});var Ir=H((Xd,Mr)=>{function Ac(n){let e=n.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),i=/[\p{L}0-9._:-]+/u,r={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=n.inherit(o,{begin:/\(/,end:/\)/}),a=n.inherit(n.APOS_STRING_MODE,{className:"string"}),c=n.inherit(n.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,c,a,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[o,s,c,a]}]}]},n.COMMENT(//,{relevance:10}),{begin://,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{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:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:u}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}Mr.exports=Ac});var Dr=H((Qd,Lr)=>{function Nc(n){let e=n.regex,t={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{className:"variable",variants:[{begin:e.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});let r={className:"subst",begin:/\$\(/,end:/\)/,contains:[n.BACKSLASH_ESCAPE]},o=n.inherit(n.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),s={begin:/<<-?\s*(?=\w+)/,starts:{contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,t,r]};r.contains.push(a);let c={match:/\\"/},u={className:"string",begin:/'/,end:/'/},l={match:/\\'/},g={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},n.NUMBER_MODE,t]},p=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],f=n.SHEBANG({binary:`(${p.join("|")})`,relevance:10}),b={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[n.inherit(n.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},w=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],k=["true","false"],M={match:/(\/[a-z._-]+)+/},P=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],U=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],C=["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"],B=["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:w,literal:k,built_in:[...P,...U,"set","shopt",...C,...B]},contains:[f,n.SHEBANG(),b,g,o,s,M,a,c,u,l,t]}}Lr.exports=Nc});var Pr=H((Jd,$r)=>{function kc(n){let e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.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:[n.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:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={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},g={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},n.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},f=e.optional(r)+n.IDENT_RE+"\\s*\\(",k={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"},M=[g,a,t,n.C_BLOCK_COMMENT_MODE,l,u],P={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:M.concat([{begin:/\(/,end:/\)/,keywords:k,contains:M.concat(["self"]),relevance:0}]),relevance:0},U={begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:k,relevance:0},{begin:f,returnBegin:!0,contains:[n.inherit(p,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,u,l,a,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,u,l,a]}]},a,t,n.C_BLOCK_COMMENT_MODE,g]};return{name:"C",aliases:["h"],keywords:k,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},n.TITLE_MODE]}]),exports:{preprocessor:g,strings:u,keywords:k}}}$r.exports=kc});var Br=H((jd,Ur)=>{function xc(n){let e=n.regex,t=n.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),i="decltype\\(auto\\)",r="[a-zA-Z_]\\w*::",s="(?!struct)("+i+"|"+e.optional(r)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},u={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[n.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:"."},n.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={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},g={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},n.inherit(u,{className:"string"}),{className:"string",begin:/<.*?>/},t,n.C_BLOCK_COMMENT_MODE]},p={className:"title",begin:e.optional(r)+n.IDENT_RE,relevance:0},f=e.optional(r)+n.IDENT_RE+"\\s*\\(",b=["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"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["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"],M=["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"],C={type:w,keyword:b,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},B={className:"function.dispatch",relevance:0,keywords:{_hint:M},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,n.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},D=[B,g,a,t,n.C_BLOCK_COMMENT_MODE,l,u],oe={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:C,contains:D.concat([{begin:/\(/,end:/\)/,keywords:C,contains:D.concat(["self"]),relevance:0}]),relevance:0},q={className:"function",begin:"("+s+"[\\*&\\s]+)+"+f,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:C,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:i,keywords:C,relevance:0},{begin:f,returnBegin:!0,contains:[p],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[u,l]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:[t,n.C_BLOCK_COMMENT_MODE,u,l,a,{begin:/\(/,end:/\)/,keywords:C,relevance:0,contains:["self",t,n.C_BLOCK_COMMENT_MODE,u,l,a]}]},a,t,n.C_BLOCK_COMMENT_MODE,g]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:C,illegal:"",keywords:C,contains:["self",a]},{begin:n.IDENT_RE+"::",keywords:C},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}Ur.exports=xc});var Fr=H((ep,zr)=>{function Oc(n){let e=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],t=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],i=["default","false","null","true"],r=["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:r.concat(o),built_in:e,literal:i},a=n.inherit(n.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),c={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},l={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},g=n.inherit(l,{illegal:/\n/}),p={className:"subst",begin:/\{/,end:/\}/,keywords:s},f=n.inherit(p,{illegal:/\n/}),b={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},n.BACKSLASH_ESCAPE,f]},w={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},p]},k=n.inherit(w,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},f]});p.contains=[w,b,l,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,c,n.C_BLOCK_COMMENT_MODE],f.contains=[k,b,g,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,c,n.inherit(n.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let M={variants:[u,w,b,l,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},P={begin:"<",end:">",contains:[{beginKeywords:"in out"},a]},U=n.IDENT_RE+"(<"+n.IDENT_RE+"(\\s*,\\s*"+n.IDENT_RE+")*>)?(\\[\\])?",C={begin:"@"+n.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:s,illegal:/::/,contains:[n.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:""},{begin:""}]}]}),n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},M,c,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},a,P,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,P,n.C_LINE_COMMENT_MODE,n.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:"("+U+"\\s+)+"+n.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:s,contains:[{beginKeywords:t.join(" "),relevance:0},{begin:n.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[n.TITLE_MODE,P],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,relevance:0,contains:[M,c,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},C]}}zr.exports=Oc});var Gr=H((tp,Hr)=>{var Rc=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),Cc=["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"],Mc=["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"],Ic=[...Cc,...Mc],Lc=["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(),Dc=["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(),$c=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Pc=["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 Uc(n){let e=n.regex,t=Rc(n),i={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",o=/@-?\w[\w]*(-\w+)*/,s="[a-zA-Z-][a-zA-Z0-9_-]*",a=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,i,t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+s,relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Dc.join("|")+")"},{begin:":(:)?("+$c.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Pc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.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}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:o},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:Lc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Ic.join("|")+")\\b"}]}}Hr.exports=Uc});var Kr=H((np,qr)=>{function Bc(n){let e=n.regex,t={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},i={begin:"^[-\\*]{3,}",end:"$"},r={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+.-]*/,c={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:e.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}/}]},l={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},g=n.inherit(u,{contains:[]}),p=n.inherit(l,{contains:[]});u.contains.push(p),l.contains.push(g);let f=[t,c];return[u,l,g,p].forEach(M=>{M.contains=M.contains.concat(f)}),f=f.concat(u,l),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:f},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:f}]}]},t,o,u,l,{className:"quote",begin:"^>\\s+",contains:f,end:"$"},r,i,c,s,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}qr.exports=Bc});var Zr=H((ip,Wr)=>{function zc(n){let e=n.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}Wr.exports=zc});var Vr=H((rp,Yr)=>{function Fc(n){let e=n.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",i=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),r=e.concat(i,/(::\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]+"},c={begin:"#<",end:">"},u=[n.COMMENT("#","$",{contains:[a]}),n.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),n.COMMENT("^__END__",n.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/,end:/\}/,keywords:s},g={className:"string",contains:[n.BACKSLASH_ESCAPE,l],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:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[n.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[n.BACKSLASH_ESCAPE,l]})]}]},p="[1-9](_?[0-9])*|0",f="[0-9](_?[0-9])*",b={className:"number",relevance:0,variants:[{begin:`\\b(${p})(\\.(${f}))?([eE][+-]?(${f})|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"}]},w={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:s}]},D=[g,{variants:[{match:[/class\s+/,r,/\s+<\s+/,r]},{match:[/\b(class|module)\s+/,r]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:s},{match:[/(include|extend)\s+/,r],scope:{2:"title.class"},keywords:s},{relevance:0,match:[r,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:i,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[w]},{begin:n.IDENT_RE+"::"},{className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[g,{begin:t}],relevance:0},b,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:s},{begin:"("+n.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[n.BACKSLASH_ESCAPE,l],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(c,u),relevance:0}].concat(c,u);l.contains=D,w.contains=D;let de=[{begin:/^\s*=>/,starts:{end:"$",contains:D}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:s,contains:D}}];return u.unshift(c),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:s,illegal:/\/\*/,contains:[n.SHEBANG({binary:"ruby"})].concat(de).concat(u).concat(D)}}Yr.exports=Fc});var Qr=H((sp,Xr)=>{function Hc(n){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:"{function Gc(n){let e=n.regex,t=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[n.HASH_COMMENT_MODE,n.QUOTE_STRING_MODE,n.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:e.concat(t,e.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}Jr.exports=Gc});var ts=H((ap,es)=>{function qc(n){let e=n.regex,t={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:n.NUMBER_RE}]},i=n.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let r={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},o={className:"literal",begin:/\bon|off|true|false|yes|no\b/},s={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},a={begin:/\[/,end:/\]/,contains:[i,o,r,s,t,"self"],relevance:0},c=/[A-Za-z0-9_-]+/,u=/"(\\"|[^"])*"/,l=/'[^']*'/,g=e.either(c,u,l),p=e.concat(g,"(\\s*\\.\\s*",g,")*",e.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:p,className:"attr",starts:{end:/$/,contains:[i,a,o,r,s,t]}}]}}es.exports=qc});var ss=H((cp,rs)=>{var St="[0-9](_*[0-9])*",mn=`\\.(${St})`,bn="[0-9a-fA-F](_*[0-9a-fA-F])*",ns={className:"number",variants:[{begin:`(\\b(${St})((${mn})|\\.)?|(${mn}))[eE][+-]?(${St})[fFdD]?\\b`},{begin:`\\b(${St})((${mn})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${mn})[fFdD]?\\b`},{begin:`\\b(${St})[fFdD]\\b`},{begin:`\\b0[xX]((${bn})\\.?|(${bn})?\\.(${bn}))[pP][+-]?(${St})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${bn})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function is(n,e,t){return t===-1?"":n.replace(e,i=>is(n,e,t-1))}function Kc(n){let e=n.regex,t="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",i=t+is("(?:<"+t+"~~~(?:\\s*,\\s*"+t+"~~~)*>)?",/~~~/g,2),c={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:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},l={className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[n.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:c,illegal:/<\/|#/,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[n.BACKSLASH_ESCAPE]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[l,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+i+"\\s+)",n.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:c,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:c,relevance:0,contains:[u,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,ns,n.C_BLOCK_COMMENT_MODE]},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},ns,u]}}rs.exports=Kc});var ds=H((lp,us)=>{var os="[A-Za-z$_][0-9A-Za-z$_]*",Wc=["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"],Zc=["true","false","null","undefined","NaN","Infinity"],as=["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"],cs=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ls=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Yc=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Vc=[].concat(ls,as,cs);function Xc(n){let e=n.regex,t=(N,{after:$})=>{let T="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,$)=>{let T=N[0].length+N.index,m=N.input[T];if(m==="<"||m===","){$.ignoreMatch();return}m===">"&&(t(N,{after:T})||$.ignoreMatch());let E,v=N.input.substring(T);if(E=v.match(/^\s*=/)){$.ignoreMatch();return}if((E=v.match(/^\s+extends\s+/))&&E.index===0){$.ignoreMatch();return}}},a={$pattern:os,keyword:Wc,literal:Zc,built_in:Vc,"variable.language":Yc},c="[0-9](_?[0-9])*",u=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\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},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[n.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,w,k,{match:/\$\d+/},g];p.contains=U.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(U)});let C=[].concat(P,p.contains),B=C.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(C)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},oe={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},q={relevance:0,match:e.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:{_:[...as,...cs]}},J={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},de={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},V={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function pe(N){return e.concat("(?!",N.join("|"),")")}let fe={match:e.concat(/\b/,pe([...ls,"super","import"].map(N=>`${N}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},se={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},h="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",A={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(h)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:q},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),J,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,w,k,P,{match:/\$\d+/},g,q,{scope:"attr",match:i+e.lookahead(":"),relevance:0},A,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,n.REGEXP_MODE,{className:"function",begin:h,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.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"]}]}]},de,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},fe,V,oe,se,{match:/\$[(.]/}]}}us.exports=Xc});var gs=H((up,ps)=>{function Qc(n){let e={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},t={match:/[{}[\],:]/,className:"punctuation",relevance:0},i=["true","false","null"],r={scope:"literal",beginKeywords:i.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:i},contains:[e,t,n.QUOTE_STRING_MODE,r,n.C_NUMBER_MODE,n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}ps.exports=Qc});var hs=H((dp,fs)=>{var At="[0-9](_*[0-9])*",_n=`\\.(${At})`,En="[0-9a-fA-F](_*[0-9a-fA-F])*",Jc={className:"number",variants:[{begin:`(\\b(${At})((${_n})|\\.)?|(${_n}))[eE][+-]?(${At})[fFdD]?\\b`},{begin:`\\b(${At})((${_n})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${_n})[fFdD]?\\b`},{begin:`\\b(${At})[fFdD]\\b`},{begin:`\\b0[xX]((${En})\\.?|(${En})?\\.(${En}))[pP][+-]?(${At})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${En})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function jc(n){let e={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"},t={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},i={className:"symbol",begin:n.UNDERSCORE_IDENT_RE+"@"},r={className:"subst",begin:/\$\{/,end:/\}/,contains:[n.C_NUMBER_MODE]},o={className:"variable",begin:"\\$"+n.UNDERSCORE_IDENT_RE},s={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[o,r]},{begin:"'",end:"'",illegal:/\n/,contains:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[n.BACKSLASH_ESCAPE,o,r]}]};r.contains.push(s);let a={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+n.UNDERSCORE_IDENT_RE+")?"},c={className:"meta",begin:"@"+n.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[n.inherit(s,{className:"string"}),"self"]}]},u=Jc,l=n.COMMENT("/\\*","\\*/",{contains:[n.C_BLOCK_COMMENT_MODE]}),g={variants:[{className:"type",begin:n.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},p=g;return p.variants[1].contains=[g],g.variants[1].contains=[p],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[n.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),n.C_LINE_COMMENT_MODE,l,t,i,a,c,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:n.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[n.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[g,n.C_LINE_COMMENT_MODE,l],relevance:0},n.C_LINE_COMMENT_MODE,l,a,c,s,n.C_NUMBER_MODE]},l]},{begin:[/class|interface|trait/,/\s+/,n.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},n.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},a,c]},s,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:` +`},u]}}fs.exports=jc});var Es=H((pp,_s)=>{var el=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),tl=["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"],nl=["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"],il=[...tl,...nl],rl=["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(),ms=["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(),bs=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),sl=["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(),ol=ms.concat(bs).sort().reverse();function al(n){let e=el(n),t=ol,i="and or not only",r="[\\w-]+",o="("+r+"|@\\{"+r+"\\})",s=[],a=[],c=function(U){return{className:"string",begin:"~?"+U+".*?"+U}},u=function(U,C,B){return{className:U,begin:C,relevance:B}},l={$pattern:/[a-z-]+/,keyword:i,attribute:rl.join(" ")},g={begin:"\\(",end:"\\)",contains:a,keywords:l,relevance:0};a.push(n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,c("'"),c('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,g,u("variable","@@?"+r,10),u("variable","@\\{"+r+"\\}"),u("built_in","~?`[^`]*?`"),{className:"attribute",begin:r+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);let p=a.concat({begin:/\{/,end:/\}/,contains:s}),f={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},b={begin:o+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+sl.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},w={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:l,returnEnd:!0,contains:a,relevance:0}},k={className:"variable",variants:[{begin:"@"+r+"\\s*:",relevance:15},{begin:"@"+r}],starts:{end:"[;}]",returnEnd:!0,contains:p}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:o,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,f,u("keyword","all\\b"),u("variable","@\\{"+r+"\\}"),{begin:"\\b("+il.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,u("selector-tag",o,0),u("selector-id","#"+o),u("selector-class","\\."+o,0),u("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+ms.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+bs.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:p},{begin:"!important"},e.FUNCTION_DISPATCH]},P={begin:r+`:(:)?(${t.join("|")})`,returnBegin:!0,contains:[M]};return s.push(n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,w,k,P,b,M,f,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:s}}_s.exports=al});var ws=H((gp,ys)=>{function cl(n){let e="\\[=*\\[",t="\\]=*\\]",i={begin:e,end:t,contains:["self"]},r=[n.COMMENT("--(?!"+e+")","$"),n.COMMENT("--"+e,t,{contains:[i],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:n.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:r.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[n.inherit(n.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:r}].concat(r)},n.C_NUMBER_MODE,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,{className:"string",begin:e,end:t,contains:[i],relevance:5}])}}ys.exports=cl});var vs=H((fp,Ts)=>{function ll(n){let e={className:"variable",variants:[{begin:"\\$\\("+n.UNDERSCORE_IDENT_RE+"\\)",contains:[n.BACKSLASH_ESCAPE]},{begin:/\$[@%{function ul(n){let e=n.regex,t=["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"],i=/[dualxmsipngr]{0,12}/,r={$pattern:/[\w.]+/,keyword:t.join(" ")},o={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:r},s={begin:/->\{/,end:/\}/},a={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},c={scope:"variable",variants:[{begin:/\$\d/},{begin:e.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},l=[n.BACKSLASH_ESCAPE,o,c],g=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],p=(w,k,M="\\1")=>{let P=M==="\\1"?M:e.concat(M,k);return e.concat(e.concat("(?:",w,")"),k,/(?:\\.|[^\\\/])*?/,P,/(?:\\.|[^\\\/])*?/,M,i)},f=(w,k,M)=>e.concat(e.concat("(?:",w,")"),k,/(?:\\.|[^\\\/])*?/,M,i),b=[c,n.HASH_COMMENT_MODE,n.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),s,{className:"string",contains:l,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:[n.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},u,{begin:"(\\/\\/|"+n.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[n.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:p("s|tr|y",e.either(...g,{capture:!0}))},{begin:p("s|tr|y","\\(","\\)")},{begin:p("s|tr|y","\\[","\\]")},{begin:p("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:f("(?:m|qr)?",/\//,/\//)},{begin:f("m|qr",e.either(...g,{capture:!0}),/\1/)},{begin:f("m|qr",/\(/,/\)/)},{begin:f("m|qr",/\[/,/\]/)},{begin:f("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[n.TITLE_MODE,a]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[n.TITLE_MODE,a,u]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return o.contains=b,s.contains=b,{name:"Perl",aliases:["pl","pm"],keywords:r,contains:b}}Ss.exports=ul});var ks=H((mp,Ns)=>{function dl(n){let e={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+"},t=/[a-zA-Z@][a-zA-Z0-9_]*/,a={"variable.language":["this","super"],$pattern:t,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"]},c={$pattern:t,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:a,illegal:"/,end:/$/,illegal:"\\n"},n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+c.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:c,contains:[n.UNDERSCORE_TITLE_MODE]},{begin:"\\."+n.UNDERSCORE_IDENT_RE,relevance:0}]}}Ns.exports=dl});var Os=H((bp,xs)=>{function pl(n){let e=n.regex,t=/(?![A-Za-z0-9])(?![$])/,i=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),r=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),o=e.concat(/[A-Z]+/,t),s={scope:"variable",match:"\\$+"+i},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},c={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},u=n.inherit(n.APOS_STRING_MODE,{illegal:null}),l=n.inherit(n.QUOTE_STRING_MODE,{illegal:null,contains:n.QUOTE_STRING_MODE.contains.concat(c)}),g={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:n.QUOTE_STRING_MODE.contains.concat(c),"on:begin":(te,se)=>{se.data._beginMatch=te[1]||te[2]},"on:end":(te,se)=>{se.data._beginMatch!==te[1]&&se.ignoreMatch()}},p=n.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),f=`[ +]`,b={scope:"string",variants:[l,u,g,p]},w={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},k=["false","null","true"],M=["__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"],P=["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"],C={keyword:M,literal:(te=>{let se=[];return te.forEach(h=>{se.push(h),h.toLowerCase()===h?se.push(h.toUpperCase()):se.push(h.toLowerCase())}),se})(k),built_in:P},B=te=>te.map(se=>se.replace(/\|\d+$/,"")),D={variants:[{match:[/new/,e.concat(f,"+"),e.concat("(?!",B(P).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},oe=e.concat(i,"\\b(?!\\()"),q={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),oe],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,e.concat(/::/,e.lookahead(/(?!class\b)/)),oe],scope:{1:"title.class",3:"variable.constant"}},{match:[r,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},J={scope:"attr",match:e.concat(i,e.lookahead(":"),e.lookahead(/(?!::)/))},de={relevance:0,begin:/\(/,end:/\)/,keywords:C,contains:[J,s,q,n.C_BLOCK_COMMENT_MODE,b,w,D]},V={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",B(M).join("\\b|"),"|",B(P).join("\\b|"),"\\b)"),i,e.concat(f,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[de]};de.contains.push(V);let pe=[J,q,n.C_BLOCK_COMMENT_MODE,b,w,D],fe={begin:e.concat(/#\[\s*\\?/,e.either(r,o)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:k,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:k,keyword:["new","array"]},contains:["self",...pe]},...pe,{scope:"meta",variants:[{match:r},{match:o}]}]};return{case_insensitive:!1,keywords:C,contains:[fe,n.HASH_COMMENT_MODE,n.COMMENT("//","$"),n.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:n.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},s,V,q,{match:[/const/,/\s/,i],scope:{1:"keyword",3:"variable.constant"}},D,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},n.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:C,contains:["self",fe,s,q,n.C_BLOCK_COMMENT_MODE,b,w]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},n.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[n.inherit(n.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},n.UNDERSCORE_TITLE_MODE]},b,w]}}xs.exports=pl});var Cs=H((_p,Rs)=>{function gl(n){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},n.inherit(n.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),n.inherit(n.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}Rs.exports=gl});var Is=H((Ep,Ms)=>{function fl(n){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}Ms.exports=fl});var Ds=H((yp,Ls)=>{function hl(n){let e=n.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["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:i,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"]},c={className:"meta",begin:/^(>>>|\.\.\.) /},u={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},l={begin:/\{\{/,relevance:0},g={className:"string",contains:[n.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[n.BACKSLASH_ESCAPE,c,l,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[n.BACKSLASH_ESCAPE,c,l,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:[n.BACKSLASH_ESCAPE,l,u]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[n.BACKSLASH_ESCAPE,l,u]},n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},p="[0-9](_?[0-9])*",f=`(\\b(${p}))?\\.(${p})|\\b(${p})\\.`,b=`\\b|${i.join("|")}`,w={className:"number",relevance:0,variants:[{begin:`(\\b(${p})|(${f}))[eE][+-]?(${p})[jJ]?(?=${b})`},{begin:`(${f})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${b})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${b})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${b})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${b})`},{begin:`\\b(${p})[jJ](?=${b})`}]},k={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},M={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",c,w,g,n.HASH_COMMENT_MODE]}]};return u.contains=[g,w,c],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[c,w,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},g,k,n.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[M]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[w,M,g]}]}}Ls.exports=hl});var Ps=H((wp,$s)=>{function ml(n){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}$s.exports=ml});var Bs=H((Tp,Us)=>{function bl(n){let e=n.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,i=e.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]?/),r=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,o=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,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:[n.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),n.HASH_COMMENT_MODE,{scope:"string",contains:[n.BACKSLASH_ESCAPE],variants:[n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),n.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[r,i]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,i]},{scope:{1:"punctuation",2:"number"},match:[o,i]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,i]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:r},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:o},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}Us.exports=bl});var Fs=H((vp,zs)=>{function _l(n){let e=n.regex,t=/(r#)?/,i=e.concat(t,n.UNDERSCORE_IDENT_RE),r=e.concat(t,n.IDENT_RE),o={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let|for|while|if|else|match\b)/,r,e.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"],c=["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!"],l=["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:n.IDENT_RE+"!?",type:l,keyword:a,literal:c,built_in:u},illegal:""},o]}}zs.exports=_l});var Gs=H((Sp,Hs)=>{var El=n=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:n.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:[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:n.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_-]*/}}),yl=["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"],wl=["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"],Tl=[...yl,...wl],vl=["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(),Sl=["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(),Al=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Nl=["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 kl(n){let e=El(n),t=Al,i=Sl,r="@[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:[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Tl.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+i.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Nl.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:[e.BLOCK_COMMENT,a,e.HEXCOLOR,e.CSS_NUMBER_MODE,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:r,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:vl.join(" ")},contains:[{begin:r,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,n.QUOTE_STRING_MODE,n.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}}Hs.exports=kl});var Ks=H((Ap,qs)=>{function xl(n){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}qs.exports=xl});var Zs=H((Np,Ws)=>{function Ol(n){let e=n.regex,t=n.COMMENT("--","$"),i={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={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"],c=["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"],l=["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"],g=["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"],p=["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"],f=l,b=[...u,...c].filter(B=>!l.includes(B)),w={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},k={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},M={match:e.concat(/\b/,e.either(...f),/\s*\(/),relevance:0,keywords:{built_in:f}};function P(B){return e.concat(/\b/,e.either(...B.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}let U={scope:"keyword",match:P(p),relevance:0};function C(B,{exceptions:D,when:oe}={}){let q=oe;return D=D||[],B.map(J=>J.match(/\|\d+$/)||D.includes(J)?J:q(J)?`${J}|0`:J)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:C(b,{when:B=>B.length<3}),literal:o,type:a,built_in:g},contains:[{scope:"type",match:P(s)},U,M,w,i,r,n.C_NUMBER_MODE,n.C_BLOCK_COMMENT_MODE,t,k]}}Ws.exports=Ol});var no=H((kp,to)=>{function Qs(n){return n?typeof n=="string"?n:n.source:null}function Gt(n){return j("(?=",n,")")}function j(...n){return n.map(t=>Qs(t)).join("")}function Rl(n){let e=n[n.length-1];return typeof e=="object"&&e.constructor===Object?(n.splice(n.length-1,1),e):{}}function Ee(...n){return"("+(Rl(n).capture?"":"?:")+n.map(i=>Qs(i)).join("|")+")"}var li=n=>j(/\b/,n,/\w$/.test(n)?/\b/:/\B/),Cl=["Protocol","Type"].map(li),Ys=["init","self"].map(li),Ml=["Any","Self"],ai=["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"],Vs=["false","nil","true"],Il=["assignment","associativity","higherThan","left","lowerThan","none","right"],Ll=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Xs=["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"],Js=Ee(/[/=\-+!*%<>&|^~?]/,/[\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]/),js=Ee(Js,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),ci=j(Js,js,"*"),eo=Ee(/[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]/),wn=Ee(eo,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Be=j(eo,wn,"*"),yn=j(/[A-Z]/,wn,"*"),Dl=["attached","autoclosure",j(/convention\(/,Ee("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",j(/objc\(/,Be,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],$l=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function Pl(n){let e={match:/\s+/,relevance:0},t=n.COMMENT("/\\*","\\*/",{contains:["self"]}),i=[n.C_LINE_COMMENT_MODE,t],r={match:[/\./,Ee(...Cl,...Ys)],className:{2:"keyword"}},o={match:j(/\./,Ee(...ai)),relevance:0},s=ai.filter(Z=>typeof Z=="string").concat(["_|0"]),a=ai.filter(Z=>typeof Z!="string").concat(Ml).map(li),c={variants:[{className:"keyword",match:Ee(...a,...Ys)}]},u={$pattern:Ee(/\b\w+/,/#\w+/),keyword:s.concat(Ll),literal:Vs},l=[r,o,c],g={match:j(/\./,Ee(...Xs)),relevance:0},p={className:"built_in",match:j(/\b/,Ee(...Xs),/(?=\()/)},f=[g,p],b={match:/->/,relevance:0},w={className:"operator",relevance:0,variants:[{match:ci},{match:`\\.(\\.|${js})+`}]},k=[b,w],M="([0-9]_*)+",P="([0-9a-fA-F]_*)+",U={className:"number",relevance:0,variants:[{match:`\\b(${M})(\\.(${M}))?([eE][+-]?(${M}))?\\b`},{match:`\\b0x(${P})(\\.(${P}))?([pP][+-]?(${M}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},C=(Z="")=>({className:"subst",variants:[{match:j(/\\/,Z,/[0\\tnr"']/)},{match:j(/\\/,Z,/u\{[0-9a-fA-F]{1,8}\}/)}]}),B=(Z="")=>({className:"subst",match:j(/\\/,Z,/[\t ]*(?:[\r\n]|\r\n)/)}),D=(Z="")=>({className:"subst",label:"interpol",begin:j(/\\/,Z,/\(/),end:/\)/}),oe=(Z="")=>({begin:j(Z,/"""/),end:j(/"""/,Z),contains:[C(Z),B(Z),D(Z)]}),q=(Z="")=>({begin:j(Z,/"/),end:j(/"/,Z),contains:[C(Z),D(Z)]}),J={className:"string",variants:[oe(),oe("#"),oe("##"),oe("###"),q(),q("#"),q("##"),q("###")]},de=[n.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[n.BACKSLASH_ESCAPE]}],V={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:de},pe=Z=>{let _e=j(Z,/\//),L=j(/\//,Z);return{begin:_e,end:L,contains:[...de,{scope:"comment",begin:`#(?!.*${L})`,end:/$/}]}},fe={scope:"regexp",variants:[pe("###"),pe("##"),pe("#"),V]},te={match:j(/`/,Be,/`/)},se={className:"variable",match:/\$\d+/},h={className:"variable",match:`\\$${wn}+`},A=[te,se,h],N={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:$l,contains:[...k,U,J]}]}},$={scope:"keyword",match:j(/@/,Ee(...Dl),Gt(Ee(/\(/,/\s+/)))},T={scope:"meta",match:j(/@/,Be)},m=[N,$,T],E={match:Gt(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:j(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,wn,"+")},{className:"type",match:yn,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:j(/\s+&\s+/,Gt(yn)),relevance:0}]},v={begin://,keywords:u,contains:[...i,...l,...m,b,E]};E.contains.push(v);let R={match:j(Be,/\s*:/),keywords:"_|0",relevance:0},S={begin:/\(/,end:/\)/,relevance:0,keywords:u,contains:["self",R,...i,fe,...l,...f,...k,U,J,...A,...m,E]},ie={begin://,keywords:"repeat each",contains:[...i,E]},Se={begin:Ee(Gt(j(Be,/\s*:/)),Gt(j(Be,/\s+/,Be,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Be}]},Fe={begin:/\(/,end:/\)/,keywords:u,contains:[Se,...i,...l,...k,U,J,...m,E,S],endsParent:!0,illegal:/["']/},it={match:[/(func|macro)/,/\s+/,Ee(te.match,Be,ci)],className:{1:"keyword",3:"title.function"},contains:[ie,Fe,e],illegal:[/\[/,/%/]},pt={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[ie,Fe,e],illegal:/\[|%/},gt={match:[/operator/,/\s+/,ci],className:{1:"keyword",3:"title"}},De={begin:[/precedencegroup/,/\s+/,yn],className:{1:"keyword",3:"title"},contains:[E],keywords:[...Il,...Vs],end:/}/},Me={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Ne={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},he={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Be,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:u,contains:[ie,...l,{begin:/:/,end:/\{/,keywords:u,contains:[{scope:"title.class.inherited",match:yn},...l],relevance:0}]};for(let Z of J.variants){let _e=Z.contains.find(He=>He.label==="interpol");_e.keywords=u;let L=[...l,...f,...k,U,J,...A];_e.contains=[...L,{begin:/\(/,end:/\)/,contains:["self",...L]}]}return{name:"Swift",keywords:u,contains:[...i,it,pt,Me,Ne,he,gt,De,{beginKeywords:"import",end:/$/,contains:[...i],relevance:0},fe,...l,...f,...k,U,J,...A,...m,E,S]}}to.exports=Pl});var ro=H((xp,io)=>{function Ul(n){let e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",i={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={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:[n.BACKSLASH_ESCAPE,r]},a=n.inherit(s,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),p={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"},f={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},b={begin:/\{/,end:/\}/,contains:[f],illegal:"\\n",relevance:0},w={begin:"\\[",end:"\\]",contains:[f],illegal:"\\n",relevance:0},k=[i,{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+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+n.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+n.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},n.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},p,{className:"number",begin:n.C_NUMBER_RE+"\\b",relevance:0},b,w,o,s],M=[...k];return M.pop(),M.push(a),f.contains=M,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:k}}io.exports=Ul});var fo=H((Op,go)=>{var Tn="[A-Za-z$_][0-9A-Za-z$_]*",so=["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"],oo=["true","false","null","undefined","NaN","Infinity"],ao=["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"],co=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],lo=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],uo=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],po=[].concat(lo,ao,co);function Bl(n){let e=n.regex,t=(N,{after:$})=>{let T="",end:""},o=/<[A-Za-z0-9\\._:-]+\s*\/>/,s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(N,$)=>{let T=N[0].length+N.index,m=N.input[T];if(m==="<"||m===","){$.ignoreMatch();return}m===">"&&(t(N,{after:T})||$.ignoreMatch());let E,v=N.input.substring(T);if(E=v.match(/^\s*=/)){$.ignoreMatch();return}if((E=v.match(/^\s+extends\s+/))&&E.index===0){$.ignoreMatch();return}}},a={$pattern:Tn,keyword:so,literal:oo,built_in:po,"variable.language":uo},c="[0-9](_?[0-9])*",u=`\\.(${c})`,l="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",g={className:"number",variants:[{begin:`(\\b(${l})((${u})|\\.)?|(${u}))[eE][+-]?(${c})\\b`},{begin:`\\b(${l})\\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},p={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},f={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},b={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[n.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[n.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[n.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:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),n.C_BLOCK_COMMENT_MODE,n.C_LINE_COMMENT_MODE]},U=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,w,k,{match:/\$\d+/},g];p.contains=U.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(U)});let C=[].concat(P,p.contains),B=C.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(C)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B},oe={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},q={relevance:0,match:e.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:{_:[...ao,...co]}},J={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},de={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},V={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function pe(N){return e.concat("(?!",N.join("|"),")")}let fe={match:e.concat(/\b/,pe([...lo,"super","import"].map(N=>`${N}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},te={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},se={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},h="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+n.UNDERSCORE_IDENT_RE+")\\s*=>",A={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(h)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:q},illegal:/#(?![$_A-z])/,contains:[n.SHEBANG({label:"shebang",binary:"node",relevance:5}),J,n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,f,b,w,k,P,{match:/\$\d+/},g,q,{scope:"attr",match:i+e.lookahead(":"),relevance:0},A,{begin:"("+n.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,n.REGEXP_MODE,{className:"function",begin:h,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:n.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.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"]}]}]},de,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+n.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,n.inherit(n.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},te,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},fe,V,oe,se,{match:/\$[(.]/}]}}function zl(n){let e=n.regex,t=Bl(n),i=Tn,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],o={begin:[/namespace/,/\s+/,n.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},s={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[t.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},c=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],u={$pattern:Tn,keyword:so.concat(c),literal:oo,built_in:po.concat(r),"variable.language":uo},l={className:"meta",begin:"@"+i},g=(w,k,M)=>{let P=w.contains.findIndex(U=>U.label===k);if(P===-1)throw new Error("can not find mode to replace");w.contains.splice(P,1,M)};Object.assign(t.keywords,u),t.exports.PARAMS_CONTAINS.push(l);let p=t.contains.find(w=>w.scope==="attr"),f=Object.assign({},p,{match:e.concat(i,e.lookahead(/\s*\?:/))});t.exports.PARAMS_CONTAINS.push([t.exports.CLASS_REFERENCE,p,f]),t.contains=t.contains.concat([l,o,s,f]),g(t,"shebang",n.SHEBANG()),g(t,"use_strict",a);let b=t.contains.find(w=>w.label==="func.def");return b.relevance=0,Object.assign(t,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),t}go.exports=zl});var mo=H((Rp,ho)=>{function Fl(n){let e=n.regex,t={className:"string",begin:/"(""|[^/n])"C\b/},i={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},r=/\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}/,c={className:"literal",variants:[{begin:e.concat(/# */,e.either(o,r),/ *#/)},{begin:e.concat(/# */,a,/ *#/)},{begin:e.concat(/# */,s,/ *#/)},{begin:e.concat(/# */,e.either(o,r),/ +/,e.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])|[%&])?/}]},l={className:"label",begin:/^\w+:/},g=n.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),p=n.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:[t,i,c,u,l,g,p,{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:[p]}]}}ho.exports=Fl});var _o=H((Cp,bo)=>{function Hl(n){n.regex;let e=n.COMMENT(/\(;/,/;\)/);e.contains.push("self");let t=n.COMMENT(/;;/,/$/),i=["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"],r={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/},c={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:i},contains:[t,e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},o,s,r,n.QUOTE_STRING_MODE,c,u,a]}}bo.exports=Hl});var yo=H((Mp,Eo)=>{var F=Cr();F.registerLanguage("xml",Ir());F.registerLanguage("bash",Dr());F.registerLanguage("c",Pr());F.registerLanguage("cpp",Br());F.registerLanguage("csharp",Fr());F.registerLanguage("css",Gr());F.registerLanguage("markdown",Kr());F.registerLanguage("diff",Zr());F.registerLanguage("ruby",Vr());F.registerLanguage("go",Qr());F.registerLanguage("graphql",jr());F.registerLanguage("ini",ts());F.registerLanguage("java",ss());F.registerLanguage("javascript",ds());F.registerLanguage("json",gs());F.registerLanguage("kotlin",hs());F.registerLanguage("less",Es());F.registerLanguage("lua",ws());F.registerLanguage("makefile",vs());F.registerLanguage("perl",As());F.registerLanguage("objectivec",ks());F.registerLanguage("php",Os());F.registerLanguage("php-template",Cs());F.registerLanguage("plaintext",Is());F.registerLanguage("python",Ds());F.registerLanguage("python-repl",Ps());F.registerLanguage("r",Bs());F.registerLanguage("rust",Fs());F.registerLanguage("scss",Gs());F.registerLanguage("shell",Ks());F.registerLanguage("sql",Zs());F.registerLanguage("swift",no());F.registerLanguage("yaml",ro());F.registerLanguage("typescript",fo());F.registerLanguage("vbnet",mo());F.registerLanguage("wasm",_o());F.HighlightJS=F;F.default=F;Eo.exports=F});var rn=globalThis,on=rn.ShadowRoot&&(rn.ShadyCSS===void 0||rn.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Zi=Symbol(),Wi=new WeakMap,sn=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==Zi)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(on&&e===void 0){let i=t!==void 0&&t.length===1;i&&(e=Wi.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&Wi.set(t,e))}return e}toString(){return this.cssText}},Yi=n=>new sn(typeof n=="string"?n:n+"",void 0,Zi);var Vi=(n,e)=>{if(on)n.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(let t of e){let i=document.createElement("style"),r=rn.litNonce;r!==void 0&&i.setAttribute("nonce",r),i.textContent=t.cssText,n.appendChild(i)}},Fn=on?n=>n:n=>n instanceof CSSStyleSheet?(e=>{let t="";for(let i of e.cssRules)t+=i.cssText;return Yi(t)})(n):n;var{is:wa,defineProperty:Ta,getOwnPropertyDescriptor:va,getOwnPropertyNames:Sa,getOwnPropertySymbols:Aa,getPrototypeOf:Na}=Object,an=globalThis,Xi=an.trustedTypes,ka=Xi?Xi.emptyScript:"",xa=an.reactiveElementPolyfillSupport,Mt=(n,e)=>n,It={toAttribute(n,e){switch(e){case Boolean:n=n?ka:null;break;case Object:case Array:n=n==null?n:JSON.stringify(n)}return n},fromAttribute(n,e){let t=n;switch(e){case Boolean:t=n!==null;break;case Number:t=n===null?null:Number(n);break;case Object:case Array:try{t=JSON.parse(n)}catch{t=null}}return t}},cn=(n,e)=>!wa(n,e),Qi={attribute:!0,type:String,converter:It,reflect:!1,useDefault:!1,hasChanged:cn};Symbol.metadata??=Symbol("metadata"),an.litPropertyMetadata??=new WeakMap;var Ze=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=Qi){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(e,i,t);r!==void 0&&Ta(this.prototype,e,r)}}static getPropertyDescriptor(e,t,i){let{get:r,set:o}=va(this.prototype,e)??{get(){return this[t]},set(s){this[t]=s}};return{get:r,set(s){let a=r?.call(this);o?.call(this,s),this.requestUpdate(e,a,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Qi}static _$Ei(){if(this.hasOwnProperty(Mt("elementProperties")))return;let e=Na(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Mt("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Mt("properties"))){let t=this.properties,i=[...Sa(t),...Aa(t)];for(let r of i)this.createProperty(r,t[r])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[i,r]of t)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[t,i]of this.elementProperties){let r=this._$Eu(t,i);r!==void 0&&this._$Eh.set(r,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let i=new Set(e.flat(1/0).reverse());for(let r of i)t.unshift(Fn(r))}else e!==void 0&&t.push(Fn(e));return t}static _$Eu(e,t){let i=t.attribute;return i===!1?void 0:typeof i=="string"?i:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Vi(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$ET(e,t){let i=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,i);if(r!==void 0&&i.reflect===!0){let o=(i.converter?.toAttribute!==void 0?i.converter:It).toAttribute(t,i.type);this._$Em=e,o==null?this.removeAttribute(r):this.setAttribute(r,o),this._$Em=null}}_$AK(e,t){let i=this.constructor,r=i._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let o=i.getPropertyOptions(r),s=typeof o.converter=="function"?{fromAttribute:o.converter}:o.converter?.fromAttribute!==void 0?o.converter:It;this._$Em=r,this[r]=s.fromAttribute(t,o.type)??this._$Ej?.get(r)??null,this._$Em=null}}requestUpdate(e,t,i){if(e!==void 0){let r=this.constructor,o=this[e];if(i??=r.getPropertyOptions(e),!((i.hasChanged??cn)(o,t)||i.useDefault&&i.reflect&&o===this._$Ej?.get(e)&&!this.hasAttribute(r._$Eu(e,i))))return;this.C(e,t,i)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:i,reflect:r,wrapped:o},s){i&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),o!==!0||s!==void 0)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),r===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,o]of this._$Ep)this[r]=o;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,o]of i){let{wrapped:s}=o,a=this[r];s!==!0||this._$AL.has(r)||a===void 0||this.C(r,void 0,o,a)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(i=>i.hostUpdate?.()),this.update(t)):this._$EM()}catch(i){throw e=!1,this._$EM(),i}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(e){}firstUpdated(e){}};Ze.elementStyles=[],Ze.shadowRootOptions={mode:"open"},Ze[Mt("elementProperties")]=new Map,Ze[Mt("finalized")]=new Map,xa?.({ReactiveElement:Ze}),(an.reactiveElementVersions??=[]).push("2.1.0");var Yn=globalThis,ln=Yn.trustedTypes,Ji=ln?ln.createPolicy("lit-html",{createHTML:n=>n}):void 0,rr="$lit$",et=`lit$${Math.random().toFixed(9).slice(2)}$`,sr="?"+et,Oa=`<${sr}>`,ot=document,Dt=()=>ot.createComment(""),$t=n=>n===null||typeof n!="object"&&typeof n!="function",Vn=Array.isArray,Ra=n=>Vn(n)||typeof n?.[Symbol.iterator]=="function",Hn=`[ +\f\r]`,Lt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ji=/-->/g,er=/>/g,rt=RegExp(`>|${Hn}(?:([^\\s"'>=/]+)(${Hn}*=${Hn}*(?:[^ +\f\r"'\`<>=]|("|')|))|$)`,"g"),tr=/'/g,nr=/"/g,or=/^(?:script|style|textarea|title)$/i,Xn=n=>(e,...t)=>({_$litType$:n,strings:e,values:t}),ne=Xn(1),rd=Xn(2),sd=Xn(3),Ye=Symbol.for("lit-noChange"),ae=Symbol.for("lit-nothing"),ir=new WeakMap,st=ot.createTreeWalker(ot,129);function ar(n,e){if(!Vn(n)||!n.hasOwnProperty("raw"))throw Error("invalid template strings array");return Ji!==void 0?Ji.createHTML(e):e}var Ca=(n,e)=>{let t=n.length-1,i=[],r,o=e===2?"":e===3?"":"",s=Lt;for(let a=0;a"?(s=r??Lt,g=-1):l[1]===void 0?g=-2:(g=s.lastIndex-l[2].length,u=l[1],s=l[3]===void 0?rt:l[3]==='"'?nr:tr):s===nr||s===tr?s=rt:s===ji||s===er?s=Lt:(s=rt,r=void 0);let f=s===rt&&n[a+1].startsWith("/>")?" ":"";o+=s===Lt?c+Oa:g>=0?(i.push(u),c.slice(0,g)+rr+c.slice(g)+et+f):c+et+(g===-2?a:f)}return[ar(n,o+(n[t]||"")+(e===2?"":e===3?"":"")),i]},Pt=class n{constructor({strings:e,_$litType$:t},i){let r;this.parts=[];let o=0,s=0,a=e.length-1,c=this.parts,[u,l]=Ca(e,t);if(this.el=n.createElement(u,i),st.currentNode=this.el.content,t===2||t===3){let g=this.el.content.firstChild;g.replaceWith(...g.childNodes)}for(;(r=st.nextNode())!==null&&c.length0){r.textContent=ln?ln.emptyScript:"";for(let f=0;f2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=ae}_$AI(e,t=this,i,r){let o=this.strings,s=!1;if(o===void 0)e=yt(this,e,t,0),s=!$t(e)||e!==this._$AH&&e!==Ye,s&&(this._$AH=e);else{let a=e,c,u;for(e=o[0],c=0;c{let i=t?.renderBefore??e,r=i._$litPart$;if(r===void 0){let o=t?.renderBefore??null;i._$litPart$=r=new Ut(e.insertBefore(Dt(),o),o,void 0,t??{})}return r._$AI(n),r};var Qn=globalThis,Ue=class extends Ze{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=cr(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ye}};Ue._$litElement$=!0,Ue.finalized=!0,Qn.litElementHydrateSupport?.({LitElement:Ue});var Ia=Qn.litElementPolyfillSupport;Ia?.({LitElement:Ue});(Qn.litElementVersions??=[]).push("4.2.0");var lr={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ur=n=>(...e)=>({_$litDirective$:n,values:e}),un=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};var Bt=class extends un{constructor(e){if(super(e),this.it=ae,e.type!==lr.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===ae||e==null)return this._t=void 0,this.it=e;if(e===Ye)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};Bt.directiveName="unsafeHTML",Bt.resultType=1;var xe=ur(Bt);var La={attribute:!0,type:String,converter:It,reflect:!1,hasChanged:cn},Da=(n=La,e,t)=>{let{kind:i,metadata:r}=t,o=globalThis.litPropertyMetadata.get(r);if(o===void 0&&globalThis.litPropertyMetadata.set(r,o=new Map),i==="setter"&&((n=Object.create(n)).wrapped=!0),o.set(t.name,n),i==="accessor"){let{name:s}=t;return{set(a){let c=e.get.call(this);e.set.call(this,a),this.requestUpdate(s,c,n)},init(a){return a!==void 0&&this.C(s,void 0,n,a),a}}}if(i==="setter"){let{name:s}=t;return function(a){let c=this[s];e.call(this,a),this.requestUpdate(s,c,n)}}throw Error("Unsupported decorator location: "+i)};function W(n){return(e,t)=>typeof t=="object"?Da(n,e,t):((i,r,o)=>{let s=r.hasOwnProperty(o);return r.constructor.createProperty(o,i),s?Object.getOwnPropertyDescriptor(r,o):void 0})(n,e,t)}var oa=Ki(dr(),1);var wo=Ki(yo(),1);var To=wo.default;function pi(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ut=pi();function xo(n){ut=n}var Oo=/[&<>"']/,Gl=new RegExp(Oo.source,"g"),Ro=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,ql=new RegExp(Ro.source,"g"),Kl={"&":"&","<":"<",">":">",'"':""","'":"'"},vo=n=>Kl[n];function Ae(n,e){if(e){if(Oo.test(n))return n.replace(Gl,vo)}else if(Ro.test(n))return n.replace(ql,vo);return n}var Wl=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Zl(n){return n.replace(Wl,(e,t)=>(t=t.toLowerCase(),t==="colon"?":":t.charAt(0)==="#"?t.charAt(1)==="x"?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}var Yl=/(^|[^\[])\^/g;function ee(n,e){let t=typeof n=="string"?n:n.source;e=e||"";let i={replace:(r,o)=>{let s=typeof o=="string"?o:o.source;return s=s.replace(Yl,"$1"),t=t.replace(r,s),i},getRegex:()=>new RegExp(t,e)};return i}function So(n){try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}var Kt={exec:()=>null};function Ao(n,e){let t=n.replace(/\|/g,(o,s,a)=>{let c=!1,u=s;for(;--u>=0&&a[u]==="\\";)c=!c;return c?"|":" |"}),i=t.split(/ \|/),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i[i.length-1].trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length{let o=r.match(/^\s+/);if(o===null)return r;let[s]=o;return s.length>=i.length?r.slice(i.length):r}).join(` -`)}var St=class{options;rules;lexer;constructor(e){this.options=e||ct}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let i=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:yn(i,` -`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let i=t[0],r=ql(i,t[3]||"");return{type:"code",raw:i,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(/#$/.test(i)){let r=yn(i,"#");(this.options.pedantic||!r||/ $/.test(r))&&(i=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let i=t[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` - $1`);i=yn(i.replace(/^ *>[ \t]?/gm,""),` -`);let r=this.lexer.state.top;this.lexer.state.top=!0;let o=this.lexer.blockTokens(i);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:o,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim(),r=i.length>1,o={type:"list",raw:"",ordered:r,start:r?+i.slice(0,-1):"",loose:!1,items:[]};i=r?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=r?i:"[*+-]");let s=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),a="",c="",u=!1;for(;e;){let d=!1;if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;a=t[0],e=e.substring(a.length);let g=t[2].split(` +`)}var kt=class{options;rules;lexer;constructor(e){this.options=e||ut}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let i=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?i:vn(i,` +`)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let i=t[0],r=Xl(i,t[3]||"");return{type:"code",raw:i,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let i=t[2].trim();if(/#$/.test(i)){let r=vn(i,"#");(this.options.pedantic||!r||/ $/.test(r))&&(i=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:i,tokens:this.lexer.inline(i)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let i=t[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,` + $1`);i=vn(i.replace(/^ *>[ \t]?/gm,""),` +`);let r=this.lexer.state.top;this.lexer.state.top=!0;let o=this.lexer.blockTokens(i);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:o,text:i}}}list(e){let t=this.rules.block.list.exec(e);if(t){let i=t[1].trim(),r=i.length>1,o={type:"list",raw:"",ordered:r,start:r?+i.slice(0,-1):"",loose:!1,items:[]};i=r?`\\d{1,9}\\${i.slice(-1)}`:`\\${i}`,this.options.pedantic&&(i=r?i:"[*+-]");let s=new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`),a="",c="",u=!1;for(;e;){let l=!1;if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;a=t[0],e=e.substring(a.length);let g=t[2].split(` `,1)[0].replace(/^\t+/,M=>" ".repeat(3*M.length)),p=e.split(` `,1)[0],f=0;this.options.pedantic?(f=2,c=g.trimStart()):(f=t[2].search(/[^ ]/),f=f>4?1:f,c=g.slice(f),f+=t[1].length);let b=!1;if(!g&&/^ *$/.test(p)&&(a+=p+` -`,e=e.substring(p.length+1),d=!0),!d){let M=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),P=new RegExp(`^ {0,${Math.min(3,f-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),U=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:\`\`\`|~~~)`),C=new RegExp(`^ {0,${Math.min(3,f-1)}}#`);for(;e;){let B=e.split(` +`,e=e.substring(p.length+1),l=!0),!l){let M=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),P=new RegExp(`^ {0,${Math.min(3,f-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),U=new RegExp(`^ {0,${Math.min(3,f-1)}}(?:\`\`\`|~~~)`),C=new RegExp(`^ {0,${Math.min(3,f-1)}}#`);for(;e;){let B=e.split(` `,1)[0];if(p=B,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),U.test(p)||C.test(p)||M.test(p)||P.test(e))break;if(p.search(/[^ ]/)>=f||!p.trim())c+=` `+p.slice(f);else{if(b||g.search(/[^ ]/)>=4||U.test(g)||C.test(g)||P.test(g))break;c+=` `+p}!b&&!p.trim()&&(b=!0),a+=B+` -`,e=e.substring(B.length+1),g=p.slice(f)}}o.loose||(u?o.loose=!0:/\n *\n *$/.test(a)&&(u=!0));let T=null,k;this.options.gfm&&(T=/^\[[ xX]\] /.exec(c),T&&(k=T[0]!=="[ ] ",c=c.replace(/^\[[ xX]\] +/,""))),o.items.push({type:"list_item",raw:a,task:!!T,checked:k,loose:!1,text:c,tokens:[]}),o.raw+=a}o.items[o.items.length-1].raw=a.trimEnd(),o.items[o.items.length-1].text=c.trimEnd(),o.raw=o.raw.trimEnd();for(let d=0;df.type==="space"),p=g.length>0&&g.some(f=>/\n.*\n/.test(f.raw));o.loose=p}if(o.loose)for(let d=0;d$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:i,raw:t[0],href:r,title:o}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;let i=Eo(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),o=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(` -`):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===r.length){for(let a of r)/^ *-+: *$/.test(a)?s.align.push("right"):/^ *:-+: *$/.test(a)?s.align.push("center"):/^ *:-+ *$/.test(a)?s.align.push("left"):s.align.push(null);for(let a of i)s.header.push({text:a,tokens:this.lexer.inline(a)});for(let a of o)s.rows.push(Eo(a,s.header.length).map(c=>({text:c,tokens:this.lexer.inline(c)})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let i=t[1].charAt(t[1].length-1)===` -`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:Ae(t[1])}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^
/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let i=t[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let s=yn(i.slice(0,-1),"\\");if((i.length-s.length)%2===0)return}else{let s=Kl(t[2],"()");if(s>-1){let c=(t[0].indexOf("!")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,c).trim(),t[3]=""}}let r=t[2],o="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);s&&(r=s[1],o=s[3])}else o=t[3]?t[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r=r.slice(1):r=r.slice(1,-1)),yo(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let r=(i[2]||i[1]).replace(/\s+/g," "),o=t[r.toLowerCase()];if(!o){let s=i[0].charAt(0);return{type:"text",raw:s,text:s}}return yo(i,o,i[0],this.lexer)}}emStrong(e,t,i=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){let s=[...r[0]].length-1,a,c,u=s,d=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,t=t.slice(-1*e.length+s);(r=g.exec(t))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(c=[...a].length,r[3]||r[4]){u+=c;continue}else if((r[5]||r[6])&&s%3&&!((s+c)%3)){d+=c;continue}if(u-=c,u>0)continue;c=Math.min(c,c+u+d);let p=[...r[0]][0].length,f=e.slice(0,s+r.index+p+c);if(Math.min(s,c)%2){let T=f.slice(1,-1);return{type:"em",raw:f,text:T,tokens:this.lexer.inlineTokens(T)}}let b=f.slice(2,-2);return{type:"strong",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(/\n/g," "),r=/[^ ]/.test(i),o=/^ /.test(i)&&/ $/.test(i);return r&&o&&(i=i.substring(1,i.length-1)),i=Ae(i,!0),{type:"codespan",raw:t[0],text:i}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let i,r;return t[2]==="@"?(i=Ae(t[1]),r="mailto:"+i):(i=Ae(t[1]),r=i),{type:"link",raw:t[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let i,r;if(t[2]==="@")i=Ae(t[0]),r="mailto:"+i;else{let o;do o=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(o!==t[0]);i=Ae(t[0]),t[1]==="www."?r="http://"+t[0]:r=t[0]}return{type:"link",raw:t[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let i;return this.lexer.state.inRawBlock?i=t[0]:i=Ae(t[0]),{type:"text",raw:t[0],text:i}}}},Wl=/^(?: *(?:\n|$))+/,Zl=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,Yl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Kt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Vl=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,So=/(?:[*+-]|\d{1,9}[.)])/,No=J(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,So).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),li=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Xl=/^[^\n]+/,ui=/(?!\s*\])(?:\\.|[^\[\]\\])+/,Ql=J(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",ui).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Jl=J(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,So).getRegex(),vn="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",di=/|$))/,jl=J("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",di).replace("tag",vn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ko=J(li).replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",vn).getRegex(),eu=J(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ko).getRegex(),pi={blockquote:eu,code:Zl,def:Ql,fences:Yl,heading:Vl,hr:Kt,html:jl,lheading:No,list:Jl,newline:Wl,paragraph:ko,table:Ht,text:Xl},To=J("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",vn).getRegex(),tu={...pi,table:To,paragraph:J(li).replace("hr",Kt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",To).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",vn).getRegex()},nu={...pi,html:J(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",di).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ht,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:J(li).replace("hr",Kt).replace("heading",` *#{1,6} *[^ -]`).replace("lheading",No).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},xo=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,iu=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Oo=/^( {2,}|\\)\n(?!\s*$)/,ru=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,au=J(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,qt).getRegex(),cu=J("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,qt).getRegex(),lu=J("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,qt).getRegex(),uu=J(/\\([punct])/,"gu").replace(/punct/g,qt).getRegex(),du=J(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),pu=J(di).replace("(?:-->|$)","-->").getRegex(),gu=J("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",pu).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),wn=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,fu=J(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",wn).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Ro=J(/^!?\[(label)\]\[(ref)\]/).replace("label",wn).replace("ref",ui).getRegex(),Co=J(/^!?\[(ref)\](?:\[\])?/).replace("ref",ui).getRegex(),hu=J("reflink|nolink(?!\\()","g").replace("reflink",Ro).replace("nolink",Co).getRegex(),gi={_backpedal:Ht,anyPunctuation:uu,autolink:du,blockSkip:ou,br:Oo,code:iu,del:Ht,emStrongLDelim:au,emStrongRDelimAst:cu,emStrongRDelimUnd:lu,escape:xo,link:fu,nolink:Co,punctuation:su,reflink:Ro,reflinkSearch:hu,tag:gu,text:ru,url:Ht},mu={...gi,link:J(/^!?\[(label)\]\((.*?)\)/).replace("label",wn).getRegex(),reflink:J(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",wn).getRegex()},oi={...gi,escape:J(xo).replace("])","~|])").getRegex(),url:J(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\f.type==="space"),p=g.length>0&&g.some(f=>/\n.*\n/.test(f.raw));o.loose=p}if(o.loose)for(let l=0;l$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:i,raw:t[0],href:r,title:o}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;let i=Ao(t[1]),r=t[2].replace(/^\||\| *$/g,"").split("|"),o=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split(` +`):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(i.length===r.length){for(let a of r)/^ *-+: *$/.test(a)?s.align.push("right"):/^ *:-+: *$/.test(a)?s.align.push("center"):/^ *:-+ *$/.test(a)?s.align.push("left"):s.align.push(null);for(let a of i)s.header.push({text:a,tokens:this.lexer.inline(a)});for(let a of o)s.rows.push(Ao(a,s.header.length).map(c=>({text:c,tokens:this.lexer.inline(c)})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let i=t[1].charAt(t[1].length-1)===` +`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:i,tokens:this.lexer.inline(i)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:Ae(t[1])}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let i=t[2].trim();if(!this.options.pedantic&&/^$/.test(i))return;let s=vn(i.slice(0,-1),"\\");if((i.length-s.length)%2===0)return}else{let s=Vl(t[2],"()");if(s>-1){let c=(t[0].indexOf("!")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,c).trim(),t[3]=""}}let r=t[2],o="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);s&&(r=s[1],o=s[3])}else o=t[3]?t[3].slice(1,-1):"";return r=r.trim(),/^$/.test(i)?r=r.slice(1):r=r.slice(1,-1)),No(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer)}}reflink(e,t){let i;if((i=this.rules.inline.reflink.exec(e))||(i=this.rules.inline.nolink.exec(e))){let r=(i[2]||i[1]).replace(/\s+/g," "),o=t[r.toLowerCase()];if(!o){let s=i[0].charAt(0);return{type:"text",raw:s,text:s}}return No(i,o,i[0],this.lexer)}}emStrong(e,t,i=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!r||r[3]&&i.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!i||this.rules.inline.punctuation.exec(i)){let s=[...r[0]].length-1,a,c,u=s,l=0,g=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(g.lastIndex=0,t=t.slice(-1*e.length+s);(r=g.exec(t))!=null;){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(c=[...a].length,r[3]||r[4]){u+=c;continue}else if((r[5]||r[6])&&s%3&&!((s+c)%3)){l+=c;continue}if(u-=c,u>0)continue;c=Math.min(c,c+u+l);let p=[...r[0]][0].length,f=e.slice(0,s+r.index+p+c);if(Math.min(s,c)%2){let w=f.slice(1,-1);return{type:"em",raw:f,text:w,tokens:this.lexer.inlineTokens(w)}}let b=f.slice(2,-2);return{type:"strong",raw:f,text:b,tokens:this.lexer.inlineTokens(b)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let i=t[2].replace(/\n/g," "),r=/[^ ]/.test(i),o=/^ /.test(i)&&/ $/.test(i);return r&&o&&(i=i.substring(1,i.length-1)),i=Ae(i,!0),{type:"codespan",raw:t[0],text:i}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let i,r;return t[2]==="@"?(i=Ae(t[1]),r="mailto:"+i):(i=Ae(t[1]),r=i),{type:"link",raw:t[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let i,r;if(t[2]==="@")i=Ae(t[0]),r="mailto:"+i;else{let o;do o=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(o!==t[0]);i=Ae(t[0]),t[1]==="www."?r="http://"+t[0]:r=t[0]}return{type:"link",raw:t[0],text:i,href:r,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let i;return this.lexer.state.inRawBlock?i=t[0]:i=Ae(t[0]),{type:"text",raw:t[0],text:i}}}},Ql=/^(?: *(?:\n|$))+/,Jl=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,jl=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Zt=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,eu=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Co=/(?:[*+-]|\d{1,9}[.)])/,Mo=ee(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Co).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),gi=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,tu=/^[^\n]+/,fi=/(?!\s*\])(?:\\.|[^\[\]\\])+/,nu=ee(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",fi).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),iu=ee(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Co).getRegex(),Nn="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",hi=/|$))/,ru=ee("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",hi).replace("tag",Nn).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Io=ee(gi).replace("hr",Zt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex(),su=ee(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Io).getRegex(),mi={blockquote:su,code:Jl,def:nu,fences:jl,heading:eu,hr:Zt,html:ru,lheading:Mo,list:iu,newline:Ql,paragraph:Io,table:Kt,text:tu},ko=ee("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Zt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex(),ou={...mi,table:ko,paragraph:ee(gi).replace("hr",Zt).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",ko).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",Nn).getRegex()},au={...mi,html:ee(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",hi).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Kt,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ee(gi).replace("hr",Zt).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",Mo).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Lo=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,cu=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Do=/^( {2,}|\\)\n(?!\s*$)/,lu=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,pu=ee(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Yt).getRegex(),gu=ee("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Yt).getRegex(),fu=ee("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Yt).getRegex(),hu=ee(/\\([punct])/,"gu").replace(/punct/g,Yt).getRegex(),mu=ee(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),bu=ee(hi).replace("(?:-->|$)","-->").getRegex(),_u=ee("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",bu).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),An=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Eu=ee(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",An).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),$o=ee(/^!?\[(label)\]\[(ref)\]/).replace("label",An).replace("ref",fi).getRegex(),Po=ee(/^!?\[(ref)\](?:\[\])?/).replace("ref",fi).getRegex(),yu=ee("reflink|nolink(?!\\()","g").replace("reflink",$o).replace("nolink",Po).getRegex(),bi={_backpedal:Kt,anyPunctuation:hu,autolink:mu,blockSkip:du,br:Do,code:cu,del:Kt,emStrongLDelim:pu,emStrongRDelimAst:gu,emStrongRDelimUnd:fu,escape:Lo,link:Eu,nolink:Po,punctuation:uu,reflink:$o,reflinkSearch:yu,tag:_u,text:lu,url:Kt},wu={...bi,link:ee(/^!?\[(label)\]\((.*?)\)/).replace("label",An).getRegex(),reflink:ee(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",An).getRegex()},ui={...bi,escape:ee(Lo).replace("])","~|])").getRegex(),url:ee(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\c+" ".repeat(u.length));let i,r,o,s;for(;e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(i=a.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))){if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length),i.raw.length===1&&t.length>0?t[t.length-1].raw+=` `:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` `+i.raw,r.text+=` `+i.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=` `+i.raw,r.text+=` -`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startBlock){let a=1/0,c=e.slice(1),u;this.options.extensions.startBlock.forEach(d=>{u=d.call({lexer:this},c),typeof u=="number"&&u>=0&&(a=Math.min(a,u))}),a<1/0&&a>=0&&(o=e.substring(0,a+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){r=t[t.length-1],s&&r.type==="paragraph"?(r.raw+=` +`+i.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title});continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startBlock){let a=1/0,c=e.slice(1),u;this.options.extensions.startBlock.forEach(l=>{u=l.call({lexer:this},c),typeof u=="number"&&u>=0&&(a=Math.min(a,u))}),a<1/0&&a>=0&&(o=e.substring(0,a+1))}if(this.state.top&&(i=this.tokenizer.paragraph(o))){r=t[t.length-1],s&&r.type==="paragraph"?(r.raw+=` `+i.raw,r.text+=` `+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(i),s=o.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&r.type==="text"?(r.raw+=` `+i.raw,r.text+=` -`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(i);continue}if(e){let a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,r,o,s=e,a,c,u;if(this.tokens.links){let d=Object.keys(this.tokens.links);if(d.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)d.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(d=>(i=d.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),r=t[t.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(i=this.tokenizer.emStrong(e,s,u)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),t.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),t.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startInline){let d=1/0,g=e.slice(1),p;this.options.extensions.startInline.forEach(f=>{p=f.call({lexer:this},g),typeof p=="number"&&p>=0&&(d=Math.min(d,p))}),d<1/0&&d>=0&&(o=e.substring(0,d+1))}if(i=this.tokenizer.inlineText(o)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(u=i.raw.slice(-1)),c=!0,r=t[t.length-1],r&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(e){let d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}else throw new Error(d)}}return t}},Ze=class{options;constructor(e){this.options=e||ct}code(e,t,i){let r=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+` +`+i.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):t.push(i);continue}if(e){let a="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i,r,o,s=e,a,c,u;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)l.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(c||(u=""),c=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(l=>(i=l.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))){if(i=this.tokenizer.escape(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.tag(e)){e=e.substring(i.raw.length),r=t[t.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(i=this.tokenizer.link(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length),r=t[t.length-1],r&&i.type==="text"&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(i=this.tokenizer.emStrong(e,s,u)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.codespan(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.br(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.del(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.autolink(e)){e=e.substring(i.raw.length),t.push(i);continue}if(!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),t.push(i);continue}if(o=e,this.options.extensions&&this.options.extensions.startInline){let l=1/0,g=e.slice(1),p;this.options.extensions.startInline.forEach(f=>{p=f.call({lexer:this},g),typeof p=="number"&&p>=0&&(l=Math.min(l,p))}),l<1/0&&l>=0&&(o=e.substring(0,l+1))}if(i=this.tokenizer.inlineText(o)){e=e.substring(i.raw.length),i.raw.slice(-1)!=="_"&&(u=i.raw.slice(-1)),c=!0,r=t[t.length-1],r&&r.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(e){let l="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(l);break}else throw new Error(l)}}return t}},Qe=class{options;constructor(e){this.options=e||ut}code(e,t,i){let r=(t||"").match(/^\S*/)?.[0];return e=e.replace(/\n$/,"")+` `,r?'
'+(i?e:Ae(e,!0))+`
`:"
"+(i?e:Ae(e,!0))+`
`}blockquote(e){return`
@@ -47,32 +47,95 @@ ${e}
`}tablerow(e){return` ${e} `}tablecell(e,t){let i=t.header?"th":"td";return(t.align?`<${i} align="${t.align}">`:`<${i}>`)+e+` -`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
"}del(e){return`${e}`}link(e,t,i){let r=_o(e);if(r===null)return i;e=r;let o='
",o}image(e,t,i){let r=_o(e);if(r===null)return i;e=r;let o=`${i}0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=k+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=k+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:k+" "}):T+=k+" "}T+=this.parse(p.tokens,u),d+=this.renderer.listitem(T,b,!!f)}i+=this.renderer.list(d,a,c);continue}case"html":{let s=o;i+=this.renderer.html(s.text,s.block);continue}case"paragraph":{let s=o;i+=this.renderer.paragraph(this.parseInline(s.tokens));continue}case"text":{let s=o,a=s.tokens?this.parseInline(s.tokens):s.text;for(;r+1{let a=o[s].flat(1/0);i=i.concat(this.walkTokens(a,t))}):o.tokens&&(i=i.concat(this.walkTokens(o.tokens,t)))}}return i}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let s=t.renderers[o.name];s?t.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=s.apply(this,a)),c}:t.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[o.level];s?s.unshift(o.tokenizer):t[o.level]=[o.tokenizer],o.start&&(o.level==="block"?t.startBlock?t.startBlock.push(o.start):t.startBlock=[o.start]:o.level==="inline"&&(t.startInline?t.startInline.push(o.start):t.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(t.childTokens[o.name]=o.childTokens)}),r.extensions=t),i.renderer){let o=this.defaults.renderer||new Ze(this.defaults);for(let s in i.renderer){if(!(s in o))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.renderer[a],u=o[a];o[a]=(...d)=>{let g=c.apply(o,d);return g===!1&&(g=u.apply(o,d)),g||""}}r.renderer=o}if(i.tokenizer){let o=this.defaults.tokenizer||new St(this.defaults);for(let s in i.tokenizer){if(!(s in o))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,c=i.tokenizer[a],u=o[a];o[a]=(...d)=>{let g=c.apply(o,d);return g===!1&&(g=u.apply(o,d)),g}}r.tokenizer=o}if(i.hooks){let o=this.defaults.hooks||new At;for(let s in i.hooks){if(!(s in o))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.hooks[a],u=o[a];At.passThroughHooks.has(s)?o[a]=d=>{if(this.defaults.async)return Promise.resolve(c.call(o,d)).then(p=>u.call(o,p));let g=c.call(o,d);return u.call(o,g)}:o[a]=(...d)=>{let g=c.apply(o,d);return g===!1&&(g=u.apply(o,d)),g}}r.hooks=o}if(i.walkTokens){let o=this.defaults.walkTokens,s=i.walkTokens;r.walkTokens=function(a){let c=[];return c.push(s.call(this,a)),o&&(c=c.concat(o.call(this,a))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return qe.lex(e,t??this.defaults)}parser(e,t){return We.parse(e,t??this.defaults)}#t(e,t){return(i,r)=>{let o={...r},s={...this.defaults,...o};this.defaults.async===!0&&o.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);let a=this.#e(!!s.silent,!!s.async);if(typeof i>"u"||i===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(i):i).then(c=>e(c,s)).then(c=>s.hooks?s.hooks.processAllTokens(c):c).then(c=>s.walkTokens?Promise.all(this.walkTokens(c,s.walkTokens)).then(()=>c):c).then(c=>t(c,s)).then(c=>s.hooks?s.hooks.postprocess(c):c).catch(a);try{s.hooks&&(i=s.hooks.preprocess(i));let c=e(i,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let u=t(c,s);return s.hooks&&(u=s.hooks.postprocess(u)),u}catch(c){return a(c)}}}#e(e,t){return i=>{if(i.message+=` -Please report this to https://github.com/markedjs/marked.`,e){let r="

An error occurred:

"+Ae(i.message+"",!0)+"
";return t?Promise.resolve(r):r}if(t)return Promise.reject(i);throw i}}},at=new ai;function V(n,e){return at.parse(n,e)}V.options=V.setOptions=function(n){return at.setOptions(n),V.defaults=at.defaults,wo(V.defaults),V};V.getDefaults=ci;V.defaults=ct;V.use=function(...n){return at.use(...n),V.defaults=at.defaults,wo(V.defaults),V};V.walkTokens=function(n,e){return at.walkTokens(n,e)};V.parseInline=at.parseInline;V.Parser=We;V.parser=We.parse;V.Renderer=Ze;V.TextRenderer=Gt;V.Lexer=qe;V.lexer=qe.lex;V.Tokenizer=St;V.Hooks=At;V.parse=V;var Np=V.options,kp=V.setOptions,xp=V.use,Op=V.walkTokens,Rp=V.parseInline,fi=V,Cp=We.parse,Mp=qe.lex;var{entries:Fo,setPrototypeOf:Mo,isFrozen:_u,getPrototypeOf:Eu,getOwnPropertyDescriptor:yu}=Object,{freeze:ye,seal:ke,create:Ho}=Object,{apply:yi,construct:Ti}=typeof Reflect<"u"&&Reflect;ye||(ye=function(e){return e});ke||(ke=function(e){return e});yi||(yi=function(e,t,i){return e.apply(t,i)});Ti||(Ti=function(e,t){return new e(...t)});var An=Te(Array.prototype.forEach),Tu=Te(Array.prototype.lastIndexOf),Io=Te(Array.prototype.pop),Wt=Te(Array.prototype.push),wu=Te(Array.prototype.splice),Nn=Te(String.prototype.toLowerCase),hi=Te(String.prototype.toString),Lo=Te(String.prototype.match),Zt=Te(String.prototype.replace),vu=Te(String.prototype.indexOf),Au=Te(String.prototype.trim),Ce=Te(Object.prototype.hasOwnProperty),Ee=Te(RegExp.prototype.test),Yt=Su(TypeError);function Te(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r2&&arguments[2]!==void 0?arguments[2]:Nn;Mo&&Mo(n,null);let i=e.length;for(;i--;){let r=e[i];if(typeof r=="string"){let o=t(r);o!==r&&(_u(e)||(e[i]=o),r=o)}n[r]=!0}return n}function Nu(n){for(let e=0;e/gm),Cu=ke(/\$\{[\w\W]*/gm),Mu=ke(/^data-[\-\w.\u00B7-\uFFFF]+$/),Iu=ke(/^aria-[\-\w]+$/),Go=ke(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Lu=ke(/^(?:\w+script|data):/i),Du=ke(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ko=ke(/^html$/i),$u=ke(/^[a-z][.\w]*(-[.\w]+)+$/i),Bo=Object.freeze({__proto__:null,ARIA_ATTR:Iu,ATTR_WHITESPACE:Du,CUSTOM_ELEMENT:$u,DATA_ATTR:Mu,DOCTYPE_NAME:Ko,ERB_EXPR:Ru,IS_ALLOWED_URI:Go,IS_SCRIPT_OR_DATA:Lu,MUSTACHE_EXPR:Ou,TMPLIT_EXPR:Cu}),Xt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Pu=function(){return typeof window>"u"?null:window},Uu=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));let o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},zo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function qo(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Pu(),e=I=>qo(I);if(e.version="3.2.6",e.removed=[],!n||!n.document||n.document.nodeType!==Xt.document||!n.Element)return e.isSupported=!1,e;let{document:t}=n,i=t,r=i.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:u,NamedNodeMap:d=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:g,DOMParser:p,trustedTypes:f}=n,b=c.prototype,T=Vt(b,"cloneNode"),k=Vt(b,"remove"),M=Vt(b,"nextSibling"),P=Vt(b,"childNodes"),U=Vt(b,"parentNode");if(typeof s=="function"){let I=t.createElement("template");I.content&&I.content.ownerDocument&&(t=I.content.ownerDocument)}let C,B="",{implementation:D,createNodeIterator:ie,createDocumentFragment:K,getElementsByTagName:X}=t,{importNode:ce}=i,Z=zo();e.isSupported=typeof Fo=="function"&&typeof U=="function"&&D&&D.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:le,ERB_EXPR:de,TMPLIT_EXPR:j,DATA_ATTR:ne,ARIA_ATTR:h,IS_SCRIPT_OR_DATA:S,ATTR_WHITESPACE:N,CUSTOM_ELEMENT:$}=Bo,{IS_ALLOWED_URI:w}=Bo,m=null,E=G({},[...Do,...mi,...bi,..._i,...$o]),v=null,R=G({},[...Po,...Ei,...Uo,...Sn]),A=Object.seal(Ho(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ee=null,ve=null,Pe=!0,et=!0,ut=!1,dt=!0,Me=!1,Oe=!0,Se=!1,fe=!1,q=!1,be=!1,L=!1,Ue=!1,se=!0,Y=!1,pt="user-content-",Re=!0,Be=!1,Ie={},y=null,x=G({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),z=null,W=G({},["audio","video","img","source","image","track"]),oe=null,Ne=G({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),gt="http://www.w3.org/1998/Math/MathML",ft="http://www.w3.org/2000/svg",ze="http://www.w3.org/1999/xhtml",ht=ze,Cn=!1,Mn=null,ra=G({},[gt,ft,ze],hi),Jt=G({},["mi","mo","mn","ms","mtext"]),jt=G({},["annotation-xml"]),sa=G({},["title","style","font","a","script"]),kt=null,oa=["application/xhtml+xml","text/html"],aa="text/html",ue=null,mt=null,ca=t.createElement("form"),Ni=function(l){return l instanceof RegExp||l instanceof Function},In=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(mt&&mt===l)){if((!l||typeof l!="object")&&(l={}),l=Ye(l),kt=oa.indexOf(l.PARSER_MEDIA_TYPE)===-1?aa:l.PARSER_MEDIA_TYPE,ue=kt==="application/xhtml+xml"?hi:Nn,m=Ce(l,"ALLOWED_TAGS")?G({},l.ALLOWED_TAGS,ue):E,v=Ce(l,"ALLOWED_ATTR")?G({},l.ALLOWED_ATTR,ue):R,Mn=Ce(l,"ALLOWED_NAMESPACES")?G({},l.ALLOWED_NAMESPACES,hi):ra,oe=Ce(l,"ADD_URI_SAFE_ATTR")?G(Ye(Ne),l.ADD_URI_SAFE_ATTR,ue):Ne,z=Ce(l,"ADD_DATA_URI_TAGS")?G(Ye(W),l.ADD_DATA_URI_TAGS,ue):W,y=Ce(l,"FORBID_CONTENTS")?G({},l.FORBID_CONTENTS,ue):x,ee=Ce(l,"FORBID_TAGS")?G({},l.FORBID_TAGS,ue):Ye({}),ve=Ce(l,"FORBID_ATTR")?G({},l.FORBID_ATTR,ue):Ye({}),Ie=Ce(l,"USE_PROFILES")?l.USE_PROFILES:!1,Pe=l.ALLOW_ARIA_ATTR!==!1,et=l.ALLOW_DATA_ATTR!==!1,ut=l.ALLOW_UNKNOWN_PROTOCOLS||!1,dt=l.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Me=l.SAFE_FOR_TEMPLATES||!1,Oe=l.SAFE_FOR_XML!==!1,Se=l.WHOLE_DOCUMENT||!1,be=l.RETURN_DOM||!1,L=l.RETURN_DOM_FRAGMENT||!1,Ue=l.RETURN_TRUSTED_TYPE||!1,q=l.FORCE_BODY||!1,se=l.SANITIZE_DOM!==!1,Y=l.SANITIZE_NAMED_PROPS||!1,Re=l.KEEP_CONTENT!==!1,Be=l.IN_PLACE||!1,w=l.ALLOWED_URI_REGEXP||Go,ht=l.NAMESPACE||ze,Jt=l.MATHML_TEXT_INTEGRATION_POINTS||Jt,jt=l.HTML_INTEGRATION_POINTS||jt,A=l.CUSTOM_ELEMENT_HANDLING||{},l.CUSTOM_ELEMENT_HANDLING&&Ni(l.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(A.tagNameCheck=l.CUSTOM_ELEMENT_HANDLING.tagNameCheck),l.CUSTOM_ELEMENT_HANDLING&&Ni(l.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(A.attributeNameCheck=l.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),l.CUSTOM_ELEMENT_HANDLING&&typeof l.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(A.allowCustomizedBuiltInElements=l.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Me&&(et=!1),L&&(be=!0),Ie&&(m=G({},$o),v=[],Ie.html===!0&&(G(m,Do),G(v,Po)),Ie.svg===!0&&(G(m,mi),G(v,Ei),G(v,Sn)),Ie.svgFilters===!0&&(G(m,bi),G(v,Ei),G(v,Sn)),Ie.mathMl===!0&&(G(m,_i),G(v,Uo),G(v,Sn))),l.ADD_TAGS&&(m===E&&(m=Ye(m)),G(m,l.ADD_TAGS,ue)),l.ADD_ATTR&&(v===R&&(v=Ye(v)),G(v,l.ADD_ATTR,ue)),l.ADD_URI_SAFE_ATTR&&G(oe,l.ADD_URI_SAFE_ATTR,ue),l.FORBID_CONTENTS&&(y===x&&(y=Ye(y)),G(y,l.FORBID_CONTENTS,ue)),Re&&(m["#text"]=!0),Se&&G(m,["html","head","body"]),m.table&&(G(m,["tbody"]),delete ee.tbody),l.TRUSTED_TYPES_POLICY){if(typeof l.TRUSTED_TYPES_POLICY.createHTML!="function")throw Yt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof l.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Yt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=l.TRUSTED_TYPES_POLICY,B=C.createHTML("")}else C===void 0&&(C=Uu(f,r)),C!==null&&typeof B=="string"&&(B=C.createHTML(""));ye&&ye(l),mt=l}},ki=G({},[...mi,...bi,...ku]),xi=G({},[..._i,...xu]),la=function(l){let _=U(l);(!_||!_.tagName)&&(_={namespaceURI:ht,tagName:"template"});let O=Nn(l.tagName),te=Nn(_.tagName);return Mn[l.namespaceURI]?l.namespaceURI===ft?_.namespaceURI===ze?O==="svg":_.namespaceURI===gt?O==="svg"&&(te==="annotation-xml"||Jt[te]):!!ki[O]:l.namespaceURI===gt?_.namespaceURI===ze?O==="math":_.namespaceURI===ft?O==="math"&&jt[te]:!!xi[O]:l.namespaceURI===ze?_.namespaceURI===ft&&!jt[te]||_.namespaceURI===gt&&!Jt[te]?!1:!xi[O]&&(sa[O]||!ki[O]):!!(kt==="application/xhtml+xml"&&Mn[l.namespaceURI]):!1},Le=function(l){Wt(e.removed,{element:l});try{U(l).removeChild(l)}catch{k(l)}},bt=function(l,_){try{Wt(e.removed,{attribute:_.getAttributeNode(l),from:_})}catch{Wt(e.removed,{attribute:null,from:_})}if(_.removeAttribute(l),l==="is")if(be||L)try{Le(_)}catch{}else try{_.setAttribute(l,"")}catch{}},Oi=function(l){let _=null,O=null;if(q)l=""+l;else{let ae=Lo(l,/^[\r\n\t ]+/);O=ae&&ae[0]}kt==="application/xhtml+xml"&&ht===ze&&(l=''+l+"");let te=C?C.createHTML(l):l;if(ht===ze)try{_=new p().parseFromString(te,kt)}catch{}if(!_||!_.documentElement){_=D.createDocument(ht,"template",null);try{_.documentElement.innerHTML=Cn?B:te}catch{}}let he=_.body||_.documentElement;return l&&O&&he.insertBefore(t.createTextNode(O),he.childNodes[0]||null),ht===ze?X.call(_,Se?"html":"body")[0]:Se?_.documentElement:he},Ri=function(l){return ie.call(l.ownerDocument||l,l,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Ln=function(l){return l instanceof g&&(typeof l.nodeName!="string"||typeof l.textContent!="string"||typeof l.removeChild!="function"||!(l.attributes instanceof d)||typeof l.removeAttribute!="function"||typeof l.setAttribute!="function"||typeof l.namespaceURI!="string"||typeof l.insertBefore!="function"||typeof l.hasChildNodes!="function")},Ci=function(l){return typeof a=="function"&&l instanceof a};function Fe(I,l,_){An(I,O=>{O.call(e,l,_,mt)})}let Mi=function(l){let _=null;if(Fe(Z.beforeSanitizeElements,l,null),Ln(l))return Le(l),!0;let O=ue(l.nodeName);if(Fe(Z.uponSanitizeElement,l,{tagName:O,allowedTags:m}),Oe&&l.hasChildNodes()&&!Ci(l.firstElementChild)&&Ee(/<[/\w!]/g,l.innerHTML)&&Ee(/<[/\w!]/g,l.textContent)||l.nodeType===Xt.progressingInstruction||Oe&&l.nodeType===Xt.comment&&Ee(/<[/\w]/g,l.data))return Le(l),!0;if(!m[O]||ee[O]){if(!ee[O]&&Li(O)&&(A.tagNameCheck instanceof RegExp&&Ee(A.tagNameCheck,O)||A.tagNameCheck instanceof Function&&A.tagNameCheck(O)))return!1;if(Re&&!y[O]){let te=U(l)||l.parentNode,he=P(l)||l.childNodes;if(he&&te){let ae=he.length;for(let we=ae-1;we>=0;--we){let He=T(he[we],!0);He.__removalCount=(l.__removalCount||0)+1,te.insertBefore(He,M(l))}}}return Le(l),!0}return l instanceof c&&!la(l)||(O==="noscript"||O==="noembed"||O==="noframes")&&Ee(/<\/no(script|embed|frames)/i,l.innerHTML)?(Le(l),!0):(Me&&l.nodeType===Xt.text&&(_=l.textContent,An([le,de,j],te=>{_=Zt(_,te," ")}),l.textContent!==_&&(Wt(e.removed,{element:l.cloneNode()}),l.textContent=_)),Fe(Z.afterSanitizeElements,l,null),!1)},Ii=function(l,_,O){if(se&&(_==="id"||_==="name")&&(O in t||O in ca))return!1;if(!(et&&!ve[_]&&Ee(ne,_))){if(!(Pe&&Ee(h,_))){if(!v[_]||ve[_]){if(!(Li(l)&&(A.tagNameCheck instanceof RegExp&&Ee(A.tagNameCheck,l)||A.tagNameCheck instanceof Function&&A.tagNameCheck(l))&&(A.attributeNameCheck instanceof RegExp&&Ee(A.attributeNameCheck,_)||A.attributeNameCheck instanceof Function&&A.attributeNameCheck(_))||_==="is"&&A.allowCustomizedBuiltInElements&&(A.tagNameCheck instanceof RegExp&&Ee(A.tagNameCheck,O)||A.tagNameCheck instanceof Function&&A.tagNameCheck(O))))return!1}else if(!oe[_]){if(!Ee(w,Zt(O,N,""))){if(!((_==="src"||_==="xlink:href"||_==="href")&&l!=="script"&&vu(O,"data:")===0&&z[l])){if(!(ut&&!Ee(S,Zt(O,N,"")))){if(O)return!1}}}}}}return!0},Li=function(l){return l!=="annotation-xml"&&Lo(l,$)},Di=function(l){Fe(Z.beforeSanitizeAttributes,l,null);let{attributes:_}=l;if(!_||Ln(l))return;let O={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:v,forceKeepAttr:void 0},te=_.length;for(;te--;){let he=_[te],{name:ae,namespaceURI:we,value:He}=he,xt=ue(ae),Dn=He,me=ae==="value"?Dn:Au(Dn);if(O.attrName=xt,O.attrValue=me,O.keepAttr=!0,O.forceKeepAttr=void 0,Fe(Z.uponSanitizeAttribute,l,O),me=O.attrValue,Y&&(xt==="id"||xt==="name")&&(bt(ae,l),me=pt+me),Oe&&Ee(/((--!?|])>)|<\/(style|title)/i,me)){bt(ae,l);continue}if(O.forceKeepAttr)continue;if(!O.keepAttr){bt(ae,l);continue}if(!dt&&Ee(/\/>/i,me)){bt(ae,l);continue}Me&&An([le,de,j],Pi=>{me=Zt(me,Pi," ")});let $i=ue(l.nodeName);if(!Ii($i,xt,me)){bt(ae,l);continue}if(C&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!we)switch(f.getAttributeType($i,xt)){case"TrustedHTML":{me=C.createHTML(me);break}case"TrustedScriptURL":{me=C.createScriptURL(me);break}}if(me!==Dn)try{we?l.setAttributeNS(we,ae,me):l.setAttribute(ae,me),Ln(l)?Le(l):Io(e.removed)}catch{bt(ae,l)}}Fe(Z.afterSanitizeAttributes,l,null)},ua=function I(l){let _=null,O=Ri(l);for(Fe(Z.beforeSanitizeShadowDOM,l,null);_=O.nextNode();)Fe(Z.uponSanitizeShadowNode,_,null),Mi(_),Di(_),_.content instanceof o&&I(_.content);Fe(Z.afterSanitizeShadowDOM,l,null)};return e.sanitize=function(I){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_=null,O=null,te=null,he=null;if(Cn=!I,Cn&&(I=""),typeof I!="string"&&!Ci(I))if(typeof I.toString=="function"){if(I=I.toString(),typeof I!="string")throw Yt("dirty is not a string, aborting")}else throw Yt("toString is not a function");if(!e.isSupported)return I;if(fe||In(l),e.removed=[],typeof I=="string"&&(Be=!1),Be){if(I.nodeName){let He=ue(I.nodeName);if(!m[He]||ee[He])throw Yt("root node is forbidden and cannot be sanitized in-place")}}else if(I instanceof a)_=Oi(""),O=_.ownerDocument.importNode(I,!0),O.nodeType===Xt.element&&O.nodeName==="BODY"||O.nodeName==="HTML"?_=O:_.appendChild(O);else{if(!be&&!Me&&!Se&&I.indexOf("<")===-1)return C&&Ue?C.createHTML(I):I;if(_=Oi(I),!_)return be?null:Ue?B:""}_&&q&&Le(_.firstChild);let ae=Ri(Be?I:_);for(;te=ae.nextNode();)Mi(te),Di(te),te.content instanceof o&&ua(te.content);if(Be)return I;if(be){if(L)for(he=K.call(_.ownerDocument);_.firstChild;)he.appendChild(_.firstChild);else he=_;return(v.shadowroot||v.shadowrootmode)&&(he=ce.call(i,he,!0)),he}let we=Se?_.outerHTML:_.innerHTML;return Se&&m["!doctype"]&&_.ownerDocument&&_.ownerDocument.doctype&&_.ownerDocument.doctype.name&&Ee(Ko,_.ownerDocument.doctype.name)&&(we=" -`+we),Me&&An([le,de,j],He=>{we=Zt(we,He," ")}),C&&Ue?C.createHTML(we):we},e.setConfig=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};In(I),fe=!0},e.clearConfig=function(){mt=null,fe=!1},e.isValidAttribute=function(I,l,_){mt||In({});let O=ue(I),te=ue(l);return Ii(O,te,_)},e.addHook=function(I,l){typeof l=="function"&&Wt(Z[I],l)},e.removeHook=function(I,l){if(l!==void 0){let _=Tu(Z[I],l);return _===-1?void 0:wu(Z[I],_,1)[0]}return Io(Z[I])},e.removeHooks=function(I){Z[I]=[]},e.removeAllHooks=function(){Z=zo()},e}var Wo=qo();function Nt(n,e){let t=document.createElement(n);for(let[i,r]of Object.entries(e)){let o=i.replace(/_/g,"-");r!==null&&t.setAttribute(o,r)}return t}function Zo(n){return new DOMParser().parseFromString(n,"image/svg+xml").documentElement}var $e=class extends Qe{createRenderRoot(){return this}};function je({headline:n="",message:e,status:t="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:n,message:e,status:t}}))}async function kn(n){if(window.Shiny&&n)try{await window.Shiny.renderDependenciesAsync(n)}catch(e){je({status:"error",message:`Failed to render HTML dependencies: ${e}`})}}function xn(n){return Yo.sanitize(n,{ADD_TAGS:["script"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>window.customElements.get(e)!==void 0,attributeNameCheck:e=>!0,allowCustomizedBuiltInElements:!0}})}var Yo=Wo();Yo.addHook("uponSanitizeElement",(n,e)=>{if(n.nodeName&&n.nodeName==="SCRIPT"){let t=n,i=t.getAttribute("type")==="application/json"&&t.getAttribute("data-for")!==null;e.allowedTags.script=i}});function Vo(n){return function(e,t,i){let r=i.value,o;return i.value=function(...s){o&&window.clearTimeout(o),o=window.setTimeout(()=>{r.apply(this,s),o=void 0},n)},i}}var wi="shiny-chat-message",Qo="shiny-user-message",Jo="shiny-chat-messages",jo="shiny-chat-input",Ai="shiny-chat-container",Xo={robot:'',dots_fade:''},lt=class extends $e{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let i=this.content.trim().length===0?Xo.dots_fade:this.icon||Xo.robot;return Xe` -
${rt(i)}
+`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return"
"}del(e){return`${e}`}link(e,t,i){let r=So(e);if(r===null)return i;e=r;let o='
",o}image(e,t,i){let r=So(e);if(r===null)return i;e=r;let o=`${i}0&&p.tokens[0].type==="paragraph"?(p.tokens[0].text=k+" "+p.tokens[0].text,p.tokens[0].tokens&&p.tokens[0].tokens.length>0&&p.tokens[0].tokens[0].type==="text"&&(p.tokens[0].tokens[0].text=k+" "+p.tokens[0].tokens[0].text)):p.tokens.unshift({type:"text",text:k+" "}):w+=k+" "}w+=this.parse(p.tokens,u),l+=this.renderer.listitem(w,b,!!f)}i+=this.renderer.list(l,a,c);continue}case"html":{let s=o;i+=this.renderer.html(s.text,s.block);continue}case"paragraph":{let s=o;i+=this.renderer.paragraph(this.parseInline(s.tokens));continue}case"text":{let s=o,a=s.tokens?this.parseInline(s.tokens):s.text;for(;r+1{let a=o[s].flat(1/0);i=i.concat(this.walkTokens(a,t))}):o.tokens&&(i=i.concat(this.walkTokens(o.tokens,t)))}}return i}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(i=>{let r={...i};if(r.async=this.defaults.async||r.async||!1,i.extensions&&(i.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let s=t.renderers[o.name];s?t.renderers[o.name]=function(...a){let c=o.renderer.apply(this,a);return c===!1&&(c=s.apply(this,a)),c}:t.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[o.level];s?s.unshift(o.tokenizer):t[o.level]=[o.tokenizer],o.start&&(o.level==="block"?t.startBlock?t.startBlock.push(o.start):t.startBlock=[o.start]:o.level==="inline"&&(t.startInline?t.startInline.push(o.start):t.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(t.childTokens[o.name]=o.childTokens)}),r.extensions=t),i.renderer){let o=this.defaults.renderer||new Qe(this.defaults);for(let s in i.renderer){if(!(s in o))throw new Error(`renderer '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.renderer[a],u=o[a];o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=u.apply(o,l)),g||""}}r.renderer=o}if(i.tokenizer){let o=this.defaults.tokenizer||new kt(this.defaults);for(let s in i.tokenizer){if(!(s in o))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,c=i.tokenizer[a],u=o[a];o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=u.apply(o,l)),g}}r.tokenizer=o}if(i.hooks){let o=this.defaults.hooks||new Nt;for(let s in i.hooks){if(!(s in o))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let a=s,c=i.hooks[a],u=o[a];Nt.passThroughHooks.has(s)?o[a]=l=>{if(this.defaults.async)return Promise.resolve(c.call(o,l)).then(p=>u.call(o,p));let g=c.call(o,l);return u.call(o,g)}:o[a]=(...l)=>{let g=c.apply(o,l);return g===!1&&(g=u.apply(o,l)),g}}r.hooks=o}if(i.walkTokens){let o=this.defaults.walkTokens,s=i.walkTokens;r.walkTokens=function(a){let c=[];return c.push(s.call(this,a)),o&&(c=c.concat(o.call(this,a))),c}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return Ve.lex(e,t??this.defaults)}parser(e,t){return Xe.parse(e,t??this.defaults)}#e(e,t){return(i,r)=>{let o={...r},s={...this.defaults,...o};this.defaults.async===!0&&o.async===!1&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);let a=this.#t(!!s.silent,!!s.async);if(typeof i>"u"||i===null)return a(new Error("marked(): input parameter is undefined or null"));if(typeof i!="string")return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(i)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(i):i).then(c=>e(c,s)).then(c=>s.hooks?s.hooks.processAllTokens(c):c).then(c=>s.walkTokens?Promise.all(this.walkTokens(c,s.walkTokens)).then(()=>c):c).then(c=>t(c,s)).then(c=>s.hooks?s.hooks.postprocess(c):c).catch(a);try{s.hooks&&(i=s.hooks.preprocess(i));let c=e(i,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let u=t(c,s);return s.hooks&&(u=s.hooks.postprocess(u)),u}catch(c){return a(c)}}}#t(e,t){return i=>{if(i.message+=` +Please report this to https://github.com/markedjs/marked.`,e){let r="

An error occurred:

"+Ae(i.message+"",!0)+"
";return t?Promise.resolve(r):r}if(t)return Promise.reject(i);throw i}}},lt=new di;function Q(n,e){return lt.parse(n,e)}Q.options=Q.setOptions=function(n){return lt.setOptions(n),Q.defaults=lt.defaults,xo(Q.defaults),Q};Q.getDefaults=pi;Q.defaults=ut;Q.use=function(...n){return lt.use(...n),Q.defaults=lt.defaults,xo(Q.defaults),Q};Q.walkTokens=function(n,e){return lt.walkTokens(n,e)};Q.parseInline=lt.parseInline;Q.Parser=Xe;Q.parser=Xe.parse;Q.Renderer=Qe;Q.TextRenderer=Wt;Q.Lexer=Ve;Q.lexer=Ve.lex;Q.Tokenizer=kt;Q.Hooks=Nt;Q.parse=Q;var Lp=Q.options,Dp=Q.setOptions,$p=Q.use,Pp=Q.walkTokens,Up=Q.parseInline,_i=Q,Bp=Xe.parse,zp=Ve.lex;var{entries:Zo,setPrototypeOf:Uo,isFrozen:vu,getPrototypeOf:Su,getOwnPropertyDescriptor:Au}=Object,{freeze:we,seal:Oe,create:Yo}=Object,{apply:Si,construct:Ai}=typeof Reflect<"u"&&Reflect;we||(we=function(e){return e});Oe||(Oe=function(e){return e});Si||(Si=function(e,t,i){return e.apply(t,i)});Ai||(Ai=function(e,t){return new e(...t)});var kn=Te(Array.prototype.forEach),Nu=Te(Array.prototype.lastIndexOf),Bo=Te(Array.prototype.pop),Vt=Te(Array.prototype.push),ku=Te(Array.prototype.splice),On=Te(String.prototype.toLowerCase),Ei=Te(String.prototype.toString),zo=Te(String.prototype.match),Xt=Te(String.prototype.replace),xu=Te(String.prototype.indexOf),Ou=Te(String.prototype.trim),Le=Te(Object.prototype.hasOwnProperty),ye=Te(RegExp.prototype.test),Qt=Ru(TypeError);function Te(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r2&&arguments[2]!==void 0?arguments[2]:On;Uo&&Uo(n,null);let i=e.length;for(;i--;){let r=e[i];if(typeof r=="string"){let o=t(r);o!==r&&(vu(e)||(e[i]=o),r=o)}n[r]=!0}return n}function Cu(n){for(let e=0;e/gm),$u=Oe(/\$\{[\w\W]*/gm),Pu=Oe(/^data-[\-\w.\u00B7-\uFFFF]+$/),Uu=Oe(/^aria-[\-\w]+$/),Vo=Oe(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Bu=Oe(/^(?:\w+script|data):/i),zu=Oe(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Xo=Oe(/^html$/i),Fu=Oe(/^[a-z][.\w]*(-[.\w]+)+$/i),Ko=Object.freeze({__proto__:null,ARIA_ATTR:Uu,ATTR_WHITESPACE:zu,CUSTOM_ELEMENT:Fu,DATA_ATTR:Pu,DOCTYPE_NAME:Xo,ERB_EXPR:Du,IS_ALLOWED_URI:Vo,IS_SCRIPT_OR_DATA:Bu,MUSTACHE_EXPR:Lu,TMPLIT_EXPR:$u}),jt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Hu=function(){return typeof window>"u"?null:window},Gu=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));let o="dompurify"+(i?"#"+i:"");try{return e.createPolicy(o,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+o+" could not be created."),null}},Wo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Qo(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Hu(),e=I=>Qo(I);if(e.version="3.2.6",e.removed=[],!n||!n.document||n.document.nodeType!==jt.document||!n.Element)return e.isSupported=!1,e;let{document:t}=n,i=t,r=i.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:u,NamedNodeMap:l=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:g,DOMParser:p,trustedTypes:f}=n,b=c.prototype,w=Jt(b,"cloneNode"),k=Jt(b,"remove"),M=Jt(b,"nextSibling"),P=Jt(b,"childNodes"),U=Jt(b,"parentNode");if(typeof s=="function"){let I=t.createElement("template");I.content&&I.content.ownerDocument&&(t=I.content.ownerDocument)}let C,B="",{implementation:D,createNodeIterator:oe,createDocumentFragment:q,getElementsByTagName:J}=t,{importNode:de}=i,V=Wo();e.isSupported=typeof Zo=="function"&&typeof U=="function"&&D&&D.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:pe,ERB_EXPR:fe,TMPLIT_EXPR:te,DATA_ATTR:se,ARIA_ATTR:h,IS_SCRIPT_OR_DATA:A,ATTR_WHITESPACE:N,CUSTOM_ELEMENT:$}=Ko,{IS_ALLOWED_URI:T}=Ko,m=null,E=G({},[...Fo,...yi,...wi,...Ti,...Ho]),v=null,R=G({},[...Go,...vi,...qo,...xn]),S=Object.seal(Yo(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),ie=null,Se=null,Fe=!0,it=!0,pt=!1,gt=!0,De=!1,Me=!0,Ne=!1,he=!1,Z=!1,_e=!1,L=!1,He=!1,ce=!0,X=!1,ft="user-content-",Ie=!0,Ge=!1,$e={},y=null,x=G({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),z=null,Y=G({},["audio","video","img","source","image","track"]),le=null,ke=G({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ht="http://www.w3.org/1998/Math/MathML",mt="http://www.w3.org/2000/svg",qe="http://www.w3.org/1999/xhtml",bt=qe,Dn=!1,$n=null,la=G({},[ht,mt,qe],Ei),tn=G({},["mi","mo","mn","ms","mtext"]),nn=G({},["annotation-xml"]),ua=G({},["title","style","font","a","script"]),Rt=null,da=["application/xhtml+xml","text/html"],pa="text/html",ge=null,_t=null,ga=t.createElement("form"),Mi=function(d){return d instanceof RegExp||d instanceof Function},Pn=function(){let d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(_t&&_t===d)){if((!d||typeof d!="object")&&(d={}),d=Je(d),Rt=da.indexOf(d.PARSER_MEDIA_TYPE)===-1?pa:d.PARSER_MEDIA_TYPE,ge=Rt==="application/xhtml+xml"?Ei:On,m=Le(d,"ALLOWED_TAGS")?G({},d.ALLOWED_TAGS,ge):E,v=Le(d,"ALLOWED_ATTR")?G({},d.ALLOWED_ATTR,ge):R,$n=Le(d,"ALLOWED_NAMESPACES")?G({},d.ALLOWED_NAMESPACES,Ei):la,le=Le(d,"ADD_URI_SAFE_ATTR")?G(Je(ke),d.ADD_URI_SAFE_ATTR,ge):ke,z=Le(d,"ADD_DATA_URI_TAGS")?G(Je(Y),d.ADD_DATA_URI_TAGS,ge):Y,y=Le(d,"FORBID_CONTENTS")?G({},d.FORBID_CONTENTS,ge):x,ie=Le(d,"FORBID_TAGS")?G({},d.FORBID_TAGS,ge):Je({}),Se=Le(d,"FORBID_ATTR")?G({},d.FORBID_ATTR,ge):Je({}),$e=Le(d,"USE_PROFILES")?d.USE_PROFILES:!1,Fe=d.ALLOW_ARIA_ATTR!==!1,it=d.ALLOW_DATA_ATTR!==!1,pt=d.ALLOW_UNKNOWN_PROTOCOLS||!1,gt=d.ALLOW_SELF_CLOSE_IN_ATTR!==!1,De=d.SAFE_FOR_TEMPLATES||!1,Me=d.SAFE_FOR_XML!==!1,Ne=d.WHOLE_DOCUMENT||!1,_e=d.RETURN_DOM||!1,L=d.RETURN_DOM_FRAGMENT||!1,He=d.RETURN_TRUSTED_TYPE||!1,Z=d.FORCE_BODY||!1,ce=d.SANITIZE_DOM!==!1,X=d.SANITIZE_NAMED_PROPS||!1,Ie=d.KEEP_CONTENT!==!1,Ge=d.IN_PLACE||!1,T=d.ALLOWED_URI_REGEXP||Vo,bt=d.NAMESPACE||qe,tn=d.MATHML_TEXT_INTEGRATION_POINTS||tn,nn=d.HTML_INTEGRATION_POINTS||nn,S=d.CUSTOM_ELEMENT_HANDLING||{},d.CUSTOM_ELEMENT_HANDLING&&Mi(d.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(S.tagNameCheck=d.CUSTOM_ELEMENT_HANDLING.tagNameCheck),d.CUSTOM_ELEMENT_HANDLING&&Mi(d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(S.attributeNameCheck=d.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),d.CUSTOM_ELEMENT_HANDLING&&typeof d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(S.allowCustomizedBuiltInElements=d.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),De&&(it=!1),L&&(_e=!0),$e&&(m=G({},Ho),v=[],$e.html===!0&&(G(m,Fo),G(v,Go)),$e.svg===!0&&(G(m,yi),G(v,vi),G(v,xn)),$e.svgFilters===!0&&(G(m,wi),G(v,vi),G(v,xn)),$e.mathMl===!0&&(G(m,Ti),G(v,qo),G(v,xn))),d.ADD_TAGS&&(m===E&&(m=Je(m)),G(m,d.ADD_TAGS,ge)),d.ADD_ATTR&&(v===R&&(v=Je(v)),G(v,d.ADD_ATTR,ge)),d.ADD_URI_SAFE_ATTR&&G(le,d.ADD_URI_SAFE_ATTR,ge),d.FORBID_CONTENTS&&(y===x&&(y=Je(y)),G(y,d.FORBID_CONTENTS,ge)),Ie&&(m["#text"]=!0),Ne&&G(m,["html","head","body"]),m.table&&(G(m,["tbody"]),delete ie.tbody),d.TRUSTED_TYPES_POLICY){if(typeof d.TRUSTED_TYPES_POLICY.createHTML!="function")throw Qt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof d.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Qt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=d.TRUSTED_TYPES_POLICY,B=C.createHTML("")}else C===void 0&&(C=Gu(f,r)),C!==null&&typeof B=="string"&&(B=C.createHTML(""));we&&we(d),_t=d}},Ii=G({},[...yi,...wi,...Mu]),Li=G({},[...Ti,...Iu]),fa=function(d){let _=U(d);(!_||!_.tagName)&&(_={namespaceURI:bt,tagName:"template"});let O=On(d.tagName),re=On(_.tagName);return $n[d.namespaceURI]?d.namespaceURI===mt?_.namespaceURI===qe?O==="svg":_.namespaceURI===ht?O==="svg"&&(re==="annotation-xml"||tn[re]):!!Ii[O]:d.namespaceURI===ht?_.namespaceURI===qe?O==="math":_.namespaceURI===mt?O==="math"&&nn[re]:!!Li[O]:d.namespaceURI===qe?_.namespaceURI===mt&&!nn[re]||_.namespaceURI===ht&&!tn[re]?!1:!Li[O]&&(ua[O]||!Ii[O]):!!(Rt==="application/xhtml+xml"&&$n[d.namespaceURI]):!1},Pe=function(d){Vt(e.removed,{element:d});try{U(d).removeChild(d)}catch{k(d)}},Et=function(d,_){try{Vt(e.removed,{attribute:_.getAttributeNode(d),from:_})}catch{Vt(e.removed,{attribute:null,from:_})}if(_.removeAttribute(d),d==="is")if(_e||L)try{Pe(_)}catch{}else try{_.setAttribute(d,"")}catch{}},Di=function(d){let _=null,O=null;if(Z)d=""+d;else{let ue=zo(d,/^[\r\n\t ]+/);O=ue&&ue[0]}Rt==="application/xhtml+xml"&&bt===qe&&(d=''+d+"");let re=C?C.createHTML(d):d;if(bt===qe)try{_=new p().parseFromString(re,Rt)}catch{}if(!_||!_.documentElement){_=D.createDocument(bt,"template",null);try{_.documentElement.innerHTML=Dn?B:re}catch{}}let me=_.body||_.documentElement;return d&&O&&me.insertBefore(t.createTextNode(O),me.childNodes[0]||null),bt===qe?J.call(_,Ne?"html":"body")[0]:Ne?_.documentElement:me},$i=function(d){return oe.call(d.ownerDocument||d,d,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},Un=function(d){return d instanceof g&&(typeof d.nodeName!="string"||typeof d.textContent!="string"||typeof d.removeChild!="function"||!(d.attributes instanceof l)||typeof d.removeAttribute!="function"||typeof d.setAttribute!="function"||typeof d.namespaceURI!="string"||typeof d.insertBefore!="function"||typeof d.hasChildNodes!="function")},Pi=function(d){return typeof a=="function"&&d instanceof a};function Ke(I,d,_){kn(I,O=>{O.call(e,d,_,_t)})}let Ui=function(d){let _=null;if(Ke(V.beforeSanitizeElements,d,null),Un(d))return Pe(d),!0;let O=ge(d.nodeName);if(Ke(V.uponSanitizeElement,d,{tagName:O,allowedTags:m}),Me&&d.hasChildNodes()&&!Pi(d.firstElementChild)&&ye(/<[/\w!]/g,d.innerHTML)&&ye(/<[/\w!]/g,d.textContent)||d.nodeType===jt.progressingInstruction||Me&&d.nodeType===jt.comment&&ye(/<[/\w]/g,d.data))return Pe(d),!0;if(!m[O]||ie[O]){if(!ie[O]&&zi(O)&&(S.tagNameCheck instanceof RegExp&&ye(S.tagNameCheck,O)||S.tagNameCheck instanceof Function&&S.tagNameCheck(O)))return!1;if(Ie&&!y[O]){let re=U(d)||d.parentNode,me=P(d)||d.childNodes;if(me&&re){let ue=me.length;for(let ve=ue-1;ve>=0;--ve){let We=w(me[ve],!0);We.__removalCount=(d.__removalCount||0)+1,re.insertBefore(We,M(d))}}}return Pe(d),!0}return d instanceof c&&!fa(d)||(O==="noscript"||O==="noembed"||O==="noframes")&&ye(/<\/no(script|embed|frames)/i,d.innerHTML)?(Pe(d),!0):(De&&d.nodeType===jt.text&&(_=d.textContent,kn([pe,fe,te],re=>{_=Xt(_,re," ")}),d.textContent!==_&&(Vt(e.removed,{element:d.cloneNode()}),d.textContent=_)),Ke(V.afterSanitizeElements,d,null),!1)},Bi=function(d,_,O){if(ce&&(_==="id"||_==="name")&&(O in t||O in ga))return!1;if(!(it&&!Se[_]&&ye(se,_))){if(!(Fe&&ye(h,_))){if(!v[_]||Se[_]){if(!(zi(d)&&(S.tagNameCheck instanceof RegExp&&ye(S.tagNameCheck,d)||S.tagNameCheck instanceof Function&&S.tagNameCheck(d))&&(S.attributeNameCheck instanceof RegExp&&ye(S.attributeNameCheck,_)||S.attributeNameCheck instanceof Function&&S.attributeNameCheck(_))||_==="is"&&S.allowCustomizedBuiltInElements&&(S.tagNameCheck instanceof RegExp&&ye(S.tagNameCheck,O)||S.tagNameCheck instanceof Function&&S.tagNameCheck(O))))return!1}else if(!le[_]){if(!ye(T,Xt(O,N,""))){if(!((_==="src"||_==="xlink:href"||_==="href")&&d!=="script"&&xu(O,"data:")===0&&z[d])){if(!(pt&&!ye(A,Xt(O,N,"")))){if(O)return!1}}}}}}return!0},zi=function(d){return d!=="annotation-xml"&&zo(d,$)},Fi=function(d){Ke(V.beforeSanitizeAttributes,d,null);let{attributes:_}=d;if(!_||Un(d))return;let O={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:v,forceKeepAttr:void 0},re=_.length;for(;re--;){let me=_[re],{name:ue,namespaceURI:ve,value:We}=me,Ct=ge(ue),Bn=We,be=ue==="value"?Bn:Ou(Bn);if(O.attrName=Ct,O.attrValue=be,O.keepAttr=!0,O.forceKeepAttr=void 0,Ke(V.uponSanitizeAttribute,d,O),be=O.attrValue,X&&(Ct==="id"||Ct==="name")&&(Et(ue,d),be=ft+be),Me&&ye(/((--!?|])>)|<\/(style|title)/i,be)){Et(ue,d);continue}if(O.forceKeepAttr)continue;if(!O.keepAttr){Et(ue,d);continue}if(!gt&&ye(/\/>/i,be)){Et(ue,d);continue}De&&kn([pe,fe,te],Gi=>{be=Xt(be,Gi," ")});let Hi=ge(d.nodeName);if(!Bi(Hi,Ct,be)){Et(ue,d);continue}if(C&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!ve)switch(f.getAttributeType(Hi,Ct)){case"TrustedHTML":{be=C.createHTML(be);break}case"TrustedScriptURL":{be=C.createScriptURL(be);break}}if(be!==Bn)try{ve?d.setAttributeNS(ve,ue,be):d.setAttribute(ue,be),Un(d)?Pe(d):Bo(e.removed)}catch{Et(ue,d)}}Ke(V.afterSanitizeAttributes,d,null)},ha=function I(d){let _=null,O=$i(d);for(Ke(V.beforeSanitizeShadowDOM,d,null);_=O.nextNode();)Ke(V.uponSanitizeShadowNode,_,null),Ui(_),Fi(_),_.content instanceof o&&I(_.content);Ke(V.afterSanitizeShadowDOM,d,null)};return e.sanitize=function(I){let d=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},_=null,O=null,re=null,me=null;if(Dn=!I,Dn&&(I=""),typeof I!="string"&&!Pi(I))if(typeof I.toString=="function"){if(I=I.toString(),typeof I!="string")throw Qt("dirty is not a string, aborting")}else throw Qt("toString is not a function");if(!e.isSupported)return I;if(he||Pn(d),e.removed=[],typeof I=="string"&&(Ge=!1),Ge){if(I.nodeName){let We=ge(I.nodeName);if(!m[We]||ie[We])throw Qt("root node is forbidden and cannot be sanitized in-place")}}else if(I instanceof a)_=Di(""),O=_.ownerDocument.importNode(I,!0),O.nodeType===jt.element&&O.nodeName==="BODY"||O.nodeName==="HTML"?_=O:_.appendChild(O);else{if(!_e&&!De&&!Ne&&I.indexOf("<")===-1)return C&&He?C.createHTML(I):I;if(_=Di(I),!_)return _e?null:He?B:""}_&&Z&&Pe(_.firstChild);let ue=$i(Ge?I:_);for(;re=ue.nextNode();)Ui(re),Fi(re),re.content instanceof o&&ha(re.content);if(Ge)return I;if(_e){if(L)for(me=q.call(_.ownerDocument);_.firstChild;)me.appendChild(_.firstChild);else me=_;return(v.shadowroot||v.shadowrootmode)&&(me=de.call(i,me,!0)),me}let ve=Ne?_.outerHTML:_.innerHTML;return Ne&&m["!doctype"]&&_.ownerDocument&&_.ownerDocument.doctype&&_.ownerDocument.doctype.name&&ye(Xo,_.ownerDocument.doctype.name)&&(ve=" +`+ve),De&&kn([pe,fe,te],We=>{ve=Xt(ve,We," ")}),C&&He?C.createHTML(ve):ve},e.setConfig=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Pn(I),he=!0},e.clearConfig=function(){_t=null,he=!1},e.isValidAttribute=function(I,d,_){_t||Pn({});let O=ge(I),re=ge(d);return Bi(O,re,_)},e.addHook=function(I,d){typeof d=="function"&&Vt(V[I],d)},e.removeHook=function(I,d){if(d!==void 0){let _=Nu(V[I],d);return _===-1?void 0:ku(V[I],_,1)[0]}return Bo(V[I])},e.removeHooks=function(I){V[I]=[]},e.removeAllHooks=function(){V=Wo()},e}var Jo=Qo();function xt(n,e){let t=document.createElement(n);for(let[i,r]of Object.entries(e)){let o=i.replace(/_/g,"-");r!==null&&t.setAttribute(o,r)}return t}function jo(n){return new DOMParser().parseFromString(n,"image/svg+xml").documentElement}var ze=class extends Ue{createRenderRoot(){return this}};function nt({headline:n="",message:e,status:t="warning"}){document.dispatchEvent(new CustomEvent("shiny:client-message",{detail:{headline:n,message:e,status:t}}))}async function Rn(n){if(window.Shiny&&n)try{await window.Shiny.renderDependenciesAsync(n)}catch(e){nt({status:"error",message:`Failed to render HTML dependencies: ${e}`})}}function Cn(n){return ea.sanitize(n,{ADD_TAGS:["script"],CUSTOM_ELEMENT_HANDLING:{tagNameCheck:e=>window.customElements.get(e)!==void 0,attributeNameCheck:e=>!0,allowCustomizedBuiltInElements:!0}})}var ea=Jo();ea.addHook("uponSanitizeElement",(n,e)=>{if(n.nodeName&&n.nodeName==="SCRIPT"){let t=n,i=t.getAttribute("type")==="application/json"&&t.getAttribute("data-for")!==null;e.allowedTags.script=i}});function ta(n){return function(e,t,i){let r=i.value,o;return i.value=function(...s){o&&window.clearTimeout(o),o=window.setTimeout(()=>{r.apply(this,s),o=void 0},n)},i}}window.shinychat=window.shinychat||{};window.shinychat.hiddenToolRequests=window.shinychat.hiddenToolRequests||new Set;var Re=class extends Ue{constructor(){super(...arguments);this.expanded=!1;this.classStatus="";this.icon="";this.titleTemplate="{title}"}createRenderRoot(){return this}#e(t){t.preventDefault(),this.expanded=!this.expanded,this.requestUpdate()}formatTitle(){let t=this.toolTitle||`${this.toolName}()`;return t=`${t}`,t=this.titleTemplate.replace("{title}",t),ne`${xe(t)}`}renderCard(t){let i=`tool-header-${this.requestId}`,r=`tool-content-${this.requestId}`,o=ne` +
${xe(this.icon)}
+
${this.formatTitle()}
+
+ ${this.intent?ne`
${this.intent}
`:""} + `;return ne` +
+ +
+ ${t} +
+
+ `}};K([W({type:String,attribute:"request-id"})],Re.prototype,"requestId",2),K([W({type:String,attribute:"tool-name"})],Re.prototype,"toolName",2),K([W({type:String,attribute:"tool-title"})],Re.prototype,"toolTitle",2),K([W({type:String})],Re.prototype,"intent",2),K([W({type:Boolean,reflect:!0})],Re.prototype,"expanded",2),K([W({type:String})],Re.prototype,"classStatus",2),K([W({type:String})],Re.prototype,"icon",2),K([W({type:String})],Re.prototype,"titleTemplate",2);var Ot=class extends Re{constructor(){super();this.hidden=!1;this.#e=t=>{t.detail.request_id===this.requestId&&(this.hidden=!0)};this.titleTemplate="Running {title}",this.icon='
'}connectedCallback(){super.connectedCallback(),this.hidden=window.shinychat.hiddenToolRequests.has(this.requestId),window.addEventListener("shiny-tool-request-hide",this.#e)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("shiny-tool-request-hide",this.#e)}#e;render(){if(this.hidden)return ne``;let t=ne` + + `;return this.renderCard(ne`
+ Tool arguments ${t} +
`)}};K([W({type:String})],Ot.prototype,"arguments",2),K([W({type:Boolean,reflect:!0})],Ot.prototype,"hidden",2);var je=class extends Re{constructor(){super();this.showRequest=!1;this.titleTemplate="{title}"}connectedCallback(){super.connectedCallback(),this.status==="error"?(this.classStatus="text-danger",this.icon=Ni.exclamationCircleFill,this.titleTemplate="{title} failed"):this.icon||(this.icon=Ni.wrenchAdjustable),window.shinychat.hiddenToolRequests.add(this.requestId),this.dispatchEvent(new CustomEvent("shiny-tool-request-hide",{detail:{request_id:this.requestId},bubbles:!0,cancelable:!0}))}#e(){let t="";if(this.valueType==="html"?t=ne`${xe(this.value)}`:this.valueType==="text"?t=ne`

${this.value}

`:(this.valueType!=="markdown"&&(t=ki(this.value,"text")),t=ne``),!this.showRequest&&this.valueType==="html")return t;let i=this.showRequest?ne`Tool result `:"";return ne`
+ ${i}${t} +
`}#t(){if(!this.showRequest||!this.requestCall)return"";let t=ne``,i=this.requestCall.split(` +`).length>2;return ne`
+ ${i?ne`
+ Tool call + ${t} +
`:ne`Tool call ${t}`} +
`}render(){let t=ne` ${this.#t()} ${this.#e()} `;return this.renderCard(t)}};K([W({type:String,attribute:"request-call"})],je.prototype,"requestCall",2),K([W({type:String})],je.prototype,"status",2),K([W({type:Boolean,attribute:"show-request"})],je.prototype,"showRequest",2),K([W({type:String})],je.prototype,"value",2),K([W({type:String,attribute:"value-type"})],je.prototype,"valueType",2);var Ni={exclamationCircleFill:` + +`,wrenchAdjustable:` + + +`,plus:` + + +`},ki=(n,e="markdown")=>{let t="`".repeat(8);return`${t}${e} +${n} +${t}`};window.Shiny?.addCustomMessageHandler("shiny-tool-request-hide",n=>{window.shinychat.hiddenToolRequests.add(n);let e=new CustomEvent("shiny-tool-request-hide",{detail:{request_id:n},bubbles:!0,cancelable:!0});window.dispatchEvent(e)});var xi="shiny-chat-message",ia="shiny-user-message",ra="shiny-chat-messages",sa="shiny-chat-input",Ri="shiny-chat-container",qu="shiny-tool-request",Ku="shiny-tool-result",na={robot:'',dots_fade:''},dt=class extends ze{constructor(){super(...arguments);this.content="...";this.contentType="markdown";this.streaming=!1;this.icon=""}render(){let i=this.content.trim().length===0?na.dots_fade:this.icon||na.robot;return ne` +
${xe(i)}
- `}#t(){this.streaming||this.#e()}#e(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(t=>{if(!(t instanceof HTMLElement)||t.hasAttribute("tabindex"))return;t.setAttribute("tabindex","0"),t.setAttribute("role","button");let i=t.dataset.suggestion||t.textContent;t.setAttribute("aria-label",`Use chat suggestion: ${i}`)})}};pe([ge()],lt.prototype,"content",2),pe([ge({attribute:"content-type"})],lt.prototype,"contentType",2),pe([ge({type:Boolean,reflect:!0})],lt.prototype,"streaming",2),pe([ge()],lt.prototype,"icon",2);var On=class extends $e{constructor(){super(...arguments);this.content="..."}render(){return Xe` + `}#e(){this.streaming||this.#t()}#t(){this.querySelectorAll(".suggestion,[data-suggestion]").forEach(t=>{if(!(t instanceof HTMLElement)||t.hasAttribute("tabindex"))return;t.setAttribute("tabindex","0"),t.setAttribute("role","button");let i=t.dataset.suggestion||t.textContent;t.setAttribute("aria-label",`Use chat suggestion: ${i}`)})}};K([W()],dt.prototype,"content",2),K([W({attribute:"content-type"})],dt.prototype,"contentType",2),K([W({type:Boolean,reflect:!0})],dt.prototype,"streaming",2),K([W()],dt.prototype,"icon",2);var Mn=class extends ze{constructor(){super(...arguments);this.content="..."}render(){return ne` - `}};pe([ge()],On.prototype,"content",2);var vi=class extends $e{render(){return Xe``}},Qt=class extends $e{constructor(){super(...arguments);this.placeholder="Enter a message...";this._disabled=!1}get disabled(){return this._disabled}set disabled(t){let i=this._disabled;t!==i&&(this._disabled=t,t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",i),this.#e())}connectedCallback(){super.connectedCallback(),this.inputVisibleObserver=new IntersectionObserver(t=>{t.forEach(i=>{i.isIntersecting&&this.#i()})}),this.inputVisibleObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.inputVisibleObserver?.disconnect(),this.inputVisibleObserver=void 0}attributeChangedCallback(t,i,r){super.attributeChangedCallback(t,i,r),t==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){return Xe` + `}};K([W()],Mn.prototype,"content",2);var Oi=class extends ze{render(){return ne``}},en=class extends ze{constructor(){super(...arguments);this.placeholder="Enter a message...";this._disabled=!1}get disabled(){return this._disabled}set disabled(t){let i=this._disabled;t!==i&&(this._disabled=t,t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.requestUpdate("disabled",i),this.#t())}connectedCallback(){super.connectedCallback(),this.inputVisibleObserver=new IntersectionObserver(t=>{t.forEach(i=>{i.isIntersecting&&this.#i()})}),this.inputVisibleObserver.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.inputVisibleObserver?.disconnect(),this.inputVisibleObserver=void 0}attributeChangedCallback(t,i,r){super.attributeChangedCallback(t,i,r),t==="disabled"&&(this.disabled=r!==null)}get textarea(){return this.querySelector("textarea")}get value(){return this.textarea.value}get valueIsEmpty(){return this.value.trim().length===0}get button(){return this.querySelector("button")}render(){return ne` - `}#t(t){t.code==="Enter"&&!t.shiftKey&&!this.valueIsEmpty&&(t.preventDefault(),this.#r())}#e(){this.#i(),this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#e()}#r(t=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let i=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(i),this.setInputValue(""),this.disabled=!0,t&&this.textarea.focus()}#i(){let t=this.textarea;t.scrollHeight!=0&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`)}setInputValue(t,{submit:i=!1,focus:r=!1}={}){let o=this.textarea.value;this.textarea.value=t;let s=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(s),i&&(this.#r(!1),o&&this.setInputValue(o)),r&&this.textarea.focus()}};pe([ge()],Qt.prototype,"placeholder",2),pe([ge({type:Boolean})],Qt.prototype,"disabled",1);var Rn=class extends $e{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(jo)}get messages(){return this.querySelector(Jo)}get lastMessage(){let t=this.messages.lastElementChild;return t||null}render(){return Xe``}connectedCallback(){super.connectedCallback();let t=this.querySelector("div");t||(t=Nt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",t)),this.inputSentinelObserver=new IntersectionObserver(i=>{let r=this.input.querySelector("textarea");if(!r)return;let o=i[0]?.intersectionRatio===0;r.classList.toggle("shadow",o)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(t)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#t),this.addEventListener("shiny-chat-append-message",this.#e),this.addEventListener("shiny-chat-append-message-chunk",this.#s),this.addEventListener("shiny-chat-clear-messages",this.#o),this.addEventListener("shiny-chat-update-user-input",this.#c),this.addEventListener("shiny-chat-remove-loading-message",this.#h),this.addEventListener("click",this.#l),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#t),this.removeEventListener("shiny-chat-append-message",this.#e),this.removeEventListener("shiny-chat-append-message-chunk",this.#s),this.removeEventListener("shiny-chat-clear-messages",this.#o),this.removeEventListener("shiny-chat-update-user-input",this.#c),this.removeEventListener("shiny-chat-remove-loading-message",this.#h),this.removeEventListener("click",this.#l),this.removeEventListener("keydown",this.#u)}#t(t){this.#i(t.detail),this.#p()}#e(t){this.#i(t.detail)}#r(){this.#n(),this.input.disabled||(this.input.disabled=!0)}#i(t,i=!0){this.#r();let r=t.role==="user"?Qo:wi;this.iconAssistant&&(t.icon=t.icon||this.iconAssistant);let o=Nt(r,t);this.messages.appendChild(o),i&&this.#f()}#p(){let i=Nt(wi,{content:"",role:"assistant"});this.messages.appendChild(i)}#n(){this.lastMessage?.content||this.lastMessage?.remove()}#s(t){this.#a(t.detail)}#a(t){t.chunk_type==="message_start"&&this.#i(t,!1);let i=this.lastMessage;if(!i)throw new Error("No messages found in the chat output");if(t.chunk_type==="message_start"){i.setAttribute("streaming","");return}let r=t.operation==="append"?i.getAttribute("content")+t.content:t.content;i.setAttribute("content",r),t.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#f())}#o(){this.messages.innerHTML=""}#c(t){let{value:i,placeholder:r,submit:o,focus:s}=t.detail;i!==void 0&&this.input.setInputValue(i,{submit:o,focus:s}),r!==void 0&&(this.input.placeholder=r)}#l(t){this.#d(t)}#u(t){(t.key==="Enter"||t.key===" ")&&this.#d(t)}#d(t){let{suggestion:i,submit:r}=this.#g(t.target);if(!i)return;t.preventDefault();let o=t.metaKey||t.ctrlKey?!0:t.altKey?!1:r;this.input.setInputValue(i,{submit:o,focus:!o})}#g(t){if(!(t instanceof HTMLElement))return{};let i=t.closest(".suggestion, [data-suggestion]");return i instanceof HTMLElement?i.classList.contains("suggestion")||i.dataset.suggestion!==void 0?{suggestion:i.dataset.suggestion||i.textContent||void 0,submit:i.classList.contains("submit")||i.dataset.suggestionSubmit===""||i.dataset.suggestionSubmit==="true"}:{}:{}}#h(){this.#n(),this.#f()}#f(){this.input.disabled=!1}};pe([ge({attribute:"icon-assistant"})],Rn.prototype,"iconAssistant",2);var Bu=[{tag:wi,component:lt},{tag:Qo,component:On},{tag:Jo,component:vi},{tag:jo,component:Qt},{tag:Ai,component:Rn}];Bu.forEach(({tag:n,component:e})=>{customElements.get(n)||customElements.define(n,e)});window.Shiny.addCustomMessageHandler("shinyChatMessage",async function(n){n.obj?.html_deps&&await kn(n.obj.html_deps);let e=new CustomEvent(n.handler,{detail:n.obj}),t=document.getElementById(n.id);if(!t){je({status:"error",message:`Unable to handle Chat() message since element with id + `}#e(t){t.code==="Enter"&&!t.shiftKey&&!this.valueIsEmpty&&(t.preventDefault(),this.#r())}#t(){this.#i(),this.button.disabled=this.disabled?!0:this.value.trim().length===0}firstUpdated(){this.#t()}#r(t=!0){if(this.valueIsEmpty||this.disabled)return;window.Shiny.setInputValue(this.id,this.value,{priority:"event"});let i=new CustomEvent("shiny-chat-input-sent",{detail:{content:this.value,role:"user"},bubbles:!0,composed:!0});this.dispatchEvent(i),this.setInputValue(""),this.disabled=!0,t&&this.textarea.focus()}#i(){let t=this.textarea;t.scrollHeight!=0&&(t.style.height="auto",t.style.height=`${t.scrollHeight}px`)}setInputValue(t,{submit:i=!1,focus:r=!1}={}){let o=this.textarea.value;this.textarea.value=t;let s=new Event("input",{bubbles:!0,cancelable:!0});this.textarea.dispatchEvent(s),i&&(this.#r(!1),o&&this.setInputValue(o)),r&&this.textarea.focus()}};K([W()],en.prototype,"placeholder",2),K([W({type:Boolean})],en.prototype,"disabled",1);var In=class extends ze{constructor(){super(...arguments);this.iconAssistant=""}get input(){return this.querySelector(sa)}get messages(){return this.querySelector(ra)}get lastMessage(){let t=this.messages.lastElementChild;return t||null}render(){return ne``}connectedCallback(){super.connectedCallback();let t=this.querySelector("div");t||(t=xt("div",{style:"width: 100%; height: 0;"}),this.input.insertAdjacentElement("afterend",t)),this.inputSentinelObserver=new IntersectionObserver(i=>{let r=this.input.querySelector("textarea");if(!r)return;let o=i[0]?.intersectionRatio===0;r.classList.toggle("shadow",o)},{threshold:[0,1],rootMargin:"0px"}),this.inputSentinelObserver.observe(t)}firstUpdated(){this.messages&&(this.addEventListener("shiny-chat-input-sent",this.#e),this.addEventListener("shiny-chat-append-message",this.#t),this.addEventListener("shiny-chat-append-message-chunk",this.#s),this.addEventListener("shiny-chat-clear-messages",this.#o),this.addEventListener("shiny-chat-update-user-input",this.#c),this.addEventListener("shiny-chat-remove-loading-message",this.#h),this.addEventListener("click",this.#l),this.addEventListener("keydown",this.#u))}disconnectedCallback(){super.disconnectedCallback(),this.inputSentinelObserver?.disconnect(),this.inputSentinelObserver=void 0,this.removeEventListener("shiny-chat-input-sent",this.#e),this.removeEventListener("shiny-chat-append-message",this.#t),this.removeEventListener("shiny-chat-append-message-chunk",this.#s),this.removeEventListener("shiny-chat-clear-messages",this.#o),this.removeEventListener("shiny-chat-update-user-input",this.#c),this.removeEventListener("shiny-chat-remove-loading-message",this.#h),this.removeEventListener("click",this.#l),this.removeEventListener("keydown",this.#u)}#e(t){this.#i(t.detail),this.#p()}#t(t){this.#i(t.detail)}#r(){this.#n(),this.input.disabled||(this.input.disabled=!0)}#i(t,i=!0){this.#r();let r=t.role==="user"?ia:xi;this.iconAssistant&&(t.icon=t.icon||this.iconAssistant);let o=xt(r,t);this.messages.appendChild(o),i&&this.#f()}#p(){let i=xt(xi,{content:"",role:"assistant"});this.messages.appendChild(i)}#n(){this.lastMessage?.content||this.lastMessage?.remove()}#s(t){this.#a(t.detail)}#a(t){t.chunk_type==="message_start"&&this.#i(t,!1);let i=this.lastMessage;if(!i)throw new Error("No messages found in the chat output");if(t.chunk_type==="message_start"){i.setAttribute("streaming","");return}let r=t.operation==="append"?i.getAttribute("content")+t.content:t.content;i.setAttribute("content",r),t.chunk_type==="message_end"&&(this.lastMessage?.removeAttribute("streaming"),this.#f())}#o(){this.messages.innerHTML=""}#c(t){let{value:i,placeholder:r,submit:o,focus:s}=t.detail;i!==void 0&&this.input.setInputValue(i,{submit:o,focus:s}),r!==void 0&&(this.input.placeholder=r)}#l(t){this.#d(t)}#u(t){(t.key==="Enter"||t.key===" ")&&this.#d(t)}#d(t){let{suggestion:i,submit:r}=this.#g(t.target);if(!i)return;t.preventDefault();let o=t.metaKey||t.ctrlKey?!0:t.altKey?!1:r;this.input.setInputValue(i,{submit:o,focus:!o})}#g(t){if(!(t instanceof HTMLElement))return{};let i=t.closest(".suggestion, [data-suggestion]");return i instanceof HTMLElement?i.classList.contains("suggestion")||i.dataset.suggestion!==void 0?{suggestion:i.dataset.suggestion||i.textContent||void 0,submit:i.classList.contains("submit")||i.dataset.suggestionSubmit===""||i.dataset.suggestionSubmit==="true"}:{}:{}}#h(){this.#n(),this.#f()}#f(){this.input.disabled=!1}};K([W({attribute:"icon-assistant"})],In.prototype,"iconAssistant",2);var Wu=[{tag:xi,component:dt},{tag:ia,component:Mn},{tag:ra,component:Oi},{tag:sa,component:en},{tag:Ri,component:In},{tag:qu,component:Ot},{tag:Ku,component:je}];Wu.forEach(({tag:n,component:e})=>{customElements.get(n)||customElements.define(n,e)});window.Shiny?.addCustomMessageHandler("shinyChatMessage",async function(n){n.obj?.html_deps&&await Rn(n.obj.html_deps);let e=new CustomEvent(n.handler,{detail:n.obj}),t=document.getElementById(n.id);if(!t){nt({status:"error",message:`Unable to handle Chat() message since element with id ${n.id} wasn't found. Do you need to call .ui() (Express) or need a chat_ui('${n.id}') in the UI (Core)? - `});return}t.dispatchEvent(e)});function zu(n){return"isStreaming"in n}var ta="markdown-stream-dot",Fu=Zo(``),na=new Ze;na.table=(n,e)=>` + `});return}t.dispatchEvent(e)});function Zu(n){return"isStreaming"in n}var aa="markdown-stream-dot",Yu=jo(``),Ln=new Qe;Ln.table=(n,e)=>`
${n}${e} -
`;var ia=new Ze;ia.html=n=>n.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'");function Hu(n,e){if(e==="markdown"){let t=fi(n,{renderer:na});return rt(xn(t))}else if(e==="semi-markdown"){let t=fi(n,{renderer:ia});return rt(xn(t))}else{if(e==="html")return rt(xn(n));if(e==="text")return n;throw new Error(`Unknown content type: ${e}`)}}var xe=class xe extends $e{constructor(){super(...arguments);this.content="";this.content_type="markdown";this.streaming=!1;this.auto_scroll=!1;this.#n=null;this.#s=!1;this.#a=!1;this.#o=()=>{this.#s||(this.#a=!this.#c())}}render(){return Xe`${Hu(this.content,this.content_type)}`}disconnectedCallback(){super.disconnectedCallback(),this.#g()}willUpdate(t){t.has("content")&&(this.#s=!0,xe.#r(this)),super.willUpdate(t)}updated(t){if(t.has("content")){try{this.#p()}catch(i){console.warn("Failed to highlight code:",i)}if(this.streaming?(this.#t(),xe._throttledBind(this)):xe.#i(this),this.#l(),this.#s=!1,this.#d(),this.onContentChange)try{this.onContentChange()}catch(i){console.warn("Failed to call onContentUpdate callback:",i)}}if(t.has("streaming")){if(this.streaming)this.#t();else if(this.#e(),this.onStreamEnd)try{this.onStreamEnd()}catch(i){console.warn("Failed to call onStreamEnd callback:",i)}}}#t(){this.lastElementChild?.appendChild(Fu)}#e(){this.querySelector(`svg.${ta}`)?.remove()}static async#r(t){if(window?.Shiny?.unbindAll)try{window.Shiny.unbindAll(t)}catch(i){je({status:"error",message:`Failed to unbind Shiny inputs/outputs: ${i}`})}}static async#i(t){if(window?.Shiny?.initializeInputs&&window?.Shiny?.bindAll){try{window.Shiny.initializeInputs(t)}catch(i){je({status:"error",message:`Failed to initialize Shiny inputs: ${i}`})}try{await window.Shiny.bindAll(t)}catch(i){je({status:"error",message:`Failed to bind Shiny inputs/outputs: ${i}`})}}}static async _throttledBind(t){await this.#i(t)}#p(){this.querySelector("pre code")&&this.querySelectorAll("pre code").forEach(i=>{if(i.dataset.highlighted==="yes")return;mo.highlightElement(i);let r=Nt("button",{class:"code-copy-button",title:"Copy to clipboard"});r.innerHTML='',i.prepend(r),new ea.default(r,{target:()=>i}).on("success",s=>{r.classList.add("code-copy-button-checked"),setTimeout(()=>r.classList.remove("code-copy-button-checked"),2e3),s.clearSelection()})})}#n;#s;#a;#o;#c(){let t=this.#n;return t?t.scrollHeight-(t.scrollTop+t.clientHeight)<50:!1}#l(){let t=this.#u();t!==this.#n&&(this.#n?.removeEventListener("scroll",this.#o),this.#n=t,this.#n?.addEventListener("scroll",this.#o))}#u(){if(!this.auto_scroll)return null;let t=this;for(;t;){if(t.scrollHeight>t.clientHeight)return t;if(t=t.parentElement,t?.tagName?.toLowerCase()===Ai.toLowerCase())break}return null}#d(){let t=this.#n;!t||this.#a||t.scroll({top:t.scrollHeight-t.clientHeight,behavior:this.streaming?"instant":"smooth"})}#g(){this.#n?.removeEventListener("scroll",this.#o),this.#n=null,this.#a=!1}};pe([ge()],xe.prototype,"content",2),pe([ge({attribute:"content-type"})],xe.prototype,"content_type",2),pe([ge({type:Boolean,reflect:!0})],xe.prototype,"streaming",2),pe([ge({type:Boolean,reflect:!0,attribute:"auto-scroll"})],xe.prototype,"auto_scroll",2),pe([ge({type:Function})],xe.prototype,"onContentChange",2),pe([ge({type:Function})],xe.prototype,"onStreamEnd",2),pe([Vo(200)],xe,"_throttledBind",1);var Si=xe;customElements.get("shiny-markdown-stream")||customElements.define("shiny-markdown-stream",Si);async function Gu(n){let e=document.getElementById(n.id);if(!e){je({status:"error",message:`Unable to handle MarkdownStream() message since element with id + `;var Vu=Ln.code;Ln.code=function(n,e,t){return e==="{=html}"?n:Vu.call(this,n,e,t)};var ca=new Qe;ca.html=n=>n.replaceAll("&","&").replaceAll("<","<").replaceAll(">",">").replaceAll('"',""").replaceAll("'","'");function Xu(n,e){if(e==="markdown"){let t=_i(n,{renderer:Ln});return xe(Cn(t))}else if(e==="semi-markdown"){let t=_i(n,{renderer:ca});return xe(Cn(t))}else{if(e==="html")return xe(Cn(n));if(e==="text")return n;throw new Error(`Unknown content type: ${e}`)}}var Ce=class Ce extends ze{constructor(){super(...arguments);this.content="";this.content_type="markdown";this.streaming=!1;this.auto_scroll=!1;this.#n=null;this.#s=!1;this.#a=!1;this.#o=()=>{this.#s||(this.#a=!this.#c())}}render(){return ne`${Xu(this.content,this.content_type)}`}disconnectedCallback(){super.disconnectedCallback(),this.#g()}willUpdate(t){t.has("content")&&(this.#s=!0,Ce.#r(this)),super.willUpdate(t)}updated(t){if(t.has("content")){try{this.#p()}catch(i){console.warn("Failed to highlight code:",i)}if(this.streaming?(this.#e(),Ce._throttledBind(this)):Ce.#i(this),this.#l(),this.#s=!1,this.#d(),this.onContentChange)try{this.onContentChange()}catch(i){console.warn("Failed to call onContentUpdate callback:",i)}}if(t.has("streaming")){if(this.streaming)this.#e();else if(this.#t(),this.onStreamEnd)try{this.onStreamEnd()}catch(i){console.warn("Failed to call onStreamEnd callback:",i)}}}#e(){if(this.#t(),this.content.trim()===""||this.lastElementChild?.tagName.toLowerCase()==="shiny-tool-request")return;let t=s=>/\S/.test(s.textContent||""),i=new Set(["p","div","pre","ul","ol"]),r=new Set(["p","h1","h2","h3","h4","h5","h6","li","code"]);(s=>{let a=s,c=0;for(;c<5;){c++;let u=a.childNodes,l=null;for(let p=u.length-1;p>=0;p--){let f=u[p];if(!f)break;if(f.nodeType===Node.ELEMENT_NODE||f.nodeType===Node.TEXT_NODE&&t(f)){l=f;break}}if(!l||!(l instanceof Element))return a;let g=l.tagName.toLowerCase();if(i.has(g)){a=l;continue}return r.has(g)?l:a}return a})(this).appendChild(Yu)}#t(){this.querySelector(`svg.${aa}`)?.remove()}static async#r(t){if(window?.Shiny?.unbindAll)try{window.Shiny.unbindAll(t)}catch(i){nt({status:"error",message:`Failed to unbind Shiny inputs/outputs: ${i}`})}}static async#i(t){if(window?.Shiny?.initializeInputs&&window?.Shiny?.bindAll){try{window.Shiny.initializeInputs(t)}catch(i){nt({status:"error",message:`Failed to initialize Shiny inputs: ${i}`})}try{await window.Shiny.bindAll(t)}catch(i){nt({status:"error",message:`Failed to bind Shiny inputs/outputs: ${i}`})}}}static async _throttledBind(t){await this.#i(t)}#p(){this.querySelector("pre code")&&this.querySelectorAll("pre code").forEach(i=>{if(i.dataset.highlighted==="yes")return;To.highlightElement(i);let r=xt("button",{class:"code-copy-button",title:"Copy to clipboard"});r.innerHTML='',i.prepend(r),new oa.default(r,{target:()=>i}).on("success",s=>{r.classList.add("code-copy-button-checked"),setTimeout(()=>r.classList.remove("code-copy-button-checked"),2e3),s.clearSelection()})})}#n;#s;#a;#o;#c(){let t=this.#n;return t?t.scrollHeight-(t.scrollTop+t.clientHeight)<50:!1}#l(){let t=this.#u();t!==this.#n&&(this.#n?.removeEventListener("scroll",this.#o),this.#n=t,this.#n?.addEventListener("scroll",this.#o))}#u(){if(!this.auto_scroll)return null;let t=this;for(;t;){if(t.scrollHeight>t.clientHeight)return t;if(t=t.parentElement,t?.tagName?.toLowerCase()===Ri.toLowerCase())break}return null}#d(){let t=this.#n;!t||this.#a||t.scroll({top:t.scrollHeight-t.clientHeight,behavior:this.streaming?"instant":"smooth"})}#g(){this.#n?.removeEventListener("scroll",this.#o),this.#n=null,this.#a=!1}};K([W()],Ce.prototype,"content",2),K([W({attribute:"content-type"})],Ce.prototype,"content_type",2),K([W({type:Boolean,reflect:!0})],Ce.prototype,"streaming",2),K([W({type:Boolean,reflect:!0,attribute:"auto-scroll"})],Ce.prototype,"auto_scroll",2),K([W({type:Function})],Ce.prototype,"onContentChange",2),K([W({type:Function})],Ce.prototype,"onStreamEnd",2),K([ta(200)],Ce,"_throttledBind",1);var Ci=Ce;customElements.get("shiny-markdown-stream")||customElements.define("shiny-markdown-stream",Ci);async function Qu(n){let e=document.getElementById(n.id);if(!e){nt({status:"error",message:`Unable to handle MarkdownStream() message since element with id ${n.id} wasn't found. Do you need to call .ui() (Express) or need a - output_markdown_stream('${n.id}') in the UI (Core)?`});return}if(zu(n)){e.streaming=n.isStreaming;return}if(n.html_deps&&await kn(n.html_deps),n.operation==="replace")e.setAttribute("content",n.content);else if(n.operation==="append"){let t=e.getAttribute("content");e.setAttribute("content",t+n.content)}else throw new Error(`Unknown operation: ${n.operation}`)}window.Shiny.addCustomMessageHandler("shinyMarkdownStreamMessage",Gu);export{Si as MarkdownElement,Hu as contentToHTML}; + output_markdown_stream('${n.id}') in the UI (Core)?`});return}if(Zu(n)){e.streaming=n.isStreaming;return}if(n.html_deps&&await Rn(n.html_deps),n.operation==="replace")e.setAttribute("content",n.content);else if(n.operation==="append"){let t=e.getAttribute("content");e.setAttribute("content",t+n.content)}else throw new Error(`Unknown operation: ${n.operation}`)}window.Shiny?.addCustomMessageHandler("shinyMarkdownStreamMessage",Qu);export{Ci as MarkdownElement,Xu as contentToHTML}; /*! Bundled license information: clipboard/dist/clipboard.js: diff --git a/pkg-r/inst/lib/shiny/markdown-stream/markdown-stream.js.map b/pkg-r/inst/lib/shiny/markdown-stream/markdown-stream.js.map index 1d71def8..74748aa5 100644 --- a/pkg-r/inst/lib/shiny/markdown-stream/markdown-stream.js.map +++ b/pkg-r/inst/lib/shiny/markdown-stream/markdown-stream.js.map @@ -1,7 +1,7 @@ { "version": 3, - "sources": ["../../node_modules/clipboard/dist/clipboard.js", "../../node_modules/highlight.js/lib/core.js", "../../node_modules/highlight.js/lib/languages/xml.js", "../../node_modules/highlight.js/lib/languages/bash.js", "../../node_modules/highlight.js/lib/languages/c.js", "../../node_modules/highlight.js/lib/languages/cpp.js", "../../node_modules/highlight.js/lib/languages/csharp.js", "../../node_modules/highlight.js/lib/languages/css.js", "../../node_modules/highlight.js/lib/languages/markdown.js", "../../node_modules/highlight.js/lib/languages/diff.js", "../../node_modules/highlight.js/lib/languages/ruby.js", "../../node_modules/highlight.js/lib/languages/go.js", "../../node_modules/highlight.js/lib/languages/graphql.js", "../../node_modules/highlight.js/lib/languages/ini.js", "../../node_modules/highlight.js/lib/languages/java.js", "../../node_modules/highlight.js/lib/languages/javascript.js", "../../node_modules/highlight.js/lib/languages/json.js", "../../node_modules/highlight.js/lib/languages/kotlin.js", "../../node_modules/highlight.js/lib/languages/less.js", "../../node_modules/highlight.js/lib/languages/lua.js", "../../node_modules/highlight.js/lib/languages/makefile.js", "../../node_modules/highlight.js/lib/languages/perl.js", "../../node_modules/highlight.js/lib/languages/objectivec.js", "../../node_modules/highlight.js/lib/languages/php.js", "../../node_modules/highlight.js/lib/languages/php-template.js", "../../node_modules/highlight.js/lib/languages/plaintext.js", "../../node_modules/highlight.js/lib/languages/python.js", "../../node_modules/highlight.js/lib/languages/python-repl.js", "../../node_modules/highlight.js/lib/languages/r.js", "../../node_modules/highlight.js/lib/languages/rust.js", "../../node_modules/highlight.js/lib/languages/scss.js", "../../node_modules/highlight.js/lib/languages/shell.js", "../../node_modules/highlight.js/lib/languages/sql.js", "../../node_modules/highlight.js/lib/languages/swift.js", "../../node_modules/highlight.js/lib/languages/yaml.js", "../../node_modules/highlight.js/lib/languages/typescript.js", "../../node_modules/highlight.js/lib/languages/vbnet.js", "../../node_modules/highlight.js/lib/languages/wasm.js", "../../node_modules/highlight.js/lib/common.js", "../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../src/markdown-stream/markdown-stream.ts", "../../node_modules/highlight.js/es/common.js", "../../node_modules/marked/src/defaults.ts", "../../node_modules/marked/src/helpers.ts", "../../node_modules/marked/src/Tokenizer.ts", "../../node_modules/marked/src/rules.ts", "../../node_modules/marked/src/Lexer.ts", "../../node_modules/marked/src/Renderer.ts", "../../node_modules/marked/src/TextRenderer.ts", "../../node_modules/marked/src/Parser.ts", "../../node_modules/marked/src/Hooks.ts", "../../node_modules/marked/src/Instance.ts", "../../node_modules/marked/src/marked.ts", "../../node_modules/dompurify/src/utils.ts", "../../node_modules/dompurify/src/tags.ts", "../../node_modules/dompurify/src/attrs.ts", "../../node_modules/dompurify/src/regexp.ts", "../../node_modules/dompurify/src/purify.ts", "../../src/utils/_utils.ts", "../../src/chat/chat.ts"], - "sourcesContent": ["/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n 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/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.11.1\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n modeBuffer += \"\\n\";\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n highlightAll();\n }\n\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n // make sure the event listener is only added once\n if (!wantsHighlight) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n", "/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[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]/, regex.optional(/[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]*:/), /[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 // const XML_IDENT_RE = /[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 // const TAG_NAME_RE = regex.concat(/[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]/, regex.optional(/[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]*:/), /[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 // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the ',\n};\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\";\n @property({ attribute: \"content-type\" }) contentType: ContentType =\n \"markdown\";\n @property({ type: Boolean, reflect: true }) streaming = false;\n @property() icon = \"\";\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0;\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot;\n\n return html`\n
${unsafeHTML(icon)}
\n \n `;\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible();\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return;\n if (el.hasAttribute(\"tabindex\")) return;\n\n el.setAttribute(\"tabindex\", \"0\");\n el.setAttribute(\"role\", \"button\");\n\n const suggestion = el.dataset.suggestion || el.textContent;\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`);\n });\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\";\n\n render() {\n return html`\n \n `;\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``;\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean;\n focus?: boolean;\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\";\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled;\n if (value === oldValue) {\n return;\n }\n\n this._disabled = value;\n if (value) {\n this.setAttribute(\"disabled\", \"\");\n } else {\n this.removeAttribute(\"disabled\");\n }\n\n this.requestUpdate(\"disabled\", oldValue);\n this.#onInput();\n }\n\n private _disabled = false;\n inputVisibleObserver?: IntersectionObserver;\n\n connectedCallback(): void {\n super.connectedCallback();\n\n this.inputVisibleObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) this.#updateHeight();\n });\n });\n\n this.inputVisibleObserver.observe(this);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.inputVisibleObserver?.disconnect();\n this.inputVisibleObserver = undefined;\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null\n ) {\n super.attributeChangedCallback(name, _old, value);\n if (name === \"disabled\") {\n this.disabled = value !== null;\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement;\n }\n\n private get value(): string {\n return this.textarea.value;\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0;\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement;\n }\n\n render() {\n const icon =\n '';\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `;\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey;\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault();\n this.#sendInput();\n }\n }\n\n #onInput(): void {\n this.#updateHeight();\n this.button.disabled = this.disabled\n ? true\n : this.value.trim().length === 0;\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput();\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return;\n if (this.disabled) return;\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" });\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(sentEvent);\n\n this.setInputValue(\"\");\n this.disabled = true;\n\n if (focus) this.textarea.focus();\n }\n\n #updateHeight(): void {\n const el = this.textarea;\n if (el.scrollHeight == 0) {\n return;\n }\n el.style.height = \"auto\";\n el.style.height = `${el.scrollHeight}px`;\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {}\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value;\n\n this.textarea.value = value;\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true });\n this.textarea.dispatchEvent(inputEvent);\n\n if (submit) {\n this.#sendInput(false);\n if (oldValue) this.setInputValue(oldValue);\n }\n\n if (focus) {\n this.textarea.focus();\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\";\n inputSentinelObserver?: IntersectionObserver;\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput;\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages;\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild;\n return last ? (last as ChatMessage) : null;\n }\n\n render() {\n return html``;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\");\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement;\n this.input.insertAdjacentElement(\"afterend\", sentinel);\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\");\n if (!inputTextarea) return;\n const addShadow = entries[0]?.intersectionRatio === 0;\n inputTextarea.classList.toggle(\"shadow\", addShadow);\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n }\n );\n\n this.inputSentinelObserver.observe(sentinel);\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return;\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.addEventListener(\"click\", this.#onInputSuggestionClick);\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n\n this.inputSentinelObserver?.disconnect();\n this.inputSentinelObserver = undefined;\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent);\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend);\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk\n );\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear);\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput\n );\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage\n );\n this.removeEventListener(\"click\", this.#onInputSuggestionClick);\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown);\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n this.#addLoadingMessage();\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail);\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage();\n if (!this.input.disabled) {\n this.input.disabled = true;\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage();\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG;\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant;\n }\n\n const msg = createElement(TAG_NAME, message);\n this.messages.appendChild(msg);\n\n if (finalize) {\n this.#finalizeMessage();\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n };\n const message = createElement(CHAT_MESSAGE_TAG, loading_message);\n this.messages.appendChild(message);\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content;\n if (!content) this.lastMessage?.remove();\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail);\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false);\n }\n\n const lastMessage = this.lastMessage;\n if (!lastMessage) throw new Error(\"No messages found in the chat output\");\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\");\n return;\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content;\n\n lastMessage.setAttribute(\"content\", content);\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\");\n this.#finalizeMessage();\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\";\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail;\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus });\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder;\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \";\n if (!isEnterOrSpace) return;\n\n this.#onInputSuggestionEvent(e);\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target);\n if (!suggestion) return;\n\n e.preventDefault();\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit;\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n });\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string;\n submit?: boolean;\n } {\n if (!(x instanceof HTMLElement)) return {};\n\n const el = x.closest(\".suggestion, [data-suggestion]\");\n if (!(el instanceof HTMLElement)) return {};\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") ||\n el.dataset.suggestion !== undefined;\n if (!isSuggestion) return {};\n\n const suggestion = el.dataset.suggestion || el.textContent;\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n };\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage();\n this.#finalizeMessage();\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false;\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nconst chatCustomElements = [\n { tag: CHAT_MESSAGE_TAG, component: ChatMessage },\n { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage },\n { tag: CHAT_MESSAGES_TAG, component: ChatMessages },\n { tag: CHAT_INPUT_TAG, component: ChatInput },\n { tag: CHAT_CONTAINER_TAG, component: ChatContainer }\n];\n\nchatCustomElements.forEach(({ tag, component }) => {\n if (!customElements.get(tag)) {\n customElements.define(tag, component);\n }\n});\n\nwindow.Shiny.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps);\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n });\n\n const el = document.getElementById(message.id);\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n });\n return;\n }\n\n el.dispatchEvent(evt);\n }\n);\n\nexport { CHAT_CONTAINER_TAG };\n"], - "mappings": "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EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAUL,EAAK,QACnBA,EAAK,QAAQ,EACb,CACE,MAAO,CACL,SACA,MACF,EACA,MAAO,CACL,EAAG,SACL,CACF,CACF,EACMM,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBN,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMO,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRP,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKG,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAX,EAAK,YACLE,CACF,CACF,EACMU,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBb,EAAK,QAAQ,CACjC,OAAQ,IAAIY,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEd,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMe,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,OACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,SACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CACP,KACA,KACF,EACA,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAb,EAAK,QAAQ,EACbc,EACAH,EACAN,EACAC,EACAW,EACAV,EACAC,EACAC,EACAC,EACAR,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCxZjB,IAAAuB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,IACrBF,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAJC,UAI4B,EACvD,IAGIK,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAKMC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEP,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACX,EACAA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,cAAe,EACxB,CAAE,MAAO,iFAAkF,EAC3F,CAAE,MAAO,kHAAmH,EAC5H,CAAE,MAAO,wDAAyD,CACtE,EACE,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,yGACyD,EAC7D,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAT,EAAK,QAAQO,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAL,EACAF,EAAK,oBACP,CACF,EAEMU,EAAa,CACjB,UAAW,QACX,MAAOT,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMW,EAAiBV,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAoFhEY,EAAW,CACf,QAnFiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,gBACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EAyCE,KAvCc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,UACA,WACA,aACA,aACA,aACA,aACA,cACA,cACA,eACA,WACA,WACA,WACA,YACA,YACA,YACA,aAEA,QACA,SACA,YAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAH,EACAJ,EACAF,EAAK,qBACLQ,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMV,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOT,EACP,SAAUS,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEX,EAAK,QAAQU,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRV,EACAF,EAAK,qBACLO,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUM,EACV,UAAW,EACX,SAAU,CACR,OACAV,EACAF,EAAK,qBACLO,EACAC,EACAF,CACF,CACF,CACF,CACF,EACAA,EACAJ,EACAF,EAAK,qBACLS,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOT,EAAK,SAAW,KACvB,SAAUY,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCZ,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcS,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAd,GAAO,QAAUC,KC5UjB,IAAAiB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,cACrBF,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAJC,UAI4B,EACvD,IAEIK,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAKMC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEP,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACX,EACAA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMQ,EAAU,CACd,UAAW,SACX,SAAU,CAER,CAAE,MACA,8UAkBF,EAEA,CAAE,MACA,6JAcF,CACF,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAT,EAAK,QAAQO,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAL,EACAF,EAAK,oBACP,CACF,EAEMU,EAAa,CACjB,UAAW,QACX,MAAOT,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMW,EAAiBV,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEY,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,WACA,WACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOd,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMiB,EAAsB,CAC1BD,EACAR,EACAH,EACAJ,EACAF,EAAK,qBACLQ,EACAD,CACF,EAEMY,GAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,UAAW,WACX,MAAO,IAAMf,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOb,EACP,SAAUa,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRd,EACAF,EAAK,qBACLO,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUU,EACV,UAAW,EACX,SAAU,CACR,OACAd,EACAF,EAAK,qBACLO,EACAC,EACAF,CACF,CACF,CACF,CACF,EACAA,EACAJ,EACAF,EAAK,qBACLS,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,GACAC,EACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,8NACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAV,CACF,CACF,EACA,CACE,MAAON,EAAK,SAAW,KACvB,SAAUgB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEAlB,GAAO,QAAUC,KC5lBjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,OACA,QACA,QACA,KACA,aACA,UACA,SACA,OACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,WACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAa,CACjB,UAAW,SACX,MAAO,4BACP,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBX,EAAK,QAAQU,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUN,CACZ,EACMO,EAAcb,EAAK,QAAQY,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBd,EAAK,iBACLa,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqChB,EAAK,QAAQe,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAa,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAX,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMiB,EAAS,CAAE,SAAU,CACzBR,EACAM,EACAD,EACAJ,EACAV,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIkB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BX,CACF,CACF,EACMY,EAAgBnB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFoB,EAAgB,CAGpB,MAAO,IAAMpB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAiB,EACAT,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAW,EACAlB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAW,EACAlB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMmB,EAAgB,SAAWnB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLkB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUZ,EACV,UAAW,EACX,SAAU,CACRW,EACAT,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAoB,CACF,CACF,CACF,CAEAtB,GAAO,QAAUC,KC3ZjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAUjB,SAASC,GAAIR,EAAM,CACjB,IAAMS,EAAQT,EAAK,MACbU,EAAQX,GAAMC,CAAI,EAClBW,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdf,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRU,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAL,GAAO,QAAUU,KCp7BjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EAqCtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CA1CG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAwBIX,EACAG,EACAI,EACAC,EAzBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAsBIT,EACAD,EACAK,EACAF,EAvBW,CAEb,MAAO,UACP,MAAO,oDACT,CAqBE,CACF,CACF,CAEAR,GAAO,QAAUC,KCvPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,UACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EASlB,IAAMC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUD,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAfW,QAeY,IAbX,kCAakC,IAZtC,iDAYyD,WACxE,OAAQ,CACN,IAAK,IACL,SAAUV,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOgB,EAAW,EAClB,OAAOR,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,6DACP,UAAW,CACb,EACA,CACE,MAAO,sFACP,UAAW,CACb,EACA,CACE,MAAO,wBACP,UAAW,CACb,EACA,CACE,MAAO,uCACP,UAAW,CACb,EACA,CACE,MAAO,wDACP,UAAW,CACb,CACF,CACF,EACA,CAAE,MAAO,IACT,EACA,CACE,UAAW,WACX,cAAe,OACf,IAAK,cACL,WAAY,GACZ,SAAU,CACRA,EAAK,WACL,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,QAAS,MACX,CACF,CACF,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC3JjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAQC,EAAM,CACrB,IAAMC,EAAQD,EAAK,MACbE,EAAW,yBACjB,MAAO,CACL,KAAM,UACN,QAAS,CAAE,KAAM,EACjB,iBAAkB,GAClB,kBAAmB,GACnB,SAAU,CACR,QAAS,CACP,QACA,WACA,eACA,OACA,QACA,SACA,YACA,YACA,QACA,SACA,WACA,OACA,IACF,EACA,QAAS,CACP,OACA,QACA,MACF,CACF,EACA,SAAU,CACRF,EAAK,kBACLA,EAAK,kBACLA,EAAK,YACL,CACE,MAAO,cACP,MAAO,SACP,UAAW,CACb,EACA,CACE,MAAO,cACP,MAAO,4BACP,UAAW,CACb,EACA,CACE,MAAO,WACP,MAAO,KACP,IAAK,KACL,WAAY,GACZ,UAAW,CACb,EACA,CACE,MAAO,OACP,MAAO,OACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAOC,EAAM,OAAOC,EAAUD,EAAM,UAAU,MAAM,CAAC,EACrD,UAAW,CACb,CACF,EACA,QAAS,CACP,QACA,OACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7EjB,IAAAI,GAAAC,EAAA,CAAAC,G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CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KClSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,UAEA,OACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,GAIEC,IAAa,KAGbA,IAAa,IACX,CACFF,EAAS,YAAY,EACrB,MACF,CAIIE,IAAa,MAGVV,EAAcC,EAAO,CAAE,MAAOQ,CAAgB,CAAC,GAClDD,EAAS,YAAY,GAOzB,IAAI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,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAmBH,GAAe,OAAOC,EAAe,EAAE,KAAK,EAAE,QAAQ,EAY/E,SAASG,GAAKT,EAAM,CAClB,IAAMU,EAAQX,GAAMC,CAAI,EAClBW,EAAqBH,GAErBI,EAAe,kBACfC,EAAW,UACXC,EAAkB,IAAMD,EAAW,QAAUA,EAAW,OAIxDE,EAAQ,CAAC,EAASC,EAAc,CAAC,EAEjCC,EAAc,SAASC,EAAG,CAC9B,MAAO,CAEL,UAAW,SACX,MAAO,KAAOA,EAAI,MAAQA,CAC5B,CACF,EAEMC,EAAa,SAASC,EAAMC,EAAOC,EAAW,CAClD,MAAO,CACL,UAAWF,EACX,MAAOC,EACP,UAAWC,CACb,CACF,EAEMC,EAAc,CAClB,SAAU,UACV,QAASX,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EAEMoB,EAAc,CAElB,MAAO,MACP,IAAK,MACL,SAAUR,EACV,SAAUO,EACV,UAAW,CACb,EAGAP,EAAY,KACVhB,EAAK,oBACLA,EAAK,qBACLiB,EAAY,GAAG,EACfA,EAAY,GAAG,EACfP,EAAM,gBACN,CACE,MAAO,oBACP,OAAQ,CAC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CF,EAAE,OAAOA,CAAQ,CACnB,EACAJ,EAAK,cACLA,EAAK,iBACLA,EAAK,kBACL,CACE,UAAW,SACX,MAAOC,EACP,IAAKC,EACL,SAAU,CAAEC,CAAc,EAC1B,UAAW,CACb,CACF,CAAC,CACH,CACF,CAEAL,GAAO,QAAUC,KChFjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CAEtB,IAAMC,EAAW,CACf,UAAW,WACX,SAAU,CACR,CACE,MAAO,SAAWD,EAAK,oBAAsB,MAC7C,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CAAE,MAAO,gBAAiB,CAC5B,CACF,EAEME,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRF,EAAK,iBACLC,CACF,CACF,EAEME,EAAO,CACX,UAAW,WACX,MAAO,eACP,IAAK,KACL,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CACRF,EACAC,CACF,CACF,EAEME,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCxFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAO,CACX,MAAO,OACP,MAAO,yBACT,EAC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ApB,GAAO,QAAUC,KCvfjB,IAAAoB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAiBJ,EAAM,OAC3B,SACAC,CAAY,EACRI,EAAW,CACf,MAAO,WACP,MAAO,OAASH,CAClB,EACMI,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBT,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtEU,EAAgBV,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOQ,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUX,EAAK,kBAAkB,SAAS,OAAOQ,CAAK,EACtD,WAAY,CAACI,EAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,EAAE,CAAC,GAAKA,EAAE,CAAC,CAAG,EACjE,SAAU,CAACA,EAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,EAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASd,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKe,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,m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AAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAO,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,EACAH,EACA,CACE,MAAO,CACL,QACA,KACAzB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAuB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxB1B,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUqB,EACV,SAAU,CACR,OACAY,GACA3B,EACAsB,EACA5B,EAAK,qBACLgB,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCjB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAgB,EACAC,CACF,CACF,CACF,CAEAnB,GAAO,QAAUC,KChnBjB,IAAAmC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAAK,iBACP,CACF,EAGMS,EAAY,kBACZC,EAAa,QAAQD,CAAS,UAAUA,CAAS,SAASA,CAAS,OAMnEE,EAAY,OAAOR,EAAe,KAAK,GAAG,CAAC,GAC3CS,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAWR,CACE,MAAO,QAAQH,CAAS,MAAMC,CAAU,eAAeD,CAAS,YAAYE,CAAS,GACvF,EACA,CACE,MAAO,IAAID,CAAU,QACvB,EAQA,CACE,MAAO,0CAA0CC,CAAS,GAC5D,EACA,CACE,MAAO,4BAA4BA,CAAS,GAC9C,EACA,CACE,MAAO,6BAA6BA,CAAS,GAC/C,EACA,CACE,MAAO,mCAAmCA,CAAS,GACrD,EAIA,CACE,MAAO,OAAOF,CAAS,WAAWE,CAAS,GAC7C,CACF,CACF,EACME,EAAe,CACnB,UAAW,UACX,MAAOZ,EAAM,UAAU,SAAS,EAChC,IAAK,IACL,SAAUG,EACV,SAAU,CACR,CACE,MAAO,SACT,EAEA,CACE,MAAO,IACP,IAAK,OACL,eAAgB,EAClB,CACF,CACF,EACMU,EAAS,CACb,UAAW,SACX,SAAU,CAER,CACE,UAAW,GACX,MAAO,UACP,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUV,EACV,SAAU,CACR,OACAC,EACAO,EACAJ,EACAR,EAAK,iBACP,CACF,CACF,CACF,EACA,OAAAM,EAAM,SAAW,CACfE,EACAI,EACAP,CACF,EAEO,CACL,KAAM,SACN,QAAS,CACP,KACA,MACA,SACF,EACA,aAAc,GACd,SAAUD,EACV,QAAS,cACT,SAAU,CACRC,EACAO,EACA,CAEE,MAAO,oBACP,MAAO,UACT,EACA,CAGE,cAAe,KACf,UAAW,CACb,EACA,CAAE,MAAO,SAAU,MAAO,SAAU,EACpCJ,EACAK,EACAb,EAAK,kBACL,CACE,MAAO,CACL,QAAS,MACTE,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CAAEY,CAAO,CACrB,EACA,CACE,SAAU,CACR,CACE,MAAO,CACL,UAAW,MACXZ,EAAU,MACV,QAASA,EAAS,OACpB,CACF,EACA,CACE,MAAO,CACL,UAAW,MACXA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,uBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,WACP,IAAK,UACL,SAAU,CACRU,EACAE,EACAN,CACF,CACF,CACF,CACF,CACF,CAEAV,GAAO,QAAUC,KCnbjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAWC,EAAM,CACxB,MAAO,CACL,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,cACX,OAAQ,CAGN,IAAK,MACL,OAAQ,CACN,IAAK,IACL,YAAa,QACf,CACF,EACA,SAAU,CACR,CAAE,MAAO,eAAgB,EACzB,CAAE,MAAO,kBAAmB,CAC9B,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC/BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAObE,EAAW,uDACXC,EAAkBF,EAAM,OAE5B,gDAEA,0CAEA,+CACF,EACMG,EAAe,mEACfC,EAAiBJ,EAAM,OAC3B,OACA,OACA,OACA,QACA,KACA,GACF,EAEA,MAAO,CACL,KAAM,IAEN,SAAU,CACR,SAAUC,EACV,QACE,kDACF,QACE,wFAEF,SAEE,ghCAqBJ,EAEA,SAAU,CAERF,EAAK,QACH,KACA,IACA,CAAE,SAAU,CACV,CAME,MAAO,SACP,MAAO,YACP,OAAQ,CACN,IAAKC,EAAM,UAAUA,EAAM,OAEzB,yBAEA,WACF,CAAC,EACD,WAAY,EACd,CACF,EACA,CAGE,MAAO,SACP,MAAO,SACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,WACP,SAAU,CACR,CAAE,MAAOC,CAAS,EAClB,CAAE,MAAO,mBAAoB,CAC/B,EACA,WAAY,EACd,CACF,CACF,EACA,CACE,MAAO,SACP,MAAO,YACT,EACA,CACE,MAAO,UACP,MAAO,aACT,CACF,CAAE,CACJ,EAEAF,EAAK,kBAEL,CACE,MAAO,SACP,SAAU,CAAEA,EAAK,gBAAiB,EAClC,SAAU,CACRA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MAGbE,EAAiB,QACjBC,EAAsBF,EAAM,OAAOC,EAAgBF,EAAK,mBAAmB,EAC3EI,EAAWH,EAAM,OAAOC,EAAgBF,EAAK,QAAQ,EAErDK,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOJ,EAAM,OACX,KACA,oCACAG,EACAH,EAAM,UAAU,OAAO,CAAC,CAC5B,EACMK,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,QACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUV,EAAK,SAAW,KAC1B,KAAMU,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRT,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SAEX,MAAO,8BACT,EACA,CACE,MAAO,SACP,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CACE,MAAO,MACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,cACP,MAAO,+BACT,CACF,CACF,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBM,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRH,EAAK,gBACP,CACF,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAG,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EACA,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOH,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUS,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KCrUjB,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAYjB,SAASC,GAAKR,EAAM,CAClB,IAAMS,EAAQV,GAAMC,CAAI,EAClBU,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRd,EAAK,oBACLA,EAAK,qBAGLS,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNT,EAAK,kBACLA,EAAK,iBACLS,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAd,EAAK,kBACLA,EAAK,iBACLS,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAX,GAAO,QAAUU,KC16BjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,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,WACA,SACA,MACA,OACA,SACA,SACA,YACA,QACA,SACA,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF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AE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAEMmE,GAAyB,CAC7B,MAAO,CACL,UACA,MACA,SACA,MACA,4BACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,GAAwB,CAC5B,MAAO,CACL,UACA,MACA,OACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,SACL,CACF,EAEMC,GAAmB,CACvB,MAAO,CACL,+CACA,MACA5D,GACA,KACF,EACA,WAAY,CACV,EAAG,UACH,EAAG,aACL,EACA,SAAUe,EACV,SAAU,CACRoC,GACA,GAAGnC,EACH,CACE,MAAO,IACP,IAAK,KACL,SAAUD,EACV,SAAU,CACR,CACE,MAAO,wBACP,MAAOd,EACT,EACA,GAAGe,CACL,EACA,UAAW,CACb,CACF,CACF,EAGA,QAAW6C,KAAW7B,EAAO,SAAU,CACrC,IAAM8B,GAAgBD,EAAQ,SAAS,KAAKE,IAAQA,GAAK,QAAU,UAAU,EAE7ED,GAAc,SAAW/C,EACzB,IAAMiD,EAAW,CACf,GAAGhD,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,CACL,EACAoB,GAAc,SAAW,CACvB,GAAGE,EACH,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACR,OACA,GAAGA,CACL,CACF,CACF,CACF,CAEA,MAAO,CACL,KAAM,QACN,SAAUjD,EACV,SAAU,CACR,GAAGP,EACH8C,GACAC,GACAG,GACAC,GACAC,GACAJ,GACAC,GACA,CACE,cAAe,SACf,IAAK,IACL,SAAU,CAAE,GAAGjD,CAAS,EACxB,UAAW,CACb,EACA8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,EACAG,CACF,CACF,CACF,CAEA3E,GAAO,QAAU6B,KC38BjB,IAAA6D,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAW,yBAGXC,EAAiB,8BAMjBC,EAAM,CACV,UAAW,OACX,SAAU,CAER,CAAE,MAAO,mCAAoC,EAC7C,CACE,MAAO,qCAAsC,EAC/C,CACE,MAAO,qCAAsC,CACjD,CACF,EAEMC,EAAqB,CACzB,UAAW,oBACX,SAAU,CACR,CACE,MAAO,OACP,IAAK,MACP,EACA,CACE,MAAO,MACP,IAAK,IACP,CACF,CACF,EAEMC,EAAsB,CAC1B,UAAW,SACX,UAAW,EACX,MAAO,IACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,KACP,MAAO,cACP,UAAW,CACb,CACF,CACF,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,KAAM,CACjB,EACA,SAAU,CACRN,EAAK,iBACLI,CACF,CACF,EAIMG,EAAmBP,EAAK,QAAQM,EAAQ,CAAE,SAAU,CACxD,CACE,MAAO,IACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,KACP,UAAW,CACb,CACF,CACF,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,cAAe,CAC1B,CAAE,CAAC,EAMGE,EAAY,CAChB,UAAW,SACX,MAAO,MANO,6BACA,yCACI,eACJ,8CAG6C,KAC7D,EAEMC,EAAkB,CACtB,IAAK,IACL,eAAgB,GAChB,WAAY,GACZ,SAAUR,EACV,UAAW,CACb,EACMS,EAAS,CACb,MAAO,KACP,IAAK,KACL,SAAU,CAAED,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EACME,EAAQ,CACZ,MAAO,MACP,IAAK,MACL,SAAU,CAAEF,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EAEMG,EAAQ,CACZT,EACA,CACE,UAAW,OACX,MAAO,YACP,UAAW,EACb,EACA,CAKE,UAAW,SACX,MAAO,+DACT,EACA,CACE,MAAO,WACP,IAAK,UACL,YAAa,OACb,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,SAAWD,CACpB,EAEA,CACE,UAAW,OACX,MAAO,KAAOA,EAAiB,GACjC,EACA,CACE,UAAW,OACX,MAAO,IAAMA,CACf,EACA,CACE,UAAW,OACX,MAAO,KAAOA,CAChB,EACA,CACE,UAAW,OACX,MAAO,IAAMF,EAAK,oBAAsB,GAC1C,EACA,CACE,UAAW,OACX,MAAO,MAAQA,EAAK,oBAAsB,GAC5C,EACA,CACE,UAAW,SAEX,MAAO,aACP,UAAW,CACb,EACAA,EAAK,kBACL,CACE,cAAeC,EACf,SAAU,CAAE,QAASA,CAAS,CAChC,EACAO,EAGA,CACE,UAAW,SACX,MAAOR,EAAK,YAAc,MAC1B,UAAW,CACb,EACAU,EACAC,EACAN,EACAC,CACF,EAEMO,EAAc,CAAE,GAAGD,CAAM,EAC/B,OAAAC,EAAY,IAAI,EAChBA,EAAY,KAAKN,CAAgB,EACjCE,EAAgB,SAAWI,EAEpB,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,CAAE,KAAM,EACjB,SAAUD,CACZ,CACF,CAEAd,GAAO,QAAUC,KCpNjB,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,UAEA,OACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,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A,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACG,EAEG4E,GAAM5E,GAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACC,EAEG6E,GAAa7E,GAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACN,EAMG8E,GAAgB9E,GAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACG,EAEG+E,GAAS/E,GAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACL,EAIGgF,GAAmBhF,GAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACE,EAEGiF,GAAOjF,GAAO,CAAC,OAAO,CAAU,ECpRhC2E,GAAO3E,GAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACE,EAEG4E,GAAM5E,GAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACJ,EAEG+E,GAAS/E,GAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYkF,GAAMlF,GAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACL,EC/WGmF,GAAgBlF,GAAK,2BAA2B,EAChDmF,GAAWnF,GAAK,uBAAuB,EACvCoF,GAAcpF,GAAK,eAAe,EAClCqF,GAAYrF,GAAK,8BAA8B,EAC/CsF,GAAYtF,GAAK,gBAAgB,EACjCuF,GAAiBvF,GAC5B,oGAEWwF,GAAoBxF,GAAK,uBAAuB,EAChDyF,GAAkBzF,GAC7B,+DAEW0F,GAAe1F,GAAK,SAAS,EAC7B2F,GAAiB3F,GAAK,0BAA0B,uMCmBvD4F,GAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,IAGNC,GAAY,UAAA,CAChB,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAChCC,EACAC,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", - "names": ["require_clipboard", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_exports__", "__webpack_require__", "clipboard", "tiny_emitter", "tiny_emitter_default", "listen", "listen_default", "src_select", "select_default", "command", "type", "ClipboardActionCut", "target", "selectedText", "actions_cut", "createFakeElement", "value", "isRTL", "fakeElement", "yPosition", "fakeCopyAction", "options", "ClipboardActionCopy", "actions_copy", "_typeof", "obj", "ClipboardActionDefault", "_options$action", "action", "container", "text", "actions_default", "clipboard_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "props", "i", "descriptor", "_createClass", "protoProps", "staticProps", "_inherits", "subClass", "superClass", "_setPrototypeOf", "o", "p", "_createSuper", "Derived", "hasNativeReflectConstruct", "_isNativeReflectConstruct", "Super", "_getPrototypeOf", "result", "NewTarget", "_possibleConstructorReturn", "self", "call", "_assertThisInitialized", "getAttributeValue", "suffix", "element", "attribute", "Clipboard", "_Emitter", "_super", "trigger", "_this", "_this2", "e", "selector", "actions", "support", "DOCUMENT_NODE_TYPE", "proto", "closest", "__unused_webpack_exports", "_delegate", "callback", "useCapture", "listenerFn", "listener", "delegate", "elements", "is", "listenNode", "listenNodeList", "listenSelector", "node", "nodeList", "select", "isReadOnly", "selection", "range", "E", "name", "ctx", "data", "evtArr", "len", "evts", "liveEvents", "__webpack_module_cache__", "moduleId", "getter", "definition", "key", "prop", "require_core", "__commonJSMin", "exports", "module", "deepFreeze", "obj", "name", "prop", "type", "Response", "mode", "escapeHTML", "value", "inherit$1", "original", "objects", "result", "key", "SPAN_CLOSE", "emitsWrappingTags", "node", "scopeToCSSClass", "prefix", "pieces", "x", "i", "HTMLRenderer", "parseTree", "options", "text", "className", "newNode", "opts", "TokenTree", "_TokenTree", "scope", "builder", "child", "el", "TokenTreeEmitter", "emitter", "source", "re", "lookahead", "concat", "anyNumberOfTimes", "optional", "args", "stripOptionsFromArgs", "either", "countMatchGroups", "startsWith", "lexeme", "match", "BACKREF_RE", "_rewriteBackreferences", "regexps", "joinWith", "numCaptures", "regex", "offset", "out", "MATCH_NOTHING_RE", "IDENT_RE", "UNDERSCORE_IDENT_RE", "NUMBER_RE", "C_NUMBER_RE", "BINARY_NUMBER_RE", "RE_STARTERS_RE", "SHEBANG", "beginShebang", "m", "resp", "BACKSLASH_ESCAPE", "APOS_STRING_MODE", "QUOTE_STRING_MODE", "PHRASAL_WORDS_MODE", "COMMENT", "begin", "end", "modeOptions", "ENGLISH_WORD", "C_LINE_COMMENT_MODE", "C_BLOCK_COMMENT_MODE", "HASH_COMMENT_MODE", "NUMBER_MODE", "C_NUMBER_MODE", "BINARY_NUMBER_MODE", "REGEXP_MODE", "TITLE_MODE", "UNDERSCORE_TITLE_MODE", "METHOD_GUARD", "END_SAME_AS_BEGIN", "MODES", "skipIfHasPrecedingDot", "response", "scopeClassName", "_parent", "beginKeywords", "parent", "compileIllegal", "compileMatch", "compileRelevance", "beforeMatchExt", "originalMode", "COMMON_KEYWORDS", "DEFAULT_KEYWORD_SCOPE", "compileKeywords", "rawKeywords", "caseInsensitive", "scopeName", "compiledKeywords", "compileList", "keywordList", "keyword", "pair", "scoreForKeyword", "providedScore", "commonKeyword", "seenDeprecations", "error", "message", "warn", "deprecated", "version", "MultiClassError", "remapScopeNames", "regexes", "scopeNames", "emit", "positions", "beginMultiClass", "endMultiClass", "scopeSugar", "MultiClass", "compileLanguage", "language", "langRe", "global", "MultiRegex", "terminators", "s", "matchData", "ResumableMultiRegex", "index", "matcher", "m2", "buildModeRegex", "mm", "term", "compileMode", "cmode", "ext", "keywordPattern", "c", "expandOrCloneMode", "dependencyOnParent", "variant", "HTMLInjectionError", "reason", "html", "escape", "inherit", "NO_MATCH", "MAX_KEYWORD_HITS", "HLJS", "hljs", "languages", "aliases", "plugins", "SAFE_MODE", "LANGUAGE_NOT_FOUND", "PLAINTEXT_LANGUAGE", "shouldNotHighlight", "languageName", "blockLanguage", "block", "classes", "getLanguage", "_class", "highlight", "codeOrLanguageName", "optionsOrCode", "ignoreIllegals", "code", "context", "fire", "_highlight", "codeToHighlight", "continuation", "keywordHits", "keywordData", "matchText", "processKeywords", "top", "modeBuffer", "lastIndex", "buf", "word", "data", "kind", "keywordRelevance", "relevance", "cssClass", "emitKeyword", "processSubLanguage", "continuations", "highlightAuto", "processBuffer", "emitMultiClass", "max", "klass", "startNewMode", "endOfMode", "matchPlusRemainder", "matched", "doIgnore", "resumeScanAtSamePosition", "doBeginMatch", "newMode", "beforeCallbacks", "cb", "doEndMatch", "endMode", "origin", "processContinuations", "list", "current", "item", "lastMatch", "processLexeme", "textBeforeMatch", "err", "processed", "iterations", "md", "beforeMatch", "processedCount", "justTextHighlightResult", "languageSubset", "plaintext", "results", "autoDetection", "sorted", "a", "b", "best", "secondBest", "updateClassName", "element", "currentLang", "resultLang", "highlightElement", "configure", "userOptions", "initHighlighting", "highlightAll", "initHighlightingOnLoad", "wantsHighlight", "boot", "registerLanguage", "languageDefinition", "lang", "error$1", "registerAliases", "unregisterLanguage", "alias", "listLanguages", "aliasList", "upgradePluginAPI", "plugin", "addPlugin", "removePlugin", "event", "deprecateHighlightBlock", "require_xml", "__commonJSMin", "exports", "module", "xml", "hljs", "regex", "TAG_NAME_RE", "XML_IDENT_RE", "XML_ENTITIES", "XML_META_KEYWORDS", "XML_META_PAR_KEYWORDS", "APOS_META_STRING_MODE", "QUOTE_META_STRING_MODE", "TAG_INTERNALS", "require_bash", "__commonJSMin", "exports", "module", "bash", "hljs", "regex", "VAR", "BRACED_VAR", "SUBST", "COMMENT", "HERE_DOC", "QUOTE_STRING", "ESCAPED_QUOTE", "APOS_STRING", "ESCAPED_APOS", "ARITHMETIC", "SH_LIKE_SHELLS", "KNOWN_SHEBANG", "FUNCTION", "KEYWORDS", "LITERALS", "PATH_MODE", "SHELL_BUILT_INS", "BASH_BUILT_INS", "ZSH_BUILT_INS", "GNU_CORE_UTILS", "require_c", "__commonJSMin", "exports", "module", "c", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "FUNCTION_TYPE_RE", "TYPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "KEYWORDS", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_cpp", "__commonJSMin", "exports", "module", "cpp", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "FUNCTION_TYPE_RE", "CPP_PRIMITIVE_TYPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "RESERVED_KEYWORDS", "RESERVED_TYPES", "TYPE_HINTS", "FUNCTION_HINTS", "CPP_KEYWORDS", "FUNCTION_DISPATCH", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_csharp", "__commonJSMin", "exports", "module", "csharp", "hljs", "BUILT_IN_KEYWORDS", "FUNCTION_MODIFIERS", "LITERAL_KEYWORDS", "NORMAL_KEYWORDS", "CONTEXTUAL_KEYWORDS", "KEYWORDS", "TITLE_MODE", "NUMBERS", "RAW_STRING", "VERBATIM_STRING", "VERBATIM_STRING_NO_LF", "SUBST", "SUBST_NO_LF", "INTERPOLATED_STRING", "INTERPOLATED_VERBATIM_STRING", "INTERPOLATED_VERBATIM_STRING_NO_LF", "STRING", "GENERIC_MODIFIER", "TYPE_IDENT_RE", "AT_IDENTIFIER", "require_css", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "css", "regex", "modes", "VENDOR_PREFIX", "AT_MODIFIERS", "AT_PROPERTY_RE", "IDENT_RE", "STRINGS", "require_markdown", "__commonJSMin", "exports", "module", "markdown", "hljs", "regex", "INLINE_HTML", "HORIZONTAL_RULE", "CODE", "LIST", "LINK_REFERENCE", "URL_SCHEME", "LINK", "BOLD", "ITALIC", "BOLD_WITHOUT_ITALIC", "ITALIC_WITHOUT_BOLD", "CONTAINABLE", "m", "require_diff", "__commonJSMin", "exports", "module", "diff", "hljs", "regex", "require_ruby", "__commonJSMin", "exports", "module", "ruby", "hljs", "regex", "RUBY_METHOD_RE", "CLASS_NAME_RE", "CLASS_NAME_WITH_NAMESPACE_RE", "RUBY_KEYWORDS", "YARDOCTAG", "IRB_OBJECT", "COMMENT_MODES", "SUBST", "STRING", "decimal", "digits", "NUMBER", "PARAMS", "RUBY_DEFAULT_CONTAINS", "IRB_DEFAULT", "require_go", "__commonJSMin", "exports", "module", "go", "hljs", "KEYWORDS", "require_graphql", "__commonJSMin", "exports", "module", "graphql", "hljs", "regex", "GQL_NAME", "require_ini", "__commonJSMin", "exports", "module", "ini", "hljs", "regex", "NUMBERS", "COMMENTS", "VARIABLES", "LITERALS", "STRINGS", "ARRAY", "BARE_KEY", "QUOTED_KEY_DOUBLE_QUOTE", "QUOTED_KEY_SINGLE_QUOTE", "ANY_KEY", "DOTTED_KEY", "require_java", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "recurRegex", "re", "substitution", "depth", "_", "java", "hljs", "regex", "JAVA_IDENT_RE", "GENERIC_IDENT_RE", "KEYWORDS", "ANNOTATION", "PARAMS", "require_javascript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "x", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "require_json", "__commonJSMin", "exports", "module", "json", "hljs", "ATTRIBUTE", "PUNCTUATION", "LITERALS", "LITERALS_MODE", "require_kotlin", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "kotlin", "hljs", "KEYWORDS", "KEYWORDS_WITH_LABEL", "LABEL", "SUBST", "VARIABLE", "STRING", "ANNOTATION_USE_SITE", "ANNOTATION", "KOTLIN_NUMBER_MODE", "KOTLIN_NESTED_COMMENT", "KOTLIN_PAREN_TYPE", "KOTLIN_PAREN_TYPE2", "require_less", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "PSEUDO_SELECTORS", "less", "modes", "PSEUDO_SELECTORS$1", "AT_MODIFIERS", "IDENT_RE", "INTERP_IDENT_RE", "RULES", "VALUE_MODES", "STRING_MODE", "c", "IDENT_MODE", "name", "begin", "relevance", "AT_KEYWORDS", "PARENS_MODE", "VALUE_WITH_RULESETS", "MIXIN_GUARD_MODE", "RULE_MODE", "AT_RULE_MODE", "VAR_RULE_MODE", "SELECTOR_MODE", "PSEUDO_SELECTOR_MODE", "require_lua", "__commonJSMin", "exports", "module", "lua", "hljs", "OPENING_LONG_BRACKET", "CLOSING_LONG_BRACKET", "LONG_BRACKETS", "COMMENTS", "require_makefile", "__commonJSMin", "exports", "module", "makefile", "hljs", "VARIABLE", "QUOTE_STRING", "FUNC", "ASSIGNMENT", "META", "TARGET", "require_perl", "__commonJSMin", "exports", "module", "perl", "hljs", "regex", "KEYWORDS", "REGEX_MODIFIERS", "PERL_KEYWORDS", "SUBST", "METHOD", "ATTR", "VAR", "NUMBER", "STRING_CONTAINS", "REGEX_DELIMS", "PAIRED_DOUBLE_RE", "prefix", "open", "close", "middle", "PAIRED_RE", "PERL_DEFAULT_CONTAINS", "require_objectivec", "__commonJSMin", "exports", "module", "objectivec", "hljs", "API_CLASS", "IDENTIFIER_RE", "KEYWORDS", "CLASS_KEYWORDS", "require_php", "__commonJSMin", "exports", "module", "php", "hljs", "regex", "NOT_PERL_ETC", "IDENT_RE", "PASCAL_CASE_CLASS_NAME_RE", "UPCASE_NAME_RE", "VARIABLE", "PREPROCESSOR", "SUBST", "SINGLE_QUOTED", "DOUBLE_QUOTED", "HEREDOC", "m", "resp", "NOWDOC", "WHITESPACE", "STRING", "NUMBER", "LITERALS", "KWS", "BUILT_INS", "KEYWORDS", "items", "result", "item", "normalizeKeywords", "CONSTRUCTOR_CALL", "CONSTANT_REFERENCE", "LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON", "NAMED_ARGUMENT", "PARAMS_MODE", "FUNCTION_INVOKE", "ATTRIBUTE_CONTAINS", "ATTRIBUTES", "require_php_template", "__commonJSMin", "exports", "module", "phpTemplate", "hljs", "require_plaintext", "__commonJSMin", "exports", "module", "plaintext", "hljs", "require_python", "__commonJSMin", "exports", "module", "python", "hljs", "regex", "IDENT_RE", "RESERVED_WORDS", "KEYWORDS", "PROMPT", "SUBST", "LITERAL_BRACKET", "STRING", "digitpart", "pointfloat", "lookahead", "NUMBER", "COMMENT_TYPE", "PARAMS", "require_python_repl", "__commonJSMin", "exports", "module", "pythonRepl", "hljs", "require_r", "__commonJSMin", "exports", "module", "r", "hljs", "regex", "IDENT_RE", "NUMBER_TYPES_RE", "OPERATORS_RE", "PUNCTUATION_RE", "require_rust", "__commonJSMin", "exports", "module", "rust", "hljs", "regex", "RAW_IDENTIFIER", "UNDERSCORE_IDENT_RE", "IDENT_RE", "FUNCTION_INVOKE", "NUMBER_SUFFIX", "KEYWORDS", "LITERALS", "BUILTINS", "TYPES", "require_scss", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "scss", "modes", "PSEUDO_ELEMENTS$1", "PSEUDO_CLASSES$1", "AT_IDENTIFIER", "AT_MODIFIERS", "VARIABLE", "require_shell", "__commonJSMin", "exports", "module", "shell", "hljs", "require_sql", "__commonJSMin", "exports", "module", "sql", "hljs", "regex", "COMMENT_MODE", "STRING", "QUOTED_IDENTIFIER", "LITERALS", "MULTI_WORD_TYPES", "TYPES", "NON_RESERVED_WORDS", "RESERVED_WORDS", "RESERVED_FUNCTIONS", "POSSIBLE_WITHOUT_PARENS", "COMBOS", "FUNCTIONS", "KEYWORDS", "keyword", "VARIABLE", "OPERATOR", "FUNCTION_CALL", "kws_to_regex", "list", "kw", "MULTI_WORD_KEYWORDS", "reduceRelevancy", "exceptions", "when", "qualifyFn", "item", "x", "require_swift", "__commonJSMin", "exports", "module", "source", "re", "lookahead", "concat", "args", "x", "stripOptionsFromArgs", "opts", "either", "keywordWrapper", "keyword", "dotKeywords", "optionalDotKeywords", "keywordTypes", "keywords", "literals", "precedencegroupKeywords", "numberSignKeywords", "builtIns", "operatorHead", "operatorCharacter", "operator", "identifierHead", "identifierCharacter", "identifier", "typeIdentifier", "keywordAttributes", "availabilityKeywords", "swift", "hljs", "WHITESPACE", "BLOCK_COMMENT", "COMMENTS", "DOT_KEYWORD", "KEYWORD_GUARD", "PLAIN_KEYWORDS", "kw", "REGEX_KEYWORDS", "KEYWORD", "KEYWORDS", "KEYWORD_MODES", "BUILT_IN_GUARD", "BUILT_IN", "BUILT_INS", "OPERATOR_GUARD", "OPERATOR", "OPERATORS", "decimalDigits", "hexDigits", "NUMBER", "ESCAPED_CHARACTER", "rawDelimiter", "ESCAPED_NEWLINE", "INTERPOLATION", "MULTILINE_STRING", "SINGLE_LINE_STRING", "STRING", "REGEXP_CONTENTS", "BARE_REGEXP_LITERAL", "EXTENDED_REGEXP_LITERAL", "begin", "end", "REGEXP", "QUOTED_IDENTIFIER", "IMPLICIT_PARAMETER", "PROPERTY_WRAPPER_PROJECTION", "IDENTIFIERS", "AVAILABLE_ATTRIBUTE", "KEYWORD_ATTRIBUTE", "USER_DEFINED_ATTRIBUTE", "ATTRIBUTES", "TYPE", "GENERIC_ARGUMENTS", "TUPLE_ELEMENT_NAME", "TUPLE", "GENERIC_PARAMETERS", "FUNCTION_PARAMETER_NAME", "FUNCTION_PARAMETERS", "FUNCTION_OR_MACRO", "INIT_SUBSCRIPT", "OPERATOR_DECLARATION", "PRECEDENCEGROUP", "CLASS_FUNC_DECLARATION", "CLASS_VAR_DECLARATION", "TYPE_DECLARATION", "variant", "interpolation", "mode", "submodes", "require_yaml", "__commonJSMin", "exports", "module", "yaml", "hljs", "LITERALS", "URI_CHARACTERS", "KEY", "TEMPLATE_VARIABLES", "SINGLE_QUOTE_STRING", "STRING", "CONTAINER_STRING", "TIMESTAMP", "VALUE_CONTAINER", "OBJECT", "ARRAY", "MODES", "VALUE_MODES", "require_typescript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "x", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "typescript", "tsLanguage", "NAMESPACE", "INTERFACE", "TS_SPECIFIC_KEYWORDS", "DECORATOR", "swapMode", "mode", "label", "replacement", "indx", "ATTRIBUTE_HIGHLIGHT", "c", "OPTIONAL_KEY_OR_ARGUMENT", "functionDeclaration", "require_vbnet", "__commonJSMin", "exports", "module", "vbnet", "hljs", "regex", "CHARACTER", "STRING", "MM_DD_YYYY", "YYYY_MM_DD", "TIME_12H", "TIME_24H", "DATE", "NUMBER", "LABEL", "DOC_COMMENT", "COMMENT", "require_wasm", "__commonJSMin", "exports", "module", "wasm", "hljs", "BLOCK_COMMENT", "LINE_COMMENT", "KWS", "FUNCTION_REFERENCE", "ARGUMENT", "PARENS", "NUMBER", "TYPE", "MATH_OPERATIONS", "require_common", "__commonJSMin", "exports", "module", "hljs", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "useDefault", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "prototype", "hasOwnProperty", "create", "wrapped", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "get", "v", "oldValue", "call", "requestUpdate", "configurable", "enumerable", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "__defaultValues", "newValue", "hasAttribute", "_$changeProperty", "__enqueueUpdate", "initializeValue", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "mathml", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "wrapper", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "global", "globalThis", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "global", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "Object", "create", "wrapped", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "getOwnPropertyDescriptor", "import_clipboard", "import_common", "common_default", "HighlightJS", "_getDefaults", "_defaults", "changeDefaults", "newDefaults", "escapeTest", "escapeReplace", "escapeTestNoEncode", "escapeReplaceNoEncode", "escapeReplacements", "getEscapeReplacement", "ch", "escape", "html", "encode", "unescapeTest", "unescape", "_", "n", "caret", "edit", "regex", "opt", "source", "obj", "name", "val", "valSource", "cleanUrl", "href", "noopTest", "splitCells", "tableRow", "count", "row", "match", "offset", "str", "escaped", "curr", "cells", "i", "rtrim", "c", "invert", "l", "suffLen", "currChar", "findClosingBracket", "b", "level", "outputLink", "cap", "link", "raw", "lexer", "title", "text", "token", "indentCodeCompensation", "matchIndentToCode", "indentToCode", "node", "matchIndentInNode", "indentInNode", "_Tokenizer", "options", "src", "trimmed", "top", "tokens", "bull", "isordered", "list", "itemRegex", "itemContents", "endsWithBlankLine", "endEarly", "line", "t", "nextLine", "indent", "blankLine", "nextBulletRegex", "hrRegex", "fencesBeginRegex", "headingBeginRegex", "rawLine", "istask", "ischecked", "spacers", "hasMultipleLineBreaks", "tag", "headers", "aligns", "rows", "item", "align", "header", "cell", "trimmedUrl", "rtrimSlash", "lastParenIndex", "linkLen", "links", "linkString", "maskedSrc", "prevChar", "lLength", "rDelim", "rLength", "delimTotal", "midDelimTotal", "endReg", "lastCharLength", "hasNonSpaceChars", "hasSpaceCharsOnBothEnds", "prevCapZero", "newline", "blockCode", "fences", "hr", "heading", "bullet", "lheading", "_paragraph", "blockText", "_blockLabel", "def", "_tag", "_comment", "paragraph", "blockquote", "blockNormal", "gfmTable", "blockGfm", "blockPedantic", "inlineCode", "br", "inlineText", "_punctuation", "punctuation", "blockSkip", "emStrongLDelim", "emStrongRDelimAst", "emStrongRDelimUnd", "anyPunctuation", "autolink", "_inlineComment", "_inlineLabel", "reflink", "nolink", "reflinkSearch", "inlineNormal", "inlinePedantic", "inlineGfm", "inlineBreaks", "block", "inline", "_Lexer", "__Lexer", "rules", "next", "leading", "tabs", "lastToken", "cutSrc", "lastParagraphClipped", "extTokenizer", "startIndex", "tempSrc", "tempStart", "getStartIndex", "errMsg", "keepPrevChar", "_Renderer", "code", "infostring", "lang", "quote", "body", "ordered", "start", "type", "startatt", "task", "checked", "content", "flags", "cleanHref", "out", "_TextRenderer", "_Parser", "__Parser", "genericToken", "ret", "headingToken", "codeToken", "tableToken", "j", "k", "blockquoteToken", "listToken", "loose", "itemBody", "checkbox", "htmlToken", "paragraphToken", "textToken", "renderer", "escapeToken", "tagToken", "linkToken", "imageToken", "strongToken", "emToken", "codespanToken", "delToken", "_Hooks", "markdown", "Marked", "#parseMarkdown", "args", "callback", "values", "childTokens", "extensions", "pack", "opts", "ext", "prevRenderer", "extLevel", "prop", "rendererProp", "rendererFunc", "tokenizer", "tokenizerProp", "tokenizerFunc", "prevTokenizer", "hooks", "hooksProp", "hooksFunc", "prevHook", "arg", "walkTokens", "packWalktokens", "parser", "origOpt", "throwError", "#onError", "e", "silent", "async", "msg", "markedInstance", "marked", "setOptions", "use", "parseInline", "parse", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "func", "thisArg", "lastIndex", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "__removalCount", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "createSVGIcon", "icon", "LightElement", "i", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizeHTML", "html", "sanitizer", "tagName", "attr", "purify", "node", "data", "element", "isOK", "throttle", "delay", "_target", "_propertyKey", "descriptor", "originalMethod", "timeout", "args", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "entries", "entry", "#updateHeight", "name", "_old", "#onKeyDown", "#sendInput", "e", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "chatCustomElements", "tag", "component", "renderDependencies", "evt", "showShinyClientMessage", "isStreamingMessage", "message", "SVG_DOT_CLASS", "SVG_DOT", "createSVGIcon", "markdownRenderer", "_Renderer", "header", "body", "semiMarkdownRenderer", "html", "contentToHTML", "content", "content_type", "parse", "o", "sanitizeHTML", "_MarkdownElement", "LightElement", "#scrollableElement", "#isContentBeingAdded", "#isUserScrolled", "#onScroll", "#isNearBottom", "x", "#cleanup", "changedProperties", "#doUnBind", "#highlightAndCodeCopy", "error", "#appendStreamingDot", "#doBind", "#updateScrollableElement", "#maybeScrollToBottom", "#removeStreamingDot", "el", "err", "showShinyClientMessage", "common_default", "btn", "createElement", "ClipboardJS", "e", "#findScrollableParent", "CHAT_CONTAINER_TAG", "__decorateClass", "n", "throttle", "MarkdownElement", "handleMessage", "renderDependencies"] + "sources": ["../../node_modules/clipboard/dist/clipboard.js", "../../node_modules/highlight.js/lib/core.js", "../../node_modules/highlight.js/lib/languages/xml.js", "../../node_modules/highlight.js/lib/languages/bash.js", "../../node_modules/highlight.js/lib/languages/c.js", "../../node_modules/highlight.js/lib/languages/cpp.js", "../../node_modules/highlight.js/lib/languages/csharp.js", "../../node_modules/highlight.js/lib/languages/css.js", "../../node_modules/highlight.js/lib/languages/markdown.js", "../../node_modules/highlight.js/lib/languages/diff.js", "../../node_modules/highlight.js/lib/languages/ruby.js", "../../node_modules/highlight.js/lib/languages/go.js", "../../node_modules/highlight.js/lib/languages/graphql.js", "../../node_modules/highlight.js/lib/languages/ini.js", "../../node_modules/highlight.js/lib/languages/java.js", "../../node_modules/highlight.js/lib/languages/javascript.js", "../../node_modules/highlight.js/lib/languages/json.js", "../../node_modules/highlight.js/lib/languages/kotlin.js", "../../node_modules/highlight.js/lib/languages/less.js", "../../node_modules/highlight.js/lib/languages/lua.js", "../../node_modules/highlight.js/lib/languages/makefile.js", "../../node_modules/highlight.js/lib/languages/perl.js", "../../node_modules/highlight.js/lib/languages/objectivec.js", "../../node_modules/highlight.js/lib/languages/php.js", "../../node_modules/highlight.js/lib/languages/php-template.js", "../../node_modules/highlight.js/lib/languages/plaintext.js", "../../node_modules/highlight.js/lib/languages/python.js", "../../node_modules/highlight.js/lib/languages/python-repl.js", "../../node_modules/highlight.js/lib/languages/r.js", "../../node_modules/highlight.js/lib/languages/rust.js", "../../node_modules/highlight.js/lib/languages/scss.js", "../../node_modules/highlight.js/lib/languages/shell.js", "../../node_modules/highlight.js/lib/languages/sql.js", "../../node_modules/highlight.js/lib/languages/swift.js", "../../node_modules/highlight.js/lib/languages/yaml.js", "../../node_modules/highlight.js/lib/languages/typescript.js", "../../node_modules/highlight.js/lib/languages/vbnet.js", "../../node_modules/highlight.js/lib/languages/wasm.js", "../../node_modules/highlight.js/lib/common.js", "../../node_modules/@lit/reactive-element/src/css-tag.ts", "../../node_modules/@lit/reactive-element/src/reactive-element.ts", "../../node_modules/lit-html/src/lit-html.ts", "../../node_modules/lit-element/src/lit-element.ts", "../../node_modules/lit-html/src/directive.ts", "../../node_modules/lit-html/src/directives/unsafe-html.ts", "../../node_modules/@lit/reactive-element/src/decorators/property.ts", "../../src/markdown-stream/markdown-stream.ts", "../../node_modules/highlight.js/es/common.js", "../../node_modules/marked/src/defaults.ts", "../../node_modules/marked/src/helpers.ts", "../../node_modules/marked/src/Tokenizer.ts", "../../node_modules/marked/src/rules.ts", "../../node_modules/marked/src/Lexer.ts", "../../node_modules/marked/src/Renderer.ts", "../../node_modules/marked/src/TextRenderer.ts", "../../node_modules/marked/src/Parser.ts", "../../node_modules/marked/src/Hooks.ts", "../../node_modules/marked/src/Instance.ts", "../../node_modules/marked/src/marked.ts", "../../node_modules/dompurify/src/utils.ts", "../../node_modules/dompurify/src/tags.ts", "../../node_modules/dompurify/src/attrs.ts", "../../node_modules/dompurify/src/regexp.ts", "../../node_modules/dompurify/src/purify.ts", "../../src/utils/_utils.ts", "../../src/chat/chat-tools.ts", "../../src/chat/chat.ts"], + "sourcesContent": ["/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT \u00A9 Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(this, function() {\nreturn /******/ (function() { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 686:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ clipboard; }\n});\n\n// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js\nvar tiny_emitter = __webpack_require__(279);\nvar tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);\n// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js\nvar listen = __webpack_require__(370);\nvar listen_default = /*#__PURE__*/__webpack_require__.n(listen);\n// EXTERNAL MODULE: ./node_modules/select/src/select.js\nvar src_select = __webpack_require__(817);\nvar select_default = /*#__PURE__*/__webpack_require__.n(src_select);\n;// CONCATENATED MODULE: ./src/common/command.js\n/**\n * Executes a given operation type.\n * @param {String} type\n * @return {Boolean}\n */\nfunction command(type) {\n try {\n return document.execCommand(type);\n } catch (err) {\n return false;\n }\n}\n;// CONCATENATED MODULE: ./src/actions/cut.js\n\n\n/**\n * Cut action wrapper.\n * @param {String|HTMLElement} target\n * @return {String}\n */\n\nvar ClipboardActionCut = function ClipboardActionCut(target) {\n var selectedText = select_default()(target);\n command('cut');\n return selectedText;\n};\n\n/* harmony default export */ var actions_cut = (ClipboardActionCut);\n;// CONCATENATED MODULE: ./src/common/create-fake-element.js\n/**\n * Creates a fake textarea element with a value.\n * @param {String} value\n * @return {HTMLElement}\n */\nfunction createFakeElement(value) {\n var isRTL = document.documentElement.getAttribute('dir') === 'rtl';\n var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS\n\n fakeElement.style.fontSize = '12pt'; // Reset box model\n\n fakeElement.style.border = '0';\n fakeElement.style.padding = '0';\n fakeElement.style.margin = '0'; // Move element out of screen horizontally\n\n fakeElement.style.position = 'absolute';\n fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically\n\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n fakeElement.style.top = \"\".concat(yPosition, \"px\");\n fakeElement.setAttribute('readonly', '');\n fakeElement.value = value;\n return fakeElement;\n}\n;// CONCATENATED MODULE: ./src/actions/copy.js\n\n\n\n/**\n * Create fake copy action wrapper using a fake element.\n * @param {String} target\n * @param {Object} options\n * @return {String}\n */\n\nvar fakeCopyAction = function fakeCopyAction(value, options) {\n var fakeElement = createFakeElement(value);\n options.container.appendChild(fakeElement);\n var selectedText = select_default()(fakeElement);\n command('copy');\n fakeElement.remove();\n return selectedText;\n};\n/**\n * Copy action wrapper.\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @return {String}\n */\n\n\nvar ClipboardActionCopy = function ClipboardActionCopy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n var selectedText = '';\n\n if (typeof target === 'string') {\n selectedText = fakeCopyAction(target, options);\n } else if (target instanceof HTMLInputElement && !['text', 'search', 'url', 'tel', 'password'].includes(target === null || target === void 0 ? void 0 : target.type)) {\n // If input type doesn't support `setSelectionRange`. Simulate it. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n selectedText = fakeCopyAction(target.value, options);\n } else {\n selectedText = select_default()(target);\n command('copy');\n }\n\n return selectedText;\n};\n\n/* harmony default export */ var actions_copy = (ClipboardActionCopy);\n;// CONCATENATED MODULE: ./src/actions/default.js\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n/**\n * Inner function which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n * @param {Object} options\n */\n\nvar ClipboardActionDefault = function ClipboardActionDefault() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Defines base properties passed from constructor.\n var _options$action = options.action,\n action = _options$action === void 0 ? 'copy' : _options$action,\n container = options.container,\n target = options.target,\n text = options.text; // Sets the `action` to be performed which can be either 'copy' or 'cut'.\n\n if (action !== 'copy' && action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n } // Sets the `target` property using an element that will be have its content copied.\n\n\n if (target !== undefined) {\n if (target && _typeof(target) === 'object' && target.nodeType === 1) {\n if (action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n } // Define selection strategy based on `text` property.\n\n\n if (text) {\n return actions_copy(text, {\n container: container\n });\n } // Defines which selection strategy based on `target` property.\n\n\n if (target) {\n return action === 'cut' ? actions_cut(target) : actions_copy(target, {\n container: container\n });\n }\n};\n\n/* harmony default export */ var actions_default = (ClipboardActionDefault);\n;// CONCATENATED MODULE: ./src/clipboard.js\nfunction clipboard_typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { clipboard_typeof = function _typeof(obj) { return typeof obj; }; } else { clipboard_typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return clipboard_typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (clipboard_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\nfunction getAttributeValue(suffix, element) {\n var attribute = \"data-clipboard-\".concat(suffix);\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\n\n\nvar Clipboard = /*#__PURE__*/function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n var _super = _createSuper(Clipboard);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n var _this;\n\n _classCallCheck(this, Clipboard);\n\n _this = _super.call(this);\n\n _this.resolveOptions(options);\n\n _this.listenClick(trigger);\n\n return _this;\n }\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: \"resolveOptions\",\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;\n }\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: \"listenClick\",\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = listen_default()(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: \"onClick\",\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n var action = this.action(trigger) || 'copy';\n var text = actions_default({\n action: action,\n container: this.container,\n target: this.target(trigger),\n text: this.text(trigger)\n }); // Fires an event based on the copy operation result.\n\n this.emit(text ? 'success' : 'error', {\n action: action,\n text: text,\n trigger: trigger,\n clearSelection: function clearSelection() {\n if (trigger) {\n trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n });\n }\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultAction\",\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: \"defaultTarget\",\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n /**\n * Allow fire programmatically a copy action\n * @param {String|HTMLElement} target\n * @param {Object} options\n * @returns Text copied.\n */\n\n }, {\n key: \"defaultText\",\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.listener.destroy();\n }\n }], [{\n key: \"copy\",\n value: function copy(target) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n container: document.body\n };\n return actions_copy(target, options);\n }\n /**\n * Allow fire programmatically a cut action\n * @param {String|HTMLElement} target\n * @returns Text cutted.\n */\n\n }, {\n key: \"cut\",\n value: function cut(target) {\n return actions_cut(target);\n }\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: \"isSupported\",\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n return support;\n }\n }]);\n\n return Clipboard;\n}((tiny_emitter_default()));\n\n/* harmony default export */ var clipboard = (Clipboard);\n\n/***/ }),\n\n/***/ 828:\n/***/ (function(module) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ }),\n\n/***/ 438:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar closest = __webpack_require__(828);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(__unused_webpack_module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n\n/***/ 370:\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\nvar is = __webpack_require__(879);\nvar delegate = __webpack_require__(438);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n\n/***/ 817:\n/***/ (function(module) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n\n/***/ 279:\n/***/ (function(module) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\nmodule.exports.TinyEmitter = E;\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/compat get default export */\n/******/ \t!function() {\n/******/ \t\t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t\t__webpack_require__.n = function(module) {\n/******/ \t\t\tvar getter = module && module.__esModule ?\n/******/ \t\t\t\tfunction() { return module['default']; } :\n/******/ \t\t\t\tfunction() { return module; };\n/******/ \t\t\t__webpack_require__.d(getter, { a: getter });\n/******/ \t\t\treturn getter;\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(686);\n/******/ })()\n.default;\n});", "/* eslint-disable no-multi-assign */\n\nfunction deepFreeze(obj) {\n if (obj instanceof Map) {\n obj.clear =\n obj.delete =\n obj.set =\n function () {\n throw new Error('map is read-only');\n };\n } else if (obj instanceof Set) {\n obj.add =\n obj.clear =\n obj.delete =\n function () {\n throw new Error('set is read-only');\n };\n }\n\n // Freeze self\n Object.freeze(obj);\n\n Object.getOwnPropertyNames(obj).forEach((name) => {\n const prop = obj[name];\n const type = typeof prop;\n\n // Freeze prop if it is an object or function and also not already frozen\n if ((type === 'object' || type === 'function') && !Object.isFrozen(prop)) {\n deepFreeze(prop);\n }\n });\n\n return obj;\n}\n\n/** @typedef {import('highlight.js').CallbackResponse} CallbackResponse */\n/** @typedef {import('highlight.js').CompiledMode} CompiledMode */\n/** @implements CallbackResponse */\n\nclass Response {\n /**\n * @param {CompiledMode} mode\n */\n constructor(mode) {\n // eslint-disable-next-line no-undefined\n if (mode.data === undefined) mode.data = {};\n\n this.data = mode.data;\n this.isMatchIgnored = false;\n }\n\n ignoreMatch() {\n this.isMatchIgnored = true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {string}\n */\nfunction escapeHTML(value) {\n return value\n .replace(/&/g, '&')\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\n\n/**\n * performs a shallow merge of multiple objects into one\n *\n * @template T\n * @param {T} original\n * @param {Record[]} objects\n * @returns {T} a single new object\n */\nfunction inherit$1(original, ...objects) {\n /** @type Record */\n const result = Object.create(null);\n\n for (const key in original) {\n result[key] = original[key];\n }\n objects.forEach(function(obj) {\n for (const key in obj) {\n result[key] = obj[key];\n }\n });\n return /** @type {T} */ (result);\n}\n\n/**\n * @typedef {object} Renderer\n * @property {(text: string) => void} addText\n * @property {(node: Node) => void} openNode\n * @property {(node: Node) => void} closeNode\n * @property {() => string} value\n */\n\n/** @typedef {{scope?: string, language?: string, sublanguage?: boolean}} Node */\n/** @typedef {{walk: (r: Renderer) => void}} Tree */\n/** */\n\nconst SPAN_CLOSE = '
';\n\n/**\n * Determines if a node needs to be wrapped in \n *\n * @param {Node} node */\nconst emitsWrappingTags = (node) => {\n // rarely we can have a sublanguage where language is undefined\n // TODO: track down why\n return !!node.scope;\n};\n\n/**\n *\n * @param {string} name\n * @param {{prefix:string}} options\n */\nconst scopeToCSSClass = (name, { prefix }) => {\n // sub-language\n if (name.startsWith(\"language:\")) {\n return name.replace(\"language:\", \"language-\");\n }\n // tiered scope: comment.line\n if (name.includes(\".\")) {\n const pieces = name.split(\".\");\n return [\n `${prefix}${pieces.shift()}`,\n ...(pieces.map((x, i) => `${x}${\"_\".repeat(i + 1)}`))\n ].join(\" \");\n }\n // simple scope\n return `${prefix}${name}`;\n};\n\n/** @type {Renderer} */\nclass HTMLRenderer {\n /**\n * Creates a new HTMLRenderer\n *\n * @param {Tree} parseTree - the parse tree (must support `walk` API)\n * @param {{classPrefix: string}} options\n */\n constructor(parseTree, options) {\n this.buffer = \"\";\n this.classPrefix = options.classPrefix;\n parseTree.walk(this);\n }\n\n /**\n * Adds texts to the output stream\n *\n * @param {string} text */\n addText(text) {\n this.buffer += escapeHTML(text);\n }\n\n /**\n * Adds a node open to the output stream (if needed)\n *\n * @param {Node} node */\n openNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n const className = scopeToCSSClass(node.scope,\n { prefix: this.classPrefix });\n this.span(className);\n }\n\n /**\n * Adds a node close to the output stream (if needed)\n *\n * @param {Node} node */\n closeNode(node) {\n if (!emitsWrappingTags(node)) return;\n\n this.buffer += SPAN_CLOSE;\n }\n\n /**\n * returns the accumulated buffer\n */\n value() {\n return this.buffer;\n }\n\n // helpers\n\n /**\n * Builds a span element\n *\n * @param {string} className */\n span(className) {\n this.buffer += ``;\n }\n}\n\n/** @typedef {{scope?: string, language?: string, children: Node[]} | string} Node */\n/** @typedef {{scope?: string, language?: string, children: Node[]} } DataNode */\n/** @typedef {import('highlight.js').Emitter} Emitter */\n/** */\n\n/** @returns {DataNode} */\nconst newNode = (opts = {}) => {\n /** @type DataNode */\n const result = { children: [] };\n Object.assign(result, opts);\n return result;\n};\n\nclass TokenTree {\n constructor() {\n /** @type DataNode */\n this.rootNode = newNode();\n this.stack = [this.rootNode];\n }\n\n get top() {\n return this.stack[this.stack.length - 1];\n }\n\n get root() { return this.rootNode; }\n\n /** @param {Node} node */\n add(node) {\n this.top.children.push(node);\n }\n\n /** @param {string} scope */\n openNode(scope) {\n /** @type Node */\n const node = newNode({ scope });\n this.add(node);\n this.stack.push(node);\n }\n\n closeNode() {\n if (this.stack.length > 1) {\n return this.stack.pop();\n }\n // eslint-disable-next-line no-undefined\n return undefined;\n }\n\n closeAllNodes() {\n while (this.closeNode());\n }\n\n toJSON() {\n return JSON.stringify(this.rootNode, null, 4);\n }\n\n /**\n * @typedef { import(\"./html_renderer\").Renderer } Renderer\n * @param {Renderer} builder\n */\n walk(builder) {\n // this does not\n return this.constructor._walk(builder, this.rootNode);\n // this works\n // return TokenTree._walk(builder, this.rootNode);\n }\n\n /**\n * @param {Renderer} builder\n * @param {Node} node\n */\n static _walk(builder, node) {\n if (typeof node === \"string\") {\n builder.addText(node);\n } else if (node.children) {\n builder.openNode(node);\n node.children.forEach((child) => this._walk(builder, child));\n builder.closeNode(node);\n }\n return builder;\n }\n\n /**\n * @param {Node} node\n */\n static _collapse(node) {\n if (typeof node === \"string\") return;\n if (!node.children) return;\n\n if (node.children.every(el => typeof el === \"string\")) {\n // node.text = node.children.join(\"\");\n // delete node.children;\n node.children = [node.children.join(\"\")];\n } else {\n node.children.forEach((child) => {\n TokenTree._collapse(child);\n });\n }\n }\n}\n\n/**\n Currently this is all private API, but this is the minimal API necessary\n that an Emitter must implement to fully support the parser.\n\n Minimal interface:\n\n - addText(text)\n - __addSublanguage(emitter, subLanguageName)\n - startScope(scope)\n - endScope()\n - finalize()\n - toHTML()\n\n*/\n\n/**\n * @implements {Emitter}\n */\nclass TokenTreeEmitter extends TokenTree {\n /**\n * @param {*} options\n */\n constructor(options) {\n super();\n this.options = options;\n }\n\n /**\n * @param {string} text\n */\n addText(text) {\n if (text === \"\") { return; }\n\n this.add(text);\n }\n\n /** @param {string} scope */\n startScope(scope) {\n this.openNode(scope);\n }\n\n endScope() {\n this.closeNode();\n }\n\n /**\n * @param {Emitter & {root: DataNode}} emitter\n * @param {string} name\n */\n __addSublanguage(emitter, name) {\n /** @type DataNode */\n const node = emitter.root;\n if (name) node.scope = `language:${name}`;\n\n this.add(node);\n }\n\n toHTML() {\n const renderer = new HTMLRenderer(this, this.options);\n return renderer.value();\n }\n\n finalize() {\n this.closeAllNodes();\n return true;\n }\n}\n\n/**\n * @param {string} value\n * @returns {RegExp}\n * */\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction source(re) {\n if (!re) return null;\n if (typeof re === \"string\") return re;\n\n return re.source;\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction lookahead(re) {\n return concat('(?=', re, ')');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction anyNumberOfTimes(re) {\n return concat('(?:', re, ')*');\n}\n\n/**\n * @param {RegExp | string } re\n * @returns {string}\n */\nfunction optional(re) {\n return concat('(?:', re, ')?');\n}\n\n/**\n * @param {...(RegExp | string) } args\n * @returns {string}\n */\nfunction concat(...args) {\n const joined = args.map((x) => source(x)).join(\"\");\n return joined;\n}\n\n/**\n * @param { Array } args\n * @returns {object}\n */\nfunction stripOptionsFromArgs(args) {\n const opts = args[args.length - 1];\n\n if (typeof opts === 'object' && opts.constructor === Object) {\n args.splice(args.length - 1, 1);\n return opts;\n } else {\n return {};\n }\n}\n\n/** @typedef { {capture?: boolean} } RegexEitherOptions */\n\n/**\n * Any of the passed expresssions may match\n *\n * Creates a huge this | this | that | that match\n * @param {(RegExp | string)[] | [...(RegExp | string)[], RegexEitherOptions]} args\n * @returns {string}\n */\nfunction either(...args) {\n /** @type { object & {capture?: boolean} } */\n const opts = stripOptionsFromArgs(args);\n const joined = '('\n + (opts.capture ? \"\" : \"?:\")\n + args.map((x) => source(x)).join(\"|\") + \")\";\n return joined;\n}\n\n/**\n * @param {RegExp | string} re\n * @returns {number}\n */\nfunction countMatchGroups(re) {\n return (new RegExp(re.toString() + '|')).exec('').length - 1;\n}\n\n/**\n * Does lexeme start with a regular expression match at the beginning\n * @param {RegExp} re\n * @param {string} lexeme\n */\nfunction startsWith(re, lexeme) {\n const match = re && re.exec(lexeme);\n return match && match.index === 0;\n}\n\n// BACKREF_RE matches an open parenthesis or backreference. To avoid\n// an incorrect parse, it additionally matches the following:\n// - [...] elements, where the meaning of parentheses and escapes change\n// - other escape sequences, so we do not misparse escape sequences as\n// interesting elements\n// - non-matching or lookahead parentheses, which do not capture. These\n// follow the '(' with a '?'.\nconst BACKREF_RE = /\\[(?:[^\\\\\\]]|\\\\.)*\\]|\\(\\??|\\\\([1-9][0-9]*)|\\\\./;\n\n// **INTERNAL** Not intended for outside usage\n// join logically computes regexps.join(separator), but fixes the\n// backreferences so they continue to match.\n// it also places each individual regular expression into it's own\n// match group, keeping track of the sequencing of those match groups\n// is currently an exercise for the caller. :-)\n/**\n * @param {(string | RegExp)[]} regexps\n * @param {{joinWith: string}} opts\n * @returns {string}\n */\nfunction _rewriteBackreferences(regexps, { joinWith }) {\n let numCaptures = 0;\n\n return regexps.map((regex) => {\n numCaptures += 1;\n const offset = numCaptures;\n let re = source(regex);\n let out = '';\n\n while (re.length > 0) {\n const match = BACKREF_RE.exec(re);\n if (!match) {\n out += re;\n break;\n }\n out += re.substring(0, match.index);\n re = re.substring(match.index + match[0].length);\n if (match[0][0] === '\\\\' && match[1]) {\n // Adjust the backreference.\n out += '\\\\' + String(Number(match[1]) + offset);\n } else {\n out += match[0];\n if (match[0] === '(') {\n numCaptures++;\n }\n }\n }\n return out;\n }).map(re => `(${re})`).join(joinWith);\n}\n\n/** @typedef {import('highlight.js').Mode} Mode */\n/** @typedef {import('highlight.js').ModeCallback} ModeCallback */\n\n// Common regexps\nconst MATCH_NOTHING_RE = /\\b\\B/;\nconst IDENT_RE = '[a-zA-Z]\\\\w*';\nconst UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\\\w*';\nconst NUMBER_RE = '\\\\b\\\\d+(\\\\.\\\\d+)?';\nconst C_NUMBER_RE = '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)([eE][-+]?\\\\d+)?)'; // 0x..., 0..., decimal, float\nconst BINARY_NUMBER_RE = '\\\\b(0b[01]+)'; // 0b...\nconst RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\\\*|\\\\*=|\\\\+|\\\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\\\?|\\\\[|\\\\{|\\\\(|\\\\^|\\\\^=|\\\\||\\\\|=|\\\\|\\\\||~';\n\n/**\n* @param { Partial & {binary?: string | RegExp} } opts\n*/\nconst SHEBANG = (opts = {}) => {\n const beginShebang = /^#![ ]*\\//;\n if (opts.binary) {\n opts.begin = concat(\n beginShebang,\n /.*\\b/,\n opts.binary,\n /\\b.*/);\n }\n return inherit$1({\n scope: 'meta',\n begin: beginShebang,\n end: /$/,\n relevance: 0,\n /** @type {ModeCallback} */\n \"on:begin\": (m, resp) => {\n if (m.index !== 0) resp.ignoreMatch();\n }\n }, opts);\n};\n\n// Common modes\nconst BACKSLASH_ESCAPE = {\n begin: '\\\\\\\\[\\\\s\\\\S]', relevance: 0\n};\nconst APOS_STRING_MODE = {\n scope: 'string',\n begin: '\\'',\n end: '\\'',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst QUOTE_STRING_MODE = {\n scope: 'string',\n begin: '\"',\n end: '\"',\n illegal: '\\\\n',\n contains: [BACKSLASH_ESCAPE]\n};\nconst PHRASAL_WORDS_MODE = {\n 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/\n};\n/**\n * Creates a comment mode\n *\n * @param {string | RegExp} begin\n * @param {string | RegExp} end\n * @param {Mode | {}} [modeOptions]\n * @returns {Partial}\n */\nconst COMMENT = function(begin, end, modeOptions = {}) {\n const mode = inherit$1(\n {\n scope: 'comment',\n begin,\n end,\n contains: []\n },\n modeOptions\n );\n mode.contains.push({\n scope: 'doctag',\n // hack to avoid the space from being included. the space is necessary to\n // match here to prevent the plain text rule below from gobbling up doctags\n begin: '[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)',\n end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,\n excludeBegin: true,\n relevance: 0\n });\n const ENGLISH_WORD = either(\n // list of common 1 and 2 letter words in English\n \"I\",\n \"a\",\n \"is\",\n \"so\",\n \"us\",\n \"to\",\n \"at\",\n \"if\",\n \"in\",\n \"it\",\n \"on\",\n // note: this is not an exhaustive list of contractions, just popular ones\n /[A-Za-z]+['](d|ve|re|ll|t|s|n)/, // contractions - can't we'd they're let's, etc\n /[A-Za-z]+[-][a-z]+/, // `no-way`, etc.\n /[A-Za-z][a-z]{2,}/ // allow capitalized words at beginning of sentences\n );\n // looking like plain text, more likely to be a comment\n mode.contains.push(\n {\n // TODO: how to include \", (, ) without breaking grammars that use these for\n // comment delimiters?\n // begin: /[ ]+([()\"]?([A-Za-z'-]{3,}|is|a|I|so|us|[tT][oO]|at|if|in|it|on)[.]?[()\":]?([.][ ]|[ ]|\\))){3}/\n // ---\n\n // this tries to find sequences of 3 english words in a row (without any\n // \"programming\" type syntax) this gives us a strong signal that we've\n // TRULY found a comment - vs perhaps scanning with the wrong language.\n // It's possible to find something that LOOKS like the start of the\n // comment - but then if there is no readable text - good chance it is a\n // false match and not a comment.\n //\n // for a visual example please see:\n // https://github.com/highlightjs/highlight.js/issues/2827\n\n begin: concat(\n /[ ]+/, // necessary to prevent us gobbling up doctags like /* @author Bob Mcgill */\n '(',\n ENGLISH_WORD,\n /[.]?[:]?([.][ ]|[ ])/,\n '){3}') // look for 3 words in a row\n }\n );\n return mode;\n};\nconst C_LINE_COMMENT_MODE = COMMENT('//', '$');\nconst C_BLOCK_COMMENT_MODE = COMMENT('/\\\\*', '\\\\*/');\nconst HASH_COMMENT_MODE = COMMENT('#', '$');\nconst NUMBER_MODE = {\n scope: 'number',\n begin: NUMBER_RE,\n relevance: 0\n};\nconst C_NUMBER_MODE = {\n scope: 'number',\n begin: C_NUMBER_RE,\n relevance: 0\n};\nconst BINARY_NUMBER_MODE = {\n scope: 'number',\n begin: BINARY_NUMBER_RE,\n relevance: 0\n};\nconst REGEXP_MODE = {\n scope: \"regexp\",\n begin: /\\/(?=[^/\\n]*\\/)/,\n end: /\\/[gimuy]*/,\n contains: [\n BACKSLASH_ESCAPE,\n {\n begin: /\\[/,\n end: /\\]/,\n relevance: 0,\n contains: [BACKSLASH_ESCAPE]\n }\n ]\n};\nconst TITLE_MODE = {\n scope: 'title',\n begin: IDENT_RE,\n relevance: 0\n};\nconst UNDERSCORE_TITLE_MODE = {\n scope: 'title',\n begin: UNDERSCORE_IDENT_RE,\n relevance: 0\n};\nconst METHOD_GUARD = {\n // excludes method names from keyword processing\n begin: '\\\\.\\\\s*' + UNDERSCORE_IDENT_RE,\n relevance: 0\n};\n\n/**\n * Adds end same as begin mechanics to a mode\n *\n * Your mode must include at least a single () match group as that first match\n * group is what is used for comparison\n * @param {Partial} mode\n */\nconst END_SAME_AS_BEGIN = function(mode) {\n return Object.assign(mode,\n {\n /** @type {ModeCallback} */\n 'on:begin': (m, resp) => { resp.data._beginMatch = m[1]; },\n /** @type {ModeCallback} */\n 'on:end': (m, resp) => { if (resp.data._beginMatch !== m[1]) resp.ignoreMatch(); }\n });\n};\n\nvar MODES = /*#__PURE__*/Object.freeze({\n __proto__: null,\n APOS_STRING_MODE: APOS_STRING_MODE,\n BACKSLASH_ESCAPE: BACKSLASH_ESCAPE,\n BINARY_NUMBER_MODE: BINARY_NUMBER_MODE,\n BINARY_NUMBER_RE: BINARY_NUMBER_RE,\n COMMENT: COMMENT,\n C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE,\n C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE,\n C_NUMBER_MODE: C_NUMBER_MODE,\n C_NUMBER_RE: C_NUMBER_RE,\n END_SAME_AS_BEGIN: END_SAME_AS_BEGIN,\n HASH_COMMENT_MODE: HASH_COMMENT_MODE,\n IDENT_RE: IDENT_RE,\n MATCH_NOTHING_RE: MATCH_NOTHING_RE,\n METHOD_GUARD: METHOD_GUARD,\n NUMBER_MODE: NUMBER_MODE,\n NUMBER_RE: NUMBER_RE,\n PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE,\n QUOTE_STRING_MODE: QUOTE_STRING_MODE,\n REGEXP_MODE: REGEXP_MODE,\n RE_STARTERS_RE: RE_STARTERS_RE,\n SHEBANG: SHEBANG,\n TITLE_MODE: TITLE_MODE,\n UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE,\n UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE\n});\n\n/**\n@typedef {import('highlight.js').CallbackResponse} CallbackResponse\n@typedef {import('highlight.js').CompilerExt} CompilerExt\n*/\n\n// Grammar extensions / plugins\n// See: https://github.com/highlightjs/highlight.js/issues/2833\n\n// Grammar extensions allow \"syntactic sugar\" to be added to the grammar modes\n// without requiring any underlying changes to the compiler internals.\n\n// `compileMatch` being the perfect small example of now allowing a grammar\n// author to write `match` when they desire to match a single expression rather\n// than being forced to use `begin`. The extension then just moves `match` into\n// `begin` when it runs. Ie, no features have been added, but we've just made\n// the experience of writing (and reading grammars) a little bit nicer.\n\n// ------\n\n// TODO: We need negative look-behind support to do this properly\n/**\n * Skip a match if it has a preceding dot\n *\n * This is used for `beginKeywords` to prevent matching expressions such as\n * `bob.keyword.do()`. The mode compiler automatically wires this up as a\n * special _internal_ 'on:begin' callback for modes with `beginKeywords`\n * @param {RegExpMatchArray} match\n * @param {CallbackResponse} response\n */\nfunction skipIfHasPrecedingDot(match, response) {\n const before = match.input[match.index - 1];\n if (before === \".\") {\n response.ignoreMatch();\n }\n}\n\n/**\n *\n * @type {CompilerExt}\n */\nfunction scopeClassName(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.className !== undefined) {\n mode.scope = mode.className;\n delete mode.className;\n }\n}\n\n/**\n * `beginKeywords` syntactic sugar\n * @type {CompilerExt}\n */\nfunction beginKeywords(mode, parent) {\n if (!parent) return;\n if (!mode.beginKeywords) return;\n\n // for languages with keywords that include non-word characters checking for\n // a word boundary is not sufficient, so instead we check for a word boundary\n // or whitespace - this does no harm in any case since our keyword engine\n // doesn't allow spaces in keywords anyways and we still check for the boundary\n // first\n mode.begin = '\\\\b(' + mode.beginKeywords.split(' ').join('|') + ')(?!\\\\.)(?=\\\\b|\\\\s)';\n mode.__beforeBegin = skipIfHasPrecedingDot;\n mode.keywords = mode.keywords || mode.beginKeywords;\n delete mode.beginKeywords;\n\n // prevents double relevance, the keywords themselves provide\n // relevance, the mode doesn't need to double it\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 0;\n}\n\n/**\n * Allow `illegal` to contain an array of illegal values\n * @type {CompilerExt}\n */\nfunction compileIllegal(mode, _parent) {\n if (!Array.isArray(mode.illegal)) return;\n\n mode.illegal = either(...mode.illegal);\n}\n\n/**\n * `match` to match a single expression for readability\n * @type {CompilerExt}\n */\nfunction compileMatch(mode, _parent) {\n if (!mode.match) return;\n if (mode.begin || mode.end) throw new Error(\"begin & end are not supported with match\");\n\n mode.begin = mode.match;\n delete mode.match;\n}\n\n/**\n * provides the default 1 relevance to all modes\n * @type {CompilerExt}\n */\nfunction compileRelevance(mode, _parent) {\n // eslint-disable-next-line no-undefined\n if (mode.relevance === undefined) mode.relevance = 1;\n}\n\n// allow beforeMatch to act as a \"qualifier\" for the match\n// the full match begin must be [beforeMatch][begin]\nconst beforeMatchExt = (mode, parent) => {\n if (!mode.beforeMatch) return;\n // starts conflicts with endsParent which we need to make sure the child\n // rule is not matched multiple times\n if (mode.starts) throw new Error(\"beforeMatch cannot be used with starts\");\n\n const originalMode = Object.assign({}, mode);\n Object.keys(mode).forEach((key) => { delete mode[key]; });\n\n mode.keywords = originalMode.keywords;\n mode.begin = concat(originalMode.beforeMatch, lookahead(originalMode.begin));\n mode.starts = {\n relevance: 0,\n contains: [\n Object.assign(originalMode, { endsParent: true })\n ]\n };\n mode.relevance = 0;\n\n delete originalMode.beforeMatch;\n};\n\n// keywords that should have no default relevance value\nconst COMMON_KEYWORDS = [\n 'of',\n 'and',\n 'for',\n 'in',\n 'not',\n 'or',\n 'if',\n 'then',\n 'parent', // common variable name\n 'list', // common variable name\n 'value' // common variable name\n];\n\nconst DEFAULT_KEYWORD_SCOPE = \"keyword\";\n\n/**\n * Given raw keywords from a language definition, compile them.\n *\n * @param {string | Record | Array} rawKeywords\n * @param {boolean} caseInsensitive\n */\nfunction compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE) {\n /** @type {import(\"highlight.js/private\").KeywordDict} */\n const compiledKeywords = Object.create(null);\n\n // input can be a string of keywords, an array of keywords, or a object with\n // named keys representing scopeName (which can then point to a string or array)\n if (typeof rawKeywords === 'string') {\n compileList(scopeName, rawKeywords.split(\" \"));\n } else if (Array.isArray(rawKeywords)) {\n compileList(scopeName, rawKeywords);\n } else {\n Object.keys(rawKeywords).forEach(function(scopeName) {\n // collapse all our objects back into the parent object\n Object.assign(\n compiledKeywords,\n compileKeywords(rawKeywords[scopeName], caseInsensitive, scopeName)\n );\n });\n }\n return compiledKeywords;\n\n // ---\n\n /**\n * Compiles an individual list of keywords\n *\n * Ex: \"for if when while|5\"\n *\n * @param {string} scopeName\n * @param {Array} keywordList\n */\n function compileList(scopeName, keywordList) {\n if (caseInsensitive) {\n keywordList = keywordList.map(x => x.toLowerCase());\n }\n keywordList.forEach(function(keyword) {\n const pair = keyword.split('|');\n compiledKeywords[pair[0]] = [scopeName, scoreForKeyword(pair[0], pair[1])];\n });\n }\n}\n\n/**\n * Returns the proper score for a given keyword\n *\n * Also takes into account comment keywords, which will be scored 0 UNLESS\n * another score has been manually assigned.\n * @param {string} keyword\n * @param {string} [providedScore]\n */\nfunction scoreForKeyword(keyword, providedScore) {\n // manual scores always win over common keywords\n // so you can force a score of 1 if you really insist\n if (providedScore) {\n return Number(providedScore);\n }\n\n return commonKeyword(keyword) ? 0 : 1;\n}\n\n/**\n * Determines if a given keyword is common or not\n *\n * @param {string} keyword */\nfunction commonKeyword(keyword) {\n return COMMON_KEYWORDS.includes(keyword.toLowerCase());\n}\n\n/*\n\nFor the reasoning behind this please see:\nhttps://github.com/highlightjs/highlight.js/issues/2880#issuecomment-747275419\n\n*/\n\n/**\n * @type {Record}\n */\nconst seenDeprecations = {};\n\n/**\n * @param {string} message\n */\nconst error = (message) => {\n console.error(message);\n};\n\n/**\n * @param {string} message\n * @param {any} args\n */\nconst warn = (message, ...args) => {\n console.log(`WARN: ${message}`, ...args);\n};\n\n/**\n * @param {string} version\n * @param {string} message\n */\nconst deprecated = (version, message) => {\n if (seenDeprecations[`${version}/${message}`]) return;\n\n console.log(`Deprecated as of ${version}. ${message}`);\n seenDeprecations[`${version}/${message}`] = true;\n};\n\n/* eslint-disable no-throw-literal */\n\n/**\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n*/\n\nconst MultiClassError = new Error();\n\n/**\n * Renumbers labeled scope names to account for additional inner match\n * groups that otherwise would break everything.\n *\n * Lets say we 3 match scopes:\n *\n * { 1 => ..., 2 => ..., 3 => ... }\n *\n * So what we need is a clean match like this:\n *\n * (a)(b)(c) => [ \"a\", \"b\", \"c\" ]\n *\n * But this falls apart with inner match groups:\n *\n * (a)(((b)))(c) => [\"a\", \"b\", \"b\", \"b\", \"c\" ]\n *\n * Our scopes are now \"out of alignment\" and we're repeating `b` 3 times.\n * What needs to happen is the numbers are remapped:\n *\n * { 1 => ..., 2 => ..., 5 => ... }\n *\n * We also need to know that the ONLY groups that should be output\n * are 1, 2, and 5. This function handles this behavior.\n *\n * @param {CompiledMode} mode\n * @param {Array} regexes\n * @param {{key: \"beginScope\"|\"endScope\"}} opts\n */\nfunction remapScopeNames(mode, regexes, { key }) {\n let offset = 0;\n const scopeNames = mode[key];\n /** @type Record */\n const emit = {};\n /** @type Record */\n const positions = {};\n\n for (let i = 1; i <= regexes.length; i++) {\n positions[i + offset] = scopeNames[i];\n emit[i + offset] = true;\n offset += countMatchGroups(regexes[i - 1]);\n }\n // we use _emit to keep track of which match groups are \"top-level\" to avoid double\n // output from inside match groups\n mode[key] = positions;\n mode[key]._emit = emit;\n mode[key]._multi = true;\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction beginMultiClass(mode) {\n if (!Array.isArray(mode.begin)) return;\n\n if (mode.skip || mode.excludeBegin || mode.returnBegin) {\n error(\"skip, excludeBegin, returnBegin not compatible with beginScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.beginScope !== \"object\" || mode.beginScope === null) {\n error(\"beginScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.begin, { key: \"beginScope\" });\n mode.begin = _rewriteBackreferences(mode.begin, { joinWith: \"\" });\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction endMultiClass(mode) {\n if (!Array.isArray(mode.end)) return;\n\n if (mode.skip || mode.excludeEnd || mode.returnEnd) {\n error(\"skip, excludeEnd, returnEnd not compatible with endScope: {}\");\n throw MultiClassError;\n }\n\n if (typeof mode.endScope !== \"object\" || mode.endScope === null) {\n error(\"endScope must be object\");\n throw MultiClassError;\n }\n\n remapScopeNames(mode, mode.end, { key: \"endScope\" });\n mode.end = _rewriteBackreferences(mode.end, { joinWith: \"\" });\n}\n\n/**\n * this exists only to allow `scope: {}` to be used beside `match:`\n * Otherwise `beginScope` would necessary and that would look weird\n\n {\n match: [ /def/, /\\w+/ ]\n scope: { 1: \"keyword\" , 2: \"title\" }\n }\n\n * @param {CompiledMode} mode\n */\nfunction scopeSugar(mode) {\n if (mode.scope && typeof mode.scope === \"object\" && mode.scope !== null) {\n mode.beginScope = mode.scope;\n delete mode.scope;\n }\n}\n\n/**\n * @param {CompiledMode} mode\n */\nfunction MultiClass(mode) {\n scopeSugar(mode);\n\n if (typeof mode.beginScope === \"string\") {\n mode.beginScope = { _wrap: mode.beginScope };\n }\n if (typeof mode.endScope === \"string\") {\n mode.endScope = { _wrap: mode.endScope };\n }\n\n beginMultiClass(mode);\n endMultiClass(mode);\n}\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').CompiledLanguage} CompiledLanguage\n*/\n\n// compilation\n\n/**\n * Compiles a language definition result\n *\n * Given the raw result of a language definition (Language), compiles this so\n * that it is ready for highlighting code.\n * @param {Language} language\n * @returns {CompiledLanguage}\n */\nfunction compileLanguage(language) {\n /**\n * Builds a regex with the case sensitivity of the current language\n *\n * @param {RegExp | string} value\n * @param {boolean} [global]\n */\n function langRe(value, global) {\n return new RegExp(\n source(value),\n 'm'\n + (language.case_insensitive ? 'i' : '')\n + (language.unicodeRegex ? 'u' : '')\n + (global ? 'g' : '')\n );\n }\n\n /**\n Stores multiple regular expressions and allows you to quickly search for\n them all in a string simultaneously - returning the first match. It does\n this by creating a huge (a|b|c) regex - each individual item wrapped with ()\n and joined by `|` - using match groups to track position. When a match is\n found checking which position in the array has content allows us to figure\n out which of the original regexes / match groups triggered the match.\n\n The match object itself (the result of `Regex.exec`) is returned but also\n enhanced by merging in any meta-data that was registered with the regex.\n This is how we keep track of which mode matched, and what type of rule\n (`illegal`, `begin`, end, etc).\n */\n class MultiRegex {\n constructor() {\n this.matchIndexes = {};\n // @ts-ignore\n this.regexes = [];\n this.matchAt = 1;\n this.position = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n opts.position = this.position++;\n // @ts-ignore\n this.matchIndexes[this.matchAt] = opts;\n this.regexes.push([opts, re]);\n this.matchAt += countMatchGroups(re) + 1;\n }\n\n compile() {\n if (this.regexes.length === 0) {\n // avoids the need to check length every time exec is called\n // @ts-ignore\n this.exec = () => null;\n }\n const terminators = this.regexes.map(el => el[1]);\n this.matcherRe = langRe(_rewriteBackreferences(terminators, { joinWith: '|' }), true);\n this.lastIndex = 0;\n }\n\n /** @param {string} s */\n exec(s) {\n this.matcherRe.lastIndex = this.lastIndex;\n const match = this.matcherRe.exec(s);\n if (!match) { return null; }\n\n // eslint-disable-next-line no-undefined\n const i = match.findIndex((el, i) => i > 0 && el !== undefined);\n // @ts-ignore\n const matchData = this.matchIndexes[i];\n // trim off any earlier non-relevant match groups (ie, the other regex\n // match groups that make up the multi-matcher)\n match.splice(0, i);\n\n return Object.assign(match, matchData);\n }\n }\n\n /*\n Created to solve the key deficiently with MultiRegex - there is no way to\n test for multiple matches at a single location. Why would we need to do\n that? In the future a more dynamic engine will allow certain matches to be\n ignored. An example: if we matched say the 3rd regex in a large group but\n decided to ignore it - we'd need to started testing again at the 4th\n regex... but MultiRegex itself gives us no real way to do that.\n\n So what this class creates MultiRegexs on the fly for whatever search\n position they are needed.\n\n NOTE: These additional MultiRegex objects are created dynamically. For most\n grammars most of the time we will never actually need anything more than the\n first MultiRegex - so this shouldn't have too much overhead.\n\n Say this is our search group, and we match regex3, but wish to ignore it.\n\n regex1 | regex2 | regex3 | regex4 | regex5 ' ie, startAt = 0\n\n What we need is a new MultiRegex that only includes the remaining\n possibilities:\n\n regex4 | regex5 ' ie, startAt = 3\n\n This class wraps all that complexity up in a simple API... `startAt` decides\n where in the array of expressions to start doing the matching. It\n auto-increments, so if a match is found at position 2, then startAt will be\n set to 3. If the end is reached startAt will return to 0.\n\n MOST of the time the parser will be setting startAt manually to 0.\n */\n class ResumableMultiRegex {\n constructor() {\n // @ts-ignore\n this.rules = [];\n // @ts-ignore\n this.multiRegexes = [];\n this.count = 0;\n\n this.lastIndex = 0;\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n getMatcher(index) {\n if (this.multiRegexes[index]) return this.multiRegexes[index];\n\n const matcher = new MultiRegex();\n this.rules.slice(index).forEach(([re, opts]) => matcher.addRule(re, opts));\n matcher.compile();\n this.multiRegexes[index] = matcher;\n return matcher;\n }\n\n resumingScanAtSamePosition() {\n return this.regexIndex !== 0;\n }\n\n considerAll() {\n this.regexIndex = 0;\n }\n\n // @ts-ignore\n addRule(re, opts) {\n this.rules.push([re, opts]);\n if (opts.type === \"begin\") this.count++;\n }\n\n /** @param {string} s */\n exec(s) {\n const m = this.getMatcher(this.regexIndex);\n m.lastIndex = this.lastIndex;\n let result = m.exec(s);\n\n // The following is because we have no easy way to say \"resume scanning at the\n // existing position but also skip the current rule ONLY\". What happens is\n // all prior rules are also skipped which can result in matching the wrong\n // thing. Example of matching \"booger\":\n\n // our matcher is [string, \"booger\", number]\n //\n // ....booger....\n\n // if \"booger\" is ignored then we'd really need a regex to scan from the\n // SAME position for only: [string, number] but ignoring \"booger\" (if it\n // was the first match), a simple resume would scan ahead who knows how\n // far looking only for \"number\", ignoring potential string matches (or\n // future \"booger\" matches that might be valid.)\n\n // So what we do: We execute two matchers, one resuming at the same\n // position, but the second full matcher starting at the position after:\n\n // /--- resume first regex match here (for [number])\n // |/---- full match here for [string, \"booger\", number]\n // vv\n // ....booger....\n\n // Which ever results in a match first is then used. So this 3-4 step\n // process essentially allows us to say \"match at this position, excluding\n // a prior rule that was ignored\".\n //\n // 1. Match \"booger\" first, ignore. Also proves that [string] does non match.\n // 2. Resume matching for [number]\n // 3. Match at index + 1 for [string, \"booger\", number]\n // 4. If #2 and #3 result in matches, which came first?\n if (this.resumingScanAtSamePosition()) {\n if (result && result.index === this.lastIndex) ; else { // use the second matcher result\n const m2 = this.getMatcher(0);\n m2.lastIndex = this.lastIndex + 1;\n result = m2.exec(s);\n }\n }\n\n if (result) {\n this.regexIndex += result.position + 1;\n if (this.regexIndex === this.count) {\n // wrap-around to considering all matches again\n this.considerAll();\n }\n }\n\n return result;\n }\n }\n\n /**\n * Given a mode, builds a huge ResumableMultiRegex that can be used to walk\n * the content and find matches.\n *\n * @param {CompiledMode} mode\n * @returns {ResumableMultiRegex}\n */\n function buildModeRegex(mode) {\n const mm = new ResumableMultiRegex();\n\n mode.contains.forEach(term => mm.addRule(term.begin, { rule: term, type: \"begin\" }));\n\n if (mode.terminatorEnd) {\n mm.addRule(mode.terminatorEnd, { type: \"end\" });\n }\n if (mode.illegal) {\n mm.addRule(mode.illegal, { type: \"illegal\" });\n }\n\n return mm;\n }\n\n /** skip vs abort vs ignore\n *\n * @skip - The mode is still entered and exited normally (and contains rules apply),\n * but all content is held and added to the parent buffer rather than being\n * output when the mode ends. Mostly used with `sublanguage` to build up\n * a single large buffer than can be parsed by sublanguage.\n *\n * - The mode begin ands ends normally.\n * - Content matched is added to the parent mode buffer.\n * - The parser cursor is moved forward normally.\n *\n * @abort - A hack placeholder until we have ignore. Aborts the mode (as if it\n * never matched) but DOES NOT continue to match subsequent `contains`\n * modes. Abort is bad/suboptimal because it can result in modes\n * farther down not getting applied because an earlier rule eats the\n * content but then aborts.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is added to the mode buffer.\n * - The parser cursor is moved forward accordingly.\n *\n * @ignore - Ignores the mode (as if it never matched) and continues to match any\n * subsequent `contains` modes. Ignore isn't technically possible with\n * the current parser implementation.\n *\n * - The mode does not begin.\n * - Content matched by `begin` is ignored.\n * - The parser cursor is not moved forward.\n */\n\n /**\n * Compiles an individual mode\n *\n * This can raise an error if the mode contains certain detectable known logic\n * issues.\n * @param {Mode} mode\n * @param {CompiledMode | null} [parent]\n * @returns {CompiledMode | never}\n */\n function compileMode(mode, parent) {\n const cmode = /** @type CompiledMode */ (mode);\n if (mode.isCompiled) return cmode;\n\n [\n scopeClassName,\n // do this early so compiler extensions generally don't have to worry about\n // the distinction between match/begin\n compileMatch,\n MultiClass,\n beforeMatchExt\n ].forEach(ext => ext(mode, parent));\n\n language.compilerExtensions.forEach(ext => ext(mode, parent));\n\n // __beforeBegin is considered private API, internal use only\n mode.__beforeBegin = null;\n\n [\n beginKeywords,\n // do this later so compiler extensions that come earlier have access to the\n // raw array if they wanted to perhaps manipulate it, etc.\n compileIllegal,\n // default to 1 relevance if not specified\n compileRelevance\n ].forEach(ext => ext(mode, parent));\n\n mode.isCompiled = true;\n\n let keywordPattern = null;\n if (typeof mode.keywords === \"object\" && mode.keywords.$pattern) {\n // we need a copy because keywords might be compiled multiple times\n // so we can't go deleting $pattern from the original on the first\n // pass\n mode.keywords = Object.assign({}, mode.keywords);\n keywordPattern = mode.keywords.$pattern;\n delete mode.keywords.$pattern;\n }\n keywordPattern = keywordPattern || /\\w+/;\n\n if (mode.keywords) {\n mode.keywords = compileKeywords(mode.keywords, language.case_insensitive);\n }\n\n cmode.keywordPatternRe = langRe(keywordPattern, true);\n\n if (parent) {\n if (!mode.begin) mode.begin = /\\B|\\b/;\n cmode.beginRe = langRe(cmode.begin);\n if (!mode.end && !mode.endsWithParent) mode.end = /\\B|\\b/;\n if (mode.end) cmode.endRe = langRe(cmode.end);\n cmode.terminatorEnd = source(cmode.end) || '';\n if (mode.endsWithParent && parent.terminatorEnd) {\n cmode.terminatorEnd += (mode.end ? '|' : '') + parent.terminatorEnd;\n }\n }\n if (mode.illegal) cmode.illegalRe = langRe(/** @type {RegExp | string} */ (mode.illegal));\n if (!mode.contains) mode.contains = [];\n\n mode.contains = [].concat(...mode.contains.map(function(c) {\n return expandOrCloneMode(c === 'self' ? mode : c);\n }));\n mode.contains.forEach(function(c) { compileMode(/** @type Mode */ (c), cmode); });\n\n if (mode.starts) {\n compileMode(mode.starts, parent);\n }\n\n cmode.matcher = buildModeRegex(cmode);\n return cmode;\n }\n\n if (!language.compilerExtensions) language.compilerExtensions = [];\n\n // self is not valid at the top-level\n if (language.contains && language.contains.includes('self')) {\n throw new Error(\"ERR: contains `self` is not supported at the top-level of a language. See documentation.\");\n }\n\n // we need a null object, which inherit will guarantee\n language.classNameAliases = inherit$1(language.classNameAliases || {});\n\n return compileMode(/** @type Mode */ (language));\n}\n\n/**\n * Determines if a mode has a dependency on it's parent or not\n *\n * If a mode does have a parent dependency then often we need to clone it if\n * it's used in multiple places so that each copy points to the correct parent,\n * where-as modes without a parent can often safely be re-used at the bottom of\n * a mode chain.\n *\n * @param {Mode | null} mode\n * @returns {boolean} - is there a dependency on the parent?\n * */\nfunction dependencyOnParent(mode) {\n if (!mode) return false;\n\n return mode.endsWithParent || dependencyOnParent(mode.starts);\n}\n\n/**\n * Expands a mode or clones it if necessary\n *\n * This is necessary for modes with parental dependenceis (see notes on\n * `dependencyOnParent`) and for nodes that have `variants` - which must then be\n * exploded into their own individual modes at compile time.\n *\n * @param {Mode} mode\n * @returns {Mode | Mode[]}\n * */\nfunction expandOrCloneMode(mode) {\n if (mode.variants && !mode.cachedVariants) {\n mode.cachedVariants = mode.variants.map(function(variant) {\n return inherit$1(mode, { variants: null }, variant);\n });\n }\n\n // EXPAND\n // if we have variants then essentially \"replace\" the mode with the variants\n // this happens in compileMode, where this function is called from\n if (mode.cachedVariants) {\n return mode.cachedVariants;\n }\n\n // CLONE\n // if we have dependencies on parents then we need a unique\n // instance of ourselves, so we can be reused with many\n // different parents without issue\n if (dependencyOnParent(mode)) {\n return inherit$1(mode, { starts: mode.starts ? inherit$1(mode.starts) : null });\n }\n\n if (Object.isFrozen(mode)) {\n return inherit$1(mode);\n }\n\n // no special dependency issues, just return ourselves\n return mode;\n}\n\nvar version = \"11.11.1\";\n\nclass HTMLInjectionError extends Error {\n constructor(reason, html) {\n super(reason);\n this.name = \"HTMLInjectionError\";\n this.html = html;\n }\n}\n\n/*\nSyntax highlighting with language autodetection.\nhttps://highlightjs.org/\n*/\n\n\n\n/**\n@typedef {import('highlight.js').Mode} Mode\n@typedef {import('highlight.js').CompiledMode} CompiledMode\n@typedef {import('highlight.js').CompiledScope} CompiledScope\n@typedef {import('highlight.js').Language} Language\n@typedef {import('highlight.js').HLJSApi} HLJSApi\n@typedef {import('highlight.js').HLJSPlugin} HLJSPlugin\n@typedef {import('highlight.js').PluginEvent} PluginEvent\n@typedef {import('highlight.js').HLJSOptions} HLJSOptions\n@typedef {import('highlight.js').LanguageFn} LanguageFn\n@typedef {import('highlight.js').HighlightedHTMLElement} HighlightedHTMLElement\n@typedef {import('highlight.js').BeforeHighlightContext} BeforeHighlightContext\n@typedef {import('highlight.js/private').MatchType} MatchType\n@typedef {import('highlight.js/private').KeywordData} KeywordData\n@typedef {import('highlight.js/private').EnhancedMatch} EnhancedMatch\n@typedef {import('highlight.js/private').AnnotatedError} AnnotatedError\n@typedef {import('highlight.js').AutoHighlightResult} AutoHighlightResult\n@typedef {import('highlight.js').HighlightOptions} HighlightOptions\n@typedef {import('highlight.js').HighlightResult} HighlightResult\n*/\n\n\nconst escape = escapeHTML;\nconst inherit = inherit$1;\nconst NO_MATCH = Symbol(\"nomatch\");\nconst MAX_KEYWORD_HITS = 7;\n\n/**\n * @param {any} hljs - object that is extended (legacy)\n * @returns {HLJSApi}\n */\nconst HLJS = function(hljs) {\n // Global internal variables used within the highlight.js library.\n /** @type {Record} */\n const languages = Object.create(null);\n /** @type {Record} */\n const aliases = Object.create(null);\n /** @type {HLJSPlugin[]} */\n const plugins = [];\n\n // safe/production mode - swallows more errors, tries to keep running\n // even if a single syntax or parse hits a fatal error\n let SAFE_MODE = true;\n const LANGUAGE_NOT_FOUND = \"Could not find the language '{}', did you forget to load/include a language module?\";\n /** @type {Language} */\n const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: 'Plain text', contains: [] };\n\n // Global options used when within external APIs. This is modified when\n // calling the `hljs.configure` function.\n /** @type HLJSOptions */\n let options = {\n ignoreUnescapedHTML: false,\n throwUnescapedHTML: false,\n noHighlightRe: /^(no-?highlight)$/i,\n languageDetectRe: /\\blang(?:uage)?-([\\w-]+)\\b/i,\n classPrefix: 'hljs-',\n cssSelector: 'pre code',\n languages: null,\n // beta configuration options, subject to change, welcome to discuss\n // https://github.com/highlightjs/highlight.js/issues/1086\n __emitter: TokenTreeEmitter\n };\n\n /* Utility functions */\n\n /**\n * Tests a language name to see if highlighting should be skipped\n * @param {string} languageName\n */\n function shouldNotHighlight(languageName) {\n return options.noHighlightRe.test(languageName);\n }\n\n /**\n * @param {HighlightedHTMLElement} block - the HTML element to determine language for\n */\n function blockLanguage(block) {\n let classes = block.className + ' ';\n\n classes += block.parentNode ? block.parentNode.className : '';\n\n // language-* takes precedence over non-prefixed class names.\n const match = options.languageDetectRe.exec(classes);\n if (match) {\n const language = getLanguage(match[1]);\n if (!language) {\n warn(LANGUAGE_NOT_FOUND.replace(\"{}\", match[1]));\n warn(\"Falling back to no-highlight mode for this block.\", block);\n }\n return language ? match[1] : 'no-highlight';\n }\n\n return classes\n .split(/\\s+/)\n .find((_class) => shouldNotHighlight(_class) || getLanguage(_class));\n }\n\n /**\n * Core highlighting function.\n *\n * OLD API\n * highlight(lang, code, ignoreIllegals, continuation)\n *\n * NEW API\n * highlight(code, {lang, ignoreIllegals})\n *\n * @param {string} codeOrLanguageName - the language to use for highlighting\n * @param {string | HighlightOptions} optionsOrCode - the code to highlight\n * @param {boolean} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n *\n * @returns {HighlightResult} Result - an object that represents the result\n * @property {string} language - the language name\n * @property {number} relevance - the relevance score\n * @property {string} value - the highlighted HTML code\n * @property {string} code - the original raw code\n * @property {CompiledMode} top - top of the current mode stack\n * @property {boolean} illegal - indicates whether any illegal matches were found\n */\n function highlight(codeOrLanguageName, optionsOrCode, ignoreIllegals) {\n let code = \"\";\n let languageName = \"\";\n if (typeof optionsOrCode === \"object\") {\n code = codeOrLanguageName;\n ignoreIllegals = optionsOrCode.ignoreIllegals;\n languageName = optionsOrCode.language;\n } else {\n // old API\n deprecated(\"10.7.0\", \"highlight(lang, code, ...args) has been deprecated.\");\n deprecated(\"10.7.0\", \"Please use highlight(code, options) instead.\\nhttps://github.com/highlightjs/highlight.js/issues/2277\");\n languageName = codeOrLanguageName;\n code = optionsOrCode;\n }\n\n // https://github.com/highlightjs/highlight.js/issues/3149\n // eslint-disable-next-line no-undefined\n if (ignoreIllegals === undefined) { ignoreIllegals = true; }\n\n /** @type {BeforeHighlightContext} */\n const context = {\n code,\n language: languageName\n };\n // the plugin can change the desired language or the code to be highlighted\n // just be changing the object it was passed\n fire(\"before:highlight\", context);\n\n // a before plugin can usurp the result completely by providing it's own\n // in which case we don't even need to call highlight\n const result = context.result\n ? context.result\n : _highlight(context.language, context.code, ignoreIllegals);\n\n result.code = context.code;\n // the plugin can change anything in result to suite it\n fire(\"after:highlight\", result);\n\n return result;\n }\n\n /**\n * private highlight that's used internally and does not fire callbacks\n *\n * @param {string} languageName - the language to use for highlighting\n * @param {string} codeToHighlight - the code to highlight\n * @param {boolean?} [ignoreIllegals] - whether to ignore illegal matches, default is to bail\n * @param {CompiledMode?} [continuation] - current continuation mode, if any\n * @returns {HighlightResult} - result of the highlight operation\n */\n function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {\n const keywordHits = Object.create(null);\n\n /**\n * Return keyword data if a match is a keyword\n * @param {CompiledMode} mode - current mode\n * @param {string} matchText - the textual match\n * @returns {KeywordData | false}\n */\n function keywordData(mode, matchText) {\n return mode.keywords[matchText];\n }\n\n function processKeywords() {\n if (!top.keywords) {\n emitter.addText(modeBuffer);\n return;\n }\n\n let lastIndex = 0;\n top.keywordPatternRe.lastIndex = 0;\n let match = top.keywordPatternRe.exec(modeBuffer);\n let buf = \"\";\n\n while (match) {\n buf += modeBuffer.substring(lastIndex, match.index);\n const word = language.case_insensitive ? match[0].toLowerCase() : match[0];\n const data = keywordData(top, word);\n if (data) {\n const [kind, keywordRelevance] = data;\n emitter.addText(buf);\n buf = \"\";\n\n keywordHits[word] = (keywordHits[word] || 0) + 1;\n if (keywordHits[word] <= MAX_KEYWORD_HITS) relevance += keywordRelevance;\n if (kind.startsWith(\"_\")) {\n // _ implied for relevance only, do not highlight\n // by applying a class name\n buf += match[0];\n } else {\n const cssClass = language.classNameAliases[kind] || kind;\n emitKeyword(match[0], cssClass);\n }\n } else {\n buf += match[0];\n }\n lastIndex = top.keywordPatternRe.lastIndex;\n match = top.keywordPatternRe.exec(modeBuffer);\n }\n buf += modeBuffer.substring(lastIndex);\n emitter.addText(buf);\n }\n\n function processSubLanguage() {\n if (modeBuffer === \"\") return;\n /** @type HighlightResult */\n let result = null;\n\n if (typeof top.subLanguage === 'string') {\n if (!languages[top.subLanguage]) {\n emitter.addText(modeBuffer);\n return;\n }\n result = _highlight(top.subLanguage, modeBuffer, true, continuations[top.subLanguage]);\n continuations[top.subLanguage] = /** @type {CompiledMode} */ (result._top);\n } else {\n result = highlightAuto(modeBuffer, top.subLanguage.length ? top.subLanguage : null);\n }\n\n // Counting embedded language score towards the host language may be disabled\n // with zeroing the containing mode relevance. Use case in point is Markdown that\n // allows XML everywhere and makes every XML snippet to have a much larger Markdown\n // score.\n if (top.relevance > 0) {\n relevance += result.relevance;\n }\n emitter.__addSublanguage(result._emitter, result.language);\n }\n\n function processBuffer() {\n if (top.subLanguage != null) {\n processSubLanguage();\n } else {\n processKeywords();\n }\n modeBuffer = '';\n }\n\n /**\n * @param {string} text\n * @param {string} scope\n */\n function emitKeyword(keyword, scope) {\n if (keyword === \"\") return;\n\n emitter.startScope(scope);\n emitter.addText(keyword);\n emitter.endScope();\n }\n\n /**\n * @param {CompiledScope} scope\n * @param {RegExpMatchArray} match\n */\n function emitMultiClass(scope, match) {\n let i = 1;\n const max = match.length - 1;\n while (i <= max) {\n if (!scope._emit[i]) { i++; continue; }\n const klass = language.classNameAliases[scope[i]] || scope[i];\n const text = match[i];\n if (klass) {\n emitKeyword(text, klass);\n } else {\n modeBuffer = text;\n processKeywords();\n modeBuffer = \"\";\n }\n i++;\n }\n }\n\n /**\n * @param {CompiledMode} mode - new mode to start\n * @param {RegExpMatchArray} match\n */\n function startNewMode(mode, match) {\n if (mode.scope && typeof mode.scope === \"string\") {\n emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);\n }\n if (mode.beginScope) {\n // beginScope just wraps the begin match itself in a scope\n if (mode.beginScope._wrap) {\n emitKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);\n modeBuffer = \"\";\n } else if (mode.beginScope._multi) {\n // at this point modeBuffer should just be the match\n emitMultiClass(mode.beginScope, match);\n modeBuffer = \"\";\n }\n }\n\n top = Object.create(mode, { parent: { value: top } });\n return top;\n }\n\n /**\n * @param {CompiledMode } mode - the mode to potentially end\n * @param {RegExpMatchArray} match - the latest match\n * @param {string} matchPlusRemainder - match plus remainder of content\n * @returns {CompiledMode | void} - the next mode, or if void continue on in current mode\n */\n function endOfMode(mode, match, matchPlusRemainder) {\n let matched = startsWith(mode.endRe, matchPlusRemainder);\n\n if (matched) {\n if (mode[\"on:end\"]) {\n const resp = new Response(mode);\n mode[\"on:end\"](match, resp);\n if (resp.isMatchIgnored) matched = false;\n }\n\n if (matched) {\n while (mode.endsParent && mode.parent) {\n mode = mode.parent;\n }\n return mode;\n }\n }\n // even if on:end fires an `ignore` it's still possible\n // that we might trigger the end node because of a parent mode\n if (mode.endsWithParent) {\n return endOfMode(mode.parent, match, matchPlusRemainder);\n }\n }\n\n /**\n * Handle matching but then ignoring a sequence of text\n *\n * @param {string} lexeme - string containing full match text\n */\n function doIgnore(lexeme) {\n if (top.matcher.regexIndex === 0) {\n // no more regexes to potentially match here, so we move the cursor forward one\n // space\n modeBuffer += lexeme[0];\n return 1;\n } else {\n // no need to move the cursor, we still have additional regexes to try and\n // match at this very spot\n resumeScanAtSamePosition = true;\n return 0;\n }\n }\n\n /**\n * Handle the start of a new potential mode match\n *\n * @param {EnhancedMatch} match - the current match\n * @returns {number} how far to advance the parse cursor\n */\n function doBeginMatch(match) {\n const lexeme = match[0];\n const newMode = match.rule;\n\n const resp = new Response(newMode);\n // first internal before callbacks, then the public ones\n const beforeCallbacks = [newMode.__beforeBegin, newMode[\"on:begin\"]];\n for (const cb of beforeCallbacks) {\n if (!cb) continue;\n cb(match, resp);\n if (resp.isMatchIgnored) return doIgnore(lexeme);\n }\n\n if (newMode.skip) {\n modeBuffer += lexeme;\n } else {\n if (newMode.excludeBegin) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (!newMode.returnBegin && !newMode.excludeBegin) {\n modeBuffer = lexeme;\n }\n }\n startNewMode(newMode, match);\n return newMode.returnBegin ? 0 : lexeme.length;\n }\n\n /**\n * Handle the potential end of mode\n *\n * @param {RegExpMatchArray} match - the current match\n */\n function doEndMatch(match) {\n const lexeme = match[0];\n const matchPlusRemainder = codeToHighlight.substring(match.index);\n\n const endMode = endOfMode(top, match, matchPlusRemainder);\n if (!endMode) { return NO_MATCH; }\n\n const origin = top;\n if (top.endScope && top.endScope._wrap) {\n processBuffer();\n emitKeyword(lexeme, top.endScope._wrap);\n } else if (top.endScope && top.endScope._multi) {\n processBuffer();\n emitMultiClass(top.endScope, match);\n } else if (origin.skip) {\n modeBuffer += lexeme;\n } else {\n if (!(origin.returnEnd || origin.excludeEnd)) {\n modeBuffer += lexeme;\n }\n processBuffer();\n if (origin.excludeEnd) {\n modeBuffer = lexeme;\n }\n }\n do {\n if (top.scope) {\n emitter.closeNode();\n }\n if (!top.skip && !top.subLanguage) {\n relevance += top.relevance;\n }\n top = top.parent;\n } while (top !== endMode.parent);\n if (endMode.starts) {\n startNewMode(endMode.starts, match);\n }\n return origin.returnEnd ? 0 : lexeme.length;\n }\n\n function processContinuations() {\n const list = [];\n for (let current = top; current !== language; current = current.parent) {\n if (current.scope) {\n list.unshift(current.scope);\n }\n }\n list.forEach(item => emitter.openNode(item));\n }\n\n /** @type {{type?: MatchType, index?: number, rule?: Mode}}} */\n let lastMatch = {};\n\n /**\n * Process an individual match\n *\n * @param {string} textBeforeMatch - text preceding the match (since the last match)\n * @param {EnhancedMatch} [match] - the match itself\n */\n function processLexeme(textBeforeMatch, match) {\n const lexeme = match && match[0];\n\n // add non-matched text to the current mode buffer\n modeBuffer += textBeforeMatch;\n\n if (lexeme == null) {\n processBuffer();\n return 0;\n }\n\n // we've found a 0 width match and we're stuck, so we need to advance\n // this happens when we have badly behaved rules that have optional matchers to the degree that\n // sometimes they can end up matching nothing at all\n // Ref: https://github.com/highlightjs/highlight.js/issues/2140\n if (lastMatch.type === \"begin\" && match.type === \"end\" && lastMatch.index === match.index && lexeme === \"\") {\n // spit the \"skipped\" character that our regex choked on back into the output sequence\n modeBuffer += codeToHighlight.slice(match.index, match.index + 1);\n if (!SAFE_MODE) {\n /** @type {AnnotatedError} */\n const err = new Error(`0 width match regex (${languageName})`);\n err.languageName = languageName;\n err.badRule = lastMatch.rule;\n throw err;\n }\n return 1;\n }\n lastMatch = match;\n\n if (match.type === \"begin\") {\n return doBeginMatch(match);\n } else if (match.type === \"illegal\" && !ignoreIllegals) {\n // illegal match, we do not continue processing\n /** @type {AnnotatedError} */\n const err = new Error('Illegal lexeme \"' + lexeme + '\" for mode \"' + (top.scope || '') + '\"');\n err.mode = top;\n throw err;\n } else if (match.type === \"end\") {\n const processed = doEndMatch(match);\n if (processed !== NO_MATCH) {\n return processed;\n }\n }\n\n // edge case for when illegal matches $ (end of line) which is technically\n // a 0 width match but not a begin/end match so it's not caught by the\n // first handler (when ignoreIllegals is true)\n if (match.type === \"illegal\" && lexeme === \"\") {\n // advance so we aren't stuck in an infinite loop\n modeBuffer += \"\\n\";\n return 1;\n }\n\n // infinite loops are BAD, this is a last ditch catch all. if we have a\n // decent number of iterations yet our index (cursor position in our\n // parsing) still 3x behind our index then something is very wrong\n // so we bail\n if (iterations > 100000 && iterations > match.index * 3) {\n const err = new Error('potential infinite loop, way more iterations than matches');\n throw err;\n }\n\n /*\n Why might be find ourselves here? An potential end match that was\n triggered but could not be completed. IE, `doEndMatch` returned NO_MATCH.\n (this could be because a callback requests the match be ignored, etc)\n\n This causes no real harm other than stopping a few times too many.\n */\n\n modeBuffer += lexeme;\n return lexeme.length;\n }\n\n const language = getLanguage(languageName);\n if (!language) {\n error(LANGUAGE_NOT_FOUND.replace(\"{}\", languageName));\n throw new Error('Unknown language: \"' + languageName + '\"');\n }\n\n const md = compileLanguage(language);\n let result = '';\n /** @type {CompiledMode} */\n let top = continuation || md;\n /** @type Record */\n const continuations = {}; // keep continuations for sub-languages\n const emitter = new options.__emitter(options);\n processContinuations();\n let modeBuffer = '';\n let relevance = 0;\n let index = 0;\n let iterations = 0;\n let resumeScanAtSamePosition = false;\n\n try {\n if (!language.__emitTokens) {\n top.matcher.considerAll();\n\n for (;;) {\n iterations++;\n if (resumeScanAtSamePosition) {\n // only regexes not matched previously will now be\n // considered for a potential match\n resumeScanAtSamePosition = false;\n } else {\n top.matcher.considerAll();\n }\n top.matcher.lastIndex = index;\n\n const match = top.matcher.exec(codeToHighlight);\n // console.log(\"match\", match[0], match.rule && match.rule.begin)\n\n if (!match) break;\n\n const beforeMatch = codeToHighlight.substring(index, match.index);\n const processedCount = processLexeme(beforeMatch, match);\n index = match.index + processedCount;\n }\n processLexeme(codeToHighlight.substring(index));\n } else {\n language.__emitTokens(codeToHighlight, emitter);\n }\n\n emitter.finalize();\n result = emitter.toHTML();\n\n return {\n language: languageName,\n value: result,\n relevance,\n illegal: false,\n _emitter: emitter,\n _top: top\n };\n } catch (err) {\n if (err.message && err.message.includes('Illegal')) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: true,\n relevance: 0,\n _illegalBy: {\n message: err.message,\n index,\n context: codeToHighlight.slice(index - 100, index + 100),\n mode: err.mode,\n resultSoFar: result\n },\n _emitter: emitter\n };\n } else if (SAFE_MODE) {\n return {\n language: languageName,\n value: escape(codeToHighlight),\n illegal: false,\n relevance: 0,\n errorRaised: err,\n _emitter: emitter,\n _top: top\n };\n } else {\n throw err;\n }\n }\n }\n\n /**\n * returns a valid highlight result, without actually doing any actual work,\n * auto highlight starts with this and it's possible for small snippets that\n * auto-detection may not find a better match\n * @param {string} code\n * @returns {HighlightResult}\n */\n function justTextHighlightResult(code) {\n const result = {\n value: escape(code),\n illegal: false,\n relevance: 0,\n _top: PLAINTEXT_LANGUAGE,\n _emitter: new options.__emitter(options)\n };\n result._emitter.addText(code);\n return result;\n }\n\n /**\n Highlighting with language detection. Accepts a string with the code to\n highlight. Returns an object with the following properties:\n\n - language (detected language)\n - relevance (int)\n - value (an HTML string with highlighting markup)\n - secondBest (object with the same structure for second-best heuristically\n detected language, may be absent)\n\n @param {string} code\n @param {Array} [languageSubset]\n @returns {AutoHighlightResult}\n */\n function highlightAuto(code, languageSubset) {\n languageSubset = languageSubset || options.languages || Object.keys(languages);\n const plaintext = justTextHighlightResult(code);\n\n const results = languageSubset.filter(getLanguage).filter(autoDetection).map(name =>\n _highlight(name, code, false)\n );\n results.unshift(plaintext); // plaintext is always an option\n\n const sorted = results.sort((a, b) => {\n // sort base on relevance\n if (a.relevance !== b.relevance) return b.relevance - a.relevance;\n\n // always award the tie to the base language\n // ie if C++ and Arduino are tied, it's more likely to be C++\n if (a.language && b.language) {\n if (getLanguage(a.language).supersetOf === b.language) {\n return 1;\n } else if (getLanguage(b.language).supersetOf === a.language) {\n return -1;\n }\n }\n\n // otherwise say they are equal, which has the effect of sorting on\n // relevance while preserving the original ordering - which is how ties\n // have historically been settled, ie the language that comes first always\n // wins in the case of a tie\n return 0;\n });\n\n const [best, secondBest] = sorted;\n\n /** @type {AutoHighlightResult} */\n const result = best;\n result.secondBest = secondBest;\n\n return result;\n }\n\n /**\n * Builds new class name for block given the language name\n *\n * @param {HTMLElement} element\n * @param {string} [currentLang]\n * @param {string} [resultLang]\n */\n function updateClassName(element, currentLang, resultLang) {\n const language = (currentLang && aliases[currentLang]) || resultLang;\n\n element.classList.add(\"hljs\");\n element.classList.add(`language-${language}`);\n }\n\n /**\n * Applies highlighting to a DOM node containing code.\n *\n * @param {HighlightedHTMLElement} element - the HTML element to highlight\n */\n function highlightElement(element) {\n /** @type HTMLElement */\n let node = null;\n const language = blockLanguage(element);\n\n if (shouldNotHighlight(language)) return;\n\n fire(\"before:highlightElement\",\n { el: element, language });\n\n if (element.dataset.highlighted) {\n console.log(\"Element previously highlighted. To highlight again, first unset `dataset.highlighted`.\", element);\n return;\n }\n\n // we should be all text, no child nodes (unescaped HTML) - this is possibly\n // an HTML injection attack - it's likely too late if this is already in\n // production (the code has likely already done its damage by the time\n // we're seeing it)... but we yell loudly about this so that hopefully it's\n // more likely to be caught in development before making it to production\n if (element.children.length > 0) {\n if (!options.ignoreUnescapedHTML) {\n console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\");\n console.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\");\n console.warn(\"The element with unescaped HTML:\");\n console.warn(element);\n }\n if (options.throwUnescapedHTML) {\n const err = new HTMLInjectionError(\n \"One of your code blocks includes unescaped HTML.\",\n element.innerHTML\n );\n throw err;\n }\n }\n\n node = element;\n const text = node.textContent;\n const result = language ? highlight(text, { language, ignoreIllegals: true }) : highlightAuto(text);\n\n element.innerHTML = result.value;\n element.dataset.highlighted = \"yes\";\n updateClassName(element, language, result.language);\n element.result = {\n language: result.language,\n // TODO: remove with version 11.0\n re: result.relevance,\n relevance: result.relevance\n };\n if (result.secondBest) {\n element.secondBest = {\n language: result.secondBest.language,\n relevance: result.secondBest.relevance\n };\n }\n\n fire(\"after:highlightElement\", { el: element, result, text });\n }\n\n /**\n * Updates highlight.js global options with the passed options\n *\n * @param {Partial} userOptions\n */\n function configure(userOptions) {\n options = inherit(options, userOptions);\n }\n\n // TODO: remove v12, deprecated\n const initHighlighting = () => {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlighting() deprecated. Use highlightAll() now.\");\n };\n\n // TODO: remove v12, deprecated\n function initHighlightingOnLoad() {\n highlightAll();\n deprecated(\"10.6.0\", \"initHighlightingOnLoad() deprecated. Use highlightAll() now.\");\n }\n\n let wantsHighlight = false;\n\n /**\n * auto-highlights all pre>code elements on the page\n */\n function highlightAll() {\n function boot() {\n // if a highlight was requested before DOM was loaded, do now\n highlightAll();\n }\n\n // if we are called too early in the loading process\n if (document.readyState === \"loading\") {\n // make sure the event listener is only added once\n if (!wantsHighlight) {\n window.addEventListener('DOMContentLoaded', boot, false);\n }\n wantsHighlight = true;\n return;\n }\n\n const blocks = document.querySelectorAll(options.cssSelector);\n blocks.forEach(highlightElement);\n }\n\n /**\n * Register a language grammar module\n *\n * @param {string} languageName\n * @param {LanguageFn} languageDefinition\n */\n function registerLanguage(languageName, languageDefinition) {\n let lang = null;\n try {\n lang = languageDefinition(hljs);\n } catch (error$1) {\n error(\"Language definition for '{}' could not be registered.\".replace(\"{}\", languageName));\n // hard or soft error\n if (!SAFE_MODE) { throw error$1; } else { error(error$1); }\n // languages that have serious errors are replaced with essentially a\n // \"plaintext\" stand-in so that the code blocks will still get normal\n // css classes applied to them - and one bad language won't break the\n // entire highlighter\n lang = PLAINTEXT_LANGUAGE;\n }\n // give it a temporary name if it doesn't have one in the meta-data\n if (!lang.name) lang.name = languageName;\n languages[languageName] = lang;\n lang.rawDefinition = languageDefinition.bind(null, hljs);\n\n if (lang.aliases) {\n registerAliases(lang.aliases, { languageName });\n }\n }\n\n /**\n * Remove a language grammar module\n *\n * @param {string} languageName\n */\n function unregisterLanguage(languageName) {\n delete languages[languageName];\n for (const alias of Object.keys(aliases)) {\n if (aliases[alias] === languageName) {\n delete aliases[alias];\n }\n }\n }\n\n /**\n * @returns {string[]} List of language internal names\n */\n function listLanguages() {\n return Object.keys(languages);\n }\n\n /**\n * @param {string} name - name of the language to retrieve\n * @returns {Language | undefined}\n */\n function getLanguage(name) {\n name = (name || '').toLowerCase();\n return languages[name] || languages[aliases[name]];\n }\n\n /**\n *\n * @param {string|string[]} aliasList - single alias or list of aliases\n * @param {{languageName: string}} opts\n */\n function registerAliases(aliasList, { languageName }) {\n if (typeof aliasList === 'string') {\n aliasList = [aliasList];\n }\n aliasList.forEach(alias => { aliases[alias.toLowerCase()] = languageName; });\n }\n\n /**\n * Determines if a given language has auto-detection enabled\n * @param {string} name - name of the language\n */\n function autoDetection(name) {\n const lang = getLanguage(name);\n return lang && !lang.disableAutodetect;\n }\n\n /**\n * Upgrades the old highlightBlock plugins to the new\n * highlightElement API\n * @param {HLJSPlugin} plugin\n */\n function upgradePluginAPI(plugin) {\n // TODO: remove with v12\n if (plugin[\"before:highlightBlock\"] && !plugin[\"before:highlightElement\"]) {\n plugin[\"before:highlightElement\"] = (data) => {\n plugin[\"before:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n if (plugin[\"after:highlightBlock\"] && !plugin[\"after:highlightElement\"]) {\n plugin[\"after:highlightElement\"] = (data) => {\n plugin[\"after:highlightBlock\"](\n Object.assign({ block: data.el }, data)\n );\n };\n }\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function addPlugin(plugin) {\n upgradePluginAPI(plugin);\n plugins.push(plugin);\n }\n\n /**\n * @param {HLJSPlugin} plugin\n */\n function removePlugin(plugin) {\n const index = plugins.indexOf(plugin);\n if (index !== -1) {\n plugins.splice(index, 1);\n }\n }\n\n /**\n *\n * @param {PluginEvent} event\n * @param {any} args\n */\n function fire(event, args) {\n const cb = event;\n plugins.forEach(function(plugin) {\n if (plugin[cb]) {\n plugin[cb](args);\n }\n });\n }\n\n /**\n * DEPRECATED\n * @param {HighlightedHTMLElement} el\n */\n function deprecateHighlightBlock(el) {\n deprecated(\"10.7.0\", \"highlightBlock will be removed entirely in v12.0\");\n deprecated(\"10.7.0\", \"Please use highlightElement now.\");\n\n return highlightElement(el);\n }\n\n /* Interface definition */\n Object.assign(hljs, {\n highlight,\n highlightAuto,\n highlightAll,\n highlightElement,\n // TODO: Remove with v12 API\n highlightBlock: deprecateHighlightBlock,\n configure,\n initHighlighting,\n initHighlightingOnLoad,\n registerLanguage,\n unregisterLanguage,\n listLanguages,\n getLanguage,\n registerAliases,\n autoDetection,\n inherit,\n addPlugin,\n removePlugin\n });\n\n hljs.debugMode = function() { SAFE_MODE = false; };\n hljs.safeMode = function() { SAFE_MODE = true; };\n hljs.versionString = version;\n\n hljs.regex = {\n concat: concat,\n lookahead: lookahead,\n either: either,\n optional: optional,\n anyNumberOfTimes: anyNumberOfTimes\n };\n\n for (const key in MODES) {\n // @ts-ignore\n if (typeof MODES[key] === \"object\") {\n // @ts-ignore\n deepFreeze(MODES[key]);\n }\n }\n\n // merge all the modes/regexes into our main object\n Object.assign(hljs, MODES);\n\n return hljs;\n};\n\n// Other names for the variable may break build script\nconst highlight = HLJS({});\n\n// returns a new instance of the highlighter to be used for extensions\n// check https://github.com/wooorm/lowlight/issues/47\nhighlight.newInstance = () => HLJS({});\n\nmodule.exports = highlight;\nhighlight.HighlightJS = highlight;\nhighlight.default = highlight;\n", "/*\nLanguage: HTML, XML\nWebsite: https://www.w3.org/XML/\nCategory: common, web\nAudit: 2020\n*/\n\n/** @type LanguageFn */\nfunction xml(hljs) {\n const regex = hljs.regex;\n // XML names can have the following additional letters: https://www.w3.org/TR/xml/#NT-NameChar\n // OTHER_NAME_CHARS = /[:\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]/;\n // Element names start with NAME_START_CHAR followed by optional other Unicode letters, ASCII digits, hyphens, underscores, and periods\n // const TAG_NAME_RE = regex.concat(/[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]/, regex.optional(/[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]*:/), /[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 // const XML_IDENT_RE = /[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 // const TAG_NAME_RE = regex.concat(/[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]/, regex.optional(/[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]*:/), /[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 // however, to cater for performance and more Unicode support rely simply on the Unicode letter class\n const TAG_NAME_RE = regex.concat(/[\\p{L}_]/u, regex.optional(/[\\p{L}0-9_.-]*:/u), /[\\p{L}0-9_.-]*/u);\n const XML_IDENT_RE = /[\\p{L}0-9._:-]+/u;\n const XML_ENTITIES = {\n className: 'symbol',\n begin: /&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/\n };\n const XML_META_KEYWORDS = {\n begin: /\\s/,\n contains: [\n {\n className: 'keyword',\n begin: /#?[a-z_][a-z1-9_-]+/,\n illegal: /\\n/\n }\n ]\n };\n const XML_META_PAR_KEYWORDS = hljs.inherit(XML_META_KEYWORDS, {\n begin: /\\(/,\n end: /\\)/\n });\n const APOS_META_STRING_MODE = hljs.inherit(hljs.APOS_STRING_MODE, { className: 'string' });\n const QUOTE_META_STRING_MODE = hljs.inherit(hljs.QUOTE_STRING_MODE, { className: 'string' });\n const TAG_INTERNALS = {\n endsWithParent: true,\n illegal: /`]+/ }\n ]\n }\n ]\n }\n ]\n };\n return {\n name: 'HTML, XML',\n aliases: [\n 'html',\n 'xhtml',\n 'rss',\n 'atom',\n 'xjb',\n 'xsd',\n 'xsl',\n 'plist',\n 'wsf',\n 'svg'\n ],\n case_insensitive: true,\n unicodeRegex: true,\n contains: [\n {\n className: 'meta',\n begin: //,\n relevance: 10,\n contains: [\n XML_META_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE,\n XML_META_PAR_KEYWORDS,\n {\n begin: /\\[/,\n end: /\\]/,\n contains: [\n {\n className: 'meta',\n begin: //,\n contains: [\n XML_META_KEYWORDS,\n XML_META_PAR_KEYWORDS,\n QUOTE_META_STRING_MODE,\n APOS_META_STRING_MODE\n ]\n }\n ]\n }\n ]\n },\n hljs.COMMENT(\n //,\n { relevance: 10 }\n ),\n {\n begin: //,\n relevance: 10\n },\n XML_ENTITIES,\n // xml processing instructions\n {\n className: 'meta',\n end: /\\?>/,\n variants: [\n {\n begin: /<\\?xml/,\n relevance: 10,\n contains: [\n QUOTE_META_STRING_MODE\n ]\n },\n {\n begin: /<\\?[a-z][a-z0-9]+/,\n }\n ]\n\n },\n {\n className: 'tag',\n /*\n The lookahead pattern (?=...) ensures that 'begin' only matches\n ')/,\n end: />/,\n keywords: { name: 'style' },\n contains: [ TAG_INTERNALS ],\n starts: {\n end: /<\\/style>/,\n returnEnd: true,\n subLanguage: [\n 'css',\n 'xml'\n ]\n }\n },\n {\n className: 'tag',\n // See the comment in the ',\n}\n\nclass ChatMessage extends LightElement {\n @property() content = \"...\"\n @property({ attribute: \"content-type\" }) contentType: ContentType = \"markdown\"\n @property({ type: Boolean, reflect: true }) streaming = false\n @property() icon = \"\"\n\n render() {\n // Show dots until we have content\n const isEmpty = this.content.trim().length === 0\n const icon = isEmpty ? ICONS.dots_fade : this.icon || ICONS.robot\n\n return html`\n
${unsafeHTML(icon)}
\n \n `\n }\n\n #onContentChange(): void {\n if (!this.streaming) this.#makeSuggestionsAccessible()\n }\n\n #makeSuggestionsAccessible(): void {\n this.querySelectorAll(\".suggestion,[data-suggestion]\").forEach((el) => {\n if (!(el instanceof HTMLElement)) return\n if (el.hasAttribute(\"tabindex\")) return\n\n el.setAttribute(\"tabindex\", \"0\")\n el.setAttribute(\"role\", \"button\")\n\n const suggestion = el.dataset.suggestion || el.textContent\n el.setAttribute(\"aria-label\", `Use chat suggestion: ${suggestion}`)\n })\n }\n}\n\nclass ChatUserMessage extends LightElement {\n @property() content = \"...\"\n\n render() {\n return html`\n \n `\n }\n}\n\nclass ChatMessages extends LightElement {\n render() {\n return html``\n }\n}\n\ninterface ChatInputSetInputOptions {\n submit?: boolean\n focus?: boolean\n}\n\nclass ChatInput extends LightElement {\n @property() placeholder = \"Enter a message...\"\n // disabled is reflected manually because `reflect: true` doesn't work with LightElement\n @property({ type: Boolean })\n get disabled() {\n return this._disabled\n }\n\n set disabled(value: boolean) {\n const oldValue = this._disabled\n if (value === oldValue) {\n return\n }\n\n this._disabled = value\n if (value) {\n this.setAttribute(\"disabled\", \"\")\n } else {\n this.removeAttribute(\"disabled\")\n }\n\n this.requestUpdate(\"disabled\", oldValue)\n this.#onInput()\n }\n\n private _disabled = false\n inputVisibleObserver?: IntersectionObserver\n\n connectedCallback(): void {\n super.connectedCallback()\n\n this.inputVisibleObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) this.#updateHeight()\n })\n })\n\n this.inputVisibleObserver.observe(this)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n this.inputVisibleObserver?.disconnect()\n this.inputVisibleObserver = undefined\n }\n\n attributeChangedCallback(\n name: string,\n _old: string | null,\n value: string | null,\n ) {\n super.attributeChangedCallback(name, _old, value)\n if (name === \"disabled\") {\n this.disabled = value !== null\n }\n }\n\n private get textarea(): HTMLTextAreaElement {\n return this.querySelector(\"textarea\") as HTMLTextAreaElement\n }\n\n private get value(): string {\n return this.textarea.value\n }\n\n private get valueIsEmpty(): boolean {\n return this.value.trim().length === 0\n }\n\n private get button(): HTMLButtonElement {\n return this.querySelector(\"button\") as HTMLButtonElement\n }\n\n render() {\n const icon =\n ''\n\n return html`\n \n \n ${unsafeHTML(icon)}\n \n `\n }\n\n // Pressing enter sends the message (if not empty)\n #onKeyDown(e: KeyboardEvent): void {\n const isEnter = e.code === \"Enter\" && !e.shiftKey\n if (isEnter && !this.valueIsEmpty) {\n e.preventDefault()\n this.#sendInput()\n }\n }\n\n #onInput(): void {\n this.#updateHeight()\n this.button.disabled = this.disabled ? true : this.value.trim().length === 0\n }\n\n // Determine whether the button should be enabled/disabled on first render\n protected firstUpdated(): void {\n this.#onInput()\n }\n\n #sendInput(focus = true): void {\n if (this.valueIsEmpty) return\n if (this.disabled) return\n\n window.Shiny.setInputValue!(this.id, this.value, { priority: \"event\" })\n\n // Emit event so parent element knows to insert the message\n const sentEvent = new CustomEvent(\"shiny-chat-input-sent\", {\n detail: { content: this.value, role: \"user\" },\n bubbles: true,\n composed: true,\n })\n this.dispatchEvent(sentEvent)\n\n this.setInputValue(\"\")\n this.disabled = true\n\n if (focus) this.textarea.focus()\n }\n\n #updateHeight(): void {\n const el = this.textarea\n if (el.scrollHeight == 0) {\n return\n }\n el.style.height = \"auto\"\n el.style.height = `${el.scrollHeight}px`\n }\n\n setInputValue(\n value: string,\n { submit = false, focus = false }: ChatInputSetInputOptions = {},\n ): void {\n // Store previous value to restore post-submit (if submitting)\n const oldValue = this.textarea.value\n\n this.textarea.value = value\n\n // Simulate an input event (to trigger the textarea autoresize)\n const inputEvent = new Event(\"input\", { bubbles: true, cancelable: true })\n this.textarea.dispatchEvent(inputEvent)\n\n if (submit) {\n this.#sendInput(false)\n if (oldValue) this.setInputValue(oldValue)\n }\n\n if (focus) {\n this.textarea.focus()\n }\n }\n}\n\nclass ChatContainer extends LightElement {\n @property({ attribute: \"icon-assistant\" }) iconAssistant = \"\"\n inputSentinelObserver?: IntersectionObserver\n\n private get input(): ChatInput {\n return this.querySelector(CHAT_INPUT_TAG) as ChatInput\n }\n\n private get messages(): ChatMessages {\n return this.querySelector(CHAT_MESSAGES_TAG) as ChatMessages\n }\n\n private get lastMessage(): ChatMessage | null {\n const last = this.messages.lastElementChild\n return last ? (last as ChatMessage) : null\n }\n\n render() {\n return html``\n }\n\n connectedCallback(): void {\n super.connectedCallback()\n\n // We use a sentinel element that we place just above the shiny-chat-input. When it\n // moves off-screen we know that the text area input is now floating, add shadow.\n let sentinel = this.querySelector(\"div\")\n if (!sentinel) {\n sentinel = createElement(\"div\", {\n style: \"width: 100%; height: 0;\",\n }) as HTMLElement\n this.input.insertAdjacentElement(\"afterend\", sentinel)\n }\n\n this.inputSentinelObserver = new IntersectionObserver(\n (entries) => {\n const inputTextarea = this.input.querySelector(\"textarea\")\n if (!inputTextarea) return\n const addShadow = entries[0]?.intersectionRatio === 0\n inputTextarea.classList.toggle(\"shadow\", addShadow)\n },\n {\n threshold: [0, 1],\n rootMargin: \"0px\",\n },\n )\n\n this.inputSentinelObserver.observe(sentinel)\n }\n\n firstUpdated(): void {\n // Don't attach event listeners until child elements are rendered\n if (!this.messages) return\n\n this.addEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.addEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.addEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.addEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.addEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.addEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.addEventListener(\"click\", this.#onInputSuggestionClick)\n this.addEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback()\n\n this.inputSentinelObserver?.disconnect()\n this.inputSentinelObserver = undefined\n\n this.removeEventListener(\"shiny-chat-input-sent\", this.#onInputSent)\n this.removeEventListener(\"shiny-chat-append-message\", this.#onAppend)\n this.removeEventListener(\n \"shiny-chat-append-message-chunk\",\n this.#onAppendChunk,\n )\n this.removeEventListener(\"shiny-chat-clear-messages\", this.#onClear)\n this.removeEventListener(\n \"shiny-chat-update-user-input\",\n this.#onUpdateUserInput,\n )\n this.removeEventListener(\n \"shiny-chat-remove-loading-message\",\n this.#onRemoveLoadingMessage,\n )\n this.removeEventListener(\"click\", this.#onInputSuggestionClick)\n this.removeEventListener(\"keydown\", this.#onInputSuggestionKeydown)\n }\n\n // When user submits input, append it to the chat, and add a loading message\n #onInputSent(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n this.#addLoadingMessage()\n }\n\n // Handle an append message event from server\n #onAppend(event: CustomEvent): void {\n this.#appendMessage(event.detail)\n }\n\n #initMessage(): void {\n this.#removeLoadingMessage()\n if (!this.input.disabled) {\n this.input.disabled = true\n }\n }\n\n #appendMessage(message: Message, finalize = true): void {\n this.#initMessage()\n\n const TAG_NAME =\n message.role === \"user\" ? CHAT_USER_MESSAGE_TAG : CHAT_MESSAGE_TAG\n\n if (this.iconAssistant) {\n message.icon = message.icon || this.iconAssistant\n }\n\n const msg = createElement(TAG_NAME, message)\n this.messages.appendChild(msg)\n\n if (finalize) {\n this.#finalizeMessage()\n }\n }\n\n // Loading message is just an empty message\n #addLoadingMessage(): void {\n const loading_message = {\n content: \"\",\n role: \"assistant\",\n }\n const message = createElement(CHAT_MESSAGE_TAG, loading_message)\n this.messages.appendChild(message)\n }\n\n #removeLoadingMessage(): void {\n const content = this.lastMessage?.content\n if (!content) this.lastMessage?.remove()\n }\n\n #onAppendChunk(event: CustomEvent): void {\n this.#appendMessageChunk(event.detail)\n }\n\n #appendMessageChunk(message: Message): void {\n if (message.chunk_type === \"message_start\") {\n this.#appendMessage(message, false)\n }\n\n const lastMessage = this.lastMessage\n if (!lastMessage) throw new Error(\"No messages found in the chat output\")\n\n if (message.chunk_type === \"message_start\") {\n lastMessage.setAttribute(\"streaming\", \"\")\n return\n }\n\n const content =\n message.operation === \"append\"\n ? lastMessage.getAttribute(\"content\") + message.content\n : message.content\n\n lastMessage.setAttribute(\"content\", content)\n\n if (message.chunk_type === \"message_end\") {\n this.lastMessage?.removeAttribute(\"streaming\")\n this.#finalizeMessage()\n }\n }\n\n #onClear(): void {\n this.messages.innerHTML = \"\"\n }\n\n #onUpdateUserInput(event: CustomEvent): void {\n const { value, placeholder, submit, focus } = event.detail\n if (value !== undefined) {\n this.input.setInputValue(value, { submit, focus })\n }\n if (placeholder !== undefined) {\n this.input.placeholder = placeholder\n }\n }\n\n #onInputSuggestionClick(e: MouseEvent): void {\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionKeydown(e: KeyboardEvent): void {\n const isEnterOrSpace = e.key === \"Enter\" || e.key === \" \"\n if (!isEnterOrSpace) return\n\n this.#onInputSuggestionEvent(e)\n }\n\n #onInputSuggestionEvent(e: MouseEvent | KeyboardEvent): void {\n const { suggestion, submit } = this.#getSuggestion(e.target)\n if (!suggestion) return\n\n e.preventDefault()\n // Cmd/Ctrl + (event) = force submitting\n // Alt/Opt + (event) = force setting without submitting\n const shouldSubmit =\n e.metaKey || e.ctrlKey ? true : e.altKey ? false : submit\n\n this.input.setInputValue(suggestion, {\n submit: shouldSubmit,\n focus: !shouldSubmit,\n })\n }\n\n #getSuggestion(x: EventTarget | null): {\n suggestion?: string\n submit?: boolean\n } {\n if (!(x instanceof HTMLElement)) return {}\n\n const el = x.closest(\".suggestion, [data-suggestion]\")\n if (!(el instanceof HTMLElement)) return {}\n\n const isSuggestion =\n el.classList.contains(\"suggestion\") || el.dataset.suggestion !== undefined\n if (!isSuggestion) return {}\n\n const suggestion = el.dataset.suggestion || el.textContent\n\n return {\n suggestion: suggestion || undefined,\n submit:\n el.classList.contains(\"submit\") ||\n el.dataset.suggestionSubmit === \"\" ||\n el.dataset.suggestionSubmit === \"true\",\n }\n }\n\n #onRemoveLoadingMessage(): void {\n this.#removeLoadingMessage()\n this.#finalizeMessage()\n }\n\n #finalizeMessage(): void {\n this.input.disabled = false\n }\n}\n\n// ------- Register custom elements and shiny bindings ---------\n\nconst chatCustomElements = [\n { tag: CHAT_MESSAGE_TAG, component: ChatMessage },\n { tag: CHAT_USER_MESSAGE_TAG, component: ChatUserMessage },\n { tag: CHAT_MESSAGES_TAG, component: ChatMessages },\n { tag: CHAT_INPUT_TAG, component: ChatInput },\n { tag: CHAT_CONTAINER_TAG, component: ChatContainer },\n { tag: CHAT_TOOL_REQUEST_TAG, component: ShinyToolRequest },\n { tag: CHAT_TOOL_RESULT_TAG, component: ShinyToolResult },\n]\n\nchatCustomElements.forEach(({ tag, component }) => {\n if (!customElements.get(tag)) {\n customElements.define(tag, component)\n }\n})\n\nwindow.Shiny?.addCustomMessageHandler(\n \"shinyChatMessage\",\n async function (message: ShinyChatMessage) {\n if (message.obj?.html_deps) {\n await renderDependencies(message.obj.html_deps)\n }\n\n const evt = new CustomEvent(message.handler, {\n detail: message.obj,\n })\n\n const el = document.getElementById(message.id)\n\n if (!el) {\n showShinyClientMessage({\n status: \"error\",\n message: `Unable to handle Chat() message since element with id\n ${message.id} wasn't found. Do you need to call .ui() (Express) or need a\n chat_ui('${message.id}') in the UI (Core)?\n `,\n })\n return\n }\n\n el.dispatchEvent(evt)\n },\n)\n\nexport { CHAT_CONTAINER_TAG }\n"], + "mappings": "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EAAQ,CACZ,UAAW,QACX,MAAO,OACP,IAAK,KACL,SAAU,CAAEJ,EAAK,gBAAiB,CACpC,EACMK,EAAUL,EAAK,QACnBA,EAAK,QAAQ,EACb,CACE,MAAO,CACL,SACA,MACF,EACA,MAAO,CACL,EAAG,SACL,CACF,CACF,EACMM,EAAW,CACf,MAAO,iBACP,OAAQ,CAAE,SAAU,CAClBN,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,UAAW,QACb,CAAC,CACH,CAAE,CACJ,EACMO,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRP,EAAK,iBACLE,EACAE,CACF,CACF,EACAA,EAAM,SAAS,KAAKG,CAAY,EAChC,IAAMC,EAAgB,CACpB,MAAO,KACT,EACMC,EAAc,CAClB,UAAW,SACX,MAAO,IACP,IAAK,GACP,EACMC,EAAe,CACnB,MAAO,KACT,EACMC,EAAa,CACjB,MAAO,UACP,IAAK,OACL,SAAU,CACR,CACE,MAAO,gBACP,UAAW,QACb,EACAX,EAAK,YACLE,CACF,CACF,EACMU,EAAiB,CACrB,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,MACF,EACMC,EAAgBb,EAAK,QAAQ,CACjC,OAAQ,IAAIY,EAAe,KAAK,GAAG,CAAC,IACpC,UAAW,EACb,CAAC,EACKE,EAAW,CACf,UAAW,WACX,MAAO,4BACP,YAAa,GACb,SAAU,CAAEd,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,YAAa,CAAC,CAAE,EACnE,UAAW,CACb,EAEMe,EAAW,CACf,KACA,OACA,OACA,OACA,KACA,OACA,MACA,QACA,QACA,KACA,KACA,OACA,OACA,OACA,SACA,WACA,QACF,EAEMC,EAAW,CACf,OACA,OACF,EAGMC,EAAY,CAAE,MAAO,gBAAiB,EAGtCC,EAAkB,CACtB,QACA,KACA,WACA,OACA,OACA,OACA,SACA,UACA,OACA,MACA,WACA,SACA,QACA,OACA,QACA,OACA,QACA,OACF,EAEMC,EAAiB,CACrB,QACA,OACA,UACA,SACA,UACA,UACA,OACA,SACA,OACA,MACA,QACA,SACA,UACA,SACA,OACA,YACA,SACA,OACA,OACA,UACA,SACA,SACF,EAEMC,EAAgB,CACpB,WACA,KACA,UACA,MACA,MACA,QACA,QACA,gBACA,WACA,UACA,eACA,YACA,aACA,YACA,WACA,UACA,aACA,OACA,UACA,SACA,SACA,SACA,UACA,KACA,KACA,QACA,YACA,SACA,QACA,UACA,UACA,OACA,OACA,QACA,MACA,SACA,OACA,QACA,QACA,SACA,SACA,QACA,SACA,SACA,OACA,UACA,SACA,aACA,SACA,UACA,WACA,QACA,OACA,SACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,aACA,QACA,OACA,cACA,UACA,SACA,MACF,EAEMC,EAAiB,CACrB,QACA,QACA,QACA,QACA,KACA,KACA,KACA,MACA,YACA,KACA,KACA,QACA,SACA,QACA,SACA,KACA,WACA,KACA,QACA,QACA,OACA,QACA,WACA,OACA,QACA,SACA,SACA,MACA,QACA,OACA,SACA,MACA,SACA,MACA,OACA,OACA,OACA,SACA,KACA,SACA,KACA,QACA,MACA,KACA,UACA,YACA,YACA,YACA,YACA,OACA,OACA,QACA,MACA,MACA,OACA,KACA,QACA,WACA,OACA,KACA,OACA,WACA,SACA,OACA,UACA,KACA,OACA,MACA,OACA,SAEA,SACA,SACA,KACA,OACA,UACA,OACA,QACA,QACA,UACA,QACA,WACA,SACA,MACA,WACA,SACA,MACA,QACA,OACA,SACA,OACA,MACA,OACA,UAEA,MACA,QACA,SACA,SACA,QACA,MACA,SACA,KACF,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CACP,KACA,KACF,EACA,SAAU,CACR,SAAU,wBACV,QAASN,EACT,QAASC,EACT,SAAU,CACR,GAAGE,EACH,GAAGC,EAEH,MACA,QACA,GAAGC,EACH,GAAGC,CACL,CACF,EACA,SAAU,CACRR,EACAb,EAAK,QAAQ,EACbc,EACAH,EACAN,EACAC,EACAW,EACAV,EACAC,EACAC,EACAC,EACAR,CACF,CACF,CACF,CAEAJ,GAAO,QAAUC,KCxZjB,IAAAuB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,IACrBF,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAJC,UAI4B,EACvD,IAGIK,EAAQ,CACZ,UAAW,OACX,SAAU,CACR,CAAE,MAAO,oBAAqB,EAC9B,CAAE,MAAO,uBAAwB,CACnC,CAEF,EAKMC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEP,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACX,EACAA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,cAAe,EACxB,CAAE,MAAO,iFAAkF,EAC3F,CAAE,MAAO,kHAAmH,EAC5H,CAAE,MAAO,wDAAyD,CACtE,EACE,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,yGACyD,EAC7D,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAT,EAAK,QAAQO,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAL,EACAF,EAAK,oBACP,CACF,EAEMU,EAAa,CACjB,UAAW,QACX,MAAOT,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMW,EAAiBV,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAoFhEY,EAAW,CACf,QAnFiB,CACjB,MACA,OACA,QACA,OACA,WACA,UACA,KACA,OACA,OACA,SACA,MACA,UACA,OACA,KACA,SACA,WACA,WACA,SACA,SACA,SACA,gBACA,SACA,SACA,UACA,QACA,WACA,QACA,WACA,WACA,UACA,WACA,YACA,iBACA,gBAEA,UACA,UACA,WACA,gBACA,eAEA,SACF,EAyCE,KAvCc,CACd,QACA,SACA,SACA,WACA,MACA,QACA,OACA,OACA,OACA,QACA,UACA,WACA,aACA,aACA,aACA,aACA,cACA,cACA,eACA,WACA,WACA,WACA,YACA,YACA,YACA,aAEA,QACA,SACA,YAEA,UACA,OACA,WACF,EAKE,QAAS,kBAET,SAAU,kzBASZ,EAEMC,EAAsB,CAC1BJ,EACAH,EACAJ,EACAF,EAAK,qBACLQ,EACAD,CACF,EAEMO,EAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUF,EACV,SAAUC,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUD,EACV,SAAUC,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,MAAO,IAAMV,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUC,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOT,EACP,SAAUS,EACV,UAAW,CACb,EACA,CACE,MAAOD,EACP,YAAa,GACb,SAAU,CAAEX,EAAK,QAAQU,EAAY,CAAE,UAAW,gBAAiB,CAAC,CAAE,EACtE,UAAW,CACb,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUE,EACV,UAAW,EACX,SAAU,CACRV,EACAF,EAAK,qBACLO,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUM,EACV,UAAW,EACX,SAAU,CACR,OACAV,EACAF,EAAK,qBACLO,EACAC,EACAF,CACF,CACF,CACF,CACF,EACAA,EACAJ,EACAF,EAAK,qBACLS,CACF,CACF,EAEA,MAAO,CACL,KAAM,IACN,QAAS,CAAE,GAAI,EACf,SAAUG,EAGV,kBAAmB,GACnB,QAAS,KACT,SAAU,CAAC,EAAE,OACXE,EACAC,EACAF,EACA,CACEJ,EACA,CACE,MAAOT,EAAK,SAAW,KACvB,SAAUY,CACZ,EACA,CACE,UAAW,QACX,cAAe,0BACf,IAAK,WACL,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCZ,EAAK,UACP,CACF,CACF,CAAC,EACH,QAAS,CACP,aAAcS,EACd,QAASF,EACT,SAAUK,CACZ,CACF,CACF,CAEAd,GAAO,QAAUC,KC5UjB,IAAAiB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAIbE,EAAsBF,EAAK,QAAQ,KAAM,IAAK,CAAE,SAAU,CAAE,CAAE,MAAO,MAAO,CAAE,CAAE,CAAC,EACjFG,EAAmB,qBACnBC,EAAe,kBAEfC,EAAmB,cACrBF,EAAmB,IACnBF,EAAM,SAASG,CAAY,EAC3B,gBAAkBH,EAAM,SAJC,UAI4B,EACvD,IAEIK,EAAsB,CAC1B,UAAW,OACX,MAAO,oBACT,EAKMC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEP,EAAK,gBAAiB,CACpC,EACA,CACE,MAAO,eAXa,uDAWyB,MAC7C,IAAK,IACL,QAAS,GACX,EACAA,EAAK,kBAAkB,CACrB,MAAO,mCACP,IAAK,qBACP,CAAC,CACH,CACF,EAEMQ,EAAU,CACd,UAAW,SACX,SAAU,CAER,CAAE,MACA,8UAkBF,EAEA,CAAE,MACA,6JAcF,CACF,EACA,UAAW,CACb,EAEMC,EAAe,CACnB,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,wFACwC,EAC5C,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAT,EAAK,QAAQO,EAAS,CAAE,UAAW,QAAS,CAAC,EAC7C,CACE,UAAW,SACX,MAAO,OACT,EACAL,EACAF,EAAK,oBACP,CACF,EAEMU,EAAa,CACjB,UAAW,QACX,MAAOT,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAC3C,UAAW,CACb,EAEMW,EAAiBV,EAAM,SAASG,CAAY,EAAIJ,EAAK,SAAW,UAGhEY,EAAoB,CACxB,UACA,UACA,MACA,SACA,MACA,gBACA,gBACA,kBACA,OACA,SACA,QACA,QACA,OACA,QACA,QACA,WACA,YACA,WACA,QACA,UACA,gBACA,YACA,YACA,YACA,WACA,WACA,UACA,SACA,KACA,kBACA,OACA,OACA,WACA,SACA,SACA,QACA,QACA,MACA,SACA,OACA,KACA,SACA,SACA,SACA,UACA,YACA,MACA,WACA,MACA,SACA,UACA,WACA,KACA,QACA,WACA,UACA,YACA,SACA,WACA,WACA,sBACA,WACA,SACA,SACA,gBACA,iBACA,SACA,SACA,eACA,WACA,OACA,eACA,QACA,mBACA,2BACA,OACA,MACA,UACA,SACA,WACA,QACA,QACA,UACA,WACA,QACA,MACA,QACF,EAGMC,EAAiB,CACrB,OACA,OACA,WACA,WACA,UACA,SACA,QACA,MACA,OACA,QACA,OACA,UACA,WACA,SACA,QACA,QACF,EAEMC,EAAa,CACjB,MACA,WACA,UACA,mBACA,SACA,UACA,qBACA,yBACA,qBACA,QACA,aACA,WACA,WACA,SACA,YACA,mBACA,gBACA,UACA,QACA,aACA,WACA,WACA,QACA,WACA,gBACA,gBACA,OACA,UACA,iBACA,QACA,kBACA,wBACA,cACA,MACA,gBACA,cACA,eACA,qBACA,aACA,QACA,cACA,eACA,cACA,SACA,YACA,QACA,cACA,aACA,gBACA,qBACA,qBACA,gBACA,UACA,SACA,WACA,UACA,cACF,EAEMC,EAAiB,CACrB,QACA,MACA,OACA,QACA,WACA,OACA,OACA,QACA,SACA,OACA,OACA,MACA,OACA,MACA,OACA,OACA,UACA,OACA,WACA,OACA,MACA,OACA,QACA,OACA,UACA,UACA,QACA,OACA,QACA,SACA,SACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,OACA,UACA,QACA,MACA,QACA,YACA,cACA,4BACA,aACA,cACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,MACA,SACA,UACA,OACA,UACA,QACA,MACA,OACA,WACA,UACA,OACA,SACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,SACA,OACA,MACA,OACA,YACA,gBACA,UACA,UACA,WACA,QACA,UACA,UACF,EAaMC,EAAe,CACnB,KAAMH,EACN,QAASD,EACT,QAde,CACf,OACA,QACA,UACA,UACA,MACF,EASE,SANe,CAAE,SAAU,EAO3B,YAAaE,CACf,EAEMG,EAAoB,CACxB,UAAW,oBACX,UAAW,EACX,SAAU,CAER,MAAOF,CAAe,EACxB,MAAOd,EAAM,OACX,KACA,eACA,SACA,UACA,aACA,YACAD,EAAK,SACLC,EAAM,UAAU,kBAAkB,CAAC,CACvC,EAEMiB,EAAsB,CAC1BD,EACAR,EACAH,EACAJ,EACAF,EAAK,qBACLQ,EACAD,CACF,EAEMY,GAAqB,CAIzB,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,KACP,IAAK,IACP,EACA,CACE,cAAe,wBACf,IAAK,GACP,CACF,EACA,SAAUH,EACV,SAAUE,EAAoB,OAAO,CACnC,CACE,MAAO,KACP,IAAK,KACL,SAAUF,EACV,SAAUE,EAAoB,OAAO,CAAE,MAAO,CAAC,EAC/C,UAAW,CACb,CACF,CAAC,EACD,UAAW,CACb,EAEME,EAAuB,CAC3B,UAAW,WACX,MAAO,IAAMf,EAAmB,eAAiBM,EACjD,YAAa,GACb,IAAK,QACL,WAAY,GACZ,SAAUK,EACV,QAAS,iBACT,SAAU,CACR,CACE,MAAOb,EACP,SAAUa,EACV,UAAW,CACb,EACA,CACE,MAAOL,EACP,YAAa,GACb,SAAU,CAAED,CAAW,EACvB,UAAW,CACb,EAGA,CACE,MAAO,KACP,UAAW,CACb,EAEA,CACE,MAAO,IACP,eAAgB,GAChB,SAAU,CACRH,EACAC,CACF,CACF,EAGA,CACE,UAAW,EACX,MAAO,GACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUQ,EACV,UAAW,EACX,SAAU,CACRd,EACAF,EAAK,qBACLO,EACAC,EACAF,EAEA,CACE,MAAO,KACP,IAAK,KACL,SAAUU,EACV,UAAW,EACX,SAAU,CACR,OACAd,EACAF,EAAK,qBACLO,EACAC,EACAF,CACF,CACF,CACF,CACF,EACAA,EACAJ,EACAF,EAAK,qBACLS,CACF,CACF,EAEA,MAAO,CACL,KAAM,MACN,QAAS,CACP,KACA,MACA,MACA,MACA,KACA,MACA,KACF,EACA,SAAUO,EACV,QAAS,KACT,iBAAkB,CAAE,oBAAqB,UAAW,EACpD,SAAU,CAAC,EAAE,OACXG,GACAC,EACAH,EACAC,EACA,CACET,EACA,CACE,MAAO,8NACP,IAAK,IACL,SAAUO,EACV,SAAU,CACR,OACAV,CACF,CACF,EACA,CACE,MAAON,EAAK,SAAW,KACvB,SAAUgB,CACZ,EACA,CACE,MAAO,CAEL,wDACA,MACA,KACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,CACF,CAAC,CACL,CACF,CAEAlB,GAAO,QAAUC,KC5lBjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAoB,CACxB,OACA,OACA,OACA,UACA,WACA,SACA,UACA,OACA,QACA,MACA,OACA,OACA,QACA,SACA,QACA,QACA,SACA,QACA,OACA,QACF,EACMC,EAAqB,CACzB,SACA,UACA,YACA,SACA,WACA,YACA,WACA,QACA,SACA,WACA,SACA,UACA,MACA,SACA,SACF,EACMC,EAAmB,CACvB,UACA,QACA,OACA,MACF,EACMC,EAAkB,CACtB,WACA,KACA,OACA,QACA,OACA,QACA,QACA,QACA,WACA,KACA,OACA,QACA,WACA,SACA,UACA,QACA,MACA,UACA,OACA,KACA,WACA,KACA,YACA,WACA,KACA,OACA,YACA,MACA,WACA,MACA,WACA,SACA,UACA,YACA,SACA,WACA,SACA,MACA,SACA,SACA,SACA,SACA,aACA,SACA,SACA,SACA,OACA,QACA,MACA,SACA,YACA,SACA,QACA,UACA,OACA,WACA,OACF,EACMC,EAAsB,CAC1B,MACA,QACA,MACA,YACA,OACA,QACA,QACA,KACA,aACA,UACA,SACA,OACA,OACA,MACA,SACA,QACA,OACA,OACA,OACA,MACA,SACA,MACA,UACA,KACA,KACA,UACA,UACA,SACA,SACA,WACA,SACA,SACA,MACA,YACA,UACA,MACA,OACA,QACA,OACA,OACF,EAEMC,EAAW,CACf,QAASF,EAAgB,OAAOC,CAAmB,EACnD,SAAUJ,EACV,QAASE,CACX,EACMI,EAAaP,EAAK,QAAQA,EAAK,WAAY,CAAE,MAAO,oBAAqB,CAAC,EAC1EQ,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,eAAiB,EAC1B,CAAE,MAAO,iEAAqE,EAC9E,CAAE,MAAO,qFAA2F,CACtG,EACA,UAAW,CACb,EACMC,EAAa,CACjB,UAAW,SACX,MAAO,4BACP,UAAW,CACb,EACMC,EAAkB,CACtB,UAAW,SACX,MAAO,KACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EACMC,EAAwBX,EAAK,QAAQU,EAAiB,CAAE,QAAS,IAAK,CAAC,EACvEE,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUN,CACZ,EACMO,EAAcb,EAAK,QAAQY,EAAO,CAAE,QAAS,IAAK,CAAC,EACnDE,EAAsB,CAC1B,UAAW,SACX,MAAO,MACP,IAAK,IACL,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChBd,EAAK,iBACLa,CACF,CACF,EACME,EAA+B,CACnC,UAAW,SACX,MAAO,OACP,IAAK,IACL,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdH,CACF,CACF,EACMI,EAAqChB,EAAK,QAAQe,EAA8B,CACpF,QAAS,KACT,SAAU,CACR,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,MAAO,EAChB,CAAE,MAAO,IAAK,EACdF,CACF,CACF,CAAC,EACDD,EAAM,SAAW,CACfG,EACAD,EACAJ,EACAV,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,oBACP,EACAa,EAAY,SAAW,CACrBG,EACAF,EACAH,EACAX,EAAK,iBACLA,EAAK,kBACLQ,EACAR,EAAK,QAAQA,EAAK,qBAAsB,CAAE,QAAS,IAAK,CAAC,CAC3D,EACA,IAAMiB,EAAS,CAAE,SAAU,CACzBR,EACAM,EACAD,EACAJ,EACAV,EAAK,iBACLA,EAAK,iBACP,CAAE,EAEIkB,EAAmB,CACvB,MAAO,IACP,IAAK,IACL,SAAU,CACR,CAAE,cAAe,QAAS,EAC1BX,CACF,CACF,EACMY,EAAgBnB,EAAK,SAAW,KAAOA,EAAK,SAAW,aAAeA,EAAK,SAAW,iBACtFoB,EAAgB,CAGpB,MAAO,IAAMpB,EAAK,SAClB,UAAW,CACb,EAEA,MAAO,CACL,KAAM,KACN,QAAS,CACP,KACA,IACF,EACA,SAAUM,EACV,QAAS,KACT,SAAU,CACRN,EAAK,QACH,MACA,IACA,CACE,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,MACP,UAAW,CACb,EACA,CAAE,MAAO,UAAW,EACpB,CACE,MAAO,MACP,IAAK,GACP,CACF,CACF,CACF,CACF,CACF,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,CAAE,QAAS,qFAAsF,CAC7G,EACAiB,EACAT,EACA,CACE,cAAe,kBACf,UAAW,EACX,IAAK,QACL,QAAS,UACT,SAAU,CACR,CAAE,cAAe,aAAc,EAC/BD,EACAW,EACAlB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,YACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAP,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,cAAe,SACf,UAAW,EACX,IAAK,QACL,QAAS,SACT,SAAU,CACRO,EACAW,EACAlB,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAEE,UAAW,OACX,MAAO,oBACP,aAAc,GACd,IAAK,MACL,WAAY,GACZ,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CAGE,cAAe,8BACf,UAAW,CACb,EACA,CACE,UAAW,WACX,MAAO,IAAMmB,EAAgB,SAAWnB,EAAK,SAAW,wBACxD,YAAa,GACb,IAAK,WACL,WAAY,GACZ,SAAUM,EACV,SAAU,CAER,CACE,cAAeJ,EAAmB,KAAK,GAAG,EAC1C,UAAW,CACb,EACA,CACE,MAAOF,EAAK,SAAW,wBACvB,YAAa,GACb,SAAU,CACRA,EAAK,WACLkB,CACF,EACA,UAAW,CACb,EACA,CAAE,MAAO,MAAO,EAChB,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUZ,EACV,UAAW,EACX,SAAU,CACRW,EACAT,EACAR,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAoB,CACF,CACF,CACF,CAEAtB,GAAO,QAAUC,KC3ZjB,IAAAsB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAUjB,SAASC,GAAIR,EAAM,CACjB,IAAMS,EAAQT,EAAK,MACbU,EAAQX,GAAMC,CAAI,EAClBW,EAAgB,CAAE,MAAO,8BAA+B,EACxDC,EAAe,kBACfC,EAAiB,oBACjBC,EAAW,0BACXC,EAAU,CACdf,EAAK,iBACLA,EAAK,iBACP,EAEA,MAAO,CACL,KAAM,MACN,iBAAkB,GAClB,QAAS,UACT,SAAU,CAAE,iBAAkB,SAAU,EACxC,iBAAkB,CAGhB,iBAAkB,cAAe,EACnC,SAAU,CACRU,EAAM,cACNC,EAGAD,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,MAAQI,EACf,UAAW,CACb,EACAJ,EAAM,wBACN,CACE,UAAW,kBACX,SAAU,CACR,CAAE,MAAO,KAAOL,GAAe,KAAK,GAAG,EAAI,GAAI,EAC/C,CAAE,MAAO,SAAWC,GAAgB,KAAK,GAAG,EAAI,GAAI,CACtD,CACF,EAOAI,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASH,GAAW,KAAK,GAAG,EAAI,MACzC,EAEA,CACE,MAAO,IACP,IAAK,QACL,SAAU,CACRG,EAAM,cACNA,EAAM,SACNA,EAAM,UACNA,EAAM,gBACN,GAAGK,EAIH,CACE,MAAO,mBACP,IAAK,KACL,UAAW,EACX,SAAU,CAAE,SAAU,cAAe,EACrC,SAAU,CACR,GAAGA,EACH,CACE,UAAW,SAGX,MAAO,OACP,eAAgB,GAChB,WAAY,EACd,CACF,CACF,EACAL,EAAM,iBACR,CACF,EACA,CACE,MAAOD,EAAM,UAAU,GAAG,EAC1B,IAAK,OACL,UAAW,EACX,QAAS,IACT,SAAU,CACR,CACE,UAAW,UACX,MAAOI,CACT,EACA,CACE,MAAO,KACP,eAAgB,GAChB,WAAY,GACZ,UAAW,EACX,SAAU,CACR,SAAU,UACV,QAASD,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAO,eACP,UAAW,WACb,EACA,GAAGW,EACHL,EAAM,eACR,CACF,CACF,CACF,EACA,CACE,UAAW,eACX,MAAO,OAASP,GAAK,KAAK,GAAG,EAAI,MACnC,CACF,CACF,CACF,CAEAL,GAAO,QAAUU,KCp7BjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CACtB,IAAMC,EAAQD,EAAK,MACbE,EAAc,CAClB,MAAO,gBACP,IAAK,IACL,YAAa,MACb,UAAW,CACb,EACMC,EAAkB,CACtB,MAAO,cACP,IAAK,GACP,EACMC,EAAO,CACX,UAAW,OACX,SAAU,CAER,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,+BAAgC,EAEzC,CACE,MAAO,MACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,WACP,EACA,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,kBAGP,SAAU,CACR,CACE,MAAO,cACP,IAAK,QACP,CACF,EACA,UAAW,CACb,CACF,CACF,EACMC,EAAO,CACX,UAAW,SACX,MAAO,kCACP,IAAK,OACL,WAAY,EACd,EACMC,EAAiB,CACrB,MAAO,eACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,OACX,MAAO,OACP,IAAK,IACL,aAAc,EAChB,CACF,CACF,EACMC,EAAa,0BACbC,EAAO,CACX,SAAU,CAGR,CACE,MAAO,iBACP,UAAW,CACb,EAEA,CACE,MAAO,gEACP,UAAW,CACb,EACA,CACE,MAAOP,EAAM,OAAO,YAAaM,EAAY,YAAY,EACzD,UAAW,CACb,EAEA,CACE,MAAO,wBACP,UAAW,CACb,EAEA,CACE,MAAO,iBACP,UAAW,CACb,CACF,EACA,YAAa,GACb,SAAU,CACR,CAEE,MAAO,UAAW,EACpB,CACE,UAAW,SACX,UAAW,EACX,MAAO,MACP,IAAK,MACL,aAAc,GACd,UAAW,EACb,EACA,CACE,UAAW,OACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,EACA,CACE,UAAW,SACX,UAAW,EACX,MAAO,SACP,IAAK,MACL,aAAc,GACd,WAAY,EACd,CACF,CACF,EACME,EAAO,CACX,UAAW,SACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,aACP,IAAK,MACP,EACA,CACE,MAAO,cACP,IAAK,OACP,CACF,CACF,EACMC,EAAS,CACb,UAAW,WACX,SAAU,CAAC,EACX,SAAU,CACR,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAKMC,EAAsBX,EAAK,QAAQS,EAAM,CAAE,SAAU,CAAC,CAAE,CAAC,EACzDG,EAAsBZ,EAAK,QAAQU,EAAQ,CAAE,SAAU,CAAC,CAAE,CAAC,EACjED,EAAK,SAAS,KAAKG,CAAmB,EACtCF,EAAO,SAAS,KAAKC,CAAmB,EAExC,IAAIE,EAAc,CAChBX,EACAM,CACF,EAEA,OACEC,EACAC,EACAC,EACAC,CACF,EAAE,QAAQE,GAAK,CACbA,EAAE,SAAWA,EAAE,SAAS,OAAOD,CAAW,CAC5C,CAAC,EAEDA,EAAcA,EAAY,OAAOJ,EAAMC,CAAM,EAqCtC,CACL,KAAM,WACN,QAAS,CACP,KACA,SACA,KACF,EACA,SAAU,CA1CG,CACb,UAAW,UACX,SAAU,CACR,CACE,MAAO,UACP,IAAK,IACL,SAAUG,CACZ,EACA,CACE,MAAO,uBACP,SAAU,CACR,CAAE,MAAO,SAAU,EACnB,CACE,MAAO,IACP,IAAK,MACL,SAAUA,CACZ,CACF,CACF,CACF,CACF,EAwBIX,EACAG,EACAI,EACAC,EAzBe,CACjB,UAAW,QACX,MAAO,SACP,SAAUG,EACV,IAAK,GACP,EAsBIT,EACAD,EACAK,EACAF,EAvBW,CAEb,MAAO,UACP,MAAO,oDACT,CAqBE,CACF,CACF,CAEAR,GAAO,QAAUC,KCvPjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACnB,MAAO,CACL,KAAM,OACN,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,OACX,UAAW,GACX,MAAOC,EAAM,OACX,+BACA,8BACA,sBACF,CACF,EACA,CACE,UAAW,UACX,SAAU,CACR,CACE,MAAOA,EAAM,OACX,UACA,SACA,QACA,QACA,UACA,SACA,aACF,EACA,IAAK,GACP,EACA,CAAE,MAAO,UAAW,CACtB,CACF,EACA,CACE,UAAW,WACX,MAAO,MACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,EACA,CACE,UAAW,WACX,MAAO,KACP,IAAK,GACP,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7DjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAiB,qFAEjBC,EAAgBF,EAAM,OAC1B,uBAEA,4BACF,EAEMG,EAA+BH,EAAM,OAAOE,EAAe,UAAU,EAarEE,EAAgB,CACpB,oBAAqB,CACnB,WACA,WACA,cACF,EACA,oBAAqB,CACnB,OACA,OACF,EACA,QAAS,CACP,QACA,MACA,QACA,QACA,QACA,OACA,QACA,UACA,KACA,OACA,QACA,MACA,MACA,SACA,MACA,KACA,KACA,SACA,OACA,MACA,KACA,OACA,UACA,SACA,QACA,SACA,OACA,QACA,SACA,QACA,OACA,QACA,QACA,GAtDe,CACjB,UACA,SACA,UACA,SACA,UACA,YACA,QACA,OACF,CA8CE,EACA,SAAU,CACR,OACA,SACA,gBACA,cACA,cACA,gBACA,mBACA,iBACF,EACA,QAAS,CACP,OACA,QACA,KACF,CACF,EACMC,EAAY,CAChB,UAAW,SACX,MAAO,YACT,EACMC,EAAa,CACjB,MAAO,KACP,IAAK,GACP,EACMC,EAAgB,CACpBR,EAAK,QACH,IACA,IACA,CAAE,SAAU,CAAEM,CAAU,CAAE,CAC5B,EACAN,EAAK,QACH,UACA,QACA,CACE,SAAU,CAAEM,CAAU,EACtB,UAAW,EACb,CACF,EACAN,EAAK,QAAQ,WAAYA,EAAK,gBAAgB,CAChD,EACMS,EAAQ,CACZ,UAAW,QACX,MAAO,MACP,IAAK,KACL,SAAUJ,CACZ,EACMK,EAAS,CACb,UAAW,SACX,SAAU,CACRV,EAAK,iBACLS,CACF,EACA,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,aACP,IAAK,GACP,EACA,CACE,MAAO,cACP,IAAK,IACP,EAGA,CAAE,MAAO,iBAAkB,EAC3B,CAAE,MAAO,2BAA4B,EACrC,CAAE,MAAO,iCAAkC,EAC3C,CAAE,MAAO,yDAA0D,EACnE,CAAE,MAAO,yBAA0B,EACnC,CAAE,MAAO,WAAY,EAErB,CAGE,MAAOR,EAAM,OACX,YACAA,EAAM,UAAU,0CAA0C,CAC5D,EACA,SAAU,CACRD,EAAK,kBAAkB,CACrB,MAAO,QACP,IAAK,QACL,SAAU,CACRA,EAAK,iBACLS,CACF,CACF,CAAC,CACH,CACF,CACF,CACF,EAKME,EAAU,oBACVC,EAAS,kBACTC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAER,CAAE,MAAO,OAAOF,CAAO,SAASC,CAAM,iBAAiBA,CAAM,YAAa,EAI1E,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,gCAAiC,EAC1C,CAAE,MAAO,4CAA6C,EAGtD,CAAE,MAAO,uBAAwB,CACnC,CACF,EAEME,EAAS,CACb,SAAU,CACR,CACE,MAAO,MACT,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,SACL,aAAc,GACd,WAAY,GACZ,SAAUT,CACZ,CACF,CACF,EA2EMU,EAAwB,CAC5BL,EA/DuB,CACvB,SAAU,CACR,CACE,MAAO,CACL,WACAN,EACA,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,sBACAA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,cACH,EAAG,uBACL,EACA,SAAUC,CACZ,EAjCuB,CACrB,MAAO,CACL,sBACAD,CACF,EACA,MAAO,CACL,EAAG,aACL,EACA,SAAUC,CACZ,EA8CwB,CACtB,UAAW,EACX,MAAO,CACLD,EACA,YACF,EACA,MAAO,CACL,EAAG,aACL,CACF,EA7B4B,CAC1B,UAAW,EACX,MAAO,sBACP,UAAW,mBACb,EA4BwB,CACtB,UAAW,EACX,MAAOD,EACP,MAAO,aACT,EA9B0B,CACxB,MAAO,CACL,MAAO,MACPD,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CACRY,CACF,CACF,EA4BE,CAEE,MAAOd,EAAK,SAAW,IAAK,EAC9B,CACE,UAAW,SACX,MAAOA,EAAK,oBAAsB,YAClC,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,WACP,SAAU,CACRU,EACA,CAAE,MAAOR,CAAe,CAC1B,EACA,UAAW,CACb,EACAW,EACA,CAGE,UAAW,WACX,MAAO,4DACT,EACA,CACE,UAAW,SACX,MAAO,UACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,UAAW,EACX,SAAUR,CACZ,EACA,CACE,MAAO,IAAML,EAAK,eAAiB,eACnC,SAAU,SACV,SAAU,CACR,CACE,UAAW,SACX,SAAU,CACRA,EAAK,iBACLS,CACF,EACA,QAAS,KACT,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACP,EACA,CACE,MAAO,OACP,IAAK,UACP,EACA,CACE,MAAO,QACP,IAAK,WACP,EACA,CACE,MAAO,MACP,IAAK,SACP,EACA,CACE,MAAO,QACP,IAAK,WACP,CACF,CACF,CACF,EAAE,OAAOF,EAAYC,CAAa,EAClC,UAAW,CACb,CACF,EAAE,OAAOD,EAAYC,CAAa,EAElCC,EAAM,SAAWM,EACjBD,EAAO,SAAWC,EASlB,IAAMC,GAAc,CAClB,CACE,MAAO,SACP,OAAQ,CACN,IAAK,IACL,SAAUD,CACZ,CACF,EACA,CACE,UAAW,cACX,MAAO,KAfW,QAeY,IAbX,kCAakC,IAZtC,iDAYyD,WACxE,OAAQ,CACN,IAAK,IACL,SAAUV,EACV,SAAUU,CACZ,CACF,CACF,EAEA,OAAAP,EAAc,QAAQD,CAAU,EAEzB,CACL,KAAM,OACN,QAAS,CACP,KACA,UACA,UACA,OACA,KACF,EACA,SAAUF,EACV,QAAS,OACT,SAAU,CAAEL,EAAK,QAAQ,CAAE,OAAQ,MAAO,CAAC,CAAE,EAC1C,OAAOgB,EAAW,EAClB,OAAOR,CAAa,EACpB,OAAOO,CAAqB,CACjC,CACF,CAEAjB,GAAO,QAAUC,KC/bjB,IAAAkB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAGC,EAAM,CAyEhB,IAAMC,EAAW,CACf,QA5BU,CACV,QACA,OACA,OACA,QACA,WACA,UACA,QACA,OACA,cACA,MACA,OACA,KACA,OACA,KACA,SACA,YACA,MACA,UACA,QACA,SACA,SACA,SACA,SACA,OACA,KACF,EAGE,KAnDY,CACZ,OACA,OACA,YACA,aACA,QACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,SACA,SACA,MACA,OACA,UACA,MACF,EA+BE,QA3Ee,CACf,OACA,QACA,OACA,KACF,EAuEE,SAtEgB,CAChB,SACA,MACA,QACA,UACA,OACA,OACA,MACA,OACA,MACA,QACA,QACA,UACA,OACA,UACA,QACF,CAuDA,EACA,MAAO,CACL,KAAM,KACN,QAAS,CAAE,QAAS,EACpB,SAAUA,EACV,QAAS,KACT,SAAU,CACRD,EAAK,oBACLA,EAAK,qBACL,CACE,UAAW,SACX,SAAU,CACRA,EAAK,kBACLA,EAAK,iBACL,CACE,MAAO,IACP,IAAK,GACP,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,6DACP,UAAW,CACb,EACA,CACE,MAAO,sFACP,UAAW,CACb,EACA,CACE,MAAO,wBACP,UAAW,CACb,EACA,CACE,MAAO,uCACP,UAAW,CACb,EACA,CACE,MAAO,wDACP,UAAW,CACb,CACF,CACF,EACA,CAAE,MAAO,IACT,EACA,CACE,UAAW,WACX,cAAe,OACf,IAAK,cACL,WAAY,GACZ,SAAU,CACRA,EAAK,WACL,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,QAAS,MACX,CACF,CACF,CACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC3JjB,IAAAG,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAQC,EAAM,CACrB,IAAMC,EAAQD,EAAK,MACbE,EAAW,yBACjB,MAAO,CACL,KAAM,UACN,QAAS,CAAE,KAAM,EACjB,iBAAkB,GAClB,kBAAmB,GACnB,SAAU,CACR,QAAS,CACP,QACA,WACA,eACA,OACA,QACA,SACA,YACA,YACA,QACA,SACA,WACA,OACA,IACF,EACA,QAAS,CACP,OACA,QACA,MACF,CACF,EACA,SAAU,CACRF,EAAK,kBACLA,EAAK,kBACLA,EAAK,YACL,CACE,MAAO,cACP,MAAO,SACP,UAAW,CACb,EACA,CACE,MAAO,cACP,MAAO,4BACP,UAAW,CACb,EACA,CACE,MAAO,WACP,MAAO,KACP,IAAK,KACL,WAAY,GACZ,UAAW,CACb,EACA,CACE,MAAO,OACP,MAAO,OACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAOC,EAAM,OAAOC,EAAUD,EAAM,UAAU,MAAM,CAAC,EACrD,UAAW,CACb,CACF,EACA,QAAS,CACP,QACA,OACF,CACF,CACF,CAEAH,GAAO,QAAUC,KC7EjB,IAAAI,GAAAC,EAAA,CAAAC,G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CAAEJ,EAAK,oBAAqB,EACtC,WAAY,EACd,EAEA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAM,EACjB,SAAUI,EACV,QAAS,QACT,SAAU,CACRJ,EAAK,QACH,UACA,OACA,CACE,UAAW,EACX,SAAU,CACR,CAEE,MAAO,OACP,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,YACT,CACF,CACF,CACF,EAEA,CACE,MAAO,wBACP,SAAU,SACV,UAAW,CACb,EACAA,EAAK,oBACLA,EAAK,qBACL,CACE,MAAO,MACP,IAAK,MACL,UAAW,SACX,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACAA,EAAK,iBACLA,EAAK,kBACL,CACE,MAAO,CACL,oDACA,MACAE,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CAEE,MAAO,aACP,MAAO,SACT,EACA,CACE,MAAO,CACLD,EAAM,OAAO,WAAYC,CAAa,EACtC,MACAA,EACA,MACA,QACF,EACA,UAAW,CACT,EAAG,OACH,EAAG,WACH,EAAG,UACL,CACF,EACA,CACE,MAAO,CACL,SACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,EACA,SAAU,CACRI,EACAN,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CAGE,cAAe,wBACf,UAAW,CACb,EACA,CACE,MAAO,CACL,MAAQG,EAAmB,QAC3BH,EAAK,oBACL,WACF,EACA,UAAW,CAAE,EAAG,gBAAiB,EACjC,SAAUI,EACV,SAAU,CACR,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,SAAUA,EACV,UAAW,EACX,SAAU,CACRC,EACAL,EAAK,iBACLA,EAAK,kBACLP,GACAO,EAAK,oBACP,CACF,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACAP,GACAY,CACF,CACF,CACF,CAEAhB,GAAO,QAAUU,KClSjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,UAEA,OACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,QACA,UACA,SACA,WACA,eACA,iBACA,SACA,QACF,EAEMC,GAAY,CAAC,EAAE,OACnBF,GACAF,GACAC,EACF,EAWA,SAASI,GAAWC,EAAM,CACxB,IAAMC,EAAQD,EAAK,MAQbE,EAAgB,CAACC,EAAO,CAAE,MAAAC,CAAM,IAAM,CAC1C,IAAMC,EAAM,KAAOF,EAAM,CAAC,EAAE,MAAM,CAAC,EAEnC,OADYA,EAAM,MAAM,QAAQE,EAAKD,CAAK,IAC3B,EACjB,EAEME,EAAaf,GACbgB,EAAW,CACf,MAAO,KACP,IAAK,KACP,EAEMC,EAAmB,4BACnBC,EAAU,CACd,MAAO,sBACP,IAAK,4BAKL,kBAAmB,CAACN,EAAOO,IAAa,CACtC,IAAMC,EAAkBR,EAAM,CAAC,EAAE,OAASA,EAAM,MAC1CS,EAAWT,EAAM,MAAMQ,CAAe,EAC5C,GAIEC,IAAa,KAGbA,IAAa,IACX,CACFF,EAAS,YAAY,EACrB,MACF,CAIIE,IAAa,MAGVV,EAAcC,EAAO,CAAE,MAAOQ,CAAgB,CAAC,GAClDD,EAAS,YAAY,GAOzB,IAAI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,YAAa,GACb,UAAW,EACX,SAAU,CAAEA,EAAK,qBAAsB,CACzC,EACA,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,SAAU,UACV,UAAW,CACb,EACA,CACE,UAAW,SACX,MAAO,KACP,IAAK,KACL,WAAY,GACZ,SAAUC,EACV,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,SACL,eAAgB,GAChB,SAAU,CACRU,EACAX,EAAK,oBACLU,CACF,EACA,UAAW,CACb,EACAV,EAAK,oBACLU,EACAH,EACAC,EACAF,EACAN,EAAK,aACP,CACF,EACAU,CACF,CACF,EACA,CACE,MAAO,CACL,wBACA,MACAV,EAAK,mBACP,EACA,WAAY,CACV,EAAG,aACL,EACA,SAAU,wBACV,IAAK,WACL,WAAY,GACZ,QAAS,qBACT,SAAU,CACR,CAAE,cAAe,+CAAgD,EACjEA,EAAK,sBACL,CACE,UAAW,OACX,MAAO,IACP,IAAK,IACL,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,UACP,IAAK,eACL,aAAc,GACd,UAAW,EACb,EACAO,EACAC,CACF,CACF,EACAF,EACA,CACE,UAAW,OACX,MAAO,kBACP,IAAK,IACL,QAAS;AAAA,CACX,EACAG,CACF,CACF,CACF,CAEAf,GAAO,QAAUK,KC7RjB,IAAAc,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAmBH,GAAe,OAAOC,EAAe,EAAE,KAAK,EAAE,QAAQ,EAY/E,SAASG,GAAKT,EAAM,CAClB,IAAMU,EAAQX,GAAMC,CAAI,EAClBW,EAAqBH,GAErBI,EAAe,kBACfC,EAAW,UACXC,EAAkB,IAAMD,EAAW,QAAUA,EAAW,OAIxDE,EAAQ,CAAC,EAASC,EAAc,CAAC,EAEjCC,EAAc,SAASC,EAAG,CAC9B,MAAO,CAEL,UAAW,SACX,MAAO,KAAOA,EAAI,MAAQA,CAC5B,CACF,EAEMC,EAAa,SAASC,EAAMC,EAAOC,EAAW,CAClD,MAAO,CACL,UAAWF,EACX,MAAOC,EACP,UAAWC,CACb,CACF,EAEMC,EAAc,CAClB,SAAU,UACV,QAASX,EACT,UAAWR,GAAe,KAAK,GAAG,CACpC,EAEMoB,EAAc,CAElB,MAAO,MACP,IAAK,MACL,SAAUR,EACV,SAAUO,EACV,UAAW,CACb,EAGAP,EAAY,KACVhB,EAAK,oBACLA,EAAK,qBACLiB,EAAY,GAAG,EACfA,EAAY,GAAG,EACfP,EAAM,gBACN,CACE,MAAO,oBACP,OAAQ,CAC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CF,EAAE,OAAOA,CAAQ,CACnB,EACAJ,EAAK,cACLA,EAAK,iBACLA,EAAK,kBACL,CACE,UAAW,SACX,MAAOC,EACP,IAAKC,EACL,SAAU,CAAEC,CAAc,EAC1B,UAAW,CACb,CACF,CAAC,CACH,CACF,CAEAL,GAAO,QAAUC,KChFjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAASC,EAAM,CAEtB,IAAMC,EAAW,CACf,UAAW,WACX,SAAU,CACR,CACE,MAAO,SAAWD,EAAK,oBAAsB,MAC7C,SAAU,CAAEA,EAAK,gBAAiB,CACpC,EACA,CAAE,MAAO,gBAAiB,CAC5B,CACF,EAEME,EAAe,CACnB,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRF,EAAK,iBACLC,CACF,CACF,EAEME,EAAO,CACX,UAAW,WACX,MAAO,eACP,IAAK,KACL,SAAU,CAAE,SACR,gPAG+D,EACnE,SAAU,CACRF,EACAC,CACF,CACF,EAEME,EAAa,CAAE,MAAO,IAAMJ,EAAK,oBAAsB,iBAAkB,EAEzEK,EAAO,CACX,UAAW,OACX,MAAO,YACP,IAAK,IACL,SAAU,CACR,SAAU,UACV,QAAS,QACX,CACF,EAEMC,EAAS,CACb,UAAW,UACX,MAAO,WACP,IAAK,IACL,SAAU,CAAEL,CAAS,CACvB,EACA,MAAO,CACL,KAAM,WACN,QAAS,CACP,KACA,MACA,MACF,EACA,SAAU,CACR,SAAU,SACV,QAAS,2HAEX,EACA,SAAU,CACRD,EAAK,kBACLC,EACAC,EACAC,EACAC,EACAC,EACAC,CACF,CACF,CACF,CAEAR,GAAO,QAAUC,KCxFjB,IAAAQ,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,MACA,SACA,QACA,MACA,QACA,OACA,UACA,QACA,QACA,SACA,QACA,QACA,QACA,OACA,QACA,MACA,SACA,QACA,QACA,WACA,UACA,WACA,MACA,QACA,WACA,UACA,UACA,SACA,MACA,KACA,OACA,OACA,OACA,QACA,WACA,aACA,YACA,cACA,WACA,aACA,MACA,OACA,OACA,SACA,OACA,MACA,QACA,QACA,SACA,QACA,MACA,UACA,OACA,SACA,WACA,OACA,WACA,WACA,WACA,gBACA,gBACA,aACA,WACA,eACA,eACA,YACA,cACA,UACA,cACA,iBACA,mBACA,cACA,WACA,WACA,WACA,gBACA,gBACA,aACA,cACA,aACA,QACA,OACA,SACA,OACA,OACA,KACA,MACA,KACA,QACA,MACA,QACA,OACA,OACA,OACA,OACA,KACA,UACA,SACA,OACA,SACA,QACA,YACA,MACA,QACA,KACA,KACA,MACA,SACA,QACA,SACA,SACA,SACA,SACA,KACA,KACA,OACA,KACA,MACA,MACA,OACA,UACA,KACA,MACA,MACA,OACA,UACA,OACA,MACA,MACA,QACA,SACA,YACA,OACA,MACA,KACA,YACA,KACA,KACA,OACA,OACA,UACA,WACA,WACA,WACA,OACA,OACA,MACA,SACA,UACA,QACA,SACA,UACA,YACA,SACA,QACA,MACA,SACA,OACA,UACA,SACA,SACA,SACA,QACA,OACA,WACA,aACA,YACA,UACA,cACA,cACA,WACA,aACA,aACA,QACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,SACA,aACA,OACA,SACA,QACA,UACA,OACA,QACA,OACA,QACA,QACA,MACA,SACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,OACA,UACA,MACA,OACA,OACA,QACA,KACA,WACA,KACA,UACA,QACA,QACA,SACA,SACA,SACA,UACA,QACA,QACA,MACA,QACA,SACA,MACA,OACA,UACA,YACA,OACA,OACA,QACA,QACA,MACA,MACA,KACF,EAGMC,EAAkB,uBAClBC,EAAgB,CACpB,SAAU,SACV,QAASF,EAAS,KAAK,GAAG,CAC5B,EACMG,EAAQ,CACZ,UAAW,QACX,MAAO,UACP,IAAK,MACL,SAAUD,CACZ,EACME,EAAS,CACb,MAAO,OACP,IAAK,IAEP,EACMC,EAAO,CACX,MAAO,OACP,MAAO,yBACT,EAC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ApB,GAAO,QAAUC,KCvfjB,IAAAoB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAWC,EAAM,CACxB,IAAMC,EAAY,CAChB,UAAW,WACX,MAAO,sEACT,EACMC,EAAgB,yBAuJhBC,EAAW,CACf,oBAAqB,CACnB,OACA,OACF,EACA,SAAUD,EACV,QA3IU,CACV,QACA,SACA,SACA,UACA,QACA,SACA,MACA,QACA,WACA,SACA,UACA,KACA,KACA,SACA,OACA,OACA,OACA,QACA,SACA,MACA,OACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,WACA,SACA,YACA,OACA,gBACA,KACA,SACA,YACA,WACA,WACA,SACA,OACA,OACA,KACA,MACA,QACA,SACA,QACA,SACA,WACA,SACA,UACA,kBACA,WACA,aACA,UACA,OACA,YACA,OACA,SACA,SACA,WACA,mBACA,cACA,WACA,YACA,YACA,YACA,UACA,WACA,UACA,QACA,uBACA,WACA,oBACA,oBACA,kBACA,cACA,kBACA,WACA,WACA,YACA,oBACA,eACA,sBACA,gBACA,SACA,SACA,SACA,oBACA,UACA,WACA,mBACA,kBACA,QACA,eACA,4BACA,iBACA,oBACA,2BACA,YACA,eACA,gBACA,UACA,aACA,uBACA,0BACA,wBACA,uBACA,gBACA,mBACA,YACA,aACA,gBACA,iBACA,eACF,EAyBE,QAxBe,CACf,QACA,OACA,QACA,OACA,MACA,MACA,KACA,MACF,EAgBE,SAfgB,CAChB,kBACA,mBACA,gBACA,iBACA,eACF,EAUE,KA/JY,CACZ,MACA,QACA,OACA,WACA,SACA,QACA,OACA,SACA,UACA,UACA,OACA,OACA,OACA,OACA,OACF,CAgJA,EACME,EAAiB,CACrB,SAAUF,EACV,QAAS,CACP,aACA,SACA,YACA,iBACF,CACF,EACA,MAAO,CACL,KAAM,cACN,QAAS,CACP,KACA,OACA,QACA,UACA,eACF,EACA,SAAUC,EACV,QAAS,KACT,SAAU,CACRF,EACAD,EAAK,oBACLA,EAAK,qBACLA,EAAK,cACLA,EAAK,kBACLA,EAAK,iBACL,CACE,UAAW,SACX,SAAU,CACR,CACE,MAAO,KACP,IAAK,IACL,QAAS,MACT,SAAU,CAAEA,EAAK,gBAAiB,CACpC,CACF,CACF,EACA,CACE,UAAW,OACX,MAAO,eACP,IAAK,IACL,SAAU,CAAE,QACR,gFACgC,EACpC,SAAU,CACR,CACE,MAAO,OACP,UAAW,CACb,EACAA,EAAK,QAAQA,EAAK,kBAAmB,CAAE,UAAW,QAAS,CAAC,EAC5D,CACE,UAAW,SACX,MAAO,QACP,IAAK,IACL,QAAS,KACX,EACAA,EAAK,oBACLA,EAAK,oBACP,CACF,EACA,CACE,UAAW,QACX,MAAO,IAAMI,EAAe,QAAQ,KAAK,GAAG,EAAI,OAChD,IAAK,SACL,WAAY,GACZ,SAAUA,EACV,SAAU,CAAEJ,EAAK,qBAAsB,CACzC,EACA,CACE,MAAO,MAAQA,EAAK,oBACpB,UAAW,CACb,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC5PjB,IAAAM,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAYA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MAGbE,EAAe,yBACfC,EAAWF,EAAM,OACrB,2CACAC,CAAY,EAERE,EAA4BH,EAAM,OACtC,yEACAC,CAAY,EACRG,EAAiBJ,EAAM,OAC3B,SACAC,CAAY,EACRI,EAAW,CACf,MAAO,WACP,MAAO,OAASH,CAClB,EACMI,EAAe,CACnB,MAAO,OACP,SAAU,CACR,CAAE,MAAO,SAAU,UAAW,EAAG,EACjC,CAAE,MAAO,MAAO,EAEhB,CAAE,MAAO,MAAO,UAAW,EAAI,EAC/B,CAAE,MAAO,KAAM,CACjB,CACF,EACMC,EAAQ,CACZ,MAAO,QACP,SAAU,CACR,CAAE,MAAO,OAAQ,EACjB,CACE,MAAO,OACP,IAAK,IACP,CACF,CACF,EACMC,EAAgBT,EAAK,QAAQA,EAAK,iBAAkB,CAAE,QAAS,IAAM,CAAC,EACtEU,EAAgBV,EAAK,QAAQA,EAAK,kBAAmB,CACzD,QAAS,KACT,SAAUA,EAAK,kBAAkB,SAAS,OAAOQ,CAAK,CACxD,CAAC,EAEKG,EAAU,CACd,MAAO,+BACP,IAAK,gBACL,SAAUX,EAAK,kBAAkB,SAAS,OAAOQ,CAAK,EACtD,WAAY,CAACI,GAAGC,KAAS,CAAEA,GAAK,KAAK,YAAcD,GAAE,CAAC,GAAKA,GAAE,CAAC,CAAG,EACjE,SAAU,CAACA,GAAGC,KAAS,CAAMA,GAAK,KAAK,cAAgBD,GAAE,CAAC,GAAGC,GAAK,YAAY,CAAG,CACnF,EAEMC,EAASd,EAAK,kBAAkB,CACpC,MAAO,qBACP,IAAK,eACP,CAAC,EAEKe,EAAa;AAAA,GACbC,EAAS,CACb,MAAO,SACP,SAAU,CACRN,EACAD,EACAE,EACAG,CACF,CACF,EACMG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CAAE,MAAO,6BAA8B,EACvC,CAAE,MAAO,+BAAgC,EACzC,CAAE,MAAO,2CAA4C,EAErD,CAAE,MAAO,4EAA6E,CACxF,EACA,UAAW,CACb,EACMC,EAAW,CACf,QACA,OACA,MACF,EACMC,EAAM,CAGV,YACA,UACA,WACA,eACA,2BACA,WACA,aACA,gBACA,YAGA,MACA,OACA,OACA,UACA,eACA,QACA,UACA,eAMA,QACA,WACA,MACA,KACA,SACA,OACA,UACA,QACA,WACA,OACA,QACA,QACA,QACA,QACA,WACA,UACA,UACA,KACA,SACA,OACA,SACA,QACA,aACA,SACA,aACA,QACA,YACA,WACA,OACA,OACA,UACA,QACA,UACA,QACA,MACA,UACA,OACA,SACA,OACA,KACA,aACA,aACA,YACA,MACA,UACA,YACA,QACA,WACA,OACA,UACA,QACA,MACA,QACA,SACA,KACA,UACA,YACA,SACA,WACA,OACA,SACA,SACA,SACA,QACA,QACA,MACA,QACA,MACA,MACA,OACA,QACA,MACA,OACF,EAEMC,EAAY,CAGhB,UACA,iBACA,qBACA,kBACA,gBACA,cACA,iBACA,2BACA,yBACA,kBACA,yBACA,eACA,YACA,oBACA,sBACA,kBACA,gBACA,iBACA,YACA,qBACA,iBACA,eACA,mBACA,2BACA,mBACA,kBACA,gBACA,iBACA,m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AAK,QAAQ,KAAM,GAAG,EACtBA,EAAK,QACH,OACA,OACA,CAAE,SAAU,CACV,CACE,MAAO,SACP,MAAO,YACT,CACF,CAAE,CACJ,EACA,CACE,MAAO,uBACP,SAAU,kBACV,OAAQ,CACN,MAAO,UACP,IAAKA,EAAK,iBACV,SAAU,CACR,CACE,MAAO,MACP,MAAO,OACP,WAAY,EACd,CACF,CACF,CACF,EACAO,EACA,CACE,MAAO,oBACP,MAAO,UACT,EACAD,EACAyB,EACAH,EACA,CACE,MAAO,CACL,QACA,KACAzB,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,mBACL,CACF,EACAuB,EACA,CACE,MAAO,WACP,UAAW,EACX,cAAe,cACf,IAAK,OACL,WAAY,GACZ,QAAS,UACT,SAAU,CACR,CAAE,cAAe,KAAO,EACxB1B,EAAK,sBACL,CACE,MAAO,KACP,WAAY,EACd,EACA,CACE,MAAO,SACP,MAAO,MACP,IAAK,MACL,aAAc,GACd,WAAY,GACZ,SAAUqB,EACV,SAAU,CACR,OACAY,GACA3B,EACAsB,EACA5B,EAAK,qBACLgB,EACAC,CACF,CACF,CACF,CACF,EACA,CACE,MAAO,QACP,SAAU,CACR,CACE,cAAe,OACf,QAAS,OACX,EACA,CACE,cAAe,wBACf,QAAS,QACX,CACF,EACA,UAAW,EACX,IAAK,KACL,WAAY,GACZ,SAAU,CACR,CAAE,cAAe,oBAAqB,EACtCjB,EAAK,qBACP,CACF,EAIA,CACE,cAAe,YACf,UAAW,EACX,IAAK,IACL,QAAS,OACT,SAAU,CAAEA,EAAK,QAAQA,EAAK,sBAAuB,CAAE,MAAO,aAAc,CAAC,CAAE,CACjF,EACA,CACE,cAAe,MACf,UAAW,EACX,IAAK,IACL,SAAU,CAER,CACE,MAAO,0BACP,MAAO,SACT,EAEAA,EAAK,qBACP,CACF,EACAgB,EACAC,CACF,CACF,CACF,CAEAnB,GAAO,QAAUC,KChnBjB,IAAAmC,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAQA,SAASC,GAAYC,EAAM,CACzB,MAAO,CACL,KAAM,eACN,YAAa,MACb,SAAU,CACR,CACE,MAAO,cACP,IAAK,MACL,YAAa,MACb,SAAU,CAGR,CACE,MAAO,OACP,IAAK,OACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,IACL,KAAM,EACR,EACAA,EAAK,QAAQA,EAAK,iBAAkB,CAClC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,EACDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,QAAS,KACT,UAAW,KACX,SAAU,KACV,KAAM,EACR,CAAC,CACH,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KCrDjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAUC,EAAM,CACvB,MAAO,CACL,KAAM,aACN,QAAS,CACP,OACA,KACF,EACA,kBAAmB,EACrB,CACF,CAEAF,GAAO,QAAUC,KClBjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAOC,EAAM,CACpB,IAAMC,EAAQD,EAAK,MACbE,EAAW,qCACXC,EAAiB,CACrB,MACA,KACA,SACA,QACA,QACA,QACA,OACA,QACA,WACA,MACA,MACA,OACA,OACA,SACA,UACA,MACA,OACA,SACA,KACA,SACA,KACA,KACA,SACA,QACA,cACA,MACA,KACA,OACA,QACA,SACA,MACA,QACA,OACA,OACF,EAsGMC,EAAW,CACf,SAAU,sBACV,QAASD,EACT,SAvGgB,CAChB,aACA,MACA,MACA,MACA,QACA,MACA,OACA,aACA,YACA,QACA,WACA,MACA,cACA,UACA,UACA,UACA,OACA,MACA,SACA,YACA,OACA,OACA,SACA,QACA,SACA,YACA,UACA,UACA,UACA,OACA,OACA,MACA,KACA,QACA,MACA,aACA,aACA,OACA,MACA,OACA,SACA,MACA,MACA,aACA,MACA,OACA,SACA,MACA,OACA,MACA,MACA,QACA,WACA,QACA,OACA,WACA,QACA,MACA,UACA,QACA,SACA,eACA,MACA,MACA,QACA,QACA,OACA,OACA,KACF,EAkCE,QAhCe,CACf,YACA,WACA,QACA,OACA,iBACA,MACF,EA0BE,KArBY,CACZ,MACA,WACA,YACA,OACA,OACA,UACA,UACA,WACA,WACA,MACA,QACA,OACA,OACF,CAQA,EAEME,EAAS,CACb,UAAW,OACX,MAAO,gBACT,EAEMC,EAAQ,CACZ,UAAW,QACX,MAAO,KACP,IAAK,KACL,SAAUF,EACV,QAAS,GACX,EAEMG,EAAkB,CACtB,MAAO,OACP,UAAW,CACb,EAEMC,EAAS,CACb,UAAW,SACX,SAAU,CAAER,EAAK,gBAAiB,EAClC,SAAU,CACR,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRA,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,yCACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,CACF,EACA,UAAW,EACb,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRL,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,8BACP,IAAK,MACL,SAAU,CACRN,EAAK,iBACLK,EACAE,EACAD,CACF,CACF,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,eACP,IAAK,IACL,UAAW,EACb,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,GACP,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACA,CACE,MAAO,4BACP,IAAK,IACL,SAAU,CACRN,EAAK,iBACLO,EACAD,CACF,CACF,EACAN,EAAK,iBACLA,EAAK,iBACP,CACF,EAGMS,EAAY,kBACZC,EAAa,QAAQD,CAAS,UAAUA,CAAS,SAASA,CAAS,OAMnEE,EAAY,OAAOR,EAAe,KAAK,GAAG,CAAC,GAC3CS,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CAWR,CACE,MAAO,QAAQH,CAAS,MAAMC,CAAU,eAAeD,CAAS,YAAYE,CAAS,GACvF,EACA,CACE,MAAO,IAAID,CAAU,QACvB,EAQA,CACE,MAAO,0CAA0CC,CAAS,GAC5D,EACA,CACE,MAAO,4BAA4BA,CAAS,GAC9C,EACA,CACE,MAAO,6BAA6BA,CAAS,GAC/C,EACA,CACE,MAAO,mCAAmCA,CAAS,GACrD,EAIA,CACE,MAAO,OAAOF,CAAS,WAAWE,CAAS,GAC7C,CACF,CACF,EACME,EAAe,CACnB,UAAW,UACX,MAAOZ,EAAM,UAAU,SAAS,EAChC,IAAK,IACL,SAAUG,EACV,SAAU,CACR,CACE,MAAO,SACT,EAEA,CACE,MAAO,IACP,IAAK,OACL,eAAgB,EAClB,CACF,CACF,EACMU,EAAS,CACb,UAAW,SACX,SAAU,CAER,CACE,UAAW,GACX,MAAO,UACP,KAAM,EACR,EACA,CACE,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,GACZ,SAAUV,EACV,SAAU,CACR,OACAC,EACAO,EACAJ,EACAR,EAAK,iBACP,CACF,CACF,CACF,EACA,OAAAM,EAAM,SAAW,CACfE,EACAI,EACAP,CACF,EAEO,CACL,KAAM,SACN,QAAS,CACP,KACA,MACA,SACF,EACA,aAAc,GACd,SAAUD,EACV,QAAS,cACT,SAAU,CACRC,EACAO,EACA,CAEE,MAAO,oBACP,MAAO,UACT,EACA,CAGE,cAAe,KACf,UAAW,CACb,EACA,CAAE,MAAO,SAAU,MAAO,SAAU,EACpCJ,EACAK,EACAb,EAAK,kBACL,CACE,MAAO,CACL,QAAS,MACTE,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,gBACL,EACA,SAAU,CAAEY,CAAO,CACrB,EACA,CACE,SAAU,CACR,CACE,MAAO,CACL,UAAW,MACXZ,EAAU,MACV,QAASA,EAAS,OACpB,CACF,EACA,CACE,MAAO,CACL,UAAW,MACXA,CACF,CACF,CACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,cACH,EAAG,uBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,WACP,IAAK,UACL,SAAU,CACRU,EACAE,EACAN,CACF,CACF,CACF,CACF,CACF,CAEAV,GAAO,QAAUC,KCnbjB,IAAAgB,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAOA,SAASC,GAAWC,EAAM,CACxB,MAAO,CACL,QAAS,CAAE,OAAQ,EACnB,SAAU,CACR,CACE,UAAW,cACX,OAAQ,CAGN,IAAK,MACL,OAAQ,CACN,IAAK,IACL,YAAa,QACf,CACF,EACA,SAAU,CACR,CAAE,MAAO,eAAgB,EACzB,CAAE,MAAO,kBAAmB,CAC9B,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KC/BjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAEC,EAAM,CACf,IAAMC,EAAQD,EAAK,MAObE,EAAW,uDACXC,EAAkBF,EAAM,OAE5B,gDAEA,0CAEA,+CACF,EACMG,EAAe,mEACfC,EAAiBJ,EAAM,OAC3B,OACA,OACA,OACA,QACA,KACA,GACF,EAEA,MAAO,CACL,KAAM,IAEN,SAAU,CACR,SAAUC,EACV,QACE,kDACF,QACE,wFAEF,SAEE,ghCAqBJ,EAEA,SAAU,CAERF,EAAK,QACH,KACA,IACA,CAAE,SAAU,CACV,CAME,MAAO,SACP,MAAO,YACP,OAAQ,CACN,IAAKC,EAAM,UAAUA,EAAM,OAEzB,yBAEA,WACF,CAAC,EACD,WAAY,EACd,CACF,EACA,CAGE,MAAO,SACP,MAAO,SACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,WACP,SAAU,CACR,CAAE,MAAOC,CAAS,EAClB,CAAE,MAAO,mBAAoB,CAC/B,EACA,WAAY,EACd,CACF,CACF,EACA,CACE,MAAO,SACP,MAAO,YACT,EACA,CACE,MAAO,UACP,MAAO,aACT,CACF,CAAE,CACJ,EAEAF,EAAK,kBAEL,CACE,MAAO,SACP,SAAU,CAAEA,EAAK,gBAAiB,EAClC,SAAU,CACRA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACDA,EAAK,kBAAkB,CACrB,MAAO,cACP,IAAK,SACP,CAAC,EACD,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,EACA,CACE,MAAO,IACP,IAAK,IACL,UAAW,CACb,CACF,CACF,EAWA,CACE,UAAW,EACX,SAAU,CACR,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACLI,EACAD,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,WACH,EAAG,QACL,EACA,MAAO,CACL,UACAA,CACF,CACF,EACA,CACE,MAAO,CACL,EAAG,cACH,EAAG,QACL,EACA,MAAO,CACLE,EACAF,CACF,CACF,EACA,CACE,MAAO,CAAE,EAAG,QAAS,EACrB,MAAO,CACL,mBACAA,CACF,CACF,CACF,CACF,EAGA,CAEE,MAAO,CAAE,EAAG,UAAW,EACvB,MAAO,CACLD,EACA,MACA,KACA,KACF,CACF,EAEA,CACE,MAAO,WACP,UAAW,EACX,SAAU,CACR,CAAE,MAAOE,CAAa,EACtB,CAAE,MAAO,SAAU,CACrB,CACF,EAEA,CACE,MAAO,cACP,UAAW,EACX,MAAOC,CACT,EAEA,CAEE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,KAAM,CAAE,CAC/B,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KChQjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAUA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAQD,EAAK,MAGbE,EAAiB,QACjBC,EAAsBF,EAAM,OAAOC,EAAgBF,EAAK,mBAAmB,EAC3EI,EAAWH,EAAM,OAAOC,EAAgBF,EAAK,QAAQ,EAErDK,EAAkB,CACtB,UAAW,wBACX,UAAW,EACX,MAAOJ,EAAM,OACX,KACA,oCACAG,EACAH,EAAM,UAAU,OAAO,CAAC,CAC5B,EACMK,EAAgB,wCAChBC,EAAW,CACf,WACA,KACA,QACA,QACA,SACA,MACA,QACA,QACA,WACA,QACA,KACA,MACA,OACA,OACA,SACA,QACA,QACA,KACA,MACA,KACA,OACA,KACA,MACA,OACA,QACA,QACA,MACA,OACA,MACA,WACA,OACA,MACA,MACA,SACA,OACA,OACA,SACA,SACA,QACA,QACA,OACA,MACA,OACA,SACA,QACA,SACA,UACA,MACA,UACA,QACA,QACA,OACF,EACMC,EAAW,CACf,OACA,QACA,OACA,OACA,KACA,KACF,EACMC,EAAW,CAEf,QAEA,OACA,OACA,QACA,OACA,OACA,KACA,QACA,SACA,UACA,QACA,QACA,YACA,aACA,KACA,MACA,QACA,QACA,OACA,OACA,UACA,WACA,SACA,eACA,sBACA,oBACA,iBACA,WAEA,UACA,aACA,YACA,SACA,OACA,OACA,UACA,iBACA,gBACA,mBACA,OACA,YACA,SACA,QACA,UACA,eACA,iBACA,eACA,QACA,kBACA,eACA,cACA,SACA,WACA,UACA,aACA,OACA,iBACA,eACA,OACA,SACA,WACA,eACA,aACA,kBACF,EACMC,EAAQ,CACZ,KACA,MACA,MACA,MACA,OACA,QACA,KACA,MACA,MACA,MACA,OACA,QACA,MACA,MACA,MACA,OACA,OACA,MACA,SACA,SACA,SACA,KACF,EACA,MAAO,CACL,KAAM,OACN,QAAS,CAAE,IAAK,EAChB,SAAU,CACR,SAAUV,EAAK,SAAW,KAC1B,KAAMU,EACN,QAASH,EACT,QAASC,EACT,SAAUC,CACZ,EACA,QAAS,KACT,SAAU,CACRT,EAAK,oBACLA,EAAK,QAAQ,OAAQ,OAAQ,CAAE,SAAU,CAAE,MAAO,CAAE,CAAC,EACrDA,EAAK,QAAQA,EAAK,kBAAmB,CACnC,MAAO,MACP,QAAS,IACX,CAAC,EACD,CACE,UAAW,SAEX,MAAO,8BACT,EACA,CACE,MAAO,SACP,SAAU,CACR,CAAE,MAAO,0BAA2B,EACpC,CACE,MAAO,MACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,cACP,MAAO,+BACT,CACF,CACF,CACF,CACF,EACA,CACE,UAAW,SACX,SAAU,CACR,CAAE,MAAO,gBAAkBM,CAAc,EACzC,CAAE,MAAO,iBAAmBA,CAAc,EAC1C,CAAE,MAAO,uBAAyBA,CAAc,EAChD,CAAE,MAAO,kDACEA,CAAc,CAC3B,EACA,UAAW,CACb,EACA,CACE,MAAO,CACL,KACA,MACAH,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,gBACL,CACF,EACA,CACE,UAAW,OACX,MAAO,SACP,IAAK,MACL,SAAU,CACR,CACE,UAAW,SACX,MAAO,IACP,IAAK,IACL,SAAU,CACRH,EAAK,gBACP,CACF,CACF,CACF,EACA,CACE,MAAO,CACL,MACA,MACA,cACAG,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,UACH,EAAG,UACL,CACF,EAEA,CACE,MAAO,CACL,MACA,MACAA,EACA,MACA,IACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,WACH,EAAG,SACL,CACF,EACA,CACE,MAAO,CACL,OACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAO,CACL,uCACA,MACAA,CACF,EACA,UAAW,CACT,EAAG,UACH,EAAG,aACL,CACF,EACA,CACE,MAAOH,EAAK,SAAW,KACvB,SAAU,CACR,QAAS,OACT,SAAUS,EACV,KAAMC,CACR,CACF,EACA,CACE,UAAW,cACX,MAAO,IACT,EACAL,CACF,CACF,CACF,CAEAP,GAAO,QAAUC,KCrUjB,IAAAY,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAASC,IACN,CACL,UAAW,CACT,MAAO,OACP,MAAO,YACT,EACA,cAAeA,EAAK,qBACpB,SAAU,CACR,MAAO,SACP,MAAO,iDACT,EACA,kBAAmB,CACjB,UAAW,WACX,MAAO,cACT,EACA,wBAAyB,CACvB,MAAO,gBACP,MAAO,KACP,IAAK,KACL,QAAS,IACT,SAAU,CACRA,EAAK,iBACLA,EAAK,iBACP,CACF,EACA,gBAAiB,CACf,MAAO,SACP,MAAOA,EAAK,UAAY,kGASxB,UAAW,CACb,EACA,aAAc,CACZ,UAAW,OACX,MAAO,2BACT,CACF,GAGIC,GAAY,CAChB,IACA,OACA,UACA,UACA,QACA,QACA,IACA,aACA,OACA,SACA,SACA,UACA,OACA,OACA,KACA,MACA,UACA,MACA,MACA,KACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,SACA,OACA,IACA,SACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,OACA,OACA,MACA,SACA,KACA,WACA,SACA,IACA,UACA,IACA,QACA,OACA,UACA,SACA,SACA,OACA,SACA,UACA,MACA,QACA,QACA,KACA,WACA,QACA,KACA,QACA,OACA,KACA,KACA,MACA,OACF,EAEMC,GAAW,CACf,OACA,IACA,SACA,OACA,UACA,MACA,SACA,SACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,UACA,iBACA,UACA,UACA,eACA,WACA,qBACA,SACA,eACA,iBACA,iBACA,OACA,SACA,UACA,QACA,OACA,OACA,UACA,WACA,OACA,OACA,MACA,WACA,QACA,gBACA,UACF,EAEMC,GAAO,CACX,GAAGF,GACH,GAAGC,EACL,EAKME,GAAiB,CACrB,YACA,cACA,eACA,QACA,cACA,cACA,sBACA,gBACA,eACA,eACA,gBACA,OACA,SACA,QACA,kBACA,aACA,cACA,iBACA,kBACA,UACA,uBACA,mBACA,yBACA,+BACA,aACA,OACA,YACA,SACA,QAEA,YACA,YACA,aACA,YACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAiB,CACrB,SACA,WACA,QACA,UACA,UACA,UACA,UACA,MACA,WACA,OACA,QACA,UACA,QACA,cACA,gBACA,aACA,SACA,QACA,gBACA,eACA,MACA,OACA,eACA,QACA,gBACA,WACA,UACA,KACA,OACA,aACA,eACA,OACA,OACA,aACA,MACA,YACA,UACA,iBACA,eACA,mBACA,cACA,aACA,eACA,WACA,eACA,OACA,oBACA,YACA,aACA,WACA,QACA,OACA,QACA,SACA,gBACA,eACA,QACA,UACA,OACF,EAAE,KAAK,EAAE,QAAQ,EAGXC,GAAkB,CACtB,QACA,WACA,SACA,MACA,aACA,eACA,aACA,gBACA,SACA,OACA,cACA,YACA,UACA,gBACF,EAAE,KAAK,EAAE,QAAQ,EAEXC,GAAa,CACjB,eACA,gBACA,cACA,aACA,qBACA,MACA,cACA,YACA,wBACA,kBACA,sBACA,qBACA,sBACA,4BACA,iBACA,uBACA,kBACA,sBACA,wBACA,qBACA,4BACA,aACA,eACA,kBACA,sBACA,aACA,wBACA,wBACA,kBACA,mBACA,mBACA,oBACA,sBACA,wBACA,wBACA,oBACA,kBACA,iBACA,aACA,SACA,eACA,qBACA,mBACA,yBACA,yBACA,yBACA,qBACA,2BACA,2BACA,2BACA,qBACA,qBACA,gBACA,sBACA,4BACA,6BACA,sBACA,sBACA,kBACA,eACA,wBACA,0BACA,eACA,sBACA,sBACA,qBACA,sBACA,qBACA,gBACA,sBACA,oBACA,0BACA,0BACA,0BACA,sBACA,4BACA,4BACA,4BACA,sBACA,sBACA,cACA,oBACA,oBACA,oBACA,gBACA,eACA,qBACA,qBACA,qBACA,iBACA,0BACA,4BACA,eACA,aACA,mBACA,yBACA,0BACA,mBACA,mBACA,eACA,SACA,YACA,uBACA,gBACA,WACA,iBACA,YACA,oBACA,aACA,WACA,aACA,aACA,cACA,eACA,eACA,eACA,cACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,eACA,eACA,cACA,aACA,cACA,oBACA,oBACA,oBACA,cACA,eACA,UACA,UACA,+BACA,2BACA,gCACA,yBACA,0BACA,YACA,iBACA,iBACA,UACA,qBACA,oBACA,gBACA,cACA,MACA,YACA,aACA,SACA,KACA,KACA,YACA,UACA,oBACA,cACA,oBACA,eACA,OACA,eACA,YACA,SACA,OACA,aACA,iBACA,YACA,YACA,cACA,YACA,QACA,cACA,gBACA,OACA,OACA,eACA,cACA,wBACA,eACA,yBACA,sBACA,eACA,YACA,mBACA,cACA,iBACA,eACA,aACA,iBACA,0BACA,4BACA,uBACA,wBACA,eACA,0BACA,oBACA,0BACA,qBACA,yBACA,uBACA,wBACA,0BACA,cACA,sBACA,MACA,+BACA,6BACA,OACA,YACA,oBACA,iBACA,iBACA,cACA,kBACA,oBACA,WACA,WACA,eACA,iBACA,gBACA,sBACA,wBACA,qBACA,sBACA,SACA,sBACA,wBACA,UACA,OACA,oBACA,kBACA,mBACA,WACA,iBACA,uBACA,cACA,QACA,aACA,cACA,kBACA,oBACA,eACA,mBACA,qBACA,YACA,kBACA,gBACA,eACA,UACA,OACA,iBACA,iBACA,aACA,cACA,mBACA,aACA,mBACA,sBACA,kBACA,SACA,eACA,mBACA,qBACA,gBACA,gBACA,oBACA,sBACA,cACA,eACA,aACA,cACA,SACA,aACA,aACA,eACA,QACA,OACA,cACA,mBACA,qBACA,qBACA,oBACA,qBACA,oBACA,YACA,iBACA,aACA,YACA,cACA,gBACA,cACA,YACA,YACA,oBACA,aACA,aACA,aACA,iBACA,aACA,kBACA,YACA,iBACA,aACA,kBACA,YACA,iBACA,WACA,YACA,WACA,YACA,SACA,OACA,SACA,aACA,kBACA,SACA,gBACA,kBACA,cACA,kBACA,gBACA,UACA,QACA,UACA,UACA,gBACA,iBACA,gBACA,gBACA,WACA,kBACA,iBACA,uBACA,kBACA,gBACA,aACA,aACA,UACA,sBACA,4BACA,6BACA,wBACA,wBACA,UACA,gBACA,oBACA,sBACA,iBACA,iBACA,qBACA,uBACA,eACA,gBACA,cACA,OACA,mBACA,oBACA,oBACA,cACA,QACA,cACA,eACA,cACA,qBACA,gBACA,cACA,aACA,iBACA,WACA,kBACA,sBACA,qBACA,SACA,IACA,SACA,OACA,aACA,cACA,QACA,SACA,UACA,aACA,gBACA,QACA,kBACA,gBACA,sBACA,0BACA,4BACA,uBACA,uBACA,2BACA,6BACA,qBACA,sBACA,oBACA,iBACA,uBACA,2BACA,6BACA,wBACA,wBACA,4BACA,8BACA,sBACA,uBACA,qBACA,oBACA,mBACA,mBACA,kBACA,uBACA,uBACA,kBACA,mBACA,kBACA,wBACA,eACA,gBACA,kBACA,QACA,WACA,MACA,aACA,eACA,SACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,eACA,WACA,eACA,aACA,iBACA,kBACA,cACA,uBACA,kBACA,wBACA,uBACA,uBACA,2BACA,wBACA,4BACA,gBACA,sBACA,yBACA,sBACA,cACA,eACA,mBACA,gBACA,iBACA,cACA,mBACA,iBACA,wBACA,0BACA,YACA,iBACA,kBACA,iBACA,MACA,eACA,YACA,gBACA,mBACA,kBACA,aACA,sBACA,mBACA,sBACA,sBACA,6BACA,YACA,eACA,cACA,cACA,gBACA,iBACA,gBACA,qBACA,sBACA,qBACA,uBACA,aACA,gBACA,iBACA,eACA,cACA,cACA,aACA,eACA,eACA,cACA,uBACA,SACA,QACA,cACA,aACA,eACA,YACA,eACA,IACA,IACA,UACA,MACF,EAAE,KAAK,EAAE,QAAQ,EAYjB,SAASC,GAAKR,EAAM,CAClB,IAAMS,EAAQV,GAAMC,CAAI,EAClBU,EAAoBJ,GACpBK,EAAmBN,GAEnBO,EAAgB,WAChBC,EAAe,kBAEfC,EAAW,CACf,UAAW,WACX,MAAO,OAHQ,0BAGY,OAC3B,UAAW,CACb,EAEA,MAAO,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,SACT,SAAU,CACRd,EAAK,oBACLA,EAAK,qBAGLS,EAAM,gBACN,CACE,UAAW,cACX,MAAO,kBACP,UAAW,CACb,EACA,CACE,UAAW,iBACX,MAAO,oBACP,UAAW,CACb,EACAA,EAAM,wBACN,CACE,UAAW,eACX,MAAO,OAASN,GAAK,KAAK,GAAG,EAAI,OAEjC,UAAW,CACb,EACA,CACE,UAAW,kBACX,MAAO,KAAOQ,EAAiB,KAAK,GAAG,EAAI,GAC7C,EACA,CACE,UAAW,kBACX,MAAO,SAAWD,EAAkB,KAAK,GAAG,EAAI,GAClD,EACAI,EACA,CACE,MAAO,KACP,IAAK,KACL,SAAU,CAAEL,EAAM,eAAgB,CACpC,EACAA,EAAM,aACN,CACE,UAAW,YACX,MAAO,OAASF,GAAW,KAAK,GAAG,EAAI,MACzC,EACA,CAAE,MAAO,4oCAA6oC,EACtpC,CACE,MAAO,IACP,IAAK,QACL,UAAW,EACX,SAAU,CACRE,EAAM,cACNK,EACAL,EAAM,SACNA,EAAM,gBACNT,EAAK,kBACLA,EAAK,iBACLS,EAAM,UACNA,EAAM,iBACR,CACF,EAIA,CACE,MAAO,oBACP,SAAU,CACR,SAAUG,EACV,QAAS,kBACX,CACF,EACA,CACE,MAAO,IACP,IAAK,OACL,YAAa,GACb,SAAU,CACR,SAAU,UACV,QAASC,EACT,UAAWT,GAAe,KAAK,GAAG,CACpC,EACA,SAAU,CACR,CACE,MAAOQ,EACP,UAAW,SACb,EACA,CACE,MAAO,eACP,UAAW,WACb,EACAE,EACAd,EAAK,kBACLA,EAAK,iBACLS,EAAM,SACNA,EAAM,eACR,CACF,EACAA,EAAM,iBACR,CACF,CACF,CAEAX,GAAO,QAAUU,KC16BjB,IAAAO,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAMC,EAAM,CACnB,MAAO,CACL,KAAM,gBACN,QAAS,CACP,UACA,cACF,EACA,SAAU,CACR,CACE,UAAW,cAIX,MAAO,qCACP,OAAQ,CACN,IAAK,gBACL,YAAa,MACf,CACF,CACF,CACF,CACF,CAEAF,GAAO,QAAUC,KChCjB,IAAAE,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CAsBA,SAASC,GAAIC,EAAM,CACjB,IAAMC,EAAQD,EAAK,MACbE,EAAeF,EAAK,QAAQ,KAAM,GAAG,EACrCG,EAAS,CACb,MAAO,SACP,SAAU,CACR,CACE,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,CACF,CACF,EACMC,EAAoB,CACxB,MAAO,IACP,IAAK,IACL,SAAU,CAAE,CAAE,MAAO,IAAK,CAAE,CAC9B,EAEMC,EAAW,CACf,OACA,QAGA,SACF,EAEMC,EAAmB,CACvB,mBACA,eACA,gBACA,kBACF,EAEMC,EAAQ,CACZ,SACA,SACA,OACA,UACA,OACA,YACA,OACA,OACA,MACA,WACA,UACA,QACA,MACA,UACA,WACA,QACA,QACA,WACA,UACA,OACA,MACA,WACA,OACA,YACA,UACA,UACA,WACF,EAEMC,EAAqB,CACzB,MACA,MACA,YACA,OACA,QACA,QACA,OACA,MACF,EAGMC,EAAiB,CACrB,MACA,OACA,MACA,WACA,QACA,MACA,MACA,MACA,QACA,YACA,wBACA,KACA,aACA,OACA,aACA,KACA,OACA,SACA,gBACA,MACA,QACA,cACA,kBACA,UACA,SACA,SACA,OACA,UACA,OACA,KACA,OACA,SACA,cACA,WACA,OACA,OACA,OACA,UACA,OACA,cACA,YACA,mBACA,QACA,aACA,OACA,QACA,WACA,UACA,UACA,SACA,SACA,YACA,UACA,aACA,WACA,UACA,OACA,OACA,gBACA,MACA,OACA,QACA,YACA,aACA,SACA,QACA,OACA,YACA,UACA,kBACA,eACA,kCACA,eACA,eACA,cACA,iBACA,eACA,oBACA,eACA,eACA,mCACA,eACA,SACA,QACA,OACA,MACA,aACA,MACA,UACA,WACA,UACA,UACA,SACA,SACA,aACA,QACA,WACA,gBACA,aACA,WACA,SACA,OACA,UACA,OACA,UACA,OACA,QACA,MACA,YACA,gBACA,WACA,SACA,SACA,QACA,SACA,OACA,UACA,SACA,MACA,WACA,UACA,QACA,QACA,SACA,cACA,QACA,QACA,MACA,UACA,YACA,OACA,OACA,OACA,WACA,SACA,MACA,SACA,QACA,QACA,WACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,UACA,QACA,QACA,cACA,SACA,MACA,UACA,YACA,eACA,WACA,OACA,KACA,OACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,WACA,QACA,aACA,UACA,OACA,UACA,OACA,OACA,aACA,UACA,KACA,QACA,YACA,iBACA,MACA,QACA,QACA,QACA,eACA,kBACA,UACA,MACA,SACA,QACA,SACA,MACA,SACA,MACA,WACA,SACA,QACA,WACA,WACA,UACA,QACA,QACA,MACA,KACA,OACA,YACA,MACA,YACA,QACA,OACA,SACA,UACA,eACA,oBACA,KACA,SACA,MACA,OACA,KACA,MACA,OACA,OACA,KACA,QACA,MACA,QACA,OACA,WACA,UACA,YACA,YACA,UACA,MACA,UACA,eACA,kBACA,kBACA,SACA,UACA,WACA,iBACA,QACA,WACA,YACA,UACA,UACA,YACA,MACA,QACA,OACA,QACA,OACA,YACA,MACA,aACA,cACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,UACA,SACA,SACA,UACA,SACA,QACA,WACA,SACA,MACA,aACA,OACA,UACA,YACA,QACA,SACA,SACA,SACA,OACA,SACA,YACA,eACA,MACA,OACA,UACA,MACA,OACA,OACA,WACA,OACA,WACA,eACA,MACA,eACA,WACA,aACA,OACA,QACA,SACA,aACA,cACA,cACA,SACA,YACA,kBACA,WACA,MACA,YACA,SACA,cACA,cACA,QACA,cACA,MACA,OACA,OACA,OACA,YACA,gBACA,kBACA,KACA,WACA,YACA,kBACA,cACA,QACA,UACA,OACA,aACA,OACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,QACA,OACA,QACA,QACA,SACA,WACA,UACA,WACA,YACA,UACA,UACA,aACA,OACA,WACA,QACA,eACA,SACA,OACA,SACA,UACA,MACF,EAKMC,EAAqB,CACzB,MACA,OACA,YACA,OACA,OACA,MACA,OACA,OACA,UACA,WACA,OACA,MACA,OACA,QACA,YACA,aACA,YACA,aACA,QACA,UACA,MACA,UACA,cACA,QACA,aACA,gBACA,cACA,cACA,iBACA,aACA,aACA,uBACA,aACA,MACA,aACA,OACA,UACA,KACA,MACA,QACA,QACA,MACA,MACA,MACA,YACA,QACA,SACA,eACA,kBACA,kBACA,WACA,iBACA,QACA,OACA,YACA,YACA,aACA,iBACA,UACA,aACA,WACA,WACA,WACA,aACA,MACA,OACA,OACA,aACA,cACA,YACA,kBACA,MACA,MACA,OACA,YACA,kBACA,QACA,OACA,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,WACA,SACA,MACA,OACA,SACA,SACA,YACA,QACA,SACA,SACA,QACA,QACA,OACA,MACA,YACA,kBACA,oBACA,UACA,MACA,OACA,QACA,QACA,SACF,EAMMC,GAAW,CACf,QACA,MACA,MACF,EAGMC,GAA0B,CAC9B,aACA,gBACA,aACA,OACA,YACA,OACA,OACF,EAIMC,GAAqB,CACzB,gBACA,UACA,aACA,QACA,UACA,SACA,SACA,QACA,UACA,eACA,YACA,YACA,MACA,gBACA,WACA,QACA,YACA,kBACA,UACF,EAGMC,GAAW,CACf,MACA,MACA,MACA,SACA,mBACA,aACA,OACA,aACA,YACA,4BACA,MACA,MACA,cACA,eACA,eACA,eACA,sBACA,QACA,WACA,gBACA,WACA,SACA,OACA,oCACA,YACA,OACA,gBACA,iBACA,uBACA,2BACA,oBACA,aACA,0BACA,KACF,EAGMC,GAAeX,GACnB,oBACA,kBACA,iBACA,iBACA,iBACA,mCACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,UACF,EAGMY,GAAoBZ,GACxBW,GACA,kBACA,kBACA,kBACA,kBACA,iBAGF,EAGME,GAAWlB,EAAOgB,GAAcC,GAAmB,GAAG,EAGtDE,GAAiBd,GACrB,YACA,uDACA,yDACA,yDACA,kBACA,+DACA,yDACA,+BACA,yDACA,yDACA,8BAMF,EAGMe,GAAsBf,GAC1Bc,GACA,KACA,wDACF,EAGME,GAAarB,EAAOmB,GAAgBC,GAAqB,GAAG,EAG5DE,GAAiBtB,EAAO,QAASoB,GAAqB,GAAG,EAKzDG,GAAoB,CACxB,WACA,cACAvB,EAAO,eAAgBK,GAAO,QAAS,QAAS,GAAG,EAAG,IAAI,EAC1D,oBACA,kBACA,sBACA,WACA,eACA,SACA,gBACA,WACA,eACA,gBACA,WACA,gBACA,YACA,OACA,UACA,oBACA,YACA,YACAL,EAAO,SAAUqB,GAAY,IAAI,EACjC,OACA,cACA,kBACA,iCACA,gBACA,WACA,WACA,oBACA,YACA,UACA,mBACA,yBACF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AE8C,CAAK,EACjB,SAAU,CACR,GAAGvD,GACH,GAAGD,EACL,EACA,IAAK,GACP,EAEMmE,GAAyB,CAC7B,MAAO,CACL,UACA,MACA,SACA,MACA,4BACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,UACH,EAAG,gBACL,CACF,EAEMC,GAAwB,CAC5B,MAAO,CACL,UACA,MACA,OACF,EACA,MAAO,CACL,EAAG,UACH,EAAG,SACL,CACF,EAEMC,GAAmB,CACvB,MAAO,CACL,+CACA,MACA5D,GACA,KACF,EACA,WAAY,CACV,EAAG,UACH,EAAG,aACL,EACA,SAAUe,EACV,SAAU,CACRoC,GACA,GAAGnC,EACH,CACE,MAAO,IACP,IAAK,KACL,SAAUD,EACV,SAAU,CACR,CACE,MAAO,wBACP,MAAOd,EACT,EACA,GAAGe,CACL,EACA,UAAW,CACb,CACF,CACF,EAGA,QAAW6C,KAAW7B,EAAO,SAAU,CACrC,IAAM8B,GAAgBD,EAAQ,SAAS,KAAKE,IAAQA,GAAK,QAAU,UAAU,EAE7ED,GAAc,SAAW/C,EACzB,IAAMiD,EAAW,CACf,GAAGhD,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,CACL,EACAoB,GAAc,SAAW,CACvB,GAAGE,EACH,CACE,MAAO,KACP,IAAK,KACL,SAAU,CACR,OACA,GAAGA,CACL,CACF,CACF,CACF,CAEA,MAAO,CACL,KAAM,QACN,SAAUjD,EACV,SAAU,CACR,GAAGP,EACH8C,GACAC,GACAG,GACAC,GACAC,GACAJ,GACAC,GACA,CACE,cAAe,SACf,IAAK,IACL,SAAU,CAAE,GAAGjD,CAAS,EACxB,UAAW,CACb,EACA8B,GACA,GAAGtB,EACH,GAAGG,EACH,GAAGG,EACHG,EACAO,EACA,GAAGU,EACH,GAAGI,EACHC,EACAG,CACF,CACF,CACF,CAEA3E,GAAO,QAAU6B,KC38BjB,IAAA6D,GAAAC,EAAA,CAAAC,GAAAC,KAAA,CASA,SAASC,GAAKC,EAAM,CAClB,IAAMC,EAAW,yBAGXC,EAAiB,8BAMjBC,EAAM,CACV,UAAW,OACX,SAAU,CAER,CAAE,MAAO,mCAAoC,EAC7C,CACE,MAAO,qCAAsC,EAC/C,CACE,MAAO,qCAAsC,CACjD,CACF,EAEMC,EAAqB,CACzB,UAAW,oBACX,SAAU,CACR,CACE,MAAO,OACP,IAAK,MACP,EACA,CACE,MAAO,MACP,IAAK,IACP,CACF,CACF,EAEMC,EAAsB,CAC1B,UAAW,SACX,UAAW,EACX,MAAO,IACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,KACP,MAAO,cACP,UAAW,CACb,CACF,CACF,EAEMC,EAAS,CACb,UAAW,SACX,UAAW,EACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,KAAM,CACjB,EACA,SAAU,CACRN,EAAK,iBACLI,CACF,CACF,EAIMG,EAAmBP,EAAK,QAAQM,EAAQ,CAAE,SAAU,CACxD,CACE,MAAO,IACP,IAAK,IACL,SAAU,CACR,CACE,MAAO,KACP,UAAW,CACb,CACF,CACF,EACA,CACE,MAAO,IACP,IAAK,GACP,EACA,CAAE,MAAO,cAAe,CAC1B,CAAE,CAAC,EAMGE,EAAY,CAChB,UAAW,SACX,MAAO,MANO,6BACA,yCACI,eACJ,8CAG6C,KAC7D,EAEMC,EAAkB,CACtB,IAAK,IACL,eAAgB,GAChB,WAAY,GACZ,SAAUR,EACV,UAAW,CACb,EACMS,EAAS,CACb,MAAO,KACP,IAAK,KACL,SAAU,CAAED,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EACME,EAAQ,CACZ,MAAO,MACP,IAAK,MACL,SAAU,CAAEF,CAAgB,EAC5B,QAAS,MACT,UAAW,CACb,EAEMG,EAAQ,CACZT,EACA,CACE,UAAW,OACX,MAAO,YACP,UAAW,EACb,EACA,CAKE,UAAW,SACX,MAAO,+DACT,EACA,CACE,MAAO,WACP,IAAK,UACL,YAAa,OACb,aAAc,GACd,WAAY,GACZ,UAAW,CACb,EACA,CACE,UAAW,OACX,MAAO,SAAWD,CACpB,EAEA,CACE,UAAW,OACX,MAAO,KAAOA,EAAiB,GACjC,EACA,CACE,UAAW,OACX,MAAO,IAAMA,CACf,EACA,CACE,UAAW,OACX,MAAO,KAAOA,CAChB,EACA,CACE,UAAW,OACX,MAAO,IAAMF,EAAK,oBAAsB,GAC1C,EACA,CACE,UAAW,OACX,MAAO,MAAQA,EAAK,oBAAsB,GAC5C,EACA,CACE,UAAW,SAEX,MAAO,aACP,UAAW,CACb,EACAA,EAAK,kBACL,CACE,cAAeC,EACf,SAAU,CAAE,QAASA,CAAS,CAChC,EACAO,EAGA,CACE,UAAW,SACX,MAAOR,EAAK,YAAc,MAC1B,UAAW,CACb,EACAU,EACAC,EACAN,EACAC,CACF,EAEMO,EAAc,CAAE,GAAGD,CAAM,EAC/B,OAAAC,EAAY,IAAI,EAChBA,EAAY,KAAKN,CAAgB,EACjCE,EAAgB,SAAWI,EAEpB,CACL,KAAM,OACN,iBAAkB,GAClB,QAAS,CAAE,KAAM,EACjB,SAAUD,CACZ,CACF,CAEAd,GAAO,QAAUC,KCpNjB,IAAAe,GAAAC,EAAA,CAAAC,GAAAC,KAAA,KAAMC,GAAW,2BACXC,GAAW,CACf,KACA,KACA,KACA,KACA,MACA,QACA,UACA,MACA,MACA,WACA,KACA,SACA,OACA,OACA,QACA,QACA,aACA,OACA,QACA,OACA,UACA,MACA,SACA,WACA,SACA,SACA,MACA,QACA,QACA,QAIA,WACA,QACA,QACA,SACA,SACA,OACA,SACA,UAEA,OACF,EACMC,GAAW,CACf,OACA,QACA,OACA,YACA,MACA,UACF,EAGMC,GAAQ,CAEZ,SACA,WACA,UACA,SAEA,OACA,OACA,SACA,SAEA,SACA,SAEA,QACA,eACA,eACA,YACA,aACA,oBACA,aACA,aACA,cACA,cACA,gBACA,iBAEA,MACA,MACA,UACA,UAEA,cACA,oBACA,UACA,WACA,OAEA,UACA,YACA,oBACA,gBAEA,UACA,QAEA,OAEA,aACF,EAEMC,GAAc,CAClB,QACA,YACA,gBACA,aACA,iBACA,cACA,YACA,UACF,EAEMC,GAAmB,CACvB,cACA,aACA,gBACA,eAEA,UACA,UAEA,OACA,WACA,QACA,aACA,WACA,YACA,qBACA,YACA,qBACA,SACA,UACF,EAEMC,GAAqB,CACzB,YACA,OACA,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A,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,KAAK,CACG,EAEG4E,GAAM5E,GAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,OACA,OAAO,CACC,EAEG6E,GAAa7E,GAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,cAAc,CACN,EAMG8E,GAAgB9E,GAAO,CAClC,UACA,gBACA,SACA,UACA,YACA,mBACA,iBACA,gBACA,gBACA,gBACA,QACA,YACA,OACA,eACA,YACA,UACA,gBACA,SACA,MACA,aACA,UACA,KAAK,CACG,EAEG+E,GAAS/E,GAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,aACA,aAAa,CACL,EAIGgF,GAAmBhF,GAAO,CACrC,UACA,cACA,aACA,WACA,YACA,UACA,UACA,SACA,SACA,QACA,YACA,aACA,iBACA,cACA,MAAM,CACE,EAEGiF,GAAOjF,GAAO,CAAC,OAAO,CAAU,ECpRhC2E,GAAO3E,GAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,QACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,UACA,gBACA,sBACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,OACA,QACA,MAAM,CACE,EAEG4E,GAAM5E,GAAO,CACxB,gBACA,aACA,WACA,qBACA,YACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,gBACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,WACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,YACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,QACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,iBACA,WACA,cACA,UACA,UACA,YACA,mBACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,YAAY,CACJ,EAEG+E,GAAS/E,GAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,OAAO,CACR,EAEYkF,GAAMlF,GAAO,CACxB,aACA,SACA,cACA,YACA,aAAa,CACL,EC/WGmF,GAAgBlF,GAAK,2BAA2B,EAChDmF,GAAWnF,GAAK,uBAAuB,EACvCoF,GAAcpF,GAAK,eAAe,EAClCqF,GAAYrF,GAAK,8BAA8B,EAC/CsF,GAAYtF,GAAK,gBAAgB,EACjCuF,GAAiBvF,GAC5B,oGAEWwF,GAAoBxF,GAAK,uBAAuB,EAChDyF,GAAkBzF,GAC7B,+DAEW0F,GAAe1F,GAAK,SAAS,EAC7B2F,GAAiB3F,GAAK,0BAA0B,uMCmBvD4F,GAAY,CAChBlC,QAAS,EACTmC,UAAW,EACXb,KAAM,EACNc,aAAc,EACdC,gBAAiB,EACjBC,WAAY,EACZC,uBAAwB,EACxBC,QAAS,EACTC,SAAU,EACVC,aAAc,GACdC,iBAAkB,GAClBC,SAAU,IAGNC,GAAY,UAAA,CAChB,OAAO,OAAOC,OAAW,IAAc,KAAOA,MAChD,EAUMC,GAA4B,SAChCC,EACAC,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", + "names": ["require_clipboard", "__commonJSMin", "exports", "module", "root", "factory", "__webpack_modules__", "__unused_webpack_module", "__webpack_exports__", "__webpack_require__", "clipboard", "tiny_emitter", "tiny_emitter_default", "listen", "listen_default", "src_select", "select_default", "command", "type", "ClipboardActionCut", "target", "selectedText", "actions_cut", "createFakeElement", "value", "isRTL", "fakeElement", "yPosition", "fakeCopyAction", "options", "ClipboardActionCopy", "actions_copy", "_typeof", "obj", "ClipboardActionDefault", "_options$action", "action", "container", "text", "actions_default", "clipboard_typeof", "_classCallCheck", "instance", "Constructor", "_defineProperties", "props", "i", "descriptor", "_createClass", "protoProps", "staticProps", "_inherits", "subClass", "superClass", "_setPrototypeOf", "o", "p", "_createSuper", "Derived", "hasNativeReflectConstruct", "_isNativeReflectConstruct", "Super", "_getPrototypeOf", "result", "NewTarget", "_possibleConstructorReturn", "self", "call", "_assertThisInitialized", "getAttributeValue", "suffix", "element", "attribute", "Clipboard", "_Emitter", "_super", "trigger", "_this", "_this2", "e", "selector", "actions", "support", "DOCUMENT_NODE_TYPE", "proto", "closest", "__unused_webpack_exports", "_delegate", "callback", "useCapture", "listenerFn", "listener", "delegate", "elements", "is", "listenNode", "listenNodeList", "listenSelector", "node", "nodeList", "select", "isReadOnly", "selection", "range", "E", "name", "ctx", "data", "evtArr", "len", "evts", "liveEvents", "__webpack_module_cache__", "moduleId", "getter", "definition", "key", "prop", "require_core", "__commonJSMin", "exports", "module", "deepFreeze", "obj", "name", "prop", "type", "Response", "mode", "escapeHTML", "value", "inherit$1", "original", "objects", "result", "key", "SPAN_CLOSE", "emitsWrappingTags", "node", "scopeToCSSClass", "prefix", "pieces", "x", "i", "HTMLRenderer", "parseTree", "options", "text", "className", "newNode", "opts", "TokenTree", "_TokenTree", "scope", "builder", "child", "el", "TokenTreeEmitter", "emitter", "source", "re", "lookahead", "concat", "anyNumberOfTimes", "optional", "args", "stripOptionsFromArgs", "either", "countMatchGroups", "startsWith", "lexeme", "match", "BACKREF_RE", "_rewriteBackreferences", "regexps", "joinWith", "numCaptures", "regex", "offset", "out", "MATCH_NOTHING_RE", "IDENT_RE", "UNDERSCORE_IDENT_RE", "NUMBER_RE", "C_NUMBER_RE", "BINARY_NUMBER_RE", "RE_STARTERS_RE", "SHEBANG", "beginShebang", "m", "resp", "BACKSLASH_ESCAPE", "APOS_STRING_MODE", "QUOTE_STRING_MODE", "PHRASAL_WORDS_MODE", "COMMENT", "begin", "end", "modeOptions", "ENGLISH_WORD", "C_LINE_COMMENT_MODE", "C_BLOCK_COMMENT_MODE", "HASH_COMMENT_MODE", "NUMBER_MODE", "C_NUMBER_MODE", "BINARY_NUMBER_MODE", "REGEXP_MODE", "TITLE_MODE", "UNDERSCORE_TITLE_MODE", "METHOD_GUARD", "END_SAME_AS_BEGIN", "MODES", "skipIfHasPrecedingDot", "response", "scopeClassName", "_parent", "beginKeywords", "parent", "compileIllegal", "compileMatch", "compileRelevance", "beforeMatchExt", "originalMode", "COMMON_KEYWORDS", "DEFAULT_KEYWORD_SCOPE", "compileKeywords", "rawKeywords", "caseInsensitive", "scopeName", "compiledKeywords", "compileList", "keywordList", "keyword", "pair", "scoreForKeyword", "providedScore", "commonKeyword", "seenDeprecations", "error", "message", "warn", "deprecated", "version", "MultiClassError", "remapScopeNames", "regexes", "scopeNames", "emit", "positions", "beginMultiClass", "endMultiClass", "scopeSugar", "MultiClass", "compileLanguage", "language", "langRe", "global", "MultiRegex", "terminators", "s", "matchData", "ResumableMultiRegex", "index", "matcher", "m2", "buildModeRegex", "mm", "term", "compileMode", "cmode", "ext", "keywordPattern", "c", "expandOrCloneMode", "dependencyOnParent", "variant", "HTMLInjectionError", "reason", "html", "escape", "inherit", "NO_MATCH", "MAX_KEYWORD_HITS", "HLJS", "hljs", "languages", "aliases", "plugins", "SAFE_MODE", "LANGUAGE_NOT_FOUND", "PLAINTEXT_LANGUAGE", "shouldNotHighlight", "languageName", "blockLanguage", "block", "classes", "getLanguage", "_class", "highlight", "codeOrLanguageName", "optionsOrCode", "ignoreIllegals", "code", "context", "fire", "_highlight", "codeToHighlight", "continuation", "keywordHits", "keywordData", "matchText", "processKeywords", "top", "modeBuffer", "lastIndex", "buf", "word", "data", "kind", "keywordRelevance", "relevance", "cssClass", "emitKeyword", "processSubLanguage", "continuations", "highlightAuto", "processBuffer", "emitMultiClass", "max", "klass", "startNewMode", "endOfMode", "matchPlusRemainder", "matched", "doIgnore", "resumeScanAtSamePosition", "doBeginMatch", "newMode", "beforeCallbacks", "cb", "doEndMatch", "endMode", "origin", "processContinuations", "list", "current", "item", "lastMatch", "processLexeme", "textBeforeMatch", "err", "processed", "iterations", "md", "beforeMatch", "processedCount", "justTextHighlightResult", "languageSubset", "plaintext", "results", "autoDetection", "sorted", "a", "b", "best", "secondBest", "updateClassName", "element", "currentLang", "resultLang", "highlightElement", "configure", "userOptions", "initHighlighting", "highlightAll", "initHighlightingOnLoad", "wantsHighlight", "boot", "registerLanguage", "languageDefinition", "lang", "error$1", "registerAliases", "unregisterLanguage", "alias", "listLanguages", "aliasList", "upgradePluginAPI", "plugin", "addPlugin", "removePlugin", "event", "deprecateHighlightBlock", "require_xml", "__commonJSMin", "exports", "module", "xml", "hljs", "regex", "TAG_NAME_RE", "XML_IDENT_RE", "XML_ENTITIES", "XML_META_KEYWORDS", "XML_META_PAR_KEYWORDS", "APOS_META_STRING_MODE", "QUOTE_META_STRING_MODE", "TAG_INTERNALS", "require_bash", "__commonJSMin", "exports", "module", "bash", "hljs", "regex", "VAR", "BRACED_VAR", "SUBST", "COMMENT", "HERE_DOC", "QUOTE_STRING", "ESCAPED_QUOTE", "APOS_STRING", "ESCAPED_APOS", "ARITHMETIC", "SH_LIKE_SHELLS", "KNOWN_SHEBANG", "FUNCTION", "KEYWORDS", "LITERALS", "PATH_MODE", "SHELL_BUILT_INS", "BASH_BUILT_INS", "ZSH_BUILT_INS", "GNU_CORE_UTILS", "require_c", "__commonJSMin", "exports", "module", "c", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "FUNCTION_TYPE_RE", "TYPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "KEYWORDS", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_cpp", "__commonJSMin", "exports", "module", "cpp", "hljs", "regex", "C_LINE_COMMENT_MODE", "DECLTYPE_AUTO_RE", "NAMESPACE_RE", "FUNCTION_TYPE_RE", "CPP_PRIMITIVE_TYPES", "STRINGS", "NUMBERS", "PREPROCESSOR", "TITLE_MODE", "FUNCTION_TITLE", "RESERVED_KEYWORDS", "RESERVED_TYPES", "TYPE_HINTS", "FUNCTION_HINTS", "CPP_KEYWORDS", "FUNCTION_DISPATCH", "EXPRESSION_CONTAINS", "EXPRESSION_CONTEXT", "FUNCTION_DECLARATION", "require_csharp", "__commonJSMin", "exports", "module", "csharp", "hljs", "BUILT_IN_KEYWORDS", "FUNCTION_MODIFIERS", "LITERAL_KEYWORDS", "NORMAL_KEYWORDS", "CONTEXTUAL_KEYWORDS", "KEYWORDS", "TITLE_MODE", "NUMBERS", "RAW_STRING", "VERBATIM_STRING", "VERBATIM_STRING_NO_LF", "SUBST", "SUBST_NO_LF", "INTERPOLATED_STRING", "INTERPOLATED_VERBATIM_STRING", "INTERPOLATED_VERBATIM_STRING_NO_LF", "STRING", "GENERIC_MODIFIER", "TYPE_IDENT_RE", "AT_IDENTIFIER", "require_css", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "css", "regex", "modes", "VENDOR_PREFIX", "AT_MODIFIERS", "AT_PROPERTY_RE", "IDENT_RE", "STRINGS", "require_markdown", "__commonJSMin", "exports", "module", "markdown", "hljs", "regex", "INLINE_HTML", "HORIZONTAL_RULE", "CODE", "LIST", "LINK_REFERENCE", "URL_SCHEME", "LINK", "BOLD", "ITALIC", "BOLD_WITHOUT_ITALIC", "ITALIC_WITHOUT_BOLD", "CONTAINABLE", "m", "require_diff", "__commonJSMin", "exports", "module", "diff", "hljs", "regex", "require_ruby", "__commonJSMin", "exports", "module", "ruby", "hljs", "regex", "RUBY_METHOD_RE", "CLASS_NAME_RE", "CLASS_NAME_WITH_NAMESPACE_RE", "RUBY_KEYWORDS", "YARDOCTAG", "IRB_OBJECT", "COMMENT_MODES", "SUBST", "STRING", "decimal", "digits", "NUMBER", "PARAMS", "RUBY_DEFAULT_CONTAINS", "IRB_DEFAULT", "require_go", "__commonJSMin", "exports", "module", "go", "hljs", "KEYWORDS", "require_graphql", "__commonJSMin", "exports", "module", "graphql", "hljs", "regex", "GQL_NAME", "require_ini", "__commonJSMin", "exports", "module", "ini", "hljs", "regex", "NUMBERS", "COMMENTS", "VARIABLES", "LITERALS", "STRINGS", "ARRAY", "BARE_KEY", "QUOTED_KEY_DOUBLE_QUOTE", "QUOTED_KEY_SINGLE_QUOTE", "ANY_KEY", "DOTTED_KEY", "require_java", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "recurRegex", "re", "substitution", "depth", "_", "java", "hljs", "regex", "JAVA_IDENT_RE", "GENERIC_IDENT_RE", "KEYWORDS", "ANNOTATION", "PARAMS", "require_javascript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "x", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "require_json", "__commonJSMin", "exports", "module", "json", "hljs", "ATTRIBUTE", "PUNCTUATION", "LITERALS", "LITERALS_MODE", "require_kotlin", "__commonJSMin", "exports", "module", "decimalDigits", "frac", "hexDigits", "NUMERIC", "kotlin", "hljs", "KEYWORDS", "KEYWORDS_WITH_LABEL", "LABEL", "SUBST", "VARIABLE", "STRING", "ANNOTATION_USE_SITE", "ANNOTATION", "KOTLIN_NUMBER_MODE", "KOTLIN_NESTED_COMMENT", "KOTLIN_PAREN_TYPE", "KOTLIN_PAREN_TYPE2", "require_less", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "PSEUDO_SELECTORS", "less", "modes", "PSEUDO_SELECTORS$1", "AT_MODIFIERS", "IDENT_RE", "INTERP_IDENT_RE", "RULES", "VALUE_MODES", "STRING_MODE", "c", "IDENT_MODE", "name", "begin", "relevance", "AT_KEYWORDS", "PARENS_MODE", "VALUE_WITH_RULESETS", "MIXIN_GUARD_MODE", "RULE_MODE", "AT_RULE_MODE", "VAR_RULE_MODE", "SELECTOR_MODE", "PSEUDO_SELECTOR_MODE", "require_lua", "__commonJSMin", "exports", "module", "lua", "hljs", "OPENING_LONG_BRACKET", "CLOSING_LONG_BRACKET", "LONG_BRACKETS", "COMMENTS", "require_makefile", "__commonJSMin", "exports", "module", "makefile", "hljs", "VARIABLE", "QUOTE_STRING", "FUNC", "ASSIGNMENT", "META", "TARGET", "require_perl", "__commonJSMin", "exports", "module", "perl", "hljs", "regex", "KEYWORDS", "REGEX_MODIFIERS", "PERL_KEYWORDS", "SUBST", "METHOD", "ATTR", "VAR", "NUMBER", "STRING_CONTAINS", "REGEX_DELIMS", "PAIRED_DOUBLE_RE", "prefix", "open", "close", "middle", "PAIRED_RE", "PERL_DEFAULT_CONTAINS", "require_objectivec", "__commonJSMin", "exports", "module", "objectivec", "hljs", "API_CLASS", "IDENTIFIER_RE", "KEYWORDS", "CLASS_KEYWORDS", "require_php", "__commonJSMin", "exports", "module", "php", "hljs", "regex", "NOT_PERL_ETC", "IDENT_RE", "PASCAL_CASE_CLASS_NAME_RE", "UPCASE_NAME_RE", "VARIABLE", "PREPROCESSOR", "SUBST", "SINGLE_QUOTED", "DOUBLE_QUOTED", "HEREDOC", "m", "resp", "NOWDOC", "WHITESPACE", "STRING", "NUMBER", "LITERALS", "KWS", "BUILT_INS", "KEYWORDS", "items", "result", "item", "normalizeKeywords", "CONSTRUCTOR_CALL", "CONSTANT_REFERENCE", "LEFT_AND_RIGHT_SIDE_OF_DOUBLE_COLON", "NAMED_ARGUMENT", "PARAMS_MODE", "FUNCTION_INVOKE", "ATTRIBUTE_CONTAINS", "ATTRIBUTES", "require_php_template", "__commonJSMin", "exports", "module", "phpTemplate", "hljs", "require_plaintext", "__commonJSMin", "exports", "module", "plaintext", "hljs", "require_python", "__commonJSMin", "exports", "module", "python", "hljs", "regex", "IDENT_RE", "RESERVED_WORDS", "KEYWORDS", "PROMPT", "SUBST", "LITERAL_BRACKET", "STRING", "digitpart", "pointfloat", "lookahead", "NUMBER", "COMMENT_TYPE", "PARAMS", "require_python_repl", "__commonJSMin", "exports", "module", "pythonRepl", "hljs", "require_r", "__commonJSMin", "exports", "module", "r", "hljs", "regex", "IDENT_RE", "NUMBER_TYPES_RE", "OPERATORS_RE", "PUNCTUATION_RE", "require_rust", "__commonJSMin", "exports", "module", "rust", "hljs", "regex", "RAW_IDENTIFIER", "UNDERSCORE_IDENT_RE", "IDENT_RE", "FUNCTION_INVOKE", "NUMBER_SUFFIX", "KEYWORDS", "LITERALS", "BUILTINS", "TYPES", "require_scss", "__commonJSMin", "exports", "module", "MODES", "hljs", "HTML_TAGS", "SVG_TAGS", "TAGS", "MEDIA_FEATURES", "PSEUDO_CLASSES", "PSEUDO_ELEMENTS", "ATTRIBUTES", "scss", "modes", "PSEUDO_ELEMENTS$1", "PSEUDO_CLASSES$1", "AT_IDENTIFIER", "AT_MODIFIERS", "VARIABLE", "require_shell", "__commonJSMin", "exports", "module", "shell", "hljs", "require_sql", "__commonJSMin", "exports", "module", "sql", "hljs", "regex", "COMMENT_MODE", "STRING", "QUOTED_IDENTIFIER", "LITERALS", "MULTI_WORD_TYPES", "TYPES", "NON_RESERVED_WORDS", "RESERVED_WORDS", "RESERVED_FUNCTIONS", "POSSIBLE_WITHOUT_PARENS", "COMBOS", "FUNCTIONS", "KEYWORDS", "keyword", "VARIABLE", "OPERATOR", "FUNCTION_CALL", "kws_to_regex", "list", "kw", "MULTI_WORD_KEYWORDS", "reduceRelevancy", "exceptions", "when", "qualifyFn", "item", "x", "require_swift", "__commonJSMin", "exports", "module", "source", "re", "lookahead", "concat", "args", "x", "stripOptionsFromArgs", "opts", "either", "keywordWrapper", "keyword", "dotKeywords", "optionalDotKeywords", "keywordTypes", "keywords", "literals", "precedencegroupKeywords", "numberSignKeywords", "builtIns", "operatorHead", "operatorCharacter", "operator", "identifierHead", "identifierCharacter", "identifier", "typeIdentifier", "keywordAttributes", "availabilityKeywords", "swift", "hljs", "WHITESPACE", "BLOCK_COMMENT", "COMMENTS", "DOT_KEYWORD", "KEYWORD_GUARD", "PLAIN_KEYWORDS", "kw", "REGEX_KEYWORDS", "KEYWORD", "KEYWORDS", "KEYWORD_MODES", "BUILT_IN_GUARD", "BUILT_IN", "BUILT_INS", "OPERATOR_GUARD", "OPERATOR", "OPERATORS", "decimalDigits", "hexDigits", "NUMBER", "ESCAPED_CHARACTER", "rawDelimiter", "ESCAPED_NEWLINE", "INTERPOLATION", "MULTILINE_STRING", "SINGLE_LINE_STRING", "STRING", "REGEXP_CONTENTS", "BARE_REGEXP_LITERAL", "EXTENDED_REGEXP_LITERAL", "begin", "end", "REGEXP", "QUOTED_IDENTIFIER", "IMPLICIT_PARAMETER", "PROPERTY_WRAPPER_PROJECTION", "IDENTIFIERS", "AVAILABLE_ATTRIBUTE", "KEYWORD_ATTRIBUTE", "USER_DEFINED_ATTRIBUTE", "ATTRIBUTES", "TYPE", "GENERIC_ARGUMENTS", "TUPLE_ELEMENT_NAME", "TUPLE", "GENERIC_PARAMETERS", "FUNCTION_PARAMETER_NAME", "FUNCTION_PARAMETERS", "FUNCTION_OR_MACRO", "INIT_SUBSCRIPT", "OPERATOR_DECLARATION", "PRECEDENCEGROUP", "CLASS_FUNC_DECLARATION", "CLASS_VAR_DECLARATION", "TYPE_DECLARATION", "variant", "interpolation", "mode", "submodes", "require_yaml", "__commonJSMin", "exports", "module", "yaml", "hljs", "LITERALS", "URI_CHARACTERS", "KEY", "TEMPLATE_VARIABLES", "SINGLE_QUOTE_STRING", "STRING", "CONTAINER_STRING", "TIMESTAMP", "VALUE_CONTAINER", "OBJECT", "ARRAY", "MODES", "VALUE_MODES", "require_typescript", "__commonJSMin", "exports", "module", "IDENT_RE", "KEYWORDS", "LITERALS", "TYPES", "ERROR_TYPES", "BUILT_IN_GLOBALS", "BUILT_IN_VARIABLES", "BUILT_INS", "javascript", "hljs", "regex", "hasClosingTag", "match", "after", "tag", "IDENT_RE$1", "FRAGMENT", "XML_SELF_CLOSING", "XML_TAG", "response", "afterMatchIndex", "nextChar", "m", "afterMatch", "KEYWORDS$1", "decimalDigits", "frac", "decimalInteger", "NUMBER", "SUBST", "HTML_TEMPLATE", "CSS_TEMPLATE", "GRAPHQL_TEMPLATE", "TEMPLATE_STRING", "COMMENT", "SUBST_INTERNALS", "SUBST_AND_COMMENTS", "PARAMS_CONTAINS", "PARAMS", "CLASS_OR_EXTENDS", "CLASS_REFERENCE", "USE_STRICT", "FUNCTION_DEFINITION", "UPPER_CASE_CONSTANT", "noneOf", "list", "FUNCTION_CALL", "x", "PROPERTY_ACCESS", "GETTER_OR_SETTER", "FUNC_LEAD_IN_RE", "FUNCTION_VARIABLE", "typescript", "tsLanguage", "NAMESPACE", "INTERFACE", "TS_SPECIFIC_KEYWORDS", "DECORATOR", "swapMode", "mode", "label", "replacement", "indx", "ATTRIBUTE_HIGHLIGHT", "c", "OPTIONAL_KEY_OR_ARGUMENT", "functionDeclaration", "require_vbnet", "__commonJSMin", "exports", "module", "vbnet", "hljs", "regex", "CHARACTER", "STRING", "MM_DD_YYYY", "YYYY_MM_DD", "TIME_12H", "TIME_24H", "DATE", "NUMBER", "LABEL", "DOC_COMMENT", "COMMENT", "require_wasm", "__commonJSMin", "exports", "module", "wasm", "hljs", "BLOCK_COMMENT", "LINE_COMMENT", "KWS", "FUNCTION_REFERENCE", "ARGUMENT", "PARENS", "NUMBER", "TYPE", "MATH_OPERATIONS", "require_common", "__commonJSMin", "exports", "module", "hljs", "global", "globalThis", "supportsAdoptingStyleSheets", "ShadowRoot", "ShadyCSS", "nativeShadow", "Document", "prototype", "CSSStyleSheet", "constructionToken", "Symbol", "cssTagCache", "WeakMap", "CSSResult", "cssText", "strings", "safeToken", "this", "Error", "_strings", "styleSheet", "_styleSheet", "cacheable", "length", "get", "replaceSync", "set", "toString", "unsafeCSS", "value", "String", "adoptStyles", "renderRoot", "styles", "supportsAdoptingStyleSheets", "adoptedStyleSheets", "map", "s", "CSSStyleSheet", "styleSheet", "style", "document", "createElement", "nonce", "global", "setAttribute", "textContent", "cssText", "appendChild", "getCompatibleStyle", "sheet", "rule", "cssRules", "unsafeCSS", "is", "defineProperty", "getOwnPropertyDescriptor", "getOwnPropertyNames", "getOwnPropertySymbols", "getPrototypeOf", "Object", "global", "globalThis", "trustedTypes", "emptyStringForBooleanAttribute", "emptyScript", "polyfillSupport", "reactiveElementPolyfillSupport", "JSCompiler_renameProperty", "prop", "_obj", "defaultConverter", "value", "type", "Boolean", "Array", "JSON", "stringify", "fromValue", "Number", "parse", "e", "notEqual", "old", "defaultPropertyDeclaration", "attribute", "String", "converter", "reflect", "useDefault", "hasChanged", "Symbol", "metadata", "litPropertyMetadata", "WeakMap", "ReactiveElement", "HTMLElement", "initializer", "this", "__prepare", "_initializers", "push", "observedAttributes", "finalize", "__attributeToPropertyMap", "keys", "name", "options", "state", "prototype", "hasOwnProperty", "create", "wrapped", "elementProperties", "set", "noAccessor", "key", "descriptor", "getPropertyDescriptor", "get", "v", "oldValue", "call", "requestUpdate", "configurable", "enumerable", "superCtor", "Map", "finalized", "props", "properties", "propKeys", "p", "createProperty", "attr", "__attributeNameForProperty", "elementStyles", "finalizeStyles", "styles", "isArray", "Set", "flat", "Infinity", "reverse", "s", "unshift", "getCompatibleStyle", "toLowerCase", "constructor", "super", "__instanceProperties", "isUpdatePending", "hasUpdated", "__reflectingProperty", "__initialize", "__updatePromise", "Promise", "res", "enableUpdating", "_$changedProperties", "__saveInstanceProperties", "forEach", "i", "controller", "__controllers", "add", "renderRoot", "isConnected", "hostConnected", "delete", "instanceProperties", "size", "createRenderRoot", "shadowRoot", "attachShadow", "shadowRootOptions", "adoptStyles", "connectedCallback", "c", "_requestedUpdate", "disconnectedCallback", "hostDisconnected", "_old", "_$attributeToProperty", "attrValue", "toAttribute", "removeAttribute", "setAttribute", "ctor", "propName", "getPropertyOptions", "fromAttribute", "__defaultValues", "newValue", "hasAttribute", "_$changeProperty", "__enqueueUpdate", "initializeValue", "has", "__reflectingProperties", "reject", "result", "scheduleUpdate", "performUpdate", "shouldUpdate", "changedProperties", "willUpdate", "hostUpdate", "update", "__markUpdated", "_$didUpdate", "_changedProperties", "hostUpdated", "firstUpdated", "updated", "updateComplete", "getUpdateComplete", "__propertyToAttribute", "mode", "reactiveElementVersions", "global", "globalThis", "trustedTypes", "policy", "createPolicy", "createHTML", "s", "boundAttributeSuffix", "marker", "Math", "random", "toFixed", "slice", "markerMatch", "nodeMarker", "d", "document", "createMarker", "createComment", "isPrimitive", "value", "isArray", "Array", "isIterable", "Symbol", "iterator", "SPACE_CHAR", "textEndRegex", "commentEndRegex", "comment2EndRegex", "tagEndRegex", "RegExp", "singleQuoteAttrEndRegex", "doubleQuoteAttrEndRegex", "rawTextElement", "tag", "type", "strings", "values", "_$litType$", "html", "svg", "mathml", "noChange", "for", "nothing", "templateCache", "WeakMap", "walker", "createTreeWalker", "trustFromTemplateString", "tsa", "stringFromTSA", "hasOwnProperty", "Error", "getTemplateHtml", "l", "length", "attrNames", "rawTextEndRegex", "regex", "i", "attrName", "match", "attrNameEndIndex", "lastIndex", "exec", "test", "end", "startsWith", "push", "Template", "constructor", "options", "node", "this", "parts", "nodeIndex", "attrNameIndex", "partCount", "el", "createElement", "currentNode", "content", "wrapper", "firstChild", "replaceWith", "childNodes", "nextNode", "nodeType", "hasAttributes", "name", "getAttributeNames", "endsWith", "realName", "statics", "getAttribute", "split", "m", "index", "ctor", "PropertyPart", "BooleanAttributePart", "EventPart", "AttributePart", "removeAttribute", "tagName", "textContent", "emptyScript", "append", "data", "indexOf", "_options", "innerHTML", "resolveDirective", "part", "parent", "attributeIndex", "currentDirective", "__directives", "__directive", "nextDirectiveConstructor", "_$initialize", "_$resolve", "TemplateInstance", "template", "_$parts", "_$disconnectableChildren", "_$template", "_$parent", "parentNode", "_$isConnected", "fragment", "creationScope", "importNode", "partIndex", "templatePart", "ChildPart", "nextSibling", "ElementPart", "_$setValue", "__isConnected", "startNode", "endNode", "_$committedValue", "_$startNode", "_$endNode", "isConnected", "directiveParent", "_$clear", "_commitText", "_commitTemplateResult", "_commitNode", "_commitIterable", "insertBefore", "_insert", "createTextNode", "result", "_$getTemplate", "h", "_update", "instance", "_clone", "get", "set", "itemParts", "itemPart", "item", "start", "from", "_$notifyConnectionChanged", "n", "remove", "element", "fill", "String", "valueIndex", "noCommit", "change", "v", "_commitValue", "setAttribute", "toggleAttribute", "super", "newListener", "oldListener", "shouldRemoveListener", "capture", "once", "passive", "shouldAddListener", "removeEventListener", "addEventListener", "event", "call", "host", "handleEvent", "polyfillSupport", "global", "litHtmlPolyfillSupport", "Template", "ChildPart", "litHtmlVersions", "push", "render", "value", "container", "options", "partOwnerNode", "renderBefore", "part", "endNode", "insertBefore", "createMarker", "_$setValue", "global", "globalThis", "LitElement", "ReactiveElement", "constructor", "this", "renderOptions", "host", "__childPart", "createRenderRoot", "renderRoot", "super", "renderBefore", "firstChild", "changedProperties", "value", "render", "hasUpdated", "isConnected", "update", "connectedCallback", "setConnected", "disconnectedCallback", "noChange", "litElementHydrateSupport", "polyfillSupport", "litElementPolyfillSupport", "global", "litElementVersions", "push", "PartType", "ATTRIBUTE", "CHILD", "PROPERTY", "BOOLEAN_ATTRIBUTE", "EVENT", "ELEMENT", "directive", "c", "values", "_$litDirective$", "Directive", "_partInfo", "_$isConnected", "this", "_$parent", "part", "parent", "attributeIndex", "__part", "__attributeIndex", "props", "update", "_part", "render", "UnsafeHTMLDirective", "Directive", "partInfo", "super", "this", "_value", "nothing", "type", "PartType", "CHILD", "Error", "constructor", "directiveName", "value", "_templateResult", "noChange", "strings", "raw", "_$litType$", "resultType", "values", "unsafeHTML", "directive", "defaultPropertyDeclaration", "attribute", "type", "String", "converter", "defaultConverter", "reflect", "hasChanged", "notEqual", "standardProperty", "options", "target", "context", "kind", "metadata", "properties", "globalThis", "litPropertyMetadata", "get", "set", "Map", "Object", "create", "wrapped", "name", "v", "oldValue", "call", "this", "requestUpdate", "_$changeProperty", "value", "Error", "property", "protoOrTarget", "nameOrContext", "proto", "hasOwnProperty", "constructor", "createProperty", "getOwnPropertyDescriptor", "import_clipboard", "import_common", "common_default", "HighlightJS", "_getDefaults", "_defaults", "changeDefaults", "newDefaults", "escapeTest", "escapeReplace", "escapeTestNoEncode", "escapeReplaceNoEncode", "escapeReplacements", "getEscapeReplacement", "ch", "escape", "html", "encode", "unescapeTest", "unescape", "_", "n", "caret", "edit", "regex", "opt", "source", "obj", "name", "val", "valSource", "cleanUrl", "href", "noopTest", "splitCells", "tableRow", "count", "row", "match", "offset", "str", "escaped", "curr", "cells", "i", "rtrim", "c", "invert", "l", "suffLen", "currChar", "findClosingBracket", "b", "level", "outputLink", "cap", "link", "raw", "lexer", "title", "text", "token", "indentCodeCompensation", "matchIndentToCode", "indentToCode", "node", "matchIndentInNode", "indentInNode", "_Tokenizer", "options", "src", "trimmed", "top", "tokens", "bull", "isordered", "list", "itemRegex", "itemContents", "endsWithBlankLine", "endEarly", "line", "t", "nextLine", "indent", "blankLine", "nextBulletRegex", "hrRegex", "fencesBeginRegex", "headingBeginRegex", "rawLine", "istask", "ischecked", "spacers", "hasMultipleLineBreaks", "tag", "headers", "aligns", "rows", "item", "align", "header", "cell", "trimmedUrl", "rtrimSlash", "lastParenIndex", "linkLen", "links", "linkString", "maskedSrc", "prevChar", "lLength", "rDelim", "rLength", "delimTotal", "midDelimTotal", "endReg", "lastCharLength", "hasNonSpaceChars", "hasSpaceCharsOnBothEnds", "prevCapZero", "newline", "blockCode", "fences", "hr", "heading", "bullet", "lheading", "_paragraph", "blockText", "_blockLabel", "def", "_tag", "_comment", "paragraph", "blockquote", "blockNormal", "gfmTable", "blockGfm", "blockPedantic", "inlineCode", "br", "inlineText", "_punctuation", "punctuation", "blockSkip", "emStrongLDelim", "emStrongRDelimAst", "emStrongRDelimUnd", "anyPunctuation", "autolink", "_inlineComment", "_inlineLabel", "reflink", "nolink", "reflinkSearch", "inlineNormal", "inlinePedantic", "inlineGfm", "inlineBreaks", "block", "inline", "_Lexer", "__Lexer", "rules", "next", "leading", "tabs", "lastToken", "cutSrc", "lastParagraphClipped", "extTokenizer", "startIndex", "tempSrc", "tempStart", "getStartIndex", "errMsg", "keepPrevChar", "_Renderer", "code", "infostring", "lang", "quote", "body", "ordered", "start", "type", "startatt", "task", "checked", "content", "flags", "cleanHref", "out", "_TextRenderer", "_Parser", "__Parser", "genericToken", "ret", "headingToken", "codeToken", "tableToken", "j", "k", "blockquoteToken", "listToken", "loose", "itemBody", "checkbox", "htmlToken", "paragraphToken", "textToken", "renderer", "escapeToken", "tagToken", "linkToken", "imageToken", "strongToken", "emToken", "codespanToken", "delToken", "_Hooks", "markdown", "Marked", "#parseMarkdown", "args", "callback", "values", "childTokens", "extensions", "pack", "opts", "ext", "prevRenderer", "extLevel", "prop", "rendererProp", "rendererFunc", "tokenizer", "tokenizerProp", "tokenizerFunc", "prevTokenizer", "hooks", "hooksProp", "hooksFunc", "prevHook", "arg", "walkTokens", "packWalktokens", "parser", "origOpt", "throwError", "#onError", "e", "silent", "async", "msg", "markedInstance", "marked", "setOptions", "use", "parseInline", "parse", "entries", "setPrototypeOf", "isFrozen", "getPrototypeOf", "getOwnPropertyDescriptor", "Object", "freeze", "seal", "create", "apply", "construct", "Reflect", "x", "fun", "thisValue", "args", "Func", "arrayForEach", "unapply", "Array", "prototype", "forEach", "arrayLastIndexOf", "lastIndexOf", "arrayPop", "pop", "arrayPush", "push", "arraySplice", "splice", "stringToLowerCase", "String", "toLowerCase", "stringToString", "toString", "stringMatch", "match", "stringReplace", "replace", "stringIndexOf", "indexOf", "stringTrim", "trim", "objectHasOwnProperty", "hasOwnProperty", "regExpTest", "RegExp", "test", "typeErrorCreate", "unconstruct", "TypeError", "func", "thisArg", "lastIndex", "_len", "arguments", "length", "_key", "_len2", "_key2", "addToSet", "set", "array", "transformCaseFunc", "l", "element", "lcElement", "cleanArray", "index", "clone", "object", "newObject", "property", "value", "isArray", "constructor", "lookupGetter", "prop", "desc", "get", "fallbackValue", "html", "svg", "svgFilters", "svgDisallowed", "mathMl", "mathMlDisallowed", "text", "xml", "MUSTACHE_EXPR", "ERB_EXPR", "TMPLIT_EXPR", "DATA_ATTR", "ARIA_ATTR", "IS_ALLOWED_URI", "IS_SCRIPT_OR_DATA", "ATTR_WHITESPACE", "DOCTYPE_NAME", "CUSTOM_ELEMENT", "NODE_TYPE", "attribute", "cdataSection", "entityReference", "entityNode", "progressingInstruction", "comment", "document", "documentType", "documentFragment", "notation", "getGlobal", "window", "_createTrustedTypesPolicy", "trustedTypes", "purifyHostElement", "createPolicy", "suffix", "ATTR_NAME", "hasAttribute", "getAttribute", "policyName", "createHTML", "createScriptURL", "scriptUrl", "console", "warn", "_createHooksMap", "afterSanitizeAttributes", "afterSanitizeElements", "afterSanitizeShadowDOM", "beforeSanitizeAttributes", "beforeSanitizeElements", "beforeSanitizeShadowDOM", "uponSanitizeAttribute", "uponSanitizeElement", "uponSanitizeShadowNode", "createDOMPurify", "undefined", "DOMPurify", "root", "version", "VERSION", "removed", "nodeType", "Element", "isSupported", "originalDocument", "currentScript", "DocumentFragment", "HTMLTemplateElement", "Node", "NodeFilter", "NamedNodeMap", "MozNamedAttrMap", "HTMLFormElement", "DOMParser", "ElementPrototype", "cloneNode", "remove", "getNextSibling", "getChildNodes", "getParentNode", "template", "createElement", "content", "ownerDocument", "trustedTypesPolicy", "emptyHTML", "implementation", "createNodeIterator", "createDocumentFragment", "getElementsByTagName", "importNode", "hooks", "createHTMLDocument", "EXPRESSIONS", "ALLOWED_TAGS", "DEFAULT_ALLOWED_TAGS", "TAGS", "ALLOWED_ATTR", "DEFAULT_ALLOWED_ATTR", "ATTRS", "CUSTOM_ELEMENT_HANDLING", "tagNameCheck", "writable", "configurable", "enumerable", "attributeNameCheck", "allowCustomizedBuiltInElements", "FORBID_TAGS", "FORBID_ATTR", "ALLOW_ARIA_ATTR", "ALLOW_DATA_ATTR", "ALLOW_UNKNOWN_PROTOCOLS", "ALLOW_SELF_CLOSE_IN_ATTR", "SAFE_FOR_TEMPLATES", "SAFE_FOR_XML", "WHOLE_DOCUMENT", "SET_CONFIG", "FORCE_BODY", "RETURN_DOM", "RETURN_DOM_FRAGMENT", "RETURN_TRUSTED_TYPE", "SANITIZE_DOM", "SANITIZE_NAMED_PROPS", "SANITIZE_NAMED_PROPS_PREFIX", "KEEP_CONTENT", "IN_PLACE", "USE_PROFILES", "FORBID_CONTENTS", "DEFAULT_FORBID_CONTENTS", "DATA_URI_TAGS", "DEFAULT_DATA_URI_TAGS", "URI_SAFE_ATTRIBUTES", "DEFAULT_URI_SAFE_ATTRIBUTES", "MATHML_NAMESPACE", "SVG_NAMESPACE", "HTML_NAMESPACE", "NAMESPACE", "IS_EMPTY_INPUT", "ALLOWED_NAMESPACES", "DEFAULT_ALLOWED_NAMESPACES", "MATHML_TEXT_INTEGRATION_POINTS", "HTML_INTEGRATION_POINTS", "COMMON_SVG_AND_HTML_ELEMENTS", "PARSER_MEDIA_TYPE", "SUPPORTED_PARSER_MEDIA_TYPES", "DEFAULT_PARSER_MEDIA_TYPE", "CONFIG", "formElement", "isRegexOrFunction", "testValue", "Function", "_parseConfig", "cfg", "ADD_URI_SAFE_ATTR", "ADD_DATA_URI_TAGS", "ALLOWED_URI_REGEXP", "ADD_TAGS", "ADD_ATTR", "table", "tbody", "TRUSTED_TYPES_POLICY", "ALL_SVG_TAGS", "ALL_MATHML_TAGS", "_checkValidNamespace", "parent", "tagName", "namespaceURI", "parentTagName", "Boolean", "_forceRemove", "node", "removeChild", "_removeAttribute", "name", "getAttributeNode", "from", "removeAttribute", "setAttribute", "_initDocument", "dirty", "doc", "leadingWhitespace", "matches", "dirtyPayload", "parseFromString", "documentElement", "createDocument", "innerHTML", "body", "insertBefore", "createTextNode", "childNodes", "call", "_createNodeIterator", "SHOW_ELEMENT", "SHOW_COMMENT", "SHOW_TEXT", "SHOW_PROCESSING_INSTRUCTION", "SHOW_CDATA_SECTION", "_isClobbered", "nodeName", "textContent", "attributes", "hasChildNodes", "_isNode", "_executeHooks", "currentNode", "data", "hook", "_sanitizeElements", "allowedTags", "firstElementChild", "_isBasicCustomElement", "parentNode", "childCount", "i", "childClone", "__removalCount", "expr", "_isValidAttribute", "lcTag", "lcName", "_sanitizeAttributes", "hookEvent", "attrName", "attrValue", "keepAttr", "allowedAttributes", "forceKeepAttr", "attr", "initValue", "getAttributeType", "setAttributeNS", "_sanitizeShadowDOM", "fragment", "shadowNode", "shadowIterator", "nextNode", "sanitize", "importedNode", "returnNode", "appendChild", "firstChild", "nodeIterator", "shadowroot", "shadowrootmode", "serializedHTML", "outerHTML", "doctype", "setConfig", "clearConfig", "isValidAttribute", "tag", "addHook", "entryPoint", "hookFunction", "removeHook", "removeHooks", "removeAllHooks", "purify", "createElement", "tag_name", "attrs", "el", "key", "value", "attrName", "createSVGIcon", "icon", "LightElement", "i", "showShinyClientMessage", "headline", "message", "status", "renderDependencies", "deps", "renderError", "sanitizeHTML", "html", "sanitizer", "tagName", "attr", "purify", "node", "data", "element", "isOK", "throttle", "delay", "_target", "_propertyKey", "descriptor", "originalMethod", "timeout", "args", "ShinyToolCard", "i", "#toggleCollapse", "e", "displayTitle", "x", "o", "bodyContent", "headerId", "contentId", "headerContent", "ICONS", "__decorateClass", "n", "ShinyToolRequest", "#onToolRequestHide", "event", "markdownCodeBlock", "ShinyToolResult", "#renderResult", "result", "resultHeader", "#renderRequest", "request", "isLongRequest", "content", "language", "backticks", "request_id", "CHAT_MESSAGE_TAG", "CHAT_USER_MESSAGE_TAG", "CHAT_MESSAGES_TAG", "CHAT_INPUT_TAG", "CHAT_CONTAINER_TAG", "CHAT_TOOL_REQUEST_TAG", "CHAT_TOOL_RESULT_TAG", "ICONS", "ChatMessage", "LightElement", "icon", "x", "o", "#onContentChange", "#makeSuggestionsAccessible", "el", "suggestion", "__decorateClass", "n", "ChatUserMessage", "ChatMessages", "ChatInput", "value", "oldValue", "#onInput", "entries", "entry", "#updateHeight", "name", "_old", "#onKeyDown", "#sendInput", "e", "focus", "sentEvent", "submit", "inputEvent", "ChatContainer", "last", "sentinel", "createElement", "inputTextarea", "addShadow", "#onInputSent", "#onAppend", "#onAppendChunk", "#onClear", "#onUpdateUserInput", "#onRemoveLoadingMessage", "#onInputSuggestionClick", "#onInputSuggestionKeydown", "event", "#appendMessage", "#addLoadingMessage", "#initMessage", "#removeLoadingMessage", "message", "finalize", "TAG_NAME", "msg", "#finalizeMessage", "#appendMessageChunk", "lastMessage", "content", "placeholder", "#onInputSuggestionEvent", "#getSuggestion", "shouldSubmit", "chatCustomElements", "ShinyToolRequest", "ShinyToolResult", "tag", "component", "renderDependencies", "evt", "showShinyClientMessage", "isStreamingMessage", "message", "SVG_DOT_CLASS", "SVG_DOT", "createSVGIcon", "markdownRenderer", "_Renderer", "header", "body", "defaultMarkdownCodeRenderer", "code", "infostring", "escaped", "semiMarkdownRenderer", "html", "contentToHTML", "content", "content_type", "parse", "o", "sanitizeHTML", "_MarkdownElement", "LightElement", "#scrollableElement", "#isContentBeingAdded", "#isUserScrolled", "#onScroll", "#isNearBottom", "x", "#cleanup", "changedProperties", "#doUnBind", "#highlightAndCodeCopy", "error", "#appendStreamingDot", "#doBind", "#updateScrollableElement", "#maybeScrollToBottom", "#removeStreamingDot", "hasText", "node", "recurseInto", "inlineContainers", "element", "current", "depth", "children", "lastMeaningfulChild", "i", "child", "tagName", "el", "err", "showShinyClientMessage", "common_default", "btn", "createElement", "ClipboardJS", "e", "#findScrollableParent", "CHAT_CONTAINER_TAG", "__decorateClass", "n", "throttle", "MarkdownElement", "handleMessage", "renderDependencies"] } diff --git a/pkg-r/man/contents_shinychat.Rd b/pkg-r/man/contents_shinychat.Rd new file mode 100644 index 00000000..fc52962d --- /dev/null +++ b/pkg-r/man/contents_shinychat.Rd @@ -0,0 +1,109 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/contents_shinychat.R +\name{contents_shinychat} +\alias{contents_shinychat} +\title{Format ellmer content for shinychat} +\usage{ +contents_shinychat(content) +} +\arguments{ +\item{content}{An \code{\link[ellmer:Content]{ellmer::Content}} object.} +} +\value{ +Returns text, HTML, or web component tags formatted for use in +\code{chat_ui()}. +} +\description{ +Format ellmer content for shinychat +} +\section{Extending \code{contents_shinychat()}}{ + + +You can extend \code{contents_shinychat()} to handle custom content types in your +application. \code{contents_shinychat()} is \link[S7:new_generic]{an S7 generic}. If +you haven't worked with S7 before, you can learn more about S7 classes, +generics and methods in the \href{https://rconsortium.github.io/S7/articles/S7.html}{S7 documentation}. + +We'll work through a short example creating a custom display for the results +of a tool that gets local weather forecasts. We first need to create a custom +class that extends \link[ellmer:Content]{ellmer::ContentToolResult}. + +\if{html}{\out{
}}\preformatted{library(ellmer) + +WeatherToolResult <- S7::new_class( + "WeatherToolResult", + parent = ContentToolResult, + properties = list( + location_name = S7::class_character + ) +) +}\if{html}{\out{
}} + +Next, we'll create a simple \code{\link[ellmer:tool]{ellmer::tool()}} that gets the weather forecast +for a location and returns our custom \code{WeatherToolResult} class. The custom +class works just like a regular \code{ContentToolResult}, but it has an additional +\code{location_name} property. + +\if{html}{\out{
}}\preformatted{get_weather_forecast <- tool( + function(lat, lon, location_name) \{ + WeatherToolResult( + weathR::point_tomorrow(lat, lon, short = FALSE), + location_name = location_name + ) + \}, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + location_name = type_string("Name of the location for display to the user") + ) +) +}\if{html}{\out{
}} + +Finally, we can extend \code{contents_shinychat()} to render our custom content +class for display in the chat interface. The basic process is to define a +\code{contents_shinychat()} external generic and then implement a method for your +custom class. + +\if{html}{\out{
}}\preformatted{contents_shinychat <- S7::new_external_generic( + package = "shinychat", + name = "contents_shinychat", + dispatch_args = "contents" +) + +S7::method(contents_shinychat, WeatherToolResult) <- function(content) \{ + # Your custom rendering logic here +\} +}\if{html}{\out{
}} + +You can use this pattern to completely customize how the content is displayed +inside shinychat by returning HTML objects directly from this method. + +You can also use this pattern to build upon the default shinychat display for +tool requests and results. By using \code{\link[S7:super]{S7::super()}}, you can create the +object shinychat uses for tool results (or tool requests), and then modify it +to suit your needs. + +\if{html}{\out{
}}\preformatted{S7::method(contents_shinychat, WeatherToolResult) <- function(content) \{ + # Call the super method for ContentToolResult to get shinychat's defaults + res <- contents_shinychat(S7::super(content, ContentToolResult)) + + # Then update the result object with more specific content + # In this case, we render the tool result dataframe as a \{gt\} table... + res$value <- gt::as_raw_html(gt::gt(content@value)) + res$value_type <- "html" + # ...and update the tool result title to include the location name + res$title <- paste("Weather Forecast for", content@location_name) + + res +\} +}\if{html}{\out{
}} + +Note that you do \strong{not} need to create a new class or extend +\code{contents_shinychat()} to customize the tool display. Rather, you can use the +strategies discussed in the \href{https://posit-dev.github.io/shinychat/r/article/tool-ui.html}{Tool Calling UI article} to +customize the tool request and result display by providing a \code{display} list +in the \code{extra} argument of the tool result. +} + diff --git a/pkg-r/pkgdown/_pkgdown.yml b/pkg-r/pkgdown/_pkgdown.yml index ca6b3487..956bc1c6 100644 --- a/pkg-r/pkgdown/_pkgdown.yml +++ b/pkg-r/pkgdown/_pkgdown.yml @@ -1,4 +1,4 @@ -url: https://posit-dev.github.io/shinychat +url: https://posit-dev.github.io/shinychat/r destination: "../docs/r" @@ -25,7 +25,7 @@ template: navbar: structure: - left: [get-started, reference] + left: [get-started, articles, reference] right: [search, news, github, lightswitch] components: home: ~ @@ -34,6 +34,12 @@ navbar: text: Get Started href: articles/get-started.html + articles: + text: Articles + menu: + - text: Tool Calling UI + href: articles/tool-ui.html + reference: - title: Chat interfaces contents: @@ -42,6 +48,7 @@ reference: - chat_append - chat_append_message - chat_clear + - update_chat_user_input - title: Streaming markdown interface contents: @@ -51,3 +58,7 @@ reference: - title: Bookmark chat history contents: - chat_restore + +- title: Integration with ellmer + contents: + - contents_shinychat diff --git a/pkg-r/tests/testthat/_snaps/contents_shinychat.md b/pkg-r/tests/testthat/_snaps/contents_shinychat.md new file mode 100644 index 00000000..6f6b36a5 --- /dev/null +++ b/pkg-r/tests/testthat/_snaps/contents_shinychat.md @@ -0,0 +1,83 @@ +# opt_shinychat_tool_display handles options and environment variables + + Code + opt_shinychat_tool_display() + Condition + Error in `opt_shinychat_tool_display()`: + ! `SHINYCHAT_TOOL_DISPLAY` must be one of "none", "basic", or "rich", not "invalid". + +--- + + Code + opt_shinychat_tool_display() + Condition + Error in `opt_shinychat_tool_display()`: + ! `shinychat.tool_display` must be one of "none", "basic", or "rich", not "invalid". + +# ContentToolResult requires an associated `@request` property + + Code + contents_shinychat(new_tool_result(request = NULL)) + Condition + Error in `method(contents_shinychat, ellmer::ContentToolResult)`: + ! `ContentToolResult` objects must have an associated `@request` property. + +# get_tool_result_display handles invalid formats + + Code + get_tool_result_display(result) + Condition + Warning: + Invalid `@extra$display` format for `ContentToolResult` from `test-tool()` (call id: test-id). + i To display HTML content for tool results in shinychat, create a tool result with `extra = list(display = list(html = ...))`. + i You can also use `markdown` or `text` items in `display` to show Markdown or plain text, respectively. + Output + list() + +--- + + Code + get_tool_result_display(result) + Condition + Warning: + Invalid `@extra$display` format for `ContentToolResult` from `test-tool()` (call id: test-id). + x Expected a list with fields `html`, `markdown`, `text`, `show_request`, `open`, `title`, or `icon`, not a string. + Output + list() + +# throws when a result does not have a `request` property + + Code + contents_shinychat(new_tool_result(request = NULL)) + Condition + Error in `method(contents_shinychat, ellmer::ContentToolResult)`: + ! `ContentToolResult` objects must have an associated `@request` property. + +# throws for invalid tool display option + + Code + opt_shinychat_tool_display() + Condition + Error in `opt_shinychat_tool_display()`: + ! `shinychat.tool_display` must be one of "none", "basic", or "rich", not "invalid". + +# throws for invalid tool display ennvar + + Code + opt_shinychat_tool_display() + Condition + Error in `opt_shinychat_tool_display()`: + ! `SHINYCHAT_TOOL_DISPLAY` must be one of "none", "basic", or "rich", not "invalid". + +# warns when `display` is not a list + + Code + as.tags(contents_shinychat(result)) + Condition + Warning: + Invalid `@extra$display` format for `ContentToolResult` from `test-tool()` (call id: test-id). + i To display HTML content for tool results in shinychat, create a tool result with `extra = list(display = list(html = ...))`. + i You can also use `markdown` or `text` items in `display` to show Markdown or plain text, respectively. + Output + + diff --git a/pkg-r/tests/testthat/apps/tool-basic/app.R b/pkg-r/tests/testthat/apps/tool-basic/app.R new file mode 100644 index 00000000..234edd93 --- /dev/null +++ b/pkg-r/tests/testthat/apps/tool-basic/app.R @@ -0,0 +1,113 @@ +library(shiny) +library(ellmer) +library(shinychat) + +rlang::check_installed("ellmer", version = "0.3.0") + +PROVIDER_MODEL = Sys.getenv("TEST_PROVIDER_MODEL", "openai/gpt-4.1-nano") + +TOOL_OPTS <- list( + async = as.logical(Sys.getenv("TEST_TOOL_ASYNC", "TRUE")), + with_intent = as.logical(Sys.getenv("TEST_TOOL_WITH_INTENT", "TRUE")), + with_title = as.logical(Sys.getenv("TEST_TOOL_WITH_TITLE", "TRUE")), + with_icon = as.logical(Sys.getenv("TEST_TOOL_WITH_ICON", "TRUE")) +) + +ui <- bslib::page_fillable( + shinychat::chat_mod_ui( + "chat", + messages = list(list( + role = "assistant", + content = htmltools::HTML( + 'In three separate but parallel tool calls list the files in apps, data, docs + +Write some basic R code that demonstrates how to use the tidyverse. + +Brainstorm 10 ideas for a name for a package that creates interactive sparklines in tables.' + ) + )) + ), + actionButton("click", "Click me") +) + +maybe_fail <- function() { + if (sample(c(TRUE, FALSE), 1, prob = c(0.25, 0.75))) { + stop("An error occurred while listing files.") + } +} + +tool_fun <- if (TOOL_OPTS$async) { + # Use async function for tool call + if (TOOL_OPTS$with_intent) { + # Async function with intent + coro::async(function(path, .intent = "") { + coro::await(coro::async_sleep(runif(1, 1, 10))) + maybe_fail() + c("app.R", "data.csv") + }) + } else { + # Async function without intent + coro::async(function(path) { + coro::await(coro::async_sleep(runif(1, 1, 10))) + maybe_fail() + c("app.R", "data.csv") + }) + } +} else { + # Synchronous version + if (TOOL_OPTS$with_intent) { + # Synchronous function with intent + function(path, .intent = "") { + Sys.sleep(runif(1, 1, 3)) + maybe_fail() + c("app.R", "data.csv") + } + } else { + # Synchronous function without intent + function(path) { + Sys.sleep(runif(1, 1, 3)) + maybe_fail() + c("app.R", "data.csv") + } + } +} + +tool_args <- list( + path = type_string("Path to the directory to list files"), + .intent = if (TOOL_OPTS$with_intent) { + type_string( + "Reason for the request to explain the tool call to the user" + ) + } +) + +tool_annotations <- list( + title = if (TOOL_OPTS$with_title) "List Files", + description = "This tool lists files in the specified directory.", + icon = if (TOOL_OPTS$with_icon) bsicons::bs_icon("folder2-open") +) + +server <- function(input, output, session) { + packaged_list_files_tool <- tool( + tool_fun, + "List files in the user's current directory. Always check again when asked.", + arguments = purrr::compact(tool_args), + name = "list_file", + annotations = purrr::compact(tool_annotations) + ) + + client <- chat(PROVIDER_MODEL) + client$register_tool(packaged_list_files_tool) + + chat_mod_server("chat", client) + + observeEvent(input$click, { + updateActionButton( + session, + "click", + label = sprintf("Clicked %d times", input$click) + ) + }) +} + +shinyApp(ui, server) diff --git a/pkg-r/tests/testthat/apps/tool-map/app.R b/pkg-r/tests/testthat/apps/tool-map/app.R new file mode 100644 index 00000000..fdf1e1b8 --- /dev/null +++ b/pkg-r/tests/testthat/apps/tool-map/app.R @@ -0,0 +1,71 @@ +library(shiny) +library(bslib) +library(ellmer) +library(leaflet) +library(shinychat) + +tool_show_map <- tool( + function(lat, lon, title, description) { + popup_content <- sprintf( + "%s
%s", + title, + description + ) + + map <- leaflet() |> + addTiles() |> + addMarkers(lat = lat, lng = lon, popup = popup_content) |> + setView(lng = lon, lat = lat, zoom = 13) + + ContentToolResult( + value = "Map shown to the user.", + extra = list( + display = list( + html = map, + show_request = FALSE, + open = TRUE + ), + title = sprintf("Map of %s", title) + ) + ) + }, + name = "tool_show_map", + description = r"(Show a map with a marker. + +Use this tool whenever you're talking about a location with the user. +)", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + title = type_string("Title for the location"), + description = type_string( + "A short description of the location, based on the context of the conversation so far or your knowledge of the location." + ) + ), + annotations = list( + title = "Map", + icon = r"( + +)" + ) +) + +ui <- function(req) { + page_fillable( + chat_mod_ui("chat") + ) +} + +server <- function(input, output, session) { + client <- ellmer::chat( + "openai/gpt-4.1-nano", + system_prompt = r"( +You're a helpful guide who can tell users about places and show them maps. + +Anytime you mention a location, use the `tool_show_map` tool to show a map with a marker at the location. Don't make the user ask to see the map, just show it automatically when it'd be relevant to have a visual.)" + ) + client$register_tool(tool_show_map) + chat_mod_server("chat", client) +} + +shinyApp(ui, server, enableBookmarking = "url") diff --git a/pkg-r/tests/testthat/apps/tool-weather/app-01-simple.R b/pkg-r/tests/testthat/apps/tool-weather/app-01-simple.R new file mode 100644 index 00000000..1e19b2e7 --- /dev/null +++ b/pkg-r/tests/testthat/apps/tool-weather/app-01-simple.R @@ -0,0 +1,32 @@ +library(shiny) +library(bslib) +library(ellmer) +library(shinychat) +library(weathR) + +get_weather_forecast <- tool( + function(lat, lon) { + point_tomorrow(lat, lon, short = FALSE) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude") + ) +) + +ui <- function(req) { + page_fillable( + chat_mod_ui("chat") + ) +} + +server <- function(input, output, session) { + client <- ellmer::chat("openai/gpt-4.1-nano") + # client <- ellmer::chat_ollama(model = "mistral:v0.3") + client$register_tool(get_weather_forecast) + chat_mod_server("chat", client) +} + +shinyApp(ui, server, enableBookmarking = "url") diff --git a/pkg-r/tests/testthat/apps/tool-weather/app-02-annotations.R b/pkg-r/tests/testthat/apps/tool-weather/app-02-annotations.R new file mode 100644 index 00000000..db1c43f7 --- /dev/null +++ b/pkg-r/tests/testthat/apps/tool-weather/app-02-annotations.R @@ -0,0 +1,36 @@ +library(shiny) +library(bslib) +library(ellmer) +library(shinychat) +library(weathR) + +get_weather_forecast <- tool( + function(lat, lon) { + point_tomorrow(lat, lon, short = FALSE) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("globe-americas") + ) +) + +ui <- function(req) { + page_fillable( + chat_mod_ui("chat") + ) +} + +server <- function(input, output, session) { + client <- ellmer::chat("openai/gpt-4.1-nano") + # client <- ellmer::chat_ollama(model = "mistral:v0.3") + client$register_tool(get_weather_forecast) + chat_mod_server("chat", client) +} + +shinyApp(ui, server, enableBookmarking = "url") diff --git a/pkg-r/tests/testthat/apps/tool-weather/app-03-tool-result-simple.R b/pkg-r/tests/testthat/apps/tool-weather/app-03-tool-result-simple.R new file mode 100644 index 00000000..1137fc8c --- /dev/null +++ b/pkg-r/tests/testthat/apps/tool-weather/app-03-tool-result-simple.R @@ -0,0 +1,55 @@ +library(shiny) +library(bslib) +library(ellmer) +library(shinychat) +library(weathR) + +get_weather_forecast <- tool( + function(lat, lon, location_name) { + forecast <- point_tomorrow(lat, lon, short = FALSE) + + icon <- if (any(forecast$temp > 70)) { + bsicons::bs_icon("sun-fill") + } else if (any(forecast$temp < 45)) { + bsicons::bs_icon("snow") + } else { + bsicons::bs_icon("cloud-sun-fill") + } + + ContentToolResult( + forecast, + extra = list( + display = list( + title = paste("Weather Forecast for", location_name), + icon = icon + ) + ) + ) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + location_name = type_string("Name of the location for display to the user") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("cloud-sun") + ) +) + +ui <- function(req) { + page_fillable( + chat_mod_ui("chat") + ) +} + +server <- function(input, output, session) { + client <- ellmer::chat("openai/gpt-4.1-nano") + # client <- ellmer::chat_ollama(model = "mistral-nemo") + client$register_tool(get_weather_forecast) + chat_mod_server("chat", client) +} + +shinyApp(ui, server, enableBookmarking = "url") diff --git a/pkg-r/tests/testthat/apps/tool-weather/app-04-tool-result-table.R b/pkg-r/tests/testthat/apps/tool-weather/app-04-tool-result-table.R new file mode 100644 index 00000000..2952d06e --- /dev/null +++ b/pkg-r/tests/testthat/apps/tool-weather/app-04-tool-result-table.R @@ -0,0 +1,50 @@ +library(shiny) +library(bslib) +library(ellmer) +library(shinychat) +library(weathR) + +Sys.setenv("SHINYCHAT_TOOL_DISPLAY" = "rich") + +get_weather_forecast <- tool( + function(lat, lon, location_name) { + forecast_data <- point_tomorrow(lat, lon, short = FALSE) + forecast_table <- gt::as_raw_html(gt::gt(forecast_data)) + + ContentToolResult( + forecast_data, + extra = list( + display = list( + html = forecast_table, + title = paste("Weather Forecast for", location_name) + ) + ) + ) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + location_name = type_string("Name of the location for display to the user") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("cloud-sun") + ) +) + +ui <- function(req) { + page_fillable( + chat_mod_ui("chat") + ) +} + +server <- function(input, output, session) { + client <- ellmer::chat("openai/gpt-4.1-nano") + # client <- ellmer::chat_ollama(model = "mistral-nemo") + client$register_tool(get_weather_forecast) + chat_mod_server("chat", client) +} + +shinyApp(ui, server, enableBookmarking = "url") diff --git a/pkg-r/tests/testthat/apps/tool-weather/app-05-tool-custom-result-class.R b/pkg-r/tests/testthat/apps/tool-weather/app-05-tool-custom-result-class.R new file mode 100644 index 00000000..0f84779b --- /dev/null +++ b/pkg-r/tests/testthat/apps/tool-weather/app-05-tool-custom-result-class.R @@ -0,0 +1,72 @@ +library(shiny) +library(bslib) +library(ellmer) +library(shinychat) +library(weathR) + +# This example shows how to use a custom tool result class. It extends the +# contents_shinychat() generic to compute the HTML table on the fly when we +# render the result in the chat interface. This allows the tool result object to +# be lighter-weight and to only hold the raw data and metadata, without needing +# to also pre-compute the HTML table. + +WeatherToolResult <- S7::new_class( + "WeatherToolResult", + parent = ContentToolResult, + properties = list( + location_name = S7::class_character + ) +) + +contents_shinychat <- S7::new_external_generic( + "shinychat", + "contents_shinychat", + "contents" +) + +S7::method(contents_shinychat, WeatherToolResult) <- function(content) { + # Call the super method for ContentToolResult to get shinychat's defaults + res <- contents_shinychat(S7::super(content, ContentToolResult)) + + # Then update the result object with more specific content + res$value <- gt::as_raw_html(gt::gt(content@value)) + res$value_type <- "html" + res$title <- paste("Weather Forecast for", content@location_name) + + res +} + +get_weather_forecast <- tool( + function(lat, lon, location_name) { + WeatherToolResult( + point_tomorrow(lat, lon, short = FALSE), + location_name = location_name + ) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + location_name = type_string("Name of the location for display to the user") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("cloud-sun") + ) +) + +ui <- function(req) { + page_fillable( + chat_mod_ui("chat") + ) +} + +server <- function(input, output, session) { + client <- ellmer::chat("openai/gpt-4.1-nano") + # client <- ellmer::chat_ollama(model = "mistral-nemo") + client$register_tool(get_weather_forecast) + chat_mod_server("chat", client) +} + +shinyApp(ui, server, enableBookmarking = "url") diff --git a/pkg-r/tests/testthat/apps/tool-weather/app-06-tool-custom-output.R b/pkg-r/tests/testthat/apps/tool-weather/app-06-tool-custom-output.R new file mode 100644 index 00000000..b6c124e0 --- /dev/null +++ b/pkg-r/tests/testthat/apps/tool-weather/app-06-tool-custom-output.R @@ -0,0 +1,77 @@ +library(shiny) +library(bslib) +library(ellmer) +library(shinychat) +library(weathR) + +# This example shows how to use a custom tool result class. It extends the +# contents_shinychat() generic to compute the HTML table on the fly when we +# render the result in the chat interface. This allows the tool result object to +# be lighter-weight and to only hold the raw data and metadata, without needing +# to also pre-compute the HTML table. + +WeatherToolResult <- S7::new_class( + "WeatherToolResult", + parent = ContentToolResult, + properties = list( + location_name = S7::class_character + ) +) + +contents_shinychat <- S7::new_external_generic( + "shinychat", + "contents_shinychat", + "contents" +) + +S7::method(contents_shinychat, WeatherToolResult) <- function(content) { + current <- content@value[1, ] + + bslib::value_box( + title = content@location_name, + value = current$skies, + showcase = bsicons::bs_icon("cloud-sun"), + full_screen = TRUE, + sprintf( + "%s°F (High: %s°F, Low: %s°F)", + current$temp, + max(content@value$temp), + min(content@value$temp) + ) + ) +} + +get_weather_forecast <- tool( + function(lat, lon, location_name) { + WeatherToolResult( + point_tomorrow(lat, lon, short = FALSE), + location_name = location_name + ) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + location_name = type_string("Name of the location for display to the user") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("cloud-sun") + ) +) + +ui <- function(req) { + page_fillable( + chat_mod_ui("chat") + ) +} + +server <- function(input, output, session) { + client <- ellmer::chat("openai/gpt-4.1-nano") + # client <- ellmer::chat_ollama(model = "mistral-nemo") + client$register_tool(get_weather_forecast) + chat_mod_server("chat", client) +} + +shinyApp(ui, server, enableBookmarking = "url") diff --git a/pkg-r/tests/testthat/helpers-contents_shinychat.R b/pkg-r/tests/testthat/helpers-contents_shinychat.R new file mode 100644 index 00000000..0c5c778c --- /dev/null +++ b/pkg-r/tests/testthat/helpers-contents_shinychat.R @@ -0,0 +1,57 @@ +local_shinychat_tool_display <- function( + envvar = NULL, + opt = NULL, + env = parent.frame() +) { + withr::local_envvar(SHINYCHAT_TOOL_DISPLAY = envvar, .local_envir = env) + withr::local_options(shinychat.tool_display = opt, .local_envir = env) +} + +with_shinychat_tool_display <- function( + code, + envvar = NULL, + opt = NULL +) { + local_shinychat_tool_display(envvar, opt) + force(code) +} + +# Helper function to create tool requests +new_tool_request <- function( + id = "test-id", + name = "test-tool", + arguments = list(), + tool = NULL +) { + ellmer::ContentToolRequest( + id = id, + name = name, + arguments = arguments, + tool = tool %||% new_tool() + ) +} + +# Helper function to create tool results +new_tool_result <- function( + value = NULL, + error = NULL, + request = new_tool_request(), + extra = list() +) { + ellmer::ContentToolResult( + value = value, + error = error, + request = request, + extra = extra + ) +} + +# Helper function to create a basic tool definition +new_tool <- function(name = NULL, description = NULL, annotations = list()) { + ellmer::tool( + function() NULL, + name = name %||% "test_tool", + description = description %||% "A test tool to test tooling", + annotations = annotations + ) +} diff --git a/pkg-r/tests/testthat/test-contents_shinychat.R b/pkg-r/tests/testthat/test-contents_shinychat.R new file mode 100644 index 00000000..dffe11be --- /dev/null +++ b/pkg-r/tests/testthat/test-contents_shinychat.R @@ -0,0 +1,466 @@ +test_that("opt_shinychat_tool_display handles options and environment variables", { + withr::local_options(list(shinychat.tool_display = NULL)) + withr::local_envvar(list(SHINYCHAT_TOOL_DISPLAY = NULL)) + + # Default behavior + with_shinychat_tool_display({ + expect_equal(opt_shinychat_tool_display(), "rich") + }) + + # Option setting + with_shinychat_tool_display(opt = "basic", { + expect_equal(opt_shinychat_tool_display(), "basic") + }) + + # Environment variable + with_shinychat_tool_display(envvar = "none", { + expect_equal(opt_shinychat_tool_display(), "none") + }) + + # Option takes precedence over env var + with_shinychat_tool_display(envvar = "none", opt = "basic", { + expect_equal(opt_shinychat_tool_display(), "basic") + }) + + # Invalid values + with_shinychat_tool_display(envvar = "invalid", { + expect_snapshot( + error = TRUE, + opt_shinychat_tool_display() + ) + }) + with_shinychat_tool_display(opt = "invalid", { + expect_snapshot( + error = TRUE, + opt_shinychat_tool_display() + ) + }) +}) + +test_that("basic Content handling works", { + ContentHTML <- S7::new_class( + "ContentHTML", + parent = ellmer::ContentText + ) + S7::method(contents_shinychat, ContentHTML) <- function(content) { + shiny::HTML(content@text) + } + + ContentMarkdown <- S7::new_class( + "ContentMarkdown", + parent = ellmer::ContentText + ) + S7::method(contents_shinychat, ContentMarkdown) <- function(content) { + content@text + } + + # Test HTML content + html_content <- ContentHTML(HTML("

test

")) + expect_equal( + as.character(contents_shinychat(html_content)), + "

test

" + ) + + # Test Markdown content + md_content <- ContentMarkdown("**test**") + expect_equal(contents_shinychat(md_content), "**test**") + + # Test Text content + text_content <- ellmer::ContentText("test") + expect_equal(contents_shinychat(text_content), "test") +}) + +test_that("ContentToolRequest returns NULL when display is disabled", { + # Should return NULL when display is none + with_shinychat_tool_display(opt = "none", { + request <- new_tool_request() + expect_null(contents_shinychat(request)) + }) +}) + +test_that("ContentToolRequest rich display", { + local_shinychat_tool_display(opt = "rich") + + request <- new_tool_request( + id = "test-123", + name = "weather", + arguments = list(.intent = "Check weather", location = "NYC") + ) + + res <- contents_shinychat(request) + expect_s3_class(res, "shinychat_tool_request") + expect_equal(res$request_id, "test-123") + expect_equal(res$tool_name, "weather") + expect_equal(res$intent, "Check weather") + expect_equal( + jsonlite::fromJSON(res$arguments), + list(.intent = "Check weather", location = "NYC") + ) + + res_tags <- as.tags(res) + expect_equal(res_tags$name, "shiny-tool-request") + expect_equal(res_tags$attribs$"request-id", "test-123") + expect_equal(res_tags$attribs[["tool-name"]], "weather") + expect_equal(res_tags$attribs$intent, "Check weather") + expect_equal( + jsonlite::fromJSON(res_tags$attribs$arguments), + list(.intent = "Check weather", location = "NYC") + ) +}) + +test_that("ContentToolRequest handles tool annotations", { + local_shinychat_tool_display(opt = "rich") + + tool <- new_tool( + name = "weather", + annotations = list(title = "Weather Tool") + ) + request <- new_tool_request(tool = tool) + res <- contents_shinychat(request) + + expect_s3_class(res, "shinychat_tool_request") + expect_equal(res$tool_title, "Weather Tool") +}) + +test_that("ContentToolResult requires an associated `@request` property", { + expect_snapshot( + error = TRUE, + contents_shinychat(new_tool_result(request = NULL)) + ) +}) + +test_that("returns NULL for ContentToolResult when display is none", { + local_shinychat_tool_display(opt = "none") + + base_request <- new_tool_request() + result <- new_tool_result(request = base_request) + + expect_null(contents_shinychat(result)) +}) + +test_that("simple ContentToolResult are displayed correctly", { + local_shinychat_tool_display(opt = "rich") + + result <- new_tool_result(value = "Success!") + res <- contents_shinychat(result) + + expect_s3_class(res, "shinychat_tool_result") + expect_equal(res$request_id, result@request@id) + expect_equal(res$tool_name, result@request@name) + expect_equal(res$value, "Success!") + expect_equal(res$value_type, "code") + expect_equal(res$status, "success") +}) + +test_that("errors in ContentToolResult are displayed correctly", { + local_shinychat_tool_display(opt = "rich") + + result <- new_tool_result(error = "Failed!") + res <- contents_shinychat(result) + + expect_s3_class(res, "shinychat_tool_result") + expect_equal(res$status, "error") + expect_equal(res$value, "Failed!") + expect_equal(res$value_type, "code") + + # basic and rich display are the same + expect_equal( + with_shinychat_tool_display(opt = "basic", contents_shinychat(result)), + res + ) +}) + +test_that("ContentToolResult with custom text display", { + local_shinychat_tool_display(opt = "rich") + + result <- new_tool_result( + value = "success", + extra = list(display = list(text = "Success!")) + ) + + expect_equal( + tool_result_display(result), + list(value = "Success!", value_type = "text") + ) + + res <- contents_shinychat(result) + expect_s3_class(res, "shinychat_tool_result") + expect_equal(res$request_id, result@request@id) + expect_equal(res$tool_name, result@request@name) + expect_equal(res$status, "success") + expect_equal(res$value, "Success!") + expect_equal(res$value_type, "text") + expect_equal(res$show_request, NA) + expect_null(res$expanded) + + res_tags <- as.tags(res) + expect_s3_class(res_tags, "shiny.tag") + expect_equal(res_tags$name, "shiny-tool-result") + expect_equal(res_tags$attribs$status, "success") + expect_equal(res_tags$attribs$value, "Success!") + expect_equal(res_tags$attribs$"value-type", "text") + expect_equal(res_tags$attribs[["show-request"]], NA) + expect_null(res_tags$attribs$expanded) +}) + +test_that("ContentToolResult with additional display options from result", { + local_shinychat_tool_display(opt = "rich") + + result <- new_tool_result( + value = "test", + extra = list( + display = list( + html = "

test

", + show_request = FALSE, + open = TRUE, + title = "Custom Title" + ) + ) + ) + res <- contents_shinychat(result) + expect_s3_class(res, "shinychat_tool_result") + expect_equal(res$value, "

test

") + expect_equal(res$value_type, "html") + expect_equal(res$show_request, NULL) + expect_equal(res$expanded, NA) + expect_equal(res$tool_title, "Custom Title") + + res_tags <- as.tags(res) + expect_equal(res_tags$attribs$value, "

test

") + expect_equal(res_tags$attribs$"value-type", "html") + expect_equal(res_tags$attribs[["show-request"]], NULL) + expect_equal(res_tags$attribs$expanded, NA) + expect_equal(res_tags$attribs[["tool-title"]], "Custom Title") +}) + +test_that("ContentToolResult handles icon and dependencies from tool definition", { + local_shinychat_tool_display(opt = "rich") + + icon_dep <- htmltools::htmlDependency( + name = "test", + version = "1.0", + src = "." + ) + + tool <- new_tool( + annotations = list( + icon = htmltools::tags$i(class = "icon", icon_dep) + ) + ) + result <- new_tool_result( + value = "test", + request = new_tool_request(tool = tool), + extra = list(display = list(text = "test")) + ) + + res <- contents_shinychat(result) + expect_s3_class(res, "shinychat_tool_result") + expect_equal(res$icon, tool@annotations$icon) + + res_tags <- as.tags(res) + expect_equal(format(res_tags$attribs$icon), '') + expect_true( + list(icon_dep) %in% htmltools::findDependencies(res_tags$children) + ) +}) + +test_that("ContentToolResult formats request_call correctly", { + local_shinychat_tool_display(opt = "rich") + + result <- new_tool_result( + value = "test", + request = new_tool_request( + name = "test", + arguments = list(x = 1, y = "test") + ) + ) + res <- contents_shinychat(result) + expect_equal(res$request_call, 'test(x = 1, y = "test")') + + result@request@tool <- NULL + res_no_tool <- contents_shinychat(result) + expect_equal( + jsonlite::fromJSON(res_no_tool$request_call), + list( + id = result@request@id, + name = result@request@name, + arguments = result@request@arguments + ) + ) +}) + +test_that("get_tool_result_display handles invalid formats", { + # Test direct HTML warning + result <- new_tool_result( + extra = list(display = htmltools::tags$p("test")) + ) + + expect_snapshot( + get_tool_result_display(result) + ) + + # Test non-list warning + result <- new_tool_result( + extra = list(display = "invalid") + ) + expect_snapshot( + get_tool_result_display(result) + ) +}) + +test_that("tool_result_display basic format", { + local_shinychat_tool_display(opt = "basic") + result <- new_tool_result( + value = list(x = 1), + extra = list(display = list(text = "ignored in basic mode")) + ) + expect_equal( + tool_result_display(result), + list( + value = jsonlite::toJSON(list(x = 1), auto_unbox = TRUE, pretty = 2), + value_type = "code" + ) + ) +}) + +test_that("tool_result_display rich format", { + local_shinychat_tool_display(opt = "rich") + result <- new_tool_result( + value = "test", + extra = list( + display = list( + html = "

html

", + markdown = "**md**", + text = "text" + ) + ) + ) + expect_equal( + tool_result_display(result), + list(value = "

html

", value_type = "html") + ) +}) + +test_that("processes a Turn object", { + # Create a turn with multiple content items + turn <- ellmer::Turn( + role = "assistant", + contents = list( + ellmer::ContentText("Hello"), + new_tool_request(), + ellmer::ContentText("World") + ) + ) + + # Process turn contents + results <- contents_shinychat(turn) + expect_length(results, 3) + expect_equal(results[[1]], "Hello") + expect_s3_class(results[[2]], "shinychat_tool_request") + expect_equal(results[[3]], "World") +}) + +test_that("consolidates adjacent turn types in a Chat object", { + chat <- ellmer::chat_openai(api_key = "boop") + + chat$set_turns(list( + ellmer::Turn( + role = "assistant", + contents = list(ellmer::ContentText("Hello")) + ), + ellmer::Turn( + role = "assistant", + contents = list(ellmer::ContentText("World")) + ) + )) + + messages <- contents_shinychat(chat) + expect_length(messages, 1) + expect_equal(messages[[1]]$role, "assistant") + expect_equal(messages[[1]]$content, "Hello\n\nWorld") +}) + +test_that("doesn't consolidate adjacent turns with different roles in a Chat object", { + chat <- ellmer::chat_openai(api_key = "boop") + + chat$set_turns(list( + ellmer::Turn( + role = "user", + contents = list(ellmer::ContentText("Question")) + ), + ellmer::Turn( + role = "assistant", + contents = list(ellmer::ContentText("Answer")) + ) + )) + + messages <- contents_shinychat(chat) + expect_length(messages, 2) # Previous consolidated message + 2 new messages + expect_equal(messages[[1]]$role, "user") + expect_equal(messages[[2]]$role, "assistant") +}) + +test_that("drops requests and moves results to assistant turn role in a Chat object", { + chat <- ellmer::chat_openai(api_key = "boop") + + chat$set_turns(list( + ellmer::Turn( + role = "assistant", + contents = list( + ellmer::ContentText("Hello"), + new_tool_request() + ) + ), + ellmer::Turn( + role = "user", + contents = list( + new_tool_result(value = "success") + ) + ) + )) + + messages <- contents_shinychat(chat) + expect_length(messages, 1) + expect_equal(messages[[1]]$role, "assistant") + + # Verify tool requests are filtered but results appear + expect_false( + some(messages[[1]]$content, inherits, "shinychat_tool_request") + ) + expect_true( + some(messages[[1]]$content, inherits, "shinychat_tool_result") + ) +}) + +test_that("throws when a result does not have a `request` property", { + expect_snapshot( + error = TRUE, + contents_shinychat(new_tool_result(request = NULL)) + ) +}) + +test_that("throws for invalid tool display option", { + withr::local_options(shinychat.tool_display = "invalid") + expect_snapshot( + error = TRUE, + opt_shinychat_tool_display() + ) +}) + +test_that("throws for invalid tool display ennvar", { + withr::local_envvar(SHINYCHAT_TOOL_DISPLAY = "invalid") + expect_snapshot( + error = TRUE, + opt_shinychat_tool_display() + ) +}) + +test_that("warns when `display` is not a list", { + result <- new_tool_result( + request = new_tool_request(), + extra = list(display = htmltools::tags$p("test")) + ) + expect_snapshot( + as.tags(contents_shinychat(result)) + ) +}) diff --git a/pkg-r/vignettes/articles/.gitignore b/pkg-r/vignettes/articles/.gitignore new file mode 100644 index 00000000..0a1389f7 --- /dev/null +++ b/pkg-r/vignettes/articles/.gitignore @@ -0,0 +1,3 @@ +*.html +*.R +*_files/ diff --git a/pkg-r/vignettes/articles/tool-ui.Rmd b/pkg-r/vignettes/articles/tool-ui.Rmd new file mode 100644 index 00000000..856fad6e --- /dev/null +++ b/pkg-r/vignettes/articles/tool-ui.Rmd @@ -0,0 +1,534 @@ +--- +title: "Tool Calling UI" +output: + html_document: + theme: + version: 5 + preset: shiny + self_contained: false +vignette: > + %\VignetteIndexEntry{Tool Calling UI} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r} +#| include: false +#| message: false +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + echo = FALSE +) +``` + +```{=html} + +``` + +## Introduction + +shinychat automatically displays rich UI for tool calls and results, providing users with an intuitive view of what tools are being executed and their outcomes. This tool UI works out-of-the-box with ellmer and requires no additional configuration to get started. + +## Basic tool display + +Let's start with a simple weather forecasting tool to demonstrate the default behavior: + +```{r} +#| echo: true +library(shinychat) +library(ellmer) +library(weathR) # for forecasts via `point_tomorrow()` + +get_weather_forecast <- tool( + function(lat, lon) { + point_tomorrow(lat, lon, short = FALSE) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude") + ) +) +``` + +```{r} +# Shim point_tomorrow with caching to speed up rendering +point_tomorrow <- local({ + result <- NULL + function(lat, lon, short = TRUE) { + if (is.null(result)) { + result <<- weathR::point_tomorrow(lat, lon, short = short) + } + result + } +}) +``` + +With `{ellmer}`, you register this tool with a chat object. +When the LLM calls the tool, ellmer automatically evaluates the tool call and returns the result to the LLM. + +```{r} +#| echo: true +#| eval: false + +chat <- ellmer::chat("openai/gpt-4.1-nano", echo = "output") +chat$register_tool(get_weather_forecast) +chat$chat("What's the weather in Boston like today?") +``` +``` +◯ [tool call] get_weather_forecast(lat = 42.3601, lon = -71.0589) +● #> [{"time":"2025-08-05 11:00:00 EDT","temp":76,"dewpoint":17.7778,"hum… + +The weather in Boston today is partly sunny with temperatures around 75-76°F +during the afternoon. There is some humidity at about 64-66%. There is a +possibility of rain starting around 4 PM, with increasing chances in the +evening. Winds are coming from the northeast at about 8-10 mph. +``` + +If you're interested in learning more about how to use and create tools with `{ellmer}`, we recommend reading the [Tool/function calling article](https://ellmer.tidyverse.org/articles/tool-calling.html) on the `{ellmer}` website. + +If you're working interactively in the R console---and if you've set the `echo = "output"` option---ellmer shows you when tool calls are made and gives a preview of the tool result. + +``` +◯ [tool call] get_weather_forecast(lat = 42.3601, lon = -71.0589) +● #> [{"time":"2025-08-05 11:00:00 EDT","temp":76,"dewpoint":17.7778,"hum… +``` + +shinychat's tool UI works in the same way, but with rich output displays that are shown directly in the `chat_ui()` interface in Shiny apps. +When the LLM calls a tool, shinychat automatically displays the tool request in a collapsed card. +Expanding the card shows the arguments passed to the tool. + +```{r} +#| echo: false + +# Simulate a tool request +request <- ContentToolRequest( + id = "tool_call_001", + name = "get_weather_forecast", + arguments = list( + lat = 40.7128, + lon = -74.0060 + ), + tool = get_weather_forecast +) + +contents_shinychat(request) +``` + +When the tool result is completed, shinychat replaces the request with a card containing the tool result: + +```{r} +#| echo: false + +request@id <- "tool_call_002" # Don't match so we don't hide the request + +result <- ContentToolResult( + value = get_weather_forecast(42.3601, -71.0589), + request = request +) + +contents_shinychat(result) +``` + +If the tool throws an error when called, ellmer captures the error and shows it to the LLM. +shinychat updates the tool card to show the error message: + +```{r} +request@id <- "tool_call_001c" +error_result <- ContentToolResult( + error = rlang::catch_cnd(mean[[1]]), + request = request +) + +contents_shinychat(error_result) +``` + +When you use `chat_app()` or the chat UI module via `chat_mod_ui()` and `chat_mod_server()`, shinychat automatically handles tool requests and results, displaying them in the chat interface. + +On the other hand, if you're using `chat_ui()` and calling `chat_append()` to stream the chat output, you'll need to make sure that ellmer streams tool requests and results to shinychat by setting `stream = "content"` in the `$stream_async()` call. + +```{r} +#| echo: true +#| eval: false +server <- function(input, output, session) { + client <- ellmer::chat("openai/gpt-4.1-nano") + client$register_tool(get_weather_forecast) + + observeEvent(input$chat_user_input, { + stream <- client$stream_async(input$chat_user_input, stream = "content") + chat_append("chat", stream) + }) +} +``` + +Setting `stream = "content"` tells ellmer to stream `ellmer::Content` objects rather than plain text. +As a result, `ellmer::ContentToolRequest` and `ellmer::ContentToolResult` objects are streamed to shinychat, which automatically displays the tool requests and results in the chat interface. + +## Tool title and icon + +### Via tool annotations + +You can improve the visual presentation by adding `annotations` to your `ellmer::tool()` definition using `ellmer::tool_annotations()`. +If the tool annotations include a `title` or `icon`, shinychat will use them in the tool request and result displays. + +```{r} +#| echo: true + +get_weather_forecast <- tool( + function(lat, lon) { + point_tomorrow(lat, lon, short = FALSE) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("cloud-sun") + ) +) +``` + +Now the tool request shows the custom title + +```{r} +request_with_annotations <- ContentToolRequest( + id = "tool_call_003", + name = "get_weather_forecast", + arguments = list( + lat = 42.3601, + lon = -71.0589 + ), + tool = get_weather_forecast +) + +contents_shinychat(request_with_annotations) +``` + +and the tool results show both the custom title and the icon. + +```{r} +request_with_annotations@id <- "tool_call_004" + +result_with_annotations <- ContentToolResult( + value = get_weather_forecast(42.3601, -71.0589), + request = request_with_annotations +) + +contents_shinychat(result_with_annotations) +``` + +### Via the tool result + +Using tool annotations is an easy way to set the title and icon for all tool requests and results, but sometimes you'll want to customize the display for specific tool calls or results. +In these cases, you'll need to update your tool function to return an `ellmer::ContentToolResult` object, which takes an `extra` property that includes a list of extra data to attach to the result. + +shinychat looks for and uses a `display` list within `extra` to customize how the tool result is shown. +These properties can be computed dynamically based on the tool's input or the data it prepares to show to the LLM. +If this list contains `title` and `icon` items, these values override the values in the tool's annotations. + +One useful strategy is to include display parameters in the tool's function signature, allowing the LLM to include context or additional information in the tool call. +In the example below, we'll let the LLM write the tool result title and we'll pick an icon based on the forecasted temperatures. +Note that we need to also update the tool's `arguments` to include the new `location_name` parameter so that the LLM can provide a meaningful title. + +```{r} +#| echo: true + +get_weather_forecast <- tool( + function(lat, lon, location_name) { + forecast <- point_tomorrow(lat, lon, short = FALSE) + + icon <- if (any(forecast$temp > 70)) { + bsicons::bs_icon("sun-fill") + } else if (any(forecast$temp < 45)) { + bsicons::bs_icon("snow") + } else { + bsicons::bs_icon("cloud-sun-fill") + } + + ContentToolResult( + forecast, + extra = list( + display = list( + title = paste("Weather Forecast for", location_name), + icon = icon + ) + ) + ) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + location_name = type_string("Name of the location for display to the user") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("cloud-sun") + ) +) +``` + +Now when the tool result is completed, shinychat shows the custom title and icon based on the forecasted temperature: + +```{r} +request_title_icon_result <- ContentToolRequest( + id = "tool_call_005", + name = "get_weather_forecast", + arguments = list( + lat = 42.3601, + lon = -71.0589, + location_name = "Boston, MA" + ), + tool = get_weather_forecast +) + +result_title_icon_result <- get_weather_forecast(42.3601, -71.0589, "Boston, MA") +result_title_icon_result@request <- request_title_icon_result + +contents_shinychat(result_title_icon_result) +``` + +## Tool intent + +In the last example, we saw that we could include arguments in the tool function to let the LLM write some of the display text for us (e.g., the location name). + +This strategy is so useful that shinychat automatically supports it for a `.intent` argument. +When `.intent` is present in the tool's arguments, shinychat shows this value in the tool request and result titles as the _reason the tool was called_. + +To demonstrate, we'll use take a break from our weather tool and create a tool that simply generates a random number. +On it's own, the tool doesn't need any arguments, but we include a `.intent` argument in the tool function and we include a description to explain its purpose. + +```{r} +#| echo: true + +tool_random_number <- tool( + function(.intent) { + runif(1) + }, + name = "tool_random_number", + description = "Generate a random number.", + arguments = list( + .intent = type_string( + "A short snippet used for display purposes to explain the call to the user." + ) + ), + annotations = tool_annotations( + title = "Random Number Generator", + icon = bsicons::bs_icon("dice-3-fill") + ) +) +``` + +When the tool is called, shinychat shows the reason the LLM called the tool in the header of the tool card. + +```{r} +request_random_number <- ContentToolRequest( + id = "tool_call_006", + name = "tool_random_number", + arguments = list(.intent = "Generate a random number for testing"), + tool = tool_random_number +) + +result_random_number <- ContentToolResult( + runif(1), + request = request_random_number +) + +contents_shinychat(result_random_number) +``` + +## Customizing tool result display + +We've already seen that we can [customize the tool title and icon](#via-the-tool-result) by returning a `ContentToolResult` object from our tool function and specifying `title` and `icon` in the `extra$display` list. + +shinychat uses the `display` list for two additional categories of customization: + +1. Alternative `html`, `markdown`, or `text` to show the user in place of the text value shown to the LLM. +2. Options to control how the tool result is presented. + +### Alternative display content + +By default, shinychat shows the tool result's `value` property as a code block to the user. +This is often sufficient, but in some cases your tool may collect or prepare data that could be better presented to users in a different format. + +For example, our weather tool returns a data frame with the forecast for the next day. +The LLM sees a JSON representation of this data frame, but users would likely prefer to see a nicely formatted table. + +shinychat looks for the following properties in the `display` list and shows the user the first available display in the following order: + +1. `html`: An HTML string or object. This can be HTML generated via R packages like `{htmltools}`, `{gt}`, `{reactable}` or even `{htmlwidgets}`. +2. `markdown`: A markdown string that is automatically rendered as rich HTML in shinychat. +3. `text`: A plain text string that is shown without code formatting. + +Keep in mind that the content you show to your users should faithfully represent the `value` shown to the LLM. +Our weather tool is a great example---a JSON object isn't very user-friendly, but a table showing the forecast data is perfect. + +#### Alternative HTML display + +In the following example, we'll update the `get_weather_forecast()` to show the user a nicely formatted HTML table using `{gt}`. + +```{r} +#| echo: true + +get_weather_forecast <- tool( + function(lat, lon, location_name) { + forecast_data <- point_tomorrow(lat, lon, short = FALSE) + forecast_table <- gt::as_raw_html(gt::gt(forecast_data)) + + ContentToolResult( + forecast_data, + extra = list( + display = list( + html = forecast_table, + title = paste("Weather Forecast for", location_name) + ) + ) + ) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + location_name = type_string("Name of the location for display to the user") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("cloud-sun") + ) +) +``` + +Expand the tool result card to see the forecast as a table. + +```{r} +request_html <- ContentToolRequest( + id = "tool_call_007", + name = "get_weather_forecast", + arguments = list(location_name = "Boston, MA", lat = 42.3601, lon = -71.0589), + tool = get_weather_forecast +) + +result_html <- do.call(get_weather_forecast, request_html@arguments) +result_html@request <- request_html + +contents_shinychat(result_html) +``` + +#### Alternative markdown display + +You can also prepare markdown content to show your users based on the tool result. +It's less appropriate in our weather tool, but we could use markdown to summarize the forecast in a few sentences. + + +```{r} +#| echo: true + +get_weather_forecast <- tool( + function(lat, lon, location_name) { + forecast_data <- point_tomorrow(lat, lon, short = FALSE) + + temp_current <- forecast_data$temp[1] + skies_current <- forecast_data$skies[[1]] + + temp_high <- max(forecast_data$temp) + temp_low <- min(forecast_data$temp) + + humidity <- round(mean(forecast_data$humidity), 1) + skies <- table(forecast_data$skies) + skies <- names(skies)[which.max(skies)] + + forecast_summary <- glue::glue( + "In **{location_name}**, it's currently {temp_current}°F with _{tolower(skies_current)}_ skies. ", + "Today's high will be {temp_high}°F and the low will be {temp_low}°F. ", + "Humidity is around {humidity}%. ", + "Look for **{tolower(skies)}** skies throughout the day." + ) + + ContentToolResult( + forecast_data, + extra = list( + display = list( + markdown = forecast_summary, + title = paste("Weather Forecast for", location_name) + ) + ) + ) + }, + name = "get_weather_forecast", + description = "Get the weather forecast for a location.", + arguments = list( + lat = type_number("Latitude"), + lon = type_number("Longitude"), + location_name = type_string("Name of the location for display to the user") + ), + annotations = tool_annotations( + title = "Weather Forecast", + icon = bsicons::bs_icon("cloud-sun") + ) +) +``` + +```{r} +request_html <- ContentToolRequest( + id = "tool_call_008", + name = "get_weather_forecast", + arguments = list(location_name = "Boston, MA", lat = 42.3601, lon = -71.0589), + tool = get_weather_forecast +) + +result_html <- do.call(get_weather_forecast, request_html@arguments) +result_html@request <- request_html + +contents_shinychat(result_html) +``` + + +### Display Options + +In addition to customizing the [tool title and icon](#via-the-tool-result) and providing alternative display content, you can also control how the tool result is presented using options in the `display` list. + +shinychat supports several options in the `display` list to control how results are presented: + +- **`show_request = FALSE`**: Hide the tool call details from the tool results display. + + This is useful when you have rich output and the tool call details are clear from the rest of the display. + For example, it might be appropriate to hide the request details when showing a [full formatted table of results](#alternative-html-display). + +- **`open = TRUE`**: Expand the result panel by default. + + This is most useful when you've [customized the tool display](#alternative-display-content) to include an `{htmlwidget}` or other rich content that users should see immediately. + +- **`title`** and **`icon`**: Choose the title and icon displayed in the tool result card header. + + +## Global display options + +shinychat uses the rich tool UI described above by default, but you can choose to hide all tool calls or use shinychat's basic display without allowing for rich or alternative content displays. + +Most users won't need to customize these options, but it can be useful to use the basic display for debugging or verification purposes when you need to see the tool arguments and outputs exactly as written and seen by the LLM. + +To adjust the display for debugging or verification purposes, set the `shinychat.tool_display` option (or the `SHINYCHAT_TOOL_DISPLAY` environment variable) to one of the following values: + +```r +# Disable tool UI entirely +options(shinychat.tool_display = "none") + +# Use basic text-based display (useful for verifying inputs/outputs) +options(shinychat.tool_display = "basic") + +# Default rich display applies customizations from tool authors +options(shinychat.tool_display = "rich") +``` + +For most users, the default `"rich"` display provides the best experience.