@snf/access-qa-bot 3.3.9 → 3.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-qa-bot.js","sources":["../node_modules/@snf/qa-bot-core/dist/qa-bot-core.js","../src/config/constants.ts","../src/flows/main-menu-flow.ts","../src/utils/flow-context.ts","../src/utils/ticket-api.ts","../src/utils/validation.ts","../src/flows/access-login-flow.tsx","../src/flows/resource-login-flow.tsx","../src/flows/general-help-flow.tsx","../src/flows/ticket-flow.ts","../src/flows/security-flow.tsx","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/flows/metrics-flow.ts","../src/utils/session.ts","../src/utils/shadow-dom-styles.ts","../src/components/AccessQABot.tsx"],"sourcesContent":["import*as e from\"react\";import t,{forwardRef as n,createContext as r,useContext as o,useCallback as A,useRef as i,useState as a,useEffect as l,useMemo as s,isValidElement as c,Fragment as u,createElement as d,useImperativeHandle as p}from\"react\";import f from\"react-dom/client\";import{jsx as h,jsxs as g,Fragment as m}from\"react/jsx-runtime\";import v from\"react-dom/server\";function b(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&\"undefined\"!=typeof document){var r=document.head||document.getElementsByTagName(\"head\")[0],o=document.createElement(\"style\");o.type=\"text/css\",\"top\"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}b('.rcb-chat-header-container{border-bottom:1px solid #ccc;color:#fff;display:flex;justify-content:space-between;max-height:55px;padding:12px}.rcb-chat-header{display:flex;flex-direction:row}.rcb-bot-avatar{background-size:cover;border-radius:50%;height:30px;margin-right:12px;width:30px}.rcb-message-prompt-container.visible{align-items:center;animation:rcb-animation-pop-in .3s ease-in-out;bottom:0;display:flex;justify-content:center;margin:auto;opacity:1;pointer-events:auto;position:sticky}.rcb-message-prompt-container.hidden{height:0;opacity:0;pointer-events:none;visibility:hidden}.rcb-message-prompt-text{background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;font-size:12px;padding:6px 12px;transition:color .3s ease,border-color .3s ease;z-index:9999}.rcb-message-prompt-container.hidden .rcb-message-prompt-text{padding:0}.rcb-user-message-container{display:flex;flex-direction:row;justify-content:right}.rcb-user-message{border-radius:22px;font-size:15px;height:fit-content;margin-right:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:right;white-space:pre-wrap;width:fit-content}.rcb-user-message-offset{margin-right:50px}.rcb-user-message-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-message-user-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:-10px;margin-right:6px;margin-top:9px;width:40px}.rcb-bot-message-container{display:flex;flex-direction:row}.rcb-bot-message{border-radius:22px;font-size:15px;height:fit-content;margin-left:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:left;white-space:pre-wrap;width:fit-content}.rcb-bot-message-offset{margin-left:50px}.rcb-bot-message-entry{animation:rcb-animation-bot-message-entry .3s ease-in backwards}.rcb-message-bot-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:6px;margin-right:-10px;margin-top:9px;width:40px}.rcb-typing-indicator{align-items:center;display:flex}.rcb-dot{animation:rcb-animation-bot-typing 1s infinite;background-color:#ccc;border-radius:50%;height:8px;margin-right:4px;width:8px}.rcb-dot:nth-child(2){animation-delay:.2s}.rcb-dot:nth-child(3){animation-delay:.4s}.rcb-chat-body-container{height:100%;overflow-x:hidden;overflow-y:scroll;padding-bottom:16px;position:relative;touch-action:pan-y;width:100%}.rcb-chat-body-container::-webkit-scrollbar-track{background-color:#f1f1f1}.rcb-chat-body-container::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:4px}.rcb-chat-body-container::-webkit-scrollbar-thumb:hover{background-color:#cfcfcf}.rcb-chat-body-container::-webkit-scrollbar-corner{background-color:#f1f1f1}.rcb-checkbox-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;padding-top:12px}.rcb-checkbox-offset{margin-left:50px!important}.rcb-checkbox-row-container{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:flex;gap:5px;max-height:32px;min-height:30px;overflow:hidden;width:80%}.rcb-checkbox-row-container:hover{box-shadow:0 0 5px #0003}.rcb-checkbox-row{align-items:center;cursor:pointer;display:inline-flex;margin-left:10px}.rcb-checkbox-mark{align-items:center;background-color:#f2f2f2;border:none;border-radius:50%;cursor:pointer;display:flex;height:20px;justify-content:center;margin-right:10px;transition:all .3s ease;width:20px}.rcb-checkbox-mark:hover{background-color:#c2c2c2}.rcb-checkbox-mark:before{content:\"✓\";transition:all .3s ease}.rcb-checkbox-label{font-size:14px}.rcb-checkbox-next-button{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-block;font-size:24px;max-height:32px;min-height:30px;text-align:center;width:80%}.rcb-checkbox-next-button:before{content:\"→\"}.rcb-checkbox-next-button:hover{box-shadow:0 0 5px #0003}.rcb-options-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;max-width:70%;padding-top:12px}.rcb-options-offset{margin-left:50px!important}.rcb-options{align-items:center;animation:rcb-animation-options-entry .5s ease-out;border-radius:20px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;overflow:hidden;padding:10px 20px;transition:background-color .3s ease}.rcb-options:hover{box-shadow:0 0 5px #0003}.rcb-line-break-container{align-items:center;display:flex;justify-content:center;max-height:45px;padding-bottom:5px;padding-top:10px}.rcb-line-break-text{color:#adadad;font-size:12px;padding:6px 12px}.rcb-spinner-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-spinner{animation:rcb-animation-spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;height:22px;width:22px}.rcb-chat-input{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;padding:8px 16px}.rcb-chat-input::placeholder{color:#999}.rcb-chat-input-textarea{background-color:#fff;border:none;border-radius:4px;color:#000;flex:1;font-family:inherit;font-size:16px;height:auto;min-height:38px;outline:none;overflow-y:scroll;padding:8px;resize:none;touch-action:none}.rcb-chat-input-textarea::-webkit-scrollbar,.rcb-chat-input-textarea::-webkit-scrollbar-thumb{background-color:initial}.rcb-chat-input-textarea::-webkit-scrollbar-thumb:hover{background-color:initial}.rcb-chat-input-char-counter{font-size:14px;margin-left:8px;margin-top:3px}.rcb-chat-footer-container{align-items:flex-end;background-color:#f2f2f2;border-top:1px solid #ccc;color:#000;display:flex;font-size:12px;justify-content:space-between;max-height:55px;padding:12px 16px 8px 10px}.rcb-chat-footer,.rcb-toggle-button{display:flex;flex-direction:row}.rcb-toggle-button{border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 4px #0003;cursor:pointer;height:75px;position:fixed;right:20px;width:75px;z-index:9999}.rcb-toggle-button.rcb-button-hide{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}.rcb-toggle-button.rcb-button-show{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-toggle-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:inherit;height:100%;margin:auto;width:100%}.rcb-badge,.rcb-toggle-icon{align-items:center;display:flex;justify-content:center}.rcb-badge{background-color:red;border-radius:50%;color:#fff;height:25px;position:absolute;right:-6px;top:-6px;width:25px}.rcb-chat-tooltip{border-radius:20px;box-shadow:0 2px 6px #0003;cursor:pointer;font-size:20px;padding:16px;position:fixed;transition:transform .3s ease;white-space:nowrap;z-index:9999}.rcb-chat-tooltip-tail{border-style:solid;border-width:10px 0 10px 10px;content:\"\";margin-top:-10px;position:absolute;right:-10px;top:50%}.rcb-chat-tooltip.rcb-tooltip-hide{animation:rcb-animation-tooltip-out .5s ease-in-out;opacity:0;visibility:hidden}.rcb-chat-tooltip.rcb-tooltip-show{animation:rcb-animation-tooltip-in .5s ease-in-out;opacity:1;visibility:visible}.rcb-toast-prompt{animation:rcb-animation-pop-in .3s ease-in-out;background-color:#fff;border:.5px solid #7a7a7a;border-radius:5px;color:#7a7a7a;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 12px;text-align:center;transition:color .3s ease,border-color .3s ease;width:100%;z-index:9999}.rcb-toast-prompt-container{align-items:center;animation:popIn .3s ease-in-out;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:50%;margin:200 auto auto;opacity:1;pointer-events:auto;position:absolute;transform:translate(-50%)}.rcb-media-display-image-container,.rcb-media-display-video-container{border-radius:22px;margin-right:16px;margin-top:8px;padding:16px;width:fit-content}.rcb-media-display-offset{margin-right:50px!important}.rcb-media-display-image{border-radius:22px;height:auto;object-fit:cover;width:100%}.rcb-media-display-video{background-color:#000;border-radius:22px;height:auto;width:100%}.rcb-media-display-audio{border-radius:22px;height:auto;margin-right:16px;margin-top:8px;width:100%}.rcb-media-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-attach-button-disabled,.rcb-attach-button-enabled{background-size:cover;border-radius:6px;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-attach-button-disabled input[type=file],.rcb-attach-button-enabled input[type=file]{display:none;height:100%;position:absolute;width:100%}.rcb-attach-button-enabled{cursor:pointer}.rcb-attach-button-disabled{opacity:.5}.rcb-attach-button-enabled:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-attach-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-attach-icon-disabled,.rcb-attach-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;height:24px;margin-top:2px;transition:background-image .3s ease;width:24px}.rcb-attach-icon-enabled{cursor:pointer}.rcb-emoji-button-disabled,.rcb-emoji-button-enabled{background-size:cover;border-radius:6px;cursor:pointer;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-emoji-icon-disabled,.rcb-emoji-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;font-size:20px;height:24px;margin-top:2px;position:relative;width:24px}.rcb-emoji-icon-enabled{cursor:pointer}.rcb-emoji-icon-disabled{opacity:.5}.rcb-emoji-button-enabled:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-emoji-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-emoji-button-popup{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;max-height:200px;overflow-y:auto;padding:8px;position:absolute;transform:translateY(calc(-100% - 30px));width:158px}.rcb-emoji{cursor:pointer;font-size:24px;padding:3px;transition:transform .2s ease-in-out}.rcb-emoji:hover{transform:scale(1.2)}.rcb-audio-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-audio-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-audio-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-close-chat-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-close-chat-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-close-chat-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-notification-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-notification-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-notification-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-voice-button-disabled,.rcb-voice-button-enabled{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:all .3s ease;width:32px}.rcb-voice-button-enabled{border:1px solid red;box-shadow:0 0 3px #ff000080}.rcb-voice-button-enabled:hover{border:1px solid #3d0000}.rcb-voice-button-disabled{border:1px;border-color:#0003;border-style:solid}.rcb-voice-button-disabled:hover{box-shadow:0 0 3px #8a0000}.rcb-voice-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:60%;object-fit:cover;width:60%}.rcb-voice-icon.on{animation:rcb-animation-ping 1s infinite}.rcb-send-button{border:none;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:background-color .3s ease;width:51px}.rcb-send-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:50%;object-fit:cover;transform:translateY(20%);width:50%}.rcb-view-history-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-view-history-button{align-items:center;background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;display:inline-flex;font-size:12px;justify-content:center;max-width:60%;padding:6px 12px;transition:color .3s ease,border-color .3s ease}.rcb-view-history-button>p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcb-chatbot-global{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;z-index:9999}.rcb-chat-window{background-color:#fff;border-radius:10px;bottom:20px;box-shadow:0 2px 4px #0003;display:flex;flex-direction:column;height:550px;overflow:hidden;position:fixed;right:20px;transition:all .3s ease;width:375px}.rcb-window-embedded .rcb-chat-window{bottom:auto;opacity:1;position:relative;right:auto;visibility:visible}.rcb-window-open .rcb-chat-window{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-window-close .rcb-chat-window{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}@keyframes rcb-animation-expand{0%{opacity:0;transform:translate(100%,100%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-collapse{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,100%) scale(0)}}@keyframes rcb-animation-ping{0%{filter:brightness(100%);opacity:1}50%{filter:brightness(50%);opacity:.8}}@keyframes rcb-animation-bot-message-entry{0%{opacity:0;transform:translate(-100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-user-message-entry{0%{opacity:0;transform:translate(100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-bot-typing{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes rcb-animation-pop-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes rcb-animations-checkboxes-entry{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes rcb-animation-options-entry{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes rcb-animation-tooltip-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes rcb-animation-tooltip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes rcb-animation-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}',{insertAt:\"top\"});const w={AUDIO_BUTTON:\"audio-button\",NOTIFICATION_BUTTON:\"notification-button\",CLOSE_CHAT_BUTTON:\"close-chat-button\",SEND_MESSAGE_BUTTON:\"send-button\",VOICE_MESSAGE_BUTTON:\"voice-button\",FILE_ATTACHMENT_BUTTON:\"file-attachment-button\",EMOJI_PICKER_BUTTON:\"emoji-button\"},y=\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%201000%201000'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-99%20362)%20scale(3.4003)'/%3e%3cpath%20d='M0%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(180%20106%20386)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-46%20282)%20scale(3.4003)'/%3e%3cpath%20d='M19%2065h4l5%204v1H14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-3%20240)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(236%20175)%20scale(3.4003)'/%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20139%20600)%20scale(3.4003)'/%3e%3cpath%20d='M184%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20219%20548)%20scale(3.4003)'/%3e%3cpath%20d='M175%2065h4l5%204v1h-14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20262%20505)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(767%20175)%20scale(3.4003)'/%3e%3crect%20width='116.7'%20height='70'%20x='-58.4'%20y='-35'%20rx='31.5'%20ry='31.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20877)%20scale(3.4003)'/%3e%3crect%20width='60'%20height='20'%20x='-30'%20y='-10'%20rx='3'%20ry='3'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='translate(502%20728)%20scale(3.4003)'/%3e%3ccircle%20r='75'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20473)%20scale(3.4003)'/%3e%3crect%20width='129.4'%20height='82.3'%20x='-64.7'%20y='-41.1'%20rx='37'%20ry='37'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23fff;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3crect%20width='108'%20height='68.6'%20x='-54'%20y='-34.3'%20rx='30.9'%20ry='30.9'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(415%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(591%20464)%20scale(3.4003)'/%3e%3crect%20width='96'%20height='53.2'%20x='-48'%20y='-26.6'%20rx='23.9'%20ry='23.9'%20style='stroke:%23162334;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(503%20875)%20scale(3.4003)'/%3e%3cpath%20stroke-linecap='round'%20d='m68%20215%207-15M81%20222l-7-22M81%20222l7-14M101%20208H87M114%20219l-7-24M113%20219l13-22M131%20214l-5-17M148%20214h-18M69%20214H51M100%20209l7-15'%20style='stroke:%23a478fc;stroke-width:3;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:10;is-custom-font:none;font-file-url:none;fill:none;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3c/g%3e%3c/svg%3e\",x=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 0 637 637\",ref:n,...t},e.createElement(\"path\",{d:\"m478 113-13 2-4 1h4l14-2c10-2 35-2 42-1l6 3 3 1c3 0-4-3-8-5-7-1-34-1-44 1m56 6 8 6c7 5 20 17 20 19s7 12 8 12l-3-6-4-6c0-3-15-17-25-24-5-3-8-4-4-1m-198 16-9 1a512 512 0 0 1 9-1m-180 30a412 412 0 0 0-23 4 167 167 0 0 0-32 8 439 439 0 0 1 46-9 304 304 0 0 1 11-2l6-1h-8m369 8 4 3-7-6c-1 0 0 2 3 3m-439 9c-7 3-18 13-18 15l6-5c5-5 9-8 14-10l6-4-8 4m442 12-10 11-7 6 7-6c7-5 14-14 13-16l-3 5M65 205l-1 11c0 9 0 10 4 17 5 10 7 12 22 11 10 0 15 0 38-5l5-1-6 1-16 2-21 2c-13 1-16-1-21-10-3-5-4-6-4-15l1-12c1-4 1-5-1-1m335 1c3 0 3 1 3 3l-2 6c-2 5-35 39-76 80-53 51-120 117-138 137-21 24-22 25-22 27 0 3 6 9 9 9 4 0 14-8 38-27a5073 5073 0 0 1 15-16 1421 1421 0 0 0-17 15l-31 25-6 2-4-3c-3-3-3-4-2-6 3-8 79-85 160-163 57-57 79-80 79-86 0-2-3-4-7-4-2 0-2 0 1 1m165 18c-9 17-25 32-57 53l-10 8 16-11 12-8c15-10 27-22 39-39 5-7 6-8 4-8l-4 5m-221 2a199 199 0 0 0-19 10 183 183 0 0 1 27-12c0-1-1-1-8 2m-34 16c-3 3-2 3 2 0l1-2-3 2m151 3-1 2 2-2c3-3 2-3-1 0m-16 12-11 10a281 281 0 0 0 11-10m-24 18-7 5-7 5-42 31c-10 7-24 19-22 19l7-6 16-12a343 343 0 0 0 35-25 573 573 0 0 0 20-17m-187 0-2 2 4-2 3-2-5 2m-14 6-3 2 4-1 4-3-5 2m-7 3-8 4-18 8 18-7 7-3 3-1c1-2 0-2-2-1m254 24a2672 2672 0 0 1-71 54 601 601 0 0 0 39-29 1352 1352 0 0 1 32-25m-291-8-2 2 4-2 3-2-5 2m-13 5-2 2h3c5-3 4-4-1-2m-19 9-7 3-13 6c-10 5-13 7-14 10-3 4-2 5 1 0 2-3 5-5 14-9l13-6 12-6-6 2m178 36c-17 12-21 16-21 17a390 390 0 0 1 20-17m-206 34 1 4 1 3 1 5 2 8 1 5v-6l-1-8-2-5-1-4-1-2c-1-2-1-2-1 0m222 23-9 7a683 683 0 0 0-56 44 261 261 0 0 0-26 20 1345 1345 0 0 0-46 34c-6 3-7 3-19 3-11 0-12 0-18-3-8-4-10-8-17-20l-5-10 4 10c5 10 12 18 19 22 4 2 6 2 17 2 13 0 14 0 21-3l26-19 42-33a2183 2183 0 0 0 43-34 643 643 0 0 1 24-20\",fill:\"#fff\",fillRule:\"evenodd\"}),e.createElement(\"path\",{d:\"M478 114a620 620 0 0 1-39 6l-21 3a5481 5481 0 0 0-19 3 870 870 0 0 1-54 8l-1 1-6 1-12 2-13 2a992 992 0 0 0-76 12 400 400 0 0 1-45 8l-6 1-5 1h-3l-3 1-2 1-26 4-13 2-17 3c-23 5-33 9-43 19-7 8-9 13-9 27 0 8 1 9 4 14 5 9 8 11 21 10l21-2a1133 1133 0 0 1 23-4 659 659 0 0 0 74-14l3-1h3l3-1h3l2-1 2-1h3l2-1h2l24-5 38-7a2100 2100 0 0 1 93-18l3-1 10-1a2082 2082 0 0 1 120-17l2 1c2 0 8 5 8 7l1 2 1 6c0 4 0 6-3 10-2 4-16 16-18 16l-7 5-10 8a1070 1070 0 0 0-11 7 113 113 0 0 1-20 14l-2 2-3 2-2 2h-1a154 154 0 0 1-28 21l-5 4-5 4a573 573 0 0 1-50 37 175 175 0 0 0-24 18l-1 2-2 1-2 1-2 1-1 1-12 10a396 396 0 0 0-32 25l-8 6-6 5-9 7a326 326 0 0 1-25 20l-13 12a5073 5073 0 0 0-17 15c-24 20-34 27-39 27-2 0-8-6-8-9 0-2 1-3 22-27 18-20 85-86 138-137 41-41 74-75 76-80l2-6c0-2 0-3-2-3l-7 1a233 233 0 0 1-26 9l-1 1-1 1h-1l-1 1h-2l-3 2-1 1h-2l-3 2h-1l-5 2-22 10-9 4-4 2-5 2-10 4-2 1-2 1-2 1-13 6a334 334 0 0 1-38 17 75 75 0 0 0-14 6l-5 2-4 1-2 1-3 2-7 3-16 6a247 247 0 0 0-32 14l-1 1h-2l-1 1h-2l-1 1-12 6a103 103 0 0 0-27 15l-2 5-1 1v11l1 5 1 5 1 4c0 3 0 4 2 4v3l1 3 1 2 2 10 1 4 1 5 2 10 2 8 1 4 1 4c3 3 9 25 11 38l1 7v2l1 4v1l1 1v2l1 2 1 3v1l5 10c7 13 9 16 17 20 6 3 7 3 18 3 12 0 13 0 19-3 8-4 11-6 26-18a1345 1345 0 0 1 85-67 683 683 0 0 1 50-39l12-9a513 513 0 0 1 44-33 201 201 0 0 0 22-17 2270 2270 0 0 0 73-54 158 158 0 0 0 58-59c2 0 3-9 4-27l-1-19-1-4-1-6-1-3-4-6-4-6c0-2-6-8-13-14a77 77 0 0 0-28-18c-6-1-34-1-43 1\"}))),E=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M765-321q0 117-84 196-83 80-200 80-118 0-200-80t-83-196v-392q0-85 61-144 61-58 146-58 86 0 147 58 61 59 61 144v374q0 54-39 92-39 37-93 37-55 0-93-37-38-38-38-92v-372h110v372q0 9 6 14t15 5q8 0 15-5t7-14v-374q0-39-29-66t-68-27q-40 0-69 27t-29 66v392q0 71 51 119t122 48q71 0 122-48t51-119v-426h111v426Z\"}))),B=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M125-165v-113h77v-273q0-93 55-167 56-75 146-100v-19q0-32 22-55 23-23 55-23t55 23q22 23 22 55v19q90 25 146 99 56 73 56 168v273h77v113H125ZM480-32q-38 0-66-27-27-27-27-66h186q0 39-27 66t-66 27Z\"}))),P=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M137-190v-113h78v-253q0-41 11-79 11-39 35-71l-9 150h10L17-802l74-74L873-92l-74 74-175-172H137Zm609-149L319-769q20-15 41-25t44-16v-28q0-32 22-54t54-22q32 0 55 22t22 54v28q85 23 137 94t52 160v217ZM481-47q-38 0-65-27t-27-65h184q0 38-27 65t-65 27Z\"}))),k=n((t,n)=>e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 100 100\",ref:n,...t},e.createElement(\"g\",{strokeLinecap:\"round\",strokeWidth:10},e.createElement(\"path\",{d:\"m19 19 61 61M80 19 19 80\"})))),D=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M94-136v-255l351-93-351-92v-253l816 346L94-136Z\"}))),C=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M480-372q-61 0-105-43-43-43-43-105v-240q0-61 43-105 43-43 105-43 61 0 105 43 43 44 43 105v240q0 62-43 105t-105 43ZM425-76v-122q-121-16-197-108t-76-214h109q0 91 64 154t155 63q91 0 155-63t64-154h109q0 122-77 214T534-198v122H425Z\"}))),S=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"m763-343-80-79q8-20 13-44 5-23 5-54h109q0 49-11 95t-36 82ZM625-482 336-770v-2q3-56 45-96t101-40q62 0 105 43t43 105v249l-1 17q-1 7-4 12ZM427-76v-122q-120-16-196-108-77-92-77-214h109q0 91 64 154t155 63q43 0 80-14 37-15 67-41l78 79q-35 32-78 53t-93 28v122H427Zm362 27L41-796l75-75 748 748-75 74Z\"}))),I=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M625-511q29 0 50-21t20-50q0-29-20-50-21-20-50-20t-50 20-20 50q0 29 20 50 21 21 50 21Zm-290 0q29 0 50-21t20-49q0-30-20-50t-50-21q-29 0-50 20-20 21-20 50 0 30 20 50 21 21 50 21Zm145 268q75 0 137-43t85-115H258q24 72 85 115 62 43 137 43Zm0 198q-90 0-170-34-79-34-138-93T79-310q-34-80-34-170t34-170q34-79 93-138t138-93q80-34 170-34t170 34q79 34 138 93t93 138q34 80 34 170t-34 170q-34 79-93 138T650-79q-80 34-170 34Zm0-435Zm0 322q134 0 228-94t94-228q0-134-94-228t-228-94q-134 0-228 94t-94 228q0 134 94 228t228 94Z\"}))),T=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M553-64v-108q107-27 173-113 67-87 67-197 0-109-67-195T553-789v-108q152 26 249 144 97 117 97 271 0 155-97 273T553-64ZM61-335v-290h176l236-237v764L237-335H61Zm492 28v-346q51 23 82 70t31 103-31 103q-31 47-82 70Z\"}))),Q=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M807-15 700-123q-33 21-71 37-38 15-80 22v-108q20-4 38-12l35-17-153-154v257L234-335H57v-290h144L10-818l74-75L882-90l-75 75Zm37-264-80-79q13-30 19-60 7-31 7-64 0-109-68-195-67-86-173-112v-108q152 26 249 144 98 117 98 271 0 55-14 107-13 51-38 96ZM661-462 549-575v-78q51 23 83 70 31 47 31 103l-1 9-1 9ZM469-655 366-759l103-103v207Z\"}))),M={general:{primaryColor:\"#42b0c5\",secondaryColor:\"#491d8d\",fontFamily:\"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",showHeader:!0,showFooter:!0,showInputRow:!0,actionDisabledIcon:\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2042%2042'%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:4'%20d='M17%209a8%208%200%200%201-8%208%208%208%200%200%201-8-8%208%208%200%200%201%208-8%208%208%200%200%201%208%208Zm0%200'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:10'%20d='M14.66%2014.66%203.34%203.34'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3c/svg%3e\",embedded:!1,flowStartTrigger:\"ON_LOAD\"},tooltip:{mode:\"CLOSE\",text:\"Talk to me! 😊\"},chatButton:{icon:x},header:{title:h(\"div\",{style:{cursor:\"pointer\",margin:0,fontSize:20,fontWeight:\"bold\"},onClick:()=>window.open(\"https://github.com/tjtanjin/\",\"_blank\",\"noopener,noreferrer\"),children:\"Tan Jin\"}),showAvatar:!0,avatar:y,buttons:[w.NOTIFICATION_BUTTON,w.AUDIO_BUTTON,w.CLOSE_CHAT_BUTTON],closeChatIcon:k},notification:{disabled:!1,defaultToggledOn:!0,volume:.2,icon:B,iconDisabled:P,sound:\"data:audio/wav;base64,UklGRmaIAABXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNjAuMTYuMTAwAGRhdGEgiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAA//////7/////////AAABAAAAAgABAAEAAQAAAAIAAQABAP//AAD+////AAD+//7////+////AAD//wAA/v8AAAAA/v8AAP//AAAAAAAAAgD////////+////AAABAAEAAgD/////AQABAAAA//8CAP//AAAAAAAA/v8AAAAA//8AAAEA//8EAAAAAAAAAAAA//8BAP//AQABAAEA/////wEA/v///wAAAAACAAAAAAABAAAA//8AAP//AAACAP//////////AAAAAAEAAAAAAAEA//8AAAEAAQADAAIAAgAAAAAA/v///wEAAAAAAAEAAAAAAAEA//8AAAEAAQD//wAA//8AAAEAAAABAAEAAAABAP//AAD//wAAAgAAAP//AQD/////AAAAAP7/AgAAAAIAAAAAAAAAAAABAAAAAQABAP//AAABAP///v8AAP////8AAP//AAD//wAA//8BAP//AAD///7///8BAP7///8AAAIAAgABAAEA/v8AAP//AQADAAEAAAACAAEA/////////v///wEA/v////7/AAD+////AAAAAAAAAgAAAAAAAAD//wEAAAAAAAAAAQABAAIA/v8AAAAA//8AAAEAAAAAAP//AgD//wEA/////wAAAQACAAAAAAAAAP//AQD/////AQAAAAEA/v8AAAEAAQABAAEA///+////AQD//wEAAgD+//7/AAAAAAAAAQAAAAAAAQAAAAAAAAAAAP//AAD//wEAAQD//wAAAQABAP7///8AAP7/AAABAP7/AQABAAEAAAABAAEAAAD+/wIAAAABAAAAAQD/////AQACAP////8AAP//AQD//wEA/v8CAAEAAAAAAAAAAQAAAAIAAQAAAAEAAgD//wEAAAAAAP7///8BAP//AgAAAP///v8CAAAAAgD///////////7/AAACAAEAAgD//wAAAAABAP//AwAAAAMA//8AAAAAAQD+/wAAAAD//wAAAQD//wEA//8BAP7/AAABAAAA//8BAAAA//8AAP//AQADAP3////+////AgD+/////v8BAAEAAQACAAAAAAAAAAAA//8AAP//AAD+/wEA/v8AAP7/AAD//wAAAQACAAAAAQAAAP//AQAAAAAAAAABAAAAAAD+//////8AAAAAAAD//wAAAAABAAEA//8AAAEA//8AAP//AgD+/wAA///+/wAA/v///wAAAQABAAAAAQD//wAA//8AAAEA//8BAAAAAgABAP//AAACAAIAAQABAP//AAAAAAAA//8BAAIAAAABAAAA//8CAAEA/v//////AAAAAAEA////////AQAAAP//AAD//wAAAAAAAP3/AAAAAAEAAAACAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAP///v///wAAAAABAAAAAAD//wEAAAABAAEAAQD//wAAAAACAAAAAQD+/wAA//8BAAEAAAD+/wAA/////wAAAAABAAAAAAD//////v8AAAAA//8AAAAAAAAAAAIAAAABAAEAAAABAP7/AAD9//////////7///8BAP//AAD///3/AQABAP//AAD//wAAAAABAAAA//8AAP//AAD/////AQABAAEA//8AAAAA//8BAAMA//8AAAAA//8AAP7/AAD//wAAAAAAAP7/AQAAAAAA/v8CAP//AAABAAIAAQABAAAA//8BAAEAAQD///7/AQD//wAAAQABAP//AAD//wEAAAAAAAAAAQAAAAIA//8AAP////8AAP//AQD//////v///wEA/v8AAAIAAgACAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQD//wAA/////wAAAQACAP////8AAAAAAAD//wAAAQD+/wEA//8AAAEAAwD//wEAAQAAAAAAAAABAP////8AAAAAAQAAAAAAAAAAAAEAAQAAAP////////7/AQABAAEAAQD///////8BAAAA//8AAAAAAgABAAEA/v8BAP7///8BAP3/AQABAAIAAAD//wEAAAAAAP//AAABAAIA//8CAAAAAQAAAAEA//8BAAAA/////wAAAAD//wEAAQD//wAAAAAAAP//AAAAAAAAAQABAAAAAQAAAP//AQD//////v8AAAEAAAAAAAAA//8AAAAAAAACAAEAAQAAAP//AAABAAEA/////wAAAgABAAAAAAAAAAEAAAABAP//AQABAP7////+/wEAAAAAAP//AAABAAAAAAABAAEAAAAAAAAA//8BAP///f/+/wEAAQD///7///8AAAAAAQAAAP////8AAAAAAAABAAAAAQD/////AAD//wEA//8AAAIA//8CAAAA//8AAAAAAAD+/wEAAAD+/wAA/////wAA////////AAAAAAAA//8BAAAAAAD//wAAAAD//wEA//8AAP//AQD+/wAAAAAAAP7/AAD+/wEAAQABAP//AAABAAEAAQD//wAA/////wEA//8AAAAAAgAAAAAA//8BAAAAAgAAAAAAAAAAAP7/AQD//wAAAAD+/wAAAAADAAIA/////wAAAQD//wIA//8BAAEA/v8AAAIAAAAAAP3///8AAAAAAAAAAAAAAAABAP///////wAA//8AAAEAAQABAAEAAQABAAAAAQAAAAAAAQABAP7/AQD//wAAAQABAAEA//8BAAAAAgAAAAEAAAABAP//AAD/////AAD//wIA/////wIAAAD///7/AAAAAAAAAAACAP//AAABAP////8AAAAAAAABAAAAAgAAAAAAAQD+/wEA/////wAA/////wAAAAAAAAAA/v//////AAAAAP//AAABAAAAAQAAAAIAAAACAAAA//8AAAAA//8AAP7/AAAAAP//AAACAP//AQABAP//AQABAAAA/////////v8AAP//AQAAAAAA///+/wAAAQD+/wEAAQAAAAEA/////wAAAQD//wAA//8AAAAA/v8BAAEA//8AAP7//v8BAAAAAAAAAAEA//8AAAEA/////wAAAAD//////////wEAAAABAAEA//8CAAEA/f8AAAAA//8BAAAABAABAAEAAQAAAAAAAAAAAP7///8AAAAA/v8BAAAA//8AAAIA//8AAP////8BAP//AAAAAAAAAAD/////AQD///7/////////AQD8////AgABAAIA////////AAD//wAAAAABAAAAAAAAAAEAAgAAAP//AQD//wAAAAAAAP/////+/wAAAAABAAAAAwABAP///////wEAAAADAP//AQACAAAA//8CAAEAAAAAAP///////wIAAAAAAAAAAQAAAAAAAgD//wEAAAABAAAA/v8AAAAAAAAAAAAAAAAAAAEA/v8AAP//AQD//wAA//////7///8AAAAAAAAAAP7/AQD//wAA//8AAAEAAAABAAEAAQD/////AAD//wEAAAD/////AQAAAAEAAAD//wEAAAD/////AgD//wAAAQD//////////wAAAAD//wAAAAABAAAAAAD//wAAAQD///7/AQD//wEAAAD/////AAD//wEA//8AAAEA//8CAAAAAQD//wEAAgAAAAEAAwAAAAAA/v8BAAEAAgD//wEAAAAAAAAAAAD//wEA//8AAAAAAQACAP///////wAAAQABAAEAAAAAAAEAAQD+/wEA/f////////8AAAAA//8AAAEA//8BAAAA/v///wEAAAAAAAEA/////wAAAAAAAP//AAAAAAIAAAABAAAA/////wAAAAD//wAA/v8AAAMAAQD+/wEAAAABAAEA//8BAP//AgAAAAAAAAD//wAA/////wEA/v8CAP3/AAACAP3/AQABAAAAAQACAAEA/v8AAAAA//8BAAAAAgAAAAAAAgACAAEA/v/9/wAAAQABAP7///8AAP//AgD+/////v8CAP////8BAP//AQACAAEAAQABAP//AAD///7/AAABAAEAAgD//wEA//8CAAEAAQABAAEAAAABAAAA/v8AAAEA/v8AAP//AAABAP//AQAAAAEAAgAAAAAA/v///wEAAQAAAAIAAAD/////AgAAAAEA/v8AAP7/AQAAAAAAAQAAAAEAAAACAAEA//8BAP////8AAAIAAAAAAP//AAAAAAIAAAAAAAAAAwABAP///v8BAAAAAAAAAP3/AAABAAEA/v////////////3//v8AAAAAAQABAAIAAAD+/////v8AAAAAAQABAAEAAQAAAP//AAAAAP//AQAAAP//AAABAAAAAAAAAAAA////////AAAAAP//AQD/////AAABAAEA//8CAP7///8AAP7//v8BAAEAAAD+/////////wEAAAAAAAAAAgD//wAAAQAAAP7/AQABAP//AQAAAAAAAAD/////AAACAP////8BAAAAAAD//wAA//8AAAEAAQABAAAAAAABAAAAAQD+/wEA/v8AAAEAAQD/////AAD//wAAAQABAP7//v//////AAACAAAAAAAAAAAAAAACAAAAAQAAAAAA//8BAP//AQD//wAA///+/wIAAQD//wAAAAD//wAA/v8AAP3///8AAAAAAAAAAAAA/f8AAAAA//8CAP7/AAD///7/AAAAAAAAAAD//wEAAAAAAAEAAAAAAAAA//8BAP////8BAP7///8CAAEA//8BAP3///////////8BAAAAAAAAAAEAAgD+//////8BAAMAAQADAAEAAAACAAAAAQD/////AAABAAMAAQAAAP//AQD//wAA//8AAAAA//8CAP7//////wAAAAAAAAIA/v8AAP//AAACAP//AwD//wAA//8AAP//AwD//wEAAQABAAEAAQACAAEAAAD//wAA//8AAAIAAAAAAP///////wAAAQD//wIA//8BAP7/AAD///////8AAAAAAAAAAAEAAAD//wAAAQD//wEA//8BAAAAAAD/////AgABAAIAAAABAAAAAAAAAP//AAAAAAAA//8AAAAAAAD/////AQAAAAAAAQD//wAA///+////AAAAAAEAAgABAAEAAAAAAP//AQAAAAAAAQD+/wAAAAABAAEAAAD/////AQABAP7///8AAAIAAAACAAAA//8AAP//AgACAAAA///+/wAAAAABAAAAAQAAAAEA/v8BAAEA//8CAP//AQD+/////v8AAAAAAAACAP//AAD+/wIA/v8BAAAAAAD/////AAAAAP7///8AAP7//////wEAAAABAAAAAAD//wAAAAAAAAAAAgACAAAAAAABAAAA/f8AAP7/AgAAAAEA//8BAAAAAAD///7/AQD//wAAAAAAAAEAAAAAAAEAAAAAAAAAAQAAAAAA//8AAAAAAAABAP///////wAAAgABAAEA//8AAP//AAACAP//AQABAAEA//8BAAAAAAABAAAA//8AAAEAAAAAAAIA/v8BAP//AQD//wEAAAABAAEAAQACAAEAAAAAAAEAAAABAAAAAAD/////AAABAAEA//8AAAAAAQABAP//AAAAAP//AAD/////AQD//wAAAAABAAEA//8BAAAA//8AAP///f/+/wAA/////wAAAQAAAAIAAAAAAAAAAAD+/wEA/f8CAAAA//8AAAEAAgAAAAMAAAABAAAAAAAAAP//AQAAAAAAAQABAAAAAQAAAP//AAAAAAAA//8AAAAAAAABAAAAAQAAAAAAAAABAAIAAAAAAP7/AQD//wAAAAD+////AAAAAAAAAAABAAAA/////wAA//8AAAAAAAD/////AgD//wAA//8CAP//AQACAAEA/f////////8BAAIAAQABAP//AAD//wAA///+////AAD+/wAAAQD/////AAAAAAAA/////wAAAAABAAAAAQAAAAAA//8AAAIAAAABAP//AQABAAEA//8AAAAAAAADAAEAAAABAP//AgD//wMA//8AAAAAAAD//wAAAAD9/wEA///+/wAA//8BAAEA//8BAAAA//8AAP///v8BAP///////////v8BAAAAAQABAAAAAAAAAAAA//8AAP7/AQAAAAAAAAAAAP7/AQAAAAAAAgABAAEAAAABAAEAAAAAAAAAAAD+/wAAAAD//wEAAAAAAAAAAAAAAP//AgABAAAAAAABAAEAAAD/////AAAAAP//AAABAP////8BAAAAAQABAP7//v/+////AQAAAAAAAQAAAAEAAgAAAAAAAQAAAAEAAAD+/////v8BAP//AAABAP//AQABAAAAAAD//wAA//8CAP//AAAAAAEAAAABAAAAAAAAAP//AAD+////AwAAAAAAAQD//wEAAAACAAEAAAADAAAAAAD/////AAAAAAEAAAABAAAA//8AAAEA//8BAP///v8AAP//AAD//wAAAQABAP//AQAAAAAA/////wEAAQAAAP////8AAAEA//8BAAAAAQAAAP////8AAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAD//wEAAAAAAP////8AAAAA//8BAAEAAAAAAAIA///+/wIA/v8BAAAAAQACAAAAAQAAAP7///8AAP//AAAAAAEAAAAAAP7/AAD+////AAAAAAAAAAD//wAA/v8BAAMAAAABAAIAAgD//wAA//8BAAEA//8BAP7/AAAAAP7///8BAAAAAQAAAP7/AQD/////AAAAAAEAAAABAP//AQABAAAAAgABAAAAAAAAAP///////wEA//8AAAEA//8AAAAAAQAAAAIAAAABAP7//////wAAAQABAAAAAAABAAEA///+/wAA//8BAP///v8AAP///v8BAAAA//8CAAAAAQAAAAEAAQABAAAAAAD+/wAAAAD+/wAAAAAAAAAA/f////////8AAAAAAQABAP///////wEA//8BAAEAAAAAAAAA/////wEA/v//////AAAAAP//AAABAAAAAAD+/wAAAAD9////AQAAAAEAAwD//wEAAQAAAP//AgAAAAAAAAD+/wIAAAAAAAAAAAAAAAIA//8AAAEAAQACAAAAAQD//wAAAAD//wIAAQABAAAAAAD//wEA//8BAAEAAQAAAAAAAQABAP7/AAD//wEAAAACAP7/AQAAAAAAAAD//wIAAQACAAIAAQAAAAAAAAAAAP3///8BAAAAAQACAP//AgD9/wAAAAD//wEA/v////////8AAAAAAAD//wEAAQD//wMAAQAAAAEA//8AAAEA//8AAAAAAAACAAAAAAD//wAAAQD///////8AAAAA//8BAAIA/v8BAAEA/f8AAAAAAAAAAAAAAgD/////AAD+/wAAAAD//wAAAAAAAP//////////AgABAP///v8AAAIAAQAAAP//AAABAAAA/////wAAAAAAAAEAAAABAP///v///wIA//8BAAEAAQAAAAAA///+/wEAAAAAAAAA/////////v8BAP3/AAAAAAAAAAAAAAAA//8AAP//AAAAAP//AAABAAIAAAACAP////8DAAAAAAABAAAAAwABAP//AAABAP//AAAAAP////8BAAAAAgD//wAA///+/wAAAQD//wAA//8AAP7///8AAAAA/v8AAAAAAQD//wEA/v////////8AAAAAAQAAAP//AQACAAAAAAAAAP//AAD//wAAAAD//wAAAAD+/wAAAAAAAP//AQD//wAAAgAAAAAAAQABAAAAAwD+/wAAAAD///7/AQD//wIAAQAAAP//AAD//wAA//8CAAEAAAAAAAAA/////wAAAAD//wEAAQD///////8BAAAA//8BAAEAAAAAAAAA/v///wEAAAAAAAAAAAADAAAAAAAAAAAAAQABAAEAAAD+//7//v8AAP//AQAAAAAAAAABAAEAAgAAAAAAAQD//wAA/f8AAAAAAAABAAAAAQAAAAAAAAAAAAIA//8BAP///////wIA/////wAAAAABAAEA//8BAAAAAAD//wAAAQD//wEAAAAAAAIA/v8BAP//AAAAAAEAAAABAP//AAAAAAAAAQABAP7/AAABAAAAAQD//wIAAAAAAAEA///+/wAA//8AAP//AAAAAAAAAAABAP///////wIAAQAAAAEAAQAAAP7/AQAAAAAAAQAAAAAAAQD/////AQAAAAAA///+//7/AAD+/wEA//8AAAAA///+/wEAAAABAAIAAQABAAAA//8AAP//AAD//wAAAAD//wAAAAAAAP//AQAAAAAA////////AQAAAAAAAQD+////AQABAP7/AAD///7/AgD//wAAAAAAAP//AAAAAAEA//8BAAEAAgAAAAIAAAD//wEA/////wAAAQD///7/AQD//wEAAQD/////AAAAAAEAAgAAAAAAAQD//wEA//8AAP7//////wAA//8BAAEA//8BAAAAAQD/////AAABAP//AAACAP//AQAAAP//AAABAP////8AAAAAAAABAAEAAwABAAAAAgD//wAAAAD//wEAAAABAAAAAAABAAEA/////wAA//8AAAIAAAAAAAEAAQABAAEAAQABAP//AgAAAAAA//8BAP3//v///wAA//8AAAAAAQAAAP//AQD//wEAAAACAAIAAAABAAAA//8BAAEA//8BAP//AAAAAP//AQAAAAIAAAD//wAAAAAAAAEA////////AQAAAP//AQD//wAAAQD+/wEAAAABAP///v///wAAAAAAAP//AAAAAAIAAQD//wAAAgD+/wAAAAD//wAAAAABAP///P//////AAACAP////8AAAIAAAABAAAAAAAAAAAA//8AAAAAAQADAP//AQAAAAAAAAABAAEAAQAAAAAA/v8AAAAAAAD//wAAAQD//wAAAAD//wAA/v////////8CAAEA/v8BAP7/AAAAAAAA//8AAAEAAAD//wIAAQAAAAIAAQAAAAAAAAD///7/AQABAP//AAAAAP//AAACAAEA//8BAAAAAwAAAAAAAAD//wEAAAD//wAA///////////+/wAAAQABAAIAAAABAAEAAAD//wEAAAD/////AAD+/wIAAwABAAEA/v8BAAEAAAD//wAA//8AAP//AAAAAAEAAAAAAP//AAAAAAEAAQABAAEA/v///wAAAAD//wEAAAACAAAA/f/+/wAA/v///wAA//8AAAEAAQD///7/AAAAAAAAAAABAAAAAAACAAAAAAABAAAAAAABAP//AQD//wAA//8BAP7/AgABAAEAAQAAAAAAAQD//wEA/v8AAP////8AAP///////wIAAQD//wAAAAD//wAA/v///wAAAQD//wIA/////wEAAAAAAAIAAAABAAAAAAD//wEA//8AAAAA/////wAAAQAAAAAAAAD//wEAAQAAAAAAAAACAP///////wAAAgD//wAA/v8AAAIAAAAAAAEAAAABAP//AQABAAEAAQAAAP///v8BAAEAAAAAAP////8AAAAAAQD//wIAAQAAAAEAAAAAAAAA//8BAP//AAAAAP7//v///wEAAAAAAAIAAAAAAP//AAD//wEA//8BAAAAAAABAAEAAAABAP7///8AAAIAAAABAP//AAD//wEAAAAAAP//AAAAAAEAAAAAAAAAAAAAAP7/AQD//wAAAQD+/wEA/v8BAP7/AAABAAEAAAACAAIAAAADAAAA//8AAAEAAAABAP//AQD//wIA/////wEA//8AAAEA//8AAAEAAAAAAAAAAQABAAAAAAAAAAAAAAD//////////wAA//8AAP7/AAD+/wAAAQAAAAAA/////wAABAAAAAAA//8AAAEAAAAAAAAA/v8AAP//AAAAAAAAAAD//wAAAAD///////8BAAEAAAD/////AgABAAEA/v/+/wAAAQACAAEAAAD//wAAAwABAP//AgD+/wAA/v8AAAAAAAAAAAEA//8AAAEAAAD+/wEAAAAAAAEAAgAAAAEAAAABAP//AQD+/wIA/////wAAAQD//wAAAQD+/wAAAQABAAAA////////AAACAAAAAQAAAAIA//8BAP///v///wEA//8BAAEAAQD+/wAAAQD9/wAAAQAAAAEAAAABAAAAAgAAAP//AAD+/wAA/f8AAAAA////////AgAAAAcAAQD7/wEA/f8AAAIA//8GAP7//v/+//b/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+P/F//z/rv/i/7r/6v/Z/wYABwAoADAAKQBOABkATAD0/zQA1P8PANv/0//v/6//FwCi/ywAxP8oAPn//v82APT/WwD4/00A+/8yAPv//f/8/83/+v+w/+T/sf/j/9b/AQACACoAIgAtAEIAHwBPAAEAQADe/xcA0v/k/+X/t/8IAKv/IgC//yEA6/8EACMA9/9PAPf/VAD+/zcA+/8JAPn/1P8AALf/6f+w/+P/zf////j/HAAdAC0APgAfAEsABwBCAOP/IADV/+//2v/B//3/rP8PALv/GADd/xEAFgABAEMABABaAP//QgACABcA+//n/wAAwP/w/67/4v+///3/6f8WABcAKQA0ACIARgAQAEcA8f8pANn/9f/U/87/7f+v/wgAtP8RANP/FgANAAIAOQACAFQA/f9HAAAAIAABAO3//P/E/wEAs//q/7n/9P/i/wYAEQAZADEAJABBABMASAAAADEA3/8CANL/1v/g/7H/AACy/w8Axf8ZAPv/CQAzAAIAVQD//1AAAAAsAAIA9v/7/8r/AwC2//P/tf/m/+H/AwADABEAKQApADoAHgBHAAgAPADr/wkA1//f/93/vP/6/7L/CgDA/x4A7/8hACkAAgBPAPz/UgD1/zIABAAEAPz/0v/5/7f/AACy//H/2f/+/wEAAAAkABUAMwAdADoAEQA9APD/EADU//L/1P/H/+z/tf8LALv/HADk/ygAGgADAEMA//9TAPn/QAAAABAAAQDc//z/wf8DALD/7P/Q//z/9/8HABoAFgA3ACMAMAAOADwA+P8ZANv/+P/Y/9H/5v+8/wUAu/8WANf/HgAMAAoAPQABAFMA/f9HAP7/HwAEAN//+v/H/wMAs//2/8r/8//y/wMADgAQAC4AIwAyABMAJwD8/xcA3v8LANP/5v/f/8j/AgC4/w4A1P8eAAQACgAxAAEAUgD+/0gA/v8nAAIA8f/5/8r/BAC6/+3/wP/l/+b/AQAIABkAIwArAC4AIAAoAAkAGADj/w0A0f/r/9//0P8DAL3/CgDN/xkA//8IACUAAgBJAAAATwD+/ysAAQD7//3/z/8DAMT/+f/K/+L/5P/1////EgAcACYALgApAC4ACwAcAPL/EADZ//L/1f/U//f/uv8KAMX/DwDu/wcAHwADAEUABgBNAAEANQAAAAYAAQDf////xf/+/9P/4f/b//X/9v8LAA4AGAAlACoAMAAQABkA9v8TAOL/+f/W/9r/8f/I/wcAxP8MAOr/BwATAAQAOAAGAEcAAABCAAEADwAEAOP//v/F/wIAzf/o/93/8P/s/w4ACwAZACEAKgAyABMAIQD5/xgA6v8DANb/4P/y/9H/AQDJ/wkA4/8DAAoA/f8wAAQAQwABAEAA//8VAAIA7P/+/8r/BADP/+v/2v/s/+n/CwAIAA0AHAAjADQAHAAkAP//GQDy/wQA5v/i//b/0P/7/8f/AADh/wMAAAD+/yUAAAA7AAEAOAAAABwAAAD6/wAA1/8CAMr/AADb/+3/5f8BAAIACAAVABcALwAfACgA+/8XAPn/DgDe/+//7v/Q/wMAz/8JAOP/CwDx////EAAHADEAAQArAAIAHQAEAAcAAADr/wEAzv8CANj//f/k/wEA+f/+/xQABwAqAB4ALAD+/x4A8P8SAOb/8//f/9j//f/N/wEA3v8LAO7/AgAMAAQALAAEAC0AAQAdAAQADwABAPP/BADV/wMA0/8AAOH/AQD1/wAAEAADACQAGwAwAAQAHwD0/xUA8f/4/+L/2//7/8z/AwDc/woA6f8AAAQAAwAoAAcANAAAACcAAgAUAAEA+P8CANv/AgDR/wEA4v8BAOz/AgAIAPv/JAAVADMAFAAhAPP/GQDz//7/3P/l/+3/z/8BANf/CgDn/wkA/P///xoABwAwAAIAJwACABcAAwABAAIA4f8BAND/AgDd//3/6P8CAAYA/f8YAAwALwAZACUA9v8bAPj/AwDq/+r/7P/S//7/1/8EAOX/CQD6//7/GQAFAC8AAQApAAEAGQACAAMAAgDm/wEAzv8BANv//v/p/wIA//8BABMABQArACAALAABAB4A8f8NAOv/7v/m/9n/+P/R/wMA4f8OAPT/AQATAAMAKwAHACoAAwAbAAMABQADAO7/AQDU/wEA2f8AAOL////3////EgAAACUAGgAvAAUAHQD2/xIA9f/0//T/3P/4/8///f/h/wIA7f8AAAoAAQApAAQALQADACAAAgAPAP//9P///9r//f/T/wAA3f/9//D/AQAQAP//HAAHAC8ACQAfAPv/GAD+//f/+P/j/wEA0v/+/9n/AADq/wIABgD//x0AAQAuAAEAIwAAABQAAwD8/wEA3/8AAM//AADe////7f8BAAwA//8ZAAMALwAAACEA//8dAP3//v/9/+n////U//z/1v8BAOT/AAD+/wAAGwD+/ywA/v8kAAIAGAD///3////q/wEA0P///97/AADk/wAABAAAABUAAQAqAAEAKQAAABwAAAAFAP//6f8AANr////X/wAA4/8AAPj/AgAUAAAAKgD//ywAAAAcAP7/AQAAAOv/AADU/wAA2v8CAOP/AAABAAAAFgABABsAAAAqAAEAHwAAABQAAgDv/wEA3v///9H////f////7/8BAAoAAQApAAAALgD//yEAAQAIAAAA8P8BANr//v/V////4f8AAPf//v8UAAAAFAAAACYAAQAhAP7/GwD+//T/AADo/wIA1v8CANr/AgDp/wEABgAAAB8AAQAsAAEAJAAAAAwA///z/wEA3/8AANT/AADh/wEA9P///xQAAgASAAAAJQAAACEAAAAaAP//+v8BAOj////W////2P8BAOf///8DAAAAHwAAAC4AAAAlAAAAEgAAAPL/AQDm////0f8CAN3/AADr//7/EQD//xAAAQAhAAIAJQAAAB8AAAABAP//6v8CAN//AQDX/wAA4/8AAPr/AAAXAAAAKgABACgAAAAbAP///f8AAOj/AADU/wAA2v///+f/AQANAAMAEQD+/xwA/v8kAP7/IQABAAgA/v/p////5/8AANf/AQDd/wEA8v8BABMAAQAjAAAALgAAACAAAQADAAEA7f8BANn/AgDY//7/4P/+/wEAAAAXAAIAFAAFACUA/P8jAP//EgAAAO//AQDo////1/8AAN3/AADx//7/DgAAAB0AAQAoAAAAIwAAAAoAAQDv/wMA4f8AANn/AQDi/wEA+v///xgAAAAQAP3/IwD//yUA/v8XAAAA7/8AAOv/AADc/wAA3P/+/+v/AQALAAEAGgACACkAAAAkAP7/EAABAO/////q//7/1/8AANz/AgDw/wEAEgD//w8AAAAcAAIAJQAAAB0AAAD2////7P8AAOP/AgDa/wAA5P8BAAQAAQAWAAAAIgAAACMAAAAaAP//+P///+v/AQDZ/wAA2////+7/AAARAAAADgAAABYAAAAhAAAAIAABAPz/AQDt/wAA5P8AANr/AQDg/wEA/P8BABcAAAAhAP//KQD//xwAAAD8/wEA7v8AAN3////Z/wAA6f8BAA0AAAARAAEAEQAAACMAAAAgAAEA/f8CAO3/AADv/wAA3v8BANv////1////EgAAABkA//8nAAAAIgAAAAMAAADu/wAA6P8CANn/AQDg////BQD//xMAAQAOAP//IAABACYAAAAGAAAA6f////H/AADg/wEA2f8AAO3///8PAAAAFQACACQAAAAkAAEADQABAO//AADp/wAA2////9z/AQD7/wEAFgAAAAwAAQAXAP7/JQD9/xMAAADx/wAA8f8AAOr/AADc/wEA4/8BAAkAAAAVAAAAIQD//yYA//8UAAEA9P8BAOz/AADf/wAA3P8AAPP/AAAQAAAADQABAA0AAAAlAAEAGAD///H//v/0/wEA7v8CAN//AADg//3/BAACABUAAQAfAAAAJwABABgAAQD0//7/7f///+L/AADa/wIA8P///w4A//8SAAMACQAAACAAAQAgAP//+v////P////y/wEA4/8BANr/AQD9/wAAEwD//xkAAQAjAAAAIgABAPz////s/wAA6v8BANX/AQDr//7/BwABABMAAAAHAP//FwAAACYAAAD//wEA9P8BAPb/AQDu////2v8BAPn/AAATAP//FwD//yEAAAAjAAAAAgAAAOn/AQDr//7/2P8CAOT/AAABAP//FgABAAUAAQATAP//IwAAAAEAAgDy/wEA9/8AAPb/AADb/wAA6/8BABAAAAATAP7/IQAAACYA//8UAP//7/8AAPD/AADd/wEA3P/+//7///8OAAAACgAAAAgAAAAhAP//CQACAPT/AQD2/wAA9v///97////m/wIADgABABMAAQAfAP//JwAAABMAAADw/wAA8P///+r/AQDb/wAA9f8AAA8AAAARAAIABAD//wYA/v8HAAAAAQD//wMAAgAGAAAA7f8AAOz/AAALAP//DwACABQA//8bAAAAHgD///f/AADq/wEA6/8BANj//v/t/wAACAD+/xAAAgAEAAAABAABAAcAAQADAAAA//8AAAUA///1/wAA5f///wIAAAAOAAAAEAAAABsAAAAhAAAA/v8BAOj////y////3f8AAOf/AQAGAAEADAAAAAcA//8BAP//CQABAAMA//8BAP//BQAAAAAAAADo/wAA+/8AAAoAAAALAAAAFAAAACAAAQAGAAIA7f8BAPH/AADm/wMA3P8CAP7/AgASAP//CgD//wAAAAAIAP//BQD//wEAAAACAP7/BAAAAPz/AwD8////BAAAAAEA//8HAAAAHQAAAAgA/v/x//7/8f///+f/AQDg/////P///woAAAAMAP//AAABAAYA//8EAAAAAgAAAAUAAAACAAAAAwAAAAIAAAABAAAAAQABAAAAAgAcAP//DgD///T/AQDx/wAA9P8CAOH/AAD3/wAACQAAAAoAAQABAP//AwAAAAcAAAD+/wAAAgACAAEAAAD+////AwD+/wAAAAABAP//+v8BABEAAQATAAAA9f/+//L//f/z/wIA6f8AAPb/AQAFAP//DAAAAAAAAAAFAP//BQD//wEA//8DAAEAAQAAAP7///8AAAAA//8BAAIAAAD+/wAAEAABABYAAgD6/wEA8v8BAPX/AwDp/wAA8////wMA//8JAAEABAABAAEA//8FAAEA//8AAAMAAQACAP//AQAAAAEAAgAFAP//AQABAAAAAQAAAP//EQABAAAAAAD5/wEA+P8AAPr////6/wAA+/8BAAIA//8BAAAA//8CAAUA//8BAP7/AAABAAEAAgAAAAAAAwAAAAEA/v8DAAIAAAACAAQA//8TAAAA/P8BAPr////3//////8AAPz/AQD7/wEAAgD/////AAABAAEABAAAAP//////////AAAAAAAAAAADAAAAAwAAAAAA//8EAP///v/+/xAA//8HAAAA+/////j/AQD8////AAD///n///8AAAAA//8AAP////8DAP//AgAAAAAAAAACAAIAAAD+/wAAAQD//wAA/////wIAAgD9////CQACAAYA///9////+f8BAPr/AQAAAAIA/v///wAA//8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAAAAAEAAQABAAAAAgABAP//AAD//wEAAAD///////8BAAIAAQAAAAAA/v/+//////8BAAAAAQABAP//AAD///////8BAAAAAQABAP////8CAAEAAQD//wEA/v//////AQAAAAAAAAAAAAAAAAD9/wMA/////wAAAQD+/wEA/v/+//7/AQD//wMAAAAAAAAAAAABAAEA//////7/AAACAP3/AAD//wAAAQAAAP//AQD//wAAAAAAAAEA//8CAP//AAAAAAAA/v8AAAAA//8BAP//AAABAP//AAAAAP//AQD//wAAAQABAAAAAAABAAEA/v///wAAAAD//////////wAAAAAAAP//AAD////////8/wIAAAADAAEA/////wEA/v8BAP7/AgAAAAEAAgAAAP//AgD/////AQD//wEA//////7/AQD//wMAAAAAAAAA//8CAP//AQAAAP//AAACAAAAAAABAP//AQD+/wAA/////wAA/f///wAAAAAAAP7/AAAAAAAAAgD//wEAAQACAP//AAAAAAEAAQD//wAAAAAAAAAA//8BAAMA/v8AAP7/AQAAAAAAAQAAAAAA///+//7/AAAAAAAA//8BAP7/AQAAAP//AQABAAAAAQAAAP//AAD//wIA/v///wAAAQABAP//AAD//wEA//8BAP//AgAAAP///////wAAAQABAP//AwABAAAAAAAAAAAA/////wIAAwACAAAA/v8BAAAAAAAAAAAA//8AAP////8AAAAA/////wAA/////wEA/v8CAAEAAQD//wAAAAABAAAAAAD//wEAAQABAAAA//8CAAAAAAAAAP7/AAABAAAAAQABAAAAAgABAAAAAQD//wEAAwD+/wAA/v8AAAEAAAAAAAAAAAAAAAEAAAD//wMA/v///wAAAAACAAEAAAAAAP7///8DAAEAAQD//wEA/f8BAAEAAQD//wEAAQABAAMAAgAAAAEA//8AAP//BAAAAAIA/v//////AQABAAAAAAD//wEAAAACAAIAAQAAAAAAAgAAAAAAAAABAAIAAAABAAIAAQAAAP////8AAAAAAAD//wAAAQACAP//AAAAAAAAAQAAAAEA//8AAAAAAAD/////AQD//wAAAQD9////AQAAAAAA//8BAAAA///+/////v8BAAAAAQAAAAAAAAAAAAIA//8BAAAAAAACAP//AQD//wAAAAD/////AAD9/wAAAAACAAAAAgAAAAEAAQABAAEAAAAAAAEA//8AAAEAAQACAAAAAQAAAAEA//8BAAIAAAACAP//AAABAAAAAAAAAAAAAAD//wAAAQD/////AAAAAP////8AAAEAAAAAAP7///8BAAIAAQD//wEAAQAAAP//AgAAAAAAAAD//wAA//8CAP7/AQAAAP7/AAD+////AAAAAAAAAQABAAAA//8AAAEAAAABAP7/AAAAAP7/AAD+/wAAAQABAAEA/////////v8BAP///v///wIAAAAAAAAAAQAAAAIAAQAAAAAAAAABAAEAAAAAAAAAAAD//wEAAQD//wAAAQABAAAA/v/+/////////wAAAAD//wAAAAD/////AAAAAP7/AAD//wIA//8CAP//AQAAAP////8AAAAAAQABAP////8AAP//AQACAAAAAQAAAAAAAAAAAAAA//8BAAAAAAD+/wAA/v///wEAAAD+//7///8CAP7/AAABAP3/AwAAAAAAAAABAAIAAAABAAAAAQABAAIAAAAAAP//AAAAAAEAAAACAAEAAAACAAAAAAABAAAAAwAAAAAAAAD+/wAAAQD9//////8BAAAA/v8AAAAAAAAAAAAAAAD//wMA/v8BAAEAAQACAAAA/v8BAP//AwABAAIAAQABAP//AQAAAAEAAAAAAAEA//8AAAAAAAD/////AAABAAEAAAAAAP////8AAAAAAAAAAAAA/v8AAP//AQAAAP//AAABAAIAAQAAAAAAAgABAAAA/////wAAAQABAP//AQABAAEA/////wAAAAAAAAAAAAABAAEAAQAAAAAAAAAAAAAA//8AAP7/AQD9/wAAAgD//wEAAQABAAEA/v8AAAEA/////wAAAAAAAP//AAABAAAAAAAAAAAA//8CAP//AAABAAEAAQABAAAA//8BAAIAAgD//wAA/v8AAAEAAAD///7/AAAAAAEAAAABAAAAAQABAAAAAQACAAAA///+/wAAAQABAP7////+/wAA//8AAAAAAgAAAP//AQD9/wAAAAD//wAA//8AAAAAAQAAAAAAAQD//wAAAAAAAP//AQABAAAA/v8CAP//AAD///////8AAAAAAAACAAEA//8BAP7/AAAAAAEA//8BAAAAAQD//wAAAQD+/wAA/////wAAAAD//wAAAQABAAAA//8AAAEA/////wAA//8AAAAA/v/+/wEAAgABAP//AgD//wIA/////wAA//8AAAEAAQAAAAAAAQAAAAMAAAACAP//\",showCount:!0},audio:{disabled:!0,defaultToggledOn:!1,language:\"en-US\",voiceNames:[\"Microsoft David - English (United States)\",\"Alex (English - United States)\"],rate:1,volume:1,icon:T,iconDisabled:Q},chatHistory:{disabled:!1,maxEntries:30,storageKey:\"rcb-history\",storageType:\"LOCAL_STORAGE\",viewChatHistoryButtonText:\"Load Chat History ⟳\",chatHistoryLineBreakText:\"----- Previous Chat History -----\",autoLoad:!1},chatInput:{disabled:!1,allowNewline:!1,enabledPlaceholderText:\"Type your message...\",disabledPlaceholderText:\"\",showCharacterCount:!1,characterLimit:-1,botDelay:1e3,sendButtonIcon:D,blockSpam:!0,sendOptionOutput:!0,sendCheckboxOutput:!0,buttons:[w.VOICE_MESSAGE_BUTTON,w.SEND_MESSAGE_BUTTON]},chatWindow:{showScrollbar:!1,showTypingIndicator:!0,autoJumpToBottom:!1,showMessagePrompt:!0,messagePromptText:\"New Messages ↓\",messagePromptOffset:30,defaultOpen:!1},sensitiveInput:{maskInTextArea:!0,maskInUserBubble:!0,asterisksCount:10,hideInUserBubble:!1},userBubble:{animate:!0,showAvatar:!1,avatar:\"data:image/svg+xml,%3csvg%20width='140'%20height='140'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cy='60.044'%20cx='70'%20fill='%235c5c5c'%20r='29'/%3e%3cpath%20d='m16.36%20156.186-.01-30.5c-.005-16.844%2024.168-30.507%2053.991-30.516%2029.823-.009%2054.004%2013.64%2054.01%2030.484l.008%2030.5-108%20.032z'%20fill='%235c5c5c'/%3e%3c/svg%3e\",simulateStream:!1,streamSpeed:30},botBubble:{animate:!0,showAvatar:!1,avatar:y,simulateStream:!1,streamSpeed:30},voice:{disabled:!0,defaultToggledOn:!1,language:\"en-US\",timeoutPeriod:1e4,autoSendDisabled:!1,autoSendPeriod:1e3,sendAsAudio:!1,icon:C,iconDisabled:S},footer:{text:g(\"div\",{style:{cursor:\"pointer\",display:\"flex\",flexDirection:\"row\",alignItems:\"center\",columnGap:3},onClick:()=>window.open(\"https://react-chatbotify.com\",\"_blank\",\"noopener,noreferrer\"),children:[h(\"span\",{children:\"Powered By \"},0),h(\"div\",{style:{borderRadius:\"50%\",width:14,height:14,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",background:\"linear-gradient(to right, #42b0c5, #491d8d)\"},children:h(x,{style:{width:\"80%\",height:\"80%\",fill:\"#fff\"}})},1),h(\"span\",{style:{fontWeight:\"bold\"},children:\" React ChatBotify\"},2)]}),buttons:[w.FILE_ATTACHMENT_BUTTON,w.EMOJI_PICKER_BUTTON]},fileAttachment:{disabled:!1,multiple:!0,accept:\".png\",icon:E,iconDisabled:E,sendFileName:!0,showMediaDisplay:!1},emoji:{disabled:!1,icon:I,iconDisabled:I,list:[\"😀\",\"😃\",\"😄\",\"😅\",\"😊\",\"😌\",\"😇\",\"🙃\",\"🤣\",\"😍\",\"🥰\",\"🥳\",\"🎉\",\"🎈\",\"🚀\",\"⭐️\"]},toast:{maxCount:3,forbidOnMax:!1,dismissOnClick:!0},event:{rcbPreInjectMessage:!1,rcbPostInjectMessage:!1,rcbStartSimulateStreamMessage:!1,rcbStopSimulateStreamMessage:!1,rcbStartStreamMessage:!1,rcbChunkStreamMessage:!1,rcbStopStreamMessage:!1,rcbRemoveMessage:!1,rcbSaveChatHistory:!1,rcbLoadChatHistory:!1,rcbToggleChatWindow:!1,rcbStartSpeakAudio:!1,rcbToggleAudio:!1,rcbToggleNotifications:!1,rcbToggleVoice:!1,rcbChangePath:!1,rcbShowToast:!1,rcbDismissToast:!1,rcbUserSubmitText:!1,rcbUserUploadFile:!1,rcbTextAreaChangeValue:!1,rcbPreLoadChatBot:!1,rcbPostLoadChatBot:!1,rcbPreProcessBlock:!1,rcbPostProcessBlock:!1},ariaLabel:{chatButton:\"open chat\",audioButton:\"toggle audio\",closeChatButton:\"close chat\",emojiButton:\"emoji picker\",fileAttachmentButton:\"upload file\",notificationButton:\"toggle notifications\",sendButton:\"send message\",voiceButton:\"toggle voice\",inputTextArea:\"input text area\"},device:{desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!0}},O=r({settings:{},setSyncedSettings:()=>null,syncedSettingsRef:{current:{}}}),L=()=>o(O),N=({children:e,settings:t=M,setSyncedSettings:n,syncedSettingsRef:r})=>h(O.Provider,{value:{settings:t,setSyncedSettings:n,syncedSettingsRef:r},children:e}),H={tooltipStyle:{},notificationBadgeStyle:{},chatWindowStyle:{},headerStyle:{},bodyStyle:{},chatInputContainerStyle:{},chatInputAreaStyle:{},chatInputAreaFocusedStyle:{},chatInputAreaDisabledStyle:{},userBubbleStyle:{},botBubbleStyle:{},botOptionStyle:{},botOptionHoveredStyle:{},botCheckboxRowStyle:{},botCheckboxNextStyle:{},botCheckMarkStyle:{},botCheckMarkSelectedStyle:{},characterLimitStyle:{},characterLimitReachedStyle:{},chatHistoryLineBreakStyle:{},chatMessagePromptStyle:{},chatMessagePromptHoveredStyle:{},footerStyle:{},loadingSpinnerStyle:{},mediaDisplayContainerStyle:{},chatButtonStyle:{},chatButtonHoveredStyle:{},chatHistoryButtonStyle:{},chatHistoryButtonHoveredStyle:{},sendButtonStyle:{},sendButtonHoveredStyle:{},sendButtonDisabledStyle:{},audioButtonStyle:{},audioButtonDisabledStyle:{},closeChatButtonStyle:{},emojiButtonStyle:{},emojiButtonDisabledStyle:{},fileAttachmentButtonStyle:{},fileAttachmentButtonDisabledStyle:{},notificationButtonStyle:{},notificationButtonDisabledStyle:{},voiceButtonStyle:{},voiceButtonDisabledStyle:{},chatIconStyle:{},audioIconStyle:{},audioIconDisabledStyle:{},closeChatIconStyle:{},emojiIconStyle:{},emojiIconDisabledStyle:{},fileAttachmentIconStyle:{},fileAttachmentIconDisabledStyle:{},notificationIconStyle:{},notificationIconDisabledStyle:{},voiceIconStyle:{},voiceIconDisabledStyle:{},sendIconStyle:{},sendIconDisabledStyle:{},sendIconHoveredStyle:{},rcbTypingIndicatorContainerStyle:{},rcbTypingIndicatorDotStyle:{},toastPromptContainerStyle:{},toastPromptStyle:{},toastPromptHoveredStyle:{}},R=r({styles:{},setSyncedStyles:()=>null,syncedStylesRef:{current:{}}}),z=()=>o(R),j=({children:e,styles:t=H,setSyncedStyles:n,syncedStylesRef:r})=>h(R.Provider,{value:{styles:t,setSyncedStyles:n,syncedStylesRef:r},children:e}),F=({buttons:e})=>{var t,n,r,o,A,i,a;const{settings:l}=L(),{styles:s}=z(),d={backgroundImage:`linear-gradient(to right, ${null==(t=l.general)?void 0:t.secondaryColor},\\n\\t\\t\\t${null==(n=l.general)?void 0:n.primaryColor})`,...s.headerStyle};return g(\"div\",{style:d,className:\"rcb-chat-header-container\",children:[g(\"div\",{className:\"rcb-chat-header\",children:[(null==(r=l.header)?void 0:r.showAvatar)&&h(\"div\",{style:{backgroundImage:`url(\"${null==(o=l.header)?void 0:o.avatar}\")`},className:\"rcb-bot-avatar\"}),c(null==(A=l.header)?void 0:A.title)?null==(i=l.header)?void 0:i.title:h(\"div\",{style:{margin:0,fontSize:20,fontWeight:\"bold\"},children:null==(a=l.header)?void 0:a.title})]}),h(\"div\",{className:\"rcb-chat-header\",children:null==e?void 0:e.map((e,t)=>h(u,{children:e},t))})]})},U=r({}),q=()=>o(U),_=({children:e,botIdRef:t,flowRef:n})=>{const r=i(null),o=i(\"\"),A=i(null),a=i(new Map),l=i(null),s=i(\"\"),c=i(!1),u=i(null),d=i(null),p=i(null);return h(U.Provider,{value:{botIdRef:t,flowRef:n,inputRef:r,timeoutIdRef:A,streamMessageMap:a,chatBodyRef:l,paramsInputRef:s,keepVoiceOnRef:c,audioContextRef:u,audioBufferRef:d,gainNodeRef:p,prevInputRef:o},children:e})},Y=e=>{const[t,n]=a(e),r=i(e);return[t,e=>{const t=\"function\"==typeof e?e(r.current):e;r.current=t,n(t)},r]},G=r({}),W=()=>o(G),V=({children:e,settings:t})=>{var n,r,o,A,i,l;const[s,c,u]=Y(!1),[d,p,f]=Y((null==(n=null==t?void 0:t.chatWindow)?void 0:n.defaultOpen)??!1),[g,m,v]=Y((null==(r=null==t?void 0:t.audio)?void 0:r.defaultToggledOn)??!1),[b,w,y]=Y((null==(o=null==t?void 0:t.voice)?void 0:o.defaultToggledOn)??!1),[x,E,B]=Y((null==(A=null==t?void 0:t.notification)?void 0:A.defaultToggledOn)??!0),[P,k]=a(!1),[D,C]=a(!1),[S,I,T]=Y(!1),[Q,M,O]=Y(!0),[L,N,H]=Y(!1),[R,z]=a(!1),[j,F]=a(!1),[U,q]=a(0),[_,W]=a(0),[V,X]=a(!1),[K,J]=a((null==(i=window.visualViewport)?void 0:i.height)??window.innerHeight),[Z,$]=a((null==(l=window.visualViewport)?void 0:l.width)??window.innerWidth);return h(G.Provider,{value:{isBotTyping:s,setSyncedIsBotTyping:c,syncedIsBotTypingRef:u,isChatWindowOpen:d,setSyncedIsChatWindowOpen:p,syncedIsChatWindowOpenRef:f,audioToggledOn:g,setSyncedAudioToggledOn:m,syncedAudioToggledOnRef:v,voiceToggledOn:b,setSyncedVoiceToggledOn:w,syncedVoiceToggledOnRef:y,notificationsToggledOn:x,setSyncedNotificationsToggledOn:E,syncedNotificationsToggledOnRef:B,isLoadingChatHistory:P,setIsLoadingChatHistory:k,hasChatHistoryLoaded:D,setHasChatHistoryLoaded:C,isScrolling:S,setSyncedIsScrolling:I,syncedIsScrollingRef:T,textAreaDisabled:Q,setSyncedTextAreaDisabled:M,syncedTextAreaDisabledRef:O,textAreaSensitiveMode:L,setSyncedTextAreaSensitiveMode:N,syncedTextAreaSensitiveModeRef:H,hasInteractedPage:R,setHasInteractedPage:z,hasFlowStarted:j,setHasFlowStarted:F,unreadCount:U,setUnreadCount:q,inputLength:_,setInputLength:W,blockAllowsAttachment:V,setBlockAllowsAttachment:X,viewportHeight:K,setViewportHeight:J,viewportWidth:Z,setViewportWidth:$},children:e})};var X=(e=>(e.START_SPEAK_AUDIO=\"rcb-start-speak-audio\",e.TOGGLE_AUDIO=\"rcb-toggle-audio\",e.TOGGLE_NOTIFICATIONS=\"rcb-toggle-notifications\",e.TOGGLE_VOICE=\"rcb-toggle-voice\",e.TOGGLE_CHAT_WINDOW=\"rcb-toggle-chat-window\",e.PRE_INJECT_MESSAGE=\"rcb-pre-inject-message\",e.POST_INJECT_MESSAGE=\"rcb-post-inject-message\",e.START_SIMULATE_STREAM_MESSAGE=\"rcb-start-simulate-stream-message\",e.STOP_SIMULATE_STREAM_MESSAGE=\"rcb-stop-simulate-stream-message\",e.START_STREAM_MESSAGE=\"rcb-start-stream-message\",e.CHUNK_STREAM_MESSAGE=\"rcb-chunk-stream-message\",e.STOP_STREAM_MESSAGE=\"rcb-stop-stream-message\",e.REMOVE_MESSAGE=\"rcb-remove-message\",e.SAVE_CHAT_HISTORY=\"rcb-save-chat-history\",e.LOAD_CHAT_HISTORY=\"rcb-load-chat-history\",e.CHANGE_PATH=\"rcb-change-path\",e.SHOW_TOAST=\"rcb-show-toast\",e.DISMISS_TOAST=\"rcb-dismiss-toast\",e.USER_SUBMIT_TEXT=\"rcb-user-submit-text\",e.USER_UPLOAD_FILE=\"rcb-user-upload-file\",e.TEXT_AREA_CHANGE_VALUE=\"rcb-text-area-change-value\",e.PRE_LOAD_CHATBOT=\"rcb-pre-load-chatbot\",e.POST_LOAD_CHATBOT=\"rcb-post-load-chatbot\",e.PRE_PROCESS_BLOCK=\"rcb-pre-process-block\",e.POST_PROCESS_BLOCK=\"rcb-post-process-block\",e))(X||{});const K={[X.START_SPEAK_AUDIO]:!0,[X.TOGGLE_AUDIO]:!0,[X.TOGGLE_VOICE]:!0,[X.TOGGLE_NOTIFICATIONS]:!0,[X.TOGGLE_CHAT_WINDOW]:!0,[X.PRE_INJECT_MESSAGE]:!0,[X.POST_INJECT_MESSAGE]:!1,[X.PRE_LOAD_CHATBOT]:!0,[X.POST_LOAD_CHATBOT]:!1,[X.START_SIMULATE_STREAM_MESSAGE]:!0,[X.STOP_SIMULATE_STREAM_MESSAGE]:!1,[X.START_STREAM_MESSAGE]:!0,[X.CHUNK_STREAM_MESSAGE]:!0,[X.STOP_STREAM_MESSAGE]:!0,[X.REMOVE_MESSAGE]:!0,[X.SAVE_CHAT_HISTORY]:!0,[X.LOAD_CHAT_HISTORY]:!0,[X.CHANGE_PATH]:!0,[X.SHOW_TOAST]:!0,[X.DISMISS_TOAST]:!0,[X.USER_SUBMIT_TEXT]:!0,[X.USER_UPLOAD_FILE]:!0,[X.TEXT_AREA_CHANGE_VALUE]:!0,[X.PRE_PROCESS_BLOCK]:!0,[X.POST_PROCESS_BLOCK]:!0},J=async(e,t,n)=>{const r=new CustomEvent(e,{detail:t,cancelable:K[e]});return r.data=n,r.promises=[],window.dispatchEvent(r),await Promise.all(r.promises),r},Z=r({paths:[],setSyncedPaths:()=>{},syncedPathsRef:{current:[]}}),$=()=>o(Z),ee=({children:e})=>{const[t,n,r]=Y([]);return h(Z.Provider,{value:{paths:t,setSyncedPaths:n,syncedPathsRef:r},children:e})},te=()=>{const{botIdRef:e}=q(),{syncedPathsRef:t}=$(),n=A(()=>t.current.length>0?t.current.at(-1)??null:null,[]),r=A(()=>t.current.length>1?t.current.at(-2)??null:null,[]);return{dispatchRcbEvent:A(async(t,o)=>{const A={botId:e.current,currPath:n(),prevPath:r()};return await J(t,A,o)},[e])}},ne=()=>{const{settings:e}=L(),{isChatWindowOpen:t,setSyncedIsChatWindowOpen:n,viewportHeight:r,setViewportHeight:o,viewportWidth:i,setViewportWidth:a,setUnreadCount:l,setSyncedIsBotTyping:s,setSyncedIsScrolling:c,syncedIsBotTypingRef:u,syncedIsChatWindowOpenRef:d}=W(),{chatBodyRef:p}=q(),{dispatchRcbEvent:f}=te(),h=A(()=>{if(!p.current)return!1;const e=p.current.getBoundingClientRect(),t=window.innerHeight??document.documentElement.clientHeight,n=window.innerWidth??document.documentElement.clientWidth;return e.top>=0&&e.left>=0&&e.bottom<=t&&e.right<=n},[p]),g=A(async t=>{var r;t!==d.current&&(null!=(r=e.event)&&r.rcbToggleChatWindow&&(await f(X.TOGGLE_CHAT_WINDOW,{currState:d.current,newState:!d.current})).defaultPrevented||n(e=>(e||l(0),!e)))},[d]),m=A(async e=>{e!==u.current&&s(e=>!e)},[u]),v=A((e,t,n,r)=>(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t,[]),b=A((e=0)=>{if(!p.current)return;const t=p.current.scrollHeight-p.current.clientHeight;if(e<=0)return p.current.scrollTop=t,void c(!1);const n=p.current.scrollTop,r=t-n;let o=0;const A=()=>{if(!p.current)return;o+=20;const t=v(o,n,r,e);p.current.scrollTop=t,o<e?requestAnimationFrame(A):c(!1)};A()},[p]);return{isChatWindowOpen:t,setSyncedIsChatWindowOpen:n,toggleChatWindow:g,viewportHeight:r,setViewportHeight:o,viewportWidth:i,setViewportWidth:a,toggleIsBotTyping:m,scrollToBottom:b,getIsChatBotVisible:h}},re=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{unreadCount:A,isScrolling:i}=W(),{chatBodyRef:l}=q(),{scrollToBottom:s}=ne(),[c,u]=a(!1),d={color:null==(e=r.general)?void 0:e.primaryColor,borderColor:null==(t=r.general)?void 0:t.primaryColor,...o.chatMessagePromptHoveredStyle};return h(\"div\",{className:\"rcb-message-prompt-container \"+(l.current&&(null==(p=r.chatWindow)?void 0:p.showMessagePrompt)&&i&&A>0?\"visible\":\"hidden\"),children:h(\"div\",{onMouseEnter:()=>{u(!0)},onMouseLeave:()=>{u(!1)},style:c?d:{...o.chatMessagePromptStyle},onMouseDown:e=>{e.preventDefault(),s(600)},className:\"rcb-message-prompt-text\",children:null==(n=r.chatWindow)?void 0:n.messagePromptText})});var p},oe=r({messages:[],setSyncedMessages:()=>{},syncedMessagesRef:{current:[]}}),Ae=()=>o(oe),ie=({children:e})=>{const[t,n,r]=Y([]);return h(oe.Provider,{value:{messages:t,setSyncedMessages:n,syncedMessagesRef:r},children:e})},ae=({message:e,isNewSender:t})=>{var n,r,o,A,i,a;const{settings:l}=L(),{styles:s}=z(),c=\"string\"==typeof e.content,u=e.content,d=e.contentWrapper?h(e.contentWrapper,{children:u}):u,p={backgroundColor:null==(n=l.general)?void 0:n.primaryColor,color:\"#fff\",maxWidth:null!=(r=l.userBubble)&&r.showAvatar?\"65%\":\"70%\",...s.userBubbleStyle},f=null!=(o=l.userBubble)&&o.animate?\"rcb-user-message-entry\":\"\",v=(null==(A=l.userBubble)?void 0:A.showAvatar)&&t,b=\"rcb-user-message\"+(!t&&null!=(i=l.userBubble)&&i.showAvatar?\" rcb-user-message-offset\":\"\");return g(\"div\",{className:\"rcb-user-message-container\",children:[c?h(\"div\",{style:p,className:`${b} ${f}`,children:d}):h(m,{children:d}),v&&h(\"div\",{style:{backgroundImage:`url(\"${null==(a=l.userBubble)?void 0:a.avatar}\")`},className:\"rcb-message-user-avatar\"})]})},le=({message:e,isNewSender:t})=>{var n,r,o,A,i,a;const{settings:l}=L(),{styles:s}=z(),c=\"string\"==typeof e.content,u=e.content,d=e.contentWrapper?h(e.contentWrapper,{children:u}):u,p={backgroundColor:null==(n=l.general)?void 0:n.secondaryColor,color:\"#fff\",maxWidth:null!=(r=l.botBubble)&&r.showAvatar?\"65%\":\"70%\",...s.botBubbleStyle},f=null!=(o=l.botBubble)&&o.animate?\"rcb-bot-message-entry\":\"\",v=(null==(A=l.botBubble)?void 0:A.showAvatar)&&t,b=\"rcb-bot-message\"+(!t&&null!=(i=l.botBubble)&&i.showAvatar?\" rcb-bot-message-offset\":\"\");return g(\"div\",{className:\"rcb-bot-message-container\",children:[v&&h(\"div\",{style:{backgroundImage:`url(\"${null==(a=l.botBubble)?void 0:a.avatar}\")`},className:\"rcb-message-bot-avatar\"}),c?h(\"div\",{style:p,className:`${b} ${f}`,children:d}):h(m,{children:d})]})},se=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),A=null!=(e=r.botBubble)&&e.animate?\"rcb-bot-message-entry\":\"\";return g(\"div\",{className:\"rcb-bot-message-container\",children:[(null==(t=r.botBubble)?void 0:t.showAvatar)&&h(\"div\",{style:{backgroundImage:`url(\"${null==(n=r.botBubble)?void 0:n.avatar}\")`},className:\"rcb-message-bot-avatar\"}),h(\"div\",{onMouseDown:e=>{e.preventDefault()},className:`rcb-bot-message ${A}`,children:g(\"div\",{className:\"rcb-typing-indicator\",style:{...null==o?void 0:o.rcbTypingIndicatorContainerStyle},children:[h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}}),h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}}),h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}})]})})]})},ce=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{messages:A}=Ae(),{scrollToBottom:i}=ne(),{isBotTyping:a,syncedIsScrollingRef:s}=W(),{chatBodyRef:c}=q(),u={...null==o?void 0:o.bodyStyle,scrollbarWidth:null!=(e=r.chatWindow)&&e.showScrollbar?\"auto\":\"none\"};l(()=>{s.current||i()},[null==(t=c.current)?void 0:t.scrollHeight]);return g(\"div\",{style:u,className:\"rcb-chat-body-container\",ref:c,children:[A.map((e,t)=>{const n=(e=>0===e||A[e].sender!==A[e-1].sender)(t);return\"USER\"===e.sender.toUpperCase()?h(ae,{message:e,isNewSender:n},t):\"BOT\"===e.sender.toUpperCase()?h(le,{message:e,isNewSender:n},t):h(\"div\",{children:e.content},t)}),a&&(null==(n=r.chatWindow)?void 0:n.showTypingIndicator)&&h(se,{}),h(re,{})]})},ue=({checkboxes:e,checkedItems:t,path:n})=>{var r,o,A,i,s,c,u,d,p,f,m;const{settings:v}=L(),{styles:b}=z(),{paths:w}=$(),{handleSubmitText:y}=ct(),[x,E]=a(new Set),[B,P]=a(!1),k={cursor:B?`url(\"${null==(r=v.general)?void 0:r.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(o=v.general)?void 0:o.primaryColor,borderColor:null==(A=v.general)?void 0:A.primaryColor,...b.botCheckboxRowStyle},D={cursor:B||x.size<e.min?`url(\"${null==(i=v.general)?void 0:i.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(s=v.general)?void 0:s.primaryColor,borderColor:null==(c=v.general)?void 0:c.primaryColor,...b.botCheckboxNextStyle},C={cursor:B?`url(\"${null==(u=v.general)?void 0:u.actionDisabledIcon}\"), auto`:\"pointer\",color:\"transparent\",...b.botCheckMarkStyle},S={cursor:B?`url(\"${null==(d=v.general)?void 0:d.actionDisabledIcon}\"), auto`:\"pointer\",color:\"#fff\",borderColor:null==(p=v.general)?void 0:p.primaryColor,backgroundColor:null==(f=v.general)?void 0:f.primaryColor,...b.botCheckMarkSelectedStyle};l(()=>{w.length>0&&w[w.length-1]!==n&&P(!e.reusable)},[w]);return g(\"div\",{className:\"rcb-checkbox-container \"+(null!=(m=v.botBubble)&&m.showAvatar?\"rcb-checkbox-offset\":\"\"),children:[e.items.map(n=>h(\"div\",{onMouseDown:r=>{r.preventDefault(),(n=>{B||E(r=>{const o=new Set(r);if(o.has(n))t.delete(n),o.delete(n);else{if(x.size==e.max)return r;t.add(n),o.add(n)}return o})})(n)},style:k,className:\"rcb-checkbox-row-container\",children:g(\"div\",{className:\"rcb-checkbox-row\",children:[h(\"div\",{style:x.has(n)?S:C,className:\"rcb-checkbox-mark\"}),h(\"div\",{className:\"rcb-checkbox-label\",children:n})]})},n)),h(\"div\",{style:D,className:\"rcb-checkbox-next-button\",onMouseDown:n=>{var r;if(n.preventDefault(),B||x.size<e.min)return;const o=Array.from(t).join(\", \");let A;P(!e.reusable),A=null!=e.sendOutput?e.sendOutput:(null==(r=v.chatInput)?void 0:r.sendCheckboxOutput)??!0,y(o,A)}})]})},de=async(e,t)=>{const n=e.checkboxes;if(!n)return;let r;if(\"function\"==typeof n?(r=n(t),r instanceof Promise&&(r=await r)):r=n,Array.isArray(r)&&(r={items:r}),!(\"items\"in r)||0==r.items.length)return;null==r.min&&(r.min=1),null==r.max&&(r.max=r.items.length),r.min>r.max&&(r.min=r.max),null==r.reusable&&(r.reusable=!1);const o=new Set,A=t.currPath,i=h(ue,{checkboxes:r,checkedItems:o,path:A});await t.injectMessage(i)},pe=async(e,t)=>{const n=e.function;if(!n)return;const r=n(t);return r instanceof Promise?await r:r},fe=async(e,t,n)=>{const r=e.message;if(!r)return;if(\"string\"==typeof r)return void(\"\"!==r.trim()&&(n?await t.simulateStreamMessage(r):await t.injectMessage(r)));let o=r(t);o instanceof Promise&&(o=await o),\"string\"==typeof o&&\"\"!==o.trim()&&(n?await t.simulateStreamMessage(o):await t.injectMessage(o))},he=({options:e,path:t})=>{var n,r,o,A,i,s;const{settings:c}=L(),{styles:u}=z(),{paths:d}=$(),{handleSubmitText:p}=ct(),[f,g]=a([]),[m,v]=a(!1),b={cursor:m?`url(\"${null==(n=c.general)?void 0:n.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(r=c.general)?void 0:r.primaryColor,borderColor:null==(o=c.general)?void 0:o.primaryColor,backgroundColor:\"#fff\",...u.botOptionStyle},w={color:\"#fff\",borderColor:null==(A=c.general)?void 0:A.primaryColor,backgroundColor:null==(i=c.general)?void 0:i.primaryColor,...u.botOptionHoveredStyle};l(()=>{d.length>0&&d[d.length-1]!==t&&v(!e.reusable)},[d]);return h(\"div\",{className:\"rcb-options-container \"+(null!=(s=c.botBubble)&&s.showAvatar?\"rcb-options-offset\":\"\"),children:e.items.map((t,n)=>{const r=f[n]&&!m;return h(\"div\",{className:\"rcb-options\",style:r?w:b,onMouseEnter:()=>(e=>{g(t=>{const n=[...t];return n[e]=!0,n})})(n),onMouseLeave:()=>(e=>{g(t=>{const n=[...t];return n[e]=!1,n})})(n),onMouseDown:n=>{var r;if(n.preventDefault(),m)return;let o;v(!e.reusable),o=null!=e.sendOutput?e.sendOutput:(null==(r=c.chatInput)?void 0:r.sendOptionOutput)??!0,p(t,o)},children:t},t)})})},ge=async(e,t)=>{const n=e.options;if(!n)return;let r;if(\"function\"==typeof n?(r=n(t),r instanceof Promise&&(r=await r)):r=n,Array.isArray(r)&&(r={items:r}),!(\"items\"in r)||0==r.items.length)return;null==r.reusable&&(r.reusable=!1);const o=t.currPath,A=h(he,{options:r,path:o});await t.injectMessage(A)},me=async(e,t)=>{const n=e.component;if(n){if(\"function\"==typeof n){let e=n(t);if(e instanceof Promise&&(e=await e),!e)return;return void await t.injectMessage(e)}await t.injectMessage(n)}},ve=async(e,t,n,r)=>{const o=e.transition;let A;if(\"function\"==typeof o?(A=o(t),A instanceof Promise&&(A=await A)):A=o,\"number\"==typeof A&&(A={duration:A}),!A||A instanceof Promise||null==A.duration||\"number\"!=typeof A.duration)return;null==A.interruptable&&(A.interruptable=!1);const i=setTimeout(async()=>{const n=await r(e);n&&await ye(n,t)},A.duration);A.interruptable&&(n.current=i)},be=async(e,t,n)=>{const r=e.chatDisabled;if(null==r)return;let o;\"function\"==typeof r?(o=r(t),o instanceof Promise&&(o=await o)):o=r,n(o)},we=async(e,t,n)=>{const r=e.isSensitive;if(!r)return void n(!1);let o;\"function\"==typeof r?(o=r(t),o instanceof Promise&&(o=await o)):o=r,n(o)},ye=async(e,t)=>{if(!e)throw new Error(\"Block is not valid.\");const n=Object.keys(e);for(const r of n)\"function\"===r&&await pe(e,t);n.includes(\"path\")&&await(async(e,t)=>{const n=e.path;if(!n)return!1;if(\"string\"==typeof n)return await t.goToPath(n),!0;let r=n(t);if(r instanceof Promise&&(r=await r),!r)return!1;const o=r;return await t.goToPath(o),!0})(e,t)},xe=()=>{var e;const{settings:t}=L(),{styles:n}=z();return h(\"div\",{className:\"rcb-line-break-container\",children:h(\"div\",{style:{...n.chatHistoryLineBreakStyle},className:\"rcb-line-break-text\",\"data-testid\":\"chat-history-line-break-text\",children:null==(e=t.chatHistory)?void 0:e.chatHistoryLineBreakText})})},Ee=()=>{var e;const{settings:t}=L(),{styles:n}=z(),r={borderTop:`4px solid ${null==(e=t.general)?void 0:e.primaryColor}`,...n.loadingSpinnerStyle};return h(\"div\",{className:\"rcb-spinner-container\",children:h(\"div\",{style:r,className:\"rcb-spinner\"})})},Be=()=>{try{if(typeof crypto<\"u\"&&\"function\"==typeof crypto.randomUUID)return crypto.randomUUID();throw new Error(\"crypto.randomUUID not available\")}catch(e){if(typeof crypto<\"u\"&&\"function\"==typeof crypto.getRandomValues)return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(e){const t=crypto.getRandomValues(new Uint8Array(1))[0]%16;return(\"x\"===e?t:3&t|8).toString(16)});throw console.error(e),new Error(\"crypto.getRandomValues is also not available\")}},Pe=(e,t)=>({id:Be(),content:e,sender:t,type:\"string\"==typeof e?\"string\":\"object\",timestamp:(new Date).toUTCString(),tags:[]});let ke,De=!1,Ce=\"rcb-history\",Se=30,Ie=!1,Te=[];const Qe=()=>Te,Me=e=>{Oe(e),Te=e},Oe=e=>{ke&&ke.setItem(Ce,JSON.stringify(e))},Le=e=>{var t,n,r,o,A;ke=\"SESSION_STORAGE\"===(null==(n=null==(t=e.chatHistory)?void 0:t.storageType)?void 0:n.toUpperCase())?sessionStorage:localStorage,Ce=null==(r=e.chatHistory)?void 0:r.storageKey,Se=null==(o=e.chatHistory)?void 0:o.maxEntries,Ie=null==(A=e.chatHistory)?void 0:A.disabled,Te=(e=>{if(null!=e)try{return JSON.parse(e)}catch{return[]}return[]})(ke.getItem(Ce))},Ne=e=>c(e.content)?structuredClone({id:e.id,content:v.renderToString(e.content),type:e.type,sender:e.sender.toUpperCase(),timestamp:e.timestamp,tags:e.tags}):e,He=(e,t,n)=>{const r=(new DOMParser).parseFromString(e,\"text/html\");return Array.from(r.body.childNodes).map((e,r)=>{var o;if(e.nodeType===Node.TEXT_NODE)return e.textContent;{const A=e.tagName.toLowerCase();let i=Array.from(e.attributes).reduce((e,t)=>{const n=t.name.toLowerCase();if(\"style\"===n){const r=t.value.split(\";\").filter(e=>\"\"!==e.trim()),o={};r.forEach(e=>{const[t,n]=e.split(\":\").map(e=>e.trim()),r=t.replace(/-([a-z])/g,(e,t)=>t.toUpperCase());o[r]=n}),e[n]=o}else\"audio\"!==A&&\"video\"!==A||\"controls\"!==n||\"\"!==t.value?e[n]=t.value:e[n]=\"true\";return e},{});if(Object.prototype.hasOwnProperty.call(i,\"class\")){const r=e.classList;i.className=r.toString(),delete i.class,null!=(o=t.botBubble)&&o.showAvatar&&(i=Re(r,i)),i=ze(r,i,t,n),i=je(r,i,t,n),i=Fe(r,i,t,n),i=Ue(r,i,t,n)}if([\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"link\",\"meta\",\"source\",\"track\",\"wbr\"].includes(A))return d(A,{key:r,...i});{const o=He(e.innerHTML,t,n);return d(A,{key:r,...i},...o)}}})},Re=(e,t)=>((e.contains(\"rcb-options-container\")||e.contains(\"rcb-checkbox-container\"))&&(t.className=`${e.toString()} rcb-options-offset`),t),ze=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-options\")&&(t.style={...t.style,color:(null==(o=r.botOptionStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botOptionStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botOptionStyle}),t},je=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-checkbox-row-container\")&&(t.style={...t.style,color:(null==(o=r.botCheckboxRowStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botCheckboxRowStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botCheckboxRowStyle}),t},Fe=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-checkbox-next-button\")&&(t.style={...t.style,color:(null==(o=r.botCheckboxNextStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botCheckboxNextStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botCheckboxNextStyle}),t},Ue=(e,t,n,r)=>{var o,A;return(e.contains(\"rcb-media-display-image-container\")||e.contains(\"rcb-media-display-video-container\"))&&(t.style={...t.style,backgroundColor:null==(o=n.general)?void 0:o.primaryColor,maxWidth:null!=(A=n.userBubble)&&A.showAvatar?\"65%\":\"70%\",...r.mediaDisplayContainerStyle}),t},qe=()=>{const{settings:e}=L(),{notificationsToggledOn:t,setSyncedNotificationsToggledOn:n,hasInteractedPage:r,unreadCount:o,setUnreadCount:i,syncedNotificationsToggledOnRef:a}=W(),{audioBufferRef:l,audioContextRef:s,gainNodeRef:c}=q(),{dispatchRcbEvent:u}=te(),d=A(async()=>{var t,n;const r=null==(t=e.notification)?void 0:t.sound;s.current=new AudioContext;const o=s.current.createGain();let A;if(o.gain.value=(null==(n=e.notification)?void 0:n.volume)??.2,c.current=o,null!=r&&r.startsWith(\"data:audio\")){const e=atob(r.split(\",\")[1]),t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);A=t}else A=await(await fetch(r)).arrayBuffer();l.current=await s.current.decodeAudioData(A)},[e.notification]),p=A(()=>{var t;if(null!=(t=e.notification)&&t.disabled||!a.current||!r||!s.current||!l.current)return;const n=s.current.createBufferSource();n.buffer=l.current,n.connect(c.current).connect(s.current.destination),n.start()},[e.notification,a,r,s,l,c]);return{unreadCount:o,setUnreadCount:i,notificationsToggledOn:t,toggleNotifications:A(async t=>{var r;t!==a.current&&(null!=(r=e.event)&&r.rcbToggleNotifications&&(await u(X.TOGGLE_NOTIFICATIONS,{currState:a.current,newState:!a.current})).defaultPrevented||n(e=>!e))},[a]),playNotificationSound:p,setUpNotifications:d}},_e=(e,t)=>{var n,r,o,A;((e,t,n,r,o)=>{if(!window.SpeechSynthesisUtterance)return void console.info(\"Speech Synthesis API is not supported in this environment.\");const A=new window.SpeechSynthesisUtterance;A.text=e,A.lang=t,A.rate=r,A.volume=o;let i=!1;for(const e of n){const t=window.speechSynthesis.getVoices().find(t=>t.name===e);if(t){A.voice=t,window.speechSynthesis.speak(A),i=!0;break}}i||window.speechSynthesis.speak(A)})(t,null==(n=e.audio)?void 0:n.language,null==(r=e.audio)?void 0:r.voiceNames,null==(o=e.audio)?void 0:o.rate,null==(A=e.audio)?void 0:A.volume)},Ye=()=>{const{settings:e}=L(),{audioToggledOn:t,setSyncedAudioToggledOn:n,syncedAudioToggledOnRef:r}=W(),{dispatchRcbEvent:o}=te(),i=A(async t=>{var A;t!==r.current&&(null!=(A=e.event)&&A.rcbToggleAudio&&(await o(X.TOGGLE_AUDIO,{currState:r.current,newState:!r.current})).defaultPrevented||n(e=>!e))},[r]),a=A(async t=>{var n,A;if(null!=(n=e.audio)&&n.disabled||!r.current)return;let i=t;if(null!=(A=e.event)&&A.rcbStartSpeakAudio){const e=await o(X.START_SPEAK_AUDIO,{textToRead:i});if(e.defaultPrevented)return;i=e.data.textToRead}_e(e,i)},[e,r]);return{audioToggledOn:t,speakAudio:a,toggleAudio:i}},Ge=()=>{var e,t,n;const{settings:r}=L(),{messages:o,setSyncedMessages:i,syncedMessagesRef:a}=Ae(),{setSyncedIsBotTyping:l,setUnreadCount:s,syncedIsScrollingRef:c,syncedIsChatWindowOpenRef:u}=W(),{streamMessageMap:d,chatBodyRef:p,paramsInputRef:f}=q(),{scrollToBottom:h,getIsChatBotVisible:g}=ne(),{dispatchRcbEvent:m}=te(),{speakAudio:v}=Ye(),{playNotificationSound:b}=qe(),w=A(async e=>{var t,n;if(null!=(t=r.event)&&t.rcbSaveChatHistory){const t=await m(X.SAVE_CHAT_HISTORY,{messages:e});if(t.defaultPrevented)return;e=(null==(n=t.data)?void 0:n.messages)??e}await(async e=>{if(Ie||!ke)return;const t=[];for(let n=e.length-1;n>=0;n--){const r=e[n];if(\"SYSTEM\"!==r.sender.toUpperCase()&&(\"\"!==r.content&&t.unshift(r),t.length===Se))break}let n=t.map(Ne);if(!De&&n.length<Se){const e=Se-n.length;n=[...Te.slice(-e),...n]}Oe(n)})(e)},[m,null==(e=r.event)?void 0:e.rcbSaveChatHistory]),y=A((e,t=!1)=>{var n,o;w(e);let A=!0;const i=e[e.length-1];if(!i)return;const a=i.sender.toUpperCase();\"USER\"===a&&(A=!1),null!=(n=r.general)&&n.embedded&&g()&&(A=!1),(u.current&&!c.current||t)&&(A=!1),A&&b(),!t&&(\"USER\"!==a&&null!=(o=r.chatWindow)&&o.autoJumpToBottom||\"USER\"===a||!c.current)&&setTimeout(()=>h(),1)},[r,p,u,c,b,h,g]),x=A(async(e,t=\"BOT\",n=null)=>{var o,A,d,p,h;if(\"string\"!=typeof e)throw new Error(\"Content must be of type string to simulate stream.\");t=t.toUpperCase();let g=Pe(e,t);if(null!=(o=r.event)&&o.rcbStartSimulateStreamMessage){const e=await m(X.START_SIMULATE_STREAM_MESSAGE,{message:g});if(e.defaultPrevented)return null;n=e.data.simulateStreamChunker||n,g=e.data.message}l(!1);let b=30;b=\"BOT\"===t?null==(A=r.botBubble)?void 0:A.streamSpeed:null==(d=r.userBubble)?void 0:d.streamSpeed;const x={...g,content:\"\"};i(e=>[...e,x]),y(a.current);let E=g.content;n&&(E=n(E));let B=0;const P=E.length;\"BOT\"===g.sender.toUpperCase()&&(u.current||null!=(p=r.general)&&p.embedded)&&\"string\"==typeof g.content&&\"\"!==g.content.trim()&&v(g.content);const k=new Promise(e=>{const t=setInterval(()=>{if(B>=P)return clearInterval(t),void e();i(e=>{const t=[...e];for(let e=t.length-1;e>=0;e--)if(t[e].id===x.id){const n=E[B];n&&(x.content+=n,t[e]=x),B++;break}return t})},b)});return(c.current||!u.current)&&s(e=>e+1),await k,w(a.current),null!=(h=r.event)&&h.rcbStopSimulateStreamMessage&&await m(X.STOP_SIMULATE_STREAM_MESSAGE,{message:g}),\"USER\"===t&&(f.current=e),g},[r,m,y,a,f,l,s,u,v]),E=A(async(e,t=\"BOT\")=>{var n,o,A;t=t.toUpperCase();let l=Pe(e,t);if(null!=(n=r.event)&&n.rcbPreInjectMessage){const e=await m(X.PRE_INJECT_MESSAGE,{message:l});if(e.defaultPrevented)return null;l=e.data.message}return\"BOT\"===l.sender.toUpperCase()&&(u.current||null!=(o=r.general)&&o.embedded)&&\"string\"==typeof l.content&&\"\"!==l.content.trim()&&v(l.content),(c.current||!u.current)&&s(e=>e+1),null!=(A=r.event)&&A.rcbPostInjectMessage&&await m(X.POST_INJECT_MESSAGE,{message:l}),i(e=>[...e,l]),y(a.current),\"USER\"===t&&\"string\"==typeof e&&(f.current=e),l},[r,m,y,f,a,u,v,s]),B=A(async e=>{var t;let n=a.current.find(t=>t.id===e),o=null,A=!1;return n||(o=Qe(),n=o.find(t=>t.id===e),n&&(A=!0)),!n||null!=(t=r.event)&&t.rcbRemoveMessage&&(await m(X.REMOVE_MESSAGE,{message:n})).defaultPrevented?null:A?(o&&Me(o.filter(t=>t.id!==e)),n):(i(t=>t.filter(t=>t.id!==e)),y(a.current),s(e=>Math.max(e-1,0)),n)},[m,null==(t=r.event)?void 0:t.rcbRemoveMessage,y,a,s,Qe,Me]),P=A(async(e,t=\"BOT\")=>{var n,o;if(t=t.toUpperCase(),!d.current.has(t)){const o=Pe(e,t);return null!=(n=r.event)&&n.rcbStartStreamMessage&&(await m(X.START_STREAM_MESSAGE,{message:o})).defaultPrevented?null:(l(!1),i(e=>[...e,o]),y(a.current),d.current.set(t,o.id),(c.current||!u.current)&&s(e=>e+1),o)}const A={...Pe(e,t),id:d.current.get(t)};return null!=(o=r.event)&&o.rcbChunkStreamMessage&&(await m(X.CHUNK_STREAM_MESSAGE,{message:A})).defaultPrevented?null:(i(e=>e.map(e=>e.id===A.id?A:e)),y(a.current,!0),A)},[m,r.event,y,a,l,s,d]),k=A(async(e=\"BOT\")=>{var t;if(e=e.toUpperCase(),!d.current.has(e))return!0;const n=d.current.get(e);let o;for(let e=0;e<3;e++){const e=a.current.find(e=>e.id===n);e&&(o=e),await new Promise(e=>setTimeout(e,20))}return(null==(t=r.event)||!t.rcbStopStreamMessage||!(await m(X.STOP_STREAM_MESSAGE,{message:o})).defaultPrevented)&&(d.current.delete(e),w(a.current),\"USER\"===e&&\"string\"==typeof(null==o?void 0:o.content)&&(f.current=o.content),!0)},[m,null==(n=r.event)?void 0:n.rcbStopStreamMessage,d,f]),D=A(e=>{const t=\"function\"==typeof e?e(a.current):e;i(t),y(t)},[y,a]),C=A((e,t,n=0)=>{var r;const o=a.current,A=e?e.toUpperCase():null,i=[];let l=n;for(let e=o.length-1;e>=0;e--){const n=o[e];if(!A||(null==(r=null==n?void 0:n.sender)?void 0:r.toUpperCase())===A){if(l>0){l--;continue}if(i.push(n),void 0!==t&&i.length===t)break}}return i.length>0?i:null},[a]);return{simulateStreamMessage:x,injectMessage:E,removeMessage:B,streamMessage:P,endStreamMessage:k,replaceMessages:D,getMessages:C,messages:o}};let We,Ve,Xe,Ke=!1,Je=null;const Ze=()=>{if(!We){const e=window.SpeechRecognition||window.webkitSpeechRecognition;We=null!=e?new e:null}return We},$e=(e,t,n,r,o,A)=>{var i,a,l;const s=Ze();if(!s)return;if(!Ke)try{Ke=!0,s.lang=null==(i=e.voice)?void 0:i.language,s.start()}catch{}const c=null==(a=e.voice)?void 0:a.timeoutPeriod,u=null==(l=e.voice)?void 0:l.autoSendPeriod;s.onresult=i=>{var a,l;clearTimeout(Ve),Ve=null,clearTimeout(Xe);const s=i.results[i.results.length-1][0].transcript;if(A.current){const t=null==(a=e.chatInput)?void 0:a.characterLimit,n=A.current.value+s;null!=t&&t>=0&&n.length>t?r(n.slice(0,t)):r(n),o(A.current.value.length)}c&&(Ve=setTimeout(async()=>await nt(t,A),c)),null!=(l=e.voice)&&l.autoSendDisabled||(Xe=setTimeout(n,u))},s.onend=()=>{Ke?(s.start(),!Ve&&c&&(Ve=setTimeout(async()=>await nt(t,A),c))):(clearTimeout(Ve),Ve=null,clearTimeout(Xe))},c&&(Ve=setTimeout(async()=>await nt(t,A),c))},et=(e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0}).then(n=>{if(Je=new MediaRecorder(n),!Ke)try{Ke=!0,Je.start()}catch{}Je.ondataavailable=e=>{t.current&&t.current.push(e.data)},Je.onstop=()=>{e(),n.getTracks().forEach(e=>e.stop())}}).catch(e=>{console.error(\"Unable to use microphone:\",e)})},tt=()=>{const e=Ze();e&&(Ke=!1,e&&e.stop(),Je&&\"inactive\"!==Je.state&&(Je.stop(),Je=null),clearTimeout(Ve),Ve=null,clearTimeout(Xe))},nt=async(e,t)=>{var n;null!=(n=t.current)&&n.disabled||await e(),tt()},rt=()=>{const{settings:e}=L(),{voiceToggledOn:t,setSyncedVoiceToggledOn:n,syncedVoiceToggledOnRef:r}=W(),{dispatchRcbEvent:o}=te(),i=A(async t=>{var A;t!==r.current&&(null!=(A=e.event)&&A.rcbToggleVoice&&(await o(X.TOGGLE_VOICE,{currState:r.current,newState:!r.current})).defaultPrevented||n(e=>!e))},[r]),a=A(t=>{((e,t)=>{var n,r,o;const A=Ze();null!=(n=t.voice)&&n.disabled||null==(r=t.chatInput)||!r.blockSpam||!A||(e&&!Ke?(Ke=!0,null!=(o=t.voice)&&o.sendAsAudio?null==Je||Je.start():A.start()):e||tt())})(t,e)},[e]);return{voiceToggledOn:t,toggleVoice:i,syncVoice:a}},ot=()=>{var e;const{settings:t}=L(),{inputLength:n,setInputLength:r,textAreaDisabled:o,setSyncedTextAreaDisabled:i,textAreaSensitiveMode:a,setSyncedTextAreaSensitiveMode:l,syncedTextAreaDisabledRef:s,syncedTextAreaSensitiveModeRef:c}=W(),{inputRef:u,chatBodyRef:d,prevInputRef:p}=q(),{dispatchRcbEvent:f}=te(),{getIsChatBotVisible:h}=ne(),g=A(async e=>{var n,r,o;if(s.current&&u.current)u.current.value=\"\";else if(u.current&&null!==p.current){const A=null==(n=t.chatInput)?void 0:n.characterLimit,i=(null==(r=t.chatInput)?void 0:r.allowNewline)?e:e.replace(/\\n/g,\" \");if(null!=A&&A>=0&&i.length>A?u.current.value=i.slice(0,A):u.current.value=i,null!=(o=t.event)&&o.rcbTextAreaChangeValue&&(await f(X.TEXT_AREA_CHANGE_VALUE,{currValue:u.current.value,prevValue:p.current})).defaultPrevented)return void(u.current.value=p.current);p.current=u.current.value}},[s,u,p,t,f]),m=A(e=>{var n;null!=(n=u.current)&&n.disabled||setTimeout(()=>{var n,r,o;null!=(n=t.general)&&n.embedded?h()&&(null==(r=u.current)||r.focus()):\"start\"!==e&&(null==(o=u.current)||o.focus())},100)},[u,null==(e=t.general)?void 0:e.embedded,d,h]),v=A(()=>{u.current&&u.current.focus()},[]),b=A(()=>{u.current&&u.current.blur()},[]),w=A(()=>u&&u.current?u.current.value:\"\",[]),y=A(e=>{e!==s.current&&i(e=>!e)},[s]),x=A(e=>{e!==c.current&&l(e=>!e)},[c]);return{textAreaDisabled:o,setSyncedTextAreaDisabled:i,textAreaSensitiveMode:a,setSyncedTextAreaSensitiveMode:l,inputLength:n,setInputLength:r,getTextAreaValue:w,setTextAreaValue:g,updateTextAreaFocus:m,focusTextArea:v,blurTextArea:b,toggleTextAreaDisabled:y,toggleTextAreaSensitiveMode:x}},At=r({toasts:[],setSyncedToasts:()=>{},syncedToastsRef:{current:[]}}),it=()=>o(At),at=({children:e})=>{const[t,n,r]=Y([]);return h(At.Provider,{value:{toasts:t,setSyncedToasts:n,syncedToastsRef:r},children:e})},lt=()=>{const{settings:e}=L(),{toasts:t,setSyncedToasts:n,syncedToastsRef:r}=it(),{dispatchRcbEvent:o}=te(),i=A(async(t,A)=>{var i,a,l,s;let c=null;if(r.current.length>=((null==(i=e.toast)?void 0:i.maxCount)??3)){if(null!=(a=e.toast)&&a.forbidOnMax)return null;c=Be();let r={id:c,content:t,timeout:A};if(null!=(l=e.event)&&l.rcbShowToast){const e=await o(X.SHOW_TOAST,{toast:r});if(e.defaultPrevented)return null;r=e.data.toast}return n(e=>[...e.slice(1),r]),c}c=Be();let u={id:c,content:t,timeout:A};if(null!=(s=e.event)&&s.rcbShowToast){const e=await o(X.SHOW_TOAST,{toast:u});if(e.defaultPrevented)return null;u=e.data.toast}return n(e=>[...e,u]),c},[e,o]),a=A(async t=>{var A;const i=r.current.find(e=>e.id===t);return!i||null!=(A=e.event)&&A.rcbDismissToast&&(await o(X.DISMISS_TOAST,{toast:i})).defaultPrevented?null:(n(e=>e.filter(e=>e.id!==t)),t)},[o]),l=A(e=>{const t=\"function\"==typeof e?e(r.current):e;n(t)},[r]);return{showToast:i,dismissToast:a,toasts:t,replaceToasts:l}},st=()=>{var e,t,n,r,o;const{settings:i}=L(),{paths:a,setSyncedPaths:l,syncedPathsRef:s}=$(),{flowRef:c,streamMessageMap:u,paramsInputRef:d,keepVoiceOnRef:p,timeoutIdRef:f}=q(),{setSyncedIsBotTyping:h,setSyncedTextAreaDisabled:g,setSyncedTextAreaSensitiveMode:m,blockAllowsAttachment:v,setBlockAllowsAttachment:b}=W(),{dispatchRcbEvent:w}=te(),{endStreamMessage:y,injectMessage:x,removeMessage:E,simulateStreamMessage:B,streamMessage:P}=Ge(),{showToast:k,dismissToast:D}=lt(),{toggleChatWindow:C}=ne(),{updateTextAreaFocus:S,setTextAreaValue:I}=ot(),{syncVoice:T}=rt(),Q=A(async e=>{var t;if(null!=(t=i.event)&&t.rcbPostProcessBlock){const t=await w(X.POST_PROCESS_BLOCK,{block:e});if(t.defaultPrevented)return null;e=t.data.block}return e},[null==(e=i.event)?void 0:e.rcbPostProcessBlock,w]),M=A(async(e,t)=>{var n,r,o,A;if(!e)return;let a=c.current[e];if(!a)return void h(!1);if(null!=(n=i.event)&&n.rcbPreProcessBlock){const e=await w(X.PRE_PROCESS_BLOCK,{block:a});if(e.defaultPrevented)return;a=e.data.block}h(!0),null!=(r=i.chatInput)&&r.blockSpam&&g(!0),m(!1);const l={prevPath:t,currPath:e,goToPath:H,setTextAreaValue:I,userInput:d.current,endStreamMessage:y,injectMessage:x,removeMessage:E,simulateStreamMessage:B,streamMessage:P,toggleChatWindow:C,showToast:k,dismissToast:D};await(async(e,t,n,r,o,A,i)=>{if(!e)throw new Error(\"Block is not valid.\");for(const a of Object.keys(e))switch(a){case\"message\":await fe(e,t,n);break;case\"options\":await ge(e,t);break;case\"checkboxes\":await de(e,t);break;case\"component\":await me(e,t);break;case\"chatDisabled\":await be(e,t,o);break;case\"isSensitive\":await we(e,t,A);break;case\"transition\":await ve(e,t,r,i)}})(a,l,(null==(o=i.botBubble)?void 0:o.simulateStream)??!1,f,g,m,Q),h(!1),\"chatDisabled\"in a||g(null==(A=i.chatInput)?void 0:A.disabled),\"isSensitive\"in a||m(!1),b(\"function\"==typeof a.file),S(e),T(p.current&&!a.chatDisabled),e!==t&&u.current.clear()},[c,S,T,null==(t=i.botBubble)?void 0:t.simulateStream,null==(n=i.chatInput)?void 0:n.disabled,d,y,x,E,B,P,C,k,D,p,u]),O=A(()=>s.current.length>0?s.current.at(-1)??null:null,[]),N=A(()=>s.current.length>1?s.current.at(-2)??null:null,[]),H=A(async e=>{var t;const n=O(),r=N();return(null==(t=i.event)||!t.rcbChangePath||!(await w(X.CHANGE_PATH,{currPath:n,prevPath:r,nextPath:e})).defaultPrevented)&&(l(t=>[...t,e]),await M(e,n),!0)},[null==(r=i.chatInput)?void 0:r.blockSpam,null==(o=i.event)?void 0:o.rcbChangePath,M,w]),R=A(e=>{const t=\"function\"==typeof e?e(s.current):e;l(t)},[s]);return{getCurrPath:O,getPrevPath:N,goToPath:H,blockAllowsAttachment:v,setBlockAllowsAttachment:b,paths:a,replacePaths:R,firePostProcessBlockEvent:Q}},ct=()=>{var e,t,n,r;const{settings:o}=L(),{endStreamMessage:i,injectMessage:a,removeMessage:l,simulateStreamMessage:s,streamMessage:c}=Ge(),{syncedPathsRef:u}=$(),{getCurrPath:d,getPrevPath:p,goToPath:f,firePostProcessBlockEvent:h}=st(),{setSyncedTextAreaSensitiveMode:g,setSyncedTextAreaDisabled:m,setSyncedIsBotTyping:v,setBlockAllowsAttachment:b,setInputLength:w,syncedVoiceToggledOnRef:y,syncedTextAreaSensitiveModeRef:x}=W(),{flowRef:E,inputRef:B,keepVoiceOnRef:P,paramsInputRef:k,timeoutIdRef:D}=q(),{showToast:C,dismissToast:S}=lt(),{dispatchRcbEvent:I}=te(),{syncVoice:T}=rt(),{setTextAreaValue:Q}=ot(),{toggleChatWindow:M}=ne(),O=A(async e=>{var t,n,r,A,i,l;const c=d();if(c&&E.current[c]){if(x.current){if(null!=(t=null==o?void 0:o.sensitiveInput)&&t.hideInUserBubble)return;if(null!=(n=null==o?void 0:o.sensitiveInput)&&n.maskInUserBubble)return void(null!=(r=o.userBubble)&&r.simulateStream?await s(\"*\".repeat((null==(A=o.sensitiveInput)?void 0:A.asterisksCount)??10),\"USER\"):await a(\"*\".repeat((null==(i=o.sensitiveInput)?void 0:i.asterisksCount)??10),\"USER\"))}null!=(l=o.userBubble)&&l.simulateStream?await s(e,\"USER\"):await a(e,\"USER\")}},[E,d,o,a,s,x]),N=A(async(e,t=!0)=>{var n,r;if(\"\"===(e=e.trim()))return;t&&await O(e),D.current&&clearTimeout(D.current),B.current&&(Q(\"\"),w(0));const A=d();if(!A)return;let x=E.current[A];const I=await h(x);I&&(null!=(n=o.chatInput)&&n.blockSpam&&m(!0),P.current=y.current,T(!1),setTimeout(()=>{v(!0)},400),g(!1),setTimeout(async()=>{var e;const t={prevPath:p(),currPath:d(),goToPath:f,setTextAreaValue:Q,userInput:k.current,injectMessage:a,simulateStreamMessage:s,streamMessage:c,removeMessage:l,endStreamMessage:i,toggleChatWindow:M,showToast:C,dismissToast:S},n=u.current.length;await ye(I,t),u.current.length===n&&(m(\"chatDisabled\"in x?!!x.chatDisabled:!(null==(e=o.chatInput)||!e.disabled)),we(x,t,g),b(\"function\"==typeof x.file),T(P.current),v(!1))},null==(r=o.chatInput)?void 0:r.botDelay))},[D,null==(e=o.chatInput)?void 0:e.blockSpam,null==(t=o.chatInput)?void 0:t.botDelay,null==(n=o.chatInput)?void 0:n.disabled,P,y,T,O,p,d,f,a,s,c,l,i,M,C,S,E]);return{handleSubmitText:A(async(e,t=!0)=>{var n,r;e=e??(null==(n=B.current)?void 0:n.value),!(null!=(r=o.event)&&r.rcbUserSubmitText&&(await I(X.USER_SUBMIT_TEXT,{inputText:e,sendInChat:t})).defaultPrevented||!d())&&N(e,t)},[I,d,N,B,null==(r=o.event)?void 0:r.rcbUserSubmitText])}},ut=()=>{var e;const{settings:t}=L();return s(()=>{var e;if(typeof window>\"u\"||!window.navigator)return!1;if(null==(e=t.device)||!e.applyMobileOptimizations)return!0;const n=navigator.userAgent,r=!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n),o=window.innerWidth>=768;return r&&o},[null==(e=t.device)?void 0:e.applyMobileOptimizations])},dt=({buttons:e})=>{var t,n,r,o,A,i,l,s,c,d,p;const f=ut(),{settings:v}=L(),{styles:b}=z(),{textAreaDisabled:w,textAreaSensitiveMode:y,inputLength:x,hasFlowStarted:E,setHasFlowStarted:B,setInputLength:P}=W(),{inputRef:k}=q(),[D,C]=a(!1),[S,I]=a(!1),{handleSubmitText:T}=ct(),{setTextAreaValue:Q}=ot(),M={boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle},O={outline:w?\"\":\"none\",boxShadow:w?\"\":`0 0 5px ${null==(t=v.general)?void 0:t.primaryColor}`,boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle,...b.chatInputAreaFocusedStyle},N={cursor:`url(\"${null==(n=v.general)?void 0:n.actionDisabledIcon}\"), auto`,caretColor:\"transparent\",boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle,...b.chatInputAreaDisabledStyle},H={color:\"#989898\",...b.characterLimitStyle},R={color:\"#ff0000\",...b.characterLimitReachedStyle},j=w?null==(r=v.chatInput)?void 0:r.disabledPlaceholderText:null==(o=v.chatInput)?void 0:o.enabledPlaceholderText,F=()=>{w||C(!0)},U=()=>{C(!1)},_=()=>{I(!0)},Y=()=>{I(!1)},G=async e=>{var t;if(!S&&\"Enter\"===e.key){if(e.shiftKey)return void(null!=(t=v.chatInput)&&t.allowNewline||e.preventDefault());e.preventDefault(),await T()}},V=e=>{k.current&&(Q(e.target.value),P(k.current.value.length))};return g(\"div\",{\"aria-label\":(null==(A=v.ariaLabel)?void 0:A.inputTextArea)??\"input text area\",role:\"textbox\",onMouseDown:e=>{var t;e.stopPropagation(),!E&&\"ON_CHATBOT_INTERACT\"===(null==(t=v.general)?void 0:t.flowStartTrigger)&&B(!0)},style:{...b.chatInputContainerStyle},className:\"rcb-chat-input\",children:[y&&null!=(i=v.sensitiveInput)&&i.maskInTextArea?h(\"input\",{ref:k,type:\"password\",className:\"rcb-chat-input-textarea\",style:w?N:D?O:M,placeholder:j,onChange:V,onKeyDown:G,onFocus:F,onBlur:U,onCompositionStart:_,onCompositionEnd:Y}):h(\"textarea\",{ref:k,style:w?N:D?O:M,rows:1,className:\"rcb-chat-input-textarea\",placeholder:j,onChange:V,onKeyDown:G,onFocus:F,onBlur:U,onCompositionStart:_,onCompositionEnd:Y}),g(m,{children:[null==e?void 0:e.map((e,t)=>h(u,{children:e},t)),(null==(l=v.chatInput)?void 0:l.showCharacterCount)&&null!=(null==(s=v.chatInput)?void 0:s.characterLimit)&&(null==(c=v.chatInput)?void 0:c.characterLimit)>0&&g(\"div\",{className:\"rcb-chat-input-char-counter\",style:x>=(null==(d=v.chatInput)?void 0:d.characterLimit)?R:H,children:[x,\"/\",null==(p=v.chatInput)?void 0:p.characterLimit]})]})]})},pt=({buttons:e})=>{var t;const{settings:n}=L(),{styles:r}=z();return g(\"div\",{\"data-testid\":\"chatbot-footer-container\",style:{...r.footerStyle},className:\"rcb-chat-footer-container\",children:[h(\"div\",{className:\"rcb-chat-footer\",children:null==e?void 0:e.map((e,t)=>h(u,{children:e},t))}),h(\"span\",{children:null==(t=n.footer)?void 0:t.text})]})},ft=()=>{var e,t,n,r,o,A,i;const{settings:l}=L(),{styles:s}=z(),{unreadCount:c}=W(),{isChatWindowOpen:u,toggleChatWindow:d}=ne(),[p,f]=a(!1),v={backgroundImage:`linear-gradient(to right, ${null==(e=l.general)?void 0:e.secondaryColor},\\n\\t\\t\\t${null==(t=l.general)?void 0:t.primaryColor})`,...s.chatButtonStyle},b={transform:\"scale(1.05)\",...v,...s.chatButtonHoveredStyle},w={backgroundImage:`url(${null==(n=l.chatButton)?void 0:n.icon})`,fill:\"#fff\",width:75,height:75,...s.chatIconStyle};return h(m,{children:!(null!=(r=l.general)&&r.embedded)&&g(\"div\",{\"aria-label\":(null==(o=l.ariaLabel)?void 0:o.chatButton)??\"open chat\",role:\"button\",style:p?b:v,className:\"rcb-toggle-button \"+(u?\"rcb-button-hide\":\"rcb-button-show\"),onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},onClick:()=>d(!0),children:[(()=>{var e;const t=null==(e=l.chatButton)?void 0:e.icon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-toggle-icon\",children:h(t,{style:w})}):h(\"span\",{className:\"rcb-toggle-icon\",style:w})})(),!(null!=(A=l.notification)&&A.disabled)&&(null==(i=l.notification)?void 0:i.showCount)&&h(\"span\",{style:{...s.notificationBadgeStyle},className:\"rcb-badge\",children:c})]})})},ht=()=>{var e,t,n,r,o,A;const i=ut(),{settings:s}=L(),{styles:c}=z(),{chatBodyRef:u}=q(),{isChatWindowOpen:d,toggleChatWindow:p}=ne(),[f,v]=a(!1),[b,w]=a(!1),[y,x]=a(0);l(()=>{var e,t,n;const r=null==(e=s.tooltip)?void 0:e.mode;if(\"ALWAYS\"===r)if(i){let e;e=d?((null==(t=u.current)?void 0:t.offsetWidth)??375)-(\"number\"==typeof(null==(n=c.chatButtonStyle)?void 0:n.width)?c.chatButtonStyle.width:75):0,x(e),v(!0)}else v(!d);else\"NEVER\"===r?v(!1):\"START\"===r?b?v(!1):(w(!0),v(!0)):\"CLOSE\"===r&&v(!d)},[d,i,b,null==(e=c.chatButtonStyle)?void 0:e.width,null==(t=s.tooltip)?void 0:t.mode]);const E={transform:`translateX(-${y}px)`,right:((null==(n=c.chatButtonStyle)?void 0:n.width)??75)+40,bottom:30,backgroundColor:null==(r=s.general)?void 0:r.secondaryColor,color:\"#fff\",...c.tooltipStyle},B={borderColor:`transparent transparent transparent ${E.backgroundColor}`};return h(m,{children:!(null!=(o=s.general)&&o.embedded)&&g(\"div\",{\"data-testid\":\"chat-tooltip\",style:E,className:\"rcb-chat-tooltip \"+(f?\"rcb-tooltip-show\":\"rcb-tooltip-hide\"),onClick:()=>p(!0),children:[h(\"span\",{children:null==(A=s.tooltip)?void 0:A.text}),h(\"span\",{className:\"rcb-chat-tooltip-tail\",style:B})]})})},gt=({id:e,content:t,timeout:n})=>{var r,o;const{settings:A}=L(),{styles:i}=z(),[s]=a({toastPromptStyle:{...i.toastPromptStyle},toastPromptHoveredStyle:{...i.toastPromptHoveredStyle}}),{dismissToast:c}=lt(),[u,d]=a(!1),p={color:null==(r=A.general)?void 0:r.primaryColor,borderColor:null==(o=A.general)?void 0:o.primaryColor,...s.toastPromptHoveredStyle};return l(()=>{if(n){const t=setTimeout(()=>{c(e)},n);return()=>clearTimeout(t)}},[e,c,n]),\"string\"==typeof t?h(\"div\",{onMouseEnter:()=>{d(!0)},onMouseLeave:()=>{d(!1)},style:u?p:s.toastPromptStyle,onMouseDown:async t=>{var n;null!=(n=A.toast)&&n.dismissOnClick&&(t.preventDefault(),await c(e))},className:\"rcb-toast-prompt\",children:t}):h(m,{children:t})},mt=()=>{var e,t,n,r,o,A,i,a,l,s,c,u;const{styles:d}=z(),{toasts:p}=it(),f={bottom:`calc(${\"number\"==typeof(null==(e=d.footerStyle)?void 0:e.height)?`${null==(t=d.footerStyle)?void 0:t.height}px`:(null==(n=d.footerStyle)?void 0:n.height)??\"50px\"} + ${\"number\"==typeof(null==(r=d.chatInputContainerStyle)?void 0:r.height)?`${null==(o=d.chatInputContainerStyle)?void 0:o.height}px`:(null==(A=d.chatInputContainerStyle)?void 0:A.height)??\"70px\"} + 20px)`,width:300,minWidth:`calc(${\"number\"==typeof(null==(i=d.chatWindowStyle)?void 0:i.width)?`${null==(a=d.chatWindowStyle)?void 0:a.width}px`:(null==(l=d.chatWindowStyle)?void 0:l.width)??\"375px\"} / 2)`,maxWidth:`calc(${\"number\"==typeof(null==(s=d.chatWindowStyle)?void 0:s.width)?`${null==(c=d.chatWindowStyle)?void 0:c.width}px`:(null==(u=d.chatWindowStyle)?void 0:u.width)??\"375px\"} - 50px)`,...d.toastPromptContainerStyle};return h(\"div\",{className:\"rcb-toast-prompt-container\",style:f,children:p.map(e=>h(gt,{id:e.id,content:e.content,timeout:e.timeout},e.id))})},vt=({file:e,fileType:t,fileUrl:n})=>{var r,o,A;const{settings:i}=L(),{styles:a}=z(),l={backgroundColor:null==(r=i.general)?void 0:r.primaryColor,maxWidth:null!=(o=i.userBubble)&&o.showAvatar?\"65%\":\"70%\",...a.mediaDisplayContainerStyle};return h(m,{children:n?g(m,{children:[\"image\"===t&&n&&h(\"div\",{style:l,className:\"rcb-media-display-image-container rcb-media-entry\",\"data-testid\":\"media-display-image-container\",children:h(\"img\",{src:n,alt:\"Image Display\",className:\"rcb-media-display-image\"})}),\"video\"===t&&n&&h(\"div\",{style:l,className:\"rcb-media-display-video-container rcb-media-entry\",\"data-testid\":\"media-display-video-container\",children:g(\"video\",{controls:!0,className:\"rcb-media-display-video\",children:[h(\"source\",{src:n,type:e.type}),\"Your browser does not support the video tag.\"]})}),\"audio\"===t&&n&&g(\"audio\",{\"data-testid\":\"media-display-audio-container\",style:{maxWidth:null!=(A=i.userBubble)&&A.showAvatar?\"65%\":\"70%\"},controls:!0,className:\"rcb-media-display-audio rcb-media-entry\",children:[h(\"source\",{src:n,type:e.type}),\"Your browser does not support the audio tag.\"]})]}):h(m,{})})},bt=async e=>{if(!e)return{fileType:null,fileUrl:null};const t=e.type.split(\"/\")[0];if(![\"image\",\"video\",\"audio\"].includes(t))return{fileType:null,fileUrl:null};try{return{fileType:t,fileUrl:await new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(new Error(\"File reading failed\")),r.readAsDataURL(e)})}}catch(e){return console.error(e),{fileType:null,fileUrl:null}}},wt=()=>{var e,t,n,r,o,A;const{settings:i}=L(),{styles:a}=z(),{injectMessage:l,simulateStreamMessage:s,streamMessage:c,removeMessage:u,endStreamMessage:d}=Ge(),{getCurrPath:p,getPrevPath:f,goToPath:m,blockAllowsAttachment:v}=st(),{flowRef:b,inputRef:w}=q(),y=b.current,{showToast:x,dismissToast:E}=lt(),{dispatchRcbEvent:B}=te(),{toggleChatWindow:P}=ne(),{setTextAreaValue:k}=ot(),{handleSubmitText:D}=ct(),C={cursor:`url(\"${null==(e=i.general)?void 0:e.actionDisabledIcon}\"), auto`,...a.fileAttachmentButtonStyle,...a.fileAttachmentButtonDisabledStyle},S={backgroundImage:`url(${null==(t=i.fileAttachment)?void 0:t.icon})`,fill:\"#a6a6a6\",...a.fileAttachmentIconStyle},I={backgroundImage:`url(${null==(n=i.fileAttachment)?void 0:n.icon})`,fill:\"#a6a6a6\",...a.fileAttachmentIconStyle,...a.fileAttachmentIconDisabledStyle};return g(\"label\",{\"aria-label\":(null==(r=i.ariaLabel)?void 0:r.fileAttachmentButton)??\"upload file\",role:\"button\",className:v?\"rcb-attach-button-enabled\":\"rcb-attach-button-disabled\",style:v?{...a.fileAttachmentButtonStyle}:C,children:[h(\"input\",{className:\"rcb-attach-input\",role:\"file\",type:\"file\",onChange:async e=>{var t,n,r,o;const A=e.target.files;if(!A)return;const a=Array.from(A);if(e.target.value=\"\",null!=(t=i.event)&&t.rcbUserUploadFile&&(await B(X.USER_UPLOAD_FILE,{files:a})).defaultPrevented)return;const g=p();if(!g)return;const v=y[g];if(!v)return;const b=v.file;if(null!=b){const e=[];for(let t=0;t<a.length;t++){if(e.push(a[t].name),null==(n=i.fileAttachment)||!n.showMediaDisplay)continue;const r=await bt(a[t]);!r.fileType||!r.fileUrl||await l(h(vt,{file:a[t],fileType:r.fileType,fileUrl:r.fileUrl}),\"USER\")}await D(\"📄 \"+e.join(\", \"),null==(r=i.fileAttachment)?void 0:r.sendFileName),await b({userInput:null==(o=w.current)?void 0:o.value,prevPath:f(),currPath:p(),goToPath:m,setTextAreaValue:k,injectMessage:l,simulateStreamMessage:s,streamMessage:c,removeMessage:u,endStreamMessage:d,toggleChatWindow:P,showToast:x,dismissToast:E,files:a})}},multiple:null==(o=i.fileAttachment)?void 0:o.multiple,accept:null==(A=i.fileAttachment)?void 0:A.accept,disabled:!v}),(()=>{var e,t;const n=v?null==(e=i.fileAttachment)?void 0:e.icon:null==(t=i.fileAttachment)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:v?\"rcb-attach-icon-enabled\":\"rcb-attach-icon-disabled\",children:h(n,{style:v?S:I})}):h(\"span\",{className:v?\"rcb-attach-icon-enabled\":\"rcb-attach-icon-disabled\",style:v?S:I})})()]})},yt=()=>{var e,t,n,r,o,A;const{settings:s}=L(),{styles:c}=z(),{syncedTextAreaDisabledRef:u}=W(),{inputRef:d}=q(),{textAreaDisabled:p,setTextAreaValue:f}=ot(),v=i(null),b=i(null),[w,y]=a(!1),x={cursor:`url(\"${null==(e=s.general)?void 0:e.actionDisabledIcon}\"), auto`,...c.emojiButtonStyle,...c.emojiButtonDisabledStyle},E={backgroundImage:`url(${null==(t=s.emoji)?void 0:t.icon})`,fill:\"#a6a6a6\",...c.emojiIconStyle},B={backgroundImage:`url(${null==(n=s.emoji)?void 0:n.icon})`,fill:\"#a6a6a6\",...c.emojiIconStyle,...c.emojiIconDisabledStyle};l(()=>{const e=e=>{const t=e.composedPath();v.current&&!t.includes(v.current)&&b.current&&!t.includes(b.current)&&y(!1)},t=()=>{(()=>{if(v.current&&b.current){const e=b.current.getBoundingClientRect(),t=v.current.offsetHeight,n=e.top-t-8;v.current.style.left=`${e.left}px`,v.current.style.top=`${n}px`}})()};return document.addEventListener(\"mousedown\",e),window.addEventListener(\"resize\",t),()=>{document.removeEventListener(\"mousedown\",e),window.removeEventListener(\"resize\",t)}},[]);return g(m,{children:[h(\"div\",{\"aria-label\":(null==(r=s.ariaLabel)?void 0:r.emojiButton)??\"emoji picker\",role:\"button\",ref:b,className:\"\"+(p?\"rcb-emoji-button-disabled\":\"rcb-emoji-button-enabled\"),style:p?x:{...c.emojiButtonStyle},onMouseDown:e=>{e.preventDefault(),u.current?y(!1):y(e=>!e)},children:(()=>{var e,t;const n=p?null==(e=s.emoji)?void 0:e.iconDisabled:null==(t=s.emoji)?void 0:t.icon;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"\"+(p?\"rcb-emoji-icon-disabled\":\"rcb-emoji-icon-enabled\"),children:h(n,{style:p?B:E})}):h(\"span\",{className:\"\"+(p?\"rcb-emoji-icon-disabled\":\"rcb-emoji-icon-enabled\"),style:p?B:E})})()}),w&&h(\"div\",{className:\"rcb-emoji-button-popup\",ref:v,children:null==(A=null==(o=s.emoji)?void 0:o.list)?void 0:A.map((e,t)=>h(\"span\",{className:\"rcb-emoji\",onMouseDown:t=>((e,t)=>{e.preventDefault(),d.current&&(f(d.current.value+t),setTimeout(()=>{const e=d.current;if(e){e.focus();const t=e.value.length;e.setSelectionRange(t,t)}},50)),y(!1)})(t,e),children:e},t))})]})},xt=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{audioToggledOn:A,toggleAudio:i}=Ye(),a={backgroundImage:`url(${null==(e=r.audio)?void 0:e.icon})`,fill:\"#fcec3d\",...o.audioIconStyle},l={backgroundImage:`url(${null==(t=r.audio)?void 0:t.iconDisabled})`,fill:\"#e8eaed\",...o.audioIconStyle,...o.audioIconDisabledStyle};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.audioButton)??\"toggle audio\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),await i()},style:A?{...o.audioButtonStyle}:{...o.audioButtonStyle,...o.audioButtonDisabledStyle},children:(()=>{var e,t;const n=A?null==(e=r.audio)?void 0:e.icon:null==(t=r.audio)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-audio-icon\",\"data-testid\":\"rcb-audio-icon\",children:h(n,{style:A?a:l,\"data-testid\":\"rcb-audio-icon-svg\"})}):h(\"span\",{className:\"rcb-audio-icon\",\"data-testid\":\"rcb-audio-icon\",style:A?a:l})})()})},Et=()=>{var e,t;const{settings:n}=L(),{styles:r}=z(),{toggleChatWindow:o}=ne(),A={backgroundImage:`url(${null==(e=n.header)?void 0:e.closeChatIcon})`,fill:\"#e8eaed\",stroke:\"#e8eaed\",...r.closeChatIconStyle};return h(\"div\",{\"aria-label\":(null==(t=n.ariaLabel)?void 0:t.closeChatButton)??\"close chat\",role:\"button\",onMouseDown:e=>{e.stopPropagation(),o(!1)},style:{...r.closeChatButtonStyle},children:(()=>{var e;const t=null==(e=n.header)?void 0:e.closeChatIcon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-close-chat-icon\",\"data-testid\":\"rcb-close-chat-icon\",children:h(t,{style:A})}):h(\"span\",{className:\"rcb-close-chat-icon\",\"data-testid\":\"rcb-close-chat-icon\",style:A})})()})},Bt=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{notificationsToggledOn:A,toggleNotifications:i}=(()=>{const{notificationsToggledOn:e,toggleNotifications:t,playNotificationSound:n}=qe();return{notificationsToggledOn:e,toggleNotifications:t,playNotificationSound:n}})(),a={backgroundImage:`url(${null==(e=r.notification)?void 0:e.icon})`,fill:\"#fcec3d\",...o.notificationIconStyle},l={backgroundImage:`url(${null==(t=r.notification)?void 0:t.iconDisabled})`,fill:\"#e8eaed\",...o.notificationIconStyle,...o.notificationIconDisabledStyle};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.notificationButton)??\"toggle notifications\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),await i()},style:A?{...o.notificationButtonStyle}:{...o.notificationButtonStyle,...o.notificationButtonDisabledStyle},children:(()=>{var e,t;const n=A?null==(e=r.notification)?void 0:e.icon:null==(t=r.notification)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-notification-icon\",\"data-testid\":\"rcb-notification-icon\",children:h(n,{style:A?a:l,\"data-testid\":\"rcb-notification-icon-svg\"})}):h(\"span\",{className:\"rcb-notification-icon\",\"data-testid\":\"rcb-notification-icon\",style:A?a:l})})()})},Pt=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{injectMessage:A}=Ge(),{inputRef:s}=q(),{voiceToggledOn:c,toggleVoice:u}=rt(),{setInputLength:d,setTextAreaValue:p,textAreaDisabled:f}=ot(),{handleSubmitText:g}=ct(),m=i([]),[v,b]=a(!1);l(()=>{var e;null!=(e=r.voice)&&e.sendAsAudio?(E(),m.current=[]):g()},[v]),l(()=>{c?((e,t,n,r,o,A,i)=>{var a;null!=(a=e.voice)&&a.sendAsAudio?et(n,A):$e(e,t,n,r,o,i)})(r,u,x,p,d,m,s):tt()},[c]);const w={backgroundImage:`url(${null==(e=r.voice)?void 0:e.icon})`,fill:\"#9aa0a6\",...o.voiceIconStyle},y={backgroundImage:`url(${null==(t=r.voice)?void 0:t.iconDisabled})`,fill:\"#9aa0a6\",...o.voiceIconStyle,...o.voiceIconDisabledStyle},x=()=>{b(e=>!e)},E=async()=>{const e=new Blob(m.current,{type:\"audio/wav\"}),t=new File([e],\"voice-input.wav\",{type:\"audio/wav\"}),n=await bt(t);!n.fileType||!n.fileUrl||await A(h(vt,{file:t,fileType:n.fileType,fileUrl:n.fileUrl}),\"USER\")};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.voiceButton)??\"toggle voice\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),!f&&await u()},style:c&&!f?{...o.voiceButtonStyle}:{...o.voiceButtonStyle,...o.voiceButtonDisabledStyle},className:c&&!f?\"rcb-voice-button-enabled\":\"rcb-voice-button-disabled\",children:(()=>{var e,t;const n=c?null==(e=r.voice)?void 0:e.icon:null==(t=r.voice)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-voice-icon \"+(c&&!f?\"on\":\"\"),children:h(n,{style:c&&!f?w:y})}):h(\"span\",{className:\"rcb-voice-icon\"+(c&&!f?\"-on\":\"\"),\"data-testid\":\"rcb-voice-icon\",style:c&&!f?w:y})})()})},kt=()=>{var e,t,n,r,o,A,i,l;const{settings:s}=L(),{styles:c}=z(),{textAreaDisabled:u}=W(),[d,p]=a(!1),{handleSubmitText:f}=ct(),g={backgroundColor:null==(e=s.general)?void 0:e.primaryColor,...c.sendButtonStyle},m={cursor:`url(\"${null==(t=s.general)?void 0:t.actionDisabledIcon}\"), auto`,backgroundColor:null==(n=s.general)?void 0:n.primaryColor,...c.sendButtonStyle,...c.sendButtonDisabledStyle},v={backgroundColor:null==(r=s.general)?void 0:r.secondaryColor,...c.sendButtonStyle,...c.sendButtonHoveredStyle},b={backgroundImage:`url(${null==(o=s.chatInput)?void 0:o.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle},w={backgroundImage:`url(${null==(A=s.chatInput)?void 0:A.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle,...c.sendIconDisabledStyle},y={backgroundImage:`url(${null==(i=s.chatInput)?void 0:i.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle,...c.sendIconHoveredStyle};return h(\"div\",{\"aria-label\":(null==(l=s.ariaLabel)?void 0:l.sendButton)??\"send message\",role:\"button\",onMouseEnter:()=>{p(!0)},onMouseLeave:()=>{p(!1)},onMouseDown:async e=>{null==e||e.preventDefault(),!u&&await f()},style:u?m:d?v:g,className:\"rcb-send-button\",children:(()=>{var e;const t=null==(e=s.chatInput)?void 0:e.sendButtonIcon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-send-icon\",\"data-testid\":\"rcb-send-icon\",children:h(t,{style:u?w:d?y:b})}):h(\"span\",{className:\"rcb-send-icon\",\"data-testid\":\"rcb-send-icon\",style:u?w:d?y:b})})()})},Dt=(e,t)=>{var n,r,o,A,i,a,l,s,c;const u={[w.AUDIO_BUTTON]:null==(n=e.audio)?void 0:n.disabled,[w.CLOSE_CHAT_BUTTON]:null==(r=e.general)?void 0:r.embedded,[w.EMOJI_PICKER_BUTTON]:null==(o=e.emoji)?void 0:o.disabled,[w.FILE_ATTACHMENT_BUTTON]:null==(A=e.fileAttachment)?void 0:A.disabled,[w.NOTIFICATION_BUTTON]:null==(i=e.notification)?void 0:i.disabled,[w.SEND_MESSAGE_BUTTON]:!1,[w.VOICE_MESSAGE_BUTTON]:null==(a=e.voice)?void 0:a.disabled},d={},p=e=>e?e.map(e=>{if(\"string\"==typeof e){if((e=>Object.values(w).includes(e))(e)&&!u[e]){if(d[e])return d[e];const n=t[e];if(\"function\"==typeof n){const t=n();return d[e]=t,t}return null}return null}return e}).filter(e=>null!==e):[];return{header:p(null==(l=e.header)?void 0:l.buttons),chatInput:p(null==(s=e.chatInput)?void 0:s.buttons),footer:p(null==(c=e.footer)?void 0:c.buttons)}},Ct=()=>{const{settings:e}=L(),t=s(()=>({[w.CLOSE_CHAT_BUTTON]:()=>h(Et,{}),[w.AUDIO_BUTTON]:()=>h(xt,{}),[w.NOTIFICATION_BUTTON]:()=>h(Bt,{}),[w.EMOJI_PICKER_BUTTON]:()=>h(yt,{}),[w.FILE_ATTACHMENT_BUTTON]:()=>h(wt,{}),[w.SEND_MESSAGE_BUTTON]:()=>h(kt,{}),[w.VOICE_MESSAGE_BUTTON]:()=>h(Pt,{})}),[]),{header:n,chatInput:r,footer:o}=s(()=>Dt(e,t),[e,t]);return{headerButtons:s(()=>n,[n]),chatInputButtons:s(()=>r,[r]),footerButtons:s(()=>o,[o])}},St=()=>{const{settings:e}=L(),{styles:t}=z(),{setSyncedMessages:n,syncedMessagesRef:r}=Ae(),{isLoadingChatHistory:o,setIsLoadingChatHistory:i,hasChatHistoryLoaded:a,setHasChatHistoryLoaded:l}=W(),{chatBodyRef:s}=q(),{dispatchRcbEvent:c}=te(),u=A(async()=>{var o,A;const a=Qe();if(!a||null!=(o=e.event)&&o.rcbLoadChatHistory&&(await c(X.LOAD_CHAT_HISTORY,{})).defaultPrevented)return;i(!0);const u=(null==(A=s.current)?void 0:A.scrollHeight)??0;((e,t,n,r,o,A,i,a,l)=>{var s;if(De=!0,null!=n)try{const s=Pe(h(Ee,{}),\"SYSTEM\"),c=o.current.slice(1);r([s,...c]);const u=n.map(n=>{if(\"object\"===n.type){const r=He(n.content,e,t);return{...n,content:r}}return n});setTimeout(()=>{var t;const n=o.current.slice(1);let A=null!=(t=e.chatHistory)&&t.autoLoad?Pe(h(m,{}),\"SYSTEM\"):Pe(h(xe,{}),\"SYSTEM\");r([...u,A,...n]),l(!0)},500),setTimeout(()=>{if(!A.current)return;const{scrollHeight:e}=A.current,t=e-i;A.current.scrollTop+=t,a(!1)},510)}catch{ke.removeItem(null==(s=e.chatHistory)?void 0:s.storageKey)}})(e,t,a,n,r,s,u,i,l)},[e,t,c,r,s,i,l]);return{isLoadingChatHistory:o,setIsLoadingChatHistory:i,hasChatHistoryLoaded:a,showChatHistory:u}},It=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{showChatHistory:A}=St(),[i,l]=a(!1),s={color:null==(e=r.general)?void 0:e.primaryColor,borderColor:null==(t=r.general)?void 0:t.primaryColor,...o.chatHistoryButtonStyle,...o.chatHistoryButtonHoveredStyle};return h(\"div\",{className:\"rcb-view-history-container\",children:h(\"div\",{onMouseEnter:()=>{l(!0)},onMouseLeave:()=>{l(!1)},style:i?s:{...o.chatHistoryButtonStyle},onMouseDown:e=>{e.preventDefault(),A()},className:\"rcb-view-history-button\",role:\"button\",tabIndex:0,children:h(\"p\",{children:null==(n=r.chatHistory)?void 0:n.viewChatHistoryButtonText})})})},Tt=()=>{var e,t,n,r;const o=ut(),{settings:a}=L(),{replaceMessages:s}=Ge(),{isBotTyping:c,isChatWindowOpen:u,setUnreadCount:d,setSyncedIsChatWindowOpen:p,setSyncedTextAreaDisabled:f,setSyncedAudioToggledOn:g,setSyncedVoiceToggledOn:m,setSyncedIsScrolling:v,syncedIsScrollingRef:b,syncedIsChatWindowOpenRef:w}=W(),{chatBodyRef:y}=q(),{viewportHeight:x,setViewportHeight:E,setViewportWidth:B,scrollToBottom:P}=ne(),{setUpNotifications:k}=qe(),{handleFirstInteraction:D}=(()=>{var e;const{settings:t}=L(),{hasInteractedPage:n,setHasInteractedPage:r,hasFlowStarted:o,setHasFlowStarted:i}=W(),a=A(()=>{var e;if(r(!0),!o&&\"ON_PAGE_INTERACT\"===(null==(e=t.general)?void 0:e.flowStartTrigger)&&i(!0),!window.SpeechSynthesisUtterance)return void console.info(\"Speech Synthesis API is not supported in this environment.\");const n=new window.SpeechSynthesisUtterance;n.text=\"\",n.onend=()=>{window.removeEventListener(\"click\",a),window.removeEventListener(\"keydown\",a),window.removeEventListener(\"touchstart\",a)},window.speechSynthesis.speak(n)},[o,null==(e=t.general)?void 0:e.flowStartTrigger]);return{hasInteractedPage:n,handleFirstInteraction:a}})(),{showChatHistory:C}=St(),S=i(0),I=i(!1);l(()=>(window.addEventListener(\"click\",D),window.addEventListener(\"keydown\",D),window.addEventListener(\"touchstart\",D),()=>{window.removeEventListener(\"click\",D),window.removeEventListener(\"keydown\",D),window.removeEventListener(\"touchstart\",D)}),[]),l(()=>{const e=y.current;if(!e)return;const t=()=>{I.current||(I.current=!0,requestAnimationFrame(()=>{var t,n;if(!e)return;const{scrollTop:r,clientHeight:o,scrollHeight:A}=e,i=r+o<A-((null==(t=a.chatWindow)?void 0:t.messagePromptOffset)??30);v(i),b.current=i,i||(r+o>=A-1&&(e.scrollTop=A-o-1),(w.current||null!=(n=a.general)&&n.embedded)&&d(0)),I.current=!1}))};return e.addEventListener(\"wheel\",t,{passive:!0}),e.addEventListener(\"touchmove\",t,{passive:!0}),()=>{e.removeEventListener(\"wheel\",t),e.removeEventListener(\"touchmove\",t)}},[]),l(()=>{var e,t,n;f(null==(e=a.chatInput)?void 0:e.disabled),p(null==(t=a.chatWindow)?void 0:t.defaultOpen),g(null==(n=a.audio)?void 0:n.defaultToggledOn),setTimeout(()=>{var e;m(null==(e=a.voice)?void 0:e.defaultToggledOn)},1)},[]),l(()=>{var e;null!=(e=a.notification)&&e.disabled||k()},[null==(e=a.notification)?void 0:e.disabled]),l(()=>{!b.current&&null!=y&&y.current&&P()},[c]),l(()=>{var e,t;if(null!=(e=a.chatHistory)&&e.disabled)ke&&ke.removeItem(Ce);else if(Le(a),Qe().length>0){const e=Pe(h(It,{}),\"SYSTEM\");s([e]),null!=(t=a.chatHistory)&&t.autoLoad&&C()}},[null==(t=a.chatHistory)?void 0:t.storageKey,null==(n=a.chatHistory)?void 0:n.maxEntries,null==(r=a.chatHistory)?void 0:r.disabled]),l(()=>{var e;o||null!=(e=a.general)&&e.embedded||!navigator.virtualKeyboard||(navigator.virtualKeyboard.overlaysContent=!0,navigator.virtualKeyboard.addEventListener(\"geometrychange\",e=>{if(!e.target)return;const{x:t,y:n,width:r,height:o}=e.target.boundingRect;0==t&&0==n&&0==r&&0==o?(setTimeout(()=>{var e;E(null==(e=window.visualViewport)?void 0:e.height)},101),setTimeout(()=>{var e,t;x!=(null==(e=window.visualViewport)?void 0:e.height)&&E(null==(t=window.visualViewport)?void 0:t.height)},1001)):setTimeout(()=>{var e;E((null==(e=window.visualViewport)?void 0:e.height)-o)},101)}))},[o]),l(()=>{var e,t,n,r;if(o)return;u&&(E(null==(e=window.visualViewport)?void 0:e.height),B(null==(t=window.visualViewport)?void 0:t.width));const A=()=>window.scrollTo({top:0,left:0,behavior:\"auto\"}),i=()=>S.current=window.scrollY,a=()=>{var e,t;E(null==(e=window.visualViewport)?void 0:e.height),B(null==(t=window.visualViewport)?void 0:t.width)},l=()=>{var e;window.removeEventListener(\"scroll\",A),window.removeEventListener(\"scroll\",i),null==(e=window.visualViewport)||e.removeEventListener(\"resize\",a)};return u?(l(),document.body.style.position=\"fixed\",window.addEventListener(\"scroll\",A),null==(n=window.visualViewport)||n.addEventListener(\"resize\",a)):(document.body.style.position=\"static\",l(),window.scrollTo({top:S.current,left:0,behavior:\"auto\"}),window.addEventListener(\"scroll\",i),null==(r=window.visualViewport)||r.removeEventListener(\"resize\",a)),l},[u,o])},Qt=\"https://cdn.jsdelivr.net/gh/react-chatbotify/community-themes/themes\",Mt=\"2592000\",Ot=\"RCB_THEME_CACHE_DATA\",Lt=async(e,t)=>{const{id:n,version:r,baseUrl:o=Qt,cacheDuration:A=Mt}=t,i=r||await(async(e,t)=>{const n=`${t}/${e}/meta.json`;try{const e=await fetch(n);return e.ok?(await e.json()).version:(console.error(`Failed to fetch meta.json from ${n}`),null)}catch(e){return console.error(`Failed to fetch meta.json from ${n}`,e),null}})(n,o);if(!i)return console.error(`Unable to find version for theme: ${n}`),{settings:{},inlineStyles:{},cssStylesText:\"\"};const a=((e,t,n)=>{const r=localStorage.getItem(`${Ot}_${e}_${t}`);if(!r)return null;try{const e=JSON.parse(r),t=(new Date).getTime(),o=Math.floor(t/1e3);return e.cacheDate+n>=o?e:null}catch(t){return console.error(`Unable to fetch cache for ${e}`,t),null}})(n,i,A);if(a){const t=Nt(e,a.cssStylesText);return{settings:a.settings,inlineStyles:a.inlineStyles,cssStylesText:t}}const l=`${o}/${n}/${i}/styles.css`,s=`${o}/${n}/${i}/settings.json`,c=`${o}/${n}/${i}/styles.json`;let u=\"\";const d=await fetch(l);d.ok?u=await d.text():console.info(`Could not fetch styles.css from ${l}`);const p=await fetch(s);let f={};p.ok?f=await p.json():console.info(`Could not fetch settings.json from ${s}`);const h=await fetch(c);let g={};h.ok?g=await h.json():console.info(`Could not fetch styles.json from ${c}`),((e,t,n,r,o)=>{const A=(new Date).getTime(),i={settings:n,inlineStyles:r,cssStylesText:o,cacheDate:Math.floor(A/1e3)};localStorage.setItem(`${Ot}_${e}_${t}`,JSON.stringify(i))})(n,i,f,g,u);return{settings:f,inlineStyles:g,cssStylesText:Nt(e,u)}},Nt=(e,t)=>t.split(new RegExp(\"(?<=})\")).map(t=>{const n=t.trim();return n.startsWith(\"@import\")||n.startsWith(\"@keyframes\")||n.startsWith(\"@media\")?n:n?`#${e} ${n}`:\"\"}).join(\"\\n\"),Ht=async(e,t,n,r)=>{var o,A;let i=zt(M),a=zt(H),l=\"\";if(null!=r)if(Array.isArray(r))for(const t of r){const n=await Lt(e,t);i=Rt(n.settings,i),a=Rt(n.inlineStyles,a),l+=n.cssStylesText}else{const t=await Lt(e,r);i=Rt(t.settings,i),a=Rt(t.inlineStyles,a),l+=t.cssStylesText}return null!=t&&(i=Rt(t,i)),null!=n&&(a=Rt(n,a)),null!=(null==(o=i.chatInput)?void 0:o.botDelay)&&(null==(A=i.chatInput)?void 0:A.botDelay)<500&&(i.chatInput.botDelay=500),{settings:i,inlineStyles:a,cssStylesText:l}},Rt=(e,t)=>{const n=[{source:e,target:t}];for(;n.length;){const e=n.pop();if(null==e)continue;const{source:t,target:r}=e;for(const e of Object.keys(t)){const o=e;if(c(t[o]))r[o]=t[o];else if(\"object\"!=typeof t[o]||null===t[o]||Array.isArray(t[o]))try{r[o]=t[o]}catch{}else(\"object\"!=typeof r[o]||null===r[o])&&(r[o]={}),n.push({source:t[o],target:r[o]})}}return t},zt=e=>{if(null===e||\"object\"!=typeof e)return e;const t=Array.isArray(e)?[]:{},n=[{source:e,target:t}],r=new WeakMap;for(r.set(e,t);n.length;){const e=n.pop();if(null==e)continue;const{source:t,target:o}=e;for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const A=t[e];if(A&&\"object\"==typeof A)if(r.has(A))o[e]=r.get(A);else{const t=Array.isArray(A)?[]:{};r.set(A,t),o[e]=t,n.push({source:A,target:t})}else o[e]=A}}return t},jt=()=>{const{settings:e,setSyncedSettings:t,syncedSettingsRef:n}=L(),r=A(n=>{!n||0===Object.keys(n).length||t(zt(Rt(n,e)))},[e]),o=A(e=>{const r=\"function\"==typeof e?e(n.current):e;t(r)},[n]);return{settings:e,replaceSettings:o,updateSettings:r}},Ft=()=>{const{styles:e,setSyncedStyles:t,syncedStylesRef:n}=z(),r=A(n=>{!n||0===Object.keys(n).length||t(zt(Rt(n,e)))},[e]),o=A(e=>{const r=\"function\"==typeof e?e(n.current):e;t(r)},[n]);return{styles:e,replaceStyles:o,updateStyles:r}},Ut=({plugins:e,slots:t})=>{var n,r;const o=ut(),{settings:A}=L(),{styles:i}=z(),{hasFlowStarted:a,setHasFlowStarted:c}=W(),{inputRef:u}=q(),{viewportHeight:d,viewportWidth:p,isChatWindowOpen:f}=ne(),{goToPath:v}=st(),{headerButtons:b,chatInputButtons:w,footerButtons:y}=Ct();Tt(),(e=>{const{updateSettings:t}=jt(),{updateStyles:n}=Ft(),r=null==e?void 0:e.map(e=>e());l(()=>{let e={},o={};null==r||r.forEach(t=>{null!=t&&t.settings&&0!==Object.keys(null==t?void 0:t.settings).length&&(e=Rt(t.settings,e)),null!=t&&t.styles&&0!==Object.keys(null==t?void 0:t.styles).length&&(o=Rt(t.styles,o))}),t(e),n(o)},[])})(e),l(()=>{var e;(a||\"ON_LOAD\"===(null==(e=A.general)?void 0:e.flowStartTrigger))&&v(\"start\")},[a,null==(n=A.general)?void 0:n.flowStartTrigger]);const x=s(()=>{var e;const t=\"rcb-chatbot-global \";return null!=(e=A.general)&&e.embedded?t+\"rcb-window-embedded\":f?t+\"rcb-window-open\":t+\"rcb-window-close\"},[A,f]);return h(m,{children:(()=>{var e,t;return o&&(null==(e=A.device)?void 0:e.desktopEnabled)||!o&&(null==(t=A.device)?void 0:t.mobileEnabled)})()&&g(\"div\",{onMouseDown:e=>{var t,n;!a&&\"ON_CHATBOT_INTERACT\"===(null==(t=A.general)?void 0:t.flowStartTrigger)&&c(!0),o?null==(n=u.current)||n.blur():null==e||e.preventDefault()},className:x,children:[h(ht,{}),h(ft,{}),f&&!o&&!(null!=(r=A.general)&&r.embedded)&&g(m,{children:[h(\"style\",{children:\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\thtml {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\toverflow: hidden !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttouch-action: none !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tscroll-behavior: auto !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\"}),h(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:\"#fff\",zIndex:9999}})]}),h(\"div\",{style:(()=>{var e,t;return o||null!=(e=A.general)&&e.embedded?null!=(t=A.general)&&t.embedded?{...i.chatWindowStyle}:{...i.chatWindowStyle,zIndex:1e4}:{...i.chatWindowStyle,borderRadius:\"0px\",left:\"0px\",right:\"auto\",top:\"0px\",bottom:\"auto\",width:`${p}px`,height:`${d}px`,zIndex:1e4}})(),className:\"rcb-chat-window\",children:(()=>{var e,n,r;const o=(null==t?void 0:t.chatBotHeader)||F,i=(null==t?void 0:t.chatBotBody)||ce,a=(null==t?void 0:t.chatBotInput)||dt,l=(null==t?void 0:t.chatBotFooter)||pt;return g(m,{children:[(null==(e=A.general)?void 0:e.showHeader)&&h(o,{buttons:b}),h(i,{}),h(mt,{}),(null==(n=A.general)?void 0:n.showInputRow)&&h(a,{buttons:w}),(null==(r=A.general)?void 0:r.showFooter)&&h(l,{buttons:y})]})})()})]})})},qt=r(void 0),_t=()=>o(qt),Yt=({children:e})=>{var t;const n=i(\"\"),r=i({}),[o,A,s]=Y({}),[c,u,d]=Y({}),[p,f]=a(!1);l(()=>{f(!0)},[]);return p?h(\"div\",{style:{fontFamily:null==(t=o.general)?void 0:t.fontFamily},children:h(qt.Provider,{value:{loadConfig:async(e,t,o,i,a,l)=>{n.current=e,r.current=t;const s=await Ht(e,o,i,a);l.current&&(l.current.textContent=s.cssStylesText),A(s.settings),u(s.inlineStyles)}},children:h(N,{settings:o,setSyncedSettings:A,syncedSettingsRef:s,children:h(j,{styles:c,setSyncedStyles:u,syncedStylesRef:d,children:h(at,{children:h(_,{botIdRef:n,flowRef:r,children:h(ee,{children:h(V,{settings:o,children:h(ie,{children:e})})})})})})})})}):null},Gt=({id:e,flow:t,settings:n,styles:r,themes:o,plugins:A,setConfigLoaded:i,styleRootRef:a})=>{const c=s(()=>e,[]),u=_t(),{flowRef:d}=q();d&&d.current!==t&&(d.current=t);return l(()=>{(async()=>{var e,l;null!=(e=n.event)&&e.rcbPreLoadChatBot&&(await J(X.PRE_LOAD_CHATBOT,{botId:c,currPath:null,prevPath:null},{flow:t,settings:n,styles:r,themes:o,plugins:A})).defaultPrevented||(null!=u&&u.loadConfig&&(await u.loadConfig(c,t,n,r,o,a),i(!0)),null!=(l=n.event)&&l.rcbPostLoadChatBot&&J(X.POST_LOAD_CHATBOT,{botId:c,currPath:null,prevPath:null},{flow:t,settings:n,styles:r,themes:o,plugins:A}))})()},[o]),null},Wt=[\"Quickstart\",\"API Docs\",\"Examples\",\"Github\",\"Discord\"],Vt={start:{message:\"Hello, I am Tan Jin 👋! Welcome to React ChatBotify, I'm excited that you are using our chatbot 😊!\",transition:{duration:1e3},chatDisabled:!0,path:\"show_options\"},show_options:{message:\"It looks like you have not set up a conversation flow yet. No worries! Here are a few helpful things you can check out to get started:\",options:Wt,path:\"process_options\"},prompt_again:{message:\"Do you need any other help?\",options:Wt,path:\"process_options\"},unknown_input:{message:\"Sorry, I do not understand your message 😢! If you require further assistance, you may click on the Github option and open an issue there or visit our discord.\",options:Wt,path:\"process_options\"},process_options:{transition:{duration:0},path:e=>{let t=\"\";switch(e.userInput){case\"Quickstart\":t=\"https://react-chatbotify.com/docs/introduction/quickstart/\";break;case\"API Docs\":t=\"https://react-chatbotify.com/docs/api/bot_options\";break;case\"Examples\":t=\"https://react-chatbotify.com/docs/examples/basic_form\";break;case\"Github\":t=\"https://github.com/react-chatbotify/react-chatbotify/\";break;case\"Discord\":t=\"https://discord.gg/6R4DK4G5Zh\";break;default:return\"unknown_input\"}return e.injectMessage(\"Sit tight! I'll send you right there!\"),setTimeout(()=>{window.open(t)},1e3),\"repeat\"}},repeat:{transition:{duration:3e3},path:\"prompt_again\"}},Xt=({id:e,flow:t,settings:n,styles:r,themes:o,plugins:A,slots:c})=>{const u=s(()=>e||\"rcb-\"+Be(),[]),d=t&&0!==Object.keys(t).length?t:Vt,p=n||{},f=r||{},v=A||[],[b,w]=a(!1),y=_t(),x=i(null),[E,B]=a(o||[]);l(()=>{o&&B(o)},[o]);const P=()=>g(m,{children:[h(Gt,{styleRootRef:x,id:u,flow:d,settings:p,styles:f,themes:E,plugins:v,setConfigLoaded:w}),b&&h(Ut,{plugins:A,slots:c})]});return g(null==y?Yt:m,{children:[h(\"style\",{ref:x}),h(\"div\",{id:u,children:P()})]})},Kt=()=>{const{getBotId:e}=(()=>{const{botIdRef:e}=q();return{getBotId:A(()=>e.current,[e])}})();return{getBotId:e}},Jt=()=>{const{hasFlowStarted:e,restartFlow:t,getFlow:n}=(()=>{const{replaceMessages:e}=Ge(),{replacePaths:t,goToPath:n}=st(),{replaceToasts:r}=lt(),{hasFlowStarted:o}=W(),{flowRef:i,timeoutIdRef:a}=q(),{settings:l}=L();return{hasFlowStarted:o,restartFlow:A(async()=>{Le(l),a.current&&clearTimeout(a.current),e([]),r([]),t([]),await n(\"start\")},[a,l,e,r,t,Le,n]),getFlow:A(()=>(null==i?void 0:i.current)??{},[i])}})();return{hasFlowStarted:e,restartFlow:t,getFlow:n}},Zt=()=>{const{endStreamMessage:e,injectMessage:t,removeMessage:n,simulateStreamMessage:r,streamMessage:o,messages:A,replaceMessages:i,getMessages:a}=Ge();return{endStreamMessage:e,injectMessage:t,removeMessage:n,simulateStreamMessage:r,streamMessage:o,messages:A,replaceMessages:i,getMessages:a}},$t=(e,t)=>{const{getBotId:n}=Kt();l(()=>{const r=e=>{e.detail.botId===n()&&t(e)};return window.addEventListener(e,r),()=>{window.removeEventListener(e,r)}},[n,e,t])},en=()=>{const{settings:e,replaceSettings:t,updateSettings:n}=jt();return{settings:e,replaceSettings:t,updateSettings:n}},tn=()=>{const{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:n,toggleTextAreaSensitiveMode:r,getTextAreaValue:o,setTextAreaValue:A,focusTextArea:i,blurTextArea:a}=ot();return{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:n,toggleTextAreaSensitiveMode:r,getTextAreaValue:o,setTextAreaValue:A,focusTextArea:i,blurTextArea:a}},nn=()=>{const{showChatHistory:e,hasChatHistoryLoaded:t}=St();return{showChatHistory:e,getHistoryMessages:Qe,setHistoryMessages:Me,hasChatHistoryLoaded:t}},rn={a:{content:9,self:!1,type:105},address:{invalid:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"address\",\"article\",\"aside\",\"section\",\"div\",\"header\",\"footer\"],self:!1},audio:{children:[\"track\",\"source\"]},br:{type:9,void:!0},body:{content:127},button:{content:8,type:105},caption:{content:1,parent:[\"table\"]},col:{parent:[\"colgroup\"],void:!0},colgroup:{children:[\"col\"],parent:[\"table\"]},details:{children:[\"summary\"],type:97},dd:{content:1,parent:[\"dl\"]},dl:{children:[\"dt\",\"dd\"],type:1},dt:{content:1,invalid:[\"footer\",\"header\"],parent:[\"dl\"]},figcaption:{content:1,parent:[\"figure\"]},footer:{invalid:[\"footer\",\"header\"]},header:{invalid:[\"footer\",\"header\"]},hr:{type:1,void:!0},img:{void:!0},li:{content:1,parent:[\"ul\",\"ol\",\"menu\"]},main:{self:!1},ol:{children:[\"li\"],type:1},picture:{children:[\"source\",\"img\"],type:25},rb:{parent:[\"ruby\",\"rtc\"]},rp:{parent:[\"ruby\",\"rtc\"]},rt:{content:8,parent:[\"ruby\",\"rtc\"]},rtc:{content:8,parent:[\"ruby\"]},ruby:{children:[\"rb\",\"rp\",\"rt\",\"rtc\"]},source:{parent:[\"audio\",\"video\",\"picture\"],void:!0},summary:{content:8,parent:[\"details\"]},table:{children:[\"caption\",\"colgroup\",\"thead\",\"tbody\",\"tfoot\",\"tr\"],type:1},tbody:{parent:[\"table\"],children:[\"tr\"]},td:{content:1,parent:[\"tr\"]},tfoot:{parent:[\"table\"],children:[\"tr\"]},th:{content:1,parent:[\"tr\"]},thead:{parent:[\"table\"],children:[\"tr\"]},tr:{parent:[\"table\",\"tbody\",\"thead\",\"tfoot\"],children:[\"th\",\"td\"]},track:{parent:[\"audio\",\"video\"],void:!0},ul:{children:[\"li\"],type:1},video:{children:[\"track\",\"source\"]},wbr:{type:9,void:!0}};function on(e){return t=>{rn[t]={...e,...rn[t]}}}[\"address\",\"main\",\"div\",\"figure\",\"p\",\"pre\"].forEach(on({content:1,type:65})),[\"abbr\",\"b\",\"bdi\",\"bdo\",\"cite\",\"code\",\"data\",\"dfn\",\"em\",\"i\",\"kbd\",\"mark\",\"q\",\"ruby\",\"samp\",\"strong\",\"sub\",\"sup\",\"time\",\"u\",\"var\"].forEach(on({content:8,type:73})),[\"p\",\"pre\"].forEach(on({content:8,type:65})),[\"s\",\"small\",\"span\",\"del\",\"ins\"].forEach(on({content:8,type:9})),[\"article\",\"aside\",\"footer\",\"header\",\"nav\",\"section\",\"blockquote\"].forEach(on({content:1,type:67})),[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].forEach(on({content:8,type:69})),[\"audio\",\"canvas\",\"iframe\",\"img\",\"video\"].forEach(on({type:89}));const An=Object.freeze(rn),an=[\"applet\",\"base\",\"body\",\"command\",\"embed\",\"frame\",\"frameset\",\"head\",\"html\",\"link\",\"meta\",\"noscript\",\"object\",\"script\",\"style\",\"title\"],ln=Object.keys(An).filter(e=>\"canvas\"!==e&&\"iframe\"!==e),sn=Object.freeze({alt:1,cite:1,class:1,colspan:3,controls:4,datetime:1,default:4,disabled:4,dir:1,height:1,href:1,id:1,kind:1,label:1,lang:1,loading:1,loop:4,media:1,muted:4,poster:1,rel:1,role:1,rowspan:3,scope:1,sizes:1,span:3,start:3,style:5,src:1,srclang:1,srcset:1,tabindex:1,target:1,title:1,type:1,width:1}),cn=Object.freeze({class:\"className\",colspan:\"colSpan\",datetime:\"dateTime\",rowspan:\"rowSpan\",srclang:\"srcLang\",srcset:\"srcSet\",tabindex:\"tabIndex\"});function un(){return un=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},un.apply(this,arguments)}function dn({attributes:e={},className:n,children:r=null,selfClose:o=!1,tagName:A}){const i=A;return o?t.createElement(i,un({className:n},e)):t.createElement(i,un({className:n},e),r)}class pn{attribute(e,t){return t}node(e,t){return t}}function fn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}\n/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */var hn,gn;const mn=fn(function(){if(gn)return hn;gn=1;var e=/[\"'&<>]/;return hn=function(t){var n=\"\"+t,r=e.exec(n);if(!r)return n;var o,A=\"\",i=0,a=0;for(i=r.index;i<n.length;i++){switch(n.charCodeAt(i)){case 34:o=\""\";break;case 38:o=\"&\";break;case 39:o=\"'\";break;case 60:o=\"<\";break;case 62:o=\">\";break;default:continue}a!==i&&(A+=n.substring(a,i)),a=i+1,A+=o}return a!==i?A+n.substring(a,i):A}}());function vn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const bn=/(url|image|image-set)\\(/i;class wn extends pn{attribute(e,t){return\"style\"===e&&Object.keys(t).forEach(e=>{String(t[e]).match(bn)&&delete t[e]}),t}}const yn=/^<(!doctype|(html|head|body)(\\s|>))/i,xn=/^(aria-|data-|\\w+:)/iu,En=/{{{(\\w+)\\/?}}}/;function Bn(){if(!(typeof window>\"u\"||typeof document>\"u\"))return document.implementation.createHTMLDocument(\"Interweave\")}let Pn=class{constructor(e,t={},n=[],r=[]){var o;if(vn(this,\"allowed\",void 0),vn(this,\"banned\",void 0),vn(this,\"blocked\",void 0),vn(this,\"container\",void 0),vn(this,\"content\",[]),vn(this,\"props\",void 0),vn(this,\"matchers\",void 0),vn(this,\"filters\",void 0),vn(this,\"keyIndex\",void 0),\"production\"!==process.env.NODE_ENV&&e&&\"string\"!=typeof e)throw new TypeError(\"Interweave parser requires a valid string.\");this.props=t,this.matchers=n,this.filters=[...r,new wn],this.keyIndex=-1,this.container=this.createContainer(e||\"\"),this.allowed=new Set(null!==(o=t.allowList)&&void 0!==o?o:ln),this.banned=new Set(an),this.blocked=new Set(t.blockList)}applyAttributeFilters(e,t){return this.filters.reduce((t,n)=>null!==t&&\"function\"==typeof n.attribute?n.attribute(e,t):t,t)}applyNodeFilters(e,t){return this.filters.reduce((t,n)=>null!==t&&\"function\"==typeof n.node?n.node(e,t):t,t)}applyMatchers(e,t){const n={},{props:r}=this;let o=e,A=0,i=null;return this.matchers.forEach(e=>{const a=e.asTag().toLowerCase(),l=this.getTagConfig(a);if(r[e.inverseName]||!this.isTagAllowed(a)||!this.canRenderChild(t,l))return;let s=\"\";for(;o&&(i=e.match(o));){const{index:t,length:a,match:l,valid:c,void:u,...d}=i,p=e.propName+String(A);t>0&&(s+=o.slice(0,t)),c?(s+=u?`{{{${p}/}}}`:`{{{${p}}}}${l}{{{/${p}}}}`,this.keyIndex+=1,A+=1,n[p]={children:l,matcher:e,props:{...r,...d,key:this.keyIndex}}):s+=l,e.greedy?(o=s+o.slice(t+a),s=\"\"):o=o.slice(t+(a||l.length))}e.greedy||(o=s+o)}),0===A?e:this.replaceTokens(o,n)}canRenderChild(e,t){return!(!e.tagName||!t.tagName||e.void)&&(e.children.length>0?e.children.includes(t.tagName):!(e.invalid.length>0&&e.invalid.includes(t.tagName))&&(t.parent.length>0?t.parent.includes(e.tagName):!(!e.self&&e.tagName===t.tagName)&&!!(e&&e.content&t.type)))}convertLineBreaks(e){const{noHtml:t,disableLineBreaks:n}=this.props;if(t||n||e.match(/<((?:\\/[ a-z]+)|(?:[ a-z]+\\/))>/gi))return e;let r=e.replace(/\\r\\n/g,\"\\n\");return r=r.replace(/\\n{3,}/g,\"\\n\\n\\n\"),r=r.replace(/\\n/g,\"<br/>\"),r}createContainer(e){var t;const n=(typeof global<\"u\"&&global.INTERWEAVE_SSR_POLYFILL||Bn)();if(!n)return;const r=null!==(t=this.props.containerTagName)&&void 0!==t?t:\"body\",o=\"body\"===r||\"fragment\"===r?n.body:n.createElement(r);if(e.match(yn)){if(\"production\"!==process.env.NODE_ENV)throw new Error(\"HTML documents as Interweave content are not supported.\")}else o.innerHTML=this.convertLineBreaks(this.props.escapeHtml?mn(e):e);return o}extractAttributes(e){const{allowAttributes:t}=this.props,n={};let r=0;return 1===e.nodeType&&e.attributes&&([...e.attributes].forEach(o=>{const{name:A,value:i}=o,a=A.toLowerCase(),l=sn[a]||sn[A];if(!this.isSafe(e)||!a.match(xn)&&(!t&&(!l||2===l)||a.startsWith(\"on\")||i.replace(/(\\s|\\0|�([9AD]);)/,\"\").match(/(javascript|vbscript|livescript|xss):/i)))return;let s=\"style\"===a?this.extractStyleAttribute(e):i;4===l?s=!0:3===l?s=Number.parseFloat(String(s)):5!==l&&(s=String(s)),n[cn[a]||a]=this.applyAttributeFilters(a,s),r+=1}),0!==r)?n:null}extractStyleAttribute(e){const t={};return Array.from(e.style).forEach(n=>{const r=e.style[n];(\"string\"==typeof r||\"number\"==typeof r)&&(t[n.replace(/-([a-z])/g,(e,t)=>String(t).toUpperCase())]=r)}),t}getTagConfig(e){const t={children:[],content:0,invalid:[],parent:[],self:!0,tagName:\"\",type:0,void:!1};return An[e]?{...t,...An[e],tagName:e}:t}isSafe(e){if(typeof HTMLAnchorElement<\"u\"&&e instanceof HTMLAnchorElement){const t=e.getAttribute(\"href\");if(null!=t&&t.startsWith(\"#\"))return!0;const n=e.protocol.toLowerCase();return\":\"===n||\"http:\"===n||\"https:\"===n||\"mailto:\"===n||\"tel:\"===n}return!0}isTagAllowed(e){return!this.banned.has(e)&&!this.blocked.has(e)&&(this.props.allowElements||this.allowed.has(e))}parse(){return this.container?this.parseNode(this.container,this.getTagConfig(this.container.nodeName.toLowerCase())):[]}parseNode(e,n){const{noHtml:r,noHtmlExceptMatchers:o,allowElements:A,transform:i,transformOnlyAllowList:a}=this.props;let l=[],s=\"\";return[...e.childNodes].forEach(e=>{if(1===e.nodeType){const u=e.nodeName.toLowerCase(),d=this.getTagConfig(u);s&&(l.push(s),s=\"\");const p=this.applyNodeFilters(u,e);if(!p)return;let f;if(i&&(!a||this.isTagAllowed(u))){this.keyIndex+=1;const e=this.keyIndex;f=this.parseNode(p,d);const n=i(p,f,d);if(null===n)return;if(typeof n<\"u\")return void l.push(t.cloneElement(n,{key:e}));this.keyIndex=e-1}if(this.banned.has(u))return;if(r||o&&\"br\"!==u||!this.isTagAllowed(u)||!A&&!this.canRenderChild(n,d))l=[...l,...this.parseNode(p,d.tagName?d:n)];else{var c;this.keyIndex+=1;const e=this.extractAttributes(p),n={tagName:u};e&&(n.attributes=e),d.void&&(n.selfClose=d.void),l.push(t.createElement(dn,{...n,key:this.keyIndex},null!==(c=f)&&void 0!==c?c:this.parseNode(p,d)))}}else if(3===e.nodeType){const t=r&&!o?e.textContent:this.applyMatchers(e.textContent||\"\",n);Array.isArray(t)?l=[...l,...t]:s+=t}}),s&&l.push(s),l}replaceTokens(e,t){if(!e.includes(\"{{{\"))return e;const n=[];let r=e,o=null;for(;o=r.match(En);){const[e,A]=o,i=o.index,a=e.includes(\"/\");if(\"production\"!==process.env.NODE_ENV&&!t[A])throw new Error(`Token \"${A}\" found but no matching element to replace with.`);i>0&&(n.push(r.slice(0,i)),r=r.slice(i));const{children:l,matcher:s,props:c}=t[A];let u;if(a)u=e.length,n.push(s.createElement(l,c));else{const o=r.match(new RegExp(`{{{/${A}}}}`));if(\"production\"!==process.env.NODE_ENV&&!o)throw new Error(`Closing token missing for interpolated element \"${A}\".`);u=o.index+o[0].length,n.push(s.createElement(this.replaceTokens(r.slice(e.length,o.index),t),c))}r=r.slice(u)}return r.length>0&&n.push(r),0===n.length?\"\":1===n.length&&\"string\"==typeof n[0]?n[0]:n}};function kn(e){var n;const{attributes:r,className:o,containerTagName:A,content:i,emptyContent:a,parsedContent:l,tagName:s,noWrap:c}=e,u=null!==(n=A??s)&&void 0!==n?n:\"span\",d=\"fragment\"===u||c;let p;if(l)p=l;else{const t=new Pn(i??\"\",e).parse();t.length>0&&(p=t)}return p||(p=a),d?t.createElement(t.Fragment,null,p):t.createElement(dn,{attributes:r,className:o,tagName:u},p)}function Dn(e){const{attributes:n,className:r,content:o=\"\",disableFilters:A=!1,disableMatchers:i=!1,emptyContent:a=null,filters:l=[],matchers:s=[],onAfterParse:c=null,onBeforeParse:u=null,tagName:d=\"span\",noWrap:p=!1,...f}=e,h=i?[]:s,g=A?[]:l,m=u?[u]:[],v=c?[c]:[];h.forEach(e=>{e.onBeforeParse&&m.push(e.onBeforeParse.bind(e)),e.onAfterParse&&v.push(e.onAfterParse.bind(e))});const b=m.reduce((t,n)=>{const r=n(t,e);if(\"production\"!==process.env.NODE_ENV&&\"string\"!=typeof r)throw new TypeError(\"Interweave `onBeforeParse` must return a valid HTML string.\");return r},o??\"\"),w=new Pn(b,f,h,g),y=v.reduce((t,n)=>{const r=n(t,e);if(\"production\"!==process.env.NODE_ENV&&!Array.isArray(r))throw new TypeError(\"Interweave `onAfterParse` must return an array of strings and React elements.\");return r},w.parse());return t.createElement(kn,{attributes:n,className:r,containerTagName:e.containerTagName,emptyContent:a,noWrap:p,parsedContent:0===y.length?void 0:y,tagName:d})}const Cn=({children:e})=>h(\"div\",{style:{whiteSpace:\"normal\"},children:h(Dn,{content:\"string\"==typeof e?e:\"\"})}),Sn={autoConfig:!0},In=(e,t,n)=>{var r;if(!e.detail.currPath)return!1;const o=t[e.detail.currPath];return!!o&&((null==(r=o.renderHtml)?void 0:r.map(e=>e.toUpperCase()).includes(n))??!1)},Tn=e=>{const t=[];let n=\"\",r=!1;for(let o=0;o<e.length;o++){const A=e[o];\"<\"===A?r?(t.push(n),n=A):(r=!0,n=A):\">\"===A?(n+=A,t.push(n),n=\"\",r=!1):r?n+=A:t.push(A)}return\"\"!==n&&t.push(n),t},Qn=e=>{const{getFlow:t}=Jt(),{messages:n,replaceMessages:r}=Zt(),{settings:o}=en(),{hasChatHistoryLoaded:A}=nn(),i={...e,...Sn},a=i.htmlComponent?i.htmlComponent:Cn;l(()=>{var e,t;if(A){const A=[...n];for(let n=0;n<A.length&&n<((null==(e=o.chatHistory)?void 0:e.maxEntries)??30);n++){const e=A[n];null!=(t=e.tags)&&t.includes(\"rcb-html-renderer-plugin:parsed\")&&(e.contentWrapper=a)}r(A)}},[A]);const s=async e=>{var n;const r=null==(n=e.data.message)?void 0:n.sender.toUpperCase();\"string\"==typeof e.data.message.content&&In(e,t(),r)&&(\"rcb-start-simulate-stream-message\"===e.type&&(e.data.simulateStreamChunker=Tn),e.data.message.contentWrapper=a,e.data.message.tags||(e.data.message.tags=[]),e.data.message.tags.push(\"rcb-html-renderer-plugin:parsed\"))};$t(X.PRE_INJECT_MESSAGE,s),$t(X.CHUNK_STREAM_MESSAGE,s),$t(X.START_STREAM_MESSAGE,s),$t(X.START_SIMULATE_STREAM_MESSAGE,s),$t(X.START_SPEAK_AUDIO,async e=>{In(e,t(),\"BOT\")&&(e.data.textToRead=(e=>typeof window.DOMParser<\"u\"?(new DOMParser).parseFromString(e,\"text/html\").body.textContent||\"\":e.replace(/<\\/?[^>]+(>|$)/g,\"\"))(e.data.textToRead))});const c={name:\"@rcb-plugins/html-renderer\"};return null!=i&&i.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0,rcbStartSpeakAudio:!0}}),c};const Mn=/^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,On=/^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,Ln={};function Nn(e,t){return(Ln.jsx?On:Mn).test(e)}const Hn=/[ \\t\\n\\f\\r]/g;function Rn(e){return\"\"===e.replace(Hn,\"\")}class zn{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function jn(e,t){const n={},r={};let o=-1;for(;++o<e.length;)Object.assign(n,e[o].property),Object.assign(r,e[o].normal);return new zn(n,r,t)}function Fn(e){return e.toLowerCase()}zn.prototype.property={},zn.prototype.normal={},zn.prototype.space=null;class Un{constructor(e,t){this.property=e,this.attribute=t}}Un.prototype.space=null,Un.prototype.boolean=!1,Un.prototype.booleanish=!1,Un.prototype.overloadedBoolean=!1,Un.prototype.number=!1,Un.prototype.commaSeparated=!1,Un.prototype.spaceSeparated=!1,Un.prototype.commaOrSpaceSeparated=!1,Un.prototype.mustUseProperty=!1,Un.prototype.defined=!1;let qn=0;const _n=Jn(),Yn=Jn(),Gn=Jn(),Wn=Jn(),Vn=Jn(),Xn=Jn(),Kn=Jn();function Jn(){return 2**++qn}const Zn=Object.freeze(Object.defineProperty({__proto__:null,boolean:_n,booleanish:Yn,commaOrSpaceSeparated:Kn,commaSeparated:Xn,number:Wn,overloadedBoolean:Gn,spaceSeparated:Vn},Symbol.toStringTag,{value:\"Module\"})),$n=Object.keys(Zn);class er extends Un{constructor(e,t,n,r){let o=-1;if(super(e,t),tr(this,\"space\",r),\"number\"==typeof n)for(;++o<$n.length;){const e=$n[o];tr(this,$n[o],(n&Zn[e])===Zn[e])}}}function tr(e,t,n){n&&(e[t]=n)}er.prototype.defined=!0;const nr={}.hasOwnProperty;function rr(e){const t={},n={};let r;for(r in e.properties)if(nr.call(e.properties,r)){const o=e.properties[r],A=new er(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(A.mustUseProperty=!0),t[r]=A,n[Fn(r)]=r,n[Fn(A.attribute)]=r}return new zn(t,n,e.space)}const or=rr({space:\"xlink\",transform:(e,t)=>\"xlink:\"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),Ar=rr({space:\"xml\",transform:(e,t)=>\"xml:\"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function ir(e,t){return t in e?e[t]:t}function ar(e,t){return ir(e,t.toLowerCase())}const lr=rr({space:\"xmlns\",attributes:{xmlnsxlink:\"xmlns:xlink\"},transform:ar,properties:{xmlns:null,xmlnsXLink:null}}),sr=rr({transform:(e,t)=>\"role\"===t?t:\"aria-\"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:Yn,ariaAutoComplete:null,ariaBusy:Yn,ariaChecked:Yn,ariaColCount:Wn,ariaColIndex:Wn,ariaColSpan:Wn,ariaControls:Vn,ariaCurrent:null,ariaDescribedBy:Vn,ariaDetails:null,ariaDisabled:Yn,ariaDropEffect:Vn,ariaErrorMessage:null,ariaExpanded:Yn,ariaFlowTo:Vn,ariaGrabbed:Yn,ariaHasPopup:null,ariaHidden:Yn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Vn,ariaLevel:Wn,ariaLive:null,ariaModal:Yn,ariaMultiLine:Yn,ariaMultiSelectable:Yn,ariaOrientation:null,ariaOwns:Vn,ariaPlaceholder:null,ariaPosInSet:Wn,ariaPressed:Yn,ariaReadOnly:Yn,ariaRelevant:null,ariaRequired:Yn,ariaRoleDescription:Vn,ariaRowCount:Wn,ariaRowIndex:Wn,ariaRowSpan:Wn,ariaSelected:Yn,ariaSetSize:Wn,ariaSort:null,ariaValueMax:Wn,ariaValueMin:Wn,ariaValueNow:Wn,ariaValueText:null,role:null}}),cr=rr({space:\"html\",attributes:{acceptcharset:\"accept-charset\",classname:\"class\",htmlfor:\"for\",httpequiv:\"http-equiv\"},transform:ar,mustUseProperty:[\"checked\",\"multiple\",\"muted\",\"selected\"],properties:{abbr:null,accept:Xn,acceptCharset:Vn,accessKey:Vn,action:null,allow:null,allowFullScreen:_n,allowPaymentRequest:_n,allowUserMedia:_n,alt:null,as:null,async:_n,autoCapitalize:null,autoComplete:Vn,autoFocus:_n,autoPlay:_n,blocking:Vn,capture:null,charSet:null,checked:_n,cite:null,className:Vn,cols:Wn,colSpan:null,content:null,contentEditable:Yn,controls:_n,controlsList:Vn,coords:Wn|Xn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:_n,defer:_n,dir:null,dirName:null,disabled:_n,download:Gn,draggable:Yn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:_n,formTarget:null,headers:Vn,height:Wn,hidden:_n,high:Wn,href:null,hrefLang:null,htmlFor:Vn,httpEquiv:Vn,id:null,imageSizes:null,imageSrcSet:null,inert:_n,inputMode:null,integrity:null,is:null,isMap:_n,itemId:null,itemProp:Vn,itemRef:Vn,itemScope:_n,itemType:Vn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:_n,low:Wn,manifest:null,max:null,maxLength:Wn,media:null,method:null,min:null,minLength:Wn,multiple:_n,muted:_n,name:null,nonce:null,noModule:_n,noValidate:_n,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:_n,optimum:Wn,pattern:null,ping:Vn,placeholder:null,playsInline:_n,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:_n,referrerPolicy:null,rel:Vn,required:_n,reversed:_n,rows:Wn,rowSpan:Wn,sandbox:Vn,scope:null,scoped:_n,seamless:_n,selected:_n,shadowRootClonable:_n,shadowRootDelegatesFocus:_n,shadowRootMode:null,shape:null,size:Wn,sizes:null,slot:null,span:Wn,spellCheck:Yn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Wn,step:null,style:null,tabIndex:Wn,target:null,title:null,translate:null,type:null,typeMustMatch:_n,useMap:null,value:Yn,width:Wn,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Vn,axis:null,background:null,bgColor:null,border:Wn,borderColor:null,bottomMargin:Wn,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:_n,declare:_n,event:null,face:null,frame:null,frameBorder:null,hSpace:Wn,leftMargin:Wn,link:null,longDesc:null,lowSrc:null,marginHeight:Wn,marginWidth:Wn,noResize:_n,noHref:_n,noShade:_n,noWrap:_n,object:null,profile:null,prompt:null,rev:null,rightMargin:Wn,rules:null,scheme:null,scrolling:Yn,standby:null,summary:null,text:null,topMargin:Wn,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Wn,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:_n,disableRemotePlayback:_n,prefix:null,property:null,results:Wn,security:null,unselectable:null}}),ur=rr({space:\"svg\",attributes:{accentHeight:\"accent-height\",alignmentBaseline:\"alignment-baseline\",arabicForm:\"arabic-form\",baselineShift:\"baseline-shift\",capHeight:\"cap-height\",className:\"class\",clipPath:\"clip-path\",clipRule:\"clip-rule\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",crossOrigin:\"crossorigin\",dataType:\"datatype\",dominantBaseline:\"dominant-baseline\",enableBackground:\"enable-background\",fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",hrefLang:\"hreflang\",horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",horizOriginY:\"horiz-origin-y\",imageRendering:\"image-rendering\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",navDown:\"nav-down\",navDownLeft:\"nav-down-left\",navDownRight:\"nav-down-right\",navLeft:\"nav-left\",navNext:\"nav-next\",navPrev:\"nav-prev\",navRight:\"nav-right\",navUp:\"nav-up\",navUpLeft:\"nav-up-left\",navUpRight:\"nav-up-right\",onAbort:\"onabort\",onActivate:\"onactivate\",onAfterPrint:\"onafterprint\",onBeforePrint:\"onbeforeprint\",onBegin:\"onbegin\",onCancel:\"oncancel\",onCanPlay:\"oncanplay\",onCanPlayThrough:\"oncanplaythrough\",onChange:\"onchange\",onClick:\"onclick\",onClose:\"onclose\",onCopy:\"oncopy\",onCueChange:\"oncuechange\",onCut:\"oncut\",onDblClick:\"ondblclick\",onDrag:\"ondrag\",onDragEnd:\"ondragend\",onDragEnter:\"ondragenter\",onDragExit:\"ondragexit\",onDragLeave:\"ondragleave\",onDragOver:\"ondragover\",onDragStart:\"ondragstart\",onDrop:\"ondrop\",onDurationChange:\"ondurationchange\",onEmptied:\"onemptied\",onEnd:\"onend\",onEnded:\"onended\",onError:\"onerror\",onFocus:\"onfocus\",onFocusIn:\"onfocusin\",onFocusOut:\"onfocusout\",onHashChange:\"onhashchange\",onInput:\"oninput\",onInvalid:\"oninvalid\",onKeyDown:\"onkeydown\",onKeyPress:\"onkeypress\",onKeyUp:\"onkeyup\",onLoad:\"onload\",onLoadedData:\"onloadeddata\",onLoadedMetadata:\"onloadedmetadata\",onLoadStart:\"onloadstart\",onMessage:\"onmessage\",onMouseDown:\"onmousedown\",onMouseEnter:\"onmouseenter\",onMouseLeave:\"onmouseleave\",onMouseMove:\"onmousemove\",onMouseOut:\"onmouseout\",onMouseOver:\"onmouseover\",onMouseUp:\"onmouseup\",onMouseWheel:\"onmousewheel\",onOffline:\"onoffline\",onOnline:\"ononline\",onPageHide:\"onpagehide\",onPageShow:\"onpageshow\",onPaste:\"onpaste\",onPause:\"onpause\",onPlay:\"onplay\",onPlaying:\"onplaying\",onPopState:\"onpopstate\",onProgress:\"onprogress\",onRateChange:\"onratechange\",onRepeat:\"onrepeat\",onReset:\"onreset\",onResize:\"onresize\",onScroll:\"onscroll\",onSeeked:\"onseeked\",onSeeking:\"onseeking\",onSelect:\"onselect\",onShow:\"onshow\",onStalled:\"onstalled\",onStorage:\"onstorage\",onSubmit:\"onsubmit\",onSuspend:\"onsuspend\",onTimeUpdate:\"ontimeupdate\",onToggle:\"ontoggle\",onUnload:\"onunload\",onVolumeChange:\"onvolumechange\",onWaiting:\"onwaiting\",onZoom:\"onzoom\",overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pointerEvents:\"pointer-events\",referrerPolicy:\"referrerpolicy\",renderingIntent:\"rendering-intent\",shapeRendering:\"shape-rendering\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",strokeDashArray:\"stroke-dasharray\",strokeDashOffset:\"stroke-dashoffset\",strokeLineCap:\"stroke-linecap\",strokeLineJoin:\"stroke-linejoin\",strokeMiterLimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",tabIndex:\"tabindex\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",transformOrigin:\"transform-origin\",typeOf:\"typeof\",underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",vectorEffect:\"vector-effect\",vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",xHeight:\"x-height\",playbackOrder:\"playbackorder\",timelineBegin:\"timelinebegin\"},transform:ir,properties:{about:Kn,accentHeight:Wn,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Wn,amplitude:Wn,arabicForm:null,ascent:Wn,attributeName:null,attributeType:null,azimuth:Wn,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Wn,by:null,calcMode:null,capHeight:Wn,className:Vn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Wn,diffuseConstant:Wn,direction:null,display:null,dur:null,divisor:Wn,dominantBaseline:null,download:_n,dx:null,dy:null,edgeMode:null,editable:null,elevation:Wn,enableBackground:null,end:null,event:null,exponent:Wn,externalResourcesRequired:null,fill:null,fillOpacity:Wn,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Xn,g2:Xn,glyphName:Xn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Wn,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Wn,horizOriginX:Wn,horizOriginY:Wn,id:null,ideographic:Wn,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Wn,k:Wn,k1:Wn,k2:Wn,k3:Wn,k4:Wn,kernelMatrix:Kn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Wn,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Wn,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Wn,overlineThickness:Wn,paintOrder:null,panose1:null,path:null,pathLength:Wn,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Vn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Wn,pointsAtY:Wn,pointsAtZ:Wn,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Kn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Kn,rev:Kn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Kn,requiredFeatures:Kn,requiredFonts:Kn,requiredFormats:Kn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Wn,specularExponent:Wn,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Wn,strikethroughThickness:Wn,string:null,stroke:null,strokeDashArray:Kn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Wn,strokeOpacity:Wn,strokeWidth:null,style:null,surfaceScale:Wn,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Kn,tabIndex:Wn,tableValues:null,target:null,targetX:Wn,targetY:Wn,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Kn,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Wn,underlineThickness:Wn,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Wn,values:null,vAlphabetic:Wn,vMathematical:Wn,vectorEffect:null,vHanging:Wn,vIdeographic:Wn,version:null,vertAdvY:Wn,vertOriginX:Wn,vertOriginY:Wn,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Wn,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),dr=/^data[-\\w.:]+$/i,pr=/-[a-z]/g,fr=/[A-Z]/g;function hr(e){return\"-\"+e.toLowerCase()}function gr(e){return e.charAt(1).toUpperCase()}const mr={classId:\"classID\",dataType:\"datatype\",itemId:\"itemID\",strokeDashArray:\"strokeDasharray\",strokeDashOffset:\"strokeDashoffset\",strokeLineCap:\"strokeLinecap\",strokeLineJoin:\"strokeLinejoin\",strokeMiterLimit:\"strokeMiterlimit\",typeOf:\"typeof\",xLinkActuate:\"xlinkActuate\",xLinkArcRole:\"xlinkArcrole\",xLinkHref:\"xlinkHref\",xLinkRole:\"xlinkRole\",xLinkShow:\"xlinkShow\",xLinkTitle:\"xlinkTitle\",xLinkType:\"xlinkType\",xmlnsXLink:\"xmlnsXlink\"},vr=jn([Ar,or,lr,sr,cr],\"html\"),br=jn([Ar,or,lr,sr,ur],\"svg\");function wr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var yr,xr,Er,Br={};var Pr=function(){if(Er)return Br;Er=1;var e=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,\"__esModule\",{value:!0}),Br.default=function(e,n){var r=null;if(!e||\"string\"!=typeof e)return r;var o=(0,t.default)(e),A=\"function\"==typeof n;return o.forEach(function(e){if(\"declaration\"===e.type){var t=e.property,o=e.value;A?n(t,o,e):o&&((r=r||{})[t]=o)}}),r};var t=e(function(){if(xr)return yr;xr=1;var e=/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g,t=/\\n/g,n=/^\\s*/,r=/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/,o=/^:\\s*/,A=/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/,i=/^[;\\s]*/,a=/^\\s+|\\s+$/g,l=\"\";function s(e){return e?e.replace(a,l):l}return yr=function(a,c){if(\"string\"!=typeof a)throw new TypeError(\"First argument must be a string\");if(!a)return[];c=c||{};var u=1,d=1;function p(e){var n=e.match(t);n&&(u+=n.length);var r=e.lastIndexOf(\"\\n\");d=~r?e.length-r:d+e.length}function f(){var e={line:u,column:d};return function(t){return t.position=new h(e),v(),t}}function h(e){this.start=e,this.end={line:u,column:d},this.source=c.source}function g(e){var t=new Error(c.source+\":\"+u+\":\"+d+\": \"+e);if(t.reason=e,t.filename=c.source,t.line=u,t.column=d,t.source=a,!c.silent)throw t}function m(e){var t=e.exec(a);if(t){var n=t[0];return p(n),a=a.slice(n.length),t}}function v(){m(n)}function b(e){var t;for(e=e||[];t=w();)!1!==t&&e.push(t);return e}function w(){var e=f();if(\"/\"==a.charAt(0)&&\"*\"==a.charAt(1)){for(var t=2;l!=a.charAt(t)&&(\"*\"!=a.charAt(t)||\"/\"!=a.charAt(t+1));)++t;if(t+=2,l===a.charAt(t-1))return g(\"End of comment missing\");var n=a.slice(2,t-2);return d+=2,p(n),a=a.slice(t),d+=2,e({type:\"comment\",comment:n})}}function y(){var t=f(),n=m(r);if(n){if(w(),!m(o))return g(\"property missing ':'\");var a=m(A),c=t({type:\"declaration\",property:s(n[0].replace(e,l)),value:a?s(a[0].replace(e,l)):l});return m(i),c}}return h.prototype.content=a,v(),function(){var e,t=[];for(b(t);e=y();)!1!==e&&(t.push(e),b(t));return t}()},yr}());return Br}();const kr=wr(Pr),Dr=kr.default||kr,Cr=Ir(\"end\"),Sr=Ir(\"start\");function Ir(e){return function(t){const n=t&&t.position&&t.position[e]||{};if(\"number\"==typeof n.line&&n.line>0&&\"number\"==typeof n.column&&n.column>0)return{line:n.line,column:n.column,offset:\"number\"==typeof n.offset&&n.offset>-1?n.offset:void 0}}}function Tr(e){return e&&\"object\"==typeof e?\"position\"in e||\"type\"in e?Mr(e.position):\"start\"in e||\"end\"in e?Mr(e):\"line\"in e||\"column\"in e?Qr(e):\"\":\"\"}function Qr(e){return Or(e&&e.line)+\":\"+Or(e&&e.column)}function Mr(e){return Qr(e&&e.start)+\"-\"+Qr(e&&e.end)}function Or(e){return e&&\"number\"==typeof e?e:1}class Lr extends Error{constructor(e,t,n){super(),\"string\"==typeof t&&(n=t,t=void 0);let r=\"\",o={},A=!1;if(t&&(o=\"line\"in t&&\"column\"in t||\"start\"in t&&\"end\"in t?{place:t}:\"type\"in t?{ancestors:[t],place:t.position}:{...t}),\"string\"==typeof e?r=e:!o.cause&&e&&(A=!0,r=e.message,o.cause=e),!o.ruleId&&!o.source&&\"string\"==typeof n){const e=n.indexOf(\":\");-1===e?o.ruleId=n:(o.source=n.slice(0,e),o.ruleId=n.slice(e+1))}if(!o.place&&o.ancestors&&o.ancestors){const e=o.ancestors[o.ancestors.length-1];e&&(o.place=e.position)}const i=o.place&&\"start\"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=i?i.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=i?i.line:void 0,this.name=Tr(o.place)||\"1:1\",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=A&&o.cause&&\"string\"==typeof o.cause.stack?o.cause.stack:\"\",this.actual,this.expected,this.note,this.url}}Lr.prototype.file=\"\",Lr.prototype.name=\"\",Lr.prototype.reason=\"\",Lr.prototype.message=\"\",Lr.prototype.stack=\"\",Lr.prototype.column=void 0,Lr.prototype.line=void 0,Lr.prototype.ancestors=void 0,Lr.prototype.cause=void 0,Lr.prototype.fatal=void 0,Lr.prototype.place=void 0,Lr.prototype.ruleId=void 0,Lr.prototype.source=void 0;const Nr={}.hasOwnProperty,Hr=new Map,Rr=/[A-Z]/g,zr=/-([a-z])/g,jr=new Set([\"table\",\"tbody\",\"thead\",\"tfoot\",\"tr\"]),Fr=new Set([\"td\",\"th\"]),Ur=\"https://github.com/syntax-tree/hast-util-to-jsx-runtime\";function qr(e,t){if(!t||void 0===t.Fragment)throw new TypeError(\"Expected `Fragment` in options\");const n=t.filePath||void 0;let r;if(t.development){if(\"function\"!=typeof t.jsxDEV)throw new TypeError(\"Expected `jsxDEV` in options when `development: true`\");r=function(e,t){return n;function n(n,r,o,A){const i=Array.isArray(o.children),a=Sr(n);return t(r,o,A,i,{columnNumber:a?a.column-1:void 0,fileName:e,lineNumber:a?a.line:void 0},void 0)}}(n,t.jsxDEV)}else{if(\"function\"!=typeof t.jsx)throw new TypeError(\"Expected `jsx` in production options\");if(\"function\"!=typeof t.jsxs)throw new TypeError(\"Expected `jsxs` in production options\");r=function(e,t,n){return r;function r(e,r,o,A){const i=Array.isArray(o.children)?n:t;return A?i(r,o,A):i(r,o)}}(0,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||\"react\",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:\"svg\"===t.space?br:vr,stylePropertyNameCase:t.stylePropertyNameCase||\"dom\",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},A=_r(o,e,void 0);return A&&\"string\"!=typeof A?A:o.create(e,o.Fragment,{children:A||void 0},void 0)}function _r(e,t,n){return\"element\"===t.type?function(e,t,n){const r=e.schema;let o=r;\"svg\"===t.tagName.toLowerCase()&&\"html\"===r.space&&(o=br,e.schema=o),e.ancestors.push(t);const A=Xr(e,t.tagName,!1),i=function(e,t){const n={};let r,o;for(o in t.properties)if(\"children\"!==o&&Nr.call(t.properties,o)){const A=Vr(e,o,t.properties[o]);if(A){const[o,i]=A;e.tableCellAlignToStyle&&\"align\"===o&&\"string\"==typeof i&&Fr.has(t.tagName)?r=i:n[o]=i}}if(r){(n.style||(n.style={}))[\"css\"===e.stylePropertyNameCase?\"text-align\":\"textAlign\"]=r}return n}(e,t);let a=Wr(e,t);return jr.has(t.tagName)&&(a=a.filter(function(e){return\"string\"!=typeof e||!function(e){return\"object\"==typeof e?\"text\"===e.type&&Rn(e.value):Rn(e)}(e)})),Yr(e,i,A,t),Gr(i,a),e.ancestors.pop(),e.schema=r,e.create(t,A,i,n)}(e,t,n):\"mdxFlowExpression\"===t.type||\"mdxTextExpression\"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){const n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}Kr(e,t.position)}(e,t):\"mdxJsxFlowElement\"===t.type||\"mdxJsxTextElement\"===t.type?function(e,t,n){const r=e.schema;let o=r;\"svg\"===t.name&&\"html\"===r.space&&(o=br,e.schema=o),e.ancestors.push(t);const A=null===t.name?e.Fragment:Xr(e,t.name,!0),i=function(e,t){const n={};for(const r of t.attributes)if(\"mdxJsxExpressionAttribute\"===r.type)if(r.data&&r.data.estree&&e.evaluater){const t=r.data.estree.body[0];t.type;const o=t.expression;o.type;const A=o.properties[0];A.type,Object.assign(n,e.evaluater.evaluateExpression(A.argument))}else Kr(e,t.position);else{const o=r.name;let A;if(r.value&&\"object\"==typeof r.value)if(r.value.data&&r.value.data.estree&&e.evaluater){const t=r.value.data.estree.body[0];t.type,A=e.evaluater.evaluateExpression(t.expression)}else Kr(e,t.position);else A=null===r.value||r.value;n[o]=A}return n}(e,t),a=Wr(e,t);return Yr(e,i,A,t),Gr(i,a),e.ancestors.pop(),e.schema=r,e.create(t,A,i,n)}(e,t,n):\"mdxjsEsm\"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Kr(e,t.position)}(e,t):\"root\"===t.type?function(e,t,n){const r={};return Gr(r,Wr(e,t)),e.create(t,e.Fragment,r,n)}(e,t,n):\"text\"===t.type?function(e,t){return t.value}(0,t):void 0}function Yr(e,t,n,r){\"string\"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Gr(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Wr(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:Hr;for(;++r<t.children.length;){const A=t.children[r];let i;if(e.passKeys){const e=\"element\"===A.type?A.tagName:\"mdxJsxFlowElement\"===A.type||\"mdxJsxTextElement\"===A.type?A.name:void 0;if(e){const t=o.get(e)||0;i=e+\"-\"+t,o.set(e,t+1)}}const a=_r(e,A,i);void 0!==a&&n.push(a)}return n}function Vr(e,t,n){const r=function(e,t){const n=Fn(t);let r=t,o=Un;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&\"data\"===n.slice(0,4)&&dr.test(t)){if(\"-\"===t.charAt(4)){const e=t.slice(5).replace(pr,gr);r=\"data\"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!pr.test(e)){let n=e.replace(fr,hr);\"-\"!==n.charAt(0)&&(n=\"-\"+n),t=\"data\"+n}}o=er}return new o(r,t)}(e.schema,t);if(!(null==n||\"number\"==typeof n&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?function(e){const t={};return(\"\"===e[e.length-1]?[...e,\"\"]:e).join((t.padRight?\" \":\"\")+\",\"+(!1===t.padLeft?\"\":\" \")).trim()}(n):function(e){return e.join(\" \").trim()}(n)),\"style\"===r.property){let t=\"object\"==typeof n?n:function(e,t){const n={};try{Dr(t,r)}catch(t){if(!e.ignoreInvalidStyle){const n=t,r=new Lr(\"Cannot parse `style` attribute\",{ancestors:e.ancestors,cause:n,ruleId:\"style\",source:\"hast-util-to-jsx-runtime\"});throw r.file=e.filePath||void 0,r.url=Ur+\"#cannot-parse-style-attribute\",r}}return n;function r(e,t){let r=e;\"--\"!==r.slice(0,2)&&(\"-ms-\"===r.slice(0,4)&&(r=\"ms-\"+r.slice(4)),r=r.replace(zr,Zr)),n[r]=t}}(e,String(n));return\"css\"===e.stylePropertyNameCase&&(t=function(e){const t={};let n;for(n in e)Nr.call(e,n)&&(t[Jr(n)]=e[n]);return t}(t)),[\"style\",t]}return[\"react\"===e.elementAttributeNameCase&&r.space?mr[r.property]||r.property:r.attribute,n]}}function Xr(e,t,n){let r;if(n)if(t.includes(\".\")){const e=t.split(\".\");let n,o=-1;for(;++o<e.length;){const t=Nn(e[o])?{type:\"Identifier\",name:e[o]}:{type:\"Literal\",value:e[o]};n=n?{type:\"MemberExpression\",object:n,property:t,computed:!(!o||\"Literal\"!==t.type),optional:!1}:t}r=n}else r=Nn(t)&&!/^[a-z]/.test(t)?{type:\"Identifier\",name:t}:{type:\"Literal\",value:t};else r={type:\"Literal\",value:t};if(\"Literal\"===r.type){const t=r.value;return Nr.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);Kr(e)}function Kr(e,t){const n=new Lr(\"Cannot handle MDX estrees without `createEvaluater`\",{ancestors:e.ancestors,place:t,ruleId:\"mdx-estree\",source:\"hast-util-to-jsx-runtime\"});throw n.file=e.filePath||void 0,n.url=Ur+\"#cannot-handle-mdx-estrees-without-createevaluater\",n}function Jr(e){let t=e.replace(Rr,$r);return\"ms-\"===t.slice(0,3)&&(t=\"-\"+t),t}function Zr(e,t){return t.toUpperCase()}function $r(e){return\"-\"+e.toLowerCase()}const eo={action:[\"form\"],cite:[\"blockquote\",\"del\",\"ins\",\"q\"],data:[\"object\"],formAction:[\"button\",\"input\"],href:[\"a\",\"area\",\"base\",\"link\"],icon:[\"menuitem\"],itemId:null,manifest:[\"html\"],ping:[\"a\",\"area\"],poster:[\"video\"],src:[\"audio\",\"embed\",\"iframe\",\"img\",\"input\",\"script\",\"source\",\"track\",\"video\"]},to={};function no(e,t,n){if(function(e){return!(!e||\"object\"!=typeof e)}(e)){if(\"value\"in e)return\"html\"!==e.type||n?e.value:\"\";if(t&&\"alt\"in e&&e.alt)return e.alt;if(\"children\"in e)return ro(e.children,t,n)}return Array.isArray(e)?ro(e,t,n):\"\"}function ro(e,t,n){const r=[];let o=-1;for(;++o<e.length;)r[o]=no(e[o],t,n);return r.join(\"\")}const oo=document.createElement(\"i\");function Ao(e){const t=\"&\"+e+\";\";oo.innerHTML=t;const n=oo.textContent;return(59!==n.charCodeAt(n.length-1)||\"semi\"===e)&&n!==t&&n}function io(e,t,n,r){const o=e.length;let A,i=0;if(t=t<0?-t>o?0:o+t:t>o?o:t,n=n>0?n:0,r.length<1e4)A=Array.from(r),A.unshift(t,n),e.splice(...A);else for(n&&e.splice(t,n);i<r.length;)A=r.slice(i,i+1e4),A.unshift(t,0),e.splice(...A),i+=1e4,t+=1e4}function ao(e,t){return e.length>0?(io(e,e.length,0,t),e):t}const lo={}.hasOwnProperty;function so(e){const t={};let n=-1;for(;++n<e.length;)co(t,e[n]);return t}function co(e,t){let n;for(n in t){const r=(lo.call(e,n)?e[n]:void 0)||(e[n]={}),o=t[n];let A;if(o)for(A in o){lo.call(r,A)||(r[A]=[]);const e=o[A];uo(r[A],Array.isArray(e)?e:e?[e]:[])}}}function uo(e,t){let n=-1;const r=[];for(;++n<t.length;)(\"after\"===t[n].add?e:r).push(t[n]);io(e,0,0,r)}function po(e,t){const n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||!(65535&~n)||65534==(65535&n)||n>1114111?\"�\":String.fromCodePoint(n)}function fo(e){return e.replace(/[\\t\\n\\r ]+/g,\" \").replace(/^ | $/g,\"\").toLowerCase().toUpperCase()}const ho=Do(/[A-Za-z]/),go=Do(/[\\dA-Za-z]/),mo=Do(/[#-'*+\\--9=?A-Z^-~]/);function vo(e){return null!==e&&(e<32||127===e)}const bo=Do(/\\d/),wo=Do(/[\\dA-Fa-f]/),yo=Do(/[!-/:-@[-`{-~]/);function xo(e){return null!==e&&e<-2}function Eo(e){return null!==e&&(e<0||32===e)}function Bo(e){return-2===e||-1===e||32===e}const Po=Do(new RegExp(\"\\\\p{P}|\\\\p{S}\",\"u\")),ko=Do(/\\s/);function Do(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function Co(e){const t=[];let n=-1,r=0,o=0;for(;++n<e.length;){const A=e.charCodeAt(n);let i=\"\";if(37===A&&go(e.charCodeAt(n+1))&&go(e.charCodeAt(n+2)))o=2;else if(A<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(A))||(i=String.fromCharCode(A));else if(A>55295&&A<57344){const t=e.charCodeAt(n+1);A<56320&&t>56319&&t<57344?(i=String.fromCharCode(A,t),o=1):i=\"�\"}else i=String.fromCharCode(A);i&&(t.push(e.slice(r,n),encodeURIComponent(i)),r=n+o+1,i=\"\"),o&&(n+=o,o=0)}return t.join(\"\")+e.slice(r)}function So(e,t,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let A=0;return function(r){return Bo(r)?(e.enter(n),i(r)):t(r)};function i(r){return Bo(r)&&A++<o?(e.consume(r),i):(e.exit(n),t(r))}}const Io={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,function(n){if(null===n)return void e.consume(n);return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),So(e,t,\"linePrefix\")},function(t){return e.enter(\"paragraph\"),r(t)});let n;return t;function r(t){const r=e.enter(\"chunkText\",{contentType:\"text\",previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){return null===t?(e.exit(\"chunkText\"),e.exit(\"paragraph\"),void e.consume(t)):xo(t)?(e.consume(t),e.exit(\"chunkText\"),r):(e.consume(t),o)}}};const To={tokenize:function(e){const t=this,n=[];let r,o,A,i=0;return a;function a(r){if(i<n.length){const o=n[i];return t.containerState=o[1],e.attempt(o[0].continuation,l,s)(r)}return s(r)}function l(e){if(i++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,r&&v();const n=t.events.length;let o,A=n;for(;A--;)if(\"exit\"===t.events[A][0]&&\"chunkFlow\"===t.events[A][1].type){o=t.events[A][1].end;break}m(i);let a=n;for(;a<t.events.length;)t.events[a][1].end={...o},a++;return io(t.events,A+1,0,t.events.slice(n)),t.events.length=a,s(e)}return a(e)}function s(o){if(i===n.length){if(!r)return d(o);if(r.currentConstruct&&r.currentConstruct.concrete)return f(o);t.interrupt=!(!r.currentConstruct||r._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Qo,c,u)(o)}function c(e){return r&&v(),m(i),d(e)}function u(e){return t.parser.lazy[t.now().line]=i!==n.length,A=t.now().offset,f(e)}function d(n){return t.containerState={},e.attempt(Qo,p,f)(n)}function p(e){return i++,n.push([t.currentConstruct,t.containerState]),d(e)}function f(n){return null===n?(r&&v(),m(0),void e.consume(n)):(r=r||t.parser.flow(t.now()),e.enter(\"chunkFlow\",{_tokenizer:r,contentType:\"flow\",previous:o}),h(n))}function h(n){return null===n?(g(e.exit(\"chunkFlow\"),!0),m(0),void e.consume(n)):xo(n)?(e.consume(n),g(e.exit(\"chunkFlow\")),i=0,t.interrupt=void 0,a):(e.consume(n),h)}function g(e,n){const a=t.sliceStream(e);if(n&&a.push(null),e.previous=o,o&&(o.next=e),o=e,r.defineSkip(e.start),r.write(a),t.parser.lazy[e.start.line]){let e=r.events.length;for(;e--;)if(r.events[e][1].start.offset<A&&(!r.events[e][1].end||r.events[e][1].end.offset>A))return;const n=t.events.length;let o,a,l=n;for(;l--;)if(\"exit\"===t.events[l][0]&&\"chunkFlow\"===t.events[l][1].type){if(o){a=t.events[l][1].end;break}o=!0}for(m(i),e=n;e<t.events.length;)t.events[e][1].end={...a},e++;io(t.events,l+1,0,t.events.slice(n)),t.events.length=e}}function m(r){let o=n.length;for(;o-- >r;){const r=n[o];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}},Qo={tokenize:function(e,t,n){return So(e,e.attempt(this.parser.constructs.document,t,n),\"linePrefix\",this.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)}};function Mo(e){return null===e||Eo(e)||ko(e)?1:Po(e)?2:void 0}function Oo(e,t,n){const r=[];let o=-1;for(;++o<e.length;){const A=e[o].resolveAll;A&&!r.includes(A)&&(t=A(t,n),r.push(A))}return t}const Lo={name:\"attention\",resolveAll:function(e,t){let n,r,o,A,i,a,l,s,c=-1;for(;++c<e.length;)if(\"enter\"===e[c][0]&&\"attentionSequence\"===e[c][1].type&&e[c][1]._close)for(n=c;n--;)if(\"exit\"===e[n][0]&&\"attentionSequence\"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[c][1]).charCodeAt(0)){if((e[n][1]._close||e[c][1]._open)&&(e[c][1].end.offset-e[c][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[c][1].end.offset-e[c][1].start.offset)%3))continue;a=e[n][1].end.offset-e[n][1].start.offset>1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const u={...e[n][1].end},d={...e[c][1].start};No(u,-a),No(d,a),A={type:a>1?\"strongSequence\":\"emphasisSequence\",start:u,end:{...e[n][1].end}},i={type:a>1?\"strongSequence\":\"emphasisSequence\",start:{...e[c][1].start},end:d},o={type:a>1?\"strongText\":\"emphasisText\",start:{...e[n][1].end},end:{...e[c][1].start}},r={type:a>1?\"strong\":\"emphasis\",start:{...A.start},end:{...i.end}},e[n][1].end={...A.start},e[c][1].start={...i.end},l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=ao(l,[[\"enter\",e[n][1],t],[\"exit\",e[n][1],t]])),l=ao(l,[[\"enter\",r,t],[\"enter\",A,t],[\"exit\",A,t],[\"enter\",o,t]]),l=ao(l,Oo(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),l=ao(l,[[\"exit\",o,t],[\"enter\",i,t],[\"exit\",i,t],[\"exit\",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(s=2,l=ao(l,[[\"enter\",e[c][1],t],[\"exit\",e[c][1],t]])):s=0,io(e,n-1,c-n+3,l),c=n+l.length-s-2;break}for(c=-1;++c<e.length;)\"attentionSequence\"===e[c][1].type&&(e[c][1].type=\"data\");return e},tokenize:function(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=Mo(r);let A;return function(t){return A=t,e.enter(\"attentionSequence\"),i(t)};function i(a){if(a===A)return e.consume(a),i;const l=e.exit(\"attentionSequence\"),s=Mo(a),c=!s||2===s&&o||n.includes(a),u=!o||2===o&&s||n.includes(r);return l._open=!!(42===A?c:c&&(o||!u)),l._close=!!(42===A?u:u&&(s||!c)),t(a)}}};function No(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const Ho={name:\"autolink\",tokenize:function(e,t,n){let r=0;return function(t){return e.enter(\"autolink\"),e.enter(\"autolinkMarker\"),e.consume(t),e.exit(\"autolinkMarker\"),e.enter(\"autolinkProtocol\"),o};function o(t){return ho(t)?(e.consume(t),A):64===t?n(t):l(t)}function A(e){return 43===e||45===e||46===e||go(e)?(r=1,i(e)):l(e)}function i(t){return 58===t?(e.consume(t),r=0,a):(43===t||45===t||46===t||go(t))&&r++<32?(e.consume(t),i):(r=0,l(t))}function a(r){return 62===r?(e.exit(\"autolinkProtocol\"),e.enter(\"autolinkMarker\"),e.consume(r),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t):null===r||32===r||60===r||vo(r)?n(r):(e.consume(r),a)}function l(t){return 64===t?(e.consume(t),s):mo(t)?(e.consume(t),l):n(t)}function s(e){return go(e)?c(e):n(e)}function c(n){return 46===n?(e.consume(n),r=0,s):62===n?(e.exit(\"autolinkProtocol\").type=\"autolinkEmail\",e.enter(\"autolinkMarker\"),e.consume(n),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t):u(n)}function u(t){if((45===t||go(t))&&r++<63){const n=45===t?u:c;return e.consume(t),n}return n(t)}}};const Ro={partial:!0,tokenize:function(e,t,n){return function(t){return Bo(t)?So(e,r,\"linePrefix\")(t):r(t)};function r(e){return null===e||xo(e)?t(e):n(e)}}};const zo={continuation:{tokenize:function(e,t,n){const r=this;return function(t){return Bo(t)?So(e,o,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):o(t)};function o(r){return e.attempt(zo,t,n)(r)}}},exit:function(e){e.exit(\"blockQuote\")},name:\"blockQuote\",tokenize:function(e,t,n){const r=this;return function(t){if(62===t){const n=r.containerState;return n.open||(e.enter(\"blockQuote\",{_container:!0}),n.open=!0),e.enter(\"blockQuotePrefix\"),e.enter(\"blockQuoteMarker\"),e.consume(t),e.exit(\"blockQuoteMarker\"),o}return n(t)};function o(n){return Bo(n)?(e.enter(\"blockQuotePrefixWhitespace\"),e.consume(n),e.exit(\"blockQuotePrefixWhitespace\"),e.exit(\"blockQuotePrefix\"),t):(e.exit(\"blockQuotePrefix\"),t(n))}}};const jo={name:\"characterEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"characterEscape\"),e.enter(\"escapeMarker\"),e.consume(t),e.exit(\"escapeMarker\"),r};function r(r){return yo(r)?(e.enter(\"characterEscapeValue\"),e.consume(r),e.exit(\"characterEscapeValue\"),e.exit(\"characterEscape\"),t):n(r)}}};const Fo={name:\"characterReference\",tokenize:function(e,t,n){const r=this;let o,A,i=0;return function(t){return e.enter(\"characterReference\"),e.enter(\"characterReferenceMarker\"),e.consume(t),e.exit(\"characterReferenceMarker\"),a};function a(t){return 35===t?(e.enter(\"characterReferenceMarkerNumeric\"),e.consume(t),e.exit(\"characterReferenceMarkerNumeric\"),l):(e.enter(\"characterReferenceValue\"),o=31,A=go,s(t))}function l(t){return 88===t||120===t?(e.enter(\"characterReferenceMarkerHexadecimal\"),e.consume(t),e.exit(\"characterReferenceMarkerHexadecimal\"),e.enter(\"characterReferenceValue\"),o=6,A=wo,s):(e.enter(\"characterReferenceValue\"),o=7,A=bo,s(t))}function s(a){if(59===a&&i){const o=e.exit(\"characterReferenceValue\");return A!==go||Ao(r.sliceSerialize(o))?(e.enter(\"characterReferenceMarker\"),e.consume(a),e.exit(\"characterReferenceMarker\"),e.exit(\"characterReference\"),t):n(a)}return A(a)&&i++<o?(e.consume(a),s):n(a)}}};const Uo={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return null===t?n(t):(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o)};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},qo={concrete:!0,name:\"codeFenced\",tokenize:function(e,t,n){const r=this,o={partial:!0,tokenize:function(e,t,n){let o=0;return i;function i(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),l}function l(t){return e.enter(\"codeFencedFence\"),Bo(t)?So(e,s,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):s(t)}function s(t){return t===A?(e.enter(\"codeFencedFenceSequence\"),c(t)):n(t)}function c(t){return t===A?(o++,e.consume(t),c):o>=a?(e.exit(\"codeFencedFenceSequence\"),Bo(t)?So(e,u,\"whitespace\")(t):u(t)):n(t)}function u(r){return null===r||xo(r)?(e.exit(\"codeFencedFence\"),t(r)):n(r)}}};let A,i=0,a=0;return function(t){return function(t){const n=r.events[r.events.length-1];return i=n&&\"linePrefix\"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,A=t,e.enter(\"codeFenced\"),e.enter(\"codeFencedFence\"),e.enter(\"codeFencedFenceSequence\"),l(t)}(t)};function l(t){return t===A?(a++,e.consume(t),l):a<3?n(t):(e.exit(\"codeFencedFenceSequence\"),Bo(t)?So(e,s,\"whitespace\")(t):s(t))}function s(n){return null===n||xo(n)?(e.exit(\"codeFencedFence\"),r.interrupt?t(n):e.check(Uo,p,v)(n)):(e.enter(\"codeFencedFenceInfo\"),e.enter(\"chunkString\",{contentType:\"string\"}),c(n))}function c(t){return null===t||xo(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),s(t)):Bo(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),So(e,u,\"whitespace\")(t)):96===t&&t===A?n(t):(e.consume(t),c)}function u(t){return null===t||xo(t)?s(t):(e.enter(\"codeFencedFenceMeta\"),e.enter(\"chunkString\",{contentType:\"string\"}),d(t))}function d(t){return null===t||xo(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceMeta\"),s(t)):96===t&&t===A?n(t):(e.consume(t),d)}function p(t){return e.attempt(o,v,f)(t)}function f(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),h}function h(t){return i>0&&Bo(t)?So(e,g,\"linePrefix\",i+1)(t):g(t)}function g(t){return null===t||xo(t)?e.check(Uo,p,v)(t):(e.enter(\"codeFlowValue\"),m(t))}function m(t){return null===t||xo(t)?(e.exit(\"codeFlowValue\"),g(t)):(e.consume(t),m)}function v(n){return e.exit(\"codeFenced\"),t(n)}}};const _o={name:\"codeIndented\",tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"codeIndented\"),So(e,o,\"linePrefix\",5)(t)};function o(e){const t=r.events[r.events.length-1];return t&&\"linePrefix\"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?A(e):n(e)}function A(t){return null===t?a(t):xo(t)?e.attempt(Yo,A,a)(t):(e.enter(\"codeFlowValue\"),i(t))}function i(t){return null===t||xo(t)?(e.exit(\"codeFlowValue\"),A(t)):(e.consume(t),i)}function a(n){return e.exit(\"codeIndented\"),t(n)}}},Yo={partial:!0,tokenize:function(e,t,n){const r=this;return o;function o(t){return r.parser.lazy[r.now().line]?n(t):xo(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o):So(e,A,\"linePrefix\",5)(t)}function A(e){const A=r.events[r.events.length-1];return A&&\"linePrefix\"===A[1].type&&A[2].sliceSerialize(A[1],!0).length>=4?t(e):xo(e)?o(e):n(e)}}};const Go={name:\"codeText\",previous:function(e){return 96!==e||\"characterEscape\"===this.events[this.events.length-1][1].type},resolve:function(e){let t,n,r=e.length-4,o=3;if(!(\"lineEnding\"!==e[o][1].type&&\"space\"!==e[o][1].type||\"lineEnding\"!==e[r][1].type&&\"space\"!==e[r][1].type))for(t=o;++t<r;)if(\"codeTextData\"===e[t][1].type){e[o][1].type=\"codeTextPadding\",e[r][1].type=\"codeTextPadding\",o+=2,r-=2;break}for(t=o-1,r++;++t<=r;)void 0===n?t!==r&&\"lineEnding\"!==e[t][1].type&&(n=t):(t===r||\"lineEnding\"===e[t][1].type)&&(e[n][1].type=\"codeTextData\",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},tokenize:function(e,t,n){let r,o,A=0;return function(t){return e.enter(\"codeText\"),e.enter(\"codeTextSequence\"),i(t)};function i(t){return 96===t?(e.consume(t),A++,i):(e.exit(\"codeTextSequence\"),a(t))}function a(t){return null===t?n(t):32===t?(e.enter(\"space\"),e.consume(t),e.exit(\"space\"),a):96===t?(o=e.enter(\"codeTextSequence\"),r=0,s(t)):xo(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),a):(e.enter(\"codeTextData\"),l(t))}function l(t){return null===t||32===t||96===t||xo(t)?(e.exit(\"codeTextData\"),a(t)):(e.consume(t),l)}function s(n){return 96===n?(e.consume(n),r++,s):r===A?(e.exit(\"codeTextSequence\"),e.exit(\"codeText\"),t(n)):(o.type=\"codeTextData\",l(n))}}};class Wo{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw new RangeError(\"Cannot access index `\"+e+\"` in a splice buffer of size `\"+(this.left.length+this.right.length)+\"`\");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){const n=t??Number.POSITIVE_INFINITY;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){const r=t||0;this.setCursor(Math.trunc(e));const o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return n&&Vo(this.left,n),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),Vo(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Vo(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&0===this.right.length||e<0&&0===this.left.length))if(e<this.left.length){const t=this.left.splice(e,Number.POSITIVE_INFINITY);Vo(this.right,t.reverse())}else{const t=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);Vo(this.left,t.reverse())}}}function Vo(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Xo(e){const t={};let n,r,o,A,i,a,l,s=-1;const c=new Wo(e);for(;++s<c.length;){for(;s in t;)s=t[s];if(n=c.get(s),s&&\"chunkFlow\"===n[1].type&&\"listItemPrefix\"===c.get(s-1)[1].type&&(a=n[1]._tokenizer.events,o=0,o<a.length&&\"lineEndingBlank\"===a[o][1].type&&(o+=2),o<a.length&&\"content\"===a[o][1].type))for(;++o<a.length&&\"content\"!==a[o][1].type;)\"chunkText\"===a[o][1].type&&(a[o][1]._isInFirstContentOfListItem=!0,o++);if(\"enter\"===n[0])n[1].contentType&&(Object.assign(t,Ko(c,s)),s=t[s],l=!0);else if(n[1]._container){for(o=s,r=void 0;o--;)if(A=c.get(o),\"lineEnding\"===A[1].type||\"lineEndingBlank\"===A[1].type)\"enter\"===A[0]&&(r&&(c.get(r)[1].type=\"lineEndingBlank\"),A[1].type=\"lineEnding\",r=o);else if(\"linePrefix\"!==A[1].type)break;r&&(n[1].end={...c.get(r)[1].start},i=c.slice(r,s),i.unshift(n),c.splice(r,s-r+1,i))}}return io(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!l}function Ko(e,t){const n=e.get(t)[1],r=e.get(t)[2];let o=t-1;const A=[],i=n._tokenizer||r.parser[n.contentType](n.start),a=i.events,l=[],s={};let c,u,d=-1,p=n,f=0,h=0;const g=[h];for(;p;){for(;e.get(++o)[1]!==p;);A.push(o),p._tokenizer||(c=r.sliceStream(p),p.next||c.push(null),u&&i.defineSkip(p.start),p._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=!0),i.write(c),p._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=void 0)),u=p,p=p.next}for(p=n;++d<a.length;)\"exit\"===a[d][0]&&\"enter\"===a[d-1][0]&&a[d][1].type===a[d-1][1].type&&a[d][1].start.line!==a[d][1].end.line&&(h=d+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(i.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),d=g.length;d--;){const t=a.slice(g[d],g[d+1]),n=A.pop();l.push([n,n+t.length-1]),e.splice(n,2,t)}for(l.reverse(),d=-1;++d<l.length;)s[f+l[d][0]]=f+l[d][1],f+=l[d][1]-l[d][0]-1;return s}const Jo={resolve:function(e){return Xo(e),e},tokenize:function(e,t){let n;return function(t){return e.enter(\"content\"),n=e.enter(\"chunkContent\",{contentType:\"content\"}),r(t)};function r(t){return null===t?o(t):xo(t)?e.check(Zo,A,o)(t):(e.consume(t),r)}function o(n){return e.exit(\"chunkContent\"),e.exit(\"content\"),t(n)}function A(t){return e.consume(t),e.exit(\"chunkContent\"),n.next=e.enter(\"chunkContent\",{contentType:\"content\",previous:n}),n=n.next,r}}},Zo={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return e.exit(\"chunkContent\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),So(e,o,\"linePrefix\")};function o(o){if(null===o||xo(o))return n(o);const A=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(\"codeIndented\")&&A&&\"linePrefix\"===A[1].type&&A[2].sliceSerialize(A[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}};function $o(e,t,n,r,o,A,i,a,l){const s=l||Number.POSITIVE_INFINITY;let c=0;return function(t){return 60===t?(e.enter(r),e.enter(o),e.enter(A),e.consume(t),e.exit(A),u):null===t||32===t||41===t||vo(t)?n(t):(e.enter(r),e.enter(i),e.enter(a),e.enter(\"chunkString\",{contentType:\"string\"}),f(t))};function u(n){return 62===n?(e.enter(A),e.consume(n),e.exit(A),e.exit(o),e.exit(r),t):(e.enter(a),e.enter(\"chunkString\",{contentType:\"string\"}),d(n))}function d(t){return 62===t?(e.exit(\"chunkString\"),e.exit(a),u(t)):null===t||60===t||xo(t)?n(t):(e.consume(t),92===t?p:d)}function p(t){return 60===t||62===t||92===t?(e.consume(t),d):d(t)}function f(o){return c||null!==o&&41!==o&&!Eo(o)?c<s&&40===o?(e.consume(o),c++,f):41===o?(e.consume(o),c--,f):null===o||32===o||40===o||vo(o)?n(o):(e.consume(o),92===o?h:f):(e.exit(\"chunkString\"),e.exit(a),e.exit(i),e.exit(r),t(o))}function h(t){return 40===t||41===t||92===t?(e.consume(t),f):f(t)}}function eA(e,t,n,r,o,A){const i=this;let a,l=0;return function(t){return e.enter(r),e.enter(o),e.consume(t),e.exit(o),e.enter(A),s};function s(u){return l>999||null===u||91===u||93===u&&!a||94===u&&!l&&\"_hiddenFootnoteSupport\"in i.parser.constructs?n(u):93===u?(e.exit(A),e.enter(o),e.consume(u),e.exit(o),e.exit(r),t):xo(u)?(e.enter(\"lineEnding\"),e.consume(u),e.exit(\"lineEnding\"),s):(e.enter(\"chunkString\",{contentType:\"string\"}),c(u))}function c(t){return null===t||91===t||93===t||xo(t)||l++>999?(e.exit(\"chunkString\"),s(t)):(e.consume(t),a||(a=!Bo(t)),92===t?u:c)}function u(t){return 91===t||92===t||93===t?(e.consume(t),l++,c):c(t)}}function tA(e,t,n,r,o,A){let i;return function(t){return 34===t||39===t||40===t?(e.enter(r),e.enter(o),e.consume(t),e.exit(o),i=40===t?41:t,a):n(t)};function a(n){return n===i?(e.enter(o),e.consume(n),e.exit(o),e.exit(r),t):(e.enter(A),l(n))}function l(t){return t===i?(e.exit(A),a(i)):null===t?n(t):xo(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),So(e,l,\"linePrefix\")):(e.enter(\"chunkString\",{contentType:\"string\"}),s(t))}function s(t){return t===i||null===t||xo(t)?(e.exit(\"chunkString\"),l(t)):(e.consume(t),92===t?c:s)}function c(t){return t===i||92===t?(e.consume(t),s):s(t)}}function nA(e,t){let n;return function r(o){return xo(o)?(e.enter(\"lineEnding\"),e.consume(o),e.exit(\"lineEnding\"),n=!0,r):Bo(o)?So(e,r,n?\"linePrefix\":\"lineSuffix\")(o):t(o)}}const rA={name:\"definition\",tokenize:function(e,t,n){const r=this;let o;return function(t){return e.enter(\"definition\"),function(t){return eA.call(r,e,A,n,\"definitionLabel\",\"definitionLabelMarker\",\"definitionLabelString\")(t)}(t)};function A(t){return o=fo(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter(\"definitionMarker\"),e.consume(t),e.exit(\"definitionMarker\"),i):n(t)}function i(t){return Eo(t)?nA(e,a)(t):a(t)}function a(t){return $o(e,l,n,\"definitionDestination\",\"definitionDestinationLiteral\",\"definitionDestinationLiteralMarker\",\"definitionDestinationRaw\",\"definitionDestinationString\")(t)}function l(t){return e.attempt(oA,s,s)(t)}function s(t){return Bo(t)?So(e,c,\"whitespace\")(t):c(t)}function c(A){return null===A||xo(A)?(e.exit(\"definition\"),r.parser.defined.push(o),t(A)):n(A)}}},oA={partial:!0,tokenize:function(e,t,n){return function(t){return Eo(t)?nA(e,r)(t):n(t)};function r(t){return tA(e,o,n,\"definitionTitle\",\"definitionTitleMarker\",\"definitionTitleString\")(t)}function o(t){return Bo(t)?So(e,A,\"whitespace\")(t):A(t)}function A(e){return null===e||xo(e)?t(e):n(e)}}};const AA={name:\"hardBreakEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"hardBreakEscape\"),e.consume(t),r};function r(r){return xo(r)?(e.exit(\"hardBreakEscape\"),t(r)):n(r)}}};const iA={name:\"headingAtx\",resolve:function(e,t){let n,r,o=e.length-2,A=3;return\"whitespace\"===e[A][1].type&&(A+=2),o-2>A&&\"whitespace\"===e[o][1].type&&(o-=2),\"atxHeadingSequence\"===e[o][1].type&&(A===o-1||o-4>A&&\"whitespace\"===e[o-2][1].type)&&(o-=A+1===o?2:4),o>A&&(n={type:\"atxHeadingText\",start:e[A][1].start,end:e[o][1].end},r={type:\"chunkText\",start:e[A][1].start,end:e[o][1].end,contentType:\"text\"},io(e,A,o-A+1,[[\"enter\",n,t],[\"enter\",r,t],[\"exit\",r,t],[\"exit\",n,t]])),e},tokenize:function(e,t,n){let r=0;return function(t){return e.enter(\"atxHeading\"),function(t){return e.enter(\"atxHeadingSequence\"),o(t)}(t)};function o(t){return 35===t&&r++<6?(e.consume(t),o):null===t||Eo(t)?(e.exit(\"atxHeadingSequence\"),A(t)):n(t)}function A(n){return 35===n?(e.enter(\"atxHeadingSequence\"),i(n)):null===n||xo(n)?(e.exit(\"atxHeading\"),t(n)):Bo(n)?So(e,A,\"whitespace\")(n):(e.enter(\"atxHeadingText\"),a(n))}function i(t){return 35===t?(e.consume(t),i):(e.exit(\"atxHeadingSequence\"),A(t))}function a(t){return null===t||35===t||Eo(t)?(e.exit(\"atxHeadingText\"),A(t)):(e.consume(t),a)}}};const aA=[\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"search\",\"section\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"],lA=[\"pre\",\"script\",\"style\",\"textarea\"],sA={concrete:!0,name:\"htmlFlow\",resolveTo:function(e){let t=e.length;for(;t--&&(\"enter\"!==e[t][0]||\"htmlFlow\"!==e[t][1].type););return t>1&&\"linePrefix\"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,n){const r=this;let o,A,i,a,l;return function(t){return function(t){return e.enter(\"htmlFlow\"),e.enter(\"htmlFlowData\"),e.consume(t),s}(t)};function s(a){return 33===a?(e.consume(a),c):47===a?(e.consume(a),A=!0,p):63===a?(e.consume(a),o=3,r.interrupt?t:O):ho(a)?(e.consume(a),i=String.fromCharCode(a),f):n(a)}function c(A){return 45===A?(e.consume(A),o=2,u):91===A?(e.consume(A),o=5,a=0,d):ho(A)?(e.consume(A),o=4,r.interrupt?t:O):n(A)}function u(o){return 45===o?(e.consume(o),r.interrupt?t:O):n(o)}function d(o){const A=\"CDATA[\";return o===A.charCodeAt(a++)?(e.consume(o),6===a?r.interrupt?t:k:d):n(o)}function p(t){return ho(t)?(e.consume(t),i=String.fromCharCode(t),f):n(t)}function f(a){if(null===a||47===a||62===a||Eo(a)){const l=47===a,s=i.toLowerCase();return l||A||!lA.includes(s)?aA.includes(i.toLowerCase())?(o=6,l?(e.consume(a),h):r.interrupt?t(a):k(a)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(a):A?g(a):m(a)):(o=1,r.interrupt?t(a):k(a))}return 45===a||go(a)?(e.consume(a),i+=String.fromCharCode(a),f):n(a)}function h(o){return 62===o?(e.consume(o),r.interrupt?t:k):n(o)}function g(t){return Bo(t)?(e.consume(t),g):B(t)}function m(t){return 47===t?(e.consume(t),B):58===t||95===t||ho(t)?(e.consume(t),v):Bo(t)?(e.consume(t),m):B(t)}function v(t){return 45===t||46===t||58===t||95===t||go(t)?(e.consume(t),v):b(t)}function b(t){return 61===t?(e.consume(t),w):Bo(t)?(e.consume(t),b):m(t)}function w(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),l=t,y):Bo(t)?(e.consume(t),w):x(t)}function y(t){return t===l?(e.consume(t),l=null,E):null===t||xo(t)?n(t):(e.consume(t),y)}function x(t){return null===t||34===t||39===t||47===t||60===t||61===t||62===t||96===t||Eo(t)?b(t):(e.consume(t),x)}function E(e){return 47===e||62===e||Bo(e)?m(e):n(e)}function B(t){return 62===t?(e.consume(t),P):n(t)}function P(t){return null===t||xo(t)?k(t):Bo(t)?(e.consume(t),P):n(t)}function k(t){return 45===t&&2===o?(e.consume(t),I):60===t&&1===o?(e.consume(t),T):62===t&&4===o?(e.consume(t),L):63===t&&3===o?(e.consume(t),O):93===t&&5===o?(e.consume(t),M):!xo(t)||6!==o&&7!==o?null===t||xo(t)?(e.exit(\"htmlFlowData\"),D(t)):(e.consume(t),k):(e.exit(\"htmlFlowData\"),e.check(cA,N,D)(t))}function D(t){return e.check(uA,C,N)(t)}function C(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),S}function S(t){return null===t||xo(t)?D(t):(e.enter(\"htmlFlowData\"),k(t))}function I(t){return 45===t?(e.consume(t),O):k(t)}function T(t){return 47===t?(e.consume(t),i=\"\",Q):k(t)}function Q(t){if(62===t){const n=i.toLowerCase();return lA.includes(n)?(e.consume(t),L):k(t)}return ho(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),Q):k(t)}function M(t){return 93===t?(e.consume(t),O):k(t)}function O(t){return 62===t?(e.consume(t),L):45===t&&2===o?(e.consume(t),O):k(t)}function L(t){return null===t||xo(t)?(e.exit(\"htmlFlowData\"),N(t)):(e.consume(t),L)}function N(n){return e.exit(\"htmlFlow\"),t(n)}}},cA={partial:!0,tokenize:function(e,t,n){return function(r){return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),e.attempt(Ro,t,n)}}},uA={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return xo(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o):n(t)};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}};const dA={name:\"htmlText\",tokenize:function(e,t,n){const r=this;let o,A,i;return function(t){return e.enter(\"htmlText\"),e.enter(\"htmlTextData\"),e.consume(t),a};function a(t){return 33===t?(e.consume(t),l):47===t?(e.consume(t),w):63===t?(e.consume(t),v):ho(t)?(e.consume(t),E):n(t)}function l(t){return 45===t?(e.consume(t),s):91===t?(e.consume(t),A=0,p):ho(t)?(e.consume(t),m):n(t)}function s(t){return 45===t?(e.consume(t),d):n(t)}function c(t){return null===t?n(t):45===t?(e.consume(t),u):xo(t)?(i=c,Q(t)):(e.consume(t),c)}function u(t){return 45===t?(e.consume(t),d):c(t)}function d(e){return 62===e?T(e):45===e?u(e):c(e)}function p(t){const r=\"CDATA[\";return t===r.charCodeAt(A++)?(e.consume(t),6===A?f:p):n(t)}function f(t){return null===t?n(t):93===t?(e.consume(t),h):xo(t)?(i=f,Q(t)):(e.consume(t),f)}function h(t){return 93===t?(e.consume(t),g):f(t)}function g(t){return 62===t?T(t):93===t?(e.consume(t),g):f(t)}function m(t){return null===t||62===t?T(t):xo(t)?(i=m,Q(t)):(e.consume(t),m)}function v(t){return null===t?n(t):63===t?(e.consume(t),b):xo(t)?(i=v,Q(t)):(e.consume(t),v)}function b(e){return 62===e?T(e):v(e)}function w(t){return ho(t)?(e.consume(t),y):n(t)}function y(t){return 45===t||go(t)?(e.consume(t),y):x(t)}function x(t){return xo(t)?(i=x,Q(t)):Bo(t)?(e.consume(t),x):T(t)}function E(t){return 45===t||go(t)?(e.consume(t),E):47===t||62===t||Eo(t)?B(t):n(t)}function B(t){return 47===t?(e.consume(t),T):58===t||95===t||ho(t)?(e.consume(t),P):xo(t)?(i=B,Q(t)):Bo(t)?(e.consume(t),B):T(t)}function P(t){return 45===t||46===t||58===t||95===t||go(t)?(e.consume(t),P):k(t)}function k(t){return 61===t?(e.consume(t),D):xo(t)?(i=k,Q(t)):Bo(t)?(e.consume(t),k):B(t)}function D(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),o=t,C):xo(t)?(i=D,Q(t)):Bo(t)?(e.consume(t),D):(e.consume(t),S)}function C(t){return t===o?(e.consume(t),o=void 0,I):null===t?n(t):xo(t)?(i=C,Q(t)):(e.consume(t),C)}function S(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||Eo(t)?B(t):(e.consume(t),S)}function I(e){return 47===e||62===e||Eo(e)?B(e):n(e)}function T(r){return 62===r?(e.consume(r),e.exit(\"htmlTextData\"),e.exit(\"htmlText\"),t):n(r)}function Q(t){return e.exit(\"htmlTextData\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),M}function M(t){return Bo(t)?So(e,O,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):O(t)}function O(t){return e.enter(\"htmlTextData\"),i(t)}}};const pA={name:\"labelEnd\",resolveAll:function(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),\"labelImage\"===r.type||\"labelLink\"===r.type||\"labelEnd\"===r.type){const e=\"labelImage\"===r.type?4:2;r.type=\"data\",t+=e}}return e.length!==n.length&&io(e,0,e.length,n),e},resolveTo:function(e,t){let n,r,o,A,i=e.length,a=0;for(;i--;)if(n=e[i][1],r){if(\"link\"===n.type||\"labelLink\"===n.type&&n._inactive)break;\"enter\"===e[i][0]&&\"labelLink\"===n.type&&(n._inactive=!0)}else if(o){if(\"enter\"===e[i][0]&&(\"labelImage\"===n.type||\"labelLink\"===n.type)&&!n._balanced&&(r=i,\"labelLink\"!==n.type)){a=2;break}}else\"labelEnd\"===n.type&&(o=i);const l={type:\"labelLink\"===e[r][1].type?\"link\":\"image\",start:{...e[r][1].start},end:{...e[e.length-1][1].end}},s={type:\"label\",start:{...e[r][1].start},end:{...e[o][1].end}},c={type:\"labelText\",start:{...e[r+a+2][1].end},end:{...e[o-2][1].start}};return A=[[\"enter\",l,t],[\"enter\",s,t]],A=ao(A,e.slice(r+1,r+a+3)),A=ao(A,[[\"enter\",c,t]]),A=ao(A,Oo(t.parser.constructs.insideSpan.null,e.slice(r+a+4,o-3),t)),A=ao(A,[[\"exit\",c,t],e[o-2],e[o-1],[\"exit\",s,t]]),A=ao(A,e.slice(o+1)),A=ao(A,[[\"exit\",l,t]]),io(e,r,e.length,A),e},tokenize:function(e,t,n){const r=this;let o,A,i=r.events.length;for(;i--;)if((\"labelImage\"===r.events[i][1].type||\"labelLink\"===r.events[i][1].type)&&!r.events[i][1]._balanced){o=r.events[i][1];break}return function(t){return o?o._inactive?c(t):(A=r.parser.defined.includes(fo(r.sliceSerialize({start:o.end,end:r.now()}))),e.enter(\"labelEnd\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelEnd\"),a):n(t)};function a(t){return 40===t?e.attempt(fA,s,A?s:c)(t):91===t?e.attempt(hA,s,A?l:c)(t):A?s(t):c(t)}function l(t){return e.attempt(gA,s,c)(t)}function s(e){return t(e)}function c(e){return o._balanced=!0,n(e)}}},fA={tokenize:function(e,t,n){return function(t){return e.enter(\"resource\"),e.enter(\"resourceMarker\"),e.consume(t),e.exit(\"resourceMarker\"),r};function r(t){return Eo(t)?nA(e,o)(t):o(t)}function o(t){return 41===t?s(t):$o(e,A,i,\"resourceDestination\",\"resourceDestinationLiteral\",\"resourceDestinationLiteralMarker\",\"resourceDestinationRaw\",\"resourceDestinationString\",32)(t)}function A(t){return Eo(t)?nA(e,a)(t):s(t)}function i(e){return n(e)}function a(t){return 34===t||39===t||40===t?tA(e,l,n,\"resourceTitle\",\"resourceTitleMarker\",\"resourceTitleString\")(t):s(t)}function l(t){return Eo(t)?nA(e,s)(t):s(t)}function s(r){return 41===r?(e.enter(\"resourceMarker\"),e.consume(r),e.exit(\"resourceMarker\"),e.exit(\"resource\"),t):n(r)}}},hA={tokenize:function(e,t,n){const r=this;return function(t){return eA.call(r,e,o,A,\"reference\",\"referenceMarker\",\"referenceString\")(t)};function o(e){return r.parser.defined.includes(fo(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function A(e){return n(e)}}},gA={tokenize:function(e,t,n){return function(t){return e.enter(\"reference\"),e.enter(\"referenceMarker\"),e.consume(t),e.exit(\"referenceMarker\"),r};function r(r){return 93===r?(e.enter(\"referenceMarker\"),e.consume(r),e.exit(\"referenceMarker\"),e.exit(\"reference\"),t):n(r)}}};const mA={name:\"labelStartImage\",resolveAll:pA.resolveAll,tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelImage\"),e.enter(\"labelImageMarker\"),e.consume(t),e.exit(\"labelImageMarker\"),o};function o(t){return 91===t?(e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelImage\"),A):n(t)}function A(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}}};const vA={name:\"labelStartLink\",resolveAll:pA.resolveAll,tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelLink\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelLink\"),o};function o(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}}};const bA={name:\"lineEnding\",tokenize:function(e,t){return function(n){return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),So(e,t,\"linePrefix\")}}};const wA={name:\"thematicBreak\",tokenize:function(e,t,n){let r,o=0;return function(t){return e.enter(\"thematicBreak\"),function(e){return r=e,A(e)}(t)};function A(A){return A===r?(e.enter(\"thematicBreakSequence\"),i(A)):o>=3&&(null===A||xo(A))?(e.exit(\"thematicBreak\"),t(A)):n(A)}function i(t){return t===r?(e.consume(t),o++,i):(e.exit(\"thematicBreakSequence\"),Bo(t)?So(e,A,\"whitespace\")(t):A(t))}}};const yA={continuation:{tokenize:function(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Ro,function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,So(e,t,\"listItemIndent\",r.containerState.size+1)(n)},function(n){return r.containerState.furtherBlankLines||!Bo(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(EA,t,o)(n))});function o(o){return r.containerState._closeFlow=!0,r.interrupt=void 0,So(e,e.attempt(yA,t,n),\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(o)}}},exit:function(e){e.exit(this.containerState.type)},name:\"list\",tokenize:function(e,t,n){const r=this,o=r.events[r.events.length-1];let A=o&&\"linePrefix\"===o[1].type?o[2].sliceSerialize(o[1],!0).length:0,i=0;return function(t){const o=r.containerState.type||(42===t||43===t||45===t?\"listUnordered\":\"listOrdered\");if(\"listUnordered\"===o?!r.containerState.marker||t===r.containerState.marker:bo(t)){if(r.containerState.type||(r.containerState.type=o,e.enter(o,{_container:!0})),\"listUnordered\"===o)return e.enter(\"listItemPrefix\"),42===t||45===t?e.check(wA,n,l)(t):l(t);if(!r.interrupt||49===t)return e.enter(\"listItemPrefix\"),e.enter(\"listItemValue\"),a(t)}return n(t)};function a(t){return bo(t)&&++i<10?(e.consume(t),a):(!r.interrupt||i<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit(\"listItemValue\"),l(t)):n(t)}function l(t){return e.enter(\"listItemMarker\"),e.consume(t),e.exit(\"listItemMarker\"),r.containerState.marker=r.containerState.marker||t,e.check(Ro,r.interrupt?n:s,e.attempt(xA,u,c))}function s(e){return r.containerState.initialBlankLine=!0,A++,u(e)}function c(t){return Bo(t)?(e.enter(\"listItemPrefixWhitespace\"),e.consume(t),e.exit(\"listItemPrefixWhitespace\"),u):n(t)}function u(n){return r.containerState.size=A+r.sliceSerialize(e.exit(\"listItemPrefix\"),!0).length,t(n)}}},xA={partial:!0,tokenize:function(e,t,n){const r=this;return So(e,function(e){const o=r.events[r.events.length-1];return!Bo(e)&&o&&\"listItemPrefixWhitespace\"===o[1].type?t(e):n(e)},\"listItemPrefixWhitespace\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:5)}},EA={partial:!0,tokenize:function(e,t,n){const r=this;return So(e,function(e){const o=r.events[r.events.length-1];return o&&\"listItemIndent\"===o[1].type&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(e):n(e)},\"listItemIndent\",r.containerState.size+1)}};const BA={name:\"setextUnderline\",resolveTo:function(e,t){let n,r,o,A=e.length;for(;A--;)if(\"enter\"===e[A][0]){if(\"content\"===e[A][1].type){n=A;break}\"paragraph\"===e[A][1].type&&(r=A)}else\"content\"===e[A][1].type&&e.splice(A,1),!o&&\"definition\"===e[A][1].type&&(o=A);const i={type:\"setextHeading\",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type=\"setextHeadingText\",o?(e.splice(r,0,[\"enter\",i,t]),e.splice(o+1,0,[\"exit\",e[n][1],t]),e[n][1].end={...e[o][1].end}):e[n][1]=i,e.push([\"exit\",i,t]),e},tokenize:function(e,t,n){const r=this;let o;return function(t){let i,a=r.events.length;for(;a--;)if(\"lineEnding\"!==r.events[a][1].type&&\"linePrefix\"!==r.events[a][1].type&&\"content\"!==r.events[a][1].type){i=\"paragraph\"===r.events[a][1].type;break}return r.parser.lazy[r.now().line]||!r.interrupt&&!i?n(t):(e.enter(\"setextHeadingLine\"),o=t,function(t){return e.enter(\"setextHeadingLineSequence\"),A(t)}(t))};function A(t){return t===o?(e.consume(t),A):(e.exit(\"setextHeadingLineSequence\"),Bo(t)?So(e,i,\"lineSuffix\")(t):i(t))}function i(r){return null===r||xo(r)?(e.exit(\"setextHeadingLine\"),t(r)):n(r)}}};const PA={tokenize:function(e){const t=this,n=e.attempt(Ro,function(r){if(null===r)return void e.consume(r);return e.enter(\"lineEndingBlank\"),e.consume(r),e.exit(\"lineEndingBlank\"),t.currentConstruct=void 0,n},e.attempt(this.parser.constructs.flowInitial,r,So(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Jo,r)),\"linePrefix\")));return n;function r(r){if(null!==r)return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),t.currentConstruct=void 0,n;e.consume(r)}}};const kA={resolveAll:IA()},DA=SA(\"string\"),CA=SA(\"text\");function SA(e){return{resolveAll:IA(\"text\"===e?TA:void 0),tokenize:function(t){const n=this,r=this.parser.constructs[e],o=t.attempt(r,A,i);return A;function A(e){return l(e)?o(e):i(e)}function i(e){if(null!==e)return t.enter(\"data\"),t.consume(e),a;t.consume(e)}function a(e){return l(e)?(t.exit(\"data\"),o(e)):(t.consume(e),a)}function l(e){if(null===e)return!0;const t=r[e];let o=-1;if(t)for(;++o<t.length;){const e=t[o];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}}function IA(e){return function(t,n){let r,o=-1;for(;++o<=t.length;)void 0===r?t[o]&&\"data\"===t[o][1].type&&(r=o,o++):(!t[o]||\"data\"!==t[o][1].type)&&(o!==r+2&&(t[r][1].end=t[o-1][1].end,t.splice(r+2,o-r-2),o=r+2),r=void 0);return e?e(t,n):t}}function TA(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||\"lineEnding\"===e[n][1].type)&&\"data\"===e[n-1][1].type){const r=e[n-1][1],o=t.sliceStream(r);let A,i=o.length,a=-1,l=0;for(;i--;){const e=o[i];if(\"string\"==typeof e){for(a=e.length;32===e.charCodeAt(a-1);)l++,a--;if(a)break;a=-1}else if(-2===e)A=!0,l++;else if(-1!==e){i++;break}}if(l){const o={type:n===e.length||A||l<2?\"lineSuffix\":\"hardBreakTrailing\",start:{_bufferIndex:i?a:r.start._bufferIndex+a,_index:r.start._index+i,line:r.end.line,column:r.end.column-l,offset:r.end.offset-l},end:{...r.end}};r.end={...o.start},r.start.offset===r.end.offset?Object.assign(r,o):(e.splice(n,0,[\"enter\",o,t],[\"exit\",o,t]),n+=2)}n++}return e}const QA={42:yA,43:yA,45:yA,48:yA,49:yA,50:yA,51:yA,52:yA,53:yA,54:yA,55:yA,56:yA,57:yA,62:zo},MA={91:rA},OA={[-2]:_o,[-1]:_o,32:_o},LA={35:iA,42:wA,45:[BA,wA],60:sA,61:BA,95:wA,96:qo,126:qo},NA={38:Fo,92:jo},HA={[-5]:bA,[-4]:bA,[-3]:bA,33:mA,38:Fo,42:Lo,60:[Ho,dA],91:vA,92:[AA,jo],93:pA,95:Lo,96:Go},RA={null:[Lo,kA]},zA=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:MA,disable:{null:[]},document:QA,flow:LA,flowInitial:OA,insideSpan:RA,string:NA,text:HA},Symbol.toStringTag,{value:\"Module\"}));function jA(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const o={},A=[];let i=[],a=[];const l={attempt:h(function(e,t){g(e,t.from)}),check:h(f),consume:function(e){xo(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,m()):-1!==e&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===i[r._index].length&&(r._bufferIndex=-1,r._index++)),s.previous=e},enter:function(e,t){const n=t||{};return n.type=e,n.start=d(),s.events.push([\"enter\",n,s]),a.push(n),n},exit:function(e){const t=a.pop();return t.end=d(),s.events.push([\"exit\",t,s]),t},interrupt:h(f,{interrupt:!0})},s={code:null,containerState:{},defineSkip:function(e){o[e.line]=e.column,m()},events:[],now:d,parser:e,previous:null,sliceSerialize:function(e,t){return function(e,t){let n=-1;const r=[];let o;for(;++n<e.length;){const A=e[n];let i;if(\"string\"==typeof A)i=A;else switch(A){case-5:i=\"\\r\";break;case-4:i=\"\\n\";break;case-3:i=\"\\r\\n\";break;case-2:i=t?\" \":\"\\t\";break;case-1:if(!t&&o)continue;i=\" \";break;default:i=String.fromCharCode(A)}o=-2===A,r.push(i)}return r.join(\"\")}(u(e),t)},sliceStream:u,write:function(e){return i=ao(i,e),function(){let e;for(;r._index<i.length;){const t=i[r._index];if(\"string\"==typeof t)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)p(t.charCodeAt(r._bufferIndex));else p(t)}}(),null!==i[i.length-1]?[]:(g(t,0),s.events=Oo(A,s.events,s),s.events)}};let c=t.tokenize.call(s,l);return t.resolveAll&&A.push(t),s;function u(e){return function(e,t){const n=t.start._index,r=t.start._bufferIndex,o=t.end._index,A=t.end._bufferIndex;let i;if(n===o)i=[e[n].slice(r,A)];else{if(i=e.slice(n,o),r>-1){const e=i[0];\"string\"==typeof e?i[0]=e.slice(r):i.shift()}A>0&&i.push(e[o].slice(0,A))}return i}(i,e)}function d(){const{_bufferIndex:e,_index:t,line:n,column:o,offset:A}=r;return{_bufferIndex:e,_index:t,line:n,column:o,offset:A}}function p(e){c=c(e)}function f(e,t){t.restore()}function h(e,t){return function(n,o,A){let i,c,u,p;return Array.isArray(n)?f(n):\"tokenize\"in n?f([n]):function(e){return t;function t(t){const n=null!==t&&e[t],r=null!==t&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}(n);function f(e){return i=e,c=0,0===e.length?A:h(e[c])}function h(e){return function(n){return p=function(){const e=d(),t=s.previous,n=s.currentConstruct,o=s.events.length,A=Array.from(a);return{from:o,restore:i};function i(){r=e,s.previous=t,s.currentConstruct=n,s.events.length=o,a=A,m()}}(),u=e,e.partial||(s.currentConstruct=e),e.name&&s.parser.constructs.disable.null.includes(e.name)?v():e.tokenize.call(t?Object.assign(Object.create(s),t):s,l,g,v)(n)}}function g(t){return e(u,p),o}function v(e){return p.restore(),++c<i.length?h(i[c]):A}}}function g(e,t){e.resolveAll&&!A.includes(e)&&A.push(e),e.resolve&&io(s.events,t,s.events.length-t,e.resolve(s.events.slice(t),s)),e.resolveTo&&(s.events=e.resolveTo(s.events,s))}function m(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}const FA=/[\\0\\t\\n\\r]/g;const UA=/\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;function qA(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return po(n.slice(t?2:1),t?16:10)}return Ao(n)||e}const _A={}.hasOwnProperty;function YA(e,t,n){return\"string\"!=typeof t&&(n=t,t=void 0),function(e){const t={transforms:[],canContainEols:[\"emphasis\",\"fragment\",\"heading\",\"paragraph\",\"strong\"],enter:{autolink:A(te),autolinkProtocol:P,autolinkEmail:P,atxHeading:A(J),blockQuote:A(G),characterEscape:P,characterReference:P,codeFenced:A(W),codeFencedFenceInfo:i,codeFencedFenceMeta:i,codeIndented:A(W,i),codeText:A(V,i),codeTextData:P,data:P,codeFlowValue:P,definition:A(X),definitionDestinationString:i,definitionLabelString:i,definitionTitleString:i,emphasis:A(K),hardBreakEscape:A(Z),hardBreakTrailing:A(Z),htmlFlow:A($,i),htmlFlowData:P,htmlText:A($,i),htmlTextData:P,image:A(ee),label:i,link:A(te),listItem:A(re),listItemValue:d,listOrdered:A(ne,u),listUnordered:A(ne),paragraph:A(oe),reference:z,referenceString:i,resourceDestinationString:i,resourceTitleString:i,setextHeading:A(J),strong:A(Ae),thematicBreak:A(ae)},exit:{atxHeading:l(),atxHeadingSequence:y,autolink:l(),autolinkEmail:Y,autolinkProtocol:_,blockQuote:l(),characterEscapeValue:k,characterReferenceMarkerHexadecimal:F,characterReferenceMarkerNumeric:F,characterReferenceValue:U,characterReference:q,codeFenced:l(g),codeFencedFence:h,codeFencedFenceInfo:p,codeFencedFenceMeta:f,codeFlowValue:k,codeIndented:l(m),codeText:l(T),codeTextData:k,data:k,definition:l(),definitionDestinationString:w,definitionLabelString:v,definitionTitleString:b,emphasis:l(),hardBreakEscape:l(C),hardBreakTrailing:l(C),htmlFlow:l(S),htmlFlowData:k,htmlText:l(I),htmlTextData:k,image:l(M),label:L,labelText:O,lineEnding:D,link:l(Q),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:j,resourceDestinationString:N,resourceTitleString:H,resource:R,setextHeading:l(B),setextHeadingLineSequence:E,setextHeadingText:x,strong:l(),thematicBreak:l()}};WA(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(e){let r={type:\"root\",children:[]};const A={stack:[r],tokenStack:[],config:t,enter:a,exit:s,buffer:i,resume:c,data:n},l=[];let u=-1;for(;++u<e.length;)if(\"listOrdered\"===e[u][1].type||\"listUnordered\"===e[u][1].type)if(\"enter\"===e[u][0])l.push(u);else{u=o(e,l.pop(),u)}for(u=-1;++u<e.length;){const n=t[e[u][0]];_A.call(n,e[u][1].type)&&n[e[u][1].type].call(Object.assign({sliceSerialize:e[u][2].sliceSerialize},A),e[u][1])}if(A.tokenStack.length>0){const e=A.tokenStack[A.tokenStack.length-1];(e[1]||XA).call(A,void 0,e[0])}for(r.position={start:GA(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:GA(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},u=-1;++u<t.transforms.length;)r=t.transforms[u](r)||r;return r}function o(e,t,n){let r,o,A,i,a=t-1,l=-1,s=!1;for(;++a<=n;){const t=e[a];switch(t[1].type){case\"listUnordered\":case\"listOrdered\":case\"blockQuote\":\"enter\"===t[0]?l++:l--,i=void 0;break;case\"lineEndingBlank\":\"enter\"===t[0]&&(r&&!i&&!l&&!A&&(A=a),i=void 0);break;case\"linePrefix\":case\"listItemValue\":case\"listItemMarker\":case\"listItemPrefix\":case\"listItemPrefixWhitespace\":break;default:i=void 0}if(!l&&\"enter\"===t[0]&&\"listItemPrefix\"===t[1].type||-1===l&&\"exit\"===t[0]&&(\"listUnordered\"===t[1].type||\"listOrdered\"===t[1].type)){if(r){let i=a;for(o=void 0;i--;){const t=e[i];if(\"lineEnding\"===t[1].type||\"lineEndingBlank\"===t[1].type){if(\"exit\"===t[0])continue;o&&(e[o][1].type=\"lineEndingBlank\",s=!0),t[1].type=\"lineEnding\",o=i}else if(\"linePrefix\"!==t[1].type&&\"blockQuotePrefix\"!==t[1].type&&\"blockQuotePrefixWhitespace\"!==t[1].type&&\"blockQuoteMarker\"!==t[1].type&&\"listItemIndent\"!==t[1].type)break}A&&(!o||A<o)&&(r._spread=!0),r.end=Object.assign({},o?e[o][1].start:t[1].end),e.splice(o||a,0,[\"exit\",r,t[2]]),a++,n++}if(\"listItemPrefix\"===t[1].type){const o={type:\"listItem\",_spread:!1,start:Object.assign({},t[1].start),end:void 0};r=o,e.splice(a,0,[\"enter\",o,t[2]]),a++,n++,A=void 0,i=!0}}}return e[t][1]._spread=s,n}function A(e,t){return n;function n(n){a.call(this,e(n),n),t&&t.call(this,n)}}function i(){this.stack.push({type:\"fragment\",children:[]})}function a(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:GA(t.start),end:void 0}}function l(e){return t;function t(t){e&&e.call(this,t),s.call(this,t)}}function s(e,t){const n=this.stack.pop(),r=this.tokenStack.pop();if(!r)throw new Error(\"Cannot close `\"+e.type+\"` (\"+Tr({start:e.start,end:e.end})+\"): it’s not open\");r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||XA).call(this,e,r[0])),n.position.end=GA(e.end)}function c(){return function(e){return no(e,\"boolean\"!=typeof to.includeImageAlt||to.includeImageAlt,\"boolean\"!=typeof to.includeHtml||to.includeHtml)}(this.stack.pop())}function u(){this.data.expectingFirstListItemValue=!0}function d(e){if(this.data.expectingFirstListItemValue){this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function p(){const e=this.resume();this.stack[this.stack.length-1].lang=e}function f(){const e=this.resume();this.stack[this.stack.length-1].meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,\"\"),this.data.flowCodeInside=void 0}function m(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\\r?\\n|\\r)$/g,\"\")}function v(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=fo(this.sliceSerialize(e)).toLowerCase()}function b(){const e=this.resume();this.stack[this.stack.length-1].title=e}function w(){const e=this.resume();this.stack[this.stack.length-1].url=e}function y(e){const t=this.stack[this.stack.length-1];if(!t.depth){const n=this.sliceSerialize(e).length;t.depth=n}}function x(){this.data.setextHeadingSlurpLineEnding=!0}function E(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2}function B(){this.data.setextHeadingSlurpLineEnding=void 0}function P(e){const t=this.stack[this.stack.length-1].children;let n=t[t.length-1];(!n||\"text\"!==n.type)&&(n=ie(),n.position={start:GA(e.start),end:void 0},t.push(n)),this.stack.push(n)}function k(e){const t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=GA(e.end)}function D(e){const n=this.stack[this.stack.length-1];if(this.data.atHardBreak){return n.children[n.children.length-1].position.end=GA(e.end),void(this.data.atHardBreak=void 0)}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(P.call(this,e),k.call(this,e))}function C(){this.data.atHardBreak=!0}function S(){const e=this.resume();this.stack[this.stack.length-1].value=e}function I(){const e=this.resume();this.stack[this.stack.length-1].value=e}function T(){const e=this.resume();this.stack[this.stack.length-1].value=e}function Q(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||\"shortcut\";e.type+=\"Reference\",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function M(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||\"shortcut\";e.type+=\"Reference\",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function O(e){const t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=function(e){return e.replace(UA,qA)}(t),n.identifier=fo(t).toLowerCase()}function L(){const e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(this.data.inReference=!0,\"link\"===n.type){const t=e.children;n.children=t}else n.alt=t}function N(){const e=this.resume();this.stack[this.stack.length-1].url=e}function H(){const e=this.resume();this.stack[this.stack.length-1].title=e}function R(){this.data.inReference=void 0}function z(){this.data.referenceType=\"collapsed\"}function j(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=fo(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=\"full\"}function F(e){this.data.characterReferenceType=e.type}function U(e){const t=this.sliceSerialize(e),n=this.data.characterReferenceType;let r;n?(r=po(t,\"characterReferenceMarkerNumeric\"===n?10:16),this.data.characterReferenceType=void 0):r=Ao(t);this.stack[this.stack.length-1].value+=r}function q(e){this.stack.pop().position.end=GA(e.end)}function _(e){k.call(this,e);this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function Y(e){k.call(this,e);this.stack[this.stack.length-1].url=\"mailto:\"+this.sliceSerialize(e)}function G(){return{type:\"blockquote\",children:[]}}function W(){return{type:\"code\",lang:null,meta:null,value:\"\"}}function V(){return{type:\"inlineCode\",value:\"\"}}function X(){return{type:\"definition\",identifier:\"\",label:null,title:null,url:\"\"}}function K(){return{type:\"emphasis\",children:[]}}function J(){return{type:\"heading\",depth:0,children:[]}}function Z(){return{type:\"break\"}}function $(){return{type:\"html\",value:\"\"}}function ee(){return{type:\"image\",title:null,url:\"\",alt:null}}function te(){return{type:\"link\",title:null,url:\"\",children:[]}}function ne(e){return{type:\"list\",ordered:\"listOrdered\"===e.type,start:null,spread:e._spread,children:[]}}function re(e){return{type:\"listItem\",spread:e._spread,checked:null,children:[]}}function oe(){return{type:\"paragraph\",children:[]}}function Ae(){return{type:\"strong\",children:[]}}function ie(){return{type:\"text\",value:\"\"}}function ae(){return{type:\"thematicBreak\"}}}(n)(function(e){for(;!Xo(e););return e}(function(e){const t={constructs:so([zA,...(e||{}).extensions||[]]),content:n(Io),defined:[],document:n(To),flow:n(PA),lazy:{},string:n(DA),text:n(CA)};return t;function n(e){return function(n){return jA(t,e,n)}}}(n).document().write(function(){let e,t=1,n=\"\",r=!0;return function(o,A,i){const a=[];let l,s,c,u,d;for(o=n+(\"string\"==typeof o?o.toString():new TextDecoder(A||void 0).decode(o)),c=0,n=\"\",r&&(65279===o.charCodeAt(0)&&c++,r=void 0);c<o.length;){if(FA.lastIndex=c,l=FA.exec(o),u=l&&void 0!==l.index?l.index:o.length,d=o.charCodeAt(u),!l){n=o.slice(c);break}if(10===d&&c===u&&e)a.push(-3),e=void 0;else switch(e&&(a.push(-5),e=void 0),c<u&&(a.push(o.slice(c,u)),t+=u-c),d){case 0:a.push(65533),t++;break;case 9:for(s=4*Math.ceil(t/4),a.push(-2);t++<s;)a.push(-1);break;case 10:a.push(-4),t=1;break;default:e=!0,t=1}c=u+1}return i&&(e&&a.push(-5),n&&a.push(n),a.push(null)),a}}()(e,t,!0))))}function GA(e){return{line:e.line,column:e.column,offset:e.offset}}function WA(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?WA(e,r):VA(e,r)}}function VA(e,t){let n;for(n in t)if(_A.call(t,n))switch(n){case\"canContainEols\":{const r=t[n];r&&e[n].push(...r);break}case\"transforms\":{const r=t[n];r&&e[n].push(...r);break}case\"enter\":case\"exit\":{const r=t[n];r&&Object.assign(e[n],r);break}}}function XA(e,t){throw e?new Error(\"Cannot close `\"+e.type+\"` (\"+Tr({start:e.start,end:e.end})+\"): a different token (`\"+t.type+\"`, \"+Tr({start:t.start,end:t.end})+\") is open\"):new Error(\"Cannot close document, a token (`\"+t.type+\"`, \"+Tr({start:t.start,end:t.end})+\") is still open\")}function KA(e){const t=this;t.parser=function(n){return YA(n,{...t.data(\"settings\"),...e,extensions:t.data(\"micromarkExtensions\")||[],mdastExtensions:t.data(\"fromMarkdownExtensions\")||[]})}}function JA(e,t){const n=t.referenceType;let r=\"]\";if(\"collapsed\"===n?r+=\"[]\":\"full\"===n&&(r+=\"[\"+(t.label||t.identifier)+\"]\"),\"imageReference\"===t.type)return[{type:\"text\",value:\"![\"+t.alt+r}];const o=e.all(t),A=o[0];A&&\"text\"===A.type?A.value=\"[\"+A.value:o.unshift({type:\"text\",value:\"[\"});const i=o[o.length-1];return i&&\"text\"===i.type?i.value+=r:o.push({type:\"text\",value:r}),o}function ZA(e){return e.spread??e.children.length>1}function $A(e){const t=String(e),n=/\\r?\\n|\\r/g;let r=n.exec(t),o=0;const A=[];for(;r;)A.push(ei(t.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(t);return A.push(ei(t.slice(o),o>0,!1)),A.join(\"\")}function ei(e,t,n){let r=0,o=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(o-1);for(;9===t||32===t;)o--,t=e.codePointAt(o-1)}return o>r?e.slice(r,o):\"\"}const ti={blockquote:function(e,t){const n={type:\"element\",tagName:\"blockquote\",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){const n={type:\"element\",tagName:\"br\",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:\"text\",value:\"\\n\"}]},code:function(e,t){const n=t.value?t.value+\"\\n\":\"\",r={};t.lang&&(r.className=[\"language-\"+t.lang]);let o={type:\"element\",tagName:\"code\",properties:r,children:[{type:\"text\",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:\"element\",tagName:\"pre\",properties:{},children:[o]},e.patch(t,o),o},delete:function(e,t){const n={type:\"element\",tagName:\"del\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){const n={type:\"element\",tagName:\"em\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:function(e,t){const n=\"string\"==typeof e.options.clobberPrefix?e.options.clobberPrefix:\"user-content-\",r=String(t.identifier).toUpperCase(),o=Co(r.toLowerCase()),A=e.footnoteOrder.indexOf(r);let i,a=e.footnoteCounts.get(r);void 0===a?(a=0,e.footnoteOrder.push(r),i=e.footnoteOrder.length):i=A+1,a+=1,e.footnoteCounts.set(r,a);const l={type:\"element\",tagName:\"a\",properties:{href:\"#\"+n+\"fn-\"+o,id:n+\"fnref-\"+o+(a>1?\"-\"+a:\"\"),dataFootnoteRef:!0,ariaDescribedBy:[\"footnote-label\"]},children:[{type:\"text\",value:String(i)}]};e.patch(t,l);const s={type:\"element\",tagName:\"sup\",properties:{},children:[l]};return e.patch(t,s),e.applyData(t,s)},heading:function(e,t){const n={type:\"element\",tagName:\"h\"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.options.allowDangerousHtml){const n={type:\"raw\",value:t.value};return e.patch(t,n),e.applyData(t,n)}},imageReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return JA(e,t);const o={src:Co(r.url||\"\"),alt:t.alt};null!==r.title&&void 0!==r.title&&(o.title=r.title);const A={type:\"element\",tagName:\"img\",properties:o,children:[]};return e.patch(t,A),e.applyData(t,A)},image:function(e,t){const n={src:Co(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:\"element\",tagName:\"img\",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){const n={type:\"text\",value:t.value.replace(/\\r?\\n|\\r/g,\" \")};e.patch(t,n);const r={type:\"element\",tagName:\"code\",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return JA(e,t);const o={href:Co(r.url||\"\")};null!==r.title&&void 0!==r.title&&(o.title=r.title);const A={type:\"element\",tagName:\"a\",properties:o,children:e.all(t)};return e.patch(t,A),e.applyData(t,A)},link:function(e,t){const n={href:Co(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:\"element\",tagName:\"a\",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){const r=e.all(t),o=n?function(e){let t=!1;if(\"list\"===e.type){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=ZA(n[r])}return t}(n):ZA(t),A={},i=[];if(\"boolean\"==typeof t.checked){const e=r[0];let n;e&&\"element\"===e.type&&\"p\"===e.tagName?n=e:(n={type:\"element\",tagName:\"p\",properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:\"text\",value:\" \"}),n.children.unshift({type:\"element\",tagName:\"input\",properties:{type:\"checkbox\",checked:t.checked,disabled:!0},children:[]}),A.className=[\"task-list-item\"]}let a=-1;for(;++a<r.length;){const e=r[a];(o||0!==a||\"element\"!==e.type||\"p\"!==e.tagName)&&i.push({type:\"text\",value:\"\\n\"}),\"element\"!==e.type||\"p\"!==e.tagName||o?i.push(e):i.push(...e.children)}const l=r[r.length-1];l&&(o||\"element\"!==l.type||\"p\"!==l.tagName)&&i.push({type:\"text\",value:\"\\n\"});const s={type:\"element\",tagName:\"li\",properties:A,children:i};return e.patch(t,s),e.applyData(t,s)},list:function(e,t){const n={},r=e.all(t);let o=-1;for(\"number\"==typeof t.start&&1!==t.start&&(n.start=t.start);++o<r.length;){const e=r[o];if(\"element\"===e.type&&\"li\"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(\"task-list-item\")){n.className=[\"contains-task-list\"];break}}const A={type:\"element\",tagName:t.ordered?\"ol\":\"ul\",properties:n,children:e.wrap(r,!0)};return e.patch(t,A),e.applyData(t,A)},paragraph:function(e,t){const n={type:\"element\",tagName:\"p\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},root:function(e,t){const n={type:\"root\",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)},strong:function(e,t){const n={type:\"element\",tagName:\"strong\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},table:function(e,t){const n=e.all(t),r=n.shift(),o=[];if(r){const n={type:\"element\",tagName:\"thead\",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),o.push(n)}if(n.length>0){const r={type:\"element\",tagName:\"tbody\",properties:{},children:e.wrap(n,!0)},A=Sr(t.children[1]),i=Cr(t.children[t.children.length-1]);A&&i&&(r.position={start:A,end:i}),o.push(r)}const A={type:\"element\",tagName:\"table\",properties:{},children:e.wrap(o,!0)};return e.patch(t,A),e.applyData(t,A)},tableCell:function(e,t){const n={type:\"element\",tagName:\"td\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){const r=n?n.children:void 0,o=0===(r?r.indexOf(t):1)?\"th\":\"td\",A=n&&\"table\"===n.type?n.align:void 0,i=A?A.length:t.children.length;let a=-1;const l=[];for(;++a<i;){const n=t.children[a],r={},i=A?A[a]:void 0;i&&(r.align=i);let s={type:\"element\",tagName:o,properties:r,children:[]};n&&(s.children=e.all(n),e.patch(n,s),s=e.applyData(n,s)),l.push(s)}const s={type:\"element\",tagName:\"tr\",properties:{},children:e.wrap(l,!0)};return e.patch(t,s),e.applyData(t,s)},text:function(e,t){const n={type:\"text\",value:$A(String(t.value))};return e.patch(t,n),e.applyData(t,n)},thematicBreak:function(e,t){const n={type:\"element\",tagName:\"hr\",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)},toml:ni,yaml:ni,definition:ni,footnoteDefinition:ni};function ni(){}const ri=\"object\"==typeof self?self:globalThis,oi=e=>((e,t)=>{const n=(t,n)=>(e.set(n,t),t),r=o=>{if(e.has(o))return e.get(o);const[A,i]=t[o];switch(A){case 0:case-1:return n(i,o);case 1:{const e=n([],o);for(const t of i)e.push(r(t));return e}case 2:{const e=n({},o);for(const[t,n]of i)e[r(t)]=r(n);return e}case 3:return n(new Date(i),o);case 4:{const{source:e,flags:t}=i;return n(new RegExp(e,t),o)}case 5:{const e=n(new Map,o);for(const[t,n]of i)e.set(r(t),r(n));return e}case 6:{const e=n(new Set,o);for(const t of i)e.add(r(t));return e}case 7:{const{name:e,message:t}=i;return n(new ri[e](t),o)}case 8:return n(BigInt(i),o);case\"BigInt\":return n(Object(BigInt(i)),o);case\"ArrayBuffer\":return n(new Uint8Array(i).buffer,i);case\"DataView\":{const{buffer:e}=new Uint8Array(i);return n(new DataView(e),i)}}return n(new ri[A](i),o)};return r})(new Map,e)(0),Ai=\"\",{toString:ii}={},{keys:ai}=Object,li=e=>{const t=typeof e;if(\"object\"!==t||!e)return[0,t];const n=ii.call(e).slice(8,-1);switch(n){case\"Array\":return[1,Ai];case\"Object\":return[2,Ai];case\"Date\":return[3,Ai];case\"RegExp\":return[4,Ai];case\"Map\":return[5,Ai];case\"Set\":return[6,Ai];case\"DataView\":return[1,n]}return n.includes(\"Array\")?[1,n]:n.includes(\"Error\")?[7,n]:[2,n]},si=([e,t])=>0===e&&(\"function\"===t||\"symbol\"===t),ci=(e,{json:t,lossy:n}={})=>{const r=[];return((e,t,n,r)=>{const o=(e,t)=>{const o=r.push(e)-1;return n.set(t,o),o},A=r=>{if(n.has(r))return n.get(r);let[i,a]=li(r);switch(i){case 0:{let t=r;switch(a){case\"bigint\":i=8,t=r.toString();break;case\"function\":case\"symbol\":if(e)throw new TypeError(\"unable to serialize \"+a);t=null;break;case\"undefined\":return o([-1],r)}return o([i,t],r)}case 1:{if(a){let e=r;return\"DataView\"===a?e=new Uint8Array(r.buffer):\"ArrayBuffer\"===a&&(e=new Uint8Array(r)),o([a,[...e]],r)}const e=[],t=o([i,e],r);for(const t of r)e.push(A(t));return t}case 2:{if(a)switch(a){case\"BigInt\":return o([a,r.toString()],r);case\"Boolean\":case\"Number\":case\"String\":return o([a,r.valueOf()],r)}if(t&&\"toJSON\"in r)return A(r.toJSON());const n=[],l=o([i,n],r);for(const t of ai(r))(e||!si(li(r[t])))&&n.push([A(t),A(r[t])]);return l}case 3:return o([i,r.toISOString()],r);case 4:{const{source:e,flags:t}=r;return o([i,{source:e,flags:t}],r)}case 5:{const t=[],n=o([i,t],r);for(const[n,o]of r)(e||!si(li(n))&&!si(li(o)))&&t.push([A(n),A(o)]);return n}case 6:{const t=[],n=o([i,t],r);for(const n of r)(e||!si(li(n)))&&t.push(A(n));return n}}const{message:l}=r;return o([i,{name:a,message:l}],r)};return A})(!(t||n),!!t,new Map,r)(e),r},ui=\"function\"==typeof structuredClone?(e,t)=>t&&(\"json\"in t||\"lossy\"in t)?oi(ci(e,t)):structuredClone(e):(e,t)=>oi(ci(e,t));function di(e,t){const n=[{type:\"text\",value:\"↩\"}];return t>1&&n.push({type:\"element\",tagName:\"sup\",properties:{},children:[{type:\"text\",value:String(t)}]}),n}function pi(e,t){return\"Back to reference \"+(e+1)+(t>1?\"-\"+t:\"\")}const fi=function(e){if(null==e)return gi;if(\"function\"==typeof e)return hi(e);if(\"object\"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=fi(e[n]);return hi(r);function r(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}}(e):function(e){const t=e;return hi(n);function n(n){const r=n;let o;for(o in e)if(r[o]!==t[o])return!1;return!0}}(e);if(\"string\"==typeof e)return function(e){return hi(t);function t(t){return t&&t.type===e}}(e);throw new Error(\"Expected function, string, or object as test\")};function hi(e){return function(t,n,r){return!(!function(e){return null!==e&&\"object\"==typeof e&&\"type\"in e}(t)||!e.call(this,t,\"number\"==typeof n?n:void 0,r||void 0))}}function gi(){return!0}const mi=[],vi=!0,bi=!1;function wi(e,t,n,r){let o;\"function\"==typeof t&&\"function\"!=typeof n?(r=n,n=t):o=t;const A=fi(o),i=r?-1:1;!function e(o,a,l){const s=o&&\"object\"==typeof o?o:{};if(\"string\"==typeof s.type){const e=\"string\"==typeof s.tagName?s.tagName:\"string\"==typeof s.name?s.name:void 0;Object.defineProperty(c,\"name\",{value:\"node (\"+o.type+(e?\"<\"+e+\">\":\"\")+\")\"})}return c;function c(){let s,c,u,d=mi;if((!t||A(o,a,l[l.length-1]||void 0))&&(d=function(e){return Array.isArray(e)?e:\"number\"==typeof e?[vi,e]:null==e?mi:[e]}(n(o,l)),d[0]===bi))return d;if(\"children\"in o&&o.children){const t=o;if(t.children&&\"skip\"!==d[0])for(c=(r?t.children.length:-1)+i,u=l.concat(t);c>-1&&c<t.children.length;){const n=t.children[c];if(s=e(n,c,u)(),s[0]===bi)return s;c=\"number\"==typeof s[1]?s[1]:c+i}}return d}}(e,void 0,[])()}function yi(e,t,n,r){let o,A,i;\"function\"==typeof t?(A=void 0,i=t,o=n):(A=t,i=n,o=r),wi(e,A,function(e,t){const n=t[t.length-1],r=n?n.children.indexOf(e):void 0;return i(e,r,n)},o)}const xi={}.hasOwnProperty,Ei={};function Bi(e,t){const n=t||Ei,r=new Map,o=new Map,A=new Map,i={...ti,...n.handlers},a={all:function(e){const t=[];if(\"children\"in e){const n=e.children;let r=-1;for(;++r<n.length;){const o=a.one(n[r],e);if(o){if(r&&\"break\"===n[r-1].type&&(!Array.isArray(o)&&\"text\"===o.type&&(o.value=Si(o.value)),!Array.isArray(o)&&\"element\"===o.type)){const e=o.children[0];e&&\"text\"===e.type&&(e.value=Si(e.value))}Array.isArray(o)?t.push(...o):t.push(o)}}}return t},applyData:ki,definitionById:r,footnoteById:o,footnoteCounts:A,footnoteOrder:[],handlers:i,one:function(e,t){const n=e.type,r=a.handlers[n];if(xi.call(a.handlers,n)&&r)return r(a,e,t);if(a.options.passThrough&&a.options.passThrough.includes(n)){if(\"children\"in e){const{children:t,...n}=e,r=ui(n);return r.children=a.all(e),r}return ui(e)}return(a.options.unknownHandler||Di)(a,e,t)},options:n,patch:Pi,wrap:Ci};return yi(e,function(e){if(\"definition\"===e.type||\"footnoteDefinition\"===e.type){const t=\"definition\"===e.type?r:o,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),a}function Pi(e,t){e.position&&(t.position=function(e){const t=Sr(e),n=Cr(e);if(t&&n)return{start:t,end:n}}(e))}function ki(e,t){let n=t;if(e&&e.data){const t=e.data.hName,r=e.data.hChildren,o=e.data.hProperties;if(\"string\"==typeof t)if(\"element\"===n.type)n.tagName=t;else{n={type:\"element\",tagName:t,properties:{},children:\"children\"in n?n.children:[n]}}\"element\"===n.type&&o&&Object.assign(n.properties,ui(o)),\"children\"in n&&n.children&&null!=r&&(n.children=r)}return n}function Di(e,t){const n=t.data||{},r=!(\"value\"in t)||xi.call(n,\"hProperties\")||xi.call(n,\"hChildren\")?{type:\"element\",tagName:\"div\",properties:{},children:e.all(t)}:{type:\"text\",value:t.value};return e.patch(t,r),e.applyData(t,r)}function Ci(e,t){const n=[];let r=-1;for(t&&n.push({type:\"text\",value:\"\\n\"});++r<e.length;)r&&n.push({type:\"text\",value:\"\\n\"}),n.push(e[r]);return t&&e.length>0&&n.push({type:\"text\",value:\"\\n\"}),n}function Si(e){let t=0,n=e.charCodeAt(t);for(;9===n||32===n;)t++,n=e.charCodeAt(t);return e.slice(t)}function Ii(e,t){const n=Bi(e,t),r=n.one(e,void 0),o=function(e){const t=\"string\"==typeof e.options.clobberPrefix?e.options.clobberPrefix:\"user-content-\",n=e.options.footnoteBackContent||di,r=e.options.footnoteBackLabel||pi,o=e.options.footnoteLabel||\"Footnotes\",A=e.options.footnoteLabelTagName||\"h2\",i=e.options.footnoteLabelProperties||{className:[\"sr-only\"]},a=[];let l=-1;for(;++l<e.footnoteOrder.length;){const o=e.footnoteById.get(e.footnoteOrder[l]);if(!o)continue;const A=e.all(o),i=String(o.identifier).toUpperCase(),s=Co(i.toLowerCase());let c=0;const u=[],d=e.footnoteCounts.get(i);for(;void 0!==d&&++c<=d;){u.length>0&&u.push({type:\"text\",value:\" \"});let e=\"string\"==typeof n?n:n(l,c);\"string\"==typeof e&&(e={type:\"text\",value:e}),u.push({type:\"element\",tagName:\"a\",properties:{href:\"#\"+t+\"fnref-\"+s+(c>1?\"-\"+c:\"\"),dataFootnoteBackref:\"\",ariaLabel:\"string\"==typeof r?r:r(l,c),className:[\"data-footnote-backref\"]},children:Array.isArray(e)?e:[e]})}const p=A[A.length-1];if(p&&\"element\"===p.type&&\"p\"===p.tagName){const e=p.children[p.children.length-1];e&&\"text\"===e.type?e.value+=\" \":p.children.push({type:\"text\",value:\" \"}),p.children.push(...u)}else A.push(...u);const f={type:\"element\",tagName:\"li\",properties:{id:t+\"fn-\"+s},children:e.wrap(A,!0)};e.patch(o,f),a.push(f)}if(0!==a.length)return{type:\"element\",tagName:\"section\",properties:{dataFootnotes:!0,className:[\"footnotes\"]},children:[{type:\"element\",tagName:A,properties:{...ui(i),id:\"footnote-label\"},children:[{type:\"text\",value:o}]},{type:\"text\",value:\"\\n\"},{type:\"element\",tagName:\"ol\",properties:{},children:e.wrap(a,!0)},{type:\"text\",value:\"\\n\"}]}}(n),A=Array.isArray(r)?{type:\"root\",children:r}:r||{type:\"root\",children:[]};return o&&A.children.push({type:\"text\",value:\"\\n\"},o),A}function Ti(e,t){return e&&\"run\"in e?async function(n,r){const o=Ii(n,{file:r,...t});await e.run(o,r)}:function(n,r){return Ii(n,{file:r,...e||t})}}function Qi(e){if(e)throw e}var Mi,Oi;var Li=function(){if(Oi)return Mi;Oi=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===t.call(e)},A=function(n){if(!n||\"[object Object]\"!==t.call(n))return!1;var r,o=e.call(n,\"constructor\"),A=n.constructor&&n.constructor.prototype&&e.call(n.constructor.prototype,\"isPrototypeOf\");if(n.constructor&&!o&&!A)return!1;for(r in n);return typeof r>\"u\"||e.call(n,r)},i=function(e,t){n&&\"__proto__\"===t.name?n(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},a=function(t,n){if(\"__proto__\"===n){if(!e.call(t,n))return;if(r)return r(t,n).value}return t[n]};return Mi=function e(){var t,n,r,l,s,c,u=arguments[0],d=1,p=arguments.length,f=!1;for(\"boolean\"==typeof u&&(f=u,u=arguments[1]||{},d=2),(null==u||\"object\"!=typeof u&&\"function\"!=typeof u)&&(u={});d<p;++d)if(null!=(t=arguments[d]))for(n in t)r=a(u,n),u!==(l=a(t,n))&&(f&&l&&(A(l)||(s=o(l)))?(s?(s=!1,c=r&&o(r)?r:[]):c=r&&A(r)?r:{},i(u,{name:n,newValue:e(f,c,l)})):typeof l<\"u\"&&i(u,{name:n,newValue:l}));return u},Mi}();const Ni=wr(Li);function Hi(e){if(\"object\"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)}function Ri(){const e=[],t={run:function(...t){let n=-1;const r=t.pop();if(\"function\"!=typeof r)throw new TypeError(\"Expected function as last argument, not \"+r);!function o(A,...i){const a=e[++n];let l=-1;if(A)r(A);else{for(;++l<t.length;)(null===i[l]||void 0===i[l])&&(i[l]=t[l]);t=i,a?function(e,t){let n;return r;function r(...t){const r=e.length>t.length;let i;r&&t.push(o);try{i=e.apply(this,t)}catch(e){if(r&&n)throw e;return o(e)}r||(i&&i.then&&\"function\"==typeof i.then?i.then(A,o):i instanceof Error?o(i):A(i))}function o(e,...r){n||(n=!0,t(e,...r))}function A(e){o(null,e)}}(a,o)(...i):r(null,...i)}}(null,...t)},use:function(n){if(\"function\"!=typeof n)throw new TypeError(\"Expected `middelware` to be a function, not \"+n);return e.push(n),t}};return t}const zi={basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');ji(e);let n,r=0,o=-1,A=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;A--;)if(47===e.codePointAt(A)){if(n){r=A+1;break}}else o<0&&(n=!0,o=A+1);return o<0?\"\":e.slice(r,o)}if(t===e)return\"\";let i=-1,a=t.length-1;for(;A--;)if(47===e.codePointAt(A)){if(n){r=A+1;break}}else i<0&&(n=!0,i=A+1),a>-1&&(e.codePointAt(A)===t.codePointAt(a--)?a<0&&(o=A):(a=-1,o=i));return r===o?o=i:o<0&&(o=e.length),e.slice(r,o)},dirname:function(e){if(ji(e),0===e.length)return\".\";let t,n=-1,r=e.length;for(;--r;)if(47===e.codePointAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.codePointAt(0)?\"/\":\".\":1===n&&47===e.codePointAt(0)?\"//\":e.slice(0,n)},extname:function(e){ji(e);let t,n=e.length,r=-1,o=0,A=-1,i=0;for(;n--;){const a=e.codePointAt(n);if(47!==a)r<0&&(t=!0,r=n+1),46===a?A<0?A=n:1!==i&&(i=1):A>-1&&(i=-1);else if(t){o=n+1;break}}return A<0||r<0||0===i||1===i&&A===r-1&&A===o+1?\"\":e.slice(A,r)},join:function(...e){let t,n=-1;for(;++n<e.length;)ji(e[n]),e[n]&&(t=void 0===t?e[n]:t+\"/\"+e[n]);return void 0===t?\".\":function(e){ji(e);const t=47===e.codePointAt(0);let n=function(e,t){let n,r,o=\"\",A=0,i=-1,a=0,l=-1;for(;++l<=e.length;){if(l<e.length)n=e.codePointAt(l);else{if(47===n)break;n=47}if(47===n){if(i!==l-1&&1!==a)if(i!==l-1&&2===a){if(o.length<2||2!==A||46!==o.codePointAt(o.length-1)||46!==o.codePointAt(o.length-2))if(o.length>2){if(r=o.lastIndexOf(\"/\"),r!==o.length-1){r<0?(o=\"\",A=0):(o=o.slice(0,r),A=o.length-1-o.lastIndexOf(\"/\")),i=l,a=0;continue}}else if(o.length>0){o=\"\",A=0,i=l,a=0;continue}t&&(o=o.length>0?o+\"/..\":\"..\",A=2)}else o.length>0?o+=\"/\"+e.slice(i+1,l):o=e.slice(i+1,l),A=l-i-1;i=l,a=0}else 46===n&&a>-1?a++:a=-1}return o}(e,!t);return 0===n.length&&!t&&(n=\".\"),n.length>0&&47===e.codePointAt(e.length-1)&&(n+=\"/\"),t?\"/\"+n:n}(t)},sep:\"/\"};function ji(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}const Fi={cwd:function(){return\"/\"}};function Ui(e){return!!(null!==e&&\"object\"==typeof e&&\"href\"in e&&e.href&&\"protocol\"in e&&e.protocol&&void 0===e.auth)}function qi(e){if(\"string\"==typeof e)e=new URL(e);else if(!Ui(e)){const t=new TypeError('The \"path\" argument must be of type string or an instance of URL. Received `'+e+\"`\");throw t.code=\"ERR_INVALID_ARG_TYPE\",t}if(\"file:\"!==e.protocol){const e=new TypeError(\"The URL must be of scheme file\");throw e.code=\"ERR_INVALID_URL_SCHEME\",e}return function(e){if(\"\"!==e.hostname){const e=new TypeError('File URL host must be \"localhost\" or empty on darwin');throw e.code=\"ERR_INVALID_FILE_URL_HOST\",e}const t=e.pathname;let n=-1;for(;++n<t.length;)if(37===t.codePointAt(n)&&50===t.codePointAt(n+1)){const e=t.codePointAt(n+2);if(70===e||102===e){const e=new TypeError(\"File URL path must not include encoded / characters\");throw e.code=\"ERR_INVALID_FILE_URL_PATH\",e}}return decodeURIComponent(t)}(e)}const _i=[\"history\",\"path\",\"basename\",\"stem\",\"extname\",\"dirname\"];class Yi{constructor(e){let t;var n;t=e?Ui(e)?{path:e}:\"string\"==typeof e||(n=e)&&\"object\"==typeof n&&\"byteLength\"in n&&\"byteOffset\"in n?{value:e}:e:{},this.cwd=\"cwd\"in t?\"\":Fi.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r,o=-1;for(;++o<_i.length;){const e=_i[o];e in t&&void 0!==t[e]&&null!==t[e]&&(this[e]=\"history\"===e?[...t[e]]:t[e])}for(r in t)_i.includes(r)||(this[r]=t[r])}get basename(){return\"string\"==typeof this.path?zi.basename(this.path):void 0}set basename(e){Wi(e,\"basename\"),Gi(e,\"basename\"),this.path=zi.join(this.dirname||\"\",e)}get dirname(){return\"string\"==typeof this.path?zi.dirname(this.path):void 0}set dirname(e){Vi(this.basename,\"dirname\"),this.path=zi.join(e||\"\",this.basename)}get extname(){return\"string\"==typeof this.path?zi.extname(this.path):void 0}set extname(e){if(Gi(e,\"extname\"),Vi(this.dirname,\"extname\"),e){if(46!==e.codePointAt(0))throw new Error(\"`extname` must start with `.`\");if(e.includes(\".\",1))throw new Error(\"`extname` cannot contain multiple dots\")}this.path=zi.join(this.dirname,this.stem+(e||\"\"))}get path(){return this.history[this.history.length-1]}set path(e){Ui(e)&&(e=qi(e)),Wi(e,\"path\"),this.path!==e&&this.history.push(e)}get stem(){return\"string\"==typeof this.path?zi.basename(this.path,this.extname):void 0}set stem(e){Wi(e,\"stem\"),Gi(e,\"stem\"),this.path=zi.join(this.dirname||\"\",e+(this.extname||\"\"))}fail(e,t,n){const r=this.message(e,t,n);throw r.fatal=!0,r}info(e,t,n){const r=this.message(e,t,n);return r.fatal=void 0,r}message(e,t,n){const r=new Lr(e,t,n);return this.path&&(r.name=this.path+\":\"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(e){return void 0===this.value?\"\":\"string\"==typeof this.value?this.value:new TextDecoder(e||void 0).decode(this.value)}}function Gi(e,t){if(e&&e.includes(zi.sep))throw new Error(\"`\"+t+\"` cannot be a path: did not expect `\"+zi.sep+\"`\")}function Wi(e,t){if(!e)throw new Error(\"`\"+t+\"` cannot be empty\")}function Vi(e,t){if(!e)throw new Error(\"Setting `\"+t+\"` requires `path` to be set too\")}const Xi=function(e){const t=this.constructor.prototype,n=t[e],r=function(){return n.apply(r,arguments)};return Object.setPrototypeOf(r,t),r},Ki={}.hasOwnProperty;class Ji extends Xi{constructor(){super(\"copy\"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Ri()}copy(){const e=new Ji;let t=-1;for(;++t<this.attachers.length;){const n=this.attachers[t];e.use(...n)}return e.data(Ni(!0,{},this.namespace)),e}data(e,t){return\"string\"==typeof e?2===arguments.length?(ta(\"data\",this.frozen),this.namespace[e]=t,this):Ki.call(this.namespace,e)&&this.namespace[e]||void 0:e?(ta(\"data\",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...n]=this.attachers[this.freezeIndex];if(!1===n[0])continue;!0===n[0]&&(n[0]=void 0);const r=t.call(e,...n);\"function\"==typeof r&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const t=oa(e),n=this.parser||this.Parser;return $i(\"parse\",n),n(String(t),t)}process(e,t){const n=this;return this.freeze(),$i(\"process\",this.parser||this.Parser),ea(\"process\",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,o){const A=oa(e),i=n.parse(A);function a(e,n){e||!n?o(e):r?r(n):t(void 0,n)}n.run(i,A,function(e,t,r){if(e||!t||!r)return a(e);const o=t,A=n.stringify(o,r);var i;\"string\"==typeof(i=A)||function(e){return!!(e&&\"object\"==typeof e&&\"byteLength\"in e&&\"byteOffset\"in e)}(i)?r.value=A:r.result=A,a(e,r)})}}processSync(e){let t,n=!1;return this.freeze(),$i(\"processSync\",this.parser||this.Parser),ea(\"processSync\",this.compiler||this.Compiler),this.process(e,function(e,r){n=!0,Qi(e),t=r}),ra(\"processSync\",\"process\",n),t}run(e,t,n){na(e),this.freeze();const r=this.transformers;return!n&&\"function\"==typeof t&&(n=t,t=void 0),n?o(void 0,n):new Promise(o);function o(o,A){const i=oa(t);r.run(e,i,function(t,r,i){const a=r||e;t?A(t):o?o(a):n(void 0,a,i)})}}runSync(e,t){let n,r=!1;return this.run(e,t,function(e,t){Qi(e),n=t,r=!0}),ra(\"runSync\",\"run\",r),n}stringify(e,t){this.freeze();const n=oa(t),r=this.compiler||this.Compiler;return ea(\"stringify\",r),na(e),r(e,n)}use(e,...t){const n=this.attachers,r=this.namespace;if(ta(\"use\",this.frozen),null!=e)if(\"function\"==typeof e)a(e,t);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");Array.isArray(e)?i(e):A(e)}return this;function o(e){if(\"function\"==typeof e)a(e,[]);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");if(Array.isArray(e)){const[t,...n]=e;a(t,n)}else A(e)}}function A(e){if(!(\"plugins\"in e)&&!(\"settings\"in e))throw new Error(\"Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither\");i(e.plugins),e.settings&&(r.settings=Ni(!0,r.settings,e.settings))}function i(e){let t=-1;if(null!=e){if(!Array.isArray(e))throw new TypeError(\"Expected a list of plugins, not `\"+e+\"`\");for(;++t<e.length;){o(e[t])}}}function a(e,t){let r=-1,o=-1;for(;++r<n.length;)if(n[r][0]===e){o=r;break}if(-1===o)n.push([e,...t]);else if(t.length>0){let[r,...A]=t;const i=n[o][1];Hi(i)&&Hi(r)&&(r=Ni(!0,i,r)),n[o]=[e,r,...A]}}}}const Zi=(new Ji).freeze();function $i(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `parser`\")}function ea(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `compiler`\")}function ta(e,t){if(t)throw new Error(\"Cannot call `\"+e+\"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.\")}function na(e){if(!Hi(e)||\"string\"!=typeof e.type)throw new TypeError(\"Expected node, got `\"+e+\"`\")}function ra(e,t,n){if(!n)throw new Error(\"`\"+e+\"` finished async. Use `\"+t+\"` instead\")}function oa(e){return function(e){return!!(e&&\"object\"==typeof e&&\"message\"in e&&\"messages\"in e)}(e)?e:new Yi(e)}const Aa=[],ia={allowDangerousHtml:!0},aa=/^(https?|ircs?|mailto|xmpp)$/i,la=[{from:\"astPlugins\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"allowDangerousHtml\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"allowNode\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"allowElement\"},{from:\"allowedTypes\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"allowedElements\"},{from:\"disallowedTypes\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"disallowedElements\"},{from:\"escapeHtml\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"includeElementIndex\",id:\"#remove-includeelementindex\"},{from:\"includeNodeIndex\",id:\"change-includenodeindex-to-includeelementindex\"},{from:\"linkTarget\",id:\"remove-linktarget\"},{from:\"plugins\",id:\"change-plugins-to-remarkplugins\",to:\"remarkPlugins\"},{from:\"rawSourcePos\",id:\"#remove-rawsourcepos\"},{from:\"renderers\",id:\"change-renderers-to-components\",to:\"components\"},{from:\"source\",id:\"change-source-to-children\",to:\"children\"},{from:\"sourcePos\",id:\"#remove-sourcepos\"},{from:\"transformImageUri\",id:\"#add-urltransform\",to:\"urlTransform\"},{from:\"transformLinkUri\",id:\"#add-urltransform\",to:\"urlTransform\"}];function sa(e){const t=e.allowedElements,n=e.allowElement,r=e.children||\"\",o=e.className,A=e.components,i=e.disallowedElements,a=e.rehypePlugins||Aa,l=e.remarkPlugins||Aa,s=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...ia}:ia,c=e.skipHtml,u=e.unwrapDisallowed,d=e.urlTransform||ca,p=Zi().use(KA).use(l).use(Ti,s).use(a),f=new Yi;\"string\"==typeof r&&(f.value=r);for(const t of la)Object.hasOwn(e,t.from)&&(t.from,t.to&&t.to,t.id);const v=p.parse(f);let b=p.runSync(v,f);return o&&(b={type:\"element\",tagName:\"div\",properties:{className:o},children:\"root\"===b.type?b.children:[b]}),yi(b,function(e,r,o){if(\"raw\"===e.type&&o&&\"number\"==typeof r)return c?o.children.splice(r,1):o.children[r]={type:\"text\",value:e.value},r;if(\"element\"===e.type){let t;for(t in eo)if(Object.hasOwn(eo,t)&&Object.hasOwn(e.properties,t)){const n=e.properties[t],r=eo[t];(null===r||r.includes(e.tagName))&&(e.properties[t]=d(String(n||\"\"),t,e))}}if(\"element\"===e.type){let A=t?!t.includes(e.tagName):!!i&&i.includes(e.tagName);if(!A&&n&&\"number\"==typeof r&&(A=!n(e,r,o)),A&&o&&\"number\"==typeof r)return u&&e.children?o.children.splice(r,1,...e.children):o.children.splice(r,1),r}}),qr(b,{Fragment:m,components:A,ignoreInvalidStyle:!0,jsx:h,jsxs:g,passKeys:!0,passNode:!0})}function ca(e){const t=e.indexOf(\":\"),n=e.indexOf(\"?\"),r=e.indexOf(\"#\"),o=e.indexOf(\"/\");return-1===t||-1!==o&&t>o||-1!==n&&t>n||-1!==r&&t>r||aa.test(e.slice(0,t))?e:\"\"}const ua=({children:e})=>h(\"div\",{style:{whiteSpace:\"normal\"},children:h(sa,{components:{p:({...e})=>h(\"p\",{style:{margin:0,marginBottom:\"0.5em\",lineHeight:1.4,textAlign:\"left\"},children:e.children}),ul:({...e})=>h(\"ul\",{style:{paddingLeft:\"clamp(8px, 3.5vw, 16px)\",margin:0,listStylePosition:\"inside\"},children:e.children}),ol:({...e})=>h(\"ol\",{style:{paddingLeft:\"clamp(8px, 3.5vw, 16px)\",margin:0,listStylePosition:\"inside\"},children:e.children}),li:({...e})=>h(\"li\",{style:{marginBottom:\"1px\",lineHeight:1.4},children:e.children}),code:({inline:e,children:t})=>e?h(\"code\",{style:{backgroundColor:\"rgba(0, 0, 0, 0.3)\",padding:\"2px 4px\",borderRadius:\"4px\",fontFamily:\"inherit\",fontSize:\"0.95em\"},children:t}):h(\"pre\",{style:{backgroundColor:\"rgba(0, 0, 0, 0.3)\",padding:\"8px\",borderRadius:\"4px\",overflowX:\"auto\",margin:\"0.5em 0\",whiteSpace:\"pre-wrap\"},children:h(\"code\",{children:t})}),blockquote:({...e})=>h(\"blockquote\",{style:{margin:0,paddingLeft:\"10px\",borderLeft:\"2px solid #ccc\",color:\"#666\",fontStyle:\"italic\"},children:e.children})},children:\"string\"==typeof e?e:\"\"})}),da={autoConfig:!0},pa=e=>()=>(e=>{const{getFlow:t}=Jt(),{messages:n,replaceMessages:r}=Zt(),{settings:o}=en(),{hasChatHistoryLoaded:A}=nn(),i={...e,...da},a=i.markdownComponent?i.markdownComponent:ua;l(()=>{var e,t;if(A){const A=[...n];for(let n=0;n<A.length&&n<((null==(e=o.chatHistory)?void 0:e.maxEntries)??30);n++){const e=A[n];null!=(t=e.tags)&&t.includes(\"rcb-markdown-renderer-plugin:parsed\")&&(e.contentWrapper=a)}r(A)}},[A]);const s=async e=>{var n;const r=null==(n=e.data.message)?void 0:n.sender.toUpperCase();((e,t,n)=>{var r;if(\"string\"!=typeof e.data.message.content||!e.detail.currPath)return!1;const o=t[e.detail.currPath];return!!o&&((null==(r=o.renderMarkdown)?void 0:r.map(e=>e.toUpperCase()).includes(n))??!1)})(e,t(),r)&&(e.data.message.contentWrapper=a,e.data.message.tags||(e.data.message.tags=[]),e.data.message.tags.push(\"rcb-markdown-renderer-plugin:parsed\"))};$t(X.PRE_INJECT_MESSAGE,s),$t(X.CHUNK_STREAM_MESSAGE,s),$t(X.START_STREAM_MESSAGE,s),$t(X.START_SIMULATE_STREAM_MESSAGE,s);const c={name:\"@rcb-plugins/markdown-renderer\"};return null!=i&&i.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0}}),c})(e),fa={autoConfig:!0,promptBaseColors:{info:\"#007bff\",warning:\"#ffc107\",error:\"#dc3545\",success:\"#28a745\"},promptHoveredColors:{info:\"#0056b3\",warning:\"#d39e00\",error:\"#c82333\",success:\"#218838\"},textAreaHighlightColors:{info:\"#007bff\",warning:\"#ffc107\",error:\"#dc3545\",success:\"#28a745\"}},ha=(e,t,n=\"validateTextInput\")=>{var r;if(null==(r=e.detail)||!r.currPath)return;const o=t[e.detail.currPath];if(!o)return;const A=o[n];return\"function\"==typeof A?A:void 0},ga=e=>{const{showToast:t}=(()=>{const{showToast:e,dismissToast:t,toasts:n,replaceToasts:r}=lt();return{showToast:e,dismissToast:t,toasts:n,replaceToasts:r}})(),{getFlow:n}=Jt(),{styles:r,updateStyles:o,replaceStyles:A}=(()=>{const{styles:e,replaceStyles:t,updateStyles:n}=Ft();return{styles:e,replaceStyles:t,updateStyles:n}})(),s=(e=>({...fa,...e,promptBaseColors:{...fa.promptBaseColors},promptHoveredColors:{...fa.promptHoveredColors},textAreaHighlightColors:{...fa.textAreaHighlightColors}}))(e),[c,u]=a(0),d=i({});$t(X.USER_SUBMIT_TEXT,e=>{const A=e,i=ha(A,n(),\"validateTextInput\");if(!i)return;const a=i(A.data.inputText);if(null!=a&&a.success||e.preventDefault(),!a.promptContent)return;0===c&&(d.current=structuredClone(r));const l=((e,t)=>{const n=e.promptType??\"info\";let r={};return t.advancedStyles&&(r=t.advancedStyles[n]),t.promptBaseColors&&(r.toastPromptStyle={color:t.promptBaseColors[n],borderColor:t.promptBaseColors[n]}),t.promptHoveredColors&&(r.toastPromptHoveredStyle={color:t.promptHoveredColors[n],borderColor:t.promptHoveredColors[n]}),t.textAreaHighlightColors&&(e.highlightTextArea??!0)&&(r.chatInputAreaStyle={boxShadow:`${t.textAreaHighlightColors[n]} 0px 0px 5px`}),r})(a,s);o(l),t(a.promptContent,a.promptDuration??3e3),u(e=>e+1)}),$t(X.USER_UPLOAD_FILE,e=>{var r,o;const A=e,i=null==(o=null==(r=A.data)?void 0:r.files)?void 0:o[0];if(!i)return console.error(\"No file uploaded.\"),void e.preventDefault();const a=ha(A,n(),\"validateFileInput\");if(!a)return void console.error(\"Validator not found for file input.\");const l=a(i);if(!l.success)return console.error(\"Validation failed:\",l),l.promptContent&&t(l.promptContent,l.promptDuration??3e3),void e.preventDefault();console.log(\"Validation successful:\",l)}),$t(X.DISMISS_TOAST,()=>{u(e=>e-1)}),l(()=>{0===c&&setTimeout(()=>{A(d.current)})},[c,A]);const p={name:\"@rcb-plugins/input-validator\"};return s.autoConfig&&(p.settings={event:{rcbUserSubmitText:!0,rcbUserUploadFile:!0,rcbDismissToast:!0}}),p},ma=n((e,t)=>{let{embedded:n,currentOpen:r,enabled:o,onSetEnabled:A}=e;const a=Zt(),s=(()=>{const{isChatWindowOpen:e,toggleChatWindow:t,toggleIsBotTyping:n,scrollToBottom:r,getIsChatBotVisible:o}=ne();return{isChatWindowOpen:e,toggleChatWindow:t,toggleIsBotTyping:n,scrollToBottom:r,getIsChatBotVisible:o}})(),c=i(!1),u=i(!1);return l(()=>{!n&&s&&s.toggleChatWindow&&(c.current===r||u.current||(setTimeout(()=>{s&&s.toggleChatWindow&&s.toggleChatWindow(r)},0),c.current=null!=r&&r),u.current=!1)},[r,n,s]),l(()=>{const e=()=>{u.current=!0};return window.addEventListener(\"rcb-toggle-chat-window\",e),()=>window.removeEventListener(\"rcb-toggle-chat-window\",e)}),p(t,()=>({addMessage:e=>{a&&a.injectMessage&&a.injectMessage(e)},openChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow(!0)},closeChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow(!1)},toggleChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow()},setBotEnabled:e=>{A&&A(e)}}),[a,s,n,A]),null});ma.displayName=\"BotController\";const va=r(null),ba=e=>{let{trackEvent:n,children:r}=e;const o=i(n);return o.current=n,t.createElement(va.Provider,{value:{trackEvent:e=>o.current(e)}},r)},wa=()=>{const e=o(va);return e||{trackEvent:()=>{}}},ya=e=>{let{loginUrl:n,className:r=\"\",style:o,isHeaderButton:A=!1}=e;const{trackEvent:i}=wa(),a=A?{display:\"inline-block\",padding:\"6px 12px\",backgroundColor:\"transparent\",border:\"1px solid #ccc\",color:\"white\",textDecoration:\"none\",borderRadius:\"4px\",fontWeight:\"normal\",textAlign:\"center\",margin:\"8px\",fontSize:\"12px\",opacity:.8,transition:\"all 0.2s ease\"}:{display:\"inline-block\",padding:\"10px 20px\",backgroundColor:\"white\",border:\"1px solid var(--primaryColor, #107180)\",color:\"var(--primaryColor, #107180)\",textDecoration:\"none\",borderRadius:\"4px\",fontWeight:\"bold\",textAlign:\"center\",margin:\"18px\",boxShadow:\"0 2px 4px rgba(0, 0, 0, 0.2)\"};return t.createElement(t.Fragment,null,A&&t.createElement(\"style\",null,\"\\n .rcb-chat-header-container .qa-bot-header-login-button:hover {\\n background-color: #0000001a !important;\\n opacity: 1 !important;\\n }\\n \"),t.createElement(\"a\",{href:n,target:\"_blank\",rel:\"noopener noreferrer\",className:\"qa-bot-login-button \".concat(A?\"qa-bot-header-login-button\":\"\",\" \").concat(r),style:Object.assign(Object.assign({},a),o),onClick:()=>{i({type:\"chatbot_login_clicked\",loginUrl:n})}},\"Log In\"))},xa=()=>t.createElement(\"div\",{className:\"user-login-icon\",style:{alignItems:\"center\",justifyContent:\"center\",width:\"30px\",height:\"30px\",borderRadius:\"50%\",backgroundColor:\"var(--primaryColor, #1a5b6e)\",marginRight:\"5px\",display:\"flex\"},role:\"img\",\"aria-label\":\"User logged in\",title:\"User logged in\"},t.createElement(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},t.createElement(\"path\",{d:\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"}),t.createElement(\"circle\",{cx:\"12\",cy:\"7\",r:\"4\"}))),Ea=[];for(let e=0;e<256;++e)Ea.push((e+256).toString(16).slice(1));let Ba;const Pa=new Uint8Array(16);var ka={randomUUID:\"undefined\"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Da(e,t,n){if(ka.randomUUID&&!e)return ka.randomUUID();const r=(e=e||{}).random??e.rng?.()??function(){if(!Ba){if(\"undefined\"==typeof crypto||!crypto.getRandomValues)throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");Ba=crypto.getRandomValues.bind(crypto)}return Ba(Pa)}();if(r.length<16)throw new Error(\"Random bytes length must be >= 16\");return r[6]=15&r[6]|64,r[8]=63&r[8]|128,function(e,t=0){return(Ea[e[t+0]]+Ea[e[t+1]]+Ea[e[t+2]]+Ea[e[t+3]]+\"-\"+Ea[e[t+4]]+Ea[e[t+5]]+\"-\"+Ea[e[t+6]]+Ea[e[t+7]]+\"-\"+Ea[e[t+8]]+Ea[e[t+9]]+\"-\"+Ea[e[t+10]]+Ea[e[t+11]]+Ea[e[t+12]]+Ea[e[t+13]]+Ea[e[t+14]]+Ea[e[t+15]]).toLowerCase()}(r)}function Ca(){return\"undefined\"!=typeof localStorage&&\"true\"===localStorage.getItem(\"QA_BOT_DEBUG\")}const Sa=\"background: #1a5b6e; color: white; padding: 2px 6px; border-radius: 3px;\",Ia=\"background: #7c3aed; color: white; padding: 2px 6px; border-radius: 3px;\",Ta=\"background: #059669; color: white; padding: 2px 6px; border-radius: 3px;\",Qa=\"background: #f59e0b; color: #000; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;\",Ma=\"background: #fbbf24; color: #000; padding: 2px 6px; border-radius: 0 3px 3px 0;\",Oa=()=>{Ca()&&console.log(\"%c QA Bot Core %c v\".concat(\"0.2.19\",\" \"),Qa,Ma)},La=function(e){if(Ca()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(\"%c[Session]%c \".concat(e),Sa,\"\",...n)}},Na=function(e){if(Ca()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(\"%c[History]%c \".concat(e),Ia,\"\",...n)}},Ha=(e,t)=>{Ca()&&console.log(\"%c[Message]%c \".concat(e),Ta,\"\",t)},Ra=function(){console.warn(...arguments)},za=function(){console.error(...arguments)},ja=\"qa_bot_session_messages\",Fa=()=>\"qa_bot_session_\".concat(Da()),Ua=()=>{try{const e=localStorage.getItem(ja);return e?JSON.parse(e):{}}catch(e){return{}}},qa=(e,t,n,r,o)=>{const A=Ua();!A[e]&&(A[e]={messages:[],startedAt:(new Date).toISOString(),preview:\"\"},Na(\"NEW session created\",{sessionId:e.slice(-12)}));if(A[e].messages.some(e=>e.id===t))return void Na(\"DUPLICATE message skipped\",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:r});const i={id:t,content:n,sender:r,type:o,timestamp:Date.now()};A[e].messages.push(i),Na(\"MESSAGE added\",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:r,totalInSession:A[e].messages.length});const a=A[e].messages,l=a.find(e=>{var t;return\"bot\"===e.sender.toLowerCase()&&(null===(t=e.content)||void 0===t?void 0:t.trim())&&e.content.length>=100});if(l){const t=l.content;A[e].preview=t.slice(0,50)+(t.length>50?\"...\":\"\")}else{const t=a.find(e=>{var t;return\"user\"===e.sender.toLowerCase()&&(null===(t=e.content)||void 0===t?void 0:t.trim())});if(t&&!A[e].preview){const n=t.content;A[e].preview=n.slice(0,50)+(n.length>50?\"...\":\"\")}}(e=>{var t;const n=()=>Object.values(e).reduce((e,t)=>e+t.messages.length,0);for(;n()>100&&Object.keys(e).length>1;){const n=null===(t=Object.entries(e).sort((e,t)=>{let[,n]=e,[,r]=t;return new Date(n.startedAt).getTime()-new Date(r.startedAt).getTime()})[0])||void 0===t?void 0:t[0];if(!n)break;delete e[n]}localStorage.setItem(ja,JSON.stringify(e))})(A),Na(\"STORAGE state\",{ourSessions:Object.keys(A).length,ourTotalMessages:Object.values(A).reduce((e,t)=>e+t.messages.length,0)})},_a=e=>{var t,n;return null!==(n=null===(t=Ua()[e])||void 0===t?void 0:t.messages.length)&&void 0!==n?n:0},Ya=e=>{const t=Ua()[e];return(null==t?void 0:t.startedAt)?Date.now()-new Date(t.startedAt).getTime():0},Ga=r(void 0),Wa=e=>{let{children:n,getSessionId:r,setSessionId:o,resetSession:A,clearResettingFlag:i}=e;return t.createElement(Ga.Provider,{value:{getSessionId:r,setSessionId:o,resetSession:A,clearResettingFlag:i}},n)},Va=()=>{const e=o(Ga);if(!e)throw new Error(\"useSession must be used within a SessionProvider\");return e},Xa=()=>{const[e,n]=a(!1),[r,o]=a([]),[A,s]=a(null),[c,u]=a(0),d=i(null),p=i(null),{replaceMessages:f}=Zt(),{toggleTextAreaDisabled:h}=tn(),{setSessionId:g,getSessionId:m}=Va();l(()=>{var t,r;const o=e=>{d.current&&!d.current.contains(e.target)&&p.current&&!p.current.contains(e.target)&&n(!1)},A=null!==(r=null===(t=d.current)||void 0===t?void 0:t.getRootNode())&&void 0!==r?r:document;return e&&A.addEventListener(\"mousedown\",o),()=>{A.removeEventListener(\"mousedown\",o)}},[e]);const v=e=>{var t;const r=m();if(Na(\"RESTORE requested\",{targetSession:e.slice(-12),currentSession:null==r?void 0:r.slice(-12)}),e===r)return Na(\"RESTORE skipped - already on this session\"),void n(!1);const o=(e=>{var t;return(null===(t=Ua()[e])||void 0===t?void 0:t.messages)||[]})(e).filter(e=>{var t;return null===(t=e.content)||void 0===t?void 0:t.trim()});Na(\"Stored messages from our localStorage\",{count:o.length,ids:o.map(e=>e.id.slice(-8))});const A=o.map(e=>({id:e.id,content:e.content,sender:e.sender.toUpperCase(),type:e.type||\"string\",timestamp:new Date(e.timestamp).toISOString()}));var i;g(e),Na(\"Session ID updated\",{newSession:e.slice(-12)}),f(A),Na(\"replaceMessages called\",{count:A.length}),i=null===(t=p.current)||void 0===t?void 0:t.getRootNode(),setTimeout(()=>{const e=(i||document).querySelector(\".rcb-chat-body-container\");e&&e.querySelectorAll(\".rcb-bot-message\").forEach(e=>{var t;let n=e.innerHTML,r=!1;n.includes(\"](\")&&(n=n.replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g,'<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>'),r=!0),n.includes(\"<a href=\")&&(n=n.replace(/<a\\s+href=[\"']([^\"']+)[\"'][^&]*>([^&]+)<\\/a>/gi,'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$2</a>'),r=!0),(n.includes(\"<a \")||(null===(t=e.textContent)||void 0===t?void 0:t.includes(\"<a href=\")))&&(e.textContent||\"\").includes(\"<a href=\")&&(n=n.replace(/<a\\s+href=\"([^\"]+)\"[^&]*>([^&]+)<\\/a>/gi,'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$2</a>'),r=!0),r&&(e.innerHTML=n)})},50),h(!1),Na(\"Chat input enabled after restore\"),n(!1)};return t.createElement(\"div\",{style:{position:\"relative\"}},t.createElement(\"button\",{ref:p,className:\"history-button\",onClick:()=>{if(!e&&(o((()=>{const e=Ua();return Object.entries(e).map(e=>{let[t,n]=e;return Object.assign({sessionId:t},n)}).sort((e,t)=>new Date(t.startedAt).getTime()-new Date(e.startedAt).getTime())})()),p.current)){const e=p.current.closest(\".rcb-chat-window\");if(e){const t=e.getBoundingClientRect(),n=p.current.getBoundingClientRect();s(t.width+3),u(t.right-n.right-18+4)}}n(!e)},style:{alignItems:\"center\",justifyContent:\"center\",width:\"30px\",height:\"30px\",borderRadius:\"50%\",backgroundColor:\"var(--primaryColor, #1a5b6e)\",marginRight:\"18px\",display:\"flex\",border:\"none\",cursor:\"pointer\",padding:0},\"aria-label\":\"View chat history\",title:\"View chat history\",\"aria-expanded\":e,\"aria-haspopup\":\"menu\"},t.createElement(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},t.createElement(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),t.createElement(\"polyline\",{points:\"12 6 12 12 16 14\"}))),e&&t.createElement(\"div\",{ref:d,role:\"menu\",style:{position:\"absolute\",right:c?\"-\".concat(c,\"px\"):\"-18px\",top:\"100%\",marginTop:\"8px\",width:A?\"\".concat(A,\"px\"):\"550px\",backgroundColor:\"white\",borderRadius:0,borderBottom:\"3px solid var(--primaryColor, #1a5b6e)\",boxShadow:\"0 2px 8px rgba(0, 0, 0, 0.1)\",maxHeight:\"250px\",overflowY:\"auto\",zIndex:1e3}},0===r.length?t.createElement(\"div\",{style:{padding:\"12px 16px\",color:\"#666\",fontSize:\"14px\",textAlign:\"center\"}},\"No chat history\"):r.map(e=>t.createElement(\"button\",{key:e.sessionId,role:\"menuitem\",onClick:()=>v(e.sessionId),style:{width:\"100%\",padding:\"10px 14px\",border:\"none\",backgroundColor:\"transparent\",cursor:\"pointer\",textAlign:\"left\",display:\"flex\",flexDirection:\"column\",gap:\"2px\",borderBottom:\"1px solid #eee\"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=\"#f5f5f5\"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=\"transparent\"}},t.createElement(\"span\",{style:{fontSize:\"14px\",color:\"#333\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},e.preview||\"New conversation\"),t.createElement(\"span\",{style:{fontSize:\"12px\",color:\"#888\"}},(e=>{const t=new Date(e),n=(new Date).getTime()-t.getTime(),r=Math.floor(n/864e5);return 0===r?t.toLocaleTimeString([],{hour:\"2-digit\",minute:\"2-digit\"}):1===r?\"Yesterday\":r<7?t.toLocaleDateString([],{weekday:\"short\"}):t.toLocaleDateString([],{month:\"short\",day:\"numeric\"})})(e.startedAt))))))};function Ka(){return Ka=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ka.apply(null,arguments)}const Ja=({width:e=24,height:n=24,color:r=\"currentColor\",children:o,...A})=>t.createElement(\"svg\",Ka({xmlns:\"http://www.w3.org/2000/svg\",width:e,height:n,viewBox:\"0 0 24 24\",fill:\"none\",stroke:r,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},A),o),Za=e=>t.createElement(Ja,e,t.createElement(\"path\",{d:\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"})),$a=()=>{const{restartFlow:e}=Jt(),{setTextAreaValue:n}=tn(),{messages:r}=Zt(),{getSessionId:o,resetSession:A,clearResettingFlag:i}=Va(),{trackEvent:a}=wa();return t.createElement(\"button\",{onClick:async()=>{const t=o(),r=t?_a(t):0;a({type:\"chatbot_new_chat\",previousMessageCount:r}),A(),await n(\"\"),await e(),setTimeout(()=>{i()},100)},tabIndex:0,\"aria-label\":\"New chat conversation\",style:{backgroundColor:\"var(--primaryColor, #107180)\",border:\"none\",color:\"#ffffff\",fontSize:\"14px\",cursor:\"pointer\",padding:\"8px 12px\",borderRadius:\"4px\",transition:\"all 0.2s ease\",display:\"flex\",alignItems:\"center\",gap:\"6px\",fontWeight:\"500\"},onMouseEnter:e=>{e.target.style.backgroundColor=\"var(--secondaryColor, #0d5f6b)\"},onMouseLeave:e=>{e.target.style.backgroundColor=\"var(--primaryColor, #107180)\"}},t.createElement(Za,{width:16,height:16}),\"New Chat\")};function el(e){if(\"string\"==typeof e)return e;if(\"number\"==typeof e)return String(e);if(!e)return\"\";if(Array.isArray(e))return e.map(el).join(\"\");if(\"object\"==typeof e&&null!==e&&\"props\"in e){const t=e.props;if(t&&\"children\"in t)return el(t.children)}return\"\"}const tl=()=>{const{getSessionId:e}=Va(),t=A(t=>{var n;const r=null===(n=t.data)||void 0===n?void 0:n.message;if(!(null==r?void 0:r.id))return;const o=r.sender,A=r.type||\"string\";let i;if(i=\"string\"==typeof r.content?r.content:el(r.content),Ha(\"TRACKED\",{id:r.id,sender:o,content:i.substring(0,50)+(i.length>50?\"...\":\"\")}),i.includes(\"rcb-options-container\"))return;if(!i.trim())return;const a=e();qa(a,r.id,i,o,A)},[e]);return l(()=>(window.addEventListener(\"rcb-pre-inject-message\",t),()=>{window.removeEventListener(\"rcb-pre-inject-message\",t)}),[t]),null},nl=()=>(l(()=>{const e=e=>{if(![\"ArrowDown\",\"ArrowUp\",\"ArrowLeft\",\"ArrowRight\",\"Enter\",\" \",\"Home\",\"End\"].includes(e.key))return;const n=document.activeElement;if(n&&(\"INPUT\"===n.tagName||\"TEXTAREA\"===n.tagName||\"true\"===n.contentEditable||n.classList.contains(\"rcb-chat-input-textarea\")))return;const r=document.querySelector(\".rcb-chat-window\");if(!r)return;const o=Array.from(r.querySelectorAll(\".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container\")).filter(e=>null!==e.offsetParent);if(o.length>0){const t=o[o.length-1].querySelector(\".rcb-checkbox-container\");if(t&&null!==t.offsetParent){const n=Array.from(t.querySelectorAll(\".rcb-checkbox-row-container\")),r=t.querySelector(\".rcb-checkbox-next-button\");if(n.length>0){const t=[...n];return r&&t.push(r),void((e,t)=>{e.preventDefault();let n=-1;for(let e=0;e<t.length;e++)if(t[e]===document.activeElement||t[e].contains(document.activeElement)){n=e;break}-1===n&&(n=0);let r=n;switch(e.key){case\"ArrowDown\":case\"ArrowRight\":r=n<t.length-1?n+1:0;break;case\"ArrowUp\":case\"ArrowLeft\":r=n>0?n-1:t.length-1;break;case\"Home\":r=0;break;case\"End\":r=t.length-1;break;case\"Enter\":case\" \":{const e=t[n],r=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});return void e.dispatchEvent(r)}default:return}t[r].focus(),t[r].setAttribute(\"tabindex\",\"0\"),t[r].classList.add(\"keyboard-focused\"),t.forEach((e,t)=>{t!==r&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))})})(e,t)}}}let A=[];if(o.length>0){const e=o[o.length-1],t=Array.from(e.querySelectorAll(\".rcb-options-container\")).filter(e=>null!==e.offsetParent);if(t.length>0){const e=t[t.length-1];A=Array.from(e.querySelectorAll(\".rcb-options\"))}}if(0===A.length)return;const i=A.findIndex(e=>e===document.activeElement);switch(e.key){case\"ArrowDown\":case\"ArrowRight\":{let t;e.preventDefault(),t=i<A.length-1?i+1:0,A[t].setAttribute(\"tabindex\",\"0\"),A.forEach((e,n)=>{n!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[t].classList.add(\"keyboard-focused\"),A[t].focus();break}case\"ArrowUp\":case\"ArrowLeft\":{let t;e.preventDefault(),t=i>0?i-1:A.length-1,A[t].setAttribute(\"tabindex\",\"0\"),A.forEach((e,n)=>{n!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[t].classList.add(\"keyboard-focused\"),A[t].focus();break}case\"Enter\":case\" \":if(e.preventDefault(),document.activeElement&&A.includes(document.activeElement)){const e=document.activeElement;if(e.classList.contains(\"rcb-checkbox-row-container\")||e.closest(\".rcb-checkbox-row-container\")){const n=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n);const r=e.querySelector(\".rcb-checkbox-label\"),o=r?r.textContent:e.textContent||\"checkbox\",A=e.querySelector(\".rcb-checkbox-mark\"),i=A&&A.style.backgroundColor?\"checked\":\"unchecked\";t(\"\".concat(o,\" \").concat(i))}else{const n=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n);const r=e.textContent||e.innerText;t(\"Selected: \".concat(r))}}break;case\"Home\":e.preventDefault(),A.length>0&&(A[0].setAttribute(\"tabindex\",\"0\"),A.forEach((e,t)=>{0!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[0].classList.add(\"keyboard-focused\"),A[0].focus());break;case\"End\":if(e.preventDefault(),A.length>0){const e=A.length-1;A[e].setAttribute(\"tabindex\",\"0\"),A.forEach((t,n)=>{n!==e&&(t.setAttribute(\"tabindex\",\"-1\"),t.classList.remove(\"keyboard-focused\"))}),A[e].classList.add(\"keyboard-focused\"),A[e].focus()}}},t=e=>{const t=document.createElement(\"div\");t.setAttribute(\"aria-live\",\"assertive\"),t.setAttribute(\"aria-atomic\",\"true\"),t.className=\"sr-only\",t.textContent=e,document.body.appendChild(t),setTimeout(()=>{document.body.contains(t)&&document.body.removeChild(t)},1e3)},n=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(e||(e=document.querySelector(\".rcb-chat-window\"),e||(e=document.querySelector('[class*=\"rcb-chat\"]')),e||(e=document.querySelector(\".qa-bot\"))),!e)return;const n=null!==e.closest(\".embedded-qa-bot\"),r=Array.from(e.querySelectorAll(\".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container\")).filter(e=>null!==e.offsetParent);if(0===r.length)return;const o=r[r.length-1],A=Array.from(o.querySelectorAll(\".rcb-options-container\")).filter(e=>null!==e.offsetParent);let i=[];if(A.length>0){const e=A[A.length-1];i=Array.from(e.querySelectorAll(\".rcb-options\"))}if(0===i.length){let t=o.querySelector(\".rcb-checkbox-container\");if(!t&&e&&(t=e.querySelector(\".rcb-checkbox-container\")),t&&null!==t.offsetParent){const e=Array.from(t.querySelectorAll(\".rcb-checkbox-row-container\")).filter(e=>null!==e.offsetParent&&\"none\"!==e.style.display);if(e.length>0){const r=t.querySelector(\".rcb-checkbox-next-button\"),o=[...e];if(r&&null!==r.offsetParent&&o.push(r),o.forEach((e,t)=>{e.setAttribute(\"tabindex\",0===t?\"0\":\"-1\"),0===t?e.classList.add(\"keyboard-focused\"):e.classList.remove(\"keyboard-focused\")}),e.length>1){t.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove());const e=document.createElement(\"div\");e.className=\"keyboard-nav-hint\",e.textContent=\"Use arrow keys ↕ to navigate, Enter to select/deselect, or click any option\",e.style.cssText=\"font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;\",t.insertBefore(e,t.firstChild)}return void setTimeout(()=>{o[0]&&null!==o[0].offsetParent&&!n&&o[0].focus()},150)}}}if(i.length>0){if(i.forEach((e,t)=>{const n=0===t?\"0\":\"-1\";e.setAttribute(\"tabindex\",n),e.setAttribute(\"role\",\"option\"),e.setAttribute(\"aria-posinset\",t+1),e.setAttribute(\"aria-setsize\",i.length),0===t?e.classList.add(\"keyboard-focused\"):e.classList.remove(\"keyboard-focused\")}),i.length>1){const e=A.length>0?A[A.length-1]:null;if(e){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove());const t=document.createElement(\"div\");t.className=\"keyboard-nav-hint\",t.textContent=\"Use arrow keys ↕ to navigate, Enter to select, or click any option\",t.style.cssText=\"font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;\",e.insertBefore(t,e.firstChild)}}else{const e=A.length>0?A[A.length-1]:null;if(e){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove())}}setTimeout(()=>{i[0]&&null!==i[0].offsetParent&&!n&&(i[0].focus(),i.length>1&&t(\"\".concat(i.length,\" options available. Use arrow keys to navigate.\")))},200)}},r=e=>{const t=e.querySelectorAll(\".rcb-options\");t.forEach((e,n)=>{e.hasAttribute(\"role\")||(e.setAttribute(\"role\",\"button\"),e.setAttribute(\"tabindex\",0===n?\"0\":\"-1\"),e.setAttribute(\"aria-posinset\",n+1),e.setAttribute(\"aria-setsize\",t.length))});e.querySelectorAll(\".rcb-checkbox-row-container\").forEach((e,t)=>{e.hasAttribute(\"role\")||(e.setAttribute(\"role\",\"checkbox\"),e.setAttribute(\"tabindex\",0===t?\"0\":\"-1\"))})},o=new MutationObserver(e=>{e.forEach(e=>{if(\"childList\"===e.type){const A=Array.from(e.addedNodes),i=A.some(e=>{var t,n,r,o;return e.nodeType===Node.ELEMENT_NODE&&((null===(t=e.classList)||void 0===t?void 0:t.contains(\"rcb-options-container\"))||(null===(n=e.classList)||void 0===n?void 0:n.contains(\"rcb-options\"))||(null===(r=e.querySelector)||void 0===r?void 0:r.call(e,\".rcb-options-container\"))||(null===(o=e.querySelector)||void 0===o?void 0:o.call(e,\".rcb-options\")))}),a=A.some(e=>{var t,n;return e.nodeType===Node.ELEMENT_NODE&&((null===(t=e.classList)||void 0===t?void 0:t.contains(\"rcb-checkbox-container\"))||(null===(n=e.querySelector)||void 0===n?void 0:n.call(e,\".rcb-checkbox-container\")))});if(i||a){let A=e.target;for(;A&&(null===(t=A.classList)||void 0===t||!t.contains(\"qa-bot\"))&&(null===(o=A.classList)||void 0===o||!o.contains(\"rcb-chat-window\"));){var t,o;A=A.parentElement}const i=A||document;r(i),i.querySelectorAll(\".rcb-options[tabindex], .rcb-checkbox-row-container[tabindex], .rcb-checkbox-next-button[tabindex]\").forEach(e=>{e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\")}),setTimeout(()=>n(A),100)}}})});o.observe(document.body,{childList:!0,subtree:!0}),document.addEventListener(\"keydown\",e),r(document),n();const A=setInterval(()=>{document.querySelectorAll(\".qa-bot\").forEach(e=>{const t=e.querySelectorAll(\".rcb-options-container .rcb-options\").length>0,o=e.querySelectorAll(\".rcb-checkbox-row-container\").length>0;if(t){r(e);const t=e.querySelectorAll(\".rcb-options[tabindex]\").length;e.querySelectorAll(\".rcb-options\").length>t&&n(e)}if(o){r(e);const t=e.querySelectorAll(\".rcb-checkbox-row-container[tabindex]\").length;e.querySelectorAll(\".rcb-checkbox-row-container\").length>t&&n(e)}})},1e3);return()=>{document.removeEventListener(\"keydown\",e),o.disconnect(),clearInterval(A)}},[]),null);const rl=\"#1a5b6e\",ol=\"#107180\",Al=\"Arial, sans-serif\",il=\"Q&A Bot\",al=\"/chat-icon.svg\",ll=\"Type your question here...\",sl=\"Select an option to continue\",cl=!1,ul=\"Ask me a question!\",dl=\"/login\",pl={general:{showHeader:!0,showFooter:!0},tooltip:{mode:\"CLOSE\"},chatInput:{disabled:!1,characterLimit:1e3,showCharacterCount:!1,allowNewline:!0,blockSpam:!1},chatWindow:{defaultOpen:!1,showScrollbar:!1},botBubble:{simulateStream:!0,streamSpeed:10,showAvatar:!1},userBubble:{showAvatar:!1},notification:{disabled:!0,showCount:!1},audio:{disabled:!0},emoji:{disabled:!0},fileAttachment:{disabled:!0}},fl=n((e,n)=>{var r,o;const{apiKey:c,qaEndpoint:u,ratingEndpoint:d,welcomeMessage:p,open:f,onOpenChange:h,isLoggedIn:g,allowAnonAccess:m=!1,actingUser:v,primaryColor:b,secondaryColor:y,botName:x,logo:E,placeholder:B,errorMessage:P,embedded:k,footerText:D,footerLink:C,tooltipText:S,loginUrl:I,customFlow:T,onAnalyticsEvent:Q}=e,M=i(\"bot_\".concat(Math.random().toString(36).substr(2,9)));l(()=>{Oa()},[]);const O=i(null);null===O.current&&(O.current=Fa(),La(\"CREATED\",O.current));const L=i(!1),N=i({getSessionId:()=>O.current,isResetting:()=>L.current}),[H,R]=a(g);l(()=>{R(g)},[g]);const z=void 0!==k?k:cl,j=A(e=>{var t;Q&&Q(Object.assign(Object.assign({},e),{timestamp:Date.now(),sessionId:null!==(t=O.current)&&void 0!==t?t:void 0,pageUrl:\"undefined\"!=typeof window?window.location.href:void 0,isEmbedded:z}))},[Q,z]),F=s(()=>{const e=Object.assign({},pl);e.general=Object.assign(Object.assign({},e.general),{primaryColor:b||rl,secondaryColor:y||ol,fontFamily:Al,embedded:z});const n=!1===H?[t.createElement(ya,{key:\"login-button\",loginUrl:I||dl,isHeaderButton:!0})]:[t.createElement(Xa,{key:\"history-button\"}),t.createElement(xa,{key:\"user-icon\"})];e.header={title:t.createElement(\"span\",{style:{fontSize:14,fontWeight:500}},x||il),showAvatar:!0,avatar:E||al,buttons:[...n,w.CLOSE_CHAT_BUTTON]},e.chatInput=Object.assign(Object.assign({},e.chatInput),{disabled:!1,enabledPlaceholderText:B||ll,disabledPlaceholderText:P||sl}),e.tooltip=Object.assign(Object.assign({},e.tooltip),{text:S||ul});const r=D?C?t.createElement(\"a\",{href:C,target:\"_blank\",rel:\"noopener noreferrer\",key:\"footer-link\"},D):t.createElement(\"span\",{key:\"footer-text\"},D):null;return e.footer={text:r,buttons:[t.createElement($a,{key:\"new-chat-button\"})]},e.chatWindow=Object.assign(Object.assign({},e.chatWindow),{defaultOpen:!!z}),e.event={rcbPreInjectMessage:!0,rcbPostInjectMessage:!0,rcbUserSubmitText:!0,rcbChangePath:!0,rcbToggleChatWindow:!0},e},[b,y,x,E,B,P,z,S,H,I,D,C]),U=i(null),q=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(()=>{const n=(t,n)=>{if(e.current){const n=getComputedStyle(e.current).getPropertyValue(t);if(n&&\"\"!==n.trim())return n.trim();if(e.current.parentElement){const n=getComputedStyle(e.current.parentElement).getPropertyValue(t);if(n&&\"\"!==n.trim())return n.trim()}}return n};return{primaryColor:n(\"--primaryColor\",t.primaryColor),secondaryColor:n(\"--secondaryColor\",t.secondaryColor),fontFamily:n(\"--fontFamily\",t.fontFamily)}},[e,t])}(U,F.general);((e,t)=>{l(()=>{t.current&&(e?t.current.classList.add(\"bot-logged-in\"):t.current.classList.remove(\"bot-logged-in\"))},[e,t])})(!1!==H,U),(e=>{let{settings:n,themeColors:r}=e;l(()=>{r&&(Object.entries(r).forEach(e=>{let[t,n]=e;n&&document.documentElement.style.setProperty(\"--\".concat(t),n)}),r.primaryColor&&document.documentElement.style.setProperty(\"--rcb-header-background\",r.primaryColor),r.secondaryColor&&document.documentElement.style.setProperty(\"--rcb-header-background-hover\",r.secondaryColor))},[r]),l(()=>{var e,r;(null===(e=n.header)||void 0===e?void 0:e.title)&&\"string\"==typeof n.header.title&&(n.header.title=t.createElement(\"div\",{key:\"header-title\"},t.createElement(\"h1\",{className:\"sr-only\"},n.header.title),t.createElement(\"span\",{\"aria-hidden\":\"true\"},n.header.title))),n.device={desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!1},n.chatHistory={disabled:!0},n.chatButton=Object.assign(Object.assign({},n.chatButton),{icon:null===(r=n.header)||void 0===r?void 0:r.avatar}),n.event=Object.assign(Object.assign({},n.event),{rcbToggleChatWindow:!0})},[n])})({settings:F,themeColors:q});const _=s(()=>{const e=(e=>{let{endpoint:n,ratingEndpoint:r,apiKey:o,sessionId:A,isResetting:i=()=>!1,isLoggedIn:a,allowAnonAccess:l=!1,loginUrl:s=\"/login\",trackEvent:c}=e;if(!1===a&&!l)return null==c||c({type:\"chatbot_login_prompt_shown\"}),{qa_loop:{message:\"To ask questions, please log in first.\",component:t.createElement(ya,{loginUrl:s}),chatDisabled:!0,path:\"qa_loop\"}};let u=null,d=!1;if(!n)throw new Error(\"Q&A endpoint is required\");return{qa_loop:{message:async e=>{const{userInput:t}=e;if(i&&i())return null;if(!t||\"\"===t.trim())return null;if(\"👍 Helpful\"===t||\"👎 Not helpful\"===t){if(r&&u)try{const e=\"👍 Helpful\"===t,n={\"Content-Type\":\"application/json\"};o&&(n[\"X-API-KEY\"]=o);const i=A();i&&(n[\"X-Session-ID\"]=i,n[\"X-Query-ID\"]=u),await fetch(r,{method:\"POST\",headers:n,credentials:\"include\",body:JSON.stringify({sessionId:i,queryId:u,rating:e?1:0})}),null==c||c({type:\"chatbot_rating_sent\",queryId:u,rating:e?\"helpful\":\"not_helpful\"})}catch(e){za(\"Error sending feedback:\",e)}return\"Thanks for the feedback! Feel free to ask another question.\"}try{const r=Da();u=r,null==c||c({type:\"chatbot_question_sent\",queryId:r,questionLength:t.length});const i={\"Content-Type\":\"application/json\"};o&&(i[\"X-API-KEY\"]=o);const a=A();a&&(i[\"X-Session-ID\"]=a,i[\"X-Query-ID\"]=r);const l={query:t,session_id:a,question_id:r};La(\"SENT to API\",{session_id:a,question_id:r});const s=Date.now(),p=await fetch(n,{method:\"POST\",headers:i,credentials:\"include\",body:JSON.stringify(l)}),f=Date.now()-s;if(!p.ok)throw new Error(\"API returned \".concat(p.status));const h=await p.json(),g=h.response||h.answer||h.text||h.message;if(!g)throw new Error(\"Invalid response format from API\");const m=(e=>{if(!e||\"string\"!=typeof e)return e;let t=e.replace(/\\[(https?:\\/\\/[^\\s]+?)\\]/gi,\"[$1]($1)\");return t=t.replace(/(?<!\\]\\(|href=[\"']|\\[)https?:\\/\\/[^\\s[\\]()]+/gi,e=>{let t=e,n=\"\";const r=t.match(/([.,;:!?]+)$/);return r&&(n=r[1],t=t.slice(0,-n.length)),\"[\".concat(t,\"](\").concat(t,\")\").concat(n)}),t})(g),v=function(e){const{confidence:t,tools_used:n,metadata:r}=e;if(!(t||n&&0!==n.length))return\"\";const o=[];return t&&o.push(\"• Confidence: \".concat(t)),n&&n.length>0&&o.push(\"• Tools used: \".concat(n.join(\", \"))),(null==r?void 0:r.agent)&&o.push(\"• Agent: \".concat(r.agent)),\"---\\n\".concat(o.join(\"\\n\"))}(h),b=v?\"\".concat(m,\"\\n\\n\").concat(v):m;return await e.injectMessage(b),null==c||c({type:\"chatbot_answer_received\",queryId:r,responseTimeMs:f,success:!0,responseLength:g.length,hasMetadata:!!v}),d=!0,setTimeout(async()=>{await e.injectMessage(\"Feel free to ask another question.\")},100),null}catch(e){return za(\"Error in Q&A flow:\",e),null==c||c({type:\"chatbot_answer_error\",queryId:null!=u?u:void 0,errorType:e instanceof Error?e.message:\"unknown\"}),\"I apologize, but I'm having trouble processing your question. Please try again later.\"}},options:e=>i&&i()||\"👍 Helpful\"===e.userInput||\"👎 Not helpful\"===e.userInput?[]:r&&d?[\"👍 Helpful\",\"👎 Not helpful\"]:[],renderMarkdown:[\"BOT\"],chatDisabled:!1,path:\"qa_loop\"}}})({endpoint:u,ratingEndpoint:d,apiKey:c,sessionId:N.current.getSessionId,isResetting:N.current.isResetting,isLoggedIn:H,allowAnonAccess:m,loginUrl:I||dl,trackEvent:j}),n={message:p,renderMarkdown:[\"BOT\"],transition:{duration:0},path:\"qa_loop\"};return Object.assign(Object.assign({start:n},e),T||{})},[c,u,d,p,H,m,I,T,v,j]),Y=s(()=>{return[()=>Qn(t),pa(),()=>ga(e)];var e,t},[]);return l(()=>{const e=()=>{const e=document.querySelector(\".rcb-chat-window\");if(!e)return;const t=e.querySelector(\".rcb-send-button\");t&&(t.hasAttribute(\"tabindex\")||t.setAttribute(\"tabindex\",\"0\"),t.hasAttribute(\"data-keyboard-enabled\")||(t.setAttribute(\"data-keyboard-enabled\",\"true\"),t.addEventListener(\"keydown\",e=>{if(\"Enter\"===e.key||\" \"===e.key){e.preventDefault();const n=t&&Object.keys(t).find(e=>e.startsWith(\"__reactProps\"));if(n){const r=t[n],o=null==r?void 0:r.onMouseDown;if(o&&\"function\"==typeof o)return void o(e)}const r=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(r)}})))},t=setInterval(e,1e3);return e(),()=>clearInterval(t)},[]),nl(),l(()=>{const e=U.current;if(!e)return;const t=e=>{var t,n,r;const o=null===(n=(t=e.target).closest)||void 0===n?void 0:n.call(t,\"a\");o&&o.closest(\".rcb-chat-body-container\")&&(o.classList.contains(\"qa-bot-login-button\")||o.closest(\".rcb-options-container\")||j({type:\"chatbot_link_clicked\",linkUrl:o.href,linkText:(null===(r=o.textContent)||void 0===r?void 0:r.trim())||\"\"}))};return e.addEventListener(\"click\",t),()=>e.removeEventListener(\"click\",t)},[j]),l(()=>{if(!z){const e=e=>{const t=e.data.newState;null==h||h(t);const n=O.current;j(t?{type:\"chatbot_open\"}:{type:\"chatbot_close\",messageCount:n?_a(n):0,durationMs:n?Ya(n):0})};return window.addEventListener(\"rcb-toggle-chat-window\",e),()=>{window.removeEventListener(\"rcb-toggle-chat-window\",e)}}},[z,h,j]),t.createElement(\"div\",{className:\"qa-bot \".concat((null===(r=F.general)||void 0===r?void 0:r.embedded)?\"embedded-qa-bot\":\"\"),ref:U,role:\"region\",\"aria-label\":x||il},t.createElement(Wa,{getSessionId:()=>O.current,setSessionId:e=>{const t=O.current;O.current=e,La(\"RESTORED\",\"\".concat(null==t?void 0:t.slice(-12),\" -> \").concat(e.slice(-12)))},resetSession:()=>{const e=O.current;L.current=!0,O.current=Fa(),La(\"RESET\",\"\".concat(null==e?void 0:e.slice(-12),\" -> \").concat(O.current.slice(-12)))},clearResettingFlag:()=>{L.current=!1}},t.createElement(ba,{trackEvent:j},t.createElement(Yt,null,t.createElement(\"div\",null,t.createElement(tl,null),t.createElement(ma,{ref:n,embedded:(null===(o=F.general)||void 0===o?void 0:o.embedded)||!1,currentOpen:f||!1,enabled:!1!==H,onSetEnabled:e=>R(!!e&&void 0)}),t.createElement(Xt,{key:\"chatbot-\".concat(M.current,\"-\").concat(H),settings:F,flow:_,plugins:Y}),t.createElement(\"div\",{role:\"status\",\"aria-live\":\"polite\",\"aria-label\":\"Bot response updates\",className:\"sr-only\",id:\"bot-live-region\"}),t.createElement(\"div\",{id:\"chat-input-help\",className:\"sr-only\"},\"Type your message and press Enter to send. Use arrow keys to navigate through response options.\"))))))});fl.displayName=\"QABot\";b('.rcb-chat-window{height:800px!important;max-height:80vh!important;max-width:100%;width:550px!important}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:var(--primaryColor,#107180)}.rcb-chat-window .rcb-bot-message a,.rcb-chat-window .rcb-bot-message a:link,.rcb-chat-window .rcb-bot-message a:visited{color:#fff!important;text-decoration:underline!important}.rcb-chat-window .rcb-bot-message a:hover{opacity:.85;text-decoration:underline!important}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.qa-bot .history-button,.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .history-button,.qa-bot.bot-logged-in .user-login-icon{display:flex!important;transform:scale(1.3) translateY(-2px)}.qa-bot.bot-logged-in .history-button:hover{opacity:.8}.qa-bot.bot-logged-in .history-button:focus{outline:2px solid #fff;outline-offset:2px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.rcb-chat-window{max-height:calc(100vh - 100px)!important;max-width:calc(100vw - 40px)!important;width:550px!important}.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}.rcb-bot-message,.rcb-user-message{max-width:85%!important}.rcb-chat-input-textarea{font-size:16px!important;min-height:44px!important}.rcb-chat-header{padding:12px 16px!important}}@media (max-width:480px){.rcb-chat-window{bottom:10px!important;left:10px!important;max-height:calc(100vh - 80px)!important;max-width:calc(100vw - 20px)!important;right:10px!important;width:calc(100vw - 20px)!important}.embedded-chat-container.open{height:350px}.rcb-bot-message,.rcb-user-message{margin-bottom:8px!important;max-width:90%!important}.rcb-chat-header{font-size:14px!important;padding:8px 12px!important}.rcb-chat-button{bottom:20px!important;height:50px!important;right:20px!important;width:50px!important}.rcb-chat-footer-container{font-size:9px!important;padding:8px 12px!important}}@media (max-width:360px){.rcb-chat-window{left:5px!important;max-width:calc(100vw - 10px)!important;right:5px!important;width:calc(100vw - 10px)!important}.rcb-chat-header{font-size:13px!important;padding:6px 8px!important}}.rcb-checkbox-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-left:16px!important;max-width:100%!important;padding-top:12px!important}.rcb-checkbox-row-container{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--primaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-row-container:hover{background-color:#e8f4f8!important;border-color:var(--primaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-row-container[data-checked=true]{background-color:var(--primaryColor,#107180)!important;border-color:var(--primaryColor,#107180)!important;color:#fff!important}.rcb-checkbox-row{margin-left:0!important}.rcb-checkbox-mark{height:14px!important;margin-right:6px!important;width:14px!important}.rcb-checkbox-label{font-size:13px!important;margin:0!important;white-space:nowrap!important}.rcb-checkbox-next-button{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;justify-content:center!important;line-height:24px!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-next-button:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.rcb-chat-input-send-button:focus,.rcb-chat-input-textarea:focus{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-user-message{word-wrap:break-word!important;overflow:hidden!important;word-break:break-word!important}:focus-visible{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-options-container{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin:16px!important;padding:0!important}.rcb-options{background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;outline:none!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-options:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-next-button.keyboard-focused,.rcb-checkbox-next-button:focus,.rcb-checkbox-next-button:focus-visible,.rcb-checkbox-row-container.keyboard-focused,.rcb-checkbox-row-container:focus,.rcb-checkbox-row-container:focus-visible,.rcb-options.keyboard-focused,.rcb-options:focus,.rcb-options:focus-visible{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;outline:none!important}.rcb-options:active{background-color:var(--secondaryColor,#107180)!important;border-color:var(--secondaryColor,#107180)!important;color:#fff!important;transform:translateY(0)!important}.keyboard-nav-hint{color:#666!important;font-size:12px!important;font-style:italic!important;margin-bottom:8px!important}@media (prefers-reduced-motion:reduce){.keyboard-nav-hint{display:none!important}}.rcb-options-container [role=button][tabindex=\"0\"],.rcb-options-container button[tabindex=\"0\"]{position:relative!important}.rcb-options-container [role=button][tabindex=\"0\"]:after,.rcb-options-container button[tabindex=\"0\"]:after{color:var(--secondaryColor,#107180)!important;content:\"←\"!important;font-size:16px!important;opacity:0!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;transition:opacity .2s ease!important}.rcb-options-container [role=button][tabindex=\"0\"]:focus:after,.rcb-options-container button[tabindex=\"0\"]:focus:after{opacity:1!important}.rcb-chat-input-send-button{cursor:pointer!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.rcb-chat-input-send-button:not([tabindex]){-webkit-user-select:none;-moz-user-select:none;user-select:none}.rcb-chat-input-container [onclick],.rcb-chat-input-container [role=button],.rcb-chat-input-container div[style*=cursor],.rcb-chat-input-container svg:last-child,.rcb-chat-input-container>div:last-child{tabindex:0!important;cursor:pointer!important}.rcb-chat-footer{margin-top:4px!important;padding-top:0!important}.rcb-chat-footer-container{align-items:center!important;display:flex!important;margin-top:4px!important;padding-top:4px!important}.rcb-chat-footer-container button{order:1!important}.rcb-chat-footer-container a[href*=qa-bot-core]{tab-index:0!important;order:2!important}.rcb-chat-footer-container a[href*=feedback]{tab-index:0!important;order:3!important}@media (prefers-contrast:high){.rcb-chat-window a{background-color:#fff!important;border:1px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rcb-chat-input-textarea{user-select:text!important}.rcb-chat-body-container,.rcb-chat-input-textarea,.rcb-chat-window{touch-action:pan-y!important}.embedded-qa-bot,.rcb-chat-window{-webkit-overflow-scrolling:touch!important}.embedded-qa-bot .rcb-chat-input-textarea{touch-action:pan-y!important;user-select:text!important}.embedded-qa-bot .rcb-chat-body-container,.embedded-qa-bot .rcb-chat-window{touch-action:pan-y!important}.rcb-chat-header-container{background:var(--primaryColor,#1a5b6e)!important;background:linear-gradient(135deg,var(--primaryColor,#1a5b6e) 0,var(--secondaryColor,#107180) 100%)!important}.rcb-toggle-button{align-items:center!important;background:var(--primaryColor,#1a5b6e)!important;display:flex!important;justify-content:center!important}.rcb-toggle-button svg{stroke:#fff!important;color:#fff!important}.rcb-toggle-button *,.rcb-toggle-button img,.rcb-toggle-button svg,.rcb-toggle-button>*{box-sizing:border-box!important;height:50px!important;left:0!important;margin:0 auto!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:2px!important;position:relative!important;top:0!important;width:50px!important}.rcb-send-button{background-color:var(--primaryColor,#1a5b6e)!important}',{insertAt:\"top\"});const hl=()=>{const[e,t]=a(!1),n=()=>\"undefined\"!=typeof navigator&&void 0!==navigator.mediaDevices&&\"function\"==typeof navigator.mediaDevices.getDisplayMedia;return{captureScreenshot:async()=>{if(!n())throw new Error(\"Screen capture is not available in this environment\");try{t(!0);const e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:\"browser\",cursor:\"always\",width:{ideal:1920},height:{ideal:1080}},audio:!1}),n=document.createElement(\"video\");n.srcObject=e,await new Promise(e=>{n.onloadedmetadata=()=>{n.play(),e()}});const r=document.createElement(\"canvas\");r.width=n.videoWidth,r.height=n.videoHeight;const o=r.getContext(\"2d\");if(!o)throw new Error(\"Could not get canvas context\");o.drawImage(n,0,0,r.width,r.height);const A=await new Promise(e=>r.toBlob(e,\"image/png\"));if(!A)throw new Error(\"Could not create image blob\");const i=(new Date).toISOString().replace(/[:.]/g,\"-\"),a=new File([A],\"screenshot-\".concat(i,\".png\"),{type:\"image/png\"});return e.getTracks().forEach(e=>e.stop()),t(!1),a}catch(e){throw za(\"Error capturing screenshot:\",e),t(!1),e}},isCapturing:e,isScreenCaptureAvailable:n()}},gl=e=>t.createElement(Ja,e,t.createElement(\"path\",{d:\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}),t.createElement(\"polyline\",{points:\"17 8 12 3 7 8\"}),t.createElement(\"line\",{x1:\"12\",y1:\"3\",x2:\"12\",y2:\"15\"})),ml=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{if(\"string\"!=typeof r.result)return void n(new Error(\"Failed to read file \".concat(e.name)));const o=r.result.split(\",\")[1];t({fileName:e.name,contentType:e.type,size:e.size,fileData:o})},r.onerror=()=>n(new Error(\"Failed to read file \".concat(e.name))),r.readAsDataURL(e)}),vl=e=>Promise.all(e.map(ml)),bl=function(e){const t=1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:10)*1024;return e.size<=t},wl=e=>e<1024?\"\".concat(e,\" B\"):e<1048576?\"\".concat((e/1024).toFixed(1),\" KB\"):\"\".concat((e/1048576).toFixed(1),\" MB\"),yl=e=>{let{onFileUpload:n,maxSizeMB:r=10,acceptedTypes:o=\"image/*,application/pdf,text/*,.doc,.docx\",enableScreenshot:A=!1,className:l}=e;const[s,c]=a(!1),[u,d]=a([]),[p,f]=a(null),h=i(null),{captureScreenshot:g,isCapturing:m,isScreenCaptureAvailable:v}=hl(),b=e=>{const t=document.createElement(\"div\");t.setAttribute(\"aria-live\",\"assertive\"),t.setAttribute(\"aria-atomic\",\"true\"),t.className=\"sr-only\",t.textContent=e,document.body.appendChild(t),setTimeout(()=>document.body.removeChild(t),1e3)},w=e=>{if(!e||0===e.length)return void Ra(\"FileUploadComponent: No valid files provided to handleFiles\");let t;try{t=Array.from(e)}catch(e){return za(\"FileUploadComponent: Error converting files to array:\",e),void b(\"Error processing selected files. Please try again.\")}const r=[...u,...t];d(r);const o=t.length,A=t.map(e=>e.name).join(\", \");b(\"\".concat(o,\" file\").concat(o>1?\"s\":\"\",\" selected: \").concat(A)),setTimeout(()=>{const e=document.querySelector(\".rcb-chat-content\");e&&(e.scrollTop=e.scrollHeight)},100),n&&n(r)},y=e=>{e.preventDefault(),e.stopPropagation(),\"dragenter\"===e.type||\"dragover\"===e.type?c(!0):\"dragleave\"===e.type&&c(!1)},x=()=>{try{h.current&&h.current.click()}catch(e){za(\"FileUploadComponent: Error in handleButtonClick:\",e),b(\"Error opening file selection dialog. Please try again.\")}},E=()=>{f(null)},B=A&&v;return t.createElement(\"div\",{className:\"file-upload-container \".concat(l||\"\"),style:{padding:\"16px\",margin:\"8px 0\"}},B&&t.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"center\",marginBottom:\"10px\"}},t.createElement(\"button\",{onClick:e=>{e.preventDefault(),(async()=>{try{const e=await g();w([e]),b(\"Screenshot captured successfully\")}catch(e){b(\"Error capturing screenshot. Please try again.\")}})()},disabled:m,\"aria-describedby\":\"screenshot-help\",\"aria-label\":m?\"Taking screenshot, please wait\":\"Take a screenshot to attach\",style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",backgroundColor:\"#107180\",color:\"white\",border:\"none\",borderRadius:\"5px\",padding:\"8px 12px\",cursor:m?\"not-allowed\":\"pointer\",fontSize:\"14px\",fontWeight:\"500\",boxShadow:\"0 1px 3px rgba(0,0,0,0.2)\"}},t.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},t.createElement(\"path\",{d:\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"}),t.createElement(\"circle\",{cx:\"12\",cy:\"13\",r:\"4\"})),m?\"Taking screenshot...\":\"Take screenshot...\"),t.createElement(\"span\",{id:\"screenshot-help\",className:\"sr-only\"},\"Captures the current screen and adds it as an attachment\")),t.createElement(\"div\",{className:\"file-upload-dropzone \".concat(s?\"active\":\"\"),onDragEnter:y,onDragLeave:y,onDragOver:y,onDrop:e=>{var t;e.preventDefault(),e.stopPropagation(),c(!1);try{(null===(t=e.dataTransfer)||void 0===t?void 0:t.files)&&e.dataTransfer.files.length>0&&w(e.dataTransfer.files)}catch(e){za(\"FileUploadComponent: Error in handleDrop:\",e),b(\"Error processing dropped files. Please try again.\")}},role:\"button\",tabIndex:0,\"aria-label\":\"File upload area. Click to select files or drag and drop files here.\",\"aria-describedby\":\"upload-instructions\",onKeyDown:e=>{\"Enter\"!==e.key&&\" \"!==e.key||(e.preventDefault(),x())},style:{padding:\"20px\",border:\"2px dashed #ccc\",borderRadius:\"8px\",backgroundColor:s?\"#f0f8ff\":\"#fafafa\",transition:\"all 0.3s ease\"}},t.createElement(\"input\",{ref:h,type:\"file\",className:\"file-input\",onChange:e=>{var t;try{(null===(t=e.target)||void 0===t?void 0:t.files)&&e.target.files.length>0&&w(e.target.files)}catch(e){za(\"FileUploadComponent: Error in handleFileSelect:\",e),b(\"Error processing selected files. Please try again.\")}},multiple:!0,style:{display:\"none\"},\"aria-label\":\"Select files to upload\",accept:o}),t.createElement(\"div\",{className:\"upload-content\",onClick:x,style:{cursor:\"pointer\",flexDirection:\"column\",alignItems:\"center\",display:\"flex\",textAlign:\"center\",padding:\"12px\"}},t.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:\"8px\"}},t.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",gap:\"10px\"}},t.createElement(gl,null),t.createElement(\"p\",{style:{margin:0,fontWeight:\"bold\"}},\"Upload Files\")),t.createElement(\"p\",{id:\"upload-instructions\",style:{margin:0,fontSize:\"14px\",color:\"#666\"}},\"Drag and drop files here or click to select. (Max \",r,\"MB each)\")),u.length>0&&t.createElement(\"div\",{className:\"selected-files\",style:{display:\"flex\",flexWrap:\"wrap\",gap:\"8px\",marginTop:\"12px\",alignItems:\"center\"}},t.createElement(\"span\",{style:{fontWeight:400,color:\"#888\",fontSize:\"13px\",marginRight:\"8px\",alignSelf:\"center\"}},\"Selected files:\"),u.map((e,r)=>t.createElement(\"span\",{key:r,style:{background:\"#fff\",color:\"#107180\",borderRadius:\"5px\",padding:\"4px 12px\",fontSize:\"14px\",marginRight:\"4px\",marginBottom:\"4px\",border:\"1px solid #ccc\",display:\"flex\",alignItems:\"center\",gap:\"6px\",cursor:\"pointer\"},onClick:t=>{t.stopPropagation(),(e=>{f(e)})(e)}},t.createElement(\"span\",{onClick:e=>{e.stopPropagation(),(e=>{const t=u.filter((t,n)=>n!==e);d(t),n&&n(t)})(r)},style:{cursor:\"pointer\",color:\"#888\",fontWeight:\"bold\",fontSize:\"15px\",marginRight:\"4px\",userSelect:\"none\",lineHeight:1},title:\"Remove file\",\"aria-label\":\"Remove \".concat(e.name)},\"×\"),e.name,\" (\",wl(e.size),\")\"))))),(()=>{if(!p)return null;const e=p.type.startsWith(\"image/\"),n=p.type.startsWith(\"text/\"),r=\"application/pdf\"===p.type;return t.createElement(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,backgroundColor:\"rgba(0, 0, 0, 0.7)\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",zIndex:1e3},onClick:E},t.createElement(\"div\",{style:{backgroundColor:\"white\",padding:\"20px\",borderRadius:\"8px\",maxWidth:\"90%\",maxHeight:\"90%\",overflow:\"auto\",position:\"relative\"},onClick:e=>e.stopPropagation()},t.createElement(\"button\",{onClick:E,style:{position:\"absolute\",top:\"10px\",right:\"10px\",background:\"none\",border:\"none\",fontSize:\"24px\",cursor:\"pointer\",color:\"#666\"}},\"×\"),t.createElement(\"h3\",{style:{marginTop:0,marginBottom:\"16px\"}},p.name),e&&t.createElement(\"img\",{src:URL.createObjectURL(p),alt:p.name,style:{maxWidth:\"100%\",maxHeight:\"70vh\"}}),n&&t.createElement(\"pre\",{style:{whiteSpace:\"pre-wrap\",wordWrap:\"break-word\",maxHeight:\"70vh\",overflow:\"auto\",padding:\"16px\",backgroundColor:\"#f5f5f5\",borderRadius:\"4px\"}},URL.createObjectURL(p)),r&&t.createElement(\"iframe\",{src:URL.createObjectURL(p),style:{width:\"100%\",height:\"70vh\",border:\"none\"},title:p.name}),!e&&!n&&!r&&t.createElement(\"div\",{style:{padding:\"20px\",textAlign:\"center\"}},\"Preview not available for this file type\")))})())};function xl(e,t){if(!t||0===Object.keys(t).length)return e;const n={};for(const[r,o]of Object.entries(e)){let e=Object.assign({},o);if(t.disableOnOptions&&void 0===e.chatDisabled){const t=!(!e.options&&!e.checkboxes);e.chatDisabled=t}n[r]=e}return n}function El(e){return async t=>{await t.injectMessage(e)}}function Bl(e){return async t=>{const n=await e(t);await t.injectMessage(n)}}const Pl=t.forwardRef((e,n)=>{const[r,o]=t.useState(e.defaultOpen||!1),A=t.useRef(null);return t.useImperativeHandle(n,()=>({addMessage:e=>{var t;null===(t=A.current)||void 0===t||t.addMessage(e)},setBotEnabled:e=>{var t;null===(t=A.current)||void 0===t||t.setBotEnabled(e)},openChat:()=>{var e;o(!0),null===(e=A.current)||void 0===e||e.openChat()},closeChat:()=>{var e;o(!1),null===(e=A.current)||void 0===e||e.closeChat()},toggleChat:()=>{var e;o(e=>!e),null===(e=A.current)||void 0===e||e.toggleChat()}}),[]),t.createElement(fl,{ref:A,apiKey:e.apiKey,qaEndpoint:e.qaEndpoint,ratingEndpoint:e.ratingEndpoint,welcomeMessage:e.welcomeMessage,primaryColor:e.primaryColor,secondaryColor:e.secondaryColor,botName:e.botName,logo:e.logo,placeholder:e.placeholder,errorMessage:e.errorMessage,embedded:e.embedded,isLoggedIn:e.isLoggedIn,allowAnonAccess:e.allowAnonAccess,open:r,onOpenChange:o,footerText:e.footerText,footerLink:e.footerLink,tooltipText:e.tooltipText,onAnalyticsEvent:e.onAnalyticsEvent})});function kl(e){if(!(e.target&&e.target instanceof HTMLElement))return void za(\"QA Bot: A valid target DOM element is required\");const n=f.createRoot(e.target),r={current:null};return n.render(t.createElement(t.StrictMode,null,t.createElement(Pl,{ref:e=>{r.current=e},apiKey:e.apiKey,qaEndpoint:e.qaEndpoint,ratingEndpoint:e.ratingEndpoint,defaultOpen:e.defaultOpen,embedded:e.embedded,isLoggedIn:e.isLoggedIn,allowAnonAccess:e.allowAnonAccess,welcomeMessage:e.welcomeMessage,primaryColor:e.primaryColor,secondaryColor:e.secondaryColor,botName:e.botName,logo:e.logo,placeholder:e.placeholder,errorMessage:e.errorMessage,footerText:e.footerText,footerLink:e.footerLink,tooltipText:e.tooltipText,onAnalyticsEvent:e.onAnalyticsEvent}))),{addMessage:e=>{var t;return null===(t=r.current)||void 0===t?void 0:t.addMessage(e)},setBotEnabled:e=>{var t;return null===(t=r.current)||void 0===t?void 0:t.setBotEnabled(e)},openChat:()=>{var e;return null===(e=r.current)||void 0===e?void 0:e.openChat()},closeChat:()=>{var e;return null===(e=r.current)||void 0===e?void 0:e.closeChat()},toggleChat:()=>{var e;return null===(e=r.current)||void 0===e?void 0:e.toggleChat()},destroy:()=>{r.current=null,n.unmount()}}}Pl.displayName=\"ProgrammaticQABot\";export{yl as FileUploadComponent,fl as QABot,xl as applyFlowSettings,kl as default,ml as fileToBase64,vl as filesToBase64,wl as formatFileSize,kl as qaBot,hl as useScreenshotCapture,bl as validateFileSize,El as withHistory,Bl as withHistoryFn};\n//# sourceMappingURL=qa-bot-core.js.map\n","// Environment configuration\nexport const API_CONFIG = {\n // Q&A API endpoints\n QA_ENDPOINT: import.meta.env.VITE_API_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/chat/api/',\n RATING_ENDPOINT: import.meta.env.VITE_RATING_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/',\n\n // Metrics/XDMoD API endpoints\n METRICS_API_ENDPOINT: import.meta.env.VITE_METRICS_API_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/',\n METRICS_RATING_ENDPOINT: import.meta.env.VITE_METRICS_RATING_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/',\n METRICS_QUESTIONS_URL: 'https://metrics.access-ci.org/qa_bot_faq',\n\n // Netlify functions for JIRA/JSM\n NETLIFY_BASE_URL: import.meta.env.VITE_NETLIFY_BASE_URL || 'https://access-jsm-api.netlify.app',\n\n // API key (can be overridden via prop)\n DEFAULT_API_KEY: import.meta.env.VITE_API_KEY || 'demo-key',\n};\n\n// Bot configuration defaults\nexport const BOT_CONFIG = {\n BOT_NAME: 'ACCESS Q&A',\n LOGO: 'https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg',\n WELCOME_MESSAGE: 'Hello! What can I help you with?',\n WELCOME_MESSAGE_LOGGED_OUT: 'To ask questions, please log in.',\n LOGIN_URL: '/login',\n PRIMARY_COLOR: '#1a5b6e',\n SECONDARY_COLOR: '#107180',\n TOOLTIP: 'Ask me about ACCESS! 😊',\n};\n\n// Session storage keys\nexport const STORAGE_KEYS = {\n SESSION_ID: 'access-qa-bot-session-id',\n TOOLTIP_SHOWN: 'access-qa-bot-tooltip-shown',\n};\n","/**\n * Main Menu Flow\n *\n * Entry point for the conversation - provides top-level navigation options.\n */\n\nimport type { TicketFormData } from '../utils/flow-context';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n welcome: string;\n setTicketForm: (form: TicketFormData) => void;\n isLoggedIn: boolean;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n/**\n * Creates the main menu conversation flow\n */\nexport function createMainMenuFlow({ welcome, setTicketForm, isLoggedIn, trackEvent }: FlowParams) {\n return {\n start: {\n message: welcome,\n options: [\n \"Ask a question about ACCESS\",\n \"Open a Help Ticket\",\n \"Usage and performance of ACCESS resources (XDMoD)\",\n \"Report a security issue\",\n ],\n path: (chatState: ChatState) => {\n // Track menu selection\n trackEvent({\n type: 'chatbot_menu_selected',\n selection: chatState.userInput,\n });\n\n if (chatState.userInput === \"Ask a question about ACCESS\") {\n // If logged in, show prompt step that waits for actual question\n // If logged out, go directly to qa_loop which shows login gate\n return isLoggedIn ? \"go_ahead_and_ask\" : \"qa_loop\";\n } else if (chatState.userInput === \"Open a Help Ticket\") {\n // Reset form data when starting a new ticket\n setTicketForm({});\n return \"help_ticket\";\n } else if (chatState.userInput === \"Usage and performance of ACCESS resources (XDMoD)\") {\n return \"metrics_intro\";\n } else if (chatState.userInput === \"Report a security issue\") {\n // Reset form data when starting a security report\n setTicketForm({});\n trackEvent({\n type: 'chatbot_security_started',\n });\n return \"security_incident\";\n }\n return \"start\";\n },\n },\n\n // Transition step for logged-in users - absorbs button click, waits for real question\n go_ahead_and_ask: {\n message: 'Go ahead and ask your question! I\\'ll do my best to help.\\n\\n<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href=\"https://support.access-ci.org/tools/access-qa-tool/privacy\">Privacy Notice</a>',\n renderHtml: [\"BOT\"],\n path: \"qa_loop\",\n },\n };\n}\n","/**\n * Flow context utilities for managing form state in conversational flows\n * Solves React closure issues by providing global access to current form state\n */\n\nexport interface TicketFormData {\n // User info\n email?: string;\n name?: string;\n accessId?: string;\n\n // Common ticket fields\n summary?: string;\n description?: string;\n priority?: string;\n category?: string;\n\n // Login-specific fields\n identityProvider?: string;\n browser?: string;\n\n // Resource fields (affiliated login)\n resource?: string;\n userIdResource?: string;\n\n // Resource fields (general help)\n involvesResource?: string;\n resourceDetails?: string;\n userIdAtResource?: string;\n\n // File upload\n uploadedFiles?: File[];\n wantsAttachment?: string;\n uploadConfirmed?: boolean;\n\n // Keywords\n keywords?: string | string[];\n suggestedKeyword?: string;\n\n // Submission result\n ticketKey?: string;\n ticketUrl?: string;\n submissionError?: string;\n\n // Allow additional fields\n [key: string]: unknown;\n}\n\nexport interface UserInfo {\n email?: string;\n name?: string;\n accessId?: string;\n}\n\nexport interface FormContext {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n}\n\n// Global form context reference\nlet currentFormContext: FormContext | null = null;\n\n/**\n * Sets the current form context reference\n * Call this when creating flows to enable access to latest form state\n */\nexport function setCurrentFormContext(context: FormContext): void {\n currentFormContext = context;\n}\n\n/**\n * Clears the current form context\n */\nexport function clearFormContext(): void {\n currentFormContext = null;\n}\n\n/**\n * Gets the current ticket form state\n * Always returns the latest state, avoiding stale closure issues\n */\nexport function getCurrentTicketForm(): TicketFormData {\n if (!currentFormContext) {\n console.warn('Form context not available, returning empty form');\n return {};\n }\n return currentFormContext.ticketForm || {};\n}\n\n/**\n * Updates the ticket form with new values\n */\nexport function updateTicketForm(updates: Partial<TicketFormData>): void {\n if (!currentFormContext) {\n console.warn('Form context not available, cannot update form');\n return;\n }\n currentFormContext.setTicketForm(prev => ({ ...prev, ...updates }));\n}\n\n/**\n * Gets current form merged with user info (user info takes precedence if form is empty)\n */\nexport function getCurrentFormWithUserInfo(userInfo: UserInfo = {}): TicketFormData {\n const currentForm = getCurrentTicketForm();\n return {\n ...currentForm,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n };\n}\n\n/**\n * Gets file info string for summaries\n */\nexport function getFileInfo(uploadedFiles?: File[]): string {\n if (uploadedFiles && uploadedFiles.length > 0) {\n return `\\nAttachments: ${uploadedFiles.length} file(s) attached`;\n }\n return '';\n}\n","/**\n * ACCESS-specific ticket submission API utilities\n * Handles JIRA/JSM ticket creation via Netlify proxy\n */\n\nimport { filesToBase64 } from '@snf/qa-bot-core';\nimport type { ProcessedFile } from '@snf/qa-bot-core';\nimport { API_CONFIG } from '../config/constants';\n\n// JSM Request Type IDs\nexport const REQUEST_TYPE_IDS = {\n SUPPORT: 17,\n LOGIN_ACCESS: 30,\n LOGIN_PROVIDER: 31,\n SECURITY: 26,\n} as const;\n\nexport type TicketType = 'support' | 'general_help' | 'loginAccess' | 'loginProvider' | 'security';\n\nexport interface TicketSubmissionData {\n serviceDeskId: number;\n requestTypeId: number;\n requestFieldValues: Record<string, unknown>;\n attachments?: ProcessedFile[];\n}\n\nexport interface TicketSubmissionResult {\n success: boolean;\n ticketKey?: string;\n ticketUrl?: string;\n error?: string;\n status?: number;\n}\n\n/**\n * Prepares form data for JSM API submission\n */\nexport async function prepareApiSubmission(\n formData: Record<string, unknown>,\n ticketType: TicketType = 'support',\n uploadedFiles: File[] = []\n): Promise<TicketSubmissionData> {\n const requestTypeIds: Record<TicketType, number> = {\n support: REQUEST_TYPE_IDS.SUPPORT,\n general_help: REQUEST_TYPE_IDS.SUPPORT,\n loginAccess: REQUEST_TYPE_IDS.LOGIN_ACCESS,\n loginProvider: REQUEST_TYPE_IDS.LOGIN_PROVIDER,\n security: REQUEST_TYPE_IDS.SECURITY,\n };\n\n const requestTypeId = requestTypeIds[ticketType] || REQUEST_TYPE_IDS.SUPPORT;\n const serviceDeskId = ticketType === 'security' ? 3 : 2;\n\n const submissionData: TicketSubmissionData = {\n serviceDeskId,\n requestTypeId,\n requestFieldValues: { ...formData },\n };\n\n // Process file attachments if any\n if (uploadedFiles.length > 0) {\n submissionData.attachments = await filesToBase64(uploadedFiles);\n }\n\n return submissionData;\n}\n\n/**\n * Sends prepared ticket data to the Netlify proxy\n */\nexport async function sendToProxy(\n submissionData: TicketSubmissionData,\n endpoint: 'tickets' | 'security-incidents'\n): Promise<TicketSubmissionResult> {\n const baseUrl = API_CONFIG.NETLIFY_BASE_URL;\n const proxyEndpoint = `${baseUrl}/api/v1/${endpoint}`;\n\n try {\n const response = await fetch(proxyEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(submissionData),\n });\n\n if (!response.ok) {\n let errorMessage = '';\n try {\n const errorText = await response.text();\n try {\n const errorJson = JSON.parse(errorText);\n errorMessage = errorJson.message || errorJson.error || errorText;\n } catch {\n errorMessage = errorText;\n }\n } catch {\n errorMessage = `HTTP ${response.status} ${response.statusText}`;\n }\n\n // User-friendly messages for common errors\n if (response.status === 403) {\n errorMessage = 'The ticket service is temporarily unavailable. Please try again later or contact support directly.';\n } else if (response.status === 404) {\n errorMessage = 'Ticket service not found. Please try again later.';\n } else if (response.status === 500) {\n errorMessage = 'Server error. Please try again later.';\n } else if (response.status === 401) {\n errorMessage = 'Authentication error with the ticket service. Please contact support.';\n }\n\n return {\n success: false,\n status: response.status,\n error: errorMessage,\n };\n }\n\n const data = await response.json();\n return {\n success: true,\n ticketKey: data.data?.ticketKey,\n ticketUrl: data.data?.ticketUrl,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n}\n\n/**\n * High-level function to submit a ticket\n */\nexport async function submitTicket(\n formData: Record<string, unknown>,\n ticketType: TicketType,\n uploadedFiles: File[] = []\n): Promise<TicketSubmissionResult> {\n try {\n const submissionData = await prepareApiSubmission(formData, ticketType, uploadedFiles);\n const endpoint = ticketType === 'security' ? 'security-incidents' : 'tickets';\n return await sendToProxy(submissionData, endpoint);\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n}\n\n/**\n * Generates a success/error message for ticket submission\n */\nexport function generateSuccessMessage(\n result: TicketSubmissionResult | null,\n ticketType: string = 'ticket'\n): string {\n if (!result) {\n return `We apologize, but there was an error submitting your ${ticketType}.\\n\\nPlease try again or contact our support team directly.`;\n }\n\n if (!result.success) {\n return `We apologize, but there was an error submitting your ${ticketType}: ${result.error || 'Unknown error'}\\n\\nPlease try again or contact our support team directly.`;\n }\n\n if (result.ticketUrl && result.ticketKey) {\n return `Your ${ticketType} has been submitted successfully.\\n\\nTicket: <a href=\"${result.ticketUrl}\" target=\"_blank\">${result.ticketKey}</a>\\n\\nOur support team will review your request and respond accordingly. Thank you for contacting ACCESS.`;\n }\n\n return `Your ${ticketType} has been submitted successfully.\\n\\nOur support team will review your request and respond accordingly. Thank you for contacting ACCESS.`;\n}\n","/**\n * Validation utilities for form inputs in ticket flows\n *\n * These functions return objects compatible with @rcb-plugins/input-validator:\n * { success: boolean, promptContent?: string, promptDuration?: number, promptType?: string }\n */\n\nexport interface ValidationResult {\n success: boolean;\n promptContent?: string;\n promptDuration?: number;\n promptType?: string;\n}\n\n/**\n * Validates an email address\n * Returns validation result object for InputValidator plugin\n */\nexport function validateEmail(email: string): ValidationResult {\n if (!email || email.trim() === '') {\n return {\n success: false,\n promptContent: 'Email is required',\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(email)) {\n return {\n success: false,\n promptContent: 'Please enter a valid email address',\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n\n return { success: true };\n}\n\n/**\n * Creates a validator for optional fields\n * Always returns success since the field is optional\n */\nexport function createOptionalFieldValidator(): () => ValidationResult {\n return () => ({ success: true });\n}\n\n/**\n * Processes optional input - returns empty string for skipped fields\n */\nexport function processOptionalInput(input: string): string {\n if (!input || input.trim() === '' || input.trim().toLowerCase() === 'skip') {\n return '';\n }\n return input.trim();\n}\n\n/**\n * Validates that a required field is not empty\n * Returns validation result object for InputValidator plugin\n */\nexport function validateRequired(value: string, fieldName: string = 'This field'): ValidationResult {\n if (!value || value.trim() === '') {\n return {\n success: false,\n promptContent: `${fieldName} is required`,\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n return { success: true };\n}\n","/**\n * ACCESS Login Help Ticket Flow\n *\n * This flow handles ticket creation for users having trouble logging into ACCESS.\n * It demonstrates how to wrap qa-bot-core's FileUploadComponent with ACCESS-specific\n * ticket submission logic.\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n/**\n * Creates the ACCESS login help ticket flow\n *\n * Note: chatDisabled is handled automatically by applyFlowSettings() in AccessQABot.\n */\nexport function createAccessLoginFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'loginAccess', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'access_login',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'access_login',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component - wired to update form state\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Entry point - provides context and asks if user wants to create ticket\n access_help: {\n message: \"If you're having trouble logging into the ACCESS website, here are some common issues:\\n\\n\" +\n \"• Make sure you're using a supported browser (Chrome, Firefox, Safari)\\n\" +\n \"• Clear your browser cookies and cache\\n\" +\n \"• Check if you're using the correct identity provider\\n\\n\" +\n \"Would you like to submit a help ticket for ACCESS login issues?\",\n options: [\"Yes, let's create a ticket\", \"Back to Main Menu\"],\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes, let's create a ticket\"\n ? \"access_login_description\"\n : \"start\",\n },\n\n // Step 1: Describe the issue (text input)\n access_login_description: {\n message: \"Describe your login issue.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n description: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'description',\n });\n },\n path: \"access_login_identity\",\n },\n\n // Step 2: Identity provider (options)\n access_login_identity: {\n message: \"Which identity provider were you using?\",\n options: [\"ACCESS\", \"Github\", \"Google\", \"Institution\", \"Microsoft\", \"ORCID\", \"Other\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, identityProvider: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'identity_provider',\n });\n },\n path: \"access_login_browser\",\n },\n\n // Step 3: Browser (options)\n access_login_browser: {\n message: \"Which browser were you using?\",\n options: [\"Chrome\", \"Firefox\", \"Edge\", \"Safari\", \"Other\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, browser: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'browser',\n });\n },\n path: \"access_login_attachment\",\n },\n\n // Step 4: Ask about attachment (options)\n access_login_attachment: {\n message: \"Would you like to attach a screenshot?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes\") {\n return \"access_login_upload\";\n }\n // Skip to user info collection based on what's missing\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"access_login_email\";\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 5: File upload (component + Continue button)\n access_login_upload: {\n message: \"Please upload your screenshot.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'file_upload',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"access_login_email\";\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 6: Email (text input)\n access_login_email: {\n message: \"What is your email?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 7: Name (text input)\n access_login_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 8: ACCESS ID (text input, optional)\n access_login_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'access_id',\n });\n },\n path: \"access_login_summary\",\n },\n\n // Step 9: Summary and confirmation (options)\n access_login_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'access_login_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n return `Thank you for providing your ACCESS login issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Identity Provider: ${currentForm.identityProvider || 'Not provided'}\\n` +\n `Browser: ${currentForm.browser || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n renderHtml: [\"BOT\", \"USER\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n email: formWithUserInfo.email || \"\",\n name: formWithUserInfo.name || \"\",\n accessId: formWithUserInfo.accessId || \"\",\n description: currentForm.description || \"\",\n identityProvider: currentForm.identityProvider || \"\",\n browser: currentForm.browser || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"access_login_success\" : \"start\",\n },\n\n // Step 10: Success message (options)\n access_login_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'ACCESS login ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n","/**\n * Resource/Affiliated Login Help Ticket Flow\n *\n * This flow handles ticket creation for users having trouble logging into\n * an ACCESS-affiliated resource (e.g., Expanse, Bridges-2, Anvil).\n *\n * Language matches: qa-bot/src/utils/flows/tickets/affiliated-login-flow.js\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n/**\n * Creates the Resource/Affiliated Login help ticket flow\n */\nexport function createResourceLoginFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'loginProvider', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'resource_login',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'resource_login',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component - wired to update form state\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Entry point - provides context and asks if user wants to create ticket\n resource_help: {\n message: \"If you're having trouble logging into an affiliated infrastructure or resource provider, here are some common issues:\\n\\n\" +\n \"• Ensure your allocation is active\\n\" +\n \"• Confirm you have the correct username for that resource\\n\" +\n \"• Check <a href=\\\"https://operations.access-ci.org/infrastructure_news_view\\\">System Status News</a> to see if the resource is undergoing maintenance\\n\\n\" +\n \"Would you like to submit a help ticket for resource provider login issues?\",\n options: [\"Yes, let's create a ticket\", \"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes, let's create a ticket\"\n ? \"resource_login_resource\"\n : \"start\",\n },\n\n // Step 1: Which resource (options)\n resource_login_resource: {\n message: \"Which ACCESS Resource are you trying to access?\",\n options: [\n \"ACES\",\n \"Anvil\",\n \"Bridges-2\",\n \"DARWIN\",\n \"Delta\",\n \"DeltaAI\",\n \"Derecho\",\n \"Expanse\",\n \"FASTER\",\n \"Granite\",\n \"Jetstream2\",\n \"KyRIC\",\n \"Launch\",\n \"Neocortex\",\n \"Ookami\",\n \"Open Science Grid\",\n \"Open Storage Network\",\n \"Ranch\",\n \"Stampede3\",\n ],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, resource: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'resource_selection',\n });\n },\n path: \"resource_login_userid\",\n },\n\n // Step 2: User ID at resource (text input)\n resource_login_userid: {\n message: \"What is your user ID at the resource?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, userIdResource: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'user_id',\n });\n },\n path: \"resource_login_description\",\n },\n\n // Step 3: Describe the issue (text input)\n resource_login_description: {\n message: \"Please describe the issue you're having logging in.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n description: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'description',\n });\n },\n path: \"resource_login_attachment\",\n },\n\n // Step 4: Ask about attachment (options)\n resource_login_attachment: {\n message: \"Would you like to attach a screenshot?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes\") {\n return \"resource_login_upload\";\n }\n // Skip to user info collection based on what's missing\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"resource_login_email\";\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 5: File upload (component + Continue button)\n resource_login_upload: {\n message: \"Please upload your screenshot.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'file_upload',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"resource_login_email\";\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 6: Email (text input)\n resource_login_email: {\n message: \"What is your email?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 7: Name (text input)\n resource_login_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 8: ACCESS ID (text input, optional)\n resource_login_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'access_id',\n });\n },\n path: \"resource_login_summary\",\n },\n\n // Step 9: Summary and confirmation (options)\n resource_login_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'resource_login_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n return `Thank you for providing your resource login issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Resource: ${currentForm.resource || 'Not provided'}\\n` +\n `Resource User ID: ${currentForm.userIdResource || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n email: formWithUserInfo.email || \"\",\n name: formWithUserInfo.name || \"\",\n accessId: formWithUserInfo.accessId || \"\",\n accessResource: currentForm.resource || \"\",\n description: currentForm.description || \"\",\n // ProForma field for request type 31\n userIdAtResource: currentForm.userIdResource || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"resource_login_success\" : \"start\",\n },\n\n // Step 10: Success message (options)\n resource_login_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'resource login ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n","/**\n * General Help Ticket Flow\n *\n * This flow handles ticket creation for general support questions.\n * Includes category selection, keywords, priority, and resource involvement.\n *\n * Language matches: qa-bot/src/utils/flows/tickets/general-help-flow.js\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n// Keywords list from old qa-bot\nconst KEYWORDS = [\n \" C, C++\",\n \"Abaqus\",\n \"ACCESS\",\n \"ACCESS-credits\",\n \"ACCESS-website\",\n \"Accounts\",\n \"ACLS\",\n \"Adding users\",\n \"Affiliations\",\n \"Affinity Groups\",\n \"AI\",\n \"Algorithms\",\n \"Allocation extension\",\n \"Allocation Management\",\n \"Allocation proposal\",\n \"Allocation Time\",\n \"Allocation users\",\n \"AMBER\",\n \"AMIE\",\n \"Anaconda\",\n \"Analysis\",\n \"API\",\n \"Application Status\",\n \"ARCGIS\",\n \"Architecture\",\n \"Archiving\",\n \"Astrophysics\",\n \"ATLAS\",\n \"Authentication\",\n \"AWS\",\n \"AZURE\",\n \"Backup\",\n \"BASH\",\n \"Batch Jobs\",\n \"Benchmarking\",\n \"Big Data\",\n \"Bioinformatics\",\n \"Biology\",\n \"Ceph\",\n \"CFD\",\n \"cgroups\",\n \"CHARMM\",\n \"Checkpoint\",\n \"cilogon\",\n \"citation\",\n \"Cloud\",\n \"Cloud Computing\",\n \"Cloud Lab\",\n \"Cloud Storage\",\n \"Cluster Management\",\n \"Cluster Support\",\n \"CMMC\",\n \"Community Outreach\",\n \"Compiling\",\n \"Composible Systems\",\n \"Computataional Chemistry\",\n \"COMSOL\",\n \"Conda\",\n \"Condo\",\n \"Containers\",\n \"Core dump\",\n \"Core hours\",\n \"CP2K\",\n \"CPU architecture\",\n \"CPU bound\",\n \"CUDA\",\n \"Cybersecurity\",\n \"CYVERSE\",\n \"Data\",\n \"Data Storage\",\n \"Data-access-protocols\",\n \"Data-analysis\",\n \"Data-compliance\",\n \"Data-lifecycle\",\n \"Data-management\",\n \"Data-management-software\",\n \"Data-provenance\",\n \"Data-reproducibility\",\n \"Data-retention\",\n \"Data-science\",\n \"Data-sharing\",\n \"Data-transfer\",\n \"Data-wrangling\",\n \"Database-update\",\n \"Debugging\",\n \"Debugging, Optimizatio and Profiling\",\n \"Deep-learning\",\n \"Dependencies\",\n \"Deployment\",\n \"DFT\",\n \"Distributed-computing\",\n \"DNS\",\n \"Docker\",\n \"Documentation\",\n \"DOI\",\n \"DTN\",\n \"Easybuild\",\n \"Email\",\n \"Encryption\",\n \"Environment-modules\",\n \"Errors\",\n \"Extension\",\n \"FastX\",\n \"Federated-authentication\",\n \"File transfers\",\n \"File-formats\",\n \"File-limits\",\n \"File-systems\",\n \"File-transfer\",\n \"Finite-element-analysis\",\n \"Firewall\",\n \"Fortran\",\n \"Frameworks and IDE's\",\n \"GAMESS\",\n \"Gateways\",\n \"GATK\",\n \"Gaussian\",\n \"GCC\",\n \"Genomics\",\n \"GIS\",\n \"Git\",\n \"Globus\",\n \"GPFS\",\n \"GPU\",\n \"Gravitational-waves\",\n \"Gridengine\",\n \"GROMACS\",\n \"Hadoop\",\n \"Hardware\",\n \"Image-processing\",\n \"Infiniband\",\n \"Interactive-mode\",\n \"Interconnect\",\n \"IO-Issue\",\n \"ISILON\",\n \"Java\",\n \"Jekyll\",\n \"Jetstream\",\n \"Job-accounting\",\n \"Job-array\",\n \"Job-charging\",\n \"Job-failure\",\n \"Job-sizing\",\n \"Job-submission\",\n \"Julia\",\n \"Jupyterhub\",\n \"Key-management\",\n \"Kubernetes\",\n \"KyRIC\",\n \"LAMMPS\",\n \"Library-paths\",\n \"License\",\n \"Linear-programming\",\n \"Linux\",\n \"LMOD\",\n \"login\",\n \"LSF\",\n \"Lustre\",\n \"Machine-learning\",\n \"Management\",\n \"Materials-science\",\n \"Mathematica\",\n \"MATLAB\",\n \"Memory\",\n \"Metadata\",\n \"Modules\",\n \"Molecular-dynamics\",\n \"Monte-carlo\",\n \"MPI\",\n \"NAMD\",\n \"NetCDF\",\n \"Networking\",\n \"Neural-networks\",\n \"NFS\",\n \"NLP\",\n \"NoMachine\",\n \"Nvidia\",\n \"Oceanography\",\n \"OnDemnad\",\n \"Open-science-grid\",\n \"Open-storage-network\",\n \"OpenCV\",\n \"Openfoam\",\n \"OpenMP\",\n \"OpenMPI\",\n \"OpenSHIFT\",\n \"Openstack\",\n \"Optimization\",\n \"OS\",\n \"OSG\",\n \"Parallelization\",\n \"Parameter-sweeps\",\n \"Paraview\",\n \"Particle-physics\",\n \"password\",\n \"PBS\",\n \"Pegasus\",\n \"Pending-jobs\",\n \"Performance-tuning\",\n \"Permissions\",\n \"Physiology\",\n \"PIP\",\n \"PODMAN\",\n \"Portals\",\n \"Pre-emption\",\n \"Professional and Workforce Development\",\n \"Professional-development\",\n \"Profile\",\n \"Profiling\",\n \"Programming\",\n \"Programming Languages\",\n \"Programming-best-practices\",\n \"Project-management\",\n \"Project-renewal\",\n \"Provisioning\",\n \"Pthreads\",\n \"Publication-database\",\n \"Putty\",\n \"Python\",\n \"Pytorch\",\n \"Quantum-computing\",\n \"Quantum-mechanics\",\n \"Quota\",\n \"R\",\n \"RDP\",\n \"React\",\n \"Reporting\",\n \"Research-facilitation\",\n \"Research-grants\",\n \"Resources\",\n \"Rstudio-server\",\n \"S3\",\n \"Samba\",\n \"SAS\",\n \"Scaling\",\n \"Schedulers\",\n \"Scheduling\",\n \"Science DMZ\",\n \"Science Gateways\",\n \"Scikit-learn\",\n \"Scratch\",\n \"screen\",\n \"scripting\",\n \"SDN\",\n \"Secure Computing and Data\",\n \"Secure-data-architecture\",\n \"Serverless-hpc\",\n \"setup\",\n \"sftp\",\n \"SGE\",\n \"Shell Scripting\",\n \"Shifter\",\n \"Singularity\",\n \"SLURM\",\n \"SMB\",\n \"Smrtanalysis\",\n \"Software Installations\",\n \"Software-carpentry\",\n \"SPACK\",\n \"SPARK\",\n \"Spectrum-scale\",\n \"SPSS\",\n \"SQL\",\n \"SSH\",\n \"Stampede2\",\n \"STATA\",\n \"Storage\",\n \"Supplement\",\n \"Support\",\n \"TCP\",\n \"Technical-training-for-hpc\",\n \"Tensorflow\",\n \"Terminal-emulation-and-window-management\",\n \"Tickets\",\n \"Timing-issue\",\n \"TMUX\",\n \"Tools\",\n \"Training\",\n \"Transfer SUs\",\n \"Trinity\",\n \"Tuning\",\n \"Unix-environment\",\n \"Upgrading\",\n \"Vectorization\",\n \"Version-control\",\n \"vim\",\n \"VNC\",\n \"VPN\",\n \"Workflow\",\n \"Workforce-development\",\n \"X11\",\n \"Xalt\",\n \"XDMoD\",\n \"XML\",\n \"XSEDE\",\n \"I don't see a relevant keyword\",\n];\n\n// Resource list (same as affiliated login)\nconst RESOURCES = [\n \"ACES\",\n \"Anvil\",\n \"Bridges-2\",\n \"DARWIN\",\n \"Delta\",\n \"DeltaAI\",\n \"Derecho\",\n \"Expanse\",\n \"FASTER\",\n \"Granite\",\n \"Jetstream2\",\n \"KyRIC\",\n \"Launch\",\n \"Neocortex\",\n \"Ookami\",\n \"Open Science Grid\",\n \"Open Storage Network\",\n \"Ranch\",\n \"Stampede3\",\n];\n\n/**\n * Creates the General Help ticket flow\n */\nexport function createGeneralHelpFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'support', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'general_help',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'general_help',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Step 1: Title/Summary (text input)\n general_help_summary_subject: {\n message: \"Provide a short title for your ticket.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n summary: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'title',\n });\n },\n path: \"general_help_category\",\n },\n\n // Step 2: Category (options)\n general_help_category: {\n message: \"What type of issue are you experiencing?\",\n options: [\n \"User Account Question\",\n \"Allocation Question\",\n \"User Support Question\",\n \"CSSN/CCEP Question\",\n \"Training Question\",\n \"Metrics Question\",\n \"OnDemand Question\",\n \"Pegasus Question\",\n \"XDMoD Question\",\n \"Some Other Question\",\n ],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, category: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'category',\n });\n },\n path: \"general_help_description\",\n },\n\n // Step 3: Description (text input)\n general_help_description: {\n message: \"Please describe your issue.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, description: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'description',\n });\n },\n path: \"general_help_attachment\",\n },\n\n // Step 4: Attachment? (options)\n general_help_attachment: {\n message: \"Would you like to attach a file to your ticket?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"general_help_upload\" : \"general_help_resource\",\n },\n\n // Step 5: File upload (conditional)\n general_help_upload: {\n message: \"Please upload your file.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'file_upload',\n });\n },\n path: \"general_help_resource\",\n },\n\n // Step 6: Involves resource? (options)\n general_help_resource: {\n message: \"Does your problem involve an ACCESS Resource?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, involvesResource: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"general_help_resource_details\" : \"general_help_keywords\",\n },\n\n // Step 7: Resource selection (conditional)\n general_help_resource_details: {\n message: \"Please select the ACCESS Resource involved with your issue:\",\n options: RESOURCES,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, resourceDetails: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_selection',\n });\n },\n path: \"general_help_user_id_at_resource\",\n },\n\n // Step 8: User ID at resource (conditional, optional)\n general_help_user_id_at_resource: {\n message: \"What is your User ID at the selected resource(s)? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, userIdAtResource: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_user_id',\n });\n },\n path: \"general_help_keywords\",\n },\n\n // Step 9: Keywords (checkboxes)\n general_help_keywords: {\n message: \"Please add up to 5 keywords to help route your ticket.\",\n checkboxes: {\n items: KEYWORDS,\n min: 0,\n max: 5,\n },\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, keywords: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'keywords',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput && chatState.userInput.includes(\"I don't see a relevant keyword\")) {\n return \"general_help_additional_keywords\";\n }\n return \"general_help_priority\";\n },\n },\n\n // Step 10: Additional keywords (conditional, text input)\n general_help_additional_keywords: {\n message: \"Please enter additional keywords, separated by commas:\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const currentKeywords = currentForm.keywords || [];\n const additionalKeywords = chatState.userInput;\n\n // Ensure we're working with arrays\n const keywordsArray = Array.isArray(currentKeywords)\n ? [...currentKeywords]\n : String(currentKeywords).split(',').map(k => k.trim());\n\n // Filter out \"I don't see a relevant keyword\"\n const filteredKeywords = keywordsArray.filter(k => k !== \"I don't see a relevant keyword\");\n\n // Combine keywords\n const formattedKeywords = filteredKeywords.length > 0\n ? [...filteredKeywords, additionalKeywords].join(\", \")\n : additionalKeywords;\n\n setTicketForm({\n ...currentForm,\n keywords: formattedKeywords,\n suggestedKeyword: additionalKeywords,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'additional_keywords',\n });\n },\n path: \"general_help_priority\",\n },\n\n // Step 11: Priority (options)\n general_help_priority: {\n message: \"Please select a priority for your issue:\",\n options: [\"Lowest\", \"Low\", \"Medium\", \"High\", \"Highest\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, priority: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'priority',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"general_help_email\";\n if (!formWithUserInfo.name) return \"general_help_name\";\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 12: Email (text input, conditional)\n general_help_email: {\n message: \"What is your email address?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"general_help_name\";\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 13: Name (text input, conditional)\n general_help_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 14: ACCESS ID (text input, optional)\n general_help_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'access_id',\n });\n },\n path: \"general_help_ticket_summary\",\n },\n\n // Step 15: Summary and confirmation\n general_help_ticket_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'general_help_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n let resourceInfo = '';\n if (currentForm.involvesResource === 'yes') {\n resourceInfo = `\\nResource: ${currentForm.resourceDetails || 'Not specified'}`;\n if (currentForm.userIdAtResource) {\n resourceInfo += `\\nUser ID at Resource: ${currentForm.userIdAtResource}`;\n }\n }\n\n return `Thank you for providing your issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Issue Summary: ${currentForm.summary || 'Not provided'}\\n` +\n `Category: ${currentForm.category || 'Not provided'}\\n` +\n `Priority: ${currentForm.priority || 'Not provided'}\\n` +\n `Keywords: ${currentForm.keywords || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${resourceInfo}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n // Regular JSM fields\n email: formWithUserInfo.email || \"\",\n summary: currentForm.summary || \"General Support Ticket\",\n description: currentForm.description || \"\",\n priority: currentForm.priority || \"medium\",\n accessId: formWithUserInfo.accessId || \"\",\n name: formWithUserInfo.name || \"\",\n issueType: currentForm.category || \"\",\n // ProForma fields for request type 17\n hasResourceProblem: currentForm.involvesResource === 'yes' ? 'Yes' : 'No',\n userIdAtResource: currentForm.userIdAtResource || \"\",\n resourceName: currentForm.resourceDetails || \"\",\n keywords: currentForm.keywords || \"\",\n noRelevantKeyword: currentForm.suggestedKeyword ? 'checked' : '',\n suggestedKeyword: currentForm.suggestedKeyword || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"general_help_success\" : \"start\",\n },\n\n // Step 16: Success message\n general_help_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'support ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n\n","/**\n * Ticket Flow Combiner\n *\n * Combines the ticket type selection with individual ticket flows.\n * This demonstrates the modular flow architecture.\n */\n\nimport { createAccessLoginFlow } from './access-login-flow';\nimport { createResourceLoginFlow } from './resource-login-flow';\nimport { createGeneralHelpFlow } from './general-help-flow';\nimport type { TicketFormData, UserInfo } from '../utils/flow-context';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n// Map user-facing options to ticket type identifiers for analytics\nconst TICKET_TYPE_MAP: Record<string, string> = {\n \"Logging into ACCESS website\": \"access_login\",\n \"Logging into a resource\": \"resource_login\",\n \"Another question\": \"general_help\",\n};\n\n/**\n * Creates the combined ticket flow with type selection and all ticket types\n */\nexport function createTicketFlow({ ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Create individual ticket flows\n const accessLoginFlow = createAccessLoginFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n const resourceLoginFlow = createResourceLoginFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n const generalHelpFlow = createGeneralHelpFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n\n return {\n // Ticket type selection\n help_ticket: {\n message: \"What is your help ticket related to?\",\n options: [\n \"Logging into ACCESS website\",\n \"Logging into a resource\",\n \"Another question\",\n ],\n function: (chatState: ChatState) => {\n setTicketForm(prev => ({ ...prev, ticketType: chatState.userInput }));\n \n // Track ticket started\n trackEvent({\n type: 'chatbot_ticket_started',\n ticketType: TICKET_TYPE_MAP[chatState.userInput] || chatState.userInput,\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Logging into ACCESS website\") {\n return \"access_help\";\n } else if (chatState.userInput === \"Logging into a resource\") {\n return \"resource_help\";\n } else if (chatState.userInput === \"Another question\") {\n return \"general_help_summary_subject\";\n }\n return \"help_ticket\";\n },\n },\n\n // Combine all ticket flows\n ...accessLoginFlow,\n ...resourceLoginFlow,\n ...generalHelpFlow,\n };\n}\n","/**\n * Security Incident Flow\n *\n * Multi-step form for reporting security incidents.\n * Based on the old qa-bot's security-flow.js with exact language preserved.\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport { getCurrentTicketForm, type TicketFormData, type UserInfo } from '../utils/flow-context';\nimport { submitTicket, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n/**\n * Gets current form merged with user info\n */\nfunction getCurrentFormWithUserInfo(userInfo: UserInfo): TicketFormData {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n return {\n ...currentForm,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n };\n}\n\n/**\n * Generates success message for security incidents\n */\nfunction generateSecuritySuccessMessage(result: TicketSubmissionResult | null): string {\n if (!result) {\n return `We apologize, but there was an error submitting your security incident report.\\n\\nPlease try again or contact our cybersecurity team directly.`;\n }\n\n if (!result.success) {\n return `We apologize, but there was an error submitting your security incident report: ${result.error}\\n\\nPlease try again or contact our cybersecurity team directly.`;\n }\n\n if (result.ticketUrl && result.ticketKey) {\n return `Your security incident report has been submitted successfully.\\n\\nTicket: <a href=\"${result.ticketUrl}\" target=\"_blank\">${result.ticketKey}</a>\\n\\nOur cybersecurity team will review your report and respond accordingly. Thank you for helping keep ACCESS secure.`;\n }\n\n return `Your security incident report has been submitted successfully.\\n\\nOur cybersecurity team will review your report and respond accordingly. Thank you for helping keep ACCESS secure.`;\n}\n\n/**\n * Creates the Security Incident flow\n */\nexport function createSecurityFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Store the most recent ACCESS ID input to handle timing issues\n let mostRecentAccessId: string | null = null;\n\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = [], priority?: string) => {\n submissionResult = await submitTicket(formData, 'security', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful security submission\n trackEvent({\n type: 'chatbot_security_submitted',\n success: true,\n priority: priority || 'unknown',\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track security submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'security',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Step 1: Summary (text input)\n security_incident: {\n message: \"You're reporting a security incident. Please provide a brief summary of the security concern.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({\n ...currentForm,\n summary: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'summary',\n });\n },\n path: \"security_priority\",\n },\n\n // Step 2: Priority (options)\n security_priority: {\n message: \"What is the priority level of this security incident?\",\n options: [\"Critical\", \"High\", \"Medium\", \"Low\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, priority: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'priority',\n });\n },\n path: \"security_description\",\n },\n\n // Step 3: Description (text input)\n security_description: {\n message: \"Please provide a detailed description of the security incident or concern.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, description: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'description',\n });\n },\n path: \"security_attachment\",\n },\n\n // Step 4: Attachment? (options)\n security_attachment: {\n message: \"Do you have any files (screenshots, logs, etc.) that would help with this security incident?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"security_upload\" : \"security_contact_check\",\n },\n\n // Step 5: File upload (conditional)\n security_upload: {\n message: \"Please upload your files.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'file_upload',\n });\n },\n path: \"security_contact_check\",\n },\n\n // Step 6: Check if we have user info (branching)\n security_contact_check: {\n message: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId) {\n return `I have your contact information:\\n\\nName: ${formWithUserInfo.name}\\nEmail: ${formWithUserInfo.email}\\nACCESS ID: ${formWithUserInfo.accessId}\\n\\nIs this correct?`;\n }\n return \"I need your contact information.\";\n },\n options: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId) {\n return [\"Yes, that's correct\", \"Let me update it\"];\n }\n return [];\n },\n chatDisabled: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n // Disable only when showing options (have all info)\n return !!(formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId);\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes, that's correct\") {\n return \"security_summary\";\n } else if (chatState.userInput === \"Let me update it\") {\n return \"security_name\";\n }\n // No user info - go collect it\n return \"security_email\";\n },\n },\n\n // Step 7: Email (text input, conditional)\n security_email: {\n message: \"What is your email address?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"security_name\";\n if (!formWithUserInfo.accessId) return \"security_accessid\";\n return \"security_summary\";\n },\n },\n\n // Step 8: Name (text input, conditional)\n security_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"security_email\";\n if (!formWithUserInfo.accessId) return \"security_accessid\";\n return \"security_summary\";\n },\n },\n\n // Step 9: ACCESS ID (text input, optional)\n security_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const finalInput = processOptionalInput(chatState.userInput);\n mostRecentAccessId = finalInput;\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, accessId: finalInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'access_id',\n });\n },\n path: \"security_summary\",\n },\n\n // Step 10: Summary and confirmation\n security_summary: {\n message: () => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n\n // Create a merged form with the most recent data\n const finalForm = {\n ...currentForm,\n name: formWithUserInfo.name || currentForm.name,\n email: formWithUserInfo.email || currentForm.email,\n accessId: mostRecentAccessId || formWithUserInfo.accessId || currentForm.accessId,\n };\n\n let fileInfo = '';\n if (currentForm.uploadedFiles && currentForm.uploadedFiles.length > 0) {\n fileInfo = `\\nAttachments: ${currentForm.uploadedFiles.length} file(s) attached`;\n }\n\n const accessIdDisplay = finalForm.accessId || 'Not provided';\n\n return `Here's a summary of your security incident report:\\n\\n` +\n `Summary: ${finalForm.summary || 'Not provided'}\\n` +\n `Priority: ${finalForm.priority || 'Not provided'}\\n` +\n `Name: ${finalForm.name || 'Not provided'}\\n` +\n `Email: ${finalForm.email || 'Not provided'}\\n` +\n `ACCESS ID: ${accessIdDisplay}\\n` +\n `Description: ${finalForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this security incident report?`;\n },\n options: [\"Submit Security Report\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Security Report\") {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n\n // Create final merged form\n const finalForm = {\n ...currentForm,\n name: formWithUserInfo.name || currentForm.name,\n email: formWithUserInfo.email || currentForm.email,\n accessId: mostRecentAccessId || formWithUserInfo.accessId || currentForm.accessId,\n };\n\n // Prepare form data for submission\n const formData = {\n summary: finalForm.summary || \"\",\n priority: finalForm.priority || \"\",\n description: finalForm.description || \"\",\n name: finalForm.name || \"\",\n email: finalForm.email || \"\",\n accessId: finalForm.accessId || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || [], finalForm.priority);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Security Report\" ? \"security_success\" : \"start\",\n },\n\n // Step 11: Success message\n security_success: {\n message: withHistoryFn(() => generateSecuritySuccessMessage(submissionResult)),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","/**\n * Metrics/XDMoD Flow\n *\n * Conversational flow for asking questions about usage and performance metrics.\n * Based on the old qa-bot's metrics-flow.js with exact language preserved.\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { API_CONFIG } from '../config/constants';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n sessionId: string;\n apiKey: string;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n injectMessage: (message: string) => Promise<void>;\n}\n\n/**\n * Process text response from API - basic markdown/HTML handling\n */\nfunction processResponse(text: string): string {\n // Basic processing - the core bot may handle this too\n return text;\n}\n\n/**\n * Creates the Metrics/XDMoD conversation flow\n */\nexport function createMetricsFlow({ sessionId, apiKey, trackEvent }: FlowParams) {\n // Track the query ID for the most recent response that can receive feedback\n let feedbackQueryId: string | null = null;\n\n return {\n // Entry point with instructions\n metrics_intro: {\n message: `Please type your question about usage and performance metrics (XDMoD) below. You can see some <a target=\"_blank\" href=\"${API_CONFIG.METRICS_QUESTIONS_URL}\">examples here</a>.\\n\\n<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href=\"https://support.access-ci.org/tools/access-qa-tool/privacy\">Privacy Notice</a>`,\n renderHtml: [\"BOT\"],\n path: \"metrics_loop\",\n },\n\n // Main question/answer loop\n metrics_loop: {\n message: async (chatState: ChatState) => {\n const { userInput } = chatState;\n\n // Handle feedback first if it's feedback\n if (userInput === \"👍 Helpful\" || userInput === \"👎 Not helpful\") {\n // Send feedback using the captured query ID\n if (apiKey && sessionId && feedbackQueryId) {\n const isPositive = userInput === \"👍 Helpful\";\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-Origin': 'metrics',\n 'X-API-KEY': apiKey,\n 'X-Session-ID': sessionId,\n 'X-Query-ID': feedbackQueryId,\n 'X-Feedback': isPositive ? '1' : '0',\n };\n\n try {\n await fetch(API_CONFIG.METRICS_RATING_ENDPOINT, {\n method: 'POST',\n headers,\n });\n } catch (error) {\n console.error('Error sending metrics feedback:', error);\n }\n }\n return \"Thanks for the feedback! Ask another question about usage and performance metrics (XDMoD) or start a new chat.\";\n } else {\n // Process as a question - fetch response directly\n try {\n // Generate our own query ID\n const queryId = uuidv4();\n feedbackQueryId = queryId;\n\n // Track metrics question\n trackEvent({\n type: 'chatbot_metrics_question_sent',\n queryId,\n });\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-Origin': 'metrics',\n 'X-API-KEY': apiKey,\n 'X-Session-ID': sessionId,\n 'X-Query-ID': queryId,\n };\n\n const response = await fetch(API_CONFIG.METRICS_API_ENDPOINT, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: userInput,\n }),\n });\n\n const body = await response.json();\n const text = body.response;\n const processedText = processResponse(text);\n\n // Inject the response\n await chatState.injectMessage(processedText);\n\n // Inject guidance message after a short delay\n setTimeout(async () => {\n await chatState.injectMessage(\"Ask another question about usage and performance metrics (XDMoD) or start a new chat.\");\n }, 100);\n\n return null;\n } catch (error) {\n console.error('Error in metrics flow:', error);\n return \"I'm sorry, there was an error processing your question. Please try again.\";\n }\n }\n },\n renderMarkdown: [\"BOT\"],\n options: (chatState: ChatState) => {\n // Only show feedback options if the input isn't already feedback\n if (chatState.userInput === \"👍 Helpful\" || chatState.userInput === \"👎 Not helpful\") {\n return []; // No options after feedback is given\n }\n return [\"👍 Helpful\", \"👎 Not helpful\"];\n },\n // Rating is optional - keep input enabled so user can type next question\n // without clicking a feedback button\n chatDisabled: false,\n path: \"metrics_loop\",\n },\n };\n}\n\n","import { v4 as uuidv4 } from 'uuid';\nimport { STORAGE_KEYS } from '../config/constants';\n\n/**\n * Get or create a session ID from localStorage\n */\nexport function getSessionId(): string {\n if (typeof window === 'undefined') {\n return uuidv4();\n }\n\n let sessionId = localStorage.getItem(STORAGE_KEYS.SESSION_ID);\n\n if (!sessionId) {\n sessionId = uuidv4();\n localStorage.setItem(STORAGE_KEYS.SESSION_ID, sessionId);\n }\n\n return sessionId;\n}\n\n/**\n * Clear the current session ID\n */\nexport function clearSession(): void {\n if (typeof window !== 'undefined') {\n localStorage.removeItem(STORAGE_KEYS.SESSION_ID);\n }\n}\n\n/**\n * Generate a new query ID for each Q&A interaction\n */\nexport function generateQueryId(): string {\n return uuidv4();\n}\n","/**\n * shadow-dom-styles.ts\n *\n * Injects qa-bot-core CSS overrides into a shadow root.\n *\n * qa-bot-core's rollup build injects its CSS into document.head via postcss.\n * In a shadow DOM (e.g. access-ci-ui), those styles don't cross the shadow\n * boundary, so react-chatbotify's defaults (like width: 80% on checkbox rows)\n * win. This utility re-injects the critical layout overrides directly into the\n * shadow root so they take effect.\n */\n\nconst SHADOW_STYLE_ID = 'access-qa-bot-shadow-overrides';\n\nconst SHADOW_CSS = `\n.rcb-checkbox-container {\n display: flex !important;\n flex-wrap: wrap !important;\n gap: 8px !important;\n margin-left: 16px !important;\n padding-top: 12px !important;\n max-width: 100% !important;\n}\n\n.rcb-checkbox-row-container {\n display: flex !important;\n align-items: center !important;\n background-color: #ffffff !important;\n border: 1px solid #d0d0d0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n padding: 8px 12px !important;\n margin: 0 !important;\n min-height: auto !important;\n max-height: auto !important;\n width: auto !important;\n flex: 0 0 auto !important;\n transition: all 0.2s ease !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--primaryColor, #107180) !important;\n text-align: center !important;\n box-sizing: border-box !important;\n}\n\n.rcb-checkbox-row-container:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--primaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-checkbox-row-container[data-checked=\"true\"] {\n background-color: var(--primaryColor, #107180) !important;\n border-color: var(--primaryColor, #107180) !important;\n color: white !important;\n}\n\n.rcb-checkbox-row {\n margin-left: 0px !important;\n}\n\n.rcb-checkbox-mark {\n width: 14px !important;\n height: 14px !important;\n margin-right: 6px !important;\n}\n\n.rcb-checkbox-label {\n font-size: 13px !important;\n margin: 0 !important;\n white-space: nowrap !important;\n}\n\n.rcb-checkbox-next-button {\n background-color: #ffffff !important;\n border: 1px solid #d0d0d0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n padding: 8px 12px !important;\n margin: 0 !important;\n min-height: auto !important;\n max-height: auto !important;\n width: auto !important;\n flex: 0 0 auto !important;\n transition: all 0.2s ease !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--secondaryColor, #107180) !important;\n text-align: center !important;\n box-sizing: border-box !important;\n}\n\n.rcb-checkbox-next-button:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--secondaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-options-container {\n display: flex !important;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n gap: 8px !important;\n margin: 16px 16px !important;\n padding: 0 !important;\n}\n\n.rcb-options {\n border: 1px solid #d0d0d0 !important;\n outline: none !important;\n background-color: #ffffff !important;\n border-radius: 6px !important;\n padding: 8px 12px !important;\n cursor: pointer !important;\n transition: all 0.2s ease !important;\n text-align: center !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--secondaryColor, #107180) !important;\n width: auto !important;\n flex: 0 0 auto !important;\n box-sizing: border-box !important;\n}\n\n.rcb-options:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--secondaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-options:active {\n background-color: var(--secondaryColor, #107180) !important;\n border-color: var(--secondaryColor, #107180) !important;\n color: white !important;\n transform: translateY(0) !important;\n}\n\n.rcb-bot-message a,\n.rcb-chat-window .rcb-bot-message a:link,\n.rcb-chat-window .rcb-bot-message a:visited {\n color: #ffffff !important;\n text-decoration: underline !important;\n}\n\n.rcb-bot-message a:hover {\n opacity: 0.85;\n text-decoration: underline !important;\n}\n`;\n\n/**\n * If the given element is inside a shadow DOM, inject CSS overrides\n * into the shadow root. No-op when running outside shadow DOM.\n */\nexport function injectShadowDomStyles(element: HTMLElement | null): void {\n if (!element) return;\n\n const root = element.getRootNode();\n if (!(root instanceof ShadowRoot)) return;\n\n // Don't inject twice\n if (root.getElementById(SHADOW_STYLE_ID)) return;\n\n const style = document.createElement('style');\n style.id = SHADOW_STYLE_ID;\n style.textContent = SHADOW_CSS;\n root.appendChild(style);\n}\n","import { forwardRef, useImperativeHandle, useRef, useState, useMemo, useEffect, useCallback } from 'react';\nimport { QABot, applyFlowSettings } from '@snf/qa-bot-core';\nimport type { AccessQABotProps, AccessQABotRef } from '../types';\nimport { API_CONFIG, BOT_CONFIG } from '../config/constants';\nimport { createMainMenuFlow, createTicketFlow, createSecurityFlow, createMetricsFlow } from '../flows';\nimport { setCurrentFormContext, type TicketFormData, type UserInfo } from '../utils/flow-context';\nimport { getSessionId } from '../utils/session';\nimport type { TrackEventFn } from '../utils/analytics';\nimport { injectShadowDomStyles } from '../utils/shadow-dom-styles';\nimport '../styles/chatbot.css';\n\n/**\n * AccessQABot - Wrapper around @snf/qa-bot-core with ACCESS-specific functionality\n *\n * This component demonstrates how to extend qa-bot-core with custom flows:\n * 1. Main menu flow - provides top-level navigation\n * 2. Ticket flows - handles ticket creation with file uploads\n *\n * The wrapper pattern keeps ACCESS-specific logic (JIRA integration, ticket forms)\n * separate from the generic qa-bot-core library.\n */\nexport const AccessQABot = forwardRef<AccessQABotRef, AccessQABotProps>(\n (props, ref) => {\n const {\n apiKey = API_CONFIG.DEFAULT_API_KEY,\n isLoggedIn = false,\n loginUrl = BOT_CONFIG.LOGIN_URL,\n // User context for pre-filling forms\n userEmail,\n userName,\n accessId,\n actingUser,\n // Unused props (accepted for API compatibility)\n ringEffect: _ringEffect,\n defaultOpen: _defaultOpen,\n onClose: _onClose,\n // Active props\n open,\n onOpenChange,\n embedded = false,\n welcome,\n // Endpoint overrides\n qaEndpoint,\n ratingEndpoint,\n // Analytics\n onAnalyticsEvent,\n } = props;\n\n const botRef = useRef<any>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Ticket form state - managed here to persist across flow steps\n const [ticketForm, setTicketForm] = useState<TicketFormData>({});\n\n // User info from props\n const userInfo: UserInfo = useMemo(() => ({\n email: userEmail,\n name: userName,\n accessId: accessId,\n }), [userEmail, userName, accessId]);\n\n // Inject CSS overrides into shadow DOM if needed\n useEffect(() => {\n injectShadowDomStyles(containerRef.current);\n }, []);\n\n // Keep form context in sync for flow utilities\n useEffect(() => {\n setCurrentFormContext({\n ticketForm,\n setTicketForm,\n });\n }, [ticketForm]);\n\n // Expose addMessage method via ref (maintains old API)\n useImperativeHandle(ref, () => ({\n addMessage: (message: string) => {\n botRef.current?.addMessage?.(message);\n },\n }));\n\n // Determine welcome message based on login state\n const welcomeMessage = welcome ||\n (isLoggedIn ? BOT_CONFIG.WELCOME_MESSAGE : BOT_CONFIG.WELCOME_MESSAGE_LOGGED_OUT);\n\n // Get session ID for analytics and metrics flow\n const sessionId = useMemo(() => getSessionId(), []);\n\n // Create analytics tracker that forwards events to consumer\n const trackEvent: TrackEventFn = useCallback((event) => {\n if (onAnalyticsEvent) {\n onAnalyticsEvent({\n ...event,\n type: event.type,\n timestamp: event.timestamp ?? Date.now(),\n sessionId: event.sessionId ?? sessionId,\n });\n }\n }, [onAnalyticsEvent, sessionId]);\n\n // Handler for core analytics events - forwards them to consumer\n const handleCoreAnalyticsEvent = useCallback((event: { type: string; [key: string]: unknown }) => {\n if (onAnalyticsEvent) {\n onAnalyticsEvent({\n ...event,\n type: event.type,\n timestamp: typeof event.timestamp === 'number' ? event.timestamp : Date.now(),\n sessionId: typeof event.sessionId === 'string' ? event.sessionId : sessionId,\n });\n }\n }, [onAnalyticsEvent, sessionId]);\n\n // Build custom flow by combining main menu + all specialized flows\n // Note: ticketForm is NOT a dependency here. All flows read current form state\n // at runtime via getCurrentTicketForm() (from flow-context.ts), so the flow\n // object doesn't need to be recreated when form fields change. Including it\n // caused the entire flow to recreate on every keystroke, which led to duplicate\n // messages in the conversation history.\n const customFlow = useMemo(() => {\n // Main menu provides top-level navigation\n const mainMenuFlow = createMainMenuFlow({\n welcome: welcomeMessage,\n setTicketForm,\n isLoggedIn,\n trackEvent,\n });\n\n // Ticket flows handle ticket creation\n const ticketFlows = createTicketFlow({\n ticketForm: {},\n setTicketForm,\n userInfo,\n trackEvent,\n });\n\n // Security flow for reporting security incidents\n const securityFlow = createSecurityFlow({\n ticketForm: {},\n setTicketForm,\n userInfo,\n trackEvent,\n });\n\n // Metrics flow for XDMoD questions\n const metricsFlow = createMetricsFlow({\n sessionId,\n apiKey,\n trackEvent,\n });\n\n // Merge all flows and apply settings\n const rawFlow = {\n ...mainMenuFlow,\n ...ticketFlows,\n ...securityFlow,\n ...metricsFlow,\n };\n\n // Auto-set chatDisabled based on whether step has options/checkboxes\n return applyFlowSettings(rawFlow, { disableOnOptions: true });\n }, [welcomeMessage, userInfo, sessionId, apiKey, isLoggedIn, trackEvent]);\n\n return (\n <div ref={containerRef}>\n <QABot\n ref={botRef}\n // Login state - Q&A is gated when false, tickets/security work regardless\n isLoggedIn={isLoggedIn}\n actingUser={actingUser}\n\n // Analytics (temporary logging for testing)\n onAnalyticsEvent={handleCoreAnalyticsEvent}\n\n // API configuration\n apiKey={apiKey}\n qaEndpoint={qaEndpoint || API_CONFIG.QA_ENDPOINT}\n ratingEndpoint={ratingEndpoint || API_CONFIG.RATING_ENDPOINT}\n\n // Branding\n botName={BOT_CONFIG.BOT_NAME}\n logo={BOT_CONFIG.LOGO}\n primaryColor={BOT_CONFIG.PRIMARY_COLOR}\n secondaryColor={BOT_CONFIG.SECONDARY_COLOR}\n welcomeMessage={welcomeMessage}\n tooltipText={BOT_CONFIG.TOOLTIP}\n\n // UI Control\n loginUrl={loginUrl}\n open={open}\n onOpenChange={onOpenChange}\n embedded={embedded}\n\n // Footer\n footerText=\"AI-powered · Privacy Notice\"\n footerLink=\"https://support.access-ci.org/tools/access-qa-tool/privacy\"\n\n // Custom flows for tickets, etc.\n customFlow={customFlow}\n />\n </div>\n );\n }\n);\n\nAccessQABot.displayName = 'AccessQABot';\n\nexport default AccessQABot;\n"],"names":["b","n","r","w","y","x","t","e","E","B","P","k","D","C","S","I","T","Q","M","h","g","O","L","o","N","H","R","z","j","F","A","i","a","l","s","d","c","u","U","q","_","p","Y","G","W","V","f","v","X","K","J","Z","$","ee","te","ne","m","re","oe","Ae","ie","ae","le","se","ce","ue","ct","de","pe","fe","he","ge","me","ve","ye","be","we","xe","Ee","Be","Pe","ke","De","Ce","Se","Ie","Te","Qe","Me","Oe","Le","Ne","He","Re","ze","je","Fe","Ue","qe","_e","Ye","Ge","We","Ve","Xe","Ke","Je","Ze","$e","nt","et","tt","rt","ot","At","it","at","lt","st","ut","dt","pt","ft","ht","gt","mt","vt","bt","wt","yt","xt","Et","Bt","Pt","kt","Dt","Ct","St","It","Tt","Qt","Mt","Ot","Lt","Nt","Ht","zt","Rt","jt","Ft","Ut","qt","_t","Yt","Gt","Wt","Vt","Xt","Kt","Jt","Zt","$t","en","tn","nn","rn","on","An","an","ln","sn","cn","un","dn","pn","fn","hn","gn","mn","vn","bn","wn","yn","xn","En","Bn","Pn","kn","Dn","Cn","Sn","In","Tn","Qn","Mn","On","Ln","Nn","Hn","Rn","zn","jn","Fn","Un","qn","_n","Jn","Yn","Gn","Wn","Vn","Xn","Kn","Zn","$n","er","tr","nr","rr","or","Ar","ir","ar","lr","sr","cr","ur","dr","pr","fr","hr","gr","mr","vr","br","wr","yr","xr","Er","Br","Pr","kr","Dr","Cr","Ir","Sr","Tr","Mr","Qr","Or","Lr","Nr","Hr","Rr","zr","jr","Fr","Ur","qr","_r","Xr","Vr","Wr","Yr","Gr","Kr","Zr","Jr","$r","eo","to","no","ro","oo","Ao","io","ao","lo","so","co","uo","po","fo","ho","Do","go","mo","vo","bo","wo","yo","xo","Eo","Bo","Po","ko","Co","So","Io","To","Qo","Mo","Oo","Lo","No","Ho","Ro","zo","jo","Fo","Uo","qo","_o","Yo","Go","Wo","Vo","Xo","Ko","Jo","Zo","$o","eA","tA","nA","rA","oA","AA","iA","aA","lA","sA","cA","uA","dA","pA","fA","hA","gA","mA","vA","bA","wA","yA","EA","xA","BA","PA","kA","IA","DA","SA","CA","TA","QA","MA","OA","LA","NA","HA","RA","zA","jA","FA","UA","qA","_A","YA","WA","XA","GA","VA","KA","JA","ZA","$A","ei","ti","ni","ri","oi","Ai","ii","ai","li","si","ci","ui","di","pi","fi","gi","hi","mi","vi","bi","wi","yi","xi","Ei","Bi","Si","ki","Di","Pi","Ci","Ii","Ti","Qi","Mi","Oi","Li","Ni","Hi","Ri","zi","ji","Fi","Ui","qi","_i","Yi","Wi","Gi","Vi","Xi","Ki","Ji","ta","oa","$i","ea","ra","na","Zi","Aa","ia","aa","la","sa","ca","ua","da","pa","fa","ha","ga","ma","va","ba","wa","ya","xa","Ea","Ba","Pa","ka","Da","_a","Ca","Sa","Ia","Ta","Qa","Ma","Oa","La","Na","Ha","Ra","za","ja","Fa","Ua","qa","Ya","Ga","Wa","Va","Xa","Ka","Ja","Za","$a","el","tl","nl","rl","ol","Al","il","al","ll","sl","cl","ul","dl","pl","fl","hl","gl","ml","vl","wl","yl","xl","Bl","Pl","API_CONFIG","BOT_CONFIG","STORAGE_KEYS","createMainMenuFlow","welcome","setTicketForm","isLoggedIn","trackEvent","chatState","currentFormContext","setCurrentFormContext","context","getCurrentTicketForm","getCurrentFormWithUserInfo","userInfo","currentForm","getFileInfo","uploadedFiles","REQUEST_TYPE_IDS","prepareApiSubmission","formData","ticketType","requestTypeId","submissionData","filesToBase64","sendToProxy","endpoint","proxyEndpoint","response","errorMessage","errorText","errorJson","data","_b","error","submitTicket","generateSuccessMessage","result","validateEmail","email","createOptionalFieldValidator","processOptionalInput","input","createAccessLoginFlow","_ticketForm","submissionResult","handleSubmit","prev","formWithUserInfo","jsx","FileUploadComponent","files","file","fileInfo","finalAccessId","withHistoryFn","createResourceLoginFlow","KEYWORDS","RESOURCES","createGeneralHelpFlow","currentKeywords","additionalKeywords","filteredKeywords","formattedKeywords","resourceInfo","TICKET_TYPE_MAP","createTicketFlow","ticketForm","accessLoginFlow","resourceLoginFlow","generalHelpFlow","generateSecuritySuccessMessage","createSecurityFlow","mostRecentAccessId","priority","finalInput","finalForm","accessIdDisplay","byteToHex","unsafeStringify","arr","offset","getRandomValues","rnds8","rng","randomUUID","native","v4","options","buf","rnds","createMetricsFlow","sessionId","apiKey","feedbackQueryId","userInput","headers","queryId","uuidv4","text","processedText","getSessionId","SHADOW_STYLE_ID","SHADOW_CSS","injectShadowDomStyles","element","root","style","AccessQABot","forwardRef","props","ref","loginUrl","userEmail","userName","accessId","actingUser","_ringEffect","_defaultOpen","_onClose","open","onOpenChange","embedded","qaEndpoint","ratingEndpoint","onAnalyticsEvent","botRef","useRef","containerRef","useState","useMemo","useEffect","useImperativeHandle","message","welcomeMessage","useCallback","event","handleCoreAnalyticsEvent","customFlow","mainMenuFlow","ticketFlows","securityFlow","metricsFlow","rawFlow","applyFlowSettings","QABot"],"mappings":"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A;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAC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","x_google_ignoreList":[0,11,12,13,14]}
|
|
1
|
+
{"version":3,"file":"access-qa-bot.js","sources":["../node_modules/@snf/qa-bot-core/dist/qa-bot-core.js","../src/config/constants.ts","../src/flows/main-menu-flow.ts","../src/utils/flow-context.ts","../src/utils/ticket-api.ts","../src/utils/validation.ts","../src/flows/access-login-flow.tsx","../src/flows/resource-login-flow.tsx","../src/flows/general-help-flow.tsx","../src/flows/ticket-flow.ts","../src/flows/security-flow.tsx","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/native.js","../node_modules/uuid/dist/esm-browser/v4.js","../src/flows/metrics-flow.ts","../src/utils/session.ts","../src/utils/shadow-dom-styles.ts","../src/components/AccessQABot.tsx"],"sourcesContent":["import*as e from\"react\";import t,{forwardRef as n,createContext as r,useContext as o,useCallback as A,useRef as i,useState as a,useEffect as l,useMemo as s,isValidElement as c,Fragment as u,createElement as d,useImperativeHandle as p}from\"react\";import f from\"react-dom/client\";import{jsx as h,jsxs as g,Fragment as m}from\"react/jsx-runtime\";import v from\"react-dom/server\";function b(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&\"undefined\"!=typeof document){var r=document.head||document.getElementsByTagName(\"head\")[0],o=document.createElement(\"style\");o.type=\"text/css\",\"top\"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}b('.rcb-chat-header-container{border-bottom:1px solid #ccc;color:#fff;display:flex;justify-content:space-between;max-height:55px;padding:12px}.rcb-chat-header{display:flex;flex-direction:row}.rcb-bot-avatar{background-size:cover;border-radius:50%;height:30px;margin-right:12px;width:30px}.rcb-message-prompt-container.visible{align-items:center;animation:rcb-animation-pop-in .3s ease-in-out;bottom:0;display:flex;justify-content:center;margin:auto;opacity:1;pointer-events:auto;position:sticky}.rcb-message-prompt-container.hidden{height:0;opacity:0;pointer-events:none;visibility:hidden}.rcb-message-prompt-text{background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;font-size:12px;padding:6px 12px;transition:color .3s ease,border-color .3s ease;z-index:9999}.rcb-message-prompt-container.hidden .rcb-message-prompt-text{padding:0}.rcb-user-message-container{display:flex;flex-direction:row;justify-content:right}.rcb-user-message{border-radius:22px;font-size:15px;height:fit-content;margin-right:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:right;white-space:pre-wrap;width:fit-content}.rcb-user-message-offset{margin-right:50px}.rcb-user-message-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-message-user-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:-10px;margin-right:6px;margin-top:9px;width:40px}.rcb-bot-message-container{display:flex;flex-direction:row}.rcb-bot-message{border-radius:22px;font-size:15px;height:fit-content;margin-left:16px;margin-top:8px;min-height:20px;overflow:auto;overflow-wrap:anywhere;padding:12px 16px;text-align:left;white-space:pre-wrap;width:fit-content}.rcb-bot-message-offset{margin-left:50px}.rcb-bot-message-entry{animation:rcb-animation-bot-message-entry .3s ease-in backwards}.rcb-message-bot-avatar{background-size:cover;border-radius:50%;height:40px;margin-left:6px;margin-right:-10px;margin-top:9px;width:40px}.rcb-typing-indicator{align-items:center;display:flex}.rcb-dot{animation:rcb-animation-bot-typing 1s infinite;background-color:#ccc;border-radius:50%;height:8px;margin-right:4px;width:8px}.rcb-dot:nth-child(2){animation-delay:.2s}.rcb-dot:nth-child(3){animation-delay:.4s}.rcb-chat-body-container{height:100%;overflow-x:hidden;overflow-y:scroll;padding-bottom:16px;position:relative;touch-action:pan-y;width:100%}.rcb-chat-body-container::-webkit-scrollbar-track{background-color:#f1f1f1}.rcb-chat-body-container::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:4px}.rcb-chat-body-container::-webkit-scrollbar-thumb:hover{background-color:#cfcfcf}.rcb-chat-body-container::-webkit-scrollbar-corner{background-color:#f1f1f1}.rcb-checkbox-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;padding-top:12px}.rcb-checkbox-offset{margin-left:50px!important}.rcb-checkbox-row-container{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:flex;gap:5px;max-height:32px;min-height:30px;overflow:hidden;width:80%}.rcb-checkbox-row-container:hover{box-shadow:0 0 5px #0003}.rcb-checkbox-row{align-items:center;cursor:pointer;display:inline-flex;margin-left:10px}.rcb-checkbox-mark{align-items:center;background-color:#f2f2f2;border:none;border-radius:50%;cursor:pointer;display:flex;height:20px;justify-content:center;margin-right:10px;transition:all .3s ease;width:20px}.rcb-checkbox-mark:hover{background-color:#c2c2c2}.rcb-checkbox-mark:before{content:\"✓\";transition:all .3s ease}.rcb-checkbox-label{font-size:14px}.rcb-checkbox-next-button{align-items:center;animation:rcb-animations-checkboxes-entry .5s ease-out;background-color:#fff;border-radius:10px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-block;font-size:24px;max-height:32px;min-height:30px;text-align:center;width:80%}.rcb-checkbox-next-button:before{content:\"→\"}.rcb-checkbox-next-button:hover{box-shadow:0 0 5px #0003}.rcb-options-container{display:flex;flex-wrap:wrap;gap:10px;margin-left:16px;max-width:70%;padding-top:12px}.rcb-options-offset{margin-left:50px!important}.rcb-options{align-items:center;animation:rcb-animation-options-entry .5s ease-out;border-radius:20px;border-style:solid;border-width:.5px;cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;overflow:hidden;padding:10px 20px;transition:background-color .3s ease}.rcb-options:hover{box-shadow:0 0 5px #0003}.rcb-line-break-container{align-items:center;display:flex;justify-content:center;max-height:45px;padding-bottom:5px;padding-top:10px}.rcb-line-break-text{color:#adadad;font-size:12px;padding:6px 12px}.rcb-spinner-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-spinner{animation:rcb-animation-spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;height:22px;width:22px}.rcb-chat-input{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;padding:8px 16px}.rcb-chat-input::placeholder{color:#999}.rcb-chat-input-textarea{background-color:#fff;border:none;border-radius:4px;color:#000;flex:1;font-family:inherit;font-size:16px;height:auto;min-height:38px;outline:none;overflow-y:scroll;padding:8px;resize:none;touch-action:none}.rcb-chat-input-textarea::-webkit-scrollbar,.rcb-chat-input-textarea::-webkit-scrollbar-thumb{background-color:initial}.rcb-chat-input-textarea::-webkit-scrollbar-thumb:hover{background-color:initial}.rcb-chat-input-char-counter{font-size:14px;margin-left:8px;margin-top:3px}.rcb-chat-footer-container{align-items:flex-end;background-color:#f2f2f2;border-top:1px solid #ccc;color:#000;display:flex;font-size:12px;justify-content:space-between;max-height:55px;padding:12px 16px 8px 10px}.rcb-chat-footer,.rcb-toggle-button{display:flex;flex-direction:row}.rcb-toggle-button{border:none;border-radius:50%;bottom:20px;box-shadow:0 2px 4px #0003;cursor:pointer;height:75px;position:fixed;right:20px;width:75px;z-index:9999}.rcb-toggle-button.rcb-button-hide{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}.rcb-toggle-button.rcb-button-show{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-toggle-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:inherit;height:100%;margin:auto;width:100%}.rcb-badge,.rcb-toggle-icon{align-items:center;display:flex;justify-content:center}.rcb-badge{background-color:red;border-radius:50%;color:#fff;height:25px;position:absolute;right:-6px;top:-6px;width:25px}.rcb-chat-tooltip{border-radius:20px;box-shadow:0 2px 6px #0003;cursor:pointer;font-size:20px;padding:16px;position:fixed;transition:transform .3s ease;white-space:nowrap;z-index:9999}.rcb-chat-tooltip-tail{border-style:solid;border-width:10px 0 10px 10px;content:\"\";margin-top:-10px;position:absolute;right:-10px;top:50%}.rcb-chat-tooltip.rcb-tooltip-hide{animation:rcb-animation-tooltip-out .5s ease-in-out;opacity:0;visibility:hidden}.rcb-chat-tooltip.rcb-tooltip-show{animation:rcb-animation-tooltip-in .5s ease-in-out;opacity:1;visibility:visible}.rcb-toast-prompt{animation:rcb-animation-pop-in .3s ease-in-out;background-color:#fff;border:.5px solid #7a7a7a;border-radius:5px;color:#7a7a7a;cursor:pointer;font-size:12px;margin-top:6px;padding:6px 12px;text-align:center;transition:color .3s ease,border-color .3s ease;width:100%;z-index:9999}.rcb-toast-prompt-container{align-items:center;animation:popIn .3s ease-in-out;bottom:0;display:flex;flex-direction:column;justify-content:flex-end;left:50%;margin:200 auto auto;opacity:1;pointer-events:auto;position:absolute;transform:translate(-50%)}.rcb-media-display-image-container,.rcb-media-display-video-container{border-radius:22px;margin-right:16px;margin-top:8px;padding:16px;width:fit-content}.rcb-media-display-offset{margin-right:50px!important}.rcb-media-display-image{border-radius:22px;height:auto;object-fit:cover;width:100%}.rcb-media-display-video{background-color:#000;border-radius:22px;height:auto;width:100%}.rcb-media-display-audio{border-radius:22px;height:auto;margin-right:16px;margin-top:8px;width:100%}.rcb-media-entry{animation:rcb-animation-user-message-entry .3s ease-in backwards}.rcb-attach-button-disabled,.rcb-attach-button-enabled{background-size:cover;border-radius:6px;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-attach-button-disabled input[type=file],.rcb-attach-button-enabled input[type=file]{display:none;height:100%;position:absolute;width:100%}.rcb-attach-button-enabled{cursor:pointer}.rcb-attach-button-disabled{opacity:.5}.rcb-attach-button-enabled:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-attach-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-attach-icon-disabled,.rcb-attach-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;height:24px;margin-top:2px;transition:background-image .3s ease;width:24px}.rcb-attach-icon-enabled{cursor:pointer}.rcb-emoji-button-disabled,.rcb-emoji-button-enabled{background-size:cover;border-radius:6px;cursor:pointer;display:inline-block;height:30px;position:relative;text-align:center;width:30px}.rcb-emoji-icon-disabled,.rcb-emoji-icon-enabled{background-repeat:no-repeat;background-size:cover;display:inline-block;font-size:20px;height:24px;margin-top:2px;position:relative;width:24px}.rcb-emoji-icon-enabled{cursor:pointer}.rcb-emoji-icon-disabled{opacity:.5}.rcb-emoji-button-enabled:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-emoji-button-enabled:hover:after{height:130%;opacity:1;width:130%}.rcb-emoji-button-popup{background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;max-height:200px;overflow-y:auto;padding:8px;position:absolute;transform:translateY(calc(-100% - 30px));width:158px}.rcb-emoji{cursor:pointer;font-size:24px;padding:3px;transition:transform .2s ease-in-out}.rcb-emoji:hover{transform:scale(1.2)}.rcb-audio-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-audio-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-audio-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-close-chat-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-close-chat-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-close-chat-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-notification-icon{background-size:cover;border:none;cursor:pointer;display:inline-block;height:30px;margin-left:5px;position:relative;width:30px}.rcb-notification-icon:after{background-color:#0000001a;border-radius:50%;content:\"\";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .2s ease-out,height .2s ease-out,opacity .2s ease-out;width:0}.rcb-notification-icon:hover:after{height:130%;opacity:1;width:130%}.rcb-voice-button-disabled,.rcb-voice-button-enabled{align-items:center;background-color:#fff;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:all .3s ease;width:32px}.rcb-voice-button-enabled{border:1px solid red;box-shadow:0 0 3px #ff000080}.rcb-voice-button-enabled:hover{border:1px solid #3d0000}.rcb-voice-button-disabled{border:1px;border-color:#0003;border-style:solid}.rcb-voice-button-disabled:hover{box-shadow:0 0 3px #8a0000}.rcb-voice-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:60%;object-fit:cover;width:60%}.rcb-voice-icon.on{animation:rcb-animation-ping 1s infinite}.rcb-send-button{border:none;border-radius:4px;box-shadow:0 0 3px #0000004d;cursor:pointer;display:inline-flex;height:32px;justify-content:center;margin-left:8px;text-transform:uppercase;transition:background-color .3s ease;width:51px}.rcb-send-icon{background-position:50%;background-repeat:no-repeat;background-size:cover;background-size:contain;height:50%;object-fit:cover;transform:translateY(20%);width:50%}.rcb-view-history-container{align-items:center;display:flex;justify-content:center;max-height:45px;min-height:35px;padding-bottom:5px;padding-top:10px}.rcb-view-history-button{align-items:center;background-color:#fff;border:.5px solid #adadad;border-radius:20px;color:#adadad;cursor:pointer;display:inline-flex;font-size:12px;justify-content:center;max-width:60%;padding:6px 12px;transition:color .3s ease,border-color .3s ease}.rcb-view-history-button>p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rcb-chatbot-global{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;z-index:9999}.rcb-chat-window{background-color:#fff;border-radius:10px;bottom:20px;box-shadow:0 2px 4px #0003;display:flex;flex-direction:column;height:550px;overflow:hidden;position:fixed;right:20px;transition:all .3s ease;width:375px}.rcb-window-embedded .rcb-chat-window{bottom:auto;opacity:1;position:relative;right:auto;visibility:visible}.rcb-window-open .rcb-chat-window{animation:rcb-animation-expand .3s ease-in-out forwards;opacity:1;visibility:visible}.rcb-window-close .rcb-chat-window{animation:rcb-animation-collapse .3s ease-in-out forwards;opacity:0;visibility:hidden}@keyframes rcb-animation-expand{0%{opacity:0;transform:translate(100%,100%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-collapse{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%,100%) scale(0)}}@keyframes rcb-animation-ping{0%{filter:brightness(100%);opacity:1}50%{filter:brightness(50%);opacity:.8}}@keyframes rcb-animation-bot-message-entry{0%{opacity:0;transform:translate(-100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-user-message-entry{0%{opacity:0;transform:translate(100%,50%) scale(0)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes rcb-animation-bot-typing{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}@keyframes rcb-animation-pop-in{0%{opacity:0;transform:scale(.8)}70%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes rcb-animations-checkboxes-entry{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes rcb-animation-options-entry{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes rcb-animation-tooltip-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes rcb-animation-tooltip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}@keyframes rcb-animation-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}',{insertAt:\"top\"});const w={AUDIO_BUTTON:\"audio-button\",NOTIFICATION_BUTTON:\"notification-button\",CLOSE_CHAT_BUTTON:\"close-chat-button\",SEND_MESSAGE_BUTTON:\"send-button\",VOICE_MESSAGE_BUTTON:\"voice-button\",FILE_ATTACHMENT_BUTTON:\"file-attachment-button\",EMOJI_PICKER_BUTTON:\"emoji-button\"},y=\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20viewBox='0%200%201000%201000'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-99%20362)%20scale(3.4003)'/%3e%3cpath%20d='M0%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(180%20106%20386)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-46%20282)%20scale(3.4003)'/%3e%3cpath%20d='M19%2065h4l5%204v1H14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20-3%20240)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(236%20175)%20scale(3.4003)'/%3e%3crect%20width='45'%20height='30'%20x='-22.5'%20y='-15'%20rx='1.5'%20ry='1.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20139%20600)%20scale(3.4003)'/%3e%3cpath%20d='M184%2075q14%200%2014%2017%200%2016-14%2016Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='4'%20x='-12.5'%20y='-2'%20rx='.2'%20ry='.2'%20style='stroke:%2346648c;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20219%20548)%20scale(3.4003)'/%3e%3cpath%20d='M175%2065h4l5%204v1h-14v-1Z'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2346648c;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3crect%20width='25'%20height='2'%20x='-12.5'%20y='-1'%20rx='.1'%20ry='.1'%20style='stroke:%2398b0ca;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2398b0ca;fill-rule:nonzero;opacity:1'%20transform='rotate(90%20262%20505)%20scale(3.4003)'/%3e%3ccircle%20r='7.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(767%20175)%20scale(3.4003)'/%3e%3crect%20width='116.7'%20height='70'%20x='-58.4'%20y='-35'%20rx='31.5'%20ry='31.5'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20877)%20scale(3.4003)'/%3e%3crect%20width='60'%20height='20'%20x='-30'%20y='-10'%20rx='3'%20ry='3'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2337547a;fill-rule:nonzero;opacity:1'%20transform='translate(502%20728)%20scale(3.4003)'/%3e%3ccircle%20r='75'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%2371c9fc;fill-rule:nonzero;opacity:1'%20transform='translate(502%20473)%20scale(3.4003)'/%3e%3crect%20width='129.4'%20height='82.3'%20x='-64.7'%20y='-41.1'%20rx='37'%20ry='37'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23fff;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3crect%20width='108'%20height='68.6'%20x='-54'%20y='-34.3'%20rx='30.9'%20ry='30.9'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(502%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(415%20464)%20scale(3.4003)'/%3e%3ccircle%20r='19.4'%20style='stroke:none;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23a478fc;fill-rule:nonzero;opacity:1'%20transform='translate(591%20464)%20scale(3.4003)'/%3e%3crect%20width='96'%20height='53.2'%20x='-48'%20y='-26.6'%20rx='23.9'%20ry='23.9'%20style='stroke:%23162334;stroke-width:1;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:4;is-custom-font:none;font-file-url:none;fill:%23162334;fill-rule:nonzero;opacity:1'%20transform='translate(503%20875)%20scale(3.4003)'/%3e%3cpath%20stroke-linecap='round'%20d='m68%20215%207-15M81%20222l-7-22M81%20222l7-14M101%20208H87M114%20219l-7-24M113%20219l13-22M131%20214l-5-17M148%20214h-18M69%20214H51M100%20209l7-15'%20style='stroke:%23a478fc;stroke-width:3;stroke-dasharray:none;stroke-linecap:butt;stroke-dashoffset:0;stroke-linejoin:miter;stroke-miterlimit:10;is-custom-font:none;font-file-url:none;fill:none;fill-rule:nonzero;opacity:1'%20transform='translate(165%20150)%20scale(3.4003)'/%3e%3c/g%3e%3c/svg%3e\",x=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 0 637 637\",ref:n,...t},e.createElement(\"path\",{d:\"m478 113-13 2-4 1h4l14-2c10-2 35-2 42-1l6 3 3 1c3 0-4-3-8-5-7-1-34-1-44 1m56 6 8 6c7 5 20 17 20 19s7 12 8 12l-3-6-4-6c0-3-15-17-25-24-5-3-8-4-4-1m-198 16-9 1a512 512 0 0 1 9-1m-180 30a412 412 0 0 0-23 4 167 167 0 0 0-32 8 439 439 0 0 1 46-9 304 304 0 0 1 11-2l6-1h-8m369 8 4 3-7-6c-1 0 0 2 3 3m-439 9c-7 3-18 13-18 15l6-5c5-5 9-8 14-10l6-4-8 4m442 12-10 11-7 6 7-6c7-5 14-14 13-16l-3 5M65 205l-1 11c0 9 0 10 4 17 5 10 7 12 22 11 10 0 15 0 38-5l5-1-6 1-16 2-21 2c-13 1-16-1-21-10-3-5-4-6-4-15l1-12c1-4 1-5-1-1m335 1c3 0 3 1 3 3l-2 6c-2 5-35 39-76 80-53 51-120 117-138 137-21 24-22 25-22 27 0 3 6 9 9 9 4 0 14-8 38-27a5073 5073 0 0 1 15-16 1421 1421 0 0 0-17 15l-31 25-6 2-4-3c-3-3-3-4-2-6 3-8 79-85 160-163 57-57 79-80 79-86 0-2-3-4-7-4-2 0-2 0 1 1m165 18c-9 17-25 32-57 53l-10 8 16-11 12-8c15-10 27-22 39-39 5-7 6-8 4-8l-4 5m-221 2a199 199 0 0 0-19 10 183 183 0 0 1 27-12c0-1-1-1-8 2m-34 16c-3 3-2 3 2 0l1-2-3 2m151 3-1 2 2-2c3-3 2-3-1 0m-16 12-11 10a281 281 0 0 0 11-10m-24 18-7 5-7 5-42 31c-10 7-24 19-22 19l7-6 16-12a343 343 0 0 0 35-25 573 573 0 0 0 20-17m-187 0-2 2 4-2 3-2-5 2m-14 6-3 2 4-1 4-3-5 2m-7 3-8 4-18 8 18-7 7-3 3-1c1-2 0-2-2-1m254 24a2672 2672 0 0 1-71 54 601 601 0 0 0 39-29 1352 1352 0 0 1 32-25m-291-8-2 2 4-2 3-2-5 2m-13 5-2 2h3c5-3 4-4-1-2m-19 9-7 3-13 6c-10 5-13 7-14 10-3 4-2 5 1 0 2-3 5-5 14-9l13-6 12-6-6 2m178 36c-17 12-21 16-21 17a390 390 0 0 1 20-17m-206 34 1 4 1 3 1 5 2 8 1 5v-6l-1-8-2-5-1-4-1-2c-1-2-1-2-1 0m222 23-9 7a683 683 0 0 0-56 44 261 261 0 0 0-26 20 1345 1345 0 0 0-46 34c-6 3-7 3-19 3-11 0-12 0-18-3-8-4-10-8-17-20l-5-10 4 10c5 10 12 18 19 22 4 2 6 2 17 2 13 0 14 0 21-3l26-19 42-33a2183 2183 0 0 0 43-34 643 643 0 0 1 24-20\",fill:\"#fff\",fillRule:\"evenodd\"}),e.createElement(\"path\",{d:\"M478 114a620 620 0 0 1-39 6l-21 3a5481 5481 0 0 0-19 3 870 870 0 0 1-54 8l-1 1-6 1-12 2-13 2a992 992 0 0 0-76 12 400 400 0 0 1-45 8l-6 1-5 1h-3l-3 1-2 1-26 4-13 2-17 3c-23 5-33 9-43 19-7 8-9 13-9 27 0 8 1 9 4 14 5 9 8 11 21 10l21-2a1133 1133 0 0 1 23-4 659 659 0 0 0 74-14l3-1h3l3-1h3l2-1 2-1h3l2-1h2l24-5 38-7a2100 2100 0 0 1 93-18l3-1 10-1a2082 2082 0 0 1 120-17l2 1c2 0 8 5 8 7l1 2 1 6c0 4 0 6-3 10-2 4-16 16-18 16l-7 5-10 8a1070 1070 0 0 0-11 7 113 113 0 0 1-20 14l-2 2-3 2-2 2h-1a154 154 0 0 1-28 21l-5 4-5 4a573 573 0 0 1-50 37 175 175 0 0 0-24 18l-1 2-2 1-2 1-2 1-1 1-12 10a396 396 0 0 0-32 25l-8 6-6 5-9 7a326 326 0 0 1-25 20l-13 12a5073 5073 0 0 0-17 15c-24 20-34 27-39 27-2 0-8-6-8-9 0-2 1-3 22-27 18-20 85-86 138-137 41-41 74-75 76-80l2-6c0-2 0-3-2-3l-7 1a233 233 0 0 1-26 9l-1 1-1 1h-1l-1 1h-2l-3 2-1 1h-2l-3 2h-1l-5 2-22 10-9 4-4 2-5 2-10 4-2 1-2 1-2 1-13 6a334 334 0 0 1-38 17 75 75 0 0 0-14 6l-5 2-4 1-2 1-3 2-7 3-16 6a247 247 0 0 0-32 14l-1 1h-2l-1 1h-2l-1 1-12 6a103 103 0 0 0-27 15l-2 5-1 1v11l1 5 1 5 1 4c0 3 0 4 2 4v3l1 3 1 2 2 10 1 4 1 5 2 10 2 8 1 4 1 4c3 3 9 25 11 38l1 7v2l1 4v1l1 1v2l1 2 1 3v1l5 10c7 13 9 16 17 20 6 3 7 3 18 3 12 0 13 0 19-3 8-4 11-6 26-18a1345 1345 0 0 1 85-67 683 683 0 0 1 50-39l12-9a513 513 0 0 1 44-33 201 201 0 0 0 22-17 2270 2270 0 0 0 73-54 158 158 0 0 0 58-59c2 0 3-9 4-27l-1-19-1-4-1-6-1-3-4-6-4-6c0-2-6-8-13-14a77 77 0 0 0-28-18c-6-1-34-1-43 1\"}))),E=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M765-321q0 117-84 196-83 80-200 80-118 0-200-80t-83-196v-392q0-85 61-144 61-58 146-58 86 0 147 58 61 59 61 144v374q0 54-39 92-39 37-93 37-55 0-93-37-38-38-38-92v-372h110v372q0 9 6 14t15 5q8 0 15-5t7-14v-374q0-39-29-66t-68-27q-40 0-69 27t-29 66v392q0 71 51 119t122 48q71 0 122-48t51-119v-426h111v426Z\"}))),B=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M125-165v-113h77v-273q0-93 55-167 56-75 146-100v-19q0-32 22-55 23-23 55-23t55 23q22 23 22 55v19q90 25 146 99 56 73 56 168v273h77v113H125ZM480-32q-38 0-66-27-27-27-27-66h186q0 39-27 66t-66 27Z\"}))),P=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M137-190v-113h78v-253q0-41 11-79 11-39 35-71l-9 150h10L17-802l74-74L873-92l-74 74-175-172H137Zm609-149L319-769q20-15 41-25t44-16v-28q0-32 22-54t54-22q32 0 55 22t22 54v28q85 23 137 94t52 160v217ZM481-47q-38 0-65-27t-27-65h184q0 38-27 65t-65 27Z\"}))),k=n((t,n)=>e.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 100 100\",ref:n,...t},e.createElement(\"g\",{strokeLinecap:\"round\",strokeWidth:10},e.createElement(\"path\",{d:\"m19 19 61 61M80 19 19 80\"})))),D=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M94-136v-255l351-93-351-92v-253l816 346L94-136Z\"}))),C=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M480-372q-61 0-105-43-43-43-43-105v-240q0-61 43-105 43-43 105-43 61 0 105 43 43 44 43 105v240q0 62-43 105t-105 43ZM425-76v-122q-121-16-197-108t-76-214h109q0 91 64 154t155 63q91 0 155-63t64-154h109q0 122-77 214T534-198v122H425Z\"}))),S=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"m763-343-80-79q8-20 13-44 5-23 5-54h109q0 49-11 95t-36 82ZM625-482 336-770v-2q3-56 45-96t101-40q62 0 105 43t43 105v249l-1 17q-1 7-4 12ZM427-76v-122q-120-16-196-108-77-92-77-214h109q0 91 64 154t155 63q43 0 80-14 37-15 67-41l78 79q-35 32-78 53t-93 28v122H427Zm362 27L41-796l75-75 748 748-75 74Z\"}))),I=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M625-511q29 0 50-21t20-50q0-29-20-50-21-20-50-20t-50 20-20 50q0 29 20 50 21 21 50 21Zm-290 0q29 0 50-21t20-49q0-30-20-50t-50-21q-29 0-50 20-20 21-20 50 0 30 20 50 21 21 50 21Zm145 268q75 0 137-43t85-115H258q24 72 85 115 62 43 137 43Zm0 198q-90 0-170-34-79-34-138-93T79-310q-34-80-34-170t34-170q34-79 93-138t138-93q80-34 170-34t170 34q79 34 138 93t93 138q34 80 34 170t-34 170q-34 79-93 138T650-79q-80 34-170 34Zm0-435Zm0 322q134 0 228-94t94-228q0-134-94-228t-228-94q-134 0-228 94t-94 228q0 134 94 228t228 94Z\"}))),T=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M553-64v-108q107-27 173-113 67-87 67-197 0-109-67-195T553-789v-108q152 26 249 144 97 117 97 271 0 155-97 273T553-64ZM61-335v-290h176l236-237v764L237-335H61Zm492 28v-346q51 23 82 70t31 103-31 103q-31 47-82 70Z\"}))),Q=n((t,n)=>e.createElement(\"svg\",{viewBox:\"0 -960 960 960\",ref:n,...t},e.createElement(\"path\",{d:\"M807-15 700-123q-33 21-71 37-38 15-80 22v-108q20-4 38-12l35-17-153-154v257L234-335H57v-290h144L10-818l74-75L882-90l-75 75Zm37-264-80-79q13-30 19-60 7-31 7-64 0-109-68-195-67-86-173-112v-108q152 26 249 144 98 117 98 271 0 55-14 107-13 51-38 96ZM661-462 549-575v-78q51 23 83 70 31 47 31 103l-1 9-1 9ZM469-655 366-759l103-103v207Z\"}))),M={general:{primaryColor:\"#42b0c5\",secondaryColor:\"#491d8d\",fontFamily:\"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",showHeader:!0,showFooter:!0,showInputRow:!0,actionDisabledIcon:\"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2042%2042'%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:4'%20d='M17%209a8%208%200%200%201-8%208%208%208%200%200%201-8-8%208%208%200%200%201%208-8%208%208%200%200%201%208%208Zm0%200'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3cpath%20style='fill:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke:%23b00000;stroke-opacity:1;stroke-miterlimit:10'%20d='M14.66%2014.66%203.34%203.34'%20transform='rotate(.086)%20scale(1.77778)'/%3e%3c/svg%3e\",embedded:!1,flowStartTrigger:\"ON_LOAD\"},tooltip:{mode:\"CLOSE\",text:\"Talk to me! 😊\"},chatButton:{icon:x},header:{title:h(\"div\",{style:{cursor:\"pointer\",margin:0,fontSize:20,fontWeight:\"bold\"},onClick:()=>window.open(\"https://github.com/tjtanjin/\",\"_blank\",\"noopener,noreferrer\"),children:\"Tan Jin\"}),showAvatar:!0,avatar:y,buttons:[w.NOTIFICATION_BUTTON,w.AUDIO_BUTTON,w.CLOSE_CHAT_BUTTON],closeChatIcon:k},notification:{disabled:!1,defaultToggledOn:!0,volume:.2,icon:B,iconDisabled:P,sound:\"data:audio/wav;base64,UklGRmaIAABXQVZFZm10IBAAAAABAAIAQB8AAAB9AAAEABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNjAuMTYuMTAwAGRhdGEgiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////AAAAAAAA//////7/////////AAABAAAAAgABAAEAAQAAAAIAAQABAP//AAD+////AAD+//7////+////AAD//wAA/v8AAAAA/v8AAP//AAAAAAAAAgD////////+////AAABAAEAAgD/////AQABAAAA//8CAP//AAAAAAAA/v8AAAAA//8AAAEA//8EAAAAAAAAAAAA//8BAP//AQABAAEA/////wEA/v///wAAAAACAAAAAAABAAAA//8AAP//AAACAP//////////AAAAAAEAAAAAAAEA//8AAAEAAQADAAIAAgAAAAAA/v///wEAAAAAAAEAAAAAAAEA//8AAAEAAQD//wAA//8AAAEAAAABAAEAAAABAP//AAD//wAAAgAAAP//AQD/////AAAAAP7/AgAAAAIAAAAAAAAAAAABAAAAAQABAP//AAABAP///v8AAP////8AAP//AAD//wAA//8BAP//AAD///7///8BAP7///8AAAIAAgABAAEA/v8AAP//AQADAAEAAAACAAEA/////////v///wEA/v////7/AAD+////AAAAAAAAAgAAAAAAAAD//wEAAAAAAAAAAQABAAIA/v8AAAAA//8AAAEAAAAAAP//AgD//wEA/////wAAAQACAAAAAAAAAP//AQD/////AQAAAAEA/v8AAAEAAQABAAEA///+////AQD//wEAAgD+//7/AAAAAAAAAQAAAAAAAQAAAAAAAAAAAP//AAD//wEAAQD//wAAAQABAP7///8AAP7/AAABAP7/AQABAAEAAAABAAEAAAD+/wIAAAABAAAAAQD/////AQACAP////8AAP//AQD//wEA/v8CAAEAAAAAAAAAAQAAAAIAAQAAAAEAAgD//wEAAAAAAP7///8BAP//AgAAAP///v8CAAAAAgD///////////7/AAACAAEAAgD//wAAAAABAP//AwAAAAMA//8AAAAAAQD+/wAAAAD//wAAAQD//wEA//8BAP7/AAABAAAA//8BAAAA//8AAP//AQADAP3////+////AgD+/////v8BAAEAAQACAAAAAAAAAAAA//8AAP//AAD+/wEA/v8AAP7/AAD//wAAAQACAAAAAQAAAP//AQAAAAAAAAABAAAAAAD+//////8AAAAAAAD//wAAAAABAAEA//8AAAEA//8AAP//AgD+/wAA///+/wAA/v///wAAAQABAAAAAQD//wAA//8AAAEA//8BAAAAAgABAP//AAACAAIAAQABAP//AAAAAAAA//8BAAIAAAABAAAA//8CAAEA/v//////AAAAAAEA////////AQAAAP//AAD//wAAAAAAAP3/AAAAAAEAAAACAAAAAAAAAP//AAD//wAAAAAAAAAAAAAAAP///v///wAAAAABAAAAAAD//wEAAAABAAEAAQD//wAAAAACAAAAAQD+/wAA//8BAAEAAAD+/wAA/////wAAAAABAAAAAAD//////v8AAAAA//8AAAAAAAAAAAIAAAABAAEAAAABAP7/AAD9//////////7///8BAP//AAD///3/AQABAP//AAD//wAAAAABAAAA//8AAP//AAD/////AQABAAEA//8AAAAA//8BAAMA//8AAAAA//8AAP7/AAD//wAAAAAAAP7/AQAAAAAA/v8CAP//AAABAAIAAQABAAAA//8BAAEAAQD///7/AQD//wAAAQABAP//AAD//wEAAAAAAAAAAQAAAAIA//8AAP////8AAP//AQD//////v///wEA/v8AAAIAAgACAAEAAAAAAAEAAAAAAAAAAAAAAAAAAQD//wAA/////wAAAQACAP////8AAAAAAAD//wAAAQD+/wEA//8AAAEAAwD//wEAAQAAAAAAAAABAP////8AAAAAAQAAAAAAAAAAAAEAAQAAAP////////7/AQABAAEAAQD///////8BAAAA//8AAAAAAgABAAEA/v8BAP7///8BAP3/AQABAAIAAAD//wEAAAAAAP//AAABAAIA//8CAAAAAQAAAAEA//8BAAAA/////wAAAAD//wEAAQD//wAAAAAAAP//AAAAAAAAAQABAAAAAQAAAP//AQD//////v8AAAEAAAAAAAAA//8AAAAAAAACAAEAAQAAAP//AAABAAEA/////wAAAgABAAAAAAAAAAEAAAABAP//AQABAP7////+/wEAAAAAAP//AAABAAAAAAABAAEAAAAAAAAA//8BAP///f/+/wEAAQD///7///8AAAAAAQAAAP////8AAAAAAAABAAAAAQD/////AAD//wEA//8AAAIA//8CAAAA//8AAAAAAAD+/wEAAAD+/wAA/////wAA////////AAAAAAAA//8BAAAAAAD//wAAAAD//wEA//8AAP//AQD+/wAAAAAAAP7/AAD+/wEAAQABAP//AAABAAEAAQD//wAA/////wEA//8AAAAAAgAAAAAA//8BAAAAAgAAAAAAAAAAAP7/AQD//wAAAAD+/wAAAAADAAIA/////wAAAQD//wIA//8BAAEA/v8AAAIAAAAAAP3///8AAAAAAAAAAAAAAAABAP///////wAA//8AAAEAAQABAAEAAQABAAAAAQAAAAAAAQABAP7/AQD//wAAAQABAAEA//8BAAAAAgAAAAEAAAABAP//AAD/////AAD//wIA/////wIAAAD///7/AAAAAAAAAAACAP//AAABAP////8AAAAAAAABAAAAAgAAAAAAAQD+/wEA/////wAA/////wAAAAAAAAAA/v//////AAAAAP//AAABAAAAAQAAAAIAAAACAAAA//8AAAAA//8AAP7/AAAAAP//AAACAP//AQABAP//AQABAAAA/////////v8AAP//AQAAAAAA///+/wAAAQD+/wEAAQAAAAEA/////wAAAQD//wAA//8AAAAA/v8BAAEA//8AAP7//v8BAAAAAAAAAAEA//8AAAEA/////wAAAAD//////////wEAAAABAAEA//8CAAEA/f8AAAAA//8BAAAABAABAAEAAQAAAAAAAAAAAP7///8AAAAA/v8BAAAA//8AAAIA//8AAP////8BAP//AAAAAAAAAAD/////AQD///7/////////AQD8////AgABAAIA////////AAD//wAAAAABAAAAAAAAAAEAAgAAAP//AQD//wAAAAAAAP/////+/wAAAAABAAAAAwABAP///////wEAAAADAP//AQACAAAA//8CAAEAAAAAAP///////wIAAAAAAAAAAQAAAAAAAgD//wEAAAABAAAA/v8AAAAAAAAAAAAAAAAAAAEA/v8AAP//AQD//wAA//////7///8AAAAAAAAAAP7/AQD//wAA//8AAAEAAAABAAEAAQD/////AAD//wEAAAD/////AQAAAAEAAAD//wEAAAD/////AgD//wAAAQD//////////wAAAAD//wAAAAABAAAAAAD//wAAAQD///7/AQD//wEAAAD/////AAD//wEA//8AAAEA//8CAAAAAQD//wEAAgAAAAEAAwAAAAAA/v8BAAEAAgD//wEAAAAAAAAAAAD//wEA//8AAAAAAQACAP///////wAAAQABAAEAAAAAAAEAAQD+/wEA/f////////8AAAAA//8AAAEA//8BAAAA/v///wEAAAAAAAEA/////wAAAAAAAP//AAAAAAIAAAABAAAA/////wAAAAD//wAA/v8AAAMAAQD+/wEAAAABAAEA//8BAP//AgAAAAAAAAD//wAA/////wEA/v8CAP3/AAACAP3/AQABAAAAAQACAAEA/v8AAAAA//8BAAAAAgAAAAAAAgACAAEA/v/9/wAAAQABAP7///8AAP//AgD+/////v8CAP////8BAP//AQACAAEAAQABAP//AAD///7/AAABAAEAAgD//wEA//8CAAEAAQABAAEAAAABAAAA/v8AAAEA/v8AAP//AAABAP//AQAAAAEAAgAAAAAA/v///wEAAQAAAAIAAAD/////AgAAAAEA/v8AAP7/AQAAAAAAAQAAAAEAAAACAAEA//8BAP////8AAAIAAAAAAP//AAAAAAIAAAAAAAAAAwABAP///v8BAAAAAAAAAP3/AAABAAEA/v////////////3//v8AAAAAAQABAAIAAAD+/////v8AAAAAAQABAAEAAQAAAP//AAAAAP//AQAAAP//AAABAAAAAAAAAAAA////////AAAAAP//AQD/////AAABAAEA//8CAP7///8AAP7//v8BAAEAAAD+/////////wEAAAAAAAAAAgD//wAAAQAAAP7/AQABAP//AQAAAAAAAAD/////AAACAP////8BAAAAAAD//wAA//8AAAEAAQABAAAAAAABAAAAAQD+/wEA/v8AAAEAAQD/////AAD//wAAAQABAP7//v//////AAACAAAAAAAAAAAAAAACAAAAAQAAAAAA//8BAP//AQD//wAA///+/wIAAQD//wAAAAD//wAA/v8AAP3///8AAAAAAAAAAAAA/f8AAAAA//8CAP7/AAD///7/AAAAAAAAAAD//wEAAAAAAAEAAAAAAAAA//8BAP////8BAP7///8CAAEA//8BAP3///////////8BAAAAAAAAAAEAAgD+//////8BAAMAAQADAAEAAAACAAAAAQD/////AAABAAMAAQAAAP//AQD//wAA//8AAAAA//8CAP7//////wAAAAAAAAIA/v8AAP//AAACAP//AwD//wAA//8AAP//AwD//wEAAQABAAEAAQACAAEAAAD//wAA//8AAAIAAAAAAP///////wAAAQD//wIA//8BAP7/AAD///////8AAAAAAAAAAAEAAAD//wAAAQD//wEA//8BAAAAAAD/////AgABAAIAAAABAAAAAAAAAP//AAAAAAAA//8AAAAAAAD/////AQAAAAAAAQD//wAA///+////AAAAAAEAAgABAAEAAAAAAP//AQAAAAAAAQD+/wAAAAABAAEAAAD/////AQABAP7///8AAAIAAAACAAAA//8AAP//AgACAAAA///+/wAAAAABAAAAAQAAAAEA/v8BAAEA//8CAP//AQD+/////v8AAAAAAAACAP//AAD+/wIA/v8BAAAAAAD/////AAAAAP7///8AAP7//////wEAAAABAAAAAAD//wAAAAAAAAAAAgACAAAAAAABAAAA/f8AAP7/AgAAAAEA//8BAAAAAAD///7/AQD//wAAAAAAAAEAAAAAAAEAAAAAAAAAAQAAAAAA//8AAAAAAAABAP///////wAAAgABAAEA//8AAP//AAACAP//AQABAAEA//8BAAAAAAABAAAA//8AAAEAAAAAAAIA/v8BAP//AQD//wEAAAABAAEAAQACAAEAAAAAAAEAAAABAAAAAAD/////AAABAAEA//8AAAAAAQABAP//AAAAAP//AAD/////AQD//wAAAAABAAEA//8BAAAA//8AAP///f/+/wAA/////wAAAQAAAAIAAAAAAAAAAAD+/wEA/f8CAAAA//8AAAEAAgAAAAMAAAABAAAAAAAAAP//AQAAAAAAAQABAAAAAQAAAP//AAAAAAAA//8AAAAAAAABAAAAAQAAAAAAAAABAAIAAAAAAP7/AQD//wAAAAD+////AAAAAAAAAAABAAAA/////wAA//8AAAAAAAD/////AgD//wAA//8CAP//AQACAAEA/f////////8BAAIAAQABAP//AAD//wAA///+////AAD+/wAAAQD/////AAAAAAAA/////wAAAAABAAAAAQAAAAAA//8AAAIAAAABAP//AQABAAEA//8AAAAAAAADAAEAAAABAP//AgD//wMA//8AAAAAAAD//wAAAAD9/wEA///+/wAA//8BAAEA//8BAAAA//8AAP///v8BAP///////////v8BAAAAAQABAAAAAAAAAAAA//8AAP7/AQAAAAAAAAAAAP7/AQAAAAAAAgABAAEAAAABAAEAAAAAAAAAAAD+/wAAAAD//wEAAAAAAAAAAAAAAP//AgABAAAAAAABAAEAAAD/////AAAAAP//AAABAP////8BAAAAAQABAP7//v/+////AQAAAAAAAQAAAAEAAgAAAAAAAQAAAAEAAAD+/////v8BAP//AAABAP//AQABAAAAAAD//wAA//8CAP//AAAAAAEAAAABAAAAAAAAAP//AAD+////AwAAAAAAAQD//wEAAAACAAEAAAADAAAAAAD/////AAAAAAEAAAABAAAA//8AAAEA//8BAP///v8AAP//AAD//wAAAQABAP//AQAAAAAA/////wEAAQAAAP////8AAAEA//8BAAAAAQAAAP////8AAAAAAQAAAAIAAQAAAAEAAAAAAAEAAAD//wEAAAAAAP////8AAAAA//8BAAEAAAAAAAIA///+/wIA/v8BAAAAAQACAAAAAQAAAP7///8AAP//AAAAAAEAAAAAAP7/AAD+////AAAAAAAAAAD//wAA/v8BAAMAAAABAAIAAgD//wAA//8BAAEA//8BAP7/AAAAAP7///8BAAAAAQAAAP7/AQD/////AAAAAAEAAAABAP//AQABAAAAAgABAAAAAAAAAP///////wEA//8AAAEA//8AAAAAAQAAAAIAAAABAP7//////wAAAQABAAAAAAABAAEA///+/wAA//8BAP///v8AAP///v8BAAAA//8CAAAAAQAAAAEAAQABAAAAAAD+/wAAAAD+/wAAAAAAAAAA/f////////8AAAAAAQABAP///////wEA//8BAAEAAAAAAAAA/////wEA/v//////AAAAAP//AAABAAAAAAD+/wAAAAD9////AQAAAAEAAwD//wEAAQAAAP//AgAAAAAAAAD+/wIAAAAAAAAAAAAAAAIA//8AAAEAAQACAAAAAQD//wAAAAD//wIAAQABAAAAAAD//wEA//8BAAEAAQAAAAAAAQABAP7/AAD//wEAAAACAP7/AQAAAAAAAAD//wIAAQACAAIAAQAAAAAAAAAAAP3///8BAAAAAQACAP//AgD9/wAAAAD//wEA/v////////8AAAAAAAD//wEAAQD//wMAAQAAAAEA//8AAAEA//8AAAAAAAACAAAAAAD//wAAAQD///////8AAAAA//8BAAIA/v8BAAEA/f8AAAAAAAAAAAAAAgD/////AAD+/wAAAAD//wAAAAAAAP//////////AgABAP///v8AAAIAAQAAAP//AAABAAAA/////wAAAAAAAAEAAAABAP///v///wIA//8BAAEAAQAAAAAA///+/wEAAAAAAAAA/////////v8BAP3/AAAAAAAAAAAAAAAA//8AAP//AAAAAP//AAABAAIAAAACAP////8DAAAAAAABAAAAAwABAP//AAABAP//AAAAAP////8BAAAAAgD//wAA///+/wAAAQD//wAA//8AAP7///8AAAAA/v8AAAAAAQD//wEA/v////////8AAAAAAQAAAP//AQACAAAAAAAAAP//AAD//wAAAAD//wAAAAD+/wAAAAAAAP//AQD//wAAAgAAAAAAAQABAAAAAwD+/wAAAAD///7/AQD//wIAAQAAAP//AAD//wAA//8CAAEAAAAAAAAA/////wAAAAD//wEAAQD///////8BAAAA//8BAAEAAAAAAAAA/v///wEAAAAAAAAAAAADAAAAAAAAAAAAAQABAAEAAAD+//7//v8AAP//AQAAAAAAAAABAAEAAgAAAAAAAQD//wAA/f8AAAAAAAABAAAAAQAAAAAAAAAAAAIA//8BAP///////wIA/////wAAAAABAAEA//8BAAAAAAD//wAAAQD//wEAAAAAAAIA/v8BAP//AAAAAAEAAAABAP//AAAAAAAAAQABAP7/AAABAAAAAQD//wIAAAAAAAEA///+/wAA//8AAP//AAAAAAAAAAABAP///////wIAAQAAAAEAAQAAAP7/AQAAAAAAAQAAAAAAAQD/////AQAAAAAA///+//7/AAD+/wEA//8AAAAA///+/wEAAAABAAIAAQABAAAA//8AAP//AAD//wAAAAD//wAAAAAAAP//AQAAAAAA////////AQAAAAAAAQD+////AQABAP7/AAD///7/AgD//wAAAAAAAP//AAAAAAEA//8BAAEAAgAAAAIAAAD//wEA/////wAAAQD///7/AQD//wEAAQD/////AAAAAAEAAgAAAAAAAQD//wEA//8AAP7//////wAA//8BAAEA//8BAAAAAQD/////AAABAP//AAACAP//AQAAAP//AAABAP////8AAAAAAAABAAEAAwABAAAAAgD//wAAAAD//wEAAAABAAAAAAABAAEA/////wAA//8AAAIAAAAAAAEAAQABAAEAAQABAP//AgAAAAAA//8BAP3//v///wAA//8AAAAAAQAAAP//AQD//wEAAAACAAIAAAABAAAA//8BAAEA//8BAP//AAAAAP//AQAAAAIAAAD//wAAAAAAAAEA////////AQAAAP//AQD//wAAAQD+/wEAAAABAP///v///wAAAAAAAP//AAAAAAIAAQD//wAAAgD+/wAAAAD//wAAAAABAP///P//////AAACAP////8AAAIAAAABAAAAAAAAAAAA//8AAAAAAQADAP//AQAAAAAAAAABAAEAAQAAAAAA/v8AAAAAAAD//wAAAQD//wAAAAD//wAA/v////////8CAAEA/v8BAP7/AAAAAAAA//8AAAEAAAD//wIAAQAAAAIAAQAAAAAAAAD///7/AQABAP//AAAAAP//AAACAAEA//8BAAAAAwAAAAAAAAD//wEAAAD//wAA///////////+/wAAAQABAAIAAAABAAEAAAD//wEAAAD/////AAD+/wIAAwABAAEA/v8BAAEAAAD//wAA//8AAP//AAAAAAEAAAAAAP//AAAAAAEAAQABAAEA/v///wAAAAD//wEAAAACAAAA/f/+/wAA/v///wAA//8AAAEAAQD///7/AAAAAAAAAAABAAAAAAACAAAAAAABAAAAAAABAP//AQD//wAA//8BAP7/AgABAAEAAQAAAAAAAQD//wEA/v8AAP////8AAP///////wIAAQD//wAAAAD//wAA/v///wAAAQD//wIA/////wEAAAAAAAIAAAABAAAAAAD//wEA//8AAAAA/////wAAAQAAAAAAAAD//wEAAQAAAAAAAAACAP///////wAAAgD//wAA/v8AAAIAAAAAAAEAAAABAP//AQABAAEAAQAAAP///v8BAAEAAAAAAP////8AAAAAAQD//wIAAQAAAAEAAAAAAAAA//8BAP//AAAAAP7//v///wEAAAAAAAIAAAAAAP//AAD//wEA//8BAAAAAAABAAEAAAABAP7///8AAAIAAAABAP//AAD//wEAAAAAAP//AAAAAAEAAAAAAAAAAAAAAP7/AQD//wAAAQD+/wEA/v8BAP7/AAABAAEAAAACAAIAAAADAAAA//8AAAEAAAABAP//AQD//wIA/////wEA//8AAAEA//8AAAEAAAAAAAAAAQABAAAAAAAAAAAAAAD//////////wAA//8AAP7/AAD+/wAAAQAAAAAA/////wAABAAAAAAA//8AAAEAAAAAAAAA/v8AAP//AAAAAAAAAAD//wAAAAD///////8BAAEAAAD/////AgABAAEA/v/+/wAAAQACAAEAAAD//wAAAwABAP//AgD+/wAA/v8AAAAAAAAAAAEA//8AAAEAAAD+/wEAAAAAAAEAAgAAAAEAAAABAP//AQD+/wIA/////wAAAQD//wAAAQD+/wAAAQABAAAA////////AAACAAAAAQAAAAIA//8BAP///v///wEA//8BAAEAAQD+/wAAAQD9/wAAAQAAAAEAAAABAAAAAgAAAP//AAD+/wAA/f8AAAAA////////AgAAAAcAAQD7/wEA/f8AAAIA//8GAP7//v/+//b/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+P/F//z/rv/i/7r/6v/Z/wYABwAoADAAKQBOABkATAD0/zQA1P8PANv/0//v/6//FwCi/ywAxP8oAPn//v82APT/WwD4/00A+/8yAPv//f/8/83/+v+w/+T/sf/j/9b/AQACACoAIgAtAEIAHwBPAAEAQADe/xcA0v/k/+X/t/8IAKv/IgC//yEA6/8EACMA9/9PAPf/VAD+/zcA+/8JAPn/1P8AALf/6f+w/+P/zf////j/HAAdAC0APgAfAEsABwBCAOP/IADV/+//2v/B//3/rP8PALv/GADd/xEAFgABAEMABABaAP//QgACABcA+//n/wAAwP/w/67/4v+///3/6f8WABcAKQA0ACIARgAQAEcA8f8pANn/9f/U/87/7f+v/wgAtP8RANP/FgANAAIAOQACAFQA/f9HAAAAIAABAO3//P/E/wEAs//q/7n/9P/i/wYAEQAZADEAJABBABMASAAAADEA3/8CANL/1v/g/7H/AACy/w8Axf8ZAPv/CQAzAAIAVQD//1AAAAAsAAIA9v/7/8r/AwC2//P/tf/m/+H/AwADABEAKQApADoAHgBHAAgAPADr/wkA1//f/93/vP/6/7L/CgDA/x4A7/8hACkAAgBPAPz/UgD1/zIABAAEAPz/0v/5/7f/AACy//H/2f/+/wEAAAAkABUAMwAdADoAEQA9APD/EADU//L/1P/H/+z/tf8LALv/HADk/ygAGgADAEMA//9TAPn/QAAAABAAAQDc//z/wf8DALD/7P/Q//z/9/8HABoAFgA3ACMAMAAOADwA+P8ZANv/+P/Y/9H/5v+8/wUAu/8WANf/HgAMAAoAPQABAFMA/f9HAP7/HwAEAN//+v/H/wMAs//2/8r/8//y/wMADgAQAC4AIwAyABMAJwD8/xcA3v8LANP/5v/f/8j/AgC4/w4A1P8eAAQACgAxAAEAUgD+/0gA/v8nAAIA8f/5/8r/BAC6/+3/wP/l/+b/AQAIABkAIwArAC4AIAAoAAkAGADj/w0A0f/r/9//0P8DAL3/CgDN/xkA//8IACUAAgBJAAAATwD+/ysAAQD7//3/z/8DAMT/+f/K/+L/5P/1////EgAcACYALgApAC4ACwAcAPL/EADZ//L/1f/U//f/uv8KAMX/DwDu/wcAHwADAEUABgBNAAEANQAAAAYAAQDf////xf/+/9P/4f/b//X/9v8LAA4AGAAlACoAMAAQABkA9v8TAOL/+f/W/9r/8f/I/wcAxP8MAOr/BwATAAQAOAAGAEcAAABCAAEADwAEAOP//v/F/wIAzf/o/93/8P/s/w4ACwAZACEAKgAyABMAIQD5/xgA6v8DANb/4P/y/9H/AQDJ/wkA4/8DAAoA/f8wAAQAQwABAEAA//8VAAIA7P/+/8r/BADP/+v/2v/s/+n/CwAIAA0AHAAjADQAHAAkAP//GQDy/wQA5v/i//b/0P/7/8f/AADh/wMAAAD+/yUAAAA7AAEAOAAAABwAAAD6/wAA1/8CAMr/AADb/+3/5f8BAAIACAAVABcALwAfACgA+/8XAPn/DgDe/+//7v/Q/wMAz/8JAOP/CwDx////EAAHADEAAQArAAIAHQAEAAcAAADr/wEAzv8CANj//f/k/wEA+f/+/xQABwAqAB4ALAD+/x4A8P8SAOb/8//f/9j//f/N/wEA3v8LAO7/AgAMAAQALAAEAC0AAQAdAAQADwABAPP/BADV/wMA0/8AAOH/AQD1/wAAEAADACQAGwAwAAQAHwD0/xUA8f/4/+L/2//7/8z/AwDc/woA6f8AAAQAAwAoAAcANAAAACcAAgAUAAEA+P8CANv/AgDR/wEA4v8BAOz/AgAIAPv/JAAVADMAFAAhAPP/GQDz//7/3P/l/+3/z/8BANf/CgDn/wkA/P///xoABwAwAAIAJwACABcAAwABAAIA4f8BAND/AgDd//3/6P8CAAYA/f8YAAwALwAZACUA9v8bAPj/AwDq/+r/7P/S//7/1/8EAOX/CQD6//7/GQAFAC8AAQApAAEAGQACAAMAAgDm/wEAzv8BANv//v/p/wIA//8BABMABQArACAALAABAB4A8f8NAOv/7v/m/9n/+P/R/wMA4f8OAPT/AQATAAMAKwAHACoAAwAbAAMABQADAO7/AQDU/wEA2f8AAOL////3////EgAAACUAGgAvAAUAHQD2/xIA9f/0//T/3P/4/8///f/h/wIA7f8AAAoAAQApAAQALQADACAAAgAPAP//9P///9r//f/T/wAA3f/9//D/AQAQAP//HAAHAC8ACQAfAPv/GAD+//f/+P/j/wEA0v/+/9n/AADq/wIABgD//x0AAQAuAAEAIwAAABQAAwD8/wEA3/8AAM//AADe////7f8BAAwA//8ZAAMALwAAACEA//8dAP3//v/9/+n////U//z/1v8BAOT/AAD+/wAAGwD+/ywA/v8kAAIAGAD///3////q/wEA0P///97/AADk/wAABAAAABUAAQAqAAEAKQAAABwAAAAFAP//6f8AANr////X/wAA4/8AAPj/AgAUAAAAKgD//ywAAAAcAP7/AQAAAOv/AADU/wAA2v8CAOP/AAABAAAAFgABABsAAAAqAAEAHwAAABQAAgDv/wEA3v///9H////f////7/8BAAoAAQApAAAALgD//yEAAQAIAAAA8P8BANr//v/V////4f8AAPf//v8UAAAAFAAAACYAAQAhAP7/GwD+//T/AADo/wIA1v8CANr/AgDp/wEABgAAAB8AAQAsAAEAJAAAAAwA///z/wEA3/8AANT/AADh/wEA9P///xQAAgASAAAAJQAAACEAAAAaAP//+v8BAOj////W////2P8BAOf///8DAAAAHwAAAC4AAAAlAAAAEgAAAPL/AQDm////0f8CAN3/AADr//7/EQD//xAAAQAhAAIAJQAAAB8AAAABAP//6v8CAN//AQDX/wAA4/8AAPr/AAAXAAAAKgABACgAAAAbAP///f8AAOj/AADU/wAA2v///+f/AQANAAMAEQD+/xwA/v8kAP7/IQABAAgA/v/p////5/8AANf/AQDd/wEA8v8BABMAAQAjAAAALgAAACAAAQADAAEA7f8BANn/AgDY//7/4P/+/wEAAAAXAAIAFAAFACUA/P8jAP//EgAAAO//AQDo////1/8AAN3/AADx//7/DgAAAB0AAQAoAAAAIwAAAAoAAQDv/wMA4f8AANn/AQDi/wEA+v///xgAAAAQAP3/IwD//yUA/v8XAAAA7/8AAOv/AADc/wAA3P/+/+v/AQALAAEAGgACACkAAAAkAP7/EAABAO/////q//7/1/8AANz/AgDw/wEAEgD//w8AAAAcAAIAJQAAAB0AAAD2////7P8AAOP/AgDa/wAA5P8BAAQAAQAWAAAAIgAAACMAAAAaAP//+P///+v/AQDZ/wAA2////+7/AAARAAAADgAAABYAAAAhAAAAIAABAPz/AQDt/wAA5P8AANr/AQDg/wEA/P8BABcAAAAhAP//KQD//xwAAAD8/wEA7v8AAN3////Z/wAA6f8BAA0AAAARAAEAEQAAACMAAAAgAAEA/f8CAO3/AADv/wAA3v8BANv////1////EgAAABkA//8nAAAAIgAAAAMAAADu/wAA6P8CANn/AQDg////BQD//xMAAQAOAP//IAABACYAAAAGAAAA6f////H/AADg/wEA2f8AAO3///8PAAAAFQACACQAAAAkAAEADQABAO//AADp/wAA2////9z/AQD7/wEAFgAAAAwAAQAXAP7/JQD9/xMAAADx/wAA8f8AAOr/AADc/wEA4/8BAAkAAAAVAAAAIQD//yYA//8UAAEA9P8BAOz/AADf/wAA3P8AAPP/AAAQAAAADQABAA0AAAAlAAEAGAD///H//v/0/wEA7v8CAN//AADg//3/BAACABUAAQAfAAAAJwABABgAAQD0//7/7f///+L/AADa/wIA8P///w4A//8SAAMACQAAACAAAQAgAP//+v////P////y/wEA4/8BANr/AQD9/wAAEwD//xkAAQAjAAAAIgABAPz////s/wAA6v8BANX/AQDr//7/BwABABMAAAAHAP//FwAAACYAAAD//wEA9P8BAPb/AQDu////2v8BAPn/AAATAP//FwD//yEAAAAjAAAAAgAAAOn/AQDr//7/2P8CAOT/AAABAP//FgABAAUAAQATAP//IwAAAAEAAgDy/wEA9/8AAPb/AADb/wAA6/8BABAAAAATAP7/IQAAACYA//8UAP//7/8AAPD/AADd/wEA3P/+//7///8OAAAACgAAAAgAAAAhAP//CQACAPT/AQD2/wAA9v///97////m/wIADgABABMAAQAfAP//JwAAABMAAADw/wAA8P///+r/AQDb/wAA9f8AAA8AAAARAAIABAD//wYA/v8HAAAAAQD//wMAAgAGAAAA7f8AAOz/AAALAP//DwACABQA//8bAAAAHgD///f/AADq/wEA6/8BANj//v/t/wAACAD+/xAAAgAEAAAABAABAAcAAQADAAAA//8AAAUA///1/wAA5f///wIAAAAOAAAAEAAAABsAAAAhAAAA/v8BAOj////y////3f8AAOf/AQAGAAEADAAAAAcA//8BAP//CQABAAMA//8BAP//BQAAAAAAAADo/wAA+/8AAAoAAAALAAAAFAAAACAAAQAGAAIA7f8BAPH/AADm/wMA3P8CAP7/AgASAP//CgD//wAAAAAIAP//BQD//wEAAAACAP7/BAAAAPz/AwD8////BAAAAAEA//8HAAAAHQAAAAgA/v/x//7/8f///+f/AQDg/////P///woAAAAMAP//AAABAAYA//8EAAAAAgAAAAUAAAACAAAAAwAAAAIAAAABAAAAAQABAAAAAgAcAP//DgD///T/AQDx/wAA9P8CAOH/AAD3/wAACQAAAAoAAQABAP//AwAAAAcAAAD+/wAAAgACAAEAAAD+////AwD+/wAAAAABAP//+v8BABEAAQATAAAA9f/+//L//f/z/wIA6f8AAPb/AQAFAP//DAAAAAAAAAAFAP//BQD//wEA//8DAAEAAQAAAP7///8AAAAA//8BAAIAAAD+/wAAEAABABYAAgD6/wEA8v8BAPX/AwDp/wAA8////wMA//8JAAEABAABAAEA//8FAAEA//8AAAMAAQACAP//AQAAAAEAAgAFAP//AQABAAAAAQAAAP//EQABAAAAAAD5/wEA+P8AAPr////6/wAA+/8BAAIA//8BAAAA//8CAAUA//8BAP7/AAABAAEAAgAAAAAAAwAAAAEA/v8DAAIAAAACAAQA//8TAAAA/P8BAPr////3//////8AAPz/AQD7/wEAAgD/////AAABAAEABAAAAP//////////AAAAAAAAAAADAAAAAwAAAAAA//8EAP///v/+/xAA//8HAAAA+/////j/AQD8////AAD///n///8AAAAA//8AAP////8DAP//AgAAAAAAAAACAAIAAAD+/wAAAQD//wAA/////wIAAgD9////CQACAAYA///9////+f8BAPr/AQAAAAIA/v///wAA//8AAAAAAAAAAAEAAAABAAAAAgAAAAEAAAAAAAEAAQABAAAAAgABAP//AAD//wEAAAD///////8BAAIAAQAAAAAA/v/+//////8BAAAAAQABAP//AAD///////8BAAAAAQABAP////8CAAEAAQD//wEA/v//////AQAAAAAAAAAAAAAAAAD9/wMA/////wAAAQD+/wEA/v/+//7/AQD//wMAAAAAAAAAAAABAAEA//////7/AAACAP3/AAD//wAAAQAAAP//AQD//wAAAAAAAAEA//8CAP//AAAAAAAA/v8AAAAA//8BAP//AAABAP//AAAAAP//AQD//wAAAQABAAAAAAABAAEA/v///wAAAAD//////////wAAAAAAAP//AAD////////8/wIAAAADAAEA/////wEA/v8BAP7/AgAAAAEAAgAAAP//AgD/////AQD//wEA//////7/AQD//wMAAAAAAAAA//8CAP//AQAAAP//AAACAAAAAAABAP//AQD+/wAA/////wAA/f///wAAAAAAAP7/AAAAAAAAAgD//wEAAQACAP//AAAAAAEAAQD//wAAAAAAAAAA//8BAAMA/v8AAP7/AQAAAAAAAQAAAAAA///+//7/AAAAAAAA//8BAP7/AQAAAP//AQABAAAAAQAAAP//AAD//wIA/v///wAAAQABAP//AAD//wEA//8BAP//AgAAAP///////wAAAQABAP//AwABAAAAAAAAAAAA/////wIAAwACAAAA/v8BAAAAAAAAAAAA//8AAP////8AAAAA/////wAA/////wEA/v8CAAEAAQD//wAAAAABAAAAAAD//wEAAQABAAAA//8CAAAAAAAAAP7/AAABAAAAAQABAAAAAgABAAAAAQD//wEAAwD+/wAA/v8AAAEAAAAAAAAAAAAAAAEAAAD//wMA/v///wAAAAACAAEAAAAAAP7///8DAAEAAQD//wEA/f8BAAEAAQD//wEAAQABAAMAAgAAAAEA//8AAP//BAAAAAIA/v//////AQABAAAAAAD//wEAAAACAAIAAQAAAAAAAgAAAAAAAAABAAIAAAABAAIAAQAAAP////8AAAAAAAD//wAAAQACAP//AAAAAAAAAQAAAAEA//8AAAAAAAD/////AQD//wAAAQD9////AQAAAAAA//8BAAAA///+/////v8BAAAAAQAAAAAAAAAAAAIA//8BAAAAAAACAP//AQD//wAAAAD/////AAD9/wAAAAACAAAAAgAAAAEAAQABAAEAAAAAAAEA//8AAAEAAQACAAAAAQAAAAEA//8BAAIAAAACAP//AAABAAAAAAAAAAAAAAD//wAAAQD/////AAAAAP////8AAAEAAAAAAP7///8BAAIAAQD//wEAAQAAAP//AgAAAAAAAAD//wAA//8CAP7/AQAAAP7/AAD+////AAAAAAAAAQABAAAA//8AAAEAAAABAP7/AAAAAP7/AAD+/wAAAQABAAEA/////////v8BAP///v///wIAAAAAAAAAAQAAAAIAAQAAAAAAAAABAAEAAAAAAAAAAAD//wEAAQD//wAAAQABAAAA/v/+/////////wAAAAD//wAAAAD/////AAAAAP7/AAD//wIA//8CAP//AQAAAP////8AAAAAAQABAP////8AAP//AQACAAAAAQAAAAAAAAAAAAAA//8BAAAAAAD+/wAA/v///wEAAAD+//7///8CAP7/AAABAP3/AwAAAAAAAAABAAIAAAABAAAAAQABAAIAAAAAAP//AAAAAAEAAAACAAEAAAACAAAAAAABAAAAAwAAAAAAAAD+/wAAAQD9//////8BAAAA/v8AAAAAAAAAAAAAAAD//wMA/v8BAAEAAQACAAAA/v8BAP//AwABAAIAAQABAP//AQAAAAEAAAAAAAEA//8AAAAAAAD/////AAABAAEAAAAAAP////8AAAAAAAAAAAAA/v8AAP//AQAAAP//AAABAAIAAQAAAAAAAgABAAAA/////wAAAQABAP//AQABAAEA/////wAAAAAAAAAAAAABAAEAAQAAAAAAAAAAAAAA//8AAP7/AQD9/wAAAgD//wEAAQABAAEA/v8AAAEA/////wAAAAAAAP//AAABAAAAAAAAAAAA//8CAP//AAABAAEAAQABAAAA//8BAAIAAgD//wAA/v8AAAEAAAD///7/AAAAAAEAAAABAAAAAQABAAAAAQACAAAA///+/wAAAQABAP7////+/wAA//8AAAAAAgAAAP//AQD9/wAAAAD//wAA//8AAAAAAQAAAAAAAQD//wAAAAAAAP//AQABAAAA/v8CAP//AAD///////8AAAAAAAACAAEA//8BAP7/AAAAAAEA//8BAAAAAQD//wAAAQD+/wAA/////wAAAAD//wAAAQABAAAA//8AAAEA/////wAA//8AAAAA/v/+/wEAAgABAP//AgD//wIA/////wAA//8AAAEAAQAAAAAAAQAAAAMAAAACAP//\",showCount:!0},audio:{disabled:!0,defaultToggledOn:!1,language:\"en-US\",voiceNames:[\"Microsoft David - English (United States)\",\"Alex (English - United States)\"],rate:1,volume:1,icon:T,iconDisabled:Q},chatHistory:{disabled:!1,maxEntries:30,storageKey:\"rcb-history\",storageType:\"LOCAL_STORAGE\",viewChatHistoryButtonText:\"Load Chat History ⟳\",chatHistoryLineBreakText:\"----- Previous Chat History -----\",autoLoad:!1},chatInput:{disabled:!1,allowNewline:!1,enabledPlaceholderText:\"Type your message...\",disabledPlaceholderText:\"\",showCharacterCount:!1,characterLimit:-1,botDelay:1e3,sendButtonIcon:D,blockSpam:!0,sendOptionOutput:!0,sendCheckboxOutput:!0,buttons:[w.VOICE_MESSAGE_BUTTON,w.SEND_MESSAGE_BUTTON]},chatWindow:{showScrollbar:!1,showTypingIndicator:!0,autoJumpToBottom:!1,showMessagePrompt:!0,messagePromptText:\"New Messages ↓\",messagePromptOffset:30,defaultOpen:!1},sensitiveInput:{maskInTextArea:!0,maskInUserBubble:!0,asterisksCount:10,hideInUserBubble:!1},userBubble:{animate:!0,showAvatar:!1,avatar:\"data:image/svg+xml,%3csvg%20width='140'%20height='140'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cy='60.044'%20cx='70'%20fill='%235c5c5c'%20r='29'/%3e%3cpath%20d='m16.36%20156.186-.01-30.5c-.005-16.844%2024.168-30.507%2053.991-30.516%2029.823-.009%2054.004%2013.64%2054.01%2030.484l.008%2030.5-108%20.032z'%20fill='%235c5c5c'/%3e%3c/svg%3e\",simulateStream:!1,streamSpeed:30},botBubble:{animate:!0,showAvatar:!1,avatar:y,simulateStream:!1,streamSpeed:30},voice:{disabled:!0,defaultToggledOn:!1,language:\"en-US\",timeoutPeriod:1e4,autoSendDisabled:!1,autoSendPeriod:1e3,sendAsAudio:!1,icon:C,iconDisabled:S},footer:{text:g(\"div\",{style:{cursor:\"pointer\",display:\"flex\",flexDirection:\"row\",alignItems:\"center\",columnGap:3},onClick:()=>window.open(\"https://react-chatbotify.com\",\"_blank\",\"noopener,noreferrer\"),children:[h(\"span\",{children:\"Powered By \"},0),h(\"div\",{style:{borderRadius:\"50%\",width:14,height:14,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",background:\"linear-gradient(to right, #42b0c5, #491d8d)\"},children:h(x,{style:{width:\"80%\",height:\"80%\",fill:\"#fff\"}})},1),h(\"span\",{style:{fontWeight:\"bold\"},children:\" React ChatBotify\"},2)]}),buttons:[w.FILE_ATTACHMENT_BUTTON,w.EMOJI_PICKER_BUTTON]},fileAttachment:{disabled:!1,multiple:!0,accept:\".png\",icon:E,iconDisabled:E,sendFileName:!0,showMediaDisplay:!1},emoji:{disabled:!1,icon:I,iconDisabled:I,list:[\"😀\",\"😃\",\"😄\",\"😅\",\"😊\",\"😌\",\"😇\",\"🙃\",\"🤣\",\"😍\",\"🥰\",\"🥳\",\"🎉\",\"🎈\",\"🚀\",\"⭐️\"]},toast:{maxCount:3,forbidOnMax:!1,dismissOnClick:!0},event:{rcbPreInjectMessage:!1,rcbPostInjectMessage:!1,rcbStartSimulateStreamMessage:!1,rcbStopSimulateStreamMessage:!1,rcbStartStreamMessage:!1,rcbChunkStreamMessage:!1,rcbStopStreamMessage:!1,rcbRemoveMessage:!1,rcbSaveChatHistory:!1,rcbLoadChatHistory:!1,rcbToggleChatWindow:!1,rcbStartSpeakAudio:!1,rcbToggleAudio:!1,rcbToggleNotifications:!1,rcbToggleVoice:!1,rcbChangePath:!1,rcbShowToast:!1,rcbDismissToast:!1,rcbUserSubmitText:!1,rcbUserUploadFile:!1,rcbTextAreaChangeValue:!1,rcbPreLoadChatBot:!1,rcbPostLoadChatBot:!1,rcbPreProcessBlock:!1,rcbPostProcessBlock:!1},ariaLabel:{chatButton:\"open chat\",audioButton:\"toggle audio\",closeChatButton:\"close chat\",emojiButton:\"emoji picker\",fileAttachmentButton:\"upload file\",notificationButton:\"toggle notifications\",sendButton:\"send message\",voiceButton:\"toggle voice\",inputTextArea:\"input text area\"},device:{desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!0}},O=r({settings:{},setSyncedSettings:()=>null,syncedSettingsRef:{current:{}}}),L=()=>o(O),N=({children:e,settings:t=M,setSyncedSettings:n,syncedSettingsRef:r})=>h(O.Provider,{value:{settings:t,setSyncedSettings:n,syncedSettingsRef:r},children:e}),H={tooltipStyle:{},notificationBadgeStyle:{},chatWindowStyle:{},headerStyle:{},bodyStyle:{},chatInputContainerStyle:{},chatInputAreaStyle:{},chatInputAreaFocusedStyle:{},chatInputAreaDisabledStyle:{},userBubbleStyle:{},botBubbleStyle:{},botOptionStyle:{},botOptionHoveredStyle:{},botCheckboxRowStyle:{},botCheckboxNextStyle:{},botCheckMarkStyle:{},botCheckMarkSelectedStyle:{},characterLimitStyle:{},characterLimitReachedStyle:{},chatHistoryLineBreakStyle:{},chatMessagePromptStyle:{},chatMessagePromptHoveredStyle:{},footerStyle:{},loadingSpinnerStyle:{},mediaDisplayContainerStyle:{},chatButtonStyle:{},chatButtonHoveredStyle:{},chatHistoryButtonStyle:{},chatHistoryButtonHoveredStyle:{},sendButtonStyle:{},sendButtonHoveredStyle:{},sendButtonDisabledStyle:{},audioButtonStyle:{},audioButtonDisabledStyle:{},closeChatButtonStyle:{},emojiButtonStyle:{},emojiButtonDisabledStyle:{},fileAttachmentButtonStyle:{},fileAttachmentButtonDisabledStyle:{},notificationButtonStyle:{},notificationButtonDisabledStyle:{},voiceButtonStyle:{},voiceButtonDisabledStyle:{},chatIconStyle:{},audioIconStyle:{},audioIconDisabledStyle:{},closeChatIconStyle:{},emojiIconStyle:{},emojiIconDisabledStyle:{},fileAttachmentIconStyle:{},fileAttachmentIconDisabledStyle:{},notificationIconStyle:{},notificationIconDisabledStyle:{},voiceIconStyle:{},voiceIconDisabledStyle:{},sendIconStyle:{},sendIconDisabledStyle:{},sendIconHoveredStyle:{},rcbTypingIndicatorContainerStyle:{},rcbTypingIndicatorDotStyle:{},toastPromptContainerStyle:{},toastPromptStyle:{},toastPromptHoveredStyle:{}},R=r({styles:{},setSyncedStyles:()=>null,syncedStylesRef:{current:{}}}),z=()=>o(R),j=({children:e,styles:t=H,setSyncedStyles:n,syncedStylesRef:r})=>h(R.Provider,{value:{styles:t,setSyncedStyles:n,syncedStylesRef:r},children:e}),F=({buttons:e})=>{var t,n,r,o,A,i,a;const{settings:l}=L(),{styles:s}=z(),d={backgroundImage:`linear-gradient(to right, ${null==(t=l.general)?void 0:t.secondaryColor},\\n\\t\\t\\t${null==(n=l.general)?void 0:n.primaryColor})`,...s.headerStyle};return g(\"div\",{style:d,className:\"rcb-chat-header-container\",children:[g(\"div\",{className:\"rcb-chat-header\",children:[(null==(r=l.header)?void 0:r.showAvatar)&&h(\"div\",{style:{backgroundImage:`url(\"${null==(o=l.header)?void 0:o.avatar}\")`},className:\"rcb-bot-avatar\"}),c(null==(A=l.header)?void 0:A.title)?null==(i=l.header)?void 0:i.title:h(\"div\",{style:{margin:0,fontSize:20,fontWeight:\"bold\"},children:null==(a=l.header)?void 0:a.title})]}),h(\"div\",{className:\"rcb-chat-header\",children:null==e?void 0:e.map((e,t)=>h(u,{children:e},t))})]})},U=r({}),q=()=>o(U),_=({children:e,botIdRef:t,flowRef:n})=>{const r=i(null),o=i(\"\"),A=i(null),a=i(new Map),l=i(null),s=i(\"\"),c=i(!1),u=i(null),d=i(null),p=i(null);return h(U.Provider,{value:{botIdRef:t,flowRef:n,inputRef:r,timeoutIdRef:A,streamMessageMap:a,chatBodyRef:l,paramsInputRef:s,keepVoiceOnRef:c,audioContextRef:u,audioBufferRef:d,gainNodeRef:p,prevInputRef:o},children:e})},Y=e=>{const[t,n]=a(e),r=i(e);return[t,e=>{const t=\"function\"==typeof e?e(r.current):e;r.current=t,n(t)},r]},G=r({}),W=()=>o(G),V=({children:e,settings:t})=>{var n,r,o,A,i,l;const[s,c,u]=Y(!1),[d,p,f]=Y((null==(n=null==t?void 0:t.chatWindow)?void 0:n.defaultOpen)??!1),[g,m,v]=Y((null==(r=null==t?void 0:t.audio)?void 0:r.defaultToggledOn)??!1),[b,w,y]=Y((null==(o=null==t?void 0:t.voice)?void 0:o.defaultToggledOn)??!1),[x,E,B]=Y((null==(A=null==t?void 0:t.notification)?void 0:A.defaultToggledOn)??!0),[P,k]=a(!1),[D,C]=a(!1),[S,I,T]=Y(!1),[Q,M,O]=Y(!0),[L,N,H]=Y(!1),[R,z]=a(!1),[j,F]=a(!1),[U,q]=a(0),[_,W]=a(0),[V,X]=a(!1),[K,J]=a((null==(i=window.visualViewport)?void 0:i.height)??window.innerHeight),[Z,$]=a((null==(l=window.visualViewport)?void 0:l.width)??window.innerWidth);return h(G.Provider,{value:{isBotTyping:s,setSyncedIsBotTyping:c,syncedIsBotTypingRef:u,isChatWindowOpen:d,setSyncedIsChatWindowOpen:p,syncedIsChatWindowOpenRef:f,audioToggledOn:g,setSyncedAudioToggledOn:m,syncedAudioToggledOnRef:v,voiceToggledOn:b,setSyncedVoiceToggledOn:w,syncedVoiceToggledOnRef:y,notificationsToggledOn:x,setSyncedNotificationsToggledOn:E,syncedNotificationsToggledOnRef:B,isLoadingChatHistory:P,setIsLoadingChatHistory:k,hasChatHistoryLoaded:D,setHasChatHistoryLoaded:C,isScrolling:S,setSyncedIsScrolling:I,syncedIsScrollingRef:T,textAreaDisabled:Q,setSyncedTextAreaDisabled:M,syncedTextAreaDisabledRef:O,textAreaSensitiveMode:L,setSyncedTextAreaSensitiveMode:N,syncedTextAreaSensitiveModeRef:H,hasInteractedPage:R,setHasInteractedPage:z,hasFlowStarted:j,setHasFlowStarted:F,unreadCount:U,setUnreadCount:q,inputLength:_,setInputLength:W,blockAllowsAttachment:V,setBlockAllowsAttachment:X,viewportHeight:K,setViewportHeight:J,viewportWidth:Z,setViewportWidth:$},children:e})};var X=(e=>(e.START_SPEAK_AUDIO=\"rcb-start-speak-audio\",e.TOGGLE_AUDIO=\"rcb-toggle-audio\",e.TOGGLE_NOTIFICATIONS=\"rcb-toggle-notifications\",e.TOGGLE_VOICE=\"rcb-toggle-voice\",e.TOGGLE_CHAT_WINDOW=\"rcb-toggle-chat-window\",e.PRE_INJECT_MESSAGE=\"rcb-pre-inject-message\",e.POST_INJECT_MESSAGE=\"rcb-post-inject-message\",e.START_SIMULATE_STREAM_MESSAGE=\"rcb-start-simulate-stream-message\",e.STOP_SIMULATE_STREAM_MESSAGE=\"rcb-stop-simulate-stream-message\",e.START_STREAM_MESSAGE=\"rcb-start-stream-message\",e.CHUNK_STREAM_MESSAGE=\"rcb-chunk-stream-message\",e.STOP_STREAM_MESSAGE=\"rcb-stop-stream-message\",e.REMOVE_MESSAGE=\"rcb-remove-message\",e.SAVE_CHAT_HISTORY=\"rcb-save-chat-history\",e.LOAD_CHAT_HISTORY=\"rcb-load-chat-history\",e.CHANGE_PATH=\"rcb-change-path\",e.SHOW_TOAST=\"rcb-show-toast\",e.DISMISS_TOAST=\"rcb-dismiss-toast\",e.USER_SUBMIT_TEXT=\"rcb-user-submit-text\",e.USER_UPLOAD_FILE=\"rcb-user-upload-file\",e.TEXT_AREA_CHANGE_VALUE=\"rcb-text-area-change-value\",e.PRE_LOAD_CHATBOT=\"rcb-pre-load-chatbot\",e.POST_LOAD_CHATBOT=\"rcb-post-load-chatbot\",e.PRE_PROCESS_BLOCK=\"rcb-pre-process-block\",e.POST_PROCESS_BLOCK=\"rcb-post-process-block\",e))(X||{});const K={[X.START_SPEAK_AUDIO]:!0,[X.TOGGLE_AUDIO]:!0,[X.TOGGLE_VOICE]:!0,[X.TOGGLE_NOTIFICATIONS]:!0,[X.TOGGLE_CHAT_WINDOW]:!0,[X.PRE_INJECT_MESSAGE]:!0,[X.POST_INJECT_MESSAGE]:!1,[X.PRE_LOAD_CHATBOT]:!0,[X.POST_LOAD_CHATBOT]:!1,[X.START_SIMULATE_STREAM_MESSAGE]:!0,[X.STOP_SIMULATE_STREAM_MESSAGE]:!1,[X.START_STREAM_MESSAGE]:!0,[X.CHUNK_STREAM_MESSAGE]:!0,[X.STOP_STREAM_MESSAGE]:!0,[X.REMOVE_MESSAGE]:!0,[X.SAVE_CHAT_HISTORY]:!0,[X.LOAD_CHAT_HISTORY]:!0,[X.CHANGE_PATH]:!0,[X.SHOW_TOAST]:!0,[X.DISMISS_TOAST]:!0,[X.USER_SUBMIT_TEXT]:!0,[X.USER_UPLOAD_FILE]:!0,[X.TEXT_AREA_CHANGE_VALUE]:!0,[X.PRE_PROCESS_BLOCK]:!0,[X.POST_PROCESS_BLOCK]:!0},J=async(e,t,n)=>{const r=new CustomEvent(e,{detail:t,cancelable:K[e]});return r.data=n,r.promises=[],window.dispatchEvent(r),await Promise.all(r.promises),r},Z=r({paths:[],setSyncedPaths:()=>{},syncedPathsRef:{current:[]}}),$=()=>o(Z),ee=({children:e})=>{const[t,n,r]=Y([]);return h(Z.Provider,{value:{paths:t,setSyncedPaths:n,syncedPathsRef:r},children:e})},te=()=>{const{botIdRef:e}=q(),{syncedPathsRef:t}=$(),n=A(()=>t.current.length>0?t.current.at(-1)??null:null,[]),r=A(()=>t.current.length>1?t.current.at(-2)??null:null,[]);return{dispatchRcbEvent:A(async(t,o)=>{const A={botId:e.current,currPath:n(),prevPath:r()};return await J(t,A,o)},[e])}},ne=()=>{const{settings:e}=L(),{isChatWindowOpen:t,setSyncedIsChatWindowOpen:n,viewportHeight:r,setViewportHeight:o,viewportWidth:i,setViewportWidth:a,setUnreadCount:l,setSyncedIsBotTyping:s,setSyncedIsScrolling:c,syncedIsBotTypingRef:u,syncedIsChatWindowOpenRef:d}=W(),{chatBodyRef:p}=q(),{dispatchRcbEvent:f}=te(),h=A(()=>{if(!p.current)return!1;const e=p.current.getBoundingClientRect(),t=window.innerHeight??document.documentElement.clientHeight,n=window.innerWidth??document.documentElement.clientWidth;return e.top>=0&&e.left>=0&&e.bottom<=t&&e.right<=n},[p]),g=A(async t=>{var r;t!==d.current&&(null!=(r=e.event)&&r.rcbToggleChatWindow&&(await f(X.TOGGLE_CHAT_WINDOW,{currState:d.current,newState:!d.current})).defaultPrevented||n(e=>(e||l(0),!e)))},[d]),m=A(async e=>{e!==u.current&&s(e=>!e)},[u]),v=A((e,t,n,r)=>(e/=r/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t,[]),b=A((e=0)=>{if(!p.current)return;const t=p.current.scrollHeight-p.current.clientHeight;if(e<=0)return p.current.scrollTop=t,void c(!1);const n=p.current.scrollTop,r=t-n;let o=0;const A=()=>{if(!p.current)return;o+=20;const t=v(o,n,r,e);p.current.scrollTop=t,o<e?requestAnimationFrame(A):c(!1)};A()},[p]);return{isChatWindowOpen:t,setSyncedIsChatWindowOpen:n,toggleChatWindow:g,viewportHeight:r,setViewportHeight:o,viewportWidth:i,setViewportWidth:a,toggleIsBotTyping:m,scrollToBottom:b,getIsChatBotVisible:h}},re=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{unreadCount:A,isScrolling:i}=W(),{chatBodyRef:l}=q(),{scrollToBottom:s}=ne(),[c,u]=a(!1),d={color:null==(e=r.general)?void 0:e.primaryColor,borderColor:null==(t=r.general)?void 0:t.primaryColor,...o.chatMessagePromptHoveredStyle};return h(\"div\",{className:\"rcb-message-prompt-container \"+(l.current&&(null==(p=r.chatWindow)?void 0:p.showMessagePrompt)&&i&&A>0?\"visible\":\"hidden\"),children:h(\"div\",{onMouseEnter:()=>{u(!0)},onMouseLeave:()=>{u(!1)},style:c?d:{...o.chatMessagePromptStyle},onMouseDown:e=>{e.preventDefault(),s(600)},className:\"rcb-message-prompt-text\",children:null==(n=r.chatWindow)?void 0:n.messagePromptText})});var p},oe=r({messages:[],setSyncedMessages:()=>{},syncedMessagesRef:{current:[]}}),Ae=()=>o(oe),ie=({children:e})=>{const[t,n,r]=Y([]);return h(oe.Provider,{value:{messages:t,setSyncedMessages:n,syncedMessagesRef:r},children:e})},ae=({message:e,isNewSender:t})=>{var n,r,o,A,i,a;const{settings:l}=L(),{styles:s}=z(),c=\"string\"==typeof e.content,u=e.content,d=e.contentWrapper?h(e.contentWrapper,{children:u}):u,p={backgroundColor:null==(n=l.general)?void 0:n.primaryColor,color:\"#fff\",maxWidth:null!=(r=l.userBubble)&&r.showAvatar?\"65%\":\"70%\",...s.userBubbleStyle},f=null!=(o=l.userBubble)&&o.animate?\"rcb-user-message-entry\":\"\",v=(null==(A=l.userBubble)?void 0:A.showAvatar)&&t,b=\"rcb-user-message\"+(!t&&null!=(i=l.userBubble)&&i.showAvatar?\" rcb-user-message-offset\":\"\");return g(\"div\",{className:\"rcb-user-message-container\",children:[c?h(\"div\",{style:p,className:`${b} ${f}`,children:d}):h(m,{children:d}),v&&h(\"div\",{style:{backgroundImage:`url(\"${null==(a=l.userBubble)?void 0:a.avatar}\")`},className:\"rcb-message-user-avatar\"})]})},le=({message:e,isNewSender:t})=>{var n,r,o,A,i,a;const{settings:l}=L(),{styles:s}=z(),c=\"string\"==typeof e.content,u=e.content,d=e.contentWrapper?h(e.contentWrapper,{children:u}):u,p={backgroundColor:null==(n=l.general)?void 0:n.secondaryColor,color:\"#fff\",maxWidth:null!=(r=l.botBubble)&&r.showAvatar?\"65%\":\"70%\",...s.botBubbleStyle},f=null!=(o=l.botBubble)&&o.animate?\"rcb-bot-message-entry\":\"\",v=(null==(A=l.botBubble)?void 0:A.showAvatar)&&t,b=\"rcb-bot-message\"+(!t&&null!=(i=l.botBubble)&&i.showAvatar?\" rcb-bot-message-offset\":\"\");return g(\"div\",{className:\"rcb-bot-message-container\",children:[v&&h(\"div\",{style:{backgroundImage:`url(\"${null==(a=l.botBubble)?void 0:a.avatar}\")`},className:\"rcb-message-bot-avatar\"}),c?h(\"div\",{style:p,className:`${b} ${f}`,children:d}):h(m,{children:d})]})},se=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),A=null!=(e=r.botBubble)&&e.animate?\"rcb-bot-message-entry\":\"\";return g(\"div\",{className:\"rcb-bot-message-container\",children:[(null==(t=r.botBubble)?void 0:t.showAvatar)&&h(\"div\",{style:{backgroundImage:`url(\"${null==(n=r.botBubble)?void 0:n.avatar}\")`},className:\"rcb-message-bot-avatar\"}),h(\"div\",{onMouseDown:e=>{e.preventDefault()},className:`rcb-bot-message ${A}`,children:g(\"div\",{className:\"rcb-typing-indicator\",style:{...null==o?void 0:o.rcbTypingIndicatorContainerStyle},children:[h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}}),h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}}),h(\"span\",{className:\"rcb-dot\",style:{...null==o?void 0:o.rcbTypingIndicatorDotStyle}})]})})]})},ce=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{messages:A}=Ae(),{scrollToBottom:i}=ne(),{isBotTyping:a,syncedIsScrollingRef:s}=W(),{chatBodyRef:c}=q(),u={...null==o?void 0:o.bodyStyle,scrollbarWidth:null!=(e=r.chatWindow)&&e.showScrollbar?\"auto\":\"none\"};l(()=>{s.current||i()},[null==(t=c.current)?void 0:t.scrollHeight]);return g(\"div\",{style:u,className:\"rcb-chat-body-container\",ref:c,children:[A.map((e,t)=>{const n=(e=>0===e||A[e].sender!==A[e-1].sender)(t);return\"USER\"===e.sender.toUpperCase()?h(ae,{message:e,isNewSender:n},t):\"BOT\"===e.sender.toUpperCase()?h(le,{message:e,isNewSender:n},t):h(\"div\",{children:e.content},t)}),a&&(null==(n=r.chatWindow)?void 0:n.showTypingIndicator)&&h(se,{}),h(re,{})]})},ue=({checkboxes:e,checkedItems:t,path:n})=>{var r,o,A,i,s,c,u,d,p,f,m;const{settings:v}=L(),{styles:b}=z(),{paths:w}=$(),{handleSubmitText:y}=ct(),[x,E]=a(new Set),[B,P]=a(!1),k={cursor:B?`url(\"${null==(r=v.general)?void 0:r.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(o=v.general)?void 0:o.primaryColor,borderColor:null==(A=v.general)?void 0:A.primaryColor,...b.botCheckboxRowStyle},D={cursor:B||x.size<e.min?`url(\"${null==(i=v.general)?void 0:i.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(s=v.general)?void 0:s.primaryColor,borderColor:null==(c=v.general)?void 0:c.primaryColor,...b.botCheckboxNextStyle},C={cursor:B?`url(\"${null==(u=v.general)?void 0:u.actionDisabledIcon}\"), auto`:\"pointer\",color:\"transparent\",...b.botCheckMarkStyle},S={cursor:B?`url(\"${null==(d=v.general)?void 0:d.actionDisabledIcon}\"), auto`:\"pointer\",color:\"#fff\",borderColor:null==(p=v.general)?void 0:p.primaryColor,backgroundColor:null==(f=v.general)?void 0:f.primaryColor,...b.botCheckMarkSelectedStyle};l(()=>{w.length>0&&w[w.length-1]!==n&&P(!e.reusable)},[w]);return g(\"div\",{className:\"rcb-checkbox-container \"+(null!=(m=v.botBubble)&&m.showAvatar?\"rcb-checkbox-offset\":\"\"),children:[e.items.map(n=>h(\"div\",{onMouseDown:r=>{r.preventDefault(),(n=>{B||E(r=>{const o=new Set(r);if(o.has(n))t.delete(n),o.delete(n);else{if(x.size==e.max)return r;t.add(n),o.add(n)}return o})})(n)},style:k,className:\"rcb-checkbox-row-container\",children:g(\"div\",{className:\"rcb-checkbox-row\",children:[h(\"div\",{style:x.has(n)?S:C,className:\"rcb-checkbox-mark\"}),h(\"div\",{className:\"rcb-checkbox-label\",children:n})]})},n)),h(\"div\",{style:D,className:\"rcb-checkbox-next-button\",onMouseDown:n=>{var r;if(n.preventDefault(),B||x.size<e.min)return;const o=Array.from(t).join(\", \");let A;P(!e.reusable),A=null!=e.sendOutput?e.sendOutput:(null==(r=v.chatInput)?void 0:r.sendCheckboxOutput)??!0,y(o,A)}})]})},de=async(e,t)=>{const n=e.checkboxes;if(!n)return;let r;if(\"function\"==typeof n?(r=n(t),r instanceof Promise&&(r=await r)):r=n,Array.isArray(r)&&(r={items:r}),!(\"items\"in r)||0==r.items.length)return;null==r.min&&(r.min=1),null==r.max&&(r.max=r.items.length),r.min>r.max&&(r.min=r.max),null==r.reusable&&(r.reusable=!1);const o=new Set,A=t.currPath,i=h(ue,{checkboxes:r,checkedItems:o,path:A});await t.injectMessage(i)},pe=async(e,t)=>{const n=e.function;if(!n)return;const r=n(t);return r instanceof Promise?await r:r},fe=async(e,t,n)=>{const r=e.message;if(!r)return;if(\"string\"==typeof r)return void(\"\"!==r.trim()&&(n?await t.simulateStreamMessage(r):await t.injectMessage(r)));let o=r(t);o instanceof Promise&&(o=await o),\"string\"==typeof o&&\"\"!==o.trim()&&(n?await t.simulateStreamMessage(o):await t.injectMessage(o))},he=({options:e,path:t})=>{var n,r,o,A,i,s;const{settings:c}=L(),{styles:u}=z(),{paths:d}=$(),{handleSubmitText:p}=ct(),[f,g]=a([]),[m,v]=a(!1),b={cursor:m?`url(\"${null==(n=c.general)?void 0:n.actionDisabledIcon}\"), auto`:\"pointer\",color:null==(r=c.general)?void 0:r.primaryColor,borderColor:null==(o=c.general)?void 0:o.primaryColor,backgroundColor:\"#fff\",...u.botOptionStyle},w={color:\"#fff\",borderColor:null==(A=c.general)?void 0:A.primaryColor,backgroundColor:null==(i=c.general)?void 0:i.primaryColor,...u.botOptionHoveredStyle};l(()=>{d.length>0&&d[d.length-1]!==t&&v(!e.reusable)},[d]);return h(\"div\",{className:\"rcb-options-container \"+(null!=(s=c.botBubble)&&s.showAvatar?\"rcb-options-offset\":\"\"),children:e.items.map((t,n)=>{const r=f[n]&&!m;return h(\"div\",{className:\"rcb-options\",style:r?w:b,onMouseEnter:()=>(e=>{g(t=>{const n=[...t];return n[e]=!0,n})})(n),onMouseLeave:()=>(e=>{g(t=>{const n=[...t];return n[e]=!1,n})})(n),onMouseDown:n=>{var r;if(n.preventDefault(),m)return;let o;v(!e.reusable),o=null!=e.sendOutput?e.sendOutput:(null==(r=c.chatInput)?void 0:r.sendOptionOutput)??!0,p(t,o)},children:t},t)})})},ge=async(e,t)=>{const n=e.options;if(!n)return;let r;if(\"function\"==typeof n?(r=n(t),r instanceof Promise&&(r=await r)):r=n,Array.isArray(r)&&(r={items:r}),!(\"items\"in r)||0==r.items.length)return;null==r.reusable&&(r.reusable=!1);const o=t.currPath,A=h(he,{options:r,path:o});await t.injectMessage(A)},me=async(e,t)=>{const n=e.component;if(n){if(\"function\"==typeof n){let e=n(t);if(e instanceof Promise&&(e=await e),!e)return;return void await t.injectMessage(e)}await t.injectMessage(n)}},ve=async(e,t,n,r)=>{const o=e.transition;let A;if(\"function\"==typeof o?(A=o(t),A instanceof Promise&&(A=await A)):A=o,\"number\"==typeof A&&(A={duration:A}),!A||A instanceof Promise||null==A.duration||\"number\"!=typeof A.duration)return;null==A.interruptable&&(A.interruptable=!1);const i=setTimeout(async()=>{const n=await r(e);n&&await ye(n,t)},A.duration);A.interruptable&&(n.current=i)},be=async(e,t,n)=>{const r=e.chatDisabled;if(null==r)return;let o;\"function\"==typeof r?(o=r(t),o instanceof Promise&&(o=await o)):o=r,n(o)},we=async(e,t,n)=>{const r=e.isSensitive;if(!r)return void n(!1);let o;\"function\"==typeof r?(o=r(t),o instanceof Promise&&(o=await o)):o=r,n(o)},ye=async(e,t)=>{if(!e)throw new Error(\"Block is not valid.\");const n=Object.keys(e);for(const r of n)\"function\"===r&&await pe(e,t);n.includes(\"path\")&&await(async(e,t)=>{const n=e.path;if(!n)return!1;if(\"string\"==typeof n)return await t.goToPath(n),!0;let r=n(t);if(r instanceof Promise&&(r=await r),!r)return!1;const o=r;return await t.goToPath(o),!0})(e,t)},xe=()=>{var e;const{settings:t}=L(),{styles:n}=z();return h(\"div\",{className:\"rcb-line-break-container\",children:h(\"div\",{style:{...n.chatHistoryLineBreakStyle},className:\"rcb-line-break-text\",\"data-testid\":\"chat-history-line-break-text\",children:null==(e=t.chatHistory)?void 0:e.chatHistoryLineBreakText})})},Ee=()=>{var e;const{settings:t}=L(),{styles:n}=z(),r={borderTop:`4px solid ${null==(e=t.general)?void 0:e.primaryColor}`,...n.loadingSpinnerStyle};return h(\"div\",{className:\"rcb-spinner-container\",children:h(\"div\",{style:r,className:\"rcb-spinner\"})})},Be=()=>{try{if(typeof crypto<\"u\"&&\"function\"==typeof crypto.randomUUID)return crypto.randomUUID();throw new Error(\"crypto.randomUUID not available\")}catch(e){if(typeof crypto<\"u\"&&\"function\"==typeof crypto.getRandomValues)return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(e){const t=crypto.getRandomValues(new Uint8Array(1))[0]%16;return(\"x\"===e?t:3&t|8).toString(16)});throw console.error(e),new Error(\"crypto.getRandomValues is also not available\")}},Pe=(e,t)=>({id:Be(),content:e,sender:t,type:\"string\"==typeof e?\"string\":\"object\",timestamp:(new Date).toUTCString(),tags:[]});let ke,De=!1,Ce=\"rcb-history\",Se=30,Ie=!1,Te=[];const Qe=()=>Te,Me=e=>{Oe(e),Te=e},Oe=e=>{ke&&ke.setItem(Ce,JSON.stringify(e))},Le=e=>{var t,n,r,o,A;ke=\"SESSION_STORAGE\"===(null==(n=null==(t=e.chatHistory)?void 0:t.storageType)?void 0:n.toUpperCase())?sessionStorage:localStorage,Ce=null==(r=e.chatHistory)?void 0:r.storageKey,Se=null==(o=e.chatHistory)?void 0:o.maxEntries,Ie=null==(A=e.chatHistory)?void 0:A.disabled,Te=(e=>{if(null!=e)try{return JSON.parse(e)}catch{return[]}return[]})(ke.getItem(Ce))},Ne=e=>c(e.content)?structuredClone({id:e.id,content:v.renderToString(e.content),type:e.type,sender:e.sender.toUpperCase(),timestamp:e.timestamp,tags:e.tags}):e,He=(e,t,n)=>{const r=(new DOMParser).parseFromString(e,\"text/html\");return Array.from(r.body.childNodes).map((e,r)=>{var o;if(e.nodeType===Node.TEXT_NODE)return e.textContent;{const A=e.tagName.toLowerCase();let i=Array.from(e.attributes).reduce((e,t)=>{const n=t.name.toLowerCase();if(\"style\"===n){const r=t.value.split(\";\").filter(e=>\"\"!==e.trim()),o={};r.forEach(e=>{const[t,n]=e.split(\":\").map(e=>e.trim()),r=t.replace(/-([a-z])/g,(e,t)=>t.toUpperCase());o[r]=n}),e[n]=o}else\"audio\"!==A&&\"video\"!==A||\"controls\"!==n||\"\"!==t.value?e[n]=t.value:e[n]=\"true\";return e},{});if(Object.prototype.hasOwnProperty.call(i,\"class\")){const r=e.classList;i.className=r.toString(),delete i.class,null!=(o=t.botBubble)&&o.showAvatar&&(i=Re(r,i)),i=ze(r,i,t,n),i=je(r,i,t,n),i=Fe(r,i,t,n),i=Ue(r,i,t,n)}if([\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"link\",\"meta\",\"source\",\"track\",\"wbr\"].includes(A))return d(A,{key:r,...i});{const o=He(e.innerHTML,t,n);return d(A,{key:r,...i},...o)}}})},Re=(e,t)=>((e.contains(\"rcb-options-container\")||e.contains(\"rcb-checkbox-container\"))&&(t.className=`${e.toString()} rcb-options-offset`),t),ze=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-options\")&&(t.style={...t.style,color:(null==(o=r.botOptionStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botOptionStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botOptionStyle}),t},je=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-checkbox-row-container\")&&(t.style={...t.style,color:(null==(o=r.botCheckboxRowStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botCheckboxRowStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botCheckboxRowStyle}),t},Fe=(e,t,n,r)=>{var o,A,i,a,l;return e.contains(\"rcb-checkbox-next-button\")&&(t.style={...t.style,color:(null==(o=r.botCheckboxNextStyle)?void 0:o.color)??(null==(A=n.general)?void 0:A.primaryColor),borderColor:(null==(i=r.botCheckboxNextStyle)?void 0:i.color)??(null==(a=n.general)?void 0:a.primaryColor),cursor:`url(\"${null==(l=n.general)?void 0:l.actionDisabledIcon}\"), auto`,...r.botCheckboxNextStyle}),t},Ue=(e,t,n,r)=>{var o,A;return(e.contains(\"rcb-media-display-image-container\")||e.contains(\"rcb-media-display-video-container\"))&&(t.style={...t.style,backgroundColor:null==(o=n.general)?void 0:o.primaryColor,maxWidth:null!=(A=n.userBubble)&&A.showAvatar?\"65%\":\"70%\",...r.mediaDisplayContainerStyle}),t},qe=()=>{const{settings:e}=L(),{notificationsToggledOn:t,setSyncedNotificationsToggledOn:n,hasInteractedPage:r,unreadCount:o,setUnreadCount:i,syncedNotificationsToggledOnRef:a}=W(),{audioBufferRef:l,audioContextRef:s,gainNodeRef:c}=q(),{dispatchRcbEvent:u}=te(),d=A(async()=>{var t,n;const r=null==(t=e.notification)?void 0:t.sound;s.current=new AudioContext;const o=s.current.createGain();let A;if(o.gain.value=(null==(n=e.notification)?void 0:n.volume)??.2,c.current=o,null!=r&&r.startsWith(\"data:audio\")){const e=atob(r.split(\",\")[1]),t=new ArrayBuffer(e.length),n=new Uint8Array(t);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);A=t}else A=await(await fetch(r)).arrayBuffer();l.current=await s.current.decodeAudioData(A)},[e.notification]),p=A(()=>{var t;if(null!=(t=e.notification)&&t.disabled||!a.current||!r||!s.current||!l.current)return;const n=s.current.createBufferSource();n.buffer=l.current,n.connect(c.current).connect(s.current.destination),n.start()},[e.notification,a,r,s,l,c]);return{unreadCount:o,setUnreadCount:i,notificationsToggledOn:t,toggleNotifications:A(async t=>{var r;t!==a.current&&(null!=(r=e.event)&&r.rcbToggleNotifications&&(await u(X.TOGGLE_NOTIFICATIONS,{currState:a.current,newState:!a.current})).defaultPrevented||n(e=>!e))},[a]),playNotificationSound:p,setUpNotifications:d}},_e=(e,t)=>{var n,r,o,A;((e,t,n,r,o)=>{if(!window.SpeechSynthesisUtterance)return void console.info(\"Speech Synthesis API is not supported in this environment.\");const A=new window.SpeechSynthesisUtterance;A.text=e,A.lang=t,A.rate=r,A.volume=o;let i=!1;for(const e of n){const t=window.speechSynthesis.getVoices().find(t=>t.name===e);if(t){A.voice=t,window.speechSynthesis.speak(A),i=!0;break}}i||window.speechSynthesis.speak(A)})(t,null==(n=e.audio)?void 0:n.language,null==(r=e.audio)?void 0:r.voiceNames,null==(o=e.audio)?void 0:o.rate,null==(A=e.audio)?void 0:A.volume)},Ye=()=>{const{settings:e}=L(),{audioToggledOn:t,setSyncedAudioToggledOn:n,syncedAudioToggledOnRef:r}=W(),{dispatchRcbEvent:o}=te(),i=A(async t=>{var A;t!==r.current&&(null!=(A=e.event)&&A.rcbToggleAudio&&(await o(X.TOGGLE_AUDIO,{currState:r.current,newState:!r.current})).defaultPrevented||n(e=>!e))},[r]),a=A(async t=>{var n,A;if(null!=(n=e.audio)&&n.disabled||!r.current)return;let i=t;if(null!=(A=e.event)&&A.rcbStartSpeakAudio){const e=await o(X.START_SPEAK_AUDIO,{textToRead:i});if(e.defaultPrevented)return;i=e.data.textToRead}_e(e,i)},[e,r]);return{audioToggledOn:t,speakAudio:a,toggleAudio:i}},Ge=()=>{var e,t,n;const{settings:r}=L(),{messages:o,setSyncedMessages:i,syncedMessagesRef:a}=Ae(),{setSyncedIsBotTyping:l,setUnreadCount:s,syncedIsScrollingRef:c,syncedIsChatWindowOpenRef:u}=W(),{streamMessageMap:d,chatBodyRef:p,paramsInputRef:f}=q(),{scrollToBottom:h,getIsChatBotVisible:g}=ne(),{dispatchRcbEvent:m}=te(),{speakAudio:v}=Ye(),{playNotificationSound:b}=qe(),w=A(async e=>{var t,n;if(null!=(t=r.event)&&t.rcbSaveChatHistory){const t=await m(X.SAVE_CHAT_HISTORY,{messages:e});if(t.defaultPrevented)return;e=(null==(n=t.data)?void 0:n.messages)??e}await(async e=>{if(Ie||!ke)return;const t=[];for(let n=e.length-1;n>=0;n--){const r=e[n];if(\"SYSTEM\"!==r.sender.toUpperCase()&&(\"\"!==r.content&&t.unshift(r),t.length===Se))break}let n=t.map(Ne);if(!De&&n.length<Se){const e=Se-n.length;n=[...Te.slice(-e),...n]}Oe(n)})(e)},[m,null==(e=r.event)?void 0:e.rcbSaveChatHistory]),y=A((e,t=!1)=>{var n,o;w(e);let A=!0;const i=e[e.length-1];if(!i)return;const a=i.sender.toUpperCase();\"USER\"===a&&(A=!1),null!=(n=r.general)&&n.embedded&&g()&&(A=!1),(u.current&&!c.current||t)&&(A=!1),A&&b(),!t&&(\"USER\"!==a&&null!=(o=r.chatWindow)&&o.autoJumpToBottom||\"USER\"===a||!c.current)&&setTimeout(()=>h(),1)},[r,p,u,c,b,h,g]),x=A(async(e,t=\"BOT\",n=null)=>{var o,A,d,p,h;if(\"string\"!=typeof e)throw new Error(\"Content must be of type string to simulate stream.\");t=t.toUpperCase();let g=Pe(e,t);if(null!=(o=r.event)&&o.rcbStartSimulateStreamMessage){const e=await m(X.START_SIMULATE_STREAM_MESSAGE,{message:g});if(e.defaultPrevented)return null;n=e.data.simulateStreamChunker||n,g=e.data.message}l(!1);let b=30;b=\"BOT\"===t?null==(A=r.botBubble)?void 0:A.streamSpeed:null==(d=r.userBubble)?void 0:d.streamSpeed;const x={...g,content:\"\"};i(e=>[...e,x]),y(a.current);let E=g.content;n&&(E=n(E));let B=0;const P=E.length;\"BOT\"===g.sender.toUpperCase()&&(u.current||null!=(p=r.general)&&p.embedded)&&\"string\"==typeof g.content&&\"\"!==g.content.trim()&&v(g.content);const k=new Promise(e=>{const t=setInterval(()=>{if(B>=P)return clearInterval(t),void e();i(e=>{const t=[...e];for(let e=t.length-1;e>=0;e--)if(t[e].id===x.id){const n=E[B];n&&(x.content+=n,t[e]=x),B++;break}return t})},b)});return(c.current||!u.current)&&s(e=>e+1),await k,w(a.current),null!=(h=r.event)&&h.rcbStopSimulateStreamMessage&&await m(X.STOP_SIMULATE_STREAM_MESSAGE,{message:g}),\"USER\"===t&&(f.current=e),g},[r,m,y,a,f,l,s,u,v]),E=A(async(e,t=\"BOT\")=>{var n,o,A;t=t.toUpperCase();let l=Pe(e,t);if(null!=(n=r.event)&&n.rcbPreInjectMessage){const e=await m(X.PRE_INJECT_MESSAGE,{message:l});if(e.defaultPrevented)return null;l=e.data.message}return\"BOT\"===l.sender.toUpperCase()&&(u.current||null!=(o=r.general)&&o.embedded)&&\"string\"==typeof l.content&&\"\"!==l.content.trim()&&v(l.content),(c.current||!u.current)&&s(e=>e+1),null!=(A=r.event)&&A.rcbPostInjectMessage&&await m(X.POST_INJECT_MESSAGE,{message:l}),i(e=>[...e,l]),y(a.current),\"USER\"===t&&\"string\"==typeof e&&(f.current=e),l},[r,m,y,f,a,u,v,s]),B=A(async e=>{var t;let n=a.current.find(t=>t.id===e),o=null,A=!1;return n||(o=Qe(),n=o.find(t=>t.id===e),n&&(A=!0)),!n||null!=(t=r.event)&&t.rcbRemoveMessage&&(await m(X.REMOVE_MESSAGE,{message:n})).defaultPrevented?null:A?(o&&Me(o.filter(t=>t.id!==e)),n):(i(t=>t.filter(t=>t.id!==e)),y(a.current),s(e=>Math.max(e-1,0)),n)},[m,null==(t=r.event)?void 0:t.rcbRemoveMessage,y,a,s,Qe,Me]),P=A(async(e,t=\"BOT\")=>{var n,o;if(t=t.toUpperCase(),!d.current.has(t)){const o=Pe(e,t);return null!=(n=r.event)&&n.rcbStartStreamMessage&&(await m(X.START_STREAM_MESSAGE,{message:o})).defaultPrevented?null:(l(!1),i(e=>[...e,o]),y(a.current),d.current.set(t,o.id),(c.current||!u.current)&&s(e=>e+1),o)}const A={...Pe(e,t),id:d.current.get(t)};return null!=(o=r.event)&&o.rcbChunkStreamMessage&&(await m(X.CHUNK_STREAM_MESSAGE,{message:A})).defaultPrevented?null:(i(e=>e.map(e=>e.id===A.id?A:e)),y(a.current,!0),A)},[m,r.event,y,a,l,s,d]),k=A(async(e=\"BOT\")=>{var t;if(e=e.toUpperCase(),!d.current.has(e))return!0;const n=d.current.get(e);let o;for(let e=0;e<3;e++){const e=a.current.find(e=>e.id===n);e&&(o=e),await new Promise(e=>setTimeout(e,20))}return(null==(t=r.event)||!t.rcbStopStreamMessage||!(await m(X.STOP_STREAM_MESSAGE,{message:o})).defaultPrevented)&&(d.current.delete(e),w(a.current),\"USER\"===e&&\"string\"==typeof(null==o?void 0:o.content)&&(f.current=o.content),!0)},[m,null==(n=r.event)?void 0:n.rcbStopStreamMessage,d,f]),D=A(e=>{const t=\"function\"==typeof e?e(a.current):e;i(t),y(t)},[y,a]),C=A((e,t,n=0)=>{var r;const o=a.current,A=e?e.toUpperCase():null,i=[];let l=n;for(let e=o.length-1;e>=0;e--){const n=o[e];if(!A||(null==(r=null==n?void 0:n.sender)?void 0:r.toUpperCase())===A){if(l>0){l--;continue}if(i.push(n),void 0!==t&&i.length===t)break}}return i.length>0?i:null},[a]);return{simulateStreamMessage:x,injectMessage:E,removeMessage:B,streamMessage:P,endStreamMessage:k,replaceMessages:D,getMessages:C,messages:o}};let We,Ve,Xe,Ke=!1,Je=null;const Ze=()=>{if(!We){const e=window.SpeechRecognition||window.webkitSpeechRecognition;We=null!=e?new e:null}return We},$e=(e,t,n,r,o,A)=>{var i,a,l;const s=Ze();if(!s)return;if(!Ke)try{Ke=!0,s.lang=null==(i=e.voice)?void 0:i.language,s.start()}catch{}const c=null==(a=e.voice)?void 0:a.timeoutPeriod,u=null==(l=e.voice)?void 0:l.autoSendPeriod;s.onresult=i=>{var a,l;clearTimeout(Ve),Ve=null,clearTimeout(Xe);const s=i.results[i.results.length-1][0].transcript;if(A.current){const t=null==(a=e.chatInput)?void 0:a.characterLimit,n=A.current.value+s;null!=t&&t>=0&&n.length>t?r(n.slice(0,t)):r(n),o(A.current.value.length)}c&&(Ve=setTimeout(async()=>await nt(t,A),c)),null!=(l=e.voice)&&l.autoSendDisabled||(Xe=setTimeout(n,u))},s.onend=()=>{Ke?(s.start(),!Ve&&c&&(Ve=setTimeout(async()=>await nt(t,A),c))):(clearTimeout(Ve),Ve=null,clearTimeout(Xe))},c&&(Ve=setTimeout(async()=>await nt(t,A),c))},et=(e,t)=>{navigator.mediaDevices.getUserMedia({audio:!0}).then(n=>{if(Je=new MediaRecorder(n),!Ke)try{Ke=!0,Je.start()}catch{}Je.ondataavailable=e=>{t.current&&t.current.push(e.data)},Je.onstop=()=>{e(),n.getTracks().forEach(e=>e.stop())}}).catch(e=>{console.error(\"Unable to use microphone:\",e)})},tt=()=>{const e=Ze();e&&(Ke=!1,e&&e.stop(),Je&&\"inactive\"!==Je.state&&(Je.stop(),Je=null),clearTimeout(Ve),Ve=null,clearTimeout(Xe))},nt=async(e,t)=>{var n;null!=(n=t.current)&&n.disabled||await e(),tt()},rt=()=>{const{settings:e}=L(),{voiceToggledOn:t,setSyncedVoiceToggledOn:n,syncedVoiceToggledOnRef:r}=W(),{dispatchRcbEvent:o}=te(),i=A(async t=>{var A;t!==r.current&&(null!=(A=e.event)&&A.rcbToggleVoice&&(await o(X.TOGGLE_VOICE,{currState:r.current,newState:!r.current})).defaultPrevented||n(e=>!e))},[r]),a=A(t=>{((e,t)=>{var n,r,o;const A=Ze();null!=(n=t.voice)&&n.disabled||null==(r=t.chatInput)||!r.blockSpam||!A||(e&&!Ke?(Ke=!0,null!=(o=t.voice)&&o.sendAsAudio?null==Je||Je.start():A.start()):e||tt())})(t,e)},[e]);return{voiceToggledOn:t,toggleVoice:i,syncVoice:a}},ot=()=>{var e;const{settings:t}=L(),{inputLength:n,setInputLength:r,textAreaDisabled:o,setSyncedTextAreaDisabled:i,textAreaSensitiveMode:a,setSyncedTextAreaSensitiveMode:l,syncedTextAreaDisabledRef:s,syncedTextAreaSensitiveModeRef:c}=W(),{inputRef:u,chatBodyRef:d,prevInputRef:p}=q(),{dispatchRcbEvent:f}=te(),{getIsChatBotVisible:h}=ne(),g=A(async e=>{var n,r,o;if(s.current&&u.current)u.current.value=\"\";else if(u.current&&null!==p.current){const A=null==(n=t.chatInput)?void 0:n.characterLimit,i=(null==(r=t.chatInput)?void 0:r.allowNewline)?e:e.replace(/\\n/g,\" \");if(null!=A&&A>=0&&i.length>A?u.current.value=i.slice(0,A):u.current.value=i,null!=(o=t.event)&&o.rcbTextAreaChangeValue&&(await f(X.TEXT_AREA_CHANGE_VALUE,{currValue:u.current.value,prevValue:p.current})).defaultPrevented)return void(u.current.value=p.current);p.current=u.current.value}},[s,u,p,t,f]),m=A(e=>{var n;null!=(n=u.current)&&n.disabled||setTimeout(()=>{var n,r,o;null!=(n=t.general)&&n.embedded?h()&&(null==(r=u.current)||r.focus()):\"start\"!==e&&(null==(o=u.current)||o.focus())},100)},[u,null==(e=t.general)?void 0:e.embedded,d,h]),v=A(()=>{u.current&&u.current.focus()},[]),b=A(()=>{u.current&&u.current.blur()},[]),w=A(()=>u&&u.current?u.current.value:\"\",[]),y=A(e=>{e!==s.current&&i(e=>!e)},[s]),x=A(e=>{e!==c.current&&l(e=>!e)},[c]);return{textAreaDisabled:o,setSyncedTextAreaDisabled:i,textAreaSensitiveMode:a,setSyncedTextAreaSensitiveMode:l,inputLength:n,setInputLength:r,getTextAreaValue:w,setTextAreaValue:g,updateTextAreaFocus:m,focusTextArea:v,blurTextArea:b,toggleTextAreaDisabled:y,toggleTextAreaSensitiveMode:x}},At=r({toasts:[],setSyncedToasts:()=>{},syncedToastsRef:{current:[]}}),it=()=>o(At),at=({children:e})=>{const[t,n,r]=Y([]);return h(At.Provider,{value:{toasts:t,setSyncedToasts:n,syncedToastsRef:r},children:e})},lt=()=>{const{settings:e}=L(),{toasts:t,setSyncedToasts:n,syncedToastsRef:r}=it(),{dispatchRcbEvent:o}=te(),i=A(async(t,A)=>{var i,a,l,s;let c=null;if(r.current.length>=((null==(i=e.toast)?void 0:i.maxCount)??3)){if(null!=(a=e.toast)&&a.forbidOnMax)return null;c=Be();let r={id:c,content:t,timeout:A};if(null!=(l=e.event)&&l.rcbShowToast){const e=await o(X.SHOW_TOAST,{toast:r});if(e.defaultPrevented)return null;r=e.data.toast}return n(e=>[...e.slice(1),r]),c}c=Be();let u={id:c,content:t,timeout:A};if(null!=(s=e.event)&&s.rcbShowToast){const e=await o(X.SHOW_TOAST,{toast:u});if(e.defaultPrevented)return null;u=e.data.toast}return n(e=>[...e,u]),c},[e,o]),a=A(async t=>{var A;const i=r.current.find(e=>e.id===t);return!i||null!=(A=e.event)&&A.rcbDismissToast&&(await o(X.DISMISS_TOAST,{toast:i})).defaultPrevented?null:(n(e=>e.filter(e=>e.id!==t)),t)},[o]),l=A(e=>{const t=\"function\"==typeof e?e(r.current):e;n(t)},[r]);return{showToast:i,dismissToast:a,toasts:t,replaceToasts:l}},st=()=>{var e,t,n,r,o;const{settings:i}=L(),{paths:a,setSyncedPaths:l,syncedPathsRef:s}=$(),{flowRef:c,streamMessageMap:u,paramsInputRef:d,keepVoiceOnRef:p,timeoutIdRef:f}=q(),{setSyncedIsBotTyping:h,setSyncedTextAreaDisabled:g,setSyncedTextAreaSensitiveMode:m,blockAllowsAttachment:v,setBlockAllowsAttachment:b}=W(),{dispatchRcbEvent:w}=te(),{endStreamMessage:y,injectMessage:x,removeMessage:E,simulateStreamMessage:B,streamMessage:P}=Ge(),{showToast:k,dismissToast:D}=lt(),{toggleChatWindow:C}=ne(),{updateTextAreaFocus:S,setTextAreaValue:I}=ot(),{syncVoice:T}=rt(),Q=A(async e=>{var t;if(null!=(t=i.event)&&t.rcbPostProcessBlock){const t=await w(X.POST_PROCESS_BLOCK,{block:e});if(t.defaultPrevented)return null;e=t.data.block}return e},[null==(e=i.event)?void 0:e.rcbPostProcessBlock,w]),M=A(async(e,t)=>{var n,r,o,A;if(!e)return;let a=c.current[e];if(!a)return void h(!1);if(null!=(n=i.event)&&n.rcbPreProcessBlock){const e=await w(X.PRE_PROCESS_BLOCK,{block:a});if(e.defaultPrevented)return;a=e.data.block}h(!0),null!=(r=i.chatInput)&&r.blockSpam&&g(!0),m(!1);const l={prevPath:t,currPath:e,goToPath:H,setTextAreaValue:I,userInput:d.current,endStreamMessage:y,injectMessage:x,removeMessage:E,simulateStreamMessage:B,streamMessage:P,toggleChatWindow:C,showToast:k,dismissToast:D};await(async(e,t,n,r,o,A,i)=>{if(!e)throw new Error(\"Block is not valid.\");for(const a of Object.keys(e))switch(a){case\"message\":await fe(e,t,n);break;case\"options\":await ge(e,t);break;case\"checkboxes\":await de(e,t);break;case\"component\":await me(e,t);break;case\"chatDisabled\":await be(e,t,o);break;case\"isSensitive\":await we(e,t,A);break;case\"transition\":await ve(e,t,r,i)}})(a,l,(null==(o=i.botBubble)?void 0:o.simulateStream)??!1,f,g,m,Q),h(!1),\"chatDisabled\"in a||g(null==(A=i.chatInput)?void 0:A.disabled),\"isSensitive\"in a||m(!1),b(\"function\"==typeof a.file),S(e),T(p.current&&!a.chatDisabled),e!==t&&u.current.clear()},[c,S,T,null==(t=i.botBubble)?void 0:t.simulateStream,null==(n=i.chatInput)?void 0:n.disabled,d,y,x,E,B,P,C,k,D,p,u]),O=A(()=>s.current.length>0?s.current.at(-1)??null:null,[]),N=A(()=>s.current.length>1?s.current.at(-2)??null:null,[]),H=A(async e=>{var t;const n=O(),r=N();return(null==(t=i.event)||!t.rcbChangePath||!(await w(X.CHANGE_PATH,{currPath:n,prevPath:r,nextPath:e})).defaultPrevented)&&(l(t=>[...t,e]),await M(e,n),!0)},[null==(r=i.chatInput)?void 0:r.blockSpam,null==(o=i.event)?void 0:o.rcbChangePath,M,w]),R=A(e=>{const t=\"function\"==typeof e?e(s.current):e;l(t)},[s]);return{getCurrPath:O,getPrevPath:N,goToPath:H,blockAllowsAttachment:v,setBlockAllowsAttachment:b,paths:a,replacePaths:R,firePostProcessBlockEvent:Q}},ct=()=>{var e,t,n,r;const{settings:o}=L(),{endStreamMessage:i,injectMessage:a,removeMessage:l,simulateStreamMessage:s,streamMessage:c}=Ge(),{syncedPathsRef:u}=$(),{getCurrPath:d,getPrevPath:p,goToPath:f,firePostProcessBlockEvent:h}=st(),{setSyncedTextAreaSensitiveMode:g,setSyncedTextAreaDisabled:m,setSyncedIsBotTyping:v,setBlockAllowsAttachment:b,setInputLength:w,syncedVoiceToggledOnRef:y,syncedTextAreaSensitiveModeRef:x}=W(),{flowRef:E,inputRef:B,keepVoiceOnRef:P,paramsInputRef:k,timeoutIdRef:D}=q(),{showToast:C,dismissToast:S}=lt(),{dispatchRcbEvent:I}=te(),{syncVoice:T}=rt(),{setTextAreaValue:Q}=ot(),{toggleChatWindow:M}=ne(),O=A(async e=>{var t,n,r,A,i,l;const c=d();if(c&&E.current[c]){if(x.current){if(null!=(t=null==o?void 0:o.sensitiveInput)&&t.hideInUserBubble)return;if(null!=(n=null==o?void 0:o.sensitiveInput)&&n.maskInUserBubble)return void(null!=(r=o.userBubble)&&r.simulateStream?await s(\"*\".repeat((null==(A=o.sensitiveInput)?void 0:A.asterisksCount)??10),\"USER\"):await a(\"*\".repeat((null==(i=o.sensitiveInput)?void 0:i.asterisksCount)??10),\"USER\"))}null!=(l=o.userBubble)&&l.simulateStream?await s(e,\"USER\"):await a(e,\"USER\")}},[E,d,o,a,s,x]),N=A(async(e,t=!0)=>{var n,r;if(\"\"===(e=e.trim()))return;t&&await O(e),D.current&&clearTimeout(D.current),B.current&&(Q(\"\"),w(0));const A=d();if(!A)return;let x=E.current[A];const I=await h(x);I&&(null!=(n=o.chatInput)&&n.blockSpam&&m(!0),P.current=y.current,T(!1),setTimeout(()=>{v(!0)},400),g(!1),setTimeout(async()=>{var e;const t={prevPath:p(),currPath:d(),goToPath:f,setTextAreaValue:Q,userInput:k.current,injectMessage:a,simulateStreamMessage:s,streamMessage:c,removeMessage:l,endStreamMessage:i,toggleChatWindow:M,showToast:C,dismissToast:S},n=u.current.length;await ye(I,t),u.current.length===n&&(m(\"chatDisabled\"in x?!!x.chatDisabled:!(null==(e=o.chatInput)||!e.disabled)),we(x,t,g),b(\"function\"==typeof x.file),T(P.current),v(!1))},null==(r=o.chatInput)?void 0:r.botDelay))},[D,null==(e=o.chatInput)?void 0:e.blockSpam,null==(t=o.chatInput)?void 0:t.botDelay,null==(n=o.chatInput)?void 0:n.disabled,P,y,T,O,p,d,f,a,s,c,l,i,M,C,S,E]);return{handleSubmitText:A(async(e,t=!0)=>{var n,r;e=e??(null==(n=B.current)?void 0:n.value),!(null!=(r=o.event)&&r.rcbUserSubmitText&&(await I(X.USER_SUBMIT_TEXT,{inputText:e,sendInChat:t})).defaultPrevented||!d())&&N(e,t)},[I,d,N,B,null==(r=o.event)?void 0:r.rcbUserSubmitText])}},ut=()=>{var e;const{settings:t}=L();return s(()=>{var e;if(typeof window>\"u\"||!window.navigator)return!1;if(null==(e=t.device)||!e.applyMobileOptimizations)return!0;const n=navigator.userAgent,r=!/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(n),o=window.innerWidth>=768;return r&&o},[null==(e=t.device)?void 0:e.applyMobileOptimizations])},dt=({buttons:e})=>{var t,n,r,o,A,i,l,s,c,d,p;const f=ut(),{settings:v}=L(),{styles:b}=z(),{textAreaDisabled:w,textAreaSensitiveMode:y,inputLength:x,hasFlowStarted:E,setHasFlowStarted:B,setInputLength:P}=W(),{inputRef:k}=q(),[D,C]=a(!1),[S,I]=a(!1),{handleSubmitText:T}=ct(),{setTextAreaValue:Q}=ot(),M={boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle},O={outline:w?\"\":\"none\",boxShadow:w?\"\":`0 0 5px ${null==(t=v.general)?void 0:t.primaryColor}`,boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle,...b.chatInputAreaFocusedStyle},N={cursor:`url(\"${null==(n=v.general)?void 0:n.actionDisabledIcon}\"), auto`,caretColor:\"transparent\",boxSizing:f?\"content-box\":\"border-box\",...b.chatInputAreaStyle,...b.chatInputAreaDisabledStyle},H={color:\"#989898\",...b.characterLimitStyle},R={color:\"#ff0000\",...b.characterLimitReachedStyle},j=w?null==(r=v.chatInput)?void 0:r.disabledPlaceholderText:null==(o=v.chatInput)?void 0:o.enabledPlaceholderText,F=()=>{w||C(!0)},U=()=>{C(!1)},_=()=>{I(!0)},Y=()=>{I(!1)},G=async e=>{var t;if(!S&&\"Enter\"===e.key){if(e.shiftKey)return void(null!=(t=v.chatInput)&&t.allowNewline||e.preventDefault());e.preventDefault(),await T()}},V=e=>{k.current&&(Q(e.target.value),P(k.current.value.length))};return g(\"div\",{\"aria-label\":(null==(A=v.ariaLabel)?void 0:A.inputTextArea)??\"input text area\",role:\"textbox\",onMouseDown:e=>{var t;e.stopPropagation(),!E&&\"ON_CHATBOT_INTERACT\"===(null==(t=v.general)?void 0:t.flowStartTrigger)&&B(!0)},style:{...b.chatInputContainerStyle},className:\"rcb-chat-input\",children:[y&&null!=(i=v.sensitiveInput)&&i.maskInTextArea?h(\"input\",{ref:k,type:\"password\",className:\"rcb-chat-input-textarea\",style:w?N:D?O:M,placeholder:j,onChange:V,onKeyDown:G,onFocus:F,onBlur:U,onCompositionStart:_,onCompositionEnd:Y}):h(\"textarea\",{ref:k,style:w?N:D?O:M,rows:1,className:\"rcb-chat-input-textarea\",placeholder:j,onChange:V,onKeyDown:G,onFocus:F,onBlur:U,onCompositionStart:_,onCompositionEnd:Y}),g(m,{children:[null==e?void 0:e.map((e,t)=>h(u,{children:e},t)),(null==(l=v.chatInput)?void 0:l.showCharacterCount)&&null!=(null==(s=v.chatInput)?void 0:s.characterLimit)&&(null==(c=v.chatInput)?void 0:c.characterLimit)>0&&g(\"div\",{className:\"rcb-chat-input-char-counter\",style:x>=(null==(d=v.chatInput)?void 0:d.characterLimit)?R:H,children:[x,\"/\",null==(p=v.chatInput)?void 0:p.characterLimit]})]})]})},pt=({buttons:e})=>{var t;const{settings:n}=L(),{styles:r}=z();return g(\"div\",{\"data-testid\":\"chatbot-footer-container\",style:{...r.footerStyle},className:\"rcb-chat-footer-container\",children:[h(\"div\",{className:\"rcb-chat-footer\",children:null==e?void 0:e.map((e,t)=>h(u,{children:e},t))}),h(\"span\",{children:null==(t=n.footer)?void 0:t.text})]})},ft=()=>{var e,t,n,r,o,A,i;const{settings:l}=L(),{styles:s}=z(),{unreadCount:c}=W(),{isChatWindowOpen:u,toggleChatWindow:d}=ne(),[p,f]=a(!1),v={backgroundImage:`linear-gradient(to right, ${null==(e=l.general)?void 0:e.secondaryColor},\\n\\t\\t\\t${null==(t=l.general)?void 0:t.primaryColor})`,...s.chatButtonStyle},b={transform:\"scale(1.05)\",...v,...s.chatButtonHoveredStyle},w={backgroundImage:`url(${null==(n=l.chatButton)?void 0:n.icon})`,fill:\"#fff\",width:75,height:75,...s.chatIconStyle};return h(m,{children:!(null!=(r=l.general)&&r.embedded)&&g(\"div\",{\"aria-label\":(null==(o=l.ariaLabel)?void 0:o.chatButton)??\"open chat\",role:\"button\",style:p?b:v,className:\"rcb-toggle-button \"+(u?\"rcb-button-hide\":\"rcb-button-show\"),onMouseEnter:()=>{f(!0)},onMouseLeave:()=>{f(!1)},onClick:()=>d(!0),children:[(()=>{var e;const t=null==(e=l.chatButton)?void 0:e.icon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-toggle-icon\",children:h(t,{style:w})}):h(\"span\",{className:\"rcb-toggle-icon\",style:w})})(),!(null!=(A=l.notification)&&A.disabled)&&(null==(i=l.notification)?void 0:i.showCount)&&h(\"span\",{style:{...s.notificationBadgeStyle},className:\"rcb-badge\",children:c})]})})},ht=()=>{var e,t,n,r,o,A;const i=ut(),{settings:s}=L(),{styles:c}=z(),{chatBodyRef:u}=q(),{isChatWindowOpen:d,toggleChatWindow:p}=ne(),[f,v]=a(!1),[b,w]=a(!1),[y,x]=a(0);l(()=>{var e,t,n;const r=null==(e=s.tooltip)?void 0:e.mode;if(\"ALWAYS\"===r)if(i){let e;e=d?((null==(t=u.current)?void 0:t.offsetWidth)??375)-(\"number\"==typeof(null==(n=c.chatButtonStyle)?void 0:n.width)?c.chatButtonStyle.width:75):0,x(e),v(!0)}else v(!d);else\"NEVER\"===r?v(!1):\"START\"===r?b?v(!1):(w(!0),v(!0)):\"CLOSE\"===r&&v(!d)},[d,i,b,null==(e=c.chatButtonStyle)?void 0:e.width,null==(t=s.tooltip)?void 0:t.mode]);const E={transform:`translateX(-${y}px)`,right:((null==(n=c.chatButtonStyle)?void 0:n.width)??75)+40,bottom:30,backgroundColor:null==(r=s.general)?void 0:r.secondaryColor,color:\"#fff\",...c.tooltipStyle},B={borderColor:`transparent transparent transparent ${E.backgroundColor}`};return h(m,{children:!(null!=(o=s.general)&&o.embedded)&&g(\"div\",{\"data-testid\":\"chat-tooltip\",style:E,className:\"rcb-chat-tooltip \"+(f?\"rcb-tooltip-show\":\"rcb-tooltip-hide\"),onClick:()=>p(!0),children:[h(\"span\",{children:null==(A=s.tooltip)?void 0:A.text}),h(\"span\",{className:\"rcb-chat-tooltip-tail\",style:B})]})})},gt=({id:e,content:t,timeout:n})=>{var r,o;const{settings:A}=L(),{styles:i}=z(),[s]=a({toastPromptStyle:{...i.toastPromptStyle},toastPromptHoveredStyle:{...i.toastPromptHoveredStyle}}),{dismissToast:c}=lt(),[u,d]=a(!1),p={color:null==(r=A.general)?void 0:r.primaryColor,borderColor:null==(o=A.general)?void 0:o.primaryColor,...s.toastPromptHoveredStyle};return l(()=>{if(n){const t=setTimeout(()=>{c(e)},n);return()=>clearTimeout(t)}},[e,c,n]),\"string\"==typeof t?h(\"div\",{onMouseEnter:()=>{d(!0)},onMouseLeave:()=>{d(!1)},style:u?p:s.toastPromptStyle,onMouseDown:async t=>{var n;null!=(n=A.toast)&&n.dismissOnClick&&(t.preventDefault(),await c(e))},className:\"rcb-toast-prompt\",children:t}):h(m,{children:t})},mt=()=>{var e,t,n,r,o,A,i,a,l,s,c,u;const{styles:d}=z(),{toasts:p}=it(),f={bottom:`calc(${\"number\"==typeof(null==(e=d.footerStyle)?void 0:e.height)?`${null==(t=d.footerStyle)?void 0:t.height}px`:(null==(n=d.footerStyle)?void 0:n.height)??\"50px\"} + ${\"number\"==typeof(null==(r=d.chatInputContainerStyle)?void 0:r.height)?`${null==(o=d.chatInputContainerStyle)?void 0:o.height}px`:(null==(A=d.chatInputContainerStyle)?void 0:A.height)??\"70px\"} + 20px)`,width:300,minWidth:`calc(${\"number\"==typeof(null==(i=d.chatWindowStyle)?void 0:i.width)?`${null==(a=d.chatWindowStyle)?void 0:a.width}px`:(null==(l=d.chatWindowStyle)?void 0:l.width)??\"375px\"} / 2)`,maxWidth:`calc(${\"number\"==typeof(null==(s=d.chatWindowStyle)?void 0:s.width)?`${null==(c=d.chatWindowStyle)?void 0:c.width}px`:(null==(u=d.chatWindowStyle)?void 0:u.width)??\"375px\"} - 50px)`,...d.toastPromptContainerStyle};return h(\"div\",{className:\"rcb-toast-prompt-container\",style:f,children:p.map(e=>h(gt,{id:e.id,content:e.content,timeout:e.timeout},e.id))})},vt=({file:e,fileType:t,fileUrl:n})=>{var r,o,A;const{settings:i}=L(),{styles:a}=z(),l={backgroundColor:null==(r=i.general)?void 0:r.primaryColor,maxWidth:null!=(o=i.userBubble)&&o.showAvatar?\"65%\":\"70%\",...a.mediaDisplayContainerStyle};return h(m,{children:n?g(m,{children:[\"image\"===t&&n&&h(\"div\",{style:l,className:\"rcb-media-display-image-container rcb-media-entry\",\"data-testid\":\"media-display-image-container\",children:h(\"img\",{src:n,alt:\"Image Display\",className:\"rcb-media-display-image\"})}),\"video\"===t&&n&&h(\"div\",{style:l,className:\"rcb-media-display-video-container rcb-media-entry\",\"data-testid\":\"media-display-video-container\",children:g(\"video\",{controls:!0,className:\"rcb-media-display-video\",children:[h(\"source\",{src:n,type:e.type}),\"Your browser does not support the video tag.\"]})}),\"audio\"===t&&n&&g(\"audio\",{\"data-testid\":\"media-display-audio-container\",style:{maxWidth:null!=(A=i.userBubble)&&A.showAvatar?\"65%\":\"70%\"},controls:!0,className:\"rcb-media-display-audio rcb-media-entry\",children:[h(\"source\",{src:n,type:e.type}),\"Your browser does not support the audio tag.\"]})]}):h(m,{})})},bt=async e=>{if(!e)return{fileType:null,fileUrl:null};const t=e.type.split(\"/\")[0];if(![\"image\",\"video\",\"audio\"].includes(t))return{fileType:null,fileUrl:null};try{return{fileType:t,fileUrl:await new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(new Error(\"File reading failed\")),r.readAsDataURL(e)})}}catch(e){return console.error(e),{fileType:null,fileUrl:null}}},wt=()=>{var e,t,n,r,o,A;const{settings:i}=L(),{styles:a}=z(),{injectMessage:l,simulateStreamMessage:s,streamMessage:c,removeMessage:u,endStreamMessage:d}=Ge(),{getCurrPath:p,getPrevPath:f,goToPath:m,blockAllowsAttachment:v}=st(),{flowRef:b,inputRef:w}=q(),y=b.current,{showToast:x,dismissToast:E}=lt(),{dispatchRcbEvent:B}=te(),{toggleChatWindow:P}=ne(),{setTextAreaValue:k}=ot(),{handleSubmitText:D}=ct(),C={cursor:`url(\"${null==(e=i.general)?void 0:e.actionDisabledIcon}\"), auto`,...a.fileAttachmentButtonStyle,...a.fileAttachmentButtonDisabledStyle},S={backgroundImage:`url(${null==(t=i.fileAttachment)?void 0:t.icon})`,fill:\"#a6a6a6\",...a.fileAttachmentIconStyle},I={backgroundImage:`url(${null==(n=i.fileAttachment)?void 0:n.icon})`,fill:\"#a6a6a6\",...a.fileAttachmentIconStyle,...a.fileAttachmentIconDisabledStyle};return g(\"label\",{\"aria-label\":(null==(r=i.ariaLabel)?void 0:r.fileAttachmentButton)??\"upload file\",role:\"button\",className:v?\"rcb-attach-button-enabled\":\"rcb-attach-button-disabled\",style:v?{...a.fileAttachmentButtonStyle}:C,children:[h(\"input\",{className:\"rcb-attach-input\",role:\"file\",type:\"file\",onChange:async e=>{var t,n,r,o;const A=e.target.files;if(!A)return;const a=Array.from(A);if(e.target.value=\"\",null!=(t=i.event)&&t.rcbUserUploadFile&&(await B(X.USER_UPLOAD_FILE,{files:a})).defaultPrevented)return;const g=p();if(!g)return;const v=y[g];if(!v)return;const b=v.file;if(null!=b){const e=[];for(let t=0;t<a.length;t++){if(e.push(a[t].name),null==(n=i.fileAttachment)||!n.showMediaDisplay)continue;const r=await bt(a[t]);!r.fileType||!r.fileUrl||await l(h(vt,{file:a[t],fileType:r.fileType,fileUrl:r.fileUrl}),\"USER\")}await D(\"📄 \"+e.join(\", \"),null==(r=i.fileAttachment)?void 0:r.sendFileName),await b({userInput:null==(o=w.current)?void 0:o.value,prevPath:f(),currPath:p(),goToPath:m,setTextAreaValue:k,injectMessage:l,simulateStreamMessage:s,streamMessage:c,removeMessage:u,endStreamMessage:d,toggleChatWindow:P,showToast:x,dismissToast:E,files:a})}},multiple:null==(o=i.fileAttachment)?void 0:o.multiple,accept:null==(A=i.fileAttachment)?void 0:A.accept,disabled:!v}),(()=>{var e,t;const n=v?null==(e=i.fileAttachment)?void 0:e.icon:null==(t=i.fileAttachment)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:v?\"rcb-attach-icon-enabled\":\"rcb-attach-icon-disabled\",children:h(n,{style:v?S:I})}):h(\"span\",{className:v?\"rcb-attach-icon-enabled\":\"rcb-attach-icon-disabled\",style:v?S:I})})()]})},yt=()=>{var e,t,n,r,o,A;const{settings:s}=L(),{styles:c}=z(),{syncedTextAreaDisabledRef:u}=W(),{inputRef:d}=q(),{textAreaDisabled:p,setTextAreaValue:f}=ot(),v=i(null),b=i(null),[w,y]=a(!1),x={cursor:`url(\"${null==(e=s.general)?void 0:e.actionDisabledIcon}\"), auto`,...c.emojiButtonStyle,...c.emojiButtonDisabledStyle},E={backgroundImage:`url(${null==(t=s.emoji)?void 0:t.icon})`,fill:\"#a6a6a6\",...c.emojiIconStyle},B={backgroundImage:`url(${null==(n=s.emoji)?void 0:n.icon})`,fill:\"#a6a6a6\",...c.emojiIconStyle,...c.emojiIconDisabledStyle};l(()=>{const e=e=>{const t=e.composedPath();v.current&&!t.includes(v.current)&&b.current&&!t.includes(b.current)&&y(!1)},t=()=>{(()=>{if(v.current&&b.current){const e=b.current.getBoundingClientRect(),t=v.current.offsetHeight,n=e.top-t-8;v.current.style.left=`${e.left}px`,v.current.style.top=`${n}px`}})()};return document.addEventListener(\"mousedown\",e),window.addEventListener(\"resize\",t),()=>{document.removeEventListener(\"mousedown\",e),window.removeEventListener(\"resize\",t)}},[]);return g(m,{children:[h(\"div\",{\"aria-label\":(null==(r=s.ariaLabel)?void 0:r.emojiButton)??\"emoji picker\",role:\"button\",ref:b,className:\"\"+(p?\"rcb-emoji-button-disabled\":\"rcb-emoji-button-enabled\"),style:p?x:{...c.emojiButtonStyle},onMouseDown:e=>{e.preventDefault(),u.current?y(!1):y(e=>!e)},children:(()=>{var e,t;const n=p?null==(e=s.emoji)?void 0:e.iconDisabled:null==(t=s.emoji)?void 0:t.icon;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"\"+(p?\"rcb-emoji-icon-disabled\":\"rcb-emoji-icon-enabled\"),children:h(n,{style:p?B:E})}):h(\"span\",{className:\"\"+(p?\"rcb-emoji-icon-disabled\":\"rcb-emoji-icon-enabled\"),style:p?B:E})})()}),w&&h(\"div\",{className:\"rcb-emoji-button-popup\",ref:v,children:null==(A=null==(o=s.emoji)?void 0:o.list)?void 0:A.map((e,t)=>h(\"span\",{className:\"rcb-emoji\",onMouseDown:t=>((e,t)=>{e.preventDefault(),d.current&&(f(d.current.value+t),setTimeout(()=>{const e=d.current;if(e){e.focus();const t=e.value.length;e.setSelectionRange(t,t)}},50)),y(!1)})(t,e),children:e},t))})]})},xt=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{audioToggledOn:A,toggleAudio:i}=Ye(),a={backgroundImage:`url(${null==(e=r.audio)?void 0:e.icon})`,fill:\"#fcec3d\",...o.audioIconStyle},l={backgroundImage:`url(${null==(t=r.audio)?void 0:t.iconDisabled})`,fill:\"#e8eaed\",...o.audioIconStyle,...o.audioIconDisabledStyle};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.audioButton)??\"toggle audio\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),await i()},style:A?{...o.audioButtonStyle}:{...o.audioButtonStyle,...o.audioButtonDisabledStyle},children:(()=>{var e,t;const n=A?null==(e=r.audio)?void 0:e.icon:null==(t=r.audio)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-audio-icon\",\"data-testid\":\"rcb-audio-icon\",children:h(n,{style:A?a:l,\"data-testid\":\"rcb-audio-icon-svg\"})}):h(\"span\",{className:\"rcb-audio-icon\",\"data-testid\":\"rcb-audio-icon\",style:A?a:l})})()})},Et=()=>{var e,t;const{settings:n}=L(),{styles:r}=z(),{toggleChatWindow:o}=ne(),A={backgroundImage:`url(${null==(e=n.header)?void 0:e.closeChatIcon})`,fill:\"#e8eaed\",stroke:\"#e8eaed\",...r.closeChatIconStyle};return h(\"div\",{\"aria-label\":(null==(t=n.ariaLabel)?void 0:t.closeChatButton)??\"close chat\",role:\"button\",onMouseDown:e=>{e.stopPropagation(),o(!1)},style:{...r.closeChatButtonStyle},children:(()=>{var e;const t=null==(e=n.header)?void 0:e.closeChatIcon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-close-chat-icon\",\"data-testid\":\"rcb-close-chat-icon\",children:h(t,{style:A})}):h(\"span\",{className:\"rcb-close-chat-icon\",\"data-testid\":\"rcb-close-chat-icon\",style:A})})()})},Bt=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{notificationsToggledOn:A,toggleNotifications:i}=(()=>{const{notificationsToggledOn:e,toggleNotifications:t,playNotificationSound:n}=qe();return{notificationsToggledOn:e,toggleNotifications:t,playNotificationSound:n}})(),a={backgroundImage:`url(${null==(e=r.notification)?void 0:e.icon})`,fill:\"#fcec3d\",...o.notificationIconStyle},l={backgroundImage:`url(${null==(t=r.notification)?void 0:t.iconDisabled})`,fill:\"#e8eaed\",...o.notificationIconStyle,...o.notificationIconDisabledStyle};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.notificationButton)??\"toggle notifications\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),await i()},style:A?{...o.notificationButtonStyle}:{...o.notificationButtonStyle,...o.notificationButtonDisabledStyle},children:(()=>{var e,t;const n=A?null==(e=r.notification)?void 0:e.icon:null==(t=r.notification)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-notification-icon\",\"data-testid\":\"rcb-notification-icon\",children:h(n,{style:A?a:l,\"data-testid\":\"rcb-notification-icon-svg\"})}):h(\"span\",{className:\"rcb-notification-icon\",\"data-testid\":\"rcb-notification-icon\",style:A?a:l})})()})},Pt=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{injectMessage:A}=Ge(),{inputRef:s}=q(),{voiceToggledOn:c,toggleVoice:u}=rt(),{setInputLength:d,setTextAreaValue:p,textAreaDisabled:f}=ot(),{handleSubmitText:g}=ct(),m=i([]),[v,b]=a(!1);l(()=>{var e;null!=(e=r.voice)&&e.sendAsAudio?(E(),m.current=[]):g()},[v]),l(()=>{c?((e,t,n,r,o,A,i)=>{var a;null!=(a=e.voice)&&a.sendAsAudio?et(n,A):$e(e,t,n,r,o,i)})(r,u,x,p,d,m,s):tt()},[c]);const w={backgroundImage:`url(${null==(e=r.voice)?void 0:e.icon})`,fill:\"#9aa0a6\",...o.voiceIconStyle},y={backgroundImage:`url(${null==(t=r.voice)?void 0:t.iconDisabled})`,fill:\"#9aa0a6\",...o.voiceIconStyle,...o.voiceIconDisabledStyle},x=()=>{b(e=>!e)},E=async()=>{const e=new Blob(m.current,{type:\"audio/wav\"}),t=new File([e],\"voice-input.wav\",{type:\"audio/wav\"}),n=await bt(t);!n.fileType||!n.fileUrl||await A(h(vt,{file:t,fileType:n.fileType,fileUrl:n.fileUrl}),\"USER\")};return h(\"div\",{\"aria-label\":(null==(n=r.ariaLabel)?void 0:n.voiceButton)??\"toggle voice\",role:\"button\",onMouseDown:async e=>{e.preventDefault(),!f&&await u()},style:c&&!f?{...o.voiceButtonStyle}:{...o.voiceButtonStyle,...o.voiceButtonDisabledStyle},className:c&&!f?\"rcb-voice-button-enabled\":\"rcb-voice-button-disabled\",children:(()=>{var e,t;const n=c?null==(e=r.voice)?void 0:e.icon:null==(t=r.voice)?void 0:t.iconDisabled;return n&&\"string\"!=typeof n?n&&h(\"span\",{className:\"rcb-voice-icon \"+(c&&!f?\"on\":\"\"),children:h(n,{style:c&&!f?w:y})}):h(\"span\",{className:\"rcb-voice-icon\"+(c&&!f?\"-on\":\"\"),\"data-testid\":\"rcb-voice-icon\",style:c&&!f?w:y})})()})},kt=()=>{var e,t,n,r,o,A,i,l;const{settings:s}=L(),{styles:c}=z(),{textAreaDisabled:u}=W(),[d,p]=a(!1),{handleSubmitText:f}=ct(),g={backgroundColor:null==(e=s.general)?void 0:e.primaryColor,...c.sendButtonStyle},m={cursor:`url(\"${null==(t=s.general)?void 0:t.actionDisabledIcon}\"), auto`,backgroundColor:null==(n=s.general)?void 0:n.primaryColor,...c.sendButtonStyle,...c.sendButtonDisabledStyle},v={backgroundColor:null==(r=s.general)?void 0:r.secondaryColor,...c.sendButtonStyle,...c.sendButtonHoveredStyle},b={backgroundImage:`url(${null==(o=s.chatInput)?void 0:o.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle},w={backgroundImage:`url(${null==(A=s.chatInput)?void 0:A.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle,...c.sendIconDisabledStyle},y={backgroundImage:`url(${null==(i=s.chatInput)?void 0:i.sendButtonIcon})`,fill:\"#fff\",...c.sendIconStyle,...c.sendIconHoveredStyle};return h(\"div\",{\"aria-label\":(null==(l=s.ariaLabel)?void 0:l.sendButton)??\"send message\",role:\"button\",onMouseEnter:()=>{p(!0)},onMouseLeave:()=>{p(!1)},onMouseDown:async e=>{null==e||e.preventDefault(),!u&&await f()},style:u?m:d?v:g,className:\"rcb-send-button\",children:(()=>{var e;const t=null==(e=s.chatInput)?void 0:e.sendButtonIcon;return t&&\"string\"!=typeof t?t&&h(\"span\",{className:\"rcb-send-icon\",\"data-testid\":\"rcb-send-icon\",children:h(t,{style:u?w:d?y:b})}):h(\"span\",{className:\"rcb-send-icon\",\"data-testid\":\"rcb-send-icon\",style:u?w:d?y:b})})()})},Dt=(e,t)=>{var n,r,o,A,i,a,l,s,c;const u={[w.AUDIO_BUTTON]:null==(n=e.audio)?void 0:n.disabled,[w.CLOSE_CHAT_BUTTON]:null==(r=e.general)?void 0:r.embedded,[w.EMOJI_PICKER_BUTTON]:null==(o=e.emoji)?void 0:o.disabled,[w.FILE_ATTACHMENT_BUTTON]:null==(A=e.fileAttachment)?void 0:A.disabled,[w.NOTIFICATION_BUTTON]:null==(i=e.notification)?void 0:i.disabled,[w.SEND_MESSAGE_BUTTON]:!1,[w.VOICE_MESSAGE_BUTTON]:null==(a=e.voice)?void 0:a.disabled},d={},p=e=>e?e.map(e=>{if(\"string\"==typeof e){if((e=>Object.values(w).includes(e))(e)&&!u[e]){if(d[e])return d[e];const n=t[e];if(\"function\"==typeof n){const t=n();return d[e]=t,t}return null}return null}return e}).filter(e=>null!==e):[];return{header:p(null==(l=e.header)?void 0:l.buttons),chatInput:p(null==(s=e.chatInput)?void 0:s.buttons),footer:p(null==(c=e.footer)?void 0:c.buttons)}},Ct=()=>{const{settings:e}=L(),t=s(()=>({[w.CLOSE_CHAT_BUTTON]:()=>h(Et,{}),[w.AUDIO_BUTTON]:()=>h(xt,{}),[w.NOTIFICATION_BUTTON]:()=>h(Bt,{}),[w.EMOJI_PICKER_BUTTON]:()=>h(yt,{}),[w.FILE_ATTACHMENT_BUTTON]:()=>h(wt,{}),[w.SEND_MESSAGE_BUTTON]:()=>h(kt,{}),[w.VOICE_MESSAGE_BUTTON]:()=>h(Pt,{})}),[]),{header:n,chatInput:r,footer:o}=s(()=>Dt(e,t),[e,t]);return{headerButtons:s(()=>n,[n]),chatInputButtons:s(()=>r,[r]),footerButtons:s(()=>o,[o])}},St=()=>{const{settings:e}=L(),{styles:t}=z(),{setSyncedMessages:n,syncedMessagesRef:r}=Ae(),{isLoadingChatHistory:o,setIsLoadingChatHistory:i,hasChatHistoryLoaded:a,setHasChatHistoryLoaded:l}=W(),{chatBodyRef:s}=q(),{dispatchRcbEvent:c}=te(),u=A(async()=>{var o,A;const a=Qe();if(!a||null!=(o=e.event)&&o.rcbLoadChatHistory&&(await c(X.LOAD_CHAT_HISTORY,{})).defaultPrevented)return;i(!0);const u=(null==(A=s.current)?void 0:A.scrollHeight)??0;((e,t,n,r,o,A,i,a,l)=>{var s;if(De=!0,null!=n)try{const s=Pe(h(Ee,{}),\"SYSTEM\"),c=o.current.slice(1);r([s,...c]);const u=n.map(n=>{if(\"object\"===n.type){const r=He(n.content,e,t);return{...n,content:r}}return n});setTimeout(()=>{var t;const n=o.current.slice(1);let A=null!=(t=e.chatHistory)&&t.autoLoad?Pe(h(m,{}),\"SYSTEM\"):Pe(h(xe,{}),\"SYSTEM\");r([...u,A,...n]),l(!0)},500),setTimeout(()=>{if(!A.current)return;const{scrollHeight:e}=A.current,t=e-i;A.current.scrollTop+=t,a(!1)},510)}catch{ke.removeItem(null==(s=e.chatHistory)?void 0:s.storageKey)}})(e,t,a,n,r,s,u,i,l)},[e,t,c,r,s,i,l]);return{isLoadingChatHistory:o,setIsLoadingChatHistory:i,hasChatHistoryLoaded:a,showChatHistory:u}},It=()=>{var e,t,n;const{settings:r}=L(),{styles:o}=z(),{showChatHistory:A}=St(),[i,l]=a(!1),s={color:null==(e=r.general)?void 0:e.primaryColor,borderColor:null==(t=r.general)?void 0:t.primaryColor,...o.chatHistoryButtonStyle,...o.chatHistoryButtonHoveredStyle};return h(\"div\",{className:\"rcb-view-history-container\",children:h(\"div\",{onMouseEnter:()=>{l(!0)},onMouseLeave:()=>{l(!1)},style:i?s:{...o.chatHistoryButtonStyle},onMouseDown:e=>{e.preventDefault(),A()},className:\"rcb-view-history-button\",role:\"button\",tabIndex:0,children:h(\"p\",{children:null==(n=r.chatHistory)?void 0:n.viewChatHistoryButtonText})})})},Tt=()=>{var e,t,n,r;const o=ut(),{settings:a}=L(),{replaceMessages:s}=Ge(),{isBotTyping:c,isChatWindowOpen:u,setUnreadCount:d,setSyncedIsChatWindowOpen:p,setSyncedTextAreaDisabled:f,setSyncedAudioToggledOn:g,setSyncedVoiceToggledOn:m,setSyncedIsScrolling:v,syncedIsScrollingRef:b,syncedIsChatWindowOpenRef:w}=W(),{chatBodyRef:y}=q(),{viewportHeight:x,setViewportHeight:E,setViewportWidth:B,scrollToBottom:P}=ne(),{setUpNotifications:k}=qe(),{handleFirstInteraction:D}=(()=>{var e;const{settings:t}=L(),{hasInteractedPage:n,setHasInteractedPage:r,hasFlowStarted:o,setHasFlowStarted:i}=W(),a=A(()=>{var e;if(r(!0),!o&&\"ON_PAGE_INTERACT\"===(null==(e=t.general)?void 0:e.flowStartTrigger)&&i(!0),!window.SpeechSynthesisUtterance)return void console.info(\"Speech Synthesis API is not supported in this environment.\");const n=new window.SpeechSynthesisUtterance;n.text=\"\",n.onend=()=>{window.removeEventListener(\"click\",a),window.removeEventListener(\"keydown\",a),window.removeEventListener(\"touchstart\",a)},window.speechSynthesis.speak(n)},[o,null==(e=t.general)?void 0:e.flowStartTrigger]);return{hasInteractedPage:n,handleFirstInteraction:a}})(),{showChatHistory:C}=St(),S=i(0),I=i(!1);l(()=>(window.addEventListener(\"click\",D),window.addEventListener(\"keydown\",D),window.addEventListener(\"touchstart\",D),()=>{window.removeEventListener(\"click\",D),window.removeEventListener(\"keydown\",D),window.removeEventListener(\"touchstart\",D)}),[]),l(()=>{const e=y.current;if(!e)return;const t=()=>{I.current||(I.current=!0,requestAnimationFrame(()=>{var t,n;if(!e)return;const{scrollTop:r,clientHeight:o,scrollHeight:A}=e,i=r+o<A-((null==(t=a.chatWindow)?void 0:t.messagePromptOffset)??30);v(i),b.current=i,i||(r+o>=A-1&&(e.scrollTop=A-o-1),(w.current||null!=(n=a.general)&&n.embedded)&&d(0)),I.current=!1}))};return e.addEventListener(\"wheel\",t,{passive:!0}),e.addEventListener(\"touchmove\",t,{passive:!0}),()=>{e.removeEventListener(\"wheel\",t),e.removeEventListener(\"touchmove\",t)}},[]),l(()=>{var e,t,n;f(null==(e=a.chatInput)?void 0:e.disabled),p(null==(t=a.chatWindow)?void 0:t.defaultOpen),g(null==(n=a.audio)?void 0:n.defaultToggledOn),setTimeout(()=>{var e;m(null==(e=a.voice)?void 0:e.defaultToggledOn)},1)},[]),l(()=>{var e;null!=(e=a.notification)&&e.disabled||k()},[null==(e=a.notification)?void 0:e.disabled]),l(()=>{!b.current&&null!=y&&y.current&&P()},[c]),l(()=>{var e,t;if(null!=(e=a.chatHistory)&&e.disabled)ke&&ke.removeItem(Ce);else if(Le(a),Qe().length>0){const e=Pe(h(It,{}),\"SYSTEM\");s([e]),null!=(t=a.chatHistory)&&t.autoLoad&&C()}},[null==(t=a.chatHistory)?void 0:t.storageKey,null==(n=a.chatHistory)?void 0:n.maxEntries,null==(r=a.chatHistory)?void 0:r.disabled]),l(()=>{var e;o||null!=(e=a.general)&&e.embedded||!navigator.virtualKeyboard||(navigator.virtualKeyboard.overlaysContent=!0,navigator.virtualKeyboard.addEventListener(\"geometrychange\",e=>{if(!e.target)return;const{x:t,y:n,width:r,height:o}=e.target.boundingRect;0==t&&0==n&&0==r&&0==o?(setTimeout(()=>{var e;E(null==(e=window.visualViewport)?void 0:e.height)},101),setTimeout(()=>{var e,t;x!=(null==(e=window.visualViewport)?void 0:e.height)&&E(null==(t=window.visualViewport)?void 0:t.height)},1001)):setTimeout(()=>{var e;E((null==(e=window.visualViewport)?void 0:e.height)-o)},101)}))},[o]),l(()=>{var e,t,n,r;if(o)return;u&&(E(null==(e=window.visualViewport)?void 0:e.height),B(null==(t=window.visualViewport)?void 0:t.width));const A=()=>window.scrollTo({top:0,left:0,behavior:\"auto\"}),i=()=>S.current=window.scrollY,a=()=>{var e,t;E(null==(e=window.visualViewport)?void 0:e.height),B(null==(t=window.visualViewport)?void 0:t.width)},l=()=>{var e;window.removeEventListener(\"scroll\",A),window.removeEventListener(\"scroll\",i),null==(e=window.visualViewport)||e.removeEventListener(\"resize\",a)};return u?(l(),document.body.style.position=\"fixed\",window.addEventListener(\"scroll\",A),null==(n=window.visualViewport)||n.addEventListener(\"resize\",a)):(document.body.style.position=\"static\",l(),window.scrollTo({top:S.current,left:0,behavior:\"auto\"}),window.addEventListener(\"scroll\",i),null==(r=window.visualViewport)||r.removeEventListener(\"resize\",a)),l},[u,o])},Qt=\"https://cdn.jsdelivr.net/gh/react-chatbotify/community-themes/themes\",Mt=\"2592000\",Ot=\"RCB_THEME_CACHE_DATA\",Lt=async(e,t)=>{const{id:n,version:r,baseUrl:o=Qt,cacheDuration:A=Mt}=t,i=r||await(async(e,t)=>{const n=`${t}/${e}/meta.json`;try{const e=await fetch(n);return e.ok?(await e.json()).version:(console.error(`Failed to fetch meta.json from ${n}`),null)}catch(e){return console.error(`Failed to fetch meta.json from ${n}`,e),null}})(n,o);if(!i)return console.error(`Unable to find version for theme: ${n}`),{settings:{},inlineStyles:{},cssStylesText:\"\"};const a=((e,t,n)=>{const r=localStorage.getItem(`${Ot}_${e}_${t}`);if(!r)return null;try{const e=JSON.parse(r),t=(new Date).getTime(),o=Math.floor(t/1e3);return e.cacheDate+n>=o?e:null}catch(t){return console.error(`Unable to fetch cache for ${e}`,t),null}})(n,i,A);if(a){const t=Nt(e,a.cssStylesText);return{settings:a.settings,inlineStyles:a.inlineStyles,cssStylesText:t}}const l=`${o}/${n}/${i}/styles.css`,s=`${o}/${n}/${i}/settings.json`,c=`${o}/${n}/${i}/styles.json`;let u=\"\";const d=await fetch(l);d.ok?u=await d.text():console.info(`Could not fetch styles.css from ${l}`);const p=await fetch(s);let f={};p.ok?f=await p.json():console.info(`Could not fetch settings.json from ${s}`);const h=await fetch(c);let g={};h.ok?g=await h.json():console.info(`Could not fetch styles.json from ${c}`),((e,t,n,r,o)=>{const A=(new Date).getTime(),i={settings:n,inlineStyles:r,cssStylesText:o,cacheDate:Math.floor(A/1e3)};localStorage.setItem(`${Ot}_${e}_${t}`,JSON.stringify(i))})(n,i,f,g,u);return{settings:f,inlineStyles:g,cssStylesText:Nt(e,u)}},Nt=(e,t)=>t.split(new RegExp(\"(?<=})\")).map(t=>{const n=t.trim();return n.startsWith(\"@import\")||n.startsWith(\"@keyframes\")||n.startsWith(\"@media\")?n:n?`#${e} ${n}`:\"\"}).join(\"\\n\"),Ht=async(e,t,n,r)=>{var o,A;let i=zt(M),a=zt(H),l=\"\";if(null!=r)if(Array.isArray(r))for(const t of r){const n=await Lt(e,t);i=Rt(n.settings,i),a=Rt(n.inlineStyles,a),l+=n.cssStylesText}else{const t=await Lt(e,r);i=Rt(t.settings,i),a=Rt(t.inlineStyles,a),l+=t.cssStylesText}return null!=t&&(i=Rt(t,i)),null!=n&&(a=Rt(n,a)),null!=(null==(o=i.chatInput)?void 0:o.botDelay)&&(null==(A=i.chatInput)?void 0:A.botDelay)<500&&(i.chatInput.botDelay=500),{settings:i,inlineStyles:a,cssStylesText:l}},Rt=(e,t)=>{const n=[{source:e,target:t}];for(;n.length;){const e=n.pop();if(null==e)continue;const{source:t,target:r}=e;for(const e of Object.keys(t)){const o=e;if(c(t[o]))r[o]=t[o];else if(\"object\"!=typeof t[o]||null===t[o]||Array.isArray(t[o]))try{r[o]=t[o]}catch{}else(\"object\"!=typeof r[o]||null===r[o])&&(r[o]={}),n.push({source:t[o],target:r[o]})}}return t},zt=e=>{if(null===e||\"object\"!=typeof e)return e;const t=Array.isArray(e)?[]:{},n=[{source:e,target:t}],r=new WeakMap;for(r.set(e,t);n.length;){const e=n.pop();if(null==e)continue;const{source:t,target:o}=e;for(const e in t)if(Object.prototype.hasOwnProperty.call(t,e)){const A=t[e];if(A&&\"object\"==typeof A)if(r.has(A))o[e]=r.get(A);else{const t=Array.isArray(A)?[]:{};r.set(A,t),o[e]=t,n.push({source:A,target:t})}else o[e]=A}}return t},jt=()=>{const{settings:e,setSyncedSettings:t,syncedSettingsRef:n}=L(),r=A(n=>{!n||0===Object.keys(n).length||t(zt(Rt(n,e)))},[e]),o=A(e=>{const r=\"function\"==typeof e?e(n.current):e;t(r)},[n]);return{settings:e,replaceSettings:o,updateSettings:r}},Ft=()=>{const{styles:e,setSyncedStyles:t,syncedStylesRef:n}=z(),r=A(n=>{!n||0===Object.keys(n).length||t(zt(Rt(n,e)))},[e]),o=A(e=>{const r=\"function\"==typeof e?e(n.current):e;t(r)},[n]);return{styles:e,replaceStyles:o,updateStyles:r}},Ut=({plugins:e,slots:t})=>{var n,r;const o=ut(),{settings:A}=L(),{styles:i}=z(),{hasFlowStarted:a,setHasFlowStarted:c}=W(),{inputRef:u}=q(),{viewportHeight:d,viewportWidth:p,isChatWindowOpen:f}=ne(),{goToPath:v}=st(),{headerButtons:b,chatInputButtons:w,footerButtons:y}=Ct();Tt(),(e=>{const{updateSettings:t}=jt(),{updateStyles:n}=Ft(),r=null==e?void 0:e.map(e=>e());l(()=>{let e={},o={};null==r||r.forEach(t=>{null!=t&&t.settings&&0!==Object.keys(null==t?void 0:t.settings).length&&(e=Rt(t.settings,e)),null!=t&&t.styles&&0!==Object.keys(null==t?void 0:t.styles).length&&(o=Rt(t.styles,o))}),t(e),n(o)},[])})(e),l(()=>{var e;(a||\"ON_LOAD\"===(null==(e=A.general)?void 0:e.flowStartTrigger))&&v(\"start\")},[a,null==(n=A.general)?void 0:n.flowStartTrigger]);const x=s(()=>{var e;const t=\"rcb-chatbot-global \";return null!=(e=A.general)&&e.embedded?t+\"rcb-window-embedded\":f?t+\"rcb-window-open\":t+\"rcb-window-close\"},[A,f]);return h(m,{children:(()=>{var e,t;return o&&(null==(e=A.device)?void 0:e.desktopEnabled)||!o&&(null==(t=A.device)?void 0:t.mobileEnabled)})()&&g(\"div\",{onMouseDown:e=>{var t,n;!a&&\"ON_CHATBOT_INTERACT\"===(null==(t=A.general)?void 0:t.flowStartTrigger)&&c(!0),o?null==(n=u.current)||n.blur():null==e||e.preventDefault()},className:x,children:[h(ht,{}),h(ft,{}),f&&!o&&!(null!=(r=A.general)&&r.embedded)&&g(m,{children:[h(\"style\",{children:\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\thtml {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\toverflow: hidden !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttouch-action: none !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tscroll-behavior: auto !important;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\"}),h(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:\"#fff\",zIndex:9999}})]}),h(\"div\",{style:(()=>{var e,t;return o||null!=(e=A.general)&&e.embedded?null!=(t=A.general)&&t.embedded?{...i.chatWindowStyle}:{...i.chatWindowStyle,zIndex:1e4}:{...i.chatWindowStyle,borderRadius:\"0px\",left:\"0px\",right:\"auto\",top:\"0px\",bottom:\"auto\",width:`${p}px`,height:`${d}px`,zIndex:1e4}})(),className:\"rcb-chat-window\",children:(()=>{var e,n,r;const o=(null==t?void 0:t.chatBotHeader)||F,i=(null==t?void 0:t.chatBotBody)||ce,a=(null==t?void 0:t.chatBotInput)||dt,l=(null==t?void 0:t.chatBotFooter)||pt;return g(m,{children:[(null==(e=A.general)?void 0:e.showHeader)&&h(o,{buttons:b}),h(i,{}),h(mt,{}),(null==(n=A.general)?void 0:n.showInputRow)&&h(a,{buttons:w}),(null==(r=A.general)?void 0:r.showFooter)&&h(l,{buttons:y})]})})()})]})})},qt=r(void 0),_t=()=>o(qt),Yt=({children:e})=>{var t;const n=i(\"\"),r=i({}),[o,A,s]=Y({}),[c,u,d]=Y({}),[p,f]=a(!1);l(()=>{f(!0)},[]);return p?h(\"div\",{style:{fontFamily:null==(t=o.general)?void 0:t.fontFamily},children:h(qt.Provider,{value:{loadConfig:async(e,t,o,i,a,l)=>{n.current=e,r.current=t;const s=await Ht(e,o,i,a);l.current&&(l.current.textContent=s.cssStylesText),A(s.settings),u(s.inlineStyles)}},children:h(N,{settings:o,setSyncedSettings:A,syncedSettingsRef:s,children:h(j,{styles:c,setSyncedStyles:u,syncedStylesRef:d,children:h(at,{children:h(_,{botIdRef:n,flowRef:r,children:h(ee,{children:h(V,{settings:o,children:h(ie,{children:e})})})})})})})})}):null},Gt=({id:e,flow:t,settings:n,styles:r,themes:o,plugins:A,setConfigLoaded:i,styleRootRef:a})=>{const c=s(()=>e,[]),u=_t(),{flowRef:d}=q();d&&d.current!==t&&(d.current=t);return l(()=>{(async()=>{var e,l;null!=(e=n.event)&&e.rcbPreLoadChatBot&&(await J(X.PRE_LOAD_CHATBOT,{botId:c,currPath:null,prevPath:null},{flow:t,settings:n,styles:r,themes:o,plugins:A})).defaultPrevented||(null!=u&&u.loadConfig&&(await u.loadConfig(c,t,n,r,o,a),i(!0)),null!=(l=n.event)&&l.rcbPostLoadChatBot&&J(X.POST_LOAD_CHATBOT,{botId:c,currPath:null,prevPath:null},{flow:t,settings:n,styles:r,themes:o,plugins:A}))})()},[o]),null},Wt=[\"Quickstart\",\"API Docs\",\"Examples\",\"Github\",\"Discord\"],Vt={start:{message:\"Hello, I am Tan Jin 👋! Welcome to React ChatBotify, I'm excited that you are using our chatbot 😊!\",transition:{duration:1e3},chatDisabled:!0,path:\"show_options\"},show_options:{message:\"It looks like you have not set up a conversation flow yet. No worries! Here are a few helpful things you can check out to get started:\",options:Wt,path:\"process_options\"},prompt_again:{message:\"Do you need any other help?\",options:Wt,path:\"process_options\"},unknown_input:{message:\"Sorry, I do not understand your message 😢! If you require further assistance, you may click on the Github option and open an issue there or visit our discord.\",options:Wt,path:\"process_options\"},process_options:{transition:{duration:0},path:e=>{let t=\"\";switch(e.userInput){case\"Quickstart\":t=\"https://react-chatbotify.com/docs/introduction/quickstart/\";break;case\"API Docs\":t=\"https://react-chatbotify.com/docs/api/bot_options\";break;case\"Examples\":t=\"https://react-chatbotify.com/docs/examples/basic_form\";break;case\"Github\":t=\"https://github.com/react-chatbotify/react-chatbotify/\";break;case\"Discord\":t=\"https://discord.gg/6R4DK4G5Zh\";break;default:return\"unknown_input\"}return e.injectMessage(\"Sit tight! I'll send you right there!\"),setTimeout(()=>{window.open(t)},1e3),\"repeat\"}},repeat:{transition:{duration:3e3},path:\"prompt_again\"}},Xt=({id:e,flow:t,settings:n,styles:r,themes:o,plugins:A,slots:c})=>{const u=s(()=>e||\"rcb-\"+Be(),[]),d=t&&0!==Object.keys(t).length?t:Vt,p=n||{},f=r||{},v=A||[],[b,w]=a(!1),y=_t(),x=i(null),[E,B]=a(o||[]);l(()=>{o&&B(o)},[o]);const P=()=>g(m,{children:[h(Gt,{styleRootRef:x,id:u,flow:d,settings:p,styles:f,themes:E,plugins:v,setConfigLoaded:w}),b&&h(Ut,{plugins:A,slots:c})]});return g(null==y?Yt:m,{children:[h(\"style\",{ref:x}),h(\"div\",{id:u,children:P()})]})},Kt=()=>{const{getBotId:e}=(()=>{const{botIdRef:e}=q();return{getBotId:A(()=>e.current,[e])}})();return{getBotId:e}},Jt=()=>{const{hasFlowStarted:e,restartFlow:t,getFlow:n}=(()=>{const{replaceMessages:e}=Ge(),{replacePaths:t,goToPath:n}=st(),{replaceToasts:r}=lt(),{hasFlowStarted:o}=W(),{flowRef:i,timeoutIdRef:a}=q(),{settings:l}=L();return{hasFlowStarted:o,restartFlow:A(async()=>{Le(l),a.current&&clearTimeout(a.current),e([]),r([]),t([]),await n(\"start\")},[a,l,e,r,t,Le,n]),getFlow:A(()=>(null==i?void 0:i.current)??{},[i])}})();return{hasFlowStarted:e,restartFlow:t,getFlow:n}},Zt=()=>{const{endStreamMessage:e,injectMessage:t,removeMessage:n,simulateStreamMessage:r,streamMessage:o,messages:A,replaceMessages:i,getMessages:a}=Ge();return{endStreamMessage:e,injectMessage:t,removeMessage:n,simulateStreamMessage:r,streamMessage:o,messages:A,replaceMessages:i,getMessages:a}},$t=(e,t)=>{const{getBotId:n}=Kt();l(()=>{const r=e=>{e.detail.botId===n()&&t(e)};return window.addEventListener(e,r),()=>{window.removeEventListener(e,r)}},[n,e,t])},en=()=>{const{settings:e,replaceSettings:t,updateSettings:n}=jt();return{settings:e,replaceSettings:t,updateSettings:n}},tn=()=>{const{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:n,toggleTextAreaSensitiveMode:r,getTextAreaValue:o,setTextAreaValue:A,focusTextArea:i,blurTextArea:a}=ot();return{textAreaDisabled:e,toggleTextAreaDisabled:t,textAreaSensitiveMode:n,toggleTextAreaSensitiveMode:r,getTextAreaValue:o,setTextAreaValue:A,focusTextArea:i,blurTextArea:a}},nn=()=>{const{showChatHistory:e,hasChatHistoryLoaded:t}=St();return{showChatHistory:e,getHistoryMessages:Qe,setHistoryMessages:Me,hasChatHistoryLoaded:t}},rn={a:{content:9,self:!1,type:105},address:{invalid:[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"address\",\"article\",\"aside\",\"section\",\"div\",\"header\",\"footer\"],self:!1},audio:{children:[\"track\",\"source\"]},br:{type:9,void:!0},body:{content:127},button:{content:8,type:105},caption:{content:1,parent:[\"table\"]},col:{parent:[\"colgroup\"],void:!0},colgroup:{children:[\"col\"],parent:[\"table\"]},details:{children:[\"summary\"],type:97},dd:{content:1,parent:[\"dl\"]},dl:{children:[\"dt\",\"dd\"],type:1},dt:{content:1,invalid:[\"footer\",\"header\"],parent:[\"dl\"]},figcaption:{content:1,parent:[\"figure\"]},footer:{invalid:[\"footer\",\"header\"]},header:{invalid:[\"footer\",\"header\"]},hr:{type:1,void:!0},img:{void:!0},li:{content:1,parent:[\"ul\",\"ol\",\"menu\"]},main:{self:!1},ol:{children:[\"li\"],type:1},picture:{children:[\"source\",\"img\"],type:25},rb:{parent:[\"ruby\",\"rtc\"]},rp:{parent:[\"ruby\",\"rtc\"]},rt:{content:8,parent:[\"ruby\",\"rtc\"]},rtc:{content:8,parent:[\"ruby\"]},ruby:{children:[\"rb\",\"rp\",\"rt\",\"rtc\"]},source:{parent:[\"audio\",\"video\",\"picture\"],void:!0},summary:{content:8,parent:[\"details\"]},table:{children:[\"caption\",\"colgroup\",\"thead\",\"tbody\",\"tfoot\",\"tr\"],type:1},tbody:{parent:[\"table\"],children:[\"tr\"]},td:{content:1,parent:[\"tr\"]},tfoot:{parent:[\"table\"],children:[\"tr\"]},th:{content:1,parent:[\"tr\"]},thead:{parent:[\"table\"],children:[\"tr\"]},tr:{parent:[\"table\",\"tbody\",\"thead\",\"tfoot\"],children:[\"th\",\"td\"]},track:{parent:[\"audio\",\"video\"],void:!0},ul:{children:[\"li\"],type:1},video:{children:[\"track\",\"source\"]},wbr:{type:9,void:!0}};function on(e){return t=>{rn[t]={...e,...rn[t]}}}[\"address\",\"main\",\"div\",\"figure\",\"p\",\"pre\"].forEach(on({content:1,type:65})),[\"abbr\",\"b\",\"bdi\",\"bdo\",\"cite\",\"code\",\"data\",\"dfn\",\"em\",\"i\",\"kbd\",\"mark\",\"q\",\"ruby\",\"samp\",\"strong\",\"sub\",\"sup\",\"time\",\"u\",\"var\"].forEach(on({content:8,type:73})),[\"p\",\"pre\"].forEach(on({content:8,type:65})),[\"s\",\"small\",\"span\",\"del\",\"ins\"].forEach(on({content:8,type:9})),[\"article\",\"aside\",\"footer\",\"header\",\"nav\",\"section\",\"blockquote\"].forEach(on({content:1,type:67})),[\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\"].forEach(on({content:8,type:69})),[\"audio\",\"canvas\",\"iframe\",\"img\",\"video\"].forEach(on({type:89}));const An=Object.freeze(rn),an=[\"applet\",\"base\",\"body\",\"command\",\"embed\",\"frame\",\"frameset\",\"head\",\"html\",\"link\",\"meta\",\"noscript\",\"object\",\"script\",\"style\",\"title\"],ln=Object.keys(An).filter(e=>\"canvas\"!==e&&\"iframe\"!==e),sn=Object.freeze({alt:1,cite:1,class:1,colspan:3,controls:4,datetime:1,default:4,disabled:4,dir:1,height:1,href:1,id:1,kind:1,label:1,lang:1,loading:1,loop:4,media:1,muted:4,poster:1,rel:1,role:1,rowspan:3,scope:1,sizes:1,span:3,start:3,style:5,src:1,srclang:1,srcset:1,tabindex:1,target:1,title:1,type:1,width:1}),cn=Object.freeze({class:\"className\",colspan:\"colSpan\",datetime:\"dateTime\",rowspan:\"rowSpan\",srclang:\"srcLang\",srcset:\"srcSet\",tabindex:\"tabIndex\"});function un(){return un=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},un.apply(this,arguments)}function dn({attributes:e={},className:n,children:r=null,selfClose:o=!1,tagName:A}){const i=A;return o?t.createElement(i,un({className:n},e)):t.createElement(i,un({className:n},e),r)}class pn{attribute(e,t){return t}node(e,t){return t}}function fn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}\n/*!\n * escape-html\n * Copyright(c) 2012-2013 TJ Holowaychuk\n * Copyright(c) 2015 Andreas Lubbe\n * Copyright(c) 2015 Tiancheng \"Timothy\" Gu\n * MIT Licensed\n */var hn,gn;const mn=fn(function(){if(gn)return hn;gn=1;var e=/[\"'&<>]/;return hn=function(t){var n=\"\"+t,r=e.exec(n);if(!r)return n;var o,A=\"\",i=0,a=0;for(i=r.index;i<n.length;i++){switch(n.charCodeAt(i)){case 34:o=\""\";break;case 38:o=\"&\";break;case 39:o=\"'\";break;case 60:o=\"<\";break;case 62:o=\">\";break;default:continue}a!==i&&(A+=n.substring(a,i)),a=i+1,A+=o}return a!==i?A+n.substring(a,i):A}}());function vn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const bn=/(url|image|image-set)\\(/i;class wn extends pn{attribute(e,t){return\"style\"===e&&Object.keys(t).forEach(e=>{String(t[e]).match(bn)&&delete t[e]}),t}}const yn=/^<(!doctype|(html|head|body)(\\s|>))/i,xn=/^(aria-|data-|\\w+:)/iu,En=/{{{(\\w+)\\/?}}}/;function Bn(){if(!(typeof window>\"u\"||typeof document>\"u\"))return document.implementation.createHTMLDocument(\"Interweave\")}let Pn=class{constructor(e,t={},n=[],r=[]){var o;if(vn(this,\"allowed\",void 0),vn(this,\"banned\",void 0),vn(this,\"blocked\",void 0),vn(this,\"container\",void 0),vn(this,\"content\",[]),vn(this,\"props\",void 0),vn(this,\"matchers\",void 0),vn(this,\"filters\",void 0),vn(this,\"keyIndex\",void 0),\"production\"!==process.env.NODE_ENV&&e&&\"string\"!=typeof e)throw new TypeError(\"Interweave parser requires a valid string.\");this.props=t,this.matchers=n,this.filters=[...r,new wn],this.keyIndex=-1,this.container=this.createContainer(e||\"\"),this.allowed=new Set(null!==(o=t.allowList)&&void 0!==o?o:ln),this.banned=new Set(an),this.blocked=new Set(t.blockList)}applyAttributeFilters(e,t){return this.filters.reduce((t,n)=>null!==t&&\"function\"==typeof n.attribute?n.attribute(e,t):t,t)}applyNodeFilters(e,t){return this.filters.reduce((t,n)=>null!==t&&\"function\"==typeof n.node?n.node(e,t):t,t)}applyMatchers(e,t){const n={},{props:r}=this;let o=e,A=0,i=null;return this.matchers.forEach(e=>{const a=e.asTag().toLowerCase(),l=this.getTagConfig(a);if(r[e.inverseName]||!this.isTagAllowed(a)||!this.canRenderChild(t,l))return;let s=\"\";for(;o&&(i=e.match(o));){const{index:t,length:a,match:l,valid:c,void:u,...d}=i,p=e.propName+String(A);t>0&&(s+=o.slice(0,t)),c?(s+=u?`{{{${p}/}}}`:`{{{${p}}}}${l}{{{/${p}}}}`,this.keyIndex+=1,A+=1,n[p]={children:l,matcher:e,props:{...r,...d,key:this.keyIndex}}):s+=l,e.greedy?(o=s+o.slice(t+a),s=\"\"):o=o.slice(t+(a||l.length))}e.greedy||(o=s+o)}),0===A?e:this.replaceTokens(o,n)}canRenderChild(e,t){return!(!e.tagName||!t.tagName||e.void)&&(e.children.length>0?e.children.includes(t.tagName):!(e.invalid.length>0&&e.invalid.includes(t.tagName))&&(t.parent.length>0?t.parent.includes(e.tagName):!(!e.self&&e.tagName===t.tagName)&&!!(e&&e.content&t.type)))}convertLineBreaks(e){const{noHtml:t,disableLineBreaks:n}=this.props;if(t||n||e.match(/<((?:\\/[ a-z]+)|(?:[ a-z]+\\/))>/gi))return e;let r=e.replace(/\\r\\n/g,\"\\n\");return r=r.replace(/\\n{3,}/g,\"\\n\\n\\n\"),r=r.replace(/\\n/g,\"<br/>\"),r}createContainer(e){var t;const n=(typeof global<\"u\"&&global.INTERWEAVE_SSR_POLYFILL||Bn)();if(!n)return;const r=null!==(t=this.props.containerTagName)&&void 0!==t?t:\"body\",o=\"body\"===r||\"fragment\"===r?n.body:n.createElement(r);if(e.match(yn)){if(\"production\"!==process.env.NODE_ENV)throw new Error(\"HTML documents as Interweave content are not supported.\")}else o.innerHTML=this.convertLineBreaks(this.props.escapeHtml?mn(e):e);return o}extractAttributes(e){const{allowAttributes:t}=this.props,n={};let r=0;return 1===e.nodeType&&e.attributes&&([...e.attributes].forEach(o=>{const{name:A,value:i}=o,a=A.toLowerCase(),l=sn[a]||sn[A];if(!this.isSafe(e)||!a.match(xn)&&(!t&&(!l||2===l)||a.startsWith(\"on\")||i.replace(/(\\s|\\0|�([9AD]);)/,\"\").match(/(javascript|vbscript|livescript|xss):/i)))return;let s=\"style\"===a?this.extractStyleAttribute(e):i;4===l?s=!0:3===l?s=Number.parseFloat(String(s)):5!==l&&(s=String(s)),n[cn[a]||a]=this.applyAttributeFilters(a,s),r+=1}),0!==r)?n:null}extractStyleAttribute(e){const t={};return Array.from(e.style).forEach(n=>{const r=e.style[n];(\"string\"==typeof r||\"number\"==typeof r)&&(t[n.replace(/-([a-z])/g,(e,t)=>String(t).toUpperCase())]=r)}),t}getTagConfig(e){const t={children:[],content:0,invalid:[],parent:[],self:!0,tagName:\"\",type:0,void:!1};return An[e]?{...t,...An[e],tagName:e}:t}isSafe(e){if(typeof HTMLAnchorElement<\"u\"&&e instanceof HTMLAnchorElement){const t=e.getAttribute(\"href\");if(null!=t&&t.startsWith(\"#\"))return!0;const n=e.protocol.toLowerCase();return\":\"===n||\"http:\"===n||\"https:\"===n||\"mailto:\"===n||\"tel:\"===n}return!0}isTagAllowed(e){return!this.banned.has(e)&&!this.blocked.has(e)&&(this.props.allowElements||this.allowed.has(e))}parse(){return this.container?this.parseNode(this.container,this.getTagConfig(this.container.nodeName.toLowerCase())):[]}parseNode(e,n){const{noHtml:r,noHtmlExceptMatchers:o,allowElements:A,transform:i,transformOnlyAllowList:a}=this.props;let l=[],s=\"\";return[...e.childNodes].forEach(e=>{if(1===e.nodeType){const u=e.nodeName.toLowerCase(),d=this.getTagConfig(u);s&&(l.push(s),s=\"\");const p=this.applyNodeFilters(u,e);if(!p)return;let f;if(i&&(!a||this.isTagAllowed(u))){this.keyIndex+=1;const e=this.keyIndex;f=this.parseNode(p,d);const n=i(p,f,d);if(null===n)return;if(typeof n<\"u\")return void l.push(t.cloneElement(n,{key:e}));this.keyIndex=e-1}if(this.banned.has(u))return;if(r||o&&\"br\"!==u||!this.isTagAllowed(u)||!A&&!this.canRenderChild(n,d))l=[...l,...this.parseNode(p,d.tagName?d:n)];else{var c;this.keyIndex+=1;const e=this.extractAttributes(p),n={tagName:u};e&&(n.attributes=e),d.void&&(n.selfClose=d.void),l.push(t.createElement(dn,{...n,key:this.keyIndex},null!==(c=f)&&void 0!==c?c:this.parseNode(p,d)))}}else if(3===e.nodeType){const t=r&&!o?e.textContent:this.applyMatchers(e.textContent||\"\",n);Array.isArray(t)?l=[...l,...t]:s+=t}}),s&&l.push(s),l}replaceTokens(e,t){if(!e.includes(\"{{{\"))return e;const n=[];let r=e,o=null;for(;o=r.match(En);){const[e,A]=o,i=o.index,a=e.includes(\"/\");if(\"production\"!==process.env.NODE_ENV&&!t[A])throw new Error(`Token \"${A}\" found but no matching element to replace with.`);i>0&&(n.push(r.slice(0,i)),r=r.slice(i));const{children:l,matcher:s,props:c}=t[A];let u;if(a)u=e.length,n.push(s.createElement(l,c));else{const o=r.match(new RegExp(`{{{/${A}}}}`));if(\"production\"!==process.env.NODE_ENV&&!o)throw new Error(`Closing token missing for interpolated element \"${A}\".`);u=o.index+o[0].length,n.push(s.createElement(this.replaceTokens(r.slice(e.length,o.index),t),c))}r=r.slice(u)}return r.length>0&&n.push(r),0===n.length?\"\":1===n.length&&\"string\"==typeof n[0]?n[0]:n}};function kn(e){var n;const{attributes:r,className:o,containerTagName:A,content:i,emptyContent:a,parsedContent:l,tagName:s,noWrap:c}=e,u=null!==(n=A??s)&&void 0!==n?n:\"span\",d=\"fragment\"===u||c;let p;if(l)p=l;else{const t=new Pn(i??\"\",e).parse();t.length>0&&(p=t)}return p||(p=a),d?t.createElement(t.Fragment,null,p):t.createElement(dn,{attributes:r,className:o,tagName:u},p)}function Dn(e){const{attributes:n,className:r,content:o=\"\",disableFilters:A=!1,disableMatchers:i=!1,emptyContent:a=null,filters:l=[],matchers:s=[],onAfterParse:c=null,onBeforeParse:u=null,tagName:d=\"span\",noWrap:p=!1,...f}=e,h=i?[]:s,g=A?[]:l,m=u?[u]:[],v=c?[c]:[];h.forEach(e=>{e.onBeforeParse&&m.push(e.onBeforeParse.bind(e)),e.onAfterParse&&v.push(e.onAfterParse.bind(e))});const b=m.reduce((t,n)=>{const r=n(t,e);if(\"production\"!==process.env.NODE_ENV&&\"string\"!=typeof r)throw new TypeError(\"Interweave `onBeforeParse` must return a valid HTML string.\");return r},o??\"\"),w=new Pn(b,f,h,g),y=v.reduce((t,n)=>{const r=n(t,e);if(\"production\"!==process.env.NODE_ENV&&!Array.isArray(r))throw new TypeError(\"Interweave `onAfterParse` must return an array of strings and React elements.\");return r},w.parse());return t.createElement(kn,{attributes:n,className:r,containerTagName:e.containerTagName,emptyContent:a,noWrap:p,parsedContent:0===y.length?void 0:y,tagName:d})}const Cn=({children:e})=>h(\"div\",{style:{whiteSpace:\"normal\"},children:h(Dn,{content:\"string\"==typeof e?e:\"\"})}),Sn={autoConfig:!0},In=(e,t,n)=>{var r;if(!e.detail.currPath)return!1;const o=t[e.detail.currPath];return!!o&&((null==(r=o.renderHtml)?void 0:r.map(e=>e.toUpperCase()).includes(n))??!1)},Tn=e=>{const t=[];let n=\"\",r=!1;for(let o=0;o<e.length;o++){const A=e[o];\"<\"===A?r?(t.push(n),n=A):(r=!0,n=A):\">\"===A?(n+=A,t.push(n),n=\"\",r=!1):r?n+=A:t.push(A)}return\"\"!==n&&t.push(n),t},Qn=e=>{const{getFlow:t}=Jt(),{messages:n,replaceMessages:r}=Zt(),{settings:o}=en(),{hasChatHistoryLoaded:A}=nn(),i={...e,...Sn},a=i.htmlComponent?i.htmlComponent:Cn;l(()=>{var e,t;if(A){const A=[...n];for(let n=0;n<A.length&&n<((null==(e=o.chatHistory)?void 0:e.maxEntries)??30);n++){const e=A[n];null!=(t=e.tags)&&t.includes(\"rcb-html-renderer-plugin:parsed\")&&(e.contentWrapper=a)}r(A)}},[A]);const s=async e=>{var n;const r=null==(n=e.data.message)?void 0:n.sender.toUpperCase();\"string\"==typeof e.data.message.content&&In(e,t(),r)&&(\"rcb-start-simulate-stream-message\"===e.type&&(e.data.simulateStreamChunker=Tn),e.data.message.contentWrapper=a,e.data.message.tags||(e.data.message.tags=[]),e.data.message.tags.push(\"rcb-html-renderer-plugin:parsed\"))};$t(X.PRE_INJECT_MESSAGE,s),$t(X.CHUNK_STREAM_MESSAGE,s),$t(X.START_STREAM_MESSAGE,s),$t(X.START_SIMULATE_STREAM_MESSAGE,s),$t(X.START_SPEAK_AUDIO,async e=>{In(e,t(),\"BOT\")&&(e.data.textToRead=(e=>typeof window.DOMParser<\"u\"?(new DOMParser).parseFromString(e,\"text/html\").body.textContent||\"\":e.replace(/<\\/?[^>]+(>|$)/g,\"\"))(e.data.textToRead))});const c={name:\"@rcb-plugins/html-renderer\"};return null!=i&&i.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0,rcbStartSpeakAudio:!0}}),c};const Mn=/^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,On=/^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,Ln={};function Nn(e,t){return(Ln.jsx?On:Mn).test(e)}const Hn=/[ \\t\\n\\f\\r]/g;function Rn(e){return\"\"===e.replace(Hn,\"\")}class zn{constructor(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}}function jn(e,t){const n={},r={};let o=-1;for(;++o<e.length;)Object.assign(n,e[o].property),Object.assign(r,e[o].normal);return new zn(n,r,t)}function Fn(e){return e.toLowerCase()}zn.prototype.property={},zn.prototype.normal={},zn.prototype.space=null;class Un{constructor(e,t){this.property=e,this.attribute=t}}Un.prototype.space=null,Un.prototype.boolean=!1,Un.prototype.booleanish=!1,Un.prototype.overloadedBoolean=!1,Un.prototype.number=!1,Un.prototype.commaSeparated=!1,Un.prototype.spaceSeparated=!1,Un.prototype.commaOrSpaceSeparated=!1,Un.prototype.mustUseProperty=!1,Un.prototype.defined=!1;let qn=0;const _n=Jn(),Yn=Jn(),Gn=Jn(),Wn=Jn(),Vn=Jn(),Xn=Jn(),Kn=Jn();function Jn(){return 2**++qn}const Zn=Object.freeze(Object.defineProperty({__proto__:null,boolean:_n,booleanish:Yn,commaOrSpaceSeparated:Kn,commaSeparated:Xn,number:Wn,overloadedBoolean:Gn,spaceSeparated:Vn},Symbol.toStringTag,{value:\"Module\"})),$n=Object.keys(Zn);class er extends Un{constructor(e,t,n,r){let o=-1;if(super(e,t),tr(this,\"space\",r),\"number\"==typeof n)for(;++o<$n.length;){const e=$n[o];tr(this,$n[o],(n&Zn[e])===Zn[e])}}}function tr(e,t,n){n&&(e[t]=n)}er.prototype.defined=!0;const nr={}.hasOwnProperty;function rr(e){const t={},n={};let r;for(r in e.properties)if(nr.call(e.properties,r)){const o=e.properties[r],A=new er(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(A.mustUseProperty=!0),t[r]=A,n[Fn(r)]=r,n[Fn(A.attribute)]=r}return new zn(t,n,e.space)}const or=rr({space:\"xlink\",transform:(e,t)=>\"xlink:\"+t.slice(5).toLowerCase(),properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}}),Ar=rr({space:\"xml\",transform:(e,t)=>\"xml:\"+t.slice(3).toLowerCase(),properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function ir(e,t){return t in e?e[t]:t}function ar(e,t){return ir(e,t.toLowerCase())}const lr=rr({space:\"xmlns\",attributes:{xmlnsxlink:\"xmlns:xlink\"},transform:ar,properties:{xmlns:null,xmlnsXLink:null}}),sr=rr({transform:(e,t)=>\"role\"===t?t:\"aria-\"+t.slice(4).toLowerCase(),properties:{ariaActiveDescendant:null,ariaAtomic:Yn,ariaAutoComplete:null,ariaBusy:Yn,ariaChecked:Yn,ariaColCount:Wn,ariaColIndex:Wn,ariaColSpan:Wn,ariaControls:Vn,ariaCurrent:null,ariaDescribedBy:Vn,ariaDetails:null,ariaDisabled:Yn,ariaDropEffect:Vn,ariaErrorMessage:null,ariaExpanded:Yn,ariaFlowTo:Vn,ariaGrabbed:Yn,ariaHasPopup:null,ariaHidden:Yn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Vn,ariaLevel:Wn,ariaLive:null,ariaModal:Yn,ariaMultiLine:Yn,ariaMultiSelectable:Yn,ariaOrientation:null,ariaOwns:Vn,ariaPlaceholder:null,ariaPosInSet:Wn,ariaPressed:Yn,ariaReadOnly:Yn,ariaRelevant:null,ariaRequired:Yn,ariaRoleDescription:Vn,ariaRowCount:Wn,ariaRowIndex:Wn,ariaRowSpan:Wn,ariaSelected:Yn,ariaSetSize:Wn,ariaSort:null,ariaValueMax:Wn,ariaValueMin:Wn,ariaValueNow:Wn,ariaValueText:null,role:null}}),cr=rr({space:\"html\",attributes:{acceptcharset:\"accept-charset\",classname:\"class\",htmlfor:\"for\",httpequiv:\"http-equiv\"},transform:ar,mustUseProperty:[\"checked\",\"multiple\",\"muted\",\"selected\"],properties:{abbr:null,accept:Xn,acceptCharset:Vn,accessKey:Vn,action:null,allow:null,allowFullScreen:_n,allowPaymentRequest:_n,allowUserMedia:_n,alt:null,as:null,async:_n,autoCapitalize:null,autoComplete:Vn,autoFocus:_n,autoPlay:_n,blocking:Vn,capture:null,charSet:null,checked:_n,cite:null,className:Vn,cols:Wn,colSpan:null,content:null,contentEditable:Yn,controls:_n,controlsList:Vn,coords:Wn|Xn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:_n,defer:_n,dir:null,dirName:null,disabled:_n,download:Gn,draggable:Yn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:_n,formTarget:null,headers:Vn,height:Wn,hidden:_n,high:Wn,href:null,hrefLang:null,htmlFor:Vn,httpEquiv:Vn,id:null,imageSizes:null,imageSrcSet:null,inert:_n,inputMode:null,integrity:null,is:null,isMap:_n,itemId:null,itemProp:Vn,itemRef:Vn,itemScope:_n,itemType:Vn,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:_n,low:Wn,manifest:null,max:null,maxLength:Wn,media:null,method:null,min:null,minLength:Wn,multiple:_n,muted:_n,name:null,nonce:null,noModule:_n,noValidate:_n,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:_n,optimum:Wn,pattern:null,ping:Vn,placeholder:null,playsInline:_n,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:_n,referrerPolicy:null,rel:Vn,required:_n,reversed:_n,rows:Wn,rowSpan:Wn,sandbox:Vn,scope:null,scoped:_n,seamless:_n,selected:_n,shadowRootClonable:_n,shadowRootDelegatesFocus:_n,shadowRootMode:null,shape:null,size:Wn,sizes:null,slot:null,span:Wn,spellCheck:Yn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Wn,step:null,style:null,tabIndex:Wn,target:null,title:null,translate:null,type:null,typeMustMatch:_n,useMap:null,value:Yn,width:Wn,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Vn,axis:null,background:null,bgColor:null,border:Wn,borderColor:null,bottomMargin:Wn,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:_n,declare:_n,event:null,face:null,frame:null,frameBorder:null,hSpace:Wn,leftMargin:Wn,link:null,longDesc:null,lowSrc:null,marginHeight:Wn,marginWidth:Wn,noResize:_n,noHref:_n,noShade:_n,noWrap:_n,object:null,profile:null,prompt:null,rev:null,rightMargin:Wn,rules:null,scheme:null,scrolling:Yn,standby:null,summary:null,text:null,topMargin:Wn,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Wn,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:_n,disableRemotePlayback:_n,prefix:null,property:null,results:Wn,security:null,unselectable:null}}),ur=rr({space:\"svg\",attributes:{accentHeight:\"accent-height\",alignmentBaseline:\"alignment-baseline\",arabicForm:\"arabic-form\",baselineShift:\"baseline-shift\",capHeight:\"cap-height\",className:\"class\",clipPath:\"clip-path\",clipRule:\"clip-rule\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",crossOrigin:\"crossorigin\",dataType:\"datatype\",dominantBaseline:\"dominant-baseline\",enableBackground:\"enable-background\",fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",hrefLang:\"hreflang\",horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",horizOriginY:\"horiz-origin-y\",imageRendering:\"image-rendering\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",navDown:\"nav-down\",navDownLeft:\"nav-down-left\",navDownRight:\"nav-down-right\",navLeft:\"nav-left\",navNext:\"nav-next\",navPrev:\"nav-prev\",navRight:\"nav-right\",navUp:\"nav-up\",navUpLeft:\"nav-up-left\",navUpRight:\"nav-up-right\",onAbort:\"onabort\",onActivate:\"onactivate\",onAfterPrint:\"onafterprint\",onBeforePrint:\"onbeforeprint\",onBegin:\"onbegin\",onCancel:\"oncancel\",onCanPlay:\"oncanplay\",onCanPlayThrough:\"oncanplaythrough\",onChange:\"onchange\",onClick:\"onclick\",onClose:\"onclose\",onCopy:\"oncopy\",onCueChange:\"oncuechange\",onCut:\"oncut\",onDblClick:\"ondblclick\",onDrag:\"ondrag\",onDragEnd:\"ondragend\",onDragEnter:\"ondragenter\",onDragExit:\"ondragexit\",onDragLeave:\"ondragleave\",onDragOver:\"ondragover\",onDragStart:\"ondragstart\",onDrop:\"ondrop\",onDurationChange:\"ondurationchange\",onEmptied:\"onemptied\",onEnd:\"onend\",onEnded:\"onended\",onError:\"onerror\",onFocus:\"onfocus\",onFocusIn:\"onfocusin\",onFocusOut:\"onfocusout\",onHashChange:\"onhashchange\",onInput:\"oninput\",onInvalid:\"oninvalid\",onKeyDown:\"onkeydown\",onKeyPress:\"onkeypress\",onKeyUp:\"onkeyup\",onLoad:\"onload\",onLoadedData:\"onloadeddata\",onLoadedMetadata:\"onloadedmetadata\",onLoadStart:\"onloadstart\",onMessage:\"onmessage\",onMouseDown:\"onmousedown\",onMouseEnter:\"onmouseenter\",onMouseLeave:\"onmouseleave\",onMouseMove:\"onmousemove\",onMouseOut:\"onmouseout\",onMouseOver:\"onmouseover\",onMouseUp:\"onmouseup\",onMouseWheel:\"onmousewheel\",onOffline:\"onoffline\",onOnline:\"ononline\",onPageHide:\"onpagehide\",onPageShow:\"onpageshow\",onPaste:\"onpaste\",onPause:\"onpause\",onPlay:\"onplay\",onPlaying:\"onplaying\",onPopState:\"onpopstate\",onProgress:\"onprogress\",onRateChange:\"onratechange\",onRepeat:\"onrepeat\",onReset:\"onreset\",onResize:\"onresize\",onScroll:\"onscroll\",onSeeked:\"onseeked\",onSeeking:\"onseeking\",onSelect:\"onselect\",onShow:\"onshow\",onStalled:\"onstalled\",onStorage:\"onstorage\",onSubmit:\"onsubmit\",onSuspend:\"onsuspend\",onTimeUpdate:\"ontimeupdate\",onToggle:\"ontoggle\",onUnload:\"onunload\",onVolumeChange:\"onvolumechange\",onWaiting:\"onwaiting\",onZoom:\"onzoom\",overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pointerEvents:\"pointer-events\",referrerPolicy:\"referrerpolicy\",renderingIntent:\"rendering-intent\",shapeRendering:\"shape-rendering\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",strokeDashArray:\"stroke-dasharray\",strokeDashOffset:\"stroke-dashoffset\",strokeLineCap:\"stroke-linecap\",strokeLineJoin:\"stroke-linejoin\",strokeMiterLimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",tabIndex:\"tabindex\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",transformOrigin:\"transform-origin\",typeOf:\"typeof\",underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",vectorEffect:\"vector-effect\",vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",xHeight:\"x-height\",playbackOrder:\"playbackorder\",timelineBegin:\"timelinebegin\"},transform:ir,properties:{about:Kn,accentHeight:Wn,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Wn,amplitude:Wn,arabicForm:null,ascent:Wn,attributeName:null,attributeType:null,azimuth:Wn,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Wn,by:null,calcMode:null,capHeight:Wn,className:Vn,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Wn,diffuseConstant:Wn,direction:null,display:null,dur:null,divisor:Wn,dominantBaseline:null,download:_n,dx:null,dy:null,edgeMode:null,editable:null,elevation:Wn,enableBackground:null,end:null,event:null,exponent:Wn,externalResourcesRequired:null,fill:null,fillOpacity:Wn,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Xn,g2:Xn,glyphName:Xn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Wn,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Wn,horizOriginX:Wn,horizOriginY:Wn,id:null,ideographic:Wn,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Wn,k:Wn,k1:Wn,k2:Wn,k3:Wn,k4:Wn,kernelMatrix:Kn,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Wn,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Wn,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Wn,overlineThickness:Wn,paintOrder:null,panose1:null,path:null,pathLength:Wn,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Vn,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Wn,pointsAtY:Wn,pointsAtZ:Wn,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Kn,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Kn,rev:Kn,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Kn,requiredFeatures:Kn,requiredFonts:Kn,requiredFormats:Kn,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Wn,specularExponent:Wn,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Wn,strikethroughThickness:Wn,string:null,stroke:null,strokeDashArray:Kn,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Wn,strokeOpacity:Wn,strokeWidth:null,style:null,surfaceScale:Wn,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Kn,tabIndex:Wn,tableValues:null,target:null,targetX:Wn,targetY:Wn,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Kn,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Wn,underlineThickness:Wn,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Wn,values:null,vAlphabetic:Wn,vMathematical:Wn,vectorEffect:null,vHanging:Wn,vIdeographic:Wn,version:null,vertAdvY:Wn,vertOriginX:Wn,vertOriginY:Wn,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Wn,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}}),dr=/^data[-\\w.:]+$/i,pr=/-[a-z]/g,fr=/[A-Z]/g;function hr(e){return\"-\"+e.toLowerCase()}function gr(e){return e.charAt(1).toUpperCase()}const mr={classId:\"classID\",dataType:\"datatype\",itemId:\"itemID\",strokeDashArray:\"strokeDasharray\",strokeDashOffset:\"strokeDashoffset\",strokeLineCap:\"strokeLinecap\",strokeLineJoin:\"strokeLinejoin\",strokeMiterLimit:\"strokeMiterlimit\",typeOf:\"typeof\",xLinkActuate:\"xlinkActuate\",xLinkArcRole:\"xlinkArcrole\",xLinkHref:\"xlinkHref\",xLinkRole:\"xlinkRole\",xLinkShow:\"xlinkShow\",xLinkTitle:\"xlinkTitle\",xLinkType:\"xlinkType\",xmlnsXLink:\"xmlnsXlink\"},vr=jn([Ar,or,lr,sr,cr],\"html\"),br=jn([Ar,or,lr,sr,ur],\"svg\");function wr(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var yr,xr,Er,Br={};var Pr=function(){if(Er)return Br;Er=1;var e=Br&&Br.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Br,\"__esModule\",{value:!0}),Br.default=function(e,n){var r=null;if(!e||\"string\"!=typeof e)return r;var o=(0,t.default)(e),A=\"function\"==typeof n;return o.forEach(function(e){if(\"declaration\"===e.type){var t=e.property,o=e.value;A?n(t,o,e):o&&((r=r||{})[t]=o)}}),r};var t=e(function(){if(xr)return yr;xr=1;var e=/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g,t=/\\n/g,n=/^\\s*/,r=/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/,o=/^:\\s*/,A=/^((?:'(?:\\\\'|.)*?'|\"(?:\\\\\"|.)*?\"|\\([^)]*?\\)|[^};])+)/,i=/^[;\\s]*/,a=/^\\s+|\\s+$/g,l=\"\";function s(e){return e?e.replace(a,l):l}return yr=function(a,c){if(\"string\"!=typeof a)throw new TypeError(\"First argument must be a string\");if(!a)return[];c=c||{};var u=1,d=1;function p(e){var n=e.match(t);n&&(u+=n.length);var r=e.lastIndexOf(\"\\n\");d=~r?e.length-r:d+e.length}function f(){var e={line:u,column:d};return function(t){return t.position=new h(e),v(),t}}function h(e){this.start=e,this.end={line:u,column:d},this.source=c.source}function g(e){var t=new Error(c.source+\":\"+u+\":\"+d+\": \"+e);if(t.reason=e,t.filename=c.source,t.line=u,t.column=d,t.source=a,!c.silent)throw t}function m(e){var t=e.exec(a);if(t){var n=t[0];return p(n),a=a.slice(n.length),t}}function v(){m(n)}function b(e){var t;for(e=e||[];t=w();)!1!==t&&e.push(t);return e}function w(){var e=f();if(\"/\"==a.charAt(0)&&\"*\"==a.charAt(1)){for(var t=2;l!=a.charAt(t)&&(\"*\"!=a.charAt(t)||\"/\"!=a.charAt(t+1));)++t;if(t+=2,l===a.charAt(t-1))return g(\"End of comment missing\");var n=a.slice(2,t-2);return d+=2,p(n),a=a.slice(t),d+=2,e({type:\"comment\",comment:n})}}function y(){var t=f(),n=m(r);if(n){if(w(),!m(o))return g(\"property missing ':'\");var a=m(A),c=t({type:\"declaration\",property:s(n[0].replace(e,l)),value:a?s(a[0].replace(e,l)):l});return m(i),c}}return h.prototype.content=a,v(),function(){var e,t=[];for(b(t);e=y();)!1!==e&&(t.push(e),b(t));return t}()},yr}());return Br}();const kr=wr(Pr),Dr=kr.default||kr,Cr=Ir(\"end\"),Sr=Ir(\"start\");function Ir(e){return function(t){const n=t&&t.position&&t.position[e]||{};if(\"number\"==typeof n.line&&n.line>0&&\"number\"==typeof n.column&&n.column>0)return{line:n.line,column:n.column,offset:\"number\"==typeof n.offset&&n.offset>-1?n.offset:void 0}}}function Tr(e){return e&&\"object\"==typeof e?\"position\"in e||\"type\"in e?Mr(e.position):\"start\"in e||\"end\"in e?Mr(e):\"line\"in e||\"column\"in e?Qr(e):\"\":\"\"}function Qr(e){return Or(e&&e.line)+\":\"+Or(e&&e.column)}function Mr(e){return Qr(e&&e.start)+\"-\"+Qr(e&&e.end)}function Or(e){return e&&\"number\"==typeof e?e:1}class Lr extends Error{constructor(e,t,n){super(),\"string\"==typeof t&&(n=t,t=void 0);let r=\"\",o={},A=!1;if(t&&(o=\"line\"in t&&\"column\"in t||\"start\"in t&&\"end\"in t?{place:t}:\"type\"in t?{ancestors:[t],place:t.position}:{...t}),\"string\"==typeof e?r=e:!o.cause&&e&&(A=!0,r=e.message,o.cause=e),!o.ruleId&&!o.source&&\"string\"==typeof n){const e=n.indexOf(\":\");-1===e?o.ruleId=n:(o.source=n.slice(0,e),o.ruleId=n.slice(e+1))}if(!o.place&&o.ancestors&&o.ancestors){const e=o.ancestors[o.ancestors.length-1];e&&(o.place=e.position)}const i=o.place&&\"start\"in o.place?o.place.start:o.place;this.ancestors=o.ancestors||void 0,this.cause=o.cause||void 0,this.column=i?i.column:void 0,this.fatal=void 0,this.file,this.message=r,this.line=i?i.line:void 0,this.name=Tr(o.place)||\"1:1\",this.place=o.place||void 0,this.reason=this.message,this.ruleId=o.ruleId||void 0,this.source=o.source||void 0,this.stack=A&&o.cause&&\"string\"==typeof o.cause.stack?o.cause.stack:\"\",this.actual,this.expected,this.note,this.url}}Lr.prototype.file=\"\",Lr.prototype.name=\"\",Lr.prototype.reason=\"\",Lr.prototype.message=\"\",Lr.prototype.stack=\"\",Lr.prototype.column=void 0,Lr.prototype.line=void 0,Lr.prototype.ancestors=void 0,Lr.prototype.cause=void 0,Lr.prototype.fatal=void 0,Lr.prototype.place=void 0,Lr.prototype.ruleId=void 0,Lr.prototype.source=void 0;const Nr={}.hasOwnProperty,Hr=new Map,Rr=/[A-Z]/g,zr=/-([a-z])/g,jr=new Set([\"table\",\"tbody\",\"thead\",\"tfoot\",\"tr\"]),Fr=new Set([\"td\",\"th\"]),Ur=\"https://github.com/syntax-tree/hast-util-to-jsx-runtime\";function qr(e,t){if(!t||void 0===t.Fragment)throw new TypeError(\"Expected `Fragment` in options\");const n=t.filePath||void 0;let r;if(t.development){if(\"function\"!=typeof t.jsxDEV)throw new TypeError(\"Expected `jsxDEV` in options when `development: true`\");r=function(e,t){return n;function n(n,r,o,A){const i=Array.isArray(o.children),a=Sr(n);return t(r,o,A,i,{columnNumber:a?a.column-1:void 0,fileName:e,lineNumber:a?a.line:void 0},void 0)}}(n,t.jsxDEV)}else{if(\"function\"!=typeof t.jsx)throw new TypeError(\"Expected `jsx` in production options\");if(\"function\"!=typeof t.jsxs)throw new TypeError(\"Expected `jsxs` in production options\");r=function(e,t,n){return r;function r(e,r,o,A){const i=Array.isArray(o.children)?n:t;return A?i(r,o,A):i(r,o)}}(0,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||\"react\",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:!1!==t.passKeys,passNode:t.passNode||!1,schema:\"svg\"===t.space?br:vr,stylePropertyNameCase:t.stylePropertyNameCase||\"dom\",tableCellAlignToStyle:!1!==t.tableCellAlignToStyle},A=_r(o,e,void 0);return A&&\"string\"!=typeof A?A:o.create(e,o.Fragment,{children:A||void 0},void 0)}function _r(e,t,n){return\"element\"===t.type?function(e,t,n){const r=e.schema;let o=r;\"svg\"===t.tagName.toLowerCase()&&\"html\"===r.space&&(o=br,e.schema=o),e.ancestors.push(t);const A=Xr(e,t.tagName,!1),i=function(e,t){const n={};let r,o;for(o in t.properties)if(\"children\"!==o&&Nr.call(t.properties,o)){const A=Vr(e,o,t.properties[o]);if(A){const[o,i]=A;e.tableCellAlignToStyle&&\"align\"===o&&\"string\"==typeof i&&Fr.has(t.tagName)?r=i:n[o]=i}}if(r){(n.style||(n.style={}))[\"css\"===e.stylePropertyNameCase?\"text-align\":\"textAlign\"]=r}return n}(e,t);let a=Wr(e,t);return jr.has(t.tagName)&&(a=a.filter(function(e){return\"string\"!=typeof e||!function(e){return\"object\"==typeof e?\"text\"===e.type&&Rn(e.value):Rn(e)}(e)})),Yr(e,i,A,t),Gr(i,a),e.ancestors.pop(),e.schema=r,e.create(t,A,i,n)}(e,t,n):\"mdxFlowExpression\"===t.type||\"mdxTextExpression\"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater){const n=t.data.estree.body[0];return n.type,e.evaluater.evaluateExpression(n.expression)}Kr(e,t.position)}(e,t):\"mdxJsxFlowElement\"===t.type||\"mdxJsxTextElement\"===t.type?function(e,t,n){const r=e.schema;let o=r;\"svg\"===t.name&&\"html\"===r.space&&(o=br,e.schema=o),e.ancestors.push(t);const A=null===t.name?e.Fragment:Xr(e,t.name,!0),i=function(e,t){const n={};for(const r of t.attributes)if(\"mdxJsxExpressionAttribute\"===r.type)if(r.data&&r.data.estree&&e.evaluater){const t=r.data.estree.body[0];t.type;const o=t.expression;o.type;const A=o.properties[0];A.type,Object.assign(n,e.evaluater.evaluateExpression(A.argument))}else Kr(e,t.position);else{const o=r.name;let A;if(r.value&&\"object\"==typeof r.value)if(r.value.data&&r.value.data.estree&&e.evaluater){const t=r.value.data.estree.body[0];t.type,A=e.evaluater.evaluateExpression(t.expression)}else Kr(e,t.position);else A=null===r.value||r.value;n[o]=A}return n}(e,t),a=Wr(e,t);return Yr(e,i,A,t),Gr(i,a),e.ancestors.pop(),e.schema=r,e.create(t,A,i,n)}(e,t,n):\"mdxjsEsm\"===t.type?function(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Kr(e,t.position)}(e,t):\"root\"===t.type?function(e,t,n){const r={};return Gr(r,Wr(e,t)),e.create(t,e.Fragment,r,n)}(e,t,n):\"text\"===t.type?function(e,t){return t.value}(0,t):void 0}function Yr(e,t,n,r){\"string\"!=typeof n&&n!==e.Fragment&&e.passNode&&(t.node=r)}function Gr(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function Wr(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:Hr;for(;++r<t.children.length;){const A=t.children[r];let i;if(e.passKeys){const e=\"element\"===A.type?A.tagName:\"mdxJsxFlowElement\"===A.type||\"mdxJsxTextElement\"===A.type?A.name:void 0;if(e){const t=o.get(e)||0;i=e+\"-\"+t,o.set(e,t+1)}}const a=_r(e,A,i);void 0!==a&&n.push(a)}return n}function Vr(e,t,n){const r=function(e,t){const n=Fn(t);let r=t,o=Un;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&\"data\"===n.slice(0,4)&&dr.test(t)){if(\"-\"===t.charAt(4)){const e=t.slice(5).replace(pr,gr);r=\"data\"+e.charAt(0).toUpperCase()+e.slice(1)}else{const e=t.slice(4);if(!pr.test(e)){let n=e.replace(fr,hr);\"-\"!==n.charAt(0)&&(n=\"-\"+n),t=\"data\"+n}}o=er}return new o(r,t)}(e.schema,t);if(!(null==n||\"number\"==typeof n&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?function(e){const t={};return(\"\"===e[e.length-1]?[...e,\"\"]:e).join((t.padRight?\" \":\"\")+\",\"+(!1===t.padLeft?\"\":\" \")).trim()}(n):function(e){return e.join(\" \").trim()}(n)),\"style\"===r.property){let t=\"object\"==typeof n?n:function(e,t){const n={};try{Dr(t,r)}catch(t){if(!e.ignoreInvalidStyle){const n=t,r=new Lr(\"Cannot parse `style` attribute\",{ancestors:e.ancestors,cause:n,ruleId:\"style\",source:\"hast-util-to-jsx-runtime\"});throw r.file=e.filePath||void 0,r.url=Ur+\"#cannot-parse-style-attribute\",r}}return n;function r(e,t){let r=e;\"--\"!==r.slice(0,2)&&(\"-ms-\"===r.slice(0,4)&&(r=\"ms-\"+r.slice(4)),r=r.replace(zr,Zr)),n[r]=t}}(e,String(n));return\"css\"===e.stylePropertyNameCase&&(t=function(e){const t={};let n;for(n in e)Nr.call(e,n)&&(t[Jr(n)]=e[n]);return t}(t)),[\"style\",t]}return[\"react\"===e.elementAttributeNameCase&&r.space?mr[r.property]||r.property:r.attribute,n]}}function Xr(e,t,n){let r;if(n)if(t.includes(\".\")){const e=t.split(\".\");let n,o=-1;for(;++o<e.length;){const t=Nn(e[o])?{type:\"Identifier\",name:e[o]}:{type:\"Literal\",value:e[o]};n=n?{type:\"MemberExpression\",object:n,property:t,computed:!(!o||\"Literal\"!==t.type),optional:!1}:t}r=n}else r=Nn(t)&&!/^[a-z]/.test(t)?{type:\"Identifier\",name:t}:{type:\"Literal\",value:t};else r={type:\"Literal\",value:t};if(\"Literal\"===r.type){const t=r.value;return Nr.call(e.components,t)?e.components[t]:t}if(e.evaluater)return e.evaluater.evaluateExpression(r);Kr(e)}function Kr(e,t){const n=new Lr(\"Cannot handle MDX estrees without `createEvaluater`\",{ancestors:e.ancestors,place:t,ruleId:\"mdx-estree\",source:\"hast-util-to-jsx-runtime\"});throw n.file=e.filePath||void 0,n.url=Ur+\"#cannot-handle-mdx-estrees-without-createevaluater\",n}function Jr(e){let t=e.replace(Rr,$r);return\"ms-\"===t.slice(0,3)&&(t=\"-\"+t),t}function Zr(e,t){return t.toUpperCase()}function $r(e){return\"-\"+e.toLowerCase()}const eo={action:[\"form\"],cite:[\"blockquote\",\"del\",\"ins\",\"q\"],data:[\"object\"],formAction:[\"button\",\"input\"],href:[\"a\",\"area\",\"base\",\"link\"],icon:[\"menuitem\"],itemId:null,manifest:[\"html\"],ping:[\"a\",\"area\"],poster:[\"video\"],src:[\"audio\",\"embed\",\"iframe\",\"img\",\"input\",\"script\",\"source\",\"track\",\"video\"]},to={};function no(e,t,n){if(function(e){return!(!e||\"object\"!=typeof e)}(e)){if(\"value\"in e)return\"html\"!==e.type||n?e.value:\"\";if(t&&\"alt\"in e&&e.alt)return e.alt;if(\"children\"in e)return ro(e.children,t,n)}return Array.isArray(e)?ro(e,t,n):\"\"}function ro(e,t,n){const r=[];let o=-1;for(;++o<e.length;)r[o]=no(e[o],t,n);return r.join(\"\")}const oo=document.createElement(\"i\");function Ao(e){const t=\"&\"+e+\";\";oo.innerHTML=t;const n=oo.textContent;return(59!==n.charCodeAt(n.length-1)||\"semi\"===e)&&n!==t&&n}function io(e,t,n,r){const o=e.length;let A,i=0;if(t=t<0?-t>o?0:o+t:t>o?o:t,n=n>0?n:0,r.length<1e4)A=Array.from(r),A.unshift(t,n),e.splice(...A);else for(n&&e.splice(t,n);i<r.length;)A=r.slice(i,i+1e4),A.unshift(t,0),e.splice(...A),i+=1e4,t+=1e4}function ao(e,t){return e.length>0?(io(e,e.length,0,t),e):t}const lo={}.hasOwnProperty;function so(e){const t={};let n=-1;for(;++n<e.length;)co(t,e[n]);return t}function co(e,t){let n;for(n in t){const r=(lo.call(e,n)?e[n]:void 0)||(e[n]={}),o=t[n];let A;if(o)for(A in o){lo.call(r,A)||(r[A]=[]);const e=o[A];uo(r[A],Array.isArray(e)?e:e?[e]:[])}}}function uo(e,t){let n=-1;const r=[];for(;++n<t.length;)(\"after\"===t[n].add?e:r).push(t[n]);io(e,0,0,r)}function po(e,t){const n=Number.parseInt(e,t);return n<9||11===n||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||!(65535&~n)||65534==(65535&n)||n>1114111?\"�\":String.fromCodePoint(n)}function fo(e){return e.replace(/[\\t\\n\\r ]+/g,\" \").replace(/^ | $/g,\"\").toLowerCase().toUpperCase()}const ho=Do(/[A-Za-z]/),go=Do(/[\\dA-Za-z]/),mo=Do(/[#-'*+\\--9=?A-Z^-~]/);function vo(e){return null!==e&&(e<32||127===e)}const bo=Do(/\\d/),wo=Do(/[\\dA-Fa-f]/),yo=Do(/[!-/:-@[-`{-~]/);function xo(e){return null!==e&&e<-2}function Eo(e){return null!==e&&(e<0||32===e)}function Bo(e){return-2===e||-1===e||32===e}const Po=Do(new RegExp(\"\\\\p{P}|\\\\p{S}\",\"u\")),ko=Do(/\\s/);function Do(e){return function(t){return null!==t&&t>-1&&e.test(String.fromCharCode(t))}}function Co(e){const t=[];let n=-1,r=0,o=0;for(;++n<e.length;){const A=e.charCodeAt(n);let i=\"\";if(37===A&&go(e.charCodeAt(n+1))&&go(e.charCodeAt(n+2)))o=2;else if(A<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(A))||(i=String.fromCharCode(A));else if(A>55295&&A<57344){const t=e.charCodeAt(n+1);A<56320&&t>56319&&t<57344?(i=String.fromCharCode(A,t),o=1):i=\"�\"}else i=String.fromCharCode(A);i&&(t.push(e.slice(r,n),encodeURIComponent(i)),r=n+o+1,i=\"\"),o&&(n+=o,o=0)}return t.join(\"\")+e.slice(r)}function So(e,t,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let A=0;return function(r){return Bo(r)?(e.enter(n),i(r)):t(r)};function i(r){return Bo(r)&&A++<o?(e.consume(r),i):(e.exit(n),t(r))}}const Io={tokenize:function(e){const t=e.attempt(this.parser.constructs.contentInitial,function(n){if(null===n)return void e.consume(n);return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),So(e,t,\"linePrefix\")},function(t){return e.enter(\"paragraph\"),r(t)});let n;return t;function r(t){const r=e.enter(\"chunkText\",{contentType:\"text\",previous:n});return n&&(n.next=r),n=r,o(t)}function o(t){return null===t?(e.exit(\"chunkText\"),e.exit(\"paragraph\"),void e.consume(t)):xo(t)?(e.consume(t),e.exit(\"chunkText\"),r):(e.consume(t),o)}}};const To={tokenize:function(e){const t=this,n=[];let r,o,A,i=0;return a;function a(r){if(i<n.length){const o=n[i];return t.containerState=o[1],e.attempt(o[0].continuation,l,s)(r)}return s(r)}function l(e){if(i++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,r&&v();const n=t.events.length;let o,A=n;for(;A--;)if(\"exit\"===t.events[A][0]&&\"chunkFlow\"===t.events[A][1].type){o=t.events[A][1].end;break}m(i);let a=n;for(;a<t.events.length;)t.events[a][1].end={...o},a++;return io(t.events,A+1,0,t.events.slice(n)),t.events.length=a,s(e)}return a(e)}function s(o){if(i===n.length){if(!r)return d(o);if(r.currentConstruct&&r.currentConstruct.concrete)return f(o);t.interrupt=!(!r.currentConstruct||r._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Qo,c,u)(o)}function c(e){return r&&v(),m(i),d(e)}function u(e){return t.parser.lazy[t.now().line]=i!==n.length,A=t.now().offset,f(e)}function d(n){return t.containerState={},e.attempt(Qo,p,f)(n)}function p(e){return i++,n.push([t.currentConstruct,t.containerState]),d(e)}function f(n){return null===n?(r&&v(),m(0),void e.consume(n)):(r=r||t.parser.flow(t.now()),e.enter(\"chunkFlow\",{_tokenizer:r,contentType:\"flow\",previous:o}),h(n))}function h(n){return null===n?(g(e.exit(\"chunkFlow\"),!0),m(0),void e.consume(n)):xo(n)?(e.consume(n),g(e.exit(\"chunkFlow\")),i=0,t.interrupt=void 0,a):(e.consume(n),h)}function g(e,n){const a=t.sliceStream(e);if(n&&a.push(null),e.previous=o,o&&(o.next=e),o=e,r.defineSkip(e.start),r.write(a),t.parser.lazy[e.start.line]){let e=r.events.length;for(;e--;)if(r.events[e][1].start.offset<A&&(!r.events[e][1].end||r.events[e][1].end.offset>A))return;const n=t.events.length;let o,a,l=n;for(;l--;)if(\"exit\"===t.events[l][0]&&\"chunkFlow\"===t.events[l][1].type){if(o){a=t.events[l][1].end;break}o=!0}for(m(i),e=n;e<t.events.length;)t.events[e][1].end={...a},e++;io(t.events,l+1,0,t.events.slice(n)),t.events.length=e}}function m(r){let o=n.length;for(;o-- >r;){const r=n[o];t.containerState=r[1],r[0].exit.call(t,e)}n.length=r}function v(){r.write([null]),o=void 0,r=void 0,t.containerState._closeFlow=void 0}}},Qo={tokenize:function(e,t,n){return So(e,e.attempt(this.parser.constructs.document,t,n),\"linePrefix\",this.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)}};function Mo(e){return null===e||Eo(e)||ko(e)?1:Po(e)?2:void 0}function Oo(e,t,n){const r=[];let o=-1;for(;++o<e.length;){const A=e[o].resolveAll;A&&!r.includes(A)&&(t=A(t,n),r.push(A))}return t}const Lo={name:\"attention\",resolveAll:function(e,t){let n,r,o,A,i,a,l,s,c=-1;for(;++c<e.length;)if(\"enter\"===e[c][0]&&\"attentionSequence\"===e[c][1].type&&e[c][1]._close)for(n=c;n--;)if(\"exit\"===e[n][0]&&\"attentionSequence\"===e[n][1].type&&e[n][1]._open&&t.sliceSerialize(e[n][1]).charCodeAt(0)===t.sliceSerialize(e[c][1]).charCodeAt(0)){if((e[n][1]._close||e[c][1]._open)&&(e[c][1].end.offset-e[c][1].start.offset)%3&&!((e[n][1].end.offset-e[n][1].start.offset+e[c][1].end.offset-e[c][1].start.offset)%3))continue;a=e[n][1].end.offset-e[n][1].start.offset>1&&e[c][1].end.offset-e[c][1].start.offset>1?2:1;const u={...e[n][1].end},d={...e[c][1].start};No(u,-a),No(d,a),A={type:a>1?\"strongSequence\":\"emphasisSequence\",start:u,end:{...e[n][1].end}},i={type:a>1?\"strongSequence\":\"emphasisSequence\",start:{...e[c][1].start},end:d},o={type:a>1?\"strongText\":\"emphasisText\",start:{...e[n][1].end},end:{...e[c][1].start}},r={type:a>1?\"strong\":\"emphasis\",start:{...A.start},end:{...i.end}},e[n][1].end={...A.start},e[c][1].start={...i.end},l=[],e[n][1].end.offset-e[n][1].start.offset&&(l=ao(l,[[\"enter\",e[n][1],t],[\"exit\",e[n][1],t]])),l=ao(l,[[\"enter\",r,t],[\"enter\",A,t],[\"exit\",A,t],[\"enter\",o,t]]),l=ao(l,Oo(t.parser.constructs.insideSpan.null,e.slice(n+1,c),t)),l=ao(l,[[\"exit\",o,t],[\"enter\",i,t],[\"exit\",i,t],[\"exit\",r,t]]),e[c][1].end.offset-e[c][1].start.offset?(s=2,l=ao(l,[[\"enter\",e[c][1],t],[\"exit\",e[c][1],t]])):s=0,io(e,n-1,c-n+3,l),c=n+l.length-s-2;break}for(c=-1;++c<e.length;)\"attentionSequence\"===e[c][1].type&&(e[c][1].type=\"data\");return e},tokenize:function(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=Mo(r);let A;return function(t){return A=t,e.enter(\"attentionSequence\"),i(t)};function i(a){if(a===A)return e.consume(a),i;const l=e.exit(\"attentionSequence\"),s=Mo(a),c=!s||2===s&&o||n.includes(a),u=!o||2===o&&s||n.includes(r);return l._open=!!(42===A?c:c&&(o||!u)),l._close=!!(42===A?u:u&&(s||!c)),t(a)}}};function No(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const Ho={name:\"autolink\",tokenize:function(e,t,n){let r=0;return function(t){return e.enter(\"autolink\"),e.enter(\"autolinkMarker\"),e.consume(t),e.exit(\"autolinkMarker\"),e.enter(\"autolinkProtocol\"),o};function o(t){return ho(t)?(e.consume(t),A):64===t?n(t):l(t)}function A(e){return 43===e||45===e||46===e||go(e)?(r=1,i(e)):l(e)}function i(t){return 58===t?(e.consume(t),r=0,a):(43===t||45===t||46===t||go(t))&&r++<32?(e.consume(t),i):(r=0,l(t))}function a(r){return 62===r?(e.exit(\"autolinkProtocol\"),e.enter(\"autolinkMarker\"),e.consume(r),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t):null===r||32===r||60===r||vo(r)?n(r):(e.consume(r),a)}function l(t){return 64===t?(e.consume(t),s):mo(t)?(e.consume(t),l):n(t)}function s(e){return go(e)?c(e):n(e)}function c(n){return 46===n?(e.consume(n),r=0,s):62===n?(e.exit(\"autolinkProtocol\").type=\"autolinkEmail\",e.enter(\"autolinkMarker\"),e.consume(n),e.exit(\"autolinkMarker\"),e.exit(\"autolink\"),t):u(n)}function u(t){if((45===t||go(t))&&r++<63){const n=45===t?u:c;return e.consume(t),n}return n(t)}}};const Ro={partial:!0,tokenize:function(e,t,n){return function(t){return Bo(t)?So(e,r,\"linePrefix\")(t):r(t)};function r(e){return null===e||xo(e)?t(e):n(e)}}};const zo={continuation:{tokenize:function(e,t,n){const r=this;return function(t){return Bo(t)?So(e,o,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):o(t)};function o(r){return e.attempt(zo,t,n)(r)}}},exit:function(e){e.exit(\"blockQuote\")},name:\"blockQuote\",tokenize:function(e,t,n){const r=this;return function(t){if(62===t){const n=r.containerState;return n.open||(e.enter(\"blockQuote\",{_container:!0}),n.open=!0),e.enter(\"blockQuotePrefix\"),e.enter(\"blockQuoteMarker\"),e.consume(t),e.exit(\"blockQuoteMarker\"),o}return n(t)};function o(n){return Bo(n)?(e.enter(\"blockQuotePrefixWhitespace\"),e.consume(n),e.exit(\"blockQuotePrefixWhitespace\"),e.exit(\"blockQuotePrefix\"),t):(e.exit(\"blockQuotePrefix\"),t(n))}}};const jo={name:\"characterEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"characterEscape\"),e.enter(\"escapeMarker\"),e.consume(t),e.exit(\"escapeMarker\"),r};function r(r){return yo(r)?(e.enter(\"characterEscapeValue\"),e.consume(r),e.exit(\"characterEscapeValue\"),e.exit(\"characterEscape\"),t):n(r)}}};const Fo={name:\"characterReference\",tokenize:function(e,t,n){const r=this;let o,A,i=0;return function(t){return e.enter(\"characterReference\"),e.enter(\"characterReferenceMarker\"),e.consume(t),e.exit(\"characterReferenceMarker\"),a};function a(t){return 35===t?(e.enter(\"characterReferenceMarkerNumeric\"),e.consume(t),e.exit(\"characterReferenceMarkerNumeric\"),l):(e.enter(\"characterReferenceValue\"),o=31,A=go,s(t))}function l(t){return 88===t||120===t?(e.enter(\"characterReferenceMarkerHexadecimal\"),e.consume(t),e.exit(\"characterReferenceMarkerHexadecimal\"),e.enter(\"characterReferenceValue\"),o=6,A=wo,s):(e.enter(\"characterReferenceValue\"),o=7,A=bo,s(t))}function s(a){if(59===a&&i){const o=e.exit(\"characterReferenceValue\");return A!==go||Ao(r.sliceSerialize(o))?(e.enter(\"characterReferenceMarker\"),e.consume(a),e.exit(\"characterReferenceMarker\"),e.exit(\"characterReference\"),t):n(a)}return A(a)&&i++<o?(e.consume(a),s):n(a)}}};const Uo={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return null===t?n(t):(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o)};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}},qo={concrete:!0,name:\"codeFenced\",tokenize:function(e,t,n){const r=this,o={partial:!0,tokenize:function(e,t,n){let o=0;return i;function i(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),l}function l(t){return e.enter(\"codeFencedFence\"),Bo(t)?So(e,s,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):s(t)}function s(t){return t===A?(e.enter(\"codeFencedFenceSequence\"),c(t)):n(t)}function c(t){return t===A?(o++,e.consume(t),c):o>=a?(e.exit(\"codeFencedFenceSequence\"),Bo(t)?So(e,u,\"whitespace\")(t):u(t)):n(t)}function u(r){return null===r||xo(r)?(e.exit(\"codeFencedFence\"),t(r)):n(r)}}};let A,i=0,a=0;return function(t){return function(t){const n=r.events[r.events.length-1];return i=n&&\"linePrefix\"===n[1].type?n[2].sliceSerialize(n[1],!0).length:0,A=t,e.enter(\"codeFenced\"),e.enter(\"codeFencedFence\"),e.enter(\"codeFencedFenceSequence\"),l(t)}(t)};function l(t){return t===A?(a++,e.consume(t),l):a<3?n(t):(e.exit(\"codeFencedFenceSequence\"),Bo(t)?So(e,s,\"whitespace\")(t):s(t))}function s(n){return null===n||xo(n)?(e.exit(\"codeFencedFence\"),r.interrupt?t(n):e.check(Uo,p,v)(n)):(e.enter(\"codeFencedFenceInfo\"),e.enter(\"chunkString\",{contentType:\"string\"}),c(n))}function c(t){return null===t||xo(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),s(t)):Bo(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceInfo\"),So(e,u,\"whitespace\")(t)):96===t&&t===A?n(t):(e.consume(t),c)}function u(t){return null===t||xo(t)?s(t):(e.enter(\"codeFencedFenceMeta\"),e.enter(\"chunkString\",{contentType:\"string\"}),d(t))}function d(t){return null===t||xo(t)?(e.exit(\"chunkString\"),e.exit(\"codeFencedFenceMeta\"),s(t)):96===t&&t===A?n(t):(e.consume(t),d)}function p(t){return e.attempt(o,v,f)(t)}function f(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),h}function h(t){return i>0&&Bo(t)?So(e,g,\"linePrefix\",i+1)(t):g(t)}function g(t){return null===t||xo(t)?e.check(Uo,p,v)(t):(e.enter(\"codeFlowValue\"),m(t))}function m(t){return null===t||xo(t)?(e.exit(\"codeFlowValue\"),g(t)):(e.consume(t),m)}function v(n){return e.exit(\"codeFenced\"),t(n)}}};const _o={name:\"codeIndented\",tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"codeIndented\"),So(e,o,\"linePrefix\",5)(t)};function o(e){const t=r.events[r.events.length-1];return t&&\"linePrefix\"===t[1].type&&t[2].sliceSerialize(t[1],!0).length>=4?A(e):n(e)}function A(t){return null===t?a(t):xo(t)?e.attempt(Yo,A,a)(t):(e.enter(\"codeFlowValue\"),i(t))}function i(t){return null===t||xo(t)?(e.exit(\"codeFlowValue\"),A(t)):(e.consume(t),i)}function a(n){return e.exit(\"codeIndented\"),t(n)}}},Yo={partial:!0,tokenize:function(e,t,n){const r=this;return o;function o(t){return r.parser.lazy[r.now().line]?n(t):xo(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o):So(e,A,\"linePrefix\",5)(t)}function A(e){const A=r.events[r.events.length-1];return A&&\"linePrefix\"===A[1].type&&A[2].sliceSerialize(A[1],!0).length>=4?t(e):xo(e)?o(e):n(e)}}};const Go={name:\"codeText\",previous:function(e){return 96!==e||\"characterEscape\"===this.events[this.events.length-1][1].type},resolve:function(e){let t,n,r=e.length-4,o=3;if(!(\"lineEnding\"!==e[o][1].type&&\"space\"!==e[o][1].type||\"lineEnding\"!==e[r][1].type&&\"space\"!==e[r][1].type))for(t=o;++t<r;)if(\"codeTextData\"===e[t][1].type){e[o][1].type=\"codeTextPadding\",e[r][1].type=\"codeTextPadding\",o+=2,r-=2;break}for(t=o-1,r++;++t<=r;)void 0===n?t!==r&&\"lineEnding\"!==e[t][1].type&&(n=t):(t===r||\"lineEnding\"===e[t][1].type)&&(e[n][1].type=\"codeTextData\",t!==n+2&&(e[n][1].end=e[t-1][1].end,e.splice(n+2,t-n-2),r-=t-n-2,t=n+2),n=void 0);return e},tokenize:function(e,t,n){let r,o,A=0;return function(t){return e.enter(\"codeText\"),e.enter(\"codeTextSequence\"),i(t)};function i(t){return 96===t?(e.consume(t),A++,i):(e.exit(\"codeTextSequence\"),a(t))}function a(t){return null===t?n(t):32===t?(e.enter(\"space\"),e.consume(t),e.exit(\"space\"),a):96===t?(o=e.enter(\"codeTextSequence\"),r=0,s(t)):xo(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),a):(e.enter(\"codeTextData\"),l(t))}function l(t){return null===t||32===t||96===t||xo(t)?(e.exit(\"codeTextData\"),a(t)):(e.consume(t),l)}function s(n){return 96===n?(e.consume(n),r++,s):r===A?(e.exit(\"codeTextSequence\"),e.exit(\"codeText\"),t(n)):(o.type=\"codeTextData\",l(n))}}};class Wo{constructor(e){this.left=e?[...e]:[],this.right=[]}get(e){if(e<0||e>=this.left.length+this.right.length)throw new RangeError(\"Cannot access index `\"+e+\"` in a splice buffer of size `\"+(this.left.length+this.right.length)+\"`\");return e<this.left.length?this.left[e]:this.right[this.right.length-e+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(e,t){const n=t??Number.POSITIVE_INFINITY;return n<this.left.length?this.left.slice(e,n):e>this.left.length?this.right.slice(this.right.length-n+this.left.length,this.right.length-e+this.left.length).reverse():this.left.slice(e).concat(this.right.slice(this.right.length-n+this.left.length).reverse())}splice(e,t,n){const r=t||0;this.setCursor(Math.trunc(e));const o=this.right.splice(this.right.length-r,Number.POSITIVE_INFINITY);return n&&Vo(this.left,n),o.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(e){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(e)}pushMany(e){this.setCursor(Number.POSITIVE_INFINITY),Vo(this.left,e)}unshift(e){this.setCursor(0),this.right.push(e)}unshiftMany(e){this.setCursor(0),Vo(this.right,e.reverse())}setCursor(e){if(!(e===this.left.length||e>this.left.length&&0===this.right.length||e<0&&0===this.left.length))if(e<this.left.length){const t=this.left.splice(e,Number.POSITIVE_INFINITY);Vo(this.right,t.reverse())}else{const t=this.right.splice(this.left.length+this.right.length-e,Number.POSITIVE_INFINITY);Vo(this.left,t.reverse())}}}function Vo(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function Xo(e){const t={};let n,r,o,A,i,a,l,s=-1;const c=new Wo(e);for(;++s<c.length;){for(;s in t;)s=t[s];if(n=c.get(s),s&&\"chunkFlow\"===n[1].type&&\"listItemPrefix\"===c.get(s-1)[1].type&&(a=n[1]._tokenizer.events,o=0,o<a.length&&\"lineEndingBlank\"===a[o][1].type&&(o+=2),o<a.length&&\"content\"===a[o][1].type))for(;++o<a.length&&\"content\"!==a[o][1].type;)\"chunkText\"===a[o][1].type&&(a[o][1]._isInFirstContentOfListItem=!0,o++);if(\"enter\"===n[0])n[1].contentType&&(Object.assign(t,Ko(c,s)),s=t[s],l=!0);else if(n[1]._container){for(o=s,r=void 0;o--;)if(A=c.get(o),\"lineEnding\"===A[1].type||\"lineEndingBlank\"===A[1].type)\"enter\"===A[0]&&(r&&(c.get(r)[1].type=\"lineEndingBlank\"),A[1].type=\"lineEnding\",r=o);else if(\"linePrefix\"!==A[1].type)break;r&&(n[1].end={...c.get(r)[1].start},i=c.slice(r,s),i.unshift(n),c.splice(r,s-r+1,i))}}return io(e,0,Number.POSITIVE_INFINITY,c.slice(0)),!l}function Ko(e,t){const n=e.get(t)[1],r=e.get(t)[2];let o=t-1;const A=[],i=n._tokenizer||r.parser[n.contentType](n.start),a=i.events,l=[],s={};let c,u,d=-1,p=n,f=0,h=0;const g=[h];for(;p;){for(;e.get(++o)[1]!==p;);A.push(o),p._tokenizer||(c=r.sliceStream(p),p.next||c.push(null),u&&i.defineSkip(p.start),p._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=!0),i.write(c),p._isInFirstContentOfListItem&&(i._gfmTasklistFirstContentOfListItem=void 0)),u=p,p=p.next}for(p=n;++d<a.length;)\"exit\"===a[d][0]&&\"enter\"===a[d-1][0]&&a[d][1].type===a[d-1][1].type&&a[d][1].start.line!==a[d][1].end.line&&(h=d+1,g.push(h),p._tokenizer=void 0,p.previous=void 0,p=p.next);for(i.events=[],p?(p._tokenizer=void 0,p.previous=void 0):g.pop(),d=g.length;d--;){const t=a.slice(g[d],g[d+1]),n=A.pop();l.push([n,n+t.length-1]),e.splice(n,2,t)}for(l.reverse(),d=-1;++d<l.length;)s[f+l[d][0]]=f+l[d][1],f+=l[d][1]-l[d][0]-1;return s}const Jo={resolve:function(e){return Xo(e),e},tokenize:function(e,t){let n;return function(t){return e.enter(\"content\"),n=e.enter(\"chunkContent\",{contentType:\"content\"}),r(t)};function r(t){return null===t?o(t):xo(t)?e.check(Zo,A,o)(t):(e.consume(t),r)}function o(n){return e.exit(\"chunkContent\"),e.exit(\"content\"),t(n)}function A(t){return e.consume(t),e.exit(\"chunkContent\"),n.next=e.enter(\"chunkContent\",{contentType:\"content\",previous:n}),n=n.next,r}}},Zo={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return e.exit(\"chunkContent\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),So(e,o,\"linePrefix\")};function o(o){if(null===o||xo(o))return n(o);const A=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes(\"codeIndented\")&&A&&\"linePrefix\"===A[1].type&&A[2].sliceSerialize(A[1],!0).length>=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}};function $o(e,t,n,r,o,A,i,a,l){const s=l||Number.POSITIVE_INFINITY;let c=0;return function(t){return 60===t?(e.enter(r),e.enter(o),e.enter(A),e.consume(t),e.exit(A),u):null===t||32===t||41===t||vo(t)?n(t):(e.enter(r),e.enter(i),e.enter(a),e.enter(\"chunkString\",{contentType:\"string\"}),f(t))};function u(n){return 62===n?(e.enter(A),e.consume(n),e.exit(A),e.exit(o),e.exit(r),t):(e.enter(a),e.enter(\"chunkString\",{contentType:\"string\"}),d(n))}function d(t){return 62===t?(e.exit(\"chunkString\"),e.exit(a),u(t)):null===t||60===t||xo(t)?n(t):(e.consume(t),92===t?p:d)}function p(t){return 60===t||62===t||92===t?(e.consume(t),d):d(t)}function f(o){return c||null!==o&&41!==o&&!Eo(o)?c<s&&40===o?(e.consume(o),c++,f):41===o?(e.consume(o),c--,f):null===o||32===o||40===o||vo(o)?n(o):(e.consume(o),92===o?h:f):(e.exit(\"chunkString\"),e.exit(a),e.exit(i),e.exit(r),t(o))}function h(t){return 40===t||41===t||92===t?(e.consume(t),f):f(t)}}function eA(e,t,n,r,o,A){const i=this;let a,l=0;return function(t){return e.enter(r),e.enter(o),e.consume(t),e.exit(o),e.enter(A),s};function s(u){return l>999||null===u||91===u||93===u&&!a||94===u&&!l&&\"_hiddenFootnoteSupport\"in i.parser.constructs?n(u):93===u?(e.exit(A),e.enter(o),e.consume(u),e.exit(o),e.exit(r),t):xo(u)?(e.enter(\"lineEnding\"),e.consume(u),e.exit(\"lineEnding\"),s):(e.enter(\"chunkString\",{contentType:\"string\"}),c(u))}function c(t){return null===t||91===t||93===t||xo(t)||l++>999?(e.exit(\"chunkString\"),s(t)):(e.consume(t),a||(a=!Bo(t)),92===t?u:c)}function u(t){return 91===t||92===t||93===t?(e.consume(t),l++,c):c(t)}}function tA(e,t,n,r,o,A){let i;return function(t){return 34===t||39===t||40===t?(e.enter(r),e.enter(o),e.consume(t),e.exit(o),i=40===t?41:t,a):n(t)};function a(n){return n===i?(e.enter(o),e.consume(n),e.exit(o),e.exit(r),t):(e.enter(A),l(n))}function l(t){return t===i?(e.exit(A),a(i)):null===t?n(t):xo(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),So(e,l,\"linePrefix\")):(e.enter(\"chunkString\",{contentType:\"string\"}),s(t))}function s(t){return t===i||null===t||xo(t)?(e.exit(\"chunkString\"),l(t)):(e.consume(t),92===t?c:s)}function c(t){return t===i||92===t?(e.consume(t),s):s(t)}}function nA(e,t){let n;return function r(o){return xo(o)?(e.enter(\"lineEnding\"),e.consume(o),e.exit(\"lineEnding\"),n=!0,r):Bo(o)?So(e,r,n?\"linePrefix\":\"lineSuffix\")(o):t(o)}}const rA={name:\"definition\",tokenize:function(e,t,n){const r=this;let o;return function(t){return e.enter(\"definition\"),function(t){return eA.call(r,e,A,n,\"definitionLabel\",\"definitionLabelMarker\",\"definitionLabelString\")(t)}(t)};function A(t){return o=fo(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),58===t?(e.enter(\"definitionMarker\"),e.consume(t),e.exit(\"definitionMarker\"),i):n(t)}function i(t){return Eo(t)?nA(e,a)(t):a(t)}function a(t){return $o(e,l,n,\"definitionDestination\",\"definitionDestinationLiteral\",\"definitionDestinationLiteralMarker\",\"definitionDestinationRaw\",\"definitionDestinationString\")(t)}function l(t){return e.attempt(oA,s,s)(t)}function s(t){return Bo(t)?So(e,c,\"whitespace\")(t):c(t)}function c(A){return null===A||xo(A)?(e.exit(\"definition\"),r.parser.defined.push(o),t(A)):n(A)}}},oA={partial:!0,tokenize:function(e,t,n){return function(t){return Eo(t)?nA(e,r)(t):n(t)};function r(t){return tA(e,o,n,\"definitionTitle\",\"definitionTitleMarker\",\"definitionTitleString\")(t)}function o(t){return Bo(t)?So(e,A,\"whitespace\")(t):A(t)}function A(e){return null===e||xo(e)?t(e):n(e)}}};const AA={name:\"hardBreakEscape\",tokenize:function(e,t,n){return function(t){return e.enter(\"hardBreakEscape\"),e.consume(t),r};function r(r){return xo(r)?(e.exit(\"hardBreakEscape\"),t(r)):n(r)}}};const iA={name:\"headingAtx\",resolve:function(e,t){let n,r,o=e.length-2,A=3;return\"whitespace\"===e[A][1].type&&(A+=2),o-2>A&&\"whitespace\"===e[o][1].type&&(o-=2),\"atxHeadingSequence\"===e[o][1].type&&(A===o-1||o-4>A&&\"whitespace\"===e[o-2][1].type)&&(o-=A+1===o?2:4),o>A&&(n={type:\"atxHeadingText\",start:e[A][1].start,end:e[o][1].end},r={type:\"chunkText\",start:e[A][1].start,end:e[o][1].end,contentType:\"text\"},io(e,A,o-A+1,[[\"enter\",n,t],[\"enter\",r,t],[\"exit\",r,t],[\"exit\",n,t]])),e},tokenize:function(e,t,n){let r=0;return function(t){return e.enter(\"atxHeading\"),function(t){return e.enter(\"atxHeadingSequence\"),o(t)}(t)};function o(t){return 35===t&&r++<6?(e.consume(t),o):null===t||Eo(t)?(e.exit(\"atxHeadingSequence\"),A(t)):n(t)}function A(n){return 35===n?(e.enter(\"atxHeadingSequence\"),i(n)):null===n||xo(n)?(e.exit(\"atxHeading\"),t(n)):Bo(n)?So(e,A,\"whitespace\")(n):(e.enter(\"atxHeadingText\"),a(n))}function i(t){return 35===t?(e.consume(t),i):(e.exit(\"atxHeadingSequence\"),A(t))}function a(t){return null===t||35===t||Eo(t)?(e.exit(\"atxHeadingText\"),A(t)):(e.consume(t),a)}}};const aA=[\"address\",\"article\",\"aside\",\"base\",\"basefont\",\"blockquote\",\"body\",\"caption\",\"center\",\"col\",\"colgroup\",\"dd\",\"details\",\"dialog\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"frame\",\"frameset\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hr\",\"html\",\"iframe\",\"legend\",\"li\",\"link\",\"main\",\"menu\",\"menuitem\",\"nav\",\"noframes\",\"ol\",\"optgroup\",\"option\",\"p\",\"param\",\"search\",\"section\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"title\",\"tr\",\"track\",\"ul\"],lA=[\"pre\",\"script\",\"style\",\"textarea\"],sA={concrete:!0,name:\"htmlFlow\",resolveTo:function(e){let t=e.length;for(;t--&&(\"enter\"!==e[t][0]||\"htmlFlow\"!==e[t][1].type););return t>1&&\"linePrefix\"===e[t-2][1].type&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e},tokenize:function(e,t,n){const r=this;let o,A,i,a,l;return function(t){return function(t){return e.enter(\"htmlFlow\"),e.enter(\"htmlFlowData\"),e.consume(t),s}(t)};function s(a){return 33===a?(e.consume(a),c):47===a?(e.consume(a),A=!0,p):63===a?(e.consume(a),o=3,r.interrupt?t:O):ho(a)?(e.consume(a),i=String.fromCharCode(a),f):n(a)}function c(A){return 45===A?(e.consume(A),o=2,u):91===A?(e.consume(A),o=5,a=0,d):ho(A)?(e.consume(A),o=4,r.interrupt?t:O):n(A)}function u(o){return 45===o?(e.consume(o),r.interrupt?t:O):n(o)}function d(o){const A=\"CDATA[\";return o===A.charCodeAt(a++)?(e.consume(o),6===a?r.interrupt?t:k:d):n(o)}function p(t){return ho(t)?(e.consume(t),i=String.fromCharCode(t),f):n(t)}function f(a){if(null===a||47===a||62===a||Eo(a)){const l=47===a,s=i.toLowerCase();return l||A||!lA.includes(s)?aA.includes(i.toLowerCase())?(o=6,l?(e.consume(a),h):r.interrupt?t(a):k(a)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(a):A?g(a):m(a)):(o=1,r.interrupt?t(a):k(a))}return 45===a||go(a)?(e.consume(a),i+=String.fromCharCode(a),f):n(a)}function h(o){return 62===o?(e.consume(o),r.interrupt?t:k):n(o)}function g(t){return Bo(t)?(e.consume(t),g):B(t)}function m(t){return 47===t?(e.consume(t),B):58===t||95===t||ho(t)?(e.consume(t),v):Bo(t)?(e.consume(t),m):B(t)}function v(t){return 45===t||46===t||58===t||95===t||go(t)?(e.consume(t),v):b(t)}function b(t){return 61===t?(e.consume(t),w):Bo(t)?(e.consume(t),b):m(t)}function w(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),l=t,y):Bo(t)?(e.consume(t),w):x(t)}function y(t){return t===l?(e.consume(t),l=null,E):null===t||xo(t)?n(t):(e.consume(t),y)}function x(t){return null===t||34===t||39===t||47===t||60===t||61===t||62===t||96===t||Eo(t)?b(t):(e.consume(t),x)}function E(e){return 47===e||62===e||Bo(e)?m(e):n(e)}function B(t){return 62===t?(e.consume(t),P):n(t)}function P(t){return null===t||xo(t)?k(t):Bo(t)?(e.consume(t),P):n(t)}function k(t){return 45===t&&2===o?(e.consume(t),I):60===t&&1===o?(e.consume(t),T):62===t&&4===o?(e.consume(t),L):63===t&&3===o?(e.consume(t),O):93===t&&5===o?(e.consume(t),M):!xo(t)||6!==o&&7!==o?null===t||xo(t)?(e.exit(\"htmlFlowData\"),D(t)):(e.consume(t),k):(e.exit(\"htmlFlowData\"),e.check(cA,N,D)(t))}function D(t){return e.check(uA,C,N)(t)}function C(t){return e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),S}function S(t){return null===t||xo(t)?D(t):(e.enter(\"htmlFlowData\"),k(t))}function I(t){return 45===t?(e.consume(t),O):k(t)}function T(t){return 47===t?(e.consume(t),i=\"\",Q):k(t)}function Q(t){if(62===t){const n=i.toLowerCase();return lA.includes(n)?(e.consume(t),L):k(t)}return ho(t)&&i.length<8?(e.consume(t),i+=String.fromCharCode(t),Q):k(t)}function M(t){return 93===t?(e.consume(t),O):k(t)}function O(t){return 62===t?(e.consume(t),L):45===t&&2===o?(e.consume(t),O):k(t)}function L(t){return null===t||xo(t)?(e.exit(\"htmlFlowData\"),N(t)):(e.consume(t),L)}function N(n){return e.exit(\"htmlFlow\"),t(n)}}},cA={partial:!0,tokenize:function(e,t,n){return function(r){return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),e.attempt(Ro,t,n)}}},uA={partial:!0,tokenize:function(e,t,n){const r=this;return function(t){return xo(t)?(e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),o):n(t)};function o(e){return r.parser.lazy[r.now().line]?n(e):t(e)}}};const dA={name:\"htmlText\",tokenize:function(e,t,n){const r=this;let o,A,i;return function(t){return e.enter(\"htmlText\"),e.enter(\"htmlTextData\"),e.consume(t),a};function a(t){return 33===t?(e.consume(t),l):47===t?(e.consume(t),w):63===t?(e.consume(t),v):ho(t)?(e.consume(t),E):n(t)}function l(t){return 45===t?(e.consume(t),s):91===t?(e.consume(t),A=0,p):ho(t)?(e.consume(t),m):n(t)}function s(t){return 45===t?(e.consume(t),d):n(t)}function c(t){return null===t?n(t):45===t?(e.consume(t),u):xo(t)?(i=c,Q(t)):(e.consume(t),c)}function u(t){return 45===t?(e.consume(t),d):c(t)}function d(e){return 62===e?T(e):45===e?u(e):c(e)}function p(t){const r=\"CDATA[\";return t===r.charCodeAt(A++)?(e.consume(t),6===A?f:p):n(t)}function f(t){return null===t?n(t):93===t?(e.consume(t),h):xo(t)?(i=f,Q(t)):(e.consume(t),f)}function h(t){return 93===t?(e.consume(t),g):f(t)}function g(t){return 62===t?T(t):93===t?(e.consume(t),g):f(t)}function m(t){return null===t||62===t?T(t):xo(t)?(i=m,Q(t)):(e.consume(t),m)}function v(t){return null===t?n(t):63===t?(e.consume(t),b):xo(t)?(i=v,Q(t)):(e.consume(t),v)}function b(e){return 62===e?T(e):v(e)}function w(t){return ho(t)?(e.consume(t),y):n(t)}function y(t){return 45===t||go(t)?(e.consume(t),y):x(t)}function x(t){return xo(t)?(i=x,Q(t)):Bo(t)?(e.consume(t),x):T(t)}function E(t){return 45===t||go(t)?(e.consume(t),E):47===t||62===t||Eo(t)?B(t):n(t)}function B(t){return 47===t?(e.consume(t),T):58===t||95===t||ho(t)?(e.consume(t),P):xo(t)?(i=B,Q(t)):Bo(t)?(e.consume(t),B):T(t)}function P(t){return 45===t||46===t||58===t||95===t||go(t)?(e.consume(t),P):k(t)}function k(t){return 61===t?(e.consume(t),D):xo(t)?(i=k,Q(t)):Bo(t)?(e.consume(t),k):B(t)}function D(t){return null===t||60===t||61===t||62===t||96===t?n(t):34===t||39===t?(e.consume(t),o=t,C):xo(t)?(i=D,Q(t)):Bo(t)?(e.consume(t),D):(e.consume(t),S)}function C(t){return t===o?(e.consume(t),o=void 0,I):null===t?n(t):xo(t)?(i=C,Q(t)):(e.consume(t),C)}function S(t){return null===t||34===t||39===t||60===t||61===t||96===t?n(t):47===t||62===t||Eo(t)?B(t):(e.consume(t),S)}function I(e){return 47===e||62===e||Eo(e)?B(e):n(e)}function T(r){return 62===r?(e.consume(r),e.exit(\"htmlTextData\"),e.exit(\"htmlText\"),t):n(r)}function Q(t){return e.exit(\"htmlTextData\"),e.enter(\"lineEnding\"),e.consume(t),e.exit(\"lineEnding\"),M}function M(t){return Bo(t)?So(e,O,\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(t):O(t)}function O(t){return e.enter(\"htmlTextData\"),i(t)}}};const pA={name:\"labelEnd\",resolveAll:function(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),\"labelImage\"===r.type||\"labelLink\"===r.type||\"labelEnd\"===r.type){const e=\"labelImage\"===r.type?4:2;r.type=\"data\",t+=e}}return e.length!==n.length&&io(e,0,e.length,n),e},resolveTo:function(e,t){let n,r,o,A,i=e.length,a=0;for(;i--;)if(n=e[i][1],r){if(\"link\"===n.type||\"labelLink\"===n.type&&n._inactive)break;\"enter\"===e[i][0]&&\"labelLink\"===n.type&&(n._inactive=!0)}else if(o){if(\"enter\"===e[i][0]&&(\"labelImage\"===n.type||\"labelLink\"===n.type)&&!n._balanced&&(r=i,\"labelLink\"!==n.type)){a=2;break}}else\"labelEnd\"===n.type&&(o=i);const l={type:\"labelLink\"===e[r][1].type?\"link\":\"image\",start:{...e[r][1].start},end:{...e[e.length-1][1].end}},s={type:\"label\",start:{...e[r][1].start},end:{...e[o][1].end}},c={type:\"labelText\",start:{...e[r+a+2][1].end},end:{...e[o-2][1].start}};return A=[[\"enter\",l,t],[\"enter\",s,t]],A=ao(A,e.slice(r+1,r+a+3)),A=ao(A,[[\"enter\",c,t]]),A=ao(A,Oo(t.parser.constructs.insideSpan.null,e.slice(r+a+4,o-3),t)),A=ao(A,[[\"exit\",c,t],e[o-2],e[o-1],[\"exit\",s,t]]),A=ao(A,e.slice(o+1)),A=ao(A,[[\"exit\",l,t]]),io(e,r,e.length,A),e},tokenize:function(e,t,n){const r=this;let o,A,i=r.events.length;for(;i--;)if((\"labelImage\"===r.events[i][1].type||\"labelLink\"===r.events[i][1].type)&&!r.events[i][1]._balanced){o=r.events[i][1];break}return function(t){return o?o._inactive?c(t):(A=r.parser.defined.includes(fo(r.sliceSerialize({start:o.end,end:r.now()}))),e.enter(\"labelEnd\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelEnd\"),a):n(t)};function a(t){return 40===t?e.attempt(fA,s,A?s:c)(t):91===t?e.attempt(hA,s,A?l:c)(t):A?s(t):c(t)}function l(t){return e.attempt(gA,s,c)(t)}function s(e){return t(e)}function c(e){return o._balanced=!0,n(e)}}},fA={tokenize:function(e,t,n){return function(t){return e.enter(\"resource\"),e.enter(\"resourceMarker\"),e.consume(t),e.exit(\"resourceMarker\"),r};function r(t){return Eo(t)?nA(e,o)(t):o(t)}function o(t){return 41===t?s(t):$o(e,A,i,\"resourceDestination\",\"resourceDestinationLiteral\",\"resourceDestinationLiteralMarker\",\"resourceDestinationRaw\",\"resourceDestinationString\",32)(t)}function A(t){return Eo(t)?nA(e,a)(t):s(t)}function i(e){return n(e)}function a(t){return 34===t||39===t||40===t?tA(e,l,n,\"resourceTitle\",\"resourceTitleMarker\",\"resourceTitleString\")(t):s(t)}function l(t){return Eo(t)?nA(e,s)(t):s(t)}function s(r){return 41===r?(e.enter(\"resourceMarker\"),e.consume(r),e.exit(\"resourceMarker\"),e.exit(\"resource\"),t):n(r)}}},hA={tokenize:function(e,t,n){const r=this;return function(t){return eA.call(r,e,o,A,\"reference\",\"referenceMarker\",\"referenceString\")(t)};function o(e){return r.parser.defined.includes(fo(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(e):n(e)}function A(e){return n(e)}}},gA={tokenize:function(e,t,n){return function(t){return e.enter(\"reference\"),e.enter(\"referenceMarker\"),e.consume(t),e.exit(\"referenceMarker\"),r};function r(r){return 93===r?(e.enter(\"referenceMarker\"),e.consume(r),e.exit(\"referenceMarker\"),e.exit(\"reference\"),t):n(r)}}};const mA={name:\"labelStartImage\",resolveAll:pA.resolveAll,tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelImage\"),e.enter(\"labelImageMarker\"),e.consume(t),e.exit(\"labelImageMarker\"),o};function o(t){return 91===t?(e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelImage\"),A):n(t)}function A(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}}};const vA={name:\"labelStartLink\",resolveAll:pA.resolveAll,tokenize:function(e,t,n){const r=this;return function(t){return e.enter(\"labelLink\"),e.enter(\"labelMarker\"),e.consume(t),e.exit(\"labelMarker\"),e.exit(\"labelLink\"),o};function o(e){return 94===e&&\"_hiddenFootnoteSupport\"in r.parser.constructs?n(e):t(e)}}};const bA={name:\"lineEnding\",tokenize:function(e,t){return function(n){return e.enter(\"lineEnding\"),e.consume(n),e.exit(\"lineEnding\"),So(e,t,\"linePrefix\")}}};const wA={name:\"thematicBreak\",tokenize:function(e,t,n){let r,o=0;return function(t){return e.enter(\"thematicBreak\"),function(e){return r=e,A(e)}(t)};function A(A){return A===r?(e.enter(\"thematicBreakSequence\"),i(A)):o>=3&&(null===A||xo(A))?(e.exit(\"thematicBreak\"),t(A)):n(A)}function i(t){return t===r?(e.consume(t),o++,i):(e.exit(\"thematicBreakSequence\"),Bo(t)?So(e,A,\"whitespace\")(t):A(t))}}};const yA={continuation:{tokenize:function(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Ro,function(n){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,So(e,t,\"listItemIndent\",r.containerState.size+1)(n)},function(n){return r.containerState.furtherBlankLines||!Bo(n)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(n)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(EA,t,o)(n))});function o(o){return r.containerState._closeFlow=!0,r.interrupt=void 0,So(e,e.attempt(yA,t,n),\"linePrefix\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:4)(o)}}},exit:function(e){e.exit(this.containerState.type)},name:\"list\",tokenize:function(e,t,n){const r=this,o=r.events[r.events.length-1];let A=o&&\"linePrefix\"===o[1].type?o[2].sliceSerialize(o[1],!0).length:0,i=0;return function(t){const o=r.containerState.type||(42===t||43===t||45===t?\"listUnordered\":\"listOrdered\");if(\"listUnordered\"===o?!r.containerState.marker||t===r.containerState.marker:bo(t)){if(r.containerState.type||(r.containerState.type=o,e.enter(o,{_container:!0})),\"listUnordered\"===o)return e.enter(\"listItemPrefix\"),42===t||45===t?e.check(wA,n,l)(t):l(t);if(!r.interrupt||49===t)return e.enter(\"listItemPrefix\"),e.enter(\"listItemValue\"),a(t)}return n(t)};function a(t){return bo(t)&&++i<10?(e.consume(t),a):(!r.interrupt||i<2)&&(r.containerState.marker?t===r.containerState.marker:41===t||46===t)?(e.exit(\"listItemValue\"),l(t)):n(t)}function l(t){return e.enter(\"listItemMarker\"),e.consume(t),e.exit(\"listItemMarker\"),r.containerState.marker=r.containerState.marker||t,e.check(Ro,r.interrupt?n:s,e.attempt(xA,u,c))}function s(e){return r.containerState.initialBlankLine=!0,A++,u(e)}function c(t){return Bo(t)?(e.enter(\"listItemPrefixWhitespace\"),e.consume(t),e.exit(\"listItemPrefixWhitespace\"),u):n(t)}function u(n){return r.containerState.size=A+r.sliceSerialize(e.exit(\"listItemPrefix\"),!0).length,t(n)}}},xA={partial:!0,tokenize:function(e,t,n){const r=this;return So(e,function(e){const o=r.events[r.events.length-1];return!Bo(e)&&o&&\"listItemPrefixWhitespace\"===o[1].type?t(e):n(e)},\"listItemPrefixWhitespace\",r.parser.constructs.disable.null.includes(\"codeIndented\")?void 0:5)}},EA={partial:!0,tokenize:function(e,t,n){const r=this;return So(e,function(e){const o=r.events[r.events.length-1];return o&&\"listItemIndent\"===o[1].type&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(e):n(e)},\"listItemIndent\",r.containerState.size+1)}};const BA={name:\"setextUnderline\",resolveTo:function(e,t){let n,r,o,A=e.length;for(;A--;)if(\"enter\"===e[A][0]){if(\"content\"===e[A][1].type){n=A;break}\"paragraph\"===e[A][1].type&&(r=A)}else\"content\"===e[A][1].type&&e.splice(A,1),!o&&\"definition\"===e[A][1].type&&(o=A);const i={type:\"setextHeading\",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[r][1].type=\"setextHeadingText\",o?(e.splice(r,0,[\"enter\",i,t]),e.splice(o+1,0,[\"exit\",e[n][1],t]),e[n][1].end={...e[o][1].end}):e[n][1]=i,e.push([\"exit\",i,t]),e},tokenize:function(e,t,n){const r=this;let o;return function(t){let i,a=r.events.length;for(;a--;)if(\"lineEnding\"!==r.events[a][1].type&&\"linePrefix\"!==r.events[a][1].type&&\"content\"!==r.events[a][1].type){i=\"paragraph\"===r.events[a][1].type;break}return r.parser.lazy[r.now().line]||!r.interrupt&&!i?n(t):(e.enter(\"setextHeadingLine\"),o=t,function(t){return e.enter(\"setextHeadingLineSequence\"),A(t)}(t))};function A(t){return t===o?(e.consume(t),A):(e.exit(\"setextHeadingLineSequence\"),Bo(t)?So(e,i,\"lineSuffix\")(t):i(t))}function i(r){return null===r||xo(r)?(e.exit(\"setextHeadingLine\"),t(r)):n(r)}}};const PA={tokenize:function(e){const t=this,n=e.attempt(Ro,function(r){if(null===r)return void e.consume(r);return e.enter(\"lineEndingBlank\"),e.consume(r),e.exit(\"lineEndingBlank\"),t.currentConstruct=void 0,n},e.attempt(this.parser.constructs.flowInitial,r,So(e,e.attempt(this.parser.constructs.flow,r,e.attempt(Jo,r)),\"linePrefix\")));return n;function r(r){if(null!==r)return e.enter(\"lineEnding\"),e.consume(r),e.exit(\"lineEnding\"),t.currentConstruct=void 0,n;e.consume(r)}}};const kA={resolveAll:IA()},DA=SA(\"string\"),CA=SA(\"text\");function SA(e){return{resolveAll:IA(\"text\"===e?TA:void 0),tokenize:function(t){const n=this,r=this.parser.constructs[e],o=t.attempt(r,A,i);return A;function A(e){return l(e)?o(e):i(e)}function i(e){if(null!==e)return t.enter(\"data\"),t.consume(e),a;t.consume(e)}function a(e){return l(e)?(t.exit(\"data\"),o(e)):(t.consume(e),a)}function l(e){if(null===e)return!0;const t=r[e];let o=-1;if(t)for(;++o<t.length;){const e=t[o];if(!e.previous||e.previous.call(n,n.previous))return!0}return!1}}}}function IA(e){return function(t,n){let r,o=-1;for(;++o<=t.length;)void 0===r?t[o]&&\"data\"===t[o][1].type&&(r=o,o++):(!t[o]||\"data\"!==t[o][1].type)&&(o!==r+2&&(t[r][1].end=t[o-1][1].end,t.splice(r+2,o-r-2),o=r+2),r=void 0);return e?e(t,n):t}}function TA(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||\"lineEnding\"===e[n][1].type)&&\"data\"===e[n-1][1].type){const r=e[n-1][1],o=t.sliceStream(r);let A,i=o.length,a=-1,l=0;for(;i--;){const e=o[i];if(\"string\"==typeof e){for(a=e.length;32===e.charCodeAt(a-1);)l++,a--;if(a)break;a=-1}else if(-2===e)A=!0,l++;else if(-1!==e){i++;break}}if(l){const o={type:n===e.length||A||l<2?\"lineSuffix\":\"hardBreakTrailing\",start:{_bufferIndex:i?a:r.start._bufferIndex+a,_index:r.start._index+i,line:r.end.line,column:r.end.column-l,offset:r.end.offset-l},end:{...r.end}};r.end={...o.start},r.start.offset===r.end.offset?Object.assign(r,o):(e.splice(n,0,[\"enter\",o,t],[\"exit\",o,t]),n+=2)}n++}return e}const QA={42:yA,43:yA,45:yA,48:yA,49:yA,50:yA,51:yA,52:yA,53:yA,54:yA,55:yA,56:yA,57:yA,62:zo},MA={91:rA},OA={[-2]:_o,[-1]:_o,32:_o},LA={35:iA,42:wA,45:[BA,wA],60:sA,61:BA,95:wA,96:qo,126:qo},NA={38:Fo,92:jo},HA={[-5]:bA,[-4]:bA,[-3]:bA,33:mA,38:Fo,42:Lo,60:[Ho,dA],91:vA,92:[AA,jo],93:pA,95:Lo,96:Go},RA={null:[Lo,kA]},zA=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:{null:[42,95]},contentInitial:MA,disable:{null:[]},document:QA,flow:LA,flowInitial:OA,insideSpan:RA,string:NA,text:HA},Symbol.toStringTag,{value:\"Module\"}));function jA(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const o={},A=[];let i=[],a=[];const l={attempt:h(function(e,t){g(e,t.from)}),check:h(f),consume:function(e){xo(e)?(r.line++,r.column=1,r.offset+=-3===e?2:1,m()):-1!==e&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===i[r._index].length&&(r._bufferIndex=-1,r._index++)),s.previous=e},enter:function(e,t){const n=t||{};return n.type=e,n.start=d(),s.events.push([\"enter\",n,s]),a.push(n),n},exit:function(e){const t=a.pop();return t.end=d(),s.events.push([\"exit\",t,s]),t},interrupt:h(f,{interrupt:!0})},s={code:null,containerState:{},defineSkip:function(e){o[e.line]=e.column,m()},events:[],now:d,parser:e,previous:null,sliceSerialize:function(e,t){return function(e,t){let n=-1;const r=[];let o;for(;++n<e.length;){const A=e[n];let i;if(\"string\"==typeof A)i=A;else switch(A){case-5:i=\"\\r\";break;case-4:i=\"\\n\";break;case-3:i=\"\\r\\n\";break;case-2:i=t?\" \":\"\\t\";break;case-1:if(!t&&o)continue;i=\" \";break;default:i=String.fromCharCode(A)}o=-2===A,r.push(i)}return r.join(\"\")}(u(e),t)},sliceStream:u,write:function(e){return i=ao(i,e),function(){let e;for(;r._index<i.length;){const t=i[r._index];if(\"string\"==typeof t)for(e=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===e&&r._bufferIndex<t.length;)p(t.charCodeAt(r._bufferIndex));else p(t)}}(),null!==i[i.length-1]?[]:(g(t,0),s.events=Oo(A,s.events,s),s.events)}};let c=t.tokenize.call(s,l);return t.resolveAll&&A.push(t),s;function u(e){return function(e,t){const n=t.start._index,r=t.start._bufferIndex,o=t.end._index,A=t.end._bufferIndex;let i;if(n===o)i=[e[n].slice(r,A)];else{if(i=e.slice(n,o),r>-1){const e=i[0];\"string\"==typeof e?i[0]=e.slice(r):i.shift()}A>0&&i.push(e[o].slice(0,A))}return i}(i,e)}function d(){const{_bufferIndex:e,_index:t,line:n,column:o,offset:A}=r;return{_bufferIndex:e,_index:t,line:n,column:o,offset:A}}function p(e){c=c(e)}function f(e,t){t.restore()}function h(e,t){return function(n,o,A){let i,c,u,p;return Array.isArray(n)?f(n):\"tokenize\"in n?f([n]):function(e){return t;function t(t){const n=null!==t&&e[t],r=null!==t&&e.null;return f([...Array.isArray(n)?n:n?[n]:[],...Array.isArray(r)?r:r?[r]:[]])(t)}}(n);function f(e){return i=e,c=0,0===e.length?A:h(e[c])}function h(e){return function(n){return p=function(){const e=d(),t=s.previous,n=s.currentConstruct,o=s.events.length,A=Array.from(a);return{from:o,restore:i};function i(){r=e,s.previous=t,s.currentConstruct=n,s.events.length=o,a=A,m()}}(),u=e,e.partial||(s.currentConstruct=e),e.name&&s.parser.constructs.disable.null.includes(e.name)?v():e.tokenize.call(t?Object.assign(Object.create(s),t):s,l,g,v)(n)}}function g(t){return e(u,p),o}function v(e){return p.restore(),++c<i.length?h(i[c]):A}}}function g(e,t){e.resolveAll&&!A.includes(e)&&A.push(e),e.resolve&&io(s.events,t,s.events.length-t,e.resolve(s.events.slice(t),s)),e.resolveTo&&(s.events=e.resolveTo(s.events,s))}function m(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}const FA=/[\\0\\t\\n\\r]/g;const UA=/\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;function qA(e,t,n){if(t)return t;if(35===n.charCodeAt(0)){const e=n.charCodeAt(1),t=120===e||88===e;return po(n.slice(t?2:1),t?16:10)}return Ao(n)||e}const _A={}.hasOwnProperty;function YA(e,t,n){return\"string\"!=typeof t&&(n=t,t=void 0),function(e){const t={transforms:[],canContainEols:[\"emphasis\",\"fragment\",\"heading\",\"paragraph\",\"strong\"],enter:{autolink:A(te),autolinkProtocol:P,autolinkEmail:P,atxHeading:A(J),blockQuote:A(G),characterEscape:P,characterReference:P,codeFenced:A(W),codeFencedFenceInfo:i,codeFencedFenceMeta:i,codeIndented:A(W,i),codeText:A(V,i),codeTextData:P,data:P,codeFlowValue:P,definition:A(X),definitionDestinationString:i,definitionLabelString:i,definitionTitleString:i,emphasis:A(K),hardBreakEscape:A(Z),hardBreakTrailing:A(Z),htmlFlow:A($,i),htmlFlowData:P,htmlText:A($,i),htmlTextData:P,image:A(ee),label:i,link:A(te),listItem:A(re),listItemValue:d,listOrdered:A(ne,u),listUnordered:A(ne),paragraph:A(oe),reference:z,referenceString:i,resourceDestinationString:i,resourceTitleString:i,setextHeading:A(J),strong:A(Ae),thematicBreak:A(ae)},exit:{atxHeading:l(),atxHeadingSequence:y,autolink:l(),autolinkEmail:Y,autolinkProtocol:_,blockQuote:l(),characterEscapeValue:k,characterReferenceMarkerHexadecimal:F,characterReferenceMarkerNumeric:F,characterReferenceValue:U,characterReference:q,codeFenced:l(g),codeFencedFence:h,codeFencedFenceInfo:p,codeFencedFenceMeta:f,codeFlowValue:k,codeIndented:l(m),codeText:l(T),codeTextData:k,data:k,definition:l(),definitionDestinationString:w,definitionLabelString:v,definitionTitleString:b,emphasis:l(),hardBreakEscape:l(C),hardBreakTrailing:l(C),htmlFlow:l(S),htmlFlowData:k,htmlText:l(I),htmlTextData:k,image:l(M),label:L,labelText:O,lineEnding:D,link:l(Q),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:j,resourceDestinationString:N,resourceTitleString:H,resource:R,setextHeading:l(B),setextHeadingLineSequence:E,setextHeadingText:x,strong:l(),thematicBreak:l()}};WA(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(e){let r={type:\"root\",children:[]};const A={stack:[r],tokenStack:[],config:t,enter:a,exit:s,buffer:i,resume:c,data:n},l=[];let u=-1;for(;++u<e.length;)if(\"listOrdered\"===e[u][1].type||\"listUnordered\"===e[u][1].type)if(\"enter\"===e[u][0])l.push(u);else{u=o(e,l.pop(),u)}for(u=-1;++u<e.length;){const n=t[e[u][0]];_A.call(n,e[u][1].type)&&n[e[u][1].type].call(Object.assign({sliceSerialize:e[u][2].sliceSerialize},A),e[u][1])}if(A.tokenStack.length>0){const e=A.tokenStack[A.tokenStack.length-1];(e[1]||XA).call(A,void 0,e[0])}for(r.position={start:GA(e.length>0?e[0][1].start:{line:1,column:1,offset:0}),end:GA(e.length>0?e[e.length-2][1].end:{line:1,column:1,offset:0})},u=-1;++u<t.transforms.length;)r=t.transforms[u](r)||r;return r}function o(e,t,n){let r,o,A,i,a=t-1,l=-1,s=!1;for(;++a<=n;){const t=e[a];switch(t[1].type){case\"listUnordered\":case\"listOrdered\":case\"blockQuote\":\"enter\"===t[0]?l++:l--,i=void 0;break;case\"lineEndingBlank\":\"enter\"===t[0]&&(r&&!i&&!l&&!A&&(A=a),i=void 0);break;case\"linePrefix\":case\"listItemValue\":case\"listItemMarker\":case\"listItemPrefix\":case\"listItemPrefixWhitespace\":break;default:i=void 0}if(!l&&\"enter\"===t[0]&&\"listItemPrefix\"===t[1].type||-1===l&&\"exit\"===t[0]&&(\"listUnordered\"===t[1].type||\"listOrdered\"===t[1].type)){if(r){let i=a;for(o=void 0;i--;){const t=e[i];if(\"lineEnding\"===t[1].type||\"lineEndingBlank\"===t[1].type){if(\"exit\"===t[0])continue;o&&(e[o][1].type=\"lineEndingBlank\",s=!0),t[1].type=\"lineEnding\",o=i}else if(\"linePrefix\"!==t[1].type&&\"blockQuotePrefix\"!==t[1].type&&\"blockQuotePrefixWhitespace\"!==t[1].type&&\"blockQuoteMarker\"!==t[1].type&&\"listItemIndent\"!==t[1].type)break}A&&(!o||A<o)&&(r._spread=!0),r.end=Object.assign({},o?e[o][1].start:t[1].end),e.splice(o||a,0,[\"exit\",r,t[2]]),a++,n++}if(\"listItemPrefix\"===t[1].type){const o={type:\"listItem\",_spread:!1,start:Object.assign({},t[1].start),end:void 0};r=o,e.splice(a,0,[\"enter\",o,t[2]]),a++,n++,A=void 0,i=!0}}}return e[t][1]._spread=s,n}function A(e,t){return n;function n(n){a.call(this,e(n),n),t&&t.call(this,n)}}function i(){this.stack.push({type:\"fragment\",children:[]})}function a(e,t,n){this.stack[this.stack.length-1].children.push(e),this.stack.push(e),this.tokenStack.push([t,n||void 0]),e.position={start:GA(t.start),end:void 0}}function l(e){return t;function t(t){e&&e.call(this,t),s.call(this,t)}}function s(e,t){const n=this.stack.pop(),r=this.tokenStack.pop();if(!r)throw new Error(\"Cannot close `\"+e.type+\"` (\"+Tr({start:e.start,end:e.end})+\"): it’s not open\");r[0].type!==e.type&&(t?t.call(this,e,r[0]):(r[1]||XA).call(this,e,r[0])),n.position.end=GA(e.end)}function c(){return function(e){return no(e,\"boolean\"!=typeof to.includeImageAlt||to.includeImageAlt,\"boolean\"!=typeof to.includeHtml||to.includeHtml)}(this.stack.pop())}function u(){this.data.expectingFirstListItemValue=!0}function d(e){if(this.data.expectingFirstListItemValue){this.stack[this.stack.length-2].start=Number.parseInt(this.sliceSerialize(e),10),this.data.expectingFirstListItemValue=void 0}}function p(){const e=this.resume();this.stack[this.stack.length-1].lang=e}function f(){const e=this.resume();this.stack[this.stack.length-1].meta=e}function h(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function g(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,\"\"),this.data.flowCodeInside=void 0}function m(){const e=this.resume();this.stack[this.stack.length-1].value=e.replace(/(\\r?\\n|\\r)$/g,\"\")}function v(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=fo(this.sliceSerialize(e)).toLowerCase()}function b(){const e=this.resume();this.stack[this.stack.length-1].title=e}function w(){const e=this.resume();this.stack[this.stack.length-1].url=e}function y(e){const t=this.stack[this.stack.length-1];if(!t.depth){const n=this.sliceSerialize(e).length;t.depth=n}}function x(){this.data.setextHeadingSlurpLineEnding=!0}function E(e){this.stack[this.stack.length-1].depth=61===this.sliceSerialize(e).codePointAt(0)?1:2}function B(){this.data.setextHeadingSlurpLineEnding=void 0}function P(e){const t=this.stack[this.stack.length-1].children;let n=t[t.length-1];(!n||\"text\"!==n.type)&&(n=ie(),n.position={start:GA(e.start),end:void 0},t.push(n)),this.stack.push(n)}function k(e){const t=this.stack.pop();t.value+=this.sliceSerialize(e),t.position.end=GA(e.end)}function D(e){const n=this.stack[this.stack.length-1];if(this.data.atHardBreak){return n.children[n.children.length-1].position.end=GA(e.end),void(this.data.atHardBreak=void 0)}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(n.type)&&(P.call(this,e),k.call(this,e))}function C(){this.data.atHardBreak=!0}function S(){const e=this.resume();this.stack[this.stack.length-1].value=e}function I(){const e=this.resume();this.stack[this.stack.length-1].value=e}function T(){const e=this.resume();this.stack[this.stack.length-1].value=e}function Q(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||\"shortcut\";e.type+=\"Reference\",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function M(){const e=this.stack[this.stack.length-1];if(this.data.inReference){const t=this.data.referenceType||\"shortcut\";e.type+=\"Reference\",e.referenceType=t,delete e.url,delete e.title}else delete e.identifier,delete e.label;this.data.referenceType=void 0}function O(e){const t=this.sliceSerialize(e),n=this.stack[this.stack.length-2];n.label=function(e){return e.replace(UA,qA)}(t),n.identifier=fo(t).toLowerCase()}function L(){const e=this.stack[this.stack.length-1],t=this.resume(),n=this.stack[this.stack.length-1];if(this.data.inReference=!0,\"link\"===n.type){const t=e.children;n.children=t}else n.alt=t}function N(){const e=this.resume();this.stack[this.stack.length-1].url=e}function H(){const e=this.resume();this.stack[this.stack.length-1].title=e}function R(){this.data.inReference=void 0}function z(){this.data.referenceType=\"collapsed\"}function j(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.label=t,n.identifier=fo(this.sliceSerialize(e)).toLowerCase(),this.data.referenceType=\"full\"}function F(e){this.data.characterReferenceType=e.type}function U(e){const t=this.sliceSerialize(e),n=this.data.characterReferenceType;let r;n?(r=po(t,\"characterReferenceMarkerNumeric\"===n?10:16),this.data.characterReferenceType=void 0):r=Ao(t);this.stack[this.stack.length-1].value+=r}function q(e){this.stack.pop().position.end=GA(e.end)}function _(e){k.call(this,e);this.stack[this.stack.length-1].url=this.sliceSerialize(e)}function Y(e){k.call(this,e);this.stack[this.stack.length-1].url=\"mailto:\"+this.sliceSerialize(e)}function G(){return{type:\"blockquote\",children:[]}}function W(){return{type:\"code\",lang:null,meta:null,value:\"\"}}function V(){return{type:\"inlineCode\",value:\"\"}}function X(){return{type:\"definition\",identifier:\"\",label:null,title:null,url:\"\"}}function K(){return{type:\"emphasis\",children:[]}}function J(){return{type:\"heading\",depth:0,children:[]}}function Z(){return{type:\"break\"}}function $(){return{type:\"html\",value:\"\"}}function ee(){return{type:\"image\",title:null,url:\"\",alt:null}}function te(){return{type:\"link\",title:null,url:\"\",children:[]}}function ne(e){return{type:\"list\",ordered:\"listOrdered\"===e.type,start:null,spread:e._spread,children:[]}}function re(e){return{type:\"listItem\",spread:e._spread,checked:null,children:[]}}function oe(){return{type:\"paragraph\",children:[]}}function Ae(){return{type:\"strong\",children:[]}}function ie(){return{type:\"text\",value:\"\"}}function ae(){return{type:\"thematicBreak\"}}}(n)(function(e){for(;!Xo(e););return e}(function(e){const t={constructs:so([zA,...(e||{}).extensions||[]]),content:n(Io),defined:[],document:n(To),flow:n(PA),lazy:{},string:n(DA),text:n(CA)};return t;function n(e){return function(n){return jA(t,e,n)}}}(n).document().write(function(){let e,t=1,n=\"\",r=!0;return function(o,A,i){const a=[];let l,s,c,u,d;for(o=n+(\"string\"==typeof o?o.toString():new TextDecoder(A||void 0).decode(o)),c=0,n=\"\",r&&(65279===o.charCodeAt(0)&&c++,r=void 0);c<o.length;){if(FA.lastIndex=c,l=FA.exec(o),u=l&&void 0!==l.index?l.index:o.length,d=o.charCodeAt(u),!l){n=o.slice(c);break}if(10===d&&c===u&&e)a.push(-3),e=void 0;else switch(e&&(a.push(-5),e=void 0),c<u&&(a.push(o.slice(c,u)),t+=u-c),d){case 0:a.push(65533),t++;break;case 9:for(s=4*Math.ceil(t/4),a.push(-2);t++<s;)a.push(-1);break;case 10:a.push(-4),t=1;break;default:e=!0,t=1}c=u+1}return i&&(e&&a.push(-5),n&&a.push(n),a.push(null)),a}}()(e,t,!0))))}function GA(e){return{line:e.line,column:e.column,offset:e.offset}}function WA(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?WA(e,r):VA(e,r)}}function VA(e,t){let n;for(n in t)if(_A.call(t,n))switch(n){case\"canContainEols\":{const r=t[n];r&&e[n].push(...r);break}case\"transforms\":{const r=t[n];r&&e[n].push(...r);break}case\"enter\":case\"exit\":{const r=t[n];r&&Object.assign(e[n],r);break}}}function XA(e,t){throw e?new Error(\"Cannot close `\"+e.type+\"` (\"+Tr({start:e.start,end:e.end})+\"): a different token (`\"+t.type+\"`, \"+Tr({start:t.start,end:t.end})+\") is open\"):new Error(\"Cannot close document, a token (`\"+t.type+\"`, \"+Tr({start:t.start,end:t.end})+\") is still open\")}function KA(e){const t=this;t.parser=function(n){return YA(n,{...t.data(\"settings\"),...e,extensions:t.data(\"micromarkExtensions\")||[],mdastExtensions:t.data(\"fromMarkdownExtensions\")||[]})}}function JA(e,t){const n=t.referenceType;let r=\"]\";if(\"collapsed\"===n?r+=\"[]\":\"full\"===n&&(r+=\"[\"+(t.label||t.identifier)+\"]\"),\"imageReference\"===t.type)return[{type:\"text\",value:\"![\"+t.alt+r}];const o=e.all(t),A=o[0];A&&\"text\"===A.type?A.value=\"[\"+A.value:o.unshift({type:\"text\",value:\"[\"});const i=o[o.length-1];return i&&\"text\"===i.type?i.value+=r:o.push({type:\"text\",value:r}),o}function ZA(e){return e.spread??e.children.length>1}function $A(e){const t=String(e),n=/\\r?\\n|\\r/g;let r=n.exec(t),o=0;const A=[];for(;r;)A.push(ei(t.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(t);return A.push(ei(t.slice(o),o>0,!1)),A.join(\"\")}function ei(e,t,n){let r=0,o=e.length;if(t){let t=e.codePointAt(r);for(;9===t||32===t;)r++,t=e.codePointAt(r)}if(n){let t=e.codePointAt(o-1);for(;9===t||32===t;)o--,t=e.codePointAt(o-1)}return o>r?e.slice(r,o):\"\"}const ti={blockquote:function(e,t){const n={type:\"element\",tagName:\"blockquote\",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)},break:function(e,t){const n={type:\"element\",tagName:\"br\",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:\"text\",value:\"\\n\"}]},code:function(e,t){const n=t.value?t.value+\"\\n\":\"\",r={};t.lang&&(r.className=[\"language-\"+t.lang]);let o={type:\"element\",tagName:\"code\",properties:r,children:[{type:\"text\",value:n}]};return t.meta&&(o.data={meta:t.meta}),e.patch(t,o),o=e.applyData(t,o),o={type:\"element\",tagName:\"pre\",properties:{},children:[o]},e.patch(t,o),o},delete:function(e,t){const n={type:\"element\",tagName:\"del\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},emphasis:function(e,t){const n={type:\"element\",tagName:\"em\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},footnoteReference:function(e,t){const n=\"string\"==typeof e.options.clobberPrefix?e.options.clobberPrefix:\"user-content-\",r=String(t.identifier).toUpperCase(),o=Co(r.toLowerCase()),A=e.footnoteOrder.indexOf(r);let i,a=e.footnoteCounts.get(r);void 0===a?(a=0,e.footnoteOrder.push(r),i=e.footnoteOrder.length):i=A+1,a+=1,e.footnoteCounts.set(r,a);const l={type:\"element\",tagName:\"a\",properties:{href:\"#\"+n+\"fn-\"+o,id:n+\"fnref-\"+o+(a>1?\"-\"+a:\"\"),dataFootnoteRef:!0,ariaDescribedBy:[\"footnote-label\"]},children:[{type:\"text\",value:String(i)}]};e.patch(t,l);const s={type:\"element\",tagName:\"sup\",properties:{},children:[l]};return e.patch(t,s),e.applyData(t,s)},heading:function(e,t){const n={type:\"element\",tagName:\"h\"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},html:function(e,t){if(e.options.allowDangerousHtml){const n={type:\"raw\",value:t.value};return e.patch(t,n),e.applyData(t,n)}},imageReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return JA(e,t);const o={src:Co(r.url||\"\"),alt:t.alt};null!==r.title&&void 0!==r.title&&(o.title=r.title);const A={type:\"element\",tagName:\"img\",properties:o,children:[]};return e.patch(t,A),e.applyData(t,A)},image:function(e,t){const n={src:Co(t.url)};null!==t.alt&&void 0!==t.alt&&(n.alt=t.alt),null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:\"element\",tagName:\"img\",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)},inlineCode:function(e,t){const n={type:\"text\",value:t.value.replace(/\\r?\\n|\\r/g,\" \")};e.patch(t,n);const r={type:\"element\",tagName:\"code\",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)},linkReference:function(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return JA(e,t);const o={href:Co(r.url||\"\")};null!==r.title&&void 0!==r.title&&(o.title=r.title);const A={type:\"element\",tagName:\"a\",properties:o,children:e.all(t)};return e.patch(t,A),e.applyData(t,A)},link:function(e,t){const n={href:Co(t.url)};null!==t.title&&void 0!==t.title&&(n.title=t.title);const r={type:\"element\",tagName:\"a\",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)},listItem:function(e,t,n){const r=e.all(t),o=n?function(e){let t=!1;if(\"list\"===e.type){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=ZA(n[r])}return t}(n):ZA(t),A={},i=[];if(\"boolean\"==typeof t.checked){const e=r[0];let n;e&&\"element\"===e.type&&\"p\"===e.tagName?n=e:(n={type:\"element\",tagName:\"p\",properties:{},children:[]},r.unshift(n)),n.children.length>0&&n.children.unshift({type:\"text\",value:\" \"}),n.children.unshift({type:\"element\",tagName:\"input\",properties:{type:\"checkbox\",checked:t.checked,disabled:!0},children:[]}),A.className=[\"task-list-item\"]}let a=-1;for(;++a<r.length;){const e=r[a];(o||0!==a||\"element\"!==e.type||\"p\"!==e.tagName)&&i.push({type:\"text\",value:\"\\n\"}),\"element\"!==e.type||\"p\"!==e.tagName||o?i.push(e):i.push(...e.children)}const l=r[r.length-1];l&&(o||\"element\"!==l.type||\"p\"!==l.tagName)&&i.push({type:\"text\",value:\"\\n\"});const s={type:\"element\",tagName:\"li\",properties:A,children:i};return e.patch(t,s),e.applyData(t,s)},list:function(e,t){const n={},r=e.all(t);let o=-1;for(\"number\"==typeof t.start&&1!==t.start&&(n.start=t.start);++o<r.length;){const e=r[o];if(\"element\"===e.type&&\"li\"===e.tagName&&e.properties&&Array.isArray(e.properties.className)&&e.properties.className.includes(\"task-list-item\")){n.className=[\"contains-task-list\"];break}}const A={type:\"element\",tagName:t.ordered?\"ol\":\"ul\",properties:n,children:e.wrap(r,!0)};return e.patch(t,A),e.applyData(t,A)},paragraph:function(e,t){const n={type:\"element\",tagName:\"p\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},root:function(e,t){const n={type:\"root\",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)},strong:function(e,t){const n={type:\"element\",tagName:\"strong\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},table:function(e,t){const n=e.all(t),r=n.shift(),o=[];if(r){const n={type:\"element\",tagName:\"thead\",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],n),o.push(n)}if(n.length>0){const r={type:\"element\",tagName:\"tbody\",properties:{},children:e.wrap(n,!0)},A=Sr(t.children[1]),i=Cr(t.children[t.children.length-1]);A&&i&&(r.position={start:A,end:i}),o.push(r)}const A={type:\"element\",tagName:\"table\",properties:{},children:e.wrap(o,!0)};return e.patch(t,A),e.applyData(t,A)},tableCell:function(e,t){const n={type:\"element\",tagName:\"td\",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)},tableRow:function(e,t,n){const r=n?n.children:void 0,o=0===(r?r.indexOf(t):1)?\"th\":\"td\",A=n&&\"table\"===n.type?n.align:void 0,i=A?A.length:t.children.length;let a=-1;const l=[];for(;++a<i;){const n=t.children[a],r={},i=A?A[a]:void 0;i&&(r.align=i);let s={type:\"element\",tagName:o,properties:r,children:[]};n&&(s.children=e.all(n),e.patch(n,s),s=e.applyData(n,s)),l.push(s)}const s={type:\"element\",tagName:\"tr\",properties:{},children:e.wrap(l,!0)};return e.patch(t,s),e.applyData(t,s)},text:function(e,t){const n={type:\"text\",value:$A(String(t.value))};return e.patch(t,n),e.applyData(t,n)},thematicBreak:function(e,t){const n={type:\"element\",tagName:\"hr\",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)},toml:ni,yaml:ni,definition:ni,footnoteDefinition:ni};function ni(){}const ri=\"object\"==typeof self?self:globalThis,oi=e=>((e,t)=>{const n=(t,n)=>(e.set(n,t),t),r=o=>{if(e.has(o))return e.get(o);const[A,i]=t[o];switch(A){case 0:case-1:return n(i,o);case 1:{const e=n([],o);for(const t of i)e.push(r(t));return e}case 2:{const e=n({},o);for(const[t,n]of i)e[r(t)]=r(n);return e}case 3:return n(new Date(i),o);case 4:{const{source:e,flags:t}=i;return n(new RegExp(e,t),o)}case 5:{const e=n(new Map,o);for(const[t,n]of i)e.set(r(t),r(n));return e}case 6:{const e=n(new Set,o);for(const t of i)e.add(r(t));return e}case 7:{const{name:e,message:t}=i;return n(new ri[e](t),o)}case 8:return n(BigInt(i),o);case\"BigInt\":return n(Object(BigInt(i)),o);case\"ArrayBuffer\":return n(new Uint8Array(i).buffer,i);case\"DataView\":{const{buffer:e}=new Uint8Array(i);return n(new DataView(e),i)}}return n(new ri[A](i),o)};return r})(new Map,e)(0),Ai=\"\",{toString:ii}={},{keys:ai}=Object,li=e=>{const t=typeof e;if(\"object\"!==t||!e)return[0,t];const n=ii.call(e).slice(8,-1);switch(n){case\"Array\":return[1,Ai];case\"Object\":return[2,Ai];case\"Date\":return[3,Ai];case\"RegExp\":return[4,Ai];case\"Map\":return[5,Ai];case\"Set\":return[6,Ai];case\"DataView\":return[1,n]}return n.includes(\"Array\")?[1,n]:n.includes(\"Error\")?[7,n]:[2,n]},si=([e,t])=>0===e&&(\"function\"===t||\"symbol\"===t),ci=(e,{json:t,lossy:n}={})=>{const r=[];return((e,t,n,r)=>{const o=(e,t)=>{const o=r.push(e)-1;return n.set(t,o),o},A=r=>{if(n.has(r))return n.get(r);let[i,a]=li(r);switch(i){case 0:{let t=r;switch(a){case\"bigint\":i=8,t=r.toString();break;case\"function\":case\"symbol\":if(e)throw new TypeError(\"unable to serialize \"+a);t=null;break;case\"undefined\":return o([-1],r)}return o([i,t],r)}case 1:{if(a){let e=r;return\"DataView\"===a?e=new Uint8Array(r.buffer):\"ArrayBuffer\"===a&&(e=new Uint8Array(r)),o([a,[...e]],r)}const e=[],t=o([i,e],r);for(const t of r)e.push(A(t));return t}case 2:{if(a)switch(a){case\"BigInt\":return o([a,r.toString()],r);case\"Boolean\":case\"Number\":case\"String\":return o([a,r.valueOf()],r)}if(t&&\"toJSON\"in r)return A(r.toJSON());const n=[],l=o([i,n],r);for(const t of ai(r))(e||!si(li(r[t])))&&n.push([A(t),A(r[t])]);return l}case 3:return o([i,r.toISOString()],r);case 4:{const{source:e,flags:t}=r;return o([i,{source:e,flags:t}],r)}case 5:{const t=[],n=o([i,t],r);for(const[n,o]of r)(e||!si(li(n))&&!si(li(o)))&&t.push([A(n),A(o)]);return n}case 6:{const t=[],n=o([i,t],r);for(const n of r)(e||!si(li(n)))&&t.push(A(n));return n}}const{message:l}=r;return o([i,{name:a,message:l}],r)};return A})(!(t||n),!!t,new Map,r)(e),r},ui=\"function\"==typeof structuredClone?(e,t)=>t&&(\"json\"in t||\"lossy\"in t)?oi(ci(e,t)):structuredClone(e):(e,t)=>oi(ci(e,t));function di(e,t){const n=[{type:\"text\",value:\"↩\"}];return t>1&&n.push({type:\"element\",tagName:\"sup\",properties:{},children:[{type:\"text\",value:String(t)}]}),n}function pi(e,t){return\"Back to reference \"+(e+1)+(t>1?\"-\"+t:\"\")}const fi=function(e){if(null==e)return gi;if(\"function\"==typeof e)return hi(e);if(\"object\"==typeof e)return Array.isArray(e)?function(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=fi(e[n]);return hi(r);function r(...e){let n=-1;for(;++n<t.length;)if(t[n].apply(this,e))return!0;return!1}}(e):function(e){const t=e;return hi(n);function n(n){const r=n;let o;for(o in e)if(r[o]!==t[o])return!1;return!0}}(e);if(\"string\"==typeof e)return function(e){return hi(t);function t(t){return t&&t.type===e}}(e);throw new Error(\"Expected function, string, or object as test\")};function hi(e){return function(t,n,r){return!(!function(e){return null!==e&&\"object\"==typeof e&&\"type\"in e}(t)||!e.call(this,t,\"number\"==typeof n?n:void 0,r||void 0))}}function gi(){return!0}const mi=[],vi=!0,bi=!1;function wi(e,t,n,r){let o;\"function\"==typeof t&&\"function\"!=typeof n?(r=n,n=t):o=t;const A=fi(o),i=r?-1:1;!function e(o,a,l){const s=o&&\"object\"==typeof o?o:{};if(\"string\"==typeof s.type){const e=\"string\"==typeof s.tagName?s.tagName:\"string\"==typeof s.name?s.name:void 0;Object.defineProperty(c,\"name\",{value:\"node (\"+o.type+(e?\"<\"+e+\">\":\"\")+\")\"})}return c;function c(){let s,c,u,d=mi;if((!t||A(o,a,l[l.length-1]||void 0))&&(d=function(e){return Array.isArray(e)?e:\"number\"==typeof e?[vi,e]:null==e?mi:[e]}(n(o,l)),d[0]===bi))return d;if(\"children\"in o&&o.children){const t=o;if(t.children&&\"skip\"!==d[0])for(c=(r?t.children.length:-1)+i,u=l.concat(t);c>-1&&c<t.children.length;){const n=t.children[c];if(s=e(n,c,u)(),s[0]===bi)return s;c=\"number\"==typeof s[1]?s[1]:c+i}}return d}}(e,void 0,[])()}function yi(e,t,n,r){let o,A,i;\"function\"==typeof t?(A=void 0,i=t,o=n):(A=t,i=n,o=r),wi(e,A,function(e,t){const n=t[t.length-1],r=n?n.children.indexOf(e):void 0;return i(e,r,n)},o)}const xi={}.hasOwnProperty,Ei={};function Bi(e,t){const n=t||Ei,r=new Map,o=new Map,A=new Map,i={...ti,...n.handlers},a={all:function(e){const t=[];if(\"children\"in e){const n=e.children;let r=-1;for(;++r<n.length;){const o=a.one(n[r],e);if(o){if(r&&\"break\"===n[r-1].type&&(!Array.isArray(o)&&\"text\"===o.type&&(o.value=Si(o.value)),!Array.isArray(o)&&\"element\"===o.type)){const e=o.children[0];e&&\"text\"===e.type&&(e.value=Si(e.value))}Array.isArray(o)?t.push(...o):t.push(o)}}}return t},applyData:ki,definitionById:r,footnoteById:o,footnoteCounts:A,footnoteOrder:[],handlers:i,one:function(e,t){const n=e.type,r=a.handlers[n];if(xi.call(a.handlers,n)&&r)return r(a,e,t);if(a.options.passThrough&&a.options.passThrough.includes(n)){if(\"children\"in e){const{children:t,...n}=e,r=ui(n);return r.children=a.all(e),r}return ui(e)}return(a.options.unknownHandler||Di)(a,e,t)},options:n,patch:Pi,wrap:Ci};return yi(e,function(e){if(\"definition\"===e.type||\"footnoteDefinition\"===e.type){const t=\"definition\"===e.type?r:o,n=String(e.identifier).toUpperCase();t.has(n)||t.set(n,e)}}),a}function Pi(e,t){e.position&&(t.position=function(e){const t=Sr(e),n=Cr(e);if(t&&n)return{start:t,end:n}}(e))}function ki(e,t){let n=t;if(e&&e.data){const t=e.data.hName,r=e.data.hChildren,o=e.data.hProperties;if(\"string\"==typeof t)if(\"element\"===n.type)n.tagName=t;else{n={type:\"element\",tagName:t,properties:{},children:\"children\"in n?n.children:[n]}}\"element\"===n.type&&o&&Object.assign(n.properties,ui(o)),\"children\"in n&&n.children&&null!=r&&(n.children=r)}return n}function Di(e,t){const n=t.data||{},r=!(\"value\"in t)||xi.call(n,\"hProperties\")||xi.call(n,\"hChildren\")?{type:\"element\",tagName:\"div\",properties:{},children:e.all(t)}:{type:\"text\",value:t.value};return e.patch(t,r),e.applyData(t,r)}function Ci(e,t){const n=[];let r=-1;for(t&&n.push({type:\"text\",value:\"\\n\"});++r<e.length;)r&&n.push({type:\"text\",value:\"\\n\"}),n.push(e[r]);return t&&e.length>0&&n.push({type:\"text\",value:\"\\n\"}),n}function Si(e){let t=0,n=e.charCodeAt(t);for(;9===n||32===n;)t++,n=e.charCodeAt(t);return e.slice(t)}function Ii(e,t){const n=Bi(e,t),r=n.one(e,void 0),o=function(e){const t=\"string\"==typeof e.options.clobberPrefix?e.options.clobberPrefix:\"user-content-\",n=e.options.footnoteBackContent||di,r=e.options.footnoteBackLabel||pi,o=e.options.footnoteLabel||\"Footnotes\",A=e.options.footnoteLabelTagName||\"h2\",i=e.options.footnoteLabelProperties||{className:[\"sr-only\"]},a=[];let l=-1;for(;++l<e.footnoteOrder.length;){const o=e.footnoteById.get(e.footnoteOrder[l]);if(!o)continue;const A=e.all(o),i=String(o.identifier).toUpperCase(),s=Co(i.toLowerCase());let c=0;const u=[],d=e.footnoteCounts.get(i);for(;void 0!==d&&++c<=d;){u.length>0&&u.push({type:\"text\",value:\" \"});let e=\"string\"==typeof n?n:n(l,c);\"string\"==typeof e&&(e={type:\"text\",value:e}),u.push({type:\"element\",tagName:\"a\",properties:{href:\"#\"+t+\"fnref-\"+s+(c>1?\"-\"+c:\"\"),dataFootnoteBackref:\"\",ariaLabel:\"string\"==typeof r?r:r(l,c),className:[\"data-footnote-backref\"]},children:Array.isArray(e)?e:[e]})}const p=A[A.length-1];if(p&&\"element\"===p.type&&\"p\"===p.tagName){const e=p.children[p.children.length-1];e&&\"text\"===e.type?e.value+=\" \":p.children.push({type:\"text\",value:\" \"}),p.children.push(...u)}else A.push(...u);const f={type:\"element\",tagName:\"li\",properties:{id:t+\"fn-\"+s},children:e.wrap(A,!0)};e.patch(o,f),a.push(f)}if(0!==a.length)return{type:\"element\",tagName:\"section\",properties:{dataFootnotes:!0,className:[\"footnotes\"]},children:[{type:\"element\",tagName:A,properties:{...ui(i),id:\"footnote-label\"},children:[{type:\"text\",value:o}]},{type:\"text\",value:\"\\n\"},{type:\"element\",tagName:\"ol\",properties:{},children:e.wrap(a,!0)},{type:\"text\",value:\"\\n\"}]}}(n),A=Array.isArray(r)?{type:\"root\",children:r}:r||{type:\"root\",children:[]};return o&&A.children.push({type:\"text\",value:\"\\n\"},o),A}function Ti(e,t){return e&&\"run\"in e?async function(n,r){const o=Ii(n,{file:r,...t});await e.run(o,r)}:function(n,r){return Ii(n,{file:r,...e||t})}}function Qi(e){if(e)throw e}var Mi,Oi;var Li=function(){if(Oi)return Mi;Oi=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(e){return\"function\"==typeof Array.isArray?Array.isArray(e):\"[object Array]\"===t.call(e)},A=function(n){if(!n||\"[object Object]\"!==t.call(n))return!1;var r,o=e.call(n,\"constructor\"),A=n.constructor&&n.constructor.prototype&&e.call(n.constructor.prototype,\"isPrototypeOf\");if(n.constructor&&!o&&!A)return!1;for(r in n);return typeof r>\"u\"||e.call(n,r)},i=function(e,t){n&&\"__proto__\"===t.name?n(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},a=function(t,n){if(\"__proto__\"===n){if(!e.call(t,n))return;if(r)return r(t,n).value}return t[n]};return Mi=function e(){var t,n,r,l,s,c,u=arguments[0],d=1,p=arguments.length,f=!1;for(\"boolean\"==typeof u&&(f=u,u=arguments[1]||{},d=2),(null==u||\"object\"!=typeof u&&\"function\"!=typeof u)&&(u={});d<p;++d)if(null!=(t=arguments[d]))for(n in t)r=a(u,n),u!==(l=a(t,n))&&(f&&l&&(A(l)||(s=o(l)))?(s?(s=!1,c=r&&o(r)?r:[]):c=r&&A(r)?r:{},i(u,{name:n,newValue:e(f,c,l)})):typeof l<\"u\"&&i(u,{name:n,newValue:l}));return u},Mi}();const Ni=wr(Li);function Hi(e){if(\"object\"!=typeof e||null===e)return!1;const t=Object.getPrototypeOf(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||Symbol.toStringTag in e||Symbol.iterator in e)}function Ri(){const e=[],t={run:function(...t){let n=-1;const r=t.pop();if(\"function\"!=typeof r)throw new TypeError(\"Expected function as last argument, not \"+r);!function o(A,...i){const a=e[++n];let l=-1;if(A)r(A);else{for(;++l<t.length;)(null===i[l]||void 0===i[l])&&(i[l]=t[l]);t=i,a?function(e,t){let n;return r;function r(...t){const r=e.length>t.length;let i;r&&t.push(o);try{i=e.apply(this,t)}catch(e){if(r&&n)throw e;return o(e)}r||(i&&i.then&&\"function\"==typeof i.then?i.then(A,o):i instanceof Error?o(i):A(i))}function o(e,...r){n||(n=!0,t(e,...r))}function A(e){o(null,e)}}(a,o)(...i):r(null,...i)}}(null,...t)},use:function(n){if(\"function\"!=typeof n)throw new TypeError(\"Expected `middelware` to be a function, not \"+n);return e.push(n),t}};return t}const zi={basename:function(e,t){if(void 0!==t&&\"string\"!=typeof t)throw new TypeError('\"ext\" argument must be a string');ji(e);let n,r=0,o=-1,A=e.length;if(void 0===t||0===t.length||t.length>e.length){for(;A--;)if(47===e.codePointAt(A)){if(n){r=A+1;break}}else o<0&&(n=!0,o=A+1);return o<0?\"\":e.slice(r,o)}if(t===e)return\"\";let i=-1,a=t.length-1;for(;A--;)if(47===e.codePointAt(A)){if(n){r=A+1;break}}else i<0&&(n=!0,i=A+1),a>-1&&(e.codePointAt(A)===t.codePointAt(a--)?a<0&&(o=A):(a=-1,o=i));return r===o?o=i:o<0&&(o=e.length),e.slice(r,o)},dirname:function(e){if(ji(e),0===e.length)return\".\";let t,n=-1,r=e.length;for(;--r;)if(47===e.codePointAt(r)){if(t){n=r;break}}else t||(t=!0);return n<0?47===e.codePointAt(0)?\"/\":\".\":1===n&&47===e.codePointAt(0)?\"//\":e.slice(0,n)},extname:function(e){ji(e);let t,n=e.length,r=-1,o=0,A=-1,i=0;for(;n--;){const a=e.codePointAt(n);if(47!==a)r<0&&(t=!0,r=n+1),46===a?A<0?A=n:1!==i&&(i=1):A>-1&&(i=-1);else if(t){o=n+1;break}}return A<0||r<0||0===i||1===i&&A===r-1&&A===o+1?\"\":e.slice(A,r)},join:function(...e){let t,n=-1;for(;++n<e.length;)ji(e[n]),e[n]&&(t=void 0===t?e[n]:t+\"/\"+e[n]);return void 0===t?\".\":function(e){ji(e);const t=47===e.codePointAt(0);let n=function(e,t){let n,r,o=\"\",A=0,i=-1,a=0,l=-1;for(;++l<=e.length;){if(l<e.length)n=e.codePointAt(l);else{if(47===n)break;n=47}if(47===n){if(i!==l-1&&1!==a)if(i!==l-1&&2===a){if(o.length<2||2!==A||46!==o.codePointAt(o.length-1)||46!==o.codePointAt(o.length-2))if(o.length>2){if(r=o.lastIndexOf(\"/\"),r!==o.length-1){r<0?(o=\"\",A=0):(o=o.slice(0,r),A=o.length-1-o.lastIndexOf(\"/\")),i=l,a=0;continue}}else if(o.length>0){o=\"\",A=0,i=l,a=0;continue}t&&(o=o.length>0?o+\"/..\":\"..\",A=2)}else o.length>0?o+=\"/\"+e.slice(i+1,l):o=e.slice(i+1,l),A=l-i-1;i=l,a=0}else 46===n&&a>-1?a++:a=-1}return o}(e,!t);return 0===n.length&&!t&&(n=\".\"),n.length>0&&47===e.codePointAt(e.length-1)&&(n+=\"/\"),t?\"/\"+n:n}(t)},sep:\"/\"};function ji(e){if(\"string\"!=typeof e)throw new TypeError(\"Path must be a string. Received \"+JSON.stringify(e))}const Fi={cwd:function(){return\"/\"}};function Ui(e){return!!(null!==e&&\"object\"==typeof e&&\"href\"in e&&e.href&&\"protocol\"in e&&e.protocol&&void 0===e.auth)}function qi(e){if(\"string\"==typeof e)e=new URL(e);else if(!Ui(e)){const t=new TypeError('The \"path\" argument must be of type string or an instance of URL. Received `'+e+\"`\");throw t.code=\"ERR_INVALID_ARG_TYPE\",t}if(\"file:\"!==e.protocol){const e=new TypeError(\"The URL must be of scheme file\");throw e.code=\"ERR_INVALID_URL_SCHEME\",e}return function(e){if(\"\"!==e.hostname){const e=new TypeError('File URL host must be \"localhost\" or empty on darwin');throw e.code=\"ERR_INVALID_FILE_URL_HOST\",e}const t=e.pathname;let n=-1;for(;++n<t.length;)if(37===t.codePointAt(n)&&50===t.codePointAt(n+1)){const e=t.codePointAt(n+2);if(70===e||102===e){const e=new TypeError(\"File URL path must not include encoded / characters\");throw e.code=\"ERR_INVALID_FILE_URL_PATH\",e}}return decodeURIComponent(t)}(e)}const _i=[\"history\",\"path\",\"basename\",\"stem\",\"extname\",\"dirname\"];class Yi{constructor(e){let t;var n;t=e?Ui(e)?{path:e}:\"string\"==typeof e||(n=e)&&\"object\"==typeof n&&\"byteLength\"in n&&\"byteOffset\"in n?{value:e}:e:{},this.cwd=\"cwd\"in t?\"\":Fi.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r,o=-1;for(;++o<_i.length;){const e=_i[o];e in t&&void 0!==t[e]&&null!==t[e]&&(this[e]=\"history\"===e?[...t[e]]:t[e])}for(r in t)_i.includes(r)||(this[r]=t[r])}get basename(){return\"string\"==typeof this.path?zi.basename(this.path):void 0}set basename(e){Wi(e,\"basename\"),Gi(e,\"basename\"),this.path=zi.join(this.dirname||\"\",e)}get dirname(){return\"string\"==typeof this.path?zi.dirname(this.path):void 0}set dirname(e){Vi(this.basename,\"dirname\"),this.path=zi.join(e||\"\",this.basename)}get extname(){return\"string\"==typeof this.path?zi.extname(this.path):void 0}set extname(e){if(Gi(e,\"extname\"),Vi(this.dirname,\"extname\"),e){if(46!==e.codePointAt(0))throw new Error(\"`extname` must start with `.`\");if(e.includes(\".\",1))throw new Error(\"`extname` cannot contain multiple dots\")}this.path=zi.join(this.dirname,this.stem+(e||\"\"))}get path(){return this.history[this.history.length-1]}set path(e){Ui(e)&&(e=qi(e)),Wi(e,\"path\"),this.path!==e&&this.history.push(e)}get stem(){return\"string\"==typeof this.path?zi.basename(this.path,this.extname):void 0}set stem(e){Wi(e,\"stem\"),Gi(e,\"stem\"),this.path=zi.join(this.dirname||\"\",e+(this.extname||\"\"))}fail(e,t,n){const r=this.message(e,t,n);throw r.fatal=!0,r}info(e,t,n){const r=this.message(e,t,n);return r.fatal=void 0,r}message(e,t,n){const r=new Lr(e,t,n);return this.path&&(r.name=this.path+\":\"+r.name,r.file=this.path),r.fatal=!1,this.messages.push(r),r}toString(e){return void 0===this.value?\"\":\"string\"==typeof this.value?this.value:new TextDecoder(e||void 0).decode(this.value)}}function Gi(e,t){if(e&&e.includes(zi.sep))throw new Error(\"`\"+t+\"` cannot be a path: did not expect `\"+zi.sep+\"`\")}function Wi(e,t){if(!e)throw new Error(\"`\"+t+\"` cannot be empty\")}function Vi(e,t){if(!e)throw new Error(\"Setting `\"+t+\"` requires `path` to be set too\")}const Xi=function(e){const t=this.constructor.prototype,n=t[e],r=function(){return n.apply(r,arguments)};return Object.setPrototypeOf(r,t),r},Ki={}.hasOwnProperty;class Ji extends Xi{constructor(){super(\"copy\"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=Ri()}copy(){const e=new Ji;let t=-1;for(;++t<this.attachers.length;){const n=this.attachers[t];e.use(...n)}return e.data(Ni(!0,{},this.namespace)),e}data(e,t){return\"string\"==typeof e?2===arguments.length?(ta(\"data\",this.frozen),this.namespace[e]=t,this):Ki.call(this.namespace,e)&&this.namespace[e]||void 0:e?(ta(\"data\",this.frozen),this.namespace=e,this):this.namespace}freeze(){if(this.frozen)return this;const e=this;for(;++this.freezeIndex<this.attachers.length;){const[t,...n]=this.attachers[this.freezeIndex];if(!1===n[0])continue;!0===n[0]&&(n[0]=void 0);const r=t.call(e,...n);\"function\"==typeof r&&this.transformers.use(r)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(e){this.freeze();const t=oa(e),n=this.parser||this.Parser;return $i(\"parse\",n),n(String(t),t)}process(e,t){const n=this;return this.freeze(),$i(\"process\",this.parser||this.Parser),ea(\"process\",this.compiler||this.Compiler),t?r(void 0,t):new Promise(r);function r(r,o){const A=oa(e),i=n.parse(A);function a(e,n){e||!n?o(e):r?r(n):t(void 0,n)}n.run(i,A,function(e,t,r){if(e||!t||!r)return a(e);const o=t,A=n.stringify(o,r);var i;\"string\"==typeof(i=A)||function(e){return!!(e&&\"object\"==typeof e&&\"byteLength\"in e&&\"byteOffset\"in e)}(i)?r.value=A:r.result=A,a(e,r)})}}processSync(e){let t,n=!1;return this.freeze(),$i(\"processSync\",this.parser||this.Parser),ea(\"processSync\",this.compiler||this.Compiler),this.process(e,function(e,r){n=!0,Qi(e),t=r}),ra(\"processSync\",\"process\",n),t}run(e,t,n){na(e),this.freeze();const r=this.transformers;return!n&&\"function\"==typeof t&&(n=t,t=void 0),n?o(void 0,n):new Promise(o);function o(o,A){const i=oa(t);r.run(e,i,function(t,r,i){const a=r||e;t?A(t):o?o(a):n(void 0,a,i)})}}runSync(e,t){let n,r=!1;return this.run(e,t,function(e,t){Qi(e),n=t,r=!0}),ra(\"runSync\",\"run\",r),n}stringify(e,t){this.freeze();const n=oa(t),r=this.compiler||this.Compiler;return ea(\"stringify\",r),na(e),r(e,n)}use(e,...t){const n=this.attachers,r=this.namespace;if(ta(\"use\",this.frozen),null!=e)if(\"function\"==typeof e)a(e,t);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");Array.isArray(e)?i(e):A(e)}return this;function o(e){if(\"function\"==typeof e)a(e,[]);else{if(\"object\"!=typeof e)throw new TypeError(\"Expected usable value, not `\"+e+\"`\");if(Array.isArray(e)){const[t,...n]=e;a(t,n)}else A(e)}}function A(e){if(!(\"plugins\"in e)&&!(\"settings\"in e))throw new Error(\"Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither\");i(e.plugins),e.settings&&(r.settings=Ni(!0,r.settings,e.settings))}function i(e){let t=-1;if(null!=e){if(!Array.isArray(e))throw new TypeError(\"Expected a list of plugins, not `\"+e+\"`\");for(;++t<e.length;){o(e[t])}}}function a(e,t){let r=-1,o=-1;for(;++r<n.length;)if(n[r][0]===e){o=r;break}if(-1===o)n.push([e,...t]);else if(t.length>0){let[r,...A]=t;const i=n[o][1];Hi(i)&&Hi(r)&&(r=Ni(!0,i,r)),n[o]=[e,r,...A]}}}}const Zi=(new Ji).freeze();function $i(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `parser`\")}function ea(e,t){if(\"function\"!=typeof t)throw new TypeError(\"Cannot `\"+e+\"` without `compiler`\")}function ta(e,t){if(t)throw new Error(\"Cannot call `\"+e+\"` on a frozen processor.\\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.\")}function na(e){if(!Hi(e)||\"string\"!=typeof e.type)throw new TypeError(\"Expected node, got `\"+e+\"`\")}function ra(e,t,n){if(!n)throw new Error(\"`\"+e+\"` finished async. Use `\"+t+\"` instead\")}function oa(e){return function(e){return!!(e&&\"object\"==typeof e&&\"message\"in e&&\"messages\"in e)}(e)?e:new Yi(e)}const Aa=[],ia={allowDangerousHtml:!0},aa=/^(https?|ircs?|mailto|xmpp)$/i,la=[{from:\"astPlugins\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"allowDangerousHtml\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"allowNode\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"allowElement\"},{from:\"allowedTypes\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"allowedElements\"},{from:\"disallowedTypes\",id:\"replace-allownode-allowedtypes-and-disallowedtypes\",to:\"disallowedElements\"},{from:\"escapeHtml\",id:\"remove-buggy-html-in-markdown-parser\"},{from:\"includeElementIndex\",id:\"#remove-includeelementindex\"},{from:\"includeNodeIndex\",id:\"change-includenodeindex-to-includeelementindex\"},{from:\"linkTarget\",id:\"remove-linktarget\"},{from:\"plugins\",id:\"change-plugins-to-remarkplugins\",to:\"remarkPlugins\"},{from:\"rawSourcePos\",id:\"#remove-rawsourcepos\"},{from:\"renderers\",id:\"change-renderers-to-components\",to:\"components\"},{from:\"source\",id:\"change-source-to-children\",to:\"children\"},{from:\"sourcePos\",id:\"#remove-sourcepos\"},{from:\"transformImageUri\",id:\"#add-urltransform\",to:\"urlTransform\"},{from:\"transformLinkUri\",id:\"#add-urltransform\",to:\"urlTransform\"}];function sa(e){const t=e.allowedElements,n=e.allowElement,r=e.children||\"\",o=e.className,A=e.components,i=e.disallowedElements,a=e.rehypePlugins||Aa,l=e.remarkPlugins||Aa,s=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...ia}:ia,c=e.skipHtml,u=e.unwrapDisallowed,d=e.urlTransform||ca,p=Zi().use(KA).use(l).use(Ti,s).use(a),f=new Yi;\"string\"==typeof r&&(f.value=r);for(const t of la)Object.hasOwn(e,t.from)&&(t.from,t.to&&t.to,t.id);const v=p.parse(f);let b=p.runSync(v,f);return o&&(b={type:\"element\",tagName:\"div\",properties:{className:o},children:\"root\"===b.type?b.children:[b]}),yi(b,function(e,r,o){if(\"raw\"===e.type&&o&&\"number\"==typeof r)return c?o.children.splice(r,1):o.children[r]={type:\"text\",value:e.value},r;if(\"element\"===e.type){let t;for(t in eo)if(Object.hasOwn(eo,t)&&Object.hasOwn(e.properties,t)){const n=e.properties[t],r=eo[t];(null===r||r.includes(e.tagName))&&(e.properties[t]=d(String(n||\"\"),t,e))}}if(\"element\"===e.type){let A=t?!t.includes(e.tagName):!!i&&i.includes(e.tagName);if(!A&&n&&\"number\"==typeof r&&(A=!n(e,r,o)),A&&o&&\"number\"==typeof r)return u&&e.children?o.children.splice(r,1,...e.children):o.children.splice(r,1),r}}),qr(b,{Fragment:m,components:A,ignoreInvalidStyle:!0,jsx:h,jsxs:g,passKeys:!0,passNode:!0})}function ca(e){const t=e.indexOf(\":\"),n=e.indexOf(\"?\"),r=e.indexOf(\"#\"),o=e.indexOf(\"/\");return-1===t||-1!==o&&t>o||-1!==n&&t>n||-1!==r&&t>r||aa.test(e.slice(0,t))?e:\"\"}const ua=({children:e})=>h(\"div\",{style:{whiteSpace:\"normal\"},children:h(sa,{components:{p:({...e})=>h(\"p\",{style:{margin:0,marginBottom:\"0.5em\",lineHeight:1.4,textAlign:\"left\"},children:e.children}),ul:({...e})=>h(\"ul\",{style:{paddingLeft:\"clamp(8px, 3.5vw, 16px)\",margin:0,listStylePosition:\"inside\"},children:e.children}),ol:({...e})=>h(\"ol\",{style:{paddingLeft:\"clamp(8px, 3.5vw, 16px)\",margin:0,listStylePosition:\"inside\"},children:e.children}),li:({...e})=>h(\"li\",{style:{marginBottom:\"1px\",lineHeight:1.4},children:e.children}),code:({inline:e,children:t})=>e?h(\"code\",{style:{backgroundColor:\"rgba(0, 0, 0, 0.3)\",padding:\"2px 4px\",borderRadius:\"4px\",fontFamily:\"inherit\",fontSize:\"0.95em\"},children:t}):h(\"pre\",{style:{backgroundColor:\"rgba(0, 0, 0, 0.3)\",padding:\"8px\",borderRadius:\"4px\",overflowX:\"auto\",margin:\"0.5em 0\",whiteSpace:\"pre-wrap\"},children:h(\"code\",{children:t})}),blockquote:({...e})=>h(\"blockquote\",{style:{margin:0,paddingLeft:\"10px\",borderLeft:\"2px solid #ccc\",color:\"#666\",fontStyle:\"italic\"},children:e.children})},children:\"string\"==typeof e?e:\"\"})}),da={autoConfig:!0},pa=e=>()=>(e=>{const{getFlow:t}=Jt(),{messages:n,replaceMessages:r}=Zt(),{settings:o}=en(),{hasChatHistoryLoaded:A}=nn(),i={...e,...da},a=i.markdownComponent?i.markdownComponent:ua;l(()=>{var e,t;if(A){const A=[...n];for(let n=0;n<A.length&&n<((null==(e=o.chatHistory)?void 0:e.maxEntries)??30);n++){const e=A[n];null!=(t=e.tags)&&t.includes(\"rcb-markdown-renderer-plugin:parsed\")&&(e.contentWrapper=a)}r(A)}},[A]);const s=async e=>{var n;const r=null==(n=e.data.message)?void 0:n.sender.toUpperCase();((e,t,n)=>{var r;if(\"string\"!=typeof e.data.message.content||!e.detail.currPath)return!1;const o=t[e.detail.currPath];return!!o&&((null==(r=o.renderMarkdown)?void 0:r.map(e=>e.toUpperCase()).includes(n))??!1)})(e,t(),r)&&(e.data.message.contentWrapper=a,e.data.message.tags||(e.data.message.tags=[]),e.data.message.tags.push(\"rcb-markdown-renderer-plugin:parsed\"))};$t(X.PRE_INJECT_MESSAGE,s),$t(X.CHUNK_STREAM_MESSAGE,s),$t(X.START_STREAM_MESSAGE,s),$t(X.START_SIMULATE_STREAM_MESSAGE,s);const c={name:\"@rcb-plugins/markdown-renderer\"};return null!=i&&i.autoConfig&&(c.settings={event:{rcbPreInjectMessage:!0,rcbChunkStreamMessage:!0,rcbStartSimulateStreamMessage:!0,rcbStartStreamMessage:!0}}),c})(e),fa={autoConfig:!0,promptBaseColors:{info:\"#007bff\",warning:\"#ffc107\",error:\"#dc3545\",success:\"#28a745\"},promptHoveredColors:{info:\"#0056b3\",warning:\"#d39e00\",error:\"#c82333\",success:\"#218838\"},textAreaHighlightColors:{info:\"#007bff\",warning:\"#ffc107\",error:\"#dc3545\",success:\"#28a745\"}},ha=(e,t,n=\"validateTextInput\")=>{var r;if(null==(r=e.detail)||!r.currPath)return;const o=t[e.detail.currPath];if(!o)return;const A=o[n];return\"function\"==typeof A?A:void 0},ga=e=>{const{showToast:t}=(()=>{const{showToast:e,dismissToast:t,toasts:n,replaceToasts:r}=lt();return{showToast:e,dismissToast:t,toasts:n,replaceToasts:r}})(),{getFlow:n}=Jt(),{styles:r,updateStyles:o,replaceStyles:A}=(()=>{const{styles:e,replaceStyles:t,updateStyles:n}=Ft();return{styles:e,replaceStyles:t,updateStyles:n}})(),s=(e=>({...fa,...e,promptBaseColors:{...fa.promptBaseColors},promptHoveredColors:{...fa.promptHoveredColors},textAreaHighlightColors:{...fa.textAreaHighlightColors}}))(e),[c,u]=a(0),d=i({});$t(X.USER_SUBMIT_TEXT,e=>{const A=e,i=ha(A,n(),\"validateTextInput\");if(!i)return;const a=i(A.data.inputText);if(null!=a&&a.success||e.preventDefault(),!a.promptContent)return;0===c&&(d.current=structuredClone(r));const l=((e,t)=>{const n=e.promptType??\"info\";let r={};return t.advancedStyles&&(r=t.advancedStyles[n]),t.promptBaseColors&&(r.toastPromptStyle={color:t.promptBaseColors[n],borderColor:t.promptBaseColors[n]}),t.promptHoveredColors&&(r.toastPromptHoveredStyle={color:t.promptHoveredColors[n],borderColor:t.promptHoveredColors[n]}),t.textAreaHighlightColors&&(e.highlightTextArea??!0)&&(r.chatInputAreaStyle={boxShadow:`${t.textAreaHighlightColors[n]} 0px 0px 5px`}),r})(a,s);o(l),t(a.promptContent,a.promptDuration??3e3),u(e=>e+1)}),$t(X.USER_UPLOAD_FILE,e=>{var r,o;const A=e,i=null==(o=null==(r=A.data)?void 0:r.files)?void 0:o[0];if(!i)return console.error(\"No file uploaded.\"),void e.preventDefault();const a=ha(A,n(),\"validateFileInput\");if(!a)return void console.error(\"Validator not found for file input.\");const l=a(i);if(!l.success)return console.error(\"Validation failed:\",l),l.promptContent&&t(l.promptContent,l.promptDuration??3e3),void e.preventDefault();console.log(\"Validation successful:\",l)}),$t(X.DISMISS_TOAST,()=>{u(e=>e-1)}),l(()=>{0===c&&setTimeout(()=>{A(d.current)})},[c,A]);const p={name:\"@rcb-plugins/input-validator\"};return s.autoConfig&&(p.settings={event:{rcbUserSubmitText:!0,rcbUserUploadFile:!0,rcbDismissToast:!0}}),p},ma=n((e,t)=>{let{embedded:n,currentOpen:r,enabled:o,onSetEnabled:A}=e;const a=Zt(),s=(()=>{const{isChatWindowOpen:e,toggleChatWindow:t,toggleIsBotTyping:n,scrollToBottom:r,getIsChatBotVisible:o}=ne();return{isChatWindowOpen:e,toggleChatWindow:t,toggleIsBotTyping:n,scrollToBottom:r,getIsChatBotVisible:o}})(),c=i(!1),u=i(!1);return l(()=>{!n&&s&&s.toggleChatWindow&&(c.current===r||u.current||(setTimeout(()=>{s&&s.toggleChatWindow&&s.toggleChatWindow(r)},0),c.current=null!=r&&r),u.current=!1)},[r,n,s]),l(()=>{const e=()=>{u.current=!0};return window.addEventListener(\"rcb-toggle-chat-window\",e),()=>window.removeEventListener(\"rcb-toggle-chat-window\",e)}),p(t,()=>({addMessage:e=>{a&&a.injectMessage&&a.injectMessage(e)},openChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow(!0)},closeChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow(!1)},toggleChat:()=>{!n&&s&&s.toggleChatWindow&&s.toggleChatWindow()},setBotEnabled:e=>{A&&A(e)}}),[a,s,n,A]),null});ma.displayName=\"BotController\";const va=r(null),ba=e=>{let{trackEvent:n,children:r}=e;const o=i(n);return o.current=n,t.createElement(va.Provider,{value:{trackEvent:e=>o.current(e)}},r)},wa=()=>{const e=o(va);return e||{trackEvent:()=>{}}},ya=e=>{let{loginUrl:n,className:r=\"\",style:o,isHeaderButton:A=!1}=e;const{trackEvent:i}=wa(),a=A?{display:\"inline-block\",padding:\"6px 12px\",backgroundColor:\"transparent\",border:\"1px solid #ccc\",color:\"white\",textDecoration:\"none\",borderRadius:\"4px\",fontWeight:\"normal\",textAlign:\"center\",margin:\"8px\",fontSize:\"12px\",opacity:.8,transition:\"all 0.2s ease\"}:{display:\"inline-block\",padding:\"10px 20px\",backgroundColor:\"white\",border:\"1px solid var(--primaryColor, #107180)\",color:\"var(--primaryColor, #107180)\",textDecoration:\"none\",borderRadius:\"4px\",fontWeight:\"bold\",textAlign:\"center\",margin:\"18px\",boxShadow:\"0 2px 4px rgba(0, 0, 0, 0.2)\"};return t.createElement(t.Fragment,null,A&&t.createElement(\"style\",null,\"\\n .rcb-chat-header-container .qa-bot-header-login-button:hover {\\n background-color: #0000001a !important;\\n opacity: 1 !important;\\n }\\n \"),t.createElement(\"a\",{href:n,target:\"_blank\",rel:\"noopener noreferrer\",className:\"qa-bot-login-button \".concat(A?\"qa-bot-header-login-button\":\"\",\" \").concat(r),style:Object.assign(Object.assign({},a),o),onClick:()=>{i({type:\"chatbot_login_clicked\",loginUrl:n})}},\"Log In\"))},xa=()=>t.createElement(\"div\",{className:\"user-login-icon\",style:{alignItems:\"center\",justifyContent:\"center\",width:\"30px\",height:\"30px\",borderRadius:\"50%\",backgroundColor:\"var(--primaryColor, #1a5b6e)\",marginRight:\"5px\",display:\"flex\"},role:\"img\",\"aria-label\":\"User logged in\",title:\"User logged in\"},t.createElement(\"svg\",{width:\"18\",height:\"18\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},t.createElement(\"path\",{d:\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"}),t.createElement(\"circle\",{cx:\"12\",cy:\"7\",r:\"4\"}))),Ea=[];for(let e=0;e<256;++e)Ea.push((e+256).toString(16).slice(1));let Ba;const Pa=new Uint8Array(16);var ka={randomUUID:\"undefined\"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function Da(e,t,n){if(ka.randomUUID&&!e)return ka.randomUUID();const r=(e=e||{}).random??e.rng?.()??function(){if(!Ba){if(\"undefined\"==typeof crypto||!crypto.getRandomValues)throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");Ba=crypto.getRandomValues.bind(crypto)}return Ba(Pa)}();if(r.length<16)throw new Error(\"Random bytes length must be >= 16\");return r[6]=15&r[6]|64,r[8]=63&r[8]|128,function(e,t=0){return(Ea[e[t+0]]+Ea[e[t+1]]+Ea[e[t+2]]+Ea[e[t+3]]+\"-\"+Ea[e[t+4]]+Ea[e[t+5]]+\"-\"+Ea[e[t+6]]+Ea[e[t+7]]+\"-\"+Ea[e[t+8]]+Ea[e[t+9]]+\"-\"+Ea[e[t+10]]+Ea[e[t+11]]+Ea[e[t+12]]+Ea[e[t+13]]+Ea[e[t+14]]+Ea[e[t+15]]).toLowerCase()}(r)}function Ca(){return\"undefined\"!=typeof localStorage&&\"true\"===localStorage.getItem(\"QA_BOT_DEBUG\")}const Sa=\"background: #1a5b6e; color: white; padding: 2px 6px; border-radius: 3px;\",Ia=\"background: #7c3aed; color: white; padding: 2px 6px; border-radius: 3px;\",Ta=\"background: #059669; color: white; padding: 2px 6px; border-radius: 3px;\",Qa=\"background: #f59e0b; color: #000; padding: 2px 6px; border-radius: 3px 0 0 3px; font-weight: bold;\",Ma=\"background: #fbbf24; color: #000; padding: 2px 6px; border-radius: 0 3px 3px 0;\",Oa=()=>{Ca()&&console.log(\"%c QA Bot Core %c v\".concat(\"0.2.19\",\" \"),Qa,Ma)},La=function(e){if(Ca()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(\"%c[Session]%c \".concat(e),Sa,\"\",...n)}},Na=function(e){if(Ca()){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];console.log(\"%c[History]%c \".concat(e),Ia,\"\",...n)}},Ha=(e,t)=>{Ca()&&console.log(\"%c[Message]%c \".concat(e),Ta,\"\",t)},Ra=function(){console.warn(...arguments)},za=function(){console.error(...arguments)},ja=\"qa_bot_session_messages\",Fa=()=>\"qa_bot_session_\".concat(Da()),Ua=()=>{try{const e=localStorage.getItem(ja);return e?JSON.parse(e):{}}catch(e){return{}}},qa=(e,t,n,r,o)=>{const A=Ua();!A[e]&&(A[e]={messages:[],startedAt:(new Date).toISOString(),preview:\"\"},Na(\"NEW session created\",{sessionId:e.slice(-12)}));if(A[e].messages.some(e=>e.id===t))return void Na(\"DUPLICATE message skipped\",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:r});const i={id:t,content:n,sender:r,type:o,timestamp:Date.now()};A[e].messages.push(i),Na(\"MESSAGE added\",{sessionId:e.slice(-12),messageId:t.slice(-8),sender:r,totalInSession:A[e].messages.length});const a=A[e].messages,l=a.find(e=>{var t;return\"bot\"===e.sender.toLowerCase()&&(null===(t=e.content)||void 0===t?void 0:t.trim())&&e.content.length>=100});if(l){const t=l.content;A[e].preview=t.slice(0,50)+(t.length>50?\"...\":\"\")}else{const t=a.find(e=>{var t;return\"user\"===e.sender.toLowerCase()&&(null===(t=e.content)||void 0===t?void 0:t.trim())});if(t&&!A[e].preview){const n=t.content;A[e].preview=n.slice(0,50)+(n.length>50?\"...\":\"\")}}(e=>{var t;const n=()=>Object.values(e).reduce((e,t)=>e+t.messages.length,0);for(;n()>100&&Object.keys(e).length>1;){const n=null===(t=Object.entries(e).sort((e,t)=>{let[,n]=e,[,r]=t;return new Date(n.startedAt).getTime()-new Date(r.startedAt).getTime()})[0])||void 0===t?void 0:t[0];if(!n)break;delete e[n]}localStorage.setItem(ja,JSON.stringify(e))})(A),Na(\"STORAGE state\",{ourSessions:Object.keys(A).length,ourTotalMessages:Object.values(A).reduce((e,t)=>e+t.messages.length,0)})},_a=e=>{var t,n;return null!==(n=null===(t=Ua()[e])||void 0===t?void 0:t.messages.length)&&void 0!==n?n:0},Ya=e=>{const t=Ua()[e];return(null==t?void 0:t.startedAt)?Date.now()-new Date(t.startedAt).getTime():0},Ga=r(void 0),Wa=e=>{let{children:n,getSessionId:r,setSessionId:o,resetSession:A,clearResettingFlag:i}=e;return t.createElement(Ga.Provider,{value:{getSessionId:r,setSessionId:o,resetSession:A,clearResettingFlag:i}},n)},Va=()=>{const e=o(Ga);if(!e)throw new Error(\"useSession must be used within a SessionProvider\");return e},Xa=()=>{const[e,n]=a(!1),[r,o]=a([]),[A,s]=a(null),[c,u]=a(0),d=i(null),p=i(null),{replaceMessages:f}=Zt(),{toggleTextAreaDisabled:h}=tn(),{setSessionId:g,getSessionId:m}=Va();l(()=>{var t,r;const o=e=>{d.current&&!d.current.contains(e.target)&&p.current&&!p.current.contains(e.target)&&n(!1)},A=null!==(r=null===(t=d.current)||void 0===t?void 0:t.getRootNode())&&void 0!==r?r:document;return e&&A.addEventListener(\"mousedown\",o),()=>{A.removeEventListener(\"mousedown\",o)}},[e]);const v=e=>{var t;const r=m();if(Na(\"RESTORE requested\",{targetSession:e.slice(-12),currentSession:null==r?void 0:r.slice(-12)}),e===r)return Na(\"RESTORE skipped - already on this session\"),void n(!1);const o=(e=>{var t;return(null===(t=Ua()[e])||void 0===t?void 0:t.messages)||[]})(e).filter(e=>{var t;return null===(t=e.content)||void 0===t?void 0:t.trim()});Na(\"Stored messages from our localStorage\",{count:o.length,ids:o.map(e=>e.id.slice(-8))});const A=o.map(e=>({id:e.id,content:e.content,sender:e.sender.toUpperCase(),type:e.type||\"string\",timestamp:new Date(e.timestamp).toISOString()}));var i;g(e),Na(\"Session ID updated\",{newSession:e.slice(-12)}),f(A),Na(\"replaceMessages called\",{count:A.length}),i=null===(t=p.current)||void 0===t?void 0:t.getRootNode(),setTimeout(()=>{const e=(i||document).querySelector(\".rcb-chat-body-container\");e&&e.querySelectorAll(\".rcb-bot-message\").forEach(e=>{var t;let n=e.innerHTML,r=!1;n.includes(\"](\")&&(n=n.replace(/\\[([^\\]]+)\\]\\(([^)]+)\\)/g,'<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>'),r=!0),n.includes(\"<a href=\")&&(n=n.replace(/<a\\s+href=[\"']([^\"']+)[\"'][^&]*>([^&]+)<\\/a>/gi,'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$2</a>'),r=!0),(n.includes(\"<a \")||(null===(t=e.textContent)||void 0===t?void 0:t.includes(\"<a href=\")))&&(e.textContent||\"\").includes(\"<a href=\")&&(n=n.replace(/<a\\s+href=\"([^\"]+)\"[^&]*>([^&]+)<\\/a>/gi,'<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$2</a>'),r=!0),r&&(e.innerHTML=n)})},50),h(!1),Na(\"Chat input enabled after restore\"),n(!1)};return t.createElement(\"div\",{style:{position:\"relative\"}},t.createElement(\"button\",{ref:p,className:\"history-button\",onClick:()=>{if(!e&&(o((()=>{const e=Ua();return Object.entries(e).map(e=>{let[t,n]=e;return Object.assign({sessionId:t},n)}).sort((e,t)=>new Date(t.startedAt).getTime()-new Date(e.startedAt).getTime())})()),p.current)){const e=p.current.closest(\".rcb-chat-window\");if(e){const t=e.getBoundingClientRect(),n=p.current.getBoundingClientRect();s(t.width+3),u(t.right-n.right-18+4)}}n(!e)},style:{alignItems:\"center\",justifyContent:\"center\",width:\"30px\",height:\"30px\",borderRadius:\"50%\",backgroundColor:\"var(--primaryColor, #1a5b6e)\",marginRight:\"18px\",display:\"flex\",border:\"none\",cursor:\"pointer\",padding:0},\"aria-label\":\"View chat history\",title:\"View chat history\",\"aria-expanded\":e,\"aria-haspopup\":\"menu\"},t.createElement(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},t.createElement(\"circle\",{cx:\"12\",cy:\"12\",r:\"10\"}),t.createElement(\"polyline\",{points:\"12 6 12 12 16 14\"}))),e&&t.createElement(\"div\",{ref:d,role:\"menu\",style:{position:\"absolute\",right:c?\"-\".concat(c,\"px\"):\"-18px\",top:\"100%\",marginTop:\"8px\",width:A?\"\".concat(A,\"px\"):\"550px\",backgroundColor:\"white\",borderRadius:0,borderBottom:\"3px solid var(--primaryColor, #1a5b6e)\",boxShadow:\"0 2px 8px rgba(0, 0, 0, 0.1)\",maxHeight:\"250px\",overflowY:\"auto\",zIndex:1e3}},0===r.length?t.createElement(\"div\",{style:{padding:\"12px 16px\",color:\"#666\",fontSize:\"14px\",textAlign:\"center\"}},\"No chat history\"):r.map(e=>t.createElement(\"button\",{key:e.sessionId,role:\"menuitem\",onClick:()=>v(e.sessionId),style:{width:\"100%\",padding:\"10px 14px\",border:\"none\",backgroundColor:\"transparent\",cursor:\"pointer\",textAlign:\"left\",display:\"flex\",flexDirection:\"column\",gap:\"2px\",borderBottom:\"1px solid #eee\"},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=\"#f5f5f5\"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=\"transparent\"}},t.createElement(\"span\",{style:{fontSize:\"14px\",color:\"#333\",overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\"}},e.preview||\"New conversation\"),t.createElement(\"span\",{style:{fontSize:\"12px\",color:\"#888\"}},(e=>{const t=new Date(e),n=(new Date).getTime()-t.getTime(),r=Math.floor(n/864e5);return 0===r?t.toLocaleTimeString([],{hour:\"2-digit\",minute:\"2-digit\"}):1===r?\"Yesterday\":r<7?t.toLocaleDateString([],{weekday:\"short\"}):t.toLocaleDateString([],{month:\"short\",day:\"numeric\"})})(e.startedAt))))))};function Ka(){return Ka=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ka.apply(null,arguments)}const Ja=({width:e=24,height:n=24,color:r=\"currentColor\",children:o,...A})=>t.createElement(\"svg\",Ka({xmlns:\"http://www.w3.org/2000/svg\",width:e,height:n,viewBox:\"0 0 24 24\",fill:\"none\",stroke:r,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",\"aria-hidden\":\"true\",focusable:\"false\"},A),o),Za=e=>t.createElement(Ja,e,t.createElement(\"path\",{d:\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"})),$a=()=>{const{restartFlow:e}=Jt(),{setTextAreaValue:n}=tn(),{messages:r}=Zt(),{getSessionId:o,resetSession:A,clearResettingFlag:i}=Va(),{trackEvent:a}=wa();return t.createElement(\"button\",{onClick:async()=>{const t=o(),r=t?_a(t):0;a({type:\"chatbot_new_chat\",previousMessageCount:r}),A(),await n(\"\"),await e(),setTimeout(()=>{i()},100)},tabIndex:0,\"aria-label\":\"New chat conversation\",style:{backgroundColor:\"var(--primaryColor, #107180)\",border:\"none\",color:\"#ffffff\",fontSize:\"14px\",cursor:\"pointer\",padding:\"8px 12px\",borderRadius:\"4px\",transition:\"all 0.2s ease\",display:\"flex\",alignItems:\"center\",gap:\"6px\",fontWeight:\"500\"},onMouseEnter:e=>{e.target.style.backgroundColor=\"var(--secondaryColor, #0d5f6b)\"},onMouseLeave:e=>{e.target.style.backgroundColor=\"var(--primaryColor, #107180)\"}},t.createElement(Za,{width:16,height:16}),\"New Chat\")};function el(e){if(\"string\"==typeof e)return e;if(\"number\"==typeof e)return String(e);if(!e)return\"\";if(Array.isArray(e))return e.map(el).join(\"\");if(\"object\"==typeof e&&null!==e&&\"props\"in e){const t=e.props;if(t&&\"children\"in t)return el(t.children)}return\"\"}const tl=()=>{const{getSessionId:e}=Va(),t=A(t=>{var n;const r=null===(n=t.data)||void 0===n?void 0:n.message;if(!(null==r?void 0:r.id))return;const o=r.sender,A=r.type||\"string\";let i;if(i=\"string\"==typeof r.content?r.content:el(r.content),Ha(\"TRACKED\",{id:r.id,sender:o,content:i.substring(0,50)+(i.length>50?\"...\":\"\")}),i.includes(\"rcb-options-container\"))return;if(!i.trim())return;const a=e();qa(a,r.id,i,o,A)},[e]);return l(()=>(window.addEventListener(\"rcb-pre-inject-message\",t),()=>{window.removeEventListener(\"rcb-pre-inject-message\",t)}),[t]),null},nl=()=>(l(()=>{const e=e=>{if(![\"ArrowDown\",\"ArrowUp\",\"ArrowLeft\",\"ArrowRight\",\"Enter\",\" \",\"Home\",\"End\"].includes(e.key))return;const n=document.activeElement;if(n&&(\"INPUT\"===n.tagName||\"TEXTAREA\"===n.tagName||\"true\"===n.contentEditable||n.classList.contains(\"rcb-chat-input-textarea\")))return;const r=document.querySelector(\".rcb-chat-window\");if(!r)return;const o=Array.from(r.querySelectorAll(\".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container\")).filter(e=>null!==e.offsetParent);if(o.length>0){const t=o[o.length-1].querySelector(\".rcb-checkbox-container\");if(t&&null!==t.offsetParent){const n=Array.from(t.querySelectorAll(\".rcb-checkbox-row-container\")),r=t.querySelector(\".rcb-checkbox-next-button\");if(n.length>0){const t=[...n];return r&&t.push(r),void((e,t)=>{e.preventDefault();let n=-1;for(let e=0;e<t.length;e++)if(t[e]===document.activeElement||t[e].contains(document.activeElement)){n=e;break}-1===n&&(n=0);let r=n;switch(e.key){case\"ArrowDown\":case\"ArrowRight\":r=n<t.length-1?n+1:0;break;case\"ArrowUp\":case\"ArrowLeft\":r=n>0?n-1:t.length-1;break;case\"Home\":r=0;break;case\"End\":r=t.length-1;break;case\"Enter\":case\" \":{const e=t[n],r=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});return void e.dispatchEvent(r)}default:return}t[r].focus(),t[r].setAttribute(\"tabindex\",\"0\"),t[r].classList.add(\"keyboard-focused\"),t.forEach((e,t)=>{t!==r&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))})})(e,t)}}}let A=[];if(o.length>0){const e=o[o.length-1],t=Array.from(e.querySelectorAll(\".rcb-options-container\")).filter(e=>null!==e.offsetParent);if(t.length>0){const e=t[t.length-1];A=Array.from(e.querySelectorAll(\".rcb-options\"))}}if(0===A.length)return;const i=A.findIndex(e=>e===document.activeElement);switch(e.key){case\"ArrowDown\":case\"ArrowRight\":{let t;e.preventDefault(),t=i<A.length-1?i+1:0,A[t].setAttribute(\"tabindex\",\"0\"),A.forEach((e,n)=>{n!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[t].classList.add(\"keyboard-focused\"),A[t].focus();break}case\"ArrowUp\":case\"ArrowLeft\":{let t;e.preventDefault(),t=i>0?i-1:A.length-1,A[t].setAttribute(\"tabindex\",\"0\"),A.forEach((e,n)=>{n!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[t].classList.add(\"keyboard-focused\"),A[t].focus();break}case\"Enter\":case\" \":if(e.preventDefault(),document.activeElement&&A.includes(document.activeElement)){const e=document.activeElement;if(e.classList.contains(\"rcb-checkbox-row-container\")||e.closest(\".rcb-checkbox-row-container\")){const n=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n);const r=e.querySelector(\".rcb-checkbox-label\"),o=r?r.textContent:e.textContent||\"checkbox\",A=e.querySelector(\".rcb-checkbox-mark\"),i=A&&A.style.backgroundColor?\"checked\":\"unchecked\";t(`${o} ${i}`)}else{const n=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});e.dispatchEvent(n);const r=e.textContent||e.innerText;t(`Selected: ${r}`)}}break;case\"Home\":e.preventDefault(),A.length>0&&(A[0].setAttribute(\"tabindex\",\"0\"),A.forEach((e,t)=>{0!==t&&(e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\"))}),A[0].classList.add(\"keyboard-focused\"),A[0].focus());break;case\"End\":if(e.preventDefault(),A.length>0){const e=A.length-1;A[e].setAttribute(\"tabindex\",\"0\"),A.forEach((t,n)=>{n!==e&&(t.setAttribute(\"tabindex\",\"-1\"),t.classList.remove(\"keyboard-focused\"))}),A[e].classList.add(\"keyboard-focused\"),A[e].focus()}}},t=e=>{const t=document.createElement(\"div\");t.setAttribute(\"aria-live\",\"assertive\"),t.setAttribute(\"aria-atomic\",\"true\"),t.className=\"sr-only\",t.textContent=e,document.body.appendChild(t),setTimeout(()=>{document.body.contains(t)&&document.body.removeChild(t)},1e3)},n=(e=null)=>{let n=e;if(n||(n=document.querySelector(\".rcb-chat-window\"),n||(n=document.querySelector('[class*=\"rcb-chat\"]')),n||(n=document.querySelector(\".qa-bot\"))),!n)return;const r=null!==n.closest(\".embedded-qa-bot\"),o=Array.from(n.querySelectorAll(\".rcb-message-container, .rcb-bot-message-container, .rcb-user-message-container\")).filter(e=>null!==e.offsetParent);if(0===o.length)return;const A=o[o.length-1],i=Array.from(A.querySelectorAll(\".rcb-options-container\")).filter(e=>null!==e.offsetParent);let a=[];if(i.length>0){const e=i[i.length-1];a=Array.from(e.querySelectorAll(\".rcb-options\"))}if(0===a.length){let e=A.querySelector(\".rcb-checkbox-container\");if(!e&&n&&(e=n.querySelector(\".rcb-checkbox-container\")),e&&null!==e.offsetParent){const t=Array.from(e.querySelectorAll(\".rcb-checkbox-row-container\")).filter(e=>null!==e.offsetParent&&\"none\"!==e.style.display);if(t.length>0){const n=e.querySelector(\".rcb-checkbox-next-button\"),o=[...t];if(n&&null!==n.offsetParent&&o.push(n),o.forEach((e,t)=>{e.setAttribute(\"tabindex\",0===t?\"0\":\"-1\"),0===t?e.classList.add(\"keyboard-focused\"):e.classList.remove(\"keyboard-focused\")}),t.length>1){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove());const t=document.createElement(\"div\");t.className=\"keyboard-nav-hint\",t.textContent=\"Use arrow keys ↕ to navigate, Enter to select/deselect, or click any option\",t.style.cssText=\"font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;\",e.insertBefore(t,e.firstChild)}return void setTimeout(()=>{o[0]&&null!==o[0].offsetParent&&!r&&o[0].focus()},150)}}}if(a.length>0){if(a.forEach((e,t)=>{const n=0===t?\"0\":\"-1\";e.setAttribute(\"tabindex\",n),e.setAttribute(\"role\",\"option\"),e.setAttribute(\"aria-posinset\",t+1),e.setAttribute(\"aria-setsize\",a.length),0===t?e.classList.add(\"keyboard-focused\"):e.classList.remove(\"keyboard-focused\")}),a.length>1){const e=i.length>0?i[i.length-1]:null;if(e){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove());const t=document.createElement(\"div\");t.className=\"keyboard-nav-hint\",t.textContent=\"Use arrow keys ↕ to navigate, Enter to select, or click any option\",t.style.cssText=\"font-size: 12px !important; color: #666 !important; margin-bottom: 8px !important; font-style: italic !important; display: block !important;\",e.insertBefore(t,e.firstChild)}}else{const e=i.length>0?i[i.length-1]:null;if(e){e.querySelectorAll(\".keyboard-nav-hint\").forEach(e=>e.remove())}}setTimeout(()=>{a[0]&&null!==a[0].offsetParent&&!r&&(a[0].focus(),a.length>1&&t(`${a.length} options available. Use arrow keys to navigate.`))},200)}},r=e=>{const t=e.querySelectorAll(\".rcb-options\");t.forEach((e,n)=>{e.hasAttribute(\"role\")||(e.setAttribute(\"role\",\"button\"),e.setAttribute(\"tabindex\",0===n?\"0\":\"-1\"),e.setAttribute(\"aria-posinset\",n+1),e.setAttribute(\"aria-setsize\",t.length))});e.querySelectorAll(\".rcb-checkbox-row-container\").forEach((e,t)=>{e.hasAttribute(\"role\")||(e.setAttribute(\"role\",\"checkbox\"),e.setAttribute(\"tabindex\",0===t?\"0\":\"-1\"))})},o=new MutationObserver(e=>{e.forEach(e=>{if(\"childList\"===e.type){const t=Array.from(e.addedNodes),o=t.some(e=>e.nodeType===Node.ELEMENT_NODE&&(e.classList?.contains(\"rcb-options-container\")||e.classList?.contains(\"rcb-options\")||e.querySelector?.(\".rcb-options-container\")||e.querySelector?.(\".rcb-options\"))),A=t.some(e=>e.nodeType===Node.ELEMENT_NODE&&(e.classList?.contains(\"rcb-checkbox-container\")||e.querySelector?.(\".rcb-checkbox-container\")));if(o||A){let t=e.target;for(;t&&!t.classList?.contains(\"qa-bot\")&&!t.classList?.contains(\"rcb-chat-window\");)t=t.parentElement;const o=t||document;r(o),o.querySelectorAll(\".rcb-options[tabindex], .rcb-checkbox-row-container[tabindex], .rcb-checkbox-next-button[tabindex]\").forEach(e=>{e.setAttribute(\"tabindex\",\"-1\"),e.classList.remove(\"keyboard-focused\")}),setTimeout(()=>n(t),100)}}})});o.observe(document.body,{childList:!0,subtree:!0}),document.addEventListener(\"keydown\",e),r(document),n();const A=setInterval(()=>{document.querySelectorAll(\".qa-bot\").forEach(e=>{const t=e.querySelectorAll(\".rcb-options-container .rcb-options\").length>0,o=e.querySelectorAll(\".rcb-checkbox-row-container\").length>0;if(t){r(e);const t=e.querySelectorAll(\".rcb-options[tabindex]\").length;e.querySelectorAll(\".rcb-options\").length>t&&n(e)}if(o){r(e);const t=e.querySelectorAll(\".rcb-checkbox-row-container[tabindex]\").length;e.querySelectorAll(\".rcb-checkbox-row-container\").length>t&&n(e)}})},1e3);return()=>{document.removeEventListener(\"keydown\",e),o.disconnect(),clearInterval(A)}},[]),null);const rl=\"#1a5b6e\",ol=\"#107180\",Al=\"Arial, sans-serif\",il=\"Q&A Bot\",al=\"/chat-icon.svg\",ll=\"Type your question here...\",sl=\"Select an option to continue\",cl=!1,ul=\"Ask me a question!\",dl=\"/login\",pl={general:{showHeader:!0,showFooter:!0},tooltip:{mode:\"CLOSE\"},chatInput:{disabled:!1,characterLimit:1e3,showCharacterCount:!1,allowNewline:!0,blockSpam:!1},chatWindow:{defaultOpen:!1,showScrollbar:!1},botBubble:{simulateStream:!0,streamSpeed:10,showAvatar:!1},userBubble:{showAvatar:!1},notification:{disabled:!0,showCount:!1},audio:{disabled:!0},emoji:{disabled:!0},fileAttachment:{disabled:!0}},fl=n((e,n)=>{var r,o;const{apiKey:c,qaEndpoint:u,ratingEndpoint:d,welcomeMessage:p,open:f,onOpenChange:h,isLoggedIn:g,allowAnonAccess:m=!1,actingUser:v,primaryColor:b,secondaryColor:y,botName:x,logo:E,placeholder:B,errorMessage:P,embedded:k,footerText:D,footerLink:C,tooltipText:S,loginUrl:I,customFlow:T,onAnalyticsEvent:Q}=e,M=i(\"bot_\".concat(Math.random().toString(36).substr(2,9)));l(()=>{Oa()},[]);const O=i(null);null===O.current&&(O.current=Fa(),La(\"CREATED\",O.current));const L=i(!1),N=i({getSessionId:()=>O.current,isResetting:()=>L.current}),[H,R]=a(g);l(()=>{R(g)},[g]);const z=void 0!==k?k:cl,j=A(e=>{var t;Q&&Q(Object.assign(Object.assign({},e),{timestamp:Date.now(),sessionId:null!==(t=O.current)&&void 0!==t?t:void 0,pageUrl:\"undefined\"!=typeof window?window.location.href:void 0,isEmbedded:z}))},[Q,z]),F=s(()=>{const e=Object.assign({},pl);e.general=Object.assign(Object.assign({},e.general),{primaryColor:b||rl,secondaryColor:y||ol,fontFamily:Al,embedded:z});const n=!1===H?[t.createElement(ya,{key:\"login-button\",loginUrl:I||dl,isHeaderButton:!0})]:[t.createElement(Xa,{key:\"history-button\"}),t.createElement(xa,{key:\"user-icon\"})];e.header={title:t.createElement(\"span\",{style:{fontSize:14,fontWeight:500}},x||il),showAvatar:!0,avatar:E||al,buttons:[...n,w.CLOSE_CHAT_BUTTON]},e.chatInput=Object.assign(Object.assign({},e.chatInput),{disabled:!1,enabledPlaceholderText:B||ll,disabledPlaceholderText:P||sl}),e.tooltip=Object.assign(Object.assign({},e.tooltip),{text:S||ul});const r=D?C?t.createElement(\"a\",{href:C,target:\"_blank\",rel:\"noopener noreferrer\",key:\"footer-link\"},D):t.createElement(\"span\",{key:\"footer-text\"},D):null;return e.footer={text:r,buttons:[t.createElement($a,{key:\"new-chat-button\"})]},e.chatWindow=Object.assign(Object.assign({},e.chatWindow),{defaultOpen:!!z}),e.event={rcbPreInjectMessage:!0,rcbPostInjectMessage:!0,rcbUserSubmitText:!0,rcbChangePath:!0,rcbToggleChatWindow:!0},e},[b,y,x,E,B,P,z,S,H,I,D,C]),U=i(null),q=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s(()=>{const n=(t,n)=>{if(e.current){const n=getComputedStyle(e.current).getPropertyValue(t);if(n&&\"\"!==n.trim())return n.trim();if(e.current.parentElement){const n=getComputedStyle(e.current.parentElement).getPropertyValue(t);if(n&&\"\"!==n.trim())return n.trim()}}return n};return{primaryColor:n(\"--primaryColor\",t.primaryColor),secondaryColor:n(\"--secondaryColor\",t.secondaryColor),fontFamily:n(\"--fontFamily\",t.fontFamily)}},[e,t])}(U,F.general);((e,t)=>{l(()=>{t.current&&(e?t.current.classList.add(\"bot-logged-in\"):t.current.classList.remove(\"bot-logged-in\"))},[e,t])})(!1!==H,U),(e=>{let{settings:n,themeColors:r}=e;l(()=>{r&&(Object.entries(r).forEach(e=>{let[t,n]=e;n&&document.documentElement.style.setProperty(\"--\".concat(t),n)}),r.primaryColor&&document.documentElement.style.setProperty(\"--rcb-header-background\",r.primaryColor),r.secondaryColor&&document.documentElement.style.setProperty(\"--rcb-header-background-hover\",r.secondaryColor))},[r]),l(()=>{var e,r;(null===(e=n.header)||void 0===e?void 0:e.title)&&\"string\"==typeof n.header.title&&(n.header.title=t.createElement(\"div\",{key:\"header-title\"},t.createElement(\"h1\",{className:\"sr-only\"},n.header.title),t.createElement(\"span\",{\"aria-hidden\":\"true\"},n.header.title))),n.device={desktopEnabled:!0,mobileEnabled:!0,applyMobileOptimizations:!1},n.chatHistory={disabled:!0},n.chatButton=Object.assign(Object.assign({},n.chatButton),{icon:null===(r=n.header)||void 0===r?void 0:r.avatar}),n.event=Object.assign(Object.assign({},n.event),{rcbToggleChatWindow:!0})},[n])})({settings:F,themeColors:q});const _=s(()=>{const e=(e=>{let{endpoint:n,ratingEndpoint:r,apiKey:o,sessionId:A,isResetting:i=()=>!1,isLoggedIn:a,allowAnonAccess:l=!1,loginUrl:s=\"/login\",trackEvent:c}=e;if(!1===a&&!l)return null==c||c({type:\"chatbot_login_prompt_shown\"}),{qa_loop:{message:\"To ask questions, please log in first.\",component:t.createElement(ya,{loginUrl:s}),chatDisabled:!0,path:\"qa_loop\"}};let u=null,d=!1;if(!n)throw new Error(\"Q&A endpoint is required\");return{qa_loop:{message:async e=>{const{userInput:t}=e;if(i&&i())return null;if(!t||\"\"===t.trim())return null;if(\"👍 Helpful\"===t||\"👎 Not helpful\"===t){if(r&&u)try{const e=\"👍 Helpful\"===t,n={\"Content-Type\":\"application/json\"};o&&(n[\"X-API-KEY\"]=o);const i=A();i&&(n[\"X-Session-ID\"]=i,n[\"X-Query-ID\"]=u),await fetch(r,{method:\"POST\",headers:n,credentials:\"include\",body:JSON.stringify({sessionId:i,queryId:u,rating:e?1:0})}),null==c||c({type:\"chatbot_rating_sent\",queryId:u,rating:e?\"helpful\":\"not_helpful\"})}catch(e){za(\"Error sending feedback:\",e)}return\"Thanks for the feedback! Feel free to ask another question.\"}try{const r=Da();u=r,null==c||c({type:\"chatbot_question_sent\",queryId:r,questionLength:t.length});const i={\"Content-Type\":\"application/json\"};o&&(i[\"X-API-KEY\"]=o);const a=A();a&&(i[\"X-Session-ID\"]=a,i[\"X-Query-ID\"]=r);const l={query:t,session_id:a,question_id:r};La(\"SENT to API\",{session_id:a,question_id:r});const s=Date.now(),p=await fetch(n,{method:\"POST\",headers:i,credentials:\"include\",body:JSON.stringify(l)}),f=Date.now()-s;if(!p.ok)throw new Error(\"API returned \".concat(p.status));const h=await p.json(),g=h.response||h.answer||h.text||h.message;if(!g)throw new Error(\"Invalid response format from API\");const m=(e=>{if(!e||\"string\"!=typeof e)return e;let t=e.replace(/\\[(https?:\\/\\/[^\\s]+?)\\]/gi,\"[$1]($1)\");return t=t.replace(/(?<!\\]\\(|href=[\"']|\\[)https?:\\/\\/[^\\s[\\]()]+/gi,e=>{let t=e,n=\"\";const r=t.match(/([.,;:!?]+)$/);return r&&(n=r[1],t=t.slice(0,-n.length)),\"[\".concat(t,\"](\").concat(t,\")\").concat(n)}),t})(g),v=function(e){const{confidence:t,tools_used:n,metadata:r}=e;if(!(t||n&&0!==n.length))return\"\";const o=[];return t&&o.push(\"• Confidence: \".concat(t)),n&&n.length>0&&o.push(\"• Tools used: \".concat(n.join(\", \"))),(null==r?void 0:r.agent)&&o.push(\"• Agent: \".concat(r.agent)),\"---\\n\".concat(o.join(\"\\n\"))}(h),b=v?\"\".concat(m,\"\\n\\n\").concat(v):m;return await e.injectMessage(b),null==c||c({type:\"chatbot_answer_received\",queryId:r,responseTimeMs:f,success:!0,responseLength:g.length,hasMetadata:!!v}),d=!0,setTimeout(async()=>{await e.injectMessage(\"Feel free to ask another question.\")},100),null}catch(e){return za(\"Error in Q&A flow:\",e),null==c||c({type:\"chatbot_answer_error\",queryId:null!=u?u:void 0,errorType:e instanceof Error?e.message:\"unknown\"}),\"I apologize, but I'm having trouble processing your question. Please try again later.\"}},options:e=>i&&i()||\"👍 Helpful\"===e.userInput||\"👎 Not helpful\"===e.userInput?[]:r&&d?[\"👍 Helpful\",\"👎 Not helpful\"]:[],renderMarkdown:[\"BOT\"],chatDisabled:!1,path:\"qa_loop\"}}})({endpoint:u,ratingEndpoint:d,apiKey:c,sessionId:N.current.getSessionId,isResetting:N.current.isResetting,isLoggedIn:H,allowAnonAccess:m,loginUrl:I||dl,trackEvent:j}),n={message:p,renderMarkdown:[\"BOT\"],transition:{duration:0},path:\"qa_loop\"};return Object.assign(Object.assign({start:n},e),T||{})},[c,u,d,p,H,m,I,T,v,j]),Y=s(()=>{return[()=>Qn(t),pa(),()=>ga(e)];var e,t},[]);return l(()=>{const e=()=>{const e=document.querySelector(\".rcb-chat-window\");if(!e)return;const t=e.querySelector(\".rcb-send-button\");t&&(t.hasAttribute(\"tabindex\")||t.setAttribute(\"tabindex\",\"0\"),t.hasAttribute(\"data-keyboard-enabled\")||(t.setAttribute(\"data-keyboard-enabled\",\"true\"),t.addEventListener(\"keydown\",e=>{if(\"Enter\"===e.key||\" \"===e.key){e.preventDefault();const n=t&&Object.keys(t).find(e=>e.startsWith(\"__reactProps\"));if(n){const r=t[n],o=null==r?void 0:r.onMouseDown;if(o&&\"function\"==typeof o)return void o(e)}const r=new MouseEvent(\"mousedown\",{bubbles:!0,cancelable:!0,view:window});t.dispatchEvent(r)}})))},t=setInterval(e,1e3);return e(),()=>clearInterval(t)},[]),nl(),l(()=>{const e=U.current;if(!e)return;const t=e=>{var t,n,r;const o=null===(n=(t=e.target).closest)||void 0===n?void 0:n.call(t,\"a\");o&&o.closest(\".rcb-chat-body-container\")&&(o.classList.contains(\"qa-bot-login-button\")||o.closest(\".rcb-options-container\")||j({type:\"chatbot_link_clicked\",linkUrl:o.href,linkText:(null===(r=o.textContent)||void 0===r?void 0:r.trim())||\"\"}))};return e.addEventListener(\"click\",t),()=>e.removeEventListener(\"click\",t)},[j]),l(()=>{if(!z){const e=e=>{const t=e.data.newState;null==h||h(t);const n=O.current;j(t?{type:\"chatbot_open\"}:{type:\"chatbot_close\",messageCount:n?_a(n):0,durationMs:n?Ya(n):0})};return window.addEventListener(\"rcb-toggle-chat-window\",e),()=>{window.removeEventListener(\"rcb-toggle-chat-window\",e)}}},[z,h,j]),t.createElement(\"div\",{className:\"qa-bot \".concat((null===(r=F.general)||void 0===r?void 0:r.embedded)?\"embedded-qa-bot\":\"\"),ref:U,role:\"region\",\"aria-label\":x||il},t.createElement(Wa,{getSessionId:()=>O.current,setSessionId:e=>{const t=O.current;O.current=e,La(\"RESTORED\",\"\".concat(null==t?void 0:t.slice(-12),\" -> \").concat(e.slice(-12)))},resetSession:()=>{const e=O.current;L.current=!0,O.current=Fa(),La(\"RESET\",\"\".concat(null==e?void 0:e.slice(-12),\" -> \").concat(O.current.slice(-12)))},clearResettingFlag:()=>{L.current=!1}},t.createElement(ba,{trackEvent:j},t.createElement(Yt,null,t.createElement(\"div\",null,t.createElement(tl,null),t.createElement(ma,{ref:n,embedded:(null===(o=F.general)||void 0===o?void 0:o.embedded)||!1,currentOpen:f||!1,enabled:!1!==H,onSetEnabled:e=>R(!!e&&void 0)}),t.createElement(Xt,{key:\"chatbot-\".concat(M.current,\"-\").concat(H),settings:F,flow:_,plugins:Y}),t.createElement(\"div\",{role:\"status\",\"aria-live\":\"polite\",\"aria-label\":\"Bot response updates\",className:\"sr-only\",id:\"bot-live-region\",style:{position:\"absolute\",width:\"1px\",height:\"1px\",padding:0,margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0}}),t.createElement(\"div\",{id:\"chat-input-help\",className:\"sr-only\",style:{position:\"absolute\",width:\"1px\",height:\"1px\",padding:0,margin:\"-1px\",overflow:\"hidden\",clip:\"rect(0,0,0,0)\",whiteSpace:\"nowrap\",border:0}},\"Type your message and press Enter to send. Use arrow keys to navigate through response options.\"))))))});fl.displayName=\"QABot\";b('.rcb-chat-window{height:800px!important;max-height:80vh!important;max-width:100%;width:550px!important}.rcb-chat-window .rcb-chat-header{align-items:center;display:flex;flex-direction:row;font-weight:700}.rcb-chat-window a{color:#000;font-weight:700;text-decoration:underline}.rcb-chat-window a:hover{color:var(--primaryColor,#107180)}.rcb-chat-window .rcb-bot-message a,.rcb-chat-window .rcb-bot-message a:link,.rcb-chat-window .rcb-bot-message a:visited{color:#fff!important;text-decoration:underline!important}.rcb-chat-window .rcb-bot-message a:hover{opacity:.85;text-decoration:underline!important}.rcb-chat-window .rcb-chat-input-textarea{overflow-y:auto}.rcb-chat-window .rcb-chat-footer-container{font-size:10px}.qa-bot .history-button,.qa-bot .user-login-icon{display:none!important}.qa-bot.bot-logged-in .history-button,.qa-bot.bot-logged-in .user-login-icon{display:flex!important;transform:scale(1.3) translateY(-2px)}.qa-bot.bot-logged-in .history-button:hover{opacity:.8}.qa-bot.bot-logged-in .history-button:focus{outline:2px solid #fff;outline-offset:2px}.embedded-qa-bot .rcb-chat-window{max-width:100%;width:100%!important}.qa-bot.hidden{display:none}.embedded-qa-bot .rcb-bot-message,.embedded-qa-bot .rcb-user-message{max-width:90%!important;word-break:break-word}.embedded-qa-bot .rcb-chat-input-textarea{width:100%!important}.qa-bot-container{max-width:100%;width:100%}@keyframes phone-ring{0%{transform:translateX(0) translateY(0) rotate(0deg)}2%{transform:translateX(0) translateY(-8px) rotate(-2deg)}4%{transform:translateX(0) translateY(-6px) rotate(2deg)}6%{transform:translateX(0) translateY(-8px) rotate(-1deg)}8%{transform:translateX(0) translateY(-6px) rotate(1deg)}10%{transform:translateX(0) translateY(-8px) rotate(-2deg)}12%{transform:translateX(0) translateY(-6px) rotate(2deg)}20%{transform:translateX(0) translateY(0) rotate(0deg)}30%{transform:translateX(0) translateY(0) rotate(0deg)}40%{transform:translateX(0) translateY(0) rotate(0deg)}49%{transform:translateX(0) translateY(0) rotate(0deg)}50%{transform:translateX(0) translateY(-8px) rotate(-2deg)}52%{transform:translateX(0) translateY(-6px) rotate(2deg)}54%{transform:translateX(0) translateY(-8px) rotate(-1deg)}56%{transform:translateX(0) translateY(-6px) rotate(1deg)}58%{transform:translateX(0) translateY(-8px) rotate(-2deg)}60%{transform:translateX(0) translateY(-6px) rotate(2deg)}70%{transform:translateX(0) translateY(0) rotate(0deg)}to{transform:translateX(0) translateY(0) rotate(0deg)}}@media (max-width:768px){.rcb-chat-window{max-height:calc(100vh - 100px)!important;max-width:calc(100vw - 40px)!important;width:550px!important}.embedded-chat-container.open{height:400px}.embedded-chat-closed{font-size:14px;height:40px}.embedded-chat-open-btn{font-size:12px;padding:3px 10px}.rcb-bot-message,.rcb-user-message{max-width:85%!important}.rcb-chat-input-textarea{font-size:16px!important;min-height:44px!important}.rcb-chat-header{padding:12px 16px!important}}@media (max-width:480px){.rcb-chat-window{bottom:10px!important;left:10px!important;max-height:calc(100vh - 80px)!important;max-width:calc(100vw - 20px)!important;right:10px!important;width:calc(100vw - 20px)!important}.embedded-chat-container.open{height:350px}.rcb-bot-message,.rcb-user-message{margin-bottom:8px!important;max-width:90%!important}.rcb-chat-header{font-size:14px!important;padding:8px 12px!important}.rcb-chat-button{bottom:20px!important;height:50px!important;right:20px!important;width:50px!important}.rcb-chat-footer-container{font-size:9px!important;padding:8px 12px!important}}@media (max-width:360px){.rcb-chat-window{left:5px!important;max-width:calc(100vw - 10px)!important;right:5px!important;width:calc(100vw - 10px)!important}.rcb-chat-header{font-size:13px!important;padding:6px 8px!important}}.rcb-checkbox-container{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-left:16px!important;max-width:100%!important;padding-top:12px!important}.rcb-checkbox-row-container{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--primaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-row-container:hover{background-color:#e8f4f8!important;border-color:var(--primaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-row-container[data-checked=true]{background-color:var(--primaryColor,#107180)!important;border-color:var(--primaryColor,#107180)!important;color:#fff!important}.rcb-checkbox-row{margin-left:0!important}.rcb-checkbox-mark{height:14px!important;margin-right:6px!important;width:14px!important}.rcb-checkbox-label{font-size:13px!important;margin:0!important;white-space:nowrap!important}.rcb-checkbox-next-button{align-items:center!important;background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;display:flex!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;justify-content:center!important;line-height:24px!important;margin:0!important;max-height:auto!important;min-height:auto!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-checkbox-next-button:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.sr-only{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.rcb-chat-input-send-button:focus,.rcb-chat-input-textarea:focus{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-user-message{word-wrap:break-word!important;overflow:hidden!important;word-break:break-word!important}:focus-visible{outline:2px solid var(--primaryColor,#107180)!important;outline-offset:2px!important}.rcb-options-container{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;margin:16px!important;padding:0!important}.rcb-options{background-color:#fff!important;border:1px solid #d0d0d0!important;border-radius:6px!important;box-sizing:border-box!important;color:var(--secondaryColor,#107180)!important;cursor:pointer!important;flex:0 0 auto!important;font-size:14px!important;font-weight:400!important;outline:none!important;padding:8px 12px!important;text-align:center!important;transition:all .2s ease!important;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:auto!important}.rcb-options:hover{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;box-shadow:0 2px 4px #10718033!important;transform:translateY(-1px)!important}.rcb-checkbox-next-button.keyboard-focused,.rcb-checkbox-next-button:focus,.rcb-checkbox-next-button:focus-visible,.rcb-checkbox-row-container.keyboard-focused,.rcb-checkbox-row-container:focus,.rcb-checkbox-row-container:focus-visible,.rcb-options.keyboard-focused,.rcb-options:focus,.rcb-options:focus-visible{background-color:#e8f4f8!important;border-color:var(--secondaryColor,#107180)!important;outline:none!important}.rcb-options:active{background-color:var(--secondaryColor,#107180)!important;border-color:var(--secondaryColor,#107180)!important;color:#fff!important;transform:translateY(0)!important}.keyboard-nav-hint{color:#666!important;font-size:12px!important;font-style:italic!important;margin-bottom:8px!important}@media (prefers-reduced-motion:reduce){.keyboard-nav-hint{display:none!important}}.rcb-options-container [role=button][tabindex=\"0\"],.rcb-options-container button[tabindex=\"0\"]{position:relative!important}.rcb-options-container [role=button][tabindex=\"0\"]:after,.rcb-options-container button[tabindex=\"0\"]:after{color:var(--secondaryColor,#107180)!important;content:\"←\"!important;font-size:16px!important;opacity:0!important;position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;transition:opacity .2s ease!important}.rcb-options-container [role=button][tabindex=\"0\"]:focus:after,.rcb-options-container button[tabindex=\"0\"]:focus:after{opacity:1!important}.rcb-chat-input-send-button{cursor:pointer!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}.rcb-chat-input-send-button:not([tabindex]){-webkit-user-select:none;-moz-user-select:none;user-select:none}.rcb-chat-input-container [onclick],.rcb-chat-input-container [role=button],.rcb-chat-input-container div[style*=cursor],.rcb-chat-input-container svg:last-child,.rcb-chat-input-container>div:last-child{tabindex:0!important;cursor:pointer!important}.rcb-chat-footer{margin-top:4px!important;padding-top:0!important}.rcb-chat-footer-container{align-items:center!important;display:flex!important;margin-top:4px!important;padding-top:4px!important}.rcb-chat-footer-container button{order:1!important}.rcb-chat-footer-container a[href*=qa-bot-core]{tab-index:0!important;order:2!important}.rcb-chat-footer-container a[href*=feedback]{tab-index:0!important;order:3!important}@media (prefers-contrast:high){.rcb-chat-window a{background-color:#fff!important;border:1px solid #000!important;color:#000!important}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.rcb-chat-input-textarea{user-select:text!important}.rcb-chat-body-container,.rcb-chat-input-textarea,.rcb-chat-window{touch-action:pan-y!important}.embedded-qa-bot,.rcb-chat-window{-webkit-overflow-scrolling:touch!important}.embedded-qa-bot .rcb-chat-input-textarea{touch-action:pan-y!important;user-select:text!important}.embedded-qa-bot .rcb-chat-body-container,.embedded-qa-bot .rcb-chat-window{touch-action:pan-y!important}.rcb-chat-header-container{background:var(--primaryColor,#1a5b6e)!important;background:linear-gradient(135deg,var(--primaryColor,#1a5b6e) 0,var(--secondaryColor,#107180) 100%)!important}.rcb-toggle-button{align-items:center!important;background:var(--primaryColor,#1a5b6e)!important;display:flex!important;justify-content:center!important}.rcb-toggle-button svg{stroke:#fff!important;color:#fff!important}.rcb-toggle-button *,.rcb-toggle-button img,.rcb-toggle-button svg,.rcb-toggle-button>*{box-sizing:border-box!important;height:50px!important;left:0!important;margin:0 auto!important;max-height:50px!important;max-width:50px!important;min-height:50px!important;min-width:50px!important;padding:2px!important;position:relative!important;top:0!important;width:50px!important}.rcb-send-button{background-color:var(--primaryColor,#1a5b6e)!important}',{insertAt:\"top\"});const hl=()=>{const[e,t]=a(!1),n=()=>\"undefined\"!=typeof navigator&&void 0!==navigator.mediaDevices&&\"function\"==typeof navigator.mediaDevices.getDisplayMedia;return{captureScreenshot:async()=>{if(!n())throw new Error(\"Screen capture is not available in this environment\");try{t(!0);const e=await navigator.mediaDevices.getDisplayMedia({video:{displaySurface:\"browser\",cursor:\"always\",width:{ideal:1920},height:{ideal:1080}},audio:!1}),n=document.createElement(\"video\");n.srcObject=e,await new Promise(e=>{n.onloadedmetadata=()=>{n.play(),e()}});const r=document.createElement(\"canvas\");r.width=n.videoWidth,r.height=n.videoHeight;const o=r.getContext(\"2d\");if(!o)throw new Error(\"Could not get canvas context\");o.drawImage(n,0,0,r.width,r.height);const A=await new Promise(e=>r.toBlob(e,\"image/png\"));if(!A)throw new Error(\"Could not create image blob\");const i=(new Date).toISOString().replace(/[:.]/g,\"-\"),a=new File([A],\"screenshot-\".concat(i,\".png\"),{type:\"image/png\"});return e.getTracks().forEach(e=>e.stop()),t(!1),a}catch(e){throw za(\"Error capturing screenshot:\",e),t(!1),e}},isCapturing:e,isScreenCaptureAvailable:n()}},gl=e=>t.createElement(Ja,e,t.createElement(\"path\",{d:\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"}),t.createElement(\"polyline\",{points:\"17 8 12 3 7 8\"}),t.createElement(\"line\",{x1:\"12\",y1:\"3\",x2:\"12\",y2:\"15\"})),ml=e=>new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{if(\"string\"!=typeof r.result)return void n(new Error(\"Failed to read file \".concat(e.name)));const o=r.result.split(\",\")[1];t({fileName:e.name,contentType:e.type,size:e.size,fileData:o})},r.onerror=()=>n(new Error(\"Failed to read file \".concat(e.name))),r.readAsDataURL(e)}),vl=e=>Promise.all(e.map(ml)),bl=function(e){const t=1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:10)*1024;return e.size<=t},wl=e=>e<1024?\"\".concat(e,\" B\"):e<1048576?\"\".concat((e/1024).toFixed(1),\" KB\"):\"\".concat((e/1048576).toFixed(1),\" MB\"),yl=e=>{let{onFileUpload:n,maxSizeMB:r=10,acceptedTypes:o=\"image/*,application/pdf,text/*,.doc,.docx\",enableScreenshot:A=!1,className:l}=e;const[s,c]=a(!1),[u,d]=a([]),[p,f]=a(null),h=i(null),{captureScreenshot:g,isCapturing:m,isScreenCaptureAvailable:v}=hl(),b=e=>{const t=document.createElement(\"div\");t.setAttribute(\"aria-live\",\"assertive\"),t.setAttribute(\"aria-atomic\",\"true\"),t.className=\"sr-only\",t.textContent=e,document.body.appendChild(t),setTimeout(()=>document.body.removeChild(t),1e3)},w=e=>{if(!e||0===e.length)return void Ra(\"FileUploadComponent: No valid files provided to handleFiles\");let t;try{t=Array.from(e)}catch(e){return za(\"FileUploadComponent: Error converting files to array:\",e),void b(\"Error processing selected files. Please try again.\")}const r=[...u,...t];d(r);const o=t.length,A=t.map(e=>e.name).join(\", \");b(\"\".concat(o,\" file\").concat(o>1?\"s\":\"\",\" selected: \").concat(A)),setTimeout(()=>{const e=document.querySelector(\".rcb-chat-content\");e&&(e.scrollTop=e.scrollHeight)},100),n&&n(r)},y=e=>{e.preventDefault(),e.stopPropagation(),\"dragenter\"===e.type||\"dragover\"===e.type?c(!0):\"dragleave\"===e.type&&c(!1)},x=()=>{try{h.current&&h.current.click()}catch(e){za(\"FileUploadComponent: Error in handleButtonClick:\",e),b(\"Error opening file selection dialog. Please try again.\")}},E=()=>{f(null)},B=A&&v;return t.createElement(\"div\",{className:\"file-upload-container \".concat(l||\"\"),style:{padding:\"16px\",margin:\"8px 0\"}},B&&t.createElement(\"div\",{style:{display:\"flex\",justifyContent:\"center\",marginBottom:\"10px\"}},t.createElement(\"button\",{onClick:e=>{e.preventDefault(),(async()=>{try{const e=await g();w([e]),b(\"Screenshot captured successfully\")}catch(e){b(\"Error capturing screenshot. Please try again.\")}})()},disabled:m,\"aria-describedby\":\"screenshot-help\",\"aria-label\":m?\"Taking screenshot, please wait\":\"Take a screenshot to attach\",style:{display:\"flex\",alignItems:\"center\",gap:\"8px\",backgroundColor:\"#107180\",color:\"white\",border:\"none\",borderRadius:\"5px\",padding:\"8px 12px\",cursor:m?\"not-allowed\":\"pointer\",fontSize:\"14px\",fontWeight:\"500\",boxShadow:\"0 1px 3px rgba(0,0,0,0.2)\"}},t.createElement(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"},t.createElement(\"path\",{d:\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"}),t.createElement(\"circle\",{cx:\"12\",cy:\"13\",r:\"4\"})),m?\"Taking screenshot...\":\"Take screenshot...\"),t.createElement(\"span\",{id:\"screenshot-help\",className:\"sr-only\"},\"Captures the current screen and adds it as an attachment\")),t.createElement(\"div\",{className:\"file-upload-dropzone \".concat(s?\"active\":\"\"),onDragEnter:y,onDragLeave:y,onDragOver:y,onDrop:e=>{var t;e.preventDefault(),e.stopPropagation(),c(!1);try{(null===(t=e.dataTransfer)||void 0===t?void 0:t.files)&&e.dataTransfer.files.length>0&&w(e.dataTransfer.files)}catch(e){za(\"FileUploadComponent: Error in handleDrop:\",e),b(\"Error processing dropped files. Please try again.\")}},role:\"button\",tabIndex:0,\"aria-label\":\"File upload area. Click to select files or drag and drop files here.\",\"aria-describedby\":\"upload-instructions\",onKeyDown:e=>{\"Enter\"!==e.key&&\" \"!==e.key||(e.preventDefault(),x())},style:{padding:\"20px\",border:\"2px dashed #ccc\",borderRadius:\"8px\",backgroundColor:s?\"#f0f8ff\":\"#fafafa\",transition:\"all 0.3s ease\"}},t.createElement(\"input\",{ref:h,type:\"file\",className:\"file-input\",onChange:e=>{var t;try{(null===(t=e.target)||void 0===t?void 0:t.files)&&e.target.files.length>0&&w(e.target.files)}catch(e){za(\"FileUploadComponent: Error in handleFileSelect:\",e),b(\"Error processing selected files. Please try again.\")}},multiple:!0,style:{display:\"none\"},\"aria-label\":\"Select files to upload\",accept:o}),t.createElement(\"div\",{className:\"upload-content\",onClick:x,style:{cursor:\"pointer\",flexDirection:\"column\",alignItems:\"center\",display:\"flex\",textAlign:\"center\",padding:\"12px\"}},t.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:\"8px\"}},t.createElement(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",gap:\"10px\"}},t.createElement(gl,null),t.createElement(\"p\",{style:{margin:0,fontWeight:\"bold\"}},\"Upload Files\")),t.createElement(\"p\",{id:\"upload-instructions\",style:{margin:0,fontSize:\"14px\",color:\"#666\"}},\"Drag and drop files here or click to select. (Max \",r,\"MB each)\")),u.length>0&&t.createElement(\"div\",{className:\"selected-files\",style:{display:\"flex\",flexWrap:\"wrap\",gap:\"8px\",marginTop:\"12px\",alignItems:\"center\"}},t.createElement(\"span\",{style:{fontWeight:400,color:\"#888\",fontSize:\"13px\",marginRight:\"8px\",alignSelf:\"center\"}},\"Selected files:\"),u.map((e,r)=>t.createElement(\"span\",{key:r,style:{background:\"#fff\",color:\"#107180\",borderRadius:\"5px\",padding:\"4px 12px\",fontSize:\"14px\",marginRight:\"4px\",marginBottom:\"4px\",border:\"1px solid #ccc\",display:\"flex\",alignItems:\"center\",gap:\"6px\",cursor:\"pointer\"},onClick:t=>{t.stopPropagation(),(e=>{f(e)})(e)}},t.createElement(\"span\",{onClick:e=>{e.stopPropagation(),(e=>{const t=u.filter((t,n)=>n!==e);d(t),n&&n(t)})(r)},style:{cursor:\"pointer\",color:\"#888\",fontWeight:\"bold\",fontSize:\"15px\",marginRight:\"4px\",userSelect:\"none\",lineHeight:1},title:\"Remove file\",\"aria-label\":\"Remove \".concat(e.name)},\"×\"),e.name,\" (\",wl(e.size),\")\"))))),(()=>{if(!p)return null;const e=p.type.startsWith(\"image/\"),n=p.type.startsWith(\"text/\"),r=\"application/pdf\"===p.type;return t.createElement(\"div\",{style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,backgroundColor:\"rgba(0, 0, 0, 0.7)\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",zIndex:1e3},onClick:E},t.createElement(\"div\",{style:{backgroundColor:\"white\",padding:\"20px\",borderRadius:\"8px\",maxWidth:\"90%\",maxHeight:\"90%\",overflow:\"auto\",position:\"relative\"},onClick:e=>e.stopPropagation()},t.createElement(\"button\",{onClick:E,style:{position:\"absolute\",top:\"10px\",right:\"10px\",background:\"none\",border:\"none\",fontSize:\"24px\",cursor:\"pointer\",color:\"#666\"}},\"×\"),t.createElement(\"h3\",{style:{marginTop:0,marginBottom:\"16px\"}},p.name),e&&t.createElement(\"img\",{src:URL.createObjectURL(p),alt:p.name,style:{maxWidth:\"100%\",maxHeight:\"70vh\"}}),n&&t.createElement(\"pre\",{style:{whiteSpace:\"pre-wrap\",wordWrap:\"break-word\",maxHeight:\"70vh\",overflow:\"auto\",padding:\"16px\",backgroundColor:\"#f5f5f5\",borderRadius:\"4px\"}},URL.createObjectURL(p)),r&&t.createElement(\"iframe\",{src:URL.createObjectURL(p),style:{width:\"100%\",height:\"70vh\",border:\"none\"},title:p.name}),!e&&!n&&!r&&t.createElement(\"div\",{style:{padding:\"20px\",textAlign:\"center\"}},\"Preview not available for this file type\")))})())};function xl(e,t){if(!t||0===Object.keys(t).length)return e;const n={};for(const[r,o]of Object.entries(e)){let e=Object.assign({},o);if(t.disableOnOptions&&void 0===e.chatDisabled){const t=!(!e.options&&!e.checkboxes);e.chatDisabled=t}n[r]=e}return n}function El(e){return async t=>{await t.injectMessage(e)}}function Bl(e){return async t=>{const n=await e(t);await t.injectMessage(n)}}const Pl=t.forwardRef((e,n)=>{const[r,o]=t.useState(e.defaultOpen||!1),A=t.useRef(null);return t.useImperativeHandle(n,()=>({addMessage:e=>{var t;null===(t=A.current)||void 0===t||t.addMessage(e)},setBotEnabled:e=>{var t;null===(t=A.current)||void 0===t||t.setBotEnabled(e)},openChat:()=>{var e;o(!0),null===(e=A.current)||void 0===e||e.openChat()},closeChat:()=>{var e;o(!1),null===(e=A.current)||void 0===e||e.closeChat()},toggleChat:()=>{var e;o(e=>!e),null===(e=A.current)||void 0===e||e.toggleChat()}}),[]),t.createElement(fl,{ref:A,apiKey:e.apiKey,qaEndpoint:e.qaEndpoint,ratingEndpoint:e.ratingEndpoint,welcomeMessage:e.welcomeMessage,primaryColor:e.primaryColor,secondaryColor:e.secondaryColor,botName:e.botName,logo:e.logo,placeholder:e.placeholder,errorMessage:e.errorMessage,embedded:e.embedded,isLoggedIn:e.isLoggedIn,allowAnonAccess:e.allowAnonAccess,open:r,onOpenChange:o,footerText:e.footerText,footerLink:e.footerLink,tooltipText:e.tooltipText,onAnalyticsEvent:e.onAnalyticsEvent})});function kl(e){if(!(e.target&&e.target instanceof HTMLElement))return void za(\"QA Bot: A valid target DOM element is required\");const n=f.createRoot(e.target),r={current:null};return n.render(t.createElement(t.StrictMode,null,t.createElement(Pl,{ref:e=>{r.current=e},apiKey:e.apiKey,qaEndpoint:e.qaEndpoint,ratingEndpoint:e.ratingEndpoint,defaultOpen:e.defaultOpen,embedded:e.embedded,isLoggedIn:e.isLoggedIn,allowAnonAccess:e.allowAnonAccess,welcomeMessage:e.welcomeMessage,primaryColor:e.primaryColor,secondaryColor:e.secondaryColor,botName:e.botName,logo:e.logo,placeholder:e.placeholder,errorMessage:e.errorMessage,footerText:e.footerText,footerLink:e.footerLink,tooltipText:e.tooltipText,onAnalyticsEvent:e.onAnalyticsEvent}))),{addMessage:e=>{var t;return null===(t=r.current)||void 0===t?void 0:t.addMessage(e)},setBotEnabled:e=>{var t;return null===(t=r.current)||void 0===t?void 0:t.setBotEnabled(e)},openChat:()=>{var e;return null===(e=r.current)||void 0===e?void 0:e.openChat()},closeChat:()=>{var e;return null===(e=r.current)||void 0===e?void 0:e.closeChat()},toggleChat:()=>{var e;return null===(e=r.current)||void 0===e?void 0:e.toggleChat()},destroy:()=>{r.current=null,n.unmount()}}}Pl.displayName=\"ProgrammaticQABot\";export{yl as FileUploadComponent,fl as QABot,xl as applyFlowSettings,kl as default,ml as fileToBase64,vl as filesToBase64,wl as formatFileSize,kl as qaBot,hl as useScreenshotCapture,bl as validateFileSize,El as withHistory,Bl as withHistoryFn};\n//# sourceMappingURL=qa-bot-core.js.map\n","// Environment configuration\nexport const API_CONFIG = {\n // Q&A API endpoints\n QA_ENDPOINT: import.meta.env.VITE_API_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/chat/api/',\n RATING_ENDPOINT: import.meta.env.VITE_RATING_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/chat/rating/',\n\n // Metrics/XDMoD API endpoints\n METRICS_API_ENDPOINT: import.meta.env.VITE_METRICS_API_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/api/',\n METRICS_RATING_ENDPOINT: import.meta.env.VITE_METRICS_RATING_ENDPOINT || 'https://access-ai-grace1-external.ccs.uky.edu/access/xdmod/chat/rating/',\n METRICS_QUESTIONS_URL: 'https://metrics.access-ci.org/qa_bot_faq',\n\n // Netlify functions for JIRA/JSM\n NETLIFY_BASE_URL: import.meta.env.VITE_NETLIFY_BASE_URL || 'https://access-jsm-api.netlify.app',\n\n // API key (can be overridden via prop)\n DEFAULT_API_KEY: import.meta.env.VITE_API_KEY || 'demo-key',\n};\n\n// Bot configuration defaults\nexport const BOT_CONFIG = {\n BOT_NAME: 'ACCESS Q&A',\n LOGO: 'https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg',\n WELCOME_MESSAGE: 'Hello! What can I help you with?',\n WELCOME_MESSAGE_LOGGED_OUT: 'To ask questions, please log in.',\n LOGIN_URL: '/login',\n PRIMARY_COLOR: '#1a5b6e',\n SECONDARY_COLOR: '#107180',\n TOOLTIP: 'Ask me about ACCESS! 😊',\n};\n\n// Session storage keys\nexport const STORAGE_KEYS = {\n SESSION_ID: 'access-qa-bot-session-id',\n TOOLTIP_SHOWN: 'access-qa-bot-tooltip-shown',\n};\n","/**\n * Main Menu Flow\n *\n * Entry point for the conversation - provides top-level navigation options.\n */\n\nimport type { TicketFormData } from '../utils/flow-context';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n welcome: string;\n setTicketForm: (form: TicketFormData) => void;\n isLoggedIn: boolean;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n/**\n * Creates the main menu conversation flow\n */\nexport function createMainMenuFlow({ welcome, setTicketForm, isLoggedIn, trackEvent }: FlowParams) {\n return {\n start: {\n message: welcome,\n options: [\n \"Ask a question about ACCESS\",\n \"Open a Help Ticket\",\n \"Usage and performance of ACCESS resources (XDMoD)\",\n \"Report a security issue\",\n ],\n path: (chatState: ChatState) => {\n // Track menu selection\n trackEvent({\n type: 'chatbot_menu_selected',\n selection: chatState.userInput,\n });\n\n if (chatState.userInput === \"Ask a question about ACCESS\") {\n // If logged in, show prompt step that waits for actual question\n // If logged out, go directly to qa_loop which shows login gate\n return isLoggedIn ? \"go_ahead_and_ask\" : \"qa_loop\";\n } else if (chatState.userInput === \"Open a Help Ticket\") {\n // Reset form data when starting a new ticket\n setTicketForm({});\n return \"help_ticket\";\n } else if (chatState.userInput === \"Usage and performance of ACCESS resources (XDMoD)\") {\n return \"metrics_intro\";\n } else if (chatState.userInput === \"Report a security issue\") {\n // Reset form data when starting a security report\n setTicketForm({});\n trackEvent({\n type: 'chatbot_security_started',\n });\n return \"security_incident\";\n }\n return \"start\";\n },\n },\n\n // Transition step for logged-in users - absorbs button click, waits for real question\n go_ahead_and_ask: {\n message: 'Go ahead and ask your question! I\\'ll do my best to help.\\n\\n<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href=\"https://support.access-ci.org/tools/access-qa-tool/privacy\">Privacy Notice</a>',\n renderHtml: [\"BOT\"],\n path: \"qa_loop\",\n },\n };\n}\n","/**\n * Flow context utilities for managing form state in conversational flows\n * Solves React closure issues by providing global access to current form state\n */\n\nexport interface TicketFormData {\n // User info\n email?: string;\n name?: string;\n accessId?: string;\n\n // Common ticket fields\n summary?: string;\n description?: string;\n priority?: string;\n category?: string;\n\n // Login-specific fields\n identityProvider?: string;\n browser?: string;\n\n // Resource fields (affiliated login)\n resource?: string;\n userIdResource?: string;\n\n // Resource fields (general help)\n involvesResource?: string;\n resourceDetails?: string;\n userIdAtResource?: string;\n\n // File upload\n uploadedFiles?: File[];\n wantsAttachment?: string;\n uploadConfirmed?: boolean;\n\n // Keywords\n keywords?: string | string[];\n suggestedKeyword?: string;\n\n // Submission result\n ticketKey?: string;\n ticketUrl?: string;\n submissionError?: string;\n\n // Allow additional fields\n [key: string]: unknown;\n}\n\nexport interface UserInfo {\n email?: string;\n name?: string;\n accessId?: string;\n}\n\nexport interface FormContext {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n}\n\n// Global form context reference\nlet currentFormContext: FormContext | null = null;\n\n/**\n * Sets the current form context reference\n * Call this when creating flows to enable access to latest form state\n */\nexport function setCurrentFormContext(context: FormContext): void {\n currentFormContext = context;\n}\n\n/**\n * Clears the current form context\n */\nexport function clearFormContext(): void {\n currentFormContext = null;\n}\n\n/**\n * Gets the current ticket form state\n * Always returns the latest state, avoiding stale closure issues\n */\nexport function getCurrentTicketForm(): TicketFormData {\n if (!currentFormContext) {\n console.warn('Form context not available, returning empty form');\n return {};\n }\n return currentFormContext.ticketForm || {};\n}\n\n/**\n * Updates the ticket form with new values\n */\nexport function updateTicketForm(updates: Partial<TicketFormData>): void {\n if (!currentFormContext) {\n console.warn('Form context not available, cannot update form');\n return;\n }\n currentFormContext.setTicketForm(prev => ({ ...prev, ...updates }));\n}\n\n/**\n * Gets current form merged with user info (user info takes precedence if form is empty)\n */\nexport function getCurrentFormWithUserInfo(userInfo: UserInfo = {}): TicketFormData {\n const currentForm = getCurrentTicketForm();\n return {\n ...currentForm,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n };\n}\n\n/**\n * Gets file info string for summaries\n */\nexport function getFileInfo(uploadedFiles?: File[]): string {\n if (uploadedFiles && uploadedFiles.length > 0) {\n return `\\nAttachments: ${uploadedFiles.length} file(s) attached`;\n }\n return '';\n}\n","/**\n * ACCESS-specific ticket submission API utilities\n * Handles JIRA/JSM ticket creation via Netlify proxy\n */\n\nimport { filesToBase64 } from '@snf/qa-bot-core';\nimport type { ProcessedFile } from '@snf/qa-bot-core';\nimport { API_CONFIG } from '../config/constants';\n\n// JSM Request Type IDs\nexport const REQUEST_TYPE_IDS = {\n SUPPORT: 17,\n LOGIN_ACCESS: 30,\n LOGIN_PROVIDER: 31,\n SECURITY: 26,\n} as const;\n\nexport type TicketType = 'support' | 'general_help' | 'loginAccess' | 'loginProvider' | 'security';\n\nexport interface TicketSubmissionData {\n serviceDeskId: number;\n requestTypeId: number;\n requestFieldValues: Record<string, unknown>;\n attachments?: ProcessedFile[];\n}\n\nexport interface TicketSubmissionResult {\n success: boolean;\n ticketKey?: string;\n ticketUrl?: string;\n error?: string;\n status?: number;\n}\n\n/**\n * Prepares form data for JSM API submission\n */\nexport async function prepareApiSubmission(\n formData: Record<string, unknown>,\n ticketType: TicketType = 'support',\n uploadedFiles: File[] = []\n): Promise<TicketSubmissionData> {\n const requestTypeIds: Record<TicketType, number> = {\n support: REQUEST_TYPE_IDS.SUPPORT,\n general_help: REQUEST_TYPE_IDS.SUPPORT,\n loginAccess: REQUEST_TYPE_IDS.LOGIN_ACCESS,\n loginProvider: REQUEST_TYPE_IDS.LOGIN_PROVIDER,\n security: REQUEST_TYPE_IDS.SECURITY,\n };\n\n const requestTypeId = requestTypeIds[ticketType] || REQUEST_TYPE_IDS.SUPPORT;\n const serviceDeskId = ticketType === 'security' ? 3 : 2;\n\n const submissionData: TicketSubmissionData = {\n serviceDeskId,\n requestTypeId,\n requestFieldValues: { ...formData },\n };\n\n // Process file attachments if any\n if (uploadedFiles.length > 0) {\n submissionData.attachments = await filesToBase64(uploadedFiles);\n }\n\n return submissionData;\n}\n\n/**\n * Sends prepared ticket data to the Netlify proxy\n */\nexport async function sendToProxy(\n submissionData: TicketSubmissionData,\n endpoint: 'tickets' | 'security-incidents'\n): Promise<TicketSubmissionResult> {\n const baseUrl = API_CONFIG.NETLIFY_BASE_URL;\n const proxyEndpoint = `${baseUrl}/api/v1/${endpoint}`;\n\n try {\n const response = await fetch(proxyEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(submissionData),\n });\n\n if (!response.ok) {\n let errorMessage = '';\n try {\n const errorText = await response.text();\n try {\n const errorJson = JSON.parse(errorText);\n errorMessage = errorJson.message || errorJson.error || errorText;\n } catch {\n errorMessage = errorText;\n }\n } catch {\n errorMessage = `HTTP ${response.status} ${response.statusText}`;\n }\n\n // User-friendly messages for common errors\n if (response.status === 403) {\n errorMessage = 'The ticket service is temporarily unavailable. Please try again later or contact support directly.';\n } else if (response.status === 404) {\n errorMessage = 'Ticket service not found. Please try again later.';\n } else if (response.status === 500) {\n errorMessage = 'Server error. Please try again later.';\n } else if (response.status === 401) {\n errorMessage = 'Authentication error with the ticket service. Please contact support.';\n }\n\n return {\n success: false,\n status: response.status,\n error: errorMessage,\n };\n }\n\n const data = await response.json();\n return {\n success: true,\n ticketKey: data.data?.ticketKey,\n ticketUrl: data.data?.ticketUrl,\n };\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n}\n\n/**\n * High-level function to submit a ticket\n */\nexport async function submitTicket(\n formData: Record<string, unknown>,\n ticketType: TicketType,\n uploadedFiles: File[] = []\n): Promise<TicketSubmissionResult> {\n try {\n const submissionData = await prepareApiSubmission(formData, ticketType, uploadedFiles);\n const endpoint = ticketType === 'security' ? 'security-incidents' : 'tickets';\n return await sendToProxy(submissionData, endpoint);\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n}\n\n/**\n * Generates a success/error message for ticket submission\n */\nexport function generateSuccessMessage(\n result: TicketSubmissionResult | null,\n ticketType: string = 'ticket'\n): string {\n if (!result) {\n return `We apologize, but there was an error submitting your ${ticketType}.\\n\\nPlease try again or contact our support team directly.`;\n }\n\n if (!result.success) {\n return `We apologize, but there was an error submitting your ${ticketType}: ${result.error || 'Unknown error'}\\n\\nPlease try again or contact our support team directly.`;\n }\n\n if (result.ticketUrl && result.ticketKey) {\n return `Your ${ticketType} has been submitted successfully.\\n\\nTicket: <a href=\"${result.ticketUrl}\" target=\"_blank\">${result.ticketKey}</a>\\n\\nOur support team will review your request and respond accordingly. Thank you for contacting ACCESS.`;\n }\n\n return `Your ${ticketType} has been submitted successfully.\\n\\nOur support team will review your request and respond accordingly. Thank you for contacting ACCESS.`;\n}\n","/**\n * Validation utilities for form inputs in ticket flows\n *\n * These functions return objects compatible with @rcb-plugins/input-validator:\n * { success: boolean, promptContent?: string, promptDuration?: number, promptType?: string }\n */\n\nexport interface ValidationResult {\n success: boolean;\n promptContent?: string;\n promptDuration?: number;\n promptType?: string;\n}\n\n/**\n * Validates an email address\n * Returns validation result object for InputValidator plugin\n */\nexport function validateEmail(email: string): ValidationResult {\n if (!email || email.trim() === '') {\n return {\n success: false,\n promptContent: 'Email is required',\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(email)) {\n return {\n success: false,\n promptContent: 'Please enter a valid email address',\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n\n return { success: true };\n}\n\n/**\n * Creates a validator for optional fields\n * Always returns success since the field is optional\n */\nexport function createOptionalFieldValidator(): () => ValidationResult {\n return () => ({ success: true });\n}\n\n/**\n * Processes optional input - returns empty string for skipped fields\n */\nexport function processOptionalInput(input: string): string {\n if (!input || input.trim() === '' || input.trim().toLowerCase() === 'skip') {\n return '';\n }\n return input.trim();\n}\n\n/**\n * Validates that a required field is not empty\n * Returns validation result object for InputValidator plugin\n */\nexport function validateRequired(value: string, fieldName: string = 'This field'): ValidationResult {\n if (!value || value.trim() === '') {\n return {\n success: false,\n promptContent: `${fieldName} is required`,\n promptDuration: 3000,\n promptType: 'error',\n };\n }\n return { success: true };\n}\n","/**\n * ACCESS Login Help Ticket Flow\n *\n * This flow handles ticket creation for users having trouble logging into ACCESS.\n * It demonstrates how to wrap qa-bot-core's FileUploadComponent with ACCESS-specific\n * ticket submission logic.\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n/**\n * Creates the ACCESS login help ticket flow\n *\n * Note: chatDisabled is handled automatically by applyFlowSettings() in AccessQABot.\n */\nexport function createAccessLoginFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'loginAccess', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'access_login',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'access_login',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component - wired to update form state\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Entry point - provides context and asks if user wants to create ticket\n access_help: {\n message: \"If you're having trouble logging into the ACCESS website, here are some common issues:\\n\\n\" +\n \"• Make sure you're using a supported browser (Chrome, Firefox, Safari)\\n\" +\n \"• Clear your browser cookies and cache\\n\" +\n \"• Check if you're using the correct identity provider\\n\\n\" +\n \"Would you like to submit a help ticket for ACCESS login issues?\",\n options: [\"Yes, let's create a ticket\", \"Back to Main Menu\"],\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes, let's create a ticket\"\n ? \"access_login_description\"\n : \"start\",\n },\n\n // Step 1: Describe the issue (text input)\n access_login_description: {\n message: \"Describe your login issue.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n description: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'description',\n });\n },\n path: \"access_login_identity\",\n },\n\n // Step 2: Identity provider (options)\n access_login_identity: {\n message: \"Which identity provider were you using?\",\n options: [\"ACCESS\", \"Github\", \"Google\", \"Institution\", \"Microsoft\", \"ORCID\", \"Other\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, identityProvider: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'identity_provider',\n });\n },\n path: \"access_login_browser\",\n },\n\n // Step 3: Browser (options)\n access_login_browser: {\n message: \"Which browser were you using?\",\n options: [\"Chrome\", \"Firefox\", \"Edge\", \"Safari\", \"Other\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, browser: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'browser',\n });\n },\n path: \"access_login_attachment\",\n },\n\n // Step 4: Ask about attachment (options)\n access_login_attachment: {\n message: \"Would you like to attach a screenshot?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes\") {\n return \"access_login_upload\";\n }\n // Skip to user info collection based on what's missing\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"access_login_email\";\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 5: File upload (component + Continue button)\n access_login_upload: {\n message: \"Please upload your screenshot.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'file_upload',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"access_login_email\";\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 6: Email (text input)\n access_login_email: {\n message: \"What is your email?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"access_login_name\";\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 7: Name (text input)\n access_login_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"access_login_accessid\";\n return \"access_login_summary\";\n },\n },\n\n // Step 8: ACCESS ID (text input, optional)\n access_login_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'access_login',\n step: 'access_id',\n });\n },\n path: \"access_login_summary\",\n },\n\n // Step 9: Summary and confirmation (options)\n access_login_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'access_login_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n return `Thank you for providing your ACCESS login issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Identity Provider: ${currentForm.identityProvider || 'Not provided'}\\n` +\n `Browser: ${currentForm.browser || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n renderHtml: [\"BOT\", \"USER\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n email: formWithUserInfo.email || \"\",\n name: formWithUserInfo.name || \"\",\n accessId: formWithUserInfo.accessId || \"\",\n description: currentForm.description || \"\",\n identityProvider: currentForm.identityProvider || \"\",\n browser: currentForm.browser || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"access_login_success\" : \"start\",\n },\n\n // Step 10: Success message (options)\n access_login_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'ACCESS login ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n","/**\n * Resource/Affiliated Login Help Ticket Flow\n *\n * This flow handles ticket creation for users having trouble logging into\n * an ACCESS-affiliated resource (e.g., Expanse, Bridges-2, Anvil).\n *\n * Language matches: qa-bot/src/utils/flows/tickets/affiliated-login-flow.js\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n/**\n * Creates the Resource/Affiliated Login help ticket flow\n */\nexport function createResourceLoginFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'loginProvider', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'resource_login',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'resource_login',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component - wired to update form state\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Entry point - provides context and asks if user wants to create ticket\n resource_help: {\n message: \"If you're having trouble logging into an affiliated infrastructure or resource provider, here are some common issues:\\n\\n\" +\n \"• Ensure your allocation is active\\n\" +\n \"• Confirm you have the correct username for that resource\\n\" +\n \"• Check <a href=\\\"https://operations.access-ci.org/infrastructure_news_view\\\">System Status News</a> to see if the resource is undergoing maintenance\\n\\n\" +\n \"Would you like to submit a help ticket for resource provider login issues?\",\n options: [\"Yes, let's create a ticket\", \"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes, let's create a ticket\"\n ? \"resource_login_resource\"\n : \"start\",\n },\n\n // Step 1: Which resource (options)\n resource_login_resource: {\n message: \"Which ACCESS Resource are you trying to access?\",\n options: [\n \"ACES\",\n \"Anvil\",\n \"Bridges-2\",\n \"DARWIN\",\n \"Delta\",\n \"DeltaAI\",\n \"Derecho\",\n \"Expanse\",\n \"FASTER\",\n \"Granite\",\n \"Jetstream2\",\n \"KyRIC\",\n \"Launch\",\n \"Neocortex\",\n \"Ookami\",\n \"Open Science Grid\",\n \"Open Storage Network\",\n \"Ranch\",\n \"Stampede3\",\n ],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, resource: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'resource_selection',\n });\n },\n path: \"resource_login_userid\",\n },\n\n // Step 2: User ID at resource (text input)\n resource_login_userid: {\n message: \"What is your user ID at the resource?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, userIdResource: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'user_id',\n });\n },\n path: \"resource_login_description\",\n },\n\n // Step 3: Describe the issue (text input)\n resource_login_description: {\n message: \"Please describe the issue you're having logging in.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n description: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'description',\n });\n },\n path: \"resource_login_attachment\",\n },\n\n // Step 4: Ask about attachment (options)\n resource_login_attachment: {\n message: \"Would you like to attach a screenshot?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes\") {\n return \"resource_login_upload\";\n }\n // Skip to user info collection based on what's missing\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"resource_login_email\";\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 5: File upload (component + Continue button)\n resource_login_upload: {\n message: \"Please upload your screenshot.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'file_upload',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"resource_login_email\";\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 6: Email (text input)\n resource_login_email: {\n message: \"What is your email?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"resource_login_name\";\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 7: Name (text input)\n resource_login_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"resource_login_accessid\";\n return \"resource_login_summary\";\n },\n },\n\n // Step 8: ACCESS ID (text input, optional)\n resource_login_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'resource_login',\n step: 'access_id',\n });\n },\n path: \"resource_login_summary\",\n },\n\n // Step 9: Summary and confirmation (options)\n resource_login_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'resource_login_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n return `Thank you for providing your resource login issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Resource: ${currentForm.resource || 'Not provided'}\\n` +\n `Resource User ID: ${currentForm.userIdResource || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n email: formWithUserInfo.email || \"\",\n name: formWithUserInfo.name || \"\",\n accessId: formWithUserInfo.accessId || \"\",\n accessResource: currentForm.resource || \"\",\n description: currentForm.description || \"\",\n // ProForma field for request type 31\n userIdAtResource: currentForm.userIdResource || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"resource_login_success\" : \"start\",\n },\n\n // Step 10: Success message (options)\n resource_login_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'resource login ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n","/**\n * General Help Ticket Flow\n *\n * This flow handles ticket creation for general support questions.\n * Includes category selection, keywords, priority, and resource involvement.\n *\n * Language matches: qa-bot/src/utils/flows/tickets/general-help-flow.js\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport {\n getCurrentTicketForm,\n getCurrentFormWithUserInfo,\n getFileInfo,\n type TicketFormData,\n type UserInfo,\n} from '../utils/flow-context';\nimport { submitTicket, generateSuccessMessage, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\nexport interface ChatState {\n userInput: string;\n prevPath?: string;\n}\n\n// Keywords list from old qa-bot\nconst KEYWORDS = [\n \" C, C++\",\n \"Abaqus\",\n \"ACCESS\",\n \"ACCESS-credits\",\n \"ACCESS-website\",\n \"Accounts\",\n \"ACLS\",\n \"Adding users\",\n \"Affiliations\",\n \"Affinity Groups\",\n \"AI\",\n \"Algorithms\",\n \"Allocation extension\",\n \"Allocation Management\",\n \"Allocation proposal\",\n \"Allocation Time\",\n \"Allocation users\",\n \"AMBER\",\n \"AMIE\",\n \"Anaconda\",\n \"Analysis\",\n \"API\",\n \"Application Status\",\n \"ARCGIS\",\n \"Architecture\",\n \"Archiving\",\n \"Astrophysics\",\n \"ATLAS\",\n \"Authentication\",\n \"AWS\",\n \"AZURE\",\n \"Backup\",\n \"BASH\",\n \"Batch Jobs\",\n \"Benchmarking\",\n \"Big Data\",\n \"Bioinformatics\",\n \"Biology\",\n \"Ceph\",\n \"CFD\",\n \"cgroups\",\n \"CHARMM\",\n \"Checkpoint\",\n \"cilogon\",\n \"citation\",\n \"Cloud\",\n \"Cloud Computing\",\n \"Cloud Lab\",\n \"Cloud Storage\",\n \"Cluster Management\",\n \"Cluster Support\",\n \"CMMC\",\n \"Community Outreach\",\n \"Compiling\",\n \"Composible Systems\",\n \"Computataional Chemistry\",\n \"COMSOL\",\n \"Conda\",\n \"Condo\",\n \"Containers\",\n \"Core dump\",\n \"Core hours\",\n \"CP2K\",\n \"CPU architecture\",\n \"CPU bound\",\n \"CUDA\",\n \"Cybersecurity\",\n \"CYVERSE\",\n \"Data\",\n \"Data Storage\",\n \"Data-access-protocols\",\n \"Data-analysis\",\n \"Data-compliance\",\n \"Data-lifecycle\",\n \"Data-management\",\n \"Data-management-software\",\n \"Data-provenance\",\n \"Data-reproducibility\",\n \"Data-retention\",\n \"Data-science\",\n \"Data-sharing\",\n \"Data-transfer\",\n \"Data-wrangling\",\n \"Database-update\",\n \"Debugging\",\n \"Debugging, Optimizatio and Profiling\",\n \"Deep-learning\",\n \"Dependencies\",\n \"Deployment\",\n \"DFT\",\n \"Distributed-computing\",\n \"DNS\",\n \"Docker\",\n \"Documentation\",\n \"DOI\",\n \"DTN\",\n \"Easybuild\",\n \"Email\",\n \"Encryption\",\n \"Environment-modules\",\n \"Errors\",\n \"Extension\",\n \"FastX\",\n \"Federated-authentication\",\n \"File transfers\",\n \"File-formats\",\n \"File-limits\",\n \"File-systems\",\n \"File-transfer\",\n \"Finite-element-analysis\",\n \"Firewall\",\n \"Fortran\",\n \"Frameworks and IDE's\",\n \"GAMESS\",\n \"Gateways\",\n \"GATK\",\n \"Gaussian\",\n \"GCC\",\n \"Genomics\",\n \"GIS\",\n \"Git\",\n \"Globus\",\n \"GPFS\",\n \"GPU\",\n \"Gravitational-waves\",\n \"Gridengine\",\n \"GROMACS\",\n \"Hadoop\",\n \"Hardware\",\n \"Image-processing\",\n \"Infiniband\",\n \"Interactive-mode\",\n \"Interconnect\",\n \"IO-Issue\",\n \"ISILON\",\n \"Java\",\n \"Jekyll\",\n \"Jetstream\",\n \"Job-accounting\",\n \"Job-array\",\n \"Job-charging\",\n \"Job-failure\",\n \"Job-sizing\",\n \"Job-submission\",\n \"Julia\",\n \"Jupyterhub\",\n \"Key-management\",\n \"Kubernetes\",\n \"KyRIC\",\n \"LAMMPS\",\n \"Library-paths\",\n \"License\",\n \"Linear-programming\",\n \"Linux\",\n \"LMOD\",\n \"login\",\n \"LSF\",\n \"Lustre\",\n \"Machine-learning\",\n \"Management\",\n \"Materials-science\",\n \"Mathematica\",\n \"MATLAB\",\n \"Memory\",\n \"Metadata\",\n \"Modules\",\n \"Molecular-dynamics\",\n \"Monte-carlo\",\n \"MPI\",\n \"NAMD\",\n \"NetCDF\",\n \"Networking\",\n \"Neural-networks\",\n \"NFS\",\n \"NLP\",\n \"NoMachine\",\n \"Nvidia\",\n \"Oceanography\",\n \"OnDemnad\",\n \"Open-science-grid\",\n \"Open-storage-network\",\n \"OpenCV\",\n \"Openfoam\",\n \"OpenMP\",\n \"OpenMPI\",\n \"OpenSHIFT\",\n \"Openstack\",\n \"Optimization\",\n \"OS\",\n \"OSG\",\n \"Parallelization\",\n \"Parameter-sweeps\",\n \"Paraview\",\n \"Particle-physics\",\n \"password\",\n \"PBS\",\n \"Pegasus\",\n \"Pending-jobs\",\n \"Performance-tuning\",\n \"Permissions\",\n \"Physiology\",\n \"PIP\",\n \"PODMAN\",\n \"Portals\",\n \"Pre-emption\",\n \"Professional and Workforce Development\",\n \"Professional-development\",\n \"Profile\",\n \"Profiling\",\n \"Programming\",\n \"Programming Languages\",\n \"Programming-best-practices\",\n \"Project-management\",\n \"Project-renewal\",\n \"Provisioning\",\n \"Pthreads\",\n \"Publication-database\",\n \"Putty\",\n \"Python\",\n \"Pytorch\",\n \"Quantum-computing\",\n \"Quantum-mechanics\",\n \"Quota\",\n \"R\",\n \"RDP\",\n \"React\",\n \"Reporting\",\n \"Research-facilitation\",\n \"Research-grants\",\n \"Resources\",\n \"Rstudio-server\",\n \"S3\",\n \"Samba\",\n \"SAS\",\n \"Scaling\",\n \"Schedulers\",\n \"Scheduling\",\n \"Science DMZ\",\n \"Science Gateways\",\n \"Scikit-learn\",\n \"Scratch\",\n \"screen\",\n \"scripting\",\n \"SDN\",\n \"Secure Computing and Data\",\n \"Secure-data-architecture\",\n \"Serverless-hpc\",\n \"setup\",\n \"sftp\",\n \"SGE\",\n \"Shell Scripting\",\n \"Shifter\",\n \"Singularity\",\n \"SLURM\",\n \"SMB\",\n \"Smrtanalysis\",\n \"Software Installations\",\n \"Software-carpentry\",\n \"SPACK\",\n \"SPARK\",\n \"Spectrum-scale\",\n \"SPSS\",\n \"SQL\",\n \"SSH\",\n \"Stampede2\",\n \"STATA\",\n \"Storage\",\n \"Supplement\",\n \"Support\",\n \"TCP\",\n \"Technical-training-for-hpc\",\n \"Tensorflow\",\n \"Terminal-emulation-and-window-management\",\n \"Tickets\",\n \"Timing-issue\",\n \"TMUX\",\n \"Tools\",\n \"Training\",\n \"Transfer SUs\",\n \"Trinity\",\n \"Tuning\",\n \"Unix-environment\",\n \"Upgrading\",\n \"Vectorization\",\n \"Version-control\",\n \"vim\",\n \"VNC\",\n \"VPN\",\n \"Workflow\",\n \"Workforce-development\",\n \"X11\",\n \"Xalt\",\n \"XDMoD\",\n \"XML\",\n \"XSEDE\",\n \"I don't see a relevant keyword\",\n];\n\n// Resource list (same as affiliated login)\nconst RESOURCES = [\n \"ACES\",\n \"Anvil\",\n \"Bridges-2\",\n \"DARWIN\",\n \"Delta\",\n \"DeltaAI\",\n \"Derecho\",\n \"Expanse\",\n \"FASTER\",\n \"Granite\",\n \"Jetstream2\",\n \"KyRIC\",\n \"Launch\",\n \"Neocortex\",\n \"Ookami\",\n \"Open Science Grid\",\n \"Open Storage Network\",\n \"Ranch\",\n \"Stampede3\",\n];\n\n/**\n * Creates the General Help ticket flow\n */\nexport function createGeneralHelpFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = []) => {\n submissionResult = await submitTicket(formData, 'support', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful submission\n trackEvent({\n type: 'chatbot_ticket_submitted',\n ticketType: 'general_help',\n success: true,\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'general_help',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Step 1: Title/Summary (text input)\n general_help_summary_subject: {\n message: \"Provide a short title for your ticket.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({\n ...currentForm,\n summary: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'title',\n });\n },\n path: \"general_help_category\",\n },\n\n // Step 2: Category (options)\n general_help_category: {\n message: \"What type of issue are you experiencing?\",\n options: [\n \"User Account Question\",\n \"Allocation Question\",\n \"User Support Question\",\n \"CSSN/CCEP Question\",\n \"Training Question\",\n \"Metrics Question\",\n \"OnDemand Question\",\n \"Pegasus Question\",\n \"XDMoD Question\",\n \"Some Other Question\",\n ],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, category: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'category',\n });\n },\n path: \"general_help_description\",\n },\n\n // Step 3: Description (text input)\n general_help_description: {\n message: \"Please describe your issue.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, description: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'description',\n });\n },\n path: \"general_help_attachment\",\n },\n\n // Step 4: Attachment? (options)\n general_help_attachment: {\n message: \"Would you like to attach a file to your ticket?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"general_help_upload\" : \"general_help_resource\",\n },\n\n // Step 5: File upload (conditional)\n general_help_upload: {\n message: \"Please upload your file.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'file_upload',\n });\n },\n path: \"general_help_resource\",\n },\n\n // Step 6: Involves resource? (options)\n general_help_resource: {\n message: \"Does your problem involve an ACCESS Resource?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, involvesResource: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"general_help_resource_details\" : \"general_help_keywords\",\n },\n\n // Step 7: Resource selection (conditional)\n general_help_resource_details: {\n message: \"Please select the ACCESS Resource involved with your issue:\",\n options: RESOURCES,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, resourceDetails: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_selection',\n });\n },\n path: \"general_help_user_id_at_resource\",\n },\n\n // Step 8: User ID at resource (conditional, optional)\n general_help_user_id_at_resource: {\n message: \"What is your User ID at the selected resource(s)? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, userIdAtResource: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'resource_user_id',\n });\n },\n path: \"general_help_keywords\",\n },\n\n // Step 9: Keywords (checkboxes)\n general_help_keywords: {\n message: \"Please add up to 5 keywords to help route your ticket.\",\n checkboxes: {\n items: KEYWORDS,\n min: 0,\n max: 5,\n },\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, keywords: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'keywords',\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput && chatState.userInput.includes(\"I don't see a relevant keyword\")) {\n return \"general_help_additional_keywords\";\n }\n return \"general_help_priority\";\n },\n },\n\n // Step 10: Additional keywords (conditional, text input)\n general_help_additional_keywords: {\n message: \"Please enter additional keywords, separated by commas:\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const currentKeywords = currentForm.keywords || [];\n const additionalKeywords = chatState.userInput;\n\n // Ensure we're working with arrays\n const keywordsArray = Array.isArray(currentKeywords)\n ? [...currentKeywords]\n : String(currentKeywords).split(',').map(k => k.trim());\n\n // Filter out \"I don't see a relevant keyword\"\n const filteredKeywords = keywordsArray.filter(k => k !== \"I don't see a relevant keyword\");\n\n // Combine keywords\n const formattedKeywords = filteredKeywords.length > 0\n ? [...filteredKeywords, additionalKeywords].join(\", \")\n : additionalKeywords;\n\n setTicketForm({\n ...currentForm,\n keywords: formattedKeywords,\n suggestedKeyword: additionalKeywords,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'additional_keywords',\n });\n },\n path: \"general_help_priority\",\n },\n\n // Step 11: Priority (options)\n general_help_priority: {\n message: \"Please select a priority for your issue:\",\n options: [\"Lowest\", \"Low\", \"Medium\", \"High\", \"Highest\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, priority: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'priority',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"general_help_email\";\n if (!formWithUserInfo.name) return \"general_help_name\";\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 12: Email (text input, conditional)\n general_help_email: {\n message: \"What is your email address?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"general_help_name\";\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 13: Name (text input, conditional)\n general_help_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.accessId) return \"general_help_accessid\";\n return \"general_help_ticket_summary\";\n },\n },\n\n // Step 14: ACCESS ID (text input, optional)\n general_help_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n setTicketForm({ ...currentForm, accessId: processOptionalInput(chatState.userInput) });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'general_help',\n step: 'access_id',\n });\n },\n path: \"general_help_ticket_summary\",\n },\n\n // Step 15: Summary and confirmation\n general_help_ticket_summary: {\n message: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const fileInfo = getFileInfo(currentForm.uploadedFiles);\n\n // Handle ACCESS ID timing issue\n let finalAccessId = formWithUserInfo.accessId;\n if (chatState.prevPath === 'general_help_accessid' && chatState.userInput) {\n finalAccessId = chatState.userInput;\n }\n\n let resourceInfo = '';\n if (currentForm.involvesResource === 'yes') {\n resourceInfo = `\\nResource: ${currentForm.resourceDetails || 'Not specified'}`;\n if (currentForm.userIdAtResource) {\n resourceInfo += `\\nUser ID at Resource: ${currentForm.userIdAtResource}`;\n }\n }\n\n return `Thank you for providing your issue details. Here's a summary:\\n\\n` +\n `Name: ${formWithUserInfo.name || 'Not provided'}\\n` +\n `Email: ${formWithUserInfo.email || 'Not provided'}\\n` +\n `ACCESS ID: ${finalAccessId || 'Not provided'}\\n` +\n `Issue Summary: ${currentForm.summary || 'Not provided'}\\n` +\n `Category: ${currentForm.category || 'Not provided'}\\n` +\n `Priority: ${currentForm.priority || 'Not provided'}\\n` +\n `Keywords: ${currentForm.keywords || 'Not provided'}\\n` +\n `Issue Description: ${currentForm.description || 'Not provided'}${resourceInfo}${fileInfo}\\n\\n` +\n `Would you like to submit this ticket?`;\n },\n options: [\"Submit Ticket\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Ticket\") {\n const currentForm = getCurrentTicketForm();\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n const formData = {\n // Regular JSM fields\n email: formWithUserInfo.email || \"\",\n summary: currentForm.summary || \"General Support Ticket\",\n description: currentForm.description || \"\",\n priority: currentForm.priority || \"medium\",\n accessId: formWithUserInfo.accessId || \"\",\n name: formWithUserInfo.name || \"\",\n issueType: currentForm.category || \"\",\n // ProForma fields for request type 17\n hasResourceProblem: currentForm.involvesResource === 'yes' ? 'Yes' : 'No',\n userIdAtResource: currentForm.userIdAtResource || \"\",\n resourceName: currentForm.resourceDetails || \"\",\n keywords: currentForm.keywords || \"\",\n noRelevantKeyword: currentForm.suggestedKeyword ? 'checked' : '',\n suggestedKeyword: currentForm.suggestedKeyword || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || []);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Ticket\" ? \"general_help_success\" : \"start\",\n },\n\n // Step 16: Success message\n general_help_success: {\n message: withHistoryFn(() => generateSuccessMessage(submissionResult, 'support ticket')),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n\n","/**\n * Ticket Flow Combiner\n *\n * Combines the ticket type selection with individual ticket flows.\n * This demonstrates the modular flow architecture.\n */\n\nimport { createAccessLoginFlow } from './access-login-flow';\nimport { createResourceLoginFlow } from './resource-login-flow';\nimport { createGeneralHelpFlow } from './general-help-flow';\nimport type { TicketFormData, UserInfo } from '../utils/flow-context';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n// Map user-facing options to ticket type identifiers for analytics\nconst TICKET_TYPE_MAP: Record<string, string> = {\n \"Logging into ACCESS website\": \"access_login\",\n \"Logging into a resource\": \"resource_login\",\n \"Another question\": \"general_help\",\n};\n\n/**\n * Creates the combined ticket flow with type selection and all ticket types\n */\nexport function createTicketFlow({ ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Create individual ticket flows\n const accessLoginFlow = createAccessLoginFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n const resourceLoginFlow = createResourceLoginFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n const generalHelpFlow = createGeneralHelpFlow({ ticketForm, setTicketForm, userInfo, trackEvent });\n\n return {\n // Ticket type selection\n help_ticket: {\n message: \"What is your help ticket related to?\",\n options: [\n \"Logging into ACCESS website\",\n \"Logging into a resource\",\n \"Another question\",\n ],\n function: (chatState: ChatState) => {\n setTicketForm(prev => ({ ...prev, ticketType: chatState.userInput }));\n \n // Track ticket started\n trackEvent({\n type: 'chatbot_ticket_started',\n ticketType: TICKET_TYPE_MAP[chatState.userInput] || chatState.userInput,\n });\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Logging into ACCESS website\") {\n return \"access_help\";\n } else if (chatState.userInput === \"Logging into a resource\") {\n return \"resource_help\";\n } else if (chatState.userInput === \"Another question\") {\n return \"general_help_summary_subject\";\n }\n return \"help_ticket\";\n },\n },\n\n // Combine all ticket flows\n ...accessLoginFlow,\n ...resourceLoginFlow,\n ...generalHelpFlow,\n };\n}\n","/**\n * Security Incident Flow\n *\n * Multi-step form for reporting security incidents.\n * Based on the old qa-bot's security-flow.js with exact language preserved.\n */\n\nimport { FileUploadComponent, withHistoryFn } from '@snf/qa-bot-core';\nimport { getCurrentTicketForm, type TicketFormData, type UserInfo } from '../utils/flow-context';\nimport { submitTicket, type TicketSubmissionResult } from '../utils/ticket-api';\nimport { validateEmail, createOptionalFieldValidator, processOptionalInput } from '../utils/validation';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n ticketForm: TicketFormData;\n setTicketForm: (form: TicketFormData | ((prev: TicketFormData) => TicketFormData)) => void;\n userInfo: UserInfo;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n}\n\n/**\n * Gets current form merged with user info\n */\nfunction getCurrentFormWithUserInfo(userInfo: UserInfo): TicketFormData {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n return {\n ...currentForm,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n };\n}\n\n/**\n * Generates success message for security incidents\n */\nfunction generateSecuritySuccessMessage(result: TicketSubmissionResult | null): string {\n if (!result) {\n return `We apologize, but there was an error submitting your security incident report.\\n\\nPlease try again or contact our cybersecurity team directly.`;\n }\n\n if (!result.success) {\n return `We apologize, but there was an error submitting your security incident report: ${result.error}\\n\\nPlease try again or contact our cybersecurity team directly.`;\n }\n\n if (result.ticketUrl && result.ticketKey) {\n return `Your security incident report has been submitted successfully.\\n\\nTicket: <a href=\"${result.ticketUrl}\" target=\"_blank\">${result.ticketKey}</a>\\n\\nOur cybersecurity team will review your report and respond accordingly. Thank you for helping keep ACCESS secure.`;\n }\n\n return `Your security incident report has been submitted successfully.\\n\\nOur cybersecurity team will review your report and respond accordingly. Thank you for helping keep ACCESS secure.`;\n}\n\n/**\n * Creates the Security Incident flow\n */\nexport function createSecurityFlow({ ticketForm: _ticketForm, setTicketForm, userInfo, trackEvent }: FlowParams) {\n // Store the most recent ACCESS ID input to handle timing issues\n let mostRecentAccessId: string | null = null;\n\n // Submission handler - stores result for success message\n let submissionResult: TicketSubmissionResult | null = null;\n\n const handleSubmit = async (formData: Record<string, unknown>, uploadedFiles: File[] = [], priority?: string) => {\n submissionResult = await submitTicket(formData, 'security', uploadedFiles);\n if (submissionResult.success) {\n setTicketForm(prev => ({\n ...prev,\n ticketKey: submissionResult!.ticketKey,\n ticketUrl: submissionResult!.ticketUrl,\n }));\n // Track successful security submission\n trackEvent({\n type: 'chatbot_security_submitted',\n success: true,\n priority: priority || 'unknown',\n ticketKey: submissionResult.ticketKey,\n });\n } else {\n setTicketForm(prev => ({\n ...prev,\n submissionError: submissionResult!.error,\n }));\n // Track security submission error\n trackEvent({\n type: 'chatbot_ticket_error',\n ticketType: 'security',\n errorType: submissionResult.error || 'unknown',\n });\n }\n };\n\n // File upload component\n const fileUploadElement = (\n <FileUploadComponent\n onFileUpload={(files) => {\n setTicketForm(prev => ({\n ...prev,\n uploadedFiles: files,\n }));\n // Track file uploads\n files.forEach(file => {\n trackEvent({\n type: 'chatbot_file_uploaded',\n fileType: file.type || 'unknown',\n fileSize: file.size,\n });\n });\n }}\n enableScreenshot={true}\n maxSizeMB={10}\n />\n );\n\n return {\n // Step 1: Summary (text input)\n security_incident: {\n message: \"You're reporting a security incident. Please provide a brief summary of the security concern.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({\n ...currentForm,\n summary: chatState.userInput,\n email: userInfo.email || currentForm.email,\n name: userInfo.name || currentForm.name,\n accessId: userInfo.accessId || currentForm.accessId,\n });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'summary',\n });\n },\n path: \"security_priority\",\n },\n\n // Step 2: Priority (options)\n security_priority: {\n message: \"What is the priority level of this security incident?\",\n options: [\"Critical\", \"High\", \"Medium\", \"Low\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, priority: chatState.userInput.toLowerCase() });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'priority',\n });\n },\n path: \"security_description\",\n },\n\n // Step 3: Description (text input)\n security_description: {\n message: \"Please provide a detailed description of the security incident or concern.\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, description: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'description',\n });\n },\n path: \"security_attachment\",\n },\n\n // Step 4: Attachment? (options)\n security_attachment: {\n message: \"Do you have any files (screenshots, logs, etc.) that would help with this security incident?\",\n options: [\"Yes\", \"No\"],\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, wantsAttachment: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'attachment_choice',\n });\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Yes\" ? \"security_upload\" : \"security_contact_check\",\n },\n\n // Step 5: File upload (conditional)\n security_upload: {\n message: \"Please upload your files.\",\n component: fileUploadElement,\n options: [\"Continue\"],\n function: () => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, uploadConfirmed: true });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'file_upload',\n });\n },\n path: \"security_contact_check\",\n },\n\n // Step 6: Check if we have user info (branching)\n security_contact_check: {\n message: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId) {\n return `I have your contact information:\\n\\nName: ${formWithUserInfo.name}\\nEmail: ${formWithUserInfo.email}\\nACCESS ID: ${formWithUserInfo.accessId}\\n\\nIs this correct?`;\n }\n return \"I need your contact information.\";\n },\n options: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId) {\n return [\"Yes, that's correct\", \"Let me update it\"];\n }\n return [];\n },\n chatDisabled: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n // Disable only when showing options (have all info)\n return !!(formWithUserInfo.name && formWithUserInfo.email && formWithUserInfo.accessId);\n },\n path: (chatState: ChatState) => {\n if (chatState.userInput === \"Yes, that's correct\") {\n return \"security_summary\";\n } else if (chatState.userInput === \"Let me update it\") {\n return \"security_name\";\n }\n // No user info - go collect it\n return \"security_email\";\n },\n },\n\n // Step 7: Email (text input, conditional)\n security_email: {\n message: \"What is your email address?\",\n validateTextInput: validateEmail,\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, email: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'email',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.name) return \"security_name\";\n if (!formWithUserInfo.accessId) return \"security_accessid\";\n return \"security_summary\";\n },\n },\n\n // Step 8: Name (text input, conditional)\n security_name: {\n message: \"What is your name?\",\n function: (chatState: ChatState) => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, name: chatState.userInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'name',\n });\n },\n path: () => {\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n if (!formWithUserInfo.email) return \"security_email\";\n if (!formWithUserInfo.accessId) return \"security_accessid\";\n return \"security_summary\";\n },\n },\n\n // Step 9: ACCESS ID (text input, optional)\n security_accessid: {\n message: \"What is your ACCESS ID? (Optional - press Enter to skip)\",\n validateTextInput: createOptionalFieldValidator(),\n function: (chatState: ChatState) => {\n const finalInput = processOptionalInput(chatState.userInput);\n mostRecentAccessId = finalInput;\n const currentForm = getCurrentTicketForm() as TicketFormData;\n setTicketForm({ ...currentForm, accessId: finalInput });\n trackEvent({\n type: 'chatbot_ticket_step',\n ticketType: 'security',\n step: 'access_id',\n });\n },\n path: \"security_summary\",\n },\n\n // Step 10: Summary and confirmation\n security_summary: {\n message: () => {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n\n // Create a merged form with the most recent data\n const finalForm = {\n ...currentForm,\n name: formWithUserInfo.name || currentForm.name,\n email: formWithUserInfo.email || currentForm.email,\n accessId: mostRecentAccessId || formWithUserInfo.accessId || currentForm.accessId,\n };\n\n let fileInfo = '';\n if (currentForm.uploadedFiles && currentForm.uploadedFiles.length > 0) {\n fileInfo = `\\nAttachments: ${currentForm.uploadedFiles.length} file(s) attached`;\n }\n\n const accessIdDisplay = finalForm.accessId || 'Not provided';\n\n return `Here's a summary of your security incident report:\\n\\n` +\n `Summary: ${finalForm.summary || 'Not provided'}\\n` +\n `Priority: ${finalForm.priority || 'Not provided'}\\n` +\n `Name: ${finalForm.name || 'Not provided'}\\n` +\n `Email: ${finalForm.email || 'Not provided'}\\n` +\n `ACCESS ID: ${accessIdDisplay}\\n` +\n `Description: ${finalForm.description || 'Not provided'}${fileInfo}\\n\\n` +\n `Would you like to submit this security incident report?`;\n },\n options: [\"Submit Security Report\", \"Back to Main Menu\"],\n function: async (chatState: ChatState) => {\n if (chatState.userInput === \"Submit Security Report\") {\n const currentForm = getCurrentTicketForm() as TicketFormData;\n const formWithUserInfo = getCurrentFormWithUserInfo(userInfo);\n\n // Create final merged form\n const finalForm = {\n ...currentForm,\n name: formWithUserInfo.name || currentForm.name,\n email: formWithUserInfo.email || currentForm.email,\n accessId: mostRecentAccessId || formWithUserInfo.accessId || currentForm.accessId,\n };\n\n // Prepare form data for submission\n const formData = {\n summary: finalForm.summary || \"\",\n priority: finalForm.priority || \"\",\n description: finalForm.description || \"\",\n name: finalForm.name || \"\",\n email: finalForm.email || \"\",\n accessId: finalForm.accessId || \"\",\n };\n\n await handleSubmit(formData, currentForm.uploadedFiles || [], finalForm.priority);\n }\n },\n path: (chatState: ChatState) =>\n chatState.userInput === \"Submit Security Report\" ? \"security_success\" : \"start\",\n },\n\n // Step 11: Success message\n security_success: {\n message: withHistoryFn(() => generateSecuritySuccessMessage(submissionResult)),\n options: [\"Back to Main Menu\"],\n renderHtml: [\"BOT\"],\n path: \"start\",\n },\n };\n}\n\n","import validate from './validate.js';\nconst byteToHex = [];\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n return (byteToHex[arr[offset + 0]] +\n byteToHex[arr[offset + 1]] +\n byteToHex[arr[offset + 2]] +\n byteToHex[arr[offset + 3]] +\n '-' +\n byteToHex[arr[offset + 4]] +\n byteToHex[arr[offset + 5]] +\n '-' +\n byteToHex[arr[offset + 6]] +\n byteToHex[arr[offset + 7]] +\n '-' +\n byteToHex[arr[offset + 8]] +\n byteToHex[arr[offset + 9]] +\n '-' +\n byteToHex[arr[offset + 10]] +\n byteToHex[arr[offset + 11]] +\n byteToHex[arr[offset + 12]] +\n byteToHex[arr[offset + 13]] +\n byteToHex[arr[offset + 14]] +\n byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset);\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;\n","let getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n if (!getRandomValues) {\n if (typeof crypto === 'undefined' || !crypto.getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n","const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default { randomUUID };\n","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n const rnds = options.random ?? options.rng?.() ?? rng();\n if (rnds.length < 16) {\n throw new Error('Random bytes length must be >= 16');\n }\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);\n }\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;\n","/**\n * Metrics/XDMoD Flow\n *\n * Conversational flow for asking questions about usage and performance metrics.\n * Based on the old qa-bot's metrics-flow.js with exact language preserved.\n */\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { API_CONFIG } from '../config/constants';\nimport type { TrackEventFn } from '../utils/analytics';\n\ninterface FlowParams {\n sessionId: string;\n apiKey: string;\n trackEvent: TrackEventFn;\n}\n\ninterface ChatState {\n userInput: string;\n injectMessage: (message: string) => Promise<void>;\n}\n\n/**\n * Process text response from API - basic markdown/HTML handling\n */\nfunction processResponse(text: string): string {\n // Basic processing - the core bot may handle this too\n return text;\n}\n\n/**\n * Creates the Metrics/XDMoD conversation flow\n */\nexport function createMetricsFlow({ sessionId, apiKey, trackEvent }: FlowParams) {\n // Track the query ID for the most recent response that can receive feedback\n let feedbackQueryId: string | null = null;\n\n return {\n // Entry point with instructions\n metrics_intro: {\n message: `Please type your question about usage and performance metrics (XDMoD) below. You can see some <a target=\"_blank\" href=\"${API_CONFIG.METRICS_QUESTIONS_URL}\">examples here</a>.\\n\\n<em>This assistant is powered by AI. Responses may not always be accurate. Do not share passwords or secrets.</em> <a href=\"https://support.access-ci.org/tools/access-qa-tool/privacy\">Privacy Notice</a>`,\n renderHtml: [\"BOT\"],\n path: \"metrics_loop\",\n },\n\n // Main question/answer loop\n metrics_loop: {\n message: async (chatState: ChatState) => {\n const { userInput } = chatState;\n\n // Handle feedback first if it's feedback\n if (userInput === \"👍 Helpful\" || userInput === \"👎 Not helpful\") {\n // Send feedback using the captured query ID\n if (apiKey && sessionId && feedbackQueryId) {\n const isPositive = userInput === \"👍 Helpful\";\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-Origin': 'metrics',\n 'X-API-KEY': apiKey,\n 'X-Session-ID': sessionId,\n 'X-Query-ID': feedbackQueryId,\n 'X-Feedback': isPositive ? '1' : '0',\n };\n\n try {\n await fetch(API_CONFIG.METRICS_RATING_ENDPOINT, {\n method: 'POST',\n headers,\n });\n } catch (error) {\n console.error('Error sending metrics feedback:', error);\n }\n }\n return \"Thanks for the feedback! Ask another question about usage and performance metrics (XDMoD) or start a new chat.\";\n } else {\n // Process as a question - fetch response directly\n try {\n // Generate our own query ID\n const queryId = uuidv4();\n feedbackQueryId = queryId;\n\n // Track metrics question\n trackEvent({\n type: 'chatbot_metrics_question_sent',\n queryId,\n });\n\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n 'X-Origin': 'metrics',\n 'X-API-KEY': apiKey,\n 'X-Session-ID': sessionId,\n 'X-Query-ID': queryId,\n };\n\n const response = await fetch(API_CONFIG.METRICS_API_ENDPOINT, {\n method: 'POST',\n headers,\n body: JSON.stringify({\n query: userInput,\n }),\n });\n\n const body = await response.json();\n const text = body.response;\n const processedText = processResponse(text);\n\n // Inject the response\n await chatState.injectMessage(processedText);\n\n // Inject guidance message after a short delay\n setTimeout(async () => {\n await chatState.injectMessage(\"Ask another question about usage and performance metrics (XDMoD) or start a new chat.\");\n }, 100);\n\n return null;\n } catch (error) {\n console.error('Error in metrics flow:', error);\n return \"I'm sorry, there was an error processing your question. Please try again.\";\n }\n }\n },\n renderMarkdown: [\"BOT\"],\n options: (chatState: ChatState) => {\n // Only show feedback options if the input isn't already feedback\n if (chatState.userInput === \"👍 Helpful\" || chatState.userInput === \"👎 Not helpful\") {\n return []; // No options after feedback is given\n }\n return [\"👍 Helpful\", \"👎 Not helpful\"];\n },\n // Rating is optional - keep input enabled so user can type next question\n // without clicking a feedback button\n chatDisabled: false,\n path: \"metrics_loop\",\n },\n };\n}\n\n","import { v4 as uuidv4 } from 'uuid';\nimport { STORAGE_KEYS } from '../config/constants';\n\n/**\n * Get or create a session ID from localStorage\n */\nexport function getSessionId(): string {\n if (typeof window === 'undefined') {\n return uuidv4();\n }\n\n let sessionId = localStorage.getItem(STORAGE_KEYS.SESSION_ID);\n\n if (!sessionId) {\n sessionId = uuidv4();\n localStorage.setItem(STORAGE_KEYS.SESSION_ID, sessionId);\n }\n\n return sessionId;\n}\n\n/**\n * Clear the current session ID\n */\nexport function clearSession(): void {\n if (typeof window !== 'undefined') {\n localStorage.removeItem(STORAGE_KEYS.SESSION_ID);\n }\n}\n\n/**\n * Generate a new query ID for each Q&A interaction\n */\nexport function generateQueryId(): string {\n return uuidv4();\n}\n","/**\n * shadow-dom-styles.ts\n *\n * Injects qa-bot-core CSS overrides into a shadow root.\n *\n * qa-bot-core's rollup build injects its CSS into document.head via postcss.\n * In a shadow DOM (e.g. access-ci-ui), those styles don't cross the shadow\n * boundary, so react-chatbotify's defaults (like width: 80% on checkbox rows)\n * win. This utility re-injects the critical layout overrides directly into the\n * shadow root so they take effect.\n */\n\nconst SHADOW_STYLE_ID = 'access-qa-bot-shadow-overrides';\n\nconst SHADOW_CSS = `\n.rcb-checkbox-container {\n display: flex !important;\n flex-wrap: wrap !important;\n gap: 8px !important;\n margin-left: 16px !important;\n padding-top: 12px !important;\n max-width: 100% !important;\n}\n\n.rcb-checkbox-row-container {\n display: flex !important;\n align-items: center !important;\n background-color: #ffffff !important;\n border: 1px solid #d0d0d0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n padding: 8px 12px !important;\n margin: 0 !important;\n min-height: auto !important;\n max-height: auto !important;\n width: auto !important;\n flex: 0 0 auto !important;\n transition: all 0.2s ease !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--primaryColor, #107180) !important;\n text-align: center !important;\n box-sizing: border-box !important;\n}\n\n.rcb-checkbox-row-container:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--primaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-checkbox-row-container[data-checked=\"true\"] {\n background-color: var(--primaryColor, #107180) !important;\n border-color: var(--primaryColor, #107180) !important;\n color: white !important;\n}\n\n.rcb-checkbox-row {\n margin-left: 0px !important;\n}\n\n.rcb-checkbox-mark {\n width: 14px !important;\n height: 14px !important;\n margin-right: 6px !important;\n}\n\n.rcb-checkbox-label {\n font-size: 13px !important;\n margin: 0 !important;\n white-space: nowrap !important;\n}\n\n.rcb-checkbox-next-button {\n background-color: #ffffff !important;\n border: 1px solid #d0d0d0 !important;\n border-radius: 6px !important;\n cursor: pointer !important;\n padding: 8px 12px !important;\n margin: 0 !important;\n min-height: auto !important;\n max-height: auto !important;\n width: auto !important;\n flex: 0 0 auto !important;\n transition: all 0.2s ease !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--secondaryColor, #107180) !important;\n text-align: center !important;\n box-sizing: border-box !important;\n}\n\n.rcb-checkbox-next-button:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--secondaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-options-container {\n display: flex !important;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n gap: 8px !important;\n margin: 16px 16px !important;\n padding: 0 !important;\n}\n\n.rcb-options {\n border: 1px solid #d0d0d0 !important;\n outline: none !important;\n background-color: #ffffff !important;\n border-radius: 6px !important;\n padding: 8px 12px !important;\n cursor: pointer !important;\n transition: all 0.2s ease !important;\n text-align: center !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n color: var(--secondaryColor, #107180) !important;\n width: auto !important;\n flex: 0 0 auto !important;\n box-sizing: border-box !important;\n}\n\n.rcb-options:hover {\n background-color: #e8f4f8 !important;\n border-color: var(--secondaryColor, #107180) !important;\n transform: translateY(-1px) !important;\n box-shadow: 0 2px 4px rgba(16, 113, 128, 0.2) !important;\n}\n\n.rcb-options:active {\n background-color: var(--secondaryColor, #107180) !important;\n border-color: var(--secondaryColor, #107180) !important;\n color: white !important;\n transform: translateY(0) !important;\n}\n\n.rcb-bot-message a,\n.rcb-chat-window .rcb-bot-message a:link,\n.rcb-chat-window .rcb-bot-message a:visited {\n color: #ffffff !important;\n text-decoration: underline !important;\n}\n\n.rcb-bot-message a:hover {\n opacity: 0.85;\n text-decoration: underline !important;\n}\n`;\n\n/**\n * If the given element is inside a shadow DOM, inject CSS overrides\n * into the shadow root. No-op when running outside shadow DOM.\n */\nexport function injectShadowDomStyles(element: HTMLElement | null): void {\n if (!element) return;\n\n const root = element.getRootNode();\n if (!(root instanceof ShadowRoot)) return;\n\n // Don't inject twice\n if (root.getElementById(SHADOW_STYLE_ID)) return;\n\n const style = document.createElement('style');\n style.id = SHADOW_STYLE_ID;\n style.textContent = SHADOW_CSS;\n root.appendChild(style);\n}\n","import { forwardRef, useImperativeHandle, useRef, useState, useMemo, useEffect, useCallback } from 'react';\nimport { QABot, applyFlowSettings } from '@snf/qa-bot-core';\nimport type { AccessQABotProps, AccessQABotRef } from '../types';\nimport { API_CONFIG, BOT_CONFIG } from '../config/constants';\nimport { createMainMenuFlow, createTicketFlow, createSecurityFlow, createMetricsFlow } from '../flows';\nimport { setCurrentFormContext, type TicketFormData, type UserInfo } from '../utils/flow-context';\nimport { getSessionId } from '../utils/session';\nimport type { TrackEventFn } from '../utils/analytics';\nimport { injectShadowDomStyles } from '../utils/shadow-dom-styles';\nimport '../styles/chatbot.css';\n\n/**\n * AccessQABot - Wrapper around @snf/qa-bot-core with ACCESS-specific functionality\n *\n * This component demonstrates how to extend qa-bot-core with custom flows:\n * 1. Main menu flow - provides top-level navigation\n * 2. Ticket flows - handles ticket creation with file uploads\n *\n * The wrapper pattern keeps ACCESS-specific logic (JIRA integration, ticket forms)\n * separate from the generic qa-bot-core library.\n */\nexport const AccessQABot = forwardRef<AccessQABotRef, AccessQABotProps>(\n (props, ref) => {\n const {\n apiKey = API_CONFIG.DEFAULT_API_KEY,\n isLoggedIn = false,\n loginUrl = BOT_CONFIG.LOGIN_URL,\n // User context for pre-filling forms\n userEmail,\n userName,\n accessId,\n actingUser,\n // Unused props (accepted for API compatibility)\n ringEffect: _ringEffect,\n defaultOpen: _defaultOpen,\n onClose: _onClose,\n // Active props\n open,\n onOpenChange,\n embedded = false,\n welcome,\n // Endpoint overrides\n qaEndpoint,\n ratingEndpoint,\n // Analytics\n onAnalyticsEvent,\n } = props;\n\n const botRef = useRef<any>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Ticket form state - managed here to persist across flow steps\n const [ticketForm, setTicketForm] = useState<TicketFormData>({});\n\n // User info from props\n const userInfo: UserInfo = useMemo(() => ({\n email: userEmail,\n name: userName,\n accessId: accessId,\n }), [userEmail, userName, accessId]);\n\n // Inject CSS overrides into shadow DOM if needed\n useEffect(() => {\n injectShadowDomStyles(containerRef.current);\n }, []);\n\n // Keep form context in sync for flow utilities\n useEffect(() => {\n setCurrentFormContext({\n ticketForm,\n setTicketForm,\n });\n }, [ticketForm]);\n\n // Expose addMessage method via ref (maintains old API)\n useImperativeHandle(ref, () => ({\n addMessage: (message: string) => {\n botRef.current?.addMessage?.(message);\n },\n }));\n\n // Determine welcome message based on login state\n const welcomeMessage = welcome ||\n (isLoggedIn ? BOT_CONFIG.WELCOME_MESSAGE : BOT_CONFIG.WELCOME_MESSAGE_LOGGED_OUT);\n\n // Get session ID for analytics and metrics flow\n const sessionId = useMemo(() => getSessionId(), []);\n\n // Create analytics tracker that forwards events to consumer\n const trackEvent: TrackEventFn = useCallback((event) => {\n if (onAnalyticsEvent) {\n onAnalyticsEvent({\n ...event,\n type: event.type,\n timestamp: event.timestamp ?? Date.now(),\n sessionId: event.sessionId ?? sessionId,\n });\n }\n }, [onAnalyticsEvent, sessionId]);\n\n // Handler for core analytics events - forwards them to consumer\n const handleCoreAnalyticsEvent = useCallback((event: { type: string; [key: string]: unknown }) => {\n if (onAnalyticsEvent) {\n onAnalyticsEvent({\n ...event,\n type: event.type,\n timestamp: typeof event.timestamp === 'number' ? event.timestamp : Date.now(),\n sessionId: typeof event.sessionId === 'string' ? event.sessionId : sessionId,\n });\n }\n }, [onAnalyticsEvent, sessionId]);\n\n // Build custom flow by combining main menu + all specialized flows\n // Note: ticketForm is NOT a dependency here. All flows read current form state\n // at runtime via getCurrentTicketForm() (from flow-context.ts), so the flow\n // object doesn't need to be recreated when form fields change. Including it\n // caused the entire flow to recreate on every keystroke, which led to duplicate\n // messages in the conversation history.\n const customFlow = useMemo(() => {\n // Main menu provides top-level navigation\n const mainMenuFlow = createMainMenuFlow({\n welcome: welcomeMessage,\n setTicketForm,\n isLoggedIn,\n trackEvent,\n });\n\n // Ticket flows handle ticket creation\n const ticketFlows = createTicketFlow({\n ticketForm: {},\n setTicketForm,\n userInfo,\n trackEvent,\n });\n\n // Security flow for reporting security incidents\n const securityFlow = createSecurityFlow({\n ticketForm: {},\n setTicketForm,\n userInfo,\n trackEvent,\n });\n\n // Metrics flow for XDMoD questions\n const metricsFlow = createMetricsFlow({\n sessionId,\n apiKey,\n trackEvent,\n });\n\n // Merge all flows and apply settings\n const rawFlow = {\n ...mainMenuFlow,\n ...ticketFlows,\n ...securityFlow,\n ...metricsFlow,\n };\n\n // Auto-set chatDisabled based on whether step has options/checkboxes\n return applyFlowSettings(rawFlow, { disableOnOptions: true });\n }, [welcomeMessage, userInfo, sessionId, apiKey, isLoggedIn, trackEvent]);\n\n return (\n <div ref={containerRef}>\n <QABot\n ref={botRef}\n // Login state - Q&A is gated when false, tickets/security work regardless\n isLoggedIn={isLoggedIn}\n actingUser={actingUser}\n\n // Analytics (temporary logging for testing)\n onAnalyticsEvent={handleCoreAnalyticsEvent}\n\n // API configuration\n apiKey={apiKey}\n qaEndpoint={qaEndpoint || API_CONFIG.QA_ENDPOINT}\n ratingEndpoint={ratingEndpoint || API_CONFIG.RATING_ENDPOINT}\n\n // Branding\n botName={BOT_CONFIG.BOT_NAME}\n logo={BOT_CONFIG.LOGO}\n primaryColor={BOT_CONFIG.PRIMARY_COLOR}\n secondaryColor={BOT_CONFIG.SECONDARY_COLOR}\n welcomeMessage={welcomeMessage}\n tooltipText={BOT_CONFIG.TOOLTIP}\n\n // UI Control\n loginUrl={loginUrl}\n open={open}\n onOpenChange={onOpenChange}\n embedded={embedded}\n\n // Footer\n footerText=\"AI-powered · Privacy Notice\"\n footerLink=\"https://support.access-ci.org/tools/access-qa-tool/privacy\"\n\n // Custom flows for tickets, etc.\n customFlow={customFlow}\n />\n </div>\n );\n }\n);\n\nAccessQABot.displayName = 'AccessQABot';\n\nexport default AccessQABot;\n"],"names":["b","n","r","w","y","x","t","e","E","B","P","k","D","C","S","I","T","Q","M","h","g","O","L","o","N","H","R","z","j","F","A","i","a","l","s","d","c","u","U","q","_","p","Y","G","W","V","f","v","X","K","J","Z","$","ee","te","ne","m","re","oe","Ae","ie","ae","le","se","ce","ue","ct","de","pe","fe","he","ge","me","ve","ye","be","we","xe","Ee","Be","Pe","ke","De","Ce","Se","Ie","Te","Qe","Me","Oe","Le","Ne","He","Re","ze","je","Fe","Ue","qe","_e","Ye","Ge","We","Ve","Xe","Ke","Je","Ze","$e","nt","et","tt","rt","ot","At","it","at","lt","st","ut","dt","pt","ft","ht","gt","mt","vt","bt","wt","yt","xt","Et","Bt","Pt","kt","Dt","Ct","St","It","Tt","Qt","Mt","Ot","Lt","Nt","Ht","zt","Rt","jt","Ft","Ut","qt","_t","Yt","Gt","Wt","Vt","Xt","Kt","Jt","Zt","$t","en","tn","nn","rn","on","An","an","ln","sn","cn","un","dn","pn","fn","hn","gn","mn","vn","bn","wn","yn","xn","En","Bn","Pn","kn","Dn","Cn","Sn","In","Tn","Qn","Mn","On","Ln","Nn","Hn","Rn","zn","jn","Fn","Un","qn","_n","Jn","Yn","Gn","Wn","Vn","Xn","Kn","Zn","$n","er","tr","nr","rr","or","Ar","ir","ar","lr","sr","cr","ur","dr","pr","fr","hr","gr","mr","vr","br","wr","yr","xr","Er","Br","Pr","kr","Dr","Cr","Ir","Sr","Tr","Mr","Qr","Or","Lr","Nr","Hr","Rr","zr","jr","Fr","Ur","qr","_r","Xr","Vr","Wr","Yr","Gr","Kr","Zr","Jr","$r","eo","to","no","ro","oo","Ao","io","ao","lo","so","co","uo","po","fo","ho","Do","go","mo","vo","bo","wo","yo","xo","Eo","Bo","Po","ko","Co","So","Io","To","Qo","Mo","Oo","Lo","No","Ho","Ro","zo","jo","Fo","Uo","qo","_o","Yo","Go","Wo","Vo","Xo","Ko","Jo","Zo","$o","eA","tA","nA","rA","oA","AA","iA","aA","lA","sA","cA","uA","dA","pA","fA","hA","gA","mA","vA","bA","wA","yA","EA","xA","BA","PA","kA","IA","DA","SA","CA","TA","QA","MA","OA","LA","NA","HA","RA","zA","jA","FA","UA","qA","_A","YA","WA","XA","GA","VA","KA","JA","ZA","$A","ei","ti","ni","ri","oi","Ai","ii","ai","li","si","ci","ui","di","pi","fi","gi","hi","mi","vi","bi","wi","yi","xi","Ei","Bi","Si","ki","Di","Pi","Ci","Ii","Ti","Qi","Mi","Oi","Li","Ni","Hi","Ri","zi","ji","Fi","Ui","qi","_i","Yi","Wi","Gi","Vi","Xi","Ki","Ji","ta","oa","$i","ea","ra","na","Zi","Aa","ia","aa","la","sa","ca","ua","da","pa","fa","ha","ga","ma","va","ba","wa","ya","xa","Ea","Ba","Pa","ka","Da","_a","Ca","Sa","Ia","Ta","Qa","Ma","Oa","La","Na","Ha","Ra","za","ja","Fa","Ua","qa","Ya","Ga","Wa","Va","Xa","Ka","Ja","Za","$a","el","tl","nl","_b","_c","_d","rl","ol","Al","il","al","ll","sl","cl","ul","dl","pl","fl","hl","gl","ml","vl","wl","yl","xl","Bl","Pl","API_CONFIG","BOT_CONFIG","STORAGE_KEYS","createMainMenuFlow","welcome","setTicketForm","isLoggedIn","trackEvent","chatState","currentFormContext","setCurrentFormContext","context","getCurrentTicketForm","getCurrentFormWithUserInfo","userInfo","currentForm","getFileInfo","uploadedFiles","REQUEST_TYPE_IDS","prepareApiSubmission","formData","ticketType","requestTypeId","submissionData","filesToBase64","sendToProxy","endpoint","proxyEndpoint","response","errorMessage","errorText","errorJson","data","error","submitTicket","generateSuccessMessage","result","validateEmail","email","createOptionalFieldValidator","processOptionalInput","input","createAccessLoginFlow","_ticketForm","submissionResult","handleSubmit","prev","formWithUserInfo","jsx","FileUploadComponent","files","file","fileInfo","finalAccessId","withHistoryFn","createResourceLoginFlow","KEYWORDS","RESOURCES","createGeneralHelpFlow","currentKeywords","additionalKeywords","filteredKeywords","formattedKeywords","resourceInfo","TICKET_TYPE_MAP","createTicketFlow","ticketForm","accessLoginFlow","resourceLoginFlow","generalHelpFlow","generateSecuritySuccessMessage","createSecurityFlow","mostRecentAccessId","priority","finalInput","finalForm","accessIdDisplay","byteToHex","unsafeStringify","arr","offset","getRandomValues","rnds8","rng","randomUUID","native","v4","options","buf","rnds","createMetricsFlow","sessionId","apiKey","feedbackQueryId","userInput","headers","queryId","uuidv4","text","processedText","getSessionId","SHADOW_STYLE_ID","SHADOW_CSS","injectShadowDomStyles","element","root","style","AccessQABot","forwardRef","props","ref","loginUrl","userEmail","userName","accessId","actingUser","_ringEffect","_defaultOpen","_onClose","open","onOpenChange","embedded","qaEndpoint","ratingEndpoint","onAnalyticsEvent","botRef","useRef","containerRef","useState","useMemo","useEffect","useImperativeHandle","message","welcomeMessage","useCallback","event","handleCoreAnalyticsEvent","customFlow","mainMenuFlow","ticketFlows","securityFlow","metricsFlow","rawFlow","applyFlowSettings","QABot"],"mappings":"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EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,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","x_google_ignoreList":[0,11,12,13,14]}
|