@snf/access-qa-bot 3.3.13 → 3.4.0
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.
package/dist/access-qa-bot.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as he, jsx as P, Fragment as _e } from "react/jsx-runtime";
|
|
2
2
|
import * as ve from "react";
|
|
3
|
-
import _, { forwardRef as qe, createContext as mt, useRef as ae, useEffect as $, useImperativeHandle as ai, useState as ee, useCallback as K, useMemo as He, useContext as yt, isValidElement as
|
|
3
|
+
import _, { forwardRef as qe, createContext as mt, useRef as ae, useEffect as $, useImperativeHandle as ai, useState as ee, useCallback as K, useMemo as He, useContext as yt, isValidElement as Dr, createElement as Xr, Fragment as Ir } from "react";
|
|
4
4
|
import "react-dom/client";
|
|
5
5
|
import ka from "react-dom/server";
|
|
6
6
|
function si(e, t) {
|
|
@@ -12,11 +12,11 @@ function si(e, t) {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
si('.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" });
|
|
15
|
-
const Ee = { 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" }, Jr = "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", Zr = qe((e, t) => ve.createElement("svg", { viewBox: "0 0 637 637", ref: t, ...e }, ve.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" }), ve.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" }))), $r = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Pa = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ca = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ba = qe((e, t) => ve.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 100", ref: t, ...e }, ve.createElement("g", { strokeLinecap: "round", strokeWidth: 10 }, ve.createElement("path", { d: "m19 19 61 61M80 19 19 80" })))), Da = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.createElement("path", { d: "M94-136v-255l351-93-351-92v-253l816 346L94-136Z" }))), Sa = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ia = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), eo = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ta = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Qa = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ai = { 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: Zr }, header: { title: P("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: Jr, buttons: [Ee.NOTIFICATION_BUTTON, Ee.AUDIO_BUTTON, Ee.CLOSE_CHAT_BUTTON], closeChatIcon: Ba }, notification: { disabled: !1, defaultToggledOn: !0, volume: 0.2, icon: Pa, iconDisabled: Ca, 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: Ta, iconDisabled: Qa }, 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: Da, blockSpam: !0, sendOptionOutput: !0, sendCheckboxOutput: !0, buttons: [Ee.VOICE_MESSAGE_BUTTON, Ee.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: Jr, simulateStream: !1, streamSpeed: 30 }, voice: { disabled: !0, defaultToggledOn: !1, language: "en-US", timeoutPeriod: 1e4, autoSendDisabled: !1, autoSendPeriod: 1e3, sendAsAudio: !1, icon: Sa, iconDisabled: Ia }, footer: { text: he("div", { style: { cursor: "pointer", display: "flex", flexDirection: "row", alignItems: "center", columnGap: 3 }, onClick: () => window.open("https://react-chatbotify.com", "_blank", "noopener,noreferrer"), children: [P("span", { children: "Powered By " }, 0), P("div", { style: { borderRadius: "50%", width: 14, height: 14, display: "flex", justifyContent: "center", alignItems: "center", background: "linear-gradient(to right, #42b0c5, #491d8d)" }, children: P(Zr, { style: { width: "80%", height: "80%", fill: "#fff" } }) }, 1), P("span", { style: { fontWeight: "bold" }, children: " React ChatBotify" }, 2)] }), buttons: [Ee.FILE_ATTACHMENT_BUTTON, Ee.EMOJI_PICKER_BUTTON] }, fileAttachment: { disabled: !1, multiple: !0, accept: ".png", icon: $r, iconDisabled: $r, sendFileName: !0, showMediaDisplay: !1 }, emoji: { disabled: !1, icon: eo, iconDisabled: eo, 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 } }, li = mt({ settings: {}, setSyncedSettings: () => null, syncedSettingsRef: { current: {} } }), oe = () => yt(li), Ma = ({ children: e, settings: t = Ai, setSyncedSettings: r, syncedSettingsRef: n }) => P(li.Provider, { value: { settings: t, setSyncedSettings: r, syncedSettingsRef: n }, children: e }), ci = { 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: {} }, ui = mt({ styles: {}, setSyncedStyles: () => null, syncedStylesRef: { current: {} } }), pe = () => yt(ui), Oa = ({ children: e, styles: t = ci, setSyncedStyles: r, syncedStylesRef: n }) => P(ui.Provider, { value: { styles: t, setSyncedStyles: r, syncedStylesRef: n }, children: e }), _a = ({ buttons: e }) => {
|
|
15
|
+
const Ee = { 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" }, Jr = "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", Zr = qe((e, t) => ve.createElement("svg", { viewBox: "0 0 637 637", ref: t, ...e }, ve.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" }), ve.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" }))), $r = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Pa = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ca = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ba = qe((e, t) => ve.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 100 100", ref: t, ...e }, ve.createElement("g", { strokeLinecap: "round", strokeWidth: 10 }, ve.createElement("path", { d: "m19 19 61 61M80 19 19 80" })))), Sa = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.createElement("path", { d: "M94-136v-255l351-93-351-92v-253l816 346L94-136Z" }))), Da = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ia = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), eo = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ta = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Qa = qe((e, t) => ve.createElement("svg", { viewBox: "0 -960 960 960", ref: t, ...e }, ve.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" }))), Ai = { 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: Zr }, header: { title: P("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: Jr, buttons: [Ee.NOTIFICATION_BUTTON, Ee.AUDIO_BUTTON, Ee.CLOSE_CHAT_BUTTON], closeChatIcon: Ba }, notification: { disabled: !1, defaultToggledOn: !0, volume: 0.2, icon: Pa, iconDisabled: Ca, 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: Ta, iconDisabled: Qa }, 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: Sa, blockSpam: !0, sendOptionOutput: !0, sendCheckboxOutput: !0, buttons: [Ee.VOICE_MESSAGE_BUTTON, Ee.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: Jr, simulateStream: !1, streamSpeed: 30 }, voice: { disabled: !0, defaultToggledOn: !1, language: "en-US", timeoutPeriod: 1e4, autoSendDisabled: !1, autoSendPeriod: 1e3, sendAsAudio: !1, icon: Da, iconDisabled: Ia }, footer: { text: he("div", { style: { cursor: "pointer", display: "flex", flexDirection: "row", alignItems: "center", columnGap: 3 }, onClick: () => window.open("https://react-chatbotify.com", "_blank", "noopener,noreferrer"), children: [P("span", { children: "Powered By " }, 0), P("div", { style: { borderRadius: "50%", width: 14, height: 14, display: "flex", justifyContent: "center", alignItems: "center", background: "linear-gradient(to right, #42b0c5, #491d8d)" }, children: P(Zr, { style: { width: "80%", height: "80%", fill: "#fff" } }) }, 1), P("span", { style: { fontWeight: "bold" }, children: " React ChatBotify" }, 2)] }), buttons: [Ee.FILE_ATTACHMENT_BUTTON, Ee.EMOJI_PICKER_BUTTON] }, fileAttachment: { disabled: !1, multiple: !0, accept: ".png", icon: $r, iconDisabled: $r, sendFileName: !0, showMediaDisplay: !1 }, emoji: { disabled: !1, icon: eo, iconDisabled: eo, 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 } }, li = mt({ settings: {}, setSyncedSettings: () => null, syncedSettingsRef: { current: {} } }), oe = () => yt(li), Ma = ({ children: e, settings: t = Ai, setSyncedSettings: r, syncedSettingsRef: n }) => P(li.Provider, { value: { settings: t, setSyncedSettings: r, syncedSettingsRef: n }, children: e }), ci = { 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: {} }, ui = mt({ styles: {}, setSyncedStyles: () => null, syncedStylesRef: { current: {} } }), pe = () => yt(ui), Oa = ({ children: e, styles: t = ci, setSyncedStyles: r, syncedStylesRef: n }) => P(ui.Provider, { value: { styles: t, setSyncedStyles: r, syncedStylesRef: n }, children: e }), _a = ({ buttons: e }) => {
|
|
16
16
|
var t, r, n, o, i, A, s;
|
|
17
17
|
const { settings: a } = oe(), { styles: l } = pe(), c = { backgroundImage: `linear-gradient(to right, ${(t = a.general) == null ? void 0 : t.secondaryColor},
|
|
18
18
|
${(r = a.general) == null ? void 0 : r.primaryColor})`, ...l.headerStyle };
|
|
19
|
-
return he("div", { style: c, className: "rcb-chat-header-container", children: [he("div", { className: "rcb-chat-header", children: [((n = a.header) == null ? void 0 : n.showAvatar) && P("div", { style: { backgroundImage: `url("${(o = a.header) == null ? void 0 : o.avatar}")` }, className: "rcb-bot-avatar" }),
|
|
19
|
+
return he("div", { style: c, className: "rcb-chat-header-container", children: [he("div", { className: "rcb-chat-header", children: [((n = a.header) == null ? void 0 : n.showAvatar) && P("div", { style: { backgroundImage: `url("${(o = a.header) == null ? void 0 : o.avatar}")` }, className: "rcb-bot-avatar" }), Dr((i = a.header) == null ? void 0 : i.title) ? (A = a.header) == null ? void 0 : A.title : P("div", { style: { margin: 0, fontSize: 20, fontWeight: "bold" }, children: (s = a.header) == null ? void 0 : s.title })] }), P("div", { className: "rcb-chat-header", children: e == null ? void 0 : e.map((d, u) => P(Ir, { children: d }, u)) })] });
|
|
20
20
|
}, di = mt({}), Ce = () => yt(di), Na = ({ children: e, botIdRef: t, flowRef: r }) => {
|
|
21
21
|
const n = ae(null), o = ae(""), i = ae(null), A = ae(/* @__PURE__ */ new Map()), s = ae(null), a = ae(""), l = ae(!1), c = ae(null), d = ae(null), u = ae(null);
|
|
22
22
|
return P(di.Provider, { value: { botIdRef: t, flowRef: r, inputRef: n, timeoutIdRef: i, streamMessageMap: A, chatBodyRef: s, paramsInputRef: a, keepVoiceOnRef: l, audioContextRef: c, audioBufferRef: d, gainNodeRef: u, prevInputRef: o }, children: e });
|
|
@@ -26,10 +26,10 @@ const Ee = { AUDIO_BUTTON: "audio-button", NOTIFICATION_BUTTON: "notification-bu
|
|
|
26
26
|
const i = typeof o == "function" ? o(n.current) : o;
|
|
27
27
|
n.current = i, r(i);
|
|
28
28
|
}, n];
|
|
29
|
-
}, pi = mt({}),
|
|
29
|
+
}, pi = mt({}), De = () => yt(pi), La = ({ children: e, settings: t }) => {
|
|
30
30
|
var r, n, o, i, A, s;
|
|
31
|
-
const [a, l, c] = Xe(!1), [d, u, p] = Xe(((r = t == null ? void 0 : t.chatWindow) == null ? void 0 : r.defaultOpen) ?? !1), [h, b, f] = Xe(((n = t == null ? void 0 : t.audio) == null ? void 0 : n.defaultToggledOn) ?? !1), [v, w, g] = Xe(((o = t == null ? void 0 : t.voice) == null ? void 0 : o.defaultToggledOn) ?? !1), [x, k, E] = Xe(((i = t == null ? void 0 : t.notification) == null ? void 0 : i.defaultToggledOn) ?? !0), [C,
|
|
32
|
-
return P(pi.Provider, { value: { isBotTyping: a, setSyncedIsBotTyping: l, syncedIsBotTypingRef: c, isChatWindowOpen: d, setSyncedIsChatWindowOpen: u, syncedIsChatWindowOpenRef: p, audioToggledOn: h, setSyncedAudioToggledOn: b, syncedAudioToggledOnRef: f, voiceToggledOn: v, setSyncedVoiceToggledOn: w, syncedVoiceToggledOnRef: g, notificationsToggledOn: x, setSyncedNotificationsToggledOn: k, syncedNotificationsToggledOnRef: E, isLoadingChatHistory: C, setIsLoadingChatHistory:
|
|
31
|
+
const [a, l, c] = Xe(!1), [d, u, p] = Xe(((r = t == null ? void 0 : t.chatWindow) == null ? void 0 : r.defaultOpen) ?? !1), [h, b, f] = Xe(((n = t == null ? void 0 : t.audio) == null ? void 0 : n.defaultToggledOn) ?? !1), [v, w, g] = Xe(((o = t == null ? void 0 : t.voice) == null ? void 0 : o.defaultToggledOn) ?? !1), [x, k, E] = Xe(((i = t == null ? void 0 : t.notification) == null ? void 0 : i.defaultToggledOn) ?? !0), [C, D] = ee(!1), [T, S] = ee(!1), [M, B, O] = Xe(!1), [U, Q, H] = Xe(!0), [N, R, m] = Xe(!1), [j, y] = ee(!1), [W, te] = ee(!1), [Z, Ae] = ee(0), [Ne, fe] = ee(0), [$e, F] = ee(!1), [Y, se] = ee(((A = window.visualViewport) == null ? void 0 : A.height) ?? window.innerHeight), [ne, le] = ee(((s = window.visualViewport) == null ? void 0 : s.width) ?? window.innerWidth);
|
|
32
|
+
return P(pi.Provider, { value: { isBotTyping: a, setSyncedIsBotTyping: l, syncedIsBotTypingRef: c, isChatWindowOpen: d, setSyncedIsChatWindowOpen: u, syncedIsChatWindowOpenRef: p, audioToggledOn: h, setSyncedAudioToggledOn: b, syncedAudioToggledOnRef: f, voiceToggledOn: v, setSyncedVoiceToggledOn: w, syncedVoiceToggledOnRef: g, notificationsToggledOn: x, setSyncedNotificationsToggledOn: k, syncedNotificationsToggledOnRef: E, isLoadingChatHistory: C, setIsLoadingChatHistory: D, hasChatHistoryLoaded: T, setHasChatHistoryLoaded: S, isScrolling: M, setSyncedIsScrolling: B, syncedIsScrollingRef: O, textAreaDisabled: U, setSyncedTextAreaDisabled: Q, syncedTextAreaDisabledRef: H, textAreaSensitiveMode: N, setSyncedTextAreaSensitiveMode: R, syncedTextAreaSensitiveModeRef: m, hasInteractedPage: j, setHasInteractedPage: y, hasFlowStarted: W, setHasFlowStarted: te, unreadCount: Z, setUnreadCount: Ae, inputLength: Ne, setInputLength: fe, blockAllowsAttachment: $e, setBlockAllowsAttachment: F, viewportHeight: Y, setViewportHeight: se, viewportWidth: ne, setViewportWidth: le }, children: e });
|
|
33
33
|
};
|
|
34
34
|
var G = ((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))(G || {});
|
|
35
35
|
const Ra = { [G.START_SPEAK_AUDIO]: !0, [G.TOGGLE_AUDIO]: !0, [G.TOGGLE_VOICE]: !0, [G.TOGGLE_NOTIFICATIONS]: !0, [G.TOGGLE_CHAT_WINDOW]: !0, [G.PRE_INJECT_MESSAGE]: !0, [G.POST_INJECT_MESSAGE]: !1, [G.PRE_LOAD_CHATBOT]: !0, [G.POST_LOAD_CHATBOT]: !1, [G.START_SIMULATE_STREAM_MESSAGE]: !0, [G.STOP_SIMULATE_STREAM_MESSAGE]: !1, [G.START_STREAM_MESSAGE]: !0, [G.CHUNK_STREAM_MESSAGE]: !0, [G.STOP_STREAM_MESSAGE]: !0, [G.REMOVE_MESSAGE]: !0, [G.SAVE_CHAT_HISTORY]: !0, [G.LOAD_CHAT_HISTORY]: !0, [G.CHANGE_PATH]: !0, [G.SHOW_TOAST]: !0, [G.DISMISS_TOAST]: !0, [G.USER_SUBMIT_TEXT]: !0, [G.USER_UPLOAD_FILE]: !0, [G.TEXT_AREA_CHANGE_VALUE]: !0, [G.PRE_PROCESS_BLOCK]: !0, [G.POST_PROCESS_BLOCK]: !0 }, cr = async (e, t, r) => {
|
|
@@ -46,7 +46,7 @@ const Ra = { [G.START_SPEAK_AUDIO]: !0, [G.TOGGLE_AUDIO]: !0, [G.TOGGLE_VOICE]:
|
|
|
46
46
|
return await cr(o, A, i);
|
|
47
47
|
}, [e]) };
|
|
48
48
|
}, Ze = () => {
|
|
49
|
-
const { settings: e } = oe(), { isChatWindowOpen: t, setSyncedIsChatWindowOpen: r, viewportHeight: n, setViewportHeight: o, viewportWidth: i, setViewportWidth: A, setUnreadCount: s, setSyncedIsBotTyping: a, setSyncedIsScrolling: l, syncedIsBotTypingRef: c, syncedIsChatWindowOpenRef: d } =
|
|
49
|
+
const { settings: e } = oe(), { isChatWindowOpen: t, setSyncedIsChatWindowOpen: r, viewportHeight: n, setViewportHeight: o, viewportWidth: i, setViewportWidth: A, setUnreadCount: s, setSyncedIsBotTyping: a, setSyncedIsScrolling: l, syncedIsBotTypingRef: c, syncedIsChatWindowOpenRef: d } = De(), { chatBodyRef: u } = Ce(), { dispatchRcbEvent: p } = st(), h = K(() => {
|
|
50
50
|
if (!u.current) return !1;
|
|
51
51
|
const g = u.current.getBoundingClientRect(), x = window.innerHeight ?? document.documentElement.clientHeight, k = window.innerWidth ?? document.documentElement.clientWidth;
|
|
52
52
|
return g.top >= 0 && g.left >= 0 && g.bottom <= x && g.right <= k;
|
|
@@ -61,18 +61,18 @@ const Ra = { [G.START_SPEAK_AUDIO]: !0, [G.TOGGLE_AUDIO]: !0, [G.TOGGLE_VOICE]:
|
|
|
61
61
|
if (g <= 0) return u.current.scrollTop = x, void l(!1);
|
|
62
62
|
const k = u.current.scrollTop, E = x - k;
|
|
63
63
|
let C = 0;
|
|
64
|
-
const
|
|
64
|
+
const D = () => {
|
|
65
65
|
if (!u.current) return;
|
|
66
66
|
C += 20;
|
|
67
67
|
const T = v(C, k, E, g);
|
|
68
|
-
u.current.scrollTop = T, C < g ? requestAnimationFrame(
|
|
68
|
+
u.current.scrollTop = T, C < g ? requestAnimationFrame(D) : l(!1);
|
|
69
69
|
};
|
|
70
|
-
|
|
70
|
+
D();
|
|
71
71
|
}, [u]);
|
|
72
72
|
return { isChatWindowOpen: t, setSyncedIsChatWindowOpen: r, toggleChatWindow: b, viewportHeight: n, setViewportHeight: o, viewportWidth: i, setViewportWidth: A, toggleIsBotTyping: f, scrollToBottom: w, getIsChatBotVisible: h };
|
|
73
73
|
}, Ua = () => {
|
|
74
74
|
var e, t, r;
|
|
75
|
-
const { settings: n } = oe(), { styles: o } = pe(), { unreadCount: i, isScrolling: A } =
|
|
75
|
+
const { settings: n } = oe(), { styles: o } = pe(), { unreadCount: i, isScrolling: A } = De(), { chatBodyRef: s } = Ce(), { scrollToBottom: a } = Ze(), [l, c] = ee(!1), d = { color: (e = n.general) == null ? void 0 : e.primaryColor, borderColor: (t = n.general) == null ? void 0 : t.primaryColor, ...o.chatMessagePromptHoveredStyle };
|
|
76
76
|
return P("div", { className: "rcb-message-prompt-container " + (s.current && ((u = n.chatWindow) != null && u.showMessagePrompt) && A && i > 0 ? "visible" : "hidden"), children: P("div", { onMouseEnter: () => {
|
|
77
77
|
c(!0);
|
|
78
78
|
}, onMouseLeave: () => {
|
|
@@ -101,7 +101,7 @@ const Ra = { [G.START_SPEAK_AUDIO]: !0, [G.TOGGLE_AUDIO]: !0, [G.TOGGLE_VOICE]:
|
|
|
101
101
|
}, className: `rcb-bot-message ${i}`, children: he("div", { className: "rcb-typing-indicator", style: { ...o == null ? void 0 : o.rcbTypingIndicatorContainerStyle }, children: [P("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } }), P("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } }), P("span", { className: "rcb-dot", style: { ...o == null ? void 0 : o.rcbTypingIndicatorDotStyle } })] }) })] });
|
|
102
102
|
}, Ga = () => {
|
|
103
103
|
var e, t, r;
|
|
104
|
-
const { settings: n } = oe(), { styles: o } = pe(), { messages: i } = Tr(), { scrollToBottom: A } = Ze(), { isBotTyping: s, syncedIsScrollingRef: a } =
|
|
104
|
+
const { settings: n } = oe(), { styles: o } = pe(), { messages: i } = Tr(), { scrollToBottom: A } = Ze(), { isBotTyping: s, syncedIsScrollingRef: a } = De(), { chatBodyRef: l } = Ce(), c = { ...o == null ? void 0 : o.bodyStyle, scrollbarWidth: (e = n.chatWindow) != null && e.showScrollbar ? "auto" : "none" };
|
|
105
105
|
return $(() => {
|
|
106
106
|
a.current || A();
|
|
107
107
|
}, [(t = l.current) == null ? void 0 : t.scrollHeight]), he("div", { style: c, className: "rcb-chat-body-container", ref: l, children: [i.map((d, u) => {
|
|
@@ -110,10 +110,10 @@ const Ra = { [G.START_SPEAK_AUDIO]: !0, [G.TOGGLE_AUDIO]: !0, [G.TOGGLE_VOICE]:
|
|
|
110
110
|
}), s && ((r = n.chatWindow) == null ? void 0 : r.showTypingIndicator) && P(qa, {}), P(Ua, {})] });
|
|
111
111
|
}, Ya = ({ checkboxes: e, checkedItems: t, path: r }) => {
|
|
112
112
|
var n, o, i, A, s, a, l, c, d, u, p;
|
|
113
|
-
const { settings: h } = oe(), { styles: b } = pe(), { paths: f } = dn(), { handleSubmitText: v } = Vt(), [w, g] = ee(/* @__PURE__ */ new Set()), [x, k] = ee(!1), E = { cursor: x ? `url("${(n = h.general) == null ? void 0 : n.actionDisabledIcon}"), auto` : "pointer", color: (o = h.general) == null ? void 0 : o.primaryColor, borderColor: (i = h.general) == null ? void 0 : i.primaryColor, ...b.botCheckboxRowStyle }, C = { cursor: x || w.size < e.min ? `url("${(A = h.general) == null ? void 0 : A.actionDisabledIcon}"), auto` : "pointer", color: (s = h.general) == null ? void 0 : s.primaryColor, borderColor: (a = h.general) == null ? void 0 : a.primaryColor, ...b.botCheckboxNextStyle },
|
|
113
|
+
const { settings: h } = oe(), { styles: b } = pe(), { paths: f } = dn(), { handleSubmitText: v } = Vt(), [w, g] = ee(/* @__PURE__ */ new Set()), [x, k] = ee(!1), E = { cursor: x ? `url("${(n = h.general) == null ? void 0 : n.actionDisabledIcon}"), auto` : "pointer", color: (o = h.general) == null ? void 0 : o.primaryColor, borderColor: (i = h.general) == null ? void 0 : i.primaryColor, ...b.botCheckboxRowStyle }, C = { cursor: x || w.size < e.min ? `url("${(A = h.general) == null ? void 0 : A.actionDisabledIcon}"), auto` : "pointer", color: (s = h.general) == null ? void 0 : s.primaryColor, borderColor: (a = h.general) == null ? void 0 : a.primaryColor, ...b.botCheckboxNextStyle }, D = { cursor: x ? `url("${(l = h.general) == null ? void 0 : l.actionDisabledIcon}"), auto` : "pointer", color: "transparent", ...b.botCheckMarkStyle }, T = { cursor: x ? `url("${(c = h.general) == null ? void 0 : c.actionDisabledIcon}"), auto` : "pointer", color: "#fff", borderColor: (d = h.general) == null ? void 0 : d.primaryColor, backgroundColor: (u = h.general) == null ? void 0 : u.primaryColor, ...b.botCheckMarkSelectedStyle };
|
|
114
114
|
return $(() => {
|
|
115
115
|
f.length > 0 && f[f.length - 1] !== r && k(!e.reusable);
|
|
116
|
-
}, [f]), he("div", { className: "rcb-checkbox-container " + ((p = h.botBubble) != null && p.showAvatar ? "rcb-checkbox-offset" : ""), children: [e.items.map((
|
|
116
|
+
}, [f]), he("div", { className: "rcb-checkbox-container " + ((p = h.botBubble) != null && p.showAvatar ? "rcb-checkbox-offset" : ""), children: [e.items.map((S) => P("div", { onMouseDown: (M) => {
|
|
117
117
|
M.preventDefault(), ((B) => {
|
|
118
118
|
x || g((O) => {
|
|
119
119
|
const U = new Set(O);
|
|
@@ -124,10 +124,10 @@ const Ra = { [G.START_SPEAK_AUDIO]: !0, [G.TOGGLE_AUDIO]: !0, [G.TOGGLE_VOICE]:
|
|
|
124
124
|
}
|
|
125
125
|
return U;
|
|
126
126
|
});
|
|
127
|
-
})(
|
|
128
|
-
}, style: E, className: "rcb-checkbox-row-container", children: he("div", { className: "rcb-checkbox-row", children: [P("div", { style: w.has(
|
|
127
|
+
})(S);
|
|
128
|
+
}, style: E, className: "rcb-checkbox-row-container", children: he("div", { className: "rcb-checkbox-row", children: [P("div", { style: w.has(S) ? T : D, className: "rcb-checkbox-mark" }), P("div", { className: "rcb-checkbox-label", children: S })] }) }, S)), P("div", { style: C, className: "rcb-checkbox-next-button", onMouseDown: (S) => {
|
|
129
129
|
var M;
|
|
130
|
-
if (
|
|
130
|
+
if (S.preventDefault(), x || w.size < e.min) return;
|
|
131
131
|
const B = Array.from(t).join(", ");
|
|
132
132
|
let O;
|
|
133
133
|
k(!e.reusable), O = e.sendOutput != null ? e.sendOutput : ((M = h.chatInput) == null ? void 0 : M.sendCheckboxOutput) ?? !0, v(B, O);
|
|
@@ -245,22 +245,22 @@ const Ra = { [G.START_SPEAK_AUDIO]: !0, [G.TOGGLE_AUDIO]: !0, [G.TOGGLE_VOICE]:
|
|
|
245
245
|
throw console.error(e), new Error("crypto.getRandomValues is also not available");
|
|
246
246
|
}
|
|
247
247
|
}, xt = (e, t) => ({ id: Bn(), content: e, sender: t, type: typeof e == "string" ? "string" : "object", timestamp: (/* @__PURE__ */ new Date()).toUTCString(), tags: [] });
|
|
248
|
-
let kt, yi = !1,
|
|
248
|
+
let kt, yi = !1, Sn = "rcb-history", kn = 30, bi = !1, On = [];
|
|
249
249
|
const An = () => On, ur = (e) => {
|
|
250
250
|
vi(e), On = e;
|
|
251
251
|
}, vi = (e) => {
|
|
252
|
-
kt && kt.setItem(
|
|
252
|
+
kt && kt.setItem(Sn, JSON.stringify(e));
|
|
253
253
|
}, dr = (e) => {
|
|
254
254
|
var t, r, n, o, i;
|
|
255
|
-
kt = ((r = (t = e.chatHistory) == null ? void 0 : t.storageType) == null ? void 0 : r.toUpperCase()) === "SESSION_STORAGE" ? sessionStorage : localStorage,
|
|
255
|
+
kt = ((r = (t = e.chatHistory) == null ? void 0 : t.storageType) == null ? void 0 : r.toUpperCase()) === "SESSION_STORAGE" ? sessionStorage : localStorage, Sn = (n = e.chatHistory) == null ? void 0 : n.storageKey, kn = (o = e.chatHistory) == null ? void 0 : o.maxEntries, bi = (i = e.chatHistory) == null ? void 0 : i.disabled, On = ((A) => {
|
|
256
256
|
if (A != null) try {
|
|
257
257
|
return JSON.parse(A);
|
|
258
258
|
} catch {
|
|
259
259
|
return [];
|
|
260
260
|
}
|
|
261
261
|
return [];
|
|
262
|
-
})(kt.getItem(
|
|
263
|
-
}, rs = (e) =>
|
|
262
|
+
})(kt.getItem(Sn));
|
|
263
|
+
}, rs = (e) => Dr(e.content) ? structuredClone({ id: e.id, content: ka.renderToString(e.content), type: e.type, sender: e.sender.toUpperCase(), timestamp: e.timestamp, tags: e.tags }) : e, wi = (e, t, r) => {
|
|
264
264
|
const n = new DOMParser().parseFromString(e, "text/html");
|
|
265
265
|
return Array.from(n.body.childNodes).map((o, i) => {
|
|
266
266
|
var A;
|
|
@@ -302,7 +302,7 @@ const An = () => On, ur = (e) => {
|
|
|
302
302
|
var o, i;
|
|
303
303
|
return (e.contains("rcb-media-display-image-container") || e.contains("rcb-media-display-video-container")) && (t.style = { ...t.style, backgroundColor: (o = r.general) == null ? void 0 : o.primaryColor, maxWidth: (i = r.userBubble) != null && i.showAvatar ? "65%" : "70%", ...n.mediaDisplayContainerStyle }), t;
|
|
304
304
|
}, Qr = () => {
|
|
305
|
-
const { settings: e } = oe(), { notificationsToggledOn: t, setSyncedNotificationsToggledOn: r, hasInteractedPage: n, unreadCount: o, setUnreadCount: i, syncedNotificationsToggledOnRef: A } =
|
|
305
|
+
const { settings: e } = oe(), { notificationsToggledOn: t, setSyncedNotificationsToggledOn: r, hasInteractedPage: n, unreadCount: o, setUnreadCount: i, syncedNotificationsToggledOnRef: A } = De(), { audioBufferRef: s, audioContextRef: a, gainNodeRef: l } = Ce(), { dispatchRcbEvent: c } = st(), d = K(async () => {
|
|
306
306
|
var p, h;
|
|
307
307
|
const b = (p = e.notification) == null ? void 0 : p.sound;
|
|
308
308
|
a.current = new AudioContext();
|
|
@@ -341,7 +341,7 @@ const An = () => On, ur = (e) => {
|
|
|
341
341
|
u || window.speechSynthesis.speak(d);
|
|
342
342
|
})(t, (r = e.audio) == null ? void 0 : r.language, (n = e.audio) == null ? void 0 : n.voiceNames, (o = e.audio) == null ? void 0 : o.rate, (i = e.audio) == null ? void 0 : i.volume);
|
|
343
343
|
}, xi = () => {
|
|
344
|
-
const { settings: e } = oe(), { audioToggledOn: t, setSyncedAudioToggledOn: r, syncedAudioToggledOnRef: n } =
|
|
344
|
+
const { settings: e } = oe(), { audioToggledOn: t, setSyncedAudioToggledOn: r, syncedAudioToggledOnRef: n } = De(), { dispatchRcbEvent: o } = st(), i = K(async (s) => {
|
|
345
345
|
var a;
|
|
346
346
|
s !== n.current && ((a = e.event) != null && a.rcbToggleAudio && (await o(G.TOGGLE_AUDIO, { currState: n.current, newState: !n.current })).defaultPrevented || r((l) => !l));
|
|
347
347
|
}, [n]), A = K(async (s) => {
|
|
@@ -358,7 +358,7 @@ const An = () => On, ur = (e) => {
|
|
|
358
358
|
return { audioToggledOn: t, speakAudio: A, toggleAudio: i };
|
|
359
359
|
}, Ot = () => {
|
|
360
360
|
var e, t, r;
|
|
361
|
-
const { settings: n } = oe(), { messages: o, setSyncedMessages: i, syncedMessagesRef: A } = Tr(), { setSyncedIsBotTyping: s, setUnreadCount: a, syncedIsScrollingRef: l, syncedIsChatWindowOpenRef: c } =
|
|
361
|
+
const { settings: n } = oe(), { messages: o, setSyncedMessages: i, syncedMessagesRef: A } = Tr(), { setSyncedIsBotTyping: s, setUnreadCount: a, syncedIsScrollingRef: l, syncedIsChatWindowOpenRef: c } = De(), { streamMessageMap: d, chatBodyRef: u, paramsInputRef: p } = Ce(), { scrollToBottom: h, getIsChatBotVisible: b } = Ze(), { dispatchRcbEvent: f } = st(), { speakAudio: v } = xi(), { playNotificationSound: w } = Qr(), g = K(async (B) => {
|
|
362
362
|
var O, U;
|
|
363
363
|
if ((O = n.event) != null && O.rcbSaveChatHistory) {
|
|
364
364
|
const Q = await f(G.SAVE_CHAT_HISTORY, { messages: B });
|
|
@@ -436,7 +436,7 @@ const An = () => On, ur = (e) => {
|
|
|
436
436
|
var O;
|
|
437
437
|
let U = A.current.find((N) => N.id === B), Q = null, H = !1;
|
|
438
438
|
return U || (Q = An(), U = Q.find((N) => N.id === B), U && (H = !0)), !U || (O = n.event) != null && O.rcbRemoveMessage && (await f(G.REMOVE_MESSAGE, { message: U })).defaultPrevented ? null : H ? (Q && ur(Q.filter((N) => N.id !== B)), U) : (i((N) => N.filter((R) => R.id !== B)), x(A.current), a((N) => Math.max(N - 1, 0)), U);
|
|
439
|
-
}, [f, (t = n.event) == null ? void 0 : t.rcbRemoveMessage, x, A, a, An, ur]),
|
|
439
|
+
}, [f, (t = n.event) == null ? void 0 : t.rcbRemoveMessage, x, A, a, An, ur]), D = K(async (B, O = "BOT") => {
|
|
440
440
|
var U, Q;
|
|
441
441
|
if (O = O.toUpperCase(), !d.current.has(O)) {
|
|
442
442
|
const N = xt(B, O);
|
|
@@ -454,7 +454,7 @@ const An = () => On, ur = (e) => {
|
|
|
454
454
|
N && (Q = N), await new Promise((R) => setTimeout(R, 20));
|
|
455
455
|
}
|
|
456
456
|
return ((O = n.event) == null || !O.rcbStopStreamMessage || !(await f(G.STOP_STREAM_MESSAGE, { message: Q })).defaultPrevented) && (d.current.delete(B), g(A.current), B === "USER" && typeof (Q == null ? void 0 : Q.content) == "string" && (p.current = Q.content), !0);
|
|
457
|
-
}, [f, (r = n.event) == null ? void 0 : r.rcbStopStreamMessage, d, p]),
|
|
457
|
+
}, [f, (r = n.event) == null ? void 0 : r.rcbStopStreamMessage, d, p]), S = K((B) => {
|
|
458
458
|
const O = typeof B == "function" ? B(A.current) : B;
|
|
459
459
|
i(O), x(O);
|
|
460
460
|
}, [x, A]), M = K((B, O, U = 0) => {
|
|
@@ -473,7 +473,7 @@ const An = () => On, ur = (e) => {
|
|
|
473
473
|
}
|
|
474
474
|
return R.length > 0 ? R : null;
|
|
475
475
|
}, [A]);
|
|
476
|
-
return { simulateStreamMessage: k, injectMessage: E, removeMessage: C, streamMessage:
|
|
476
|
+
return { simulateStreamMessage: k, injectMessage: E, removeMessage: C, streamMessage: D, endStreamMessage: T, replaceMessages: S, getMessages: M, messages: o };
|
|
477
477
|
};
|
|
478
478
|
let qn, ct, Pn, Et = !1, ht = null;
|
|
479
479
|
const Mr = () => {
|
|
@@ -524,7 +524,7 @@ const Mr = () => {
|
|
|
524
524
|
var r;
|
|
525
525
|
(r = t.current) != null && r.disabled || await e(), Or();
|
|
526
526
|
}, _r = () => {
|
|
527
|
-
const { settings: e } = oe(), { voiceToggledOn: t, setSyncedVoiceToggledOn: r, syncedVoiceToggledOnRef: n } =
|
|
527
|
+
const { settings: e } = oe(), { voiceToggledOn: t, setSyncedVoiceToggledOn: r, syncedVoiceToggledOnRef: n } = De(), { dispatchRcbEvent: o } = st(), i = K(async (s) => {
|
|
528
528
|
var a;
|
|
529
529
|
s !== n.current && ((a = e.event) != null && a.rcbToggleVoice && (await o(G.TOGGLE_VOICE, { currState: n.current, newState: !n.current })).defaultPrevented || r((l) => !l));
|
|
530
530
|
}, [n]), A = K((s) => {
|
|
@@ -537,19 +537,19 @@ const Mr = () => {
|
|
|
537
537
|
return { voiceToggledOn: t, toggleVoice: i, syncVoice: A };
|
|
538
538
|
}, _t = () => {
|
|
539
539
|
var e;
|
|
540
|
-
const { settings: t } = oe(), { inputLength: r, setInputLength: n, textAreaDisabled: o, setSyncedTextAreaDisabled: i, textAreaSensitiveMode: A, setSyncedTextAreaSensitiveMode: s, syncedTextAreaDisabledRef: a, syncedTextAreaSensitiveModeRef: l } =
|
|
541
|
-
var C,
|
|
540
|
+
const { settings: t } = oe(), { inputLength: r, setInputLength: n, textAreaDisabled: o, setSyncedTextAreaDisabled: i, textAreaSensitiveMode: A, setSyncedTextAreaSensitiveMode: s, syncedTextAreaDisabledRef: a, syncedTextAreaSensitiveModeRef: l } = De(), { inputRef: c, chatBodyRef: d, prevInputRef: u } = Ce(), { dispatchRcbEvent: p } = st(), { getIsChatBotVisible: h } = Ze(), b = K(async (E) => {
|
|
541
|
+
var C, D, T;
|
|
542
542
|
if (a.current && c.current) c.current.value = "";
|
|
543
543
|
else if (c.current && u.current !== null) {
|
|
544
|
-
const
|
|
545
|
-
if (
|
|
544
|
+
const S = (C = t.chatInput) == null ? void 0 : C.characterLimit, M = (D = t.chatInput) != null && D.allowNewline ? E : E.replace(/\n/g, " ");
|
|
545
|
+
if (S != null && S >= 0 && M.length > S ? c.current.value = M.slice(0, S) : c.current.value = M, (T = t.event) != null && T.rcbTextAreaChangeValue && (await p(G.TEXT_AREA_CHANGE_VALUE, { currValue: c.current.value, prevValue: u.current })).defaultPrevented) return void (c.current.value = u.current);
|
|
546
546
|
u.current = c.current.value;
|
|
547
547
|
}
|
|
548
548
|
}, [a, c, u, t, p]), f = K((E) => {
|
|
549
549
|
var C;
|
|
550
550
|
(C = c.current) != null && C.disabled || setTimeout(() => {
|
|
551
|
-
var
|
|
552
|
-
(
|
|
551
|
+
var D, T, S;
|
|
552
|
+
(D = t.general) != null && D.embedded ? h() && ((T = c.current) == null || T.focus()) : E !== "start" && ((S = c.current) == null || S.focus());
|
|
553
553
|
}, 100);
|
|
554
554
|
}, [c, (e = t.general) == null ? void 0 : e.embedded, d, h]), v = K(() => {
|
|
555
555
|
c.current && c.current.focus();
|
|
@@ -599,7 +599,7 @@ const Mr = () => {
|
|
|
599
599
|
return { showToast: i, dismissToast: A, toasts: t, replaceToasts: s };
|
|
600
600
|
}, _n = () => {
|
|
601
601
|
var e, t, r, n, o;
|
|
602
|
-
const { settings: i } = oe(), { paths: A, setSyncedPaths: s, syncedPathsRef: a } = dn(), { flowRef: l, streamMessageMap: c, paramsInputRef: d, keepVoiceOnRef: u, timeoutIdRef: p } = Ce(), { setSyncedIsBotTyping: h, setSyncedTextAreaDisabled: b, setSyncedTextAreaSensitiveMode: f, blockAllowsAttachment: v, setBlockAllowsAttachment: w } =
|
|
602
|
+
const { settings: i } = oe(), { paths: A, setSyncedPaths: s, syncedPathsRef: a } = dn(), { flowRef: l, streamMessageMap: c, paramsInputRef: d, keepVoiceOnRef: u, timeoutIdRef: p } = Ce(), { setSyncedIsBotTyping: h, setSyncedTextAreaDisabled: b, setSyncedTextAreaSensitiveMode: f, blockAllowsAttachment: v, setBlockAllowsAttachment: w } = De(), { dispatchRcbEvent: g } = st(), { endStreamMessage: x, injectMessage: k, removeMessage: E, simulateStreamMessage: C, streamMessage: D } = Ot(), { showToast: T, dismissToast: S } = Kt(), { toggleChatWindow: M } = Ze(), { updateTextAreaFocus: B, setTextAreaValue: O } = _t(), { syncVoice: U } = _r(), Q = K(async (y) => {
|
|
603
603
|
var W;
|
|
604
604
|
if ((W = i.event) != null && W.rcbPostProcessBlock) {
|
|
605
605
|
const te = await g(G.POST_PROCESS_BLOCK, { block: y });
|
|
@@ -618,7 +618,7 @@ const Mr = () => {
|
|
|
618
618
|
fe = F.data.block;
|
|
619
619
|
}
|
|
620
620
|
h(!0), (Z = i.chatInput) != null && Z.blockSpam && b(!0), f(!1);
|
|
621
|
-
const $e = { prevPath: W, currPath: y, goToPath: m, setTextAreaValue: O, userInput: d.current, endStreamMessage: x, injectMessage: k, removeMessage: E, simulateStreamMessage: C, streamMessage:
|
|
621
|
+
const $e = { prevPath: W, currPath: y, goToPath: m, setTextAreaValue: O, userInput: d.current, endStreamMessage: x, injectMessage: k, removeMessage: E, simulateStreamMessage: C, streamMessage: D, toggleChatWindow: M, showToast: T, dismissToast: S };
|
|
622
622
|
await (async (F, Y, se, ne, le, ue, de) => {
|
|
623
623
|
if (!F) throw new Error("Block is not valid.");
|
|
624
624
|
for (const Be of Object.keys(F)) switch (Be) {
|
|
@@ -644,7 +644,7 @@ const Mr = () => {
|
|
|
644
644
|
await $a(F, Y, ne, de);
|
|
645
645
|
}
|
|
646
646
|
})(fe, $e, ((Ae = i.botBubble) == null ? void 0 : Ae.simulateStream) ?? !1, p, b, f, Q), h(!1), "chatDisabled" in fe || b((Ne = i.chatInput) == null ? void 0 : Ne.disabled), "isSensitive" in fe || f(!1), w(typeof fe.file == "function"), B(y), U(u.current && !fe.chatDisabled), y !== W && c.current.clear();
|
|
647
|
-
}, [l, B, U, (t = i.botBubble) == null ? void 0 : t.simulateStream, (r = i.chatInput) == null ? void 0 : r.disabled, d, x, k, E, C,
|
|
647
|
+
}, [l, B, U, (t = i.botBubble) == null ? void 0 : t.simulateStream, (r = i.chatInput) == null ? void 0 : r.disabled, d, x, k, E, C, D, M, T, S, u, c]), N = K(() => a.current.length > 0 ? a.current.at(-1) ?? null : null, []), R = K(() => a.current.length > 1 ? a.current.at(-2) ?? null : null, []), m = K(async (y) => {
|
|
648
648
|
var W;
|
|
649
649
|
const te = N(), Z = R();
|
|
650
650
|
return ((W = i.event) == null || !W.rcbChangePath || !(await g(G.CHANGE_PATH, { currPath: te, prevPath: Z, nextPath: y })).defaultPrevented) && (s((Ae) => [...Ae, y]), await H(y, te), !0);
|
|
@@ -655,7 +655,7 @@ const Mr = () => {
|
|
|
655
655
|
return { getCurrPath: N, getPrevPath: R, goToPath: m, blockAllowsAttachment: v, setBlockAllowsAttachment: w, paths: A, replacePaths: j, firePostProcessBlockEvent: Q };
|
|
656
656
|
}, Vt = () => {
|
|
657
657
|
var e, t, r, n;
|
|
658
|
-
const { settings: o } = oe(), { endStreamMessage: i, injectMessage: A, removeMessage: s, simulateStreamMessage: a, streamMessage: l } = Ot(), { syncedPathsRef: c } = dn(), { getCurrPath: d, getPrevPath: u, goToPath: p, firePostProcessBlockEvent: h } = _n(), { setSyncedTextAreaSensitiveMode: b, setSyncedTextAreaDisabled: f, setSyncedIsBotTyping: v, setBlockAllowsAttachment: w, setInputLength: g, syncedVoiceToggledOnRef: x, syncedTextAreaSensitiveModeRef: k } =
|
|
658
|
+
const { settings: o } = oe(), { endStreamMessage: i, injectMessage: A, removeMessage: s, simulateStreamMessage: a, streamMessage: l } = Ot(), { syncedPathsRef: c } = dn(), { getCurrPath: d, getPrevPath: u, goToPath: p, firePostProcessBlockEvent: h } = _n(), { setSyncedTextAreaSensitiveMode: b, setSyncedTextAreaDisabled: f, setSyncedIsBotTyping: v, setBlockAllowsAttachment: w, setInputLength: g, syncedVoiceToggledOnRef: x, syncedTextAreaSensitiveModeRef: k } = De(), { flowRef: E, inputRef: C, keepVoiceOnRef: D, paramsInputRef: T, timeoutIdRef: S } = Ce(), { showToast: M, dismissToast: B } = Kt(), { dispatchRcbEvent: O } = st(), { syncVoice: U } = _r(), { setTextAreaValue: Q } = _t(), { toggleChatWindow: H } = Ze(), N = K(async (m) => {
|
|
659
659
|
var j, y, W, te, Z, Ae;
|
|
660
660
|
const Ne = d();
|
|
661
661
|
if (Ne && E.current[Ne]) {
|
|
@@ -668,19 +668,19 @@ const Mr = () => {
|
|
|
668
668
|
}, [E, d, o, A, a, k]), R = K(async (m, j = !0) => {
|
|
669
669
|
var y, W;
|
|
670
670
|
if ((m = m.trim()) === "") return;
|
|
671
|
-
j && await N(m),
|
|
671
|
+
j && await N(m), S.current && clearTimeout(S.current), C.current && (Q(""), g(0));
|
|
672
672
|
const te = d();
|
|
673
673
|
if (!te) return;
|
|
674
674
|
let Z = E.current[te];
|
|
675
675
|
const Ae = await h(Z);
|
|
676
|
-
Ae && ((y = o.chatInput) != null && y.blockSpam && f(!0),
|
|
676
|
+
Ae && ((y = o.chatInput) != null && y.blockSpam && f(!0), D.current = x.current, U(!1), setTimeout(() => {
|
|
677
677
|
v(!0);
|
|
678
678
|
}, 400), b(!1), setTimeout(async () => {
|
|
679
679
|
var Ne;
|
|
680
680
|
const fe = { prevPath: u(), currPath: d(), goToPath: p, setTextAreaValue: Q, userInput: T.current, injectMessage: A, simulateStreamMessage: a, streamMessage: l, removeMessage: s, endStreamMessage: i, toggleChatWindow: H, showToast: M, dismissToast: B }, $e = c.current.length;
|
|
681
|
-
await mi(Ae, fe), c.current.length === $e && (f("chatDisabled" in Z ? !!Z.chatDisabled : !((Ne = o.chatInput) == null || !Ne.disabled)), gi(Z, fe, b), w(typeof Z.file == "function"), U(
|
|
681
|
+
await mi(Ae, fe), c.current.length === $e && (f("chatDisabled" in Z ? !!Z.chatDisabled : !((Ne = o.chatInput) == null || !Ne.disabled)), gi(Z, fe, b), w(typeof Z.file == "function"), U(D.current), v(!1));
|
|
682
682
|
}, (W = o.chatInput) == null ? void 0 : W.botDelay));
|
|
683
|
-
}, [
|
|
683
|
+
}, [S, (e = o.chatInput) == null ? void 0 : e.blockSpam, (t = o.chatInput) == null ? void 0 : t.botDelay, (r = o.chatInput) == null ? void 0 : r.disabled, D, x, U, N, u, d, p, A, a, l, s, i, H, M, B, E]);
|
|
684
684
|
return { handleSubmitText: K(async (m, j = !0) => {
|
|
685
685
|
var y, W;
|
|
686
686
|
m = m ?? ((y = C.current) == null ? void 0 : y.value), !((W = o.event) != null && W.rcbUserSubmitText && (await O(G.USER_SUBMIT_TEXT, { inputText: m, sendInChat: j })).defaultPrevented || !d()) && R(m, j);
|
|
@@ -697,7 +697,7 @@ const Mr = () => {
|
|
|
697
697
|
}, [(e = t.device) == null ? void 0 : e.applyMobileOptimizations]);
|
|
698
698
|
}, ps = ({ buttons: e }) => {
|
|
699
699
|
var t, r, n, o, i, A, s, a, l, c, d;
|
|
700
|
-
const u = Nn(), { settings: p } = oe(), { styles: h } = pe(), { textAreaDisabled: b, textAreaSensitiveMode: f, inputLength: v, hasFlowStarted: w, setHasFlowStarted: g, setInputLength: x } =
|
|
700
|
+
const u = Nn(), { settings: p } = oe(), { styles: h } = pe(), { textAreaDisabled: b, textAreaSensitiveMode: f, inputLength: v, hasFlowStarted: w, setHasFlowStarted: g, setInputLength: x } = De(), { inputRef: k } = Ce(), [E, C] = ee(!1), [D, T] = ee(!1), { handleSubmitText: S } = Vt(), { setTextAreaValue: M } = _t(), B = { boxSizing: u ? "content-box" : "border-box", ...h.chatInputAreaStyle }, O = { outline: b ? "" : "none", boxShadow: b ? "" : `0 0 5px ${(t = p.general) == null ? void 0 : t.primaryColor}`, boxSizing: u ? "content-box" : "border-box", ...h.chatInputAreaStyle, ...h.chatInputAreaFocusedStyle }, U = { cursor: `url("${(r = p.general) == null ? void 0 : r.actionDisabledIcon}"), auto`, caretColor: "transparent", boxSizing: u ? "content-box" : "border-box", ...h.chatInputAreaStyle, ...h.chatInputAreaDisabledStyle }, Q = { color: "#989898", ...h.characterLimitStyle }, H = { color: "#ff0000", ...h.characterLimitReachedStyle }, N = b ? (n = p.chatInput) == null ? void 0 : n.disabledPlaceholderText : (o = p.chatInput) == null ? void 0 : o.enabledPlaceholderText, R = () => {
|
|
701
701
|
b || C(!0);
|
|
702
702
|
}, m = () => {
|
|
703
703
|
C(!1);
|
|
@@ -707,9 +707,9 @@ const Mr = () => {
|
|
|
707
707
|
T(!1);
|
|
708
708
|
}, W = async (Z) => {
|
|
709
709
|
var Ae;
|
|
710
|
-
if (!
|
|
710
|
+
if (!D && Z.key === "Enter") {
|
|
711
711
|
if (Z.shiftKey) return void ((Ae = p.chatInput) != null && Ae.allowNewline || Z.preventDefault());
|
|
712
|
-
Z.preventDefault(), await
|
|
712
|
+
Z.preventDefault(), await S();
|
|
713
713
|
}
|
|
714
714
|
}, te = (Z) => {
|
|
715
715
|
k.current && (M(Z.target.value), x(k.current.value.length));
|
|
@@ -724,7 +724,7 @@ const Mr = () => {
|
|
|
724
724
|
return he("div", { "data-testid": "chatbot-footer-container", style: { ...n.footerStyle }, className: "rcb-chat-footer-container", children: [P("div", { className: "rcb-chat-footer", children: e == null ? void 0 : e.map((o, i) => P(Ir, { children: o }, i)) }), P("span", { children: (t = r.footer) == null ? void 0 : t.text })] });
|
|
725
725
|
}, hs = () => {
|
|
726
726
|
var e, t, r, n, o, i, A;
|
|
727
|
-
const { settings: s } = oe(), { styles: a } = pe(), { unreadCount: l } =
|
|
727
|
+
const { settings: s } = oe(), { styles: a } = pe(), { unreadCount: l } = De(), { isChatWindowOpen: c, toggleChatWindow: d } = Ze(), [u, p] = ee(!1), h = { backgroundImage: `linear-gradient(to right, ${(e = s.general) == null ? void 0 : e.secondaryColor},
|
|
728
728
|
${(t = s.general) == null ? void 0 : t.primaryColor})`, ...a.chatButtonStyle }, b = { transform: "scale(1.05)", ...h, ...a.chatButtonHoveredStyle }, f = { backgroundImage: `url(${(r = s.chatButton) == null ? void 0 : r.icon})`, fill: "#fff", width: 75, height: 75, ...a.chatIconStyle };
|
|
729
729
|
return P(_e, { children: !((n = s.general) != null && n.embedded) && he("div", { "aria-label": ((o = s.ariaLabel) == null ? void 0 : o.chatButton) ?? "open chat", role: "button", style: u ? b : h, className: "rcb-toggle-button " + (c ? "rcb-button-hide" : "rcb-button-show"), onMouseEnter: () => {
|
|
730
730
|
p(!0);
|
|
@@ -742,8 +742,8 @@ const Mr = () => {
|
|
|
742
742
|
var x, k, E;
|
|
743
743
|
const C = (x = s.tooltip) == null ? void 0 : x.mode;
|
|
744
744
|
if (C === "ALWAYS") if (A) {
|
|
745
|
-
let
|
|
746
|
-
|
|
745
|
+
let D;
|
|
746
|
+
D = c ? (((k = l.current) == null ? void 0 : k.offsetWidth) ?? 375) - (typeof ((E = a.chatButtonStyle) == null ? void 0 : E.width) == "number" ? a.chatButtonStyle.width : 75) : 0, v(D), p(!0);
|
|
747
747
|
} else p(!c);
|
|
748
748
|
else C === "NEVER" ? p(!1) : C === "START" ? h ? p(!1) : (b(!0), p(!0)) : C === "CLOSE" && p(!c);
|
|
749
749
|
}, [c, A, h, (e = a.chatButtonStyle) == null ? void 0 : e.width, (t = s.tooltip) == null ? void 0 : t.mode]);
|
|
@@ -789,8 +789,8 @@ const Mr = () => {
|
|
|
789
789
|
}
|
|
790
790
|
}, bs = () => {
|
|
791
791
|
var e, t, r, n, o, i;
|
|
792
|
-
const { settings: A } = oe(), { styles: s } = pe(), { injectMessage: a, simulateStreamMessage: l, streamMessage: c, removeMessage: d, endStreamMessage: u } = Ot(), { getCurrPath: p, getPrevPath: h, goToPath: b, blockAllowsAttachment: f } = _n(), { flowRef: v, inputRef: w } = Ce(), g = v.current, { showToast: x, dismissToast: k } = Kt(), { dispatchRcbEvent: E } = st(), { toggleChatWindow: C } = Ze(), { setTextAreaValue:
|
|
793
|
-
return he("label", { "aria-label": ((n = A.ariaLabel) == null ? void 0 : n.fileAttachmentButton) ?? "upload file", role: "button", className: f ? "rcb-attach-button-enabled" : "rcb-attach-button-disabled", style: f ? { ...s.fileAttachmentButtonStyle } :
|
|
792
|
+
const { settings: A } = oe(), { styles: s } = pe(), { injectMessage: a, simulateStreamMessage: l, streamMessage: c, removeMessage: d, endStreamMessage: u } = Ot(), { getCurrPath: p, getPrevPath: h, goToPath: b, blockAllowsAttachment: f } = _n(), { flowRef: v, inputRef: w } = Ce(), g = v.current, { showToast: x, dismissToast: k } = Kt(), { dispatchRcbEvent: E } = st(), { toggleChatWindow: C } = Ze(), { setTextAreaValue: D } = _t(), { handleSubmitText: T } = Vt(), S = { cursor: `url("${(e = A.general) == null ? void 0 : e.actionDisabledIcon}"), auto`, ...s.fileAttachmentButtonStyle, ...s.fileAttachmentButtonDisabledStyle }, M = { backgroundImage: `url(${(t = A.fileAttachment) == null ? void 0 : t.icon})`, fill: "#a6a6a6", ...s.fileAttachmentIconStyle }, B = { backgroundImage: `url(${(r = A.fileAttachment) == null ? void 0 : r.icon})`, fill: "#a6a6a6", ...s.fileAttachmentIconStyle, ...s.fileAttachmentIconDisabledStyle };
|
|
793
|
+
return he("label", { "aria-label": ((n = A.ariaLabel) == null ? void 0 : n.fileAttachmentButton) ?? "upload file", role: "button", className: f ? "rcb-attach-button-enabled" : "rcb-attach-button-disabled", style: f ? { ...s.fileAttachmentButtonStyle } : S, children: [P("input", { className: "rcb-attach-input", role: "file", type: "file", onChange: async (O) => {
|
|
794
794
|
var U, Q, H, N;
|
|
795
795
|
const R = O.target.files;
|
|
796
796
|
if (!R) return;
|
|
@@ -808,7 +808,7 @@ const Mr = () => {
|
|
|
808
808
|
const Ae = await Ci(m[Z]);
|
|
809
809
|
!Ae.fileType || !Ae.fileUrl || await a(P(Pi, { file: m[Z], fileType: Ae.fileType, fileUrl: Ae.fileUrl }), "USER");
|
|
810
810
|
}
|
|
811
|
-
await T("📄 " + te.join(", "), (H = A.fileAttachment) == null ? void 0 : H.sendFileName), await W({ userInput: (N = w.current) == null ? void 0 : N.value, prevPath: h(), currPath: p(), goToPath: b, setTextAreaValue:
|
|
811
|
+
await T("📄 " + te.join(", "), (H = A.fileAttachment) == null ? void 0 : H.sendFileName), await W({ userInput: (N = w.current) == null ? void 0 : N.value, prevPath: h(), currPath: p(), goToPath: b, setTextAreaValue: D, injectMessage: a, simulateStreamMessage: l, streamMessage: c, removeMessage: d, endStreamMessage: u, toggleChatWindow: C, showToast: x, dismissToast: k, files: m });
|
|
812
812
|
}
|
|
813
813
|
}, multiple: (o = A.fileAttachment) == null ? void 0 : o.multiple, accept: (i = A.fileAttachment) == null ? void 0 : i.accept, disabled: !f }), (() => {
|
|
814
814
|
var O, U;
|
|
@@ -817,7 +817,7 @@ const Mr = () => {
|
|
|
817
817
|
})()] });
|
|
818
818
|
}, vs = () => {
|
|
819
819
|
var e, t, r, n, o, i;
|
|
820
|
-
const { settings: A } = oe(), { styles: s } = pe(), { syncedTextAreaDisabledRef: a } =
|
|
820
|
+
const { settings: A } = oe(), { styles: s } = pe(), { syncedTextAreaDisabledRef: a } = De(), { inputRef: l } = Ce(), { textAreaDisabled: c, setTextAreaValue: d } = _t(), u = ae(null), p = ae(null), [h, b] = ee(!1), f = { cursor: `url("${(e = A.general) == null ? void 0 : e.actionDisabledIcon}"), auto`, ...s.emojiButtonStyle, ...s.emojiButtonDisabledStyle }, v = { backgroundImage: `url(${(t = A.emoji) == null ? void 0 : t.icon})`, fill: "#a6a6a6", ...s.emojiIconStyle }, w = { backgroundImage: `url(${(r = A.emoji) == null ? void 0 : r.icon})`, fill: "#a6a6a6", ...s.emojiIconStyle, ...s.emojiIconDisabledStyle };
|
|
821
821
|
return $(() => {
|
|
822
822
|
const g = (k) => {
|
|
823
823
|
const E = k.composedPath();
|
|
@@ -841,11 +841,11 @@ const Mr = () => {
|
|
|
841
841
|
return k && typeof k != "string" ? k && P("span", { className: c ? "rcb-emoji-icon-disabled" : "rcb-emoji-icon-enabled", children: P(k, { style: c ? w : v }) }) : P("span", { className: c ? "rcb-emoji-icon-disabled" : "rcb-emoji-icon-enabled", style: c ? w : v });
|
|
842
842
|
})() }), h && P("div", { className: "rcb-emoji-button-popup", ref: u, children: (i = (o = A.emoji) == null ? void 0 : o.list) == null ? void 0 : i.map((g, x) => P("span", { className: "rcb-emoji", onMouseDown: (k) => ((E, C) => {
|
|
843
843
|
E.preventDefault(), l.current && (d(l.current.value + C), setTimeout(() => {
|
|
844
|
-
const
|
|
845
|
-
if (
|
|
846
|
-
|
|
847
|
-
const T =
|
|
848
|
-
|
|
844
|
+
const D = l.current;
|
|
845
|
+
if (D) {
|
|
846
|
+
D.focus();
|
|
847
|
+
const T = D.value.length;
|
|
848
|
+
D.setSelectionRange(T, T);
|
|
849
849
|
}
|
|
850
850
|
}, 50)), b(!1);
|
|
851
851
|
})(k, g), children: g }, x)) })] });
|
|
@@ -889,9 +889,9 @@ const Mr = () => {
|
|
|
889
889
|
var x;
|
|
890
890
|
(x = n.voice) != null && x.sendAsAudio ? (g(), p.current = []) : u();
|
|
891
891
|
}, [h]), $(() => {
|
|
892
|
-
s ? ((x, k, E, C,
|
|
892
|
+
s ? ((x, k, E, C, D, T, S) => {
|
|
893
893
|
var M;
|
|
894
|
-
(M = x.voice) != null && M.sendAsAudio ? us(E, T) : cs(x, k, E, C,
|
|
894
|
+
(M = x.voice) != null && M.sendAsAudio ? us(E, T) : cs(x, k, E, C, D, S);
|
|
895
895
|
})(n, a, w, c, l, p, A) : Or();
|
|
896
896
|
}, [s]);
|
|
897
897
|
const f = { backgroundImage: `url(${(e = n.voice) == null ? void 0 : e.icon})`, fill: "#9aa0a6", ...o.voiceIconStyle }, v = { backgroundImage: `url(${(t = n.voice) == null ? void 0 : t.iconDisabled})`, fill: "#9aa0a6", ...o.voiceIconStyle, ...o.voiceIconDisabledStyle }, w = () => {
|
|
@@ -909,7 +909,7 @@ const Mr = () => {
|
|
|
909
909
|
})() });
|
|
910
910
|
}, Ps = () => {
|
|
911
911
|
var e, t, r, n, o, i, A, s;
|
|
912
|
-
const { settings: a } = oe(), { styles: l } = pe(), { textAreaDisabled: c } =
|
|
912
|
+
const { settings: a } = oe(), { styles: l } = pe(), { textAreaDisabled: c } = De(), [d, u] = ee(!1), { handleSubmitText: p } = Vt(), h = { backgroundColor: (e = a.general) == null ? void 0 : e.primaryColor, ...l.sendButtonStyle }, b = { cursor: `url("${(t = a.general) == null ? void 0 : t.actionDisabledIcon}"), auto`, backgroundColor: (r = a.general) == null ? void 0 : r.primaryColor, ...l.sendButtonStyle, ...l.sendButtonDisabledStyle }, f = { backgroundColor: (n = a.general) == null ? void 0 : n.secondaryColor, ...l.sendButtonStyle, ...l.sendButtonHoveredStyle }, v = { backgroundImage: `url(${(o = a.chatInput) == null ? void 0 : o.sendButtonIcon})`, fill: "#fff", ...l.sendIconStyle }, w = { backgroundImage: `url(${(i = a.chatInput) == null ? void 0 : i.sendButtonIcon})`, fill: "#fff", ...l.sendIconStyle, ...l.sendIconDisabledStyle }, g = { backgroundImage: `url(${(A = a.chatInput) == null ? void 0 : A.sendButtonIcon})`, fill: "#fff", ...l.sendIconStyle, ...l.sendIconHoveredStyle };
|
|
913
913
|
return P("div", { "aria-label": ((s = a.ariaLabel) == null ? void 0 : s.sendButton) ?? "send message", role: "button", onMouseEnter: () => {
|
|
914
914
|
u(!0);
|
|
915
915
|
}, onMouseLeave: () => {
|
|
@@ -943,17 +943,17 @@ const Mr = () => {
|
|
|
943
943
|
const { settings: e } = oe(), t = He(() => ({ [Ee.CLOSE_CHAT_BUTTON]: () => P(xs, {}), [Ee.AUDIO_BUTTON]: () => P(ws, {}), [Ee.NOTIFICATION_BUTTON]: () => P(Es, {}), [Ee.EMOJI_PICKER_BUTTON]: () => P(vs, {}), [Ee.FILE_ATTACHMENT_BUTTON]: () => P(bs, {}), [Ee.SEND_MESSAGE_BUTTON]: () => P(Ps, {}), [Ee.VOICE_MESSAGE_BUTTON]: () => P(ks, {}) }), []), { header: r, chatInput: n, footer: o } = He(() => Cs(e, t), [e, t]);
|
|
944
944
|
return { headerButtons: He(() => r, [r]), chatInputButtons: He(() => n, [n]), footerButtons: He(() => o, [o]) };
|
|
945
945
|
}, Nr = () => {
|
|
946
|
-
const { settings: e } = oe(), { styles: t } = pe(), { setSyncedMessages: r, syncedMessagesRef: n } = Tr(), { isLoadingChatHistory: o, setIsLoadingChatHistory: i, hasChatHistoryLoaded: A, setHasChatHistoryLoaded: s } =
|
|
946
|
+
const { settings: e } = oe(), { styles: t } = pe(), { setSyncedMessages: r, syncedMessagesRef: n } = Tr(), { isLoadingChatHistory: o, setIsLoadingChatHistory: i, hasChatHistoryLoaded: A, setHasChatHistoryLoaded: s } = De(), { chatBodyRef: a } = Ce(), { dispatchRcbEvent: l } = st(), c = K(async () => {
|
|
947
947
|
var d, u;
|
|
948
948
|
const p = An();
|
|
949
949
|
if (!p || (d = e.event) != null && d.rcbLoadChatHistory && (await l(G.LOAD_CHAT_HISTORY, {})).defaultPrevented) return;
|
|
950
950
|
i(!0);
|
|
951
951
|
const h = ((u = a.current) == null ? void 0 : u.scrollHeight) ?? 0;
|
|
952
952
|
((b, f, v, w, g, x, k, E, C) => {
|
|
953
|
-
var
|
|
953
|
+
var D;
|
|
954
954
|
if (yi = !0, v != null) try {
|
|
955
|
-
const T = xt(P(ns, {}), "SYSTEM"),
|
|
956
|
-
w([T, ...
|
|
955
|
+
const T = xt(P(ns, {}), "SYSTEM"), S = g.current.slice(1);
|
|
956
|
+
w([T, ...S]);
|
|
957
957
|
const M = v.map((B) => {
|
|
958
958
|
if (B.type === "object") {
|
|
959
959
|
const O = wi(B.content, b, f);
|
|
@@ -972,12 +972,12 @@ const Mr = () => {
|
|
|
972
972
|
x.current.scrollTop += O, E(!1);
|
|
973
973
|
}, 510);
|
|
974
974
|
} catch {
|
|
975
|
-
kt.removeItem((
|
|
975
|
+
kt.removeItem((D = b.chatHistory) == null ? void 0 : D.storageKey);
|
|
976
976
|
}
|
|
977
977
|
})(e, t, p, r, n, a, h, i, s);
|
|
978
978
|
}, [e, t, l, n, a, i, s]);
|
|
979
979
|
return { isLoadingChatHistory: o, setIsLoadingChatHistory: i, hasChatHistoryLoaded: A, showChatHistory: c };
|
|
980
|
-
},
|
|
980
|
+
}, Ss = () => {
|
|
981
981
|
var e, t, r;
|
|
982
982
|
const { settings: n } = oe(), { styles: o } = pe(), { showChatHistory: i } = Nr(), [A, s] = ee(!1), a = { color: (e = n.general) == null ? void 0 : e.primaryColor, borderColor: (t = n.general) == null ? void 0 : t.primaryColor, ...o.chatHistoryButtonStyle, ...o.chatHistoryButtonHoveredStyle };
|
|
983
983
|
return P("div", { className: "rcb-view-history-container", children: P("div", { onMouseEnter: () => {
|
|
@@ -987,11 +987,11 @@ const Mr = () => {
|
|
|
987
987
|
}, style: A ? a : { ...o.chatHistoryButtonStyle }, onMouseDown: (l) => {
|
|
988
988
|
l.preventDefault(), i();
|
|
989
989
|
}, className: "rcb-view-history-button", role: "button", tabIndex: 0, children: P("p", { children: (r = n.chatHistory) == null ? void 0 : r.viewChatHistoryButtonText }) }) });
|
|
990
|
-
},
|
|
990
|
+
}, Ds = () => {
|
|
991
991
|
var e, t, r, n;
|
|
992
|
-
const o = Nn(), { settings: i } = oe(), { replaceMessages: A } = Ot(), { isBotTyping: s, isChatWindowOpen: a, setUnreadCount: l, setSyncedIsChatWindowOpen: c, setSyncedTextAreaDisabled: d, setSyncedAudioToggledOn: u, setSyncedVoiceToggledOn: p, setSyncedIsScrolling: h, syncedIsScrollingRef: b, syncedIsChatWindowOpenRef: f } =
|
|
992
|
+
const o = Nn(), { settings: i } = oe(), { replaceMessages: A } = Ot(), { isBotTyping: s, isChatWindowOpen: a, setUnreadCount: l, setSyncedIsChatWindowOpen: c, setSyncedTextAreaDisabled: d, setSyncedAudioToggledOn: u, setSyncedVoiceToggledOn: p, setSyncedIsScrolling: h, syncedIsScrollingRef: b, syncedIsChatWindowOpenRef: f } = De(), { chatBodyRef: v } = Ce(), { viewportHeight: w, setViewportHeight: g, setViewportWidth: x, scrollToBottom: k } = Ze(), { setUpNotifications: E } = Qr(), { handleFirstInteraction: C } = (() => {
|
|
993
993
|
var M;
|
|
994
|
-
const { settings: B } = oe(), { hasInteractedPage: O, setHasInteractedPage: U, hasFlowStarted: Q, setHasFlowStarted: H } =
|
|
994
|
+
const { settings: B } = oe(), { hasInteractedPage: O, setHasInteractedPage: U, hasFlowStarted: Q, setHasFlowStarted: H } = De(), N = K(() => {
|
|
995
995
|
var R;
|
|
996
996
|
if (U(!0), !Q && ((R = B.general) == null ? void 0 : R.flowStartTrigger) === "ON_PAGE_INTERACT" && H(!0), !window.SpeechSynthesisUtterance) return void console.info("Speech Synthesis API is not supported in this environment.");
|
|
997
997
|
const m = new window.SpeechSynthesisUtterance();
|
|
@@ -1000,18 +1000,18 @@ const Mr = () => {
|
|
|
1000
1000
|
}, window.speechSynthesis.speak(m);
|
|
1001
1001
|
}, [Q, (M = B.general) == null ? void 0 : M.flowStartTrigger]);
|
|
1002
1002
|
return { hasInteractedPage: O, handleFirstInteraction: N };
|
|
1003
|
-
})(), { showChatHistory:
|
|
1003
|
+
})(), { showChatHistory: D } = Nr(), T = ae(0), S = ae(!1);
|
|
1004
1004
|
$(() => (window.addEventListener("click", C), window.addEventListener("keydown", C), window.addEventListener("touchstart", C), () => {
|
|
1005
1005
|
window.removeEventListener("click", C), window.removeEventListener("keydown", C), window.removeEventListener("touchstart", C);
|
|
1006
1006
|
}), []), $(() => {
|
|
1007
1007
|
const M = v.current;
|
|
1008
1008
|
if (!M) return;
|
|
1009
1009
|
const B = () => {
|
|
1010
|
-
|
|
1010
|
+
S.current || (S.current = !0, requestAnimationFrame(() => {
|
|
1011
1011
|
var O, U;
|
|
1012
1012
|
if (!M) return;
|
|
1013
1013
|
const { scrollTop: Q, clientHeight: H, scrollHeight: N } = M, R = Q + H < N - (((O = i.chatWindow) == null ? void 0 : O.messagePromptOffset) ?? 30);
|
|
1014
|
-
h(R), b.current = R, R || (Q + H >= N - 1 && (M.scrollTop = N - H - 1), (f.current || (U = i.general) != null && U.embedded) && l(0)),
|
|
1014
|
+
h(R), b.current = R, R || (Q + H >= N - 1 && (M.scrollTop = N - H - 1), (f.current || (U = i.general) != null && U.embedded) && l(0)), S.current = !1;
|
|
1015
1015
|
}));
|
|
1016
1016
|
};
|
|
1017
1017
|
return M.addEventListener("wheel", B, { passive: !0 }), M.addEventListener("touchmove", B, { passive: !0 }), () => {
|
|
@@ -1030,10 +1030,10 @@ const Mr = () => {
|
|
|
1030
1030
|
!b.current && v != null && v.current && k();
|
|
1031
1031
|
}, [s]), $(() => {
|
|
1032
1032
|
var M, B;
|
|
1033
|
-
if ((M = i.chatHistory) != null && M.disabled) kt && kt.removeItem(
|
|
1033
|
+
if ((M = i.chatHistory) != null && M.disabled) kt && kt.removeItem(Sn);
|
|
1034
1034
|
else if (dr(i), An().length > 0) {
|
|
1035
|
-
const O = xt(P(
|
|
1036
|
-
A([O]), (B = i.chatHistory) != null && B.autoLoad &&
|
|
1035
|
+
const O = xt(P(Ss, {}), "SYSTEM");
|
|
1036
|
+
A([O]), (B = i.chatHistory) != null && B.autoLoad && D();
|
|
1037
1037
|
}
|
|
1038
1038
|
}, [(t = i.chatHistory) == null ? void 0 : t.storageKey, (r = i.chatHistory) == null ? void 0 : r.maxEntries, (n = i.chatHistory) == null ? void 0 : n.disabled]), $(() => {
|
|
1039
1039
|
var M;
|
|
@@ -1108,7 +1108,7 @@ const Mr = () => {
|
|
|
1108
1108
|
}).join(`
|
|
1109
1109
|
`), Qs = async (e, t, r, n) => {
|
|
1110
1110
|
var o, i;
|
|
1111
|
-
let A =
|
|
1111
|
+
let A = Dn(Ai), s = Dn(ci), a = "";
|
|
1112
1112
|
if (n != null) if (Array.isArray(n)) for (const l of n) {
|
|
1113
1113
|
const c = await no(e, l);
|
|
1114
1114
|
A = dt(c.settings, A), s = dt(c.inlineStyles, s), a += c.cssStylesText;
|
|
@@ -1126,7 +1126,7 @@ const Mr = () => {
|
|
|
1126
1126
|
const { source: o, target: i } = n;
|
|
1127
1127
|
for (const A of Object.keys(o)) {
|
|
1128
1128
|
const s = A;
|
|
1129
|
-
if (
|
|
1129
|
+
if (Dr(o[s])) i[s] = o[s];
|
|
1130
1130
|
else if (typeof o[s] != "object" || o[s] === null || Array.isArray(o[s])) try {
|
|
1131
1131
|
i[s] = o[s];
|
|
1132
1132
|
} catch {
|
|
@@ -1135,7 +1135,7 @@ const Mr = () => {
|
|
|
1135
1135
|
}
|
|
1136
1136
|
}
|
|
1137
1137
|
return t;
|
|
1138
|
-
},
|
|
1138
|
+
}, Dn = (e) => {
|
|
1139
1139
|
if (e === null || typeof e != "object") return e;
|
|
1140
1140
|
const t = Array.isArray(e) ? [] : {}, r = [{ source: e, target: t }], n = /* @__PURE__ */ new WeakMap();
|
|
1141
1141
|
for (n.set(e, t); r.length; ) {
|
|
@@ -1155,15 +1155,15 @@ const Mr = () => {
|
|
|
1155
1155
|
return t;
|
|
1156
1156
|
}, Bi = () => {
|
|
1157
1157
|
const { settings: e, setSyncedSettings: t, syncedSettingsRef: r } = oe(), n = K((i) => {
|
|
1158
|
-
!i || Object.keys(i).length === 0 || t(
|
|
1158
|
+
!i || Object.keys(i).length === 0 || t(Dn(dt(i, e)));
|
|
1159
1159
|
}, [e]), o = K((i) => {
|
|
1160
1160
|
const A = typeof i == "function" ? i(r.current) : i;
|
|
1161
1161
|
t(A);
|
|
1162
1162
|
}, [r]);
|
|
1163
1163
|
return { settings: e, replaceSettings: o, updateSettings: n };
|
|
1164
|
-
},
|
|
1164
|
+
}, Si = () => {
|
|
1165
1165
|
const { styles: e, setSyncedStyles: t, syncedStylesRef: r } = pe(), n = K((i) => {
|
|
1166
|
-
!i || Object.keys(i).length === 0 || t(
|
|
1166
|
+
!i || Object.keys(i).length === 0 || t(Dn(dt(i, e)));
|
|
1167
1167
|
}, [e]), o = K((i) => {
|
|
1168
1168
|
const A = typeof i == "function" ? i(r.current) : i;
|
|
1169
1169
|
t(A);
|
|
@@ -1171,13 +1171,13 @@ const Mr = () => {
|
|
|
1171
1171
|
return { styles: e, replaceStyles: o, updateStyles: n };
|
|
1172
1172
|
}, Ms = ({ plugins: e, slots: t }) => {
|
|
1173
1173
|
var r, n;
|
|
1174
|
-
const o = Nn(), { settings: i } = oe(), { styles: A } = pe(), { hasFlowStarted: s, setHasFlowStarted: a } =
|
|
1175
|
-
|
|
1176
|
-
const { updateSettings: g } = Bi(), { updateStyles: x } =
|
|
1174
|
+
const o = Nn(), { settings: i } = oe(), { styles: A } = pe(), { hasFlowStarted: s, setHasFlowStarted: a } = De(), { inputRef: l } = Ce(), { viewportHeight: c, viewportWidth: d, isChatWindowOpen: u } = Ze(), { goToPath: p } = _n(), { headerButtons: h, chatInputButtons: b, footerButtons: f } = Bs();
|
|
1175
|
+
Ds(), ((w) => {
|
|
1176
|
+
const { updateSettings: g } = Bi(), { updateStyles: x } = Si(), k = w == null ? void 0 : w.map((E) => E());
|
|
1177
1177
|
$(() => {
|
|
1178
1178
|
let E = {}, C = {};
|
|
1179
|
-
k == null || k.forEach((
|
|
1180
|
-
|
|
1179
|
+
k == null || k.forEach((D) => {
|
|
1180
|
+
D != null && D.settings && Object.keys(D == null ? void 0 : D.settings).length !== 0 && (E = dt(D.settings, E)), D != null && D.styles && Object.keys(D == null ? void 0 : D.styles).length !== 0 && (C = dt(D.styles, C));
|
|
1181
1181
|
}), g(E), x(C);
|
|
1182
1182
|
}, []);
|
|
1183
1183
|
})(e), $(() => {
|
|
@@ -1206,15 +1206,15 @@ const Mr = () => {
|
|
|
1206
1206
|
return o || (w = i.general) != null && w.embedded ? (g = i.general) != null && g.embedded ? { ...A.chatWindowStyle } : { ...A.chatWindowStyle, zIndex: 1e4 } : { ...A.chatWindowStyle, borderRadius: "0px", left: "0px", right: "auto", top: "0px", bottom: "auto", width: `${d}px`, height: `${c}px`, zIndex: 1e4 };
|
|
1207
1207
|
})(), className: "rcb-chat-window", children: (() => {
|
|
1208
1208
|
var w, g, x;
|
|
1209
|
-
const k = (t == null ? void 0 : t.chatBotHeader) || _a, E = (t == null ? void 0 : t.chatBotBody) || Ga, C = (t == null ? void 0 : t.chatBotInput) || ps,
|
|
1210
|
-
return he(_e, { children: [((w = i.general) == null ? void 0 : w.showHeader) && P(k, { buttons: h }), P(E, {}), P(ys, {}), ((g = i.general) == null ? void 0 : g.showInputRow) && P(C, { buttons: b }), ((x = i.general) == null ? void 0 : x.showFooter) && P(
|
|
1209
|
+
const k = (t == null ? void 0 : t.chatBotHeader) || _a, E = (t == null ? void 0 : t.chatBotBody) || Ga, C = (t == null ? void 0 : t.chatBotInput) || ps, D = (t == null ? void 0 : t.chatBotFooter) || fs;
|
|
1210
|
+
return he(_e, { children: [((w = i.general) == null ? void 0 : w.showHeader) && P(k, { buttons: h }), P(E, {}), P(ys, {}), ((g = i.general) == null ? void 0 : g.showInputRow) && P(C, { buttons: b }), ((x = i.general) == null ? void 0 : x.showFooter) && P(D, { buttons: f })] });
|
|
1211
1211
|
})() })] }) });
|
|
1212
|
-
},
|
|
1212
|
+
}, Di = mt(void 0), Ii = () => yt(Di), Ti = ({ children: e }) => {
|
|
1213
1213
|
var t;
|
|
1214
1214
|
const r = ae(""), n = ae({}), [o, i, A] = Xe({}), [s, a, l] = Xe({}), [c, d] = ee(!1);
|
|
1215
1215
|
return $(() => {
|
|
1216
1216
|
d(!0);
|
|
1217
|
-
}, []), c ? P("div", { style: { fontFamily: (t = o.general) == null ? void 0 : t.fontFamily }, children: P(
|
|
1217
|
+
}, []), c ? P("div", { style: { fontFamily: (t = o.general) == null ? void 0 : t.fontFamily }, children: P(Di.Provider, { value: { loadConfig: async (u, p, h, b, f, v) => {
|
|
1218
1218
|
r.current = u, n.current = p;
|
|
1219
1219
|
const w = await Qs(u, h, b, f);
|
|
1220
1220
|
v.current && (v.current.textContent = w.cssStylesText), i(w.settings), a(w.inlineStyles);
|
|
@@ -1266,7 +1266,7 @@ const Mr = () => {
|
|
|
1266
1266
|
return { getBotId: e };
|
|
1267
1267
|
}, Ln = () => {
|
|
1268
1268
|
const { hasFlowStarted: e, restartFlow: t, getFlow: r } = (() => {
|
|
1269
|
-
const { replaceMessages: n } = Ot(), { replacePaths: o, goToPath: i } = _n(), { replaceToasts: A } = Kt(), { hasFlowStarted: s } =
|
|
1269
|
+
const { replaceMessages: n } = Ot(), { replacePaths: o, goToPath: i } = _n(), { replaceToasts: A } = Kt(), { hasFlowStarted: s } = De(), { flowRef: a, timeoutIdRef: l } = Ce(), { settings: c } = oe();
|
|
1270
1270
|
return { hasFlowStarted: s, restartFlow: K(async () => {
|
|
1271
1271
|
dr(c), l.current && clearTimeout(l.current), n([]), A([]), o([]), await i("start");
|
|
1272
1272
|
}, [l, c, n, A, o, dr, i]), getFlow: K(() => (a == null ? void 0 : a.current) ?? {}, [a]) };
|
|
@@ -1690,61 +1690,61 @@ var Kn, po, fo, zt = {}, gA = function() {
|
|
|
1690
1690
|
p = p || {};
|
|
1691
1691
|
var h = 1, b = 1;
|
|
1692
1692
|
function f(T) {
|
|
1693
|
-
var
|
|
1694
|
-
|
|
1693
|
+
var S = T.match(n);
|
|
1694
|
+
S && (h += S.length);
|
|
1695
1695
|
var M = T.lastIndexOf(`
|
|
1696
1696
|
`);
|
|
1697
1697
|
b = ~M ? T.length - M : b + T.length;
|
|
1698
1698
|
}
|
|
1699
1699
|
function v() {
|
|
1700
1700
|
var T = { line: h, column: b };
|
|
1701
|
-
return function(
|
|
1702
|
-
return
|
|
1701
|
+
return function(S) {
|
|
1702
|
+
return S.position = new w(T), k(), S;
|
|
1703
1703
|
};
|
|
1704
1704
|
}
|
|
1705
1705
|
function w(T) {
|
|
1706
1706
|
this.start = T, this.end = { line: h, column: b }, this.source = p.source;
|
|
1707
1707
|
}
|
|
1708
1708
|
function g(T) {
|
|
1709
|
-
var
|
|
1710
|
-
if (
|
|
1709
|
+
var S = new Error(p.source + ":" + h + ":" + b + ": " + T);
|
|
1710
|
+
if (S.reason = T, S.filename = p.source, S.line = h, S.column = b, S.source = u, !p.silent) throw S;
|
|
1711
1711
|
}
|
|
1712
1712
|
function x(T) {
|
|
1713
|
-
var
|
|
1714
|
-
if (
|
|
1715
|
-
var M =
|
|
1716
|
-
return f(M), u = u.slice(M.length),
|
|
1713
|
+
var S = T.exec(u);
|
|
1714
|
+
if (S) {
|
|
1715
|
+
var M = S[0];
|
|
1716
|
+
return f(M), u = u.slice(M.length), S;
|
|
1717
1717
|
}
|
|
1718
1718
|
}
|
|
1719
1719
|
function k() {
|
|
1720
1720
|
x(o);
|
|
1721
1721
|
}
|
|
1722
1722
|
function E(T) {
|
|
1723
|
-
var
|
|
1724
|
-
for (T = T || [];
|
|
1723
|
+
var S;
|
|
1724
|
+
for (T = T || []; S = C(); ) S !== !1 && T.push(S);
|
|
1725
1725
|
return T;
|
|
1726
1726
|
}
|
|
1727
1727
|
function C() {
|
|
1728
1728
|
var T = v();
|
|
1729
1729
|
if (u.charAt(0) == "/" && u.charAt(1) == "*") {
|
|
1730
|
-
for (var
|
|
1731
|
-
if (
|
|
1732
|
-
var M = u.slice(2,
|
|
1733
|
-
return b += 2, f(M), u = u.slice(
|
|
1730
|
+
for (var S = 2; c != u.charAt(S) && (u.charAt(S) != "*" || u.charAt(S + 1) != "/"); ) ++S;
|
|
1731
|
+
if (S += 2, c === u.charAt(S - 1)) return g("End of comment missing");
|
|
1732
|
+
var M = u.slice(2, S - 2);
|
|
1733
|
+
return b += 2, f(M), u = u.slice(S), b += 2, T({ type: "comment", comment: M });
|
|
1734
1734
|
}
|
|
1735
1735
|
}
|
|
1736
|
-
function
|
|
1737
|
-
var T = v(),
|
|
1738
|
-
if (
|
|
1736
|
+
function D() {
|
|
1737
|
+
var T = v(), S = x(i);
|
|
1738
|
+
if (S) {
|
|
1739
1739
|
if (C(), !x(A)) return g("property missing ':'");
|
|
1740
|
-
var M = x(s), B = T({ type: "declaration", property: d(
|
|
1740
|
+
var M = x(s), B = T({ type: "declaration", property: d(S[0].replace(r, c)), value: M ? d(M[0].replace(r, c)) : c });
|
|
1741
1741
|
return x(a), B;
|
|
1742
1742
|
}
|
|
1743
1743
|
}
|
|
1744
1744
|
return w.prototype.content = u, k(), function() {
|
|
1745
|
-
var T,
|
|
1746
|
-
for (E(
|
|
1747
|
-
return
|
|
1745
|
+
var T, S = [];
|
|
1746
|
+
for (E(S); T = D(); ) T !== !1 && (S.push(T), E(S));
|
|
1747
|
+
return S;
|
|
1748
1748
|
}();
|
|
1749
1749
|
}, Kn;
|
|
1750
1750
|
}());
|
|
@@ -2028,13 +2028,13 @@ function ot(e, t) {
|
|
|
2028
2028
|
return e.length > 0 ? (gt(e, e.length, 0, t), e) : t;
|
|
2029
2029
|
}
|
|
2030
2030
|
const xo = {}.hasOwnProperty;
|
|
2031
|
-
function
|
|
2031
|
+
function SA(e) {
|
|
2032
2032
|
const t = {};
|
|
2033
2033
|
let r = -1;
|
|
2034
|
-
for (; ++r < e.length; )
|
|
2034
|
+
for (; ++r < e.length; ) DA(t, e[r]);
|
|
2035
2035
|
return t;
|
|
2036
2036
|
}
|
|
2037
|
-
function
|
|
2037
|
+
function DA(e, t) {
|
|
2038
2038
|
let r;
|
|
2039
2039
|
for (r in t) {
|
|
2040
2040
|
const n = (xo.call(e, r) ? e[r] : void 0) || (e[r] = {}), o = t[r];
|
|
@@ -2179,16 +2179,16 @@ const NA = { tokenize: function(e) {
|
|
|
2179
2179
|
let E = n.events.length;
|
|
2180
2180
|
for (; E--; ) if (n.events[E][1].start.offset < i && (!n.events[E][1].end || n.events[E][1].end.offset > i)) return;
|
|
2181
2181
|
const C = t.events.length;
|
|
2182
|
-
let
|
|
2183
|
-
for (;
|
|
2184
|
-
if (
|
|
2185
|
-
T = t.events[
|
|
2182
|
+
let D, T, S = C;
|
|
2183
|
+
for (; S--; ) if (t.events[S][0] === "exit" && t.events[S][1].type === "chunkFlow") {
|
|
2184
|
+
if (D) {
|
|
2185
|
+
T = t.events[S][1].end;
|
|
2186
2186
|
break;
|
|
2187
2187
|
}
|
|
2188
|
-
|
|
2188
|
+
D = !0;
|
|
2189
2189
|
}
|
|
2190
2190
|
for (v(A), E = C; E < t.events.length; ) t.events[E][1].end = { ...T }, E++;
|
|
2191
|
-
gt(t.events,
|
|
2191
|
+
gt(t.events, S + 1, 0, t.events.slice(C)), t.events.length = E;
|
|
2192
2192
|
}
|
|
2193
2193
|
}
|
|
2194
2194
|
function v(g) {
|
|
@@ -2346,16 +2346,16 @@ const RA = { name: "autolink", tokenize: function(e, t, r) {
|
|
|
2346
2346
|
let E = 0;
|
|
2347
2347
|
return C;
|
|
2348
2348
|
function C(B) {
|
|
2349
|
-
return g.enter("lineEnding"), g.consume(B), g.exit("lineEnding"),
|
|
2349
|
+
return g.enter("lineEnding"), g.consume(B), g.exit("lineEnding"), D;
|
|
2350
2350
|
}
|
|
2351
|
-
function
|
|
2351
|
+
function D(B) {
|
|
2352
2352
|
return g.enter("codeFencedFence"), ce(B) ? ye(g, T, "linePrefix", n.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4)(B) : T(B);
|
|
2353
2353
|
}
|
|
2354
2354
|
function T(B) {
|
|
2355
|
-
return B === i ? (g.enter("codeFencedFenceSequence"),
|
|
2355
|
+
return B === i ? (g.enter("codeFencedFenceSequence"), S(B)) : k(B);
|
|
2356
2356
|
}
|
|
2357
|
-
function
|
|
2358
|
-
return B === i ? (E++, g.consume(B),
|
|
2357
|
+
function S(B) {
|
|
2358
|
+
return B === i ? (E++, g.consume(B), S) : E >= s ? (g.exit("codeFencedFenceSequence"), ce(B) ? ye(g, M, "whitespace")(B) : M(B)) : k(B);
|
|
2359
2359
|
}
|
|
2360
2360
|
function M(B) {
|
|
2361
2361
|
return B === null || J(B) ? (g.exit("codeFencedFence"), x(B)) : k(B);
|
|
@@ -2704,7 +2704,7 @@ const GA = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2704
2704
|
function s(a) {
|
|
2705
2705
|
return a === null || a === 35 || je(a) ? (e.exit("atxHeadingText"), i(a)) : (e.consume(a), s);
|
|
2706
2706
|
}
|
|
2707
|
-
} }, VA = ["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"],
|
|
2707
|
+
} }, VA = ["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"], So = ["pre", "script", "style", "textarea"], XA = { concrete: !0, name: "htmlFlow", resolveTo: function(e) {
|
|
2708
2708
|
let t = e.length;
|
|
2709
2709
|
for (; t-- && (e[t][0] !== "enter" || e[t][1].type !== "htmlFlow"); ) ;
|
|
2710
2710
|
return t > 1 && e[t - 2][1].type === "linePrefix" && (e[t][1].start = e[t - 2][1].start, e[t + 1][1].start = e[t - 2][1].start, e.splice(t - 2, 2)), e;
|
|
@@ -2726,7 +2726,7 @@ const GA = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2726
2726
|
return y === 45 ? (e.consume(y), n.interrupt ? t : R) : r(y);
|
|
2727
2727
|
}
|
|
2728
2728
|
function u(y) {
|
|
2729
|
-
return y === "CDATA[".charCodeAt(s++) ? (e.consume(y), s === 6 ? n.interrupt ? t :
|
|
2729
|
+
return y === "CDATA[".charCodeAt(s++) ? (e.consume(y), s === 6 ? n.interrupt ? t : S : u) : r(y);
|
|
2730
2730
|
}
|
|
2731
2731
|
function p(y) {
|
|
2732
2732
|
return ft(y) ? (e.consume(y), A = String.fromCharCode(y), h) : r(y);
|
|
@@ -2734,18 +2734,18 @@ const GA = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2734
2734
|
function h(y) {
|
|
2735
2735
|
if (y === null || y === 47 || y === 62 || je(y)) {
|
|
2736
2736
|
const W = y === 47, te = A.toLowerCase();
|
|
2737
|
-
return W || i || !
|
|
2737
|
+
return W || i || !So.includes(te) ? VA.includes(A.toLowerCase()) ? (o = 6, W ? (e.consume(y), b) : n.interrupt ? t(y) : S(y)) : (o = 7, n.interrupt && !n.parser.lazy[n.now().line] ? r(y) : i ? f(y) : v(y)) : (o = 1, n.interrupt ? t(y) : S(y));
|
|
2738
2738
|
}
|
|
2739
2739
|
return y === 45 || Je(y) ? (e.consume(y), A += String.fromCharCode(y), h) : r(y);
|
|
2740
2740
|
}
|
|
2741
2741
|
function b(y) {
|
|
2742
|
-
return y === 62 ? (e.consume(y), n.interrupt ? t :
|
|
2742
|
+
return y === 62 ? (e.consume(y), n.interrupt ? t : S) : r(y);
|
|
2743
2743
|
}
|
|
2744
2744
|
function f(y) {
|
|
2745
|
-
return ce(y) ? (e.consume(y), f) :
|
|
2745
|
+
return ce(y) ? (e.consume(y), f) : D(y);
|
|
2746
2746
|
}
|
|
2747
2747
|
function v(y) {
|
|
2748
|
-
return y === 47 ? (e.consume(y),
|
|
2748
|
+
return y === 47 ? (e.consume(y), D) : y === 58 || y === 95 || ft(y) ? (e.consume(y), w) : ce(y) ? (e.consume(y), v) : D(y);
|
|
2749
2749
|
}
|
|
2750
2750
|
function w(y) {
|
|
2751
2751
|
return y === 45 || y === 46 || y === 58 || y === 95 || Je(y) ? (e.consume(y), w) : g(y);
|
|
@@ -2765,14 +2765,14 @@ const GA = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2765
2765
|
function C(y) {
|
|
2766
2766
|
return y === 47 || y === 62 || ce(y) ? v(y) : r(y);
|
|
2767
2767
|
}
|
|
2768
|
-
function
|
|
2768
|
+
function D(y) {
|
|
2769
2769
|
return y === 62 ? (e.consume(y), T) : r(y);
|
|
2770
2770
|
}
|
|
2771
2771
|
function T(y) {
|
|
2772
|
-
return y === null || J(y) ?
|
|
2772
|
+
return y === null || J(y) ? S(y) : ce(y) ? (e.consume(y), T) : r(y);
|
|
2773
2773
|
}
|
|
2774
|
-
function
|
|
2775
|
-
return y === 45 && o === 2 ? (e.consume(y), U) : y === 60 && o === 1 ? (e.consume(y), Q) : y === 62 && o === 4 ? (e.consume(y), m) : y === 63 && o === 3 ? (e.consume(y), R) : y === 93 && o === 5 ? (e.consume(y), N) : !J(y) || o !== 6 && o !== 7 ? y === null || J(y) ? (e.exit("htmlFlowData"), M(y)) : (e.consume(y),
|
|
2774
|
+
function S(y) {
|
|
2775
|
+
return y === 45 && o === 2 ? (e.consume(y), U) : y === 60 && o === 1 ? (e.consume(y), Q) : y === 62 && o === 4 ? (e.consume(y), m) : y === 63 && o === 3 ? (e.consume(y), R) : y === 93 && o === 5 ? (e.consume(y), N) : !J(y) || o !== 6 && o !== 7 ? y === null || J(y) ? (e.exit("htmlFlowData"), M(y)) : (e.consume(y), S) : (e.exit("htmlFlowData"), e.check(JA, j, M)(y));
|
|
2776
2776
|
}
|
|
2777
2777
|
function M(y) {
|
|
2778
2778
|
return e.check(ZA, B, j)(y);
|
|
@@ -2781,26 +2781,26 @@ const GA = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2781
2781
|
return e.enter("lineEnding"), e.consume(y), e.exit("lineEnding"), O;
|
|
2782
2782
|
}
|
|
2783
2783
|
function O(y) {
|
|
2784
|
-
return y === null || J(y) ? M(y) : (e.enter("htmlFlowData"),
|
|
2784
|
+
return y === null || J(y) ? M(y) : (e.enter("htmlFlowData"), S(y));
|
|
2785
2785
|
}
|
|
2786
2786
|
function U(y) {
|
|
2787
|
-
return y === 45 ? (e.consume(y), R) :
|
|
2787
|
+
return y === 45 ? (e.consume(y), R) : S(y);
|
|
2788
2788
|
}
|
|
2789
2789
|
function Q(y) {
|
|
2790
|
-
return y === 47 ? (e.consume(y), A = "", H) :
|
|
2790
|
+
return y === 47 ? (e.consume(y), A = "", H) : S(y);
|
|
2791
2791
|
}
|
|
2792
2792
|
function H(y) {
|
|
2793
2793
|
if (y === 62) {
|
|
2794
2794
|
const W = A.toLowerCase();
|
|
2795
|
-
return
|
|
2795
|
+
return So.includes(W) ? (e.consume(y), m) : S(y);
|
|
2796
2796
|
}
|
|
2797
|
-
return ft(y) && A.length < 8 ? (e.consume(y), A += String.fromCharCode(y), H) :
|
|
2797
|
+
return ft(y) && A.length < 8 ? (e.consume(y), A += String.fromCharCode(y), H) : S(y);
|
|
2798
2798
|
}
|
|
2799
2799
|
function N(y) {
|
|
2800
|
-
return y === 93 ? (e.consume(y), R) :
|
|
2800
|
+
return y === 93 ? (e.consume(y), R) : S(y);
|
|
2801
2801
|
}
|
|
2802
2802
|
function R(y) {
|
|
2803
|
-
return y === 62 ? (e.consume(y), m) : y === 45 && o === 2 ? (e.consume(y), R) :
|
|
2803
|
+
return y === 62 ? (e.consume(y), m) : y === 45 && o === 2 ? (e.consume(y), R) : S(y);
|
|
2804
2804
|
}
|
|
2805
2805
|
function m(y) {
|
|
2806
2806
|
return y === null || J(y) ? (e.exit("htmlFlowData"), j(y)) : (e.consume(y), m);
|
|
@@ -2875,16 +2875,16 @@ const GA = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2875
2875
|
return J(m) ? (A = E, H(m)) : ce(m) ? (e.consume(m), E) : Q(m);
|
|
2876
2876
|
}
|
|
2877
2877
|
function C(m) {
|
|
2878
|
-
return m === 45 || Je(m) ? (e.consume(m), C) : m === 47 || m === 62 || je(m) ?
|
|
2878
|
+
return m === 45 || Je(m) ? (e.consume(m), C) : m === 47 || m === 62 || je(m) ? D(m) : r(m);
|
|
2879
2879
|
}
|
|
2880
|
-
function
|
|
2881
|
-
return m === 47 ? (e.consume(m), Q) : m === 58 || m === 95 || ft(m) ? (e.consume(m), T) : J(m) ? (A =
|
|
2880
|
+
function D(m) {
|
|
2881
|
+
return m === 47 ? (e.consume(m), Q) : m === 58 || m === 95 || ft(m) ? (e.consume(m), T) : J(m) ? (A = D, H(m)) : ce(m) ? (e.consume(m), D) : Q(m);
|
|
2882
2882
|
}
|
|
2883
2883
|
function T(m) {
|
|
2884
|
-
return m === 45 || m === 46 || m === 58 || m === 95 || Je(m) ? (e.consume(m), T) :
|
|
2884
|
+
return m === 45 || m === 46 || m === 58 || m === 95 || Je(m) ? (e.consume(m), T) : S(m);
|
|
2885
2885
|
}
|
|
2886
|
-
function
|
|
2887
|
-
return m === 61 ? (e.consume(m), M) : J(m) ? (A =
|
|
2886
|
+
function S(m) {
|
|
2887
|
+
return m === 61 ? (e.consume(m), M) : J(m) ? (A = S, H(m)) : ce(m) ? (e.consume(m), S) : D(m);
|
|
2888
2888
|
}
|
|
2889
2889
|
function M(m) {
|
|
2890
2890
|
return m === null || m === 60 || m === 61 || m === 62 || m === 96 ? r(m) : m === 34 || m === 39 ? (e.consume(m), o = m, B) : J(m) ? (A = M, H(m)) : ce(m) ? (e.consume(m), M) : (e.consume(m), O);
|
|
@@ -2893,10 +2893,10 @@ const GA = { name: "definition", tokenize: function(e, t, r) {
|
|
|
2893
2893
|
return m === o ? (e.consume(m), o = void 0, U) : m === null ? r(m) : J(m) ? (A = B, H(m)) : (e.consume(m), B);
|
|
2894
2894
|
}
|
|
2895
2895
|
function O(m) {
|
|
2896
|
-
return m === null || m === 34 || m === 39 || m === 60 || m === 61 || m === 96 ? r(m) : m === 47 || m === 62 || je(m) ?
|
|
2896
|
+
return m === null || m === 34 || m === 39 || m === 60 || m === 61 || m === 96 ? r(m) : m === 47 || m === 62 || je(m) ? D(m) : (e.consume(m), O);
|
|
2897
2897
|
}
|
|
2898
2898
|
function U(m) {
|
|
2899
|
-
return m === 47 || m === 62 || je(m) ?
|
|
2899
|
+
return m === 47 || m === 62 || je(m) ? D(m) : r(m);
|
|
2900
2900
|
}
|
|
2901
2901
|
function Q(m) {
|
|
2902
2902
|
return m === 62 ? (e.consume(m), e.exit("htmlTextData"), e.exit("htmlText"), t) : r(m);
|
|
@@ -3085,7 +3085,7 @@ const GA = { name: "definition", tokenize: function(e, t, r) {
|
|
|
3085
3085
|
const i = n.events[n.events.length - 1];
|
|
3086
3086
|
return i && i[1].type === "listItemIndent" && i[2].sliceSerialize(i[1], !0).length === n.containerState.size ? t(o) : r(o);
|
|
3087
3087
|
}, "listItemIndent", n.containerState.size + 1);
|
|
3088
|
-
} },
|
|
3088
|
+
} }, Do = { name: "setextUnderline", resolveTo: function(e, t) {
|
|
3089
3089
|
let r, n, o, i = e.length;
|
|
3090
3090
|
for (; i--; ) if (e[i][0] === "enter") {
|
|
3091
3091
|
if (e[i][1].type === "content") {
|
|
@@ -3183,7 +3183,7 @@ function ul(e, t) {
|
|
|
3183
3183
|
}
|
|
3184
3184
|
return e;
|
|
3185
3185
|
}
|
|
3186
|
-
const dl = { 42: ze, 43: ze, 45: ze, 48: ze, 49: ze, 50: ze, 51: ze, 52: ze, 53: ze, 54: ze, 55: ze, 56: ze, 57: ze, 62: Zi }, pl = { 91: GA }, fl = { [-2]: Zn, [-1]: Zn, 32: Zn }, hl = { 35: KA, 42: Cn, 45: [
|
|
3186
|
+
const dl = { 42: ze, 43: ze, 45: ze, 48: ze, 49: ze, 50: ze, 51: ze, 52: ze, 53: ze, 54: ze, 55: ze, 56: ze, 57: ze, 62: Zi }, pl = { 91: GA }, fl = { [-2]: Zn, [-1]: Zn, 32: Zn }, hl = { 35: KA, 42: Cn, 45: [Do, Cn], 60: XA, 61: Do, 95: Cn, 96: Bo, 126: Bo }, gl = { 38: ea, 92: $i }, ml = { [-5]: $n, [-4]: $n, [-3]: $n, 33: rl, 38: ea, 42: wr, 60: [RA, $A], 91: ol, 92: [WA, $i], 93: zr, 95: wr, 96: UA }, yl = { null: [wr, Al] }, bl = Object.freeze(Object.defineProperty({ __proto__: null, attentionMarkers: { null: [42, 95] }, contentInitial: pl, disable: { null: [] }, document: dl, flow: hl, flowInitial: fl, insideSpan: yl, string: gl, text: ml }, Symbol.toStringTag, { value: "Module" }));
|
|
3187
3187
|
function vl(e, t, r) {
|
|
3188
3188
|
let n = { _bufferIndex: -1, _index: 0, line: r && r.line || 1, column: r && r.column || 1, offset: r && r.offset || 0 };
|
|
3189
3189
|
const o = {}, i = [];
|
|
@@ -3204,34 +3204,34 @@ function vl(e, t, r) {
|
|
|
3204
3204
|
return function(x, k) {
|
|
3205
3205
|
let E = -1;
|
|
3206
3206
|
const C = [];
|
|
3207
|
-
let
|
|
3207
|
+
let D;
|
|
3208
3208
|
for (; ++E < x.length; ) {
|
|
3209
3209
|
const T = x[E];
|
|
3210
|
-
let
|
|
3211
|
-
if (typeof T == "string")
|
|
3210
|
+
let S;
|
|
3211
|
+
if (typeof T == "string") S = T;
|
|
3212
3212
|
else switch (T) {
|
|
3213
3213
|
case -5:
|
|
3214
|
-
|
|
3214
|
+
S = "\r";
|
|
3215
3215
|
break;
|
|
3216
3216
|
case -4:
|
|
3217
|
-
|
|
3217
|
+
S = `
|
|
3218
3218
|
`;
|
|
3219
3219
|
break;
|
|
3220
3220
|
case -3:
|
|
3221
|
-
|
|
3221
|
+
S = `\r
|
|
3222
3222
|
`;
|
|
3223
3223
|
break;
|
|
3224
3224
|
case -2:
|
|
3225
|
-
|
|
3225
|
+
S = k ? " " : " ";
|
|
3226
3226
|
break;
|
|
3227
3227
|
case -1:
|
|
3228
|
-
if (!k &&
|
|
3229
|
-
|
|
3228
|
+
if (!k && D) continue;
|
|
3229
|
+
S = " ";
|
|
3230
3230
|
break;
|
|
3231
3231
|
default:
|
|
3232
|
-
|
|
3232
|
+
S = String.fromCharCode(T);
|
|
3233
3233
|
}
|
|
3234
|
-
|
|
3234
|
+
D = T === -2, C.push(S);
|
|
3235
3235
|
}
|
|
3236
3236
|
return C.join("");
|
|
3237
3237
|
}(d(w), g);
|
|
@@ -3249,15 +3249,15 @@ function vl(e, t, r) {
|
|
|
3249
3249
|
return t.resolveAll && i.push(t), l;
|
|
3250
3250
|
function d(w) {
|
|
3251
3251
|
return function(g, x) {
|
|
3252
|
-
const k = x.start._index, E = x.start._bufferIndex, C = x.end._index,
|
|
3252
|
+
const k = x.start._index, E = x.start._bufferIndex, C = x.end._index, D = x.end._bufferIndex;
|
|
3253
3253
|
let T;
|
|
3254
|
-
if (k === C) T = [g[k].slice(E,
|
|
3254
|
+
if (k === C) T = [g[k].slice(E, D)];
|
|
3255
3255
|
else {
|
|
3256
3256
|
if (T = g.slice(k, C), E > -1) {
|
|
3257
|
-
const
|
|
3258
|
-
typeof
|
|
3257
|
+
const S = T[0];
|
|
3258
|
+
typeof S == "string" ? T[0] = S.slice(E) : T.shift();
|
|
3259
3259
|
}
|
|
3260
|
-
|
|
3260
|
+
D > 0 && T.push(g[C].slice(0, D));
|
|
3261
3261
|
}
|
|
3262
3262
|
return T;
|
|
3263
3263
|
}(A, w);
|
|
@@ -3274,7 +3274,7 @@ function vl(e, t, r) {
|
|
|
3274
3274
|
}
|
|
3275
3275
|
function b(w, g) {
|
|
3276
3276
|
return function(x, k, E) {
|
|
3277
|
-
let C,
|
|
3277
|
+
let C, D, T, S;
|
|
3278
3278
|
return Array.isArray(x) ? M(x) : "tokenize" in x ? M([x]) : /* @__PURE__ */ function(Q) {
|
|
3279
3279
|
return H;
|
|
3280
3280
|
function H(N) {
|
|
@@ -3283,11 +3283,11 @@ function vl(e, t, r) {
|
|
|
3283
3283
|
}
|
|
3284
3284
|
}(x);
|
|
3285
3285
|
function M(Q) {
|
|
3286
|
-
return C = Q,
|
|
3286
|
+
return C = Q, D = 0, Q.length === 0 ? E : B(Q[D]);
|
|
3287
3287
|
}
|
|
3288
3288
|
function B(Q) {
|
|
3289
3289
|
return function(H) {
|
|
3290
|
-
return
|
|
3290
|
+
return S = function() {
|
|
3291
3291
|
const N = u(), R = l.previous, m = l.currentConstruct, j = l.events.length, y = Array.from(s);
|
|
3292
3292
|
return { from: j, restore: W };
|
|
3293
3293
|
function W() {
|
|
@@ -3297,10 +3297,10 @@ function vl(e, t, r) {
|
|
|
3297
3297
|
};
|
|
3298
3298
|
}
|
|
3299
3299
|
function O(Q) {
|
|
3300
|
-
return w(T,
|
|
3300
|
+
return w(T, S), k;
|
|
3301
3301
|
}
|
|
3302
3302
|
function U(Q) {
|
|
3303
|
-
return
|
|
3303
|
+
return S.restore(), ++D < C.length ? B(C[D]) : E;
|
|
3304
3304
|
}
|
|
3305
3305
|
};
|
|
3306
3306
|
}
|
|
@@ -3323,7 +3323,7 @@ function xl(e, t, r) {
|
|
|
3323
3323
|
const sa = {}.hasOwnProperty;
|
|
3324
3324
|
function El(e, t, r) {
|
|
3325
3325
|
return typeof t != "string" && (r = t, t = void 0), function(n) {
|
|
3326
|
-
const o = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: a(Jt), autolinkProtocol: B, autolinkEmail: B, atxHeading: a(Ie), blockQuote: a(le), characterEscape: B, characterReference: B, codeFenced: a(ue), codeFencedFenceInfo: l, codeFencedFenceMeta: l, codeIndented: a(ue, l), codeText: a(de, l), codeTextData: B, data: B, codeFlowValue: B, definition: a(Be), definitionDestinationString: l, definitionLabelString: l, definitionTitleString: l, emphasis: a(Ge), hardBreakEscape: a(At), hardBreakTrailing: a(At), htmlFlow: a(Ct, l), htmlFlowData: B, htmlText: a(Ct, l), htmlTextData: B, image: a(we), label: l, link: a(Jt), listItem: a(lt), listItemValue: b, listOrdered: a(Ye, h), listUnordered: a(Ye), paragraph: a(Bt), reference: Ne, referenceString: l, resourceDestinationString: l, resourceTitleString: l, setextHeading: a(Ie), strong: a(ge), thematicBreak: a(ke) }, exit: { atxHeading: d(), atxHeadingSequence:
|
|
3326
|
+
const o = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: a(Jt), autolinkProtocol: B, autolinkEmail: B, atxHeading: a(Ie), blockQuote: a(le), characterEscape: B, characterReference: B, codeFenced: a(ue), codeFencedFenceInfo: l, codeFencedFenceMeta: l, codeIndented: a(ue, l), codeText: a(de, l), codeTextData: B, data: B, codeFlowValue: B, definition: a(Be), definitionDestinationString: l, definitionLabelString: l, definitionTitleString: l, emphasis: a(Ge), hardBreakEscape: a(At), hardBreakTrailing: a(At), htmlFlow: a(Ct, l), htmlFlowData: B, htmlText: a(Ct, l), htmlTextData: B, image: a(we), label: l, link: a(Jt), listItem: a(lt), listItemValue: b, listOrdered: a(Ye, h), listUnordered: a(Ye), paragraph: a(Bt), reference: Ne, referenceString: l, resourceDestinationString: l, resourceTitleString: l, setextHeading: a(Ie), strong: a(ge), thematicBreak: a(ke) }, exit: { atxHeading: d(), atxHeadingSequence: D, autolink: d(), autolinkEmail: ne, autolinkProtocol: se, blockQuote: d(), characterEscapeValue: O, characterReferenceMarkerHexadecimal: $e, characterReferenceMarkerNumeric: $e, characterReferenceValue: F, characterReference: Y, codeFenced: d(g), codeFencedFence: w, codeFencedFenceInfo: f, codeFencedFenceMeta: v, codeFlowValue: O, codeIndented: d(x), codeText: d(R), codeTextData: O, data: O, definition: d(), definitionDestinationString: C, definitionLabelString: k, definitionTitleString: E, emphasis: d(), hardBreakEscape: d(Q), hardBreakTrailing: d(Q), htmlFlow: d(H), htmlFlowData: O, htmlText: d(N), htmlTextData: O, image: d(j), label: W, labelText: y, lineEnding: U, link: d(m), listItem: d(), listOrdered: d(), listUnordered: d(), paragraph: d(), referenceString: fe, resourceDestinationString: te, resourceTitleString: Z, resource: Ae, setextHeading: d(M), setextHeadingLineSequence: S, setextHeadingText: T, strong: d(), thematicBreak: d() } };
|
|
3327
3327
|
Aa(o, (n || {}).mdastExtensions || []);
|
|
3328
3328
|
const i = {};
|
|
3329
3329
|
return A;
|
|
@@ -3369,11 +3369,11 @@ function El(e, t, r) {
|
|
|
3369
3369
|
if (ie) {
|
|
3370
3370
|
let tt = Ue;
|
|
3371
3371
|
for (V = void 0; tt--; ) {
|
|
3372
|
-
const
|
|
3373
|
-
if (
|
|
3374
|
-
if (
|
|
3375
|
-
V && (I[V][1].type = "lineEndingBlank", Lt = !0),
|
|
3376
|
-
} else if (
|
|
3372
|
+
const Se = I[tt];
|
|
3373
|
+
if (Se[1].type === "lineEnding" || Se[1].type === "lineEndingBlank") {
|
|
3374
|
+
if (Se[0] === "exit") continue;
|
|
3375
|
+
V && (I[V][1].type = "lineEndingBlank", Lt = !0), Se[1].type = "lineEnding", V = tt;
|
|
3376
|
+
} else if (Se[1].type !== "linePrefix" && Se[1].type !== "blockQuotePrefix" && Se[1].type !== "blockQuotePrefixWhitespace" && Se[1].type !== "blockQuoteMarker" && Se[1].type !== "listItemIndent") break;
|
|
3377
3377
|
}
|
|
3378
3378
|
xe && (!V || xe < V) && (ie._spread = !0), ie.end = Object.assign({}, V ? I[V][1].start : be[1].end), I.splice(V || Ue, 0, ["exit", ie, be[2]]), Ue++, z++;
|
|
3379
3379
|
}
|
|
@@ -3450,7 +3450,7 @@ function El(e, t, r) {
|
|
|
3450
3450
|
const I = this.resume();
|
|
3451
3451
|
this.stack[this.stack.length - 1].url = I;
|
|
3452
3452
|
}
|
|
3453
|
-
function
|
|
3453
|
+
function D(I) {
|
|
3454
3454
|
const q = this.stack[this.stack.length - 1];
|
|
3455
3455
|
if (!q.depth) {
|
|
3456
3456
|
const z = this.sliceSerialize(I).length;
|
|
@@ -3460,7 +3460,7 @@ function El(e, t, r) {
|
|
|
3460
3460
|
function T() {
|
|
3461
3461
|
this.data.setextHeadingSlurpLineEnding = !0;
|
|
3462
3462
|
}
|
|
3463
|
-
function
|
|
3463
|
+
function S(I) {
|
|
3464
3464
|
this.stack[this.stack.length - 1].depth = this.sliceSerialize(I).codePointAt(0) === 61 ? 1 : 2;
|
|
3465
3465
|
}
|
|
3466
3466
|
function M() {
|
|
@@ -3612,7 +3612,7 @@ function El(e, t, r) {
|
|
|
3612
3612
|
for (; !ta(n); ) ;
|
|
3613
3613
|
return n;
|
|
3614
3614
|
}(function(n) {
|
|
3615
|
-
const o = { constructs:
|
|
3615
|
+
const o = { constructs: SA([bl, ...(n || {}).extensions || []]), content: i(NA), defined: [], document: i(LA), flow: i(sl), lazy: {}, string: i(ll), text: i(cl) };
|
|
3616
3616
|
return o;
|
|
3617
3617
|
function i(A) {
|
|
3618
3618
|
return function(s) {
|
|
@@ -3920,10 +3920,10 @@ const _o = typeof self == "object" ? self : globalThis, No = (e) => (/* @__PURE_
|
|
|
3920
3920
|
return n(new _o[A](s), i);
|
|
3921
3921
|
};
|
|
3922
3922
|
return o;
|
|
3923
|
-
})(/* @__PURE__ */ new Map(), e))(0), jt = "", { toString:
|
|
3923
|
+
})(/* @__PURE__ */ new Map(), e))(0), jt = "", { toString: Sl } = {}, { keys: Dl } = Object, en = (e) => {
|
|
3924
3924
|
const t = typeof e;
|
|
3925
3925
|
if (t !== "object" || !e) return [0, t];
|
|
3926
|
-
const r =
|
|
3926
|
+
const r = Sl.call(e).slice(8, -1);
|
|
3927
3927
|
switch (r) {
|
|
3928
3928
|
case "Array":
|
|
3929
3929
|
return [1, jt];
|
|
@@ -3987,7 +3987,7 @@ const _o = typeof self == "object" ? self : globalThis, No = (e) => (/* @__PURE_
|
|
|
3987
3987
|
}
|
|
3988
3988
|
if (i && "toJSON" in c) return l(c.toJSON());
|
|
3989
3989
|
const h = [], b = a([d, h], c);
|
|
3990
|
-
for (const f of
|
|
3990
|
+
for (const f of Dl(c)) (o || !yn(en(c[f]))) && h.push([l(f), l(c[f])]);
|
|
3991
3991
|
return b;
|
|
3992
3992
|
}
|
|
3993
3993
|
case 3:
|
|
@@ -4179,13 +4179,13 @@ function Fo(e, t) {
|
|
|
4179
4179
|
const x = [], k = A.footnoteCounts.get(v);
|
|
4180
4180
|
for (; k !== void 0 && ++g <= k; ) {
|
|
4181
4181
|
x.length > 0 && x.push({ type: "text", value: " " });
|
|
4182
|
-
let
|
|
4183
|
-
typeof
|
|
4182
|
+
let D = typeof a == "string" ? a : a(h, g);
|
|
4183
|
+
typeof D == "string" && (D = { type: "text", value: D }), x.push({ type: "element", tagName: "a", properties: { href: "#" + s + "fnref-" + w + (g > 1 ? "-" + g : ""), dataFootnoteBackref: "", ariaLabel: typeof l == "string" ? l : l(h, g), className: ["data-footnote-backref"] }, children: Array.isArray(D) ? D : [D] });
|
|
4184
4184
|
}
|
|
4185
4185
|
const E = f[f.length - 1];
|
|
4186
4186
|
if (E && E.type === "element" && E.tagName === "p") {
|
|
4187
|
-
const
|
|
4188
|
-
|
|
4187
|
+
const D = E.children[E.children.length - 1];
|
|
4188
|
+
D && D.type === "text" ? D.value += " " : E.children.push({ type: "text", value: " " }), E.children.push(...x);
|
|
4189
4189
|
} else f.push(...x);
|
|
4190
4190
|
const C = { type: "element", tagName: "li", properties: { id: s + "fn-" + w }, children: A.wrap(f, !0) };
|
|
4191
4191
|
A.patch(b, C), p.push(C);
|
|
@@ -4686,7 +4686,7 @@ const $l = ({ children: e }) => P("div", { style: { whiteSpace: "normal" }, chil
|
|
|
4686
4686
|
const { showToast: d, dismissToast: u, toasts: p, replaceToasts: h } = Kt();
|
|
4687
4687
|
return { showToast: d, dismissToast: u, toasts: p, replaceToasts: h };
|
|
4688
4688
|
})(), { getFlow: r } = Ln(), { styles: n, updateStyles: o, replaceStyles: i } = (() => {
|
|
4689
|
-
const { styles: d, replaceStyles: u, updateStyles: p } =
|
|
4689
|
+
const { styles: d, replaceStyles: u, updateStyles: p } = Si();
|
|
4690
4690
|
return { styles: d, replaceStyles: u, updateStyles: p };
|
|
4691
4691
|
})(), A = ((d) => ({ ...wn, ...d, promptBaseColors: { ...wn.promptBaseColors }, promptHoveredColors: { ...wn.promptHoveredColors }, textAreaHighlightColors: { ...wn.textAreaHighlightColors } }))(e), [s, a] = ee(0), l = ae({});
|
|
4692
4692
|
it(G.USER_SUBMIT_TEXT, (d) => {
|
|
@@ -4893,8 +4893,8 @@ const ac = "background: #1a5b6e; color: white; padding: 2px 6px; border-radius:
|
|
|
4893
4893
|
const k = (x || document).querySelector(".rcb-chat-body-container");
|
|
4894
4894
|
k && k.querySelectorAll(".rcb-bot-message").forEach((E) => {
|
|
4895
4895
|
var C;
|
|
4896
|
-
let
|
|
4897
|
-
|
|
4896
|
+
let D = E.innerHTML, T = !1;
|
|
4897
|
+
D.includes("](") && (D = D.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'), T = !0), D.includes("<a href=") && (D = D.replace(/<a\s+href=["']([^"']+)["'][^&]*>([^&]+)<\/a>/gi, '<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'), T = !0), (D.includes("<a ") || !((C = E.textContent) === null || C === void 0) && C.includes("<a href=")) && (E.textContent || "").includes("<a href=") && (D = D.replace(/<a\s+href="([^"]+)"[^&]*>([^&]+)<\/a>/gi, '<a href="$1" target="_blank" rel="noopener noreferrer">$2</a>'), T = !0), T && (E.innerHTML = D);
|
|
4898
4898
|
});
|
|
4899
4899
|
}, 50), d(!1), pt("Chat input enabled after restore"), t(!1);
|
|
4900
4900
|
};
|
|
@@ -5236,9 +5236,9 @@ function Ec(e) {
|
|
|
5236
5236
|
qr("Turnstile widget error (may auto-recover)");
|
|
5237
5237
|
} }) : null;
|
|
5238
5238
|
}
|
|
5239
|
-
const kc = "#1a5b6e", Pc = "#107180", Cc = "Arial, sans-serif", ti = "Q&A Bot", Bc = "/chat-icon.svg",
|
|
5239
|
+
const kc = "#1a5b6e", Pc = "#107180", Cc = "Arial, sans-serif", ti = "Q&A Bot", Bc = "/chat-icon.svg", Sc = "Type your question here...", Dc = "Select an option to continue", Ic = !1, Tc = "Ask me a question!", ni = "/login", Qc = { general: { showHeader: !0, showFooter: !0 }, tooltip: { mode: "CLOSE" }, chatInput: { disabled: !1, characterLimit: 5e3, 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 } }, Yr = qe((e, t) => {
|
|
5240
5240
|
var r, n, o;
|
|
5241
|
-
const { apiKey: i, qaEndpoint: A, ratingEndpoint: s, capabilitiesEndpoint: a, agentRatingEndpoint: l, welcomeMessage: c, open: d, onOpenChange: u, isLoggedIn: p, allowAnonAccess: h = !1, actingUser: b, primaryColor: f, secondaryColor: v, botName: w, logo: g, placeholder: x, errorMessage: k, embedded: E, footerText: C, footerLink:
|
|
5241
|
+
const { apiKey: i, qaEndpoint: A, ratingEndpoint: s, capabilitiesEndpoint: a, agentRatingEndpoint: l, welcomeMessage: c, open: d, onOpenChange: u, isLoggedIn: p, allowAnonAccess: h = !1, actingUser: b, primaryColor: f, secondaryColor: v, botName: w, logo: g, placeholder: x, errorMessage: k, embedded: E, footerText: C, footerLink: D, tooltipText: T, loginUrl: S, turnstileSiteKey: M, customFlow: B, onAnalyticsEvent: O } = e, U = ae("bot_".concat(Math.random().toString(36).substr(2, 9)));
|
|
5242
5242
|
$(() => {
|
|
5243
5243
|
dc();
|
|
5244
5244
|
}, []);
|
|
@@ -5290,11 +5290,11 @@ const kc = "#1a5b6e", Pc = "#107180", Cc = "Arial, sans-serif", ti = "Q&A Bot",
|
|
|
5290
5290
|
}, [O, W]), Z = He(() => {
|
|
5291
5291
|
const F = Object.assign({}, Qc);
|
|
5292
5292
|
F.general = Object.assign(Object.assign({}, F.general), { primaryColor: f || kc, secondaryColor: v || Pc, fontFamily: Cc, embedded: W });
|
|
5293
|
-
const Y = j === !1 ? [_.createElement(Xo, { key: "login-button", loginUrl:
|
|
5294
|
-
F.header = { title: _.createElement("span", { style: { fontSize: 14, fontWeight: 500 } }, w || ti), showAvatar: !0, avatar: g || Bc, buttons: [...Y, Ee.CLOSE_CHAT_BUTTON] }, F.chatInput = Object.assign(Object.assign({}, F.chatInput), { disabled: !1, enabledPlaceholderText: x ||
|
|
5295
|
-
const se = C ?
|
|
5293
|
+
const Y = j === !1 ? [_.createElement(Xo, { key: "login-button", loginUrl: S || ni, isHeaderButton: !0 })] : [_.createElement(mc, { key: "history-button" }), _.createElement(oc, { key: "user-icon" })];
|
|
5294
|
+
F.header = { title: _.createElement("span", { style: { fontSize: 14, fontWeight: 500 } }, w || ti), showAvatar: !0, avatar: g || Bc, buttons: [...Y, Ee.CLOSE_CHAT_BUTTON] }, F.chatInput = Object.assign(Object.assign({}, F.chatInput), { disabled: !1, enabledPlaceholderText: x || Sc, disabledPlaceholderText: k || Dc }), F.tooltip = Object.assign(Object.assign({}, F.tooltip), { text: T || Tc });
|
|
5295
|
+
const se = C ? D ? _.createElement("a", { href: D, target: "_blank", rel: "noopener noreferrer", key: "footer-link" }, C) : _.createElement("span", { key: "footer-text" }, C) : null;
|
|
5296
5296
|
return F.footer = { text: se, buttons: [_.createElement(bc, { key: "new-chat-button" })] }, F.chatWindow = Object.assign(Object.assign({}, F.chatWindow), { defaultOpen: !!W }), F.event = { rcbPreInjectMessage: !0, rcbPostInjectMessage: !0, rcbUserSubmitText: !0, rcbChangePath: !0, rcbToggleChatWindow: !0 }, F;
|
|
5297
|
-
}, [f, v, w, g, x, k, W, T, j,
|
|
5297
|
+
}, [f, v, w, g, x, k, W, T, j, S, C, D]), Ae = ae(null), Ne = function(F) {
|
|
5298
5298
|
let Y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
5299
5299
|
return He(() => {
|
|
5300
5300
|
const se = (ne, le) => {
|
|
@@ -5435,12 +5435,12 @@ const kc = "#1a5b6e", Pc = "#107180", Cc = "Arial, sans-serif", ti = "Q&A Bot",
|
|
|
5435
5435
|
if (be.requires_turnstile) return we == null || we({ type: "chatbot_turnstile_shown", queryId: z }), ge.siteKey = be.site_key, ge.pendingQuery = { query: q, sessionId: V, queryId: z }, ge.needsChallenge = !0, "One moment — verifying your session…";
|
|
5436
5436
|
const tt = be.response || be.answer || be.text || be.message;
|
|
5437
5437
|
if (!tt) throw new Error("Invalid response format from API");
|
|
5438
|
-
const
|
|
5439
|
-
lt =
|
|
5440
|
-
const
|
|
5438
|
+
const Se = be.metadata || {};
|
|
5439
|
+
lt = Se.rating_target || null, Bt = Se.is_final_response === !0;
|
|
5440
|
+
const St = nn(tt), Dt = Mt() ? ei(be) : "", zn = Dt ? "".concat(St, `
|
|
5441
5441
|
|
|
5442
|
-
`).concat(
|
|
5443
|
-
return await ke.injectMessage(zn), we == null || we({ type: "chatbot_answer_received", queryId: z, responseTimeMs: Lt, success: !0, responseLength: tt.length, hasMetadata: !!
|
|
5442
|
+
`).concat(Dt) : St;
|
|
5443
|
+
return await ke.injectMessage(zn), we == null || we({ type: "chatbot_answer_received", queryId: z, responseTimeMs: Lt, success: !0, responseLength: tt.length, hasMetadata: !!Dt }), null;
|
|
5444
5444
|
} catch (z) {
|
|
5445
5445
|
return Me("Error in Q&A flow:", z), we == null || we({ type: "chatbot_answer_error", queryId: Ye ?? void 0, errorType: z instanceof Error ? z.message : "unknown" }), "I apologize, but I'm having trouble processing your question. Please try again later.";
|
|
5446
5446
|
}
|
|
@@ -5455,34 +5455,34 @@ const kc = "#1a5b6e", Pc = "#107180", Cc = "Arial, sans-serif", ti = "Q&A Bot",
|
|
|
5455
5455
|
const be = (I = z.body) === null || I === void 0 ? void 0 : I.getReader();
|
|
5456
5456
|
if (!be) throw new Error("Response body is not readable");
|
|
5457
5457
|
const tt = new TextDecoder();
|
|
5458
|
-
let
|
|
5458
|
+
let Se = "", St = "", Dt = {};
|
|
5459
5459
|
for (; ; ) {
|
|
5460
5460
|
const { done: fn, value: jn } = await be.read();
|
|
5461
5461
|
if (fn) break;
|
|
5462
|
-
|
|
5463
|
-
let We =
|
|
5462
|
+
Se += tt.decode(jn, { stream: !0 });
|
|
5463
|
+
let We = Se.indexOf(`
|
|
5464
5464
|
|
|
5465
5465
|
`);
|
|
5466
5466
|
for (; We !== -1; ) {
|
|
5467
|
-
const Rt =
|
|
5468
|
-
|
|
5467
|
+
const Rt = Se.slice(0, We);
|
|
5468
|
+
Se = Se.slice(We + 2);
|
|
5469
5469
|
let at = "", Zt = "";
|
|
5470
5470
|
for (const Ke of Rt.split(`
|
|
5471
5471
|
`)) Ke.startsWith("event: ") ? at = Ke.slice(7) : Ke.startsWith("data: ") && (Zt = Ke.slice(6));
|
|
5472
5472
|
if (at && Zt) try {
|
|
5473
5473
|
const Ke = JSON.parse(Zt);
|
|
5474
|
-
at === "token" ?
|
|
5474
|
+
at === "token" ? St += Ke.content || "" : at === "done" && (Dt = Ke.metadata || {});
|
|
5475
5475
|
} catch {
|
|
5476
5476
|
}
|
|
5477
|
-
We =
|
|
5477
|
+
We = Se.indexOf(`
|
|
5478
5478
|
|
|
5479
5479
|
`);
|
|
5480
5480
|
}
|
|
5481
5481
|
}
|
|
5482
|
-
if (ge.token = null, ge.pendingQuery = null, ge.needsChallenge = !1, ge.siteKey = null, !
|
|
5483
|
-
lt =
|
|
5484
|
-
const zn = nn(
|
|
5485
|
-
return await bt(zn), void (we == null || we({ type: "chatbot_answer_received", queryId: ie, success: !0, responseLength:
|
|
5482
|
+
if (ge.token = null, ge.pendingQuery = null, ge.needsChallenge = !1, ge.siteKey = null, !St) throw new Error("No content received from stream");
|
|
5483
|
+
lt = Dt.rating_target || null, Bt = Dt.is_final_response === !0, Ye = ie;
|
|
5484
|
+
const zn = nn(St);
|
|
5485
|
+
return await bt(zn), void (we == null || we({ type: "chatbot_answer_received", queryId: ie, success: !0, responseLength: St.length }));
|
|
5486
5486
|
}
|
|
5487
5487
|
const V = await z.json();
|
|
5488
5488
|
if (V.requires_turnstile) return ge.siteKey = V.site_key, ge.token = null, void await bt("Still verifying — please complete the challenge again.");
|
|
@@ -5499,9 +5499,9 @@ const kc = "#1a5b6e", Pc = "#107180", Cc = "Arial, sans-serif", ti = "Q&A Bot",
|
|
|
5499
5499
|
Me("Error resubmitting after Turnstile:", q), ge.token = null, ge.pendingQuery = null, ge.needsChallenge = !1, ge.siteKey = null, await (bt == null ? void 0 : bt("I had trouble processing your question after verification. Please try again."));
|
|
5500
5500
|
}
|
|
5501
5501
|
}, trackEvent: we, loginUrl: Ct }), path: "qa_loop" } };
|
|
5502
|
-
})({ endpoint: A, ratingEndpoint: s, agentRatingEndpoint: l, apiKey: i, sessionId: N.current.getSessionId, isResetting: N.current.isResetting, isLoggedIn: j, allowAnonAccess: h, loginUrl:
|
|
5502
|
+
})({ endpoint: A, ratingEndpoint: s, agentRatingEndpoint: l, apiKey: i, sessionId: N.current.getSessionId, isResetting: N.current.isResetting, isLoggedIn: j, allowAnonAccess: h, loginUrl: S || ni, trackEvent: te, getTurnstileToken: () => m.current });
|
|
5503
5503
|
return Object.assign(Object.assign({ start: { message: c, renderMarkdown: ["BOT"], transition: { duration: 0 }, path: "qa_loop" } }, F), B || {});
|
|
5504
|
-
}, [i, A, s, l, c, j, h,
|
|
5504
|
+
}, [i, A, s, l, c, j, h, S, B, b, te]), $e = He(() => {
|
|
5505
5505
|
return [() => tA(Y), tc(), () => nc(F)];
|
|
5506
5506
|
var F, Y;
|
|
5507
5507
|
}, []);
|
|
@@ -5602,13 +5602,13 @@ const Mc = () => {
|
|
|
5602
5602
|
} catch (M) {
|
|
5603
5603
|
return Me("FileUploadComponent: Error converting files to array:", M), void f("Error processing selected files. Please try again.");
|
|
5604
5604
|
}
|
|
5605
|
-
const
|
|
5606
|
-
l(
|
|
5607
|
-
const T = C.length,
|
|
5608
|
-
f("".concat(T, " file").concat(T > 1 ? "s" : "", " selected: ").concat(
|
|
5605
|
+
const D = [...a, ...C];
|
|
5606
|
+
l(D);
|
|
5607
|
+
const T = C.length, S = C.map((M) => M.name).join(", ");
|
|
5608
|
+
f("".concat(T, " file").concat(T > 1 ? "s" : "", " selected: ").concat(S)), setTimeout(() => {
|
|
5609
5609
|
const M = document.querySelector(".rcb-chat-content");
|
|
5610
5610
|
M && (M.scrollTop = M.scrollHeight);
|
|
5611
|
-
}, 100), t && t(
|
|
5611
|
+
}, 100), t && t(D);
|
|
5612
5612
|
}, w = (E) => {
|
|
5613
5613
|
E.preventDefault(), E.stopPropagation(), E.type === "dragenter" || E.type === "dragover" ? s(!0) : E.type === "dragleave" && s(!1);
|
|
5614
5614
|
}, g = () => {
|
|
@@ -5634,8 +5634,8 @@ const Mc = () => {
|
|
|
5634
5634
|
E.preventDefault(), E.stopPropagation(), s(!1);
|
|
5635
5635
|
try {
|
|
5636
5636
|
!((C = E.dataTransfer) === null || C === void 0) && C.files && E.dataTransfer.files.length > 0 && v(E.dataTransfer.files);
|
|
5637
|
-
} catch (
|
|
5638
|
-
Me("FileUploadComponent: Error in handleDrop:",
|
|
5637
|
+
} catch (D) {
|
|
5638
|
+
Me("FileUploadComponent: Error in handleDrop:", D), f("Error processing dropped files. Please try again.");
|
|
5639
5639
|
}
|
|
5640
5640
|
}, 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) => {
|
|
5641
5641
|
E.key !== "Enter" && E.key !== " " || (E.preventDefault(), g());
|
|
@@ -5643,22 +5643,22 @@ const Mc = () => {
|
|
|
5643
5643
|
var C;
|
|
5644
5644
|
try {
|
|
5645
5645
|
!((C = E.target) === null || C === void 0) && C.files && E.target.files.length > 0 && v(E.target.files);
|
|
5646
|
-
} catch (
|
|
5647
|
-
Me("FileUploadComponent: Error in handleFileSelect:",
|
|
5646
|
+
} catch (D) {
|
|
5647
|
+
Me("FileUploadComponent: Error in handleFileSelect:", D), f("Error processing selected files. Please try again.");
|
|
5648
5648
|
}
|
|
5649
|
-
}, multiple: !0, style: { display: "none" }, "aria-label": "Select files to upload", accept: n }), _.createElement("div", { className: "upload-content", onClick: g, style: { cursor: "pointer", flexDirection: "column", alignItems: "center", display: "flex", textAlign: "center", padding: "12px" } }, _.createElement("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "8px" } }, _.createElement("div", { style: { display: "flex", flexDirection: "row", alignItems: "center", gap: "10px" } }, _.createElement(Oc, null), _.createElement("p", { style: { margin: 0, fontWeight: "bold" } }, "Upload Files")), _.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)")), a.length > 0 && _.createElement("div", { className: "selected-files", style: { display: "flex", flexWrap: "wrap", gap: "8px", marginTop: "12px", alignItems: "center" } }, _.createElement("span", { style: { fontWeight: 400, color: "#888", fontSize: "13px", marginRight: "8px", alignSelf: "center" } }, "Selected files:"), a.map((E, C) => _.createElement("span", { key: C, 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: (
|
|
5650
|
-
|
|
5649
|
+
}, multiple: !0, style: { display: "none" }, "aria-label": "Select files to upload", accept: n }), _.createElement("div", { className: "upload-content", onClick: g, style: { cursor: "pointer", flexDirection: "column", alignItems: "center", display: "flex", textAlign: "center", padding: "12px" } }, _.createElement("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", gap: "8px" } }, _.createElement("div", { style: { display: "flex", flexDirection: "row", alignItems: "center", gap: "10px" } }, _.createElement(Oc, null), _.createElement("p", { style: { margin: 0, fontWeight: "bold" } }, "Upload Files")), _.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)")), a.length > 0 && _.createElement("div", { className: "selected-files", style: { display: "flex", flexWrap: "wrap", gap: "8px", marginTop: "12px", alignItems: "center" } }, _.createElement("span", { style: { fontWeight: 400, color: "#888", fontSize: "13px", marginRight: "8px", alignSelf: "center" } }, "Selected files:"), a.map((E, C) => _.createElement("span", { key: C, 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: (D) => {
|
|
5650
|
+
D.stopPropagation(), ((T) => {
|
|
5651
5651
|
d(T);
|
|
5652
5652
|
})(E);
|
|
5653
|
-
} }, _.createElement("span", { onClick: (
|
|
5654
|
-
|
|
5655
|
-
const
|
|
5656
|
-
l(
|
|
5653
|
+
} }, _.createElement("span", { onClick: (D) => {
|
|
5654
|
+
D.stopPropagation(), ((T) => {
|
|
5655
|
+
const S = a.filter((M, B) => B !== T);
|
|
5656
|
+
l(S), t && t(S);
|
|
5657
5657
|
})(C);
|
|
5658
5658
|
}, 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, " (", Lc(E.size), ")"))))), (() => {
|
|
5659
5659
|
if (!c) return null;
|
|
5660
|
-
const E = c.type.startsWith("image/"), C = c.type.startsWith("text/"),
|
|
5661
|
-
return _.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: x }, _.createElement("div", { style: { backgroundColor: "white", padding: "20px", borderRadius: "8px", maxWidth: "90%", maxHeight: "90%", overflow: "auto", position: "relative" }, onClick: (T) => T.stopPropagation() }, _.createElement("button", { onClick: x, style: { position: "absolute", top: "10px", right: "10px", background: "none", border: "none", fontSize: "24px", cursor: "pointer", color: "#666" } }, "×"), _.createElement("h3", { style: { marginTop: 0, marginBottom: "16px" } }, c.name), E && _.createElement("img", { src: URL.createObjectURL(c), alt: c.name, style: { maxWidth: "100%", maxHeight: "70vh" } }), C && _.createElement("pre", { style: { whiteSpace: "pre-wrap", wordWrap: "break-word", maxHeight: "70vh", overflow: "auto", padding: "16px", backgroundColor: "#f5f5f5", borderRadius: "4px" } }, URL.createObjectURL(c)),
|
|
5660
|
+
const E = c.type.startsWith("image/"), C = c.type.startsWith("text/"), D = c.type === "application/pdf";
|
|
5661
|
+
return _.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: x }, _.createElement("div", { style: { backgroundColor: "white", padding: "20px", borderRadius: "8px", maxWidth: "90%", maxHeight: "90%", overflow: "auto", position: "relative" }, onClick: (T) => T.stopPropagation() }, _.createElement("button", { onClick: x, style: { position: "absolute", top: "10px", right: "10px", background: "none", border: "none", fontSize: "24px", cursor: "pointer", color: "#666" } }, "×"), _.createElement("h3", { style: { marginTop: 0, marginBottom: "16px" } }, c.name), E && _.createElement("img", { src: URL.createObjectURL(c), alt: c.name, style: { maxWidth: "100%", maxHeight: "70vh" } }), C && _.createElement("pre", { style: { whiteSpace: "pre-wrap", wordWrap: "break-word", maxHeight: "70vh", overflow: "auto", padding: "16px", backgroundColor: "#f5f5f5", borderRadius: "4px" } }, URL.createObjectURL(c)), D && _.createElement("iframe", { src: URL.createObjectURL(c), style: { width: "100%", height: "70vh", border: "none" }, title: c.name }), !E && !C && !D && _.createElement("div", { style: { padding: "20px", textAlign: "center" } }, "Preview not available for this file type")));
|
|
5662
5662
|
})());
|
|
5663
5663
|
};
|
|
5664
5664
|
function Rc(e, t) {
|
|
@@ -5730,7 +5730,7 @@ const rt = {
|
|
|
5730
5730
|
}, Tt = {
|
|
5731
5731
|
BOT_NAME: "ACCESS Q&A",
|
|
5732
5732
|
LOGO: "https://support.access-ci.org/themes/contrib/asp-theme/images/icons/ACCESS-arrrow.svg",
|
|
5733
|
-
WELCOME_MESSAGE: `Hello!
|
|
5733
|
+
WELCOME_MESSAGE: `Hello! I can answer questions about ACCESS resources, allocations, software, system status, events, and more. Click <strong>Show my options</strong> to see example queries, or just type your question.
|
|
5734
5734
|
|
|
5735
5735
|
<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>`,
|
|
5736
5736
|
LOGIN_URL: "/login",
|
|
@@ -5740,42 +5740,27 @@ const rt = {
|
|
|
5740
5740
|
}, ri = {
|
|
5741
5741
|
SESSION_ID: "access-qa-bot-session-id"
|
|
5742
5742
|
};
|
|
5743
|
-
function Uc(
|
|
5744
|
-
if (!e || !e.categories)
|
|
5745
|
-
return ["Show my options"];
|
|
5746
|
-
const t = [];
|
|
5747
|
-
for (const r of e.categories)
|
|
5748
|
-
if (!(!r.capabilities || r.capabilities.length === 0) && r.id !== "general")
|
|
5749
|
-
if (r.capabilities.length === 1) {
|
|
5750
|
-
const n = r.capabilities[0];
|
|
5751
|
-
t.push(n.locked ? `🔒 ${n.label}` : n.label);
|
|
5752
|
-
} else
|
|
5753
|
-
t.push(r.label);
|
|
5754
|
-
return t.push("Show my options"), t;
|
|
5755
|
-
}
|
|
5756
|
-
function Fc({
|
|
5743
|
+
function Uc({
|
|
5757
5744
|
welcome: e,
|
|
5758
|
-
trackEvent: t
|
|
5759
|
-
capabilities: r
|
|
5745
|
+
trackEvent: t
|
|
5760
5746
|
}) {
|
|
5761
|
-
const n = Uc(r);
|
|
5762
5747
|
return {
|
|
5763
5748
|
start: {
|
|
5764
5749
|
message: e,
|
|
5765
5750
|
renderHtml: ["BOT"],
|
|
5766
|
-
options:
|
|
5751
|
+
options: ["Show my options"],
|
|
5767
5752
|
// Typing is enabled from the start — chatDisabled is NOT set here.
|
|
5768
5753
|
// Users can type a question OR click a button.
|
|
5769
5754
|
chatDisabled: !1,
|
|
5770
|
-
path: (
|
|
5755
|
+
path: (r) => (t({
|
|
5771
5756
|
type: "chatbot_menu_selected",
|
|
5772
|
-
selection:
|
|
5757
|
+
selection: r.userInput
|
|
5773
5758
|
}), "qa_loop")
|
|
5774
5759
|
}
|
|
5775
5760
|
};
|
|
5776
5761
|
}
|
|
5777
5762
|
let Br = null;
|
|
5778
|
-
function
|
|
5763
|
+
function Fc(e) {
|
|
5779
5764
|
Br = e;
|
|
5780
5765
|
}
|
|
5781
5766
|
function X() {
|
|
@@ -5800,7 +5785,7 @@ const qt = {
|
|
|
5800
5785
|
LOGIN_PROVIDER: 31,
|
|
5801
5786
|
SECURITY: 26
|
|
5802
5787
|
};
|
|
5803
|
-
async function
|
|
5788
|
+
async function zc(e, t = "support", r = []) {
|
|
5804
5789
|
const o = {
|
|
5805
5790
|
support: qt.SUPPORT,
|
|
5806
5791
|
general_help: qt.SUPPORT,
|
|
@@ -5814,7 +5799,7 @@ async function jc(e, t = "support", r = []) {
|
|
|
5814
5799
|
};
|
|
5815
5800
|
return r.length > 0 && (A.attachments = await Nc(r)), A;
|
|
5816
5801
|
}
|
|
5817
|
-
async function
|
|
5802
|
+
async function jc(e, t) {
|
|
5818
5803
|
var o, i;
|
|
5819
5804
|
const n = `${rt.NETLIFY_BASE_URL}/api/v1/${t}`;
|
|
5820
5805
|
try {
|
|
@@ -5859,8 +5844,8 @@ async function qc(e, t) {
|
|
|
5859
5844
|
}
|
|
5860
5845
|
async function Un(e, t, r = []) {
|
|
5861
5846
|
try {
|
|
5862
|
-
const n = await
|
|
5863
|
-
return await
|
|
5847
|
+
const n = await zc(e, t, r);
|
|
5848
|
+
return await jc(n, t === "security" ? "security-incidents" : "tickets");
|
|
5864
5849
|
} catch (n) {
|
|
5865
5850
|
return {
|
|
5866
5851
|
success: !1,
|
|
@@ -5900,7 +5885,7 @@ function cn() {
|
|
|
5900
5885
|
function un(e) {
|
|
5901
5886
|
return !e || e.trim() === "" || e.trim().toLowerCase() === "skip" ? "" : e.trim();
|
|
5902
5887
|
}
|
|
5903
|
-
function
|
|
5888
|
+
function qc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
5904
5889
|
let o = null;
|
|
5905
5890
|
const i = async (s, a = []) => {
|
|
5906
5891
|
o = await Un(s, "loginAccess", a), o.success ? (t((l) => ({
|
|
@@ -6122,7 +6107,7 @@ Would you like to submit this ticket?`;
|
|
|
6122
6107
|
}
|
|
6123
6108
|
};
|
|
6124
6109
|
}
|
|
6125
|
-
function
|
|
6110
|
+
function Gc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
6126
6111
|
let o = null;
|
|
6127
6112
|
const i = async (s, a = []) => {
|
|
6128
6113
|
o = await Un(s, "loginProvider", a), o.success ? (t((l) => ({
|
|
@@ -6364,7 +6349,7 @@ Would you like to submit this ticket?`;
|
|
|
6364
6349
|
}
|
|
6365
6350
|
};
|
|
6366
6351
|
}
|
|
6367
|
-
const
|
|
6352
|
+
const Yc = [
|
|
6368
6353
|
" C, C++",
|
|
6369
6354
|
"Abaqus",
|
|
6370
6355
|
"ACCESS",
|
|
@@ -6661,7 +6646,7 @@ const Wc = [
|
|
|
6661
6646
|
"XML",
|
|
6662
6647
|
"XSEDE",
|
|
6663
6648
|
"I don't see a relevant keyword"
|
|
6664
|
-
],
|
|
6649
|
+
], Wc = [
|
|
6665
6650
|
"ACES",
|
|
6666
6651
|
"Anvil",
|
|
6667
6652
|
"Bridges-2",
|
|
@@ -6682,7 +6667,7 @@ const Wc = [
|
|
|
6682
6667
|
"Ranch",
|
|
6683
6668
|
"Stampede3"
|
|
6684
6669
|
];
|
|
6685
|
-
function
|
|
6670
|
+
function Kc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
6686
6671
|
let o = null;
|
|
6687
6672
|
const i = async (s, a = []) => {
|
|
6688
6673
|
o = await Un(s, "support", a), o.success ? (t((l) => ({
|
|
@@ -6825,7 +6810,7 @@ function Vc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
|
6825
6810
|
// Step 7: Resource selection (conditional)
|
|
6826
6811
|
general_help_resource_details: {
|
|
6827
6812
|
message: "Please select the ACCESS Resource involved with your issue:",
|
|
6828
|
-
options:
|
|
6813
|
+
options: Wc,
|
|
6829
6814
|
function: (s) => {
|
|
6830
6815
|
const a = X();
|
|
6831
6816
|
t({ ...a, resourceDetails: s.userInput }), n({
|
|
@@ -6854,7 +6839,7 @@ function Vc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
|
6854
6839
|
general_help_keywords: {
|
|
6855
6840
|
message: "Please add up to 5 keywords to help route your ticket.",
|
|
6856
6841
|
checkboxes: {
|
|
6857
|
-
items:
|
|
6842
|
+
items: Yc,
|
|
6858
6843
|
min: 0,
|
|
6859
6844
|
max: 5
|
|
6860
6845
|
},
|
|
@@ -7002,13 +6987,13 @@ Would you like to submit this ticket?`;
|
|
|
7002
6987
|
}
|
|
7003
6988
|
};
|
|
7004
6989
|
}
|
|
7005
|
-
const
|
|
6990
|
+
const Vc = {
|
|
7006
6991
|
"Logging into ACCESS website": "access_login",
|
|
7007
6992
|
"Logging into a resource": "resource_login",
|
|
7008
6993
|
"Another question": "general_help"
|
|
7009
6994
|
};
|
|
7010
|
-
function
|
|
7011
|
-
const o =
|
|
6995
|
+
function Xc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
6996
|
+
const o = qc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }), i = Gc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }), A = Kc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n });
|
|
7012
6997
|
return {
|
|
7013
6998
|
// Ticket type selection
|
|
7014
6999
|
help_ticket: {
|
|
@@ -7021,7 +7006,7 @@ function Jc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
|
7021
7006
|
function: (s) => {
|
|
7022
7007
|
t((a) => ({ ...a, ticketType: s.userInput })), n({
|
|
7023
7008
|
type: "chatbot_ticket_started",
|
|
7024
|
-
ticketType:
|
|
7009
|
+
ticketType: Vc[s.userInput] || s.userInput
|
|
7025
7010
|
});
|
|
7026
7011
|
},
|
|
7027
7012
|
path: (s) => s.userInput === "Logging into ACCESS website" ? "access_help" : s.userInput === "Logging into a resource" ? "resource_help" : s.userInput === "Another question" ? "general_help_summary_subject" : "help_ticket"
|
|
@@ -7041,7 +7026,7 @@ function Qt(e) {
|
|
|
7041
7026
|
accessId: e.accessId || t.accessId
|
|
7042
7027
|
};
|
|
7043
7028
|
}
|
|
7044
|
-
function
|
|
7029
|
+
function Jc(e) {
|
|
7045
7030
|
return e ? e.success ? e.ticketUrl && e.ticketKey ? `Your security incident report has been submitted successfully.
|
|
7046
7031
|
|
|
7047
7032
|
Ticket: <a href="${e.ticketUrl}" target="_blank">${e.ticketKey}</a>
|
|
@@ -7054,7 +7039,7 @@ Please try again or contact our cybersecurity team directly.` : `We apologize, b
|
|
|
7054
7039
|
|
|
7055
7040
|
Please try again or contact our cybersecurity team directly.`;
|
|
7056
7041
|
}
|
|
7057
|
-
function
|
|
7042
|
+
function Zc({ ticketForm: e, setTicketForm: t, userInfo: r, trackEvent: n }) {
|
|
7058
7043
|
let o = null, i = null;
|
|
7059
7044
|
const A = async (a, l = [], c) => {
|
|
7060
7045
|
i = await Un(a, "security", l), i.success ? (t((d) => ({
|
|
@@ -7287,7 +7272,7 @@ Would you like to submit this security incident report?`;
|
|
|
7287
7272
|
},
|
|
7288
7273
|
// Step 11: Success message
|
|
7289
7274
|
security_success: {
|
|
7290
|
-
message: Hn(() =>
|
|
7275
|
+
message: Hn(() => Jc(i)),
|
|
7291
7276
|
options: ["Back to Main Menu"],
|
|
7292
7277
|
renderHtml: ["BOT"],
|
|
7293
7278
|
path: "start"
|
|
@@ -7297,31 +7282,31 @@ Would you like to submit this security incident report?`;
|
|
|
7297
7282
|
const Qe = [];
|
|
7298
7283
|
for (let e = 0; e < 256; ++e)
|
|
7299
7284
|
Qe.push((e + 256).toString(16).slice(1));
|
|
7300
|
-
function
|
|
7285
|
+
function $c(e, t = 0) {
|
|
7301
7286
|
return (Qe[e[t + 0]] + Qe[e[t + 1]] + Qe[e[t + 2]] + Qe[e[t + 3]] + "-" + Qe[e[t + 4]] + Qe[e[t + 5]] + "-" + Qe[e[t + 6]] + Qe[e[t + 7]] + "-" + Qe[e[t + 8]] + Qe[e[t + 9]] + "-" + Qe[e[t + 10]] + Qe[e[t + 11]] + Qe[e[t + 12]] + Qe[e[t + 13]] + Qe[e[t + 14]] + Qe[e[t + 15]]).toLowerCase();
|
|
7302
7287
|
}
|
|
7303
7288
|
let lr;
|
|
7304
|
-
const
|
|
7305
|
-
function
|
|
7289
|
+
const eu = new Uint8Array(16);
|
|
7290
|
+
function tu() {
|
|
7306
7291
|
if (!lr) {
|
|
7307
7292
|
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
7308
7293
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
7309
7294
|
lr = crypto.getRandomValues.bind(crypto);
|
|
7310
7295
|
}
|
|
7311
|
-
return lr(
|
|
7296
|
+
return lr(eu);
|
|
7312
7297
|
}
|
|
7313
|
-
const
|
|
7314
|
-
function
|
|
7298
|
+
const nu = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), oi = { randomUUID: nu };
|
|
7299
|
+
function Sr(e, t, r) {
|
|
7315
7300
|
var o;
|
|
7316
7301
|
if (oi.randomUUID && !e)
|
|
7317
7302
|
return oi.randomUUID();
|
|
7318
7303
|
e = e || {};
|
|
7319
|
-
const n = e.random ?? ((o = e.rng) == null ? void 0 : o.call(e)) ??
|
|
7304
|
+
const n = e.random ?? ((o = e.rng) == null ? void 0 : o.call(e)) ?? tu();
|
|
7320
7305
|
if (n.length < 16)
|
|
7321
7306
|
throw new Error("Random bytes length must be >= 16");
|
|
7322
|
-
return n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128,
|
|
7307
|
+
return n[6] = n[6] & 15 | 64, n[8] = n[8] & 63 | 128, $c(n);
|
|
7323
7308
|
}
|
|
7324
|
-
function
|
|
7309
|
+
function ru({ sessionId: e, apiKey: t, trackEvent: r }) {
|
|
7325
7310
|
let n = null;
|
|
7326
7311
|
return {
|
|
7327
7312
|
// Entry point with instructions
|
|
@@ -7358,7 +7343,7 @@ function ou({ sessionId: e, apiKey: t, trackEvent: r }) {
|
|
|
7358
7343
|
return "Thanks for the feedback! Ask another question about usage and performance metrics (XDMoD) or start a new chat.";
|
|
7359
7344
|
} else
|
|
7360
7345
|
try {
|
|
7361
|
-
const A =
|
|
7346
|
+
const A = Sr();
|
|
7362
7347
|
n = A, r({
|
|
7363
7348
|
type: "chatbot_metrics_question_sent",
|
|
7364
7349
|
queryId: A
|
|
@@ -7392,13 +7377,13 @@ function ou({ sessionId: e, apiKey: t, trackEvent: r }) {
|
|
|
7392
7377
|
}
|
|
7393
7378
|
};
|
|
7394
7379
|
}
|
|
7395
|
-
function
|
|
7380
|
+
function ou() {
|
|
7396
7381
|
if (typeof window > "u")
|
|
7397
|
-
return
|
|
7382
|
+
return Sr();
|
|
7398
7383
|
let e = localStorage.getItem(ri.SESSION_ID);
|
|
7399
|
-
return e || (e =
|
|
7384
|
+
return e || (e = Sr(), localStorage.setItem(ri.SESSION_ID, e)), e;
|
|
7400
7385
|
}
|
|
7401
|
-
const ii = "access-qa-bot-shadow-overrides",
|
|
7386
|
+
const ii = "access-qa-bot-shadow-overrides", iu = `
|
|
7402
7387
|
.rcb-checkbox-container {
|
|
7403
7388
|
display: flex !important;
|
|
7404
7389
|
flex-wrap: wrap !important;
|
|
@@ -7535,15 +7520,31 @@ const ii = "access-qa-bot-shadow-overrides", au = `
|
|
|
7535
7520
|
opacity: 0.85;
|
|
7536
7521
|
text-decoration: underline !important;
|
|
7537
7522
|
}
|
|
7523
|
+
|
|
7524
|
+
.rcb-bot-message ul,
|
|
7525
|
+
.rcb-bot-message ol {
|
|
7526
|
+
list-style-position: outside !important;
|
|
7527
|
+
margin: 0.5em 0 !important;
|
|
7528
|
+
padding-left: 1.5em !important;
|
|
7529
|
+
}
|
|
7530
|
+
|
|
7531
|
+
.rcb-bot-message li {
|
|
7532
|
+
margin-bottom: 0.25em !important;
|
|
7533
|
+
}
|
|
7534
|
+
|
|
7535
|
+
.rcb-bot-message li > p {
|
|
7536
|
+
display: inline !important;
|
|
7537
|
+
margin: 0 !important;
|
|
7538
|
+
}
|
|
7538
7539
|
`;
|
|
7539
|
-
function
|
|
7540
|
+
function au(e) {
|
|
7540
7541
|
if (!e) return;
|
|
7541
7542
|
const t = e.getRootNode();
|
|
7542
7543
|
if (!(t instanceof ShadowRoot) || t.getElementById(ii)) return;
|
|
7543
7544
|
const r = document.createElement("style");
|
|
7544
|
-
r.id = ii, r.textContent =
|
|
7545
|
+
r.id = ii, r.textContent = iu, t.appendChild(r);
|
|
7545
7546
|
}
|
|
7546
|
-
const
|
|
7547
|
+
const su = qe(
|
|
7547
7548
|
(e, t) => {
|
|
7548
7549
|
const {
|
|
7549
7550
|
apiKey: r = rt.DEFAULT_API_KEY,
|
|
@@ -7569,15 +7570,15 @@ const Au = qe(
|
|
|
7569
7570
|
agentEndpoint: w,
|
|
7570
7571
|
// Analytics
|
|
7571
7572
|
onAnalyticsEvent: g
|
|
7572
|
-
} = e, x = ae(null), k = ae(null), [E, C] = ee({}), [
|
|
7573
|
+
} = e, x = ae(null), k = ae(null), [E, C] = ee({}), [D, T] = ee(null), S = He(() => ({
|
|
7573
7574
|
email: i,
|
|
7574
7575
|
name: A,
|
|
7575
7576
|
accessId: s
|
|
7576
7577
|
}), [i, A, s]);
|
|
7577
7578
|
$(() => {
|
|
7578
|
-
|
|
7579
|
+
au(k.current);
|
|
7579
7580
|
}, []), $(() => {
|
|
7580
|
-
|
|
7581
|
+
Fc({
|
|
7581
7582
|
ticketForm: E,
|
|
7582
7583
|
setTicketForm: C
|
|
7583
7584
|
});
|
|
@@ -7631,7 +7632,7 @@ const Au = qe(
|
|
|
7631
7632
|
(y = (j = x.current) == null ? void 0 : j.addMessage) == null || y.call(j, m);
|
|
7632
7633
|
}
|
|
7633
7634
|
}));
|
|
7634
|
-
const U = b || Tt.WELCOME_MESSAGE, Q = He(() =>
|
|
7635
|
+
const U = b || Tt.WELCOME_MESSAGE, Q = He(() => ou(), []), H = K((m) => {
|
|
7635
7636
|
g && g({
|
|
7636
7637
|
...m,
|
|
7637
7638
|
type: m.type,
|
|
@@ -7646,21 +7647,20 @@ const Au = qe(
|
|
|
7646
7647
|
sessionId: typeof m.sessionId == "string" ? m.sessionId : Q
|
|
7647
7648
|
});
|
|
7648
7649
|
}, [g, Q]), R = He(() => {
|
|
7649
|
-
const m =
|
|
7650
|
+
const m = Uc({
|
|
7650
7651
|
welcome: U,
|
|
7651
|
-
trackEvent: H
|
|
7652
|
-
|
|
7653
|
-
}), j = Jc({
|
|
7652
|
+
trackEvent: H
|
|
7653
|
+
}), j = Xc({
|
|
7654
7654
|
ticketForm: {},
|
|
7655
7655
|
setTicketForm: C,
|
|
7656
|
-
userInfo:
|
|
7656
|
+
userInfo: S,
|
|
7657
7657
|
trackEvent: H
|
|
7658
|
-
}), y =
|
|
7658
|
+
}), y = Zc({
|
|
7659
7659
|
ticketForm: {},
|
|
7660
7660
|
setTicketForm: C,
|
|
7661
|
-
userInfo:
|
|
7661
|
+
userInfo: S,
|
|
7662
7662
|
trackEvent: H
|
|
7663
|
-
}), W =
|
|
7663
|
+
}), W = ru({
|
|
7664
7664
|
sessionId: Q,
|
|
7665
7665
|
apiKey: r,
|
|
7666
7666
|
trackEvent: H
|
|
@@ -7671,8 +7671,8 @@ const Au = qe(
|
|
|
7671
7671
|
...W
|
|
7672
7672
|
};
|
|
7673
7673
|
return Rc(te, { disableOnOptions: !0 });
|
|
7674
|
-
}, [U,
|
|
7675
|
-
return
|
|
7674
|
+
}, [U, S, Q, r, n, H, D]);
|
|
7675
|
+
return D ? /* @__PURE__ */ P("div", { ref: k, children: /* @__PURE__ */ P(
|
|
7676
7676
|
Yr,
|
|
7677
7677
|
{
|
|
7678
7678
|
ref: x,
|
|
@@ -7703,11 +7703,11 @@ const Au = qe(
|
|
|
7703
7703
|
) }) : /* @__PURE__ */ P("div", { ref: k });
|
|
7704
7704
|
}
|
|
7705
7705
|
);
|
|
7706
|
-
|
|
7706
|
+
su.displayName = "AccessQABot";
|
|
7707
7707
|
export {
|
|
7708
7708
|
rt as API_CONFIG,
|
|
7709
|
-
|
|
7709
|
+
su as AccessQABot,
|
|
7710
7710
|
Tt as BOT_CONFIG,
|
|
7711
|
-
|
|
7711
|
+
su as QABot
|
|
7712
7712
|
};
|
|
7713
7713
|
//# sourceMappingURL=access-qa-bot.js.map
|